-
나를 위한 추천알고리즘 feat.논문카테고리 없음 2022. 5. 31. 17:13
텍스트 데이터 적용하기
Joint Training of Ratings and Reviews with Recurrent Recommender Networks
Abstract
- 평점과 리뷰 데이터를 모두 활용하여 추천시스템을 만든다
- Recurrent 모델 구조를 활용하여 user와 item의 다양한 component를 얻어내고자 한다
- IMDB 데이터셋을 활용하여 모델 성능에 대한 실험을 진행한다
Introduction
- 현재까지 추천시스템에 대한 연구의 제한사항들
1. 모델 예측 정확도는 실제 평점을 예측하는 것보다 주로 데이터셋을 나누고 테스트셋에 대한 평가가 이루어진다
2. Recurrent Recommender Networks(RNN)은 RNN 모델 구조로 user와 item 변화 등을 파악할 수는 있으나, 리뷰의 시간적 변화등을 제대로 포착하지 못한다.
3. 리뷰 데이터를 활용한 추천시스템은 자연어처리 최신 기술과 훨씬 뒤떨어져있다.
4. 이전 연구에서 Bag-of-words 모델은 제한적으로 리뷰를 이해하게 될 수 있었다
5. 추천시스템에서 리뷰 데이터를 많이 사용하기 어려운 이유는 기존 텍스트 데이터에 비해 unstructured하고 diverse됐기 때문이다.
- Contributions
1. Joint Generative Model: 리뷰와 평점을 결합한 Joint 모델 구조를 제안한다
2. Nonlinear nonparametric review model: user와 movie의 state dynamics를 학습하면서 시간 변화에 따른 리뷰의 변화를 파악할 수 있다.
3. Experiments: 시간 흐름과 함께 평점과 리뷰를 함께 모델링해서 IMDB 데이터셋에 대해 좋은 성능을 얻을 수 있었다.
Recurrent Recommender Network
- User에 대한 state evolution은 user가 이전에 평점을 준 영화와 관련 있다
- Movie의 파라미터는 이전 시간에서 평가한 사용자와 영화의 인기도에 따라 다르다
Model
1. Dynamic User and Movie State
- user/item 평점 과거 데이터를 input으로 사용해서 state를 update한다
- 영화를 관람하고 좋아요/싫어요 등으로 인한 User 상태 변화를 모델링 할 수 있다
2. Rating Emissions
- 시간에 따라 변하는 uit 또는 mjt를 각각 고정된 ui 또는 mj로 보완할 수 있다
- 이는 사용자의 장기적 선호 또는 영화 장르와 같은 시간에 따라 크게 변하지 않는 요소에 대한 내용을 반영한다
3. Review Text Model
- Character 단위 LSTM 네트워크를 활용한다
- 이 네트워크는 평점 모델과 동일한 user/item 의 latent 상태를 반영한다
- Bottleneck 층에서 user/movie의 정적인 정보와 동적인 상태를 모두 합치게 된다
Model - Training and Prediction
- 학습(Training)
- Accurate ratings와 Accurate review를 예측하는 것이 목적이다
- D는 (i, j) 쌍의 학습데이터, θ는 모든 모델 파라미터, nij는 user i가 movie j에 쓴 리뷰 글자 수, λ는 accurate rating과 accurate review를 예측하기 위한 가중치로 사용된다
- 예측(Prediction)
- 예측된 미래 상태에 따라 평점을 예측한다
- 최근 평점을 input으로 사용하여 상태를 업데이트하고 새롭게 예측된 상태를 통해 평점을 예측한다
Experiments
- K-core of IMDB 데이터셋에 대해 평가를 진행한 결과이다
- RNN이 다른 baseline 모델보다 더 좋은 성능을 나타내고, RNN(rating+text)이 성능을 더욱 향상 시켰다
- 이는 평점과 리뷰의 통계적인 내용을 공유하는 것이 latent factor를 모델링하는데 더 많은 정보를 제공한다는 것을 뜻한다
- User/item 요소를 사용하거나, 사용하지 않았을 때 text modeling perplexity를 비교했으며, 3.3442 에서 3.3362로 향상됨을 할 수 있다
이미지 데이터 적용하기
Image-based Recommendations on Styles and Substitutes
Abstract
- 보여지는 사물에 대해 사람이 어떻게 인식하는지를 판단하고, 판단된 내용으로 실제 모델링에 활용하는 것이 주요 목적이다
- 유저의 기록이나 주어진 히스토리 등을 활용하는 것이 아니라 매우 큰 데이터셋을 활용하고 확장하는 방법을 소개한다
- 데이터 속의 숨겨진 시각적 관계에 대한 인간의 개념과 이해를 모델링하기 위함이다
- 즉, 어떤 옷과 어떤 악세서리가 잘 어울리는지 추천해줄 수 있다
Introduction
- 아마존 웹스토어에서 얻은 데이터셋을 활용한다
- 6,000,000개의 상품들에서 180,000,000개의 관계를 나타낸다
- 아마존 웹사이트를 방문해서 어떤 특정 웹페이지의 주제에 대한 유저의 관심사를 바탕으로 주어지는 제품 추천을 기록한 결과물이다
- 이런 데이터셋을 Styles and Substitutes라고 부른다
.
- Visual and relational Recommender System
- 인간의 시각적 선호도를 모델링하는 것이 목표이며, 이를 위해 데이터셋을 활용한다
- 이 추천시스템은 사용자가 다른 것에 대한 명백한 관심을 표현한 것을 바탕으로 아이템을 추천한다
- 이 추천시스템은 이러한 특성을 일반적인 형태로 확장하여 사용할 수 있지만, 리뷰 또는 그와 유사한 metadata가 아닌 보여지는 것을 기반으로 한다
Model
- 데이터셋에 대해 F차원의 feature vector를 CNN으로부터 얻는다
- Shifted sigmoid 함수로 상품 간 거리와 확률의 관계를 나타낸다. i, j가 관계있다면 거리가 가깝고, 그렇지 않다면 거리가 멀다. -d(xi, xj)에 따라 P(rij ∈ R)이 monotonically 증가하는 d(·,·)를 찾는 것이 목적이다
- Weighted nearest neighbor를 활용하여 상품간의 유사도 또는 관계를 파악한다
- Mahalanobis transform을 함께 활용하고, 이는 서로 다른 feature가 서로 어떤 관계가 있는지 파악하고자 하는 것이다(바지가 어떤 신발과 관련있는지 파악하는 과정이다)
- Personalized distance function을 정의한다
- 특정한 user에 대해 각각의 item이 어떤 관계가 있는지를 파악한다
- 데이터셋에서 유저가 연결된 edge가 있는 경우 이것이 성립한다는 가정을 바탕으로 한다
- 유저별 개인화 연구를 위해 평점과 리뷰데이터도 함께 활용한다
- 각 관계가 존재하는지 여부를 확률로 정의하고, 발견된 관계의 likelihood 확률 값을 최대화하는 것이 학습의 목적이다
Conclusions
- 큰 데이터셋에 대해 시각적으로 관련있는 개념자체를 모델링하는 것이 가능하다
- 제안하는 방법으로 간단한 시각적 유사도를 바탕으로 그 관계를 판단하고 모델링하는 것이 가능하다
- 시각적인 특징을 바탕으로 인간의 성향 또는 개념을 모델링하는 것은 최초의 접근 방법이다
- 추천시스템에서 시각적인 부분에 대한 새로운 접근을 하고, 이는 정보검색 커뮤니티에서도 매우 관심있을 주제이다
내 음악 취향 파악하기
Deep content-based music recommendation
Abstract
- 많은 음악이 온라인에서 소비됨에 따라 최근 음악 추천의 수요가 증가하고 있다
- Latent Factor Model을 사용한 추천을 제안하고, 음악 자체만 사용해서 latent factor 직접 예측한다
- 전통적으로 많이 쓰는 bag-of-words와 deep CNN을 모두 사용한다
- 데이터 양이 많고, 품질도 좋은 Million Song Dataset을 활용한다
- Semantic gap이 존재하지만, latent factor를 사용한 예측이 의미있는 추천임을 보여준다
Introduction
- 서로 다른 음악 스타일과 장르 때문에 음악 추천시스템은 매우 복잡하다
- 대부분 추천시스템은 사용하는 패턴에 많이 의존한다 (주로 협업필터링을 사용)
- 협업필터링이 컨텐츠기반 추천시스템보다 성능이 좋다는 것은 많이 알려져 있다. 그러나 cold-start problem에 있어서 자유로울 수 없다
- content-based music recommendation
- Metadata아티스트, 앨범, 출시 연도 등)를 사용해서 음악을 추천할 수 있다
- Collaborative Filtering
- 사용자 또는 아이템 기반의 Neighborhood-based 방법이 있다 - 비슷한 사용자 또는 비슷한 아이템을 기반으로 추천한다
- 사용자와 아이템의 latent 특징을 모델링하여 추천하는 Model-based 방법이 있다
- The Semantic gap in music
- Latent Factor vectors는 사용자 또는 아이템의 또 다른 특징을 compact하게 묘사하고 있다
- 사용자 선호도에 영향을 끼치는 음악의 특징과 신호는 서로 큰 semantic gap을 갖고 있다(High-level properties(장르, 무드, 악기, 아티스트의 유명도, 명성, 장소 등)을 음성신호에서 알아내는 것은 결코 쉬운 일이 아니다)
- 음성신호를 가공한 MFCC 등에 의존한 연구를 많이 진행한다
- 논문은 DeepCNN을 학습하여 음악으로 latent factors를 예측하고, 이를 통해 semantic gap을 줄이고자 노력했다
Weighted Matrix Factorization
- The Taste Profile Subset은 사용자, 노래 단위로 재생횟수를 제공한다 → Implicit feedback으로 활용
- 특정 노래를 많이 들었다면, 좋아한다고 생각한다
- 듣지 않았다면, 좋아하지 않거나, 노래에 대해서 모르는 것이다.
Predicting latent factors from music audio
- Latent factors를 예측하는 것은 음성신호를 활용한 회귀 문제이다
- 2가지 방법 사용
- - 1. 음성신호에서 local features를 얻고, bag-of-words representation으로 합친다
- - 2. Deep Convolutional network를 활용한다
- WMF에서 얻은 latent factor vectors를 baseline으로 활용한다 (효율적으로 최적화 할 수 있기 때문에 WMF를 선택했다)
Bag-of-words Representation
- 음성 신호에서 MFCC를 추출한다
- MFCC를 vector quantize한다: k-means clustering 사용
- Bag-of-words representation으로 합쳐서 나타낸다 (모든 노래에 대해 count 횟수를 이용해서 bag-of-words feature vector를 만든다)
- 위의 representation vector를 PCA로 차원축소한다
- 음악 추천실험의 baseline으로 사용한다
Convolutional Neural Networks
- CNN은 음성인식과 큰 사이즈의 이미지 인식에서 좋은 성능을 보인다.
- ReLU를 사용해서 더 빠르게 수렴하고, vanishing gradient 문제를 줄인다
- 병렬화를 통해 학습을 더 빨리 진행한다
- MSD는 이미 충분히 큰 데이터이기 때문에 많은 파라미터로 큰 모델을 학습시키기에 충분하다
- Dropout을 사용하는 것은 큰 효과를 볼 수 없었다
- Intermediate features를 공유하고, extraction layer와 pooling layer 덕분에 여러 timescale에 대해서 작동하기 때문에 CNN은 음성 학습에 적절하다
Latent factor prediction: quantitative evaluation
- 음악 데이터에 대해서 quantitatively 얼마나 잘 예측하는지 측정하기 위한 실험
- 음악 추천의 quality를 평가하기 위한 실험
Conclusion
- DeepCNN으로 일반 데이터에서는 얻을 수 없는 latent factor를 예측한다
- 큰 사이즈의 데이터셋으로 음악 추천시스템에 대한 평가를 진행한다
- 노래의 Latent factors를 활용하여 새롭거나 유명하지 않은 음악을 추천하는 것은 해볼만한 방법이다
- 지금까지 많이 사용되던 방법보다 DeepCNN 성능이 더 좋다는 것을 증명했으며, 이는 음악 추천시스템에도 딥러닝을 적용할 수 있다는 뜻이 된다
- Music Information Retrieval 분야에서 앞으로 많은 효과를 볼 수 있을 것으로 생각된다
참고-패스트캠퍼스