Computerized travel itinerary recommendation tool and method using contextual information
A computerized travel itinerary recommendation tool includes a traveler monitor, a contextual information parser, and a recommendation engine. The traveler monitor obtains traveler preference information associated with a traveler. The traveler preference information indicates one or more travel criteria for a trip. Travel criteria comprises one or more parameters of travel products available for the trip. The contextual information parser infers one or more travel criteria from contextual information obtained for the trip. The contextual information is information that does not include any travel criterion. The recommendation engine determines a recommended travel itinerary for the trip to the traveler based on the travel preference information and the contextual information. The recommendation engine further causes a display of the recommended travel itinerary to the traveler. Displaying the recommended travel itinerary allows the traveler to review travel criteria associated with the recommended travel itinerary and select the recommended travel itinerary for booking the trip.
1 . A computerized travel system, comprising:
a first server configured to store information associated with travelers previously using the travel system; and
a travel itinerary recommendation tool communicatively coupled to the first server, one or more second servers configured to store one or more travel products available through the travel system, and a client device, wherein the travel itinerary recommendation tool is configured to apply machine learned algorithms to identify user preferences through a series of itinerary sets selected based on their ability to inform a plurality of travel preferences of the user and encode the identified user preferences in a traveler preference data structure comprising an array of values, the travel itinerary recommendation tool comprising:
a traveler monitor configured to obtain traveler preference information associated with a traveler from one or more of the first server and the client device, wherein the traveler preference information indicates one or more travel criteria for a trip, wherein the one or more travel criteria comprises one or more parameters of the one or more available travel products;
a contextual information parser configured to infer in real-time one or more travel criteria from contextual information obtained for the trip, wherein the contextual information does not comprise travel criterion and instead comprises information related to at least one selection from sets of two or more itineraries presented to the traveler; and
a recommendation engine configured to:
create a first array corresponding to a first available travel product, the first array storing one or more values associated with travel product features of the first available travel product;
create a second array corresponding to a second available travel product, the second array storing one or more values associated with travel product features of the second available travel product;
dynamically update the traveler preference data structure for the trip by:
compiling, for each of the travel criterion, one or more indications based on one or more of the traveler preference information, the contextual information inferred in real-time, and one or more preferences of at least one associated user;
determining, for each of the travel criterion, an updated preference value representative of the one or more indications compiled for the travel criterion, wherein;
at least one of the one or more indications is adjusted by a weighting factor indicating an approximated strength of correlation between the contextual information and a particular one of the inferred travel criterion; and
populating the array with each determined updated preference value;
compare the updated traveler preference data structure to the first array, wherein comparing the updated traveler preference data structure comprises:
for each travel criterion in the updated traveler preference data structure, determining a distance between the determined updated preference value and one or more values in the first array associated with one or more corresponding parameters;
comparing the determined distances to a set preference threshold;
identifying a first contrasting number representing a number of travel criterion wherein the determined distance is greater than the set preference threshold; and
identifying a first similar number representing a number of travel criterion wherein the determined distance is less than the set preference threshold;
compare the updated traveler preference data structure to the second array, wherein comparing the comparing the updated traveler preference data structure comprises:
for each travel criterion in the updated traveler preference data structure, determining a distance between the determined updated preference value and one or more values in the second array associated with one or more corresponding parameters;
comparing the determined distances to the set preference threshold;
identifying a second contrasting number representing a number of travel criterion wherein the determined distance is greater than the set preference threshold; and
identifying a second similar number representing a number of travel criterion wherein the determined distance is less than the set preference; and
determine a likelihood that each of the first travel product and second travel product will be preferred based on the comparisons of the updated traveler preference data structure with the first array and the second array;
select a first recommended travel itinerary based at least on the determined likelihoods, the first contrasting number, the first similar number, the second contrasting number, and the second similar number, wherein:
the first recommended travel itinerary is associated with the first available travel product and the first contrasting number is greater than the second contrasting number;
cause a display of the first recommended travel itinerary to the traveler at the client device, wherein displaying the first recommended travel itinerary allows the traveler to review travel criteria associated with the first recommended travel itinerary and select the first recommended travel itinerary for planning the trip using the client device.
2 . The travel system of claim 1 , wherein selecting the first recommended travel itinerary is also based on a determination of a closest travel product of the one or more available travel products that has a least deviation from the updated traveler preference data structure.
3 . The travel system of claim 1 , wherein the one or more second servers are configured to store travel products comprising one or more of airline flights, hotel rooms, car rentals, and attractions.
4 . A computerized method for use in a travel itinerary system, comprising:
applying machine learned algorithms to identify user preferences through a series of itinerary sets selected based on their ability to inform a plurality of travel preferences of the user and encode the identified user preferences in a traveler preference data structure comprising an array of values;
obtaining, by a computer, traveler preference information associated with a traveler, wherein the traveler preference information indicates one or more travel criteria for a trip, wherein travel criteria comprises one or more parameters of travel products available for the trip;
inferring in real-time, by a computer, one or more travel criteria from contextual information obtained for the trip, wherein the contextual information does not comprise travel criterion and instead comprises information related to at least one selection from sets of two or more itineraries presented to the traveler;
creating a first array corresponding to a first available travel product, the first array storing one or more values associated with travel product features of the first available travel product;
creating a second array corresponding to a second available travel product, the second array storing one or more values associated with travel product features of the second available travel product;
dynamically updating the traveler preference data structure for the trip by:
compiling, for each of the travel criterion, one or more indications based on the traveler preference information, the contextual information inferred in real-time, and one or more preferences of at least one associated user;
determining, for each of the travel criterion, an updated preference value representative of the one or more indications and a weighting factor, wherein:
at least one of the one or more indications is adjusted by a weighting factor indicating an approximated strength of correlation between the contextual information and a particular one of the inferred travel criterion; and
populating the array with each determined updated preference value;
comparing the updated traveler preference data structure to the first array, wherein comparing the updated traveler preference data structure comprises:
for each travel criterion in the updated traveler preference data structure, determining a distance between the determined updated preference value and one or more values in the first array associated with one or more corresponding parameters;
comparing the determined distances to a set preference threshold;
identifying a first contrasting number representing a number of travel criterion wherein the determined distance is greater than the set preference threshold; and
identifying a first similar number representing a number of travel criterion wherein the determined distance is less than the set preference threshold;
comparing the updated traveler preference data structure to the second array, wherein comparing the comparing the updated traveler preference data structure comprises:
for each travel criterion in the updated traveler preference data structure, determining a distance between the determined updated preference value and one or more values in the second array associated with one or more corresponding parameters;
comparing the determined distances to the set preference threshold;
identifying a second contrasting number representing a number of travel criterion wherein the determined distance is greater than the set preference threshold; and
identifying a second similar number representing a number of travel criterion wherein the determined distance is less than the set preference;
determining a likelihood that each of the first travel product and second travel product will be preferred based on the comparisons of the updated traveler preference data structure with the first array and the second array;
selecting a first recommended travel itinerary based at least on the determined likelihoods, the first contrasting number, the first similar number, the second contrasting number, and the second similar number, wherein:
the first recommended travel itinerary is associated with the first available travel product and the first contrasting number is greater than the second contrasting number;
causing, by a computer, a display of the recommended travel itinerary to the traveler, wherein displaying the recommended travel itinerary allows the traveler to review travel criteria associated with the recommended travel itinerary and select the recommended travel itinerary for planning the trip.
5 . The method of claim 4 , further comprising obtaining, by a computer, at least some of the contextual information from the traveler's interaction with the travel itinerary system, wherein the obtained contextual information is not explicitly provided by the traveler.
6 . The method of claim 4 , wherein inferring the one or more travel criteria in real-time comprises obtaining information indicating relationships between contextual information and travel criteria, wherein the obtained information was generated based on prior trips booked by the traveler or other users of the travel itinerary planning system.
7 . The method of claim 4 , wherein updating the travel preference data structure for the trip comprises adjusting the one or more determined values based on the inferred travel criteria from the contextual information.
8 . The method of claim 4 , wherein selecting the first recommended travel itinerary is also based on a determination of a closest travel product of the one or more available travel products that has a least deviation from the updated traveler preference data structure.
9 . The method of claim 4 , wherein the contextual information comprises one or more of the following types of information: information associated with the location of the traveler or the time at which the traveler is seeking a travel itinerary for the trip; information associated with a destination of the trip; a reason for the trip or an indication that the traveler is travelling with a group or alone; and information associated with a state of mind of the traveler.
10 . The method of claim 4 , wherein at least a portion of the contextual information is obtained by presenting a plurality of sets of travel itineraries to the traveler and obtaining the traveler's selections of preferred subsets of each of the plurality of travel itineraries.
11 . A computerized travel itinerary recommendation tool configured to apply machine learned algorithms to identify user preferences through a series of itinerary sets selected based on their ability to inform a plurality of travel preferences of the user and encode the identified user preferences in a traveler preference data structure comprising an array of values, wherein the travel itinerary recommendation tool comprises:
a traveler monitor configured to obtain traveler preference information associated with a traveler, wherein the traveler preference information indicates one or more travel criteria for a trip, wherein travel criteria comprises one or more parameters of travel products available for the trip;
a contextual information parser configured to infer in real-time one or more travel criteria from contextual information obtained for the trip, wherein the contextual information does not comprise travel criterion, and instead comprises information related to at least one selection from sets of two or more itineraries presented to the traveler;
a recommendation engine configured to:
create a first array corresponding to a first available travel product, the first array storing one or more values associated with travel product features of the first available travel product;
create a second array corresponding to a second available travel product, the second array storing one or more values associated with travel product features of the second available travel product;
dynamically update the traveler preference data structure for the trip by:
compiling, for each of the travel criterion, one or more indications based on the traveler preference information, the contextual information inferred in real-time, and one or more preferences of at least one associated user;
determining, for each of the travel criterion, an updated preference value representative of the one or more indications and a weighting factor, wherein:
at least one of the one or more indications is adjusted by a weighting factor indicating an approximated strength of correlation between the contextual information and a particular one of the inferred travel criterion; and
populating the array with each determined updated preference value;
compare the updated traveler preference data structure to the first array corresponding to one of the available travel products, wherein comparing the updated traveler preference data structure comprises:
for each travel criterion in the updated traveler preference data structure, determining a distance between the determined updated preference value and one or more values in the first array associated with one or more corresponding parameters;
comparing the determined distances to a set preference threshold;
identifying a first contrasting number representing a number of travel criterion wherein the determined distance is greater than the set preference threshold; and
identifying a first similar number representing a number of travel criterion wherein the determined distance is less than the set preference threshold;
comparing the updated traveler preference data structure to the second array, wherein comparing the comparing the updated traveler preference data structure comprises:
for each travel criterion in the updated traveler preference data structure, determining a distance between the determined updated preference value and one or more values in the second array associated with one or more corresponding parameters;
comparing the determined distances to the set preference threshold;
identifying a second contrasting number representing a number of travel criterion wherein the determined distance is greater than the set preference threshold; and
identifying a second similar number representing a number of travel criterion wherein the determined distance is less than the set preference;
determine a likelihood that each of the first travel product and second travel product will be preferred based on the comparisons of the updated traveler preference data structure with the first array and the second array;
select a recommended travel itinerary based at least on the determined likelihoods, the comparison of the updated traveler preference data structure to the second array, the first contrasting number, the first similar number, the second contrasting number, and the second similar number, wherein:
the first recommended travel itinerary is associated with the first available travel product and the first contrasting number is greater than the second contrasting number;
cause a display of the recommended travel itinerary to the traveler, wherein displaying the recommended travel itinerary allows the traveler to review travel criteria associated with the recommended travel itinerary and select the recommended travel itinerary for planning the trip.
12 . The computerized travel itinerary recommendation tool of claim 11 , wherein the traveler monitor is further configured to obtain at least some of the contextual information from the traveler's interaction with a travel itinerary planning system associated with the travel itinerary recommendation tool, wherein the obtained contextual information is not explicitly provided by the traveler.
13 . The computerized travel itinerary recommendation tool of claim 11 , wherein inferring one or more travel criteria comprises obtaining information indicating relationships between contextual information and travel criteria, wherein the obtained information was generated based on prior trips booked by the traveler or other users of the travel itinerary planning system.
14 . The computerized travel itinerary recommendation tool of claim 11 , wherein updating the travel preference data structure for the trip comprises adjusting the one or more determined values based on the inferred travel criteria from the contextual information.
15 . The computerized travel itinerary recommendation tool of claim 11 , wherein selecting the first recommended travel itinerary is also based on a determination of a closest travel product of the one or more available travel products that has a least deviation from the updated traveler preference data structure.
16 . The computerized travel itinerary recommendation tool of claim 11 , wherein the contextual information comprises one or more of the following types of information: information associated with the location of the traveler or the time at which the traveler is seeking a travel itinerary for the trip; information associated with a destination of the trip; a reason for the trip or an indication that the traveler is travelling with a group or alone; and information associated with a state of mind of the traveler.
17 . The computerized travel itinerary recommendation tool of claim 11 , wherein the recommendation tool is configured to obtain contextual information by presenting a plurality of sets of travel itineraries to the traveler and obtaining the traveler's selections of preferred subsets of each of the plurality of travel itineraries.
18 . The computerized travel system of claim 1 , wherein: the contextual information parser is further configured to:
determine a first certainty value indicating a correlation between the contextual information and a first inferred travel criterion;
after receiving new contextual information, update the first certainty value; and
the recommendation engine is further configured to:
update the traveler preference data structure by determining, for the first inferred travel criterion, a value representative of one or more indications corresponding to the first inferred travel criterion as adjusted by a first weighting factor representing the updated certainty value;
apply the updated traveler preference data structure to determine a second recommended travel itinerary.