Skip to content

DimitrisChrysos/AI-Sentiment-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 AI Sentiment Analysis

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.


πŸ“‚ Project Structure

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.


πŸ“ Assignments Overview

πŸ”Ή Assignment 1: TF-IDF + Logistic Regression

A classical machine learning approach using TF-IDF vectorization and logistic regression. Serves as a strong baseline for sentiment classification.

πŸ”Ή Assignment 2: Neural Network + Word2Vec

A feedforward neural network built with PyTorch, leveraging Word2Vec embeddings for semantic understanding of tweet content.

πŸ”Ή Assignment 3: Fine-tuned Transformers (BERT & DistilBERT)

State-of-the-art transformer-based models fine-tuned using HuggingFace’s transformers library for high-accuracy sentiment classification.


🧰 Technologies Used

  • Python
  • scikit-learn
  • PyTorch
  • HuggingFace Transformers
  • gensim
  • pandas, numpy, matplotlib, seaborn
  • and many more!

About

Artificial Intelligence 2 DIT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published