🚦 이번 포스팅에서는 〰️
📌 콘텐츠 기반 필터링 (Contents-based Filtering)이란?
📌 콘텐츠 기반 필터링 방법
우리가 영화를 추천받고 싶을 때 어떻게 할까?
- 나랑 성향이 비슷한 친구들이 본 영화를 찾아본다.
- 내가 좋아하는 감독, 장르, 키워드의 영화를 찾아본다.
이게 바로
- 협업 필터링 (Collaborative Filtering)
- Content Based Filtering
이다!
저번 포스팅에서는 협업 필터링에 대해 알아보았다.
이번 포스팅에서는 추천 시스템 알고리즘의 기본 중 두번째 방법인 콘텐츠 기반 필터링 (Content-based Filtering) 에 대해서 알아보자!
📌 콘텐츠 기반 필터링 (Contents-based Filtering)이란?
: 사용자에가 특정 아이템을 선호하는 경우 그 아이템과 비슷한 콘텐츠를 가지는 다른 아이템을 추천하는 방식이다.
데이터를 획득 후 콘텐츠 분석에서 비정형 데이터로부터 관련 있는 정보를 얻는 작업이 필요하다.
예를 들어, feature extraction, vector representation 등의 작업을 수행해야 한다.
그 후, 사용자의 선호 아이템과 취향을 파악하기 위해 사용자 프로필 파악이 필요하고 cosine 유사도를 이용하여 유사 아이템을 추천한다.
- 장점 : 많은 사용자의 행동 정보를 필요로 하지 않음 ➡️ 콜드 스타트 문제 해결 가능!
- 단점
- 메타 정보의 한정성 : 상품의 프로파일을 모두 함축하는데 한계가 있음 ➡️ 정밀성 떨어짐
- 세부적인 개인의 성향 파악이 어려움
- 음악, 사진, 영상을 동시에 추천해야한다고 할 때, 각 항목에서 추출할 수 있는 정보가 다 달라서 프로파일을 구성하기 어려워진다.
➡️ 다양한 항목을 동시 추천하는 건 어려움
📌 콘텐츠 기반 필터링 방법
- Keyword Matching
: 사용자와 항목을 일치시키는 간단한 방법으로는 키워드를 일치(matching)시키는 것이다.
예를 들어, 구직사이트에서 직업추천을 하는 경우 구직자의 이력서와 직업 설명 키워드를 매칭시키는 것
TF-IDF(Term Frequency-Inverse Document Frequency)가 항목이나 사용자에 대해 고유한 키워드 가중치 부여하는데 주로 사용된다.
- Supervised Model Building
: 보다 체계적인 방법으로, 사용자가 좋아할만한 경향이 있는 아이템을 추정하는 지도학습 모델을 구축하는 방법이다.
모델 학습 feature은 다음과 같다.
- 사용자와 항목의 속성 (표시변수)
ex : 구직자와 직업이 같은 산업에 있는지 - 사용자가 항목을 좋아하는지 여부 (응답변수)
ex : 구직자가 해당 직업에 지원(또는 관심)이 있는지
콘텐츠 기반 필터링은 계산적으로 빠르고 해석하기가 용이하다.
따라서, 새 항목이나 새로운 사용자에게 쉽게 적용이 가능하다.
하지만 항목 및 사용자의 일부 특성이 명확하게 포착되지 않거나 설명하기 쉽지 않을 수도 있다.
(✅ Stitch Fix가 이를 해결함
➡️ 머신러닝이 정형 데이터를, 사람이 비정형 데이터를 처리하도록 하여서 일부 특성을 알기 어려운 문제 해결)
다음 포스팅은 간단한 추천 시스템 실습으로 돌아오겠다!!
[참고]
https://velog.io/@qtly_u/Recommendation-System-in-Practice
'ML > Recommendation' 카테고리의 다른 글
[Recommendation] 추천시스템 - 협업 필터링(Collaborative Filtering) (1) | 2024.01.19 |
---|---|
[Recommendation] 추천시스템에 대해서 (2) | 2024.01.18 |