본문 바로가기

Artificial Intelligence/Recommend System

추천의 종류 및 개념.

추천의 종류 및 개념.

 

추천에는 몇가지 방법을 제공한다.

아이템 자체의 내용을 분석해서 하는 추천하는 방법과 사용자들이 아이템을 평가한 이력을 분석해서 추천하는 방법이 대표적이다.

각 방법의 정확한 개념과 기본적인 사용법을 정의해본다.

 

 User-based Collaboration Filtering  Item-based Collaboration Filtering  Content-based Filtering
 사용자 A 가 선호하는 아이템을 사용자 B 에게 추천한다.
사용자 A 와 B 의 연결고리는 유사도만 있다.
Cold-start 단점이 있다.
 사용자 A, B, C, D, E 모두 아이템 X 를 가지고 있다.
B, C, D, E 가 모두 아이템 X 와 아이템 Y 를 좋아한다면 아이템 X 와 Y 의 유사도는 높다고 볼 수 있다.(아이템간의 유사도는 평점을 이용해서 계산한다.)
따라서 사용자 A 에게 아이템 Y 를 추천한다.
User-based 방식과 유사하게 아이템간의 유사도를 측정하는 방식.
넷플릭스, 아마존에서 사용하는 방식.
 아이템 자체의 속성(메타데이터)만을 이용한다.
사용자가 아이템 X 를 선택하면 아이템 X 와 유사도가 가장 높은 아이템을 추천한다.(아이템간의 유사도는 메다테이터만을 이용해서 계산한다.)
비슷한 장르(카테고리)만 추천한다는 단점.
사용자의 액션이 없이 아이템의 고유 메타데이터만이 고려대상이다.
1. '사용자-아이템-평점' 의 sparse matrix 를 구한다.
2. '사용자-사용자' 유사도를 구한다.
- '아이템-아이템' 유사도 구하는 방법과 동일하다.
3. 유사도가 높은 사용자의 평점이 높은 아이템을 추출한다.
- 장르는 상관없이 평점만 고려한다.
 NaN 가 아닌 평점을 추려낸다.
평점을 이용해서 '아이템-아이템' 유사도를 구한다.


1. Sim(x, y) 를 구한다.
 아이템의 메타데이터를 이용해서 빈도수를 구한다.
유사도를 구한다.


1. TD-IDF 를 구한다.
2. Sim(x, y) 를 구한다.

 

user-based 방식을 보완하는 것이 item-based 방식이다.

유사한 방식으로 구현되어 있으며 둘을 같이 엮어서 생각하는 것이 좋다.

 

일반적으로 사용자 숫자가 아이템 숫자보다 많기 때문에 user-based 방식을 사용할때 메모리 문제를 겪는 경우가 많다.

item-based 방식은 장르를 가리지 않고 추천이 가능하나 user-based 방식과 비교해서 정확성이 떨어진다는 단점이 있다.