# Natural Language Processing

- Institution: IIT Kharagpur
- Department: Computer Science and Engineering
- Teacher: Prof. Pawan Goyal
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106105158)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106105158)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

This course starts with the basics of text processing including basic pre-processing, spelling correction, language modeling, Part-of-Speech tagging, Constituency and Dependency Parsing, Lexical Semantics, distributional Semantics and topic models. Finally, the course also covers some of the most interesting applications of text mining such as entity linking, relation extraction, text summarization, text classification, sentiment analysis and opinion mining.

Prerequisites: Basic knowledge of probabilities for the lectures and python for programming assignment

## Lectures

1. [Lecture 1 : Introduction to the Course](https://invisiblenetwork.ai/learn/nptel/106105158/f1672ef1b514) (YouTube)
2. [Lecture 2 : What Do We Do in NLP](https://invisiblenetwork.ai/learn/nptel/106105158/dcc2289eb749) (YouTube)
3. [Lecture 3: Why is NLP hard](https://invisiblenetwork.ai/learn/nptel/106105158/80190b1088a3) (YouTube)
4. [Lecture 4: Empirical Laws](https://invisiblenetwork.ai/learn/nptel/106105158/fdb76c9c5569) (YouTube)
5. [Lecture 5: Text Processing: Basics](https://invisiblenetwork.ai/learn/nptel/106105158/64d9040f1d0d) (YouTube)
6. [Lecture 6: Spelling Correction: Edit Distance](https://invisiblenetwork.ai/learn/nptel/106105158/1c71630e8bcf) (YouTube)
7. [Lecture 7: Weighted Edit Distance, Other Variations](https://invisiblenetwork.ai/learn/nptel/106105158/9b2e26ba96d4) (YouTube)
8. [Lecture 8: Noisy Channel Model for Spelling Correction](https://invisiblenetwork.ai/learn/nptel/106105158/9a3bfd22d0cd) (YouTube)
9. [Lecture 9: N-Gram Language Models](https://invisiblenetwork.ai/learn/nptel/106105158/7e696168e3cb) (YouTube)
10. [Lecture 10: Evaluation of Language Models, Basic Smoothing](https://invisiblenetwork.ai/learn/nptel/106105158/021500846f99) (YouTube)
11. [Tutorial I](https://invisiblenetwork.ai/learn/nptel/106105158/da8a9f0c6d74) (YouTube)
12. [Lecture 11: Language Modeling: Advance Smoothing Models](https://invisiblenetwork.ai/learn/nptel/106105158/27ce29454b20) (YouTube)
13. [Lecture 12: Computational Morphology](https://invisiblenetwork.ai/learn/nptel/106105158/c33ff1bc73d9) (YouTube)
14. [Lecture 13: Finite - State Methods for Morphology](https://invisiblenetwork.ai/learn/nptel/106105158/f2b998275081) (YouTube)
15. [Lecture 14: Introduction to POS Tagging](https://invisiblenetwork.ai/learn/nptel/106105158/96955c33a0d3) (YouTube)
16. [Lecture 15: Hidden Markov Models for POS Tagging](https://invisiblenetwork.ai/learn/nptel/106105158/51ac03504ce7) (YouTube)
17. [Lecture 16: Viterbi Decoding for HMM, Parameter Learning](https://invisiblenetwork.ai/learn/nptel/106105158/2be5a7791708) (YouTube)
18. [Lecture 17 : Baum Welch Algorithm](https://invisiblenetwork.ai/learn/nptel/106105158/10427f61c633) (YouTube)
19. [Lecture 18 : Maximum Entropy Models - I](https://invisiblenetwork.ai/learn/nptel/106105158/7f6c7453174a) (YouTube)
20. [Lecture 19 : Maximum Entropy Models - II](https://invisiblenetwork.ai/learn/nptel/106105158/4f28febc5b4b) (YouTube)
21. [Lecture 20: Conditional Random Fields](https://invisiblenetwork.ai/learn/nptel/106105158/b1cd418cfc56) (YouTube)
22. [Lecture 21: Syntax - Introduction](https://invisiblenetwork.ai/learn/nptel/106105158/01f0d7327869) (YouTube)
23. [Lecture 22: Syntax - Parsing I](https://invisiblenetwork.ai/learn/nptel/106105158/2d110a19d2df) (YouTube)
24. [Lecture 23: Syntax - CKY, PCFGs](https://invisiblenetwork.ai/learn/nptel/106105158/c4e53d02e28a) (YouTube)
25. [Lecture 24: PCFGs - Inside-Outside Probabilities](https://invisiblenetwork.ai/learn/nptel/106105158/ad83fc8d90d1) (YouTube)
26. [Lecture 25: Inside-Outside Probabilities](https://invisiblenetwork.ai/learn/nptel/106105158/5f1aff361343) (YouTube)
27. [Lecture 26 : Dependency Grammars and Parsing - Introduction](https://invisiblenetwork.ai/learn/nptel/106105158/b05075438549) (YouTube)
28. [Lecture 27 : Transition Based Parsing : Formulation](https://invisiblenetwork.ai/learn/nptel/106105158/2f55348f1d59) (YouTube)
29. [Lecture 28 : Transition Based Parsing : Learning](https://invisiblenetwork.ai/learn/nptel/106105158/824c7234145a) (YouTube)
30. [Lecture 29 : MST-Based Dependency Parsing](https://invisiblenetwork.ai/learn/nptel/106105158/a0256c61f0b5) (YouTube)
31. [Lecture 30 : MST-Based Dependency Parsing : Learning](https://invisiblenetwork.ai/learn/nptel/106105158/f30b57928097) (YouTube)
32. [Lecture 31 : Distributional Semantics - Introduction](https://invisiblenetwork.ai/learn/nptel/106105158/44bd3d112425) (YouTube)
33. [Lecture 32 : Distributional Models of Semantics](https://invisiblenetwork.ai/learn/nptel/106105158/bbe87a173758) (YouTube)
34. [Lecture 33 : Distributional Semantics : Applications, Structured Models](https://invisiblenetwork.ai/learn/nptel/106105158/48166dc52b56) (YouTube)
35. [Lecture 34 : Word Embeddings - Part I](https://invisiblenetwork.ai/learn/nptel/106105158/f1e82cd3755a) (YouTube)
36. [Lecture 35 : Word Embeddings - Part II](https://invisiblenetwork.ai/learn/nptel/106105158/a80afb688299) (YouTube)
37. [Lecture 36 : Lexical Semantics](https://invisiblenetwork.ai/learn/nptel/106105158/fe9ad6ebadd6) (YouTube)
38. [Lecture 37 : Lexical Semantics - Wordnet](https://invisiblenetwork.ai/learn/nptel/106105158/03f437e7db5e) (YouTube)
39. [Lecture 38 : Word Sense Disambiguation - I](https://invisiblenetwork.ai/learn/nptel/106105158/7198833951b7) (YouTube)
40. [Lecture 39 : Word Sense Disambiguation - II](https://invisiblenetwork.ai/learn/nptel/106105158/ba80d6004565) (YouTube)
41. [Lecture 40 : Novel Word Sense detection](https://invisiblenetwork.ai/learn/nptel/106105158/35e7e2e56002) (YouTube)
42. [Lecture 41 : Topic Models : Introduction](https://invisiblenetwork.ai/learn/nptel/106105158/f69232812550) (YouTube)
43. [Lecture 42 : Latent Dirichlet Allocation : Formulation](https://invisiblenetwork.ai/learn/nptel/106105158/744ff553d824) (YouTube)
44. [Lecture 43 : Gibbs Sampling for LDA, Applications](https://invisiblenetwork.ai/learn/nptel/106105158/0e339616e747) (YouTube)
45. [Lecture 44 : LDA Variants and Applications - I](https://invisiblenetwork.ai/learn/nptel/106105158/6f6e14764391) (YouTube)
46. [Lecture 45 : LDA Variants and Applications - II](https://invisiblenetwork.ai/learn/nptel/106105158/b1b71e679d99) (YouTube)
47. [Lecture 46 : Entity Linking - I](https://invisiblenetwork.ai/learn/nptel/106105158/3c69fea9690e) (YouTube)
48. [Lecture 47 : Entity Linking - II](https://invisiblenetwork.ai/learn/nptel/106105158/d8cfc23c32a4) (YouTube)
49. [Lecture 48 : Information Extraction - Introduction](https://invisiblenetwork.ai/learn/nptel/106105158/106ef4d43a15) (YouTube)
50. [Lecture 49 : Relation Extraction](https://invisiblenetwork.ai/learn/nptel/106105158/62c54e88a304) (YouTube)
51. [Lecture 50 : Distant Supervision](https://invisiblenetwork.ai/learn/nptel/106105158/d33e6998180c) (YouTube)
52. [Lecture 51 : Text Summarization - LEXRANK](https://invisiblenetwork.ai/learn/nptel/106105158/168478bf44e1) (YouTube)
53. [Lecture 52 : Optimization Based Approaches for Summarization](https://invisiblenetwork.ai/learn/nptel/106105158/08ee594414fa) (YouTube)
54. [Lecture 53 : Summarization Evaluation](https://invisiblenetwork.ai/learn/nptel/106105158/2be7b3408861) (YouTube)
55. [Lecture 54 : Text Classification - I](https://invisiblenetwork.ai/learn/nptel/106105158/8c9bd958c2ef) (YouTube)
56. [Lecture 55 : Text Classification - II](https://invisiblenetwork.ai/learn/nptel/106105158/0a9e903e6f41) (YouTube)
57. [Tutorial II](https://invisiblenetwork.ai/learn/nptel/106105158/2308528b6904) (YouTube)
58. [Tutorial III](https://invisiblenetwork.ai/learn/nptel/106105158/63ff9b1cfb25) (YouTube)
59. [Tutorial IV](https://invisiblenetwork.ai/learn/nptel/106105158/bda078646dcd) (YouTube)
60. [Tutorial V](https://invisiblenetwork.ai/learn/nptel/106105158/4286efe16a9a) (YouTube)
61. [Lecture 56 : Sentiment Analysis - Introduction](https://invisiblenetwork.ai/learn/nptel/106105158/7273d6800f20) (YouTube)
62. [Lecture 57 : Sentiment Analysis - Affective Lexicons](https://invisiblenetwork.ai/learn/nptel/106105158/e94502ff37fc) (YouTube)
63. [Lecture 58 : Learning Affective Lexicons](https://invisiblenetwork.ai/learn/nptel/106105158/cc75a4b2ccdc) (YouTube)
64. [Lecture 59 : Computing with Affective Lexicons](https://invisiblenetwork.ai/learn/nptel/106105158/a594fa5c7a83) (YouTube)
65. [Lecture 60 : Aspect - Based Sentiment Analysis](https://invisiblenetwork.ai/learn/nptel/106105158/1596268757e3) (YouTube)
