Skip to content

Repository files navigation

University of Mumbai

Natural Language Processing and Computational Lab II

DLO8012 & CSL804 · Semester VIII · Computer Engineering

License: CC BY 4.0 University Institution Curated by

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


Overview

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.

Course Topics

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.

Repository Purpose

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.


Repository Contents

Reference Books

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

The Wall

Collaborative Study Notes by Amey & Mega

Amey Thakur
Amey Thakur

ORCID
Mega Satish
Mega Satish

ORCID

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

Assignments

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


Computational Lab II

The laboratory component (CSL804) focuses on implementing NLP algorithms and techniques using Python.

Total Experiments Status Language

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

Program Details

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

Laboratory Documentation

# Resource Description
1 Lab README Detailed navigation guide with program descriptions

Internal Assessment Test

Internal assessment evaluations conducted during the course:

IAT - 1 · February 3, 2022

# Resource Description
1 Question Paper NLP Internal Assessment Test 1 Question Paper

IAT - 2 · March 19, 2022

# 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

Semester Exam

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

Submission Completion Report

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

Syllabus

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.


Usage Guidelines

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.


License

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.


About This Repository

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

Acknowledgments

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.



Computer Engineering (B.E.) - University of Mumbai

Semester-wise curriculum, laboratories, projects, and academic notes.