본문 바로가기

인공지능/스터디

[CB Filtering] 1. 개요

Content based Filtering은 팀블로그에서 참고했다.

Content based Filtering

 

[CB Filtering] 1. 개요

Content-based Filtering vs Collaborative Filtering Content-based Filtering - 유저가 과거에 좋아했던 것과 컨텐츠가 유사한 아이템 추천 Collaborative Filtering - Rating을 기반으로 유저와 비슷한 성향을..

data-matzip.tistory.com

 

Content based는 CF와 다르게, user의 rating을 기반으로 추천하는 것이 아닌, content 기반으로 추천하는 것이다.

예를 들어, 영화의 카테고리, 속도감, 화면이 전환되는 속도 등.. 영화의 특성을 묶어 추천해주는 기법이다.

 

 

구조

여기서 중요한 구조는 Represented Items, Profile Learner, Filtering Component이다.

 

먼저 Represented Itmes은 데이터의 특성이 저장되어 있는 저장소이다. 다시 말해, raw 데이터가 특징 vector로 변환되어 있는 곳이다.

 

Profile Learner는 user들의 Profile을 분석한다. 사용자의 정보들로 머신러닝 등의 기법을 사용해 사용자의 선호를 축적한다.

 

마지막으로 Filteriing Component는 앞서 Represented Items, Profile Learner의 정보들을 조합해 사용자가 선호하는 아이템을 추천해준다. 즉, 사용자가 선호하는 아이템을 추천하기 위해 Profile Learner가 필요하고, 선호 아이템과 유사한 아이템을 추천하기 위해 Represented Items가 필요하다.

 

 

장단점

CB의 장단점은 CF의 장단점과 대비된다.

아래는 CF의 링크인데, 장단점을 비교하며 한번에 이해한다면 도움이 될 것이다.

CF의 장단점

 

CB의 장점

* User Independence: CB는 한 user만의 Profile을 만들기 때문에, user의 선호도가 높은 아이템을 추천한다.

* Transparency: 추천을 한 이유가 타당하다. 추천된 아이템의 특성을 보면, 유저가 과거에 어떤 특성을 좋아했고 이와 얼마나 유사한지 비교할 수 있다.

* New Item: 새로 등록한 아이템도 추천이 가능하다.

 

CB의 단점

* Limited Content Analysis: CB Filtering은 아이템 추천에 사용할 특성의 수가 제한적이며, 이 때문에 도메인에 한정적이다.

* Over-specializaion: CB는 유저가 좋아했던 아이템과 비슷한 특성을 가진 아이템을 추천하기 때문에 예상치 못한 아이템을 추천할 수 있다. 이 문제를 Serendipiry Problem라 한다.