Data Context Adaptation for Accurate Recommendation with Additional Information

본 문서에서는 IEEE BigData 2019 에서 발표된 "Data Context Adaptation for Accurate Recommendation with Additional Information" 논문을 소개합니다. 논문에 대한 상세한 정보는 다음과 같습니다.

Data Context-aware Recommendation

추천 시스템은 모든 IT 서비스 회사들에게 필수적인 기능입니다. 추천 시스템은 고객들에게 개인화된 추천을 제공함으로써 수많은 상품들 중 필요한 상품을 쉽게 찾을 수 있게 하고 회사의 매출 향상으로 이어지게 됩니다. 추천 시스템은 사용자와 가장 가까운 상품들을 예측하고 사용자들에게 추천하는 방식으로 동작합니다.

초창기의 추천 시스템은 사용자와 상품간의 관계 정보 (평점)만을 이용하여 문제를 해결하였습니다. 그러나 최근에는 추가적인 정보 (사용자들의 관계망, 상품의 카테고리 정보 등)를 쉽게 이용할 수 있기 때문에 이러한 정보들을 같이 사용하여 더 정확하게 추천하는 연구들이 많이 진행되고 있습니다. 이처럼 추가적인 정보들을 같이 사용하여 추천하는 문제를 Data Context-aware Recommendation이라고 합니다. 본 논문에서는 Data Context-aware Recommendation 문제에서 정확한 추천 성능을 제공하는 새로운 알고리즘을 제안합니다. 

Data Context-aware Recommendation 문제를 도식화하면 그림 1과 같습니다. 사용자와 상품간의 관계인 평점 뿐만 아니라 사용자간의 관계인 사회관계망 혹은 상품의 장르 정보가 함께 주어졌을 때 아직 발견되지 않은 평점을 정확하게 예측하는 것이 목표입니다.
그림 1. Data Context-aware Recommendation 문제를 그래프로 표현

이 문제의 데이터들을 그림 2와 같이 매트릭스로 표현할 수 있습니다. 평점 매트릭스와 추가 매트릭스들이 함께 주어졌을 때, 평점 매트릭스에서 아직 발견되지 않은 값들을 정확하게 예측하는 것이 목표입니다.
그림 2. Data Context-aware Recommendation 문제를 매트릭스로 표현

Collective Matrix Factorization (previous method)

Data Context-aware Recommendation 문제에서 기존에 가장 좋은 알고리즘은 Collective Matrix Factorization (CMF)입니다. CMF의 전체 도식도는 그림 3과 같습니다. 사용자 i 와 상품 j 사이의 평점과 상품 j와 장르 k 사이의 관계 값이 주어졌을 때 CMF는 사용자 i, 상품 j, 장르 k의 임베딩 벡터를 학습합니다. CMF의 핵심 아이디어는 공통된 요소 (그림 3에서는 상품)의 임베딩 벡터를 서로 공유하면서 내적을 통해 값을 예측하도록 학습하는 것입니다. 이때 두 임베딩 벡터의 내적을 통해서 값을 예측하면 각 임베딩 벡터들은 interaction 정보들을 담게 됩니다. Interaction 정보는 서로 연관되었을 때 의미가 있는 정보들을 의미합니다. 예를들어 영화의 공포 정도와 사용자가 공포도를 선호하는 정도는 서로 연관이 있기 때문에 interaction 벡터의 같은 차원에 임베딩됩니다. CMF는 이러한 모든 interaction 정보들이 합해져서 평점이라는 하나의 값으로 표현되게 된다는 직관을 갖는 모델입니다.
그림 3. CMF 도식도
실세계에서는 사용자나 상품의 편향이 존재합니다. 편향이란 사용자나 상품의 평점의 기준치가 서로 다른 것을 의미합니다. 예를들어 1~5점의 평점 중 유저 A에게는 4점이 높은 평점일수 있지만 유저 B에게는 4점이 낮은 평점일 수 있습니다. 이처럼 개별 사용자와 상품의 편향을 모델링하기 위해 biased-CMF 모델이 고안되었고, 기존 CMF에서 각 사용자와 상품의 1차원의 학습 가능한 편향 임베딩을 더해서 평점을 예측합니다. 이때 내적을 수행하는 임베딩 벡터는 interaction 벡터라고 부르며, 편향을 반영하는 1차원의 임베딩 벡터는 independence 벡터라고 부릅니다.

biased-CMF를 포함한 기존의 방법들은 다음과 같은 세가지 한계가 있습니다.

  1. Independence 벡터의 크기가 1차원으로 제한됩니다.
    • 실세계에서는 고차원의 편향 정보가 있습니다. 예를들어 사용자가 각 영화의 장르마다 편향이 다를 수 있습니다.
  2. 평점 매트릭스와 보조 매트릭스의 데이터 문맥이 다르다는 것을 고려하지 않습니다.
    • 실세계에서는 두 데이터 문맥이 다르다는 것이 고려될 필요가 있습니다. 예를들어 사용자가 상품에 평점을 부여할 때는 상품의 장르나 연출진 등을 고려하지만 다른 사용자와 관계를 맺을 때는 사회적 신분이나 나이 등을 고려합니다.
  3. 내적이라는 선형의 방법으로 값을 예측하기 때문에 비선형 관계를 예측할 수 없습니다.
    • 실세계에서는 비선형 관계가 존재합니다. 예를들어 어떤 사용자는 영화의 공포도 정도가 어느 수준 이하이면 다른 정보와 전혀 상관없이 그 영화를 완전히 싫어할 수 있습니다.

DaCoNa (proposed method)

기존 방법들의 세가지 한계를 극복하기 위해 이 논문에서는 세가지 아이디어를 제시합니다.
  1. 크기 제한이 없는 interaction 벡터와 independece 벡터를 제공합니다.
  2. Data Context Adaptation 기법을 통하여 두 데이터 매트릭스의 문맥이 다르다는 것을 고려하여 학습합니다.
  3. 기존의 방법들의 예측 방법인 내적을 일반화하면서 비선형 관계를 예측할 수 있는 딥러닝 예측 모델
DaCoNa의 전체 도식도는 그림 4와 같고, 이 세가지 아이디어를 모두 통합하여 end-to-end로 학습되는 모델입니다.
그림 4. DaCoNa 도식도

Idea 1. Rich latent interaction and independence factors

사용자 i 와 상품 j 사이의 평점과 상품 j와 장르 k 사이의 관계 값이 주어졌을 때 DaCoNa는 사용자 i, 상품 j, 장르 k의 interaction 벡터와 independence 벡터와 예측 딥러닝 모델을 학습합니다. 이때 각 임베딩 벡터의 크기는 제한되지 않아 기존에 independence 벡터가 1차원으로 제한되는 방법들에 비해 더 고차원의 모델링을 제공합니다.

Idea 2. Data context adaptation for each data matrix

Interaction 벡터가 평점 매트릭스의 값을 예측할 때와 보조 매트릭스의 값을 예측할 때에 다른 projection 매트릭스를 통해 각 데이터 문맥에 적용됩니다. 각 projection 매트릭스는 학습을 통해 각 데이터 문맥에 필요한 정보를 추출할 수 있도록 최적화됩니다.

projection 매트릭스는 사용자를 위한 용도와 상품을 위한 용도 등을 모두 구분하지 않고 같은 데이터 문맥에서는 같은 projection을 공유합니다. 이는 사용자와 상품의 interaction 벡터의 같은 차원에 같은 종류의 정보가 담기도록 학습하기 때문에 같은 projection 매트릭스를 공유함으로써 더 좋은 학습 결과를 가져올 수 있기 때문입니다. 반대로 같은 데이터 문맥에서 사용자와 상품이 각자의 projection 매트릭스를 따로 학습한다면 오히려 오버피팅을 야기할 수 있습니다.

Idea 3. Carefully tuned deep neural networks to model non-linear relationships

DaCoNa는 위의 식을 통해서 최종적으로 각 데이터 매트릭스의 값을 예측합니다. 기존의 방법들에서는 임베딩 벡터들의 내적을 통해 값을 예측했습니다. 내적은 두 벡터의 element-wise 곱을 수행한 뒤 각 차원의 값을 합하는 연산입니다. DaCoNa에서는 두가지 요소를 통해 내적보다 더 일반화된 모델링을 제공합니다.

첫번째로 DaCoNa에서는 projection된 두 interaction 벡터를 element-wise 곱까지 수행한 뒤 뉴럴 네트워크에 입력합니다. Element-wise 곱을 통해서 두 벡터의 각 차원의 값을 연관시키기 때문에 interaction 벡터의 성질을 유지하면서 내적보다는 일반화된 기능을 제공합니다.

두번째로는 이 모든 요소들을 단순히 더하는 것이 아니라 concatenation한 뒤 뉴럴 네트워크에 입력합니다. 단순히 요소들을 더하는 것이 모든 요소의 중요도를 똑같이 고려하는 것에 비해서 이 방법은 뉴럴 네트워크의 학습을 통해 요소들의 최적화된 가중치 합을 제공합니다.

Experimental Results

이 논문에서는 6개의 실세계 데이터에 대해서 기존 방법들과 DaCoNa의 추천 성능을 비교합니다. 6개의 데이터 중 3개 (FilmTrust, Cio-u, Epinions)는 사용자에 관한 보조 데이터를 제공하고, 나머지 3개 (ML-1m, ML-100k, Ciao-i)는 아이템에 관한 보조 데이터를 제공합니다. 평가 메트릭으로는 RMSE와 MAE를 이용하였고, 이는 모두 예측 값과 실제 값의 에러를 나타내는 메트릭이므로 작은 값일수록 더 좋은 성능의 모델임을 의미합니다. 실험 결과는 그림 5와 같습니다. 모든 데이터셋에서 DaCoNa가 기존 방법들에 비해 정확한 추천 성능을 보입니다.
그림 5. 추천 성능 비교

Conclusion

본 문서에서는 IEEE BigData 2019 학회에서 발표된 "Data Context Adaptation for Accurate Recommendation with Additional Information" 논문에 대해서 소개하였습니다. 이 논문에서는 기존 방법들의 한계를 극복하기 위해 1) 크기 제한 없는 임베딩 벡터, 2) Data Context Adaptation, 3) 추천을 위해 고안된 딥러닝 예측 모델 아이디어를 제시하였고, 모든 아이디어를 통합한 end-to-end 모델인 DaCoNa를 제안하였습니다. 또한 실험을 통해 DaCoNa가 기존의 방법들에 비해 정확한 추천 결과를 제공하는 것을 보였습니다. DaCoNa는 상품이나 사용자의 추가 정보가 주어진 상황에서 유용합니다. 예를 들어 상품의 카테고리 정보, 상품의 제조사, 사용자의 성별, 사용자의 나이 등이 이용 가능한 서비스에서 DaCoNa는 정확한 추천 성능을 달성할 수 있습니다. 최근 온라인 서비스에서는 상품이나 사용자의 다양한 정보를 수집할 수 있기 때문에 실제 서비스에서 더욱 효과적일 것으로 기대됩니다.