Over the Xmas break we spent some time in Falls Creek. We were driving so we could take our bikes, clothes, nutrition etc with us. It was a bit too far for us to do the drive in one hit (event with 2 drivers) so we decided to do it in two hits. The first day of about 1300ks.
This meant we needed accommodation for the first night which presented the following challenges:
- We’ll be tired after 1300ks of driving
- Not sure what the traffic will be like so could likely be arriving at night
- Xmas day – lots of things closed and possibly lots of traffic
So I booked something that was available with a decent rating.
Then after the mad rush to gather all the bits we needed to book to do this trip I delved a bit deeper into the hotel I’d chosen.
5 star reviews and responses looked ok
But a few of the 1 star reviews and the responses were slightly alarming. Based on the fact that it was Xmas day, we’d be tired and likely arriving late meaning if anything went wrong we’d be sleeping in the car I promptly cancelled and booked the next cheapest place. But was I wrong to do this?
It got me thinking about how I could have analysed this data better in a more scientific way. I thought the Cognitive Services API could help me with this.
First, the site didn’t provide a feed so made this a bit harder but if you had this data yourself it’d be a lot easier….
I grabbed all the reviews and looked at what the Sentiment Analysis and Key phrase extraction could help me with.
I did a manual test first – Took 5* review and checked the overall sentiment and the types of keywords.
Then i did the same with a 1 star review.
All of the 110 reviews are in English so to analyse all of the records I only needed 2 apis:
- Sentiment: https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment
- Key Phrases: https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/keyPhrases
Then I created a small console app to call sentiment:
and after verifying that worked, extended to run sentiment on both the review and response to use the key phrases also.
So what did I find?
- Average review sentiment was 70% (110 results)
- Average response sentiment was 85% (24 results)
Top 5 key phrases
So could have kept the booking? What about the people that gave it a bad review – are they always negative?
So I looked at one of the 1 star reviewers and she’s generally been a decent star reviewer. I went to all of her reviews and ran sentiment analysis on them and found she was 82.6% form 7 reviews.
To me it seems to not be a negative reviewer by nature maybe just had bad luck.