인공지능 AI/추천시스템

[AI/이론] 추천시스템 Recommender System_ 협업필터링, 사용자기반, 컨텐츠 기반, 지식 기반 추천

추천시스템 (Recommender System):

사용자가 관심을 가질만한 콘텐츠 (상품, 영화, 이미지, 뉴스 등)을 추천하는 기계학습의 한 방법으로 사용자의 선호도 및 과거 행동을 토대로 사용자의 관심과 흥미를 가질만한 콘텐츠를 제공하는 것

ex) 사용자의 과거 행동 데이터(구매지표, 평점, 좋아요수) 등

메타데이터: 상품 정보, 사용자 그룹 등

 

추천시스템 활용도: 상품 추천, 컨텐츠 추천, 뉴스 추천, 개인 맞춤형 광고, 앱 추천

 

case 1. 상품 추천하는 경우)

상품: 도서, 음악, 전자제품, 식료품 등

사용자 행동: 명시적 (별점, 리뷰), 암묵적 (구매, 검색)

–추천 기준: 베스트셀러, 관심그룹별 추천, 비슷한 상품

case 2. 개인 맞춤형 광고)
- 사용자 행동: 암묵적(접속로그, 검색기록) 
- 텍스트 분석으로 비슷한 주제의 컨텐츠 제공
- 부정적 평가 없는 단향 평가로 학습
case 3. SNS 친구추천)
- 네트워크 기반 구조적 추천, 링크 예측 (상품, 컨텐츠 추천과 메커니즘이 많이 다름)
 
그래서 추천시스템에서 중요한 것은
사용자와 아이템간의 관계,, 
주로 학습에 사용하는 것은 - 사용자 행동 데이터, 사용자 정보, 아이템 메타 데이터 등 

네이버-라인 추천시스템 모델 AiRS

 

추천시스템 모델: 

1. 예측 모델: 사용자-아이템 조합 행렬 구성

부분 데이터로부터 평가값 예측하여 행렬 완성.

2. 랭킹 모델: 사용자 별 상위 k개의 아이템 추천(top-k recommend)

아이템 별 관심 가질 상위 k명의 사용자 선별.

 

1) 협업 필터링(Collaborative Filtering)

- 사용자 행동 데이터로 아이템 추천.

- 유사 사용자 그룹에서 공통 관심 아이템을 추천.

- 대규모 데이터 필요(데이터 적은 경우, 신규 아이템/사용자에는 어려움) 

- 새로운 아이템 추천 가능.

 

       • Memory Based Approach(메모리 기반 방식)

          - User-based Filtering : target user와 유사한 user들의 아이템 선호 기반 추천

          - Item-based Filtering: target item과 유사한 item들에 대한 사용자 추천

       • Model Based Approach

          - 사용자-아이템 평점 표현한 수학적 모델로부터 데이터 학습.

          - 행렬 분해(Matrix Factorization): MF, SVD, NMF 등

 

 

2) 콘텐츠 필터링(Contents-Based Filtering)

- 아이템 메타 데이터 활용.

- 비슷한 아이템 추천.

- 신규 아이템에 대한 추천 가능. 

- 추천하려는 사용자에 대한 정보 활용. (신규 사용자에게 추천하는 기능이 아님)

 

 

3) 지식 기반 추천(Knowledge Based Recommendation)

- 특정 도메인에 대한 지식구조 구축 후 추천.

- 아이템별 스펙이 상이, 평점 전무한 아이템 추천에 적합 (ex. 명품, 자동차, 부동산)

 

4) 하이브리드/앙상블 추천(Hybrid/Ensemble Recommendation)

- 서로 다른 추천 방식을 복합적으로 사용. 각 방식의 단점을 보완하여 성능 향상.

ex) 새로운 상품 추천 - 콘텐츠 필터링 사용,, 사용자 리뷰 축적 후 협업 필터링 사용,,

(+) 데이터에 사용자 데이터나 사용자-아이템 상호작용 데이터가 부족하거나, 헤비 유저들에게 상호작용 데이터가 편향되어있는 경우 

'Cold Start Problem'이 필연적으로 발생하므로 Hybrid 모델은 꼭 사용해야한다고 볼 수 있다.

Cold Start 문제를 해결할 방식으로 Inference 진행하고 결과들을 이어붙이기.. Target 그룹마다 다른 방식 채택하고 이를 Ensemble하는 방식으로 구현할 수 있다.

 

* "Cold Start Problem": 데이터가 적어 추천시스템의 성능이 점점 떨어지는 현상. 

 

5) 딥러닝 추천(Deep Learning Recommendation)

- 컨텐츠 기반 추천에서 비정형 아이템 사이의 유사도 측정

--> 비선형적 관계 표현이 가능하다. 행렬분해 쓰는 MF는 선형적 관계 위주

 

 

<추천 시스템 EDA분석시 기준 잡기>

어떤 아이템인지? - 평일/휴일에 따라 다르게 추천, 지역-계절 따라 다르게 추천

트렌드에 민감한지? - 최신 트렌드 반영, 시간에 따라 선호가 달라지는 아이템인가?

위치 정보 활용? - 아이템의 지역성 고려, 위치 추적으로 사용자 정보 활용

SNS 활용? - 사용자의 친구들이 관심 갖는 아이템 추천, 사회적 영향력 고려.