{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "텍스트 요약.ipynb", "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "Bl2oQgNJ5ePd" }, "source": [ "출처: https://wikidocs.net/72820\n", "# 아마존 리뷰 데이터" ] }, { "cell_type": "code", "metadata": { "id": "a8dao_uW5wX1" }, "source": [ "import numpy as np\n", "import pandas as pd\n", "import re\n", "import matplotlib.pyplot as plt\n", "from nltk.corpus import stopwords\n", "from bs4 import BeautifulSoup \n", "from tensorflow.keras.preprocessing.text import Tokenizer \n", "from tensorflow.keras.preprocessing.sequence import pad_sequences\n", "import urllib.request\n", "np.random.seed(seed=0)" ], "execution_count": 2, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "_kOSiXbk_JaP" }, "source": [ "# 1) 데이터 로드하기" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "olKVHdCn71go", "outputId": "fc9bfd7a-3a87-4ee1-caf2-6d2e09e13128" }, "source": [ "# 데이터 로드하기\n", "data = pd.read_csv(\"/content/Reviews.csv\", nrows = 10000)\n", "print('전체 리뷰 개수 :', (len(data)))" ], "execution_count": 18, "outputs": [ { "output_type": "stream", "text": [ "전체 리뷰 개수 : 10000\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 476 }, "id": "dgQ-o18_814y", "outputId": "b843dd5b-94b7-4eee-c5c0-a060753505b5" }, "source": [ "data.head()" ], "execution_count": 19, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdProductIdUserIdProfileNameHelpfulnessNumeratorHelpfulnessDenominatorScoreTimeSummaryText
01B001E4KFG0A3SGXH7AUHU8GWdelmartian1151303862400Good Quality Dog FoodI have bought several of the Vitality canned d...
12B00813GRG4A1D87F6ZCVE5NKdll pa0011346976000Not as AdvertisedProduct arrived labeled as Jumbo Salted Peanut...
23B000LQOCH0ABXLMWJIXXAINNatalia Corres \"Natalia Corres\"1141219017600\"Delight\" says it allThis is a confection that has been around a fe...
34B000UA0QIQA395BORC6FGVXVKarl3321307923200Cough MedicineIf you are looking for the secret ingredient i...
45B006K2ZZ7KA1UQRSCLF8GW1TMichael D. Bigham \"M. Wassir\"0051350777600Great taffyGreat taffy at a great price. There was a wid...
\n", "
" ], "text/plain": [ " Id ... Text\n", "0 1 ... I have bought several of the Vitality canned d...\n", "1 2 ... Product arrived labeled as Jumbo Salted Peanut...\n", "2 3 ... This is a confection that has been around a fe...\n", "3 4 ... If you are looking for the secret ingredient i...\n", "4 5 ... Great taffy at a great price. There was a wid...\n", "\n", "[5 rows x 10 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 19 } ] }, { "cell_type": "markdown", "metadata": { "id": "U3Cga5Yi_NQc" }, "source": [ "# 2) 데이터 전처리" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "aA9o87yc82zQ", "outputId": "bf792b1a-2252-4d87-edfe-0d46c1e7cabb" }, "source": [ "# 필요한 열만 저장\n", "data = data[['Text', 'Summary']]\n", "data.head()" ], "execution_count": 20, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TextSummary
0I have bought several of the Vitality canned d...Good Quality Dog Food
1Product arrived labeled as Jumbo Salted Peanut...Not as Advertised
2This is a confection that has been around a fe...\"Delight\" says it all
3If you are looking for the secret ingredient i...Cough Medicine
4Great taffy at a great price. There was a wid...Great taffy
\n", "
" ], "text/plain": [ " Text Summary\n", "0 I have bought several of the Vitality canned d... Good Quality Dog Food\n", "1 Product arrived labeled as Jumbo Salted Peanut... Not as Advertised\n", "2 This is a confection that has been around a fe... \"Delight\" says it all\n", "3 If you are looking for the secret ingredient i... Cough Medicine\n", "4 Great taffy at a great price. There was a wid... Great taffy" ] }, "metadata": { "tags": [] }, "execution_count": 20 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "gjgyDTWo9Jzk", "outputId": "709b5529-1f89-4a7e-bcfa-59a00fe8605d" }, "source": [ "# 데이터 정제\n", "print('Text 열에서 중복을 배제한 유일한 샘플의 수 :', data['Text'].nunique())\n", "print('Summary 열에서 중복을 배제한 유일한 샘플의 수 :', data['Summary'].nunique())" ], "execution_count": 21, "outputs": [ { "output_type": "stream", "text": [ "Text 열에서 중복을 배제한 유일한 샘플의 수 : 9513\n", "Summary 열에서 중복을 배제한 유일한 샘플의 수 : 8526\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "NWoOoQLY9Pvs", "outputId": "4df9ca79-67ec-4229-9a20-7b530f33f241" }, "source": [ "# text 열에서 중복인 내용이 있다면 중복 제거\n", "data.drop_duplicates(subset=['Text'], inplace=True)\n", "print(\"전체 샘플수 :\", len(data))" ], "execution_count": 22, "outputs": [ { "output_type": "stream", "text": [ "전체 샘플수 : 9513\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "khJx-VNn9YIy", "outputId": "8f24a3f9-d2d5-42c3-90a5-0b2ef4e54106" }, "source": [ "# Null 데이터 있는지 확인\n", "print(data.isnull().sum())" ], "execution_count": 23, "outputs": [ { "output_type": "stream", "text": [ "Text 0\n", "Summary 0\n", "dtype: int64\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "e_hQZfbq9cf-" }, "source": [ "# 단어 정규화 (동일의미지만 스펠링이 다른 단어)\n", "\n", "# 전처리 함수 내 사용\n", "contractions = {\"ain't\": \"is not\", \"aren't\": \"are not\",\"can't\": \"cannot\", \"'cause\": \"because\", \"could've\": \"could have\", \n", " \"couldn't\": \"could not\", \"didn't\": \"did not\", \"doesn't\": \"does not\", \"don't\": \"do not\",\n", " \"hadn't\": \"had not\", \"hasn't\": \"has not\", \"haven't\": \"have not\", \"he'd\": \"he would\",\"he'll\": \"he will\",\n", " \"he's\": \"he is\", \"how'd\": \"how did\", \"how'd'y\": \"how do you\", \"how'll\": \"how will\", \"how's\": \"how is\",\n", " \"I'd\": \"I would\", \"I'd've\": \"I would have\", \"I'll\": \"I will\", \"I'll've\": \"I will have\",\"I'm\": \"I am\", \n", " \"I've\": \"I have\", \"i'd\": \"i would\", \"i'd've\": \"i would have\", \"i'll\": \"i will\",\n", " \"i'll've\": \"i will have\",\"i'm\": \"i am\", \"i've\": \"i have\", \"isn't\": \"is not\", \"it'd\": \"it would\",\n", " \"it'd've\": \"it would have\", \"it'll\": \"it will\", \"it'll've\": \"it will have\",\"it's\": \"it is\",\n", " \"let's\": \"let us\", \"ma'am\": \"madam\", \"mayn't\": \"may not\", \"might've\": \"might have\",\n", " \"mightn't\": \"might not\",\"mightn't've\": \"might not have\", \"must've\": \"must have\", \"mustn't\": \"must not\",\n", " \"mustn't've\": \"must not have\", \"needn't\": \"need not\", \"needn't've\": \"need not have\",\n", " \"o'clock\": \"of the clock\", \"oughtn't\": \"ought not\", \"oughtn't've\": \"ought not have\", \n", " \"shan't\": \"shall not\", \"sha'n't\": \"shall not\", \"shan't've\": \"shall not have\", \"she'd\": \"she would\",\n", " \"she'd've\": \"she would have\", \"she'll\": \"she will\", \"she'll've\": \"she will have\", \"she's\": \"she is\",\n", " \"should've\": \"should have\", \"shouldn't\": \"should not\", \"shouldn't've\": \"should not have\", \n", " \"so've\": \"so have\",\"so's\": \"so as\", \"this's\": \"this is\",\"that'd\": \"that would\", \n", " \"that'd've\": \"that would have\", \"that's\": \"that is\", \"there'd\": \"there would\", \n", " \"there'd've\": \"there would have\", \"there's\": \"there is\", \"here's\": \"here is\",\n", " \"they'd\": \"they would\", \"they'd've\": \"they would have\", \"they'll\": \"they will\", \n", " \"they'll've\": \"they will have\", \"they're\": \"they are\", \"they've\": \"they have\", \"to've\": \"to have\", \n", " \"wasn't\": \"was not\", \"we'd\": \"we would\", \"we'd've\": \"we would have\", \"we'll\": \"we will\",\n", " \"we'll've\": \"we will have\", \"we're\": \"we are\", \"we've\": \"we have\", \"weren't\": \"were not\", \n", " \"what'll\": \"what will\", \"what'll've\": \"what will have\", \"what're\": \"what are\", \"what's\": \"what is\", \n", " \"what've\": \"what have\", \"when's\": \"when is\", \"when've\": \"when have\", \"where'd\": \"where did\", \n", " \"where's\": \"where is\", \"where've\": \"where have\", \"who'll\": \"who will\", \"who'll've\": \"who will have\", \n", " \"who's\": \"who is\", \"who've\": \"who have\", \"why's\": \"why is\", \"why've\": \"why have\", \"will've\": \"will have\",\n", " \"won't\": \"will not\", \"won't've\": \"will not have\", \"would've\": \"would have\", \"wouldn't\": \"would not\",\n", " \"wouldn't've\": \"would not have\", \"y'all\": \"you all\", \"y'all'd\": \"you all would\",\n", " \"y'all'd've\": \"you all would have\",\"y'all're\": \"you all are\",\"y'all've\": \"you all have\", \n", " \"you'd\": \"you would\", \"you'd've\": \"you would have\", \"you'll\": \"you will\", \"you'll've\": \"you will have\",\n", " \"you're\": \"you are\", \"you've\": \"you have\"}" ], "execution_count": 24, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ls8CNTk8-Kn8", "outputId": "2186caa8-3989-4019-ad27-cc1d3ca1dbd5" }, "source": [ "# NLTK의 불용어\n", "import nltk\n", "nltk.download('stopwords')\n", "\n", "stop_words = set(stopwords.words('english'))\n", "print('불용어 개수 :', len(stop_words))\n", "print(stop_words)" ], "execution_count": 27, "outputs": [ { "output_type": "stream", "text": [ "[nltk_data] Downloading package stopwords to /root/nltk_data...\n", "[nltk_data] Unzipping corpora/stopwords.zip.\n", "불용어 개수 : 179\n", "{'while', 'was', 'between', 'too', 'into', 'can', 'some', 'so', 'against', 'at', 'weren', 'no', 'being', 'our', 'there', 'or', 'm', 'be', \"you'll\", 'by', 'theirs', 'were', 'don', 'and', \"shan't\", 'out', 'that', 'in', 'her', 'a', 'doesn', 'where', \"won't\", 'your', 'those', 'after', 'down', 'to', 'if', \"weren't\", \"don't\", 'me', 'we', 'my', 'the', 'his', 'these', 'until', \"she's\", \"aren't\", 're', 'ma', 'it', 'very', 'mightn', 'hadn', 'needn', 'shouldn', 'did', 'couldn', 'over', 'has', 'myself', 'them', 'off', 'will', 'when', 'ourselves', 'of', 'each', 'him', 'doing', 'up', 'what', \"you'd\", 'ours', 'few', 'only', 'o', \"wouldn't\", \"wasn't\", \"didn't\", 'then', 'aren', \"that'll\", 'about', 's', 'hers', 'their', \"haven't\", 'themselves', 'all', 'such', 'ain', 'mustn', 'any', 'haven', \"it's\", 't', 've', 'because', \"hadn't\", 'this', 'she', 'through', 'above', \"needn't\", 'herself', 'with', 'further', 'now', 'itself', 'its', 'i', \"should've\", 'yourselves', \"mustn't\", 'again', 'am', \"hasn't\", 'under', 'have', 'for', 'should', 'won', 'yours', 'himself', 'an', 'how', 'wouldn', 'does', 'just', 'who', 'shan', \"you've\", 'been', 'as', 'on', 'not', 'whom', 'do', 'other', 'from', 'isn', 'hasn', 'wasn', 'once', 'd', 'than', 'they', 'here', 'why', 'both', 'more', \"shouldn't\", 'nor', 'before', 'during', 'yourself', 'll', 'didn', 'below', \"couldn't\", 'is', 'you', 'but', \"doesn't\", \"you're\", \"mightn't\", 'y', 'had', 'having', 'which', 'own', 'same', 'most', 'he', 'are', \"isn't\"}\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "HSlWClXu-VBV" }, "source": [ "# 전처리 함수\n", "def preprocess_sentence(sentence, remove_stopwords = True):\n", " sentence = sentence.lower() # 텍스트 소문자화\n", " sentence = BeautifulSoup(sentence, \"lxml\").text #
, 등의 html 태그 제거\n", " sentence = re.sub(r'\\([^)]*\\)', '', sentence) # 괄호로 닫힌 문자열 제거 Ex) my husband (and myself) for => my husband for\n", " sentence = re.sub('\"','', sentence) # 쌍따옴표 \" 제거\n", " sentence = ' '.join([contractions[t] if t in contractions else t for t in sentence.split(\" \")]) # 약어 정규화\n", " sentence = re.sub(r\"'s\\b\",\"\",sentence) # 소유격 제거. Ex) roland's -> roland\n", " sentence = re.sub(\"[^a-zA-Z]\", \" \", sentence) # 영어 외 문자(숫자, 특수문자 등) 공백으로 변환\n", " sentence = re.sub('[m]{2,}', 'mm', sentence) # m이 3개 이상이면 2개로 변경. Ex) ummmmmmm yeah -> umm yeah\n", "\n", " # 불용어 제거 (Text)\n", " if remove_stopwords:\n", " tokens = ' '.join(word for word in sentence.split() if not word in stop_words if len(word) > 1)\n", " # 불용어 미제거 (Summary)\n", " else:\n", " tokens = ' '.join(word for word in sentence.split() if len(word) > 1)\n", " return tokens" ], "execution_count": 28, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "jX6stcr1-eCZ", "outputId": "30e54acf-f577-40e5-a24d-231e873fa358" }, "source": [ "temp_text = 'Everything I bought was great, infact I ordered twice and the third ordered was
for my mother and father.'\n", "temp_summary = 'Great way to start (or finish) the day!!!'\n", "print(preprocess_sentence(temp_text))\n", "print(preprocess_sentence(temp_summary, 0))" ], "execution_count": 29, "outputs": [ { "output_type": "stream", "text": [ "everything bought great infact ordered twice third ordered wasfor mother father\n", "great way to start the day\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "oVpcg3U__Bf-", "outputId": "45424938-f7a6-4713-c75e-68afa419994e" }, "source": [ "# Text 열 전처리\n", "clean_text = []\n", "for s in data['Text']:\n", " clean_text.append(preprocess_sentence(s))\n", "clean_text[:5]" ], "execution_count": 30, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['bought several vitality canned dog food products found good quality product looks like stew processed meat smells better labrador finicky appreciates product better',\n", " 'product arrived labeled jumbo salted peanuts peanuts actually small sized unsalted sure error vendor intended represent product jumbo',\n", " 'confection around centuries light pillowy citrus gelatin nuts case filberts cut tiny squares liberally coated powdered sugar tiny mouthful heaven chewy flavorful highly recommend yummy treat familiar story lewis lion witch wardrobe treat seduces edmund selling brother sisters witch',\n", " 'looking secret ingredient robitussin believe found got addition root beer extract ordered made cherry soda flavor medicinal',\n", " 'great taffy great price wide assortment yummy taffy delivery quick taffy lover deal']" ] }, "metadata": { "tags": [] }, "execution_count": 30 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "q3qDtd8W_Snj", "outputId": "ffe0ffaf-042a-4e69-aef6-6784d0d5566b" }, "source": [ "# Summary 열 전처리\n", "clean_summary = []\n", "for s in data['Summary']:\n", " clean_summary.append(preprocess_sentence(s, 0))\n", "clean_summary[:5]" ], "execution_count": 31, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['good quality dog food',\n", " 'not as advertised',\n", " 'delight says it all',\n", " 'cough medicine',\n", " 'great taffy']" ] }, "metadata": { "tags": [] }, "execution_count": 31 } ] }, { "cell_type": "code", "metadata": { "id": "Ir3cgMuW_UYJ" }, "source": [ "# 전처리 후의 결과를 데이터프레임에 다시 저장\n", "data['Text'] = clean_text\n", "data['Summary'] = clean_summary" ], "execution_count": 32, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "cpueOuMq_Y9q", "outputId": "a58b5c9a-002c-4039-c289-0cac3b8fc25f" }, "source": [ "# 전처리 과정에서 빈 값이 생겼다면 Null값으로 변경한 후에 Null값을 가진 샘플이 생겼는지 확인.\n", "# 길이가 공백인 샘플은 NULL 값으로 변환\n", "data.replace('', np.nan, inplace=True)\n", "print(data.isnull().sum())" ], "execution_count": 33, "outputs": [ { "output_type": "stream", "text": [ "Text 0\n", "Summary 8\n", "dtype: int64\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "NzoTE3eB_m5o", "outputId": "7f0ade4f-91be-4f98-ed45-d93b31c58074" }, "source": [ "# Null값인 샘플들 제거\n", "data.dropna(axis = 0, inplace = True)\n", "print('전체 샘플수 :',(len(data)))" ], "execution_count": 34, "outputs": [ { "output_type": "stream", "text": [ "전체 샘플수 : 9505\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 955 }, "id": "mNliwHBu_tjH", "outputId": "14613412-c712-4bd2-cd20-3c0c6be0eb61" }, "source": [ "# Text, Summary열의 길이 확인\n", "# 길이 분포 출력\n", "text_len = [len(s.split()) for s in data['Text']]\n", "summary_len = [len(s.split()) for s in data['Summary']]\n", "\n", "print('텍스트의 최소 길이 : {}'.format(np.min(text_len)))\n", "print('텍스트의 최대 길이 : {}'.format(np.max(text_len)))\n", "print('텍스트의 평균 길이 : {}'.format(np.mean(text_len)))\n", "print('요약의 최소 길이 : {}'.format(np.min(summary_len)))\n", "print('요약의 최대 길이 : {}'.format(np.max(summary_len)))\n", "print('요약의 평균 길이 : {}'.format(np.mean(summary_len)))\n", "\n", "plt.subplot(1,2,1)\n", "plt.boxplot(summary_len)\n", "plt.title('Summary')\n", "plt.subplot(1,2,2)\n", "plt.boxplot(text_len)\n", "plt.title('Text')\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.title('Summary')\n", "plt.hist(summary_len, bins=40)\n", "plt.xlabel('length of samples')\n", "plt.ylabel('number of samples')\n", "plt.show()\n", "\n", "plt.title('Text')\n", "plt.hist(text_len, bins=40)\n", "plt.xlabel('length of samples')\n", "plt.ylabel('number of samples')\n", "plt.show()\n", "\n", "# 원문 텍스트는 대체적으로 100이하의 길이.\n", "# 평균 길이를 통해 패딩 길이 설정. -> 넉넉히 text는 50, summary는 8." ], "execution_count": 35, "outputs": [ { "output_type": "stream", "text": [ "텍스트의 최소 길이 : 4\n", "텍스트의 최대 길이 : 845\n", "텍스트의 평균 길이 : 36.62219884271436\n", "요약의 최소 길이 : 1\n", "요약의 최대 길이 : 25\n", "요약의 평균 길이 : 3.938453445554971\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "code", "metadata": { "id": "yF0xPzty_2lu" }, "source": [ "text_max_len = 50\n", "summary_max_len = 8" ], "execution_count": 36, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "p5ySeOQRAPSK" }, "source": [ "# 전체 샘플들 선정 길이 비율 확인\n", "def below_threshold_len(max_len, nested_list):\n", " cnt = 0\n", " for s in nested_list:\n", " if(len(s.split()) <= max_len):\n", " cnt = cnt + 1\n", " print('전체 샘플 중 길이가 %s 이하인 샘플의 비율: %s'%(max_len, (cnt / len(nested_list))))" ], "execution_count": 37, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "53PGZ53aAZxb", "outputId": "56b1e365-f51c-4978-c904-8047dd774a65" }, "source": [ "print(below_threshold_len(text_max_len, data['Text']))\n", "print(below_threshold_len(summary_max_len, data['Summary']))" ], "execution_count": 38, "outputs": [ { "output_type": "stream", "text": [ "전체 샘플 중 길이가 50 이하인 샘플의 비율: 0.7974750131509731\n", "None\n", "전체 샘플 중 길이가 8 이하인 샘플의 비율: 0.9465544450289322\n", "None\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "lYV9Vbl3AdE8", "outputId": "4b713018-f026-4f5a-b16a-e3886ead9304" }, "source": [ "# 정해준 최대 길이보다 큰 샘플 제거\n", "data = data[data['Text'].apply(lambda x: len(x.split()) <= text_max_len)]\n", "data = data[data['Summary'].apply(lambda x: len(x.split()) <= summary_max_len)]\n", "print('전체 샘플수 :',(len(data)))" ], "execution_count": 39, "outputs": [ { "output_type": "stream", "text": [ "전체 샘플수 : 7309\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "c5UPLLpBAkUV", "outputId": "7ce5f877-c9de-4206-879e-3e2cbc53b3e7" }, "source": [ "# 정해준 최대 길이보다 큰 샘플들 제거\n", "data = data[data['Text'].apply(lambda x: len(x.split()) <= text_max_len)]\n", "data = data[data['Summary'].apply(lambda x: len(x.split()) <= summary_max_len)]\n", "print('전체 샘플수 :',(len(data)))" ], "execution_count": 40, "outputs": [ { "output_type": "stream", "text": [ "전체 샘플수 : 7309\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "BYHEiwGLAz2d", "outputId": "b43fc49c-0971-4fd2-bdfd-3d3dc8dfff04" }, "source": [ "data.head()" ], "execution_count": 42, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TextSummary
0bought several vitality canned dog food produc...good quality dog food
1product arrived labeled jumbo salted peanuts p...not as advertised
2confection around centuries light pillowy citr...delight says it all
3looking secret ingredient robitussin believe f...cough medicine
4great taffy great price wide assortment yummy ...great taffy
\n", "
" ], "text/plain": [ " Text Summary\n", "0 bought several vitality canned dog food produc... good quality dog food\n", "1 product arrived labeled jumbo salted peanuts p... not as advertised\n", "2 confection around centuries light pillowy citr... delight says it all\n", "3 looking secret ingredient robitussin believe f... cough medicine\n", "4 great taffy great price wide assortment yummy ... great taffy" ] }, "metadata": { "tags": [] }, "execution_count": 42 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "vZZzOtCQA1-P", "outputId": "3114ee19-1f54-4447-ad3a-ac2ccdf0e9ae" }, "source": [ "# seq2seq 훈련 위해서는 디코더 입력과 레이블에 시작 토큰과 종료 토큰 추가 필요.\n", "# 시작 토큰: sostoken, 종료 토큰: eostoken\n", "\n", "# 요약 데이터에는 시작 토큰과 종료 토큰을 추가한다.\n", "data['decoder_input'] = data['Summary'].apply(lambda x : 'sostoken '+ x)\n", "data['decoder_target'] = data['Summary'].apply(lambda x : x + ' eostoken')\n", "data.head()" ], "execution_count": 43, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TextSummarydecoder_inputdecoder_target
0bought several vitality canned dog food produc...good quality dog foodsostoken good quality dog foodgood quality dog food eostoken
1product arrived labeled jumbo salted peanuts p...not as advertisedsostoken not as advertisednot as advertised eostoken
2confection around centuries light pillowy citr...delight says it allsostoken delight says it alldelight says it all eostoken
3looking secret ingredient robitussin believe f...cough medicinesostoken cough medicinecough medicine eostoken
4great taffy great price wide assortment yummy ...great taffysostoken great taffygreat taffy eostoken
\n", "
" ], "text/plain": [ " Text ... decoder_target\n", "0 bought several vitality canned dog food produc... ... good quality dog food eostoken\n", "1 product arrived labeled jumbo salted peanuts p... ... not as advertised eostoken\n", "2 confection around centuries light pillowy citr... ... delight says it all eostoken\n", "3 looking secret ingredient robitussin believe f... ... cough medicine eostoken\n", "4 great taffy great price wide assortment yummy ... ... great taffy eostoken\n", "\n", "[5 rows x 4 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 43 } ] }, { "cell_type": "code", "metadata": { "id": "p9ytd7TnBlZE" }, "source": [ "# 인코더의 입력, 디코더의 입력과 레이블을 각각 저장\n", "encoder_input = np.array(data['Text'])\n", "decoder_input = np.array(data['decoder_input'])\n", "decoder_target = np.array(data['decoder_target'])" ], "execution_count": 44, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "cOCbPxkzCUbR" }, "source": [ "# 3) 데이터셋 분리" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "AXw4sfL0B1p-", "outputId": "54add1b2-dfa4-4272-8207-bf0b92d36f5d" }, "source": [ "# 순서가 섞인 정수 시퀀스 만들기\n", "indices = np.arange(encoder_input.shape[0])\n", "np.random.shuffle(indices)\n", "print(indices)" ], "execution_count": 46, "outputs": [ { "output_type": "stream", "text": [ "[6060 1921 6665 ... 1653 2607 2732]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "bWLd7zJgB2la" }, "source": [ "# 데이터 샘플 순서 바꾸기\n", "encoder_input = encoder_input[indices]\n", "decoder_input = decoder_input[indices]\n", "decoder_target = decoder_target[indices]" ], "execution_count": 47, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "XZYdfsIUCo5q", "outputId": "4b66770a-3d6d-48e1-c114-d40a1decdc1f" }, "source": [ "# 8:2 비율로 나누기\n", "n_of_val = int(len(encoder_input)*0.2)\n", "print('테스트 데이터의 수 :',n_of_val)" ], "execution_count": 48, "outputs": [ { "output_type": "stream", "text": [ "테스트 데이터의 수 : 1461\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "RQYyLHuTCrUQ" }, "source": [ "encoder_input_train = encoder_input[:-n_of_val]\n", "decoder_input_train = decoder_input[:-n_of_val]\n", "decoder_target_train = decoder_target[:-n_of_val]\n", "\n", "encoder_input_test = encoder_input[-n_of_val:]\n", "decoder_input_test = decoder_input[-n_of_val:]\n", "decoder_target_test = decoder_target[-n_of_val:]" ], "execution_count": 49, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "9quieo0_Cu7k", "outputId": "5c21ec4b-acff-4f01-ea2a-338ccd9030f1" }, "source": [ "print('훈련 데이터의 개수 :', len(encoder_input_train))\n", "print('훈련 레이블의 개수 :',len(decoder_input_train))\n", "print('테스트 데이터의 개수 :',len(encoder_input_test))\n", "print('테스트 레이블의 개수 :',len(decoder_input_test))" ], "execution_count": 50, "outputs": [ { "output_type": "stream", "text": [ "훈련 데이터의 개수 : 5848\n", "훈련 레이블의 개수 : 5848\n", "테스트 데이터의 개수 : 1461\n", "테스트 레이블의 개수 : 1461\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "2l9UbV6ACxoK" }, "source": [ "# 4) 정수 인코딩" ] }, { "cell_type": "code", "metadata": { "id": "WAL5Hk11CwDZ" }, "source": [ "# 단어 집합 생성 + 각 단어에 고유한 정수 부\n", "src_tokenizer = Tokenizer()\n", "src_tokenizer.fit_on_texts(encoder_input_train)" ], "execution_count": 51, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Ung_aBnqDGQ1", "outputId": "b270323c-7663-454b-9734-e3dd3344256c" }, "source": [ "# 빈도수가 낮은 단어들은 배제.\n", "# 빈도수가 7회 미만인 단어들이 이 데이터에서의 비중 확인\n", "threshold = 7\n", "total_cnt = len(src_tokenizer.word_index) # 단어의 수\n", "rare_cnt = 0 # 등장 빈도수가 threshold보다 작은 단어의 개수를 카운트\n", "total_freq = 0 # 훈련 데이터의 전체 단어 빈도수 총 합\n", "rare_freq = 0 # 등장 빈도수가 threshold보다 작은 단어의 등장 빈도수의 총 합\n", "\n", "# 단어와 빈도수의 쌍(pair)을 key와 value로 받는다.\n", "for key, value in src_tokenizer.word_counts.items():\n", " total_freq = total_freq + value\n", "\n", " # 단어의 등장 빈도수가 threshold보다 작으면\n", " if(value < threshold):\n", " rare_cnt = rare_cnt + 1\n", " rare_freq = rare_freq + value\n", "\n", "print('단어 집합(vocabulary)의 크기 :',total_cnt)\n", "print('등장 빈도가 %s번 이하인 희귀 단어의 수: %s'%(threshold - 1, rare_cnt))\n", "print('단어 집합에서 희귀 단어를 제외시킬 경우의 단어 집합의 크기 %s'%(total_cnt - rare_cnt))\n", "print(\"단어 집합에서 희귀 단어의 비율:\", (rare_cnt / total_cnt)*100)\n", "print(\"전체 등장 빈도에서 희귀 단어 등장 빈도 비율:\", (rare_freq / total_freq)*100)" ], "execution_count": 52, "outputs": [ { "output_type": "stream", "text": [ "단어 집합(vocabulary)의 크기 : 10844\n", "등장 빈도가 6번 이하인 희귀 단어의 수: 8392\n", "단어 집합에서 희귀 단어를 제외시킬 경우의 단어 집합의 크기 2452\n", "단어 집합에서 희귀 단어의 비율: 77.38841755809665\n", "전체 등장 빈도에서 희귀 단어 등장 빈도 비율: 11.33577593343075\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "8r_FsmTUDNNN" }, "source": [ "# 등장 빈도가 적은 단어는제거\n", "src_vocab = 8000\n", "src_tokenizer = Tokenizer(num_words = src_vocab) \n", "src_tokenizer.fit_on_texts(encoder_input_train)\n", "\n", "# 텍스트 시퀀스를 정수 시퀀스로 변환\n", "encoder_input_train = src_tokenizer.texts_to_sequences(encoder_input_train) \n", "encoder_input_test = src_tokenizer.texts_to_sequences(encoder_input_test)" ], "execution_count": 53, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "W95YiUmrD8i4", "outputId": "6431579e-e792-4e7d-c663-0206fe670acb" }, "source": [ "# 샘플 3개 출력\n", "print(encoder_input_train[:3])" ], "execution_count": 54, "outputs": [ { "output_type": "stream", "text": [ "[[514, 8, 6, 171, 28, 592, 11, 1366, 21, 179, 86, 76], [462, 901, 2453, 1003, 869, 5844, 309, 369, 3, 332, 116, 94, 22], [305, 274, 197, 1143, 4391, 1251, 134, 354, 1252, 614, 82, 5845]]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "EWEM-UqyD855", "outputId": "1d96a5af-6b06-419d-e349-619676e35d71" }, "source": [ "# 레이블에 해당되는 요약 데이터에서도 똑같이 수행\n", "tar_tokenizer = Tokenizer()\n", "tar_tokenizer.fit_on_texts(decoder_input_train)\n", "\n", "threshold = 6\n", "total_cnt = len(tar_tokenizer.word_index) # 단어의 수\n", "rare_cnt = 0 # 등장 빈도수가 threshold보다 작은 단어의 개수를 카운트\n", "total_freq = 0 # 훈련 데이터의 전체 단어 빈도수 총 합\n", "rare_freq = 0 # 등장 빈도수가 threshold보다 작은 단어의 등장 빈도수의 총 합\n", "\n", "# 단어와 빈도수의 쌍(pair)을 key와 value로 받는다.\n", "for key, value in tar_tokenizer.word_counts.items():\n", " total_freq = total_freq + value\n", "\n", " # 단어의 등장 빈도수가 threshold보다 작으면\n", " if(value < threshold):\n", " rare_cnt = rare_cnt + 1\n", " rare_freq = rare_freq + value\n", "\n", "print('단어 집합(vocabulary)의 크기 :',total_cnt)\n", "print('등장 빈도가 %s번 이하인 희귀 단어의 수: %s'%(threshold - 1, rare_cnt))\n", "print('단어 집합에서 희귀 단어를 제외시킬 경우의 단어 집합의 크기 %s'%(total_cnt - rare_cnt))\n", "print(\"단어 집합에서 희귀 단어의 비율:\", (rare_cnt / total_cnt)*100)\n", "print(\"전체 등장 빈도에서 희귀 단어 등장 빈도 비율:\", (rare_freq / total_freq)*100)" ], "execution_count": 55, "outputs": [ { "output_type": "stream", "text": [ "단어 집합(vocabulary)의 크기 : 3051\n", "등장 빈도가 5번 이하인 희귀 단어의 수: 2553\n", "단어 집합에서 희귀 단어를 제외시킬 경우의 단어 집합의 크기 498\n", "단어 집합에서 희귀 단어의 비율: 83.67748279252703\n", "전체 등장 빈도에서 희귀 단어 등장 빈도 비율: 16.569505849211627\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "EkN1O3UXEI-1", "outputId": "594256b0-42ef-4c81-bf06-ef78fa36bab5" }, "source": [ "tar_vocab = 2000\n", "tar_tokenizer = Tokenizer(num_words = tar_vocab) \n", "tar_tokenizer.fit_on_texts(decoder_input_train)\n", "tar_tokenizer.fit_on_texts(decoder_target_train)\n", "\n", "# 텍스트 시퀀스를 정수 시퀀스로 변환\n", "decoder_input_train = tar_tokenizer.texts_to_sequences(decoder_input_train) \n", "decoder_target_train = tar_tokenizer.texts_to_sequences(decoder_target_train)\n", "decoder_input_test = tar_tokenizer.texts_to_sequences(decoder_input_test)\n", "decoder_target_test = tar_tokenizer.texts_to_sequences(decoder_target_test)\n", "\n", "print(decoder_input_train[:5])\n", "print(decoder_target_train[:5])" ], "execution_count": 56, "outputs": [ { "output_type": "stream", "text": [ "[[1, 43, 584], [1, 6, 10], [1, 191, 1426, 22, 949], [1, 585, 42], [1, 7, 433]]\n", "[[43, 584, 2], [6, 10, 2], [191, 1426, 22, 949, 2], [585, 42, 2], [7, 433, 2]]\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "d_x8F8onEahW" }, "source": [ "# 5) 빈 샘플 제거" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "LmwyKFz_EZwH", "outputId": "b66216b1-ba5a-4d4d-e3b0-9c95b453a116" }, "source": [ "# 빈도수가 낮은 단어는 삭제되어서, 빈도수가 낮은 단어만으로 구성된 샘플들은 빈 샘플이 됨.\n", "drop_train = [index for index, sentence in enumerate(decoder_input_train) if len(sentence) == 1]\n", "drop_test = [index for index, sentence in enumerate(decoder_input_test) if len(sentence) == 1]\n", "\n", "print('삭제할 훈련 데이터의 개수 :',len(drop_train))\n", "print('삭제할 테스트 데이터의 개수 :',len(drop_test))" ], "execution_count": 57, "outputs": [ { "output_type": "stream", "text": [ "삭제할 훈련 데이터의 개수 : 72\n", "삭제할 테스트 데이터의 개수 : 50\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "C18jXKs2FVI0", "outputId": "fda52009-5d5a-4609-d273-7fd007365ba5" }, "source": [ "# 삭제 후의 개수\n", "encoder_input_train = np.delete(encoder_input_train, drop_train, axis=0)\n", "decoder_input_train = np.delete(decoder_input_train, drop_train, axis=0)\n", "decoder_target_train = np.delete(decoder_target_train, drop_train, axis=0)\n", "\n", "encoder_input_test = np.delete(encoder_input_test, drop_test, axis=0)\n", "decoder_input_test = np.delete(decoder_input_test, drop_test, axis=0)\n", "decoder_target_test = np.delete(decoder_target_test, drop_test, axis=0)\n", "\n", "print('훈련 데이터의 개수 :', len(encoder_input_train))\n", "print('훈련 레이블의 개수 :',len(decoder_input_train))\n", "print('테스트 데이터의 개수 :',len(encoder_input_test))\n", "print('테스트 레이블의 개수 :',len(decoder_input_test))" ], "execution_count": 58, "outputs": [ { "output_type": "stream", "text": [ "훈련 데이터의 개수 : 5776\n", "훈련 레이블의 개수 : 5776\n", "테스트 데이터의 개수 : 1411\n", "테스트 레이블의 개수 : 1411\n" ], "name": "stdout" }, { "output_type": "stream", "text": [ "/usr/local/lib/python3.7/dist-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", " return array(a, dtype, copy=False, order=order)\n" ], "name": "stderr" } ] }, { "cell_type": "markdown", "metadata": { "id": "8FOYLwwsFY_7" }, "source": [ "# 6) 패딩하기" ] }, { "cell_type": "code", "metadata": { "id": "zMMeBZGuFX8Q" }, "source": [ "encoder_input_train = pad_sequences(encoder_input_train, maxlen = text_max_len, padding='post')\n", "encoder_input_test = pad_sequences(encoder_input_test, maxlen = text_max_len, padding='post')\n", "decoder_input_train = pad_sequences(decoder_input_train, maxlen = summary_max_len, padding='post')\n", "decoder_target_train = pad_sequences(decoder_target_train, maxlen = summary_max_len, padding='post')\n", "decoder_input_test = pad_sequences(decoder_input_test, maxlen = summary_max_len, padding='post')\n", "decoder_target_test = pad_sequences(decoder_target_test, maxlen = summary_max_len, padding='post')" ], "execution_count": 59, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "qZIhM4U9FfNd" }, "source": [ "# 7) seq2seq + attention으로 요약 모델 설계 및 훈련시키기" ] }, { "cell_type": "code", "metadata": { "id": "khE_KzzcFce1" }, "source": [ "from tensorflow.keras.layers import Input, LSTM, Embedding, Dense, Concatenate\n", "from tensorflow.keras.models import Model\n", "from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint" ], "execution_count": 60, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "UF8ir6HaFqFa" }, "source": [ "## 인코더 설계" ] }, { "cell_type": "code", "metadata": { "id": "_WGO5m3UFivc" }, "source": [ "embedding_dim = 128\n", "hidden_size = 256\n", "\n", "# 인코더\n", "encoder_inputs = Input(shape=(text_max_len,))\n", "\n", "# 인코더의 임베딩 층\n", "enc_emb = Embedding(src_vocab, embedding_dim)(encoder_inputs)\n", "\n", "# 인코더의 LSTM 1\n", "encoder_lstm1 = LSTM(hidden_size, return_sequences=True, return_state=True ,dropout = 0.4, recurrent_dropout = 0.4)\n", "encoder_output1, state_h1, state_c1 = encoder_lstm1(enc_emb)\n", "\n", "# 인코더의 LSTM 2\n", "encoder_lstm2 = LSTM(hidden_size, return_sequences=True, return_state=True, dropout=0.4, recurrent_dropout=0.4)\n", "encoder_output2, state_h2, state_c2 = encoder_lstm2(encoder_output1)\n", "\n", "# 인코더의 LSTM 3\n", "encoder_lstm3 = LSTM(hidden_size, return_state=True, return_sequences=True, dropout=0.4, recurrent_dropout=0.4)\n", "encoder_outputs, state_h, state_c= encoder_lstm3(encoder_output2)" ], "execution_count": 62, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "vjxi0viRFuDO" }, "source": [ "## 디코더 설계\n", " - 출력층 제외\n", " - 인코더와 비슷하지만, 초기 상태를 인코더의 상태로 하기\n" ] }, { "cell_type": "code", "metadata": { "id": "4nmjuc1hF0ig" }, "source": [ "# 디코더\n", "decoder_inputs = Input(shape=(None,))\n", "\n", "# 디코더의 임베딩 층\n", "dec_emb_layer = Embedding(tar_vocab, embedding_dim)\n", "dec_emb = dec_emb_layer(decoder_inputs)\n", "\n", "# 디코더의 LSTM\n", "decoder_lstm = LSTM(hidden_size, return_sequences = True, return_state = True, dropout = 0.4, recurrent_dropout=0.2)\n", "decoder_outputs, _, _ = decoder_lstm(dec_emb, initial_state = [state_h, state_c])" ], "execution_count": 63, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "44oRFO-hF91K", "outputId": "114af789-2559-4fcf-db49-e1512a80594c" }, "source": [ "# 디코더의 출력층\n", "decoder_softmax_layer = Dense(tar_vocab, activation = 'softmax')\n", "decoder_softmax_outputs = decoder_softmax_layer(decoder_outputs) \n", "\n", "# 모델 정의\n", "model = Model([encoder_inputs, decoder_inputs], decoder_softmax_outputs)\n", "model.summary()" ], "execution_count": 64, "outputs": [ { "output_type": "stream", "text": [ "Model: \"model\"\n", "__________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Connected to \n", "==================================================================================================\n", "input_2 (InputLayer) [(None, 50)] 0 \n", "__________________________________________________________________________________________________\n", "embedding (Embedding) (None, 50, 128) 1024000 input_2[0][0] \n", "__________________________________________________________________________________________________\n", "lstm (LSTM) [(None, 50, 256), (N 394240 embedding[0][0] \n", "__________________________________________________________________________________________________\n", "input_3 (InputLayer) [(None, None)] 0 \n", "__________________________________________________________________________________________________\n", "lstm_1 (LSTM) [(None, 50, 256), (N 525312 lstm[0][0] \n", "__________________________________________________________________________________________________\n", "embedding_1 (Embedding) (None, None, 128) 256000 input_3[0][0] \n", "__________________________________________________________________________________________________\n", "lstm_2 (LSTM) [(None, 50, 256), (N 525312 lstm_1[0][0] \n", "__________________________________________________________________________________________________\n", "lstm_3 (LSTM) [(None, None, 256), 394240 embedding_1[0][0] \n", " lstm_2[0][1] \n", " lstm_2[0][2] \n", "__________________________________________________________________________________________________\n", "dense (Dense) (None, None, 2000) 514000 lstm_3[0][0] \n", "==================================================================================================\n", "Total params: 3,633,104\n", "Trainable params: 3,633,104\n", "Non-trainable params: 0\n", "__________________________________________________________________________________________________\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "NDuen049GKix" }, "source": [ "# 위 출력층 말고 어텐션 메커니즘이 결합된 새로운 출력층으로 설계하기\n", "# AttentionLayer 임포하기\n", "urllib.request.urlretrieve(\"https://raw.githubusercontent.com/thushv89/attention_keras/master/src/layers/attention.py\", filename=\"attention.py\")\n", "from attention import AttentionLayer" ], "execution_count": 65, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "h5XmUUe_GQnI", "outputId": "27a3ec0e-d2eb-49bd-cd78-2456bc04475a" }, "source": [ "# 어텐션 메커니즘을 이용해 디코더의 출력층 새롭게 생성\n", "\n", "# 어텐션 층(어텐션 함수)\n", "attn_layer = AttentionLayer(name='attention_layer')\n", "attn_out, attn_states = attn_layer([encoder_outputs, decoder_outputs])\n", "\n", "# 어텐션의 결과와 디코더의 hidden state들을 연결\n", "decoder_concat_input = Concatenate(axis = -1, name='concat_layer')([decoder_outputs, attn_out])\n", "\n", "# 디코더의 출력층\n", "decoder_softmax_layer = Dense(tar_vocab, activation='softmax')\n", "decoder_softmax_outputs = decoder_softmax_layer(decoder_concat_input)\n", "\n", "# 모델 정의\n", "model = Model([encoder_inputs, decoder_inputs], decoder_softmax_outputs)\n", "model.summary()" ], "execution_count": 66, "outputs": [ { "output_type": "stream", "text": [ "Model: \"model_1\"\n", "__________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Connected to \n", "==================================================================================================\n", "input_2 (InputLayer) [(None, 50)] 0 \n", "__________________________________________________________________________________________________\n", "embedding (Embedding) (None, 50, 128) 1024000 input_2[0][0] \n", "__________________________________________________________________________________________________\n", "lstm (LSTM) [(None, 50, 256), (N 394240 embedding[0][0] \n", "__________________________________________________________________________________________________\n", "input_3 (InputLayer) [(None, None)] 0 \n", "__________________________________________________________________________________________________\n", "lstm_1 (LSTM) [(None, 50, 256), (N 525312 lstm[0][0] \n", "__________________________________________________________________________________________________\n", "embedding_1 (Embedding) (None, None, 128) 256000 input_3[0][0] \n", "__________________________________________________________________________________________________\n", "lstm_2 (LSTM) [(None, 50, 256), (N 525312 lstm_1[0][0] \n", "__________________________________________________________________________________________________\n", "lstm_3 (LSTM) [(None, None, 256), 394240 embedding_1[0][0] \n", " lstm_2[0][1] \n", " lstm_2[0][2] \n", "__________________________________________________________________________________________________\n", "attention_layer (AttentionLayer ((None, None, 256), 131328 lstm_2[0][0] \n", " lstm_3[0][0] \n", "__________________________________________________________________________________________________\n", "concat_layer (Concatenate) (None, None, 512) 0 lstm_3[0][0] \n", " attention_layer[0][0] \n", "__________________________________________________________________________________________________\n", "dense_1 (Dense) (None, None, 2000) 1026000 concat_layer[0][0] \n", "==================================================================================================\n", "Total params: 4,276,432\n", "Trainable params: 4,276,432\n", "Non-trainable params: 0\n", "__________________________________________________________________________________________________\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "yUpXIBfYGqJZ" }, "source": [ "model.compile(optimizer='rmsprop', loss='sparse_categorical_crossentropy')" ], "execution_count": 67, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "h4cbQqnqGqVR", "outputId": "cd4eeede-3686-42a5-9f1b-77ce290d9a6f" }, "source": [ "# 조기종료 조건 설정\n", "es = EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience = 2)\n", "history = model.fit(x = [encoder_input_train, decoder_input_train], y = decoder_target_train, \\\n", " validation_data = ([encoder_input_test, decoder_input_test], decoder_target_test),\n", " batch_size = 256, callbacks=[es], epochs = 50)" ], "execution_count": 68, "outputs": [ { "output_type": "stream", "text": [ "Epoch 1/50\n", "23/23 [==============================] - 135s 5s/step - loss: 3.6670 - val_loss: 2.7958\n", "Epoch 2/50\n", "23/23 [==============================] - 116s 5s/step - loss: 2.9295 - val_loss: 2.5649\n", "Epoch 3/50\n", "23/23 [==============================] - 117s 5s/step - loss: 2.7221 - val_loss: 2.4515\n", "Epoch 4/50\n", "23/23 [==============================] - 118s 5s/step - loss: 2.6360 - val_loss: 2.4048\n", "Epoch 5/50\n", "23/23 [==============================] - 117s 5s/step - loss: 2.5722 - val_loss: 2.3873\n", "Epoch 6/50\n", "23/23 [==============================] - 121s 5s/step - loss: 2.5199 - val_loss: 2.3498\n", "Epoch 7/50\n", "23/23 [==============================] - 118s 5s/step - loss: 2.4715 - val_loss: 2.3630\n", "Epoch 8/50\n", "23/23 [==============================] - 120s 5s/step - loss: 2.4391 - val_loss: 2.3447\n", "Epoch 9/50\n", "23/23 [==============================] - 118s 5s/step - loss: 2.4147 - val_loss: 2.3583\n", "Epoch 10/50\n", "23/23 [==============================] - 118s 5s/step - loss: 2.3911 - val_loss: 2.3476\n", "Epoch 00010: early stopping\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 265 }, "id": "LSW8t171GsYw", "outputId": "db1e8239-ac1f-4924-b8df-63727eb203e8" }, "source": [ "plt.plot(history.history['loss'], label='train')\n", "plt.plot(history.history['val_loss'], label='test')\n", "plt.legend()\n", "plt.show()" ], "execution_count": 69, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "geFuKOu2GuQf" }, "source": [ "# 8) seq2seq + attention으로 요약 모델 테스트하기" ] }, { "cell_type": "code", "metadata": { "id": "UEWpWQBoGthE" }, "source": [ "src_index_to_word = src_tokenizer.index_word # 원문 단어 집합에서 정수 -> 단어를 얻음\n", "tar_word_to_index = tar_tokenizer.word_index # 요약 단어 집합에서 단어 -> 정수를 얻음\n", "tar_index_to_word = tar_tokenizer.index_word # 요약 단어 집합에서 정수 -> 단어를 얻음" ], "execution_count": 70, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "XVFsY5f8Q6xn" }, "source": [ "seq2seq는 훈련 단계와 테스트 단계의 동작이 다르므로 테스트 단계의 모델을 별도로 다시 설계" ] }, { "cell_type": "code", "metadata": { "id": "jpvTVo_BGyLG" }, "source": [ "# 인코더 설계\n", "encoder_model = Model(inputs=encoder_inputs, outputs=[encoder_outputs, state_h, state_c])" ], "execution_count": 71, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "f5X97QJTGzTo" }, "source": [ "# 이전 시점의 상태들을 저장하는 텐서\n", "decoder_state_input_h = Input(shape=(hidden_size,))\n", "decoder_state_input_c = Input(shape=(hidden_size,))\n", "\n", "dec_emb2 = dec_emb_layer(decoder_inputs)\n", "# 문장의 다음 단어를 예측하기 위해서 초기 상태(initial_state)를 이전 시점의 상태로 사용. 이는 뒤의 함수 decode_sequence()에 구현\n", "# 훈련 과정에서와 달리 LSTM의 리턴하는 은닉 상태와 셀 상태인 state_h와 state_c를 버리지 않음.\n", "decoder_outputs2, state_h2, state_c2 = decoder_lstm(dec_emb2, initial_state=[decoder_state_input_h, decoder_state_input_c])" ], "execution_count": 72, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "fYlLoDOSG1JD" }, "source": [ "# 어텐션 함수\n", "decoder_hidden_state_input = Input(shape=(text_max_len, hidden_size))\n", "attn_out_inf, attn_states_inf = attn_layer([decoder_hidden_state_input, decoder_outputs2])\n", "decoder_inf_concat = Concatenate(axis=-1, name='concat')([decoder_outputs2, attn_out_inf])\n", "\n", "# 디코더의 출력층\n", "decoder_outputs2 = decoder_softmax_layer(decoder_inf_concat) \n", "\n", "# 최종 디코더 모델\n", "decoder_model = Model(\n", " [decoder_inputs] + [decoder_hidden_state_input,decoder_state_input_h, decoder_state_input_c],\n", " [decoder_outputs2] + [state_h2, state_c2])" ], "execution_count": 73, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "Q1ESqw3KG2fG" }, "source": [ "def decode_sequence(input_seq):\n", " # 입력으로부터 인코더의 상태를 얻음\n", " e_out, e_h, e_c = encoder_model.predict(input_seq)\n", "\n", " # 에 해당하는 토큰 생성\n", " target_seq = np.zeros((1,1))\n", " target_seq[0, 0] = tar_word_to_index['sostoken']\n", "\n", " stop_condition = False\n", " decoded_sentence = ''\n", " while not stop_condition: # stop_condition이 True가 될 때까지 루프 반복\n", "\n", " output_tokens, h, c = decoder_model.predict([target_seq] + [e_out, e_h, e_c])\n", " sampled_token_index = np.argmax(output_tokens[0, -1, :])\n", " sampled_token = tar_index_to_word[sampled_token_index]\n", "\n", " if(sampled_token!='eostoken'):\n", " decoded_sentence += ' '+sampled_token\n", "\n", " # 에 도달하거나 최대 길이를 넘으면 중단.\n", " if (sampled_token == 'eostoken' or len(decoded_sentence.split()) >= (summary_max_len-1)):\n", " stop_condition = True\n", "\n", " # 길이가 1인 타겟 시퀀스를 업데이트\n", " target_seq = np.zeros((1,1))\n", " target_seq[0, 0] = sampled_token_index\n", "\n", " # 상태를 업데이트 합니다.\n", " e_h, e_c = h, c\n", "\n", " return decoded_sentence" ], "execution_count": 74, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "UbXVevcOG5dj" }, "source": [ "# 원문의 정수 시퀀스를 텍스트 시퀀스로 변환\n", "def seq2text(input_seq):\n", " temp=''\n", " for i in input_seq:\n", " if(i!=0):\n", " temp = temp + src_index_to_word[i]+' '\n", " return temp\n", "\n", "# 요약문의 정수 시퀀스를 텍스트 시퀀스로 변환\n", "def seq2summary(input_seq):\n", " temp=''\n", " for i in input_seq:\n", " if((i!=0 and i!=tar_word_to_index['sostoken']) and i!=tar_word_to_index['eostoken']):\n", " temp = temp + tar_index_to_word[i] + ' '\n", " return temp" ], "execution_count": 75, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "tBPiwpN9G66u", "outputId": "b083369f-47c9-48c5-d5bf-848fa5fe2aba" }, "source": [ "for i in range(500, 1000):\n", " print(\"원문 : \",seq2text(encoder_input_test[i]))\n", " print(\"실제 요약문 :\",seq2summary(decoder_input_test[i]))\n", " print(\"예측 요약문 :\",decode_sequence(encoder_input_test[i].reshape(1, text_max_len)))\n", " print(\"\\n\")" ], "execution_count": 76, "outputs": [ { "output_type": "stream", "text": [ "원문 : happy discovered product tried several brands extract powder form nunaturals far best virtually aftertaste quick dissolving convenient also economical cents serving use teaspoon measuring spoon sweetens coffee tea perfectly flavor get stevia powder happy \n", "실제 요약문 : the best have ever had \n", "예측 요약문 : great\n", "\n", "\n", "원문 : post nasal drip congestion many years tea made big difference couple days drink times per day feel much better breathe easier little post nasal drip throughout day \n", "실제 요약문 : this tea works feel so much better \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hot coca tastes pretty good brewed oz setting however best ever tasted worst hard rate everyone different tastes like self happen like buy unless find something better \n", "실제 요약문 : tastes pretty good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : buy ship save program staple breakfast snack routine light flavorful full vitamins take minutes bake minimal vegan use egg substitutes still bake perfectly \n", "실제 요약문 : delicious packed fast \n", "예측 요약문 : great\n", "\n", "\n", "원문 : herb savor weeks waiting write review herbs went bad could tell long takes never happened first time ever used herbs went bad problems leaking everything nice tight mine plus thing looks really cool \n", "실제 요약문 : this thing is great \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : awesome yummy flavor got healthy alternative desserts normally eat glad many things jello desserts still taste good good purchasing product flavor wonderful \n", "실제 요약문 : jell \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sampled cake offered month ago fell love extremely moist delicious sliced thin accompany cup coffee ingredients perfectly blended one taste overpowering able taste individual ingredient looking great coffee tea accompaniment please give cake try \n", "실제 요약문 : perfection in cake form \n", "예측 요약문 : great\n", "\n", "\n", "원문 : opinion best soda cracker planet like love crackers diamond bakery makes tastiest cracker \n", "실제 요약문 : bakery soda crackers \n", "예측 요약문 : great\n", "\n", "\n", "원문 : recently tried line breads vacation loved one tried could find european cheese herb flavor locally went order amazon com happens time time seller flavor picked potato bread instead also good still need get cheese herb one awesome \n", "실제 요약문 : great bread \n", "예측 요약문 : great\n", "\n", "\n", "원문 : kettle chips look feel taste like lays chips used favorite crinkle cut longer favorite \n", "실제 요약문 : surprise it is different \n", "예측 요약문 : great\n", "\n", "\n", "원문 : could believe told relaxing beverage seriously drink getting ready bedtime plans drive perform activity recommended feel legs almost tingle short time eyes start get another place love stuff \n", "실제 요약문 : relaxing almost like something you \n", "예측 요약문 : great\n", "\n", "\n", "원문 : organic coffee less pound great taste cannot beat coffee choice would rather starbuck day week \n", "실제 요약문 : excellent taste excellent price for organic \n", "예측 요약문 : great\n", "\n", "\n", "원문 : product excellent local store struggle keep enough shelves usually priced bottles expensive would try spend \n", "실제 요약문 : excellent but try to find it elsewhere \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love taste product really keeps full small amount first bought costco longer sell product reason two stars half bag crushed could eat spoon \n", "실제 요약문 : great taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : former chef owner restaurant younger years surprised delighted exceptionally good taste texture white clam sauce great product easy convenience \n", "실제 요약문 : absolutely delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : white bread thing probably like one like white breads really full bodied white breads otherwise always choose whole grains one full bodied particular flavor interesting \n", "실제 요약문 : if you like gummy white bread \n", "예측 요약문 : great\n", "\n", "\n", "원문 : taste great berries melted may order winter order cold weather enjoy flavor \n", "실제 요약문 : order only in cold \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wanted like coffee tried wolfgang puck cups pleasantly surprised impress us bitter aftertaste almost vanilla flavor smells great brewing live cup really disappointed box half product really want drink great price though \n", "실제 요약문 : really disappointed \n", "예측 요약문 : great\n", "\n", "\n", "원문 : disappointed fact three boxes received already expired luckily enough flavors yet specifically bought order get peppermint flavor hoping peppermint hot chocolate much peppermint flavor still enjoy flavors \n", "실제 요약문 : received expired product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : seasoning adds right amount spice almost dish want something little kick love seasoning cannot beat price top notch product \n", "실제 요약문 : great seasoning \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cashews delicious cashews ever tasted huge kidding call jumbo flavorful order disappointed \n", "실제 요약문 : best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sure fuss thought good coffee better store brand usually buy store brand much cheaper stick bad coffee seeing better \n", "실제 요약문 : so so \n", "예측 요약문 : great\n", "\n", "\n", "원문 : baby loves great first food start teaching baby solids pouch makes easy get product without making mess lid easy use feeds \n", "실제 요약문 : great first food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cats threw extended period eating trash go sure thought would good let cat parents know risk \n", "실제 요약문 : cats threw up for long time \n", "예측 요약문 : great\n", "\n", "\n", "원문 : many different cup chose asked store brand flavor bought suggested wolfgang puck coffee breakfast bed shelf disappointed hooked people use creamer coffee good even need creamer \n", "실제 요약문 : breakfast in bed review \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best tasting pancake mix market easy make \n", "실제 요약문 : great tasting pancake mix \n", "예측 요약문 : great\n", "\n", "\n", "원문 : went searching charcoal dog biscuits reading help digestive gas bad breath appears one two brands market tried one make biscuit small dogs dog eating one day cannot say sure whether work used really smell gas dropped like maybe due biscuits knows like biscuits much surely buy \n", "실제 요약문 : one of two on the market \n", "예측 요약문 : great\n", "\n", "\n", "원문 : okay let preface review saying drink hot chocolate often america think ever hot chocolate traveling europe husband british grew england searched high low chocolate drink would remind childhood found drink wont drink chocolate drink \n", "실제 요약문 : tastes like hot chocolate \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love tea makes feel healthy needed christmas new year season used one week soooo feel body needing good recommend anyone stomach issues wants feel generally better \n", "실제 요약문 : love it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : find really hard believe gf tastes better gf product ever made waffles morning even want butter syrup amazing want proof truly gf \n", "실제 요약문 : no way \n", "예측 요약문 : great\n", "\n", "\n", "원문 : little perplexed great reviews bland chowder ever prepared milk little butter tasted like nothing added salt white pepper still nothing added black pepper herbs tastes like potato soup plus side clams nice big chunks potatoes tender consistency pretty good flavor going buying certainly expensive \n", "실제 요약문 : tasteless \n", "예측 요약문 : great\n", "\n", "\n", "원문 : although like olives often want due intense flavor olives great flavor keeps coming back love snack work problem finishing whole package time \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : found crisps local walmart figured would give try yummy may never go back regular chips big chip fan anyway problem eat entire bag one sitting give crisps big thumbs \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : took one tablets results drank pure lemon juice tasted like sweet lemonade sister tried immediately tried lime delicious cheese usually like cheese eating little bit amazed wonderful tasted tablets highly recommend product moment start tasting \n", "실제 요약문 : product \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : one year old daughter drinks every day loves gamey taste reviewers call thrilled getting whole milk free overflowing nutrition get em started early \n", "실제 요약문 : best thing that ever happened to my baby \n", "예측 요약문 : great\n", "\n", "\n", "원문 : one best salsas found long time stay away variety pack two come worth money \n", "실제 요약문 : love the salsa \n", "예측 요약문 : great\n", "\n", "\n", "원문 : second time reported one jar broken pictured jam jar different know \n", "실제 요약문 : broken and not what picture \n", "예측 요약문 : great\n", "\n", "\n", "원문 : taste flaxseed whole wheat muffins great taste good chocolate flavor texture add chopped walnuts \n", "실제 요약문 : best brownies \n", "예측 요약문 : great\n", "\n", "\n", "원문 : using chimichurri years stuff awesome use mostly cooking fish recently started put family sandwiches also big fans mango spreads highly recommend products looking great taste without preservatives \n", "실제 요약문 : fan \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love kool aid mix stopped selling local albertsons luckily found even cheaper store \n", "실제 요약문 : yum \n", "예측 요약문 : great\n", "\n", "\n", "원문 : friend brought bag tea back trip taiwan shared coworkers amazed drank first cup best word describe mouth feel buttery wonderful clear elegant tasting tea never anything like cannot wait become available everyone shared wants buy japanese friend drinking green tea life said special experience taste tea please offer soon \n", "실제 요약문 : best green tea ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : herbal additives blend real tea taste people like herbal taste \n", "실제 요약문 : not real tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pleased recent vanilla bean purchase spice world opened box even unsealed beans could smell fragrance bean see good condition moist easy work taste wonderful cannot recommend people much say completely satisfied would like finding place shop meet taste quality new home \n", "실제 요약문 : simply fantastic \n", "예측 요약문 : great\n", "\n", "\n", "원문 : came fresh well pleased make tasty nutritious addition salads usual amazon delivery postage great super saving shipping option \n", "실제 요약문 : bob red mill pumpkin seeds raw \n", "예측 요약문 : great\n", "\n", "\n", "원문 : going gluten free test sensitive good diet anyway tasty pancake light fluffy need use little butter usual makes even better fried color nice little brown edge letting know done \n", "실제 요약문 : makes nice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : review dark chocolate like dark chocolate pure chocolate taste health effects sweetness good coffee necessary make overly sweet flavored since many sweet drinking use sugar chocolate give extra star dark chocolate drink product since many companies even make one kudos \n", "실제 요약문 : too sweet \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tree products great cannot beat value amazon use decorate cakes cupcakes get workout holidays near \n", "실제 요약문 : tree is \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pack lasted month sampled flavors got eat barbecue flavor wife favorite reordered barbecue great snack calories purchased reduced fat pringles calorie individual packs get lot chips popchips bag pringles \n", "실제 요약문 : good way to try the different flavors \n", "예측 요약문 : great\n", "\n", "\n", "원문 : new product kids liked well even thought trying great price obviously new favorite \n", "실제 요약문 : tasty treat \n", "예측 요약문 : great\n", "\n", "\n", "원문 : never received anything like amazon product packed old used golf ball box cans dented old looking bowls chipped thought oh well maybe soup taste good wrong three different flavors awful completely inedible horribly fishy metallic tasting worst canned soups ever tasted life donated chipped bowls charity complete waste money \n", "실제 요약문 : one of my worst ever from amazon \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : breakfast cookies favorite young children friend one ounce cookies right size young children individually wrapped used home take along snack item also used special treats occasions like halloween \n", "실제 요약문 : good snack for \n", "예측 요약문 : great\n", "\n", "\n", "원문 : happy quick shipping needed school product daughter came roof broken corner house broken could send back needed \n", "실제 요약문 : shipping \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like disposakups one cup quicker use disposakups clean refillable holder came machine \n", "실제 요약문 : like the disposakups \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best beer sausages come across decades taste like old time sausages used get bars younger wont take word ask friends \n", "실제 요약문 : the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : honestly best seasoning salt land dish spicy perfectly seasoned perfect hence purchase oz \n", "실제 요약문 : the king of all seasoning salts \n", "예측 요약문 : great\n", "\n", "\n", "원문 : snacks different say slim moist seems less processed many convenience store meat snacks nice hint spice honey would say tasted texture might expected expensive product buy recommend friends family \n", "실제 요약문 : good and unique \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tasty way sweet sugary felt like eating candy instead meat okay probably love looking something bit healthier yes know says sweet product name bought hormone artificial ingredient aspect \n", "실제 요약문 : tasty but too sweet \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ride club use coconut water energy drink prefer product find ethnic markets added sugar boiled \n", "실제 요약문 : coconut water \n", "예측 요약문 : great\n", "\n", "\n", "원문 : coconut water pineapple juice need try simply delicious healthy \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : recently found allergic wheat milk imagine severely limits snacking options local grocery organic section tried good love salted plain rice cakes add extra punch flavor crunch yum \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : dog sent home baggie cheese egg flavored bears maltese puppy used reward get go anything knows treat coming great training aid also small enough give often made good ingredients carry pocket little guy keeps eye pocket \n", "실제 요약문 : the best training treat \n", "예측 요약문 : great\n", "\n", "\n", "원문 : price product certainly attention amazon price local stores get rotel local kroger \n", "실제 요약문 : it is fabulous but not from amazon \n", "예측 요약문 : great\n", "\n", "\n", "원문 : honest baby really love first pretty picky mix fruit get interested took gourmet meals pack right away love gotten older gotten less picky seems accept flavors without mixing fruit prices amazon good continue order \n", "실제 요약문 : healthy selection \n", "예측 요약문 : great\n", "\n", "\n", "원문 : heard bunch great things chia seeds love texture adds juices honestly felt much benefit form eating seeds terms strength etc helped cleaning system keeping health mind love ritual mixing something healthy natural juices love texture \n", "실제 요약문 : love it do not me why \n", "예측 요약문 : great\n", "\n", "\n", "원문 : oh man love candy super delicious really sour would always giant spend cents \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great rich taste remember ground whole leaf tea stronger may expect overly sweet dissolves readily use workouts mixed ice water bottle \n", "실제 요약문 : great taste and convenient \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bought along easy freeze ice cube trays two dogs vet put lab diet looking low calories treats feed evening snack packet calories fill one easy freeze ice cube tray one packet also fill labs terriers kong medium love make sure lick kong clean without getting bored overall great snack \n", "실제 요약문 : low calorie and my dogs love \n", "예측 요약문 : great\n", "\n", "\n", "원문 : favorite late evening cup coffee nice flavor right night keep stocking brand keep coming back \n", "실제 요약문 : my favorite \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really good tender little sweet easy make whirley pop excellent cheddar spice popcorn seasoning \n", "실제 요약문 : keep \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love pasta cook little firm cooked bit longer pesto good husband could tell difference know good fussy \n", "실제 요약문 : light \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cant go wrong one best argentina go seller everything ok time etc \n", "실제 요약문 : best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like rich dark smooth taste grove square cocoa best found cups auto delivery least months delicious \n", "실제 요약문 : great cup of cocoa \n", "예측 요약문 : great\n", "\n", "\n", "원문 : family vegetarians rest die hard meat eaters one product whole family eat like burgers love meatballs spaghetti like keeps good texture even sauce love texture bite hamburger extra bonus weight watchers low points \n", "실제 요약문 : it is the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : favorite soup cannot beat amazon price free shipping thanks making favorites available \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : new dublin dr pepper bottled texas produced dr pepper force dublin production dublin dr pepper cheap want real thing pay \n", "실제 요약문 : not dr pepper \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : pineapple hands favorite flavor vita coco serves great beverage also made add rum \n", "실제 요약문 : my favorite flavor \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : great product start strong right tast morning wake us \n", "실제 요약문 : breakfast delight \n", "예측 요약문 : great\n", "\n", "\n", "원문 : use iced tea much better american teas plain buy get others look \n", "실제 요약문 : best tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : purchased product greatly disappointed product texture taste contacted customer service discovered complaining suddenly could understand us said customer service would contact us never got call back could get touch expensive quality stay away company lived years know product taste like tasted like \n", "실제 요약문 : away from this company \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : use secret ingredient pasta salad always hit also use chicken tuna egg salad used eggs started using also via costco disappointed stopped carrying put request start carrying see happens happy still find somewhere \n", "실제 요약문 : great for pasta salad \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : food improvement store bought crap dog coat got softer within days breath stopped stinking immediately smells lot better active seems healthier happier plant floor dog month small sacrifice make dog health well honestly know everyone concerned kind inedible junk put regular store bought dog food \n", "실제 요약문 : away store bought \n", "예측 요약문 : great\n", "\n", "\n", "원문 : year old son diagnosed allergic soy peanuts sunflower butter found free allergens processed shared equipment product buy son likes pb crackers celery spoonful sugars added much healthy \n", "실제 요약문 : only sunflower butter we will buy \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : tried till recently weavers favorite running list types looking favorite found one yet smooth bite taste little pricy still worth worse price wise starbucks peets keep running list see happens love far \n", "실제 요약문 : love am fan \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good product fast delivery follow hot drinking time day buy \n", "실제 요약문 : very hot \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried pamela bob red mill king gluten free flour mixes pancakes waffles breading pie crusts biscuits dumplings bisquick reliable whole heartedly recommend bake home need avoid gluten \n", "실제 요약문 : the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : firm small pieces intense licorice flavor love black licorice trying different gluten free options ordering one \n", "실제 요약문 : licorice flavor \n", "예측 요약문 : great\n", "\n", "\n", "원문 : would recommend buying nuts looking really good tasting nuts average quality brazil nuts taste plain awful good tasting nut lot almond pecans barely pecans tons cashews try another brand sure something better \n", "실제 요약문 : not bad not great just average \n", "예측 요약문 : great\n", "\n", "\n", "원문 : introduced product years ago tasty depending amount type milk added chocolaty flavor could even recently moved know find locally trying online purchasing option almost nice option us drink coffee often want something quality kitchen cupboard goes great trader joes hot chocolate powder \n", "실제 요약문 : quick and easy at home \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love blend delighted find subscribe save program better keurig really disappointed learn today longer available said program shame \n", "실제 요약문 : fave cup french roast \n", "예측 요약문 : great\n", "\n", "\n", "원문 : trying save buck coffee way weak tastebuds say dark blend even close dark roast buy stores end blend pound dark roast ok \n", "실제 요약문 : will not but again \n", "예측 요약문 : great\n", "\n", "\n", "원문 : started fresh goats milk weeks product prepare warm water blender add strawberry flavoring son loves easy prepare compared baby formula reasonable price \n", "실제 요약문 : great product for the price \n", "예측 요약문 : great\n", "\n", "\n", "원문 : always start son tea starts cold actually asks prepare put drink day school works wonders starts drinking right away symptoms obvious throat tea starts illness taken full course still helps sooth lot son loves recommended friends buy time great effective results \n", "실제 요약문 : effective and tea for kids \n", "예측 요약문 : great\n", "\n", "\n", "원문 : got luscious wine chocolates use part stocking stuffers yummy big hit everyone would definitely buy \n", "실제 요약문 : excellent chocolates \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great juice mix usually mix tablespoon two glass half way filled water stir next minute two fill glass prefer choice juice organic juice stir tiny bit pure stevia extract powder oz powder let drink sit least minutes drop cube two ice ready serve amazed \n", "실제 요약문 : great in water mix \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good flavor unique teas tried tea effective one system harsh regular laxative consumed daily needed \n", "실제 요약문 : good effective product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : taste wonderful guilt free stop one bag buy \n", "실제 요약문 : taste great \n", "예측 요약문 : great\n", "\n", "\n", "원문 : times amazing last time half pill one dose thought bit cheaper turned still great well worth per dose like also came recommended foods try lemons limes far best beer pretty cool \n", "실제 요약문 : miracle fruit \n", "예측 요약문 : great\n", "\n", "\n", "원문 : son happily eats fruit veggie varieties earth best unlike organic baby products none likes careful get fruit veggie variety packs dinner packs meat \n", "실제 요약문 : good stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : live salt result products work surprisingly fast lower high blood pressure put nice possible keep alive longer fact salt habit real useful except cause many unhealthy conditions keep caring us stop producing foods healthy \n", "실제 요약문 : better than expected \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : taste really good comes mango strawberry red bean individually wrapped eat one time flavor well finish canister plan buying another \n", "실제 요약문 : love these \n", "예측 요약문 : great\n", "\n", "\n", "원문 : one best mixed nut blends ever everything tastes extremely fresh natural flavor combination amazing perfect mix nuts dried fruits really like blend include peanuts tired nut blends always including peanuts enough already refreshing change great snack also feel price reasonable considering peanuts everything natural tastes great \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried bars good although like peanut butter chocolate chip bars better bars quick easy carry snack go \n", "실제 요약문 : and bars \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cannot live without little surprise middle takes right french enjoying \n", "실제 요약문 : more than little mint \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pleasantly surprised find item delivered day order delivery date probably helps location near everything looks described pictured happy done business seller gingerbread house carefully packaged harm fragile pieces inside excited give item gift \n", "실제 요약문 : house \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love baking bob red mill sweet white sorghum flour use many things tend lean sweeter treats cakes muffins make crumble topping flour family guests beg would highly recommend flour baker even gluten intolerant ones use normal recipes replace wheat flour always turns fantastic \n", "실제 요약문 : perfect treat \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : grew using seasoning steak pretty much everything could longer find stores ordered case amazon happy nice spice flavor highly recommend \n", "실제 요약문 : love this seasoning \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great described used themed party use go packs honey coffee tea \n", "실제 요약문 : great little treats \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sent tea delicious continue use company great enthusiasm \n", "실제 요약문 : one of the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : given friends eat spicy wanted kill afterwards actually one person want speak work week pretty spicy normally sit eat maybe time fan dave hot sauces get pack also great gift stocking stuffer \n", "실제 요약문 : spicy and flavorful \n", "예측 요약문 : great\n", "\n", "\n", "원문 : think lives better job variety say cat look fresh appetizing lives cat like well smells nasty looks quite good lives think could definitely better variety maybe even add cheese cat leaves one dish eats lives version \n", "실제 요약문 : not their best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : husband like mild tasting coffee thought would give wolfgang puck breakfast bed try pleasantly surprised full bodied taste without bitterness stronger tasting coffee satisfied drinking long time get husband take name literally \n", "실제 요약문 : mild and flavorful \n", "예측 요약문 : great\n", "\n", "\n", "원문 : thickness described thin like reviews stated pet chihuahuas love much usually takes hour finish chewing great time one negative thing would complain strong smell bag though tuck away corner order smell often pass might apply everyone since nose bit sensitive normal people would given star smell give stars \n", "실제 요약문 : sticks \n", "예측 요약문 : great\n", "\n", "\n", "원문 : local eat regularly use kinds foods love hot without flavor like sauces burn taste burn awesome flavor surprised find amazon would highly recommend anyone likes good hot sauce \n", "실제 요약문 : love this stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : stuff gold hot spicy food put everything breakfast really think get way value hot sauce bottle basically fancy bottle hot sauce without fancy label try oz goes long way \n", "실제 요약문 : simply amazing \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great price getting recording via usb rocks thing could maybe improved feels like toothpick hand may durable feels still going careful price minor gripe great product would recommend anyone \n", "실제 요약문 : excellent buy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tough durable jerky expecting small soft chewy squares break easily tiny sized balls puppies anything best training market \n", "실제 요약문 : better than liver or \n", "예측 요약문 : great\n", "\n", "\n", "원문 : stephen hot chocolate best hot chocolate world drink hot chocolate french vanilla personal favorite \n", "실제 요약문 : the best hot chocolate in the world \n", "예측 요약문 : great\n", "\n", "\n", "원문 : mccann instant irish oatmeal variety pack regular apples cinnamon maple brown sugar count boxes fan mccann steel cut oats thought would give instant variety try found hardy meal sweet great folks like need food palatable easily fiber make \n", "실제 요약문 : satisfying \n", "예측 요약문 : great\n", "\n", "\n", "원문 : enjoyed drink tangy citrus flavor tasted little less orangy expected still good liked carbonation juice right amount drink calories regular soda feel better drinking natural ingredients drink syrupy feel traditional orange soda bonus definitely lighter tasting refreshing drink reason reducing star value one price bit recommend drink \n", "실제 요약문 : yum carbonated fruit juice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : use mix pancakes waffles perfect terrible time finding good purpose flour gluten free tend use pancake mix base lot recipes including breading baked chicken things definitely best pancake mix course using starting point baking helped us find normal tasting gluten free baked foods \n", "실제 요약문 : perfect \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : ordered order get variety flavored coffees admit disappointed selection several ordinary coffees received also flavors advertised primary reason ordering included \n", "실제 요약문 : expected received \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love stuff sit front computer day work easy get tired mention always trouble sleeping never get full hours sleep like average hours per night surprised quickly certainly feel shakes felt awake crash later wears gradually hours helps get main part day use every day need boost \n", "실제 요약문 : great boost \n", "예측 요약문 : great\n", "\n", "\n", "원문 : discovered gluten months ago dismayed horrible gluten free foods market since found substitute foods acceptable bisquick gluten free pancake baking mix one use every sunday make either pancakes waffles recommend mix whole heartedly \n", "실제 요약문 : love this product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : food get pet store delivered door price slightly less \n", "실제 요약문 : so convenient \n", "예측 요약문 : great\n", "\n", "\n", "원문 : organic loaded calories fat protein baby food meat picky little one happily eat found groceries carry near home ordering case amazon free day shipping rocks \n", "실제 요약문 : the best for picky \n", "예측 요약문 : great\n", "\n", "\n", "원문 : product stinks mildly stated caps snap easily apply much pressure cup part end ground coffee everywhere threw whole order trash called day using produced cups point \n", "실제 요약문 : do not waste your money \n", "예측 요약문 : great\n", "\n", "\n", "원문 : planted grass days inches grass price hurts since basically paying shipping cost seeds shown package could find oat grass seeds local independent garden center hoping find somewhere local buy buy seeds future without pay premium wait ship \n", "실제 요약문 : excellent \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : wonderful dinner fresh fluke fried batter batter fried perfectly crisp delicious beautiful low carb fish foods pan bread flour used flour make batter low carb beer salt little smoked paprika absolute really believe low carb test blood sugar levels report back minutes \n", "실제 요약문 : you will not believe it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sodium sugar tomato sauces plus eat white pasta boot salsa eat rice beans trust buy sauces around meals get salsa plan meals around arrived day two bottles shiny fresh afraid warehouse dust old stock vendor really well \n", "실제 요약문 : hope they go free or organic certified \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wish bad reviews artificial sweetener taste awful gave two stars husband seem mind cannot drink even bargain \n", "실제 요약문 : should have to other bad reviews \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : love gum difficult find hooked cinnamon extra went away item available world needs cinnamon lovers \n", "실제 요약문 : love this gum \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looks fresh clean roasted toaster oven also use food whole ground coffee grinder \n", "실제 요약문 : good stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love milk organic milk horizon favorite little great go opened long opened great go packing trip \n", "실제 요약문 : plain organic milk \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pancake mix go buttermilk fridge make brown buttermilk pancake recipe stonewall mix good option flavor best store bought mix far might cost really superior prepared mixes \n", "실제 요약문 : great from \n", "예측 요약문 : great\n", "\n", "\n", "원문 : threw away week could get clear plastic cover without spilling water half time could get works long herbs need \n", "실제 요약문 : this just does not do the job \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : great value buy subscribe save item love automatically comes great taste really good making think bought high quality product child \n", "실제 요약문 : my child loves this food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : flavor horrible many flavors much better hawaiian hazelnut great breakfast bed awesome \n", "실제 요약문 : not good at all \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cookies yummy well priced recommend cookies like mrs chips ahoy soft baked oreos cookies \n", "실제 요약문 : one of my favorite cookies \n", "예측 요약문 : great\n", "\n", "\n", "원문 : limited cannot eat use salad dressing pleased find bulk great price good taste \n", "실제 요약문 : good price good product \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : guess reason ingredient section page mention first ingredient trans fat know would purchased consumers need dollars avoid buying items manufacturer using cheap unhealthy ingredients \n", "실제 요약문 : first ingredient is trans fat \n", "예측 요약문 : great\n", "\n", "\n", "원문 : found muffin dry disappointing cut put bowl yogurt ok would order flavor \n", "실제 요약문 : not corn muffin for \n", "예측 요약문 : great\n", "\n", "\n", "원문 : giant schnauzer food changed blue buffalo lamb rice allergies food works \n", "실제 요약문 : excellent food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good buy variety still close enough worry baby like next one \n", "실제 요약문 : good buy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : everything would want hot chocolate creamy milky tasty makes happy cannot wait try flavors \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great sauce used many jamaican restaurants help heat jerk seasoning use jerk seasoning make jerk pour later jerk rice \n", "실제 요약문 : tasty \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cup gf bisquick cup soy almond milk cup favorite fruit bake quick delicious cobbler gluten free bisquick quite fluffy crumbly original definitely worth gf crowd \n", "실제 요약문 : great for \n", "예측 요약문 : great\n", "\n", "\n", "원문 : surprised much raspberry flavor coffee coffee nice aroma chocolate flavor get flavor \n", "실제 요약문 : chocolate raspberry flavor \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love contents two eight containers badly dented jan \n", "실제 요약문 : dented but good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried brands french vanilla coffee best highly recommend \n", "실제 요약문 : best of the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : never really intended use professional setting noise issue big deal wanted simple device could fit backpack interface laptop music recordings price paid cheap plastic construction leaves much desired overall recommend product current price sold dollars sure still ok product \n", "실제 요약문 : bit and made \n", "예측 요약문 : great\n", "\n", "\n", "원문 : always liked bars fennel even tastier great gluten free cane sugar treat health conscious also get little protein boot mm mm \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : without doubt worst tasting hot chocolate ever best way describe taste stuff really cheap free instant hot chocolate swiss miss instant way better cost less cups threw rest garbage canceled subscribe save \n", "실제 요약문 : worst hot chocolate ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : snacks almond pops cranberries oz value celiac disease shopping picked bag snacks gluten free yummy found amazon ordered bags saving trip south winter absolutely best \n", "실제 요약문 : snacks gluten free \n", "예측 요약문 : great\n", "\n", "\n", "원문 : twizzlers brand licorice much better well known brand get package free good deal black cherry good taste strawberry taste delicate barely \n", "실제 요약문 : good licorice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : buy local grocery store amazon com absolutely lovely light crisp like actually fairly healthy topped anything sweet savory great midnight snacks afternoon snacks crumbled tomato soup lunch dinner wish would make flavors would beat diet snacks ever seen \n", "실제 요약문 : tasty crisps \n", "예측 요약문 : great\n", "\n", "\n", "원문 : stuff works warned effect last long people still amazing friend tried eating lemon slice amazing effect started slightly middle \n", "실제 요약문 : awsome \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cups marginally better good coffee buy store price less product offered willing purchase immediately went really worth certainly worth increase additionally deal offering instant coffee cups leaving us think good deal real coffee want lose trust good way \n", "실제 요약문 : wolfgang cup \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great product comforting owners natural products preservatives gave dog transition took couple days get used loves dog quite picky food likes junk food better rather wholesome food treats used newman gives good bowl movement always plus \n", "실제 요약문 : very good natural dog food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : definitely girl alcoholic different flavors use wine choose package directions entire blender slush found using tablespoon two time makes enough one person good stuff found anyone like product \n", "실제 요약문 : wine \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really enjoyed drink tangerine present makes tasty drink natural sugar added carbonation makes bit like soda lighter healthier one enjoyed would definitely recommend others excellent alternative regular soda \n", "실제 요약문 : very tasty natural drink \n", "예측 요약문 : great\n", "\n", "\n", "원문 : fattening good right heard least person \n", "실제 요약문 : love these cookies \n", "예측 요약문 : great\n", "\n", "\n", "원문 : actually tried drinking hot cocoa know peppermint flavor great creamer van mexican coffee ordering another box adds right amount chocolate coffee trying find coffee flavor far adding coffee worked better usually oz time run oz hot chocolate coffee try another brand kcup hot cocoa good brand \n", "실제 요약문 : great as creamer or added chocolate flavoring \n", "예측 요약문 : great\n", "\n", "\n", "원문 : product great arrived mostly melted together instead individual drop pieces sure heated shipping live california get able use anyway cutting fault try remember order winter months cooler weather excellent product \n", "실제 요약문 : vitakraft dog treats \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : reason stopped selling stores worth favorite chicken \n", "실제 요약문 : awesome \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great breakfast sausages cheddar cheese sandwiches etc even though bit exotic expensive use sandwiches tends background best keep simple let stand \n", "실제 요약문 : best mustard ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great tasting tea looking good sassafras tea forever finally ordering product thanks \n", "실제 요약문 : great product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered doctor recommendation take tablespoon every day supplement supposed several omega acids also tasty salads \n", "실제 요약문 : food as medicine \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good good standard coconut water brand container smaller like taste plain one better ok \n", "실제 요약문 : plain is better \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pocky got lucky couldnt stop like chocolate crack product good sad thing shipped stored hot room chocolate melted together partially didnt take much effort take apart sticks great product great price \n", "실제 요약문 : awsome \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : think hot cocoa taste great wife thinks watery wife big swiss miss drinker knows hot cocoa sure buy cost paying cups sometimes think better buying swiss miss packets use hot water function cup machine \n", "실제 요약문 : like it but the cost \n", "예측 요약문 : great\n", "\n", "\n", "원문 : shortbread cookies delicious bought london summer hard find expensive usa \n", "실제 요약문 : cookies \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love love love muffins moist delicious like best day bake nd day dry bit wonderful pop toaster oven min warm good new complaint difficult find def worth every penny \n", "실제 요약문 : best muffins in the world \n", "예측 요약문 : great\n", "\n", "\n", "원문 : variety pack way go buying bulk month old daughter loves flavors \n", "실제 요약문 : nice variety \n", "예측 요약문 : great\n", "\n", "\n", "원문 : opening numerous bags found none chips flavoring completely plain gross even happen \n", "실제 요약문 : off \n", "예측 요약문 : great\n", "\n", "\n", "원문 : local grocery stores longer carry ketchup went internet found amazon use ketchup time everything like spicy good stuff know local grocers carry seller delivered product timely manner well \n", "실제 요약문 : love the spicy ketchup \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looking actual organic dog food newman way go purchased thinking claimed front package read ingredient list find basically everything else chicken organic drugs fed raised food animals ingredient important one organic \n", "실제 요약문 : brand name \n", "예측 요약문 : great\n", "\n", "\n", "원문 : certainly best caramels ever wish came bigger pieces finished whole box one sitting certainly buy \n", "실제 요약문 : where has this candy been \n", "예측 요약문 : great\n", "\n", "\n", "원문 : strongest tasting salt vinegar chips could still vinegar flavor think close going get without vinegar powder side side cod salt vinegar twice flavorful additionally reviewers said quite good bit potassium \n", "실제 요약문 : salty and \n", "예측 요약문 : great\n", "\n", "\n", "원문 : reading reviews got nervous opened bag recent order expecting worst worries bags great shape expiration dates june chips least first bag taste like supposed good world way bags thirty dollars ton less expensive going price around local grocery store yay team \n", "실제 요약문 : favorite kettle flavor and great value \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wow shocked find clear plastic pieces jars say notified earth best august still selling without checking earth best little guy taking business elsewhere sad organic company selling baby food plastic bpa jars gotta better get business \n", "실제 요약문 : plastic in the food \n", "예측 요약문 : baking free\n", "\n", "\n", "원문 : honestly sure many folks like coffee reviews little weak mostly rich flavor really missing something drink coffee black maybe tastes better cream sugar buying coffee drinking starbuck french roast folger black silk taste much better coffee \n", "실제 요약문 : did not like it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : mac cheese really creamy without tasting processed right amount salt good product overall \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : plan reordering definitely edible filling since added chicken \n", "실제 요약문 : for box it is okay \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sweetener great coffee ice tea makes skinny also try simple syrup love \n", "실제 요약문 : makes great \n", "예측 요약문 : great\n", "\n", "\n", "원문 : arrived nicely packaged sealed aromatic lovely tea love blend others make custom iced tea blends love oolong orange fruity black teas recommended \n", "실제 요약문 : great tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : nice citrus flavor sweet actually flat get kind fizz sparkle amount sugar calories rather would eaten piece fruit drank glass seltzer water less calories satisfying mouth got special case think purchase \n", "실제 요약문 : would not switch \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : really love kettle brand chips rather disappointing little sour cream onion flavor \n", "실제 요약문 : not very creamy or \n", "예측 요약문 : great\n", "\n", "\n", "원문 : thought might nice alternative use favorite coffee sadly disappointed leaked matter tried coffee weak machine clogged water would brew thru times cup even melted little leaving nasty taste coffee go alternative try much better results waste \n", "실제 요약문 : disappointed \n", "예측 요약문 : great\n", "\n", "\n", "원문 : would recommend good basic coffee satisfying flavor make many good cup coffee prefer drinking coffee black found produce good cup bitter even though decaffeinated coffee taste flat like many decafs \n", "실제 요약문 : good coffee nothing extraordinary though \n", "예측 요약문 : great\n", "\n", "\n", "원문 : chips good serve great snack low calories weight watcher point value \n", "실제 요약문 : pop chips \n", "예측 요약문 : great\n", "\n", "\n", "원문 : whatever reason grocery stores live longer carry product husbands absolute favorite glad still able buy product line \n", "실제 요약문 : love this product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looking morinu soft tofu silken happy found amazon com still know like well firm try little longer \n", "실제 요약문 : just what wanted \n", "예측 요약문 : great\n", "\n", "\n", "원문 : enjoy flavor use much cooking add oil home made granola cook well high well medium low heat health benefits far vegetable oil canola oils use coconut oils whenever possible flavor \n", "실제 요약문 : walnut oil \n", "예측 요약문 : great\n", "\n", "\n", "원문 : big fan avoiding corn syrup lot ingredients go processed foods beverages days beverage idea really sounded good contain bunch artificial junk still tastes pretty good could definitely drink ever favorite beverage non carbonated kind drinker anyway definitely good alternative products would like try flavors well \n", "실제 요약문 : tasty alternative to the \n", "예측 요약문 : great\n", "\n", "\n", "원문 : owned two work fine power knob though biggest problem reason never purchase another gave year one sounds like recording behind wall one developed hum go away favor find reliable option \n", "실제 요약문 : too cheap \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cats love food list companies test animals peta web site \n", "실제 요약문 : not tested on \n", "예측 요약문 : great\n", "\n", "\n", "원문 : entire family loved pancake mix easy make tasted great tried syrup powdered sugar well fresh strawberries apple would definately purchase problem family wants every weekend double feed large family gets expensive quickly order often would like \n", "실제 요약문 : yum \n", "예측 요약문 : great\n", "\n", "\n", "원문 : first time used coconut oil coco pleased taste smell overall incredible quality buy recommend family friends glad tried using coconut oil several years changed life health oil ranks high book also liked ordering product amazon make fast easy thank product site amazon \n", "실제 요약문 : totally fantastic \n", "예측 요약문 : great\n", "\n", "\n", "원문 : careful even though listed gluten free section gluten free \n", "실제 요약문 : not gluten free \n", "예측 요약문 : great\n", "\n", "\n", "원문 : stuff absolutely incredible taste smooth mix water milk like vanilla tasted stuff missing get worth \n", "실제 요약문 : french vanilla cocoa wow \n", "예측 요약문 : great\n", "\n", "\n", "원문 : daughter allergic wheat refuses follow diet bought make waffles freeze every days usually get waffles box excellent \n", "실제 요약문 : great taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love caramel excited arrived disappointed hardly flavor coffee caramel \n", "실제 요약문 : caramel \n", "예측 요약문 : great\n", "\n", "\n", "원문 : purchased son give baby boy born make nice new arrival however hard actually want chew bubble gum \n", "실제 요약문 : nice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : went international market formerly th hollywood florida got pounds also pounds buffalo favorites sauce hot sauce check \n", "실제 요약문 : in \n", "예측 요약문 : great\n", "\n", "\n", "원문 : dave nuts fantastic hot spicy crunchy habit forming babies women wimpy men need order \n", "실제 요약문 : not for \n", "예측 요약문 : great\n", "\n", "\n", "원문 : use smoothies pancakes waffles even vegan burger patties notice add great consistency texture also helps agent place eggs \n", "실제 요약문 : real super food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tasted better chocolate covered coconut long ago far away dark chocolate addicting \n", "실제 요약문 : best of the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cold weather brew tea pot keep brew lemon ginger ginger lemon tea cup made base husband drink cannot get use medicinal helped great deal last winter \n", "실제 요약문 : tea that really helps \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : wrote star review kiwi berry flavor usually favorite flavor anything surprisingly good orange tangerine would generally among first picks fruit flavored beverages flat comparison literally seemed lack right amount carbonation also tastes weaker sweet try kiwi berry instead \n", "실제 요약문 : recommend other flavors instead \n", "예측 요약문 : great\n", "\n", "\n", "원문 : favorite home like ones sea salt also like barbeque flavored chips cut plain slice potatoes thick crunchy great texture mouth also great taste sea salt ones favorite enough salt salt much feel like drink gallon water chips enjoy \n", "실제 요약문 : love kettle chips \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like coffee much better instant keep packs desk long afternoons also started carrying go camping go another cup instant coffee jar happy \n", "실제 요약문 : good coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : switched half year old food awesome switched problems old food cut gas easy stomach also tastes good eat without wet food mixed wish found food years ago great switch puppy time also affordable \n", "실제 요약문 : great dog food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried different cup flavors favorite wonderful aroma right amount hazelnut use subscribe option deal cannot beat \n", "실제 요약문 : very nice taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : product received advertised twizzlers strawberry ounce bags \n", "실제 요약문 : twizzlers strawberry \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like darker roast coffees fits bill every bit good typically costs guess wants cut catch sale buy \n", "실제 요약문 : excellent brew \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love flavor cups count box melted would heat filling husband used two ones affected returning certainly wish quality control caught affected cups fit space keurig \n", "실제 요약문 : cups and \n", "예측 요약문 : great\n", "\n", "\n", "원문 : use product daily provides steady stream energy get crash also helps portion control acts slight appetite \n", "실제 요약문 : great energy drink without artificial ingredients \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordering nuts years quality good given first jar gave son law first christmas spent together opened comment really best nuts ever enjoy \n", "실제 요약문 : best nuts ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good deal flavor often carried stores honey berry flaver good thing things nature yum \n", "실제 요약문 : drops \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good quality oats package came time oats worked well recipes admit single person bought oats boyfriend breakfast food lasted us year otherwise excellent buy \n", "실제 요약문 : loved the oats \n", "예측 요약문 : great\n", "\n", "\n", "원문 : make sour stuff sweet bit sometimes gives odd flavor great novelty item \n", "실제 요약문 : eh \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love crunch taste corn strips whole family loves \n", "실제 요약문 : love love love \n", "예측 요약문 : great\n", "\n", "\n", "원문 : used product cake wedding cake made worked well happy got non stop compliments \n", "실제 요약문 : awesome product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great coffee nice bold taste medium roast coffee new favorite give \n", "실제 요약문 : excellent coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : choose favorites sea salt vinegar followed salt pepper original flavor least favorite probably spoiled flavor others offer tasty chips healthier alternative regular chips without flavor fact taste better regular chips would highly recommend product really nice product \n", "실제 요약문 : watch out they are addictive \n", "예측 요약문 : great\n", "\n", "\n", "원문 : guess everyone taste buds different product work every food item tasted \n", "실제 요약문 : mberry did not work for me \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best grapefruit soda market cost good shipping expensive still buy every special occasion \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : chips really good taste better name brands cheaper salty like brands flavors blend really well right amount sour cream onion flavor little salt mixed start eating hard stop definitely buying potato chips rather another name brand sure state name brand \n", "실제 요약문 : these are good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good favorite newman organics adult dog food formula pound bag buy dogs taste wild salmon great stuff buy amazon less fillers better meals \n", "실제 요약문 : good but not my favorite \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered dad fathers day ate whole box within two days said tasted really good want order haha \n", "실제 요약문 : really liked these \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great flavor texture may best jerky price could find better comes different flavors bound one like wish shelf life longer would love keep emergency food water \n", "실제 요약문 : great flavor wish it had longer shelf life \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bag skittles really worth comes load skittles filled top bag skittles favorite candy order lb time enough share still lot left \n", "실제 요약문 : love skittles this bag was full \n", "예측 요약문 : great\n", "\n", "\n", "원문 : perfect size snack bag school minus one star glue also wrapper boxes annoying \n", "실제 요약문 : perfect for snack bag \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cat eat food know waste money looking something cheap guess get pay \n", "실제 요약문 : my cat it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wife switched dogs food months ago virtually gone daily week dogs hardly shed anymore brushing needed coats soft shiny used grain free foods previously liked one definitely best tried pricey able feed using foods still maintain weight food well worth price dogs love \n", "실제 요약문 : no more \n", "예측 요약문 : great\n", "\n", "\n", "원문 : dop certified means nothing significant go step little write department certified real dop tomatoes much better \n", "실제 요약문 : not dop \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love product gluten free products come long way easy use great breakfast baking needs \n", "실제 요약문 : love it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tea awesome keep stirring sits long taste great little prep time keeps going day \n", "실제 요약문 : great tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wonderful ingredients list peas whole mush several cats eat around cats prefer regular formula little cheaper \n", "실제 요약문 : great ingredients but \n", "예측 요약문 : great\n", "\n", "\n", "원문 : read reviews buying still reasons got buy happy purchase delivery prompt quantity correct bucks savings buy retail shop \n", "실제 요약문 : very happy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hot chocolate tastes like hot sugar water pinch coco although even sugary taste weak flavor artificial sweetener sucralose consistency watery bland made oz cup directed directions box recommend product \n", "실제 요약문 : tastes like hot sugar water \n", "예측 요약문 : great\n", "\n", "\n", "원문 : got product used buy chia water cafe sell one bottle like little bag make least hundred bottles much great saving make bottle chia water add agave syrup stevia slowly drink throughout day seeds many benefits love smooth sensation tongue fun water buying using weeks bag still almost fool \n", "실제 요약문 : what an amazing product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : far best peppered country gravy mix buy tried also add sausage sausage gravy chicken broth chicken awesome creamy chicken gravy turkey ham etc nothing compares sm mixes unless make scratch good \n", "실제 요약문 : only the best country gravy ever \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : great taste great ingredients great texture absolutely delicious little smaller may still hungry meal give one year old son breakfast still little hungry either taste good wants \n", "실제 요약문 : highly \n", "예측 요약문 : great\n", "\n", "\n", "원문 : toss soups bit hot water add salads salad dressings add nice somewhat meaty flavor almost dish \n", "실제 요약문 : nice to have in the \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : cannot tell many made thanksgiving christmas fast convenient delicious got rave reviews thanks \n", "실제 요약문 : so good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered smoke paprika unfortunately received regular sweet called gentleman promised send smoke paprika apologized mistake made today still received anything heard company disappointed \n", "실제 요약문 : very disappointed \n", "예측 요약문 : great\n", "\n", "\n", "원문 : dog likes iams savory sauce helps eat appetite good \n", "실제 요약문 : my dog really likes sauce \n", "예측 요약문 : great\n", "\n", "\n", "원문 : taste good kind like cherry koolaid organic ingredients make bit healthier koolaid better \n", "실제 요약문 : tasty treats on the \n", "예측 요약문 : great\n", "\n", "\n", "원문 : flavors really good crackers get bit slimy chew bother great low carb snack \n", "실제 요약문 : tasty buy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : buy flours bob red mill pack boxes bags boxes size makes easier store good flour bag good size baking small family also good shape stand counter scoop flour \n", "실제 요약문 : good flour for gluten free baking \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love mints melt mouth taste better others tried wish expensive cannot eat one couple delicious \n", "실제 요약문 : the best mint \n", "예측 요약문 : great\n", "\n", "\n", "원문 : candy machine works fine finger hole small adult fingers retrieve candy lover small amount \n", "실제 요약문 : great little \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looking candy year used enjoy young kid back say yummy \n", "실제 요약문 : yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really like product grocery stopped carrying ordered mail quick bread cake requires cream style corn result moist good corn flavor bake muffin cupcake papers dozen small makes good sized muffins also bake longer package seem like things done many people store well plastic bag refrigerator eaten end meal \n", "실제 요약문 : really good gluten free \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like reasonably priced organic dog food readily available switched brand feeding dogs years began upset tummy senior however neither dogs crazy eventually eat took lot tummy problems clear \n", "실제 요약문 : good and bad \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great candy family loved smaller imagined thought expensive small however germany get easier shipping usa makes great product fun usa family receive \n", "실제 요약문 : great candy my family loved it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hard find wintergreen smalls sugar free stores red smalls peppermint common flavor wintergreen refreshing absolutely delicious driving cross country someone cuts turn daughter hand say wintergreen one puts hand right world \n", "실제 요약문 : me \n", "예측 요약문 : great\n", "\n", "\n", "원문 : seriously great orange drink par orangina without super crazy sweet purchased frequently since first taste vine program also goes great vodka \n", "실제 요약문 : great orange \n", "예측 요약문 : great\n", "\n", "\n", "원문 : things nothing like oreos think wow oreos think would say spend money something better honest view thin crisps cookies little flavor communion wafer milk bones \n", "실제 요약문 : with \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : stay together better round ones crumble terribly good alone favorite raw sesame butter well packaged keeps getting broken also package opened fresh thanks great product amazon \n", "실제 요약문 : great little rice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cats thrive extremely well dry cat food definitely much less hair ball throw ups fur great fit weight vendor ships extremely fast one top amazon book \n", "실제 요약문 : cat food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pleased dog food good coat good movements harmony farms much better food others picky eater add chicken eat stick harmony farms also like bag helps keep food fresh \n", "실제 요약문 : good dog food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wanted post found small bits plastic food feeding month old plastic food baby food please careful buy considering daughter loves food actually favorite first time noticed plastic months \n", "실제 요약문 : beware of plastic in the food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : whats say fantastic chocolate chip cookie thing could improved offered box would run fast hope go way \n", "실제 요약문 : hey \n", "예측 요약문 : great\n", "\n", "\n", "원문 : even kids like always asking hot cocoa sweet chocolaty super high sugar calories great little treat enjoy \n", "실제 요약문 : yummy dark chocolate \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered bags today paid little pounds bag free via amazon prime membership plain candy could bags may find differently bags sealed none candy broken crushed fresh expire best used date july long shelf life also sent couple bags senior parents love chocolate found helpful please yes box \n", "실제 요약문 : great if the price is right \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : never prepared anything disgusting taste mix sour milk cardboard smell bad take trash whole room beginning smell bake often know kitchen error picky could stop gagging would recommend pamela brownies add extra dark chocolate delicious brownie bite cookies even make super healthy use instead oil \n", "실제 요약문 : could not stop \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like bisquick works great variety uses wish came bigger box recipes good box though \n", "실제 요약문 : bisquick \n", "예측 요약문 : great\n", "\n", "\n", "원문 : got family member part football themed gift like basket reused pasta know good know items taste \n", "실제 요약문 : great for who have everything \n", "예측 요약문 : great\n", "\n", "\n", "원문 : took yesterday almost next day laying bed skin feels cannot sleep feel like super level power red could blast window wanted maybe \n", "실제 요약문 : super drink \n", "예측 요약문 : great\n", "\n", "\n", "원문 : chews tasty chewy price excellent get plenty around share family great treat little kids plus good added junk licorice great buy great taste \n", "실제 요약문 : excellent tasty chewy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looked bought tried several different types brewing cups cost quality best make ahead time using preferred brand coffee definitely keep stock house \n", "실제 요약문 : exactly what needed \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love anything onions certainly great product wonderfull flavor sweet tangy delicious many things tried plain chicken even trying pork weekend great price hope always available amazon \n", "실제 요약문 : absolutely delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love cereal purchased product everything great cereal good jan course family already eaten cereal gone like two weeks eat snack anything would recommend buying cereal \n", "실제 요약문 : great \n", "예측 요약문 : great\n", "\n", "\n", "원문 : use recipes calling brown sugar per instructions package use one half amount called recipe recipe states one cup brown sugar use one half cup splenda brown sugar blend diabetic many family members great substitute real brown sugar even though contain part splenda part real brown sugar \n", "실제 요약문 : great low calorie sweetner \n", "예측 요약문 : great\n", "\n", "\n", "원문 : izze fantastic tried three days ago anywhere without bottle since could quite possibly world perfect beverage nothing artificial ingredients pronounce taste cannot beat slightly tart slightly sweet light bubbly drink experienced everyone least \n", "실제 요약문 : amazing this is one delicious drink \n", "예측 요약문 : great\n", "\n", "\n", "원문 : man best health eat pumpkin seeds bob red mill best grown good old usa others china enough said \n", "실제 요약문 : good \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : premium ghiradelli chocolate mixed hit coffee makes great drink gotten add heaping spoonful starbucks coffee every morning gives extra coffee flavor chocolate ghiradelli far mocha chocolate get stands \n", "실제 요약문 : this stuff is the greatest \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really good quality tea much superior twinings tea plastic paper bag much superior tins keep excess air important tea tins look nice hold much air reseal like plastic zip seal \n", "실제 요약문 : great \n", "예측 요약문 : great\n", "\n", "\n", "원문 : local grocer regular price expected fair market price placed order research extremely disappointed find live learn hope save someone else trouble make return \n", "실제 요약문 : rip off \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great price cat loves food years vet says cat \n", "실제 요약문 : my cat loves this food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : worked couple different types wilton ice must say sorry wilton terrible fondant terrible anyway great soft stays soft tasty easy work always tub run main fondant looking starter fondant great enjoy \n", "실제 요약문 : great fondant \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hooked wonderful highly recommended taste flavor price tried different teas different restaurants tea love one home use nearly every day trying teas future \n", "실제 요약문 : love this tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really good coffee good enough make buy burr grinder grind fineness like without watch old one always liked peaberry generally speaking one really really nice peaberry full flavor low acid smooth kinda luscious actually reason go five stars better peaberry nowhere near price hope price stays \n", "실제 요약문 : four stars \n", "예측 요약문 : great\n", "\n", "\n", "원문 : minutes feel alot reminded smoking certain item younger tastes great boot \n", "실제 요약문 : going into koma \n", "예측 요약문 : great\n", "\n", "\n", "원문 : chips tasty low calorie gluten free great option go snack love \n", "실제 요약문 : great snack \n", "예측 요약문 : great\n", "\n", "\n", "원문 : excited get whole wheat pizza dough ordering got two days later directions easy follow taste crust phenomenal toppings added pizza shrimp chicken cherry tomatoes mexican cheese blend turkey canadian bacon pizza turned great weight watcher point plus value per slice better alternative leading pizzas \n", "실제 요약문 : the best pizza have ever had \n", "예측 요약문 : great\n", "\n", "\n", "원문 : newman products used home years newman adult dog food felt confident giving food two love one seconds really many companies dog foods felt newman company organic would reliable keeps worrying much pour bowl food \n", "실제 요약문 : top of the product \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : everyone house even mother law enjoyed drink tastes much like quality soda made real juice small cans mean consume lot calories although healthier regular soda drink much still lot sugar \n", "실제 요약문 : very popular at my house \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered raisins multiple times always great arrive timely cannot go back store bought chocolate covered raisins love product \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : got warehouse deal expecting much however advised get regular donut shop instead receive half box decaf love flavors though ok think hard getting another variety pack \n", "실제 요약문 : of the were decaf disapointed \n", "예측 요약문 : great\n", "\n", "\n", "원문 : became mustard really enjoyed reason purchasing great find liked much one bought europe \n", "실제 요약문 : super mustard \n", "예측 요약문 : great\n", "\n", "\n", "원문 : children wheat gluten soy dairy eggs hard find products use pancakes pizza crust cakes basically use place flour nice able buy bisquick grocery stores however much cheaper amazon \n", "실제 요약문 : finally \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : early age beagle picky eating crushing little freeze dried chicken liver food gave incentive eat become part routine \n", "실제 요약문 : picky eater \n", "예측 요약문 : great\n", "\n", "\n", "원문 : earths best eats one little thicker original chicken sweet potato favorite runny \n", "실제 요약문 : baby likes this one \n", "예측 요약문 : great\n", "\n", "\n", "원문 : says tastes great great snack diabetes good source vitamins great shipping second order \n", "실제 요약문 : great for diabetic husband \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love cups hated paying much beloved keurig coffees cups work great convenient easy use use whatever coffee choose \n", "실제 요약문 : love disposakups \n", "예측 요약문 : great\n", "\n", "\n", "원문 : healthier snack sure salty salt way make chips taste better without additional calories bag calories sodium intake day chips bad would get flavoring comes salt \n", "실제 요약문 : tasty but salty \n", "예측 요약문 : great\n", "\n", "\n", "원문 : miss better unfortunately less widely available sure tough right word noticeable difference two brands miss better imho \n", "실제 요약문 : ok but miss are better \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bought pack could try cup store almost cup overall ok good need run hot water flush use potential residue drain area \n", "실제 요약문 : ok product good for price \n", "예측 요약문 : great\n", "\n", "\n", "원문 : enjoyed soup flavorful nice blend spices buy \n", "실제 요약문 : healthy choice chicken tortilla style soup \n", "예측 요약문 : great\n", "\n", "\n", "원문 : took get used chips pretty good healthy sure eaten family friends \n", "실제 요약문 : pretty good tasting chip \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good close home made hurry really appreciate hand \n", "실제 요약문 : easy sour and potatoes \n", "예측 요약문 : great\n", "\n", "\n", "원문 : enjoy taste peanut noodles rock flavor mm decided try um ginger much nothing really noodle flavor ginger bit overpowering take review stride though ginger lover may right bit outside though \n", "실제 요약문 : not so much \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tasty perfect size snack reliable availability shipping time \n", "실제 요약문 : delish \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great price excellent chip cents ounce bag bargain well tasty chip everyone let try impressed commented good taste yet find kettle chip disappointed \n", "실제 요약문 : tasty \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looking organic food pet food newman dry foods cats dogs manufactured us per veterinarian newman front ingredients organic food affordable also great keeping skin issues control lastly newman listed responsible pet food company several websites \n", "실제 요약문 : quality pet food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : crisp crunchy thin low sodium usually prefer mine plain shared package friend enjoyed tuna salad topping great alternative expensive styrofoam varieties sold stores excellent product rice cakes brand also wonderful salt diet sodium \n", "실제 요약문 : great light cracker substitute \n", "예측 요약문 : great\n", "\n", "\n", "원문 : experience light golden color smells like would expect peach smell taste hints white grape juice though grape tastes time especially tongue foam slightly drier average juice hint bitterness probably carbonation like yes though much offering pomegranate apple wife like much \n", "실제 요약문 : good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : italian lived italy years used buy cookies everyday breakfast italian espresso could find anywhere bay area great \n", "실제 요약문 : great cookies \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sent two friend thank big fan thrilled get cinnamon chocolate babka said delicious \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : plug play preferred software worked great months stopped working drop stopped working buy product want work great three months totally dissapointed \n", "실제 요약문 : worked great then \n", "예측 요약문 : great\n", "\n", "\n", "원문 : plant arrived quickly packaged well almost well cause anxious see took bit time first day want eat stress shipping eating bugs give everybody love \n", "실제 요약문 : love my plant \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great snack dog food allergies chicken pound loves chew rawhide given highly recommend dog especially one food allergies \n", "실제 요약문 : my them \n", "예측 요약문 : great\n", "\n", "\n", "원문 : together many customers tassimo starbucks ended coffee verona since time tried various alternatives limited degrees success reading previous review sent supply test love point giving tassimo machine away great start new year \n", "실제 요약문 : this is the replacement \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cute product use place sprinkles bright colors candy coating look great chocolate center keeps overly sweet however price roughly double pay plus get product oz bag amazon amazon com products candy coated sr home garden sr comes prime shipping \n", "실제 요약문 : good product better price elsewhere \n", "예측 요약문 : best\n", "\n", "\n", "원문 : lived omaha fell love pears coffee thrilled find amazon price really comparison tried flavors always end going back direct ship every three months amazon try better grocery store options less expensive \n", "실제 요약문 : omaha coffee in \n", "예측 요약문 : great\n", "\n", "\n", "원문 : used harmony valley hamburger substitute several times happy spiced tastes pretty close mixture used sauce stuff peppers cannot tell hamburger meat thrilled performance ease use cannot wait try recipes \n", "실제 요약문 : delicious meat substitute \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : impressed mr puck different blends one favorite lives medium roast name full bodied acidic smells great brewing buy \n", "실제 요약문 : very good cup of coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : stores carrying product thank goodness still get genisoy soy crisps deep sea salted ounce bags \n", "실제 요약문 : too good to be healthy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : blend ingredients great good balance dried fruit nuts family enjoys trouble finding local stores shop thought would shop online happy find unhappy much costs order online local store think order online simply keep eyes open shop locally \n", "실제 요약문 : great product but expensive \n", "예측 요약문 : great\n", "\n", "\n", "원문 : trying curb wasa crisp light big help especially need something crisp continue order product thanks amazon selling tasty cracker \n", "실제 요약문 : nice cracker for those low carb \n", "예측 요약문 : great\n", "\n", "\n", "원문 : title says great flavor hint spice excellent crunch eat kettle chips truck load house like flavors one far away favorite never enough bags get us next shipment wish amazon could get larger bags subscribe save buy make sure enough everyone otherwise may get enough \n", "실제 요약문 : best chips ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered product good price deal amazon shipped absolutely problems however taste product horrendous tasted someone chemicals cup told brew personally go back buying swiss miss using keurig give hot water cheaper much better tasting \n", "실제 요약문 : bad taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great deal arrived damage taste best tried brands really got fed taste right one eat right bottle enjoy tastes good happy purchase price great also \n", "실제 요약문 : the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : many hot cocoa cups must say one best far green mountain one half half bitter aftertaste grove square pleasant close get without actually using milk \n", "실제 요약문 : the best hot cocoa in cup \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looking snacks buy bulk school lunches fit bill perfectly helped year old loves chips ahoy convenience alone great purchase since free shipping amazon prime \n", "실제 요약문 : great for \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really liked drink provides pleasure carbonated beverage without sickly sweet sticky feeling drinking soda leaves behind despite containing apple grape juice tastes mainly like orange tangerine advertises looking carbonated juice would definitely suggest drinking \n", "실제 요약문 : great alternative to soda \n", "예측 요약문 : great\n", "\n", "\n", "원문 : truffles excellent package arrived record speed standard shipping pleased truffles experience company ordering \n", "실제 요약문 : excellent \n", "예측 요약문 : great\n", "\n", "\n", "원문 : son severe allergies item loves convenience feel good giving taste great \n", "실제 요약문 : my child loves them \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bought several canned dog food products found good quality product looks like stew processed meat smells better labrador finicky product better \n", "실제 요약문 : good quality dog food \n", "예측 요약문 : great\n", "\n", "\n", "원문 : family lucky enough get product several years ago friend daughter eat pancake mix everyone fix thinks outstanding \n", "실제 요약문 : best pancakes ever \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : love tea smooth taste bitter like kind tea agree string seems come apart easily live big deal quality tea makes \n", "실제 요약문 : fine quality tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : one best hot dogs made widely available citymade must think people gonna sale hot dogs crazy price granted package still stupid price \n", "실제 요약문 : great hot dog price \n", "예측 요약문 : great\n", "\n", "\n", "원문 : used like product learned made china many horror stories need hear lead baby toys made china baby formula made china tooth paste made china pet food learn comes china go mouth baby mouth pet mouth \n", "실제 요약문 : this product is made in china \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ive heard mixed reviews yeah feels cheap take care like would anything like sounds perfect use record vocals logic studio ive problems im super happy purchase well worth money \n", "실제 요약문 : way better than thought \n", "예측 요약문 : great\n", "\n", "\n", "원문 : item fast exactly ordered excellent shape safe shipping came back shop thanks \n", "실제 요약문 : excellent item and service \n", "예측 요약문 : great\n", "\n", "\n", "원문 : excellent quality flaxseeds toasted little pan even made great snack also powdered coffee grinder toasting little powder delicious delicious nutritious awesome planning cereal maybe sprinkle veggies think also try bob quinoa \n", "실제 요약문 : excellent quality \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tall advertised kept like alot shining star bonsai collection stunning like forest kitchen months thriving \n", "실제 요약문 : great tree \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great tasting one best ever problem high shipping costs \n", "실제 요약문 : great taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : reminded much enjoy indian pickle basically good pickle problems seemed bit stale fairly remind really like indian pickle told could get internet around bit found place another chicago closer instead coming texas came solved problem prices seemed amazon prices thank amazon reminding look \n", "실제 요약문 : chili \n", "예측 요약문 : great\n", "\n", "\n", "원문 : rotate newmans nature balance organic dog food dog eat three cannot say better main reason purchase brand charity profits goes way supporting companies give back \n", "실제 요약문 : great product and great \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried vanilla cake mix pizza crust mix medicinal bitter taste even smelled strange threw items away \n", "실제 요약문 : strange flavor \n", "예측 요약문 : great\n", "\n", "\n", "원문 : shipped great shape gave son one uses coffee really likes disposable cups guess still send coffee beans every mo \n", "실제 요약문 : good stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really picky dog refuses kind biscuit type treat offered eats soft treats loves \n", "실제 요약문 : pick dog pick \n", "예측 요약문 : great\n", "\n", "\n", "원문 : course taste quite good regular brownies hello healthy said fantastic eat crap good alternatives \n", "실제 요약문 : these are \n", "예측 요약문 : great\n", "\n", "\n", "원문 : found peaberry coffee previously really interesting rich flavor us reason brand tasted flat us comparison search perfect peaberry coffee continues \n", "실제 요약문 : kind of bland \n", "예측 요약문 : great\n", "\n", "\n", "원문 : gluten allergies great shortcakes biscuits pancakes taste much regular bisquick problem comes small size would love box larger sizes \n", "실제 요약문 : gluten free bisquick \n", "예측 요약문 : great\n", "\n", "\n", "원문 : chips ahoy cookies tasty children husband would eat tried give away everyone refused \n", "실제 요약문 : cookie chips were not very tasty \n", "예측 요약문 : great\n", "\n", "\n", "원문 : lived middle east years family loves make lot best brand ever found like taste texture one mixes wonderfully ingredients found somewhere locally went buy could find much better brands find health food stores supermarkets price happens half stores charge similar amount tahini delighted find amazon \n", "실제 요약문 : best have had \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tastes great price okay received timely manner two soup packages bent hope price comes \n", "실제 요약문 : in delivery \n", "예측 요약문 : great\n", "\n", "\n", "원문 : working high end resturant resturant ran low coffee manager sent purchase yuban yuban saying best drinking yuban nearly years always found exceptionally rich columbian coffee one yuban \n", "실제 요약문 : in every way \n", "예측 요약문 : great\n", "\n", "\n", "원문 : popcorn really great enjoy taste actual popcorn like popcorn big fluffy small really great eat eat popcorn order every three months highly recommend popcorn lovers world \n", "실제 요약문 : tops in the popcorn world \n", "예측 요약문 : great\n", "\n", "\n", "원문 : go lot flavor love senseo machine customer service love ability use different flavors coffee tea everyone favorite seconds use lot french vanilla \n", "실제 요약문 : we love it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : okay cocoa really smooth little watery high hopes love dark chocolate hot cocoa reviews good finish box bought try another brand next time \n", "실제 요약문 : it is decent \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love candy ate lot kid hard find stores glad found amazon shipping fast product arrived excellent condition still flavor years try candy love coconut love \n", "실제 요약문 : awesome candy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : disappointed unpleasant flavor dry texture nana chocolate munch cookie bars odd artificial almost chemical like taste cocoa powder cannot even cover threw away entire box tasting first bar \n", "실제 요약문 : threw them away \n", "예측 요약문 : great\n", "\n", "\n", "원문 : buying product others like boxes saves lot money purchase liter packages taste great product fresh good shelf life since prime account received package days free shipping great deal like coconut water like \n", "실제 요약문 : coconut water \n", "예측 요약문 : great\n", "\n", "\n", "원문 : snappy white popcorn one best popcorn ever tried tasty every kernel pops every time \n", "실제 요약문 : great popcorn and great value \n", "예측 요약문 : great\n", "\n", "\n", "원문 : gluten free years thought done mixes tasted awful threw away like money cannot beat pamela baking mix betty crocker chocolate chips best give betty crocker work one \n", "실제 요약문 : yuck do not waste your money \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : got moist gooey fresh actually got beans came faster expected great transaction \n", "실제 요약문 : beans beans the fruit \n", "예측 요약문 : great\n", "\n", "\n", "원문 : purchased though local source four dollars pack eight sensitive msg delicious alternative salty snacks seasoning tasty thin seaweed lite crispy eat two three packs time calories per love \n", "실제 요약문 : lite and crispy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : usually make baby food easy fruits veggies puree sometimes enough time cook buy earth best baby foods baby likes fruits veggies far like one refused eat tried understood would eat either tastes nasty poor baby immediately made homemade potato asparagus puree loved would recommend flavor \n", "실제 요약문 : baby did not like it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : horses love sweet reward dots hold together nicely reward bag \n", "실제 요약문 : sweet \n", "예측 요약문 : great\n", "\n", "\n", "원문 : must love pack big bags love crunch intense curry flavor fact gluten free one original savory snacks find hard need good teeth love substantial curry flavor kind indian tasting \n", "실제 요약문 : like an indian meal in stick \n", "예측 요약문 : great\n", "\n", "\n", "원문 : thought coffee tasted fine strong enough husband several pods burst brewing probably purchase \n", "실제 요약문 : ok \n", "예측 요약문 : great\n", "\n", "\n", "원문 : definatly half heat sauce maybe weaker may good dipping sauce \n", "실제 요약문 : is \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pleased disposable cups read comments lids hard get found true first used one finger pressed center heard ready go order larger amount next time save shipping hot chocolate cups prefilled terrible filled chocolate mix good \n", "실제 요약문 : great product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cat love grass really easy grow days im going count seeds dont think seeds \n", "실제 요약문 : cat grass \n", "예측 요약문 : great\n", "\n", "\n", "원문 : quality tofu good little bit soft expected try firm version \n", "실제 요약문 : nice tofu \n", "예측 요약문 : great\n", "\n", "\n", "원문 : walker highlanders favorite purchased cookie great find pre packaged biscuits keeps fresh longer limits snacking \n", "실제 요약문 : packaged for \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : tried coffee even though significantly expensive green mountain sumatra using time wolfgang puck name sumatra dark roast market would really happy good coffee outstanding coffee compared folgers product awesome unfortunately mr puck comparing green mountain sumatra organic free trade sumatra green mountain better taste cheaper mornings good \n", "실제 요약문 : good but not premium coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : buying quaker oats granola bars nature valley chewy bars better tasting make great snack go chocolate peanuts raisins get better \n", "실제 요약문 : my new bar \n", "예측 요약문 : great\n", "\n", "\n", "원문 : son loves fruit bars smaller typical wheat fruit bars suggestion get child like first try chocolate ones son favors ones berry ones \n", "실제 요약문 : great snack \n", "예측 요약문 : great\n", "\n", "\n", "원문 : perfect size refreshing drink think proof simple best would first choice drink \n", "실제 요약문 : excellent choice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : thing keeping product five stars broken shells top bag found number half shells however got bottom realized many seeds shell seasoning salt blow seasoning may lose seeds well otherwise great eating experience \n", "실제 요약문 : good flavor and good size \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best cup around must try amazon ships quickly one piece would recommend coffee well going amazon order coffee thank great experience \n", "실제 요약문 : yum \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best halal beef jerky ever tasted also company truly gives muslim good choice buying call ask process quickly give answer unlike muslim company try consumer \n", "실제 요약문 : best and company \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great product new brand fallen love products soft one reviewer states replace pill pocket hard stores best place buy \n", "실제 요약문 : soft and yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : gave gift dad dad christmas year look great got taste loved tasty alcohol real tasting good buy \n", "실제 요약문 : great gift and is delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : recommend product delivery especially prefere cayenne ground heat units good one highly recommend \n", "실제 요약문 : excellent product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried cookies great nd trying find success realize seasonal would stocked product \n", "실제 요약문 : good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : purchased cups lids filters work exactly expected work perfectly lids cups used filters unfortunately cannot going looking future cups filters attached like regular prefilled kups good product though \n", "실제 요약문 : cups and lids and filters oh my \n", "예측 요약문 : great\n", "\n", "\n", "원문 : well bought item thought would direct japan import bought costco product bought costco half price less expiration date printed product makes think expired believe mochi dry tough shy away product \n", "실제 요약문 : not so great \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : sticks definitely look like ones picture much thinner imho worth money returned instead gave dog time keep busy stick equivalent another website \n", "실제 요약문 : sticks are compared to sticks \n", "예측 요약문 : great\n", "\n", "\n", "원문 : found cups easy use lovely way make pods favorite coffee \n", "실제 요약문 : easy to use \n", "예측 요약문 : great\n", "\n", "\n", "원문 : caribou coffees weak one delicious exception right emeril bold van dark bold coffee without tasting burned bitter \n", "실제 요약문 : wonderful dark coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : first tried tea french restaurant ran usual black tea mint surprise tea beats tea sugar needed naturally sweetened \n", "실제 요약문 : excellent tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : snacking crackers line long time someone suggested try sticks love everything love crunch texture course love taste especially curry flavor delicious also lots protein fiber make perfect snack \n", "실제 요약문 : my new favorite snack \n", "예측 요약문 : great\n", "\n", "\n", "원문 : using oz water directions state made cocoa much weak like hot water drops chocolate syrup using oz made cocoa much sweet still weak chocolate department uses sucralose sweetener gives intensely sweet flavor may problem like sweet things mind taste sucralose unfortunately one people \n", "실제 요약문 : too sweet too weak \n", "예측 요약문 : great\n", "\n", "\n", "원문 : found product discounted good price net first time drinking stuff since bought blown away awesome taste first time trying something nestle brand cocoa nice blend cocoa taste sweet like used nestle definitely giving thumbs \n", "실제 요약문 : good stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : wonderfully cinnamon definitely ordering heated tiny bit butter put top taste \n", "실제 요약문 : fantastic \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried disposable cups work great good keurig cups put mid grind coffee cups worked without problems could easier use continue use \n", "실제 요약문 : great disposable cups \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cups awesome taste different priced three times much highly recommend product \n", "실제 요약문 : great value and super yummy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : brought back trip jamaica wished bought gallon hard find well worth ordering bulk sweet spicy sauce takes back jamaica every taste attempted duplicate many times cannot seem get right ecstatic finally found source \n", "실제 요약문 : so good it could be beverage \n", "예측 요약문 : great\n", "\n", "\n", "원문 : family relatively new gluten free search baking mix replace weekend breakfasts tried several others taste gluten free know mean pamela however good cannot tell gluten free try regret \n", "실제 요약문 : the best gluten free baking mix \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : know cannot make tea good granted south know never enjoyed tea sweet without sweet tastes crisp \n", "실제 요약문 : this is the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : ordered past extremely disappointed unlike truffles know hard like huge seed truffle aroma threw contents never order \n", "실제 요약문 : extreme disappointment \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : vegetarian years meat eating husband years looking good ground beef substitute finally found one one good taste texture cooked meat eating husband even happy use one things love use make meatballs stay together past never stayed together great product happy found \n", "실제 요약문 : great substitute \n", "예측 요약문 : great\n", "\n", "\n", "원문 : dog really enjoys last long big chewer like bones wanted get something could much time time help clean teeth attracted low calorie made us get package look like food dogs really mind enough cut half kitchen small dog \n", "실제 요약문 : my dog really likes these \n", "예측 요약문 : great\n", "\n", "\n", "원문 : recently received variety packs popchips delivered work everyone loves tried one flavor delicious next flavor excellent next flavor oh goodness even better gets better better best snack recent memory \n", "실제 요약문 : popchips \n", "예측 요약문 : great\n", "\n", "\n", "원문 : olives delicious spicy year old son ate entire bag today snack packed juice moist flavorful bags small enough perfect lunch box bag calories listed consuming entire bag \n", "실제 요약문 : fantastic \n", "예측 요약문 : great\n", "\n", "\n", "원문 : lb bag oatmeal seemed like way much time went found uses many recipes make weekly running high quality oatmeal much cheaper better anything found grocery store \n", "실제 요약문 : great way to order \n", "예측 요약문 : great\n", "\n", "\n", "원문 : could give product minus stars would strong product one pesticides affecting disorder us yet ban already banned countries avoid product others containing \n", "실제 요약문 : like the contains product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : keep trying brands cheaper brands stupid ginger soooo worth money tender moist never let \n", "실제 요약문 : simply the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : two types larger suckers sold amazon got tropical ones time good regular kind ones mixture sour sweeter parts well worth money \n", "실제 요약문 : just as good as the others \n", "예측 요약문 : great\n", "\n", "\n", "원문 : favorite cereal probably years grocery stores stopped selling started buying web packs boxes use pretty fast \n", "실제 요약문 : favorite cereal \n", "예측 요약문 : great\n", "\n", "\n", "원문 : mentioned use half splenda blend regular brown sugar cool problem run need brown sugar volume half work end using regular brown sugar works like charm hardly taste difference \n", "실제 요약문 : very cool \n", "예측 요약문 : great\n", "\n", "\n", "원문 : purchased pack big ass soda got immediately like oh man gonna suck regardless quantity error though sure red everyone town absolutely loves highly recommend along soda \n", "실제 요약문 : taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : exclusively feeding son month mark came introduce solids nervous knew breastmilk best thing mix cereal really didnt want mess tried whole milk made fussy formula needed could ask anything better highly reccomended \n", "실제 요약문 : great product \n", "예측 요약문 : great\n", "\n", "\n", "원문 : singles sell store box singles sure amazon selling box singles hazelnut coffee creamer favorite truly good buy \n", "실제 요약문 : rip off price \n", "예측 요약문 : great\n", "\n", "\n", "원문 : worth wait gluten free bisquick like real thing everything tastes way remember make dumplings pancakes cheddar biscuits good \n", "실제 요약문 : just like the real thing \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hazelnut coffee favorite local stores carry live small town flavor taste coffee wonderful start every day often afternoon treat cup coffee buy highly recommend far earlier anticipated \n", "실제 요약문 : great flavor \n", "예측 요약문 : great\n", "\n", "\n", "원문 : well dog seems like much let us see someone offer free shipping \n", "실제 요약문 : want treat \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best chips ever great fat calories regular chips mention come single servings eat whole bag ok great product would highly recommend anyone \n", "실제 요약문 : popchips \n", "예측 요약문 : great\n", "\n", "\n", "원문 : find better loose green tea price able get free shipping well since bought something else tea used many japanese people fall high priced organic green teas produced american companies good getting anything better ban cha tea \n", "실제 요약문 : great price great quality \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great coffee mix godiva chocolate coffee regular medium roast treat \n", "실제 요약문 : yum \n", "예측 요약문 : great\n", "\n", "\n", "원문 : really glad find tofu amazon eat tofu daily basis one best definitely buying regular basis \n", "실제 요약문 : great tofu \n", "예측 요약문 : great\n", "\n", "\n", "원문 : black truffle oil highly recommend product price exceptional brings strong sense \n", "실제 요약문 : awesome \n", "예측 요약문 : great\n", "\n", "\n", "원문 : everything order went great hot chocolate good ordering soon \n", "실제 요약문 : hot chocolate \n", "예측 요약문 : great\n", "\n", "\n", "원문 : japanese sweet strong black coffee candy lasts long time mouth costs alot less amazon elsewhere made real caffeinated coffee little energy \n", "실제 요약문 : delicious strong black coffee candy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : found taste strength coffee right gain one go coffees keurig strong bitter rather enjoy flavor sadly recent cup staged green mountain coffees looks like amazon carrying wolfgang puck coffees longer subscribe save need go elsewhere definitely give coffee shot \n", "실제 요약문 : pleasing cup of coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : worst jerky ever tasted edible actually gave dog spit kid buy product unless bar owner want customers beers put salty fire created eat small bite crap deserve refund buying dog food oh excuse forgot even dog eat \n", "실제 요약문 : wish could give it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : natural licorice good highly recommend bought read natural licorice good upset stomach \n", "실제 요약문 : good nature licorice \n", "예측 요약문 : great\n", "\n", "\n", "원문 : big hot cocoa drinker hot cocoa would definitely recommend great cocoa flavor perfect cold fall winter days plus tastes great \n", "실제 요약문 : great cocoa \n", "예측 요약문 : great\n", "\n", "\n", "원문 : paleo six months partner found inedible four kinds sure either seems like would good ingredients something combination flavors taste good kept trying hoping would grow sure finally tossed would advise getting one local co op something buy whole bunch online sure \n", "실제 요약문 : taste just awful \n", "예측 요약문 : great\n", "\n", "\n", "원문 : looking something replenish one favorite black mixes one works quite well tastes even better keep good work \n", "실제 요약문 : best cherry chocolate that have come \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried coffee two years ago found much better brands coffee since buying gevalia coffee amazon amazon offers good price even lower gevalia online store \n", "실제 요약문 : my favorite \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tasty cacao powder arrived bag seems real deal good flavor similar better name brand powders purchased past definitely purchase \n", "실제 요약문 : super delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : learning americans omega vs omega glad find something correct without putting much effort chia taste like anything looks like mini eggs use two tablespoons chia large cup water matcha little bit crystal light fun drink seeds like tomato seeds \n", "실제 요약문 : great seeds \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bought christmas gave away gifts get bunch boxes love bacon lot uses made sour cream chip dip cheese balls added potatoes mac cheese sprinkled baked potatoes place bacon bits dream bacon flavor powering subtle delicious taste love products trying different varieties sure \n", "실제 요약문 : you get lot but has lot of \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hour power ingredients pretty much hour energy obviously effect pretty much yet cost cost nearest store great savings even need couple times week taste tangy addictive hour energy berry flavor bit bland comparison still nowhere close bad \n", "실제 요약문 : great substitute for hour energy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great stuff made really tasty banana bread good quality lowest price town \n", "실제 요약문 : bean flour \n", "예측 요약문 : great\n", "\n", "\n", "원문 : purchased item bake low carb cookies diabetic friend works well however find another brown sugar alternative calorie free options worked well cookies \n", "실제 요약문 : good alternative \n", "예측 요약문 : great\n", "\n", "\n", "원문 : know herb tasty great combination like licorice flavors tea great great benefits licorice root without tasting really help symptoms drinking worked great well cannot beat shipping price amazon \n", "실제 요약문 : delicious \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bought girlfriend happens live california loved chocolates came fresh packaging beautiful hand written card name hand written front card extra care taken whole process definitely buy could rate higher would sent refund shipping girlfriend lived nearby never honest company pretty cool \n", "실제 요약문 : great chocolates \n", "예측 요약문 : great\n", "\n", "\n", "원문 : riding hit wall legs gas eat pack chews within minutes feel relief energy never go ride without oh yeah taste pretty good \n", "실제 요약문 : honey chews make the difference \n", "예측 요약문 : great\n", "\n", "\n", "원문 : actually better expected paid less cents usually use packet mix hot water brewer much easier taste comparable particular may like something quick sweet chocolate flavored warm around cents worth try would buy regular price ask \n", "실제 요약문 : very good for the price \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : month old puppy loves would anything get one love ingredients knowing giving dog something good bag days still soft ever great treats kinds smell mean delicious dog right \n", "실제 요약문 : yummy treats \n", "예측 요약문 : great\n", "\n", "\n", "원문 : exactly looking bake works great yum \n", "실제 요약문 : perfect \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sinus buster tea interesting aroma seeping taste acquired least say like burnt really coffee sinuses drinking one cup tea next morning could feel relief pressure pain would prefer product inhaled sinus relief agent plus ingredients tea package english nothing unknown \n", "실제 요약문 : interesting taste slow of sinus \n", "예측 요약문 : great\n", "\n", "\n", "원문 : use product every time shower great usually get horribly dry skin winter along dove keeps skin soft smooth smell good overwhelming get alot product bottle huge comparable department store body except lot affordable \n", "실제 요약문 : skin great smell \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pleased got vanilla beans shipped timely manner arrived sealed mix plump beans thin happy purchase \n", "실제 요약문 : great buy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love snack wanted buy bunch shipping amazon price snack try ordering dozen look shipping price every link tried snack takes back amazon shipping rates another reason buy books com back carry food well \n", "실제 요약문 : amazon \n", "예측 요약문 : great\n", "\n", "\n", "원문 : made bean soup modifications added carrots onions celery potatoes however adjust seasoning bland soup excellent also gave women bean soups dips salsas extended family christmas everyone loved gift shopping felt like helping really need help \n", "실제 요약문 : well \n", "예측 요약문 : great\n", "\n", "\n", "원문 : loving coffee smooth bold bold reminds starbucks coffee bitter good cup coffee give try really glad \n", "실제 요약문 : my new favorite kcup \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good texture crunchy sharp flavor taste like potato chips opened bag would suspect stale taste many others odd flavor well healthy good dieting suppose low oil low buying \n", "실제 요약문 : healthy texture good flavor strange \n", "예측 요약문 : great\n", "\n", "\n", "원문 : weak blend slightly bitter aftertaste noticeably light brew brewing purchase fact regret purchase even oz brew still really weak taste \n", "실제 요약문 : very weak \n", "예측 요약문 : great\n", "\n", "\n", "원문 : kids enjoy goat milk product cereal use cooking well although tried many goat milk products one easy since make need therefore little waste also easy pack take traveling overall recommend product \n", "실제 요약문 : nice alternative to milk \n", "예측 요약문 : great\n", "\n", "\n", "원문 : bought experiment try camping trip adding hot water instant coffee taste soon gone left real good cup coffee expensive budget regular item definitely include future camping trips driving trips stays cheap \n", "실제 요약문 : pricey but good \n", "예측 요약문 : great\n", "\n", "\n", "원문 : pros extremely fragrant full bodied steeped twice nice air tight container tea blue flower earl grey black tea best earl grey ever tasted would recommend anyone tea blue flower earl grey black tea loose leaf ounce tins \n", "실제 요약문 : best earl grey ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : regular coffee description would lead believe artificially flavored appears ratings either love flavor hate household hated course would problem description amazon refunded money said someone would check information product page \n", "실제 요약문 : this is flavored coffee \n", "예측 요약문 : great\n", "\n", "\n", "원문 : superb tasting drink used turn medicinal purposes effects thought effects still popular drink mixed properly dissolving sugar spoon mixing vodka named drink somewhat character played movie hell based upon jack \n", "실제 요약문 : the drink of choice from \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : love pop rather small pops size tootsie pop come many flavors think bag great long run think halloween \n", "실제 요약문 : love candy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : good iced tea hard find locally fall winter \n", "실제 요약문 : good tea \n", "예측 요약문 : great\n", "\n", "\n", "원문 : mom kids older two hard time finding snack much sodium rd came along introduced thankful find snack low sodium vegetable top organic know free residue \n", "실제 요약문 : healthy snack \n", "예측 요약문 : great\n", "\n", "\n", "원문 : picky likes change food decided try two brands mistake newman really best dog looks better feels better quality food good like experiment around poor dogs stomach stick newmans \n", "실제 요약문 : still the best \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like like us mean fuss taste good healthy grab bag two thank \n", "실제 요약문 : music to my \n", "예측 요약문 : great\n", "\n", "\n", "원문 : coffee smooth dark finish love husband gets dark blends taste like charcoal one smooth hint sweetness wish amazon monthly purchase program would love save however glad find besides green mountain prime members get coffee replaced shipping days week longer gm sweet \n", "실제 요약문 : new favorite dark cup \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love frosting sugar free cannot find stores ordering future \n", "실제 요약문 : good stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : little read soda added sugar checked label since already sugar anything added sugar whoever tries drink soda tasty quite fizzy think carbonation fanta goes flat easier typical size energy drink energy drink merely another fruit flavored soda flavored naturally difference regular soda type drinks \n", "실제 요약문 : fizzy and tasty but nothing special \n", "예측 요약문 : great\n", "\n", "\n", "원문 : muffin mix awful taste flour sour cream used make tastes tried tried good tasting low carb treats esp diabetics \n", "실제 요약문 : yuck \n", "예측 요약문 : great\n", "\n", "\n", "원문 : kavli crispy thin crispbread right consistency multiple uses taste fantastic fresh pleasant eat kavli products best \n", "실제 요약문 : the best cracker ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : like one better ones earths best variety good son seems enjoy going away weekend perfect packaged well variety helps \n", "실제 요약문 : great variety \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cayenne pepper ground hu good cayenne pepper found organic specialty store really careful light tastes good want hot cayenne pepper get \n", "실제 요약문 : hot stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tasty strawberry still nice great throw diaper bag purse definitely good deal sale \n", "실제 요약문 : great tasting \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tried vanilla coffee cups far best wolf gang puck vanilla smooth vanilla experience lasts way coffee consumed try love \n", "실제 요약문 : best vanilla cup coffee ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : small white popcorn best delicious tried lots \n", "실제 요약문 : enjoy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best tasting coffee reasonable price organic smooth taste perfect morning brew \n", "실제 요약문 : great price great taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love body wash smells nice works great feels great skin add fact subscribe save deal great value sold \n", "실제 요약문 : great product and value \n", "예측 요약문 : great\n", "\n", "\n", "원문 : little shih absolutely loves cesar softies dog treats tried different flavors seems enjoy grilled chicken flavor soft enough break half enough satisfy little dog reward \n", "실제 요약문 : my dog loves em \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great product perfect celiac searching biscuit mix pancake mix actually tastes good also great topping chicken pot pie \n", "실제 요약문 : great product \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : glad able find site love flavor crunchy box packed inside another box still bags end crumbs bags survived tact \n", "실제 요약문 : my favorite flavor \n", "예측 요약문 : great\n", "\n", "\n", "원문 : two great hard us keep weight evo first dog food enjoys enjoy chase make sure eat also notice older dane active since eating evo feed mixture evo red meat evo large bite dry dog food \n", "실제 요약문 : happy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : got part party favor birthday party actually tasted lollipops cute wrappers writing wish bit smaller expected arrived broken really well packaged looked cute party \n", "실제 요약문 : cute small lollipops few arrived broken \n", "예측 요약문 : great\n", "\n", "\n", "원문 : another reviewer mentioned treats crunchy like reasons dog cannot chew last like may good teeth treats small crunchy glad found loves like giving \n", "실제 요약문 : great treats \n", "예측 요약문 : great\n", "\n", "\n", "원문 : white floating recently ordered bottles dirty martini olive juice \n", "실제 요약문 : white \n", "예측 요약문 : great\n", "\n", "\n", "원문 : tea decaffeinated flavor removed lousy tea case get couple tea bags mug hot water hot water true hot water slightly five minutes steeping tea flavor disappointing \n", "실제 요약문 : no but no taste \n", "예측 요약문 : great\n", "\n", "\n", "원문 : excellent taste great right size two make go breakfast tasty good larger size breakfast cookies big perfect husband gotten habit eating breakfast much trouble since bought good grabbing one two way door \n", "실제 요약문 : excellent taste and handy \n", "예측 요약문 : great\n", "\n", "\n", "원문 : best ever add hot water mix yummy anything even add cream sauces soups add sausage heaven yummy yum cannot go wrong ordering product \n", "실제 요약문 : best gravy ever \n", "예측 요약문 : great\n", "\n", "\n", "원문 : waste money kettle brand potato chips bought case case cheddar sour cream cases ended garbage \n", "실제 요약문 : garbage \n", "예측 요약문 : great\n", "\n", "\n", "원문 : cups difficult cap created mess used keurig water went everywhere add together mess end weak cup joe happy buyer \n", "실제 요약문 : terrible \n", "예측 요약문 : great\n", "\n", "\n", "원문 : apparently regular size thinner standard sized chihuahuas finish matter minutes normally takes days consume thicker stick \n", "실제 요약문 : too thin \n", "예측 요약문 : great\n", "\n", "\n", "원문 : terrific honey one say great price got much better local supermarkets \n", "실제 요약문 : delicious honey \n", "예측 요약문 : great\n", "\n", "\n", "원문 : would continue buy moving home made finger foods away glass jars many like flavors though great textures \n", "실제 요약문 : organic and tasty \n", "예측 요약문 : great\n", "\n", "\n", "원문 : sauce excellent authentic chinese dishes wife china love use product make hot pot po tofu \n", "실제 요약문 : excellent for authentic dishes \n", "예측 요약문 : great\n", "\n", "\n", "원문 : hoping bisquick got right released product missed mark made biscuits dumplings biscuits came okay flavor bland dumplings fluffy flavorful turned hard day two \n", "실제 요약문 : bit disappointing \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great seller product described seller shipped product quickly good fair price honey stingers far best training race day nutrition buy taste great easy stomach organic love \n", "실제 요약문 : good stuff \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great price easy way purchase powdered goats milk cheapest found shipping ever experienced amazon \n", "실제 요약문 : shipped fast great quality \n", "예측 요약문 : great\n", "\n", "\n", "원문 : well worth money different bags dollar amount excellent value pops box far half box found without wrappers pretty good considering need lbs dum go product enjoy \n", "실제 요약문 : lots of pops \n", "예측 요약문 : great\n", "\n", "\n", "원문 : happy instant coffee taste cute little brewer began hunting solution disposakups fresh ground coffee packed tight disposakup makes good cuppa joe easy use mess love shipping fast good value opinion thanks \n", "실제 요약문 : made my worth the \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : daughter looking real licorice reading several reviews different brands licorice ordered panda licorice happy panda order soon \n", "실제 요약문 : delicious licorice \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : natural real food see difference cat loves much call tiki kitty \n", "실제 요약문 : my cat loves it \n", "예측 요약문 : great\n", "\n", "\n", "원문 : love taste coffee last order four boxes every cup tear rip internal filter thus grounds flow cup coffee value coffee drinkable wolfgang needs correct packaging order waste \n", "실제 요약문 : for not again \n", "예측 요약문 : great\n", "\n", "\n", "원문 : around amazon ran add beer nuts noticed someone left review pretty funny beer lover try well cant drink beer without story back guy got started soon beer nuts bars around america see pretty darn good \n", "실제 요약문 : me into it mr beer nut \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : grew orange sodas thought might like healthy crush would course tangerine bit different taste orange much sweeter adding carbonation made unappealing fizzy ultra sweet drink unlike cough syrup proceed caution perhaps kids would find super tasty \n", "실제 요약문 : too sweet \n", "예측 요약문 : great\n", "\n", "\n", "원문 : expecting mellow caramel flavor coffee bit sharp really cannot make flavor \n", "실제 요약문 : bit of disappointment \n", "예측 요약문 : great\n", "\n", "\n", "원문 : great actually used make gf donuts day love convenient hard gluten free god sent many things make celiacs sort negative reaction would definitely recommend anyone cannot gluten still wants things like pancakes waffles donuts fun things \n", "실제 요약문 : fantastic \n", "예측 요약문 : the best\n", "\n", "\n", "원문 : cheap plastic tube presumably inside never worked right user interface known way defeat phantom power \n", "실제 요약문 : cheap \n", "예측 요약문 : great\n", "\n", "\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "0COQC8yvG8O0" }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }