{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Text Analysis\n", "\n", "We will explore exploratory data analysis and supervised learning for free text in this lecture. In the next lecture, we will look at unsupervised learning and topic models.\n", "\n", "Along the way, we will use the packages\n", "\n", "- [`sklearn`](http://scikit-learn.org/stable/)\n", "- [`wordcloud`](https://github.com/amueller/word_cloud)\n", "- [`nltk`](https://www.nltk.org)\n", "- [`gensim`](https://radimrehurek.com/gensim/)\n", "- [`spaCy`](https://spacy.io)\n", "\n", "Other packages useful for text analysis include\n", "\n", "- [`fasttext`](https://fasttext.cc/)\n", "\n", "and many, many others." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exploratory data analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Corpus\n", "\n", "A corpus is a collection of text documents. There are many ways to create a corpus, and they may come from documents, scraped web pages, Twitter streams, speech translation and so on. The first step in any text analysis application is nearly always to create an application-specific corpus. This is important, because the language patterns in different domains are often very different (e.g. contrast medical records with legal documents with Twitter streams). " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_context('notebook', font_scale=1.5)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import nltk\n", "from nltk.stem import SnowballStemmer, WordNetLemmatizer\n", "from nltk.collocations import QuadgramCollocationFinder, TrigramCollocationFinder\n", "from nltk.metrics.association import QuadgramAssocMeasures, TrigramAssocMeasures\n", "import string" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Toy corpus\n", "\n", "We see how a small corpus with two documents is broken down into smaller pieces \n", "\n", "document $\\to$ paragraph $\\to$ sentences $\\to$ tokens\n", "\n", "Although this explicit decomposition may not be necessary in all applications, it is still useful to be aware of these units:\n", "\n", "- A paragraph contains an *idea*\n", "- A sentence is a unit of syntax\n", "- A token (word or punctuation) is the smallest meaningful unit" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "docs = [\n", " '''Spicy jalapeno bacon ipsum dolor amet aute prosciutto velit corned beef consectetur. Aute kielbasa adipisicing, nostrud drumstick ipsum tail pig capicola burgdoggen corned beef. Dolor proident salami deserunt. Venison capicola pork belly bacon aliquip swine incididunt sint quis cupidatat pork chop et turducken nulla beef. Ground round kielbasa tri-tip consectetur, t-bone pariatur deserunt id ut adipisicing.\n", "\n", "Strip steak meatball chuck aute, pork loin turkey pork commodo et officia. Rump enim spare ribs, prosciutto chuck deserunt tail. Aute pork lorem sausage. Nostrud dolore kevin proident pork chop do in. Exercitation shoulder dolore kevin ut, sausage ullamco frankfurter ham hock. Ground round fatback ribeye turkey tri-tip capicola.''',\n", " '''Burgdoggen id ham hock ut kielbasa. Eu pork chop anim picanha sed porchetta dolor consequat drumstick shankle proident pork andouille. Et cupim burgdoggen, officia lorem shank ut sed drumstick shankle salami ad ball tip dolore pig. Shankle turkey officia, reprehenderit bacon ipsum ullamco enim tail tongue. Brisket short ribs biltong jerky flank, venison filet mignon tenderloin culpa bacon meatball short loin commodo. Leberkas jowl prosciutto, et kielbasa pancetta chicken. Nisi minim sausage porchetta jowl.\n", "\n", "Beef ribs pariatur pork chop dolore ex, consequat turducken frankfurter esse filet mignon lorem bacon. Elit dolore porchetta meatball ea, pork loin pork anim non sirloin. Aliquip tenderloin reprehenderit pariatur, leberkas alcatra short loin. Fugiat elit meatloaf, nulla cow in sausage. Doner consequat shankle salami est, boudin deserunt. Drumstick ham lorem reprehenderit.\n", "\n", "Beef adipisicing nisi rump filet mignon cillum leberkas boudin tail picanha pork loin. Culpa picanha ground round in laborum spare ribs. Burgdoggen leberkas landjaeger adipisicing strip steak velit doner eu ground round meatloaf consectetur deserunt anim ball tip cow. Porchetta ad minim eiusmod labore eu nisi boudin laboris officia jowl deserunt strip steak. Shank aliquip beef ribs tri-tip ipsum flank. Turducken elit meatloaf aliqua corned beef sirloin irure. Tongue cupim ullamco in sint prosciutto.'''\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Documents" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Spicy jalapeno bacon ipsum dolor amet aute prosciutto velit corned beef consectetur. Aute kielbasa adipisicing, nostrud drumstick ipsum tail pig capicola burgdoggen corned beef. Dolor proident salami deserunt. Venison capicola pork belly bacon aliquip swine incididunt sint quis cupidatat pork chop et turducken nulla beef. Ground round kielbasa tri-tip consectetur, t-bone pariatur deserunt id ut adipisicing.\\n\\nStrip steak meatball chuck aute, pork loin turkey pork commodo et officia. Rump enim spare ribs, prosciutto chuck deserunt tail. Aute pork lorem sausage. Nostrud dolore kevin proident pork chop do in. Exercitation shoulder dolore kevin ut, sausage ullamco frankfurter ham hock. Ground round fatback ribeye turkey tri-tip capicola.',\n", " 'Burgdoggen id ham hock ut kielbasa. Eu pork chop anim picanha sed porchetta dolor consequat drumstick shankle proident pork andouille. Et cupim burgdoggen, officia lorem shank ut sed drumstick shankle salami ad ball tip dolore pig. Shankle turkey officia, reprehenderit bacon ipsum ullamco enim tail tongue. Brisket short ribs biltong jerky flank, venison filet mignon tenderloin culpa bacon meatball short loin commodo. Leberkas jowl prosciutto, et kielbasa pancetta chicken. Nisi minim sausage porchetta jowl.\\n\\nBeef ribs pariatur pork chop dolore ex, consequat turducken frankfurter esse filet mignon lorem bacon. Elit dolore porchetta meatball ea, pork loin pork anim non sirloin. Aliquip tenderloin reprehenderit pariatur, leberkas alcatra short loin. Fugiat elit meatloaf, nulla cow in sausage. Doner consequat shankle salami est, boudin deserunt. Drumstick ham lorem reprehenderit.\\n\\nBeef adipisicing nisi rump filet mignon cillum leberkas boudin tail picanha pork loin. Culpa picanha ground round in laborum spare ribs. Burgdoggen leberkas landjaeger adipisicing strip steak velit doner eu ground round meatloaf consectetur deserunt anim ball tip cow. Porchetta ad minim eiusmod labore eu nisi boudin laboris officia jowl deserunt strip steak. Shank aliquip beef ribs tri-tip ipsum flank. Turducken elit meatloaf aliqua corned beef sirloin irure. Tongue cupim ullamco in sint prosciutto.']" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "docs" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from itertools import chain" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def flatten(listOfLists):\n", " return list(chain.from_iterable(listOfLists))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Paragraphs" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "paras = flatten([doc.split('\\n\\n') for doc in docs])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Spicy jalapeno bacon ipsum dolor amet aute prosciutto velit corned beef consectetur. Aute kielbasa adipisicing, nostrud drumstick ipsum tail pig capicola burgdoggen corned beef. Dolor proident salami deserunt. Venison capicola pork belly bacon aliquip swine incididunt sint quis cupidatat pork chop et turducken nulla beef. Ground round kielbasa tri-tip consectetur, t-bone pariatur deserunt id ut adipisicing.',\n", " 'Strip steak meatball chuck aute, pork loin turkey pork commodo et officia. Rump enim spare ribs, prosciutto chuck deserunt tail. Aute pork lorem sausage. Nostrud dolore kevin proident pork chop do in. Exercitation shoulder dolore kevin ut, sausage ullamco frankfurter ham hock. Ground round fatback ribeye turkey tri-tip capicola.',\n", " 'Burgdoggen id ham hock ut kielbasa. Eu pork chop anim picanha sed porchetta dolor consequat drumstick shankle proident pork andouille. Et cupim burgdoggen, officia lorem shank ut sed drumstick shankle salami ad ball tip dolore pig. Shankle turkey officia, reprehenderit bacon ipsum ullamco enim tail tongue. Brisket short ribs biltong jerky flank, venison filet mignon tenderloin culpa bacon meatball short loin commodo. Leberkas jowl prosciutto, et kielbasa pancetta chicken. Nisi minim sausage porchetta jowl.']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "paras[:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Sentences" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "sentences = flatten([nltk.tokenize.sent_tokenize(para) for para in paras])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Spicy jalapeno bacon ipsum dolor amet aute prosciutto velit corned beef consectetur.',\n", " 'Aute kielbasa adipisicing, nostrud drumstick ipsum tail pig capicola burgdoggen corned beef.',\n", " 'Dolor proident salami deserunt.',\n", " 'Venison capicola pork belly bacon aliquip swine incididunt sint quis cupidatat pork chop et turducken nulla beef.',\n", " 'Ground round kielbasa tri-tip consectetur, t-bone pariatur deserunt id ut adipisicing.',\n", " 'Strip steak meatball chuck aute, pork loin turkey pork commodo et officia.',\n", " 'Rump enim spare ribs, prosciutto chuck deserunt tail.',\n", " 'Aute pork lorem sausage.',\n", " 'Nostrud dolore kevin proident pork chop do in.',\n", " 'Exercitation shoulder dolore kevin ut, sausage ullamco frankfurter ham hock.']" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sentences[:10]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "tokens = flatten([nltk.tokenize.word_tokenize(sentence) for sentence in sentences])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Spicy',\n", " 'jalapeno',\n", " 'bacon',\n", " 'ipsum',\n", " 'dolor',\n", " 'amet',\n", " 'aute',\n", " 'prosciutto',\n", " 'velit',\n", " 'corned']" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tokens[:10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exploratory analysis of the `newsgroup` corpus" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from sklearn.datasets import fetch_20newsgroups" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For convenience, we will use an existing corpus - the 20 newsgroups dataset that comprises around 18000 newsgroups posts on 20 topics. The 20 topics are\n", "\n", "```\n", "['alt.atheism',\n", " 'comp.graphics',\n", " 'comp.os.ms-windows.misc',\n", " 'comp.sys.ibm.pc.hardware',\n", " 'comp.sys.mac.hardware',\n", " 'comp.windows.x',\n", " 'misc.forsale',\n", " 'rec.autos',\n", " 'rec.motorcycles',\n", " 'rec.sport.baseball',\n", " 'rec.sport.hockey',\n", " 'sci.crypt',\n", " 'sci.electronics',\n", " 'sci.med',\n", " 'sci.space',\n", " 'soc.religion.christian',\n", " 'talk.politics.guns',\n", " 'talk.politics.mideast',\n", " 'talk.politics.misc',\n", " 'talk.religion.misc']\n", "```" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "newsgroups_train = fetch_20newsgroups(\n", " subset='train',\n", " categories=('rec.sport.baseball', \n", " 'rec.sport.hockey',\n", " 'sci.med',\n", " 'sci.space'),\n", " \n", " remove=('headers', 'footers', 'quotes'))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['data', 'filenames', 'target_names', 'target', 'DESCR', 'description'])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newsgroups_train.keys()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'the 20 newsgroups by date dataset'" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newsgroups_train.description" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2384,)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newsgroups_train.filenames.shape" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2384,)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newsgroups_train.target.shape" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['rec.sport.baseball', 'rec.sport.hockey', 'sci.med', 'sci.space']" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newsgroups_train.target_names" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nA freeze dried Tootsie Roll (tm). The actual taste sensation was like nothing\\nyou will ever willingly experience. The amazing thing was that we ate a second\\none, and a third and ....\\n\\nI doubt that they actually flew on missions, as I\\'m certain they did \"bad\\nthings\" to the gastrointestinal tract. Compared to Space Food Sticks, Tang was\\na gastronomic contribution to mankind.\\n--\\nDillon Pyron | The opinions expressed are those of the\\nTI/DSEG Lewisville VAX Support | sender unless otherwise stated.\\n(214)462-3556 (when I\\'m here) |\\n(214)492-4656 (when I\\'m home) |God gave us weather so we wouldn\\'t complain\\npyron@skndiv.dseg.ti.com |about other things.\\nPADI DM-54909 |'" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "newsgroups_train.data[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Getting word counts" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "from sklearn.feature_extraction.text import (\n", " HashingVectorizer,\n", " TfidfVectorizer, \n", " CountVectorizer, \n", ")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "vectorizer = CountVectorizer()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "idx = np.nonzero(\n", " newsgroups_train.target == \n", " newsgroups_train.target_names.index('rec.sport.baseball')\n", ")[0]\n", "baseball_sample = [newsgroups_train.data[i] for i in idx]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "X = vectorizer.fit_transform(baseball_sample)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "vocab = vectorizer.get_feature_names()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "rownames = [':'.join(filename.split('/')[-2:]) \n", " for filename in newsgroups_train.filenames[idx]]\n", "df = pd.SparseDataFrame(X, columns=vocab, index=rownames)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "freqs = df.sum(axis=0).astype('int')" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "the 3508\n", "to 1481\n", "and 1312\n", "of 1142\n", "in 1114\n", "that 882\n", "is 842\n", "he 738\n", "for 580\n", "it 543\n", "dtype: int64" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "freqs.nlargest(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribution of word counts" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.6/site-packages/scipy/stats/stats.py:1706: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", " return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZYAAAEJCAYAAAC3yAEAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAE7pJREFUeJzt3X2wXHV9x/H3l0BuQgOEisUbbpVpkQIjM4kCGR5iU0AdqVVUQAcFscaHWitBB5WCUkdkCD4lOlgVmKYRHxBaQcS0M4hMk1BAwKBg8YERQ0xigyVgICE8/PrHOSsnJ7v3nt38wu6G92vmzN77O9/97uE3y/3k7HnYSCkhSVIuu/R7AyRJOxeDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWBoskKSuDRZKUlcEiScpq135vwLMlIkaAw4G1wFN93hxJGhaTgFHghymlx5s84TkTLBShsqzfGyFJQ2oOsLxJ4XMpWNYCLFu2jLGxsX5viyQNhdWrVzNnzhwo/4Y28VwKlqcAxsbG2H///fu8KZI0dBofQvDgvSQpK4NFkpSVwSJJyspgkSRlZbBIkrIyWCRJWRkskqSsnkvXsWyXr9+6qu34qbNf+CxviSQNNvdYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGXVOFgi4vCIuD4iHoqIjRFxV0ScUat5bUTcGRGbI2JVRJwfEbu26TU9Ir4SEesj4tGIuDEiZnZ43UY9JUmDodEf6Ih4NXAtcBPwUeAJ4EDgT2s11wA3Av8AHAp8DNin/L1Vtwtwfbn+08DvgPcCN0XEy1JK93XbU5I0OCYMlojYC1gM/HNK6cxxSj8N/Ah4VUrpqfK5jwDnRMTnU0q/KOtOAo4CXp9Suqas+xbwc+B84PQeekqSBkSTj8JOBaZT7CkQEXtERFQLIuIQ4BDgy60AKH2xfI03VsZOAtZQ7AEBkFJaD3wLODEiduuhpyRpQDQJluOBe4ETIuIB4BHg/yLiooiYVNbMKh9vrz4xpbQGWF1Z36q9I6WUaq9zG7AHcEAPPbdSHsPZv7oAYxP9h0qStl+TYDmA4ljK4nJ5I/Bt4MPAZ8qa0fJxbZvnrwVmVH4fHaeOSm03PevmA7+qLcvGqZckZdLk4P00YG/gIymlBeXYv0fENOC9EXEBMLUcf7zN8zcDu1d+nzpOXWt99bFJz7qFFCFYNYbhIkk7XJNg2VQ+fqM2/jXgZOCISs1Im+dPqaxv9etUV329bnpuJaW0AdhQHasdFpIk7SBNPgprfRT129p46/e9KzWjbGuU4mB9tV+nOiq13fSUJA2IJsFyR/m4X228dTB8PbCy/PmwakFEzCjrVlaGVwIvq59ZBswGNgK/rNQ17SlJGhBNguWq8vEdrYEyFOYBjwK3pJTuoThz7F2VM8UA/g54Gvi3ytjVFAfeX1fptw/Fx2rXppSeAOiypyRpQEx4jCWldEdELKG4KPFPgDuBvwZeBXwopfRIWXo28B3gPyPiSuAlwPsorkP5eaXl1cAtwJKI+DTwIMWV97sA/1R7+aY9JUkDoum9wt4JfJIiTBZRnIL8npTSp1oFKaXvAm8Angd8ofz5AuD91UblxY4nUFwQ+X7gUxQfp/1VSumXtdpGPSVJg6PRvcJSSlso7hH20QnqrqG4t9dE/R6i+ChtXoPaRj0lSYPB2+ZLkrIyWCRJWRkskqSsDBZJUlYGiyQpK4NFkpSVwSJJyspgkSRlZbBIkrIyWCRJWRkskqSsDBZJUlYGiyQpK4NFkpSVwSJJyspgkSRlZbBIkrIyWCRJWRkskqSsDBZJUlYGiyQpK4NFkpSVwSJJyspgkSRlZbBIkrIyWCRJWRkskqSsDBZJUlYGiyQpK4NFkpSVwSJJyspgkSRlZbBIkrIyWCRJWRkskqSsDBZJUlYGiyQpK4NFkpSVwSJJyspgkSRlZbBIkrIyWCRJWfUULBHxoYhIEbGyzbqjImJ5RDwWEesiYlFE7N6mbiQiFkTEmojYFBG3RMRxHV6vUU9JUv91HSwR8QLgPODRNutmAt8HpgAfAC4D3g1c2abVYuAs4ArgTOBpYGlEHLkdPSVJfbZrD8+5CLidIpSm19ZdCPwOmJtS2ggQEfcDl0bEsSmlG8uxI4A3A2ellBaWY0uAu4EFwMu77SlJGgxd7bGUgfBWij2H+ro9gVcAS1oBUFoCbAROqYydBDxBsfcBQEppM3A5cExEjPbQU5I0ABoHS0QE8AXgX1NK2xxbAQ6l2AO6vTqYUtoCrARmVYZnAffWwgLgNiCAmT30lCQNgG4+CjsdOAQ4scP60fJxbZt1a4Eja7W/6VAHMKOHnn8QEdPZ9mO6sXa1kqS8GgVLROxBcWzlopRSuz/yAFPLx8fbrNtcWd+q7VRX7dVNz6r5wPkd1kmSdqCmeyznAVuAz45Ts6l8HGmzbkplfau2U121Vzc9qxZSnHVWNQYs61AvScpkwmApD6TPBz4K7FscagGKP+yTI2J/4GGe+bhqlG2NAmsqv68dp45KbTc9/yCltAHYUPvvaFcqScqsycH7fYHJFKcB/6qyzAYOLn/+MMWpwk8Ch1WfHBGTKQ7GVw/4rwQOiohptdeaXT7eVT5201OSNACaBMuvgNe3We4B7i9/XpJSehi4ATitFhinAdOAqypjVwO7AfNaAxExArwdWJFSWgPQZU9J0gCY8KOw8o/7NfXxiJgPPJlSqq47F7gZuCkiLqM4rvFBYGlK6YZKz1sj4irg4vKjtvuAtwEvAs6ovVSjnpKkwZD1JpQppTuB4ynO4voc8E7gUuDkNuWnA4vKx89T7MGckFJasR09JUl91sstXQBIKc3tML4cOLrB8zcDZ5fLRLWNekqS+s/b5kuSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwMFklSVgaLJCkrg0WSlJXBIknKymCRJGVlsEiSsjJYJElZGSySpKwmDJaIODwiLomIn0bEoxGxKiK+GREHtKk9KiKWR8RjEbEuIhZFxO5t6kYiYkFErImITRFxS0Qc1+H1G/WUJA2GJnssHwbeANwAnAl8BZgL/CgiDm4VRcRM4PvAFOADwGXAu4Er2/RcDJwFXFH2fBpYGhFHVou67ClJGgC7Nqj5LHBqSmlLayAirgR+QhE6Z5TDFwK/A+amlDaWdfcDl0bEsSmlG8uxI4A3A2ellBaWY0uAu4EFwMsrr92opyRpcEy4x5JSurkaKuXYL4B7gIMBImJP4BXAklYAlJYAG4FTKmMnAU9Q7H20+m0GLgeOiYjRHnpKkgZETwfvIyKAfYEHy6FDKfZ+bq/WlYG0EphVGZ4F3FsLC4DbgABm9tBTkjQgmnwU1s5bgP2Ac8vfR8vHtW1q1wLVYyejwG861AHM6KHnViJiOjC9NjzWqV6SlE/XwRIRBwGXAMuBr5bDU8vHx9s8ZXNlfau2U121Vzc96+YD54+zXpK0g3QVLBHxAuB64CHg5JTS0+WqTeXjSJunTamsb9V2qqv26qZn3UKKM8+qxoBl4zxHkpRB42CJiL2ApcBewNEppXWV1a2Pq0a3eWIxtqZW26mOSm03PbeSUtoAbKhtf6dySVJGjQ7eR8QU4DrgQOA1KaWf1UruBp4EDqs9bzLFwfiVleGVwEERMa3WY3b5eFcPPSVJA6LJlfeTKC5IPJLi469b6jUppYcpLqA8rRYYpwHTgKsqY1cDuwHzKq8xArwdWJFSWtNDT0nSgGjyUdhngNdS7LH8cUS8tbJuY0rpmvLnc4GbgZsi4jKKYxofBJamlG5oPSGldGtEXAVcXF6zch/wNuBFPHOxJd30lCQNjibB0rqu5G/KperXwDUAKaU7I+J4iqvnPwc8AlwKnNOm5+nAJ8rHvYEfAyeklFZUi7rsKUkaABMGS0ppbtNmKaXlwNEN6jYDZ5dLlp6SpMHgbfMlSVkZLJKkrAwWSVJWBoskKSuDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWBoskKSuDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWBoskKSuDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWBoskKSuDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWBoskKSuDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWQxEsETESEQsiYk1EbIqIWyLiuH5vlyRpW0MRLMBi4CzgCuBM4GlgaUQc2c+NkiRta9d+b8BEIuII4M3AWSmlheXYEuBuYAHw8j5uniSpZuCDBTgJeAK4rDWQUtocEZcDn4yI0ZTS2n5t3NdvXdV2/NTZL3yWt0SSBsMwBMss4N6U0sba+G1AADOBrYIlIqYD02v1LwJYvXp1Txuxfs1vuqpf9O0H2o6/btZ+Pb2+JPVD5W/mpKbPGYZgGQXa/VVvhcmMNuvmA+e3azZnzpxMm9Wb+X19dUnq2ShwX5PCYQiWqcDjbcY3V9bXLaQ44F81Gfgz4BfAU11uwxiwDJgD9LbLo06c2x3Ded1xnmtzO4kiVH7Y9AnDECybgJE241Mq67eSUtoAbGjznJ/3sgER0fpxdUrp/l56qD3ndsdwXnec5+jcNtpTaRmG043XUqRlXWtszbO4LZKkCQxDsKwEDoqIabXx2eXjXc/y9kiSxjEMwXI1sBswrzUQESPA24EVKSX3WCRpgAz8MZaU0q0RcRVwcUS0zkp4G8Xpw2c8S5uxAfg47Y/baPs4tzuG87rjOLcTiJRSv7dhQhExBfgE8FZgb+DHwD+mlG7o64ZJkrYxFMEiSRoew3CMRZI0RAwWSVJWBss4/B6Y9iJiNCIuiogfRMTvIyJFxNwOta+NiDsjYnNErIqI8yNim5NGImJ6RHwlItZHxKMRcWNEzNyensMoIg6PiEsi4qflPKyKiG9GxAFtao+KiOUR8VhErIuIRRGxe5u6xu/jpj2HTUQcFhHfjohfl3OwLiL+IyKOalPrvG6vlJJLhwX4BrAFuBh4F3Bz+fuR/d62Ps/LXCBR3B5nRfnz3DZ1r6b47pwbgHcCn6e4nc4XanW7lH0eAT4G/D1wD8VZN3/eS89hXShOr19b/nfNA84D1gG/Bw6u1M2kuOvE7cB7gAsobnN0Xa/v4256DtsCvAm4rpzPdwAfBO4EngRe4bxmnu9+b8CgLsAR5R/M+ZWxKcAvgf/q9/b1eW72AJ5X/nziOMFyD3AHMKkydkEZBC+ujJ1S9jixMvZ84CFgSS89h3UBjgIm18ZeXP4hWlwZ+x7FfaqmVcbmlfN4bGWs8fu4ac+dZQF2pwjt7zqvmee23xswqEv5r5At1TdDOX4Oxb+YR/u9jYOwdAoW4JBy/F218Rnl+EcqY9+iuIN11Gq/TLEXs1u3PXe2pQzTW8uf96T4jqILazWTKfZsvlQZa/Q+7qbnzrQAPwGWO695F4+xdNbke2DU2azy8fbqYCrulLC6sr5Ve0cq/4+ruI1i7+iASl3TnjuNKO56uC/wYDl0KMXFzfV52EJxC6T63DZ5H3fTc2hFxB4RsU9E/EVEXAi8BPh+udp5zcRg6WyU2heIlcb7Hhg9o3WT0E5zOKNW22Suu+m5M3kLsB/Fnh04t9vjX4D1wL0Ux1m+BFxYrnNeMzFYOuvle2D0jNb8dJrDqbXaJnPdTc+dQkQcBFwCLAe+Wg47t737OPBK4G8pThgZobgXITiv2ewUp2juIF1/D4y20pqfTnO4qVbbZK676Tn0IuIFwPUUJzGcnFJ6ulzl3PYopfQTiuMqRMQVFB9RLQZOwnnNxj2WzvwemO3T2vXvNIdrarVN5rqbnkMtIvYClgJ7Aa9KKa2rrHZuM0gpPQFcC7whIqbivGZjsHTm98Bsn5Xl42HVwYiYQfHVritrtS+LylfzlWYDGylO4ey259Aqb7p6HXAg8JqU0s9qJXdTXH9Rn4fJFAeN63Pb5H3cTc+dyVSKg+174Lzm0+/T0gZ1oXiD1M9TH6G4KHB5v7dvUBbGv47lfyg+aqhec/IJimtODqyMvYltr2PZh+IjoCt66TmsC8X3i19LcYrqCePULQUeYOtrI95RzuPxlbHG7+OmPYdxAZ7fZmxP4H5glfOaeb77vQGDvFCchbMFWEBxZe2K8vej+71t/V4ormA+D/ha+T/I5eXv76vUvIatr5JfVAbAF2u9JgH/zTNX3r+X4l96DwMH1Gob9RzWBVhYzud3KL4morpUg/elFAd/q1dzbwK+1+v7uJuew7YAN1JcqHgexcWJHwdWle+lU5zXzPPd7w0Y5IXi4NqnKD4n3UxxjvpO+S+MHuYmdVjur9WdCPyonL8Hyv+hd23Tb2/gMoprNR4FfgC8tMNrN+o5jAtwUxdze0z5x2wT8FuK28D8UZuejd/HTXsO20JxFthNwP9S7A2up/i48S97nQPntfPi97FIkrLy4L0kKSuDRZKUlcEiScrKYJEkZWWwSJKyMlgkSVkZLJKkrAwWSVJWBoskKSuDRZKU1f8DkrCkLUD64zYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(freqs, kde=False)\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Zipf's law\n", "\n", "The number of words that occur with frequency $f$ is a random variable with a power law distribution\n", "\n", "$$\n", "p(f) = \\alpha f^{1-1/s}\n", "$$\n", "\n", "Random variables that follow a power law distribution look linear on a log-log plot." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEvCAYAAAAKO7UuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3XecFdX9//HXZzssvYMIi4ICKkUpooJiixo1dsWIYoklJrFEo181Ec3PxMSaxNiwRY29JZoYbICKIjaKICBNemfpS/38/phZuV7vsrt37+7c3ft+Ph7zuLtnzsz93GHZz54zZ84xd0dERCRqWVEHICIiAkpIIiKSJpSQREQkLSghiYhIWlBCEhGRtKCEJCIiaUEJSSRJZuZm9kQVz9HLzN41s9Xh+YanJrofvE+VYxWpbkpIInz3C7si22EpfM8c4GWgC/BbYCjwipkVhe81LFXvJVIb5EQdgEiaGLqLfXsAtwArgOkx5fWA7VV4zz3C7dfufl9poZkVVeGcIrWWEpII4O5PJyo3s/rAxwSJ50x3XxxzTEkV37ZN+LqqiucRqRPUZSeya48BPYDr3P292B2J7suUlpnZkWY2zsw2mtkSM/uLmTWIqTcaGBN++3hMl2BRoiDMLMvMrjSzSWa2zszWmtl0M3vUzHKT+WBmdqaZ/dvM5pnZZjNbYWavmVmPuHqPm1mJmRXElA0I411lZlkx5ceG5WcmE5NkNiUkkTKY2bXAmcDz7n5XJQ7dH3iNoGV1DfAB8CvgXzG/vG8D/hB+/TBBl+FQYHkZ57wRuAeYC1wHXAu8CgwA8isRW6xfADvC978cGAEMBMaaWZeYeu+F73FwTNkR4bFNgd4x5YcDDoxKMibJZO6uTZu2uA04EtgGTAIKy6jjwBMJyhw4Ka78L2H5WTFlh4VlwyoQzxfA1Cp8nkSx/uBzAd2AzcD9MWW7hcffFlP2HvAvYC3wm5jyz4HJUf/7aaudm1pIInHCbrPngHXAye6+oZKnmO7ur8WV3R6+npxkWGuA3czskCSP/4HSz2WBRmbWgqCFNh3oH1NvITCDoPVD2HU3ABhJ0O14RFjeBOhFkKxEKk0JSSRGOIjhVYKuqLPdfVYSp/k6vsCDwRDFBKPqknEDUAJ8YGYLzeyfZna2meUleT7MrLeZvUGQeNcQJKPlwH4Enz/We0AfM2sIHAQUhGXvAYeEcRxG8DtFCUmSooQk8n0jCP7Kv9nd34w6mFLu/jGwJ3AaQcLsBfwTmGBmzSp7PjPrALxPcP/n9wQtt6OBo4Ap/PB3w3sEo3IHEbSUFrn7tLC8PnBgWL6dnYM1RCpFw75FQmZ2NXA2wb2R26pwqm4Jzt0WaALMTvak7r6e4EHal8Nz/hz4O3AhcEclT3cy0AA40d2/NwDBzJoT3EeKNYrgPtIRBN11pa2gSQTPZx0BDAa+dPfiSsYiAqiFJAKAmQ0G/kxw/+Rcd6/KUsp7m9lJcWXXha/x95YqGl+LBMVfhK+VbiGx84Fei3ufn7Hz+ajvuPsKYDJwPNCHMCGF12kUcDqwD+qukypQC0kyXth6eQHIJmh9nGhmZVWf5O6TyjnlZOBpMxsBfEPQcjiNoCvr+STD/NrMxgGfAIuAtsDFwBaCARiV9SawEXjKzO4DVhMM6z4OmEXi3w3vAVfGfB1bfnqCcpFKUUISgb2B0hbIDeXUvYWgm2pXvgCuJuj2u5RgaPR9wA3uviPJGO8iSBa/AhoDy4BxwB/dfWJlT+bus8zsWIJnoW4gaDGNBQ4NYy1KcFhpQprt7t/GlL8bvm4leOZKJClWtZ4JEYllZg78w92HRR2LSG2je0giIpIWlJBERCQtKCGJiEha0D0kERFJCxplF8PM8oG+wGKqtvCaiEgmySZ4FOFTd49/qLrClJC+ry8atioikqyBwIfJHpzxCcnMhgM3x5Z98MEHtG/fPpqARERqmQULFjBw4EAIepeSlvEJyd2HA8Phu2UH5rRv356ioqLIYhIRqaWqdKtDo+xERCQtKCGJiEhaUEISEZG0kPEJycyGm5mHc5DNiToeEZFMlfEJyd2Hu7u5uwGdoo5HRCRTZXxCSqVpS9ZGHYKISK2lhJQiX85bzXF/+YDfvzGVHTs0HZOISGUpIaVIj/ZNOHdAEY9+OIdfPvslJVs185CISGVk/IOxqZKdZdx8Qnd2a1KP2/77NcvWlTDi3D40qZ8XdWgiIrWCWkgpZGb8bNAe/G1IbybOX8OpD3zE/FUbow5LRKRWyPiEVB3Dvk/o2Y6nLuzH8nWbOeWBj/hq4ZpUnFZEpE7L+IRUXcO+++/RnJcvO4i87CzOfOhjxsxYnqpTi4jUSRmfkKpTl9YNeeXnB9GheSEXPPEpL3w2P+qQRETSlhJSNWvdqIAXLjmQg/Zszm9emsS978xAq/SKiPyQElINaFiQy2PD+nLq/u25951vuO7lSWzdviPqsERE0oqGfdeQ3Ows7jy9B7s1KeCv781k6drN3P/T/SnM1z+BiAiohVSjzIyrj96bP56yHx/OXMGZD3/MsnUlUYclIpIWlJAiMKRfB0acewCzlm3glPs/Yuay9VGHJCISOSWkiBzetTXPX3IgJVu3c+oDH/Hp3FVRhyQiEiklpAj1aN+EVy47mOaFefz0kU94c/LiqEMSEYlMxiekqBfo69C8Pi9fdhD77daYnz/zBY99qDUCRSQzZXxCSocF+poW5vHPi/pzdPfW3PrGVC1hISIZKeMTUrooyM3m/p8ewLCDtISFiGQmPQSTRrSEhYhkMrWQ0kzpEhZ/1RIWIpJhlJDS1Ik92/GklrAQkQyihJTGDtyjOS9ddhC5WcaZD33MyClLNAeeiNRZuoeU5vZq3ZBXLz+YYY9/yiVPfU5Bbhb7tmtMz92b0HP3JvRq34Tdm9XDzKIOVUSkSkxLIexkZkXAnDlz5lBUVBRtMHE2btnGO18vY+L8YibOL2bywjVs3ha0lpoV5tGzfZCkeu3ehJ7tm9C0UAMhRKRmzJ07l06dOgF0cve5yZ6nzrWQzOwB4CSgEPgW+D93fyPaqKqufl4OJ/Zsx4k92wGwdfsOpi9Zx8QFQYKaML+Y0TOWU/r3Rcfm9enZPkhQ/To1Y592jdSKEpG0VudaSGbWFZjr7iVm1gd4hyBrr67AsUWkaQupItZv3sbkBWuYuKCYCfOKmbigmMVrgtnEi5rX54Se7TihZzv2at0w4khFpC5RC6kM7j4trigfaAuUm5Bquwb5OQzYszkD9mz+XdnStSWMmraMNyYt5u+jZvK392ayV+sGnNCjHcf3bEenFoURRiwislOkLSQzawtcAfQH+gANgMHuPjpB3XzgVmAo0BSYCNzo7u8mqHs/cD5QALwBnOgV+KC1vYVUnuXrNvPmV4t5Y+Jixoezi++7WyNO6NGOH/doS/um9SOOUERqo1S1kKJOSIcBo4CZwDLgIMpOSM8CpwL3hvWHESSxQ9394wT1s4HBwD7u/pcKxlNEHU5IsRYVb+K/kxfz+qTFTJxfDEDbxgU0rZ9Hs8KdW/B9Lm0a12Pw3i3JydaTAiLyfXUlITUE8tx9pZmdBLxKgoRkZv2AT4Cr3P3esKwA+ApY5O6DdvEerwP3ufvICsRTRIYkpFjzVm7kP5MXM3v5elZt2MKqjVtYvWELqzZsYW3Jtu/qHdG1FfedvT/18rIjjFZE0k2duIfk7usqWPU0YCvwSMyxJWb2KHCbmbV197IWE8oB9qxapHVbh+b1ueywxJdo6/YdFG/cyn8mLeKWN6ZyzqOf8Oh5ml9PRFKvtvS/9AamuXv8Wt/jAQN6AZhZAzM7J3zNMbNTCbrtPog/oZk1MbOi2A1oX62fohbKzc6iZcN8hh3cib+fvT+TF6zhjIc+ZvGaTVGHJiJ1TG1JSG2BRC2g0rJ24asDFwALgJXADcAQd5+c4NgrCRbki91+kLhkp+P2a8sTF/RlUXEJp97/ETOXVbSBKyJSvtqSkOoBmxOUl8Tsx903uPvh7t7E3Ru7+wHu/moZ57yXYEG+2G1giuOucw7aswXPXXwgW7Y7pz34MV/Oq/Oj6UWkhiR1D8nM9gD2AVoRtEqWA1+5e3Wtv72J4HmieAUx+yvF3YuB4tgyzWRQMfvu1piXLxvAuY+N5+wRn3DugI707tCEXrs3pU3jgvJPICKSQIUTkpntBVwCnA7sVlocvnpYZyHwAvCwu89IYZyLCbrt4pWWLUr2xGY2HLg52eMzVcfmhbx06UFc/cIEHhs7h63vB6M1WzfKp9fuTThuv7ac2LOdkryIVFi5CSm82X87QSIqAT4CngBmEdynMaAZ0Bk4EPg5cJWZvQBc7+7fpiDOCcAVZtYgbmBD//B1YrIndvfhwHDYOew72XNlmpYN83nqwv5s3radqYvWMiGc+PWzb1czcspS/jNpMX88ZT+aN0jUuBUR+b6KtJCmhdtFwEvlDdU2s0YEyeuX4XH1qhok8BJwTRhD6XNI+QSzMYx1d7WQIpSfk03vDk3p3aEpADt2OI98OJs7R87gR/d+wB2n92Dw3q0ijlJE0l25D8aa2Snu/kpSJzc71d1fLqfOTeGX3YCzgccIWinF7n5fTL0XCGbxvoegdXYe0JfgQdqxycSXIJYiMvDB2Ory9eK1XPncBKYvXcfQAzty0/HdyM/RQ7UidU2dmKkBwMzKCuBbdy+KqVcA/B44h2Auu0nADe7+TgpjKUIJKaVKtm7nzpHTeeTDOZx/cBE3n7BP1CGJSIpFNlODmR3o7uOSfcN47l6hu97uXgJcG25SSxTkZnPT8d3ZtsN5fOxcjuzWmoM7t4g6LBFJQ8k8h/SRmU0ysyvMrHn51dObmQ03Mw9bahrQUE2uO6Yre7Qs5JoXJ7Jm09aowxGRNJRMQrqR4Pmfe4AFZvacmR2Z2rBqjrsPd3cLW2qdoo6nrqqXl83dZ/Ri2brN3PL6lKjDEZE0VOmE5O5/dPe9COaIexE4ARhpZnPM7LdmpvngJKFeuzfh8sGdeeWLhfzvq7LmwhWRTJX01EHuPsbdzyV4OPVyYAVwCzDHzP5rZqeYWdqvSKsuu5r1y8M7s99ujfm/VyYzecGaqMMRkTRS5bns3H2tuz8I/Bh4GsgGjiFoPc0zs6vMLG3nzFOXXc3Kzc7injN7ssPhhPs+5IyHPuatKUvYviPa0Z4iEr0qJQoLHGdmLwPzCYZkjyOYcfscghbHnYQPs4oAdG7VkA+uG8yNx3Vj4epNXPzU5xxz7/tqMYlkuKSeQwonV72A4OHUdgSTlD4NjHD3r+LqPgic7u5pPyJPzyHVvG3bd/DmV0u47T9fs2L9Zq46ai8uPXRPsrM0B55IbZGq55Aq3UIys1HADIK1huYCw4Dd3P2K+GQUGkPwIKvID+RkZ3FCz3b878qB/GjfNtwxcjpnPfwxX2hZC5GMk0yX3X7A34B93H2guz8VPrRalneBo5KKrgZoUEN6aFI/j/uG9OaeM3vyzbL1nHL/R5z18MeMmbGcbdt3RB2eiNSASnfZmVmeu2+ppngipS679LBh8zaeHT+PER/MZunazTQqyGHQXi3p07EpTQvzaFQvl9YNC9itST0a1cvREhciEYts6iCgrZl1d/c3E+00s2OBKe4+L9mgJLMV5udw0cA9GDqgI+9+vYxR05Yxavpy3pj0w2eXcrKMwvwciloUcuuJ+9Bz9yYRRCwiqZBMC+mfQJG7H1zG/veBOe5+Xgriq1FqIaWvHTuclRu2sLZkK8Ubt7J0bQmLijexcsMWNmzexttTl7Js3WYuOLiIQXu1pHvbRlqHSaSGRNlCOgQYsYv9I4GfJReOSGJZWUbLhvm0bJg4yfz66L255fUpjPhgDiM+CG4Ftm6UT5+OzTjtgPYM2qulRu6JpLlkElJrYMku9i8N69QKWqCvbmhcL5e7z+jFb3/cna8Xr2Xq4rVMWbSWMTOW85/Ji+m5exP+fnZv2jetH3WoIlKGZBJSMbDHLvbvCazfxf60oiXM65amhXkc1LkFB4VLXGzZtoPXJy5i+L+n8OO/fsjTF/Znv/aNI45SRBJJZtj3h8BFZvaDNanNrDVwYVhHJHJ5OVmcekB7Xv/lITTIz+GiJz9lyZpdPaUgIlFJJiH9EWgMfGlmV5rZYeF2JfBFuO+PqQxSpKqKWhTy6LA+rC/ZxlkPf8x/Jy9m1YYtRL1isojsVOkuO3f/3MzOAB4D7gZK/0cbsAo4093Hpy5EkdTo2qYRjw7ry42vTubn//wCgBYN8jh6nzZce/TeNC3MizhCkcyW1PIQ7v4vM+sAHAt0CYtnAP9z9w2pCk4k1Q7cozlvXXUoY2YsY+6KjXwxbzUvfbaA8XNW8dSF/WjbuF7UIYpkrKTXKwoTz0spjEWkRmRnGYd3DQaCXkAnPpm9kvOf+JQ7R87grjN6RhydSOZK23WKaormspP+ezTn6O6tGT19GTu0LpNIZJJKSGZ2mpmNMbNFZrbZzLbEbZtTHWh10QJ9AjC4aytWbtjCpIVak0kkKpXusjOzq4E7gNXAeGBlqoMSqWmDurTEDEZNW0YvzYcnEolk7iH9EvgUOEIDGKSuaFqYR6/dmzByyhKuPLKLZhAXiUAyXXZtgSeVjKSuGdKvA9OWrOPfExdFHYpIRkomIc0iePhVpE45bf/27LtbI255fSpXPT+B96YtZasWBxSpMckkpLuBC82sMNXBiEQpK8v486k96dKqAe/PWM4FT3zGPr8bydUvTGDZOk03JFLdkrmHtAlYDkw1s0cJhkpvj6/k7s9UMTaRGte9XSOev2QAW7fv4N2vlzJ25kqe/3Q+Y2eu4G9D9qdfp2ZRhyhSZyWzQF9F+jDc3bOTCyk6WqBPEvl68Vou+sdnLCzexG5N6rHvbo04qnsb9mxZSLe2jSjIrXU/6iIpFeUCfUcl+2YitVG3to0YedUgXvpsPp/PK+bTOasYOWUpECwCeMuJ+3LMvm0ijlKk9qt0C6muSbRAn1pIsivuzpRFa5m3aiP3j57JVwvX0reoKSf13o0euzXRekuScVLVQqpSQjKzXKAZsMrdtyZ9ojShLjuprC3bdvD0uG959MM5LCzeBEBhXjY/H9yZSw/dU8umS0aINCGZWU+C2RoOJej2O8rd3wsX7XsK+JO7v5dsUFFRQpJkbdu+g0XFJYyavoxR05cxevpyGuTncGS3Vhy7X1t+tI+69KTuSlVCqvSwbzPrAYwFugHPxu5z92VAI+C8ZAMSqY1ysrPo0Lw+5x1UxOPD+vLXIb0Z3LUVr01YxCVPfc6/JiyMOkSRtJfMc0i/B5YA+wDXECzMF+td4MAqxiVSa5kZJ/Zsx9+G9GbG/zuW/p2accVzE7j4yc/4x0dz2a4ZxUUSSiYhDQRGuPtadq4WG2se0K5KUYnUEXk5WTw09ADOG9CR0TOWc/O/p/DPT76NOiyRtJRMQqpHMNN3WRomGYtIndSkfh63/GRfvr71GLq1bcTv/jWFXz37JfNXbYw6NJG0kkxCmg0csIv9hwFfJxWNSB2WnWU8c1F/Lh60B/+dvJjTH/yYv4+a+d3oPJFMl0xCehY418wGx5Q5gJldARwHPJ2C2CrNzPLN7HEzW2Bma8xslJntE0UsIok0LczjhuO68drlB9O6cQF3jJzOwbe/x5F3j+HGVyfzxNg5bNi8LeowRSKRzNRB+cDbwEHAFGBfYALQEtgNeA84xt1/ML9ddQsnfL0aeBxYDFwBXObuXSp4fBEa9i01aMqiNYyduYJ3v17G1EVrWRcmowM6NqVn+yYc3rUVh3RpEXGUIrsW9XNIucCVwE+BrgQtrW+AJ4G70+UhWTPLA0qAlu5e7sq2SkgStQ+/WcHHs1cwZsZyvlq4FoCXLh1AnyJN6irpKy1maqgqM2tL0IrpD/QBGgCD3X10grr5wK3AUKApMBG40d3f3cX5DwWed/cKPZWohCTpZOX6zRx+1xiys4z3fn0oTernRR2SSEKRPRibYnsD1wHtgUnl1H0CuIrg/tQVwA7gTTMbkKiymTUBHgZuSFWwIjWpeYN8Hj+/L2s2beWMhz7m7alLyfS5J6VuS+Ye0tkVqVeR9ZDMrCGQ5+4rzewk4FUStJDMrB/wCXCVu98blhUAXwGL3H1QXP0CYCTwmbv/uiLxhscVoRaSpJn3pi3l1tenMnflRk47oD1/OHk/8nKi/ltSZKcol594mmBUXfwMDfGZrdyE5O7rKviepwFbgUdiji0JFwi8zczauvtiADPLBp4D5hPMJCFSqx3etTWDurTkzrdm8OCYWawv2cbNJ3anbeN6UYcmklKpWg8pB9gTuAxYR9xyDinQG5jm7uvjyscTJMZeBKPqAEYABcDprv4NqSNysrO4/tiurNm0hWfHz2fywjW8ffUg6ucl819YJD1V+qe5nEEEjwGfEgwFf7sKccVrCySanbI0CbUL378jcD7ByLrVZt814o519w/iYm0CNIk7X/tUBSxSHf5w8n4c3LkFv3jmS4Y8PI5/XNBPgx2kzkjpn1dhN9pTwOXAPSk8dT1gc4Lykpj9uPu3/LArsSxXkvqWnEi1MjOO79GOLDN+9eyX/PivHzKk3+6c3md3WjcqiDo8kSqpjjujJaS+pbEJyE9QXhCzv7LuBTrFbQOTik6khh23X1seP78vhfnZ3PnWDPr/4V3OePBjzfIgtVpKE5KZtQYuAeam8rwEXXNtE5SXli2q7AndvTgcDTIMmBNuH+zqGJF0MrBLS9666lBeu/xgzuq7O+PnrqLXrW9x/cuTmDi/OOrwRCqt0l12ZvZWGbuaAd0JWi0XVCWoBCYAV5hZg7iBDf3D14nJntjdhwPDYeew72TPJRKFXrs3oWf7xrRqVMDYmSt47tP5PPfpfP42pDcn9NRKMFJ7JNNC6k6wWmzs1pUgub0BHObuT6QqwNBLQC5wUWlBOHPD+cBYd690C0mkLjEzrj5qL16+7CBe/8UhtGlUwC+f/ZJfPPMFs5fHD04VSU/JjLJL6f0hM7sp/LJb+DrUzA4Bit39vvA9PzGzF4E/h9MNzSJYJr0jQZdbVd5/OBrcIHXIfu0b8+6vD+WW16fwwmcLeGPSYob0250/nLwfMSNPRdJOpHPZAZhZWQF86+5FMfUKCJZPP4dgLrtJwA3u/k4KYylCMzVIHTJl0Rp++9pXfDGvmBHn9uGo7q2jDknqoLoylx3ubmVsRXH1Stz9Wndv6+4F7t4vlclIpC7ap11jnr34QDo2r8/PnvyMT2aXO+m9SGQqnZDMbKuZbanklugZorRgZsPNzMOWmgY0SJ2Tn5PN7af0oFFBDmc+PI5fPfsl60rSYoUYke9JZnLVp4EeBLMxzGLncuXdCKYPmkyCmbvdfWiVIq0B6rKTumxR8SZ+/cJEPp69EjP4+9n7M2ivljTI1/RDUjWRrYdkZkcArwHnufsrcftOI1it9Sfu/l6yQUVFCUkywdtTl/LrFyawtmQbDfNzePXyg+jcqmHUYUktFuU9pP8HPByfjADc/SWCGblvSzYgEaleR3VvzehrB3PbyfuyYcs2Lv/nl2zfoXmIJXrJJKSewMxd7J9B0KVXK+gekmSiZoV5/LR/R353fHemL13HsX95X/eVJHLJJKRi4Mhd7D8aWJNcODXP3YeXjuwjmM9OJGOcO6CIvkVNmbF0PfsNf4tZeohWIpRMQnoWOMnMHjKzLrZTFzN7GDgxrCMiaS4ry3j+4gH8YnBnAI64awx3vTWdHerCkwgkM6ihAHgR+DHBKrGl0wvnECz98CZwqruXJD5D+tKgBslk7369lAv/8RkArRrm88vDOzOkXwdysiN/XFHSXGSj7L470Ow44CR2dnPNBv7l7v9NNpioKSFJplu9YQtXvTCB0dOXA9C4Xi4n996NG47rRl6OEpMkFnlCqisSzWWnhCSZbsmaEm58dTLvTlsGQOtG+Yy5djAFudkRRybpKC2mDjKzIjPrb2a19iEGDWoQ+aE2jQt4dFhfvr71GPZq3YClazfT69a32Lxte9ShSR2WVEIys2PNbDrBTA0fAX3D8lZmNs3MTk5hjCISkXp52bx5xSD6dWpGydYd9L71bb6YtzrqsKSOSmYuu0HAv4ENBA/AfjefvbsvA+YDQ1IVoIhEKzvLeP7iAzmgY1M2btnOKfd/xJ0jp7Ney6VLiiXTQvodwXx1fYG/Jtg/FjigKkGJSHoxM16+7CCevKAfAPeNmsm+N49kVHiPSSQVkklI/YCn3X07wbDveAuANlWKqgZppgaRihu0V0u+/O1RnNEnWKfz/Cc+ZdnaWveEh6SpZBJSNrBpF/tbALVmDhINahCpnKaFefz5tJ78/if7ANDvD+/yxbzVbNu+I+LIpLZLJiFNAw7Zxf7jSLD8hIjULWf378j+HZoAcMr9H3HoHaOZvmRdxFFJbZZMQnocOMPMzmPngAY3swIzuxs4GBiRqgBFJD1lZxkvXnoQz/ysP20aFbCweBM/uvd97n57BivWp+2anJLGkpk6yIBngDOB1UATYAlBV10u8KS7D0ttmDVDMzWIJO+Fz+bzm5d2do6c2Wd3bj91P4JfGVKXperB2EovFelBBhtiZq8APyVYKdaACQTJ6PlkgxGR2uuMPrvTp2NTxs1exQ2vTub5z+azaet2/nJWLyUlqZCMnzoollpIIqmxbF0J/W57F4BOLQp5bFhfOrUojDgqqS6RTB1kZg3MbLOZ3ZjsG6YbDfsWSb1WDQuY+LujObJbK+as2MDgO0dzyVOfUbJVUw9J2SqVkNx9PbAeWFE94dQ8DfsWqR6N6+fyyHl9uev0nhTmZTNyylIO+dMoxs1eyeI1u3pyRDJVMqPsxgADUx2IiNRNpx7QntHXDqZH+8asWL+Zsx4ex4A/vqc58eQHkklI1wCHmdlvzUydwiJSrpYN83nhkgE8f/GBHN+jLRA8u/TKFwsijkzSSaVH2QH/C48bDtxsZkuAjXF13N33rmJsIlKHFORm03+P5vQtasbBnVvwf69M5uoXJrJ4TQktG+ZzzL5taFSQG3WYEqFkEtIyYCnwTYpjEZEMkJVlDOnXgb3bNOSU+z/ijpHTARg3ayVn9+9An6JmEUcoUdGw7xga9i1Ss9Zs2srGXpqhAAAZp0lEQVSmLdsZMmIcc1ZsIC87iwfO2Z8OzerTpXWtXfcz46TFirEiIlXRuF4ubRoX8PovD+H/nbQvW7bv4MJ/fMZJfx/LN0vXac2lDFOhhGRm95tZn7iyvOoJSUQyTYP8HM7u14H//mogvzqiCxu2bOeoe97npyPGRR2a1KCKtpAuBfYq/cbMmgObzOzwaolKRDJOVpbRvV0jfn7Ynjx4zgEc2a01ExesYa+b3uRfExZGHZ7UgKp02dWJyak0U4NIeinIzeaYfdvwu+O788vDO5Ntxp//N52hj37C59/q2aW6LJlRdnWKuw8nGML+3aCG6KIRkVIdmtfn10cHT4+Mm72Sj2atBGZwdPfWHLtfW1o0yI82QEm5jE9IIpLeSpPSSX8fywffrOCDb1awaE0JVxzRhYLc7Iijk1SqTJddovHhGjMuIjXixUsH8OVvj6JVw3weGD2LfW4eyfg5q6IOS1KoMi2k283s/8KvswmS0SNmtiFBXXf3nlWOTkQklJudRdPCPO45sxeff7uau9+ewd1vT6d728ZccEgR7ZvWjzpEqaKKJqR5BAmoYVxZVlyZiEi1OrhzCw7aszljZixn2pJ1jJu9iqb1c7l8cGeysurEWKuMpZkaYmimBpHap9etb1G8cStN6ucy+prDaFJfj0jWNM3UICIC3H1GT07pvRvFG7fyz0/m8Z9Ji1lXsjXqsCQJdS4hmdktZjbVzHaY2VlRxyMi1evwrq35+eA9Abhj5HQuf+YLnhr3bcRRSTLKTUhm9pSZ7VHZE5tZFzN7OrmwquQb4ApgfATvLSIR6NyqIeP+7wjeufpQGubn8ObkJdz2n6m8MWlR1KFJJVRkUENn4Gszex14Enjb3ROuP2xmDYBjgKHAscCnqQq0otz96TCWG2v6vUUkOm0aFwAwYM/mfDhzBV8vXkuT+rkc36NdxJFJRZWbkNx9gJmdDfwWeA3YZmZTgFnAKoIphJoBXYBuBEPCpwJD3f35XZ3bzNoStGb6A32ABsBgdx+doG4+cCtBsmsKTARudPd3K/RJRSQjPHxuMA/07W9OY8QHs7nupUlkZxuXDNqDjs21yHU6q9A9JHd/xt27AUcBjwH5wEnARcCFwE8IEtODwGHuvm95ySi0N3Ad0B6YVE7dJ4CrgKcJktgO4E0zG1CRzyAimaV/p2a0aVTA6BnLeOaTebwxaXHUIUk5KjV1UNgaeRfAzLKA5gTPJ6305MaPfw60cPeVZnYS8GqiSmbWDzgLuMrd7w3LngS+Av4EDErivUWkDhvctRVjrw8WJNjrxjcZM305W7btwAyO79GOzq0aRByhxEt6Ljt33wEsr8qbu/u6ClY9DdgKPBJzbImZPQrcZmZt3V1//ohIQvu1b8z4uasYPzeYamhxcQl/Oq1HxFFJvNoyuWpvYJq7r48rH0/QVdgLWAxgZrkE97GygFwzKwC2hAlURDLQy5cd9N3XR98zhvmrN/LVwjUAdGpRSGF+bflVWLdV+l/BzN4rp4oDmwimFnoL+FeS3Xmx2gKJVugqbRXFDqMZAZwXfj2QYGTgYGB07IFm1gRoEne+9lWMU0TSXMuG+YyduZLj//YhAEd3b/3dQAiJVjJ/FuwB1ANaht8Xh6+lv9yXE7ROjgMuAcaa2bHunmgS1oqqB2xOUF4Ssx8Adx8GDKvAOa8Ebq5CTCJSC91xWk+mLFoLwF/encHStSXlHCE1JZmZGg4DNgJ3AK3dvZm7NwNaA3cCGwiGcLcA7gYOAX5XxTg3EYzsi1cQs7+y7gU6xW0Dk4pORGqNdk3qcVT31hzVvTUdmtVn9ooNXPncl1z53Jc8OGZW1OFltGQS0j3AWHe/zt2/G9Tg7svd/TfAx8A97r7K3a8F/gOcWsU4FxN028UrLav049juXhxOAjiMYJXYOcAHScYnIrXQoXu1pFlhHl/OL2bU9OXcMXI6mnA6OskkpMPZ9S/uD8I6pd6h6vdmJgBdw5kgYvUPXycme2J3H+7u5u5G0EoSkQxxZt8OjLl2MGOuHczFg/Zg+w5ny3aNf4pKskNLupazL3ZRkh0k16UW6yXgGoIHcUufQ8oHzidorWnCKhGpknrhcuinPvAR2Rb8CjvnwI6c3mf3KMPKKMkkpHeAy8zsE3d/LnaHmQ0BLgXeiCneH5hb1snM7Kbwy27h61AzOwQodvf7ANz9EzN7EfhzON3QLIKRdB2p2ACGMpnZcDS4QSTjDdqrJUd1b83WsIX0+dzV/O+rJUpINajSC/SZWUfgQ4Kh1ouBmeGuzgT3dBYDB7v7t+EzQP8FXnf3e8o4X1kBfOvuRTH1CoDfA+cQzGU3CbjB3d+p1AfYBS3QJyKlTn/wI3Kysnj24gOjDiXtpWqBvkq3kMJE0xO4Hjienfdx5gLPAH9y95Vh3RK+fz8p0fkqtOZweK5rw01EpFoV5GYzfck6fv/G1O/KBnZpwWF7t4owqrotqXtI7r4K+E241WrqshORRPp0bMaX84p5/tP5AGzaup3P5q5SQqpGGT9fhrsPB4bDzi676KIRkXRxxZFduOLILt99f+lTnzNnRVWe75fyJLWEuZkVhkuFTzKz9eE2ycyGm5kWHBGROic/N4vN27ZHHUadlsxcds0InjXqRjBN0Jfhrr0IZmQ43cwGht16IiJ1Qn5OFgtWb+JH97z/XVlhfjYPDj2AVg0LdnGkVFQyLaRbCZ41+gXQzt0HuvtAglF3lxMsujc8ZRFWs7BV5+FoP3XXiUhCJ/duz1HdW9OpRSGdWhTSuH4uX8wr5pul8YsQSLKSuYd0IvCIu98fW+ju24EHzKw3wWqyv0pBfNVO95BEpCIG7NmcAXs2/+77L+et5uT7P2LLNs3skCrJtJBas7ObLpEvwjoiInVWfk4ws8NmJaSUSaaFtJRgwbyy9A7riIjUWXk5wd/z701byvL1318dJy/b+HGPdjTQwn+VkszVeh24xMy+AEaUrsRqZlkEc81dADyUuhCrl55DEpFktGiQR0FuFi98toAXPluQsM6ZfTvUcFS1WzIJ6XfAUcD9wC1mNj0s35tg0b6Z1KJf8LqHJCLJaFI/j89vOoqNW74/FHxtyVaOuGsMm7ZoiHhlJTN10Eoz6wNcRzB4oW+4azbwCMHUQetSF6KISHoqzM+hMK5brl5ecG9p63atq1RZST0Y6+5r3f1Gd9/H3euH277ufhNwtplNLfckIiJ1UG52MD2n1lWqvOq449aCoPtORCTj5GYFf+dv2bYj4eqzZhWaTzojaQiIiEgKZWUZedlZ/OXdb/jLu9/8YP+tP9mHcwcU1XxgtUDGJySNshORVLv7zJ7MXPbDGRweGjNbMzvsQsYnJI2yE5FUO75Hu4Tl//xkHtt2aLBDWZIa1CAiIpWXk2Vs02CHMlWohWRmV1finAcnGYuISJ2WnWVsVwupTBXtsruzkufVFRcRiZObnaUuu12oaEIaXK1RiIhkgOwsY/O27WXO4pCVtXPS1kxUoYTk7mOqOxARkbouPyeLkVOW0u13/0u4PyfLeO7iA+lT1KyGI0sPGT/KTsO+RaSm3HLiPnz27eqE+1Zt2MLD789mYfEm+tRwXOki4xOShn2LSE3pU9SszNbP3BUbePj92Rk96EHDvkVE0kB2VjClkBKSiIhEKitMSDsSzH+XKZSQRETSQM53LaSIA4mQEpKISBrICmcB364WkoiIRKn0HtIO3UMSEZEoZZsGNWT8sG8RkXQQruvHvFUb+WJe4meV4rVskM/uzepXY1Q1SwlJRCQN5OVkkZedxRMfzeWJj+ZW+JhJNx9NQW7dmG4o4xOSZmoQkXSQn5PNv395MEvWlFSo/sgpS3l2/Dw2b9uhhFRXaKYGEUkXXds0omubRhWqO2fFBgC8Do3K06AGEZFayMLXujQGQglJRKQWqoszOyghiYjUQhYOE69D+UgJSUSkNirtstM9JBERiVTpVEO6hyQiIpEKbyHpHlI6M7NWZvY/M9toZl+Z2YFRxyQikmqlLaS6k47qYEICHgRmA82BO4CXzSw/2pBERFKstIVUh/rs6lRCMrOGwPHALe6+yd3/AawDDos0MBGRFMvSKLvUMrO2Zna7mY0ys3Vm5mZ2WBl1883sT2a2yMw2mdk4MzsirloXoNjdl8aUTQa6V9NHEBGJhO4hpd7ewHVAe2BSOXWfAK4CngauAHYAb5rZgJg6hcDauOPWAg1SEayISLrQPaTU+xxo4e5dCO73JGRm/YCzgN+4+2/c/WHgcGAe8KeYqhuAhnGHNwLWpzRqEZGImVpIqeXu69x9ZQWqngZsBR6JObYEeBQ4xMzahsXfAE3NrHXMsfsCU1MUsohIWtg5U0PdSUi1Zbbv3sA0d49v6YwnGGvSC1js7uvM7A3gt2Z2DXA6QQtpdPwJzawJ0CSuuH2qAxcRqQ6l95Be+nwhrRqmZiBx+6b1OHqfNik5VzJqS0JqCyxMUL44fG0XU3YZ8CSwimApiVPdfXOCY69E6yCJSC3VtnE9sgweHDMrZec8vGsrJaQKqAckSiolMfsBCEfY/agC57yXYKBErPbAB0nEJyJSow7o2JTJw3/Etu2p67LLybbyK1Wj2pKQNgGJ2qQFMfsrxd2LgeLYstI+WRGR2qAwv7b8Cq+YqEfZVdRigm67eKVli5I9sZkND59/crRarIhIZGpLQpoAdDWz+OeJ+oevE5M9sbsPd3dzdwM6JXseERGpmtqSkF4CcoGLSgvC+enOB8a6e9ItJBERSQ+Rd0Ca2U3hl93C16FmdgjBFED3Abj7J2b2IvDn8JmjWcB5QEdgWBXffzgabSciEjmL+qGq8N5NIt+6e1FMvQLg98A5QFOCqYZucPd3UhhLETBnzpw5FBUV7bqyiIgAMHfuXDp16gTQyd3nJnueyFtI4b2bitQrAa4NNxERqWMiT0hRS9Rlt2DBgmiCERGphWJ+Z2ZX5TyRd9mlk/DelR6MFRFJzkB3/zDZg5WQYoQj9/oSPPe0neC5pPih4PFlsd+XzvQwEKiOZlaieFJ5XHn1ytpfkeuUqKz0++q+bmXFk8rjdlWvMtctUbl+5ipWrp+55PdV9Wcum+C50E/LmKqtQpSQdsHMPP4eV3xZ7PelgyKo4o29ysSTyuPKq1fW/opcp0Rlpd9X93XbVeypOm5X9Spz3RKV62dOP3OVrVfZfenyM1dbnkMSEZE6Tglp126pQFmiOtUl2feq6HHl1Strf0WuU6KyTLl2lbluicoz9brtar9+5pL7mStrX1r8zKnLLoVqohugLtJ1S56uXXJ03ZKnLrvao5jgL4ni8irK9+i6JU/XLjm6bsmrtmunFpKIiKQFtZBERCQtKCHVMDNrZWb/M7ONZvaVmR0YdUy1gZndYmZTzWyHmZ0VdTy1hZnlm9njZrbAzNaY2Sgz2yfquGoLM3vAzBab2Vozm2xmx0cdU21iZgPC/7PXV6S+ElLNexCYDTQH7gBeDh/IlV37BrgCGB91ILVMDsHP24FAM+B14LVII6pd/kJw874RwXI3T5tZ04hjqhXMLAu4B/i0wsfoHlLNMbOGwEpgd3dfGpZNA65w95GRBldLmNlo4EF3fy7qWGojM8sDSoCW7r4y6nhqEzPrQzBDwQHuPjXqeNKdmV1KsKxQY2Cau99e3jFqIe2CmbU1s9vDbo514VLnh5VRN9/M/mRmi8xsk5mNM7Mj4qp1IVjnaWlM2WSgezV9hEhUw3XLGDVw7QYAy+piMqqua2dm95vZJoK/9N8Bvq6+T1HzquO6mVlz4EoqudacEtKu7Q1cRzB306Ry6j4BXAU8TdC1tAN408wGxNQpBNbGHbcWiF+avbZL9XXLJNV27cysCfAwcEOqgk0z1XLt3P3nBP9HjwLe8brXrVQd1+024F53r9zQcHfXVsYGNASah1+fBDhwWIJ6/cJ9V8aUFQAzgfdjyvYHlsYd+yJwVdSfNZ2vW9wxo4Gzov6Mte3ahfvGAHdF/Rlr27WLO/Z14EdRf9Z0vm5Ab+BzIDv8/gng+orEohbSLrj7Oq9Y18ZpwFbgkZhjS4BHgUMsWHYdghvzTc2sdcyx+wJ1qj+6Gq5bxqiOa2dm2cBzwHzgmtRGnD5q6OcuB9izSoGmmWq4bocStLoWmtkS4EzgRjN7sLw3UEJKjd4EN+3Wx5WPBwzoBcE/PPAG8FszKzCzoUAjgr/6M1GFrhuAmeVasIx9FpAbXr9M/vmt8LUDRhD8JXu+h3+yZrgKXTsza2Bm54SvOWZ2KjCYzF0zraI/cw8DncPvewH/JhiteF15b5DJ/6FTqS3BGkrxSsvaxZRdRjC4YRVwPXCqV2H9kFquMtdtBLCJYA2WJ8OvB1VrdOmtQtfOzDoSDFc+FFhtZuvDbWDNhJmWKvpz58AFBGv+rCS49zbE3SdXe4TpqULXzd03uvuS0o3g/+p6d19T3htk/BLmKVIPSJRUSmL2A+DBCLsf1URQtUBlrtswYFj1h1RrVOjaufu3BH+9yk4VvXYbgMNrKqhaoML/X2OF/3crRC2k1NgEJHq4tSBmv/yQrlvydO2Sp2uXnGq/bkpIqbGYoDkbr7RsUQ3GUpvouiVP1y55unbJqfbrpoSUGhOArmYW/zxR//B1Yg3HU1vouiVP1y55unbJqfbrpoSUGi8BucBFpQXh/HTnA2PdXX9xJabrljxdu+Tp2iWn2q+bBjWUw8xuCr/sFr4ONbNDCKYAug/A3T8xsxeBP4dj8WcB5wEdydAb8bpuydO1S56uXXLS5rpF/ZRwum8EQz8TbXPj6hUQzN69mGDUyXjgyKjj13WrfZuuna5dpl43zfYtIiJpQfeQREQkLSghiYhIWlBCEhGRtKCEJCIiaUEJSURE0oISkoiIpAUlJBERSQtKSCIikhaUkEQiZoGPzeyfUcdSFjNzM3uiAvXuMbMZZpZbA2FJHaOEJBnNzA4Lf9leE2EYQ4A+wPDYQjObG8ZWum0xs2/N7FEz6xBJpOX7E9CeYGVkkUpRQhKJ3u+AN9z9mwT7FgBDw+1XwIcEsyuPM7PmNRdixXiwZPVzwPVmpsmbpVKUkEQiZGZHAHsDT5ZRZY27Px1uD7r7T4F7CRZFG1ZDYVbWUwTx/STqQKR2UUISqQAza2Fmfzez+WHX2fzw+x+0UsysyMxeNrO14fYvM+sUdsGNjqt+OrAdeKsS4bwbvnaJe992ZnaXmU0ws9VmVmJmU83sOjPLjqs7LOwGPNzMrjGzWWa2Obz/c15FgjCz/c1sSfgesV2I7wMbws8mUmFqUouUw8waAx8BnYHHgC+A3gT3SQ43s37uvi6s2xz4AGgNPAh8DQwERgGFCU5/KDDF3TdUIqQ9w9dVceU9gFOAVwnWqskFjgFuB/YALklwrj8A9YCHgM3hZ3rCzGa6+9iyAjCzHxEs2DYJOMHdv4vF3beb2afhZxOpMCUkkfL9hqA1crm7319aaGYTgPvC/b8Ni68juKl/jruXjpp7wMz+DFwbe9Kw1bIX8K9dvHe2mbUIv24AHEIw+GEbwb2aWGOAPfz7a8rca2ZPAReZ2XB3Xxx3TD7Q1923hDG9BMwGfgEkTEhmNhR4FPgvMMTdNyWoNgs4zMyau/vKXXw+ke+oy06kfCcDy4GH48ofCstPjik7gWDxsmfj6t6Z4LzNCf4Pxrd0YnUN32M5MIfg/sxK4CfuPim2ortvKk1GZpZnZs3CZDYyfJ8+Cc5/f2kyCs+xEJhBXHdgKTO7HvgHQUvx1DKSEWGMAK128dlEvkctJJHydQI+c/dtsYXuvs3MZgD7x9Ud7+474uouM7PiuPOWtmRsF+89F/hZ+HUbgi61HgQtpO8JR7VdD5xL0L0Yf96mCc4/O0HZSoJlqeOdAjQERrj7pbuImZj31gqgUmFqIYlEZyWwA2i2izob3P2dcHsaOIKgO+x5M2sbV/du4PcE97jOB44DjiLoRoTE/9+3l/G+iZLk+PC9TzOzRK2tWKWfaXk59US+o4QkUr7ZwN7xz9WE3+/F91sZc4HOZpYVV7cV0CS2LGxFfU0Z3WOJuHsJcFV4rlvidg8F3nf3s9z9H+7+pru/A6yt6PnLsYBgoMJy4B0zO3AXdTsDS3T/SCpDCUmkfK8BLYGL4sp/Fpa/GlP2OsEzOEPi6pY1E8RooJuZNapoMO4+imBo9TAz6xSzaztxLRszKyRIYCkR3mM6FFgEvGVmB8fXCQdr9CEYZCFSYbqHJBI4wswKEpSvAP5M8EzN381sf+BLgmHfFwLTw/2l/gScDTxuZv2AaQTDvg8KzxV/T+VF4HKC4dkvVCLe3wNvAzeFcUAwDPsSM3seeIdg6PkF7BxgkBLuvsTMDgvf439mdry7xyafQwmGuL+YyveVuk8JSSRwTLjFm+7uD4YtgVuAEwnuzywleM7o5tJnkADcfYWZHQLcRZAMnOAZpMHAp8D3RqW5+xgzm0rQ3VbhhOTu75jZOOBcM/uDu88CrgbWAWcQzJIwn2Bk4KcEySNlwkEag8Pz/tfMTnT30gd2hwJL2PVwdpEfsO8/siAi1SF8YHYF8FD8CDUzOwt4GtjH3adHEV+qmFkbgntq17v7X6OOR2oX3UMSSTEzq5eg+Prw9e34He7+HEEr5ubqjKuGXE8w+OGBqAOR2kctJJEUM7NRwLcEw6+zCIZqH08w/dAgdy9rqLVIRlNCEkkxM/s1wcOpRQTzxC0AXgFuib3fJCLfp4QkIiJpQfeQREQkLSghiYhIWlBCEhGRtKCEJCIiaUEJSURE0oISkoiIpIX/D1Nh5m2fYXjmAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xs = freqs.sort_values(ascending=False).reset_index(drop=True, )\n", "plt.loglog(xs.index + 1, xs)\n", "plt.xlabel('Log(Rank)')\n", "plt.ylabel('Log(Frequency)')\n", "plt.title(\"Zipf's law\")\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stop words, lemmatization and stemming\n", "\n", "We can try to reduce the number of tokens using the simple strategies of stop words, stemming and lemmatization." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Stop words\n", "\n", "The most common words are not very informative, and we may wish to remove them. There are other ways to handle this (e.g. with TF-IDF vectorizers) but we will simply use stop words for this section." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "vectorizer = CountVectorizer(stop_words='english')" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "idx = np.nonzero(\n", " newsgroups_train.target == \n", " newsgroups_train.target_names.index('rec.sport.baseball')\n", ")[0]\n", "baseball_sample = [newsgroups_train.data[i] for i in idx]" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "X = vectorizer.fit_transform(baseball_sample)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "vocab = vectorizer.get_feature_names()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "rownames = [':'.join(filename.split('/')[-2:]) \n", " for filename in newsgroups_train.filenames[idx]]\n", "df = pd.SparseDataFrame(X, columns=vocab, index=rownames)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "freqs = df.sum(axis=0).astype('int')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will also drop numbers." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "freqs = freqs[~freqs.index.str.isnumeric()]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the most common words are more informative." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "year 310\n", "game 204\n", "good 200\n", "team 195\n", "think 189\n", "don 186\n", "just 161\n", "like 153\n", "games 149\n", "better 140\n", "baseball 137\n", "hit 137\n", "runs 137\n", "players 135\n", "time 131\n", "dtype: int64" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "freqs.nlargest(15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Stemming\n", "\n", "Stemming is the attempt to identify the common roots of words using prefix and suffix rules." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "def tokenize(text):\n", " stem = SnowballStemmer('english')\n", " text = text.lower()\n", " \n", " for token in nltk.word_tokenize(text):\n", " if token in string.punctuation:\n", " continue\n", " yield stem.stem(token)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "text = '''circle circles circular circularity \n", "circumference circumscribe circumstantial\n", "infer inference inferences inferential'''" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['circl',\n", " 'circl',\n", " 'circular',\n", " 'circular',\n", " 'circumfer',\n", " 'circumscrib',\n", " 'circumstanti',\n", " 'infer',\n", " 'infer',\n", " 'infer',\n", " 'inferenti']" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(tokenize(text))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Lemmatization\n", "\n", "Lemmatization also attempts to identify the common roots of words, but uses dictionary lookup to do so. Lemmatization often gives better results than stemming, but is slower." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "def tokenize(text):\n", " lem = WordNetLemmatizer()\n", " text = text.lower()\n", " \n", " for token in nltk.word_tokenize(text):\n", " if token in string.punctuation:\n", " continue\n", " yield lem.lemmatize(token)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['circle',\n", " 'circle',\n", " 'circular',\n", " 'circularity',\n", " 'circumference',\n", " 'circumscribe',\n", " 'circumstantial',\n", " 'infer',\n", " 'inference',\n", " 'inference',\n", " 'inferential']" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(tokenize(text))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Word cloud" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "from wordcloud import WordCloud" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "wordcloud = WordCloud().generate(' '.join(freqs.nlargest(200).index))\n", "pass" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(wordcloud, interpolation='bilinear')\n", "plt.axis(\"off\")\n", "pass" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "from imageio import imread" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "rabbit = imread('data/rabbit.png').astype('ubyte')" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "wc = WordCloud(mask=rabbit[:,:,0], \n", " mode='RGBA',\n", " background_color=None)\n", "wc.generate(' '.join(freqs.nlargest(200).index))\n", "pass" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(wc, interpolation='bilinear')\n", "plt.axis(\"off\")\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Supervised Learning\n", "\n", "A general framework for supervised learning on text is\n", "\n", "construct corpus $\\to$ vectorization of features $\\to$ classification $\\to$ evaluation (often by cross-validation)\n", "\n", "For example, we may classify documents into topics, or by sentiment, or as spam/not spam." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vectorization of features\n", "\n", "There are 3 common methods to vectorize features when the text is treated as a bag of words - word count, one hot encoding and TF-IDF." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "small_sample = \"\"\"Do you like green eggs and ham?\n", "I do not like them, Sam-I-am.\n", "I do not like green eggs and ham!\n", "Would you like them here or there?\n", "I would not like them here or there.\n", "I would not like them anywhere.\n", "I do so like green eggs and ham!\n", "Thank you! Thank you,\n", "Sam-I-am!\"\"\".splitlines()" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Do you like green eggs and ham?',\n", " 'I do not like them, Sam-I-am.',\n", " 'I do not like green eggs and ham!',\n", " 'Would you like them here or there?',\n", " 'I would not like them here or there.',\n", " 'I would not like them anywhere.',\n", " 'I do so like green eggs and ham!',\n", " 'Thank you! Thank you,',\n", " 'Sam-I-am!']" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "small_sample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Word counts" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "count_vectorizer = CountVectorizer()" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "X = count_vectorizer.fit_transform(small_sample)" ] }, { "cell_type": "code", "execution_count": 56, "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", "
amandanywheredoeggsgreenhamherelikenot
00.01.00.01.01.01.01.00.01.00.0
11.00.00.01.00.00.00.00.01.01.0
20.01.00.01.01.01.01.00.01.01.0
30.00.00.00.00.00.00.01.01.00.0
40.00.00.00.00.00.00.01.01.01.0
50.00.01.00.00.00.00.00.01.01.0
60.01.00.01.01.01.01.00.01.00.0
70.00.00.00.00.00.00.00.00.00.0
81.00.00.00.00.00.00.00.00.00.0
\n", "
" ], "text/plain": [ " am and anywhere do eggs green ham here like not\n", "0 0.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 0.0\n", "1 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0\n", "2 0.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 1.0\n", "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0\n", "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0\n", "5 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0\n", "6 0.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 0.0\n", "7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "8 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab = count_vectorizer.get_feature_names()\n", "df = pd.SparseDataFrame(X, columns=vocab)\n", "df.fillna(0).iloc[:, :10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Hashing\n", "\n", "If the number of words is too large, we can hash words into a fixed number of buckets to keep the computations tractable. However, we lose the ability to map back to the original tokens." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "hash_vectorizer = HashingVectorizer(n_features=5)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "X = hash_vectorizer.fit_transform(small_sample)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.60302269, 0.30151134, 0.30151134, 0.30151134, 0.60302269],\n", " [ 0.5 , 0.5 , 0. , 0.5 , -0.5 ],\n", " [-0.60302269, 0.30151134, 0.30151134, 0.30151134, 0.60302269],\n", " [-0.57735027, 0. , 0.57735027, 0. , -0.57735027],\n", " [-0.57735027, 0. , 0.57735027, 0. , -0.57735027],\n", " [-0.90453403, 0. , 0. , 0.30151134, -0.30151134],\n", " [-0.60302269, 0.30151134, 0.30151134, 0.30151134, 0.60302269],\n", " [-0.70710678, 0. , 0. , 0.70710678, 0. ],\n", " [ 1. , 0. , 0. , 0. , 0. ]])" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.toarray()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### One hot encoding\n", "\n", "One hot encoding simply sets words with non-zero counts to 1." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "one_hot_vectorizer = CountVectorizer(binary=True)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "X = one_hot_vectorizer.fit_transform(small_sample)" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
amandanywheredoeggsgreenhamherelikenot
00.01.00.01.01.01.01.00.01.00.0
11.00.00.01.00.00.00.00.01.01.0
20.01.00.01.01.01.01.00.01.01.0
30.00.00.00.00.00.00.01.01.00.0
40.00.00.00.00.00.00.01.01.01.0
50.00.01.00.00.00.00.00.01.01.0
60.01.00.01.01.01.01.00.01.00.0
70.00.00.00.00.00.00.00.00.00.0
81.00.00.00.00.00.00.00.00.00.0
\n", "
" ], "text/plain": [ " am and anywhere do eggs green ham here like not\n", "0 0.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 0.0\n", "1 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0\n", "2 0.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 1.0\n", "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0\n", "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0\n", "5 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0\n", "6 0.0 1.0 0.0 1.0 1.0 1.0 1.0 0.0 1.0 0.0\n", "7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "8 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab = one_hot_vectorizer.get_feature_names()\n", "df = pd.SparseDataFrame(X, columns=vocab)\n", "df.fillna(0).iloc[:, :10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### TF-IDF\n", "\n", "You have previously implemented this in your homework." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "tf_idf_vectorizer = TfidfVectorizer()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings(\"ignore\", category=FutureWarning)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [], "source": [ "X = tf_idf_vectorizer.fit_transform(small_sample)" ] }, { "cell_type": "code", "execution_count": 66, "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", "
amandanywheredoeggsgreenhamherelikenot
00.0000000.4019960.000000.3551860.4019960.4019960.4019960.0000000.2565890.000000
10.4951650.0000000.000000.3803980.0000000.0000000.0000000.0000000.2748030.380398
20.0000000.4093160.000000.3616530.4093160.4093160.4093160.0000000.2612610.361653
30.0000000.0000000.000000.0000000.0000000.0000000.0000000.4299290.2385980.000000
40.0000000.0000000.000000.0000000.0000000.0000000.0000000.4366720.2423410.335463
50.0000000.0000000.620050.0000000.0000000.0000000.0000000.0000000.2906410.402322
60.0000000.3768270.000000.3329470.3768270.3768270.3768270.0000000.2405230.000000
70.0000000.0000000.000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
80.7071070.0000000.000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", "
" ], "text/plain": [ " am and anywhere do eggs green ham \\\n", "0 0.000000 0.401996 0.00000 0.355186 0.401996 0.401996 0.401996 \n", "1 0.495165 0.000000 0.00000 0.380398 0.000000 0.000000 0.000000 \n", "2 0.000000 0.409316 0.00000 0.361653 0.409316 0.409316 0.409316 \n", "3 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 \n", "4 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 \n", "5 0.000000 0.000000 0.62005 0.000000 0.000000 0.000000 0.000000 \n", "6 0.000000 0.376827 0.00000 0.332947 0.376827 0.376827 0.376827 \n", "7 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 \n", "8 0.707107 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 \n", "\n", " here like not \n", "0 0.000000 0.256589 0.000000 \n", "1 0.000000 0.274803 0.380398 \n", "2 0.000000 0.261261 0.361653 \n", "3 0.429929 0.238598 0.000000 \n", "4 0.436672 0.242341 0.335463 \n", "5 0.000000 0.290641 0.402322 \n", "6 0.000000 0.240523 0.000000 \n", "7 0.000000 0.000000 0.000000 \n", "8 0.000000 0.000000 0.000000 " ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab = tf_idf_vectorizer.get_feature_names()\n", "df = pd.SparseDataFrame(X, columns=vocab)\n", "df.fillna(0).iloc[:, :10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Maintaining context\n", "\n", "For some supervised learning tasks such as sentiment analysis (is this review positive or negative), the context of words is very important. For example the following two reviews use very similar words but have very different meanings.\n", "\n", "- `Only an idiot like Reviewer two could love that movie`\n", "- `Could not love that movie more. Reviewer one is an idiot`\n", "\n", "In this case, we need to take the context of individual words into account. Common ways to take context into account include the use N-grams (also known as colocations), part-of-speech (POS) tagging and grammars, and the `word2vec` family of algorithms." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### N-grams" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "count_vectorizer = CountVectorizer(ngram_range=(1,3))" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "X = count_vectorizer.fit_transform(small_sample)" ] }, { "cell_type": "code", "execution_count": 69, "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", "
amandand hamanywheredodo notdo not likedo sodo so likedo you
00.01.01.00.01.00.00.00.00.01.0
11.00.00.00.01.01.01.00.00.00.0
20.01.01.00.01.01.01.00.00.00.0
30.00.00.00.00.00.00.00.00.00.0
40.00.00.00.00.00.00.00.00.00.0
50.00.00.01.00.00.00.00.00.00.0
60.01.01.00.01.00.00.01.01.00.0
70.00.00.00.00.00.00.00.00.00.0
81.00.00.00.00.00.00.00.00.00.0
\n", "
" ], "text/plain": [ " am and and ham anywhere do do not do not like do so do so like \\\n", "0 0.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 \n", "1 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 \n", "2 0.0 1.0 1.0 0.0 1.0 1.0 1.0 0.0 0.0 \n", "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "5 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 \n", "6 0.0 1.0 1.0 0.0 1.0 0.0 0.0 1.0 1.0 \n", "7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "8 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "\n", " do you \n", "0 1.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.0 \n", "5 0.0 \n", "6 0.0 \n", "7 0.0 \n", "8 0.0 " ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vocab = count_vectorizer.get_feature_names()\n", "df = pd.SparseDataFrame(X, columns=vocab)\n", "df.fillna(0).iloc[:, :10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Significant collocation\n", "\n", "Most n-grams are not meaningfully phrases. We can use statistical tests for the likelihood of co-occurrence of words, and only use the significant collocations. Basically we test against the null hypothesis that the words in the n-gram appear by chance if the probability of each word was independently derived from its empirical frequency. " ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [], "source": [ "abstract = '''Macrophages represent one of the most numerous and diverse \n", "leukocyte types in the body. Furthermore, they are important regulators \n", "and promoters of many cardiovascular disease programs. Their functions \n", "range from sensing pathogens to digesting cell debris, modulating inflammation, \n", "and producing key cytokines and other regulatory factors throughout the body. \n", "Macrophage research has undergone a renaissance in recent years, which \n", "has propelled a newfound interest in their heterogeneity as well as a \n", "new understanding of ontological differences in their development. \n", "In addition, recent technological advances such as single-cell \n", "mass-cytometry by time-of-flight have enabled phenotype and functional \n", "analyses of individual immune myeloid cells, including macrophages, \n", "at unprecedented resolution. In this Part 1 of a 4-part review series \n", "covering the macrophage in cardiovascular disease, we focus on the \n", "basic principles of macrophage development, heterogeneity, phenotype, \n", "tissue-specific differentiation, and functionality as a basis to understand \n", "their role in cardiovascular disease.'''" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "ngrams = TrigramCollocationFinder.from_words(nltk.tokenize.word_tokenize(abstract))" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "scores = ngrams.score_ngrams(TrigramAssocMeasures.likelihood_ratio)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(('in', 'cardiovascular', 'disease'), 60.22140084295821),\n", " (('cardiovascular', 'disease', 'programs'), 57.490270384342544),\n", " (('many', 'cardiovascular', 'disease'), 57.490270384342544),\n", " (('cardiovascular', 'disease', '.'), 49.568274269761346),\n", " (('cardiovascular', 'disease', ','), 47.586079738744886)]" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scores[:5]" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(('development', ',', 'heterogeneity'), 18.377430413805826),\n", " (('heterogeneity', ',', 'phenotype'), 18.377430413805826),\n", " (('the', 'macrophage', 'in'), 17.35538066534174),\n", " ((',', 'heterogeneity', ','), 12.326088385780718),\n", " ((',', 'phenotype', ','), 12.326088385780718)]" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scores[-5:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part-of-speech tagging\n", "\n", "Regex for grammar from this [blog](http://bdewilde.github.io/blog/2014/09/23/intro-to-automatic-keyphrase-extraction/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Parts of speech in NLTK" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "$: dollar\n", " $ -$ --$ A$ C$ HK$ M$ NZ$ S$ U.S.$ US$\n", "'': closing quotation mark\n", " ' ''\n", "(: opening parenthesis\n", " ( [ {\n", "): closing parenthesis\n", " ) ] }\n", ",: comma\n", " ,\n", "--: dash\n", " --\n", ".: sentence terminator\n", " . ! ?\n", ":: colon or ellipsis\n", " : ; ...\n", "CC: conjunction, coordinating\n", " & 'n and both but either et for less minus neither nor or plus so\n", " therefore times v. versus vs. whether yet\n", "CD: numeral, cardinal\n", " mid-1890 nine-thirty forty-two one-tenth ten million 0.5 one forty-\n", " seven 1987 twenty '79 zero two 78-degrees eighty-four IX '60s .025\n", " fifteen 271,124 dozen quintillion DM2,000 ...\n", "DT: determiner\n", " all an another any both del each either every half la many much nary\n", " neither no some such that the them these this those\n", "EX: existential there\n", " there\n", "FW: foreign word\n", " gemeinschaft hund ich jeux habeas Haementeria Herr K'ang-si vous\n", " lutihaw alai je jour objets salutaris fille quibusdam pas trop Monte\n", " terram fiche oui corporis ...\n", "IN: preposition or conjunction, subordinating\n", " astride among uppon whether out inside pro despite on by throughout\n", " below within for towards near behind atop around if like until below\n", " next into if beside ...\n", "JJ: adjective or numeral, ordinal\n", " third ill-mannered pre-war regrettable oiled calamitous first separable\n", " ectoplasmic battery-powered participatory fourth still-to-be-named\n", " multilingual multi-disciplinary ...\n", "JJR: adjective, comparative\n", " bleaker braver breezier briefer brighter brisker broader bumper busier\n", " calmer cheaper choosier cleaner clearer closer colder commoner costlier\n", " cozier creamier crunchier cuter ...\n", "JJS: adjective, superlative\n", " calmest cheapest choicest classiest cleanest clearest closest commonest\n", " corniest costliest crassest creepiest crudest cutest darkest deadliest\n", " dearest deepest densest dinkiest ...\n", "LS: list item marker\n", " A A. B B. C C. D E F First G H I J K One SP-44001 SP-44002 SP-44005\n", " SP-44007 Second Third Three Two * a b c d first five four one six three\n", " two\n", "MD: modal auxiliary\n", " can cannot could couldn't dare may might must need ought shall should\n", " shouldn't will would\n", "NN: noun, common, singular or mass\n", " common-carrier cabbage knuckle-duster Casino afghan shed thermostat\n", " investment slide humour falloff slick wind hyena override subhumanity\n", " machinist ...\n", "NNP: noun, proper, singular\n", " Motown Venneboerger Czestochwa Ranzer Conchita Trumplane Christos\n", " Oceanside Escobar Kreisler Sawyer Cougar Yvette Ervin ODI Darryl CTCA\n", " Shannon A.K.C. Meltex Liverpool ...\n", "NNPS: noun, proper, plural\n", " Americans Americas Amharas Amityvilles Amusements Anarcho-Syndicalists\n", " Andalusians Andes Andruses Angels Animals Anthony Antilles Antiques\n", " Apache Apaches Apocrypha ...\n", "NNS: noun, common, plural\n", " undergraduates scotches bric-a-brac products bodyguards facets coasts\n", " divestitures storehouses designs clubs fragrances averages\n", " subjectivists apprehensions muses factory-jobs ...\n", "PDT: pre-determiner\n", " all both half many quite such sure this\n", "POS: genitive marker\n", " ' 's\n", "PRP: pronoun, personal\n", " hers herself him himself hisself it itself me myself one oneself ours\n", " ourselves ownself self she thee theirs them themselves they thou thy us\n", "PRP$: pronoun, possessive\n", " her his mine my our ours their thy your\n", "RB: adverb\n", " occasionally unabatingly maddeningly adventurously professedly\n", " stirringly prominently technologically magisterially predominately\n", " swiftly fiscally pitilessly ...\n", "RBR: adverb, comparative\n", " further gloomier grander graver greater grimmer harder harsher\n", " healthier heavier higher however larger later leaner lengthier less-\n", " perfectly lesser lonelier longer louder lower more ...\n", "RBS: adverb, superlative\n", " best biggest bluntest earliest farthest first furthest hardest\n", " heartiest highest largest least less most nearest second tightest worst\n", "RP: particle\n", " aboard about across along apart around aside at away back before behind\n", " by crop down ever fast for forth from go high i.e. in into just later\n", " low more off on open out over per pie raising start teeth that through\n", " under unto up up-pp upon whole with you\n", "SYM: symbol\n", " % & ' '' ''. ) ). * + ,. < = > @ A[fj] U.S U.S.S.R * ** ***\n", "TO: \"to\" as preposition or infinitive marker\n", " to\n", "UH: interjection\n", " Goodbye Goody Gosh Wow Jeepers Jee-sus Hubba Hey Kee-reist Oops amen\n", " huh howdy uh dammit whammo shucks heck anyways whodunnit honey golly\n", " man baby diddle hush sonuvabitch ...\n", "VB: verb, base form\n", " ask assemble assess assign assume atone attention avoid bake balkanize\n", " bank begin behold believe bend benefit bevel beware bless boil bomb\n", " boost brace break bring broil brush build ...\n", "VBD: verb, past tense\n", " dipped pleaded swiped regummed soaked tidied convened halted registered\n", " cushioned exacted snubbed strode aimed adopted belied figgered\n", " speculated wore appreciated contemplated ...\n", "VBG: verb, present participle or gerund\n", " telegraphing stirring focusing angering judging stalling lactating\n", " hankerin' alleging veering capping approaching traveling besieging\n", " encrypting interrupting erasing wincing ...\n", "VBN: verb, past participle\n", " multihulled dilapidated aerosolized chaired languished panelized used\n", " experimented flourished imitated reunifed factored condensed sheared\n", " unsettled primed dubbed desired ...\n", "VBP: verb, present tense, not 3rd person singular\n", " predominate wrap resort sue twist spill cure lengthen brush terminate\n", " appear tend stray glisten obtain comprise detest tease attract\n", " emphasize mold postpone sever return wag ...\n", "VBZ: verb, present tense, 3rd person singular\n", " bases reconstructs marks mixes displeases seals carps weaves snatches\n", " slumps stretches authorizes smolders pictures emerges stockpiles\n", " seduces fizzes uses bolsters slaps speaks pleads ...\n", "WDT: WH-determiner\n", " that what whatever which whichever\n", "WP: WH-pronoun\n", " that what whatever whatsoever which who whom whosoever\n", "WP$: WH-pronoun, possessive\n", " whose\n", "WRB: Wh-adverb\n", " how however whence whenever where whereby whereever wherein whereof why\n", "``: opening quotation mark\n", " ` ``\n" ] } ], "source": [ "nltk.help.upenn_tagset()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using a [paragraph](https://en.wikipedia.org/wiki/Alfred_Nobel) from Wikipedia." ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [], "source": [ "nobel = \"Born in Stockholm, Alfred Nobel was the third son of Immanuel Nobel (1801–1872), an inventor and engineer, and Carolina Andriette (Ahlsell) Nobel (1805–1889).The couple married in 1827 and had eight children. The family was impoverished, and only Alfred and his three brothers survived past childhood. Through his father, Alfred Nobel was a descendant of the Swedish scientist Olaus Rudbeck (1630–1702),and in his turn the boy was interested in engineering, particularly explosives, learning the basic principles from his father at a young age. Alfred Nobel's interest in technology was inherited from his father, an alumnus of Royal Institute of Technology in Stockholm.\"" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"Born in Stockholm, Alfred Nobel was the third son of Immanuel Nobel (1801–1872), an inventor and engineer, and Carolina Andriette (Ahlsell) Nobel (1805–1889).The couple married in 1827 and had eight children. The family was impoverished, and only Alfred and his three brothers survived past childhood. Through his father, Alfred Nobel was a descendant of the Swedish scientist Olaus Rudbeck (1630–1702),and in his turn the boy was interested in engineering, particularly explosives, learning the basic principles from his father at a young age. Alfred Nobel's interest in technology was inherited from his father, an alumnus of Royal Institute of Technology in Stockholm.\"" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nobel" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [], "source": [ "text = nltk.word_tokenize(nobel)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [], "source": [ "pos = nltk.pos_tag(text)" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('Born', 'VBN'),\n", " ('in', 'IN'),\n", " ('Stockholm', 'NNP'),\n", " (',', ','),\n", " ('Alfred', 'NNP'),\n", " ('Nobel', 'NNP'),\n", " ('was', 'VBD'),\n", " ('the', 'DT'),\n", " ('third', 'JJ'),\n", " ('son', 'NN'),\n", " ('of', 'IN'),\n", " ('Immanuel', 'NNP'),\n", " ('Nobel', 'NNP'),\n", " ('(', '('),\n", " ('1801–1872', 'CD'),\n", " (')', ')'),\n", " (',', ','),\n", " ('an', 'DT'),\n", " ('inventor', 'NN'),\n", " ('and', 'CC'),\n", " ('engineer', 'NN'),\n", " (',', ','),\n", " ('and', 'CC'),\n", " ('Carolina', 'NNP'),\n", " ('Andriette', 'NNP'),\n", " ('(', '('),\n", " ('Ahlsell', 'NNP'),\n", " (')', ')'),\n", " ('Nobel', 'NNP'),\n", " ('(', '('),\n", " ('1805–1889', 'CD'),\n", " (')', ')')]" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos[:32]" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "grammar = 'KP: {(* + )? * +}'" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "chunker = nltk.RegexpParser(grammar)" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "tree = chunker.parse(pos[:32])" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Tree('S', [('Born', 'VBN'), ('in', 'IN'), Tree('KP', [('Stockholm', 'NNP')]), (',', ','), Tree('KP', [('Alfred', 'NNP'), ('Nobel', 'NNP')]), ('was', 'VBD'), ('the', 'DT'), Tree('KP', [('third', 'JJ'), ('son', 'NN'), ('of', 'IN'), ('Immanuel', 'NNP'), ('Nobel', 'NNP')]), ('(', '('), ('1801–1872', 'CD'), (')', ')'), (',', ','), ('an', 'DT'), Tree('KP', [('inventor', 'NN')]), ('and', 'CC'), Tree('KP', [('engineer', 'NN')]), (',', ','), ('and', 'CC'), Tree('KP', [('Carolina', 'NNP'), ('Andriette', 'NNP')]), ('(', '('), Tree('KP', [('Ahlsell', 'NNP')]), (')', ')'), Tree('KP', [('Nobel', 'NNP')]), ('(', '('), ('1805–1889', 'CD'), (')', ')')])" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tree" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tree.collapse_unary" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [], "source": [ "import itertools" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Stockholm',\n", " 'Alfred',\n", " 'Nobel',\n", " 'third',\n", " 'son of Immanuel Nobel',\n", " 'inventor',\n", " 'engineer',\n", " 'Carolina',\n", " 'Andriette',\n", " 'Ahlsell',\n", " 'Nobel']" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kps = [ ]\n", "for key, group in itertools.groupby(nltk.tree2conlltags(tree), lambda x: x[-1]):\n", " if key != 'O':\n", " phrase = []\n", " for word, pos, cls in group:\n", " phrase.append(word)\n", " kps.append(' '.join(phrase))\n", "kps" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding named entities\n", "\n", "We use a pre-trained model from `spacy`. See [here](https://spacy.io/usage/training#ner) if you want to train on your own corpus or extend the pre-trained model.\n", "\n", "The default model is not perfect, but may be good enough for your needs." ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "import spacy\n", "from spacy import displacy\n", "import en_core_web_sm\n", "nlp = en_core_web_sm.load()" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "doc = nlp(nobel)" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(Born, 'O', ''), (in, 'O', ''), (Stockholm, 'B', 'GPE'), (,, 'O', ''), (Alfred, 'B', 'PERSON'), (Nobel, 'I', 'PERSON'), (was, 'O', ''), (the, 'O', ''), (third, 'B', 'ORDINAL'), (son, 'O', ''), (of, 'O', ''), (Immanuel, 'B', 'PERSON'), (Nobel, 'I', 'PERSON'), ((, 'O', ''), (1801–1872, 'B', 'CARDINAL'), (), 'O', ''), (,, 'O', ''), (an, 'O', ''), (inventor, 'O', ''), (and, 'O', ''), (engineer, 'O', ''), (,, 'O', ''), (and, 'O', ''), (Carolina, 'B', 'PERSON'), (Andriette, 'I', 'PERSON'), ((, 'O', ''), (Ahlsell, 'O', ''), (), 'O', ''), (Nobel, 'B', 'WORK_OF_ART'), ((, 'O', ''), (1805–1889).The, 'O', ''), (couple, 'O', ''), (married, 'O', ''), (in, 'O', ''), (1827, 'B', 'DATE'), (and, 'O', ''), (had, 'O', ''), (eight, 'B', 'CARDINAL'), (children, 'O', ''), (., 'O', ''), (The, 'O', ''), (family, 'O', ''), (was, 'O', ''), (impoverished, 'O', ''), (,, 'O', ''), (and, 'O', ''), (only, 'O', ''), (Alfred, 'B', 'PERSON'), (and, 'O', ''), (his, 'O', ''), (three, 'B', 'CARDINAL'), (brothers, 'O', ''), (survived, 'O', ''), (past, 'O', ''), (childhood, 'O', ''), (., 'O', ''), (Through, 'O', ''), (his, 'O', ''), (father, 'O', ''), (,, 'O', ''), (Alfred, 'B', 'PERSON'), (Nobel, 'I', 'PERSON'), (was, 'O', ''), (a, 'O', ''), (descendant, 'O', ''), (of, 'O', ''), (the, 'O', ''), (Swedish, 'B', 'NORP'), (scientist, 'O', ''), (Olaus, 'B', 'PERSON'), (Rudbeck, 'I', 'PERSON'), ((, 'O', ''), (1630–1702),and, 'B', 'LOC'), (in, 'O', ''), (his, 'O', ''), (turn, 'O', ''), (the, 'O', ''), (boy, 'O', ''), (was, 'O', ''), (interested, 'O', ''), (in, 'O', ''), (engineering, 'O', ''), (,, 'O', ''), (particularly, 'O', ''), (explosives, 'O', ''), (,, 'O', ''), (learning, 'O', ''), (the, 'O', ''), (basic, 'O', ''), (principles, 'O', ''), (from, 'O', ''), (his, 'O', ''), (father, 'O', ''), (at, 'O', ''), (a, 'O', ''), (young, 'O', ''), (age, 'O', ''), (., 'O', ''), (Alfred, 'B', 'PERSON'), (Nobel, 'I', 'PERSON'), ('s, 'I', 'PERSON'), (interest, 'O', ''), (in, 'O', ''), (technology, 'O', ''), (was, 'O', ''), (inherited, 'O', ''), (from, 'O', ''), (his, 'O', ''), (father, 'O', ''), (,, 'O', ''), (an, 'O', ''), (alumnus, 'O', ''), (of, 'O', ''), (Royal, 'B', 'ORG'), (Institute, 'I', 'ORG'), (of, 'I', 'ORG'), (Technology, 'I', 'ORG'), (in, 'O', ''), (Stockholm, 'B', 'GPE'), (., 'O', '')]\n" ] } ], "source": [ "print([(X, X.ent_iob_, X.ent_type_) for X in doc])" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Born in \n", "\n", " Stockholm\n", " GPE\n", "\n", ", \n", "\n", " Alfred Nobel\n", " PERSON\n", "\n", " was the \n", "\n", " third\n", " ORDINAL\n", "\n", " son of \n", "\n", " Immanuel Nobel\n", " PERSON\n", "\n", " (\n", "\n", " 1801–1872\n", " CARDINAL\n", "\n", "), an inventor and engineer, and \n", "\n", " Carolina Andriette\n", " PERSON\n", "\n", " (Ahlsell) \n", "\n", " Nobel\n", " WORK_OF_ART\n", "\n", " (1805–1889).The couple married in \n", "\n", " 1827\n", " DATE\n", "\n", " and had \n", "\n", " eight\n", " CARDINAL\n", "\n", " children. The family was impoverished, and only \n", "\n", " Alfred\n", " PERSON\n", "\n", " and his \n", "\n", " three\n", " CARDINAL\n", "\n", " brothers survived past childhood. Through his father, \n", "\n", " Alfred Nobel\n", " PERSON\n", "\n", " was a descendant of the \n", "\n", " Swedish\n", " NORP\n", "\n", " scientist \n", "\n", " Olaus Rudbeck\n", " PERSON\n", "\n", " (\n", "\n", " 1630–1702),and\n", " LOC\n", "\n", " in his turn the boy was interested in engineering, particularly explosives, learning the basic principles from his father at a young age. \n", "\n", " Alfred Nobel's\n", " PERSON\n", "\n", " interest in technology was inherited from his father, an alumnus of \n", "\n", " Royal Institute of Technology\n", " ORG\n", "\n", " in \n", "\n", " Stockholm\n", " GPE\n", "\n", ".
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "displacy.render(doc, jupyter=True, style='ent')" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Alfred Nobel\n", "Immanuel Nobel\n", "Carolina Andriette\n", "Alfred\n", "Alfred Nobel\n", "Olaus Rudbeck\n", "Alfred Nobel's\n" ] } ], "source": [ "for entity in doc.ents:\n", " if entity.label_ == 'PERSON':\n", " print(entity)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }