추천시스템 기본이론1 -content based recommendation-
1. 추천 시스템이란 무엇인가
1-1) example
아마존의 웹페이지에서는 이전에 구매한 상품을 바탕으로 앞으로도 구매할 법한 상품을 추천해줌
심지어 함께 구매하면 좋은 상품도 추천해줌
영어 써진거 보니까 이미 해당 상품을 산 사람이 또 산 상품을 추천해주는 것 같네
스팀처럼 이전에 본 영화를 바탕으로 추천 이유를 명시해주면서 비슷한 영화를 추천해줌
유튜브는 그동안 본 영상을 바탕으로 맞춤형 추천 영상을 제시함
1-2) recommendation system on graph
추천 시스템은 사용자가 구매할만한, 혹은 선호할법한 상품을 추천
사용자별 구매 기록은 그래프로 표현할 수 있다.
평점을 통한 명시적인 선호를 표현할 수도 있고
단순히 구매기록만 나타낸 암시적인 선호를 표현할 수도 있다.
추천 시스템의 핵심은 사용자별 구매를 예측하거나 선호도를 추정하는 것이다.
그래프 관점으로 바꿔서 보면 미래에 추가될 link를 예측하거나 link의 누락된 weight를 추정하는 문제다.
2. content based recommendation
각 사용자가 구매했던, 혹은 만족했던 상품과 유사한 것을 추천하는 방법
사용자가 구매한 상품으로부터 얻는 수많은 정보를 바탕으로 추천한다
장르, 감독, 동일 배우, 카테고리, 동갑(나이) 등 수많은 정보를 바탕으로 추천해줌
2-1) idea
1. item profile
먼저 사용자가 선호했던, 혹은 구매했던 상품들의 프로필을 만든다.
상품의 프로필은 상품의 수많은 특성을 정보로 가지는 one-hot vector이다.
2. user profile
사용자의 상품별 선호 가중치를 구한다.
선호 가중치를 이용하여 상품 프로필(item profile)의 가중합벡터를 구한다. 이것이 사용자 프로필(user profile)이다.
사용자 프로필은 사용자가 선호한 상품들의 정보가 하나의 벡터에 집약되어 있다.
3. matching of another item
이제 (추천하고자 하는 후보 대상)새로운 상품들에 대한 상품 프로필 벡터를 만든다.
당연히 대상 상품들이 여러개니까 상품 프로필 벡터는 v1,v2,v3,... 여러개이고 이들 중에서 추천해줄만한 상품을 구하고 싶은 것이다.
앞에서 구한 사용자 프로필과, 상품 프로필인 v1,v2,v3,... 각각과 코사인 유사도를 구하여 유사도가 높은 상품을 추천해준다.
코사인 유사도가 높다는 것은 두 벡터가 비슷한 방향을 가리킨다는 뜻이다. 혹은 두 벡터가 이루는 각이 작다는 것이다.
현실적으로는 해당 사용자가 과거에 선호한 상품과(사용자 프로필에 담겨있음) 현재 추천하고자 하는 상품이 유사하다는 뜻이다.
2-2) 장점
사용자 본인의 과거 구매 기록만 사용한다.
독특한 취향을 가지는 사용자에게 추천이 가능하다.
이것은 다른 사람들의 취향과 무관해서 좋다.
예를 들어 협업 필터링을 쓰려고 하는데 다른 사람들과는 다르게 모든 평점에 동일하게 1,1,1,1,1,1,1,1, 이런식으로 부여하면 상관계수를 쓸 수 없으니 이런 경우에 유용할 것 같다.
특히 상품평점과는 무관하게 오직 상품정보만 쓴다는 사실에서도 효과적이다.
새 상품에 대해서도 추천 가능하다. 바로 위에서 언급했지만 오직 상품이 가지는 정보만 사용하기 때문에 평점이 없는 새 상품에 대해서도 사용 가능하다.
추천의 이유를 제공해줄 수 있다. 사용자 프로필에 구매 기록에 대한 정보가 있으며 이와 가장 유사한 상품 프로필 벡터를 찾기 때문이다.
2-3) 단점
상품프로필을 작성해야하는데 상품에 대한 속성정보가 없으면 사용이 불가능하다.
사용자 프로필이 있어야하는데 사용자의 구매기록이 없으면 사용이 불가능하다.
협소한 추천을 할 위험이 있다.
우연히 처음에 2번 로맨스 영화를 본 것가지고 이것에 선호도가 치우쳐져 있어서 계속해서 로맨스 영화를 추천하는 경향을 가질 수 있다.
'딥러닝 > recommendation system' 카테고리의 다른 글
시간에 따른 편향을 고려한 latent factor model (0) | 2024.07.19 |
---|---|
사용자와 상품의 편향을 고려한 latent factor model (0) | 2024.07.17 |
latent factor model for recommendation system (0) | 2024.07.16 |
추천시스템 평가 방법 (0) | 2024.07.05 |
추천시스템 기본이론2 -collaborative filtering- (0) | 2022.11.10 |