trip planning support by recommender system n.
Skip this Video
Loading SlideShow in 5 Seconds..
Trip Planning Support by Recommender System PowerPoint Presentation
Download Presentation
Trip Planning Support by Recommender System

Trip Planning Support by Recommender System

97 Vues Download Presentation
Télécharger la présentation

Trip Planning Support by Recommender System

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Trip Planning Support by Recommender System Exploit the presentation of prof. Francesco Ricci on “Hybrid Recommendation Technologies” Hanoi University of Science and Technology School of Information and Communication Technology Quang Nhat Nguyen (

  2. Content: • Problem Definition • Why not Traditional Recommendation Approaches • Trip@dvice Recommendation Approach

  3. Problem Definition • Problem definition • To support users in building their personalized trip plan • A trip plan is a set (i.e., non-temporal, unordered) of travel products/services/information • The trip planning support is provided by the recommendation technology • A trip plan is built by iteratively adding in desired travel products/services • From the empty plan to the complete one • Unregistered users should be allowed to get recommendations • Both session-specific user preferences and long-term user preferences must influence the recommendation

  4. Recommender systems (RSs) • RSs are decision-making support tools • Aimed at addressing the information overload problem • Providing product and service recommendations to a user • Personalized (adapted) to the user’s needs and preferences • Appropriate at the user’s request context • Inspiration of RSs • In everyday life we rely on recommendations from other people (word of mouth, recommendation letters, reviews in newspapers, …) • RSs are based on a number of technologies: • Information filtering • Machine learning • Adaptive and personalized systems, • User modeling • …

  5. Recommender systems (RSs) • Successful application domains • E-Commerce, Entertainment, Travel and tourism, E-Learning, E-Health, Social network, etc. • Examples of successful commercial RSs •, Barnes&, Yahoo! news,,, iTunes Genius, etc.

  6. Traditional recommendation approaches • Collaborative filtering (a.k.a. Social filtering) • Content-based • Knowledge-based

  7. Collaborative filtering recommendation • For a target user (i.e., to whom a recommendation is produced) the set of his ratings to the items are collected • Neighbor formation. The users most similar to the target user (according to a similarity function) are identified • The items selected (bought/interested) by these similar users are identified • For each of these items, a prediction (i.e., the estimated rating that the target user may give to the item) is generated • Based on these predicted ratings, a set of top N items (i.e., those with highest estimated ratings) are recommended

  8. Content-based recommendation • Exploit feature-based descriptions of items and the ratings that the user has given on some items • A user is modeled by a profile that represents the user’s needs and preferences with respect to item’s features • The system recommends to the user those items whose features (highly) match the user’s profile • Often use a machine learning technique • Build a classifier that fits the user’s preferences (e.g., ratings) • Use the classifier on the predicted items

  9. Knowledge-based recommendation • Use specific domain knowledge • To reason on the relationship (i.e., suitability/appropriateness) between a user’s needs and preferences and a particular item • To provide recommendations, the system • acquires the user’s requirements on items (e.g., the user's query) • consults the knowledge base to determine the best fitting items

  10. Why not traditional rec. approaches? • Content-based • Long-term user preferences model cannot capture user preferences that change quickly and often (i.e., not consider the session-specific user preferences) • Problems of New users, New items • Collaborative filtering • Requiring users, especially new ones, to rate items seems not practical • Problem of New user • Knowledge-based recommendation • High cost in building and maintenance the system’s knowledge base

  11. Trip@dvice Methodology • Support the selection of travel products (e.g., a hotel or a visit to a museum) • Support the building of a trip plan, i.e., a coherent (from the user’s point of view) bundling of selected products • Exploit a case base of travel plans built by a community of users and catalogues (of travel products/services) • Integrates case-based reasoning (CBR) with interactive query management (IQM) • CBR: For finding and then exploiting similar trip plans • IQM: For supporting the user query’s formulation/revision • The “double-similarity” recommendation approach • To find those trip plans most similar to the current one • To identify those items most similar to the items contained in those similar plans

  12. Suggest Q changes Locations from Catalogue Travel components loc1 Current Case loc2 1. Search the catalogue twc loc3 tb u 4. Sort locations loci by similarity to locations in reference cases r 2. Search Similar Cases Case twc loc2 tb loc3 Case Base loc1 u Ranked Items 3. Output Reference Set r Output Trip@advice Methodology Input Q

  13. Case/Session Model

  14. nt: cart nt: destination mt: vector nt: location mt: vector nt: case nt: destinations mt: hierarchical mt: vector mt: set dest1 cart1 X1 dests1 c1 X2 clf1 accs1 dest2 X3 cnq1 acts1 X4 ITEM Structured Case Representation • A case is a rooted tree and each node has a: • node-type: Similarity between two nodes in two cases is defined only for nodes with the same node-type • metric-type: Node content structure - how to measure the node similarity with another node in a second case

  15. Item Representation TRAVELDESTINATION=(X1,X2,X3,X4) X1 = (Italy, Trentino, Fassa, Canazei) X2 = (1,1,1) dest1 X3 = 1400 X4 = (0, 1, 0)

  16. X1 = (Italy, Trentino, Fassa, Canazei) X2 = (1,1,1) dest1 X3 = 1400 X4 = (0, 1, 0) ì = if is boolean x true x i i ï k k = = if is nominal c x v x í k i i k k ï £ £ if is numerical l x u x î i i k k Item Query Language • For querying purposes items x a represented as simple vector features x=(x1, …, xn) • A query is a conjunction of constraints over features: q=c1 Ù c2 Ù … Ù cm wherem£nand Dest1 = (Italy, Trentino, Fassa, Canazei, 1, 1, 1, 1400, 0, 1, 0)

  17. Query Relaxation • The goal of relaxation process is to solve the empty result set problem finding “maximal” succeeding sub-queries • For Boolean queries: 1 succeeding sub-query can be found in quadratic time; finding all of them requires exponential time • Proposed approach: • Look for all relaxed sub-queries that change one single constraint and produce some results • Present all these relaxed queries to the users without sorting them

  18. Relaxation Applicability: Accommodation Search All queries Failing queries Failing queries repaired by the algorithm

  19. current case CC C1 Destinations matching the user’s query similar casesin the case base D1 CD1 ? current case CC C2 D1 D2 ? D2 CD2 Example: Scoring Two Destinations Score(Di) = Maxj {Sim(CC,Cj)*Sim(Di,CDj)} Score(D1)=Max{0.2*0.4,0.6*0.7}=0.42 Score(D2)=Max{0.2*0.5,0.6*0.3}=0.18

  20. Scoring • A collection of case sessions si (i=1..n) and a collection of items/products pj (j=1..m) • A n´n sessions (i.e., cases) similarity matrix S ={sij} • A m´m items/products similarity matrix P={pij} • A n´m session vs. product incidence matrix A={aij}, where aij=1 (aij=0) if session i does (not) include product j Score(si,pj) = MAXk,l{sik akl plj} • A product pj gets a high scoreif it is very similar (plj close to 1)to a product pl that is contained in a session sk (akl = 1) that is very similar to the current session (sik close to 1)

  21. X1=(Italy, Trentino, Fassa, Canazei) X2 = (1,1,1) dest1 X3 = 1400 X4 = (0, 1, 0) Item Similarity If X and Y are two items with same node-type d(X,Y) = (1/åi = 1n wi)1/2 [åi = 1n wi di(Xi,Yi)2 ]1/2 , where 0 £ wi£ 1. 1 if Xi or Yi are unknown overlap(Xi,Yi) if Xi is symbolic |Xi - Yi|/rangei if Xi is finite integer or real di(Xi,Yi) = Jaccard(Xi,Yi) if Xi is an array of Boolean Hierarchical(Xi,Yi) if Xi is a hierarchy Modulo(Xi,Yi )if Xi is a circular feature (month) Date (Xi,Yi )if Xi is a date Sim(X,Y) = 1 - d(X,Y)

  22. Item Similarity Example X1 = (I, TN, Fassa, Canazei) Y1 = (I, TN, Fassa,?) Y2 = (1,0,1) X2 = (1,1,1) dest2 dest1 Y3 = 1200 X3 = 1400 Y4 = (1, 1, 0) X4 = (0, 1, 0)

  23. dest3 cart2 Y1 dests2 c2 Y2 dest4 clf12 accs2 Y3 cnq2 dest5 acts2 Y4 Case Distance (1) nt: cart nt: destination mt: vector nt: location mt: vector nt: case nt: destinations mt: hierarchical mt: vector mt: set dest1 cart1 X1 dests1 c1 X2 clf1 accs1 dest2 X3 cnq1 acts1 X4

  24. Case Distance (2) nt: case mt: vector cart1 c1 clf1 cnq1 cart2 c2 clf12 cnq2

  25. nt: cart mt: vector dests1 accs1 acts1 dests2 accs2 acts2 Case Distance (3) nt: case mt: vector cart1 c1 clf1 cnq1 cart2 c2 clf12 cnq2

  26. nt: cart mt: vector nt: case nt: destinations mt: vector mt: set dest1 cart1 dests1 c1 clf1 accs1 dest2 cnq1 acts1 dest3 cart2 dests2 c2 dest4 clf12 accs2 cnq2 dest5 acts2

  27. Thank you for the attention!