Done by: MOHAMED AMINE FAKHRE-EDDINE
Supervised by: Pr. Lotfi EL AACHAK
This repository contains the labs I've done during my academic year in the Natural Language Processing course.
The first lab focused on the basics of NLP, including web scraping, data storing, cleaning, stemming, lemmatization, POS tagging and NER.
You can find the report here or in pdf format here.
Objective: The main purpose behind this lab is to get familiar with NLP Rule based, Regex and NLP Word embedding.
Work to do:
Part 1: Rule Based NLP and Regex: Using Regex, write a Python code that can generate a bill from a text given by the user.
Use case: "I bought three Samsung smartphones 150 $ each, four kilos of fresh banana for 1,2 dollar a kilogram and one Hamburger with 4,5 dollar".
Generated Bill:
Product | Quantity | Unit Price | Total Price |
---|---|---|---|
Samsung smartphone | 3 | 150.0 | 450.0 |
Banana | 4 | 1.2 | 3.2 |
Hamburger | 1 | 4.5 | 4.5 |
Part 2: Word Embedding:
- Apply one-hot encoding, bag of words, and TF-IDF techniques on the Data vectors collected during the lab 1.
- Apply one Word2Vec Approach (Skip Gram, CBOW) on the same DataSet.
- Apply Glove and FastText approaches on the same DataSet.
- Plot all the encoded/vectorized vectors using the Tsne Algorithm, evaluate those approaches, and give a general conclusion.
You can find the report here or in pdf format here.
Objective: The main purpose behind this lab is first to get familiar with using word embeddings with regression and classification models.
Work to do:
Part 1: Language Modeling - Regression: In this part of the lab, we learned about language modeling using regression, to predict the score of an answer for a specific question.
Part 2: Language Modeling - Classification: In this part of the lab, we learned about language modeling using classification, to predict the sentiment of a tweet.
You can find the report here or in pdf format here.
Objective: The main purpose behind this lab is to predict the relevance of a text to a specific topic, using a recurrent neural network, in addition to fine-tuning with a pre-trained language model.