콘텐츠 기반 필터링과 협업 필터링
데이터를 바탕으로 고품질의 추천 제공
![[사진 = pixabay]](https://cdn.iworldtoday.com/news/photo/202111/406126_211380_810.jpg)
[월드투데이 김새민 기자] 추천 시스템은 우리의 시선을 사로잡기 위해 열심이다. 수많은 콘텐츠 사이에서 내 마음을 파고드는 상품을 어떻게 찾아주는 것일까?
추천 시스템은 많은 상품 속에서 무엇을 선택할지 혼란을 겪는 이용자에게 적절한 상품을 추천하여 고객의 편의를 높이고. 취향에 맞는 상품을 보여주어 이용자의 구매 욕구를 자극한다.
가장 인기 있는 영상, 많이 듣는 음악 TOP 100도 사용자의 활동을 단순히 집계하여 보여주면서 일종의 추천을 하고 있다. 그렇지만 이러한 랭킹 시스템은 전체 사용자의 동향에 기반할 뿐 개인의 성향을 반영하지는 않는다. 요즘에는 개인화된 추천 콘텐츠를 제공하기 위해 독자적인 추천 시스템을 도입하는 추세이다.
넷플릭스는 사용자의 시청 기록과 콘텐츠 평가 결과, 유사한 취향을 가진 회원의 선호목록을 고려하여 추천한다고 밝히고 있다. 그밖에 콘텐츠 관련 정보(장르, 카테고리, 배우, 출시연도 등)와 사용자의 하루 중 시청 시간대, 넷플릭스 사용 기기, 시청 시간을 고려해 콘텐츠를 추천한다.
정교한 추천을 위해 추천 모델은 더 복잡해지고 고려사항이 많아지지만, 기본적으로 아이템 속성을 이용해 추천하는 콘텐츠 기반 필터링 방식과, 유사한 사용자들의 선호를 고려하는 협업 필터링 방식으로 나눌 수 있다.
콘텐츠 기반 필터링(content-based filtering)
아이템 특성에 기반해 사용자가 선호하는 아이템을 분석하여 유사한 아이템을 추천하는 방식이다. 쉽게 말해, 사용자가 해리포터 영화를 시청했다면 같은 장르의 다른 영화를 추천하는 것이다.
그렇지만 영화를 본 이유는 판타지를 좋아해서일 수도, 해리포터에 나온 배우가 좋아서일 수도, 감독 때문일 수도 있다. 따라서 실제로 영화 간 유사도를 측정할 때는 여러 변수를 고려한다.
콘텐츠 기반 필터링은 아이템 정보만을 이용한 추천 기능으로 다른 사용자의 데이터가 없어도 된다는 것이 장점이다. 그렇지만 과거 행동을 알 수 없는 신규 사용자의 경우, 콘텐츠 기반 필터링을 적용하기 어렵다. 따라서 신규 가입 시 좋아하는 콘텐츠를 몇 개 선택하도록 요청하여 유저의 선호를 파악하기도 한다.
협업 필터링(Collaborative Filtering)
유저-아이템 간 상호작용을 이용하는 방식이다. 유저의 구매 이력을 바탕으로 유저 간 유사도를 측정하여 비슷한 취향의 유저를 찾는다. 협업 필터링에서는 취향이 비슷하면 다른 아이템에도 비슷한 선호를 보일 것이라고 가정한다.
![[사용자 구매 목록 예시, 사진 = 월드투데이DB]](https://cdn.iworldtoday.com/news/photo/202111/406126_211359_1234.png)
● User-User : 유저 A는 [딸기, 바나나, 수박, 포도]를 구매했고, B는 [바나나, 수박, 포도]를 구매했다. A와 유사한 선호를 보이는 B에게 딸기를 추천할 수 있다.
● Item-Item : 아이템을 구매한 유저 목록을 비교해 볼 수도 있다. 수박을 구매한 유저 목록과 포도를 구매한 유저 목록이 유사하다. 따라서 C에게 바나나를 추천할 수 있다.
협업 필터링은 유저-아이템의 상호작용에 기반하므로 아이템 간 유사성은 적지만, 실제로 함께 소비하는 경향이 높은 아이템을 추천할 수 있다. 실제로 월마트에서 고객 구매 데이터를 분석하였을 때 고객들이 맥주와 기저귀를 함께 구매하는 패턴을 발견했다. 아이의 기저귀를 사면서 본인이 마실 맥주도 함께 구매하는 것이다.
다만 유저-아이템 간 상호작용이 존재하지 않는 신규 유저나 신규 상품은 추천이 어렵다는 단점이 있다. 이 문제를 해결하고자 콘텐츠 기반 필터링과 협업 필터링을 조합한 하이브리드 추천 시스템으로 장단점을 상호 보완한다. 신규 콘텐츠는 초반에 콘텐츠 기반 필터링을 적용하다가, 데이터가 쌓인 후에는 협업 필터링을 적용하여 추천의 정확성을 높인다.
이외에도 협업 필터링에는 행렬 분해를 이용하여 데이터의 차원을 축소하는 Matrix Factorization 방식도 있다. 딥러닝 모델인 Auto Encoder를 응용해서 추천에 사용하기도 한다.
실제로 추천 시스템은 방대한 데이터베이스를 바탕으로 보다 고도화된 알고리즘을 거쳐 사용자에게 적합하면서도 참신한 아이템을 추천한다. 추천 시스템은 관련 논문이 계속 발표되고 있는 만큼 앞으로도 발전을 기대해 볼만하다.

