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를 추가하거나 제거