Project Team 5's Submission for CS5246, taken in AY23/24 S2 at the National University of Singapore.
The "Am I the A******?" (AITA) subreddit provides a rich source of real-world scenarios where individuals seek moral guidance from an online community regarding their behaviour. In this project, we aim to develop a predictive model to anticipate the likely moral judgement (e.g., "You’re the A******" or "Not the A******") of a given situation based on the text of AITA subreddit posts.
The primary objective of this project is to build a predictive model capable of discerning the moral judgement associated with AITA subreddit posts. By analysing the textual content of these posts, our model will strive to accurately predict whether the individual in the scenario is perceived as acting morally or immorally by the community.
The report for this project can be accessed here: https://drive.google.com/file/d/1kFISHVbWY9H6KmZww0oM_OK_VsLqF0Bf/view?usp=sharing
- Non Summarised : Train and Test
- Summarised with GPT2 : Train and Test
- Summarised with PageRank : Train (part 1), Train (part 2) and Test
Our systematic exploration of diverse modelling approaches, encompassing both traditional machine learning algorithms and cutting-edge deep learning architectures includes :
- Traditional ML: Deployed classical machine learning algorithms such as Naive Bayes and Logistic Regression for classification. Data preprocessing steps include handling of contractions, stopword removal, lemmatisation and TF-IDF representation.
- Ensemble Learning: Using a mix of traditional ML + rule-based approaches to create an Ensemble model.
- Recurrent and Convolutional Neural Networks: Bi-LSTMs, CNNs to capture sequential dependencies in text data and perform classification.
- Transformer-based Models: A fine-tuned BERT model.
- Kiat Hui Khang @hkkiat
- Lee Ming Xuan @lmngxn
- Jean Ong Hui Fang @jeanong2
- Venessa Tan @vennietweek
- Set up an empty folder and clone the repository into your folder
git clone https://github.com/vennietweek/aita-analysis-tool.git
- Initialise virtual environment in the project root folder:
python -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- Upgrade pip:
pip install --upgrade pip setuptools wheel
- Install project dependencies:
pip install -r requirements.txt