This repository contains practical lab work and reports for an NLP (Natural Language Processing) course, organized by modules. Each lab explores core NLP concepts using Python and Jupyter Notebooks and has a detailed report.
This repository also includes our book: NLP Is All You Need: The Ultimate NLP Guide, written by Nichita Bulgaru and Timur Jerčaks.
The book provides a practical and theory-backed overview of essential NLP techniques covered throughout this course — from classic methods to modern transformer-based systems.
lab1.ipynb: Completed solution.lab1_report_final.pdf: Final report submission for Lab 1.
lab2_group_52.ipynb: Completed notebook.lab2_report_group_52.pdf: Final report for Lab 2.
lab3_group_52.ipynb: Final notebook for Lab 3.NLP_2025_Lab_3_group_52.pdf: Final report for Lab 3.
Lab 4 Group 52.ipynb: Notebook with prompt engineering experiments (QWEN, BART, Gemma, Flan).
- Byte Pair Encoding (BPE) Tokenization
- Bag-of-Words (BOW) and TF-IDF for Information Retrieval, word embedings
- Transformer-based Models: BERT and Attention Mechanisms
- Prompt Engineering for Large Language Models (LLMs)
- All reports are provided in PDF format for each lab.
- Group 52 is the working team on this project.
- Python 3.x
- Jupyter Notebook or JupyterLab
- Libraries:
transformers,sklearn,nltk,pandas,numpy