1 / 27

Model-based Context-Aware Recommendation

Model-based Context-Aware Recommendation. Intelligent Database Systems Lab School of Computer Science & Engineering Seoul National University, Seoul, Korea Dongjoo Lee. Center for E -Business Technology Seoul National University Seoul, Korea. Introduction.

Download Presentation

Model-based Context-Aware Recommendation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Model-based Context-Aware Recommendation Intelligent Database Systems Lab School of Computer Science & Engineering Seoul National University, Seoul, Korea Dongjoo Lee Center for E-Business Technology Seoul National University Seoul, Korea

  2. Introduction • Traditional recommendation methods • Content-based recommendation • What’s the features that can describe the item? • Collaborative filtering • Item based CF • User based CF • Hybrid CF • Issues in using context information in recommendation • What iscontext information? • How to use context information? • Is it really useful to use context information in recommendation? user item

  3. Recommendation • Recommendation • Context-Aware Recommendation • Model-based Context-Aware Recommendation • Context abstraction • Item abstraction • Model construction • Context-item association rule mining • User profiling

  4. Model-based Context-Aware Recommendation • Item • User and Context • Cluster • Item • Cluster 2 3 mg1 cg1 1 mg2 cg2 … … … • User cgm mgn • Active context Model based recommendation 2 3 1

  5. Learning from Logs cg1 mg1 Users listen logs Users Music cg2 mg2 cgm mgn Scoring r1: (Male, 40대, Winter, Home) -> (Jazz, 16Bit); <0.07, 0.7> r2: (20대, Night) -> (Rock); <0.03, 0.3> r3: (20대, Night) -> (Dance); <0.02, 0.4> Materialize Learning (association rule mining) Fuzzy Abstraction (Quantization)

  6. Definition • Database Definition • Fuzzy Set

  7. Definition (cont’d) • Fuzzy Predicate • Fuzzy Association Rule • r indicate that if pA(t) satisfied, we can imply pB(t). This means that if a tuple t is a member of fuzzy set A, we can say it is also a member of fuzzy set B. • Association Rule Mining • The goal of association rule mining is to find all association rules that has confidence and support bigger than or equal to minimum confidence and minimum support.

  8. Use Fuzzy Association Rule in Recommendation

  9. Learning: Association Rule Mining Example

  10. Formal Expression

  11. 1) Context Abstraction – Context Representation Context Concepts context 20080910 14:34:00, 7℃ = {(cool, 0.5), (cold, 0.5),(fall,0.9),(afternoon,1.0),…} … concept context context context context Cool filtered data Filter filtered data sensed data fuzzy membership function Filter Calculate weight by using fuzzy membership functions Sensor Sensor

  12. 1) Context Abstraction – Fuzzy Join Context Data Abstract Context Concepts Fuzzy Join Result Product of two relation Fuzzy Join Functions Fuzziness Cool Hot Cold Temperature α-cut may improve query performance

  13. 1) Context Abstraction – Fuzzy Equi-Join • Normal Equi-Join • Fuzzy Equi-Join • The most important thing is fuzzy function (≈) that compares two values • Obtain fuzzy membership degree • Performance Improvement • Sort-Merge Join using partial order of fuzzy similarity • SELECT T1.*, T2.*FROM table1 T1 JOIN table2 T2 ON T1.a = T2.b • SELECT T1.*, T2.*, FuzzyValueFROM table t1 JOIN table t2 ON t1.a ≈ t2.bWHERE FuzzyValue > THETA

  14. 1) Context Abstraction – Periodic Membership Function Because temporal value is periodic , periodic function is appropriate for calculating membership degree to the temporal concepts. • Dawn, Morning, Noon, Afternoon, Evening, Night, Midnight • Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday • Spring, Summer, Autumn, Winter • New Year’s Day, Valentine’s Day, White Day, Children’s Day, Parents’ Day, Christmas Modified Cosine Function f(x) = max(min(10.0 * cos( 2pi * (x - (150) ) / 1440 - 8.5), 1, 0) dawn time f(x) = max(min(7.0 * cos( 2pi * (x - (60) ) / 1440 - 5.5), 1, 0) midnight f(x) = max(min(4.0 * cos( 2pi * (x - (172800) ) / 525600 - 2.4), 1, 0) Spring

  15. Context Concept and Membership Function f(x) = max(min(a * cos( 2pi * (x - b ) / c) - d, 1, 0)

  16. Fuzzy join query select log_id, concept_id, fuzziness from ( select t2.id log_id, t2.user_id, t2.track_id, t1.id concept_id, t1.name, t2.m_date, t2.m_val, casewhen t1.a*cos(2* 3.141592 *(t2.M_VAL + t1.IDX-t1.b)/t1.c) - t1.d > 1 then 1 when t1.a*cos(2* 3.141592 *(t2.M_VAL + t1.IDX-t1.b)/t1.c) - t1.d < 0 then 0 else t1.a*cos(2* 3.141592 *(t2.M_VAL + t1.IDX-t1.b)/t1.c) - t1.d end fuzziness fromtest_lfm_temp_concept t1, test_lfm_user_track t2 orderbylog_idasc) where fuzziness > 0.5

  17. 3) Music Abstraction – Music Representation Representation DC: Domain concepts m: Target items • Sleeping Beauty = {(rock, 1.0), (90s, 0.9)} • Rose = {(rock, 1.0), (indie, 0.8)} • … rock Sleeping Beauty alternative Membership degree calculation My Fist Your Face seen live Rose indie 90s Thinking of You electro I've Got to See You Again romance jazz annotations song

  18. Fuzzy join query select a.track_id, c.id tag_id, a.tag, a.count/b.tag_count_maxmaxratio, (log(2, a.count/b.tag_count_max) + 5 - log(2, 0.0005))/(5-log(2,0.0005)) fuziness from test_lfm_track_tag a jointest_lfm_track b ona.track_id = b.id jointest_lfm_tag c on a.tag = c.tag where a.count/b.tag_count_max > 0.0001

  19. 5) User Profiling – Fuzzy Join and Aggregation Context concepts and fuzzy function User listen logs with context Fuzzy-equivalent Join (Time) Music with annotations Context grouping Item grouping Equivalent Join (Music) Aggregation

  20. Contribution • Model based context aware recommendation • Do not depends on ambiguous relationships among concepts, users, and items • Not from the name or description • But from the semantic annotations, tags • Abstract context concepts by using fuzzy membership functions • Distinguish context concepts from target domain concepts • There is no reason to put them together • Even though they have the same name, we have to consider them as different. • Domain concepts are only meaningful when they are used in that domain. They may have different meaning when they are used in different domains.

  21. How to Evaluate? • How to evaluate effect of the context? • Divide logs into training set and test set • Give the same information and see the results of no context using path and context using path • If recommended song list contains the song, it’s ok. • Top k recommendation results.

  22. Publication Schedule • Target conference • The 2009 IEEE/WIC/ACM International Conference on Web Intelligence (WI ’09) • Info: 15-18 September 2009, Milan Italy • Due date: April 10, 2009 • Notification: June 3, 2009 • Format: IEEE 2 column format, max 8 pages

  23. Additional Issues • Crawling • Data sampling • Relationship extraction • Approximate string matching – didn’t apply

  24. Crawling last.fm • 735,000 users • South Korea, North Korea, Japan, United Kingdom, USA • 5,855,000 tracks • duplicated multiple tracks • 913,720/3,322,000 …… still crawling • 69,725,000 user listen recent tracks • 69,000,000 listen tracks of thousands of users • 6,659,000 user loved tracks • 2,311,000 user tags

  25. Data Sampling • 미국 국적에 음악을 많이 들은 상위 100여명 정도에 대해서만 테스트 • select * from lfm_user where country = 'United States' and track_count2 > 1000 order by track_count2 desc • 상위 100여명 정도가 많이 들은 노래 선정 • select * from lfm_rel_user_track_2 where user_id = 'thetasteofink‘ • Tag 읽어오는 쿼리 • select a.id, a.artist, a.name, b.tag, b.count from test_lfm_track_match a join lfm_rel_track_tag b on a.id = b.track_id • 상위 100여명 정도가 많이 들은 노래에 있는 tag로 음악 추상화 • Artist, album을 어떻게 활용할지는 일단 보류 • 앨범 이름, 곡명이 일치하지 않는 것 어떻게 처리할지 고려하자. • Approximate string matching을 적용하는 것은 또 다른 문제

  26. Experiments • Two domains • Music domain • Last.fm • Movie domain • iMDB • They have different characteristics

  27. Data Sets Sampling from last.fm

More Related