추천시스템

추천 시스템 개요 및 유형 - 콘텐츠 기반 필터링, 협업 필터링

Sane_ 2024. 1. 7. 22:16

개요

 

본 게시물은 추천 시스템의 기본 개념 및 유형을 정리하기 위한 글입니다. 

 

대표적으로 분류되는 콘텐츠 기반 필터링(content-based filtering), 협업 필터링(collaborative filtering)에 대해서 설명하고 어떠한 상황일 때 적합한 모델인지 관점별 특징을 비교하는 내용을 다루고 있습니다.

 


 

추천시스템이란

 

최근 기업들의 '고객에 대한 이해'에 대한 관심이 높아지면서 자연스럽게 추천시스템에 대한 관심도가 높아지고 있습니다. 

다양한 E-commerce, OTT서비스 기업들은 매출액 향상을 위해 고객만족도, 충성고객 확보리텐션을 향상시키기 위해 노력하고 있으며 이에 대한 해결책으로 추천시스템을 적극 도입하고 있습니다. 

 

추천시스템의 기본 아이디어는 ‘사용자의 피드백(선호도나 행동)을 통해 취향을 반영한 특정 아이템이나 콘텐츠를 추천하는 것’입니다. 예전에는 단순 인기나 사용자 취향의 아이템을 추천했다면 요즘에는 사용자가 알지 못했던, 잠재된 취향을 반영해 추천하고 있습니다. 대표적으로 유튜브, 넷플릭스 추천 시스템이 유명하며 요즘 도파민 중독의 대명사인 숏폼 서비스도 예시입니다.

 

 

추천시스템의 유형

Figure 1. The categorization of recommender systems (출처 : 추천 시스템 기법 연구동향 분석)

 

 

 

추천시스템은 크게 정보 필터링, 연관성 분석, 기타로 나뉩니다. 정보 필터링에서는 콘텐츠 기반 필터링, 협업 필터링 그리고 이들의 단점을 보완하기 위해 두 기법을 결합한 하이브리드 추천시스템으로 나뉩니다.

 

 

 

 

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

 

콘텐츠 기반 필터링

사용자가 어떤 아이템을 좋아하는지 파악하여 해당 아이템과 유사한 유형의 아이템을 추천하는 방식입니다. 

 

사용자가 직접 입력한 프로파일 정보나, 점수 혹은 과거 구매내역을 바탕으로 선호하는 아이템을 파악한 다음, 미리 선정된 기준을 통해 분류된 아이템 카테고리와 사용자의 선호 아이템 간의 유사도를 측정합니다. 그리고 유사도가 가장 높게 나타난 아이템을 추천 대상 고객에게 추천합니다.

 

협업 필터링

 

협업 필터링은 크게 메모리 기반, 모델 기반 방법의 2가지로 나뉩니다. 메모리 기반 방법은 추천받을 사용자와 선호도가 비슷한 사용자에 착안하여 추천을 수행하는 사용자 기반 협업 필터링(UBCF, User Based Collaborative Filtering), 추천받을 사용자가 선호하는 아이템과 비슷한 아이템에 착안하여 추천하는 아이템 기반 협업 필터링(IBCF, Item Based Collaborative Filtering)으로 나눌 수 있습니다. 반면 모델 기반 협업필터링은 메모리 기반 협업 필터링의 군집화, 분류, 예측의 단계에서 기계학습 기법을 활용하는 것입니다.

 

보통 메모리 기반 방법에서는 데이터 확장성 및 계산량 문제, 성능 관점에서 아이템 메모리 기반 방법을 주로 사용하곤 합니다. 

 

 

메모리 기반 협업 필터링

 

사용자 기반 협업 필터링은 비슷한 사용자들이 선호하는 아이템을 추천하는 방식입니다. 예를 들어 사용자 1에게 상품 A와 B 중 하나를 추천해야 하는 상황입니다. 먼저 사용자 1과 아이템 선호도가 비슷한 사용자를 찾습니다. 이때 유사도의 개념을 사용하여 비슷한 사용자를 계산하는데 피어슨, 코사인, 자카드와 같은 거리 척도를 이용합니다. 그리고 사용자 1과 선호도가 비슷한 사용자들이 선호하는 상품이 A라면 이를 사용자 1에게 추천하는 방식입니다.  

 

아이템 기반 협업 필터링도 위와 같은 방식입니다. 사용자 간의 유사도를 구하는 대신 아이템 간의 유사도를 구하고 이를 기반으로 사용자를 매칭해서 추천하는 방식입니다. 

 

  • 사용자 기반 협업 필터링 : 비슷한 유저가 ~를 선호하니까 ~를 추천하자
  • 아이템 기반 협업 필터링 : ~ 아이템을 선호하는 유저에게 ~와 비슷한 아이템을 추천하자 

 

 

 

모델 기반 협업 필터링

모델 기반 방법은 데이터의 규칙성을 학습한 모델을 미리 만들어 모르는 아이템의 평가값을 예측하여 추천하는 방법입니다. 회귀 문제 및 분류 문제에 따라 다양한 모델이 있고 대표적으로 잠재 요인 협업 필터링(행렬 분해, Matrix Factorization)이 있습니다. 이외에도 FM(Factorization Machines), LDA, wor2vec 등 딥러닝을 이용한 논문들이 계속 나오고 있는 추세입니다. 

 

 

콘텐츠 기반 필터링 vs 협업 필터링

 

다음은 7가지 관점에서 콘텐츠 기반 필터링과 협업 필터링의 특징들을 비교하며 어떠한 상황에 적합한지 알아보겠습니다. 

 

  콘텐츠  기반 필터링 협업 필터링
다양성 향상 X O
도메인 지식 취급 비용 X O
콜드 스타트 문제에 대한 대응 X
사용자 수가 적은 서비스에서의 추천 O X
커버리지 향상 O X
아이템 특징 활용 O X
예측 정확도 O

 

 

 

  • 다양성 향상

여기서 다양성은 '추천 결과에 포함된 아이템이 서로 비슷하지 않은 것'입니다. 콘텐츠 기반 필터링에서 추천받을 사용자의 사용자 프로필은 해당 사용자가 모르는 아이템의 정보를 반영할 수 없습니다. 반면 협업 필터링에서는 추천받은 사용자가 모르는 아이템이라도 유사한 사용자가 선호한다면 이를 기반으로 추천할 수 있습니다. 따라서 추천의 다양성을 우선시한다면 콘텐츠 기반 필터링보다 협업 필터링이 뛰어납니다.

 

 

  • 도메인 지식 취급 비용

추천 시스템을 구축할 때 비용 측면의 비교입니다. 콘텐츠 기반 필터링은 상품의 카테고리, 사용자 성별, 나이와 같은 서비스 내 아이템이나 사용자 고유의 지식 등 도메인 지식을 관리하고 사용해야 합니다. 협업 필터링은 추천받은 사용자와 비슷하다고 판단된 사용자가 선호하는 아이템을 추천하므로 아이템 자체에 대한 정보나 사용자 자체의 속성 정보 등은 기본적으로 필요하지 않습니다. 

 

  • 콜드 스타트 문제에 대한 대응

콜드 스타트 문제는 서비스에 사용자나 아이템에 관한 정보가 적은 경우, 즉 신규 사용자 혹은 신규 아이템을 추천하기 어려운 문제를 일컫습니다. 협업 필터링은 과거 사용자의 선호 데이터가 필요하므로 콜드 스타트 문제에 취약합니다. 예를 들어 신규 사용자는 과거 선호도에 대한 정보가 없으므로 선호도가 비슷한 사용자를 찾기 어렵습니다. 신규 아이템 또한 서비스 내에서 사용자가 클릭하거나 구입한 정보가 있어야 추천할 수 있습니다.

 

반면 콘텐츠 기반 필터링은 신규 아이템 특징이나 사용자 정보만 얻을 수 있다면 처음부터 관심을 가질만한 아이템을 추천할 수 있습니다. 예를 들어 나이키에 가입할 때 선호하는 카테고리를 선정하면 비구매회원이지만 아이템을 추천하는 경우가 이에 해당합니다. 콜드 스타트 문제와 성능 향상을 위해 신규 고객에게는 콘텐츠 기반 필터링, 특정 횟수 이상 구매 회원에게는 협업 필터링을 적용하는 방식도 존재합니다. 

 

 

  • 사용자 수가 적은 서비스에서의 추천

시작한 지 얼마 안 된 서비스는 콘텐츠 기반 필터링이 적합합니다. 서비스 내 다른 사용자의 행동 이력을 기반으로 추천하는 협업 필터링에서는 사용자 수가 적으면 비슷한 사용자나 관심을 가질만한 아이템을 특정하는 것이 어렵습니다. 반면 콘텐츠 기반 필터링에서는 아이템의 특징이나 사용자 정보가 중요하므로 사용자 수는 추천에 큰 영향을 주지 않습니다.  스타트업들은 콘텐츠 기반 필터링을 시작으로 사용자가 어느 정도 확보되면 협업 필터링을 적용하고 있습니다. 

 

 

  • 커버지리 향상

커버지리는 서비스에 있는 모든 아이템 중 추천 시스템으로 사용자에게 추천할 수 있는 아이템의 비율을 의미합니다. 이 관점에서는 콘텐츠 기반 필터링이 적합합니다. 시스템 내에 다른 사용자의 행동 이력을 기반으로 추천하는 협업 필터링은 추천을 받을 사용자와 비슷한 사용자가 아무도 시도하지 않은 즉, 평가하지 않은 아이템은 추천할 수 없기 때문입니다. 반면 콘텐츠 기반 필터링은 사용자의 정보와 연관된 특징을 갖는 아이템이라면 어떤 아이템이든 추천할 수 있습니다. 

 

  • 아이템 특징 활용 

'아이템 특징을 잘 활용하여 추천할 수 있는가'의 관점입니다. 도메인 지식 취급 비용과 관련 있는 관점입니다. 협업 필터링의 경우 도메인 지식을 사용하지 않고 추천이 가능한 점이 특징인데 이는 아이템 속성 정보를 고려하지 않는다는 의미입니다. 반면 콘텐츠 기반 필터링에서는 아이템의 다양한 특징을 명시적으로 고려해 추천합니다. 따라서 해당 관점에서는 콘텐츠 기반 필터링이 적합합니다.

 

 

  • 예측 정확도 

해당 관점은 서비스의 규모, 사용자의 수, 구매 횟수 등 다양한 요인을 고려해야 하기에 어떤 알고리즘의 예측 정확도가 좋다고 말할 수 없습니다. 다만 어느 정도 규모가 있는 서비스에서 충성에 해당하는 사용자에게 추천하는 경우, 콘텐츠 기반 필터링보다 협업 필터링이 높은 정확도를 보인다고 합니다. 

특정 상황과 고객에 대한 정확도를 비교한 것이기에 모델의 특성, 장단점을 정확히 파악하고 비즈니스 상황에 맞는 모델을 적용하는 게 중요합니다. 또한 여러 모델을 조합해서 장점만 결합한 모델을 고려할 수 있습니다. 

 


정리하며

일반적으로 다양성, 도메인 비용, 예측 정확도 관점에서는 협업 필터링이 적합합니다. 하지만 콜드 스타트 문제, 사용자 수가 적은 서비스, 커버리지 향상에 있어서는 콘텐츠 기반 필터링이 적합합니다. 또한 2개의 알고리즘의 결합해 장점만 취하는 하이브리드 추천시스템도 고려할 수 있습니다. 예를 들어 콜드 스타트에 해당하는 고객에게는 콘텐츠 기반 필터링, 이외 고객에게는 협업 필터링을 적용할 수 있겠습니다. 

 


 

본 게시물에서는 추천시스템에 대한 개념과 기본 방법들에 대해서 정리하였습니다.

 

다음 게시물부터는 협업 필터링 중 모델 기반 협업 필터링에 해당하는 모델들에 대해서 알아보도록 하겠습니다. 

 

 

 

참고 문헌