AI metacog
추천 시스템과 동향
잘 배우고, 잘 익히기
2021. 8. 10. 21:13
한양대 김상욱 교수님 | ![]() |
개념 | target 유저의 취향에 부합하는 정보를 제공 |
프로세스 | 분석 -선택- 개인화 |
사례 | amazon, netflix |
추천시스템의 분류 | content-based approach : 선호 대상의 부합 콘텐츠 CF(collaborative filtering) approach Trust-based approach : 유저의 신뢰관계 Hybrid approach |
content-based approach | 남의 것은 보지 않고, 대상 사용자가 본 내용과 관계를 이용한 분석 - 타겟 유저의 관심 콘텐트를 보고 유저의 프로파일 추출 - 아이템 프로파일 추출 - content마다 다른 정보 생성으로 다른 카테고리에 확대 적용 한계 |
Trust-based approach | 유저들의 신뢰관계를 이용하여 추천 - trust network 이 요구됨 |
CF approach | collaborative filtering : 협업해서 필터링한다. 타겟 유저의 neighbor를 이용 타겟 유저와 선호도가 비슷한 사람을 찾아 높게 평가한 아이템을 추천 신뢰관계라는 별도의 정보는 요구하지 않음 다른 사람의 정보를 함께 이용 절차 1) neighbor 찾기 : 선호도가 비슷한 그룹 2) neighbor 이용해서 타겟 유저에 대해 예측 : 몰랏던 아이템에 대한 예측 3) 몰랐던 아이템에 대해 neighbor에 의해 높게 레이팅된 아이템을 추천 |
CF의 rating matrix | user와 item 경험 여부와 rating 점수 표시 매트릭스 |
heuristic approach
1단계 | neighbor 찾기 : 선호도가 유사항 그룹 찾기 PCC를 통해 계산 가능 - pearson correlation coefficient ![]() |
2단계 | neighbor에 의한 rating을 aggreation(종합) - 종합하는 방법 : 단순 평균, 비슷한 유저에 대해서 가중치 평균, 평균 점수대비 차이에 대한 평균 가장 유사한 top user 선택 |
추천 방법 진화 단계 | heuristic -> mat factoriaztion 방법 -> deep learning 방법 |
ML 기반
matrix factorization 방법 | user 매트릭스와 item 매트릭스로 구분 - user의 성향과 item 성향을 통해 user의 성향 계산 2개의 matrix 의 곱을 통해서 원래 점수를 복원하는 방식 - inner product 방식으로 성향 계산 차원은 속성에 따라 데이터 모델이 결정 |
social network 분석 방법 | user와 item을 node로 구성해서 그래프 형성 그래프 분석 방법 적용하여 추천 |
딥러닝 방법 | non-linear 네트워크를 포함해서 사용자의 성향 예측하고 실제값과 loss 함수 비교 - 더 정교한 방식으로 제안 |
data sparsity 문제 해소
uninteresting items fo effective CF | - 배경 : target user에 대한 기존 추천 시스템에 대한 불만 해소 필요 - 기존 CF방법은 rating matrix에 의존하며, 데이터의 density가 높지 않음 ( 포털의 제품에서 사용자가 구매한 아이템의 밀도는 높지 않음 : 4% 수준) - 사용자의 취향이 잘 드러나지 않음 (data sparsity problem) 방법 - 점수를 주지 않은 아이템에 대한 활용이 필요함 - unrated item : user는 item 존재 자체를 모름, uniteresting items(무관심한 아이템) - uniteresting item : 해당 사용자의 negative item이 됨 - pre-use preference(사용전 impression) - post-use preference(사용후 impression) ![]() - pre-use preferene : 추론 가능(matrix 곱 사용) -> 무관심 아이템에 0점 적용 : zero-injected matrix 적용 가능 - uninteresting item을 찾아내면 . 최종 추천에서 제외 가능 |
data sparsity 해결 방법 | missing ratings를 추론해서 채우면 data sparsity 해결 가능 - 별도의 정보를 요구하지 않고 해소 가능 Group M - 여러 개의 값으로 채우기 Group S - 하나의 값으로 채우기 - AllRank : 2점으로 모두 채우기 |
OCCF
one class setting | 하나로만 셋팅 pre-use preference 계산 그래프 이론 적용(+, - sign 이용) |
최신 동향
RAGAN | rating augmentation with GAN 비어 있는 곳에 현실적인 점수를 GAN을 이용해서 채우기 - uninteresting item을 고려한 점수 채우기 |
M-BPR | point wise approach pair-wise approach - 쌍으로 rating item과 unrating item의 차이를 극대화 M-BPR : pair-wise approach based on multi-type PPs - 풍부한 정보로 학습 가능 : 좋아할 것, 싫어하는 것, 모르는 것으로 다양한 pair 구성 - 추가로 그룹핑 개념 추가 : 좋아할 것의 그룹과 싫어하는 것의 그룹 결과 : point-wise와 pair-wise를 이기는 방법이 되었음 |
TV 쇼 추천 | 기존 - PM WRMF - ShowTme - PNM - RecTime 아이디어 : watchable interval 고려 - 볼 수 있는 범위에서 얼마나 봤는지 중요 |
CR-Graph | 커뮤니티 detection 커뮤니티 structure 그래프 - 동일 community에서는 edge가 많음 아이디어 - 기존 커뮤니티에 edge를 추가하거나 제거 |