This Project is a job simulation for the British Airways Data Science role. The Major task of the Job is to help British Airways Understand their customers better regarding their experience using the services of British Airways.
After analysing 1000 reviews of verified and non-verified flight experiences of British Airways customers, the results are presented based on the type of analysis performed.
I used Latent Dirichlet Allocation (LDA) to find the topics in the reviews.
LDA would allow me to find the topics in the reviews and the words that are associated with each topic. This would help British Airways understand the topics that are important to their customers and the words that are associated with each topic.
I used textblob to perform sentiment analysis on the reviews. Rationale: Sentiment analysis would allow me to understand the sentiment of the reviews. This would help British Airways understand the sentiment of their customers and the words that are associated with each sentiment.
I also created wordclouds based on the sentiment of the reviews. This would help British Airways understand the words that are associated with each sentiment.
I used numpy, pandas, matplotlib and seaborn libraries to analyse the data. I used jupyter notebook to write the code. The code is in the file Data Analysis.ipynb
. The code is well documented and easy to understand. The code is divided into 3 parts:
- Web Scraping
- Data Cleaning
- Data Analysis
- Data Visualization
I scraped the data from the website https://www.airlinequality.com/airline-reviews/british-airways/. I used BeautifulSoup library to scrape the data. the resulting collection of 1000 reviews is saved in a csv format:
I cleaned data by removing the verification status from each review
- I fitted an LDA model to the data and found the top 10 topics
- I found the top 10 words for each topic
- I conducted sentiment analysis on the data and found the top 10 positive and negative words
-
I visualized the distribution of the LDA topic model
-
I visualized the distribution of the sentiment analysis on each review
or if you are using anaconda
or if you are using mkvirtualenv