Skip to content

Instantly share code, notes, and snippets.

@tensorvijay
Created September 23, 2023 16:25
Show Gist options
  • Save tensorvijay/92330fdff4481d6221ef093e1011a6b6 to your computer and use it in GitHub Desktop.
Save tensorvijay/92330fdff4481d6221ef093e1011a6b6 to your computer and use it in GitHub Desktop.
nlp_comp_2.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"mount_file_id": "1T6oD7hvcMYp-MQUs2QnA8cNoCYIRGn9N",
"authorship_tag": "ABX9TyPrRIJILF4TW14Qy8A+Bxcm",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/tensorvijay/92330fdff4481d6221ef093e1011a6b6/nlp_comp_2.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "uGsTZHowudDx"
},
"source": [
"Some non linearility is here becaue of constant reloading of saved models and subsequent experimentation\n",
"\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "hFEkwbsULaUS"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from keras.preprocessing.sequence import pad_sequences"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "jGWy-ahCOH69"
},
"source": [
"df=pd.read_csv('/content/drive/MyDrive/Thirdsem/TimeSeries/ner_hindi_train.txt',sep='\\t',names=['Name','Entity'])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NGK9dXVLn5I7"
},
"source": [
"import seaborn as sns"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "D92qpGcooXJh"
},
"source": [
"import matplotlib.pyplot as plt\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 387
},
"id": "K-_oM5RAoJLx",
"outputId": "664b07a7-5c55-48f6-bce2-ef2bd794ef89"
},
"source": [
"ax = sns.countplot(df.Entity,)\n",
"ax.set_xticklabels(ax.get_xticklabels(), rotation=40, ha=\"right\")\n",
"#plt.figure(figsize=(8,8))\n",
"#img=\n",
"plt.xlabel('Entity')\n",
"plt.title('Number of entities')\n",
"plt.savefig('entity_number.png')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/seaborn/_decorators.py:43: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
" FutureWarning\n"
],
"name": "stderr"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "YcEbDTIk0gkT"
},
"source": [
"Test_dict=np.load('/content/drive/MyDrive/Thirdsem/TimeSeries/dict.npy',allow_pickle=True)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "3YqZ7tKC1J5S"
},
"source": [
"w2n = np.load('/content/drive/MyDrive/Thirdsem/TimeSeries/dict.npy',allow_pickle=True)[()]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VztbEbZt2VJd"
},
"source": [
"new_w2i = {**w2n, **{'': 0}}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "UPIORWGp2_FL",
"outputId": "3ff72b33-949f-4e47-c9cb-b860d5d67282"
},
"source": [
"new_w2i['1986']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"53436"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ZNYw5ayF1sn2"
},
"source": [
"X_ = [[new_w2i[w] for w in s] for s in NS]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "OUj9RTg329QN"
},
"source": [
"X = pad_sequences(maxlen=609, sequences=X_, padding=\"post\",value=53436)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Tjg0C26FPGVH"
},
"source": [
"data=df.fillna('limit')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "D1sBarR_vMuf"
},
"source": [
"df2=pd.read_csv('/content/ner_hindi_test .csv')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "MY8Hw0c7veIe",
"outputId": "12e0310f-fa47-47a6-cf6f-92491b2288fe"
},
"source": [
"df2.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>Words</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NER_0001</td>\n",
" <td>उनके</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NER_0002</td>\n",
" <td>माता</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NER_0003</td>\n",
" <td>-</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>NER_0004</td>\n",
" <td>पिता</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NER_0005</td>\n",
" <td>तथा</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ID Words\n",
"0 NER_0001 उनके\n",
"1 NER_0002 माता\n",
"2 NER_0003 -\n",
"3 NER_0004 पिता\n",
"4 NER_0005 तथा"
]
},
"metadata": {
"tags": []
},
"execution_count": 32
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ezi1_wubS4MK",
"outputId": "e172dfa4-c476-4a90-d050-83c9cf19d932"
},
"source": [
"df2.count"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<bound method DataFrame.count of ID Words\n",
"0 NER_0001 उनके\n",
"1 NER_0002 माता\n",
"2 NER_0003 -\n",
"3 NER_0004 पिता\n",
"4 NER_0005 तथा\n",
"... ... ...\n",
"12660 NER_12661 के\n",
"12661 NER_12662 सदस्य\n",
"12662 NER_12663 हैं\n",
"12663 NER_12664 .\n",
"12664 NER_12665 newline\n",
"\n",
"[12665 rows x 2 columns]>"
]
},
"metadata": {
"tags": []
},
"execution_count": 33
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BWYYbX3kdN-J"
},
"source": [
"import numpy as np"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "wIg6wJululqa"
},
"source": [
"Conversion of columns into a single large string and the subsequent representation by splitting it so that the sentences are split as per the given parametes"
]
},
{
"cell_type": "code",
"metadata": {
"id": "UXsvXTCpwPgL"
},
"source": [
"ES=data.Entity.str.cat(sep=' ') #convert entire column into single string"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "XxQ2Ubdpndgz"
},
"source": [
"ES=ES.split('limit') #seperate into sentences"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "DJ6ay7SjngCP"
},
"source": [
"ES=[s.strip() for s in ES] #remove the first and the last space"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Q5Ezr24AnsYr"
},
"source": [
"ES=[s.split(' ') for s in ES] #separate each sentence into a word"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "qwHvThl7n1SX",
"outputId": "e9355392-9ba4-453f-85f8-05a289b1a4fd"
},
"source": [
"ES[0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'location',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other',\n",
" 'other']"
]
},
"metadata": {
"tags": []
},
"execution_count": 27
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rIv95fheE1g3",
"outputId": "788b57b2-5690-48f4-b94a-382cfaccf61d"
},
"source": [
"NS=data.Name.str.cat(sep=' ')\n",
"NS=NS.split('newline')\n",
"NS=[s.strip() for s in NS]\n",
"NS=[s.split(' ') for s in NS]\n",
"len(NS)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"75884"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Rybehd8rFj-h"
},
"source": [
"words = list(set(data[\"Name\"].values))\n",
"#words.append(\"ENDPAD\")"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "QSTK2bCXvqmP"
},
"source": [
"words_=list(set(df2[\"Words\"].values))"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rkKIr9FKxBZo",
"outputId": "58f286c2-b173-4bab-cd9c-08c1eab9a5b2"
},
"source": [
"len(words_)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3402"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "uDu4rCA3wdOH"
},
"source": [
"w=np.concatenate([words,words_])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "PLQk_zekwlTz",
"outputId": "81a5720e-31ac-49c3-f366-68fdd565dd39"
},
"source": [
"len(w)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"91173"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "U7QP-8Mpwhrz",
"outputId": "89728126-d587-4952-ba88-962bd680c52b"
},
"source": [
"len(words)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"87771"
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_HRqOq4KcT7_",
"outputId": "87e8f3e4-fc8a-494b-8745-ae564821e437"
},
"source": [
"n_words = len(w); n_words"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"91173"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Znlk5AoNc3Ht"
},
"source": [
"tags = list(set(data[\"Entity\"].values))"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "hcqUDQKZc-1O",
"outputId": "f46e1778-8641-4cfe-aa75-e82088301e88"
},
"source": [
"n_tags = len(tags); n_tags"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"10"
]
},
"metadata": {
"tags": []
},
"execution_count": 29
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6Nbta69idDgQ",
"outputId": "61cfd8d9-f914-4599-8ea8-fb394ab8daf7"
},
"source": [
"tags"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['event',\n",
" 'name',\n",
" 'occupation',\n",
" 'location',\n",
" 'limit',\n",
" 'other',\n",
" 'organization',\n",
" 'datenum',\n",
" 'number',\n",
" 'things']"
]
},
"metadata": {
"tags": []
},
"execution_count": 30
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "S2QyVIeA3koF"
},
"source": [
"tag2idx = {t: i for i, t in enumerate(tags)}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "-r0_Lbok3mlg",
"outputId": "71349383-5514-49f1-9beb-e6df2cc234b3"
},
"source": [
"tag2idx"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'datenum': 7,\n",
" 'event': 0,\n",
" 'limit': 4,\n",
" 'location': 3,\n",
" 'name': 1,\n",
" 'number': 8,\n",
" 'occupation': 2,\n",
" 'organization': 6,\n",
" 'other': 5,\n",
" 'things': 9}"
]
},
"metadata": {
"tags": []
},
"execution_count": 32
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Tv9e68HEuw-1"
},
"source": [
"Tagging words and Entities based on uniqueness of word number mapping"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ppm5RAqbde-z"
},
"source": [
"word2idx = {w: i for i, w in enumerate(w)}\n",
"tag2idx = {t: i for i, t in enumerate(tags)}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "qUK3lPa8htP_",
"outputId": "28379f37-08f7-49d3-dfbb-1d6857ef9902"
},
"source": [
"tag2idx"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'datenum': 6,\n",
" 'event': 5,\n",
" 'limit': 3,\n",
" 'location': 7,\n",
" 'name': 0,\n",
" 'number': 1,\n",
" 'occupation': 2,\n",
" 'organization': 9,\n",
" 'other': 4,\n",
" 'things': 8}"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ROEfg35l3vMI"
},
"source": [
"y = [[new_t2i_[w] for w in s] for s in ES]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "kXtBgl980tTa"
},
"source": [
"y = pad_sequences(maxlen=609, sequences=y, padding=\"post\", value=1)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "9Td2eOV4dg9C",
"outputId": "ec14e1f5-7778-45ee-b02b-c1cfe7bbe5da"
},
"source": [
"word2idx['1986']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"53436"
]
},
"metadata": {
"tags": []
},
"execution_count": 76
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "PdV_L0TAeUDu"
},
"source": [
"new_w2i = {**word2idx, **{'': 0}}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "4CH8yP3lhWhv"
},
"source": [
"new_t2i={**tag2idx,**{'t':9}}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "-3WUqhyNiZGN"
},
"source": [
"new_t2i_={**tag2idx,**{'':3}}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7NLmjADzfwDN",
"outputId": "7c6ab513-4540-4de2-e4cd-1929f254ca7d"
},
"source": [
"maxlen = max([len(s) for s in NS])\n",
"print ('Maximum sequence length:', maxlen)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Maximum sequence length: 609\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "bBYtk5mHeFlI"
},
"source": [
"X = [[new_w2i[w] for w in s] for s in NS]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "v_pJSA-QfRr5"
},
"source": [
"from keras.preprocessing.sequence import pad_sequences"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "pqs2jcdE71Zi"
},
"source": [
"new_t2i_={'': 0,\n",
" 'datenum': 6,\n",
" 'event': 5,\n",
" 'limit': 3,\n",
" 'location': 7,\n",
" 'name': 0,\n",
" 'number': 1,\n",
" 'occupation': 2,\n",
" 'organization': 9,\n",
" 'other': 4,\n",
" 'things': 8}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Blm4zi87femV"
},
"source": [
"X = pad_sequences(maxlen=609, sequences=X, padding=\"post\",value=88696)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "oi1IVVOjg4HC"
},
"source": [
"y = [[new_t2i_[w] for w in s] for s in ES]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "RGUzJDTW5Tx-"
},
"source": [
"y_trial=y[75000:75883]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "lQFqhCu65eS9",
"outputId": "114a4753-db2e-48ca-cb8f-f16a8348b635"
},
"source": [
"len(y_trial)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"883"
]
},
"metadata": {
"tags": []
},
"execution_count": 57
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vxnKkwpt6G5i",
"outputId": "3dd8ef0c-cbee-4485-c5fd-75342d652317"
},
"source": [
"y_label=np.hstack(y_trial)\n",
"len(y_label)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"16557"
]
},
"metadata": {
"tags": []
},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "2VU_0h7i5hQb",
"outputId": "8d1c76d9-27e4-4e82-dc2b-0d6ed4a79f6f"
},
"source": [
"y_trial[10]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[4, 4, 4, 4, 1, 4, 4, 7, 4, 7, 4, 4, 7, 4, 4, 7, 7, 4, 7, 7, 4, 4, 7, 4, 4]"
]
},
"metadata": {
"tags": []
},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "D3VvPZcOij_f",
"outputId": "b94561cb-6e10-4259-9095-4a8bef292208"
},
"source": [
"new_t2i_"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'': 0,\n",
" 'datenum': 6,\n",
" 'event': 5,\n",
" 'limit': 3,\n",
" 'location': 7,\n",
" 'name': 0,\n",
" 'number': 1,\n",
" 'occupation': 2,\n",
" 'organization': 9,\n",
" 'other': 4,\n",
" 'things': 8}"
]
},
"metadata": {
"tags": []
},
"execution_count": 60
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "3OFll4qUi0-v"
},
"source": [
"y = pad_sequences(maxlen=609, sequences=y, padding=\"post\", value=9)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "0q4oJqGFjr8i",
"outputId": "0e8e24eb-af6b-4668-e283-6ba73770a186"
},
"source": [
"len(y)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"75884"
]
},
"metadata": {
"tags": []
},
"execution_count": 62
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_A-b9rFEj5zQ",
"outputId": "c39f1413-f26c-4be8-d7cd-d91477806dc3"
},
"source": [
"y.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(75884, 609)"
]
},
"metadata": {
"tags": []
},
"execution_count": 63
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ouEK5npBjtpV"
},
"source": [
"Y_test=y[75000:75883]\n",
"X_test=X[75000:75883]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3KRm3O-M4eRb",
"outputId": "4522b233-7ec8-4975-c1d5-e65a99c20bda"
},
"source": [
"len(X_test)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"883"
]
},
"metadata": {
"tags": []
},
"execution_count": 65
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "P9zFhoYs8wDO",
"outputId": "9e4dea09-29aa-43e4-bc0c-5b982f0d3203"
},
"source": [
"mm=load_model('/content/drive/MyDrive/Thirdsem/TimeSeries/NER_Hindi.hdf5')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n",
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n",
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "beObIbCO67gD"
},
"source": [
"met_res=[]\n",
"for i in range(0,len(X_test)):\n",
" p = mm.predict(np.array([X_test[i]]))\n",
" p = np.argmax(p, axis=-1)\n",
" met_res.append(p[0][0:len(y_trial[i])])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "51qiCOfq97_c",
"outputId": "b2016c3c-f5bb-4b37-e77d-b11704a98756"
},
"source": [
"met_t=np.hstack(met_res)\n",
"len(met_t)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"16557"
]
},
"metadata": {
"tags": []
},
"execution_count": 70
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "GaNOu9X_-E5n"
},
"source": [
"from sklearn.metrics import confusion_matrix,classification_report"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "4rkyt-dh-Ib7"
},
"source": [
"CF=confusion_matrix(met_t,y_label)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "WnyXB1dVCvn7"
},
"source": [
"img=classification_report(met_t,y_label,output_dict=True,target_names={0:'name',1:'number',2:'occupation',3:'other',4:'event',5:'datenum',6:'location',7:'things',8:'organization'})"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "CNC8hm6n-ewT"
},
"source": [
"data=pd.DataFrame(img)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_VfsP8FiFred"
},
"source": [
"tmp=data.rename(columns={0:'name',1:'number',2:'occupation',3:'other',4:'event',5:'datenum',6:'location',7:'things',8:'organization'})"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 173
},
"id": "lWiXnncJF5o8",
"outputId": "74e3a652-861a-47b3-a222-9e8c851c9ed4"
},
"source": [
"tmp"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name</th>\n",
" <th>number</th>\n",
" <th>occupation</th>\n",
" <th>other</th>\n",
" <th>event</th>\n",
" <th>datenum</th>\n",
" <th>location</th>\n",
" <th>things</th>\n",
" <th>organization</th>\n",
" <th>accuracy</th>\n",
" <th>macro avg</th>\n",
" <th>weighted avg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>precision</th>\n",
" <td>0.796004</td>\n",
" <td>0.940503</td>\n",
" <td>0.889571</td>\n",
" <td>0.992471</td>\n",
" <td>0.903226</td>\n",
" <td>0.513514</td>\n",
" <td>0.963155</td>\n",
" <td>0.717949</td>\n",
" <td>0.868966</td>\n",
" <td>0.972761</td>\n",
" <td>0.842818</td>\n",
" <td>0.975343</td>\n",
" </tr>\n",
" <tr>\n",
" <th>recall</th>\n",
" <td>0.945069</td>\n",
" <td>0.947005</td>\n",
" <td>0.906250</td>\n",
" <td>0.976198</td>\n",
" <td>1.000000</td>\n",
" <td>0.950000</td>\n",
" <td>0.976079</td>\n",
" <td>0.965517</td>\n",
" <td>0.919708</td>\n",
" <td>0.972761</td>\n",
" <td>0.953981</td>\n",
" <td>0.972761</td>\n",
" </tr>\n",
" <tr>\n",
" <th>f1-score</th>\n",
" <td>0.864155</td>\n",
" <td>0.943743</td>\n",
" <td>0.897833</td>\n",
" <td>0.984267</td>\n",
" <td>0.949153</td>\n",
" <td>0.666667</td>\n",
" <td>0.969574</td>\n",
" <td>0.823529</td>\n",
" <td>0.893617</td>\n",
" <td>0.972761</td>\n",
" <td>0.888060</td>\n",
" <td>0.973563</td>\n",
" </tr>\n",
" <tr>\n",
" <th>support</th>\n",
" <td>801.000000</td>\n",
" <td>434.000000</td>\n",
" <td>160.000000</td>\n",
" <td>13234.000000</td>\n",
" <td>28.000000</td>\n",
" <td>20.000000</td>\n",
" <td>1714.000000</td>\n",
" <td>29.000000</td>\n",
" <td>137.000000</td>\n",
" <td>0.972761</td>\n",
" <td>16557.000000</td>\n",
" <td>16557.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name number ... macro avg weighted avg\n",
"precision 0.796004 0.940503 ... 0.842818 0.975343\n",
"recall 0.945069 0.947005 ... 0.953981 0.972761\n",
"f1-score 0.864155 0.943743 ... 0.888060 0.973563\n",
"support 801.000000 434.000000 ... 16557.000000 16557.000000\n",
"\n",
"[4 rows x 12 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 111
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 323
},
"id": "6BjIsC1YEkNv",
"outputId": "70ed6bcf-598d-488b-81e9-c0694c9eff03"
},
"source": [
"im=sb."
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "WnYgk9WZAolJ"
},
"source": [
"def metrics(CF):\n",
" TN=[]\n",
" D=np.diag(CF)\n",
" DS=np.sum(D)\n",
" D_=np.diagflat(D)\n",
" DF=CF-D_\n",
" FP=np.sum(DF,1)\n",
" FN=np.sum(DF,0)\n",
" TP=D\n",
" for i in D:\n",
" TN.append(DS-i)\n",
" A=np.divide(TP+TN,TP+TN+FP+FN)\n",
" P=np.divide(TP,TP+FP)\n",
" R=np.divide(TP,TP+FN)\n",
" F1=np.divide(2*(P * R),(P + R))\n",
" return A,P,R,F1"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "52tmRIhTCamX"
},
"source": [
"import seaborn as sb"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 328
},
"id": "ULe30WaXDKDh",
"outputId": "29787811-ea99-4666-b932-b7188429248e"
},
"source": [
"data_"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>accuracy</th>\n",
" <th>precision</th>\n",
" <th>recall</th>\n",
" <th>f1score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.985438</td>\n",
" <td>0.945069</td>\n",
" <td>0.796004</td>\n",
" <td>0.864155</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.996967</td>\n",
" <td>0.947005</td>\n",
" <td>0.940503</td>\n",
" <td>0.943743</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.997955</td>\n",
" <td>0.906250</td>\n",
" <td>0.889571</td>\n",
" <td>0.897833</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.974998</td>\n",
" <td>0.976198</td>\n",
" <td>0.992471</td>\n",
" <td>0.984267</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.999814</td>\n",
" <td>1.000000</td>\n",
" <td>0.903226</td>\n",
" <td>0.949153</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0.998822</td>\n",
" <td>0.950000</td>\n",
" <td>0.513514</td>\n",
" <td>0.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0.993523</td>\n",
" <td>0.976079</td>\n",
" <td>0.963155</td>\n",
" <td>0.969574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0.999255</td>\n",
" <td>0.965517</td>\n",
" <td>0.717949</td>\n",
" <td>0.823529</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>0.998141</td>\n",
" <td>0.919708</td>\n",
" <td>0.868966</td>\n",
" <td>0.893617</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" accuracy precision recall f1score\n",
"0 0.985438 0.945069 0.796004 0.864155\n",
"1 0.996967 0.947005 0.940503 0.943743\n",
"2 0.997955 0.906250 0.889571 0.897833\n",
"3 0.974998 0.976198 0.992471 0.984267\n",
"4 0.999814 1.000000 0.903226 0.949153\n",
"5 0.998822 0.950000 0.513514 0.666667\n",
"6 0.993523 0.976079 0.963155 0.969574\n",
"7 0.999255 0.965517 0.717949 0.823529\n",
"8 0.998141 0.919708 0.868966 0.893617"
]
},
"metadata": {
"tags": []
},
"execution_count": 90
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Gs3jpJy3ShJ3"
},
"source": [
"Metrics from the pretrained model actual implementation of the work is given below"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "5LJ8gM_fAKQe",
"outputId": "e3fe5876-5b30-4746-94cc-91afe76fcbe4"
},
"source": [
"accuracy,precision,recall,f1score=metrics(CF) #for running model\n",
"CR={'accuracy':accuracy,'precision':precision,'recall':recall,'f1score':f1score}\n",
"data_=pd.DataFrame(CR)\n",
"#0 Business, 1 sports, 2 Entertainment\n",
"newdata=data_.rename(index={0:'name',1:'number',2:'occupation',3:'other',4:'event',5:'datenum',6:'location',7:'things',8:'organization'})\n",
"img=sb.heatmap(newdata,annot=True,fmt='f',robust=True,linewidths=2, cmap=\"YlGnBu\")\n",
"img.figure.savefig('classification_formalism.png')"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "YfozhO6LkzfS"
},
"source": [
"X_train=X[0:75000]\n",
"Y_train=y[0:75000]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "TEbz935CkXKA"
},
"source": [
"test_label=np.hstack(Y_test)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "BWD_9cunlWvp",
"outputId": "6526d83a-0892-45e7-e83a-76ff997beb46"
},
"source": [
"len(test_label)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"537747"
]
},
"metadata": {
"tags": []
},
"execution_count": 42
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "2-FTYE80lefE"
},
"source": [
"x=[[1,2],[3,4]]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "NX_yBpnMlpXZ",
"outputId": "411be844-e40d-4657-99fb-ef969b90881c"
},
"source": [
"np.hstack(x)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([1, 2, 3, 4])"
]
},
"metadata": {
"tags": []
},
"execution_count": 44
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CQgqYR6qkmPQ"
},
"source": [
"train_=np.hstack(X_test)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "UOeGmKnfqFuf",
"outputId": "1a13e339-8703-4470-fe1e-97b81a834151"
},
"source": [
"len(train_)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"537747"
]
},
"metadata": {
"tags": []
},
"execution_count": 46
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "QB69rEIDkehp",
"outputId": "98d5ec1c-341b-4440-b5fb-7506cb47e895"
},
"source": [
"test_label[0:10]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([4, 4, 9, 9, 9, 8, 9, 9, 9, 9], dtype=int32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 134
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "8Y-ltv0xkhJl",
"outputId": "83b32130-c149-4158-b173-8e5b05ef22f9"
},
"source": [
"len(X_train)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"75000"
]
},
"metadata": {
"tags": []
},
"execution_count": 47
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Kv3L8YyxjFO0"
},
"source": [
"from keras.utils import to_categorical\n",
"Y_train = [to_categorical(i, num_classes=10) for i in Y_train]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "2Vr-JoK7HQyT"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from keras.models import Model\n",
"from keras.layers import LSTM, Activation, Dense, Dropout, Input, Embedding\n",
"from keras.optimizers import RMSprop\n",
"from keras.preprocessing.text import Tokenizer\n",
"from keras.preprocessing import sequence\n",
"from keras.utils import to_categorical\n",
"from keras.callbacks import EarlyStopping\n",
"%matplotlib inline"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "gCDzVBxfOVP6"
},
"source": [
"from keras.models import Model, Input,load_model\n",
"from keras.layers import LSTM, Embedding, Dense, TimeDistributed, Dropout, Bidirectional"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "aNxC4MvAwwGA"
},
"source": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "IeaFuMNKOmrs",
"outputId": "8eb49c38-185b-43f8-ab2e-f5caa6ea7642"
},
"source": [
"input = Input(shape=(609,))\n",
"model = Embedding(input_dim=91173, output_dim=609, input_length=609)(input)\n",
"model = Dropout(0.1)(model)\n",
"model = Bidirectional(LSTM(units=100, return_sequences=True, recurrent_dropout=0.1))(model)\n",
"out = TimeDistributed(Dense(10, activation=\"softmax\"))(model) # softmax output layer"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n",
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n",
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "8xXGME9COu4j"
},
"source": [
"model = Model(input, out)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "RvE-rxYMP5DL"
},
"source": [
"model.compile(optimizer=\"adam\", loss=\"categorical_crossentropy\", metrics=[\"accuracy\"])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gT9mWYx0KsEc",
"outputId": "94ef9a4a-8adc-4bc4-9b10-06123bbab17f"
},
"source": [
"model.summary()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Model: \"functional_1\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"input_1 (InputLayer) [(None, 609)] 0 \n",
"_________________________________________________________________\n",
"embedding (Embedding) (None, 609, 609) 55524357 \n",
"_________________________________________________________________\n",
"dropout (Dropout) (None, 609, 609) 0 \n",
"_________________________________________________________________\n",
"bidirectional (Bidirectional (None, 609, 200) 568000 \n",
"_________________________________________________________________\n",
"time_distributed (TimeDistri (None, 609, 10) 2010 \n",
"=================================================================\n",
"Total params: 56,094,367\n",
"Trainable params: 56,094,367\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NKKHS38SsCeX"
},
"source": [
"from keras.utils import plot_model"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 533
},
"id": "OBV5Pd2rsHIv",
"outputId": "96ad3edd-fe2d-4922-cca5-84f89dc7c6e1"
},
"source": [
"plot_model(model,show_shapes=True)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/png": "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0K9/AGBNdfThK1euzJ8////+7/9efPFFw/d67bXXKioqwsLCDh06dPnyZcO7nT29qKioqKgob2/vO3fu0GEwzU1GRkZGRgbfUfSByZMnT548me8oOouIiIiIiOA7CnhauF8cAKZOnfrgwYNp06b1d0NKpdLwO7/z589/+OGHixcv7m5eAhPxRAcFAIC8CDpPNLveiy++uGfPnrfeeqvLcblMB+9TBgLAwIK8aOp4nF3vaTzRzHymdlAlJSWjRo2SSqUikcjf359OOfv222/TF5NeXl5nz54lhMyfP18ikUil0v379xNCOjo6Vq9e7e7uLhaLx4wZQ7+2/8c//iGRSGxsbBobG5cvXy6TyS5fvmz4aQQAHhi/awhwDOy/SLtUf/7553Txo48+IoT8+9//fvDgQWNjY1BQkLW1tUqloqULFy60tra+ePFie3t7eXn5uHHjbGxsrl27RkvfeustFxcXrubMzExCyO3bt+liVFQUnV3viYwfP/7FF1/stPKHH36wsbFJS0vrbq+//OUvhJB79+4Z/6C8vLykUmkPR7Rr166UlJSmpqa7d+++9tprXLezqKioQYMG3bx5k9vyzTff3L9/P/3vFStWWFlZ7d69+969eytXrrSwsCgtLeUOLSEh4fPPP585c2ZFRUUPTZtP3zViQP9F82Q+14DJwv3iQGWE2fWeRu9m5jORg5o1a9aaNWvs7e0dHBymT59+9+5dOt3E4sWLOzo6uHabm5tLS0vDw8MJIe3t7bm5uTNmzIiKirKzs1u1apWlpaV+hJ9++unSpUv37NlDJ7YFAJOF71EHvGdmdj19pnNQtBca7Qj/5z//2cfH5+uvv165ciXDMNu3b4+NjaUT2F6+fFmhUIwePZruJRaLn3vuuV5HyDBMH4Vv0mJiYjoNagpgCpAXn30DZXa9J9KvB1VYWJiZmVleXt7c3KyfmxmGWbRo0QcffPDvf//7f/7nf7755putW7fSora2NkLIqlWrVq1axW3Pzdj3pOiTtGdbTEzMsmXL5HI534GYnOPHj2dlZfEdhVlDXnzGDaDZ9QzXHwd19OjR06dPv//++9euXZsxY8bMmTO//vrroUOHfv755//7v//LbRYXF7dy5cqvvvpq2LBhtra2w4cPp+udnJwIIRs2bFi2bNnTBzN79uynr8TExcTEyOVyczjSXkBe5Bfy4jNu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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": []
},
"execution_count": 29
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "XEc1bV6MmOKe",
"outputId": "8b629671-6d77-4a7e-87f7-a33220dca82e"
},
"source": [
"Y_train[0].shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(609, 10)"
]
},
"metadata": {
"tags": []
},
"execution_count": 55
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "94osYPolO2ee",
"outputId": "b5279eeb-34c2-4d9f-c28e-c84cefdacb5f"
},
"source": [
"history = model.fit(X_train, np.array(Y_train), batch_size=32, epochs=1, validation_split=0.2, verbose=1)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"1875/1875 [==============================] - 3766s 2s/step - loss: 0.0116 - accuracy: 0.9976 - val_loss: 0.0028 - val_accuracy: 0.9991\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "a5_Hu61MirlG"
},
"source": [
"model.save('/content/drive/MyDrive/Thirdsem/TimeSeries/NER_Hindi.hdf5',model)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "hATWiC9h9ve8"
},
"source": [
"np.save('/content/drive/MyDrive/Thirdsem/TimeSeries/dict.npy',word2idx)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "c0KcLjC5IdXW"
},
"source": [],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "hTAOQWOYIn7Z",
"outputId": "51f59760-c86d-418f-d619-b88389c74102"
},
"source": [
"len(tw_)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"12665"
]
},
"metadata": {
"tags": []
},
"execution_count": 84
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_Xy1-tfIErx5",
"outputId": "b64b3d92-1551-47ce-a776-a5b913a1c598"
},
"source": [
"TS=df2.Words.str.cat(sep=' ')\n",
"TS=TS.split('newline')\n",
"TS=[s.strip() for s in TS]\n",
"TS=[s.split(' ') for s in TS]\n",
"len(TS)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"654"
]
},
"metadata": {
"tags": []
},
"execution_count": 34
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "wU0__DpQVcn0",
"outputId": "bf43384d-9a8e-4065-8ef5-d27de5d3dbac"
},
"source": [
"TS[0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['उनके',\n",
" 'माता',\n",
" '-',\n",
" 'पिता',\n",
" 'तथा',\n",
" 'विस्तृत',\n",
" 'परिवार',\n",
" 'अर्मीनियाई',\n",
" 'था',\n",
" 'और',\n",
" 'उस',\n",
" 'समय',\n",
" 'के',\n",
" 'उस्मानी',\n",
" 'साम्राज्य',\n",
" 'के',\n",
" 'क्षेत्र',\n",
" 'से',\n",
" 'अमेरिका',\n",
" 'के',\n",
" 'कैलिफ़ोर्निया',\n",
" 'राज्य',\n",
" 'के',\n",
" 'फ्रेज़नो',\n",
" 'शहर',\n",
" 'में',\n",
" 'आ',\n",
" 'बसा',\n",
" 'था',\n",
" '.']"
]
},
"metadata": {
"tags": []
},
"execution_count": 42
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Vu65cZrPFnbK"
},
"source": [
"T = [[new_w2i[w] for w in s] for s in TS]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "vn6doJrgFyL8"
},
"source": [
"from keras.preprocessing.sequence import pad_sequences"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "jDvgkri7F8fA"
},
"source": [
"np.save('/content/drive/MyDrive/Thirdsem/TimeSeries/testset.npy',allow_pickle=True)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "XJQ7Hpx1OBWL"
},
"source": [
"T=np.load('/content/drive/MyDrive/Thirdsem/TimeSeries/testset.npy',allow_pickle=True)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Hn1BQ3PxGtZM"
},
"source": [
"Tseq = pad_sequences(maxlen=609, sequences=T, padding=\"post\",value=88696)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Ei9LM_KXO18q",
"outputId": "ab70556f-de3a-4d2c-c92c-2a522a6ed82a"
},
"source": [
"mm=load_model('/content/drive/MyDrive/Thirdsem/TimeSeries/NER_Hindi.hdf5')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n",
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n",
"WARNING:tensorflow:Layer lstm will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria. It will use generic GPU kernel as fallback when running on GPU\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "oCr90Q2yoMNm"
},
"source": [
"i = 0\n",
"p = mm.predict(np.array([Tseq[i]]))\n",
"p = np.argmax(p, axis=-1)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JiEwTygfPK7U",
"outputId": "29a6fb48-f8a4-4b05-d7ac-7de58b82488f"
},
"source": [
"p[0][0:len(T[0])]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([4, 0, 4, 0, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 9, 4, 7, 4, 7, 4, 7, 7,\n",
" 4, 4, 7, 4, 4, 4, 4, 4])"
]
},
"metadata": {
"tags": []
},
"execution_count": 20
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_11a8wcMG8V0"
},
"source": [
"The Current Working Repository\n"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "jc3UQC9WHHHa",
"outputId": "7514ff79-e791-4357-e23b-21e2d820f0bb"
},
"source": [
"p.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(1, 609)"
]
},
"metadata": {
"tags": []
},
"execution_count": 85
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rdxsox3_Ke9v",
"outputId": "ba33a866-c10a-413f-b000-501e581a40ca"
},
"source": [
"Tseq.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(654, 609)"
]
},
"metadata": {
"tags": []
},
"execution_count": 86
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "AgSmIx28oObI"
},
"source": [
"#Final_result=[np.argmax(model.predict(np.array(i))[i,0:len(T[])],axis=-1)for i in Tseq]\n",
"Final_result=[]\n",
"for i in range(0,len(Tseq)):\n",
" p = mm.predict(np.array([Tseq[i]]))\n",
" p = np.argmax(p, axis=-1)\n",
" Final_result.append(p[0][0:len(TS[i])])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ulLRRp9mvP61",
"outputId": "a9456919-420b-4e0d-d708-4a843c25aea1"
},
"source": [
"len(Final_result)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"654"
]
},
"metadata": {
"tags": []
},
"execution_count": 36
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "IF0TOLmUMpE9",
"outputId": "4ee74344-a15d-4008-b1e6-e52ba2208666"
},
"source": [
"Final_result[13]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([4, 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4])"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "spG2V2kpRtrk"
},
"source": [
"LS=np.hstack(Final_result)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JqhF61rwR2Zf",
"outputId": "188416c3-f0fc-4c7c-9ccf-a3961eea793c"
},
"source": [
"len(LS)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"11578"
]
},
"metadata": {
"tags": []
},
"execution_count": 39
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "e1pqAM_iVj7w",
"outputId": "752f11f5-d01e-4b5f-b668-8e2aee30f4e2"
},
"source": [
"LHS=np.hstack(TS)\n",
"len(LHS)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"11578"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Kbp224Q9V38n"
},
"source": [
"z=zip(LHS,LS)\n",
"sol=list(z)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 163
},
"id": "9iVnbA0SW6we",
"outputId": "39b4542b-8314-4d0f-fe9b-4fd24b72520e"
},
"source": [
"SUB=pd.DataFrame(sol,names=['Words','Entity'])"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "TypeError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-49-9de3e2a936e8>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mSUB\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msol\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mnames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Words'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'Entity'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: __init__() got an unexpected keyword argument 'names'"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y3D-mI14XaPo"
},
"source": [
"{'': 0,\n",
" 'datenum': 6,\n",
" 'event': 5,\n",
" 'limit': 3,\n",
" 'location': 7,\n",
" 'name': 0,\n",
" 'number': 1,\n",
" 'occupation': 2,\n",
" 'organization': 9,\n",
" 'other': 4,\n",
" 'things': 8}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "wH-rp5gfXDCA"
},
"source": [
"df_new = SUB.rename(columns={0:'Words',1: 'Entity'})"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "HgGllZjnZJci",
"outputId": "a2ceab37-40ed-40b7-9480-15a6ba692204"
},
"source": [
"df_new.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Words</th>\n",
" <th>Entity</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>उनके</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>माता</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>पिता</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>तथा</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Words Entity\n",
"0 उनके 4\n",
"1 माता 0\n",
"2 - 4\n",
"3 पिता 0\n",
"4 तथा 4"
]
},
"metadata": {
"tags": []
},
"execution_count": 55
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BwCmFynec68m"
},
"source": [
"df.replace({'A': {0: 100, 4: 400}})"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "f5oqHDsic0Ns"
},
"source": [
"Final_CSV=df_new.replace({'Entity':{0:'name',1:'number',2:'occupation',3:'limit',4:'other',5:'event',6:'datenum',7:'location',8:'things',9:'organization'}})"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 669
},
"id": "E2NcBAxXclAW",
"outputId": "a629fde6-6475-4315-9fe4-6038f82d2b15"
},
"source": [
"Final_CSV.head(20)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Words</th>\n",
" <th>Entity</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>उनके</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>माता</td>\n",
" <td>name</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>पिता</td>\n",
" <td>name</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>तथा</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>विस्तृत</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>परिवार</td>\n",
" <td>name</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>अर्मीनियाई</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>था</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>और</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>उस</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>समय</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>के</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>उस्मानी</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>साम्राज्य</td>\n",
" <td>organization</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>के</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>क्षेत्र</td>\n",
" <td>location</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>से</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>अमेरिका</td>\n",
" <td>location</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>के</td>\n",
" <td>other</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Words Entity\n",
"0 उनके other\n",
"1 माता name\n",
"2 - other\n",
"3 पिता name\n",
"4 तथा other\n",
"5 विस्तृत other\n",
"6 परिवार name\n",
"7 अर्मीनियाई other\n",
"8 था other\n",
"9 और other\n",
"10 उस other\n",
"11 समय other\n",
"12 के other\n",
"13 उस्मानी other\n",
"14 साम्राज्य organization\n",
"15 के other\n",
"16 क्षेत्र location\n",
"17 से other\n",
"18 अमेरिका location\n",
"19 के other"
]
},
"metadata": {
"tags": []
},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "XY4w5BrKegNv"
},
"source": [
"Final_CSV.to_csv('19015_Task2.csv')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_Q9T6ZRuUcEY"
},
"source": [
"left=df2.ID"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "g_MQVQ71Uhsd",
"outputId": "af177636-1d50-4a5b-d855-bd2f9f161c42"
},
"source": [
"len(left)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"12665"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "0Mq_DUNEuooN",
"outputId": "696b6c75-b331-49ca-b8cc-855f6ca3d2bf"
},
"source": [
"y_test[16]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[0., 1., 0., ..., 0., 0., 0.],\n",
" [0., 1., 0., ..., 0., 0., 0.],\n",
" [0., 1., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [0., 1., 0., ..., 0., 0., 0.],\n",
" [0., 1., 0., ..., 0., 0., 0.],\n",
" [0., 1., 0., ..., 0., 0., 0.]], dtype=float32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 144
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "uX_Z1DKWxBSj"
},
"source": [
"from sklearn.metrics import confusion_matrix"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NuPKHcIL1p_R"
},
"source": [
"p_=to_categorical(p,num_classes=9)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "atgmrUr911ah"
},
"source": [
"p_=p_.reshape(609,9)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6c4z9h-V2T5r",
"outputId": "a2ba89dc-18c1-4d01-d32e-c7e5cae0fc27"
},
"source": [
"p.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(1, 609)"
]
},
"metadata": {
"tags": []
},
"execution_count": 156
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "KQCMJO0X14gZ",
"outputId": "b967add8-e0c8-4092-d20c-4b77f4f27826"
},
"source": [
"y_test[16].shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(609, 9)"
]
},
"metadata": {
"tags": []
},
"execution_count": 152
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "II1srpIC3ZOh",
"outputId": "f9cd99ab-4cf8-40b0-b9e9-358c827acb02"
},
"source": [
"y_test[16].shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(609, 9)"
]
},
"metadata": {
"tags": []
},
"execution_count": 160
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "f8i1yrd23eON",
"outputId": "ce8a1ef3-a668-4f0e-e514-aa5c6ec49628"
},
"source": [
"print(y_test[14])"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"[[0. 1. 0. ... 0. 0. 0.]\n",
" [0. 1. 0. ... 0. 0. 0.]\n",
" [0. 1. 0. ... 0. 0. 0.]\n",
" ...\n",
" [0. 1. 0. ... 0. 0. 0.]\n",
" [0. 1. 0. ... 0. 0. 0.]\n",
" [0. 1. 0. ... 0. 0. 0.]]\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "VGJ-c0-82mLu",
"outputId": "eb76d0e1-4768-4bdf-adfc-136d3dec005a"
},
"source": [
"Num= np.argmax(y_test[12], axis=-1)\n",
"Num.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(609,)"
]
},
"metadata": {
"tags": []
},
"execution_count": 166
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CvNJvqaO4_a7",
"outputId": "834f8679-cba8-4530-8674-51f249a133c8"
},
"source": [
"p"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 168
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Tq_AgYB645-s",
"outputId": "e8ecd6fc-168e-4398-be4b-7ccb35e2f58b"
},
"source": [
"Num"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])"
]
},
"metadata": {
"tags": []
},
"execution_count": 167
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "tsOwyKOwxTHp",
"outputId": "24cc1030-614e-4e20-fda7-109a86ab1889"
},
"source": [
"confusion_matrix(p.T,Num)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[601, 0, 1],\n",
" [ 7, 0, 0],\n",
" [ 0, 0, 0]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 169
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "5tGb-Y9Bi159",
"outputId": "8816f155-b54b-4fcf-d8fa-d7dcbad912e8"
},
"source": [
"i = 16\n",
"p = model.predict(np.array([X_test[i]]))\n",
"p = np.argmax(p, axis=-1)\n",
"print(\"{:14} ({:5}): {}\".format(\"Word\", \"True\", \"Pred\"))\n",
"for w,pred in zip(X_test[i],p[0]):\n",
" print(\"{:14}: {}\".format(words[w],tags.iloc[pred-1].values[0]))"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Word (True ): Pred\n",
"भगवत : other\n",
"नस्तालीक़ : other\n",
"कीथ : other\n",
"कैलोरा : location\n",
"मुगलों : other\n",
"नैसोफेरिंजाइटिस: location\n",
"डिक्लेरेटिव : location\n",
"मुगलों : other\n",
"खगोलविज्ञानी : other\n",
"होटलों : other\n",
"दाला : location\n",
"मुगलों : other\n",
"फ़ार्मास्युटिकल: location\n",
"ಥ : location\n",
"नारावारिपल्ली : other\n",
"आयुसीमाएं : other\n",
"परपू : location\n",
"चूहे : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n",
"बुधखोला : other\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "I-Oyv8RmjMqS",
"outputId": "d8bff947-ba87-4f78-a7bc-ebeff0a28630"
},
"source": [
"tags.pop(-1)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'limit'"
]
},
"metadata": {
"tags": []
},
"execution_count": 82
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "VTUGU8pLjVfh",
"outputId": "404a4466-9383-4e87-be5c-9901913b91c0"
},
"source": [
"tags"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['name',\n",
" 'number',\n",
" 'other',\n",
" 'organization',\n",
" 'datenum',\n",
" 'things',\n",
" 'location',\n",
" 'event',\n",
" 'occupation']"
]
},
"metadata": {
"tags": []
},
"execution_count": 83
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VdZ0isUxyyLz"
},
"source": [
"sentences_=[]\n",
"for i in range(len(ar)):\n",
" w1=ar[i].strip().split(' ')\n",
" w2=Arr[i].strip().split(' ')\n",
" z0=zip(w2,w1)\n",
" par=list(z0)\n",
" sentences_.append(par)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "H7P8eURbwY6z",
"outputId": "4d68ee34-eff9-4e15-a03d-13df8d13e745"
},
"source": [
"sentences_[10]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('वर्ष', 'other'),\n",
" ('1963', 'datenum'),\n",
" ('में', 'other'),\n",
" ('उत्तर', 'location'),\n",
" ('प्रदेश', 'location'),\n",
" ('की', 'other'),\n",
" ('मुख्यमंत्री', 'occupation'),\n",
" ('बनने', 'other'),\n",
" ('से', 'other'),\n",
" ('पहले', 'other'),\n",
" ('वह', 'other'),\n",
" ('लगातार', 'other'),\n",
" ('दो', 'other'),\n",
" ('बार', 'other'),\n",
" ('लोकसभा', 'occupation'),\n",
" ('के', 'other'),\n",
" ('लिए', 'other'),\n",
" ('चुनी', 'other'),\n",
" ('गई', 'other'),\n",
" ('.', 'other')]"
]
},
"metadata": {
"tags": []
},
"execution_count": 235
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "uSml0X1VDubd",
"outputId": "2b42b4ed-1677-49f2-9a1a-3219f5dff87a"
},
"source": [
"sentences_[100]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('राष्ट्रीय', 'other'),\n",
" ('महत्व', 'other'),\n",
" ('के', 'other'),\n",
" ('स्मारक', 'other'),\n",
" (',', 'other'),\n",
" ('भारत', 'location'),\n",
" ('में', 'other'),\n",
" ('स्थित', 'other'),\n",
" ('वे', 'other'),\n",
" ('ऐतिहासिक', 'other'),\n",
" (',', 'other'),\n",
" ('प्राचीन', 'other'),\n",
" ('अथवा', 'other'),\n",
" ('पुरातात्विक', 'other'),\n",
" ('संरचनाएं', 'other'),\n",
" (',', 'other'),\n",
" ('स्थल', 'other'),\n",
" ('या', 'other'),\n",
" ('स्थान', 'other'),\n",
" ('हैं', 'other'),\n",
" (',', 'other'),\n",
" ('जोकि', 'other'),\n",
" (',', 'other'),\n",
" ('प्राचीन', 'other'),\n",
" ('संस्मारक', 'other'),\n",
" ('तथा', 'other'),\n",
" ('पुरातत्वीय', 'other'),\n",
" ('स्थल', 'other'),\n",
" ('और', 'other'),\n",
" ('अवशेष', 'other'),\n",
" ('अधिनियम', 'other'),\n",
" (',', 'other'),\n",
" ('1958', 'number'),\n",
" ('किए', 'other'),\n",
" ('अधीन', 'other'),\n",
" (',', 'other'),\n",
" ('भारतीय', 'other'),\n",
" ('पुरातत्व', 'name'),\n",
" ('सर्वेक्षण', 'name'),\n",
" ('के', 'other'),\n",
" ('माध्यम', 'organization'),\n",
" ('से', 'other'),\n",
" ('भारत', 'location'),\n",
" ('की', 'other'),\n",
" ('संघीय', 'other'),\n",
" ('सरकार', 'name'),\n",
" ('या', 'other'),\n",
" ('राज्य', 'location'),\n",
" ('सरकारों', 'name'),\n",
" ('द्वारा', 'other'),\n",
" ('संरक्षिक', 'other'),\n",
" ('होती', 'other'),\n",
" ('हैं', 'other'),\n",
" ('.', 'other')]"
]
},
"metadata": {
"tags": []
},
"execution_count": 248
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "P_w1q1Z6we56"
},
"source": [
"np.save('/content/drive/MyDrive/Thirdsem/TimeSeries/neppair.npy',sentences_)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "bJAo2Z_j3MrU",
"outputId": "de878093-5231-4b92-ae3b-12bff0c393cd"
},
"source": [
"maxlen = max([len(s) for s in sentences_])\n",
"print ('Maximum sequence length:', maxlen)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Maximum sequence length: 609\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "cua6KavEkix5"
},
"source": [
"# Check how long sentences are so that we can pad them\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"plt.style.use(\"ggplot\")"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "6leH-79si3H9",
"outputId": "19ffa241-31e1-4123-9815-c4be3520d3e7"
},
"source": [
"plt.hist([len(s) for s in sentences_], bins=50)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "KyXvglJ9k1gZ"
},
"source": [
"words = list(set(data[\"Name\"].values))\n",
"words.append(\"ENDPAD\")"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "YZWoaIhSpoyD",
"outputId": "57e54e9d-9b71-411d-cfb6-25b2ea426844"
},
"source": [
"len(words)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"87772"
]
},
"metadata": {
"tags": []
},
"execution_count": 123
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "MHJ0gw5dp5aQ",
"outputId": "99d1bee2-3f18-40b1-b732-84ba3b2a12a7"
},
"source": [
"words[1010]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'शाक्त'"
]
},
"metadata": {
"tags": []
},
"execution_count": 126
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Kgi2tIir5vBN",
"outputId": "11fc2443-e199-4ef5-f4d7-b4d5e6fcc2df"
},
"source": [
"n_words=len(words)\n",
"n_words"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"87772"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "MHvdRG5olUJ1"
},
"source": [
"tags = list(set(data[\"Entity\"].values))"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gqHTR9osnTzk",
"outputId": "103bb257-06cf-40c6-c6f0-7186517a2e12"
},
"source": [
"n_tags=len(tags)\n",
"n_tags"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"10"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "XRlyL1pknbHd",
"outputId": "a7eac8f9-bb99-4c5a-bae9-308a6efd5487"
},
"source": [
"len(a)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"19"
]
},
"metadata": {
"tags": []
},
"execution_count": 154
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "B3GgFy9cv-sB"
},
"source": [
"word2idx = {w: i for i, w in enumerate(words)}\n",
"tag2idx = {t: i for i, t in enumerate(tags)}"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "0UCOSzvU6uOf",
"outputId": "3cf74e5a-dd2e-4ef5-dae0-7d71cd7a1cc8"
},
"source": [
"word2idx['लोकतांत्रिक']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"43874"
]
},
"metadata": {
"tags": []
},
"execution_count": 245
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vLYASO3k67vM",
"outputId": "cdd44a35-d8a1-449e-df8e-b70886abf721"
},
"source": [
"tag2idx['other']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"4"
]
},
"metadata": {
"tags": []
},
"execution_count": 246
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "1eTPlT3AD9BH",
"outputId": "3fd337f0-3548-4402-83a3-100797f83ce1"
},
"source": [
"X = [[word2idx[w[0]] for w in s] for s in sentences_]"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "KeyError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-249-46837c26af67>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-249-46837c26af67>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-249-46837c26af67>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m: ''"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 272
},
"id": "IXU-2dPhlXlE",
"outputId": "ad3a1242-4701-43fe-99d7-65ee31377949"
},
"source": [
"from keras.preprocessing.sequence import pad_sequences\n",
"X = [[word2idx[w[0]] for w in s] for s in sentences_]"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "KeyError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-247-a4cd2a260801>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpreprocessing\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msequence\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpad_sequences\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-247-a4cd2a260801>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpreprocessing\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msequence\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpad_sequences\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-247-a4cd2a260801>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpreprocessing\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msequence\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpad_sequences\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m: ''"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "uDRKn9uQ8HHD"
},
"source": [
"X=[]\n",
"for s in sentences_:\n",
" for w in s:\n",
" if w[0]!='':\n",
" X.append(word2idx[w[0]])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fMumHLM69eX_",
"outputId": "4edce39a-e7fc-4683-d4e8-02e69b5ec4ac"
},
"source": [
"len(X)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1460021"
]
},
"metadata": {
"tags": []
},
"execution_count": 208
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "p-Roi1Qo9jlH"
},
"source": [
"Y=[]\n",
"for s in sentences_:\n",
" for w in s:\n",
" if w[1]!='':\n",
" Y.append(tag2idx[w[1]])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6yjOXG5x98Z3",
"outputId": "a451c97d-88c4-40e0-8671-d79840f6a30d"
},
"source": [
"len(Y)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1460021"
]
},
"metadata": {
"tags": []
},
"execution_count": 211
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "C6QpRC1oBqZI",
"outputId": "1139aa0c-9f15-4b7c-cd36-2b190b4fb5b1"
},
"source": [
"y = [[tag2idx[w[1]] for w in s] for s in sentences_]"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "KeyError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-220-a40dc20a0855>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtag2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-220-a40dc20a0855>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtag2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-220-a40dc20a0855>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtag2idx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msentences_\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m: ''"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 129
},
"id": "gY59yFilALlO",
"outputId": "c1a67a7c-d81e-4e0a-e194-870c9a57fa2b"
},
"source": [
"X = [[if w([0]!='': word2idx[w[0]] for w in s] for s in sentences]"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "SyntaxError",
"evalue": "ignored",
"traceback": [
"\u001b[0;36m File \u001b[0;32m\"<ipython-input-219-c337dca9563e>\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m X = [[if w([0]!='': word2idx[w[0]] for w in s] for s in sentences]\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "eBgIidrj_qYe"
},
"source": [
"X_=np.asarray(X)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 425
},
"id": "5jmZwrF7llbj",
"outputId": "c1b42e6c-e6d0-4657-bdaa-efa4d657b414"
},
"source": [
"X1 = pad_sequences(maxlen=611,sequences=X_, padding=\"post\",value=n_words - 1)"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "ValueError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m/usr/local/lib/python3.6/dist-packages/keras_preprocessing/sequence.py\u001b[0m in \u001b[0;36mpad_sequences\u001b[0;34m(sequences, maxlen, dtype, padding, truncating, value)\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 68\u001b[0;31m \u001b[0mlengths\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 69\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mflag\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: object of type 'numpy.int64' has no len()",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-217-7e8a5edd39a1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mX1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpad_sequences\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmaxlen\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m611\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0msequences\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mX_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpadding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"post\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_words\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/preprocessing/sequence.py\u001b[0m in \u001b[0;36mpad_sequences\u001b[0;34m(sequences, maxlen, dtype, padding, truncating, value)\u001b[0m\n\u001b[1;32m 156\u001b[0m return sequence.pad_sequences(\n\u001b[1;32m 157\u001b[0m \u001b[0msequences\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmaxlen\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmaxlen\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 158\u001b[0;31m padding=padding, truncating=truncating, value=value)\n\u001b[0m\u001b[1;32m 159\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 160\u001b[0m keras_export(\n",
"\u001b[0;32m/usr/local/lib/python3.6/dist-packages/keras_preprocessing/sequence.py\u001b[0m in \u001b[0;36mpad_sequences\u001b[0;34m(sequences, maxlen, dtype, padding, truncating, value)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 73\u001b[0m raise ValueError('`sequences` must be a list of iterables. '\n\u001b[0;32m---> 74\u001b[0;31m 'Found non-iterable: ' + str(x))\n\u001b[0m\u001b[1;32m 75\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmaxlen\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: `sequences` must be a list of iterables. Found non-iterable: 43874"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Ngk5vF5RmHUM",
"outputId": "af9a93b2-7c9f-4776-d5c5-66fcbb62c45b"
},
"source": [
"len(Arr_)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1"
]
},
"metadata": {
"tags": []
},
"execution_count": 74
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "21Gow5PGmJh1",
"outputId": "dd537618-a451-4564-eff7-42e8ffbfdacb"
},
"source": [
"len(ST_)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"9377146"
]
},
"metadata": {
"tags": []
},
"execution_count": 76
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "S7pz4lWYmvOY",
"outputId": "f2eb6422-d44d-49c9-bbe9-cb415be41734"
},
"source": [
"len(ST)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"7856086"
]
},
"metadata": {
"tags": []
},
"execution_count": 77
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "CxOYU6RcmxSE",
"outputId": "b33af430-9281-423b-be10-3e2e89062743"
},
"source": [
"ST_[0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'o'"
]
},
"metadata": {
"tags": []
},
"execution_count": 79
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jEeqJUqhm1oa"
},
"source": [
"A=zip(df.Name,df.Entity)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "9a61xbxApQ1a"
},
"source": [
"Names=df['Name']\n",
"Entitys=df['Entity']"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "VJ8KhjQUpScQ",
"outputId": "5240bd9f-64c6-4346-f815-08f775094d21"
},
"source": [
"len(Names)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1535904"
]
},
"metadata": {
"tags": []
},
"execution_count": 89
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "UJkMGBempjsP",
"outputId": "270b56ae-b605-45d2-996b-6fd0983af3d1"
},
"source": [
"len(Entitys)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1535904"
]
},
"metadata": {
"tags": []
},
"execution_count": 90
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "9ElkK-tAp2yj",
"outputId": "5d502e65-82e2-4754-eb41-f428d4c05939"
},
"source": [
"Entitys[1]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'other'"
]
},
"metadata": {
"tags": []
},
"execution_count": 96
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "5ijC-nUeplT1"
},
"source": [
"z_l=zip(Names,Entitys)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ucwOl8fSqW7w"
},
"source": [
"pars=list(z_l)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "KoHvq-YCqbo5",
"outputId": "a6e4aba1-531b-4c5f-bc65-3f563b1a2203"
},
"source": [
"len(pars)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1535904"
]
},
"metadata": {
"tags": []
},
"execution_count": 99
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "XFV-YfyztEcU"
},
"source": [
"a=str(pars)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "HUU4fMWftHAU"
},
"source": [
"a_=a.split('('newline','NaN')')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "7F97f1I9qcei"
},
"source": [
"a=str(pars[1]).join(',')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "oxw5jXhhqelq",
"outputId": "dcbf9476-c87c-4fa9-d6ca-25d2b5f9d92d"
},
"source": [
"pars[1]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"('विकेंद्रीकरण', 'other')"
]
},
"metadata": {
"tags": []
},
"execution_count": 105
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "LEmLtirvtCXY"
},
"source": [
"t=str(pars[1])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "NSlHsvFMtuuI",
"outputId": "e20d0c3c-07dc-491f-ca08-726e211d35d5"
},
"source": [
"t"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"\"('विकेंद्रीकरण', 'other')\""
]
},
"metadata": {
"tags": []
},
"execution_count": 127
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 163
},
"id": "8F54UWmCuOP3",
"outputId": "e504947b-9d88-40c3-837a-015f0c7b3ab4"
},
"source": [
"t.maketrans()"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "TypeError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-133-8d19bc7a84f5>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmaketrans\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: maketrans() takes at least 1 argument (0 given)"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "aXlibHXvtzxR"
},
"source": [
"t_=zip(t)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "adrXUwwRt2dV",
"outputId": "239b681b-e56e-4a59-fabc-c399dbc03c47"
},
"source": [
"t_"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<zip at 0x7fae471fa388>"
]
},
"metadata": {
"tags": []
},
"execution_count": 131
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xWFKBmbZqmL9"
},
"source": [
"ds=pd.DataFrame(pars)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "22TgF9TZsDjw",
"outputId": "e9588319-4f55-4e01-e9a8-621c8cf2dbba"
},
"source": [
"ds.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>लोकतांत्रिक</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>विकेंद्रीकरण</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>की</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>दिशा</td>\n",
" <td>other</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>में</td>\n",
" <td>other</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1\n",
"0 लोकतांत्रिक other\n",
"1 विकेंद्रीकरण other\n",
"2 की other\n",
"3 दिशा other\n",
"4 में other"
]
},
"metadata": {
"tags": []
},
"execution_count": 107
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JW3iA3RNsEX9"
},
"source": [],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment