Problem Statement
1. Problem Overview
The objective of this project is to develop a Sentiment Analysis system for movie reviews utilizing foundational Natural Language Processing (NLP) and basic Machine Learning techniques. Given the available execution environment and package constraints, the system focuses on classic, robust machine learning algorithms rather than resource-intensive deep learning architectures. The system aims to automatically interpret and classify the emotional tone behind user-generated text, which is essential for market research, brand monitoring, and recommendation engines.
2. Training Data
The dataset consists of highly polarized movie reviews scraped from the IMDB website, containing the following main components:
- Text: The raw movie review written by the user (string format).
- Label (Target): The binary sentiment classification where `0` represents a negative review (human rating <= 4/10) and `1` represents a positive review (human rating >= 7/10). Note: Neutral reviews (ratings 5/10 and 6/10) are excluded to ensure an unambiguous classification task.
- Directory Labels: The parent folder name (pos or neg) defines the ground-truth sentiment.
- File Naming: Files use the format `[id]_[rating].txt` (e.g., `5_8.txt` signifies ID 5 with a rating of 8/10, located in the pos folder).
- Unlabeled: `[id]_0.txt` (Rating 0). These are located in the 'unsup' folder, intended for unsupervised or semi-supervised learning tasks.
3. Problem Requirements
- Input: A raw text string representing a movie review.
- Output: A binary label (`0` or `1`) representing the predicted sentiment of the review.
- Available packages: Default Google Colab packages and the SpaCy's `en_core_web_sm` model.
- Internet access: Completely Offline - you should not upload any files from your local computer or download from the Internet.
4. Evaluation Metrics
The model's performance is evaluated based on its classification effectiveness on unseen test data:
- F1-Score: The harmonic mean of Precision and Recall. This is the sole evaluation metric, indicating the model's balance between minimizing false positives and false negatives across both sentiment classes.
(Maas, A. (2019). Large Movie Review Dataset (IMDB) — Andrew Maas. Stanford.edu. https://ai.stanford.edu/~amaas/data/sentiment/?fbclid=IwY2xjawSWUS5leHRuA2FlbQIxMQBzcnRjBmFwcF9pZAEwAAEei6RGu6GPJkn-xvjSKm2r3sZEn_l7-ohJ6K2TtuLp9aZEwD-szUKbiqxhllU_aem_-TLQhZ5grXuQa5On8ZUxjg)