Post on 11-Jan-2016
A Platform for Location Aware Service
-- with human computation
Ling-Jyh Chen, Meng Chang ChenMing-Syan Chen, Sheng-Wei Chen, Jan-Ming Ho, Wang-Chien LeeJane Liu, De-Nian Yang
Research Center for Information Technology Innovation& Institute of Information ScienceAcademia Sinica
Itinerary Recommendation System with Human Computation
2
Itinerary Recommendation System with Human Computation
Other Travel Apps in Handheld Devices
• Nearby Spots (LBS)– Android Pocket Journey
– Android Wikitude
– Garmine
• Static Travel Routes (ebook)– Garmine
– MioMap
– TomTom
3
Our Recommendation System
• A data mining approach with GPS to provide “route” or “itinerary” based LBS
• Main characteristics– Personalization
– Human computation
– Quick and Dynamic Mining
Main Concept
System Architecture
GPRS/WiFi/…
Recommendation ServerRecommendation Server
• Kernel Modules– MSTravel
• An mining algorithm to discover user movement An mining algorithm to discover user movement regularity (itinerant patterns) from itinerary dataset regularity (itinerant patterns) from itinerary dataset
– Weight Grade• A grading function to select top-k suitable patterns
for rendering
User Travel LogUser Travel Log RecommendationRecommendation
Recommendation ServerRecommendation Server
Itinerant Patterns MiningItinerant Patterns Mining
• Spirits – Inherent from association rule mining and sequence
pattern mining
• Modeling itinerant pattern as a tuple (V, C, R)– V is an unordered set of visited scenic spots– C is the current location– R is an ordered sequence of recommended scenic spots– EX: (AB, C, DEF)
• Definition of Itinerant Patterns Mining ProblemGiven aGiven a itinerary dataset, discovering all itinerant patterns itinerary dataset, discovering all itinerant patterns with popularity minimal ratio ≧with popularity minimal ratio ≧ rrminmin and frequency minimal ≧ and frequency minimal ≧threshold threshold ttminmin
Itinerant patterns vs. Sequential PatternsItinerant patterns vs. Sequential Patterns
• Itinerant patternsItinerant patterns– Prune irrelevant sequences
• Render local characteristics• Provide more knowledge for
recommendation • Low computing complexity
• Sequential PatternsSequential Patterns– Consider all sequences
• Blur important local characteristics
• High computing complexity
popularity popularity of (A,B,C) = # of itineraries contain *A*B*C* / # of itineraries contain *A*B*=|{2}|/|{2,3}|= 0.5
frequencyfrequency of (AB,C, EG)= # of itineraries contain *A*C* or *B*C*=|{1, 2}| =2
Ex.
Itinerant Patterns Mining Algorithm -- MSTravelItinerant Patterns Mining Algorithm -- MSTravel
• A Recursive Approach– Explore k-1 Itinerant patterns– k-candidate Generation– Popularity-Testing
• against the minimal ratio and minimal threshold
– Redundancy-Elimination• prunes shorter itinerant patterns that are covered by the new
discovered ones
• Advantages of MStravel– Prune irrelevant itineraries → reduce DB scan
– Utilize apriori property in candidate generation → reduce the amount of comparisons in testing
Itinerant Patterns RecommendationItinerant Patterns Recommendation
• Multiple relevant patterns
Which one to recommend?
How to rank the patterns?
or
Weight Grading
• Possible recommendation strategies – Random k patterns, most popular k patterns,
longest k patterns, …
• Our solution– Weighting to obtain top-k patterns
• Consider popularity and frequency of a patterns • Consider similarity of a pattern and user’s visited
spots F = wF = w11 * popularity + w * popularity + w22 * frequency * frequency + +
ww33 * Jaccard (V, S) +w * Jaccard (V, S) +w44 * Jaccard (R, S) * Jaccard (R, S)
Advantage: K can be designated according to various applications
w1~w4: weight factors, S: user’s visited spots
Client-end Design
• Web-based UI – Incorporated with Google Map
– Simple operation
– User friendly
• Mapping of a geographic coordinates (x,y) and a scenic spot – Positioning accuracy and multiple hot spots in the same
location → not easy to identify user’s visited spot
– List top-k near by spots or list top-k
popular spots → users select manually
Client: Web-based