{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# HW4 [Deception] " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## STEP 1: GET THAT DATA" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "def get_data(file, path):\n", " f=open(path+file)\n", " data = f.read()\n", " f.close()\n", " return data\n", " \n", "def get_data_from_files(path):\n", " results = [get_data(file, path) for file in os.listdir(path)]\n", " return results\n", "\n", "# pos = get_data_from_files('../pos_cornell//')\n", "# neg = get_data_from_files('../neg_cornell/')\n", "\n", "# pos = get_data_from_files('../hw4_lie_false/')\n", "# neg = get_data_from_files('../hw4_lie_true/')\n", "\n", "pos = get_data_from_files('../hw4_lie_false/')\n", "neg = get_data_from_files('../hw4_lie_true/')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "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", "
0PoN
0?N
1Twin Trees Cicero NY HUGE salad bar and high q...N
2The worst restaurant that I have ever eaten in...N
3?N
4I have been to a Asian restaurant in New York ...N
\n", "
" ], "text/plain": [ " 0 PoN\n", "0 ? N\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N\n", "2 The worst restaurant that I have ever eaten in... N\n", "3 ? N\n", "4 I have been to a Asian restaurant in New York ... N" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "neg_df = pd.DataFrame(neg)\n", "pos_df = pd.DataFrame(pos)\n", "pos_df['PoN'] = 'P'\n", "neg_df['PoN'] = 'N'\n", "all_df = neg_df.append(pos_df)\n", "all_df.reset_index(drop=True,inplace=True)\n", "all_df[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## STEP 2: TOKENIZE" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from nltk.tokenize import word_tokenize, sent_tokenize\n", "from nltk.sentiment import SentimentAnalyzer\n", "from nltk.sentiment.util import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### -- 2a by sentence" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def get_sentence_tokens(review):\n", " return sent_tokenize(review)\n", " \n", "all_df['sentences'] = all_df.apply(lambda x: get_sentence_tokens(x[0]), axis=1)\n", "all_df['num_sentences'] = all_df.apply(lambda x: len(x['sentences']), axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### -- 2b by word" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def get_tokens(sentence):\n", " tokens = word_tokenize(sentence)\n", " clean_tokens = [word.lower() for word in tokens if word.isalpha()]\n", " return clean_tokens\n", "\n", "all_df['tokens'] = all_df.apply(lambda x: get_tokens(x[0]), axis=1)\n", "all_df['num_tokens'] = all_df.apply(lambda x: len(x['tokens']), axis=1)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "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", "
0PoNsentencesnum_sentencestokensnum_tokens
0?N[?]1[]0
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "0 ? N \n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "\n", " sentences num_sentences \\\n", "0 [?] 1 \n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "\n", " tokens num_tokens \n", "0 [] 0 \n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df[:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### -- 2c Remove if tokens < 1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "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", "
0PoNsentencesnum_sentencestokensnum_tokens
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "\n", " tokens num_tokens \n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df = all_df.drop(all_df[all_df.num_tokens < 1].index)\n", "all_df[:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## STEP 3: EXPERIMENT\n", "#### Experiment with: stopwords, stemming, lemming etc." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### -- 3a remove english stopwords" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from nltk.corpus import stopwords\n", "stop_words = set(stopwords.words(\"english\"))\n", "def remove_stopwords(sentence):\n", " filtered_text = []\n", " for word in sentence:\n", " if word not in stop_words:\n", " filtered_text.append(word)\n", " return filtered_text\n", "all_df['no_sw'] = all_df.apply(lambda x: remove_stopwords(x['tokens']),axis=1)\n", "all_df['num_no_sw'] = all_df.apply(lambda x: len(x['no_sw']),axis=1)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "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", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_sw
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "\n", " no_sw num_no_sw \n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df[:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### -- 3b get stems for both tokens and no_sw" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from nltk.stem import PorterStemmer\n", "def get_stems(sentence):\n", " ps = PorterStemmer()\n", " return [ps.stem(w) for w in sentence]\n", " \n", "all_df['stemmed'] = all_df.apply(lambda x: get_stems(x['tokens']),axis=1)\n", "all_df['stemmed_no_sw'] = all_df.apply(lambda x: get_stems(x['no_sw']),axis=1)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "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", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_swstemmedstemmed_no_sw
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49[the, worst, restaur, that, i, have, ever, eat...[worst, restaur, ever, eaten, undoubtedli, pla...
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23[i, have, been, to, a, asian, restaur, in, new...[asian, restaur, new, york, citi, menu, writte...
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "\n", " no_sw num_no_sw \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 \n", "\n", " stemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaur, that, i, have, ever, eat... \n", "4 [i, have, been, to, a, asian, restaur, in, new... \n", "\n", " stemmed_no_sw \n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaur, ever, eaten, undoubtedli, pla... \n", "4 [asian, restaur, new, york, citi, menu, writte... " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df[:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### -- 3c get lemmas for both tokens and no_sw" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from nltk.stem.wordnet import WordNetLemmatizer\n", "def get_lemmas(sentence):\n", " lem = WordNetLemmatizer() \n", " return [lem.lemmatize(w) for w in sentence]\n", " \n", "all_df['lemmed'] = all_df.apply(lambda x: get_lemmas(x['tokens']),axis=1)\n", "all_df['lemmed_no_sw'] = all_df.apply(lambda x: get_lemmas(x['no_sw']),axis=1)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "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", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_swstemmedstemmed_no_swlemmedlemmed_no_sw
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49[the, worst, restaur, that, i, have, ever, eat...[worst, restaur, ever, eaten, undoubtedli, pla...[the, worst, restaurant, that, i, have, ever, ...[worst, restaurant, ever, eaten, undoubtedly, ...
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23[i, have, been, to, a, asian, restaur, in, new...[asian, restaur, new, york, citi, menu, writte...[i, have, been, to, a, asian, restaurant, in, ...[asian, restaurant, new, york, city, menu, wri...
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "\n", " no_sw num_no_sw \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 \n", "\n", " stemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaur, that, i, have, ever, eat... \n", "4 [i, have, been, to, a, asian, restaur, in, new... \n", "\n", " stemmed_no_sw \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaur, ever, eaten, undoubtedli, pla... \n", "4 [asian, restaur, new, york, citi, menu, writte... \n", "\n", " lemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaurant, that, i, have, ever, ... \n", "4 [i, have, been, to, a, asian, restaurant, in, ... \n", "\n", " lemmed_no_sw \n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... \n", "4 [asian, restaurant, new, york, city, menu, wri... " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df[:3]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "all_df['pos'] = all_df.apply(lambda x: nltk.pos_tag(x['tokens']),axis=1)\n", "all_df['pos_no_sw'] = all_df.apply(lambda x: nltk.pos_tag(x['no_sw']),axis=1)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "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", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_swstemmedstemmed_no_swlemmedlemmed_no_swpospos_no_swpos_dictpos_dict_no_sw
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...[(twin, NN), (trees, NNS), (cicero, VBP), (ny,...[(twin, NN), (trees, NNS), (cicero, VBP), (ny,...{'NN': 11, 'NNS': 3, 'VBP': 3, 'JJ': 9, 'CC': ...{'NN': 7, 'NNS': 5, 'VBP': 3, 'JJ': 10, 'RB': ...
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49[the, worst, restaur, that, i, have, ever, eat...[worst, restaur, ever, eaten, undoubtedli, pla...[the, worst, restaurant, that, i, have, ever, ...[worst, restaurant, ever, eaten, undoubtedly, ...[(the, DT), (worst, JJS), (restaurant, NN), (t...[(worst, RBS), (restaurant, NN), (ever, RB), (...{'DT': 14, 'JJS': 1, 'NN': 29, 'IN': 8, 'VBP':...{'RBS': 1, 'NN': 24, 'RB': 5, 'JJ': 9, 'VBN': ...
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23[i, have, been, to, a, asian, restaur, in, new...[asian, restaur, new, york, citi, menu, writte...[i, have, been, to, a, asian, restaurant, in, ...[asian, restaurant, new, york, city, menu, wri...[(i, NNS), (have, VBP), (been, VBN), (to, TO),...[(asian, JJ), (restaurant, NN), (new, JJ), (yo...{'NNS': 2, 'VBP': 2, 'VBN': 5, 'TO': 1, 'DT': ...{'JJ': 5, 'NN': 11, 'VBN': 2, 'VBP': 1, 'NNS':...
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "\n", " no_sw num_no_sw \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 \n", "\n", " stemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaur, that, i, have, ever, eat... \n", "4 [i, have, been, to, a, asian, restaur, in, new... \n", "\n", " stemmed_no_sw \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaur, ever, eaten, undoubtedli, pla... \n", "4 [asian, restaur, new, york, citi, menu, writte... \n", "\n", " lemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaurant, that, i, have, ever, ... \n", "4 [i, have, been, to, a, asian, restaurant, in, ... \n", "\n", " lemmed_no_sw \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... \n", "4 [asian, restaurant, new, york, city, menu, wri... \n", "\n", " pos \\\n", "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,... \n", "2 [(the, DT), (worst, JJS), (restaurant, NN), (t... \n", "4 [(i, NNS), (have, VBP), (been, VBN), (to, TO),... \n", "\n", " pos_no_sw \\\n", "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,... \n", "2 [(worst, RBS), (restaurant, NN), (ever, RB), (... \n", "4 [(asian, JJ), (restaurant, NN), (new, JJ), (yo... \n", "\n", " pos_dict \\\n", "1 {'NN': 11, 'NNS': 3, 'VBP': 3, 'JJ': 9, 'CC': ... \n", "2 {'DT': 14, 'JJS': 1, 'NN': 29, 'IN': 8, 'VBP':... \n", "4 {'NNS': 2, 'VBP': 2, 'VBN': 5, 'TO': 1, 'DT': ... \n", "\n", " pos_dict_no_sw \n", "1 {'NN': 7, 'NNS': 5, 'VBP': 3, 'JJ': 10, 'RB': ... \n", "2 {'RBS': 1, 'NN': 24, 'RB': 5, 'JJ': 9, 'VBN': ... \n", "4 {'JJ': 5, 'NN': 11, 'VBN': 2, 'VBP': 1, 'NNS':... " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def get_pos_dict(pos_tuple):\n", " pos_dict = {}\n", " for t in pos_tuple:\n", " if t[1] in pos_dict.keys():\n", " pos_dict[t[1]] += 1\n", " else:\n", " pos_dict.update({t[1]: 1})\n", " return pos_dict\n", "\n", "all_df['pos_dict'] = all_df.apply(lambda x: get_pos_dict(x['pos']), axis=1)\n", "all_df['pos_dict_no_sw'] = all_df.apply(lambda x: get_pos_dict(x['pos_no_sw']), axis=1)\n", "all_df[:3]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "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", " \n", " \n", " \n", " \n", " \n", " \n", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_swstemmedstemmed_no_swlemmedlemmed_no_swpospos_no_swpos_dictpos_dict_no_swbowbow_no_sw
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig...[(twin, NN), (trees, NNS), (cicero, VBP), (ny,...[(twin, NN), (trees, NNS), (cicero, VBP), (ny,...{'NN': 11, 'NNS': 3, 'VBP': 3, 'JJ': 9, 'CC': ...{'NN': 7, 'NNS': 5, 'VBP': 3, 'JJ': 10, 'RB': ...{'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ...{'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ...
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49[the, worst, restaur, that, i, have, ever, eat...[worst, restaur, ever, eaten, undoubtedli, pla...[the, worst, restaurant, that, i, have, ever, ...[worst, restaurant, ever, eaten, undoubtedly, ...[(the, DT), (worst, JJS), (restaurant, NN), (t...[(worst, RBS), (restaurant, NN), (ever, RB), (...{'DT': 14, 'JJS': 1, 'NN': 29, 'IN': 8, 'VBP':...{'RBS': 1, 'NN': 24, 'RB': 5, 'JJ': 9, 'VBN': ...{'the': 6, 'worst': 1, 'restaurant': 1, 'that'...{'worst': 1, 'restaurant': 1, 'ever': 1, 'eate...
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23[i, have, been, to, a, asian, restaur, in, new...[asian, restaur, new, york, citi, menu, writte...[i, have, been, to, a, asian, restaurant, in, ...[asian, restaurant, new, york, city, menu, wri...[(i, NNS), (have, VBP), (been, VBN), (to, TO),...[(asian, JJ), (restaurant, NN), (new, JJ), (yo...{'NNS': 2, 'VBP': 2, 'VBN': 5, 'TO': 1, 'DT': ...{'JJ': 5, 'NN': 11, 'VBN': 2, 'VBP': 1, 'NNS':...{'i': 3, 'have': 1, 'been': 1, 'to': 1, 'a': 3...{'asian': 1, 'restaurant': 1, 'new': 1, 'york'...
\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "\n", " no_sw num_no_sw \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 \n", "\n", " stemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaur, that, i, have, ever, eat... \n", "4 [i, have, been, to, a, asian, restaur, in, new... \n", "\n", " stemmed_no_sw \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaur, ever, eaten, undoubtedli, pla... \n", "4 [asian, restaur, new, york, citi, menu, writte... \n", "\n", " lemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaurant, that, i, have, ever, ... \n", "4 [i, have, been, to, a, asian, restaurant, in, ... \n", "\n", " lemmed_no_sw \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... \n", "4 [asian, restaurant, new, york, city, menu, wri... \n", "\n", " pos \\\n", "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,... \n", "2 [(the, DT), (worst, JJS), (restaurant, NN), (t... \n", "4 [(i, NNS), (have, VBP), (been, VBN), (to, TO),... \n", "\n", " pos_no_sw \\\n", "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,... \n", "2 [(worst, RBS), (restaurant, NN), (ever, RB), (... \n", "4 [(asian, JJ), (restaurant, NN), (new, JJ), (yo... \n", "\n", " pos_dict \\\n", "1 {'NN': 11, 'NNS': 3, 'VBP': 3, 'JJ': 9, 'CC': ... \n", "2 {'DT': 14, 'JJS': 1, 'NN': 29, 'IN': 8, 'VBP':... \n", "4 {'NNS': 2, 'VBP': 2, 'VBN': 5, 'TO': 1, 'DT': ... \n", "\n", " pos_dict_no_sw \\\n", "1 {'NN': 7, 'NNS': 5, 'VBP': 3, 'JJ': 10, 'RB': ... \n", "2 {'RBS': 1, 'NN': 24, 'RB': 5, 'JJ': 9, 'VBN': ... \n", "4 {'JJ': 5, 'NN': 11, 'VBN': 2, 'VBP': 1, 'NNS':... \n", "\n", " bow \\\n", "1 {'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ... \n", "2 {'the': 6, 'worst': 1, 'restaurant': 1, 'that'... \n", "4 {'i': 3, 'have': 1, 'been': 1, 'to': 1, 'a': 3... \n", "\n", " bow_no_sw \n", "1 {'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ... \n", "2 {'worst': 1, 'restaurant': 1, 'ever': 1, 'eate... \n", "4 {'asian': 1, 'restaurant': 1, 'new': 1, 'york'... " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# def get_bow_from_tokens(df, column):\n", "# all_column_data = ' '.join(df[column].tolist())\n", "# all_column_fd = Counter(all_column_data.split())\n", "# return all_column_fd\n", "\n", "# # bow = get_bow_from_column(all_df, 'diy_cleaner')\n", "# # bow =\n", "from collections import Counter\n", "all_df['bow'] = all_df.apply(lambda x: Counter(x['tokens']), axis=1)\n", "all_df['bow_no_sw'] = all_df.apply(lambda x: Counter(x['no_sw']), axis=1)\n", "all_df[:3]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "all_df_n = all_df[all_df['PoN'] == 'N']\n", "all_df_p = all_df[all_df['PoN'] == 'P']\n", "\n", "big_bow = [item for review in all_df['bow'].tolist() for item in review]\n", "big_bow_n = [item for review in all_df_n['bow'].tolist() for item in review]\n", "big_bow_p = [item for review in all_df_p['bow'].tolist() for item in review]\n", "\n", "df = pd.DataFrame.from_dict(Counter(big_bow), orient='index').reset_index()\n", "df = df.rename(columns={'index':'word', 0:'count'})\n", "\n", "df_n = pd.DataFrame.from_dict(Counter(big_bow_n), orient='index').reset_index()\n", "df_n = df_n.rename(columns={'index':'word', 0:'count'})\n", "\n", "df_p = pd.DataFrame.from_dict(Counter(big_bow_p), orient='index').reset_index()\n", "df_p = df_p.rename(columns={'index':'word', 0:'count'})" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "import seaborn as sns\n", "import matplotlib.pyplot as plt \n", "def bar_plot(df, title): \n", " graph = sns.barplot(y = \"count\", x = \"word\", data = df, palette = \"husl\")\n", " plt.title(title)\n", " plt.xlabel(\"Word\")\n", " plt.ylabel(\"Count\")\n", " sns.set_context(\"talk\")\n", " plt.xticks(rotation = 90)\n", " return plt\n", "\n", "print(bar_plot(df.sort_values(by=[\"count\"], ascending=False)[:20], \"Top 20 Items (ALL) Prior to Cleaning\"))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_n.sort_values(by=[\"count\"], ascending=False)[:20], \"Top 20 Items (TRUE) Prior to Cleaning\"))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_p.sort_values(by=[\"count\"], ascending=False)[:20], \"Top 20 Items (FALSE) Prior to Cleaning\"))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "all_df_n = all_df[all_df['PoN'] == 'N']\n", "all_df_p = all_df[all_df['PoN'] == 'P']\n", "\n", "big_bow = [item for review in all_df['bow_no_sw'].tolist() for item in review]\n", "big_bow_n = [item for review in all_df_n['bow_no_sw'].tolist() for item in review]\n", "big_bow_p = [item for review in all_df_p['bow_no_sw'].tolist() for item in review]\n", "\n", "df = pd.DataFrame.from_dict(Counter(big_bow), orient='index').reset_index()\n", "df = df.rename(columns={'index':'word', 0:'count'})\n", "\n", "df_n = pd.DataFrame.from_dict(Counter(big_bow_n), orient='index').reset_index()\n", "df_n = df_n.rename(columns={'index':'word', 0:'count'})\n", "\n", "df_p = pd.DataFrame.from_dict(Counter(big_bow_p), orient='index').reset_index()\n", "df_p = df_p.rename(columns={'index':'word', 0:'count'})" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df.sort_values(by=[\"count\"], ascending=False)[:20], \"Top 20 Items (ALL) Prior to Cleaning\"))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_n.sort_values(by=[\"count\"], ascending=False)[:20], \"Top 20 Items (TRUE) Stopwords Removed\"))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_p.sort_values(by=[\"count\"], ascending=False)[:20], \"Top 20 Items (FALSE) Stopwords Removed\"))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "all_df_n = all_df[all_df['PoN'] == 'N']\n", "all_df_p = all_df[all_df['PoN'] == 'P']\n", "\n", "big_bow = [item for review in all_df['pos_dict'].tolist() for item in review]\n", "big_bow_n = [item for review in all_df_n['pos_dict'].tolist() for item in review]\n", "big_bow_p = [item for review in all_df_p['pos_dict'].tolist() for item in review]\n", "\n", "df = pd.DataFrame.from_dict(Counter(big_bow), orient='index').reset_index()\n", "df = df.rename(columns={'index':'word', 0:'count'})\n", "\n", "df_n = pd.DataFrame.from_dict(Counter(big_bow_n), orient='index').reset_index()\n", "df_n = df_n.rename(columns={'index':'word', 0:'count'})\n", "\n", "df_p = pd.DataFrame.from_dict(Counter(big_bow_p), orient='index').reset_index()\n", "df_p = df_p.rename(columns={'index':'word', 0:'count'})" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df.sort_values(by=[\"count\"], ascending=False)[:10], \"Top 10 Items (ALL) Prior to Cleaning\"))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_n.sort_values(by=[\"count\"], ascending=False)[:10], \"Top 10 POS (TRUE) Prior to Cleaning\"))" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_p.sort_values(by=[\"count\"], ascending=False)[:10], \"Top 10 POS (FALSE) Prior to Cleaning\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## STEP 4: TEST EXPERIMENTS!!" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.naive_bayes import GaussianNB\n", "\n", "def get_NB(small_df, labels):\n", " x_train, x_test, y_train, y_test = train_test_split(small_df.values, labels, test_size=0.3, random_state = 109)\n", "\n", " gnb = GaussianNB()\n", " gnb.fit(x_train, y_train)\n", " y_pred = gnb.predict(x_test)\n", " from sklearn import metrics\n", " print(\"Accuracy:\", metrics.accuracy_score(y_test, y_pred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### TEST 1: Parts of speech frequency distribution" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "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", " \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", "
NNNNSVBPJJCCVBZDTRBVBTO...VBGEXJJRPDTRPWPCDRBRMDRBS
PoN
N11.03.03.09.03.02.04.04.04.03.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
N29.01.01.07.05.01.014.08.04.04.0...1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN
N13.02.02.05.01.02.05.0NaNNaN1.0...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "

3 rows × 28 columns

\n", "
" ], "text/plain": [ " NN NNS VBP JJ CC VBZ DT RB VB TO ... VBG EX JJR \\\n", "PoN ... \n", "N 11.0 3.0 3.0 9.0 3.0 2.0 4.0 4.0 4.0 3.0 ... NaN NaN NaN \n", "N 29.0 1.0 1.0 7.0 5.0 1.0 14.0 8.0 4.0 4.0 ... 1.0 NaN NaN \n", "N 13.0 2.0 2.0 5.0 1.0 2.0 5.0 NaN NaN 1.0 ... NaN NaN NaN \n", "\n", " PDT RP WP CD RBR MD RBS \n", "PoN \n", "N NaN NaN NaN NaN NaN NaN NaN \n", "N NaN NaN NaN NaN NaN NaN NaN \n", "N NaN NaN NaN NaN NaN NaN NaN \n", "\n", "[3 rows x 28 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos_df = pd.DataFrame(all_df['pos_dict'].tolist(), all_df['PoN'])\n", "pos_df[:3]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "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", " \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", "
NNNNSVBPJJCCVBZDTRBVBTO...VBGEXJJRPDTRPWPCDRBRMDRBS
PoN
N11339324443...0000000000
N291175114844...1000000000
N13225125001...0000000000
\n", "

3 rows × 28 columns

\n", "
" ], "text/plain": [ " NN NNS VBP JJ CC VBZ DT RB VB TO ... VBG EX JJR PDT RP \\\n", "PoN ... \n", "N 11 3 3 9 3 2 4 4 4 3 ... 0 0 0 0 0 \n", "N 29 1 1 7 5 1 14 8 4 4 ... 1 0 0 0 0 \n", "N 13 2 2 5 1 2 5 0 0 1 ... 0 0 0 0 0 \n", "\n", " WP CD RBR MD RBS \n", "PoN \n", "N 0 0 0 0 0 \n", "N 0 0 0 0 0 \n", "N 0 0 0 0 0 \n", "\n", "[3 rows x 28 columns]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos_df = pos_df.fillna(0).astype(int)\n", "pos_df[:3]" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.5925925925925926\n" ] } ], "source": [ "get_NB(pos_df, pos_df.index)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### TEST 1b: Normalized parts of speech frequency distribution" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "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", " \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", "
NNNNSVBPJJCCVBZDTRBVBTO...EXJJRPDTRPWPCDRBRMDRBStotal
PoN
N11339324443...00000000053
N291175114844...000000000105
N13225125001...00000000045
\n", "

3 rows × 29 columns

\n", "
" ], "text/plain": [ " NN NNS VBP JJ CC VBZ DT RB VB TO ... EX JJR PDT RP WP CD \\\n", "PoN ... \n", "N 11 3 3 9 3 2 4 4 4 3 ... 0 0 0 0 0 0 \n", "N 29 1 1 7 5 1 14 8 4 4 ... 0 0 0 0 0 0 \n", "N 13 2 2 5 1 2 5 0 0 1 ... 0 0 0 0 0 0 \n", "\n", " RBR MD RBS total \n", "PoN \n", "N 0 0 0 53 \n", "N 0 0 0 105 \n", "N 0 0 0 45 \n", "\n", "[3 rows x 29 columns]" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos_df_norm = pos_df.copy()\n", "pos_df_norm = pos_df_norm.apply(lambda x: x/x.sum(), axis=1)\n", "pos_df_norm[:3]\n", "pos_df_norm[1:]\n", "test = pos_df.copy()\n", "test['total'] = test.sum(axis = 1)\n", "test[:3]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "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", " \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", "
NNNNSVBPJJCCVBZDTRBVBTO...VBGEXJJRPDTRPWPCDRBRMDRBS
PoN
N0.2075470.0566040.0566040.1698110.0566040.0377360.0754720.0754720.0754720.056604...0.0000000.00.00.00.00.00.00.00.00.0
N0.2761900.0095240.0095240.0666670.0476190.0095240.1333330.0761900.0380950.038095...0.0095240.00.00.00.00.00.00.00.00.0
N0.2888890.0444440.0444440.1111110.0222220.0444440.1111110.0000000.0000000.022222...0.0000000.00.00.00.00.00.00.00.00.0
\n", "

3 rows × 28 columns

\n", "
" ], "text/plain": [ " NN NNS VBP JJ CC VBZ DT \\\n", "PoN \n", "N 0.207547 0.056604 0.056604 0.169811 0.056604 0.037736 0.075472 \n", "N 0.276190 0.009524 0.009524 0.066667 0.047619 0.009524 0.133333 \n", "N 0.288889 0.044444 0.044444 0.111111 0.022222 0.044444 0.111111 \n", "\n", " RB VB TO ... VBG EX JJR PDT RP WP \\\n", "PoN ... \n", "N 0.075472 0.075472 0.056604 ... 0.000000 0.0 0.0 0.0 0.0 0.0 \n", "N 0.076190 0.038095 0.038095 ... 0.009524 0.0 0.0 0.0 0.0 0.0 \n", "N 0.000000 0.000000 0.022222 ... 0.000000 0.0 0.0 0.0 0.0 0.0 \n", "\n", " CD RBR MD RBS \n", "PoN \n", "N 0.0 0.0 0.0 0.0 \n", "N 0.0 0.0 0.0 0.0 \n", "N 0.0 0.0 0.0 0.0 \n", "\n", "[3 rows x 28 columns]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos_df_norm[:3]" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.5925925925925926\n" ] } ], "source": [ "get_NB(pos_df_norm, pos_df.index)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.4444444444444444\n" ] } ], "source": [ "# small_df\n", "small_df = pos_df_norm.filter(['PRP', 'PRP$','NN'])\n", "get_NB(small_df, pos_df.index)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "337\n", "160\n", "177\n", "0.47477744807121663\n", "0.5252225519287834\n" ] } ], "source": [ "pos_df_n = pos_df[pos_df.index == 'N']\n", "pos_df_p = pos_df[pos_df.index == 'P']\n", "print(pos_df['PRP'].sum())\n", "print(pos_df_n['PRP'].sum())\n", "print(pos_df_p['PRP'].sum())\n", "print(pos_df_n['PRP'].sum()/pos_df['PRP'].sum())\n", "print(pos_df_p['PRP'].sum()/pos_df['PRP'].sum())" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "138\n", "65\n", "73\n" ] } ], "source": [ "pos_df_n = pos_df[pos_df.index == 'N']\n", "pos_df_p = pos_df[pos_df.index == 'P']\n", "print(pos_df['PRP$'].sum())\n", "print(pos_df_n['PRP$'].sum())\n", "print(pos_df_p['PRP$'].sum())" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4.256356712105416\n", "2.060598739935355\n", "2.19575797217006\n" ] } ], "source": [ "pos_df_n = pos_df_norm[pos_df_norm.index == 'N']\n", "pos_df_p = pos_df_norm[pos_df_norm.index == 'P']\n", "print(pos_df_norm['PRP'].sum())\n", "print(pos_df_n['PRP'].sum())\n", "print(pos_df_p['PRP'].sum())" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.04729285235672684\n", "0.04683178954398534\n", "0.047733868960218695\n" ] } ], "source": [ "pos_df_n = pos_df_norm[pos_df_norm.index == 'N']\n", "pos_df_p = pos_df_norm[pos_df_norm.index == 'P']\n", "print(pos_df_norm['PRP'].mean())\n", "print(pos_df_n['PRP'].mean())\n", "print(pos_df_p['PRP'].mean())" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0177106769174579\n", "0.017530735194787515\n", "0.0178827950869687\n" ] } ], "source": [ "pos_df_n = pos_df_norm[pos_df_norm.index == 'N']\n", "pos_df_p = pos_df_norm[pos_df_norm.index == 'P']\n", "print(pos_df_norm['PRP$'].mean())\n", "print(pos_df_n['PRP$'].mean())\n", "print(pos_df_p['PRP$'].mean())" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,...\n", "2 [(the, DT), (worst, JJS), (restaurant, NN), (t...\n", "4 [(i, NNS), (have, VBP), (been, VBN), (to, TO),...\n", "5 [(the, DT), (best, JJS), (restaurant, NN), (i,...\n", "6 [(the, DT), (restaurant, NN), (looked, VBD), (...\n", " ... \n", "87 [(mikes, NNS), (pizza, VBP), (high, JJ), (poin...\n", "88 [(after, IN), (i, JJ), (went, VBD), (shopping,...\n", "89 [(i, NN), (entered, VBD), (the, DT), (restaura...\n", "90 [(carlos, NN), (plate, NN), (shack, NN), (was,...\n", "91 [(olive, JJ), (oil, NN), (garden, NN), (was, V...\n", "Name: pos, Length: 90, dtype: object" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df['pos']" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "all_df['pos_sent'] = all_df.apply(lambda x: [word[1] for word in x['pos']], axis=1)\n", "all_df['pos_sent_str'] = all_df.apply(lambda x: [' '.join(x['pos_sent'])], axis=1)\n", "all_df['pos_no_sw_sent'] = all_df.apply(lambda x: [word[1] for word in x['pos_no_sw']], axis=1)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "list" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(all_df['pos_sent_str'][1])" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "all_df['pos_sent_bi'] = all_df.apply(lambda x: [b for l in x['pos_sent_str'] for b in zip(l.split(\" \")[:-1], l.split(\" \")[1:])], axis=1)\n", "# bigrams = [b for l in text for b in zip(l.split(\" \")[:-1], l.split(\" \")[1:])]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "# all_df['pos_sent_tri'] = all_df.apply(lambda x: [b for l in x['pos_sent_str'] for b in zip(l.split(\" \")[:-1], l.split(\" \")[1:])], axis=1)\n" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "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", " \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", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_swstemmedstemmed_no_sw...pospos_no_swpos_dictpos_dict_no_swbowbow_no_swpos_sentpos_sent_strpos_no_sw_sentpos_sent_bi
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig......[(twin, NN), (trees, NNS), (cicero, VBP), (ny,...[(twin, NN), (trees, NNS), (cicero, VBP), (ny,...{'NN': 11, 'NNS': 3, 'VBP': 3, 'JJ': 9, 'CC': ...{'NN': 7, 'NNS': 5, 'VBP': 3, 'JJ': 10, 'RB': ...{'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ...{'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ...[NN, NNS, VBP, JJ, JJ, NN, NN, CC, JJ, NN, JJ,...[NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN ...[NN, NNS, VBP, JJ, JJ, NN, NN, JJ, NN, JJ, NNS...[(NN, NNS), (NNS, VBP), (VBP, JJ), (JJ, JJ), (...
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49[the, worst, restaur, that, i, have, ever, eat...[worst, restaur, ever, eaten, undoubtedli, pla......[(the, DT), (worst, JJS), (restaurant, NN), (t...[(worst, RBS), (restaurant, NN), (ever, RB), (...{'DT': 14, 'JJS': 1, 'NN': 29, 'IN': 8, 'VBP':...{'RBS': 1, 'NN': 24, 'RB': 5, 'JJ': 9, 'VBN': ...{'the': 6, 'worst': 1, 'restaurant': 1, 'that'...{'worst': 1, 'restaurant': 1, 'ever': 1, 'eate...[DT, JJS, NN, IN, NN, VBP, RB, VBN, IN, VBZ, R...[DT JJS NN IN NN VBP RB VBN IN VBZ RB DT NN VB...[RBS, NN, RB, RB, JJ, NN, VBN, NN, NN, VBD, NN...[(DT, JJS), (JJS, NN), (NN, IN), (IN, NN), (NN...
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23[i, have, been, to, a, asian, restaur, in, new...[asian, restaur, new, york, citi, menu, writte......[(i, NNS), (have, VBP), (been, VBN), (to, TO),...[(asian, JJ), (restaurant, NN), (new, JJ), (yo...{'NNS': 2, 'VBP': 2, 'VBN': 5, 'TO': 1, 'DT': ...{'JJ': 5, 'NN': 11, 'VBN': 2, 'VBP': 1, 'NNS':...{'i': 3, 'have': 1, 'been': 1, 'to': 1, 'a': 3...{'asian': 1, 'restaurant': 1, 'new': 1, 'york'...[NNS, VBP, VBN, TO, DT, JJ, NN, IN, JJ, NN, NN...[NNS VBP VBN TO DT JJ NN IN JJ NN NN DT NN VBZ...[JJ, NN, JJ, NN, NN, NN, VBN, JJ, JJ, VBP, JJ,...[(NNS, VBP), (VBP, VBN), (VBN, TO), (TO, DT), ...
5The best restaurant I have gone to is when I w...N[The best restaurant I have gone to is when I ...6[the, best, restaurant, i, have, gone, to, is,...71[best, restaurant, gone, went, applebee, frien...30[the, best, restaur, i, have, gone, to, is, wh...[best, restaur, gone, went, applebe, friend, s......[(the, DT), (best, JJS), (restaurant, NN), (i,...[(best, RBS), (restaurant, NN), (gone, VBN), (...{'DT': 6, 'JJS': 1, 'NN': 10, 'VBP': 2, 'VBN':...{'RBS': 1, 'NN': 7, 'VBN': 1, 'VBD': 2, 'JJ': ...{'the': 5, 'best': 1, 'restaurant': 2, 'i': 4,...{'best': 1, 'restaurant': 2, 'gone': 1, 'went'...[DT, JJS, NN, NN, VBP, VBN, TO, VBZ, WRB, JJ, ...[DT JJS NN NN VBP VBN TO VBZ WRB JJ VBD TO VB ...[RBS, NN, VBN, VBD, JJ, NNS, NN, RB, NN, JJ, V...[(DT, JJS), (JJS, NN), (NN, NN), (NN, VBP), (V...
\n", "

4 rows × 22 columns

\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "5 The best restaurant I have gone to is when I w... N \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "5 [The best restaurant I have gone to is when I ... 6 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "5 [the, best, restaurant, i, have, gone, to, is,... 71 \n", "\n", " no_sw num_no_sw \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 \n", "5 [best, restaurant, gone, went, applebee, frien... 30 \n", "\n", " stemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaur, that, i, have, ever, eat... \n", "4 [i, have, been, to, a, asian, restaur, in, new... \n", "5 [the, best, restaur, i, have, gone, to, is, wh... \n", "\n", " stemmed_no_sw ... \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... ... \n", "2 [worst, restaur, ever, eaten, undoubtedli, pla... ... \n", "4 [asian, restaur, new, york, citi, menu, writte... ... \n", "5 [best, restaur, gone, went, applebe, friend, s... ... \n", "\n", " pos \\\n", "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,... \n", "2 [(the, DT), (worst, JJS), (restaurant, NN), (t... \n", "4 [(i, NNS), (have, VBP), (been, VBN), (to, TO),... \n", "5 [(the, DT), (best, JJS), (restaurant, NN), (i,... \n", "\n", " pos_no_sw \\\n", "1 [(twin, NN), (trees, NNS), (cicero, VBP), (ny,... \n", "2 [(worst, RBS), (restaurant, NN), (ever, RB), (... \n", "4 [(asian, JJ), (restaurant, NN), (new, JJ), (yo... \n", "5 [(best, RBS), (restaurant, NN), (gone, VBN), (... \n", "\n", " pos_dict \\\n", "1 {'NN': 11, 'NNS': 3, 'VBP': 3, 'JJ': 9, 'CC': ... \n", "2 {'DT': 14, 'JJS': 1, 'NN': 29, 'IN': 8, 'VBP':... \n", "4 {'NNS': 2, 'VBP': 2, 'VBN': 5, 'TO': 1, 'DT': ... \n", "5 {'DT': 6, 'JJS': 1, 'NN': 10, 'VBP': 2, 'VBN':... \n", "\n", " pos_dict_no_sw \\\n", "1 {'NN': 7, 'NNS': 5, 'VBP': 3, 'JJ': 10, 'RB': ... \n", "2 {'RBS': 1, 'NN': 24, 'RB': 5, 'JJ': 9, 'VBN': ... \n", "4 {'JJ': 5, 'NN': 11, 'VBN': 2, 'VBP': 1, 'NNS':... \n", "5 {'RBS': 1, 'NN': 7, 'VBN': 1, 'VBD': 2, 'JJ': ... \n", "\n", " bow \\\n", "1 {'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ... \n", "2 {'the': 6, 'worst': 1, 'restaurant': 1, 'that'... \n", "4 {'i': 3, 'have': 1, 'been': 1, 'to': 1, 'a': 3... \n", "5 {'the': 5, 'best': 1, 'restaurant': 2, 'i': 4,... \n", "\n", " bow_no_sw \\\n", "1 {'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ... \n", "2 {'worst': 1, 'restaurant': 1, 'ever': 1, 'eate... \n", "4 {'asian': 1, 'restaurant': 1, 'new': 1, 'york'... \n", "5 {'best': 1, 'restaurant': 2, 'gone': 1, 'went'... \n", "\n", " pos_sent \\\n", "1 [NN, NNS, VBP, JJ, JJ, NN, NN, CC, JJ, NN, JJ,... \n", "2 [DT, JJS, NN, IN, NN, VBP, RB, VBN, IN, VBZ, R... \n", "4 [NNS, VBP, VBN, TO, DT, JJ, NN, IN, JJ, NN, NN... \n", "5 [DT, JJS, NN, NN, VBP, VBN, TO, VBZ, WRB, JJ, ... \n", "\n", " pos_sent_str \\\n", "1 [NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN ... \n", "2 [DT JJS NN IN NN VBP RB VBN IN VBZ RB DT NN VB... \n", "4 [NNS VBP VBN TO DT JJ NN IN JJ NN NN DT NN VBZ... \n", "5 [DT JJS NN NN VBP VBN TO VBZ WRB JJ VBD TO VB ... \n", "\n", " pos_no_sw_sent \\\n", "1 [NN, NNS, VBP, JJ, JJ, NN, NN, JJ, NN, JJ, NNS... \n", "2 [RBS, NN, RB, RB, JJ, NN, VBN, NN, NN, VBD, NN... \n", "4 [JJ, NN, JJ, NN, NN, NN, VBN, JJ, JJ, VBP, JJ,... \n", "5 [RBS, NN, VBN, VBD, JJ, NNS, NN, RB, NN, JJ, V... \n", "\n", " pos_sent_bi \n", "1 [(NN, NNS), (NNS, VBP), (VBP, JJ), (JJ, JJ), (... \n", "2 [(DT, JJS), (JJS, NN), (NN, IN), (IN, NN), (NN... \n", "4 [(NNS, VBP), (VBP, VBN), (VBN, TO), (TO, DT), ... \n", "5 [(DT, JJS), (JJS, NN), (NN, NN), (NN, VBP), (V... \n", "\n", "[4 rows x 22 columns]" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df[:4]" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN VBZ RB JJ RB CC JJ VB JJ TO VB DT NN TO VB NN IN RB RB IN PRP VBP VBN IN DT JJ NNS DT NN VBP JJ IN PRP$ NNS CC NN TO VB NN NN']" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test = all_df['pos_sent_str'][1]\n", "test" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('NN', 'NNS'), ('NNS', 'VBP'), ('VBP', 'JJ'), ('JJ', 'JJ'), ('JJ', 'NN'), ('NN', 'NN'), ('NN', 'CC'), ('CC', 'JJ'), ('JJ', 'NN'), ('NN', 'JJ'), ('JJ', 'VBZ'), ('VBZ', 'DT'), ('DT', 'NN'), ('NN', 'VBZ'), ('VBZ', 'RB'), ('RB', 'JJ'), ('JJ', 'RB'), ('RB', 'CC'), ('CC', 'JJ'), ('JJ', 'VB'), ('VB', 'JJ'), ('JJ', 'TO'), ('TO', 'VB'), ('VB', 'DT'), ('DT', 'NN'), ('NN', 'TO'), ('TO', 'VB'), ('VB', 'NN'), ('NN', 'IN'), ('IN', 'RB'), ('RB', 'RB'), ('RB', 'IN'), ('IN', 'PRP'), ('PRP', 'VBP'), ('VBP', 'VBN'), ('VBN', 'IN'), ('IN', 'DT'), ('DT', 'JJ'), ('JJ', 'NNS'), ('NNS', 'DT'), ('DT', 'NN'), ('NN', 'VBP'), ('VBP', 'JJ'), ('JJ', 'IN'), ('IN', 'PRP$'), ('PRP$', 'NNS'), ('NNS', 'CC'), ('CC', 'NN'), ('NN', 'TO'), ('TO', 'VB'), ('VB', 'NN'), ('NN', 'NN')]\n" ] } ], "source": [ "text = [\"this is a sentence\", \"so is this one\"]\n", "test2 = [\"NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN VBZ RB JJ RB CC JJ VB JJ TO VB DT NN TO VB NN IN RB RB IN\", \"PRP VBP VBN IN DT JJ NNS DT NN VBP JJ IN PRP$ NNS CC NN TO VB NN NN\"]\n", "test1 = ['NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN VBZ RB JJ RB CC JJ VB JJ TO VB DT NN TO VB NN IN RB RB IN PRP VBP VBN IN DT JJ NNS DT NN VBP JJ IN PRP$ NNS CC NN TO VB NN NN']\n", "bigrams = [b for l in test1 for b in zip(l.split(\" \")[:-1], l.split(\" \")[1:])]\n", "print(bigrams)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('NN', 'NNS'), ('NNS', 'VBP'), ('VBP', 'JJ'), ('JJ', 'JJ'), ('JJ', 'NN')]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# all_bigrams = [bigram for bigram in all_df.pos_sent_bi.tolist()]\n", "# flat_list = [item for sublist in l for item in sublist]\n", "all_df_n = all_df[all_df['PoN'] == 'N']\n", "all_df_p = all_df[all_df['PoN'] == 'P']\n", "all_bigrams = [bigram for sublist in all_df.pos_sent_bi.tolist() for bigram in sublist]\n", "all_bigrams_n = [bigram for sublist in all_df_n.pos_sent_bi.tolist() for bigram in sublist]\n", "all_bigrams_p = [bigram for sublist in all_df_p.pos_sent_bi.tolist() for bigram in sublist]\n", "all_bigrams[:5]" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "count = Counter(all_bigrams)\n", "count_n = Counter(all_bigrams_n)\n", "count_p = Counter(all_bigrams_p)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['VBZ'], dtype='\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_p.sort_values(by=[\"count\"], ascending=False)[:10], \"Top 10 POS Bigrams (ALL)\"))" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_n.sort_values(by=[\"count\"], ascending=False)[:10], \"Top 10 POS Bigrams (TRUE)\"))" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(bar_plot(df_p.sort_values(by=[\"count\"], ascending=False)[:10], \"Top 10 POS Bigrams (FALSE)\"))" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "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", " \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", " \n", " \n", " \n", " \n", " \n", "
(NN, NNS)(NNS, VBP)(VBP, JJ)(JJ, JJ)(JJ, NN)(NN, NN)(NN, CC)(CC, JJ)(NN, JJ)(JJ, VBZ)...(WDT, MD)(WRB, MD)(MD, DT)(NNS, JJR)(JJR, EX)(VBP, MD)(JJS, WRB)(CD, RB)(JJS, VBG)(RP, TO)
PoN
N1121221211...0000000000
N1000243000...0000000000
N0100240100...0000000000
N0000410100...0000000000
N0000101000...0000000000
\n", "

5 rows × 389 columns

\n", "
" ], "text/plain": [ " (NN, NNS) (NNS, VBP) (VBP, JJ) (JJ, JJ) (JJ, NN) (NN, NN) (NN, CC) \\\n", "PoN \n", "N 1 1 2 1 2 2 1 \n", "N 1 0 0 0 2 4 3 \n", "N 0 1 0 0 2 4 0 \n", "N 0 0 0 0 4 1 0 \n", "N 0 0 0 0 1 0 1 \n", "\n", " (CC, JJ) (NN, JJ) (JJ, VBZ) ... (WDT, MD) (WRB, MD) (MD, DT) \\\n", "PoN ... \n", "N 2 1 1 ... 0 0 0 \n", "N 0 0 0 ... 0 0 0 \n", "N 1 0 0 ... 0 0 0 \n", "N 1 0 0 ... 0 0 0 \n", "N 0 0 0 ... 0 0 0 \n", "\n", " (NNS, JJR) (JJR, EX) (VBP, MD) (JJS, WRB) (CD, RB) (JJS, VBG) \\\n", "PoN \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "\n", " (RP, TO) \n", "PoN \n", "N 0 \n", "N 0 \n", "N 0 \n", "N 0 \n", "N 0 \n", "\n", "[5 rows x 389 columns]" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_df['bow_pos'] = all_df.apply(lambda x: Counter(x['pos_sent_bi']), axis=1)\n", "\n", "new_df = pd.DataFrame(all_df['bow_pos'].tolist(), all_df['PoN'])\n", "new_df = new_df.fillna(0).astype(int)\n", "new_df[:5]" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.4444444444444444\n" ] } ], "source": [ "get_NB(new_df, new_df.index)" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.48148148148148145\n" ] }, { "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", " \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", " \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", " \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", "
(NN, NNS)(NNS, VBP)(VBP, JJ)(JJ, JJ)(JJ, NN)(NN, NN)(NN, CC)(CC, JJ)(NN, JJ)(JJ, VBZ)...(WDT, MD)(WRB, MD)(MD, DT)(NNS, JJR)(JJR, EX)(VBP, MD)(JJS, WRB)(CD, RB)(JJS, VBG)(RP, TO)
PoN
N0.0192310.0192310.0384620.0192310.0384620.0384620.0192310.0384620.0192310.019231...0.00.00.00.00.00.00.000000.0000000.0000000.00000
N0.0096150.0000000.0000000.0000000.0192310.0384620.0288460.0000000.0000000.000000...0.00.00.00.00.00.00.000000.0000000.0000000.00000
N0.0000000.0227270.0000000.0000000.0454550.0909090.0000000.0227270.0000000.000000...0.00.00.00.00.00.00.000000.0000000.0000000.00000
N0.0000000.0000000.0000000.0000000.0571430.0142860.0000000.0142860.0000000.000000...0.00.00.00.00.00.00.000000.0000000.0000000.00000
N0.0000000.0000000.0000000.0000000.0285710.0000000.0285710.0000000.0000000.000000...0.00.00.00.00.00.00.000000.0000000.0000000.00000
..................................................................
P0.0000000.0238100.0238100.0000000.0714290.0238100.0238100.0000000.0238100.000000...0.00.00.00.00.00.00.023810.0000000.0000000.00000
P0.0000000.0000000.0000000.0000000.0000000.0434780.0000000.0000000.0000000.000000...0.00.00.00.00.00.00.000000.0000000.0000000.00000
P0.0000000.0000000.0000000.0000000.0306120.0204080.0204080.0102040.0102040.000000...0.00.00.00.00.00.00.000000.0102040.0000000.00000
P0.0000000.0064940.0000000.0129870.0389610.0714290.0259740.0000000.0000000.000000...0.00.00.00.00.00.00.000000.0000000.0064940.00000
P0.0000000.0000000.0238100.0000000.1190480.0476190.0238100.0238100.0000000.000000...0.00.00.00.00.00.00.023810.0000000.0000000.02381
\n", "

90 rows × 389 columns

\n", "
" ], "text/plain": [ " (NN, NNS) (NNS, VBP) (VBP, JJ) (JJ, JJ) (JJ, NN) (NN, NN) (NN, CC) \\\n", "PoN \n", "N 0.019231 0.019231 0.038462 0.019231 0.038462 0.038462 0.019231 \n", "N 0.009615 0.000000 0.000000 0.000000 0.019231 0.038462 0.028846 \n", "N 0.000000 0.022727 0.000000 0.000000 0.045455 0.090909 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 0.057143 0.014286 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 0.028571 0.000000 0.028571 \n", ".. ... ... ... ... ... ... ... \n", "P 0.000000 0.023810 0.023810 0.000000 0.071429 0.023810 0.023810 \n", "P 0.000000 0.000000 0.000000 0.000000 0.000000 0.043478 0.000000 \n", "P 0.000000 0.000000 0.000000 0.000000 0.030612 0.020408 0.020408 \n", "P 0.000000 0.006494 0.000000 0.012987 0.038961 0.071429 0.025974 \n", "P 0.000000 0.000000 0.023810 0.000000 0.119048 0.047619 0.023810 \n", "\n", " (CC, JJ) (NN, JJ) (JJ, VBZ) ... (WDT, MD) (WRB, MD) (MD, DT) \\\n", "PoN ... \n", "N 0.038462 0.019231 0.019231 ... 0.0 0.0 0.0 \n", "N 0.000000 0.000000 0.000000 ... 0.0 0.0 0.0 \n", "N 0.022727 0.000000 0.000000 ... 0.0 0.0 0.0 \n", "N 0.014286 0.000000 0.000000 ... 0.0 0.0 0.0 \n", "N 0.000000 0.000000 0.000000 ... 0.0 0.0 0.0 \n", ".. ... ... ... ... ... ... ... \n", "P 0.000000 0.023810 0.000000 ... 0.0 0.0 0.0 \n", "P 0.000000 0.000000 0.000000 ... 0.0 0.0 0.0 \n", "P 0.010204 0.010204 0.000000 ... 0.0 0.0 0.0 \n", "P 0.000000 0.000000 0.000000 ... 0.0 0.0 0.0 \n", "P 0.023810 0.000000 0.000000 ... 0.0 0.0 0.0 \n", "\n", " (NNS, JJR) (JJR, EX) (VBP, MD) (JJS, WRB) (CD, RB) (JJS, VBG) \\\n", "PoN \n", "N 0.0 0.0 0.0 0.00000 0.000000 0.000000 \n", "N 0.0 0.0 0.0 0.00000 0.000000 0.000000 \n", "N 0.0 0.0 0.0 0.00000 0.000000 0.000000 \n", "N 0.0 0.0 0.0 0.00000 0.000000 0.000000 \n", "N 0.0 0.0 0.0 0.00000 0.000000 0.000000 \n", ".. ... ... ... ... ... ... \n", "P 0.0 0.0 0.0 0.02381 0.000000 0.000000 \n", "P 0.0 0.0 0.0 0.00000 0.000000 0.000000 \n", "P 0.0 0.0 0.0 0.00000 0.010204 0.000000 \n", "P 0.0 0.0 0.0 0.00000 0.000000 0.006494 \n", "P 0.0 0.0 0.0 0.02381 0.000000 0.000000 \n", "\n", " (RP, TO) \n", "PoN \n", "N 0.00000 \n", "N 0.00000 \n", "N 0.00000 \n", "N 0.00000 \n", "N 0.00000 \n", ".. ... \n", "P 0.00000 \n", "P 0.00000 \n", "P 0.00000 \n", "P 0.00000 \n", "P 0.02381 \n", "\n", "[90 rows x 389 columns]" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bi_df_norm = new_df.copy()\n", "bi_df_norm = bi_df_norm.apply(lambda x: x/x.sum(), axis=1)\n", "# bi_df_norm = bi_df_norm.apply(lambda x: x/x.sum(), axis=1)\n", "bi_df_norm\n", "\n", "get_NB(bi_df_norm, bi_df_norm.index)\n", "bi_df_norm" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "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", " \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", "
wordcount
11(DT, NN)245
38(JJ, NN)151
0(NN, NN)125
44(NN, IN)114
1(NN, VBD)112
43(IN, DT)111
5(NN, CC)77
19(TO, VB)76
37(DT, JJ)62
26(RB, JJ)61
105(PRP, VBD)60
29(IN, NN)57
2(VBD, DT)55
25(VBD, RB)45
75(PRP$, NN)44
12(NN, VBZ)42
83(NN, RB)38
86(IN, JJ)37
39(CC, DT)36
65(JJ, CC)34
\n", "
" ], "text/plain": [ " word count\n", "11 (DT, NN) 245\n", "38 (JJ, NN) 151\n", "0 (NN, NN) 125\n", "44 (NN, IN) 114\n", "1 (NN, VBD) 112\n", "43 (IN, DT) 111\n", "5 (NN, CC) 77\n", "19 (TO, VB) 76\n", "37 (DT, JJ) 62\n", "26 (RB, JJ) 61\n", "105 (PRP, VBD) 60\n", "29 (IN, NN) 57\n", "2 (VBD, DT) 55\n", "25 (VBD, RB) 45\n", "75 (PRP$, NN) 44\n", "12 (NN, VBZ) 42\n", "83 (NN, RB) 38\n", "86 (IN, JJ) 37\n", "39 (CC, DT) 36\n", "65 (JJ, CC) 34" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_p.sort_values(by=[\"count\"], ascending=False)[:20]" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "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", " \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", "
wordcount
11(DT, NN)230
4(JJ, NN)145
24(NN, IN)122
49(NN, VBD)106
5(NN, NN)102
32(IN, DT)96
33(DT, JJ)76
44(IN, NN)65
20(TO, VB)59
12(NN, VBZ)56
14(RB, JJ)53
59(PRP, VBD)48
6(NN, CC)48
60(VBD, RB)47
79(NN, DT)41
52(VBD, DT)37
28(IN, PRP)36
61(JJ, CC)35
74(VBD, JJ)34
57(PRP$, NN)33
\n", "
" ], "text/plain": [ " word count\n", "11 (DT, NN) 230\n", "4 (JJ, NN) 145\n", "24 (NN, IN) 122\n", "49 (NN, VBD) 106\n", "5 (NN, NN) 102\n", "32 (IN, DT) 96\n", "33 (DT, JJ) 76\n", "44 (IN, NN) 65\n", "20 (TO, VB) 59\n", "12 (NN, VBZ) 56\n", "14 (RB, JJ) 53\n", "59 (PRP, VBD) 48\n", "6 (NN, CC) 48\n", "60 (VBD, RB) 47\n", "79 (NN, DT) 41\n", "52 (VBD, DT) 37\n", "28 (IN, PRP) 36\n", "61 (JJ, CC) 35\n", "74 (VBD, JJ) 34\n", "57 (PRP$, NN) 33" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_n.sort_values(by=[\"count\"], ascending=False)[:20]" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "from nltk import word_tokenize \n", "from nltk.util import ngrams\n", "\n", "text = ['cant railway station', 'citadel hotel', 'police stn']\n", "def get_ngram(line, num):\n", " token = nltk.word_tokenize(line)\n", " grams = list(ngrams(token, num)) \n", " return(grams)\n", "\n", "# all_df['trigrams'] = all_df.apply(lambda x: get_ngram(x[0],3), axis=1)\n", "all_df['trigrams'] = all_df.apply(lambda x: get_ngram(' '.join(x['tokens']),3), axis=1)\n", "all_df['trigrams_pos'] = all_df.apply(lambda x: get_ngram(' '.join(x['pos_sent']),3), axis=1)\n", "\n", "# ' '.join(all_df['tokens'][1])\n", " \n", "# counter = all_df['trigrams_pos']" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "all_df['trigrams_feats'] = all_df.apply(lambda x: ['_'.join(trigram) for trigram in x['trigrams_pos']], axis=1)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['JJ_NN_IN', 'NN_IN_DT', 'NN_IN_NN'], dtype='\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", " \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", " \n", " \n", " \n", " \n", " \n", "
NN_NNS_VBPNNS_VBP_JJVBP_JJ_JJJJ_JJ_NNJJ_NN_NNNN_NN_CCNN_CC_JJCC_JJ_NNJJ_NN_JJNN_JJ_VBZ...RB_NN_NNVBD_RP_PRPPRP_TO_JJTO_JJ_JJCC_VB_NNJJS_WRB_NNNN_VBP_RPVBP_RP_TORP_TO_VBVBD_PRP_CC
PoN
N1111111111...0000000000
N0000210000...0000000000
N0000100000...0000000000
N0000000000...0000000000
N0000000000...0000000000
\n", "

5 rows × 1683 columns

\n", "" ], "text/plain": [ " NN_NNS_VBP NNS_VBP_JJ VBP_JJ_JJ JJ_JJ_NN JJ_NN_NN NN_NN_CC \\\n", "PoN \n", "N 1 1 1 1 1 1 \n", "N 0 0 0 0 2 1 \n", "N 0 0 0 0 1 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "\n", " NN_CC_JJ CC_JJ_NN JJ_NN_JJ NN_JJ_VBZ ... RB_NN_NN VBD_RP_PRP \\\n", "PoN ... \n", "N 1 1 1 1 ... 0 0 \n", "N 0 0 0 0 ... 0 0 \n", "N 0 0 0 0 ... 0 0 \n", "N 0 0 0 0 ... 0 0 \n", "N 0 0 0 0 ... 0 0 \n", "\n", " PRP_TO_JJ TO_JJ_JJ CC_VB_NN JJS_WRB_NN NN_VBP_RP VBP_RP_TO \\\n", "PoN \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "N 0 0 0 0 0 0 \n", "\n", " RP_TO_VB VBD_PRP_CC \n", "PoN \n", "N 0 0 \n", "N 0 0 \n", "N 0 0 \n", "N 0 0 \n", "N 0 0 \n", "\n", "[5 rows x 1683 columns]" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_df = pd.DataFrame(all_df['trigrams_feats_bow'].tolist(), all_df['PoN'])\n", "new_df = new_df.fillna(0).astype(int)\n", "new_df[:5]\n" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.5185185185185185\n" ] } ], "source": [ "get_NB(new_df, new_df.index)" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.5185185185185185\n" ] }, { "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", " \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", " \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", " \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", "
NN_NNS_VBPNNS_VBP_JJVBP_JJ_JJJJ_JJ_NNJJ_NN_NNNN_NN_CCNN_CC_JJCC_JJ_NNJJ_NN_JJNN_JJ_VBZ...RB_NN_NNVBD_RP_PRPPRP_TO_JJTO_JJ_JJCC_VB_NNJJS_WRB_NNNN_VBP_RPVBP_RP_TORP_TO_VBVBD_PRP_CC
PoN
N0.0192310.0192310.0192310.0192310.0192310.0192310.0192310.0192310.0192310.019231...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
N0.0000000.0000000.0000000.0000000.0188680.0094340.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
N0.0000000.0000000.0000000.0000000.0232560.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
N0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
N0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
..................................................................
P0.0000000.0243900.0000000.0000000.0000000.0243900.0000000.0000000.0243900.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
P0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
P0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.000000.000000.000000.000000.00000
P0.0000000.0000000.0000000.0123460.0308640.0123460.0000000.0000000.0000000.000000...0.0061730.0061730.0061730.0061730.0061730.000000.000000.000000.000000.00000
P0.0000000.0000000.0000000.0000000.0487800.0000000.0243900.0243900.0000000.000000...0.0000000.0000000.0000000.0000000.0000000.024390.024390.024390.024390.02439
\n", "

90 rows × 1683 columns

\n", "
" ], "text/plain": [ " NN_NNS_VBP NNS_VBP_JJ VBP_JJ_JJ JJ_JJ_NN JJ_NN_NN NN_NN_CC \\\n", "PoN \n", "N 0.019231 0.019231 0.019231 0.019231 0.019231 0.019231 \n", "N 0.000000 0.000000 0.000000 0.000000 0.018868 0.009434 \n", "N 0.000000 0.000000 0.000000 0.000000 0.023256 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", ".. ... ... ... ... ... ... \n", "P 0.000000 0.024390 0.000000 0.000000 0.000000 0.024390 \n", "P 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "P 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "P 0.000000 0.000000 0.000000 0.012346 0.030864 0.012346 \n", "P 0.000000 0.000000 0.000000 0.000000 0.048780 0.000000 \n", "\n", " NN_CC_JJ CC_JJ_NN JJ_NN_JJ NN_JJ_VBZ ... RB_NN_NN VBD_RP_PRP \\\n", "PoN ... \n", "N 0.019231 0.019231 0.019231 0.019231 ... 0.000000 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 \n", "N 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 \n", ".. ... ... ... ... ... ... ... \n", "P 0.000000 0.000000 0.024390 0.000000 ... 0.000000 0.000000 \n", "P 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 \n", "P 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.000000 \n", "P 0.000000 0.000000 0.000000 0.000000 ... 0.006173 0.006173 \n", "P 0.024390 0.024390 0.000000 0.000000 ... 0.000000 0.000000 \n", "\n", " PRP_TO_JJ TO_JJ_JJ CC_VB_NN JJS_WRB_NN NN_VBP_RP VBP_RP_TO \\\n", "PoN \n", "N 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "N 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "N 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "N 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "N 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", ".. ... ... ... ... ... ... \n", "P 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "P 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "P 0.000000 0.000000 0.000000 0.00000 0.00000 0.00000 \n", "P 0.006173 0.006173 0.006173 0.00000 0.00000 0.00000 \n", "P 0.000000 0.000000 0.000000 0.02439 0.02439 0.02439 \n", "\n", " RP_TO_VB VBD_PRP_CC \n", "PoN \n", "N 0.00000 0.00000 \n", "N 0.00000 0.00000 \n", "N 0.00000 0.00000 \n", "N 0.00000 0.00000 \n", "N 0.00000 0.00000 \n", ".. ... ... \n", "P 0.00000 0.00000 \n", "P 0.00000 0.00000 \n", "P 0.00000 0.00000 \n", "P 0.00000 0.00000 \n", "P 0.02439 0.02439 \n", "\n", "[90 rows x 1683 columns]" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tri_df_norm = new_df.copy()\n", "tri_df_norm = tri_df_norm.apply(lambda x: x/x.sum(), axis=1)\n", "tri_df_norm\n", "\n", "get_NB(tri_df_norm, tri_df_norm.index)\n", "tri_df_norm" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "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", " \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", " \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", " \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", "
0PoNsentencesnum_sentencestokensnum_tokensno_swnum_no_swstemmedstemmed_no_sw...bow_no_swpos_sentpos_sent_strpos_no_sw_sentpos_sent_bibow_postrigramstrigrams_postrigrams_featstrigrams_feats_bow
1Twin Trees Cicero NY HUGE salad bar and high q...N[Twin Trees Cicero NY HUGE salad bar and high ...4[twin, trees, cicero, ny, huge, salad, bar, an...53[twin, trees, cicero, ny, huge, salad, bar, hi...32[twin, tree, cicero, ny, huge, salad, bar, and...[twin, tree, cicero, ny, huge, salad, bar, hig......{'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ...[NN, NNS, VBP, JJ, JJ, NN, NN, CC, JJ, NN, JJ,...[NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN ...[NN, NNS, VBP, JJ, JJ, NN, NN, JJ, NN, JJ, NNS...[(NN, NNS), (NNS, VBP), (VBP, JJ), (JJ, JJ), (...{('NN', 'NNS'): 1, ('NNS', 'VBP'): 1, ('VBP', ...[(twin, trees, cicero), (trees, cicero, ny), (...[(NN, NNS, VBP), (NNS, VBP, JJ), (VBP, JJ, JJ)...[NN_NNS_VBP, NNS_VBP_JJ, VBP_JJ_JJ, JJ_JJ_NN, ...{'NN_NNS_VBP': 1, 'NNS_VBP_JJ': 1, 'VBP_JJ_JJ'...
2The worst restaurant that I have ever eaten in...N[The worst restaurant that I have ever eaten i...5[the, worst, restaurant, that, i, have, ever, ...105[worst, restaurant, ever, eaten, undoubtedly, ...49[the, worst, restaur, that, i, have, ever, eat...[worst, restaur, ever, eaten, undoubtedli, pla......{'worst': 1, 'restaurant': 1, 'ever': 1, 'eate...[DT, JJS, NN, IN, NN, VBP, RB, VBN, IN, VBZ, R...[DT JJS NN IN NN VBP RB VBN IN VBZ RB DT NN VB...[RBS, NN, RB, RB, JJ, NN, VBN, NN, NN, VBD, NN...[(DT, JJS), (JJS, NN), (NN, IN), (IN, NN), (NN...{('DT', 'JJS'): 1, ('JJS', 'NN'): 1, ('NN', 'I...[(the, worst, restaurant), (worst, restaurant,...[(DT, JJS, NN), (JJS, NN, IN), (NN, IN, NN), (...[DT_JJS_NN, JJS_NN_IN, NN_IN_NN, IN_NN_VBP, NN...{'DT_JJS_NN': 1, 'JJS_NN_IN': 1, 'NN_IN_NN': 2...
4I have been to a Asian restaurant in New York ...N[I have been to a Asian restaurant in New York...4[i, have, been, to, a, asian, restaurant, in, ...45[asian, restaurant, new, york, city, menu, wri...23[i, have, been, to, a, asian, restaur, in, new...[asian, restaur, new, york, citi, menu, writte......{'asian': 1, 'restaurant': 1, 'new': 1, 'york'...[NNS, VBP, VBN, TO, DT, JJ, NN, IN, JJ, NN, NN...[NNS VBP VBN TO DT JJ NN IN JJ NN NN DT NN VBZ...[JJ, NN, JJ, NN, NN, NN, VBN, JJ, JJ, VBP, JJ,...[(NNS, VBP), (VBP, VBN), (VBN, TO), (TO, DT), ...{('NNS', 'VBP'): 1, ('VBP', 'VBN'): 1, ('VBN',...[(i, have, been), (have, been, to), (been, to,...[(NNS, VBP, VBN), (VBP, VBN, TO), (VBN, TO, DT...[NNS_VBP_VBN, VBP_VBN_TO, VBN_TO_DT, TO_DT_JJ,...{'NNS_VBP_VBN': 1, 'VBP_VBN_TO': 1, 'VBN_TO_DT...
5The best restaurant I have gone to is when I w...N[The best restaurant I have gone to is when I ...6[the, best, restaurant, i, have, gone, to, is,...71[best, restaurant, gone, went, applebee, frien...30[the, best, restaur, i, have, gone, to, is, wh...[best, restaur, gone, went, applebe, friend, s......{'best': 1, 'restaurant': 2, 'gone': 1, 'went'...[DT, JJS, NN, NN, VBP, VBN, TO, VBZ, WRB, JJ, ...[DT JJS NN NN VBP VBN TO VBZ WRB JJ VBD TO VB ...[RBS, NN, VBN, VBD, JJ, NNS, NN, RB, NN, JJ, V...[(DT, JJS), (JJS, NN), (NN, NN), (NN, VBP), (V...{('DT', 'JJS'): 1, ('JJS', 'NN'): 1, ('NN', 'N...[(the, best, restaurant), (best, restaurant, i...[(DT, JJS, NN), (JJS, NN, NN), (NN, NN, VBP), ...[DT_JJS_NN, JJS_NN_NN, NN_NN_VBP, NN_VBP_VBN, ...{'DT_JJS_NN': 1, 'JJS_NN_NN': 1, 'NN_NN_VBP': ...
6The restaurant looked pretty good the people a...N[The restaurant looked pretty good the people ...3[the, restaurant, looked, pretty, good, the, p...36[restaurant, looked, pretty, good, people, aro...19[the, restaur, look, pretti, good, the, peopl,...[restaur, look, pretti, good, peopl, around, a......{'restaurant': 1, 'looked': 1, 'pretty': 1, 'g...[DT, NN, VBD, RB, JJ, DT, NNS, IN, PRP, DT, NN...[DT NN VBD RB JJ DT NNS IN PRP DT NN CC VBD RB...[NN, VBD, RB, JJ, NNS, IN, NN, VBD, RB, NN, JJ...[(DT, NN), (NN, VBD), (VBD, RB), (RB, JJ), (JJ...{('DT', 'NN'): 5, ('NN', 'VBD'): 3, ('VBD', 'R...[(the, restaurant, looked), (restaurant, looke...[(DT, NN, VBD), (NN, VBD, RB), (VBD, RB, JJ), ...[DT_NN_VBD, NN_VBD_RB, VBD_RB_JJ, RB_JJ_DT, JJ...{'DT_NN_VBD': 3, 'NN_VBD_RB': 1, 'VBD_RB_JJ': ...
..................................................................
87Mikes Pizza High Point NY Service was very slo...P[Mikes Pizza High Point NY Service was very sl...4[mikes, pizza, high, point, ny, service, was, ...43[mikes, pizza, high, point, ny, service, slow,...26[mike, pizza, high, point, ny, servic, wa, ver...[mike, pizza, high, point, ny, servic, slow, q......{'mikes': 1, 'pizza': 2, 'high': 1, 'point': 1...[NNS, VBP, JJ, NN, JJ, NN, VBD, RB, JJ, CC, DT...[NNS VBP JJ NN JJ NN VBD RB JJ CC DT NN VBD JJ...[NNS, VBP, JJ, NN, JJ, NN, JJ, NN, NN, MD, VB,...[(NNS, VBP), (VBP, JJ), (JJ, NN), (NN, JJ), (J...{('NNS', 'VBP'): 1, ('VBP', 'JJ'): 1, ('JJ', '...[(mikes, pizza, high), (pizza, high, point), (...[(NNS, VBP, JJ), (VBP, JJ, NN), (JJ, NN, JJ), ...[NNS_VBP_JJ, VBP_JJ_NN, JJ_NN_JJ, NN_JJ_NN, JJ...{'NNS_VBP_JJ': 1, 'VBP_JJ_NN': 1, 'JJ_NN_JJ': ...
88After I went shopping with some of my friend w...P[After I went shopping with some of my friend ...2[after, i, went, shopping, with, some, of, my,...24[went, shopping, friend, went, dodo, restauran...11[after, i, went, shop, with, some, of, my, fri...[went, shop, friend, went, dodo, restaur, dinn......{'went': 2, 'shopping': 1, 'friend': 1, 'dodo'...[IN, JJ, VBD, VBG, IN, DT, IN, PRP$, NN, PRP, ...[IN JJ VBD VBG IN DT IN PRP$ NN PRP VBD TO VB ...[VBD, VBG, NN, VBD, JJ, NN, NN, VBD, RB, CD, NNS][(IN, JJ), (JJ, VBD), (VBD, VBG), (VBG, IN), (...{('IN', 'JJ'): 1, ('JJ', 'VBD'): 1, ('VBD', 'V...[(after, i, went), (i, went, shopping), (went,...[(IN, JJ, VBD), (JJ, VBD, VBG), (VBD, VBG, IN)...[IN_JJ_VBD, JJ_VBD_VBG, VBD_VBG_IN, VBG_IN_DT,...{'IN_JJ_VBD': 1, 'JJ_VBD_VBG': 1, 'VBD_VBG_IN'...
89I entered the restaurant and a waitress came b...P[I entered the restaurant and a waitress came ...5[i, entered, the, restaurant, and, a, waitress...99[entered, restaurant, waitress, came, blanking...49[i, enter, the, restaur, and, a, waitress, cam...[enter, restaur, waitress, came, blank, look, ......{'entered': 1, 'restaurant': 1, 'waitress': 2,...[NN, VBD, DT, NN, CC, DT, NN, VBD, IN, IN, DT,...[NN VBD DT NN CC DT NN VBD IN IN DT NN VBG CC ...[VBN, NN, NN, VBD, VBG, VBG, JJ, NN, NN, VBD, ...[(NN, VBD), (VBD, DT), (DT, NN), (NN, CC), (CC...{('NN', 'VBD'): 5, ('VBD', 'DT'): 4, ('DT', 'N...[(i, entered, the), (entered, the, restaurant)...[(NN, VBD, DT), (VBD, DT, NN), (DT, NN, CC), (...[NN_VBD_DT, VBD_DT_NN, DT_NN_CC, NN_CC_DT, CC_...{'NN_VBD_DT': 1, 'VBD_DT_NN': 3, 'DT_NN_CC': 1...
90Carlos Plate Shack was the worst dining experi...P[Carlos Plate Shack was the worst dining exper...9[carlos, plate, shack, was, the, worst, dining...155[carlos, plate, shack, worst, dining, experien...88[carlo, plate, shack, wa, the, worst, dine, ex...[carlo, plate, shack, worst, dine, experi, lif......{'carlos': 1, 'plate': 6, 'shack': 1, 'worst':...[NN, NN, NN, VBD, DT, JJS, VBG, NN, IN, PRP$, ...[NN NN NN VBD DT JJS VBG NN IN PRP$ NN IN PRP$...[NN, NN, NN, JJS, VBG, NN, NN, IN, JJ, NN, NN,...[(NN, NN), (NN, NN), (NN, VBD), (VBD, DT), (DT...{('NN', 'NN'): 11, ('NN', 'VBD'): 6, ('VBD', '...[(carlos, plate, shack), (plate, shack, was), ...[(NN, NN, NN), (NN, NN, VBD), (NN, VBD, DT), (...[NN_NN_NN, NN_NN_VBD, NN_VBD_DT, VBD_DT_JJS, D...{'NN_NN_NN': 2, 'NN_NN_VBD': 3, 'NN_VBD_DT': 2...
91Olive Oil Garden was very disappointing. I exp...P[Olive Oil Garden was very disappointing., I e...5[olive, oil, garden, was, very, disappointing,...43[olive, oil, garden, disappointing, expect, go...23[oliv, oil, garden, wa, veri, disappoint, i, e...[oliv, oil, garden, disappoint, expect, good, ......{'olive': 2, 'oil': 2, 'garden': 2, 'disappoin...[JJ, NN, NN, VBD, RB, JJ, NN, VBP, JJ, NN, CC,...[JJ NN NN VBD RB JJ NN VBP JJ NN CC JJ NN IN J...[JJ, NN, NN, NN, VBP, JJ, NN, JJ, NN, JJS, VB,...[(JJ, NN), (NN, NN), (NN, VBD), (VBD, RB), (RB...{('JJ', 'NN'): 5, ('NN', 'NN'): 2, ('NN', 'VBD...[(olive, oil, garden), (oil, garden, was), (ga...[(JJ, NN, NN), (NN, NN, VBD), (NN, VBD, RB), (...[JJ_NN_NN, NN_NN_VBD, NN_VBD_RB, VBD_RB_JJ, RB...{'JJ_NN_NN': 2, 'NN_NN_VBD': 1, 'NN_VBD_RB': 1...
\n", "

90 rows × 27 columns

\n", "
" ], "text/plain": [ " 0 PoN \\\n", "1 Twin Trees Cicero NY HUGE salad bar and high q... N \n", "2 The worst restaurant that I have ever eaten in... N \n", "4 I have been to a Asian restaurant in New York ... N \n", "5 The best restaurant I have gone to is when I w... N \n", "6 The restaurant looked pretty good the people a... N \n", ".. ... .. \n", "87 Mikes Pizza High Point NY Service was very slo... P \n", "88 After I went shopping with some of my friend w... P \n", "89 I entered the restaurant and a waitress came b... P \n", "90 Carlos Plate Shack was the worst dining experi... P \n", "91 Olive Oil Garden was very disappointing. I exp... P \n", "\n", " sentences num_sentences \\\n", "1 [Twin Trees Cicero NY HUGE salad bar and high ... 4 \n", "2 [The worst restaurant that I have ever eaten i... 5 \n", "4 [I have been to a Asian restaurant in New York... 4 \n", "5 [The best restaurant I have gone to is when I ... 6 \n", "6 [The restaurant looked pretty good the people ... 3 \n", ".. ... ... \n", "87 [Mikes Pizza High Point NY Service was very sl... 4 \n", "88 [After I went shopping with some of my friend ... 2 \n", "89 [I entered the restaurant and a waitress came ... 5 \n", "90 [Carlos Plate Shack was the worst dining exper... 9 \n", "91 [Olive Oil Garden was very disappointing., I e... 5 \n", "\n", " tokens num_tokens \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, an... 53 \n", "2 [the, worst, restaurant, that, i, have, ever, ... 105 \n", "4 [i, have, been, to, a, asian, restaurant, in, ... 45 \n", "5 [the, best, restaurant, i, have, gone, to, is,... 71 \n", "6 [the, restaurant, looked, pretty, good, the, p... 36 \n", ".. ... ... \n", "87 [mikes, pizza, high, point, ny, service, was, ... 43 \n", "88 [after, i, went, shopping, with, some, of, my,... 24 \n", "89 [i, entered, the, restaurant, and, a, waitress... 99 \n", "90 [carlos, plate, shack, was, the, worst, dining... 155 \n", "91 [olive, oil, garden, was, very, disappointing,... 43 \n", "\n", " no_sw num_no_sw \\\n", "1 [twin, trees, cicero, ny, huge, salad, bar, hi... 32 \n", "2 [worst, restaurant, ever, eaten, undoubtedly, ... 49 \n", "4 [asian, restaurant, new, york, city, menu, wri... 23 \n", "5 [best, restaurant, gone, went, applebee, frien... 30 \n", "6 [restaurant, looked, pretty, good, people, aro... 19 \n", ".. ... ... \n", "87 [mikes, pizza, high, point, ny, service, slow,... 26 \n", "88 [went, shopping, friend, went, dodo, restauran... 11 \n", "89 [entered, restaurant, waitress, came, blanking... 49 \n", "90 [carlos, plate, shack, worst, dining, experien... 88 \n", "91 [olive, oil, garden, disappointing, expect, go... 23 \n", "\n", " stemmed \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, and... \n", "2 [the, worst, restaur, that, i, have, ever, eat... \n", "4 [i, have, been, to, a, asian, restaur, in, new... \n", "5 [the, best, restaur, i, have, gone, to, is, wh... \n", "6 [the, restaur, look, pretti, good, the, peopl,... \n", ".. ... \n", "87 [mike, pizza, high, point, ny, servic, wa, ver... \n", "88 [after, i, went, shop, with, some, of, my, fri... \n", "89 [i, enter, the, restaur, and, a, waitress, cam... \n", "90 [carlo, plate, shack, wa, the, worst, dine, ex... \n", "91 [oliv, oil, garden, wa, veri, disappoint, i, e... \n", "\n", " stemmed_no_sw ... \\\n", "1 [twin, tree, cicero, ny, huge, salad, bar, hig... ... \n", "2 [worst, restaur, ever, eaten, undoubtedli, pla... ... \n", "4 [asian, restaur, new, york, citi, menu, writte... ... \n", "5 [best, restaur, gone, went, applebe, friend, s... ... \n", "6 [restaur, look, pretti, good, peopl, around, a... ... \n", ".. ... ... \n", "87 [mike, pizza, high, point, ny, servic, slow, q... ... \n", "88 [went, shop, friend, went, dodo, restaur, dinn... ... \n", "89 [enter, restaur, waitress, came, blank, look, ... ... \n", "90 [carlo, plate, shack, worst, dine, experi, lif... ... \n", "91 [oliv, oil, garden, disappoint, expect, good, ... ... \n", "\n", " bow_no_sw \\\n", "1 {'twin': 1, 'trees': 1, 'cicero': 1, 'ny': 1, ... \n", "2 {'worst': 1, 'restaurant': 1, 'ever': 1, 'eate... \n", "4 {'asian': 1, 'restaurant': 1, 'new': 1, 'york'... \n", "5 {'best': 1, 'restaurant': 2, 'gone': 1, 'went'... \n", "6 {'restaurant': 1, 'looked': 1, 'pretty': 1, 'g... \n", ".. ... \n", "87 {'mikes': 1, 'pizza': 2, 'high': 1, 'point': 1... \n", "88 {'went': 2, 'shopping': 1, 'friend': 1, 'dodo'... \n", "89 {'entered': 1, 'restaurant': 1, 'waitress': 2,... \n", "90 {'carlos': 1, 'plate': 6, 'shack': 1, 'worst':... \n", "91 {'olive': 2, 'oil': 2, 'garden': 2, 'disappoin... \n", "\n", " pos_sent \\\n", "1 [NN, NNS, VBP, JJ, JJ, NN, NN, CC, JJ, NN, JJ,... \n", "2 [DT, JJS, NN, IN, NN, VBP, RB, VBN, IN, VBZ, R... \n", "4 [NNS, VBP, VBN, TO, DT, JJ, NN, IN, JJ, NN, NN... \n", "5 [DT, JJS, NN, NN, VBP, VBN, TO, VBZ, WRB, JJ, ... \n", "6 [DT, NN, VBD, RB, JJ, DT, NNS, IN, PRP, DT, NN... \n", ".. ... \n", "87 [NNS, VBP, JJ, NN, JJ, NN, VBD, RB, JJ, CC, DT... \n", "88 [IN, JJ, VBD, VBG, IN, DT, IN, PRP$, NN, PRP, ... \n", "89 [NN, VBD, DT, NN, CC, DT, NN, VBD, IN, IN, DT,... \n", "90 [NN, NN, NN, VBD, DT, JJS, VBG, NN, IN, PRP$, ... \n", "91 [JJ, NN, NN, VBD, RB, JJ, NN, VBP, JJ, NN, CC,... \n", "\n", " pos_sent_str \\\n", "1 [NN NNS VBP JJ JJ NN NN CC JJ NN JJ VBZ DT NN ... \n", "2 [DT JJS NN IN NN VBP RB VBN IN VBZ RB DT NN VB... \n", "4 [NNS VBP VBN TO DT JJ NN IN JJ NN NN DT NN VBZ... \n", "5 [DT JJS NN NN VBP VBN TO VBZ WRB JJ VBD TO VB ... \n", "6 [DT NN VBD RB JJ DT NNS IN PRP DT NN CC VBD RB... \n", ".. ... \n", "87 [NNS VBP JJ NN JJ NN VBD RB JJ CC DT NN VBD JJ... \n", "88 [IN JJ VBD VBG IN DT IN PRP$ NN PRP VBD TO VB ... \n", "89 [NN VBD DT NN CC DT NN VBD IN IN DT NN VBG CC ... \n", "90 [NN NN NN VBD DT JJS VBG NN IN PRP$ NN IN PRP$... \n", "91 [JJ NN NN VBD RB JJ NN VBP JJ NN CC JJ NN IN J... \n", "\n", " pos_no_sw_sent \\\n", "1 [NN, NNS, VBP, JJ, JJ, NN, NN, JJ, NN, JJ, NNS... \n", "2 [RBS, NN, RB, RB, JJ, NN, VBN, NN, NN, VBD, NN... \n", "4 [JJ, NN, JJ, NN, NN, NN, VBN, JJ, JJ, VBP, JJ,... \n", "5 [RBS, NN, VBN, VBD, JJ, NNS, NN, RB, NN, JJ, V... \n", "6 [NN, VBD, RB, JJ, NNS, IN, NN, VBD, RB, NN, JJ... \n", ".. ... \n", "87 [NNS, VBP, JJ, NN, JJ, NN, JJ, NN, NN, MD, VB,... \n", "88 [VBD, VBG, NN, VBD, JJ, NN, NN, VBD, RB, CD, NNS] \n", "89 [VBN, NN, NN, VBD, VBG, VBG, JJ, NN, NN, VBD, ... \n", "90 [NN, NN, NN, JJS, VBG, NN, NN, IN, JJ, NN, NN,... \n", "91 [JJ, NN, NN, NN, VBP, JJ, NN, JJ, NN, JJS, VB,... \n", "\n", " pos_sent_bi \\\n", "1 [(NN, NNS), (NNS, VBP), (VBP, JJ), (JJ, JJ), (... \n", "2 [(DT, JJS), (JJS, NN), (NN, IN), (IN, NN), (NN... \n", "4 [(NNS, VBP), (VBP, VBN), (VBN, TO), (TO, DT), ... \n", "5 [(DT, JJS), (JJS, NN), (NN, NN), (NN, VBP), (V... \n", "6 [(DT, NN), (NN, VBD), (VBD, RB), (RB, JJ), (JJ... \n", ".. ... \n", "87 [(NNS, VBP), (VBP, JJ), (JJ, NN), (NN, JJ), (J... \n", "88 [(IN, JJ), (JJ, VBD), (VBD, VBG), (VBG, IN), (... \n", "89 [(NN, VBD), (VBD, DT), (DT, NN), (NN, CC), (CC... \n", "90 [(NN, NN), (NN, NN), (NN, VBD), (VBD, DT), (DT... \n", "91 [(JJ, NN), (NN, NN), (NN, VBD), (VBD, RB), (RB... \n", "\n", " bow_pos \\\n", "1 {('NN', 'NNS'): 1, ('NNS', 'VBP'): 1, ('VBP', ... \n", "2 {('DT', 'JJS'): 1, ('JJS', 'NN'): 1, ('NN', 'I... \n", "4 {('NNS', 'VBP'): 1, ('VBP', 'VBN'): 1, ('VBN',... \n", "5 {('DT', 'JJS'): 1, ('JJS', 'NN'): 1, ('NN', 'N... \n", "6 {('DT', 'NN'): 5, ('NN', 'VBD'): 3, ('VBD', 'R... \n", ".. ... \n", "87 {('NNS', 'VBP'): 1, ('VBP', 'JJ'): 1, ('JJ', '... \n", "88 {('IN', 'JJ'): 1, ('JJ', 'VBD'): 1, ('VBD', 'V... \n", "89 {('NN', 'VBD'): 5, ('VBD', 'DT'): 4, ('DT', 'N... \n", "90 {('NN', 'NN'): 11, ('NN', 'VBD'): 6, ('VBD', '... \n", "91 {('JJ', 'NN'): 5, ('NN', 'NN'): 2, ('NN', 'VBD... \n", "\n", " trigrams \\\n", "1 [(twin, trees, cicero), (trees, cicero, ny), (... \n", "2 [(the, worst, restaurant), (worst, restaurant,... \n", "4 [(i, have, been), (have, been, to), (been, to,... \n", "5 [(the, best, restaurant), (best, restaurant, i... \n", "6 [(the, restaurant, looked), (restaurant, looke... \n", ".. ... \n", "87 [(mikes, pizza, high), (pizza, high, point), (... \n", "88 [(after, i, went), (i, went, shopping), (went,... \n", "89 [(i, entered, the), (entered, the, restaurant)... \n", "90 [(carlos, plate, shack), (plate, shack, was), ... \n", "91 [(olive, oil, garden), (oil, garden, was), (ga... \n", "\n", " trigrams_pos \\\n", "1 [(NN, NNS, VBP), (NNS, VBP, JJ), (VBP, JJ, JJ)... \n", "2 [(DT, JJS, NN), (JJS, NN, IN), (NN, IN, NN), (... \n", "4 [(NNS, VBP, VBN), (VBP, VBN, TO), (VBN, TO, DT... \n", "5 [(DT, JJS, NN), (JJS, NN, NN), (NN, NN, VBP), ... \n", "6 [(DT, NN, VBD), (NN, VBD, RB), (VBD, RB, JJ), ... \n", ".. ... \n", "87 [(NNS, VBP, JJ), (VBP, JJ, NN), (JJ, NN, JJ), ... \n", "88 [(IN, JJ, VBD), (JJ, VBD, VBG), (VBD, VBG, IN)... \n", "89 [(NN, VBD, DT), (VBD, DT, NN), (DT, NN, CC), (... \n", "90 [(NN, NN, NN), (NN, NN, VBD), (NN, VBD, DT), (... \n", "91 [(JJ, NN, NN), (NN, NN, VBD), (NN, VBD, RB), (... \n", "\n", " trigrams_feats \\\n", "1 [NN_NNS_VBP, NNS_VBP_JJ, VBP_JJ_JJ, JJ_JJ_NN, ... \n", "2 [DT_JJS_NN, JJS_NN_IN, NN_IN_NN, IN_NN_VBP, NN... \n", "4 [NNS_VBP_VBN, VBP_VBN_TO, VBN_TO_DT, TO_DT_JJ,... \n", "5 [DT_JJS_NN, JJS_NN_NN, NN_NN_VBP, NN_VBP_VBN, ... \n", "6 [DT_NN_VBD, NN_VBD_RB, VBD_RB_JJ, RB_JJ_DT, JJ... \n", ".. ... \n", "87 [NNS_VBP_JJ, VBP_JJ_NN, JJ_NN_JJ, NN_JJ_NN, JJ... \n", "88 [IN_JJ_VBD, JJ_VBD_VBG, VBD_VBG_IN, VBG_IN_DT,... \n", "89 [NN_VBD_DT, VBD_DT_NN, DT_NN_CC, NN_CC_DT, CC_... \n", "90 [NN_NN_NN, NN_NN_VBD, NN_VBD_DT, VBD_DT_JJS, D... \n", "91 [JJ_NN_NN, NN_NN_VBD, NN_VBD_RB, VBD_RB_JJ, RB... \n", "\n", " trigrams_feats_bow \n", "1 {'NN_NNS_VBP': 1, 'NNS_VBP_JJ': 1, 'VBP_JJ_JJ'... \n", "2 {'DT_JJS_NN': 1, 'JJS_NN_IN': 1, 'NN_IN_NN': 2... \n", "4 {'NNS_VBP_VBN': 1, 'VBP_VBN_TO': 1, 'VBN_TO_DT... \n", "5 {'DT_JJS_NN': 1, 'JJS_NN_NN': 1, 'NN_NN_VBP': ... \n", "6 {'DT_NN_VBD': 3, 'NN_VBD_RB': 1, 'VBD_RB_JJ': ... \n", ".. ... \n", "87 {'NNS_VBP_JJ': 1, 'VBP_JJ_NN': 1, 'JJ_NN_JJ': ... \n", "88 {'IN_JJ_VBD': 1, 'JJ_VBD_VBG': 1, 'VBD_VBG_IN'... \n", "89 {'NN_VBD_DT': 1, 'VBD_DT_NN': 3, 'DT_NN_CC': 1... \n", "90 {'NN_NN_NN': 2, 'NN_NN_VBD': 3, 'NN_VBD_DT': 2... \n", "91 {'JJ_NN_NN': 2, 'NN_NN_VBD': 1, 'NN_VBD_RB': 1... \n", "\n", "[90 rows x 27 columns]" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }