[Recommendation System] 콘텐츠 기반 필터링 (Content Based Filtering)

smo1621·2022년 8월 30일
0

Recommendation System

목록 보기
1/2

콘텐츠 기반 필터링 (content based filtering)

추천시스템에는 크게 1. 콘텐츠 기반 필터링 방식2. 협업 필터링 방식이 존재한다.
오늘은 콘텐츠 기반 필터링 방식에 대해 다뤄보려 한다.

개요

콘텐츠 기반 필터링 방식은 '콘텐츠'에 집중하는 방식이다. 이 방식은 소비패턴이 뚜렷한 경우 효과적이다. 소비패턴이 뚜렷한 경우는 사용자가 기존에 소비하던 아이템과 유사한 아이템을 소비하는 경우이다. 여기서 집중해야하는 포인트는 '유사도'이다.

유사도

유사도는 객체를 벡터 형태로 표현하며, 벡터간의 유사 정도를 수치로 표현한다. 벡터 형태로 나타내는 방법은 두 가지가 존재하는데, 크게 1. 원핫 인코딩, 2. 임베딩 방법이 있다.

벡터표현 방법

원핫 인코딩 방식은 카테고리와 같이 간단한 범주형 데이터의 경우 유용한 방식이다. 하지만 표현하려는 데이터의 범주가 넓거나 이미지 같은 비정형 데이터의 경우 데이터를 고정된 크기의 벡터로 표현하는 임베딩 방식이 유용하다.

텍스트 데이터 임베딩 방법

텍스트 데이터의 경우, 주로 Word2Vec 모델을 이용하여 임베딩을 진행한다. 후에 TF-IDF 가중 합산 방식을 이용하거나 CNN, RNN단어의 순서를 고려한 방식을 이용할 수 있고, BERT 같이 대규모 임베딩 모델을 사용할 수 있다.

이미지 데이터 임베딩 방법

이미지 데이터의 경우, ImageNet의 미리 학습된 모델을 바탕으로 파라미터를 미세 조정(Fine-Tuning)한 다음 보틀넥 피처를 이미지 임베딩으로 사용한다. 여기서 보틀넥 피처란, 데이터가 분류 레이어로 도출되기 전 상태, 즉 Flatten 바로 직전 상태를 의미한다. 인물사진이나 쇼핑 같은 도메인의 경우, 카테고리 분류 대신 유사 및 동일성 여부를 판단하는 샴 네트워크 및 삼중항 네트워크를 적용한다.

임베딩 후 추천 방법

이렇게 벡터로 표현이 된 후, 내적, 코사인 유사도, 피어슨 상관 계수 등과 같이 다양한 벡터 유사도 측정 방법을 이용해 아이템 간의 유사도를 측정한다. 이를 바탕으로 사용자가 최근 소비한 아이템과 유사한 아이템을 추천하면 콘텐츠 기반 필터링 방식을 이용한 추천방식이 된다.

콘텐츠 기반 필터링 장단점

아이템을 중점으로 한 방식이기에, 아이템 정보만 존재한다면 소비 이력이 없는 새로운 아이템에 대해서 바로바로 적용이 가능한 방식이다. But, 소비 이력이 충분히 쌓인 아이템의 경우, 협업 필터링 방식에 비해서 추천 성능이 현저히 떨어진다는 단점이 존재한다. 때문에, 추천 대상 아이템이 빠르게 바뀌는 상황이나 소비 이력이 적은 아이템에 주로 콘텐츠 기반 필터링 추천 방식을 이용한다.

콘텐츠 기반 필터링의 특징

먼저, 다른 유저의 데이터가 필요없다. 오직 사용자의 소비 콘텐츠 중심이기 때문이다. 또한, 사용자의 독특한 취향을 고려하여 추천할 수 있다. 새로운 아이템, 독특한 아이템 또한 추천해 줄 수 있다. -> 한 가지 특징이나 취향에 국한되지 않고 소비자의 취향이 독특하더라도 특징 파악 후, 추천이 가능하다는 것이다. 마지막으로, 콘텐츠 기반 필터링 추천의 가장 중요한 특징은, 설명이 가능하다는 점이다. 아이템의 feature들을 중점으로 설명이 가능하다는 점이 가장 큰 특징이다.

profile
Recommendation Engineer 📌

0개의 댓글