<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kavita Ganeshan</title>
    <description>My experiences in NLP, ML and DL</description>
    <link>https://kavlata.github.io//</link>
    <atom:link href="https://kavlata.github.io//feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 06 Apr 2023 06:55:23 +0000</pubDate>
    <lastBuildDate>Thu, 06 Apr 2023 06:55:23 +0000</lastBuildDate>
    <generator>Jekyll v3.9.3</generator>
    
      <item>
        <title>Llm For Generative Qa</title>
        <description>&lt;h3 id=&quot;llm-for-generative-qa-on-long-documents&quot;&gt;LLM for Generative QA on Long Documents&lt;/h3&gt;

&lt;p&gt;Recently I was working on a problem statement that needed to explore LLM for Question Answering context. 
The problem was to use opensource LLM model (not Open AI gpt) and host in a local system for QA on custom data. 
I found very interesting set of articles and code repo that helped through this process. 
This is a fast moving topic and hence the code I wrote or the articles might get outdated in a weeks time. &lt;a href=&quot;https://github.com/kavlata/LLM-experiments&quot;&gt;My LLM Code repo&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/@abonia/document-based-llm-powered-chatbot-bb316009de93&quot;&gt;This is an amazing article by Abonia Sojasingarayar&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Author gives basic architecture for a QA system to process Long and verbose documents eg: Contracts, Legal agreements, clinical research papers etc.&lt;/li&gt;
      &lt;li&gt;Link to author’s codebase gives starter help on Langchain, Chroma. Though the code is a little outdated considering the speed in which Langchain community is updating the repo so fast to keep up with latest trends.&lt;a href=&quot;https://github.com/Abonia1/Context-Based-LLMChatbot&quot;&gt;Code&lt;/a&gt;&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;This article by Mick gives a good view on constraints of using LLM models directly for a Long document QA system &lt;a href=&quot;https://medium.com/@imicknl/how-to-create-a-private-chatgpt-with-your-own-data-15754e6378a1&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Matt Boegner talks about a generic knowledge retrieval architecture &lt;a href=&quot;https://mattboegner.com/knowledge-retrieval-architecture-for-llms/&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Amazing blog by Langchain contributors. Talks about how they updated their framework for better retrieval by providing more classes and connectors. &lt;a href=&quot;https://blog.langchain.dev/retrieval/&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Couple of Youtube Creators who I follow to get amazing code samples and explanations on Langchain and LLM in general are
    &lt;ol&gt;
      &lt;li&gt;1littlecoder &lt;a href=&quot;https://www.youtube.com/playlist?list=PLpdmBGJ6ELULEfPWvvks0HtwzCvQo1zu0&quot;&gt;playlist&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;Sam Witteveen &lt;a href=&quot;https://www.youtube.com/watch?v=J_0qvRt4LNk&amp;amp;list=PL8motc6AQftk1Bs42EW45kwYbyJ4jOdiZ&quot;&gt;playlist&lt;/a&gt;&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Interesting projects to track. There are more projects in each space. The above articles can give a varied list. The ones which I have used are listed down.
    &lt;ol&gt;
      &lt;li&gt;LLM framework - Langchain&lt;/li&gt;
      &lt;li&gt;Vector Stores - Chromadb, FAISS, Elastic Search, Milvus, Weaviate, Pinecone, Quadrant. Lot of traction I see is for Pinecone now. I saw a stack called OPL (Open AI, Pinecone and Langchain)&lt;/li&gt;
      &lt;li&gt;Connect data to LLMs - LLamaIndex&lt;/li&gt;
      &lt;li&gt;Models to try from HuggingFace - Google Flan T5 - XXL, Facebook Blenderbot 1B distill, Facebook Opt 66B, BigScience Bloom 560m&lt;/li&gt;
      &lt;li&gt;To demo a quick version - Gradio, Streamlit&lt;/li&gt;
      &lt;li&gt;To learn more prompt templates - James Briggs &lt;a href=&quot;https://www.youtube.com/watch?v=RflBcK0oDH0&amp;amp;t=514s&quot;&gt;playlist&lt;/a&gt;&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Thu, 06 Apr 2023 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//LLM-for-Generative-QA</link>
        <guid isPermaLink="true">https://kavlata.github.io//LLM-for-Generative-QA</guid>
        
        
      </item>
    
      <item>
        <title>Summerschool Ml Nlp</title>
        <description>
&lt;p&gt;I am so excited to share that I have been accepted to the LxMLS 2021 - Lisbon Machine learning School. I received their email today and have been in cloud 9 since. 
I have been following this summer school and few more since 5 years now. Finally I got an opportunity to attend. Considering this is during the pandemic time, it works 
well for me, since I get to attend it virtually and still be able to take care of my son and family. For someone like me who is a full time working mom, opportunities 
like these are rare and blessing in disguise. I thank the LxMLS folks to have accepted my application. They had asked a few questions related to my interests in NLP.
NLP is all that I have worked in last few years, writing this application wasn’t very difficult because, it came from the heart. I am not a PhD in ML / NLP, but it was always 
a dream. So getting accepted to this school without a PhD gives me immense pleasure to meet peers of the community.&lt;/p&gt;
</description>
        <pubDate>Wed, 02 Jun 2021 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//SummerSchool-ML-NLP</link>
        <guid isPermaLink="true">https://kavlata.github.io//SummerSchool-ML-NLP</guid>
        
        
      </item>
    
      <item>
        <title>Paper Summary On Comparison Of Document</title>
        <description>&lt;h3 id=&quot;summaries-of-literature-survey-on-comparison-of-2-documents&quot;&gt;Summaries of literature survey on “Comparison of 2 Documents”&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Paper Title : &lt;a href=&quot;https://www.ijcai.org/proceedings/2020/0613.pdf&quot;&gt;Unstructured document compliance checking&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Entity: IBM China&lt;/li&gt;
      &lt;li&gt;Publication: IJCAI 2020&lt;/li&gt;
      &lt;li&gt;Solution:&lt;/li&gt;
      &lt;li&gt;It provides multi-level deep semantic comparison.
    1. Sentence Level -&amp;gt; GNN based syntactic sentence encoder to capture semantic and syntactic clues of sentences.
        &lt;ol&gt;
          &lt;li&gt;Dataset: Banking, open domain - SNLI
    1. Clause Level -&amp;gt; Attention based semantic relatedness detection model to find relevant legal clauses.&lt;/li&gt;
          &lt;li&gt;Dataset: No existing data, so annotated themselves&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Paper Title: &lt;a href=&quot;https://www.aclweb.org/anthology/W19-2203.pdf&quot;&gt;Extent of repetition in Contract language&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Publication:ACL 2019&lt;/li&gt;
      &lt;li&gt;Problem: Measure the extent to which contract language in English is repetitive compared with the language of other English language corpora&lt;/li&gt;
      &lt;li&gt;results:
        &lt;ol&gt;
          &lt;li&gt;far fewer rare word types and higher sentence similarity&lt;/li&gt;
          &lt;li&gt;contracts are focused on creating arrangements between parties, similar to those created before&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Dataset: EDGAR and google to extract contracts specific to categories
        &lt;ol&gt;
          &lt;li&gt;Types: Prime contracts, Subcontracts, Non disclosure agreements, Purchase orders, Service agreements&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Paper Title: &lt;a href=&quot;http://lrec-conf.org/workshops/lrec2018/W22/pdf/9_W22.pdf&quot;&gt;Legal Document similarity using triples extracted from Unstructured text&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Problem: Find similar legal documents&lt;/li&gt;
      &lt;li&gt;Solution:
        &lt;ol&gt;
          &lt;li&gt;Created ontology for the selected dataset&lt;/li&gt;
          &lt;li&gt;extract triples from documents for comparison&lt;/li&gt;
          &lt;li&gt;similarity score is based on RDF path length from previous paper [ LODIFIER: generates linked data from unstructured text ]&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Cited paper : Lodifier paper link: https://www.slideshare.net/isabelleaugenstein/lodifier-generating-linked-data-from-unstructured-text&lt;/li&gt;
      &lt;li&gt;Dataset:  Income Tax Act which deals with ‘Changes in constitution, succession, and dissolution of firms and partnerships’. The Sections of the act which were of interest are Section 187, 188, 188A, 189 and 189A&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Paper Title: &lt;a href=&quot;https://arxiv.org/abs/1603.03014&quot;&gt;Plagiarism– state of the art and evaluation&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Problem: Survey of methods&lt;/li&gt;
      &lt;li&gt;Solution:
        &lt;ol&gt;
          &lt;li&gt;Citation -  characterizes a document by its citation sequence, rather than the text itself
            &lt;ol&gt;
              &lt;li&gt;language independant&lt;/li&gt;
              &lt;li&gt;reduces complexity compared to the comparison of full documents&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;semantic similarity - X sim: similarity values between texts based on the statistical evaluation of word co-occurences
            &lt;ol&gt;
              &lt;li&gt;reduce the amount of documents to compare through a prior title comparison&lt;/li&gt;
              &lt;li&gt;compare within same category&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Semantic Role labelling - Similarity between sentences
            &lt;ol&gt;
              &lt;li&gt;split sentences and assign their parts to different label groups&lt;/li&gt;
              &lt;li&gt;semantic annotation of terms with the help of the semantic lexicon WordNet&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Latent Semantic Indexing - probabilistic model for words based on a SVD-reduced term-document matrix
            &lt;ol&gt;
              &lt;li&gt;performance comparison of two stylometric features, namely “Average Sentence Length” and the “Honore Function”&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Cross Lingual Semantic Approach - semantically annotated graph model
            &lt;ol&gt;
              &lt;li&gt;graph characterizes a document and similarity between graphs represents similarity between documents&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Regular cross lingual - combines lexical and syntactic features such as character-n-grams without taking semantic annotations into consideration
            &lt;ol&gt;
              &lt;li&gt;translate a document before applying a monolingual detection approach.&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Language model - a tf-idf vector-based approached with a vector space model.
            &lt;ol&gt;
              &lt;li&gt;It also takes type of plagiarism, by analyzing the length of a suspicious section with regard to summarized plagiarism&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Dataset: PAN PC competition corpora&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Paper Title: &lt;a href=&quot;https://www.researchgate.net/profile/Fawad_Hussain/publication/281775287_On_retrieving_intelligently_plagiarized_documents_using_semantic_similarity/links/5d023dc492851c874c62a60e/On-retrieving-intelligently-plagiarized-documents-using-semantic-similarity.pdf&quot;&gt;Retrieving plagiarized documents using semantic similarity&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Solution:
        &lt;ol&gt;
          &lt;li&gt;semantic similarity measure with a Nearest Neighbor (NN) search for content of document&lt;/li&gt;
          &lt;li&gt;Modified X-Sim algorithm – a supervised pruning of the similarity values, and term weighting&lt;/li&gt;
          &lt;li&gt;Multi class SVM based classifier for Titles&lt;/li&gt;
          &lt;li&gt;use a) and c) for plagiarism index&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Dataset:  20 Newsgroup corpus,LingSpam collection, the Reuters-21578 corpus, and the TDT&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Paper Title: &lt;a href=&quot;https://arxiv.org/abs/1609.02727&quot;&gt;Detecting singleton review spammers using semantic similarity&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Publication: WWW 2015&lt;/li&gt;
      &lt;li&gt;Problem:  detecting fake reviews written by the same person using multiple names, posting each review under a different name&lt;/li&gt;
      &lt;li&gt;Solution:
        &lt;ol&gt;
          &lt;li&gt;semantic similarity between words to the reviews level.
            &lt;ol&gt;
              &lt;li&gt;wordnet + cosine similarity of POS tokens&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;n topic modeling and exploits the similarity of the reviews topic distributions using two models:
            &lt;ol&gt;
              &lt;li&gt;bag-of-words which included a restricted set of POSs&lt;/li&gt;
              &lt;li&gt;bag-of-opinionphrases - splits a review into aspect-sentiment pairs, and these pairs are then used in the LDA model, instead of the document words.&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Dataset: Yelp , Trustpilot, OTT&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Paper Title: &lt;a href=&quot;https://arxiv.org/abs/1809.01360&quot;&gt;Toward validation of Textual information Retrieval techniques for software weakness&lt;/a&gt;
    &lt;ol&gt;
      &lt;li&gt;Publication: DEXA-2018&lt;/li&gt;
      &lt;li&gt;Problem: Map unstructured software vulnerability information to distinct software weaknesses ( security related mistake in software development)&lt;/li&gt;
      &lt;li&gt;Solution:&lt;/li&gt;
    &lt;/ol&gt;
    &lt;ol&gt;
      &lt;li&gt;5 similarity metrics based on Tf-Idf variant to create weakness matrix&lt;/li&gt;
      &lt;li&gt;similarities between the weakness matrix and vulnerabilities is with cosine similarity 
  1.Dataset : NVD&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Other Approaches
    &lt;ol&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/research/project/dssm/&quot;&gt;Microsoft Deep Semantic Similarity Model&lt;/a&gt; - use siamese architectures and cosine similarity to rank query document pairs using sent2vec&lt;/li&gt;
      &lt;li&gt;simpler approach to document similarity is to concatenate the semantic representations of the two documents and train a binary classifier to determine whether two given documents are similar or dissimilar.&lt;/li&gt;
      &lt;li&gt;Vector based - Word embeddings and similarity
        &lt;ol&gt;
          &lt;li&gt;Fast Embeddings, Word2vec, Glove, Elmo&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 01 Sep 2020 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//paper-summary-on-comparison-of-document</link>
        <guid isPermaLink="true">https://kavlata.github.io//paper-summary-on-comparison-of-document</guid>
        
        
      </item>
    
      <item>
        <title>Remote Nlp Python Troubleshooting</title>
        <description>&lt;h2 id=&quot;what-i-learnt-when-remote-engineer-ran-my-nlp-code-and-helped-her-troubleshoot&quot;&gt;What I learnt when Remote engineer ran my NLP code and helped her troubleshoot.&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Background
    &lt;ul&gt;
      &lt;li&gt;As part of my work, I was asked to deliver a Context based search on few contract documents.&lt;/li&gt;
      &lt;li&gt;I developed an Elastic Search based solution. Nothing fancy.&lt;/li&gt;
      &lt;li&gt;I coded the application in python, got the logic working and with few business specific tweaks, I was able to reach close to 85%+ accuracy.
        &lt;ol&gt;
          &lt;li&gt;Observation 1 : I wrote the code, wrote very basic sanity testcases, exception handling only in the main function.
            &lt;ol&gt;
              &lt;li&gt;Modification 1 : Basic Test cases weren’t sufficient.
                &lt;ol&gt;
                  &lt;li&gt;Write validation module for your input with as much possibilities as you can think.&lt;/li&gt;
                  &lt;li&gt;In my case eg: check headers of the excel are in the same format as expected.&lt;/li&gt;
                  &lt;li&gt;Check the number of rows, columns, any extra row, extra column, missing column.&lt;/li&gt;
                  &lt;li&gt;If using pandas, empty values would be read as NAN, have validation rules for these.&lt;/li&gt;
                  &lt;li&gt;If using any server or database or 3rd party API or server, always have a healthcheck function for that. Add it in your logs.&lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
              &lt;li&gt;Modification 2 : Basic Exception Handling wasn’t clear enough to debug the error remotely
                &lt;ol&gt;
                  &lt;li&gt;Have exception handling atleast at every IO operation.&lt;/li&gt;
                  &lt;li&gt;In my case, eg: while reading / writing excel files in pandas.&lt;/li&gt;
                  &lt;li&gt;while connecting to Elastic Search engine.&lt;/li&gt;
                  &lt;li&gt;If empty value/ overflow value occurs in any necessary datastructure throught code.&lt;/li&gt;
                  &lt;li&gt;Always have a backup way to handle such exceptions:
                    &lt;ol&gt;
                      &lt;li&gt;Choice 1: Any exception break the code
                        &lt;ol&gt;
                          &lt;li&gt;Break only if this is critical and without which remaining code cannot run through&lt;/li&gt;
                          &lt;li&gt;Have a validation module at the beginning of the code to make sure everything is checked and then start the code.
                            &lt;ol&gt;
                              &lt;li&gt;You could generate a health log for all the external interfacing libraries. This way it is easier to troubleshoot remotely&lt;/li&gt;
                            &lt;/ol&gt;
                          &lt;/li&gt;
                        &lt;/ol&gt;
                      &lt;/li&gt;
                      &lt;li&gt;Choice 2: If exception, is there a way that code can run through remaining input values.
                        &lt;ol&gt;
                          &lt;li&gt;Track the successful and error inputs items through&lt;/li&gt;
                          &lt;li&gt;Inside the exception handling, update the error items and continue&lt;/li&gt;
                        &lt;/ol&gt;
                      &lt;/li&gt;
                    &lt;/ol&gt;
                  &lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
              &lt;li&gt;Modification 3: Log handling should be verbose and needed in such a way that you should be able to simply read and troubleshoot the issue remotely.
                &lt;ol&gt;
                  &lt;li&gt;TIP 1: Best to log summary statistics of everything that you do within a code.
                    &lt;ol&gt;
                      &lt;li&gt;In my case eg: Log the total number of input files, number of rows /cols from excel, number of result matches from Elastic Search&lt;/li&gt;
                      &lt;li&gt;Number of Success / Failure is something very useful as mentioned in previous point.&lt;/li&gt;
                      &lt;li&gt;You could also log what is the approx intended time to finish (If it makes sense)&lt;/li&gt;
                      &lt;li&gt;Provide time based statistics: In my case eg: time to run end-end, time to run each row from excel, time to search in Elastic etc&lt;/li&gt;
                    &lt;/ol&gt;
                  &lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Observation 2 : Anticipate possible things that may fail
            &lt;ol&gt;
              &lt;li&gt;Input
                &lt;ol&gt;
                  &lt;li&gt;Size: Input file sizes can go more than what you expected. What is the plan to handle it?
                    &lt;ol&gt;
                      &lt;li&gt;In my case, I didnt anticipate and requested the remote help to break the number of rows in excel and create multiple sheets.&lt;/li&gt;
                    &lt;/ol&gt;
                  &lt;/li&gt;
                  &lt;li&gt;Encoding: Assume to always expect few changes in encoding format of files if you are reading that in your code.
                    &lt;ol&gt;
                      &lt;li&gt;Make sure you have a module to identify the encoding format and use that corresponding one.&lt;/li&gt;
                    &lt;/ol&gt;
                  &lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
              &lt;li&gt;Output
                &lt;ol&gt;
                  &lt;li&gt;Size:&lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;Observation 3 : Externalize parameters as much as possible
            &lt;ol&gt;
              &lt;li&gt;Externalize wherever you see a pattern. It helps.&lt;/li&gt;
              &lt;li&gt;Tradeoff on how much config needs tweaking: So in case someone has to change configurations, they need not change at multiple places.
                &lt;ol&gt;
                  &lt;li&gt;In my case eg: any file path reading or related values like excel file path or input file path are all related to code home folder.&lt;/li&gt;
                  &lt;li&gt;TIP: Create folder structure for input, output, models, config, logs, src separately so it is easy to manage it configurations.&lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Share the codebase
    &lt;ul&gt;
      &lt;li&gt;.pyc files -&amp;gt; to deploy code, I generated the compiled files. So original code isnt available for anyone to read and tweak [ Unless you are contributing to open source]&lt;/li&gt;
      &lt;li&gt;Zip the code or create exe using pyinstaller -&amp;gt; I chose the former&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Share the instructions for remote engineer to run your code
    &lt;ul&gt;
      &lt;li&gt;TIP 1: Assume the remote person has very less tech knowledge. So your instructions should be very lucid and easy to follow&lt;/li&gt;
      &lt;li&gt;TIP 2: Before running on client machine, replicate the same environment as far as possible and run the code.
        &lt;ol&gt;
          &lt;li&gt;In my case eg: I replicated a conda environment. Provide an estimated time so remote person can understand how much time to wait and not think that installation isnt working.&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;TIP 3: Create a good instructions file with screenshots for installations.&lt;/li&gt;
      &lt;li&gt;TIP 4: Provide a good README file or API list with definitions eg:Swagger API for python&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Compliance check for using Open source libraries on client environment
    &lt;ul&gt;
      &lt;li&gt;TIP 5: Always check BSD / Apache / MIT etc license is agreeable for installing in client environment for commercial purpose or otherwise.
        &lt;ol&gt;
          &lt;li&gt;It is also great to read about static and dynamic linking of libraries if you are interested to know more in depth. It will save time in license approvals.&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Disclaimer: All the above are from a very specific project that I learnt. Hope this is helpful for others and hence shared here. Would be very happy to receive feedback / suggestions / alternative better ways.&lt;/p&gt;

&lt;p&gt;Happy Remote troubleshooting!&lt;/p&gt;

</description>
        <pubDate>Fri, 21 Aug 2020 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//remote-NLP-python-troubleshooting</link>
        <guid isPermaLink="true">https://kavlata.github.io//remote-NLP-python-troubleshooting</guid>
        
        
      </item>
    
      <item>
        <title>Semantic Search</title>
        <description>&lt;h2 id=&quot;interesting-problems&quot;&gt;Interesting problems&lt;/h2&gt;
&lt;h6 id=&quot;semantic-search-in-unstructured-documents&quot;&gt;Semantic Search in Unstructured documents&lt;/h6&gt;

&lt;ol&gt;
  &lt;li&gt;Important KEYWORD EXTRACTOR
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/ibatra/BERT-Keyword-Extractor&quot;&gt;Extractor-Github-link&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/ibatra/BERT-Keyword-Extractor/blob/master/BERT-Keyword%20Extractor.ipynb&quot;&gt;Extractor-Github-link&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/LIAAD/yake&quot;&gt;Unsupervised Approach for Automatic Keyword Extraction using Text Features.&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://yake.inesctec.pt/&quot;&gt;YAKE&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/swlh/a-machine-learning-model-to-understand-fancy-abbreviations-trained-on-tolkien-36601b73ecbb&quot;&gt;Abbreviations expansion&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Building dictionary / vocabulary
    &lt;ul&gt;
      &lt;li&gt;single words&lt;br /&gt;
    1. &lt;a href=&quot;https://radimrehurek.com/gensim/auto_examples/tutorials/run_word2vec.html#sphx-glr-auto-examples-tutorials-run-word2vec-py&quot;&gt;Using our custom built word2vec using GENSIM + Spacy&lt;/a&gt;
    1. &lt;a href=&quot;https://spacy.io/usage/vectors-similarity&quot;&gt;spacy vector similarity&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;learn phrases
    1. &lt;a href=&quot;https://towardsdatascience.com/word2vec-for-phrases-learning-embeddings-for-more-than-one-word-727b6cf723cf&quot;&gt;link-1&lt;/a&gt;
    1. &lt;a href=&quot;http://kavita-ganesan.com/how-to-incorporate-phrases-into-word2vec-a-text-mining-approach/relatedposts_hit=1&amp;amp;relatedposts_origin=1229&amp;amp;relatedposts_position=2#.XuDIuvkzY2x&quot;&gt;link-2&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nbviewer.jupyter.org/github/amaiya/ktrain/blob/master/tutorials/tutorial-06-sequence-tagging.ipynb&quot;&gt;Policy Number Extraction using BiLSTM-CRF&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://tomassetti.me/creating-a-reverse-dictionary/&quot;&gt;Providing reverse dictionary&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/gabriele-tomassetti/reverse-dictionary&quot;&gt;Github-link&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Semantic Search
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://medium.com/@evergreenllc2020/semantic-search-engine-with-s-abbfb3cd9377&quot;&gt;using BERT&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/quick-semantic-search-using-siamese-bert-networks-1052e7b4df1&quot;&gt;Simaese BERT for Search&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/narasimha1997/faster-semantic-search-using-faiss/output&quot;&gt;Semantic Search using FAISS- Facebook Index &lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://medium.com/analytics-vidhya/building-a-simple-stack-overflow-search-engine-to-predict-posts-related-to-given-query-post-56b3e508520c&quot;&gt;Semantic Search using embeddings&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Text generation for suggesting keyword queries&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/gsi-technology/integrating-textual-and-visual-information-into-a-powerful-visual-search-engine-c477486a18ff&quot;&gt;Visual search engine &lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;NBoost for elasticsearch
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/koursaros-ai/nboost&quot;&gt;Link-1&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://medium.com/koursaros-ai/boost-search-api-performance-e-g-410868e82b22&quot;&gt;Link-2&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/how-we-built-an-ai-powered-search-engine-without-being-google-5ad93e5a8591&quot;&gt;Link-3&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;links-that-were-useful-while-working-on-semantic-search&quot;&gt;Links that were useful while working on Semantic Search&lt;/h2&gt;

&lt;p&gt;Here are some of the links that might be useful for semantic search engine related work.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Fuzzy query on elasticsearch
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html&quot;&gt;query&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Synonym query elasticsearch
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.elastic.co/blog/boosting-the-power-of-elasticsearch-with-synonyms&quot;&gt;query&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Semantic search using BERT
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://medium.com/@evergreenllc2020/semantic-search-engine-with-s-abbfb3cd9377&quot;&gt;BERT&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/quick-semantic-search-using-siamese-bert-networks-1052e7b4df1&quot;&gt;Siamese-Bert-Networks&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Semantic Search using embeddings
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://medium.com/analytics-vidhya/building-a-simple-stack-overflow-search-engine-to-predict-posts-related-to-given-query-post-56b3e508520c&quot;&gt;Simple stackoverflow Search Engine&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Use embeddings with the Elastic index
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.elastic.co/blog/text-similarity-search-with-vectors-in-elasticsearch&quot;&gt;Text Similarity with Vectors in Elastic&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Use Doc2Vec to find similar documents
    &lt;ul&gt;
      &lt;li&gt;https://stackoverflow.com/questions/42781292/doc2vec-get-most-similar-documents&lt;/li&gt;
      &lt;li&gt;https://kanoki.org/2019/03/07/sentence-similarity-in-python-using-doc2vec/&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;People I follow for this topic
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://madewithml.com/projects/2025/haystack-neural-question-answering-at-scale/&quot;&gt;Goku Mohandas&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.pratik.ai/&quot;&gt;Pratik Bhavsar&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Fri, 03 Jul 2020 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//semantic-search</link>
        <guid isPermaLink="true">https://kavlata.github.io//semantic-search</guid>
        
        
      </item>
    
      <item>
        <title>Wair</title>
        <description>&lt;h2 id=&quot;what-am-i-reading--today&quot;&gt;What Am I Reading .. Today&lt;/h2&gt;

&lt;h3 id=&quot;3rd-march&quot;&gt;3rd March&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://www.academia.edu/35854753/Neural_Network_Methods_for_Natural_Language_Processing&quot;&gt;Neural Network Methods for Natural Language Processing by Yoav Goldberg&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;learning&quot;&gt;Learning&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://nptel.ac.in/content/storage2/nptel_data3/html/mhrd/ict/text/106105152/lec3.pdf&quot;&gt;Beautiful explanation by Sudeshna Sarkar mam IIT KGP&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Hypothesis space&lt;/li&gt;
  &lt;li&gt;Inductive Bias
    &lt;ol&gt;
      &lt;li&gt;Restriction&lt;/li&gt;
      &lt;li&gt;Preference&lt;/li&gt;
      &lt;li&gt;Example - Occam’s Razor - Simplest consistent hypothesis about target function is always the best&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Generalization Error
    &lt;ol&gt;
      &lt;li&gt;Bias - errors due to incorrect assumptions or restriction on hypothesis space&lt;/li&gt;
      &lt;li&gt;Variance - model that you estimate from different training sets will differ from each other&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Highlight
    &lt;ol&gt;
      &lt;li&gt;Learning is refining the hypothesis space&lt;/li&gt;
      &lt;li&gt;In a particular learning problem, you first defined the hypothesis space that is the class of function that you are going to consider then given the data points, you try to 
 come up with the best hypothesis given the data that you have.&lt;/li&gt;
      &lt;li&gt;To Describe a Function, we have to decide the
        &lt;ol&gt;
          &lt;li&gt;features of the vocabulary&lt;/li&gt;
          &lt;li&gt;function class or  type of function or  language of the function&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Tue, 03 Mar 2020 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//wair</link>
        <guid isPermaLink="true">https://kavlata.github.io//wair</guid>
        
        
      </item>
    
      <item>
        <title>Leetcode 1011</title>
        <description>&lt;ol&gt;
  &lt;li&gt;Capacity To Ship Packages Within D Days&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A conveyor belt has packages that must be shipped from one port to another within D days.&lt;/p&gt;

&lt;p&gt;The i-th package on the conveyor belt has a weight of weights[i].  Each day, we load the ship with packages on the conveyor belt (in the order given by weights). We may not load more weight than the maximum weight capacity of the ship.&lt;/p&gt;

&lt;p&gt;Return the least weight capacity of the ship that will result in all the packages on the conveyor belt being shipped within D days.&lt;/p&gt;

&lt;p&gt;Example 1:&lt;/p&gt;

&lt;p&gt;Input: weights = [1,2,3,4,5,6,7,8,9,10], D = 5
Output: 15
Explanation: 
A ship capacity of 15 is the minimum to ship all the packages in 5 days like this:
1st day: 1, 2, 3, 4, 5
2nd day: 6, 7
3rd day: 8
4th day: 9
5th day: 10&lt;/p&gt;

&lt;p&gt;Note that the cargo must be shipped in the order given, so using a ship of capacity 14 and splitting the packages into parts like (2, 3, 4, 5), (1, 6, 7), (8), (9), (10) is not allowed. 
Example 2:&lt;/p&gt;

&lt;p&gt;Input: weights = [3,2,2,4,1,4], D = 3
Output: 6
Explanation: 
A ship capacity of 6 is the minimum to ship all the packages in 3 days like this:
1st day: 3, 2
2nd day: 2, 4
3rd day: 1, 4
Example 3:&lt;/p&gt;

&lt;p&gt;Input: weights = [1,2,3,1,1], D = 4
Output: 3
Explanation: 
1st day: 1
2nd day: 2
3rd day: 3
4th day: 1, 1&lt;/p&gt;

&lt;p&gt;Note:&lt;/p&gt;

&lt;p&gt;1 &amp;lt;= D &amp;lt;= weights.length &amp;lt;= 50000
1 &amp;lt;= weights[i] &amp;lt;= 500&lt;/p&gt;

&lt;p&gt;My pointers to remember:&lt;/p&gt;

&lt;p&gt;1011:&lt;/p&gt;

&lt;p&gt;We dont know the max weight&lt;/p&gt;

&lt;p&gt;if we have to ship everything in one day (D=1), then we will be able to send at minimum sum(weights[i]) = 16
or if we send each item in weights then it will take len(weights) = D = 6
in which case the minimum capacity will be max(weights[i]) = 4 { Because if we have ship capacity less than max(weights), 
we wont be able to ship that weight )&lt;/p&gt;

&lt;p&gt;So indirectly this gives us the range of ship capacity being 4 to 16 where D ranges from 6 to 1
But we have D given as input ie D=3 and the order of weights is to be maintained while filling up.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;This clearly shows that we can use binary search to find the capacity of the ship&lt;/li&gt;
  &lt;li&gt;We also need to partition the array in such a way that D=3 is maintained&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/discuss/256737/C++-Binary-Search/267064&lt;/p&gt;

&lt;p&gt;So binary search + partition&lt;/p&gt;

&lt;p&gt;Final Solution:
https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/discuss/256765/Python-Binary-search-with-detailed-explanation&lt;/p&gt;

&lt;p&gt;To get to exactly D days and minimize the max sum of any partition, we do binary search in the sum space which is bounded by [max(a), sum(a)]&lt;/p&gt;

&lt;p&gt;https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/discuss/256729/JavaC++Python-Binary-Search/249951&lt;/p&gt;

&lt;p&gt;Time complexity: 
O(n * logSIZE), where SIZE is the size of the search space (sum of weights - max weight).
Space complexity:
O(1)&lt;/p&gt;

&lt;p&gt;Related questions:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;K-diff Pairs in an Array&lt;/li&gt;
  &lt;li&gt;Valid Perfect Square&lt;/li&gt;
  &lt;li&gt;Kth Smallest Number in Multiplication Table&lt;/li&gt;
  &lt;li&gt;Koko Eating Bananas&lt;/li&gt;
  &lt;li&gt;Ugly Number III&lt;/li&gt;
  &lt;li&gt;Divide Chocolate&lt;/li&gt;
  &lt;li&gt;Find the Smallest Divisor Given a Threshold&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tutorial TopCoder:
https://www.topcoder.com/community/competitive-programming/tutorials/binary-search&lt;/p&gt;

</description>
        <pubDate>Sat, 04 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//leetcode-1011</link>
        <guid isPermaLink="true">https://kavlata.github.io//leetcode-1011</guid>
        
        
      </item>
    
      <item>
        <title>My NLP Curriculum</title>
        <description>&lt;p&gt;Data Science, Machine Learning, Deep Learning are the new buzz words recently.&lt;/p&gt;

&lt;p&gt;There are lot of MOOCs and online courses / certifications available for these topics as well. I have always worked on Text and wanted to 
enroll in such course with Natural Language Processing in focus. Having gone through the syllabus and contens of few courses online, I felt
the need to create a curriculum of my own. This is because the online material available is all disperse and I ended up going away from
the course to gather my knowledge. So this is my attempt in educating / updating my NLP knowledge. Feel free to use this and modify it to 
your needs.&lt;/p&gt;

&lt;p&gt;Major Topics that I need to work on:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Programming - Python, PyTorch&lt;/li&gt;
  &lt;li&gt;Math - Linear Algebra, Probability, Statistics&lt;/li&gt;
  &lt;li&gt;NLP - Linguistics, Statistical NLP, Deep NLP&lt;/li&gt;
  &lt;li&gt;Data Science - Pandas&lt;/li&gt;
  &lt;li&gt;MOOC - Andrew Ng, Stanford NLP, Oxford Deep Mind Lectures, EdX, Fast.ai
Reference - Jason Brownlee, Dan Jurafsky Speech &amp;amp; Language Processing book, Cracking the coding interview&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I am going to give myself about 8 months to finish my own curriculum and the test is I come up with my own Project implementation of 
something interesting in NLP using Deep learning (more like a thesis if possible). I will grade myself and I must say I am my worst critic.
So trust me, this is a difficult assignment!&lt;/p&gt;

&lt;p&gt;I will be updating this list as and when I find something new to add to the list.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Python:
    &lt;ol&gt;
      &lt;li&gt;Generators&lt;/li&gt;
      &lt;li&gt;Vectorization&lt;/li&gt;
      &lt;li&gt;Data Structures
        &lt;ol&gt;
          &lt;li&gt;Numpy structures and their implementation&lt;/li&gt;
          &lt;li&gt;Scikit Learn structures and their implementation&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Algorithms
        &lt;ol&gt;
          &lt;li&gt;Indexing and searching in dictionary in python&lt;/li&gt;
          &lt;li&gt;Interview cake implementation for best time and space complexity&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Matrix assignment&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Linear Algebra:
    &lt;ol&gt;
      &lt;li&gt;Matrix Vectors&lt;/li&gt;
      &lt;li&gt;Tensors&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Probability:
    &lt;ol&gt;
      &lt;li&gt;Conditional Probability - Heads Tails - Questions for interviews&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Statistics:
    &lt;ol&gt;
      &lt;li&gt;Definitions, Metrics&lt;/li&gt;
      &lt;li&gt;correlation&lt;/li&gt;
      &lt;li&gt;Distributions&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Statistical NLP:
    &lt;ol&gt;
      &lt;li&gt;Vectorizer / Transformer - Scikit Learn&lt;/li&gt;
      &lt;li&gt;HMM&lt;/li&gt;
      &lt;li&gt;CRF&lt;/li&gt;
      &lt;li&gt;Topic Modelling - LDA&lt;/li&gt;
      &lt;li&gt;Sequence labelling&lt;/li&gt;
      &lt;li&gt;Feature selection&lt;/li&gt;
      &lt;li&gt;Dimensionality reduction - PCA, ICA&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Deep NLP:
    &lt;ol&gt;
      &lt;li&gt;Word2vec - CBOW/ Skip gram&lt;/li&gt;
      &lt;li&gt;Representation Learning&lt;/li&gt;
      &lt;li&gt;CNN for text&lt;/li&gt;
      &lt;li&gt;RNN for text&lt;/li&gt;
      &lt;li&gt;Attention model for text&lt;/li&gt;
      &lt;li&gt;Pytorch for text&lt;/li&gt;
      &lt;li&gt;BERT / Transformers - hugging face&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Linguistics:
    &lt;ol&gt;
      &lt;li&gt;Discourse Segmentation&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Pandas:
    &lt;ol&gt;
      &lt;li&gt;Dataframe manipulations&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;MOOC:
    &lt;ol&gt;
      &lt;li&gt;Andrew Ng - CNN&lt;/li&gt;
      &lt;li&gt;Stanford NLP - Richard Socher&lt;/li&gt;
      &lt;li&gt;Oxford&lt;/li&gt;
      &lt;li&gt;Fast.ai - Rachel Thomas&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ol&gt;

</description>
        <pubDate>Mon, 06 May 2019 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//my-own-curriculum</link>
        <guid isPermaLink="true">https://kavlata.github.io//my-own-curriculum</guid>
        
        
      </item>
    
      <item>
        <title>Foundations Of Statistical Nlp</title>
        <description>&lt;h2 id=&quot;notes-from-the-book-foundations-of-statistical-natural-language-processing-by-manning-and-schutze&quot;&gt;Notes from the book “Foundations of Statistical Natural Language Processing” By Manning and Schutze&lt;/h2&gt;

&lt;p&gt;I thought of sharing my notes from this classical book of NLP. I really enjoy the examples, quotes and narration used in this book.
It takes you through the absolute basics of probability and linguistics, before entering into complex modelling for language.&lt;/p&gt;

&lt;h3 id=&quot;preliminaries&quot;&gt;Preliminaries&lt;/h3&gt;
&lt;ol&gt;
  &lt;li&gt;Questions relevant to Linguistics
    &lt;ul&gt;
      &lt;li&gt;What kind of things do people say?&lt;/li&gt;
      &lt;li&gt;What do these things say/ask/request about world?&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Lexical resources
    &lt;ul&gt;
      &lt;li&gt;Brown Corpus (American English)&lt;/li&gt;
      &lt;li&gt;Lancaster Oslo Bergen (British English)&lt;/li&gt;
      &lt;li&gt;Susanne Corpus (130000 subset of Brown)&lt;/li&gt;
      &lt;li&gt;Penn Treebank (Wall Street Journal articles)&lt;/li&gt;
      &lt;li&gt;Canadian Hansards (Canadian Parliament Proceedings - Bilingual Corpus)&lt;/li&gt;
      &lt;li&gt;Wordnet ( Dictionary, Hierarchy of synset of words, meronymy- part:whole relations)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Zipf law ( Principle of least effort )
    &lt;ul&gt;
      &lt;li&gt;f.r=k { f: frequency, r: rank (position in list), k:constant}&lt;/li&gt;
      &lt;li&gt;Number of meanings of word  m \alpha \sqrt{f}&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Collocation
    &lt;ul&gt;
      &lt;li&gt;Phrasal verbs, compound nouns, idioms&lt;/li&gt;
      &lt;li&gt;frequent bigrams + particular pos pattern ( this has noise like “next year”)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Concordance
    &lt;ul&gt;
      &lt;li&gt;KWIC - Keyword in Context&lt;/li&gt;
      &lt;li&gt;Verb frames&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Fri, 21 Sep 2018 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//foundations-of-statistical-NLP</link>
        <guid isPermaLink="true">https://kavlata.github.io//foundations-of-statistical-NLP</guid>
        
        
      </item>
    
      <item>
        <title>Wair</title>
        <description>&lt;h2 id=&quot;what-am-i-reading--today&quot;&gt;What Am I Reading .. Today&lt;/h2&gt;

&lt;h3 id=&quot;20th-september&quot;&gt;20th September&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/getting-started-with-reading-deep-learning-research-papers-the-why-and-the-how-dfd1ac15dbc0&quot;&gt;An beginners article on how to read research papers and to follow the topic in general.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Couple of takeaways from this article were&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.arxiv-sanity.com&quot;&gt;Arxiv Sanity&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/MachineLearning/comments/807ex4/d_machine_learning_wayr_what_are_you_reading_week/&quot;&gt;Thread on subReddit. This was my source of inspiration for today’s blog&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;last-week&quot;&gt;Last week&lt;/h3&gt;
&lt;p&gt;I wanted to try some of the resources mentioned in &lt;a href=&quot;https://www.kdnuggets.com/2018/02/5-fantastic-practical-natural-language-processing-resources.html&quot;&gt;this article from kdnuggets&lt;/a&gt;
I must say the videos from Dr.Jon Krohn were absolutely wonderful.&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;They start with basic details without the need for a lot of pre-requisites.&lt;/li&gt;
  &lt;li&gt;The transition through 3 part videos series is very fluid. Deep learning to Natural language processing and 
then to the more sophisticated GANs and Re-inforcement Learning. 
If you can’t access the videos, then jupyter notebook compilations are very useful as well. 
I am eagerly awaiting his book which is going to come out in December this year.&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate>
        <link>https://kavlata.github.io//wair</link>
        <guid isPermaLink="true">https://kavlata.github.io//wair</guid>
        
        
      </item>
    
  </channel>
</rss>
