오늘은 추가적인 content 정보를 활용하는 추천시스템 모델들을 공부했다.
기본적으로 CF에서는 사용자와 아이템과의 interaction 데이터에서 둘 사이의 숨겨진 패턴을 찾아 추천에 활용한다. 하지만 이 가정이 성립하지 않는 상황도 존재한다.
ex) cold start, 시간의 흐름에 따른 선호도 변화, 유저-유저간 social 추천 등
Contents-Based Methods
유저의 demographic 정보, social networks, review, 아이템의 장르, 감독, 배우, 이미지, 상세 사양 등의 contents를 사용하는 방법
유저나 아이템에 붙어있는 attributes들을 contents라 한다.
이력이 없는 새로운 아이템의 추천, 즉 cold start에 좋다.
하지만 뻔한 추천 결과를 가져오고, 새로운 사용자 추천에는 한계가 있다.
시간, 장소, social information 같은 추가정보(context)에 따라 추천 결과를 생성하거나 조정하는 방법.
Factorization Machine
이미지 출처 : 논문
SVM의 generalization과 MF의 장점을 결합한 모델
MF는 단순히 유저와 아이템간의 내적을 사용했다면, FM은 MF를 확장해 유저, 아이템뿐만 아니라 모든 피처들을 저차원의 dense vector로 표현해 이들간의 pairwise interaction을 모델링한다.
선형 복잡도를 가져서 효율적인 계산이 가능하고, SGD를 통한 최적화가 가능하고 다양한 손실함수를 사용할 수 있다.
Wide & Deep Learning for Recommender Systems
wide 컴포넌트와 deep 컴포넌트를 결합한 모델로, 다양한 side information을 자연스럽게 통합해서 사용할 수 있다. wide는 logistic regression을 사용
두 컴포넌트의 input이 서로 다르고, wide 파트를 위한 전문적인 feature engineering이 필요하다.
DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
FM과 DNN을 결합한 모델. FM이 저차원 특성, Deep 컴포넌트가 고차원 특성 상호작용을 모델링한다.
Wide & Deep과 다르게 FM과 deep 두 컴포넌트가 임베딩을 공유해 더 효율적인 학습이 가능하다. 따라서 pretrain 과정이 필요없고 end-to-end로 학습이 가능하다.
concatenation 방식
context 특성을 단순히 모델의 hidden state와 이어붙이는 방식
피처 간의 상호작용을 학습하기 위해서는 더 깊은 네트워크 층이 필요하다.
저차원 관계를 모델링하는데 비효율적이다.
Latent Cross
방식
컨텍스트를 먼저 임베딩한 후, 모델의 hidden state와 요소별 곱(element-wise product aka hadamard product)을 수행한다.
컨텍스트 임베딩과 hidden state 간의 직접적인 상호작용을 가능하게 해서 저차원 관계를 더 효과적으로 포착할 수 있다.
Latent Cross 방식은 context 데이터를 RNN 추천 시스템에 더 표현력 있게 통합할 수 있다.
기존의 hidden latent 벡터 h와 context vector w를 융합하는 방법. context가 의미가 없으면 h' = h가 자연스럽게 된다.
텍스트, 오디오, 이미지 같은 고차원 부가정보를 이용한 추천 시스템
Collaborative Learning for Deep Neural Networks
textual content(bag-of-words, 텍스트를 수치화하는 자연어 처리) 를 활용한 top-k 추천 모델
MF + SDAE(stacked denoisiong autoencoder, 오토인코더를 여러층 쌓고 입력에 noise를 넣은 것)
j개의 아이템을 j x s 행렬 로 표현해 각 행 j는 아이템 j에 대한 bag-of-words 벡터로 구성된다.
유저-아이템의 rating 행렬 R과 텍스트 행렬 W간의 shared parameter 를 두고 두 정로블 적절하게 융합한다.
VBPR: Visual Bayesian Personalized
Ranking from Implicit Feedback
이미지 출처 : 논문
기존 BPR 모델에 이미지의 시각적 특성을 추가로 활용하는 추천 모델. 사용자의 암묵적 피드백(구매 이력, 클릭 등)과 아이템의 시각적 특성을 동시에 고려한다.
사전 학습된 CNN을 사용해 제품 이미지에서 4096차원의 시각적 특성 벡터를 추출한다. 추출된 고차원 특성을 더 낮은(20) 차원의 시각적 평가 공간으로 변환한다.
cold start 문제를 완화해주고 시각적 선호도를 명시적으로 모델링한 의의가 있다.
Deep content-based music recommendation
음악 추천 시스템에서 콜드 스타트 문제를 해결하기 위해 음악 오디오 신호로부터 직접 잠재 요인을 예측하는 방법을 제안했다.
기본적으로 Weighted MF를 사용해 선호도 p와 신뢰도 c를 모델링한다.
오디오는 3초단위로 샘플링해서 CNN을 통해 특징을 추출한다. 추출된 결과는 MF의 item vector와 결합해서 사용한다.
동일한 장르의 음악은 장르를 피처로 주지않아도 비슷한 군집을 이룬다.
유저의 social networks 정보를 content로 활용해 cold start를 완화하고 interpretability를 높인다.
사용자와 사용자간의 social link 정보를 추가적인 input으로 활용한다.
Group-aware Rec
사용자 그룹에게 집단적으로 추천이 이루어지는 시나리오.
개개인 뿐만 아니라 사용자가 속한 그룹과의 관련성을 고려한다.