[d69072]: / src / notebooks / clustering_concepts_V2.ipynb

Download this file

1026 lines (1025 with data), 149.9 kB

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TODO"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " - Embedding for all the lines of the document\n",
    " <!-- - Embeddings for all concepts -->\n",
    " <!-- - Each concept has a list of neighboring concepts based on similarity (e.g. cosine similarity) -->\n",
    " <!-- - The searched term will be embedded and compared to all concepts -->\n",
    " - The searched term will be embedded and compared to all lines of the corpus (with hashing to accelerate)\n",
    " <!-- - Return patients having the neighboring concepts of the searched term -->\n",
    " - Return patients that have big similarity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/mnt/c/Users/Mustapha/Documents/CENTRALESUPELEC_3A/challenge_IA/medical_txt_parser/src\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "path = %pwd\n",
    "if path.split(os.sep)[-1] == 'notebooks':\n",
    "    %cd .."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# %pip install -U sentence-transformers -q"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Importing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ----------------------------------- tech ----------------------------------- #\n",
    "import os\n",
    "import glob\n",
    "import pickle\n",
    "\n",
    "# ---------------------------- Display and friends --------------------------- #\n",
    "from tqdm import tqdm\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "# ------------------------- Transformers and freinds ------------------------- #\n",
    "from transformers import AutoTokenizer, AutoModelForSequenceClassification, AutoModel\n",
    "from sentence_transformers import SentenceTransformer, util\n",
    "import torch\n",
    "import torch.nn.functional as F\n",
    "import numpy as np\n",
    "\n",
    "# ------------------------ Classification and friends ------------------------ #\n",
    "from scipy.cluster.hierarchy import dendrogram\n",
    "from sklearn.cluster import AgglomerativeClustering, KMeans\n",
    "from sklearn.manifold import TSNE\n",
    "from annoy import AnnoyIndex\n",
    "\n",
    "# ----------------------------------- local ---------------------------------- #\n",
    "from data_preprocessing import Get_and_process_data\n",
    "from utils.parse_data import parse_concept"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Configurations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "lines_per_tokenization = 5\n",
    "clusters = 10\n",
    "trees = 100\n",
    "filename_split_key = \"__at__\"\n",
    "# Load model from HuggingFace Hub\n",
    "device = \"cuda\"\n",
    "model_checkpoint = \"sentence-transformers/multi-qa-MiniLM-L6-cos-v1\"\n",
    "# model_checkpoint = \"gsarti/scibert-nli\"\n",
    "# model_checkpoint = \"logs/scibert_20_epochs_64_batch_99_train_split\"\n",
    "tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)\n",
    "model = AutoModel.from_pretrained(model_checkpoint)\n",
    "data_path = \"../data/train/txt\"\n",
    "embeddings_path = data_path + os.sep + \"embeddings\"\n",
    "similarity = torch.nn.CosineSimilarity()\n",
    "if not os.path.exists(embeddings_path):\n",
    "    os.makedirs(embeddings_path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### utils"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Mean Pooling - Take average of all tokens\n",
    "def mean_pooling(model_output, attention_mask):\n",
    "    token_embeddings = model_output.last_hidden_state #First element of model_output contains all token embeddings\n",
    "    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()\n",
    "    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)\n",
    "\n",
    "\n",
    "#Encode text\n",
    "def encode(texts, tokenizer = tokenizer, model= model):\n",
    "    # Tokenize sentences\n",
    "    encoded_input = tokenizer(texts, padding=True, truncation=True, return_tensors='pt')\n",
    "\n",
    "    # Compute token embeddings\n",
    "    with torch.no_grad():\n",
    "        model_output = model(**encoded_input, return_dict=True)\n",
    "\n",
    "    # Perform pooling\n",
    "    embeddings = mean_pooling(model_output, encoded_input['attention_mask'])\n",
    "\n",
    "    # Normalize embeddings\n",
    "    embeddings = F.normalize(embeddings, p=2, dim=1)\n",
    "    \n",
    "    return embeddings\n",
    "\n",
    "def find_cluster(query_emb, clustered_data, similarity=similarity):\n",
    "    best_cluster = None\n",
    "    best_score = -1\n",
    "    for i in clustered_data.keys():\n",
    "        center = clustered_data[i][\"center\"]\n",
    "        score = similarity(query_emb, center)\n",
    "        if score >= best_score:\n",
    "            best_cluster = i\n",
    "            best_score = score\n",
    "    return best_cluster\n",
    "\n",
    "def text_splitter(text, file_path):\n",
    "    con_file_path = os.path.dirname(os.path.dirname(file_path)) + os.sep + \"concept\" + os.sep + os.path.basename(file_path).split(\".\")[0] + \".con\"\n",
    "    concepts_lines = list(set(parse_concept(con_file_path)[\"start_line\"]))\n",
    "    concepts_lines.sort()\n",
    "    texts = text.split(\"\\n\")\n",
    "    concepts = []\n",
    "    for line in concepts_lines:\n",
    "        concepts.append(texts[line-1])\n",
    "    return concepts\n",
    "\n",
    "def semantic_search_base(query_emb, doc_emb, docs):\n",
    "    #Compute dot score between query and all document embeddings\n",
    "    scores = torch.mm(query_emb, doc_emb.transpose(0, 1))[0].cpu().tolist()\n",
    "\n",
    "    #Combine docs & scores\n",
    "    doc_score_pairs = list(zip(docs, scores))\n",
    "\n",
    "    #Sort by decreasing score\n",
    "    doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)\n",
    "    print(doc_score_pairs)\n",
    "    #Output passages & scores\n",
    "    for doc, score in doc_score_pairs:\n",
    "        print(\"==> \",score) \n",
    "        print(doc)\n",
    "        \n",
    "def forward(texts, tokenizer= tokenizer, model= model):\n",
    "    # Tokenize sentences\n",
    "    encoded_input = tokenizer(texts, padding=True, truncation=True, return_tensors='pt')\n",
    "\n",
    "    # Compute token embeddings\n",
    "    model_output = model(**encoded_input, return_dict=True)\n",
    "\n",
    "    # Perform pooling\n",
    "    embeddings = mean_pooling(model_output, encoded_input['attention_mask'])\n",
    "\n",
    "    # Normalize embeddings\n",
    "    embeddings = F.normalize(embeddings, p=2, dim=1)\n",
    "    \n",
    "    return embeddings\n",
    "\n",
    "\n",
    "def forward_doc(text, file_path, tokenizer= tokenizer, model= model, no_grad= False):\n",
    "    texts = text_splitter(text, file_path) \n",
    "    if len(texts) == 0:\n",
    "        return []\n",
    "    # Tokenize sentences\n",
    "    encoded_input = tokenizer(texts, padding=True, truncation=True, return_tensors='pt')\n",
    "    \n",
    "    # Compute token embeddings\n",
    "    if no_grad:\n",
    "        with torch.no_grad():\n",
    "            model_output = model(**encoded_input, return_dict=True)\n",
    "    else :\n",
    "        model_output = model(**encoded_input, return_dict=True)\n",
    "\n",
    "    # Perform pooling\n",
    "    embeddings = mean_pooling(model_output, encoded_input['attention_mask'])\n",
    "\n",
    "    # NOTE: This is an easy approach\n",
    "    # another mean pooling over the lines of the document\n",
    "    # embeddings = torch.mean(embeddings_lines, 0).unsqueeze(0)\n",
    "    \n",
    "    # Normalize embeddings\n",
    "    embeddings = F.normalize(embeddings,  p=2, dim=1)\n",
    "    \n",
    "    return embeddings\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Testing Inference from checkpoint"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "model =model.eval()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Asking to truncate to max_length but no maximum length is provided and the model has no predefined maximum length. Default to no truncation.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('Around 9 Million people live in London', 0.9155025482177734), ('London is known for its financial district', 0.8950100541114807)]\n",
      "==>  0.9155025482177734\n",
      "Around 9 Million people live in London\n",
      "==>  0.8950100541114807\n",
      "London is known for its financial district\n"
     ]
    }
   ],
   "source": [
    "# Sentences we want sentence embeddings for\n",
    "query = \"How many people live in London?\"\n",
    "docs = [\"Around 9 Million people live in London\", \"London is known for its financial district\"]\n",
    "\n",
    "#Encode query and docs\n",
    "query_emb = encode(query)\n",
    "doc_emb = encode(docs)\n",
    "\n",
    "semantic_search_base(query_emb, doc_emb, docs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "0.915637195110321 Around 9 Million people live in London\n",
    "\n",
    "\n",
    "0.49475765228271484 London is known for its financial district"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Testing training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "encoded_input = tokenizer(query, padding=True, truncation=True, return_tensors='pt')\n",
    "model_output = model(**encoded_input, return_dict=True)\n",
    "# model_output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 9])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "encoded_input[\"input_ids\"].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 9, 768])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_output.last_hidden_state.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 768])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_output.pooler_output.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "q shape : torch.Size([1, 768])\n",
      "a shape : torch.Size([1, 768])\n"
     ]
    }
   ],
   "source": [
    "# model.train()\n",
    "\n",
    "query = \"How many people live in London?\"\n",
    "answer = \"Around 9 Million people live in London\"\n",
    "\n",
    "loss_fn = torch.nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(model.parameters(), lr=1e-6)\n",
    "\n",
    "q = forward(query)\n",
    "print(\"q shape :\", q.shape)\n",
    "a = forward(answer)\n",
    "print(\"a shape :\", a.shape)\n",
    "\n",
    "loss = loss_fn(a,q)\n",
    "\n",
    "optimizer.zero_grad()\n",
    "# loss.backward()\n",
    "# optimizer.step()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Getting data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([22, 384])"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "doc = \"\"\n",
    "file_path = \"../data/train/txt/018636330_DH.txt\"\n",
    "with open(file_path) as f:\n",
    "    doc = f.read()\n",
    "    \n",
    "doc_emb = forward_doc(doc, file_path, no_grad= True)\n",
    "doc_emb.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('Within the past year , these symptoms have progressively gotten worse , to encompass also her feet .', 0.4309232831001282), ('She had hyperreflexia in both the bilateral upper and lower extremities .', 0.37314465641975403), ('Immediately postop , her exam only improved slightly in her hyperreflexia .', 0.356035053730011), ('She had a workup by her neurologist and an MRI revealed a C5-6 disc herniation with cord compression and a T2 signal change at that level .', 0.2994070053100586), ('C5-6 disc herniation with cord compression and myelopathy .', 0.29181385040283203), ('Significant for hypertension , hyperlipidemia .', 0.2753830552101135), ('Microscopic anterior cervical diskectomy at C5-6 and fusion .', 0.21673107147216797), ('The patient is a 63-year-old female with a three-year history of bilateral hand numbness and occasional weakness .', 0.21050399541854858), ('She had a Hoffman &apos;s sign greater on the right than the left and she had 10 beats of clonus in the right foot and 3-5 beats in the left foot .', 0.20838546752929688), ('She had a postoperative CT scan that revealed partial decompression of the spinal canal and good placement of her hardware .', 0.15089824795722961), ('3. Percocet , 5/325 , 1-2 tabs PO q4-6h prn pain .', 0.14704374969005585), ('The patient was asked to call Dr. Miezetri Gach &apos;s office for a follow-up appointment and wound check .', 0.14224310219287872), ('The patient tolerated a C5-6 ACDF by Dr. Miezetri Gach quite well .', 0.10177513211965561), ('She is asked to call with any fevers , chills , increasing weakness or numbness or any bowel and bladder disruption .', 0.0992426723241806), ('Her pain was under good control with PO pain medications and she was deemed suitable for discharge .', 0.06103929504752159), ('Lipitor , Flexeril , hydrochlorothiazide and Norvasc .', 0.056770917028188705), ('5. Hydrochlorothiazide , 25 mg PO daily .', 0.04865103214979172), ('She has no known drug allergy .', 0.012756290845572948), ('6. Norvasc , 5 mg PO daily .', -0.016363155096769333), ('2. Zantac , 150 mg PO bid .', -0.019713841378688812), ('4. Lipitor , 10 mg PO daily .', -0.056656211614608765), ('1. Colace , 100 mg PO bid .', -0.08346259593963623)]\n",
      "==>  0.4309232831001282\n",
      "Within the past year , these symptoms have progressively gotten worse , to encompass also her feet .\n",
      "==>  0.37314465641975403\n",
      "She had hyperreflexia in both the bilateral upper and lower extremities .\n",
      "==>  0.356035053730011\n",
      "Immediately postop , her exam only improved slightly in her hyperreflexia .\n",
      "==>  0.2994070053100586\n",
      "She had a workup by her neurologist and an MRI revealed a C5-6 disc herniation with cord compression and a T2 signal change at that level .\n",
      "==>  0.29181385040283203\n",
      "C5-6 disc herniation with cord compression and myelopathy .\n",
      "==>  0.2753830552101135\n",
      "Significant for hypertension , hyperlipidemia .\n",
      "==>  0.21673107147216797\n",
      "Microscopic anterior cervical diskectomy at C5-6 and fusion .\n",
      "==>  0.21050399541854858\n",
      "The patient is a 63-year-old female with a three-year history of bilateral hand numbness and occasional weakness .\n",
      "==>  0.20838546752929688\n",
      "She had a Hoffman &apos;s sign greater on the right than the left and she had 10 beats of clonus in the right foot and 3-5 beats in the left foot .\n",
      "==>  0.15089824795722961\n",
      "She had a postoperative CT scan that revealed partial decompression of the spinal canal and good placement of her hardware .\n",
      "==>  0.14704374969005585\n",
      "3. Percocet , 5/325 , 1-2 tabs PO q4-6h prn pain .\n",
      "==>  0.14224310219287872\n",
      "The patient was asked to call Dr. Miezetri Gach &apos;s office for a follow-up appointment and wound check .\n",
      "==>  0.10177513211965561\n",
      "The patient tolerated a C5-6 ACDF by Dr. Miezetri Gach quite well .\n",
      "==>  0.0992426723241806\n",
      "She is asked to call with any fevers , chills , increasing weakness or numbness or any bowel and bladder disruption .\n",
      "==>  0.06103929504752159\n",
      "Her pain was under good control with PO pain medications and she was deemed suitable for discharge .\n",
      "==>  0.056770917028188705\n",
      "Lipitor , Flexeril , hydrochlorothiazide and Norvasc .\n",
      "==>  0.04865103214979172\n",
      "5. Hydrochlorothiazide , 25 mg PO daily .\n",
      "==>  0.012756290845572948\n",
      "She has no known drug allergy .\n",
      "==>  -0.016363155096769333\n",
      "6. Norvasc , 5 mg PO daily .\n",
      "==>  -0.019713841378688812\n",
      "2. Zantac , 150 mg PO bid .\n",
      "==>  -0.056656211614608765\n",
      "4. Lipitor , 10 mg PO daily .\n",
      "==>  -0.08346259593963623\n",
      "1. Colace , 100 mg PO bid .\n"
     ]
    }
   ],
   "source": [
    "c_emb= encode(\"hyperreflexia in feet\")\n",
    "semantic_search_base(c_emb, doc_emb, text_splitter(doc, file_path))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Saving embeddings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Encoding documents: 100%|##########| 170/170 [01:50<00:00,  1.54it/s]\n"
     ]
    }
   ],
   "source": [
    "# what are the elements in the folder ../data/train/txt/\n",
    "all_docs = {}\n",
    "text_files = glob.glob(data_path + os.sep +  \"*.txt\")\n",
    "for file_path in tqdm(text_files, \"Encoding documents\", ascii=True):\n",
    "    with open(file_path) as f:\n",
    "        doc = f.read()\n",
    "    file_name = os.path.basename(file_path).split(\".\")[0]\n",
    "    embeddings = forward_doc(doc, file_path, no_grad=True)\n",
    "    for i,emb in enumerate(embeddings):\n",
    "        all_docs[file_name+filename_split_key+str(i)] = emb.unsqueeze(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(embeddings_path + os.sep + \"all_docs_concepts.pkl\", \"wb\") as f:\n",
    "    pickle.dump(all_docs, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# with open(embeddings_path + os.sep + \"all_docs_concepts.pkl\", \"rb\") as f:\n",
    "#     all_docs = pickle.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7960"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(all_docs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Classify the embeddings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use hierachical clustering to classify the embeddings for a very search efficient task. But for simplicity, we will only perform K-means clustering."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7960, 384)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_names_list = list(map(lambda x: x[0], all_docs.items()))[:]\n",
    "sample_values_list = list(map(lambda x: x[1], all_docs.items()))[:]\n",
    "sample = np.array(list(map(lambda x: x.numpy().reshape(-1), sample_values_list))) # array of 1 dim vectors\n",
    "sample.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Test hierachical clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "clustering = AgglomerativeClustering(distance_threshold=0.7, n_clusters=None).fit(sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_dendrogram(model, **kwargs):\n",
    "    # Create linkage matrix and then plot the dendrogram\n",
    "\n",
    "    # create the counts of samples under each node\n",
    "    counts = np.zeros(model.children_.shape[0])\n",
    "    n_samples = len(model.labels_)\n",
    "    for i, merge in enumerate(model.children_):\n",
    "        current_count = 0\n",
    "        for child_idx in merge:\n",
    "            if child_idx < n_samples:\n",
    "                current_count += 1  # leaf node\n",
    "            else:\n",
    "                current_count += counts[child_idx - n_samples]\n",
    "        counts[i] = current_count\n",
    "\n",
    "    linkage_matrix = np.column_stack(\n",
    "        [model.children_, model.distances_, counts]\n",
    "    ).astype(float)\n",
    "\n",
    "    # Plot the corresponding dendrogram\n",
    "    dendrogram(linkage_matrix, **kwargs)\n",
    "\n",
    "plt.title(\"Hierarchical Clustering Dendrogram\")\n",
    "# plot the top three levels of the dendrogram\n",
    "plot_dendrogram(clustering, truncate_mode=\"level\", p=5)\n",
    "plt.xlabel(\"Number of points in node (or index of point if no parenthesis).\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Test K-means clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "clustering = KMeans(n_clusters = clusters).fit(sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/mus5900/anaconda3/envs/nlp/lib/python3.9/site-packages/sklearn/manifold/_t_sne.py:780: FutureWarning: The default initialization in TSNE will change from 'random' to 'pca' in 1.2.\n",
      "  warnings.warn(\n",
      "/home/mus5900/anaconda3/envs/nlp/lib/python3.9/site-packages/sklearn/manifold/_t_sne.py:790: FutureWarning: The default learning rate in TSNE will change from 200.0 to 'auto' in 1.2.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1440x720 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Scatter plot using TSNE\n",
    "def plot_clutering(sample):\n",
    "    new_sample = TSNE(n_components=2).fit_transform(sample)\n",
    "    plt.scatter(new_sample[:, 0], new_sample[:, 1], c=clustering.labels_)\n",
    "    plt.figure(figsize=(20, 10))\n",
    "    plt.show()\n",
    "    # # plot in 3D\n",
    "    # new_sample_3D = TSNE(n_components=3).fit_transform(sample)\n",
    "    # fig = plt.figure()\n",
    "    # ax = fig.add_subplot(111, projection='3d')\n",
    "    # ax.scatter(new_sample_3D[:, 0], new_sample_3D[:, 1], new_sample_3D[:, 2], c=clustering.labels_)\n",
    "    # plt.show()\n",
    "plot_clutering(sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "cluster 0 -> 311 element\n",
      "cluster 1 -> 633 element\n",
      "cluster 2 -> 364 element\n",
      "cluster 3 -> 551 element\n",
      "cluster 4 -> 361 element\n",
      "cluster 5 -> 349 element\n",
      "cluster 6 -> 331 element\n",
      "cluster 7 -> 181 element\n",
      "cluster 8 -> 630 element\n",
      "cluster 9 -> 439 element\n"
     ]
    }
   ],
   "source": [
    "for i in range(10):\n",
    "    print(\"cluster\", i , \"->\" , list(clustering.labels_).count(i), \"element\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "clustered_data = {}\n",
    "for i,center in enumerate(clustering.cluster_centers_):\n",
    "    clustered_data[i] = {\"center\": torch.tensor(center.reshape(1, -1)), \"elements\": {}}\n",
    "\n",
    "for i, cluster in enumerate(clustering.labels_):\n",
    "    clustered_data[cluster][\"elements\"][sample_names_list[i]] = all_docs[sample_names_list[i]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(embeddings_path + os.sep + \"clustered_data_concepts.pkl\", \"wb\") as f:\n",
    "    pickle.dump(clustered_data, f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Annoy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "search_index = AnnoyIndex(sample.shape[1], 'dot')\n",
    "for i in range(len(sample)):\n",
    "    search_index.add_item(i, sample[i])\n",
    "\n",
    "search_index.build(trees)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'../data/train/txt/embeddings/annoy_index_concepts.ann'"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "embeddings_path + os.sep + \"annoy_index_concepts.ann\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "search_index.save(embeddings_path + os.sep + \"annoy_index_concepts.ann\")\n",
    "with open(embeddings_path + os.sep + \"index_to_name.pkl\", \"wb\") as f:\n",
    "    pickle.dump(sample_names_list, f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Search"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### For Kmeans clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(embeddings_path + os.sep + \"clustered_data_concepts.pkl\", \"rb\") as f:\n",
    "    clustered_data = pickle.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "center = clustered_data[0][\"center\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "class Buffer_best_k:\n",
    "    def __init__(self, k, initia_value=-float(\"inf\")):\n",
    "        self.k = k\n",
    "        self.values = [initia_value] * self.k\n",
    "        self.data = [None] * self.k\n",
    "    def new_val(self, value, data=None):\n",
    "        for i in range(self.k):\n",
    "            if self.values[i] < value:\n",
    "                self.values[i+1:] = self.values[i:-1]\n",
    "                self.data[i+1:] = self.data[i:-1]\n",
    "                self.values[i] = value\n",
    "                self.data[i] = data\n",
    "                return True\n",
    "        return False\n",
    "    def get_data(self):\n",
    "        return self.data\n",
    "    def get_values(self):\n",
    "        return self.values               \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[tensor([0.6349]), tensor([0.5257]), tensor([0.5180]), tensor([0.5059]), tensor([0.4990]), tensor([0.4941]), tensor([0.4918]), tensor([0.4858]), tensor([0.4858]), tensor([0.4845])]\n",
      "['record-178__at__24', '320422564__at__1', 'record-25__at__34', 'record-21__at__28', '517414339__at__28', 'record-38__at__39', 'record-74__at__24', '405507617__at__14', '974381789__at__15', '101407944_PUMC__at__0']\n"
     ]
    }
   ],
   "source": [
    "# query = \"DIGOXIN and AMIODARONE HCL\"\n",
    "query = \"positive to abdominal carcinomatosis\"\n",
    "query_emb = encode(query)\n",
    "cluster = find_cluster(query_emb, clustered_data)\n",
    "\n",
    "buffer = Buffer_best_k(k=10)\n",
    "\n",
    "for name, doc_emb in clustered_data[cluster][\"elements\"].items():\n",
    "    score = similarity(query_emb, doc_emb)\n",
    "    # print(name, \"\\t{:.2f}\".format(float(score)))\n",
    "    buffer.new_val(score, name)\n",
    "        \n",
    "print(buffer.get_values())\n",
    "print(buffer.get_data())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### For Annoy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "record-178__at__0 \t0.67\n",
      "record-178__at__24 \t0.63\n",
      "105732749__at__0 \t0.62\n",
      "record-19__at__117 \t0.57\n",
      "record-70__at__13 \t0.56\n",
      "record-56__at__44 \t0.53\n",
      "517414339__at__7 \t0.53\n",
      "record-25__at__34 \t0.52\n",
      "record-38__at__39 \t0.49\n",
      "641557794_WGH__at__20 \t0.49\n"
     ]
    }
   ],
   "source": [
    "indeces, scores = search_index.get_nns_by_vector(query_emb.numpy().reshape(-1), clusters, include_distances=True)\n",
    "for i, s in zip(indeces, scores):\n",
    "    print(sample_names_list[i], \"\\t{:.2f}\".format(s))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "d650a3b94c458c273a536969f20832049d87778dafdd87df0ff4ffcada142abe"
  },
  "kernelspec": {
   "display_name": "Python 3.9.7 64-bit ('nlp': conda)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}