추천 시스템은 크게 콘텐츠 기반 필터링, 협업 필터링(Collaborative Filtering) 이렇게 두 가지 방법이 있습니다. 이 두 방법을 섞어서 사용하는 하이브리드 방법도 있습니다. 물론 추천 시스템에도 딥러닝 모델을 활용한 방법들도 있지만, 이런 방법들은 추후에 다뤄보도록 하고, 이번에는 가장 핵심적인 방법론인 콘텐츠 기반 필터링, 협업 필터링 이렇게 두 가지 방법에 대해서 설명을 하겠습니다.
콘텐츠 기반 필터링은 고객의 정보, 물건의 정보로 비슷한 고객과 비슷한 물건들을 정의합니다. 이렇게 정의한 이후 비슷한 고객의 행동 패턴을 추천하거나, 고객의 과거 행동 패턴에서 경험한 물건과 비슷한 물건을 추천합니다. 예를 들어 보면,
그림과 같이 부산에 사는 30살의 여성인 고객 A, 김해에 사는 32살의 여성인 고객 B, 서울에 사는 50살의 남성인 고객 C가 있다고 가정해보겠습니다. A와 B는 사는 지역 나이, 성별이라는 고객 정보가 비슷합니다. 이럴때 A에게 B가 구매했던 물건을 추천하는 방식이 콘텐츠 기반 필터링이라고 할 수 있습니다. 하지만 어떤 특성이 구매와 직결되는 영향을 미치는지 알기는 매우 어렵습니다. 그래서 구매에 영향을 미치는 요소를 파악하는것이 매우 중요합니다.
협업 필터링은 최근접 이웃(Nearest Neighbor) 협업 필터링, 잠재요인(Latent Factor) 협업 필터링으로 나누어 집니다. 최근접 이웃 협업 필터링은 콘텐츠 기반 필터링과 같이 비슷한 물건, 비슷한 고객을 찾아 추천하는 것입니다. 하지만 최근접 이웃 협업 필터링은 과거의 정보를 바탕으로 비슷한 고객과 비슷한 물건을 정의합니다. 예를 들어 행동패턴이 비슷한 고객, 동시에 구매가 많이 일어난 물건 등을 찾고, 이를 활용하여 추천하는 것입니다. 잠재요인 협업 필터링은 관계의 행렬에서 잠재 요인이 있을 것을 가정하고, 잠재요인을 찾아 추천에 활용하는 방식입니다. 평점 행렬을 행렬 분해하여 잠재 요인 행렬을 찾고, 잠재 요인 행렬을 활용하여 계산된 평점이 높을 경우 추천해주는 방식입니다.
과거에는 콘텐츠 기반 필터링과 협업 필터링, 협엽 필터링 중에서도 최근접 이웃 협업 필터링 방법을 많이 사용했지만, 2009년도에 NetFlix Prize에서 Matrix Factorization 이론이 우승을 하면서 잠재 요인 협업 필터링에 대한 관심이 매우 높아졌습니다. 그렇다고 잠재 요인 협업 필터링이 다른 방법보다 좋은 방법이라고 말하기 어렵습니다. 최근에 실무에서 다양한 비지니스에 이론을 적용해보면서 최신 이론, 고도화된 이론이라고 항상 좋은 결과를 내지는 않는다는 것을 많이 느끼고 있습니다. 모든 이론은 적용되어야 할 곳이 다르고, 언제나 상황에 맞게 적절한 이론을 적용하는 것이 제일 중요합니다.