Learning to Question: Leveraging User Preferences for Shopping Advice Date : 2013/12/11 Author : Mahashweta Das, Aristides Gionis, Gianmarco De Francisci Morales, and Ingmar Weber Source : KDD’13 Advisor : Jia-ling Koh Speaker : Yi-hsuan Yeh
Outline Introduction Method Experiments Conclusion
Introduction Motivation Customers shop online, from their homes, without any human interaction involved. Catalogs of online shops are so big and with so many continuous updates that no human, however expert, can effectively comprehend the space of available products. Use a flowchart asks the shopper a question, and the sequence of answers leads the shopper to the suggested shopping option.
Introduction SHOPPINGADVISOR is a novel recommender system that helps users in shopping for technical products. car
Introduction SHOPPINGADVISOR generates a tree-shaped flowchart, in which the internal nodes of the tree contain questions involve only attributes from the user space. non-expert users can understand easily.
Introduction Find the best user attribute to ask at each node. How to learn the structure of the tree, i.e., which questions to ask at each node. Find the best user attribute to ask at each node. This paper focus on identifying the attribute of interest, and not on the task of formulating the question in a human interpretable way. How to produce a suitable ranking at each node. Learning-to-rank approach
Outline Introduction Method Experiments Conclusion LEARNSATREE algorithm Experiments Conclusion
LEARNSATREE algorithm Table U (user) attributes users Table P (product) Table R (review)
User attributes Car (from Yahoo! Autos) Camera (form Flickr) Ex:fuel economy, comfortable interior, stylish exterior Camera (form Flickr) Photo’s tag topic Ex:food topic (tags:fruit, market)
Problem definition Build tree Rank products node 𝑞 A user attribute 𝛼 Top-k list of product recommendations
Learning product rankings RANKSVM Goal:Learn a weight vector 𝑤= 𝑤 1 , …, 𝑤 𝑚𝑝 for the 𝑚 𝑝 technical attributes of the products 𝑃 A > B B > C B > D . RANKSVM model A B D C features Product’s technical attributes
a1 a2 a3 a4 a5 Product A 1 Product B 𝑤= 0.2, 0.1, 0.5, 0.1, 0.1 rank(A) =0.2+0+0.5+0.1+0.1=0.9 rank(B) =0.2+0+0+0.1+0=0.3
Learning the tree structure Goal:determine the best user attribute “𝛼” to split 𝑈 𝑞 at node 𝑞 𝑠𝑢𝑚
𝑝 1 𝑝 2 𝑝 3 𝑝 1 𝑝 3 𝑝 2 Example: Correctly-rank: 𝑝 1 > 𝑝 2 >𝑝 3 System result System result eval(rank) = 2∗3 3∗(3−1) =1 eval(rank) = 2∗2 3∗(3−1) =0.66 𝑝 1 𝑝 2 𝑝 3 𝑝 1 𝑝 3 𝑝 2 ( 𝑝 1 , 𝑝 2 ), ( 𝑝 1 , 𝑝 3 ), ( 𝑝 2 , 𝑝 3 ) ( 𝑝 1 , 𝑝 3 ), ( 𝑝 1 , 𝑝 2 ), ( 𝑝 3 , 𝑝 2 )
user attribute 𝛼 𝑈 𝑞 𝛼 𝑈 𝑞 𝛼 Review table 𝑅 node 𝑞 split user 𝑈 𝑞
Rank list RANKSVM Count payoff product A B D C . F E Rank list RANKSVM Count payoff Consider all possible user attributes 𝛼, and choose as splitter the one that maximizes the pay-off.
Stopping criterion Grow the tree to its “entirety” Post-pruning If a node’s child node is split by the “near-synonomous” tag trim the child node Example: travel vacation Employ pruning rules on the validation set.
Outline Introduction Method Experiments Conclusion
Datasets Car datasets Camera datasets Synthetic datasets Yahoo! Autos 606 cars, 60 attributes 2180 reviews 2180 user, 15 tags (as attributes) Ex:fuel economy, comfortable interior, stylish exterior Camera datasets Flickr tags 645 cameras (CNET) 11468 reviews 5647 user, 25 topic tags (as attributes) Ex:food topic (tags:fruit, market) Synthetic datasets 200 products, 4000 comments, 1000 users
Experiment setup SHOPPINGADVISOR RANKSVM k-NN SA.k-NN Author’s method The ranked list returned by SHOPPINGADVISOR at the root k-NN k-nearest neighbors algorithm SA.k-NN Features are selected from SHOPPINGADVISOR
Quality evaluation A B D 25 topics 12 topics . System result ranking list average MRR If user prefer “B” 1 𝑟𝑎𝑛𝑘 𝑖 = 1 2
Performance evaluation
Outline Introduction Method Experiments Conclusion
Conclusion Proposed a novel recommender system, SHOPPINGADVISOR, that helps users to shop for technical products. SHOPPINGADVISOR leverages both user preferences and technical product attributes in order to generate its suggestions. At each node, SHOPPINGADVISOR suggests a ranking of products matching the preferences of the user. Compared with a baseline, and demonstrated the effectiveness of the approach.