본문 바로가기
데이터과학/업계 이야기

추천시스템: 컨텐츠 기반 필터링

by 경성현 2020. 12. 18.

컨텐츠 기반 필터링이란?

컨텐츠 기반 필터링은 사용자가 과거에 경험했던 아이템 중 비슷한 아이템을 현재 시점에서 추천하는 것입니다. Information Retrieval과 Machine Learning의 중간 지점 정도라고 생각할 수 있습니다. 즉, 컨텐츠 기반 추천시스템은 정보(아이템)를 찾는 과정과 과거 정보를 활용해서 유저의 성향을 배우는 문제라고 볼 수 있습니다. 아래 그림에서 볼 수 있듯이, 협업필터링과는 개념이 다릅니다.

출처: Designing of Recommendation Engine for Recyclable Waste Mobile App

가령, 웹사이트, 블로그, 뉴스를 구독하고 있는 고객에서 비슷한 컨텐츠의 게시글(item)을 찾아서 추천해 주는 모델을 생각해 보시면 됩니다. 하지만, 컨텐츠 기반 추천시스템은 계속 편향적으로 유저에게 아이템을 추천하는 경우가 많으니 모형을 개발할때 주의해야 합니다.

컨텐츠 기반 추천시스템 구조

컨텐츠 기반 추천시스템을 위와 같은 구조로 생각해 볼 수 있습니다. 위의 구조에서 컨텐츠 분석, 유저 프로필 파악, 유사 아이템 선택 과 관련해서 조금 자세히 알아보겠습니다.

  • 컨텐츠 분석 - 텐트와 같은 비정형 데이터로부터 관련 있는 정보를 얻는 작업이라고 할 수 있습니다. 가령 feature extraction, vector representation 등의 작업을 수행해야 합니다.
  • 유저 프로필 파악 - 유저가 선호하는 아이템과 취향을 파악하는 과정입니다. 머신러닝 등 알고리즘을 통해 유저 데이터를 일반화 하는 과정입니다.
  • 유사 아이템 선택 - 아이템 중 가장 적절하게 매팅하는 아이템을 선택하는 과정입니다. Cosine 유사도 등을 이용하여 유저의 기존 선택과 가장 관련 있는 아이템이 무엇인지 선정하는 과정 입니다.

컨텐츠 기반 추천시스템에서 중요한 것

  • 컨텐츠의 내용을 분석하는 아이템 분석 알고리즘 - 콘텐츠를 유형별로 Clustering하는 기술, Machine Learning, 텍스트 형태로 된 데이터로부터 전처리 과정을 거쳐서 TF-IDF으로 가중치를 부여하는 기술, 아이템-아이템 간 유사도를 계산하는 Cosine 유사도 등을 적절히 활용할 수 있어야 함.
  • 성능을 높일 수 있는 적절한 컨텐츠를 사용 - 음악 추천을 위해 음악과 관련된 정보를 활용하고, 뉴스 기사 추천을 위해 뉴스 내용을 활용하는 것. 유저의 관심사를 표현할 수 있도록 정보를 추출해야 함.

컨텐츠 기반 추천시스템의 장점

  • 다른 유저의 데이터가 필요하지 않다.
  • 추천할 수 있는 아이템의 범위가 넓다. 즉 새로운 아이템이나 인기 없는 아이템도 추천이 가능한다.
  • 추천하는 이유를 제시할 수 있다. 아이템의 features로 컨텐츠를 분석하는 것이 가능하기 때문에, 특정 feature가 추천의 이유가 됐다고 설명이 가능하다.

컨텐츠 기반 추천시스템의 단점

  • 적절한 features를 찾기가 어렵다. 
  • 새로운 유저를 위한 추천이 어렵다. 특, 유저 프로필이 존재하지 않거나 데이터가 매우 부족한 경우에 해당 유저에게 추천시스템을 적용하기 어렵다.
  • 선호하는 특성을 가진 항목을 반복 추천한다. 즉 추천시스템이 overspecialization되는 경향이 있으며, 유저의 다양한 취향을 반영하기 어렵다. 

음악 사이트 판도라(Pandora)의 추천 시스템 예시

  • 신곡이 출시되면, 음악을 분석하여 장르, 비트, 음색 등 400여 항목 체크 (features extraction)
  • 유저로부터 'like'를 받은 음악의 특색과 해당 유저의 프로파일 준비 (profile learner)
  • 음악의 특징과 사용자 프로필을 바탕으로 선호하는 음악 추천(filtering component)