comp9313 big data management
play

COMP9313: Big Data Management Recommender System Source from Dr. - PowerPoint PPT Presentation

COMP9313: Big Data Management Recommender System Source from Dr. Xin Cao Recommendations Examples: Search Recommendations Products, web sites, Items blogs, news items, 2 Recommender Systems 3 Recommender Systems Application


  1. COMP9313: Big Data Management Recommender System Source from Dr. Xin Cao

  2. Recommendations Examples: Search Recommendations Products, web sites, Items blogs, news items, … 2

  3. Recommender Systems 3

  4. Recommender Systems • Application areas • Movie recommendation (Netflix) • Related product recommendation (Amazon) • Web page ranking (Google) • Social recommendation (Facebook) • … … 4

  5. Netflix Movie Recommendation 5

  6. Why using Recommender Systems? • Value for the customer • Find things that are interesting • Narrow down the set of choices • Help me explore the space of options • Discover new things • Entertainment • … • Value for the provider • Additional and probably unique personalized service for the customer • Increase trust and customer loyalty • Increase sales, click trough rates, conversion etc. • Opportunities for promotion, persuasion • Obtain more knowledge about customers • … 6

  7. Recommender systems • RS seen as a function • Given: • User model (e.g. ratings, preferences, demographics, situational context) • Items (with or without description of item characteristics) • Find: • Relevance score. Used for ranking. • Finally: • Recommend items that are assumed to be relevant • But: • Remember that relevance might be context-dependent • Characteristics of the list itself might be important (diversity) 7

  8. Formal Model • X = set of Customers • S = set of Items • Utility function u: X × S à R • R = set of ratings • R is a totally ordered set • e.g., 0-5 stars, real number in [0,1] • Utility Matrix Avatar LOTR Matrix Pirates 1 0.2 Alice 0.5 0.3 Bob 0.2 1 Carol 0.4 David 8

  9. Key Problems • Gathering “known” ratings for matrix • How to collect the data in the utility matrix • Extrapolate unknown ratings from the known ones • Mainly interested in high unknown ratings • We are not interested in knowing what you don’t like but what you like • Evaluating extrapolation methods • How to measure success/performance of recommendation methods 9

  10. Gathering Ratings • Explicit • Ask people to rate items • Doesn’t work well in practice – people can’t be bothered • Implicit • Learn ratings from user actions • E.g., purchase implies high rating 10

  11. Paradigms of recommender systems Recommender systems reduce information overload by estimating relevance 11

  12. Paradigms of recommender systems Personalized recommendations 12

  13. Paradigms of recommender systems Collaborative: "Tell me what's popular among my peers" 13

  14. Paradigms of recommender systems Content-based: "Show me more of the same what I've liked " 14

  15. Paradigms of recommender systems Knowledge-based: "Tell me what fits based on my needs" 15

  16. Paradigms of recommender systems Hybrid: combinations of various inputs and/or composition of different mechanism 16

  17. Content-based Recommendation show me more of the same what I've liked 17

  18. Content-based Recommendations • Main idea: Recommend items to customer x similar to previous items rated highly by x • What do we need: • Some information about the available items such as the genre ("content") • Some sort of user profile describing what the user likes (the preferences) • Example: • Movie recommendations: • Recommend movies with same actor(s), director, genre, … • Websites, blogs, news: • Recommend other sites with “similar” content 18

  19. Plan of Action Item profiles likes build recommend Red match Circles Triangles User profile 19

  20. What is the “Content"? • Most CB-recommendation techniques were applied to recommending text documents. • Like web pages or newsgroup messages for example. • Content of items can also be represented as text documents. • With textual descriptions of their basic characteristics. • Structured: Each item is described by the same set of attributes Title Genre Author Type Price Keywords • The Night of Memoir David Carr Paperback 29.90 Press and journalism, drug the Gun addiction, personal memoirs, New York The Lace Fiction, Brunonia Hardcover 49.90 American contemporary Reader Mystery Barry fiction, detective, historical Into the Fire Romance, Suzanne Hardcover 45.90 American fiction, murder, Suspense Brockmann neo-Nazism • Unstructured: free-text description. 20

  21. Item Profiles • For each item, create an item profile • Profile is a set (vector) of features • Movies: author, title, actor, director,… • Text: Set of “important” words in document • How to pick important features? • Usual heuristic from text mining is TF-IDF (Term frequency * Inverse Doc Frequency) • Term … Feature • Document … Item 21

  22. User Profiles and Prediction • User profile possibilities: • Weighted average of rated item profiles • Variation: weight by difference from average rating for item • … • Prediction heuristic: • Given user profile x and item profile i , estimate 𝒚 · 𝒋 𝑣(𝒚, 𝒋) = cos(𝒚, 𝒋) = | 𝒚 | ⋅ | 𝒋 | 22

  23. Pros: Content-based Approach • +: No need for data on other users • +: Able to recommend to users with unique tastes • +: Able to recommend new & unpopular items • No first-rater problem • +: Able to provide explanations • Can provide explanations of recommended items by listing content-features that caused an item to be recommended 23

  24. Cons: Content-based Approach • –: Finding the appropriate features is hard • E.g., images, movies, music • –: Recommendations for new users • How to build a user profile? • –: Overspecialization • Never recommends items outside user’s content profile • People might have multiple interests • Unable to exploit quality judgments of other users 24

  25. Collaborative Filtering show me more items favored by others who have similar tastes with me 25

  26. Collaborative Filtering (CF) • The most prominent approach to generate recommendations • used by large, commercial e-commerce sites • well-understood, various algorithms and variations exist • applicable in many domains (book, movies, DVDs, ..) • Approach • use the "wisdom of the crowd" to recommend items • Basic assumption and idea • Users give ratings to catalog items (implicitly or explicitly) • Customers who had similar tastes in the past, will have similar tastes in the future 26

  27. Collaborative Filtering • Consider user x • Find set N of other users whose ratings are “ similar ” to x ’s ratings • Estimate x ’s ratings based on ratings of users in N 27

  28. User-based Nearest-Neighbor Collaborative Filtering • The basic technique • Given an "active user" (Alice) and an item 𝑗 not yet seen by Alice • find a set of users (peers/nearest neighbors) who liked the same items as Alice in the past and who have rated item 𝑗 • use, e.g. the average of their ratings to predict, if Alice will like item 𝑗 • do this for all items Alice has not seen and recommend the best-rated • Basic assumption and idea • If users had similar tastes in the past they will have similar tastes in the future • User preferences remain stable and consistent over time 28

  29. User-based Nearest-Neighbor Collaborative Filtering • Example • A database of ratings of the current user, Alice, and some other users is given: Item1 Item2 Item3 Item4 Item5 Alice 5 3 4 4 ? User1 3 1 2 3 3 User2 4 3 4 3 5 User3 3 3 1 5 4 User4 1 5 5 2 1 • Determine whether Alice will like or dislike Item5 , which Alice has not yet rated or seen 29

  30. User-based Nearest-Neighbor Collaborative Filtering • Some first questions • How do we measure similarity? • How many neighbors should we consider? • How do we generate a prediction from the neighbors' ratings? Item1 Item2 Item3 Item4 Item5 Alice 5 3 4 4 ? User1 3 1 2 3 3 User2 4 3 4 3 5 User3 3 3 1 5 4 User4 1 5 5 2 1 30

  31. Finding “Similar” Users r x = [*, _, _, *, ***] r y = [*, _, **, **, _] • Let r x be the vector of user x ’s ratings ||# $ ∩# & || • Jaccard similarity measure r x , r y as sets: ||# $ ∪# & || r x = {1, 4, 5} r y = {1, 3, 4} • Problem: Ignores the value of the rating • Cosine similarity measure r x , r y as points: " ! ⋅" " • sim( x , y ) = cos( r x , r y ) = r x = {1, 0, 0, 1, 3} ||" ! ||⋅||" " || r y = {1, 0, 2, 2, 0} • Problem: Treats missing ratings as “negative” • Pearson correlation coefficient • S xy = items rated by both users x and y ∑ 𝒕∈𝑻 𝒚𝒛 𝒔 𝒚𝒕 − 𝒔 𝒚 𝒔 𝒛𝒕 − 𝒔 𝒛 r x , r y … avg. 𝒕𝒋𝒏 𝒚, 𝒛 = rating of x , y 𝟑 ∑ 𝒕∈𝑻 𝒚𝒛 𝒔 𝒚𝒕 − 𝒔 𝒚 𝟑 ∑ 𝒕∈𝑻 𝒚𝒛 𝒔 𝒛𝒕 − 𝒔 𝒛 31

  32. Cosine similarity: Similarity Metric ∑ 𝒋 𝒔 𝒚𝒋 ⋅ 𝒔 𝒛𝒋 𝒕𝒋𝒏(𝒚, 𝒛) = 𝟑 ⋅ 𝟑 ∑ 𝒋 𝒔 𝒚𝒋 ∑ 𝒋 𝒔 𝒛𝒋 • Intuitively we want: sim( A , B ) > sim( A , C ) • Jaccard similarity: 1/5 < 2/4 • Cosine similarity: 0.380 > 0.322 • Considers missing ratings as “negative” • Solution: subtract the (row) mean sim A,B vs. A,C: 0.092 > -0.559 Notice cosine sim. is correlation when 32 data is centered at 0

Recommend


More recommend