For this project, I utilized IMDb as the primary data source to gather movie reviews. The aim of the project was to create a sentiment analysis tool to determine the overall sentiment (positive, negative) of the reviews for a given movie. To achieve this, I employed the TextBlob library for sentiment analysis. The project also involved text preprocessing, which included converting text to lowercase, tokenizing, and removing common English stop words. The primary objective was to provide users with a quick assessment of the sentiment surrounding a particular movie by analyzing the content of its reviews.
At a high-level system architecture, the project involved data retrieval, text preprocessing, sentiment analysis, and user interaction. The IMDb API was used to obtain movie information and reviews. Major components included the preprocess_review and analyze_sentiment functions for text processing and sentiment analysis, respectively. A design decision was made to opt for simplicity and quick user feedback, which is why TextBlob was chosen for sentiment analysis. The code followed a linear flow: gather movie reviews, preprocess them, analyze sentiment, and interact with the user to present the results. ChatGPT played a role in assisting with code structuring, offering explanations, and suggesting best practices. In fact it was through ChatGPT that I came up with the decision of utilizing TextBlob over VADER as it seemed simpler for me.
The project successfully allows users to input a movie title and receive an assessment of the reviews' sentiment. The sentiment was categorized as positive or negative, based on TextBlob's analysis. While no specific data analysis or visualization was performed, the tool enabled users to quickly gauge how reviewers generally felt about a movie. The tool's output provided sentiment labels, which could help users make an informed decision about whether to watch a movie based on its reviews.
From a process perspective, the project was appropriately scoped for its intended purpose—providing quick sentiment analysis of movie reviews. However, improvements can be made in terms of error handling and user input validation. A visualization of sentiment trends could enhance the tool's value. The learning process through this project was great, particularly in terms of using TextBlob for sentiment analysis and incorporating external data sources like IMDb. ChatGPT was helpful in providing guidance, clarifications, and code structuring suggestions [Also in rewording my paragraphs as it makes them seem more professional :)]. Going forward, I intend to explore more advanced sentiment analysis methods and consider enhancing the project with additional features. Knowing more about data visualization techniques and design would have been valuable during the project.