본문 바로가기

추천시스템

추천시스템의 분류

추천시스템은 크게 collaborative filtering(CF)과 content-based filtering(CB)로 구분할 수 있다. 각각의 장단점이 있기에 요즘은 이 둘을 결합한 hybrid 방식이 많이 채택된다.

 

Collaborative Filtering

Idea

  • 과거 아이템 선택 이력이 비슷한 유저들끼리는 취향이 비슷할 것이다.
  • 아이템 A, B, ..., G를 좋아하는 유저들은 아이템 X도 좋아하더라. 그러면 어떤 유저가 아이템 A, B, ..., G를 좋아한다면 해당 유저의 아이템 X에 대한 피드백이 없더라도 이 유저도 아이템 X를 좋아할 것이라고 추측할 수 있다.

과거 아이템 선택이 비슷한 유저들끼리 그룹으로 나눈다고 해보자. 어떤 그룹 내의 유저가 특정 아이템을 접한 적이 없더라도 그 그룹 내의 다른 유저들의 해당 아이템에 대한 반응을 참고하여 추천 여부를 결정할 수 있다.

또 다른 방법으로는 과거 아이템 선택 히스토리를 바탕으로 각 유저를 임베딩하여 새로운 아이템에 대한 반응을 예측할 수 있다.

 

CF는 기본적으로 유저와 아이템들 간의 상호작용 데이터를 필요로 한다. 그 상호작용이란 아이템에 대한 유저들의 과거 피드백을 말한다. 평점 같은 직접적인 피드백은 물론 클릭, 조회 여부 등의 암묵적인 피드백이 될 수도 있다. CF 문제를 풀기 위하여 여러 유저들의 피드백을 종합한 user-item interaction matrix가 많이 사용된다. 이 행렬의 $u$번째 행, $i$번째 열 원소는 $u$번째 유저의 $i$번째 아이템에 대한 피드백 점수로 평점 그 자체가 될 수 있고 클릭 여부 1/0이 될 수 있다.

 

단점

  • Cold-Start : 유저들과 아이템들 간의 상호작용 데이터가 충분하지 않으면 CF로 좋은 추천 성능을 기대할 수 없다. 보통 서비스 초반에는 유저들의 피드백이 별로 없기 때문에 CF를 바로 적용하기 어렵다.

 

Content-Based Filtering

Idea

  • 유저는 과거에 자신이 선택한 아이템들과 비슷한 아이템을 좋아할 가능성이 높다.

Content-based filtering은 아이템별로 특성을 추출하여 과거 유저가 긍정적인 반응을 보인 아이템들과 유사한 아이템을 추천하는 것을 의미한다. 아이템의 특성으로는 아이템을 묘사하는 이미지나 텍스트, 아이템의 카테고리 등이 있을 수 있다.

 

단점

  • 아이템으로부터 유의미한 피처를 추출하는데 어려움이 있을 수 있다.

 

Hybrid Method

CF, CB 각각의 단점을 보완하기 위하여 두 방식을 혼합하는 경우가 많다. CF를 적용하되 아이템에 대한 부가적인 정보를 활용하는 식이다. 혹은 서비스 초반에는 CB로 추천하다가 어느 정도 데이터가 쌓이면 CF로 확대해나가는 방식으로 전략을 짤 수 있다.

 

 

 

 

'추천시스템' 카테고리의 다른 글

Knowledge Graph  (0) 2022.10.30
Continual Learning in Recommender Systems  (0) 2022.08.28
랭킹 최적화 문제  (0) 2022.07.18
정형 데이터를 다루기 위한 Neural Network  (0) 2022.01.18
Sequential Recommendation과 GNN  (0) 2022.01.18