This repository contains three sentiment classification models developed for the course Artificial Intelligence II β Deep Learning for NLP (Spring 2024β2025). The models classify English-language tweets into positive or negative sentiment using increasingly advanced techniques.
The code notebooks were developed and submitted in Kaggle under a competition format, while the accompanying reports were written in LaTeX using Overleaf.
AI-Sentiment-Analysis/
ββ Assignment1/ # TF-IDF + Logistic Regression
β ββ instructions.pdf
β ββ report.pdf
β ββ tfidf-notebook.ipynb
ββ Assignment2/ # Neural Network + Word2Vec
β ββ instructions.pdf
β ββ report.pdf
β ββ neural-networks-notebook.ipynb
ββ Assignment1/ # Fine-tuned Transformers (BERT & DistilBERT)
β ββ instructions.pdf
β ββ report.pdf
β ββ distilbert-notebook.ipynb
β ββ bert-notebook.ipynb
ββ README.md # Project overview and documentation
Reports within the assignments are documents that include details on data processing steps, such as preprocessing, analysis, and vectorization, followed by experiments, hyperparameter tuning, optimization techniques, and evaluation. Each report concludes with an overall analysis of the results and a summary of the best-performing trials, including a comparison with previous approaches (assignments).
Instructions refer to the official assignment guidelines provided for each task.
The .ipynb files are notebooks that include the code, experiments, and the process leading to the final selected model for each assignment.
A classical machine learning approach using TF-IDF vectorization and logistic regression. Serves as a strong baseline for sentiment classification.
A feedforward neural network built with PyTorch, leveraging Word2Vec embeddings for semantic understanding of tweet content.
State-of-the-art transformer-based models fine-tuned using HuggingFaceβs transformers library for high-accuracy sentiment classification.
Pythonscikit-learnPyTorchHuggingFace Transformersgensimpandas,numpy,matplotlib,seaborn- and many more!