nlp-lab/Project/simple_approach/Evaluation_sentiment_dataset.ipynb

825 lines
187 KiB
Plaintext
Raw Normal View History

2018-07-23 09:23:17 +02:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 2,
2018-07-23 09:23:17 +02:00
"metadata": {},
2018-07-23 20:11:24 +02:00
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[nltk_data] Downloading package punkt to /home/jonas/nltk_data...\n",
"[nltk_data] Package punkt is already up-to-date!\n",
"[nltk_data] Downloading package averaged_perceptron_tagger to\n",
"[nltk_data] /home/jonas/nltk_data...\n",
"[nltk_data] Package averaged_perceptron_tagger is already up-to-\n",
"[nltk_data] date!\n",
"[nltk_data] Downloading package wordnet to /home/jonas/nltk_data...\n",
"[nltk_data] Package wordnet is already up-to-date!\n"
]
}
],
2018-07-23 09:23:17 +02:00
"source": [
"import numpy as np \n",
"import pandas as pd \n",
"import simple_twitter_learning as stl\n",
2018-07-23 13:25:37 +02:00
"import re\n",
2018-07-23 20:11:24 +02:00
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"matplotlib.rc('font', family='symbola', size=16)"
2018-07-23 09:23:17 +02:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* download data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dataset already downloaded\n"
]
}
],
"source": [
"%%bash\n",
"\n",
"if [ ! -e 'dataset_sentiment.csv' ]\n",
"then\n",
" echo \"downloading dataset\"\n",
" wget https://raw.githubusercontent.com/SmartDataAnalytics/MA-INF-4222-NLP-Lab/master/2018_SoSe/exercises/dataset_sentiment.csv\n",
"else\n",
" echo \"dataset already downloaded\"\n",
"fi"
]
},
2018-07-23 13:25:37 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* plot function:"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 19,
2018-07-23 13:25:37 +02:00
"metadata": {},
"outputs": [],
"source": [
"def sentiment_score(s):\n",
" #(pos, neg, neu)^T\n",
" return s[0] - s[1]\n",
"\n",
"def plot_sentiment_space(predicted_sentiment_vectors_list, top_sentiments, top_emojis, style=['bo']):\n",
" # sentiment score axis\n",
" top_X = np.array([sentiment_score(x) for x in top_sentiments])\n",
" \n",
"\n",
" # neutral axis:\n",
" top_Y = np.array([x[2] for x in top_sentiments])\n",
" \n",
"\n",
2018-07-23 20:11:24 +02:00
" fig_1, ax_1 = plt.subplots(figsize=(7.5,5))\n",
2018-07-23 13:25:37 +02:00
" plt.title(\"sentiment-score-plot\")\n",
" plt.xlabel(\"sentiment score\")\n",
" plt.ylabel(\"neutrality\")\n",
2018-07-23 20:11:24 +02:00
" plt.xlim([np.min(top_X),np.max(top_X)])\n",
" plt.ylim([np.min(top_Y),np.max(top_Y)])\n",
2018-07-23 13:25:37 +02:00
" for i in range(len(top_X)):\n",
" plt.text(top_X[i], top_Y[i], top_emojis[i])\n",
" for i in range(len(predicted_sentiment_vectors_list)):\n",
" pred_X = np.array([sentiment_score(x) for x in predicted_sentiment_vectors_list[i]])\n",
" pred_Y = np.array([x[2] for x in predicted_sentiment_vectors_list[i]])\n",
" plt.plot(pred_X, pred_Y, style[i], alpha=0.5)\n",
" #plt.savefig(\"val-error_sentiment-plot\" + str(datetime.datetime.now()) + \".png\", bbox_inches='tight')\n",
"\n",
" # sentiment score axis\n",
" top_X = np.array([x[0] for x in top_sentiments])\n",
" \n",
"\n",
" # neutral axis:\n",
" top_Y = np.array([x[1] for x in top_sentiments])\n",
" \n",
"\n",
2018-07-23 20:11:24 +02:00
" fig_2, ax_2 = plt.subplots(figsize=(7.5,5))\n",
2018-07-23 13:25:37 +02:00
" plt.title(\"positive-negative-plot\")\n",
" plt.xlabel(\"positive\")\n",
" plt.ylabel(\"negative\")\n",
2018-07-23 20:11:24 +02:00
" plt.xlim([np.min(top_X),np.max(top_X)])\n",
" plt.ylim([np.min(top_Y),np.max(top_Y)])\n",
2018-07-23 13:25:37 +02:00
" for i in range(len(top_X)):\n",
" plt.text(top_X[i], top_Y[i], top_emojis[i])\n",
" for i in range(len(predicted_sentiment_vectors_list)):\n",
" pred_X = np.array([x[0] for x in predicted_sentiment_vectors_list[i]])\n",
" pred_Y = np.array([x[1] for x in predicted_sentiment_vectors_list[i]])\n",
" plt.plot(pred_X, pred_Y, style[i], alpha=0.5)\n",
" #'plt.savefig(\"val-error_positive-negative-plot\" + str(datetime.datetime.now()) + \".png\", bbox_inches='tight')\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* read data:"
]
},
2018-07-23 09:23:17 +02:00
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 5,
2018-07-23 09:23:17 +02:00
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('dataset_sentiment.csv')\n",
"df = df[['text','sentiment']]"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 6,
2018-07-23 09:23:17 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>text</th>\n",
" <th>sentiment</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>nancyleegrahn how did everyone feel about th...</td>\n",
" <td>Neutral</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>scottwalker didnt catch the full gopdebate l...</td>\n",
" <td>Positive</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>tjmshow no mention of tamir rice and the gop...</td>\n",
" <td>Neutral</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>robgeorge that carly fiorina is trending ho...</td>\n",
" <td>Positive</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>danscavino gopdebate w realdonaldtrump deliv...</td>\n",
" <td>Positive</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" text sentiment\n",
"0 nancyleegrahn how did everyone feel about th... Neutral\n",
"1 scottwalker didnt catch the full gopdebate l... Positive\n",
"2 tjmshow no mention of tamir rice and the gop... Neutral\n",
"3 robgeorge that carly fiorina is trending ho... Positive\n",
"4 danscavino gopdebate w realdonaldtrump deliv... Positive"
]
},
2018-07-23 20:11:24 +02:00
"execution_count": 6,
2018-07-23 09:23:17 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['text'] = df['text'].apply(lambda x: x.lower())\n",
"df['text'] = df['text'].apply(lambda x: x.replace('rt',' '))\n",
"df['text'] = df['text'].apply((lambda x: re.sub('[^a-zA-Z0-9\\s]','',x)))\n",
"df.head()"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 7,
2018-07-23 09:23:17 +02:00
"metadata": {},
"outputs": [],
"source": [
"neg = np.array([df['sentiment'][i] == 'Negative' for i in range(df.shape[0])])\n",
"pos = np.array([df['sentiment'][i] == 'Positive' for i in range(df.shape[0])])\n",
"neu = np.array([df['sentiment'][i] == 'Neutral' for i in range(df.shape[0])])\n",
"\n",
"text = np.array(df['text'].tolist())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* load pipeline"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 8,
2018-07-23 09:23:17 +02:00
"metadata": {},
"outputs": [],
"source": [
"pipeline_file = \"/home/jonas/Dokumente/NLP_DATA/python_dumps/pipelines/tfidf_final/final_epoch01.pipeline\"\n",
"pm = stl.pipeline_manager.load_from_pipeline_file(pipeline_file)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* plot statements"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 9,
2018-07-23 09:23:17 +02:00
"metadata": {},
"outputs": [],
"source": [
"top_20 = list(\"😳😋😀😌😏😔😒😎😢😅😁😉🙌🙏😘😊😩😍😭😂\")\n",
"top_20_sents = stl.emoji2sent(top_20)\n",
"\n",
"pred_pos = pm.predict(text[pos])\n",
"pred_neg = pm.predict(text[neg])\n",
"pred_neu = pm.predict(text[neu])"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 10,
2018-07-23 09:23:17 +02:00
"metadata": {},
"outputs": [
{
"data": {
2018-07-23 20:11:24 +02:00
"image/png": "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
2018-07-23 09:23:17 +02:00
"text/plain": [
2018-07-23 13:25:37 +02:00
"<Figure size 1080x720 with 1 Axes>"
2018-07-23 09:23:17 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-07-23 20:11:24 +02:00
"image/png": "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
2018-07-23 09:23:17 +02:00
"text/plain": [
2018-07-23 13:25:37 +02:00
"<Figure size 1080x720 with 1 Axes>"
2018-07-23 09:23:17 +02:00
]
},
"metadata": {},
"output_type": "display_data"
2018-07-23 13:25:37 +02:00
}
],
"source": [
"#stl.plot_sentiment_space(predicted_sentiment_vectors=pred_pos, top_sentiments=top_20_sents, top_emojis=top_20, style='go')\n",
"#stl.plot_sentiment_space(predicted_sentiment_vectors=pred_neg, top_sentiments=top_20_sents, top_emojis=top_20, style='ro')\n",
"#stl.plot_sentiment_space(predicted_sentiment_vectors=pred_neu, top_sentiments=top_20_sents, top_emojis=top_20, style='bo')\n",
"plot_sentiment_space(predicted_sentiment_vectors_list=[pred_pos,pred_neg,pred_neu], top_sentiments=top_20_sents, top_emojis=top_20, style=['g+','b+','r+'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## user labeled sentiment dataset"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 11,
2018-07-23 13:25:37 +02:00
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('../sentiment_sentences.csv', delimiter=';')"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 12,
2018-07-23 13:25:37 +02:00
"metadata": {},
"outputs": [],
"source": [
"neg = np.array([df['sent'][i] == 'n' for i in range(df.shape[0])])\n",
"pos = np.array([df['sent'][i] == 'p' for i in range(df.shape[0])])\n",
"\n",
"text = np.array(df['text'].tolist())\n",
"\n",
"pred_pos = pm.predict(text[pos])\n",
"pred_neg = pm.predict(text[neg])"
]
},
{
"cell_type": "code",
2018-07-23 20:11:24 +02:00
"execution_count": 20,
2018-07-23 13:25:37 +02:00
"metadata": {},
"outputs": [
2018-07-23 09:23:17 +02:00
{
"data": {
2018-07-23 20:11:24 +02:00
"image/png": "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
2018-07-23 09:23:17 +02:00
"text/plain": [
2018-07-23 20:11:24 +02:00
"<Figure size 540x360 with 1 Axes>"
2018-07-23 09:23:17 +02:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-07-23 20:11:24 +02:00
"image/png": "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
2018-07-23 09:23:17 +02:00
"text/plain": [
2018-07-23 20:11:24 +02:00
"<Figure size 540x360 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_sentiment_space(predicted_sentiment_vectors_list=[pred_pos,pred_neg], top_sentiments=top_20_sents, top_emojis=top_20, style=['go','ro'])"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>text</th>\n",
" <th>sent</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>I am so happy</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>i love my life</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>i really like this sunshine</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>while doing sport i feel free</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>i is terrible to learn when the weather is thi...</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>i am almost crying when i run out of ice cream</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>fuck off</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>you are my best friend ever</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>i love my mommy</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>i prefer oral exams</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>best cocktail is the mojito especial</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>you got a beautiful wedding</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>you husband is this handsome</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>this is such a sneaky bitch</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>you're kidding</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>you are really too drunk</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>you start being annoying</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>i love my mac</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>but it would be better if they are less expensive</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>you are a bad friend</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>I am in love with my new laptop</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>You piss me off</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>I hate school</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>I'm so mad at you</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>Seeing you cry, makes me sad</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>You are so lovely</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>Fish is disgusting</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>At times I feel so depressed</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>Summer makes me happy</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>I want to dance and sing aloud</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>Everything will be ok</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>why are you upset?</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>I dont like it when it rains</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>I dont care at all</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>you are such a bitch</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>I dont understand what this is all about</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>give me a break, idiot!</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>please dont leave me</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>I love cuddling with my dog</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>I want to die</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>that is really sad!</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>why are you saying that, you moron!</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>OMG! i love that cat soo much!</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>can you feel the love tonight</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>i get so emotional when i watch lion king</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>i really hate you</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>that is disgusting</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>my heart is broken</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>i love these sunny days</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>this gave me positive feelings</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>i am sick</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>i am tired</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>are you sick or tired?</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td>you are so cute and sweet</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td>i just lost my mind</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td>i hate all people</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td>you are just dumb</td>\n",
" <td>n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57</th>\n",
" <td>i will get lucky</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td>i like ice cream</td>\n",
" <td>p</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td>go home you idiot</td>\n",
" <td>n</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" text sent\n",
"0 I am so happy p\n",
"1 i love my life p\n",
"2 i really like this sunshine p\n",
"3 while doing sport i feel free p\n",
"4 i is terrible to learn when the weather is thi... n\n",
"5 i am almost crying when i run out of ice cream n\n",
"6 fuck off n\n",
"7 you are my best friend ever p\n",
"8 i love my mommy p\n",
"9 i prefer oral exams p\n",
"10 best cocktail is the mojito especial p\n",
"11 you got a beautiful wedding p\n",
"12 you husband is this handsome p\n",
"13 this is such a sneaky bitch n\n",
"14 you're kidding n\n",
"15 you are really too drunk n\n",
"16 you start being annoying n\n",
"17 i love my mac p\n",
"18 but it would be better if they are less expensive n\n",
"19 you are a bad friend n\n",
"20 I am in love with my new laptop p\n",
"21 You piss me off n\n",
"22 I hate school n\n",
"23 I'm so mad at you n\n",
"24 Seeing you cry, makes me sad n\n",
"25 You are so lovely p\n",
"26 Fish is disgusting n\n",
"27 At times I feel so depressed n\n",
"28 Summer makes me happy p\n",
"29 I want to dance and sing aloud p\n",
"30 Everything will be ok p\n",
"31 why are you upset? n\n",
"32 I dont like it when it rains n\n",
"33 I dont care at all n\n",
"34 you are such a bitch n\n",
"35 I dont understand what this is all about n\n",
"36 give me a break, idiot! n\n",
"37 please dont leave me n\n",
"38 I love cuddling with my dog p\n",
"39 I want to die n\n",
"40 that is really sad! n\n",
"41 why are you saying that, you moron! n\n",
"42 OMG! i love that cat soo much! p\n",
"43 can you feel the love tonight p\n",
"44 i get so emotional when i watch lion king p\n",
"45 i really hate you n\n",
"46 that is disgusting n\n",
"47 my heart is broken n\n",
"48 i love these sunny days p\n",
"49 this gave me positive feelings p\n",
"50 i am sick n\n",
"51 i am tired n\n",
"52 are you sick or tired? n\n",
"53 you are so cute and sweet p\n",
"54 i just lost my mind n\n",
"55 i hate all people n\n",
"56 you are just dumb n\n",
"57 i will get lucky p\n",
"58 i like ice cream p\n",
"59 go home you idiot n"
2018-07-23 09:23:17 +02:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2018-07-23 20:11:24 +02:00
"display(df)"
2018-07-23 09:23:17 +02:00
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}