{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Handling unknown words\n", "\n", "The term _unknown words_ refers to words that might appear during evaluation and testing, but they were not present during training, so the model does not include any representation of them. Consider the following toy train and test sets, where the words 'John' and 'dislikes' occur only in the test data:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "train_data = ['Alice loves Bob', 'Alice hates Charlie', 'Bob loves Jim']\n", "test_data = ['Jim dislikes Bob', 'John loves Alice']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A common technique to handle unknown words is to replace all _rare_ words in your training data (e.g. words that occur less than 3 times) with a special token `UNK`, and then learn a representation for this as you do with any other token. This representation can be used during evaluation in place of all unknown words in your test data. `lambeq` simplifies this process with the help of a special rewrite rule, `UnknownWordsRewriteRule`, which works as follows:\n", "\n", "1. Create a vocabulary from the train data, based on a minimum frequency for each word.\n", "2. Replace all words in the train data that are not included in the vocabulary with `UNK`, and do the training as usual\n", "3. Replace all words in the test data that are not included in the vocabulary with `UNK`, and do the testing as usual.\n", "\n", "The following sections show how to use this rule in practice, first for models that are not based on syntax (such as the `spiders_reader`), and then for the slightly more complicated case of syntax-based models.\n", "\n", "## Handling unknown words in syntax-free models\n", "\n", "In syntax-free models, such as the spiders reader and the stairs reader, each word has a single representation, no matter in how many different grammatical roles the word appears in the data. For example, consider the word \"play\"; although it could appear both as a noun and a verb, in a typical syntax-free model there would be just a single representation of the word. Let's look at a concrete example, using a spiders reader, `lambeq`'s equivalent of a bag-of-words model." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from lambeq import spiders_reader\n", "\n", "train_data = [\n", " \"Alice loves cats\",\n", " \"Bob loves Alice\",\n", " \"Alice hates dogs\",\n", " \"Bob hates cats\"\n", "]\n", "test_data = [\n", " \"Bob dislikes dogs\", \n", " \"Bob loves mice\"\n", "]\n", "\n", "# Create the diagrams from the data\n", "train_diagrams = spiders_reader.sentences2diagrams(train_data)\n", "test_diagrams = spiders_reader.sentences2diagrams(test_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will now create an `UnknownWordRewriteRule` and we will use it to generate a vocabulary from the train data, with all words that occur _at least 2 times_. This can be done with the class method `from_diagrams`:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Alice', 'Bob', 'cats', 'hates', 'loves'}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from lambeq import UnknownWordsRewriteRule\n", "\n", "unk_wrd_rule = UnknownWordsRewriteRule.from_diagrams(\n", " diagrams=train_diagrams,\n", " min_freq=2,\n", " ignore_types=True\n", ")\n", "\n", "# Show vocabulary\n", "unk_wrd_rule.vocabulary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the word \"dogs\" is not included in this vocabulary, since it occurs only once in the train data, so it doesn't meet the inclusion condition. Further, notice that the parameter `ignore_types` is set to True, which forces the rewrite rule to ignore differences that occur only in the grammatical type of the token.\n", "\n", "In order to use the rewrite rule in practice, we need to pass it to a `lambeq` rewriter and apply it on the train and test data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from lambeq import Rewriter\n", "\n", "rewriter = Rewriter([unk_wrd_rule])\n", "\n", "# Replace rare/unknown words with UNK\n", "rewritten_train_diagrams = [rewriter(d) for d in train_diagrams]\n", "rewritten_test_diagrams = [rewriter(d) for d in test_diagrams]\n", "\n", "# Training\n", "# ... \n", "\n", "# Testing\n", "# ..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's examine the results on the train set:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for d in rewritten_train_diagrams:\n", " d.draw(figsize=(3,2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the third diagram, \"dogs\" is replaced by `UNK`, since it appeared in the train data only once, so it was considered a rare word and thus was not included in the vocabulary. We can now use these diagrams for training, so the model will learn a representation for the `UNK` token equally as for every other word.\n", "\n", "Let's now have a look at the test diagrams:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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cvsAPq2iogInTpxw/LYrKSmBp6cn3njjDSQkJGDYsGF49dVXERoaKveobsVqtSIlJQW//vorPD09UVdX1+g89Z9PSkrC3r173epQS24mkwk3btzAqVOnkJOTg4KCAtTV1aFXr16OGwIjR45EYGCg3KN2KOEC+LRbt245YnjixAk8fPgQABASEoKoqCgYDAZERUU5TmFhYVCpVDJPrSxWqxUjRoxAYWFhs+6LVavVGDhwIPLy8qDT6TpgQvcgSRLKyspQVFTkOBmNRhQVFTmeGeHv74+RI0c6ovfyyy/LPLW8hA/gf9XV1eHmzZsNrjhFRUUoLi52HK75+/s3iqLBYEB4eLjbHy601sSJE/Hbb7+16IEotVqNcePGISsry3mDKZTdbsedO3caXU+LiopQWVkJ4MldCpGRkY2up3369IGnpyJfA8UpGMBmsNlsKCkpafRb1Wg0oqqqCsCTK1xYWNgLT6GhoUKFsrCwELGxsW36elHuE7Tb7TCZTCgrK3vhqf4XslarbfALuf7fvXr1glqtlnmPXB8D2AZ2ux2lpaUwGo24efNmk1fUp5+UrVar0aVLl+cG0t/fH3q9Hn5+ftDr9Yq+Is+dOxfff/99k/f5vYinpydmzZqFnTt3OmEy57PZbLBYLKisrITFYsHDhw+fG7h79+41upUcEhLS5PWkT58+iIqKQvfu3YX6hdreGEAnq62txb179xpd2e/evdvoym+325vchlarhZ+f3zNP9bF81kmn08HLywsajQYajQZqtbpD7se0WCwIDQ1t8GhvS3l7e+P+/ftOf4qMJEmw2Wyora1FbW0tampqYLVaUVlZ+cxTfdyedao/Oniah4dHg1+C3bp1azJyXbp0gUajcep+i44BdBE2mw0mkwlms7nJH6wX/bDV38Jozv1sKpXKEcNnnTp16vTC8zx9fpVKBZVKBQ8PD6hUKty/fx/ffvttm783CxcuROfOnWG32yFJEiRJwr///uuIVXNOzTl/c34U1Gp1g1voLfmlpNfrERISgtDQUEXfqncnDKAbkSQJjx8/bjKOLQ1Ga071cao/1dTUoKKios37FRwcDI1G4whscwLe1lOnTp2ajJi3tzefBeBGGEBymuvXr6N///7tsh0lv+QSuS7ee0pO07Nnzza/WY63tzf/bJGchgEkp9Hr9UhJSWn18848PT2RkpLCvxEmp+EhMDkVnwdIroy3AMmpBg4ciKSkpBY/6qlWq5GUlMT4kVPxFiA5XWv/Fjg/P58viEBOxVuA5HQ6nQ55eXkYN24cADzzPsH6z48bN47xow7BAFKH0Ol0yMrKwuXLlzFr1qxGL7Dp7e2N2bNno7CwEFlZWYwfdQgeApMsLBYLJkyYgLq6Omzbtg0RERF8tJc6HF8Xh2Sh1+sdweOTnEkuPAQmImExgEQkLAaQiITFABKRsBhAIhIWA0hEwmIAiUhYfB4gyYZvPk9yYwBJNiaTSe4RSHA8BCYiYTGARCQsBpCIhMUAEpGwGEAiEhYDSETCYgCJSFgMIBEJiwEkImExgOSSDh48iOjoaPj4+CA4OBijRo1CVVWV3GORm+GfwpHLKSsrw9SpU7F+/XpMmjQJFosFp0+fBt+/i9obA0gup6ysDHV1dUhOTkZERAQAIDo6WuapyB3xEJhcTkxMDOLj4xEdHY3Jkydj586dqKiokHssckMMILkctVqNnJwcHDlyBFFRUdi8eTMiIyNRUlIi92jkZhhAckkqlQpDhw5FWloaCgsLodFokJmZKfdY5GZ4HyC5nPPnzyM3NxeJiYno3Lkzzp8/D5PJBIPBIPdo5GYYQHI5fn5+OHXqFDZt2oTKykpEREQgPT0dY8eOlXs0cjMMILkcg8GAo0ePyj0GCYD3ARKRsBhAIhIWA0hEwmIAiUhYDCARCYsBJCJhMYBEJCwGkIiExQASkbAYQCISFgNIRMJiAIlIWAwgEQmLASQiYTGARCQsBpCIhMUAEpGwGEAiEhYDSETCYgCJSFgMIBEJiwEkImExgEQkLAaQiITFABKRsBhAIhIWA0hEwmIAiUhYDCARCYsBJCJhMYBEJCwGkIiExQASkbAYQCISFgNIRMJiAIlIWJ5yD0DiWrFihdwjkOBUkiRJcg9BRCQHHgITkbAYQCISFgNIRMJiAIlIWAwgEQmLASQiYTGARCQsBpCIhMUAEpGwGEAiEhYDSETCYgCJSFgMIBEJiwEkImExgEQkLAaQiITFABKRsBhAIhIWA0hEwmIAiUhYDCARCYsBJCJhMYBEJCwGkIiExQASkbD+B9WeCKOHxGXYAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for d in rewritten_test_diagrams:\n", " d.draw(figsize=(3,2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Every word that was not included in the original vocabulary created from the train data is now replaced with the `UNK` token, and it will use the learned representation of that token." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Handling unknown words in syntax-based models\n", "\n", "In syntax-based models, such as DisCoCat, words are added to the vocabulary based on both their surface form _and_ the grammatical type in which they occur in the data. This means that it is possible to have more than one `UNK` token in your vocabulary, and even that a token that occurs under different grammatical roles (e.g. \"play\" as a verb and \"play\" as a noun) could be replaced by different `UNK` tokens depending on the type of each occurrence. In the following example, we use BobcatParser to create DisCoCat diagrams for a toy dataset." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "150d5e2306864c389c0b4be6807445c6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Tagging sentences: 0%| | 0/2 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAADACAYAAABbCCTgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAaNElEQVR4nO3de1TUdf7H8dcwXBwQREFFoJ+XCsUEtYuFmWLest08SmuprZauR3dXzO2ypdtx0T2n1E66JXpObp7MtcRuR9dt0zRdcs37Nbe8rYqsQmqYqYDI5fv7Yw8ckUFBGL6fGZ6Pc+YwDMPMe+D7me/TGZxxWJZlCQAAAEbys3sAAAAAVI9YAwAAMBixBgAAYDBiDQAAwGDEGgAAgMGINQAAAIMRawAAAAYj1gAAAAxGrAEAABiMWAMAADAYsQYAAGAwYg0AAMBgxBoAAIDBiDUAAACDEWsAAAAGI9YAAAAMRqwBAAAYjFgDAAAwGLEGAABgMGINAADAYMQaAACAwfztHgB1U1JSorNnzyonJ0eFhYVq06aN2rRpo5CQELtHAxpUUVGRvv/+e+Xk5EiSoqOjFRUVpaCgIJsnAxpWfn6+cnNzlZubK5fLpejoaLVq1Ur+/uzyvRW/OUNdG2G5ubnKycmpdLz849mzZ1VWVlbl+8PCwhQdHa02bdpU+nj9aUQdTHdthN1oLeTl5bn9/oiIiJuuBaIO3qA8wm62Fi5evFjle/38/NSqVaubrgWizkwOy7Isu4doTG41wpxOp1q3bn3D8HK5XDfcqeXk5KigoKDSPEQd7HKrERYYGHjT7VXSTXdqV69erXS5RB3scqsRFhwcXGUbvX57LSwsvOFlnzlzRqWlpRWXSdSZiVirJ56MsOjoaLVs2VJOp7NOM1qWpUuXLrmdq7ZR525Gog6SZyMsOjpaLVq0kMPhqNOMlmXp/PnzN10LNYk6dzMSdZA8F2HlH0NDQ+u8FkpLS3Xu3LmbroWaRJ27GYm6+kGs3YQ3RFh9I+rgjjdEWH0j6uCON0RYfSPq7NVoY81dhLnb8HwpwuobUecb3EWYu9+jL0VYfSPqfIO7CHP3e/SlCKtvRJ1n+FysEWHmIersQYSZh6izBxFmHqKudrwm1ogw31cfUefud1t+3FeijgjzffURdTdaC74SdUSY76uPqLvRWvCWqDMu1vbv36+VK1cSYahWfUddly5dNGbMGJtuTfXWrVunr776ighDteo76vr06aOBAwfadGuq99e//lX//ve/iTBUq76jbtiwYeratauNt6gy42JtwYIFmjx5su69914iDHVSk6g7cOCA/u///k/79u2ze9wqxo0bp4yMDHXv3p0IQ53UJOr27t2rkSNH6t1337V73Cq6deum7OxsJSQkEGGok5pE3a5du5Senq7U1FS7x61g5GN/QUFB2rlzp91jwMs5HA6FhYUpLCxMnTp1cnue1NRUbd68uYEnq7nu3btry5Ytdo8BL+dwOBQREaGIiAglJCS4PU/Pnj0beKraGTVqlBYsWGD3GPByTqdTUVFRioqKqvY8TZo0acCJaob3BgUAADAYsQYAAGAwYg0AAMBgxBoAAIDBiDUAAACDEWsAAAAGI9YAAAAMRqwBAAAYjFgDAAAwGLEGAABgMGINAADAYMQaAACAwYg1L/Xee+8pPDy8xudv166d3nzzTY/NA9iB7Rqou9ruT9Dw/O0eALfmySef1KOPPlrj8+/cuVMhISEenAgA4I1quz9BwyPWvJTL5ZLL5arx+Vu2bOnBaQAA3qq2+xM0PJ4GrSfJycmaPHmyfve736l58+Zq3bq13nnnHeXn52vs2LEKDQ3VHXfcoTVr1khy/7DzqlWr5HA4Kj7fv3+/+vbtq9DQUIWFhemee+7Rrl27qv3+v//977rvvvvUpEkTRUZGatiwYRVfu/7ponnz5ikhIUEhISG67bbb9Nvf/laXL1+u+Hr55X/xxReKj49X06ZN9cgjjyg3N7fiPJmZmerRo4dCQkIUHh6uBx98UCdPnqzrjxKokJycrNTUVKWmpqpZs2aKjIzU9OnTZVmW2/PfaLvOz89XWFiYPvnkk0rfs2rVKoWEhOjSpUsevz1ATZi+P0HDI9bq0dKlSxUZGakdO3Zo8uTJ+s1vfqPhw4erZ8+e2rNnjwYOHKjRo0eroKCgRpf31FNPKTY2Vjt37tTu3bs1depUBQQEuD3vP/7xDw0bNkyPPvqo9u7dqw0bNqhHjx7VXrafn5/mz5+vb7/9VkuXLtXGjRv10ksvVTpPQUGB3njjDS1btkybNm1Sdna2XnzxRUlSSUmJhg4dqj59+uibb77R1q1bNWHChEp3DkB9WLp0qfz9/bVjxw699dZbmjdvnhYvXuz2vDfarkNCQjRixAgtWbKk0vcsWbJEv/jFLxQaGurx2wLUlDftT9AALMOkp6dbQUFBdo9Ra3369LF69epV8XlJSYkVEhJijR49uuK03NxcS5K1detWa8mSJVazZs0qXcbKlSuta38loaGh1nvvvef2+q7//qSkJOupp56qdr62bdtaf/7zn6v9+scff2xFRERUunxJ1n/+85+K0xYuXGi1bt3asizLysvLsyRZmZmZ1V6mN5g0aZLVtWtXu8dwa+zYsVZSUpLdY9iqT58+Vnx8vFVWVlZx2ssvv2zFx8dbllX77Xr79u2W0+m0cnJyLMuyrDNnzlj+/v5evx3Xh6SkJGvs2LF2j+FW165drUmTJtk9RoMxfX/i64KCgqz09HS7x6iER9bqUWJiYsVxp9OpiIgIJSQkVJzWunVrSdLZs2drdHnPP/+8xo8fr/79+2v27Nk6duxYtefdt2+f+vXrV+NZv/zyS/Xr108xMTEKDQ3V6NGjlZeXV+lfacHBwbr99tsrPm/Tpk3F7C1atNAzzzyjQYMG6bHHHtNbb71V6SlSoL488MADlR6xTUpK0tGjR1VaWlrlvDfbrnv06KG77rpLS5culSS9//77atu2rXr37t0wNwaoIW/an8DziLV6dP1Dyg6Ho9Jp5TucsrIy+fn5Vfm7m+Li4kqfz5gxQ99++61+9rOfaePGjercubNWrlzp9rpr88ehWVlZ+vnPf67ExER9+umn2r17txYuXChJunr16g1vz7UzL1myRFu3blXPnj314YcfKi4uTtu2bavxHEB9qul2PX78eL333nuS/rcNjx07lqfvYRxv2Z+gYRBrNmnZsqUuXbqk/Pz8itP27dtX5XxxcXF67rnntG7dOqWkpFT5e5tyiYmJ2rBhQ42ue/fu3SorK9PcuXP1wAMPKC4uTjk5Obd0O7p3765p06Zpy5Yt6tKli5YvX35LlwNUZ/v27ZU+37Ztm+688045nc5Kp9d0u/7lL3+pkydPav78+fruu+/09NNPe3R+wNPs3J+gYRBrNrn//vsVHBysP/zhDzp27JiWL19e8a99SSosLFRqaqoyMzN18uRJff3119q5c6fi4+PdXl5aWpoyMjKUlpamgwcP6sCBA5ozZ47b895xxx0qLi5Wenq6jh8/rmXLluntt9+u1fwnTpzQtGnTtHXrVp08eVLr1q3T0aNHq50PuFXZ2dl6/vnndfjwYWVkZCg9PV1Tpkypcr6abtfNmzdXSkqKfv/732vgwIGKjY1tiJsBeIyd+xM0DGLNJi1atND777+vzz//XAkJCcrIyNCMGTMqvu50OpWXl6cxY8YoLi5OTzzxhAYPHqyZM2e6vbzk5GR9/PHHWr16tbp166aHH35YO3bscHverl27at68eZozZ466dOmiDz74QLNmzarV/MHBwTp06JAef/xxxcXFacKECZo0aZImTpxYq8sBbmbMmDEqLCxUjx49NGnSJE2ZMkUTJkyocr7abNe/+tWvdPXqVY0bN87T4wMeZ+f+BA3DYV3/RLfNFixYoBdffFFXrlyxexQ0Aqmpqdq8ebPbpwzsNm7cOB06dEhbtmyxexTbJCcnq1u3bvX+llLLli3Tc889p5ycHAUGBtbrZXurnj17qlOnTnr33XftHqWKbt26qVevXlqwYIHdo6ARaNKkid544w2lpqbaPUoF3sEAQKNRUFCg3NxczZ49WxMnTiTUAHgFngYF0Gi8/vrr6tSpk6KiojRt2jS7xwGAGuGRNQDGyszMrNfLmzFjRqW/5QEAb8AjawAAAAYj1gAAAAxGrAEAABiMWAMAADAYsQYAAGAwYg0AAMBgxBoAAIDBiDUAAACDEWsAAAAGM/IdDIqLizV9+nS7x0AjsG3bNrtHuKHs7GzWAhpEdna2OnXqZPcY1dq2bRtrAQ2iuLjY7hGqMC7W+vbtq7i4OC1btszuUbxKQUGBCgsLFRERYfcoXmfixIl2j+DW0KFDtXHjRiPXwsWLF2VZlpo1a2b3KFX89NNPkmTsbA6HQ2FhYXaPUoW/v7+GDh1q9xhuPfnkk1q0aJGRa8FkeXl5crlcCg4OtnsUrxIXF6e+ffvaPUYlDsuyLLuHQN3NmDFDixcv1qlTp+weBY3AiBEj9MMPP+jLL7+0e5QqhgwZIklavXq1zZNU1b9/f0VGRmrFihV2j4JGIDY2VuPHj+f9cH0Af7MGAABgMGINAADAYMQaAACAwYg1AAAAgxFrAAAABiPWAAAADEasAQAAGIxYAwAv98wzzxj7grYA6o5YAwAAMBixBsBYV69etXsEALAdsdbIJCcn69lnn9VLL72kFi1aKCoqircigcfUdnsrfzrv1VdfVXR0tDp27Oix2T755BMlJCTI5XIpIiJC/fv3V35+vseurzZYp2hIbG/mI9YaoaVLlyokJETbt2/X66+/rj/96U9av3693WPBR9V2e9uwYYMOHz6s9evX67PPPvPITLm5uRo5cqTGjRungwcPKjMzUykpKTLprZJZp2hIbG9m87d7ADS8xMREpaWlSZLuvPNOLViwQBs2bNCAAQNsngy+qLbbW0hIiBYvXqzAwECPzZSbm6uSkhKlpKSobdu2kqSEhASPXd+tYJ2iIbG9mY1H1hqhxMTESp+3adNGZ8+etWka+Lrabm8JCQkeDTVJ6tq1q/r166eEhAQNHz5c77zzjn788UePXmdtsU7RkNjezEasNUIBAQGVPnc4HCorK7NpGvi62m5vISEhnh5JTqdT69ev15o1a9S5c2elp6erY8eOOnHihMevu6ZYp2hIbG9mI9YANEoOh0MPPvigZs6cqb179yowMFArV660eywAqIK/WQNgmzFjxigmJkazZs1q0Ovdvn27NmzYoIEDB6pVq1bavn27zp07p/j4+Aad41bZ9XMDYA9izUeEh4erc+fOdo+BRiIyMlJNmzat8+VkZ2fLz6/hH+APCwvTpk2b9Oabb+rixYtq27at5s6dq8GDB3v0etu1ayeXy1Xny7Hr5wbv0rlzZ4WHh9s9BuqBwzLp/6rjlr3xxhuaOXOmLl68KIfDYfc48HGPPPKIXC6XkU8bDhkyRJK0evVqmyepatiwYSosLNTatWvtHgU+zrIshYaGaubMmXrhhRfsHgd1xD/NfESXLl10+fJlHTp0yO5R4OPKysq0c+dOdenSxe5RvM5dd92lXbt28Yfb8LiDBw8qPz+fdeojiDUf8dBDDykwMJAXMYTH7d27V+fPn+f1l27BgAEDlJeXp3379tk9Cnzc+vXrFRgYqIceesjuUVAPiDUfERISokGDBmn+/PkqKiqyexz4sLlz5yoqKkoPPPCA3aN4naSkJEVFRWnu3Ll2jwIfVlRUpPT0dD3yyCMKDg62exzUA2LNh8yePVtZWVmaP3++3aPAR3399dfKyMjQrFmzPP7Ctb4oMDBQr732mpYvX64tW7bYPQ581Pz585WVlcX/FvYhxJoP6dy5syZPnqxXXnlFX3zxhd3jwMdkZWXpiSee0P33368xY8bYPY7Xevrpp9WjRw8NHz5cWVlZdo8DH/PFF1/olVde0bPPPssrBPgQYs3HvP766xo4cKBSUlL0r3/9y+5x4CNOnTqlAQMGyOVyadWqVbxsRB34+fnpb3/7m1wulwYMGKBTp07ZPRJ8xKZNm5SSkqJBgwZpzpw5do+DesQ9ro8JCAjQRx99pPvuu099+/ZVWlqaiouL7R4LXmzFihVKTEzUlStXtH79ekVFRdk9kteLiorSunXrdOXKFSUmJurDDz+0eyR4seLiYv3xj3/Uww8/rB49euijjz6q8vZR8G7Emg8KDg7W+vXrNX36dL366qvq2bMnL+mBWjt//rxGjhypkSNHauDAgdq/f7/at29v91g+o0OHDtq3b58GDBigESNGaNSoUca9mTzMd/DgQSUlJem1117T9OnTtW7dunp54WWYhVjzUQEBAUpLS9PWrVt16dIlde/eXVOnTuVvZHBTFy5c0FtvvaWEhAStXbtWy5cv14oVK9SiRQu7R/M5ERERWrFihT744AOtWbNGXbp00fz583XhwgW7R4PhsrKyNHXqVN19993Kz8/Xtm3blJaWxiNqPopY83H33Xef9uzZoylTpujtt99Whw4dNGTIEK1du5YX5kQl+/fv14QJExQTE6MXX3xRvXv31oEDBzRy5Ei7R/NpDodDo0aN0oEDB9S7d2+98MILiomJ0cSJE7V//367x4NBysrKtHbtWj322GPq0KGD3n77bU2ZMkV79uzRvffea/d48CBirREIDg7W7Nmzdfr0aS1atEjZ2dkaPHiwOnbsqHnz5un8+fN2jwibFBUVafny5erVq5e6deumzz//XFOnTlV2drYyMjIUGxtr94iNRmxsrDIyMpSdna2XX35Zn332mbp166ZevXopIyNDV69etXtE2OT8+fOaO3eu4uLiNHjwYJ06dUp/+ctfdPr0ac2ePZunPRsB3hu0EbIsS1u3btXChQv18ccfy+l0aujQoerXr5+Sk5N1++238/6iPuzMmTP66quvlJmZqU8//VRnz55V3759NWnSJA0ZMsTrn0Yx+b1Ba6O4uFirV6/WwoUL9c9//lOtWrXS448/rr59+6pPnz5q1aqV3SPCQyzL0rFjx5SZmakNGzZo1apVKi0t1fDhwzVp0iQlJSVxH93IEGuN3JkzZ7R48WKtWrVKe/bsUVlZmWJiYpScnFxxIN6827VxlpmZqYMHD0qS7rzzTg0ePFi//vWvFR8fb/OU9cdXYu1a3333nRYtWqQ1a9bo6NGjkv73uorla5R4827Xxln54fTp0/Lz89Pdd9+tYcOGafz48fyOGzFiDRV++uknbd68ueLO4vp469Onj+655x7FxcWpadOmdo8LN4qKinT8+HF98803FYF2bZxdu3OPiYmxeVrP8MVYu9bp06crxXd5vMXHx1f8bhMTE9WhQwcFBQXZPC3cuXz5so4cOaLdu3dX/C6vjbPyddqrVy81a9bM7nFhAGIN1aou3iQpOjpacXFx6tixY6WP7du3l7+/v82T+zbLsnT69GkdOXJEhw8frvTxxIkTFb+jxhJn1/P1WLtedfHm5+en9u3bu12nMTExPFruYSUlJTpx4oTbdZqTkyNJxBlqjFhDjV28eFEHDx7UkSNHKt3xHDlyRIWFhZIkf39/3X777RU7hXbt2qlly5Zq2bKlWrVqpZYtWyoiIkJOp9PmW2Mmy7J04cIFnTt3TmfPntW5c+d07tw5nTp1qtLPu6CgQNL/ft4dOnSotCOOi4tTfHy8WrdubfOtsUdji7XrnTlzxu06PX78uEpKSiT97z8dXbvNxMbGVlmn4eHhBF01SktLlZeXV2WdZmVlVfy8jx07VvHzdrlcFWvz+nUaFhZm862BNyDWUGdlZWVVHukpP/7f//63yjsoOBwORUREVNk5XH+8adOmcrlcVQ5BQUHG7kQsy1JxcbEKCwurHAoKCvTDDz9UuYO/9vi5c+cq7uDL+fn5KSoqyu2dffv27b3+PwTUt8Yea9UpLi6u8khP+eH777+v8lI+/v7+FWuxunUaGRmp4OBgt+s0ICDA6HVaVFTkdp1evnzZ7dq89nheXp6u33UGBATotttuq/IoZvkjmbxFG+qCWINHWZalixcvVrqzq+4OsPz4zd4ey+FwqEmTJnK5XNXuKMoP/v7+8vPzk5+fn5xOZ8Xxaw9BQUEqLCxUWVlZtYfS0lK3d+zXx1j55dyIn5+fIiIi3O783J3WvHlzHomsBWKt9kpLS/Xjjz/WeJ3m5eXVaDuvyRp1uVzVrs3yQ3BwsK5cuVLt2iw/XlJSUqM1euXKlSqxdb2AgIBq16S708LCwoyNU3g/Yg1GsSxLP/30k3744Qfl5+dXuZO90R2wu8O1d+TVHZo3b64LFy7ccGdRvuOp7nCjHdK1X4uMjCS+PIxY87zS0lKdP39eeXl5dV6jN/uHUllZmcLDw/Xjjz/edI06nc46r9GQkBDiC8bhL8FhFIfDofDwcIWHh9s9CoBqOJ3OikeWAHgeT6IDAAAYjFgDAAAwGLEGAABgMGINAADAYMQaAACAwYg1AAAAgxFrAAAABiPWAAAADEasAQAAGIxYAwAAMBixBgAAYDBiDQAAwGDEGgAAgMGINQAAAIMRawAAAAYj1gAAAAxGrAEAABiMWAMAADAYsQYAAGAwYg0AAMBgxBoAAIDBiDUAAACDEWsAAAAGI9YAAAAMRqwBAAAYjFgDAAAwGLEGAABgMGINAADAYMQaAACAwYg1AAAAgxFrAAAABiPWAAAADEasAQAAGIxYAwAAMBixBgAAYDBiDQAAwGDEGgAAgMGINQAAAIMRawAAAAYj1gAAAAxGrAEAABiMWAMAADAYsQYAAGAwYg0AAMBgxBoAAIDBiDUAAACDEWsAAAAGI9YAAAAMRqwBAAAYjFgDAAAwGLEGAABgMGINAADAYMQaAACAwYg1AAAAgxFrAAAABiPWAAAADOZv9wAAUJ8GDx5s9wgAUK8clmVZdg8BAAAA93gaFAAAwGDEGgAAgMGINQAAAIMRawAAAAYj1gAAAAxGrAEAABiMWAMAADAYsQYAAGAwYg0AAMBgxBoAAIDBiDUAAACDEWsAAAAGI9YAAAAMRqwBAAAYjFgDAAAwGLEGAABgMGINAADAYMQaAACAwYg1AAAAgxFrAAAABiPWAAAADEasAQAAGIxYAwAAMNj/A1r9LU3p1N7ZAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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XbusHg1ooKysTM8995z69OmjK664Qt99953mz5+v4uJizZ8/X/369TvvdT/yyCPas2ePli5d2ugy+fn5ysnJ0YIFCzR69OgGt/v5+el3v/ud/vnPf6qkpESTJ0/WypUr1aVLFw0dOlRvvPGGqqqqzntG4HxdfPHFmjNnji677DKNHj1a48eP15w5c9wuO2HCBA0aNEidO3fW4MGD9eSTT2rZsmWu28eMGaNVq1apuLhYknTo0CGtWLFCd999d6tsC5qGWPMC3377rUaNGqWuXbsqLCxMnTt3liQVFRVZOxjgxrx58zRhwgSFhISooKBAubm5ysrKkr+/f7PXHRMTo8mTJ2vq1Kmqqalxu0xCQoL69OmjZ5991vVA1Zjw8HDde++9+uyzz7Rhwwbt2bNH2dnZWrVqVbNnBZoqPT1dNpvNdblfv3769ttvVVdX12DZjz76SEOGDNFFF12k0NBQ3X777SorK1NlZaUkqW/fvurVq5cWL14sSVqyZIk6deqka665pnU2Bk1CrHmB4cOH6/Dhw1q0aJE2btyojRs3SlKjD1aAlcaOHavp06erpKREvXr10l133aU1a9Y0+KfLsLAwSVJ5eXmDdfz0008KDw93u/5JkyapqqpK8+fPd3t7aGioPvroIwUHB2vQoEFnDLbjx4/r7bff1vDhwzVgwABFR0dr/vz5GjJkyLluLtDqvv/+e1133XVKSUnRv/71L23dulUvvviipPqPC2PGjNHrr78u6Zd/Ar3rrrvqxSDMQay1cWVlZfrmm2/0yCOPaMiQIUpKStKRI0esHgtoVHx8vB555BHt3r1bK1eulL+/v7KystSpUyf9+c9/1s6dOyVJUVFRio6O1tatW+vd/+jRoyooKFCPHj3crj8kJESPPvqoZsyY0egLpSMjI/XRRx8pLCxMGRkZOnDggOs2p9Opzz//XPfee69iY2M1adIkJScn6+uvv9bGjRt1//3385oeWOLkL+In5eXlqXv37vL19a13/datW+VwOPTXv/5V6enp6tGjR719/KTf//732rt3r55//nnt2rVLd9xxR4vOj/NHrLVxkZGRstvtevnll1VQUKA1a9Zo0qRJVo8FnJOrrrpKCxcuVElJiZ599llt375dqamp2rFjh6RfniV76qmntHTpUhUWFmrTpk0aPXq0YmJilJWV1eh6x44dq/DwcL35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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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+vr6Kjw8XGlpae5x0dHRkqRDhw61a3kLFizQbbfdpksuuURLliw55cdydu3apQkTJrS71rb6KkkKCgpSUlKS+3FsbKy79rCwMM2YMUMTJ07UlVdeqRUrVni8RdqbENa87Morr9SRI0f01FNPaceOHdqxY4ckqa6uzuTK0B0UFRXpiiuuUHp6ul5++WXl5eVp1apVkjz3odtuu01r1qyR9NNboLfcckvvfOsAHcKVfNZ38luUNpvNY1zT/7nL5ZKPj0+zz77W19d7PH7wwQf1xRdf6PLLL9d7772nc845R6+88kqLbXfkYoP29lUtrc+JNa9evVrbtm3T+eefr5deekkpKSnavn17u+voKQhrXlReXq78/Hzdf//9mjBhgoYOHaqjR4+aXRYsoCm0N9m+fbsGDx4sX19fj/F5eXlyuVx67LHHlJmZqZSUFJWUlDRb3s0336z9+/friSee0Jdffqlf//rXXVo/rCspKUl2u11btmxxj6uvr1dubq7OOeccEytDV4uMjFRFRYUqKyvd41r6zr2UlBTNnz9fb7/9tq655ppmn3ltkp6erk2bNrWr7fb2Ve0xYsQI3Xvvvdq6datSU1P14osvntZyujPCmheFhoYqPDxc//jHP1RYWKj33ntPCxYsMLssWEBxcbEWLFig/Px8rV27VitXrtS8efOaTZecnKz6+nqtXLlS33zzjZ577jk9+eSTzaYLDQ3VNddco7vvvluXXnqpEhISvLEasCCn06k777xTd999t9588019+eWX+s1vfqOqqirNnDnT7PLQhc477zwFBQXpvvvu0969e/Xiiy+6z7hLUnV1tebMmaOcnBzt379fW7ZsUW5uroYOHdri8hYvXqy1a9dq8eLF2rNnj3bv3q1HHnmkxWnb21edyr59+3Tvvfdq27Zt2r9/v95++20VFBS0Wl9PRljzIh8fH61bt055eXlKTU3V/Pnz9de//tXssmAB06dPV3V1tTIyMjR79mzNmzdPs2bNajbd8OHDtWzZMj3yyCNKTU3VCy+8oL/85S8tLnPmzJmqq6vTrbfe2tXlw+KWLFmia6+9VtOmTdPIkSNVWFiot956S6GhoWaXhi4UFham559/Xq+//rrS0tK0du1aPfjgg+7nfX19VV5erunTpyslJUXXX3+9Jk2apD/96U8tLm/8+PFav369Nm7cqHPPPVc/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for d in rewritten_train_diagrams:\n", " d.draw(figsize=(6,3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These `UNK` representations will be used in the testing diagrams in place of the unseen noun (\"ball\") and adjective (\"nice\")." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaMAAADHCAYAAAC0hzwMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAUVElEQVR4nO3dfVjV9f3H8deBA4IgKLeCELAZ4BTZWmlkKYnTduW6kmteUTqcZaztssmwuVloopVlV96hWNe6Vi5x15our2vDJETN1pJ2uVneFCZibsnd0NUClLvz+6NLfhwB4+ZwPgd4Pq6LCw58+X7f53C+PM/3HDjHYrPZbAIAwCA30wMAAECMAADGESMAgHHECABgHDECABhHjAAAxhEjAIBxxAgAYBwxAgAYR4wAAMYRIwCAccQIAGAcMQIAGEeMAADGESMAgHHECABgHDECABhHjAAAxhEjAIBxxAgAYBwxAgAYR4wAAMZZTQ+A7mtpaVFNTY0kKTg4WO7u7oYnAlwP+8nARIxcwNWd58KFC6qoqNCFCxfsPr76vqqqSi0tLZIkd3d3jR49WmFhYQoPD2973/7jsLAwdkYMGlf3k2v3i2v3lcrKSrv9JDQ0tMN+ce2+wn5insVms9lMDzFYtY9MZ3G5+nH7yEiSm5ubQkJCOt1xwsLCJKnLHbGqqkrtf6REC67u2sh0ta9cu59YLBaFhoZ2ed2WvtpPOltvdXW1Wltb29ZFtMwjRr3QH5Fp/z4kJERWa+8OWpubm1VVVfW1tx6JFvpbf0Xm6vvQ0NA+7SfV1dXdujfi2v2EaPUPYtSOK0fG0foSras74/V2SHbGwcuVI+NofY3W9X4fEC17QyJG3Y1MZWWl3aH7QIyMoxGtoaOzxy47+3kPhsg4GtHquwEdo5aWFlVXV3frAU0i07+IlusiMq6DaHXNJWNEZAYvR0Trej/bgbwz9hSRGbx6Gy03Nze7x34HUrScGiMig+4aytEiMuiuwRQtp8ZoxYoVeuqpp9pOExn0VW+jlZOTo5UrVxqcvGurV6/Wk08+2XaayKCvehut7OxsrVmzxikzOv2aGxISooKCAiIDh7BarRozZozGjBlz3eXaR2vWrFlOmq73AgICVFhYSGTgEFarte0GzPW0j9bdd9/tpOm+4vRruLe3t26++WZnbxZDXPtoeXl5mR7na3l5ebGfwOnaR8vb29up2+aJUgEAxhEjAIBxxAgAYBwxAgAYR4wAAMYRIwCAccQIAGAcMQIAGEeMAADGESMAgHHECABgHDFyYdHR0dq4caPpMQCg3xEjAC7r3LlzslgsOnbsWIevJScnKzMzs+10dHS0LBaLjhw5YrdcZmamkpOT206vWrVK3/72t+2WeeeddzRy5EhlZmbKBV9vdEggRgBczqVLl/Tll1/2+Pu8vLz0q1/9qkffU1BQoFmzZikrK0sbN26UxWJRTU2NLl++3OPto/eIkUHJyclavHixFi9eLH9/fwUFBWnFihVd3jJbv369EhIS5OPjo8jISP3sZz9r22Hr6urk5+enXbt22X3Pnj175OPjo//973/9fn6AvmhublZBQYHmzp2rsLAwlZWV9XgdGRkZOnLkiPbu3dut5Xfu3KnU1FStW7fO7sUW9+7dq7CwMD3yyCN67733ejwHeo4YGbZ9+3ZZrVa9//772rRpk9avX6+XX36502Xd3Ny0efNmnTx5Utu3b9eBAwe0bNkySZKPj4/S0tL0yiuv2H3PK6+8oh/+8IcaMWJEv58XoDeOHz+upUuXKiIiQunp6QoODtbBgweVmJjY43XFxMTokUce0fLly9Xa2nrdZbdu3aqFCxfqt7/9rRYvXmz3tXnz5mnHjh26dOmSpk+frri4OD3zzDP617/+1eOZ0D3EyLDIyEht2LBBcXFxmjdvnh599FFt2LCh02UzMzN15513Kjo6WtOnT9dTTz2l119/ve3rixYtUmFhoSoqKiRJ1dXV2rt3rx588EGnnBegu2pra7Vp0ybddNNNuvnmm3X27Fnl5eWpoqJCeXl5SkpK6vW6s7OzVV5ervz8/C6X+eijj7R48WJt27ZN8+bN6/B1q9Wqu+++W3/4wx9UWVmpxx57TPv27VNMTIxmzJih1157TQ0NDb2eER0RI8NuvfVWWSyWttNJSUn65JNP1NLS0mHZ/fv3KyUlRWPGjNGIESP0ox/9SLW1taqvr5ckTZo0SePHj9f27dslSTt27FBUVJSmTp3qnDMDdFNubq4yMzPl6+urM2fO6I033lBqaqo8PT37vO7g4GA99thjWrlypRobGztdJiIiQjfddJOef/75thtvXfH399fDDz+sw4cP629/+5vKy8uVnp6uwsLCPs+K/0eMBohz585p9uzZmjhxonbv3q2jR49q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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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l9YiIiIkSSdPnmy2jh9//FGRkZEtrj8tLU3V1dXKyclp8fy+fftq586dCgsL0+TJk9sMUk1Njd58803ddttt+u1vf6vo6Gjl5ORoypQp7d1coFs5fPiwfve732nMmDF6++23tXfvXq1bt06SvB7APfLII/r73/8u6ZeX6GbNmuUVO/gfMfKxwYMHKyMjQ99//73ef/999enTR8nJyUpISNCiRYu0b98+SVL//v0VHR2tvXv3en3/Tz/9pAMHDmjkyJEtrj88PFyZmZl69tlnW32ztV+/ftq5c6ciIiKUlJSk4uLixvMcx9GuXbs0e/ZsxcbGKi0tTddee63+85//KC8vT48++iivm6PbycvL8zq9e/duXXnllQoODvb6971796qhoUEvvPCCrr/+eo0cOdLr9n/O/fffryNHjujFF1/UN998owcffLBL58eFEaMu9Jvf/EZ/+9vfVFpaqpUrVyo/P19jx45VQUGBpF+e5SxbtkybN29WYWGh9uzZo5kzZyomJkbJycmtrnfOnDmKjIzUli1bWl0mKipKH374ofr16+cVpE2bNmnatGk6c+aM3njjDR05ckTLly/XVVdd5duNB3yoqKhIaWlp2r9/v1577TVlZ2dr/vz5zZYbMWKEamtrlZ2drYMHD2rjxo16+eWXmy3Xr18/JScna8GCBZo6daqGDBnij81AG9zWA/QGHo9HM2bM0IwZM1RcXKzw8HBJ0sKFCxUeHq7nn39ehYWF6t+/vxITE/XJJ58oNDS01fWFhIRoyZIluu+++9q83MjISH3wwQe6+eabNWnSJH366aeaMmWKSktLG18mBHqClJQUVVdXa8KECQoODtb8+fM1Z86cZsuNHTtWq1at0vPPP6/09HRNnDhRy5cvV0pKSrNlf//732vLli384EJ34fhRRkaGk5CQ4M+LBJoZPHiws3jxYusxWrV48WJn8ODB1mN0G5MmTXLmz5/v8/W++uqrzoABA5yzZ8/6fN2BICEhwcnIyPDb5fHMCECvcubMGZWUlOi5557TH/7wB5/8pCs6j/eMAPQqK1as0FVXXaXY2Filp6dbj4P/xzMjAN3ap59+6tP1ZWVlKSsry6frROfxzAgAYI4YAQDMESMAgDliBAAwR4wAAOaIEQDAHDECAJgjRgAAc8QIAGCOGAEAzBEjAIA5v382XUVFhe69915/XyzQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for d in rewritten_test_diagrams:\n", " d.draw(figsize=(4,2))" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 4 }