context aware recommendation n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Context-Aware Recommendation PowerPoint Presentation
Download Presentation
Context-Aware Recommendation

Loading in 2 Seconds...

play fullscreen
1 / 29

Context-Aware Recommendation - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

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. Traditional recommendation methods

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Context-Aware Recommendation' - zody


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
context aware recommendation

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
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

recommendation
Recommendation

Music

Recommender

Collaborative Filtering

Content based Recommendation

Rules

Input: User1, User DB, Song DB, User Listen Log

Input: User1, User DB, Song DB, User Listen Log

(User1 hasSimilarTasteWithf User2)

(User2 likesf Song2)

(User1 notListened Song2)

=> Recommendf Song2 to User1

(User1 likesf Song1)

(Song2 isSimilarWithf Song1)

(User1 notListenedSong2)

=> RecommendfSong2 to User1

Output: Sorted Song List

Output: Sorted Song List

Vocabularies

Recommendf

notListened

likesf

hasSimilarTasteWithf

isSimilarWithf

Interpreter

Assumption.

If there is not listen log,

user didn’t listen a song before.

Interpreter

Interpreter

Interpreter

Assumption.

If user listen a song frequently, user likes it.

Assumption.

If user1 scored similarly with user 2

User1 and user 2 has similar taste.

Assumption.

If music1 and music2 have similar feature values

Music1 and music2 is similar.

Interpreter

Logs

m6

m2

m4

m5

Recommend

U2

Listen (when, where,…)

U1

HasFeatureValue

m3

m7

m1

recommendation cont d
Recommendation (cont’d)
  • Recommendation
  • Context-Aware Recommendation
    • Context-Aware Collaborative Filtering
    • Context-Aware Contents-based Recommendation
      • Context abstraction
      • Context grouping
      • Item abstraction
      • Item grouping
      • User profiling
1 context aware collaborative filtering
1. Context-Aware Collaborative Filtering

각상황 별로 사용자의 성향을 구분하고, 상황 별로 Collaborative Filtering을 수행한다. Active context (추천해야 하는 현재 상황)에 해당하는 상황을찾고 이에 따라서 추천을 수행한다.

user

item

There are too many probable contexts

context

2 context aware content based recommendation
2. Context-Aware Content-based Recommendation

Last.fm music

0.3

Music Group 1

Context Group 2

Music Group 2

These songs can be recommended.

0.9

Context Group 1

Last.fm user listen logs

2 context aware content based recommendation1
2. Context-Aware Content-based Recommendation
  • Item
  • Context
  • Group
  • Item
  • Group
  • Context

2

3

mg1

cg1

1

mg2

cg2

c

cgm

mg2

  • Active context
  • User

Model based recommendation

2

3

1

abstraction in music domain
Abstraction in Music Domain

Semantic Annotation

= Abstraction with domain concepts

Context Abstraction

Context can be obtained

from users’ listen logs

Context Concept

Tag

belongs

tagged

time

count

location

occasion

country

id

tagged

name

User

listen

Song

count

gender

tagged

age

Tag_count

Users listen logs

count

Track_count

trackOf

songBy

Learn user’s preference from listen logs

Album

Artist

1 context abstraction
1) Context Abstraction

Context Concepts

context

concept

fuzzy membership function

context

context

context

context

Cool

filtered data

Filter

filtered data

sensed data

Filter

Sensor

Sensor

1 context abstraction fuzzy join
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

1 context abstraction fuzzy equi join
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
1 context abstraction periodic membership function
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

2 context grouping
2) Context Grouping
  • Atomic Context Concept
    • Assume concepts are independent
  • Clustering
    • K-means
    • Fuzzy C-means
    • Hierarchical clustering
    • Mixture of Gaussians
    • http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/index.html
  • Group Meaningful Context
3 music abstraction
3) Music Abstraction

Modeling

Use annotations

S = {(t, w) | t ∈ T, w ∈ R and 0 ≤ w ≤1}

rock

Sleeping Beauty {(rock, w1), (90s, w2)}

Rose {(rock, w1), (indie, w2)}

Sleeping Beauty

alternative

Weight calculation

My Fist Your Face

seen live

  • Tf-idf
  • BM25

Rose

indie

90s

Thinking of You

electro

I've Got to See You Again

romance

jazz

annotations

song

4 music grouping
4) Music Grouping
  • Similar to context grouping
5 user profiling
5) User Profiling

Item groups

context groups

User profile

mg1

cg1

mg2

cg2

cgm

mg2

c

m

Abstracted context

User’s listen log

5 user profiling fuzzy join and aggregation
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

contribution
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 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.
how to evaluate
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.
experiments
Experiments
  • Two domains
    • Music domain
      • Last.fm
    • Movie domain
      • iMDB
  • They has different characteristics
publication schedule
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
deep research topic
Deep Research Topic
  • What is the important features of context and music?
  • What is the optimal model?

music

context

additional issues
Additional Issues
  • Crawling
  • Data sampling
  • Relationship extraction
    • Approximate string matching
crawling last fm
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
data sampling
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‘
  • 상위 100여명 정도가 많이 들은 노래에 있는 tag로 음악 추상화
    • Artist, album을 어떻게 활용할지는 일단 보류
  • 앨범 이름, 곡명이 일치하지 않는 것 어떻게 처리할지 고려하자.
    • Approximate string matching을 적용하는 것은 또 다른 문제
approximate string matching
Approximate String Matching
  • Not exact link data – Approximate string matching
    • Data were represented by user’s song name so that same song have multiple names.
    • Last.fm does not assume strict foreign key constraints.

We have to match by using fuzzy match methods

m1

u1

m2

u2

m3

u3

m4

u4

approximate string matching1
Approximate String Matching
  • Approximate string search
  • Levenshtein Distance (Edit Distance)
    • This calculates the minimum number of insertions, deletions, and substitutions necessary to convert one string into another.
    • http://www.merriampark.com/ld.htm
  • Gestalt
  • SoundEx
    • Its goal is to group letters that sound alike, then convert the name into a series of numbers that can represent the name
  • Jaccard Similarity
    • http://en.wikipedia.org/wiki/Jaccard_Similarity_Coefficient
  • Cosine Similarity
    • http://en.wikipedia.org/wiki/Cosine_similarity
  • Dice Similarity
    • http://en.wikipedia.org/wiki/Dice%27s_coefficient
packages
Packages
  • FLAMINGO Package
    • http://flamingo.ics.uci.edu/releases/2.0/
additional research topics
Additional Research Topics
  • Approximate string matching for Korean
    • 한글은 초성, 중성, 종성으로 나누어지기 때문에 글자 단위가 아니라, 이 같은 음소 단위로 처리 해야할 필요가 있음.
    • 동일한 발음을 가지는 ‘ㅔ’,’ㅐ’ 등의 모음 처리 및 ‘ㄷ’,’ㅌ’ 등의 자음 받침에 대한 고려가 필요함.
  • What can it be used for?
    • 검색어 추천 및 맞춤법 교정
    • 한글 데이터가 포함된 Data mining
    • 웹 상의 자료는 오타, 맞춤법 오류 등이 많으므로 이를 고려해야 함