이 글은 부스트캠프 AI Tech 3기 강의를 듣고 정리한 글입니다.
Query 라는 Keyword로 검색하면 그 결과에 맞는 정보를 주는 것
사용자가 정확한 의도를 가지고 검색하여 당겨오는 방식으로 pull 방식
이라고도 한다.
사용자의 흥미나 의도를 고려하여 정보를 추출해 주는 것으로 Push 방식
이라고도 한다.
Long Tail Phenomenon
Long Tail Phenomenon
로의 변화로 개인화가 중요시 됨
즉 LongTail 추천이 잘 될 수록 개인화가 잘 된것으로 볼 수 있음
Ex) 유튜브 동영상 추천
조회수가 급상승한 영상 -> 관련 영상 -> 채널의 영상 추천
( 조회수가 적은 경우에도 )
Ex) SNS 친구 추천
수많은 유저 가운데 내가 알만한 사람들을 추천
유저 프로파일링
: 유저에 관련된 정보를 구축 -> 개별 유저 혹은 유저 그룹별로 추천
식별자(Identifier)
(가장 중요)
: 유저 ID / 디바이스ID(광고 추천시) / 브라우저 쿠키(로그인 안했을 시)
데모그래픽 정보
: 성별, 연령, 지역, 관심사
유저로부터 직접 수집하는 것이 가장 좋지만 개인정보보호법으로 어려워 지면서 추정
으로 알아내기도 한다.
유저 행동 정보
피드백 기록
아이템 ID
( 가장 중요 )meta data
)Feedback
: user 가 아이템과 상호작용시 남은 LogExplicit Feedback
유저가 아이템에 대한 만족도를 직접 평가
한 경우
ex) 영화평점, 음식점 리뷰평점 등
Implicit Feedback
유저가 아이템을 간접적으로 평가
했다고 볼 수 있는 경우
ex) 클릭 , 해당 아이템 구매, 영상 재생 등
추천시스템 현업에서 핵심 데이터는 Implicit Feedback 이다.
주의할 점은 Implicit Feedback은 선호도(Preference)를 확신 할 수 없다는 점이다.
(논문을 읽다보면 Implicit Feedback 은 Preference 가 아닌 신뢰도 Confidence
를 보장한다는 말이 자주 보인다.)
추천 시스템의 목적은 특정 유저에게 적합한 아이템을 추천하는 것이다.
그렇다면 user-item interaction 을 평가할 score
가 필요하다.
유저에게 적합한 아이템 Top K개를 추천하는 문제
Top K 를 정하기 위한 score 가 필요하지만 유저가 아이템에 가지는 정확한 선호도를 구할 필요는 없음
이말인 즉슨 score 와 평점의 스케일이 달라도 상관 없다.
(예를 들어 score 범위가 0~100 이고 평점은 1~5 라도 상관 없다)
Precision @ K
, Recall @ K
, MAP @ K
, nDCG @ K
유저가 아이템을 가질 선호도를 정확하게 예측 (평점 / 클릭or구매확률)
Explicit Feedback
: U가 영화 A에 내릴 평점값 예측
Implicit Feedback
: U가 I를 구매할 확률 예측
-> user-item matrix completion 문제로 귀결됨
MAE
, RMSE
, AUC