아이템의 내용을 나타내는 정보를 사용해 추천하는 알고리즘으로 사용자가 선호하는 정보를 기반으로 내용이 비슷한 아이템을 계산함으로써 추천합니다.
예를 들어, A가 교보문고에서 백엔드 관련 도서 중 Spring에 대한 책을 주로 클릭하였다면 (여기서 클릭을 선호한다는 개념을 잡고 개발했다고 가정합니다) 추천 책의 리스트로 Spring과 관련된 도서들을 추천합니다.
이를 Content-based filtering(내용 기반 필터링)이라고 합니다.
여기서 사용하는 데어터는 다음과 같습니다.
해당 데이터는 사용자들이 좋아하는 아이템의 특징을 나열한 리스트의 형태로 표현 가능합니다.
예를 들어 사용자가 선호하는 개발 직군 및 기술이 프로필에 포함됩니다.
아이템의 경우는 다음과 같을 수 있습니다.
위와 같이 정리되어 있는 아이템을 사용자에게 추천한다고 하는 경우 사용자 1의 프로필에 주목하여 추천하는 정보는 Item1, 사용자 2에게 추천되는 도서는 Item2이다.
여기서 User2와 Item2는 완벽하게 일치하지 않지만 유사도가 높기에 충분히 추천될 수 있습니다.
Content-based filtering에서 사용할 아이템의 특징을 획득하는 방법은 다음과 같습니다.
위와 같이 상품, 아이템에 따라 멀티미디어 처리등의 추가적인 방식을 통해 아이템의 특징을 데이터화시킬 수도 있습니다.
Content-based filtering에서 사용할 사용자 프로필을 획득하는 방법은 다음과 같습니다.