Travel Sites Review Web Scraping

Avatar
Posted on Jul 24, 2019

Github

Introduction

Millions of travelers take advantage of travel sites to plan and book their trips because they can bring up the best prices for ideal travel dates and routes, hotel vacancies, rental cars, etc. But first they have to decide which site to use.

Travelers usually consider a number of  features, which includes discounts availability, price guarantees, travel guides, convenience, and mobile app availability. They also look for reviews because they are a great source that can be referred to and analyzed to derive actionable insights.

To better understand consumers' satisfaction and concern on travel sites, this project scraped reviews of 18 different travel sites from ConsumerAffairs.com, and conducted analyses, including numerical analysis, natural language processing (NLP), and sentiment analysis.

Travel Sites and Web Scraping

Reviews of 18 travel sites were scraped. The studied sites are:

1.  BooIt.com 10.  Jestter
2.  CheapOair 11.  Hipmunk
3.  Booking.com 12.  Travelzoo
4.  Expedia 13.  Kayak
5.  Priceline 14.  Orbitz
6.  Hotels.com 15.  Trivago
7.  Airbnb 16.  Travelocity
8.  Hotwire 17.  TripAdvisor
9.  OneTravel 18.  CheapTickets

 

As shown in the site screen shot below, the consumer review section consists of 'star rating', 'consumer info' (e.g., name, city and state), 'review text',' helpful', 'verified reviewer', and 'verified buyer'. The term 'verified buyer' indicates that the reviewer purchased the reviewed product or service and provided proof of purchase history to ConsumerAffairs. A 'verified reviewer' has created an account on ConsumerAffairs and confirmed his/her email address through our verification process. 

It is worth noting that the percentage of non-text reviews (e.g., review without comments) was only 1.4%. The percentage of verified reviewers and buyers is 80% and 45.7%, respectively.

 

 

Some of the most interesting analysis findings are summarized below.

 

What are the overall review ratings?

Before delving into estimating the review ratings, the number of reviews in each site was identified. The number of reviews varies drastically by site as shown in the bar plot below. Overall, a total of 35,358 reviews were scraped, reviewed and analyzed.

About 46.9 % of the reviews (i.e., 16,574 reviews out of 35,358 reviews) received at least one 'helpful' vote. The total of number of 'helpful' votes was 86,229.

The distribution of 'helpful' vote per rating was examined and the result is shown in the plot below. It was found that a majority of the 'helpful' votes are linked to one star reviews, while one of  the five star reviews received the biggest 'helpful' votes (e.g., 115 helpful votes). 

 

  

The relationship between review length and rating score was investigated, and the result is shown the bar plot below. It was found that longer reviews are found at either one or five star reviews. Overall, consumers tend to leave longer review when they were not satisfied with travel sites' product or service. It is worth noting that the length of the one star reviews ranged between 0 and 1,117 words, and the mean of the review length is 475 words. Meanwhile, the length of the five star reviews ranged between 10 and 1,010 words, and the mean length of the reviews was 211 words.

 

 

Overall counts of the review rating is estimated and illustrated in the bar plot below. It shows that the majority of reviewers were not satisfied with the travel sites service.

 

 

The rating score was investigated by site and the result is displayed in the FacetGrid bar plot below. It was found that most of the five star reviews are from BookIt.com and CheapOair, and one star reviews are from some of the remaining sites, including Expedia, Priceline, Booking.com Hotels.com, CheapOair, etc.

 

 

Since the number of reviews in each vary a great deal, average rating score per site was calculated and shown in the bar plot below. Hipmunk has the highest average rating score (i.e., 4.33), while Hotwire has the lowest score (i.e., 1.07). Note that the average rating score in each of the top 5 sites is over 3.1.

  

 

What can be found from review text?

Next, review text was analyzed using Natural language processing (NLP)  to thoroughly understand whether consumer reviews are related to travel sites performance or service. To this end, common sequences of words across review text were developed by examining pairs of two consecutive words (e.g, bigram). The most common bigram from the entire reviews is "customer service," followed by "credit card."

 

 

The image below is a word cloud generated by the above analysis.

 

What are the common bigram with rating 1 and 5?

The common bigram was also investigated by rating score. As shown in the two line plots below, the most common bigram with the one star reviews is "customer service," followed by "book trip," while the most common bi-gram with rating 1 is also "customer service," followed by "credit card."

 

Bigrams from Five Star Reviews

 

Bigrams from One Star Reviews

 

The common bigrams in both one and five star reviews were generated and summarized below.  

 

 

How is the sentiment orientation of review text?

The plot below clearly illustrates that the level of polarity at each rating score. While all types of sentiment (e.g., positive, neutral, and negative) are found at rating 1 (i.e., one star reviews), most of the four and five star reviews are either positive or neutral sentiments.

 

Furthermore, good and bad reviews were detected by rating score for the reviews with more than 5 words. This is based on Vader, a part of the NLTK module designed for sentiment analysis. The following two tables summarizes the top 10 good and bad reviews. 

It was found that some errors occurred for the negative reviews. It seems that Vader interpreted "no" as negative word when it is actually used as positively. For example, both "Had no difficulties booking. Would use again" and "I had no problems booking my trip" texts in the second table took  "no" as a negative word.

 

Top 10 Positive Sentiment Reviews

 

Top 10 Negative Sentiment Reviews

With the rating scores, all the reviews were classified into bad (i.e., rating score 1 and 2), neutral (i.e., rating score 3), and good (i.e., rating score 4 and 5) reviews. The line plot below shows the distribution of the reviews' sentiments. While good and neutral tend to have positive compound scores, bad reviews have very low compound scores. 

Summary of Findings

The results found that the top 5 best travel sites are Hipmunk, BookIt.com, Jetsetter, Travelzoo, and CheapOair. However, the number of reviews are not equally distrusted over the sites. The results also show that longer reviews are found at either one or five star reviews. Overall, consumers tend to leave longer review when they were not satisfied with travel sites' product or service. 

The most common bigram found in the reviews is "customer service," followed by "credit card." The results of sentiment analysis show that Vader always interprets "no" as negative word although it is used as positively.

Although the sentiment analysis still has a limitation in interpreting specific words, computed sentiment features will be a good source to develop a model that can make predictions. In particular, the most important thing is to be able to extract the related features from raw text.

About Author

Leave a Comment

No comments found.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

2019 airbnb alumni Alumni Interview Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Big Data Book Launch Book-Signing bootcamp Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Industry Experts Job Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest recommendation recommendation system regression Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Tableau TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp