825 lines
184 KiB
Plaintext
825 lines
184 KiB
Plaintext
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"%matplotlib inline"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {},
|
||
|
"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"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"import numpy as np \n",
|
||
|
"import pandas as pd \n",
|
||
|
"import twitter_learning as twl\n",
|
||
|
"import re\n",
|
||
|
"import matplotlib.pyplot as plt\n",
|
||
|
"import matplotlib\n",
|
||
|
"matplotlib.rc('font', family='symbola', size=16)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"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"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"* plot function:"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 4,
|
||
|
"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",
|
||
|
" fig_1, ax_1 = plt.subplots(figsize=(7.5,5))\n",
|
||
|
" plt.title(\"sentiment-score-plot\")\n",
|
||
|
" plt.xlabel(\"sentiment score\")\n",
|
||
|
" plt.ylabel(\"neutrality\")\n",
|
||
|
" plt.xlim([np.min(top_X),np.max(top_X)])\n",
|
||
|
" plt.ylim([np.min(top_Y),np.max(top_Y)])\n",
|
||
|
" 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",
|
||
|
" fig_2, ax_2 = plt.subplots(figsize=(7.5,5))\n",
|
||
|
" plt.title(\"positive-negative-plot\")\n",
|
||
|
" plt.xlabel(\"positive\")\n",
|
||
|
" plt.ylabel(\"negative\")\n",
|
||
|
" plt.xlim([np.min(top_X),np.max(top_X)])\n",
|
||
|
" plt.ylim([np.min(top_Y),np.max(top_Y)])\n",
|
||
|
" 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:"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 5,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"df = pd.read_csv('dataset_sentiment.csv')\n",
|
||
|
"df = df[['text','sentiment']]"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 6,
|
||
|
"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"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 6,
|
||
|
"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",
|
||
|
"execution_count": 7,
|
||
|
"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",
|
||
|
"execution_count": 8,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"pipeline_file = \"/home/jonas/Dokumente/NLP_DATA/python_dumps/pipelines/tfidf_final/final_epoch01.pipeline\"\n",
|
||
|
"pm = twl.pipeline_manager.load_from_pipeline_file(pipeline_file)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"* plot statements"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 9,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"top_20 = list(\"😳😋😀😌😏😔😒😎😢😅😁😉🙌🙏😘😊😩😍😭😂\")\n",
|
||
|
"top_20_sents = twl.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",
|
||
|
"execution_count": 10,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 540x360 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 540x360 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"#twl.plot_sentiment_space(predicted_sentiment_vectors=pred_pos, top_sentiments=top_20_sents, top_emojis=top_20, style='go')\n",
|
||
|
"#twl.plot_sentiment_space(predicted_sentiment_vectors=pred_neg, top_sentiments=top_20_sents, top_emojis=top_20, style='ro')\n",
|
||
|
"#twl.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",
|
||
|
"execution_count": 11,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"df = pd.read_csv('../sentiment_sentences.csv', delimiter=';')"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 12,
|
||
|
"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",
|
||
|
"execution_count": 13,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 540x360 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<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": 14,
|
||
|
"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"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"display(df)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"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
|
||
|
}
|