How do you turn millions of hotel reviews from completely different people into highly personalized suggestions for individual travellers? The answer lies in the semantic analysis of hotel reviews.

The paradox of choice

Saavy travellers know to check hotel reviews before making a purchase. The reviews and opinions of fellow travellers ranks jointly with price as the key determining factor in choosing where to stay. But one person's 5-star rating can be another person's 2-star rating. Some people might complain about the noise level at a hotel because of the nearby bars, while others might choose to stay at a hotel precisely because it is close to the nightlife. So much data to pour through, yet only a fraction is relevant for any given traveller.

Beware the 5-star ratings

The advantage of the tried-and-true 5-star rating system is that everyone understands it. In theory, to decide which hotel is better is just a matter of doing a comparison of which hotel has a higher average star rating, but the trouble with these ratings is two-fold:

  1. The numbers are subjective; a 4-star hotel to one person is another person's 3-star hotel
  2. They often obscure the underlying nuance of a full hotel review.

Consider this real hotel review:

The main lobby is undergoing construction so there was a bit of noise, but not too bad. The rooms were nice and the check-in was smooth. When asked for a cab, I was put into a private car service with no meter and was charged an unfair price. I will not be back.


This person did not enjoy their stay at this particular hotel, as evident by the 2-out-of-5 star rating. But upon reading the full review and semantically breaking it down, was the hotel that bad?

The reviewer states that due to construction, there was some noise, but then says it wasn't too bad. The reviewer compliments the rooms and the check-in procedure. The one gripe seems to be about a bad taxi experience. Because of that, the hotel receives 2-stars for this review. But what if you're a traveller who doesn't care about taxi service. Does this hotel review accurately capture how you would enjoy staying at this property?

Semantic analysis to the rescue

A popular aggregator of hotel reviews was faced with this exact dilemma. How do you display relevant hotel recommendations knowing that relying solely on numeric scores is very error prone? The answer lies in Repustate's hotel-specific semantic analysis.

How hotel semantic analysis works

Repustate first breaks down a hotel review into smaller pieces of text ("chunks") and then assigns each chunk to a predefined list of semantic categories. Once this is done, sentiment is then applied to each chunk creating a much richer analysis of a hotel review. Now one can compare apples to apples by examining how hotels stack up against each other in terms of price, location, staff, amenities, accomodations etc. Going deeper than that, you can now compare which hotel has the best Wi-Fi, or which hotel has the best swimming pool.

What's great about this approach is all of this information is being surfaced organically. No traveller is being asked to rate the Wi-Fi or the swimming pool specifically; if they felt these aspects were worthy of mention, they'd do so in their review. It's a much more natural, much more authentic means of assessing hotels.

Personalized hotel recommendations

Putting this all together, the hotel review aggregator was able to provide a "smart" search - a search across hotel reviews based on semantic aspects of each hotel's reviews. Each hotel was then assigned an aggregate score based on each semantic category contained in the hotel reviews. This is what the smart semantic search widget looks like now:

I want a hotel that has great:

One simple, smart, search box to find hotels that match the exact criteria a traveller is looking for. Here are the sample search results:

These hotels in Florence have the best breakfast:

sample hotel search results

Next steps

The unique features that can be built using Repustate's semantic hotel technology are endless. Just one example: allowing for the creation of custom itineraries based on a person's preferences. A traveller specifies they want hotels with great spas for 8 nights in these 3 cities for this budget and away you go. A custom package can be created and booked in seconds. Repustate helps deliver a truly personalized experience that does away with the antiquated practice of coarse 5-star reviews.