--- tags: NLP, natural language processing, machine learning, deep learning, neural networks --- # Intro to Natural Language Processing (under construction ... see also [Controlled Natural Language](https://hackmd.io/@alexhkurz/ryJmdyP6_), [Attempto](https://hackmd.io/@alexhkurz/S1aIoprpO), [Semantic Parsing](https://hackmd.io/@alexhkurz/rk8spB9hu), [Transformers](https://hackmd.io/@alexhkurz/SJs_B0tlF)) ## References - Lectures and Courses on NLP - Stanford [Natural Language Processing with Deep Learning](http://web.stanford.edu/class/cs224n/). Archived [2019 Version](https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/). - Books on NLP - Bird, Klein, and Loper: [Natural Language Processing with Python](https://www.nltk.org/book), 2019. - Jurafsky, Martin: [Speech and Language Processing](https://web.stanford.edu/~jurafsky/slp3/) - Eisenstein: [Natural Language Processing](https://github.com/jacobeisenstein/gt-nlp-class/blob/master/notes/eisenstein-nlp-notes.pdf) - Ch.6: [Video by Noah Smith](https://drive.google.com/file/d/1cK43rSzH491oI9NIrLlDAeP8P2F7LXTJ/view) - Ch.18: Machine Translation. - Deep Learning - Goodfellow, Bengio, Courville: [Deep Learning](https://www.deeplearningbook.org/). - Michael Nielsen: [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com/) - [Geometric Deep Learning](https://geometricdeeplearning.com) - [Dive into Deep Learning](https://d2l.ai/), (Chapter 14,15) - Google, Machine Learning Foundations (with Python notebooks). - [Ep #8 - Tokenization for Natural Language Processing](https://www.youtube.com/watch?v=f5YJA5mQD5c) - [Ep #9 - Using the Sequencing APIs](https://www.youtube.com/watch?v=L3suP4g8p7U) - [Ep #10 - Using NLP to build a sarcasm classifier](https://www.youtube.com/watch?v=-8XmD2zsFBI) - [https://copilot.github.com/](https://copilot.github.com/) ## Further Articles [Neural Machine Translation: A Review and Survey](https://arxiv.org/pdf/1912.02047.pdf), 2020. [Universal Dependencies: A cross-linguistic typology](https://nlp.stanford.edu/~manning/papers/USD_LREC14_UD_revision.pdf) [Globally Normalized Transition-Based Neural Networks](https://arxiv.org/pdf/1603.06042.pdf) [Anaphora and Coreference Resolution: A Review](https://arxiv.org/pdf/1805.11824.pdf) [Stanford Log-linear Part-Of-Speech Tagger](https://nlp.stanford.edu/software/tagger.shtml) [Watson and Question Answering](https://researcher.watson.ibm.com/researcher/files/us-mike.barborak/WatsonInAIMagReprint.pdf) ... [DeepQA](https://researcher.watson.ibm.com/researcher/view_group_pubs.php?grp=2099&t=1) ... [AllenNLP]() ... [Semantic Parsing](https://guide.allennlp.org/semantic-parsing-seq2seq#1) ... Learning Context-Free Grammars: [Wikipedia](https://en.wikipedia.org/wiki/Grammar_induction) [Yes you should understand backprop](https://karpathy.medium.com/yes-you-should-understand-backprop-e2f06eab496b) [`npm install compromise`](https://github.com/spencermountain/compromise/) ## Digressions What is a language? There is a language in the real world. There is language as a probability distribution. And there is langauge as given by data. So we need to think about at least three different notions. [^ontology] [^ontology]: There is a metaphysical problem here. Are the languages in the real world real? Does English exist? Or is "English" just a name without a precise meaning that we use to communicate a variety of vage phenomena? Certainly we are confident that we understand sentences such as "I translated this text from English to German." But that does not mean that I can give a definition of "English", that I can answer the question: What is English?