recommending customized trips based on the combination of travel regions

13
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, Germany [email protected] http://www11.in.tum.de

Category:

Education


1 download

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 9

Results

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 11

Web Platform (II)

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)