recommending customized trips based on the combination of travel regions
Upload: international-federation-for-information-technologies-in-travel-and-tourism-ifitt
Post on 15-Jul-2015
22 views
TRANSCRIPT
ENTER 2015 Research Track Slide Number 1
Recommending Customized Trips Based on the Combination of Travel Regions
Wolfgang Woerndl, Michael Ludwig and Daniel Herzog
TU Muenchen, [email protected]
http://www11.in.tum.de
ENTER 2015 Research Track Slide Number 2
Motivation
• Scenario: You want to travel in September for four weeks with a budget of 2000€, you like nature and hiking with some cultural highlights as a plus, where should you go?
• Existing work mostly recommends travel packages, e.g. flight, hotels and activities
• Goal is to recommend a composite trip consisting of one or more travel regions for independent travelers– Data model and algorithm– Web platform
ENTER 2015 Research Track Slide Number 3
Data Model
• Hierarchical structure of travel regions• Attributes include
– How good region matches defined traveler types such as Free Spirits or Cultural Explorer (5-point Likert scale)
– Min/opt. budget and duration– Recommended months
• Connections betweenregions (cost)– Adjacent regions
have cost=0
ENTER 2015 Research Track Slide Number 4
Algorithm Steps
1. Reduce number of regions– Users can explicitly exclude regions (+ sub-regions) in query– Improves performance
1. Score regions– Case-based recommender– Similarity between region attributes and user query
• Month, traveler type, crime level– Budget and duration are not taken into account ( 3. step)– n best regions
1. Calculate the best combination of regions2. (Determine best sequence by shortest path)
ENTER 2015 Research Track Slide Number 5
Calculate Best Combination (I)
• Knapsack problem with n items (travel regions)– Maximize the sum of values of the items in the
knapsack while respecting the weight limit• In our approach
– Two different weight limits (budget B + duration D)
– Value is region score (step 2)– Values of regions depend on distances to other
selected regions
ENTER 2015 Research Track Slide Number 6
Calculate Best Combination (II)
• Optimal duration of stay per region– Split the region items in weekly blocks before executing
the knapsack algorithm– Every one week – resp. min. duration for region – block is
rated lower than its predecessor (penalty function)• E.g. first week 0.90, second 0.81, … (up to max. duration)
• Dynamic programming to calculate approximation on increased number of region blocks
– Iterates over number of available regions n, as well as over limits
• Budget B and duration of stay D• Runtime is O(n*B*D)
ENTER 2015 Research Track Slide Number 7
Example
• Query:Cultural Explorer, August, 2000€, low budget, 8 weeks
ENTER 2015 Research Track Slide Number 8
Evaluation
• Three algorithms1.Proposed approach (extended knapsack)2.Baseline (knapsack without extensions)3.Top-K (rank regions by score value)• Expert study
– Data set with 152 regions– Questionnaire with 56 sample queries– One expert judging outcome
ENTER 2015 Research Track Slide Number 10
Web Platform (I)
• User initiates profile (including traveler type) and enters query
• Display of recommended travel regions – Each recommended region is represented in one
full screen view– Includes user-generated pictures from Foursquare
• Users can save recommendation for later or click dislike button
ENTER 2015 Research Track Slide Number 12
Conclusion
• Composite trip recommendation as (extended) knapsack problem with two weight limits
• Problem: Performance not always fast enough for (online) Web presentation
• Future work: extend data set, optimize Web platform and perform study with more users
ENTER 2015 Research Track Slide Number 13
Backup
• Dynamic Programming for 0/1 Knapsack• Define m[i,w] to be maximum value that can be attained with
weight less than or equal to w using items up to i– wi: weight/cost of i-th item– vi: value of of i-th item– W: weight limit
• We can define m[i,w] recursively as follows:– m[i,w] = m[i-1,w] if wi > w
• New item is more than the current weight limit– m[i,w] = max (m[i-1,w], m[i-1,w-wi]+vi) if wi ≤ w
• Solution can then be found by calculating m[n,W](Wikipedia)