본문 바로가기

AI/Paper review

A Survey of Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions

728x90

들어가며

오늘 리뷰할 논문은 Recommender Systems 구현에서 사용되는 GNN 모델들을 정리해 놓은 논문입니다.

프로젝트 진행을 위해 필요한 부분만 살펴볼 예정입니다.

논문 링크는 아래를 참고해주세요 :) !

https://arxiv.org/abs/2109.12843

 

A Survey of Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions

Recommender system is one of the most important information services on today's Internet. Recently, graph neural networks have become the new state-of-the-art approach to recommender systems. In this survey, we conduct a comprehensive review of the literat

arxiv.org

 


 

0. Abstract

  • 최근 GNN(Graph Neural Networks)추천 시스템에 접근하는 새로운 방식으로 관심받고 있습니다.
  • 본 논문은 추천 시스템과 GNN의 개념과 발전 히스토리에 대해 소개합니다.
  • 본 논문은 추천 시스템에 GNN이 활용되어야 하는 이유에 대해 설명합니다.
  • 본 논문은 시스템적으로 해결해야할 과제에 대해 분석합니다.
  • 본 논문은 현재 GNN 기반의 추천 시스템의 현황에 대한 overview를 제공합니다.
  • 본 논문에서 다루는 GNN 기반의 추천시스템 paper과 codehttps://github.com/tsinghua-fib-lab/GNN-Recommender-Systems 에서 확인할 수 있습니다.

 


 

1. INTRODUCTION

  • 추천 시스템의 히스토리를 요약하면, 크게 3 단계로 구분할 수 있습니다.
    • shallow model
    • neural model
    • GNN-based model
  • 가장 초창기 모델은 feature들 간의 유사도를 직접 계산하는 collaborative filtering (CF) 입니다.
    • shallow model 중 하나 입니다.
    • model-based CF method에는 matrix factorization (MF) 과 factorization machine (FM)이 있습니다.
    • collaborative filtering (CF)는 복잡해지는 사용자의 행동 패턴과 인풋 데이터에 대해 한계를 가지고 있습니다.
  • shallow model의 한계점을 개선하고자 나온 모델이 neural model 입니다.
    • neural collaborative filtering (NCF)은 multi-layer perceptrons (MLP)를 가진 matrix factorization (MF) 입니다.
    • deep factorization machine (DeepFM)은 multi-layer perceptrons (MLP)를 가진 factorization machine (FM) 입니다.
    • 하지만 이러한 모델들은 높은 수준으로 구조화된 데이터들을 요구한다는 것에서 한계가 있습니다.
  • neural model의 한계점을 개선하고자 나온 모델이 GNN-based model 입니다.
    • 기존 neural model은 user의 일차적인 이웃 정보 (first-order neighbors)에 대해 접근할 수 있습니다.  
    • 하지만 GNN-based model은 propagation layer을 적용시킴으로써, user의 더 넓은 이웃 정보 (high-order neighbors)에 대해 접근할 수 있습니다.
    • 다시 말해, 사용자들의 유사도를 계산하는 것이 보단 사용자 집단에 접근하는 방식입니다.
    • 이러한 특징이 데이터의 구조적 한계를 해결할 수 있습니다.
  • GNN-based model 에는 몇 가지 요구사항 존재합니다.
    • 첫째, 인풋 데이터는 그래프로 표현될 수 있어야 합니다. 노드는 각 요소들을 나타내며, 엣지는 관계를 나타낼 수 있어야 합니다.
    • 둘째, component들은 어떻게 propaggate할지와 aggreate할지를 포함하여 디자인 되어야 합니다. 
    • 셋째, optimization goal, loss function, data sampling 등을 포함하여 GNN-based model을 최적화 해야 합니다.
    • 넷째, GNN-based model은 많은 계산을 요구합니다.
  • 따라서, 본 논문은 다음에 대해서 다룹니다.
    • Section 2: BACKGROUND
    • Section 3: CHALLENGES OF APPLYING GNNS TO RECOMMENDER SYSTEMS
    • Section 4: EXISTING METHODS
    • Section 5: OPEN PROBLEMS AND FUTURE DIRECTIONS
    • Section 6: CONCLUSION

 


 

2. BACKGROUND

2.1 Recommender System

2.1.1 Overview

  • 추천 시스템의 background에는 4가지가 존재합니다. 
    • stages, scenarios, objectives, applications

 

2.1.2 Stages

  • Stages
    • 추천 시스템에서 사용하는 수많은 item들의 pool을 의미합니다.
    • 일반적으로, 추천 시스템은 multi-stage 아키텍처를 따릅니다.
    • stage를 지날수록 large-scale의 item pool은 filtering 됩니다.
  • Matching
    • large item pool의 scale을 줄이는 stage입니다.
    • 주로 user의 관심사 추출을 위한 모델링과 잠재 가능성이 높은 item들을 추출하는 stage 입니다.
  • Ranking
    • 추출된 item 들을 리스트화 한 후, ranking을 매기는 stage 입니다.
    • score에 따라 item들에 rank를 매긴 후, 상위 몇 item들을 select 합니다.
  • Re-ranking
    • 비즈니스 요구 등에 따라 특정 item을 제거하거나 list의 order를 변경합니다.

 

2.1.3 Scenarios

  • Social Recommendation
    • 사용자의 행동은 주변 집단으로 부터 영향을 받을 것이라는 가정을 기반으로 한 추천 시스템 입니다.

 

  • Sequential Recommendation
    • 사용자 행동들의 순서를 추출하여, 사용자가 다음에 택할 아이템을 추천해주는 것 입니다.
    • 이 추천 시스템을 활용하기 위해서는, 해결해야 하는 두 자기 문제가 있는데 
      • 첫째, 과거 행동으로 부터 사용자의 관심사를 추출해서 다음 아이템을 예측해야 합니다.
      • 둘째, sequence가 존재하는 사용자 또는 아이템이 있어야 합니다.

 

  • Session-based Recommendation
    • 임의의 사용자가 다음에 택할 아이템을 추천하는 것 입니다.
    • 다수의 사용자들이 하고 있는 행동을 기반으로, 임의의 그 사용자도 그렇게 행동할 것 이라고 가정하는 것 입니다.

 

  • Bundle Recommendation 
    • bunble은 아이템들의 집합을 의미합니다.
    • 즉 사용자에게 하나의 아이템이 아닌, 아이템의 집단을 추천해주는 것 입니다.
    • 보통 상품 프로모션 등에 활용됩니다.

 

  • Cross-Domain Recommendation
    • 하나의 도메인에서 얻은 사용자의 행동 패턴을, 다른 도메인에 적용시켜 사용자의 행동을 예측하는 추천 시스템 입니다.
    • 데이터의 희소성 문제를 해결하기 위해, 타 도메인에 풍부한 데이터가 있으면 그것을 이용하는 것 입니다.

 

  • Multi-behavior Recommendation
    • 사용자의 행동 타입 여러개 (=카테고리) 를 정해놓은 다음, 각 카테고리별로 사용자가 다음에 할 행동을 예측하는 추천 시스템 입니다.
    • 예를 들어, 사용자가 찜, 장바구니, 구매를 클릭하는 행동에 따라 담긴 각각의 물건들이 앞으로 어떻게 될지를 예측하는 것 입니다.
    • 이 추천 시스템을 활용하기 위해서는, 해결해야 하는 두 가지 문제가 있는데
      • 첫째, 카테고리별 구분해놓은 행동에 대해 사용자마다 생각하고 있는 의미는 다릅니다. 예를 들어. A 사용자는 장바구니가 구매를 위해 담는 것이고, B 사용자는 장바구니가 그저 관심있는 물품을 담는 것 일 수 있습니다.
      • 둘째, 사용자가 택한 아이템에 대한 행동 카테고리가 모두 정의되어 있어야 합니다.

 

2.1.4 Objectives

  • Diversity
    • individual-level diversity 와 system-level diversity 가 존재합니다.
    • individual-level diversity는 개인에게 다양한 도메인의 상품을 추천해주는 것 입니다.
    • system-level diversity는 개개인에서 맞는 상품을 추천해주는 것 입니다.
  • Explainabiklity
    • 추천을 하게된 이유 명확하게 설명할 수 있는 추천 시스템입니다.
    • 이 추천 시스템을 사용하기 위해서는, 두 가지 문제를 해결해야 하는데
      • 첫째, 결론으로 나타난 설명 가능한 정보들은 그래프 구조로 보여집니다.
      • 둘째, 추천 이유는 지식 기반 그래프 에서 추출된 지식에 의존합니다.
  • Fairness
    • 편향된 추천을 하지 않기 위해서 사용됩니다.

 

2.1.5  Applications

  • Product recommendation
  • POI (Point-of-Interest) recommendation
  • News recommendation
  • Movie recommendation 
  • etc..

 

2.2 Graph Neural Networks

  • GNN 기반의 추천 시스템 프로세스는 위의 그림과 같이 디자인 되어집니다.
  • 첫째, 데이터를 준비합니다.
  • 둘째, 데이터를 기반으로 Gragh 구조를 나타냅니다.
  • 셋째, GNN 기반의 네트워크 디자인을 적용시킵니다.
  • 넷째, 최적화를 통해 결론을 도출합니다.

 

2.2.1 Graph Construction

  • 최근 그래프의 구조는 다음 세 가지와 같습니다.
  • Homogreneous graph
    • node와 edge의 타입이 단일인 graph 입니다.
  • Heterogeneous graph
    • node와 edge의 타입이 여러 개인 graph 입니다.
  • Hypergraph
    • edge가 두 개 이상의 node와 join한 graph 입니다.

 

2.2.2 Network Design

  • 위 그림은 자주 사용되는 표기법입니다.

 

  • Network Design에 자주 사용되는 model 입니다.
  • 각각의 model에 대해서는 추후에 따로 자세히 공부해서 업로드 할 예정입니다.

 

2.2.3 Model Optimization

이 부분은 아직 이해를 못한 상태여서 생략하겠습니다.

 


 

3. CHALLENGES OF APPLYING GNNS TO RECOMMENDER SYSTEMS

  • How to construct appropriate graphs for specific tasks?
  • How to design the mechanism of information propagation and aggregation?
  • How to optimize the model?
  • How to ensure the efficiency of model training and inference?

 


 

4. EXISTING METHODS

4.1 Taxonomy

생략

 

4.2 GNN in Different Recommecdation Stages

 

4.3 GNN in Different Recommendation Scenarios

4.3.1 GNN in Social Recommendation

 

4.3.2 GNN in Sequential Recommendation

 

4.3.3 GNN in Session-based Recommendation

 

4.3.4 GNN in Bundle Recommendation

 

4.3.5 GNN in Cross-Domain Recommendation

 

4.4 GNN for Different Recommendation Objectives

4.4.1 GNN for Diversity

 

4.4.2 GNN for Explainability

 

4.4.3 GNN for Fairness

 

.

.

.

이 외 다른 내용은 생략하겠습니다.

이유는 크게 다룰 필요성을 못 느껴서이고,

이후에 필요성 느끼면 추가로 작성하는 걸로 하겠습니다 :) !

 


 

어디서 부터 공부 해야할지 모르겠어서

방향성 잡으려고 논문 내용 정리한건데

해야할 게 산더미로 쌓였어,,