참고: 추천시스템(PR시리즈) http://bahnsville.tistory.com/895


1. 추천시스템의 기본원리는 "과거는 곧 미래다."
추천을 위해 필요한 데이터는 유저들의 행위 behavior 기록이다.
ex> 제품이나 컨텐츠에 대한 사용자의 선호/관심의 지표(상품 구매 이력, 이벤트 참석 이력, 평점 등의 유저 레이팅)


2. 추천시스템에서 사용되는 데이터는?

1) 명시적 레이팅(explicit rating)암묵적 점수(implicit feedback) in 유저 레이팅

- 명시적 레이팅은 평범/별점 등 구체적인 스케일로 점수를 매긴 것
- 암묵적 점수는 조회여부(0/1), 구매여부(0/1) 처럼 명시적으로 점수화하지 못하는 것
- 명시적 레이팅은 점수의 편향이 있거나, 존재하지 않는 경우가 암묵적 점수보다 더 많은 편
- 그래서 암묵적 점수를 더 많이 사용하는 추세

2) 추천시스템에서 해결해야할 가장 큰 문제는 데이터의 크기(data dimensionality) 문제


3. 추천 대상에 따른 추천시스템 분류

- 전체 추천: 불특정 다수에게 추천하는 형태 (ex: 검색엔진 사이트의 메인화면에서 보여지는 다수의 글/이미지/상품들, 추천 검색어, 실시간 검색어 등)

- 그룹 추천: 사용자들을 특정 세그먼트(그룹)으로 나누어서 각 그룹에 특화된 컨텐츠 추천하는 형태 (ex:성/연령별 선호 상품, 기사, 키워드)

- 개인추천(개인화): 개인의 과거 이력을 바탕으로 개인의 관심사를 특정하고 그에 맞는 아이템 추천하는 형태. "사용자를 어떻게 모델링(프로파일링) 할 것인가?"가 핵심

- 연관 아이템 추천: 맞춤추천이 아니라 개별 아이템별로 관련 아이템을 보여주는 형태 (ex: 최근 본 상품 탭, 유튜브 연관 동영상 등)


4. 추천 알고리즘에 따른 추천시스템 분류
- 협업 필터링(Collaborative Filtering)

1) 모델 기반 CF : 머신러닝 활용

2) 메모리 기반 CF : 유저-아이템 레이팅을 모두 메모리에 올려두고 유저-유저/아이템-아이템 관계(유사도)를 계산하기 때문에 메모리 기반이라고 불림

1> 제품-제품 협업 필터링: 사용가자 구매한 것과 가장 유사한 다른 제품 추천

2> 사용자-사용자 협업 필터링: 유사 사용자가 구매한 것과 가장 유사한 제품을 추천

*유사도(관계) 측정: 동시발생, 쟈카드 인덱스, 유클리디안 거리 등...

3) MF(Matrix Facrtorization) 방식 : 유저-아이템 레이팅을 메트릭스에서 고유벡터(eigen vector)를 구해 행렬을 분해하는 SVD(Singular value decomposition) 이용 -> 데이터의 크기(data dimensionality) 문제를 해결하기 위한 방법....이라는데 matrix 연산을 위한 메모리 감당이 어려움


- 컨텐츠 기반 필터링(Content-based Filtering)
: 유저 프로파일 혹은 제품(컨텐츠) 프로파일 정보를 활용하여 추천

장점: 알고리즘이 매우 직관적이고 쉬움

단점: 추천되는 아이템이 너무 뻔함



Posted by Azel.Kim :