A comprehensive academic resource for Natural Language Processing (NLP) and Computational Lab II (CL-II), covering text analysis, language modeling, sequence labeling, and parsing.
Overview · Contents · Reference Books · The Wall · Assignments · Laboratory · Internal Assessment Test · Semester Exam · Submission Report · Syllabus · Usage Guidelines · License · About · Acknowledgments
Natural Language Processing (DLO8012) and Computational Lab II (CSL804) are core subjects in the Final Year (Semester VIII) of the Computer Engineering curriculum at the University of Mumbai. These courses provide a foundation in the computational techniques used to analyze and represent human language.
The curriculum encompasses several key domains in Natural Language Processing (NLP):
- Foundations: Introduction to NLP, regular expressions, and word analysis.
- Word Level Analysis: Morphological analysis, stemming, and lemmatization.
- Language Modeling: N-grams, smoothing, and parameter estimation.
- Sequence Labeling: Part-of-Speech (POS) tagging and Hidden Markov Models (HMM).
- Syntax and Parsing: Context-Free Grammars (CFG) and parsing algorithms.
- Applications: Sentiment analysis, machine translation, and information retrieval.
This repository represents a curated collection of study materials, reference books, lab experiments, and personal preparation notes compiled during my academic journey. The primary motivation for creating and maintaining this archive is simple yet profound: to preserve knowledge for continuous learning and future reference.
As a computer engineer, understanding NLP is crucial for developing intelligent systems that can understand and generate human language. This repository serves as my intellectual reference point: a resource I can return to for relearning concepts, reviewing methodologies, and strengthening understanding when needed.
Why this repository exists:
- Knowledge Preservation: To maintain organized access to comprehensive study materials beyond the classroom.
- Continuous Learning: To support lifelong learning by enabling easy revisitation of NLP concepts.
- Academic Documentation: To authentically document my learning journey through Natural Language Processing and Computational Lab II.
- Community Contribution: To share these resources with students and learners who may benefit from them.
Note
All materials in this repository were created, compiled, and organized by me throughout my undergraduate program (2018-2022) as part of my coursework, laboratory assignments, and project implementations.
This collection includes comprehensive reference materials covering all major topics:
| # | Resource | Focus Area |
|---|---|---|
| 1 | Jurafsky & Martin | Speech and Language Processing (Standard Text) |
| 2 | NLP Techknowledge | Comprehensive TechKnowledge study material |
| 3 | NLP StarEdu | StarEdu publication notes |
| 4 | NLP Notes (Mohini Ma'am) | Handwritten class notes (Ch 1-5) |
| 5 | Module 1 Notes | Introduction and Word Analysis |
| 6 | Module 2 Notes | Word Level Analysis |
| 7 | NLP Chapter 1 | Introduction to NLP |
| 8 | NLP Chapter 2 | Word Level Analysis |
| 9 | NLP Chapter 3 | Language Modeling |
| 10 | NLP Theory | General theory notes |
| 11 | NLP 1 | Module 1 |
| 12 | NLP 2 | Module 2 |
| 13 | NLP 3 | Module 3 |
| 14 | NLP 4 | Module 4 |
| 15 | NLP 5 | Module 5 |
| 16 | NLP 6 | Module 6 |
| 17 | NLP Questions & Answers | Solved questions |
| 18 | Toppers Solution | University solved questions |
| 19 | Toppers MCQ Edition | MCQ preparation guide |
| 20 | MCQs Solution | Solved MCQs |
| 21 | Notes/1. Introduction to NLP | Chapter Note |
| 22 | Notes/2. Word level analysis | Chapter Note |
| 23 | Notes/3. Syntax analysis | Chapter Note |
| 24 | Notes/5. Pragmatics | Chapter Note |
| 25 | Notes/6. Applications | Chapter Note |
| 26 | NLP Book/Index | Book Index |
| 27 | NLP Book/1 | Book Module 1 |
| 28 | NLP Book/2 | Book Module 2 |
| 29 | NLP Book/3 | Book Module 3 |
| 30 | NLP Book/4 | Book Module 4 |
| 31 | NLP Book/5 | Book Module 5 |
| 32 | NLP Book/6 | Book Module 6 |
| 33 | Viva/1 | Viva Question Bank 1 (with Answers) |
| 34 | Viva/2 | Viva Question Bank 2 |
| 35 | Viva/3 | Viva Question Bank 3 |
| 36 | Viva/4 | Viva Question Bank 4 with Solutions |
| 37 | Viva/5 | Viva Questions Solution 2020 |
| 38 | PPT/NLP Lecture 1 | Lecture Slides |
| 39 | PPT/NLP Lecture 2 | Lecture Slides |
| 40 | PPT/NLP Lecture 3 | Lecture Slides |
| 41 | PPT/NLP Lecture 4 | Lecture Slides |
Collaborative Study Notes by Amey & Mega
![]() Amey Thakur |
![]() Mega Satish |
|---|
The Wall - Notes Authored by MEGA SATISH
Comprehensive module-wise notes curated by Mega Satish, covering all essential topics:
| Module | Resource | Topics Covered |
|---|---|---|
| 1 | NLP Module - 1 | Introduction and Word Analysis |
| 2 | NLP Module - 2 | Word Level Analysis |
| 3 | NLP Module - 3 | Parameter Estimation and Language Modeling |
| 4 | NLP Module - 4 | Sequence Labeling and POS Tagging |
| 5 | NLP Module - 5 | Parsing and Sentence Level Analysis |
| 6 | NLP Module - 6 | Applications and Case Studies |
Academic assignments for comprehensive learning and practice:
| # | Assignment | Description | Date | Marks |
|---|---|---|---|---|
| 1 | Assignment 1 | Generic NLP system, NLP processing steps, Ambiguity, Morphology, FST, Stemming & Lemmatization, RE, POS tagging, N-Gram | March 06, 2022 | 9/10 |
| 2 | Assignment 2 | CFG, HMM, Maximum Entropy, CRF, WordNet, WSD, Pragmatics, Machine Translation, Sentiment Analysis, NER | April 10, 2022 | 8/10 |
| 3 | Assignment 3 (Draft) | Semantic Processing, Graph Processing, Syntactic Processing, Morphological Processing, Lexical Processing | April 10, 2022 | 9/10 |
Topics Covered: Generic NLP System · Ambiguity · Morphology · Finite State Transducers (FST) · Stemming & Lemmatization · Part-of-Speech (POS) Tagging · N-Grams · Context-Free Grammars (CFG) · Hidden Markov Models (HMM) · WordNet · Word Sense Disambiguation (WSD) · Pragmatics · Machine Translation · Sentiment Analysis · Named Entity Recognition (NER) · Semantic Processing
The laboratory component (CSL804) focuses on implementing NLP algorithms and techniques using Python.
Tip
Virtual Lab: Natural Language Processing experiments can also be accessed through the IIIT Hyderabad Virtual Lab.
| # | Experiment | Date | Kaggle Notebooks | Report |
|---|---|---|---|---|
| 1 | Perform Word analysis and word generation to study morphology using Virtual Lab | January 19, 2022 | Word Analysis Word Generator |
View |
| 2 | Implement stemming and lemmatization operations for a corpus | January 31, 2022 | Stemming & Lemmatization | View |
| 3 | Perform and analyse an n-gram modelling for corpuses using Virtual Lab | February 07, 2022 | N-Gram Modelling | View |
| 4 | Perform and analyse smoothing operations for n-gram models using the virtual lab | February 14, 2022 | N-Gram Smoothing | View |
| 5 | Implement a bi-gram model for 3 sentences using python or NLTK | February 21, 2022 | Bi-gram | View |
| 6 | Perform and analyse POS Tagging - Hidden Markov Model using a virtual lab | February 28, 2022 | POS Tagging | View |
| 7 | Implement the Viterbi algorithm using python or NLTK | April 01, 2022 | Viterbi Algorithm | View |
| 8 | Implement morphological parser to accept and reject given string | April 01, 2022 | Morphological Parser | View |
| 9 | Perform and analyse chunking operations using the virtual lab | April 01, 2022 | Chunking | View |
| 10 | Case Study: Research Paper Analysis - Semantic Analysis of NLP | April 14, 2022 | Semantic Analysis | View |
Experiment 1: Word Analysis (2 Programs)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Word_Analysis.py |
Morphology | Word analysis script identifying root and grammatical features | View | View |
Word_Generator.py |
Morphology | Word generation script based on morphological features | View | View |
Experiment 2: Stemming & Lemmatization (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Stemming_Lemmatization.py |
Morphology | Porter stemmer and WordNet lemmatization | View | View |
Experiment 3: N-Gram Modelling (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
N_Gram_Modelling.py |
N-Grams | Bigram probability calculation for a corpus | View | View |
Experiment 4: Smoothing (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Smoothing.py |
N-Gran Smoothing | Unsmoothed, Add-One, and Add-Delta smoothing | View | View |
Experiment 5: Bi-gram Model (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Bi_Gram_Model.py |
N-Grams | Bi-gram language model implementation | View | View |
Experiment 6: POS Tagging (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
POS_Tagging.py |
POS Tagging | HMM Emission and Transition Probabilities | View | View |
Experiment 7: Viterbi Algorithm (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Viterbi_Algorithm.py |
Sequence Labeling | Optimal state sequence calculation | View | View |
Experiment 8: Morphological Parsing (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Morphological_Parser.py |
Morphology | Morphological parser implementation | View | View |
Experiment 9: Chunking (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Chunking.py |
Shallow Parsing | Noun Phrase (NP) chunking visualization | View | View |
Experiment 10: Semantic Analysis (1 Program)
| Program | Category | Description | Kaggle | Code |
|---|---|---|---|---|
Semantic_Analysis.py |
Semantic Analysis | Tokenization, NER, and Sentiment Analysis | View | View |
| # | Resource | Description |
|---|---|---|
| 1 | Lab README | Detailed navigation guide with program descriptions |
Internal assessment evaluations conducted during the course:
| # | Resource | Description |
|---|---|---|
| 1 | Question Paper | NLP Internal Assessment Test 1 Question Paper |
| # | Resource | Description |
|---|---|---|
| 1 | Question Paper | NLP Internal Assessment Test 2 Question Paper |
Additional Resources:
| # | Resource | Description |
|---|---|---|
| 1 | Module 1 Notes | Personal Exam Preparation Notes |
| 2 | Module 2 Notes | Personal Exam Preparation Notes |
| 3 | Module 3 Notes | Personal Exam Preparation Notes |
| 4 | Question Bank Handwritten | Handwritten preparation notes |
| 5 | Question Bank | Exam preparation notes by Mega |
| 6 | Important Questions | Key questions for IAT-2 |
Final semester examination submission:
| # | Resource | Description | Date |
|---|---|---|---|
| 1 | Question Paper | Official University Question Paper | May 26, 2022 |
Additional Resources:
| # | Resource | Description |
|---|---|---|
| 1 | Question Bank | Personal Exam Preparation Notes |
| 2 | MCQs | MCQ Question Bank with Answers |
| 3 | Timetable | Semester 8 examination schedule |
Course completion documentation with exit survey:
| # | Document | Description |
|---|---|---|
| 1 | Submission Report | Final coursework submission report |
| 2 | Exit Survey (Theory) | Course outcome survey for NLP Theory |
| 3 | Theory Submission Sheet | Theory coursework submission sheet |
| 4 | Semester Report | Collective Semester 8 submission report |
Official CBCGS Syllabus
Complete Final Year Computer Engineering syllabus document from the University of Mumbai, including detailed course outcomes, assessment criteria, and module specifications for Natural Language Processing and Computational Lab II.
Important
Always verify the latest syllabus details with the official University of Mumbai website, as curriculum updates may occur after this repository's archival date.
This repository is openly shared to support learning and knowledge exchange across the academic community.
For Students
Use these resources as reference materials for understanding NLP concepts, practicing lab experiments, and preparing for examinations. All content is organized for self-paced learning.
For Educators
These materials may serve as curriculum references, lab examples, or supplementary teaching resources. Attribution is appreciated when utilizing content.
For Researchers
The documentation and organization may provide insights into academic resource curation and educational content structuring.
This repository and all linked academic content are made available under the Creative Commons Attribution 4.0 International License (CC BY 4.0). See the LICENSE file for complete terms.
Note
Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original author.
Created & Maintained by: Amey Thakur
Academic Journey: Bachelor of Engineering in Computer Engineering (2018-2022)
Institution: Terna Engineering College, Navi Mumbai
University: University of Mumbai
This repository represents a comprehensive collection of study materials, reference books, assignments, and personal preparation notes curated during my academic journey. All content has been carefully organized and documented to serve as a valuable resource for students pursuing Natural Language Processing.
Connect: GitHub · LinkedIn · ORCID
Grateful acknowledgment to Mega Satish for her exceptional contribution to this repository through "The Wall" - comprehensive module-wise notes that became an invaluable resource for understanding complex Natural Language Processing concepts. Her constant support, patience, and clarity throughout this journey made a real difference. Learning alongside her was transformative, not only because she explained concepts so clearly, but because she truly cared about understanding them together. Her thoughtful approach to teaching, openness to discussion, and steady encouragement turned challenges into meaningful learning moments. This work reflects the growth that came from learning side by side. Thank you, Mega, for everything you shared and taught along the way.
Grateful acknowledgment to the faculty members of the Department of Computer Engineering at Terna Engineering College for their guidance and instruction in Natural Language Processing. Their expertise and support helped develop a strong understanding of computational linguistics and language modeling.
Special thanks to the mentors and peers whose encouragement, discussions, and support contributed meaningfully to this learning experience.
Overview · Contents · Reference Books · The Wall · Assignments · Laboratory · Internal Assessment Test · Semester Exam · Submission Report · Syllabus · Usage Guidelines · License · About · Acknowledgments
🔬 Computational Lab II · Kaggle Amey & Mega
Computer Engineering (B.E.) - University of Mumbai
Semester-wise curriculum, laboratories, projects, and academic notes.

