Contents
Graph Neural Networks for Social Recommendation (WWW'19)는 소셜 네트워크에서 추천시스템을 적용한 논문이며, 당시 SoTA 성능에 도달한 GraphRec이다. 현재까지도 사용되는 기법이기도 하고, 이를 기반으로 한 많은 Application 연구도 진행되고 있다.
Abstract
최근 몇 년 동안 Graph Neural Networks (GNNs)은 node information와 위상적인(topological) 구조를 자연스럽게 통합하고 그래프 데이터에서 모델을 학습하는 성능이 우수한 것이 검증되었다. 소셜 네트워크에서는 user-user 혹은 user-item graph 구조를 가지고 있기 때문에 소셜 네트워크에 GNN을 적용할 경우 우수한 성능을 발휘할 수 있다. 따라서, 본 논문에서는 소셜 추천시스템을 위한 Graph neural networks framework (GraphRec)을 제안한다. GraphRec은 user와 item 간의 user-item graph에서 interaction과 opinion을 포착하는 접근법을 제안하며, 두 개의 그래프와 heterogeneous strength을 제대로 모델링할 수 있다.
Introduction
소셜 네트워크는 친구, 동료 등과 같은 주변 사람들을 통해 정보를 획득하고 유포하는 현상(phenomenon)을 기반으로 개발되었으며, user의 사회적 관계가 정보 필터링에 중요한 역할을 한다. 따라서, 사회적 관계를 제대로 파악하는 경우 모델의 추천 성능을 향상시키는데 도움이 된다는 것으로 입증되었다. 최근 연구에 따르면 GNN이 그래프의 topological 구조를 잘 학습할 수 있는 것으로 검증되었다. 그러나 소셜 네트워크와 같은 구조는 아래 그림과 같이 user 간의 관계와 user-item 간의 관계를 다루는 두 가지의 그래프가 결합된 구조를 가지고 있다.

이 구조는 기존의 GNN에서 다루는 그래프 구조와 다르기 때문에 정보를 어떻게 aggregate할지에 대한 문제에 직면하였다. 해당 문제는 다음과 같은 다양한 Challenges가 존재한다. 첫 번째, 정보를 보다 잘 aggregate하기 위해 user-item interaction graph 뿐만 아니라 user opinion graph를 결합하는 것이다. 두 번째, user와 item 간의 interaction과 opinion을 한꺼번에 포착하는 것이다. online에서 user 간의 관계는 서로 다른 관계를 가지고 있을 수 있다. 예를 들어, user가 서로 친한 관계를 띄고 있다면 유사한 취향을 더 많이 공유할 수 있기 때문에 weight를 따로 두지 않고 모델을 학습할 경우 추천 성능이 저하될 수 있다. 따라서, 마지막으로, weight를 고려하는 것이다.
본 논문에서는 위 3 가지 과제를 모두 해결할 수 있는 GraphRec을 제안한다. GraphRec을 통해 다음과 같은 Contribution을 할 수 있다. 첫 번째, 새로운 방법의 Graph Neural Network (GraphRec)을 제안하며 , 이는 소셜 추천시스템에서 일관되게 사용이 가능하다. 두 번째, user-item graph에서 interaction과 opinion을 모두 capture할 수 있는 접근 방식을 제공한다. 세 번째, heterogeneous strength를 수학적으로 고려하는 방법을 소개한다. 마지막으로, 실제 다양한 데이터에서 GraphRec이 효율적인 것을 검증하였다.
The Proposed Framework
Definition and Notation
: The rating value of item by user : The embedding of item : The embedding of user : The opinion embedding for the rating levbel , such as 5-star rating, : The length of embedding vector : The set of items which user , interacted with : The set of social friends who user , directly connected with : The set of users who have interacted the item : The item-space user latent factor from item set of user : The social-space user latent factor from the social friends of user : The user latent factor of user , combining from item space and social space : The opinion-aware interaction representation of item for user : The opinion-aware interaction representation of user for item : The item latent factor of item : The item attention of item in contributing to : The social attention of neighboring user in contributing to : The user attention of user in contributing to : The predicted rating value of item by user : The concatenation operaor of two vectors : The user-user social graph : The user-item rating matrix (user-item graph) : The weight and bias in neural network
user 집합과 item 집합을 각각
An Overview of the Proposed Framework
본 논문에서 제안하는 GraphRec의 구조는 아래의 그림과 같다. GraphRec은 user modeling, item modeling, rating prediction 총 3 가지 요소로 구성되어 있다. 먼저, user modeling은 user의 latent factor를 학습한다. 소셜 네트워크의 데이터는 social graph와 user-item graph로 구성되어 있기 때문에, 각각 나누어서 서로 다른 관점으로부터 user representation을 학습하는 방법을 제공한다. 하나는 item aggregation이며, 이는 user-item graph에서 user와 item 간의 interaction을 통해서 사용자를 이해하는 aggregation이다. 나머지 하나는 social aggregation이며, 이는 social graph에서 social-space로 부터 user 간의 관계를 파악하는 aggregation이다. 최종적으로 item-space, social-space로 부터 정보를 결합함으로써 user latent factor를 얻을 수 있다.

item modeling은 item의 latent factor를 학습하는 것이다. user-item graph에서 interaction과 opinion을 각각 고려하기 위해 user aggregation을 사용한다. user aggregation은 user의 item에 대한 opinion을 aggregate한다. 마지막으로 rating prediction은 user modeling과 item modeling을 통합하고 prediction하면서 model parameter를 학습한다.
User Modeling
위에서 언급한 내용처럼 user modeling은 user latent factor
Item Aggregation
user-item graph는 user와 item 간의 interaction 뿐만 아니라 user가 남긴 item에 대한 opinion(or rating score)도 포함되어 있다. 따라서, 본 논문에서는 item-space user latent factor
이를 통해
Social Aggregation
social correlation theories 때문에 user의 선호도는 user와 직접 연결된 친구들과 유사하거나 영향을 받는다. 따라서, user 간의 유대는 user의 행동에 더 영향을 미칠 수 있다. 다시 말해, social-space latent factor를 학습하는 것은 user의 유대 강도를 고려하여야 한다. 본 논문에서는 이를 고려한 수식을 아래와 같이 제시한다.
이때 mean 함수를 사용하기 때문에
Learning User Latent Factor
social graph와 user-item interaction은 서로 다른 정보를 제공하기 때문에 이를 고려하여 user latent factor를 학습하기 위해 item-space user latent factor와 social-space user latent factor를 함께 사용한다. 두 정보를 학습하기 위해서 본 논문에서는 MLP를 사용하여
Item Modeling
Item modeling은 item latent factor를 학습하기 위해 사용되며
같은 item이라고 하더라도 user마다 opinion이 다를 수 있다. 다양한 user가 제공하는 opinion을 통해 동일한 item의 특성을 잘 파악할 수 있으며, 이는 modeling하는 것에 있어 도움을 준다. 따라서, item에 opinion을 남긴 user의 representation
여기서도 마찬가지로 attention mechanism을 사용하기 때문에 아래와 같이 표현할 수 있다.
Rating Prediction
rating prediction은 model parameter를 학습하는 것에 대해서 다룬다. 본 연구에서는 rating prediction을 위한 GraphRec을 제안하였으며, user와 item에 대한 latent factor를 먼저 연결(concatenate)한 후 MLP를 통과하여 rating을 예측한다.
Model Training
GraphRec의 model parameter를 추정하기 위해서는 optimizer를 설정하여야 한다. 본 논문에서는 목적함수를 아래와 같이 설정하였다.
실제 구현 단계에서는 RMSprop을 사용하여 최적화 하였다. 또한, 과적합(Overfitting)을 방지하기 위해 dropout을 사용하였다.
Experiment
본 논문에서는 PMF, SoRec, SoReg, SocialMF, TrustMF, NeuMF, DeepSoR, GCMC+SN 등의 기존 연구에서 성능이 우수하다고 알려진 추천시스템 기법을 활용하여 벤치마크 모델로 사용하였다. 데이터는 Ciao와 Epinion 데이터를 사용하였으며,데이터의 기초 통계와 실험 결과는 다음과 같다.


실험 결과, social network information이 추천시스템에 도움을 주는 것을 확인할 수 있으며, neural network를 사용할 경우 추천 성능을 높일 수 있는 것을 확인하였다. 마지막으로, 본 논문에서 제안하는 GraphRec이 다른 기법에 비해 우수한 성능을 발휘하는 것을 확인하였다.
본 논문에서는 GraphRec의 어떤 부분이 추천 성능에 기여하는지를 확인하기 위해 GraphRec의 hyper parameter를 조정하며 GraphRec-SN, GraphRec-Opinion, GraphRec-

social information과 opinion을 제거한 경우 기존의 모델에 비해 예측 성능이 저하되는 것을 확인할 수 있으며, attention mechanism을 사용한 경우 성능이 가장 우수한 것을 확인할 수 있다. 마지막 그림인 Figure 5는 embedding size를 달리했을 때의 실험 결과를 의미한다. emedding size가 64인 경우 가장 우수한 성능을 보이는 것을 확인할 수 있다.
Conclusion and Future Work
본 논문에서는 소셜 네트워크 분야에 적용할 수 있는 rating 예측을 위한 GraphRec을 제안해 user-item graph에서 interaction과 opinion을 동시에 포착할 수 있는 접근법을 제공하였다. 본 논문의 실험은 opinion information이 모델의 성능 향상에 있어 중요한 역할을 한다는 것을 확인하였다. 게다가, attention mechanism을 통해 서로 다른 weight를 부여할 경우 성능이 향상되는 것도 확인하였다. 본 연구에서는 정적 데이터를 기반으로 모델을 학습하였으나 실제 소셜 네트워크는 정적 네트워크인 경우가 많다. 따라서, 추후 동적 네트워크에서도 적용할 수 있는 모델을 구축하고자 한다.