{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"<center>\n<h2>Named Entity recognition using B I O Labeling in NLP</h2>\n<img src=\"https://miro.medium.com/max/700/0*NoDvGqvXTfaDoGmg\"/>\n<br>\n</center>","metadata":{}},{"cell_type":"markdown","source":"<div style=\"color:#FFFFFF; background:#34b1eb; border-radius:5px;\"> \n    <center><br> <h1>Introduction</h1> <br></center>\n</div>","metadata":{}},{"cell_type":"markdown","source":"I found a very nice <a href=\"https://link.springer.com/content/pdf/10.1007%2F978-3-030-50417-5_23.pdf\">paper</a> where the authors are doing something very similar to what this competition is asking for. It seemed a very good starting point to me.\n\nTo summarize their approach :\n\n1. **Create BIO (B:Begin, I:Inside, and O:Outside) labeling for your dataset**, for eg- label this sentence [\"We\", \"are\", \"using\", \"COVID\", \"19\", \"Dataset\", \"in\", \"our\", \"paper\"] as [\"O\", \"O\", \"O\", \"B\", \"I\", \"I\", \"O\", \"O\", \"O\"]. Here, B is first word of a dataset, I is word that is a part of a dataset and O is any other word in our dataset.\n\n2. **Experiment with various word to vector conversion algorithms (word embedding algorithms)**, for eg - Word2Vec, Bag of Words etc.\n\n3. **Train Bi-directional LSTM to predict BIO labels for a given sentence**.\n\n4. It may output sequences (e.g., “OIO”) that are invalid under the BIO labeling scheme. **To penalize such invalid label sequences, add a Conditional Random Field (CRF) layer** on top of the Bi-LSTM network.\n\nIn this notebook I have tried to label coleridge dataset using BIO labeling scheme.","metadata":{}},{"cell_type":"markdown","source":"<div style=\"color:#FFFFFF; background:#34b1eb; border-radius:5px;\"> \n    <center><br> <h1>BIO Labeling for Coleridge Dataset</h1> <br></center>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### So how can we label our dataset under BIO scheme? Following is an approach I came up with. \n\n**Old approach -**\n\n1. Make a list of the known labels provided to us\n2. For each sentence in our dataset<br>\n    i. Check if any known label is present in the sentence<br>\n    ii. If present then label it using B I O for each word accordingly<br>\n    iii. If not present then label all words as O\n3. Pickle the resulting dataset\n\nThe problem with the above algorithm is that there might be many labels present in a sentence. We should always select the largest label present in the sentence.\n\n**For eg -** \n<br>We have two labels 1) Some Covid Related Dataset (SCRD) 2) (SCRD)\n<br>And our sentence is - \n<br> ['We', 'have', 'used', 'Some', 'Covid', 'Related', 'Dataset', '(SCRD)', 'in', 'our', 'reseach', 'paper'].\n<br>Ideally this sentence should be annotated as \n<br>[O, O, O, B, I, I, I, I, I, O, O, O, O]\n<br>But there is a chance that our algorithm would annotate it as \n<br>[O, O, O, O, O, O, O, O, B, O, O, O, O], because (SCRD) is a valid label.\n<br> To solve this issue we should tweak our algorithm a little, as follows\n\n**New approach -**\n\n1. Make a list of the known labels provided to us\n2. For each sentence in our dataset<br>\n    i. Out of all matching labels in the sentence, find the label with maximum length<br>\n    ii. Use the selected label of maximum length to annotate the sentence using BIO tokens<br>\n    iii. If no label was found then annotate the sentence using only O token\n3. Pickle the resulting dataset\n\n**You can find the resulting dataset in the output of this notebook.**","metadata":{}},{"cell_type":"code","source":"# Helper packages\nimport pandas as pd\nimport json\nimport glob\nfrom tqdm import tqdm\nimport pickle\n\n# NLP related packages\nimport re\nimport string\nfrom nltk.tokenize import word_tokenize,sent_tokenize\nfrom nltk.corpus import stopwords\nimport nltk","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Basic text cleaning\ndef text_cleaning(text):\n    text = re.sub(\"\\s+\",\" \", text) # remove extra spaces\n    text = ''.join([k for k in text if k not in string.punctuation]) # remove punctuation\n    text = re.sub('[^A-Za-z0-9]+', ' ', str(text).lower()).strip() # remove unnecessary literals and Perform Case Normalization\n    return text","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"##### STEP 1: Make a list of the known labels provided to us\ndf_train = pd.read_csv(\"../input/coleridgeinitiative-show-us-the-data/train.csv\")\n\ntemp_1 = [text_cleaning(x) for x in df_train['dataset_label']]\ntemp_2 = [text_cleaning(x) for x in df_train['dataset_title']]\ntemp_3 = [text_cleaning(x) for x in df_train['cleaned_label']]\n\nexisting_labels = set(temp_1 + temp_2 + temp_3)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"count_BIO = 0\ncount_O = 0\n\n# Get all the files containing text\ntrain_files = glob.glob(\"../input/coleridgeinitiative-show-us-the-data/train/*\")\n\nX = []\ny = []\n\nfor file in tqdm(train_files):\n    text = \"\"\n    \n    # For each file, merge the text of all sections\n    with open(file,\"r\") as f:\n        json_file = json.load(f)\n        for section in json_file:\n            text += \" \" + section[\"text\"]\n            \n    # Tokenize sentencewise\n    sentences = sent_tokenize(text)\n    \n    ##### STEP 2: For each sentence in our dataset\n    for sentence in sentences:\n        lab_len = 0\n        max_lab = \"\"\n        clean_sent = text_cleaning(sentence)\n        tokenized_sent = word_tokenize(clean_sent)\n        bio_labels = []\n        \n        ##### STEP 2 i): Out of all matching labels in the sentence, find the label with maximum length\n        for clean_lab in existing_labels:\n            if clean_lab in clean_sent and lab_len < len(clean_lab):\n                lab_len = len(clean_lab)\n                max_lab = clean_lab\n        \n        ##### STEP 2 ii): Use the selected label of maximum length to annotate the sentence using BIO tokens\n        if lab_len > 0:\n            tokenized_lab = word_tokenize(max_lab)\n            en = 0\n            for word in tokenized_sent:\n                if en < len(tokenized_lab) and word == tokenized_lab[en]:\n                    if en == 0:\n                        bio_labels.append('B')\n                    else:\n                        bio_labels.append('I')\n                    en += 1\n                else:\n                    bio_labels.append('O')\n\n            count_BIO += 1\n        ##### STEP 2 iii): If no label was found then annotate the sentence using only O token\n        else:\n            for word in tokenized_sent:\n                bio_labels.append('O')\n            count_O += 1\n            \n        y.append(bio_labels)\n        X.append(tokenized_sent)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(f\"There are {count_O} sentences with only O labels and {count_BIO} sentences with BIO labels\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"##### STEP 3: Pickle the resulting dataset\nwith open('./bio_labels.pkl', 'wb') as f:\n    pickle.dump(y, f)\n\nwith open('./sentences.pkl', 'wb') as f:\n    pickle.dump(X, f)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X = []\ny = []\n\nwith open('./sentences.pkl', 'rb') as f:\n    X = pickle.load(f)\n    \nwith open('./bio_labels.pkl', 'rb') as f:\n    y = pickle.load(f)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(X[0])\nprint(y[0])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<div style=\"color:#FFFFFF; background:#34b1eb; border-radius:5px;\"> \n    <center><br> <h1>Conclusion</h1> <br></center>\n</div>\n</br>","metadata":{}},{"cell_type":"markdown","source":"### Fig: SciNER Paper\n\n![Screenshot from 2021-05-17 23-57-54.png](attachment:16d854e7-1c13-45b2-ab01-130b5f262b45.png)","metadata":{},"attachments":{"16d854e7-1c13-45b2-ab01-130b5f262b45.png":{"image/png":"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vLw8UlNTCdgZQJs2bQCwtbXltUmvsXrVakJCQ6xcoRSWmJgYunbpygrvFdSoUQMAZ2dnZkyfwXvvvkdERISVK5R7kZySTO06tdm0cRN169YFwKm0E1OnTuWLz7/Qa/V9bu/evfj5+jFq5Cjzsq5du7I7eDdRF6KsV5gV3NMXsd5vRo4cWeDy6tWrM3ToUAtXI4XJxsaGCRMmFLjO3d0dd3d3C1ckRaVGjRoMHz68wHU9evSwcDVS2FzKuDB2zNgC13l6elq4GilsgwYNKnB5uXLl7vi4F1clagRMRERE5N9AAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCxMAUxERETEwhTARERERCzMYDQajf+0UWJiIp06dyIzMxMHB4eiqKvI5ebkggFsbW2tXYoUgZycHGxsbLCx0WeM4i47Oxs7OzsMBoO1S5EioMe3+MrNzcVoNGJnZ2ftUu5KVlYW9vb2bN60mTp16vzj9nd11Hl5ecTGxjJ06FA8PT3vZhciIiIi962IiAjmzZtHTk7OXbW/p9j59OCnFcBERESkxGncqDHz5s276/Y6PyMiIiJiYQpgIiIiIhamACYiIiJiYffnpQciIiJ3ISkpiatxV8nKzLJ2KfcFg8GAm5sb5cuXt3YpxY4CmIiIFGvp6emsXLmS9RvWExQURF5enrVLuu+0aNGCl19+mScGPoG9vb21yykWFMBERKTYOn3mNGPHjOXkqZMMenIQ8+bOw7W6q0LE35CdlY2trS0xMTH4+PgwceJEJk+ezJJflvDAAw9Yu7z7ngKYiIgUS4GBgTw74lnat2/P999/T7Vq1axd0n2pUaNGeHp6MnHiRD797FMGPDaAJUuW0LlTZ2uXdl/TJHwRESl2rly5woQJE+jfrz+zv5ut8FUIXF1dmf3dbPr17YeXlxenz5y2dkn3NQUwEREpVoxGIy++9CI1a9Xk448/vm9/6ubfyNbWlo8//pgWLVrw8ccfW7uc+5oCmIiIFCvBu4MJCgriww8/pFSpUhbtOz4+nuzs7HzLrl+/ftvE/+vXrxdKf+++9y6JiYmFsq+/y97envff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"}}},{"cell_type":"markdown","source":"We can use Named Entity Recognition based approach as mentioned in the figure above. For this approach 1st step is to label our dataset using BIO scheme. You can read the <a href=\"https://link.springer.com/content/pdf/10.1007%2F978-3-030-50417-5_23.pdf\">paper</a> to explore on the next steps.\n\nAlso, thanks to @nbroad for pointing out bugs in the code","metadata":{}}]}