Search

Heterogeneous Global Graph Neural Networks for Personalized Session-based Recommendation (HG-GNN)

Person
Files & media
Journal / Conference
WSDM
Progress
In progress
Year
2022
비고
논문 소개
•
WSDM 2022 논문, cite 32

Abstract

•
기존의 많은 session based recommendation 연구들은 item-item transition에 집중했고, user preference를 만들 때 user historical session을 고려하지 않고 추천을 하는 문제가 있다. (user의 전체적인 선호도를 반영하지 못한다는 뜻)
•
이 논문에서 제시하는 Heterogeneous Global Graph Neural Network (HG-GNN)에서는 item transition, user-item interactions, global co-occurrence item 등의 정보를 사용하여 유저의 선호를 파악한다. (다 쓰겠다는 소리)
•
추가적으로 Personalized Session Encoder를 통해서 global user preference (전체적인 유저 선호도)와 temporal user interest (최근 유저 선호도)를 둘 다 반영하는 시도를 했다.

Introduction

기존 방식의 문제점
1.
위의 그림처럼 비슷한 session을 가지는 유저 (아이폰, 아이폰 케이스, 에어팟) 들에게는 똑같은 추천을 하게 된다. 하지만 유저의 session이 비슷하더라도 유저의 선호도는 다를 수 있다.
2.
다른 유저의 item-item transition은 고려하고 있지 않는다. → 단일 session에 대한 유저 preference를 만들 때 정보가 부족함.

Related Works

생략

Preliminary

V={v1,v2,...,v∣V∣}V = \{v_1, v_2, ... , v_{|V|} \} → 아이템
U={u1,u2,...,u∣U∣}U = \{ u_1, u_2, ..., u_{|U|} \} → 유저
Sui={Sui,1,Sui,2,...,Sui,n}S_{u_i}=\{S_{u_{i,1}}, S_{u_{i, 2}}, ..., S_{u_{i, n}}\} → uju_j의 모든 history 정보
Sui,jS_{u_{i, j}}는 uiu_i의 jj 번째 session

Methodology

•
user-item edge를 추가해 user preference를 잡고자 함
•
item-item transition 이 있는 경우 edge로 만들었고, global co-occurence를 바탕으로도 비슷한 item pair를 연결하였다. (global co-occurence?)
1.
Heterogeneous Global Graph Construction
1.1. item-to-item
•
transition의 종류에는 하나의 session에서 인접하여 나타난 아이템 쌍을 의미할 수도 있고, 같은 session에서 반복적으로 같이 등장한 아이템 쌍을 의미하기도 한다.
Session-based Recommendation with Graph Neural Networks
•
인접한 item transition relation은 다른 session based GNN 논문의 방식을 따라했다함.
◦
(vi,vj,rin)(v_i, v_j, r_{in}) 또는 (vi,vj,rout)(v_i, v_j, r_{out})으로 표현되며 각 아이템에 대해서 top-S 개의 relation score
r={rin,rout}r = \{r_{in}, r_{out}\}를 가지는 edge 들만 선택한다.
→ 만약 특정 아이템 (인기 상품) 이 다른 아이템과 연결된게 많다면 해당 아이템은 relation score가 낮게 나올 것이다. (1/neightbor 수로 계산)
→ 인기 상품들이 추천되는 것이 아니라 실제로 강하게 relation이 있는 아이템 쌍만을 반영할 수 있지 않을까 생각이 들었음
•
co-occurrence item-item pair의 경우 특정 아이템 viv_i 가 있을 때 해당 아이템과 가장 자주 같이 등장하는 top-k 아이템들을 고르는 것이다. (vi,vj,rsimilar)(v_i, v_j, r_{similar})
◦
N(vi)N(v_i)의 경우 viv_i가 있는 session의 set을 의미한다.
◦
이 점수를 통해 top-K의 neighbor node를 고른다.
◦
또한 첫번째로 구하는 adjacent relation과 co-occurence relation이 겹치는 경우가 발생한다.
◦
top-K 아이템(co-occurence relation)과 adjacent relation으로 얻는 edge를 비교하여 adjacent relation으로 얻은 아이템 수만큼 top-K 아이템(co-occurence relation item)을 자른다.
◦
similar relation에 노이즈가 너무 많이 들어가는 것을 방지하기 위함
1.2. item-to-user
•
item-user relation의 경우 user의 long-term preference를 나타내기 위해 필요하다.
•
user item interaction이 있는 경우 (vj,ui,rinteract)(v_j, u_i, r_{interact}) 또는 (ui,vj,rinteracted−by)(u_i, v_j, r_{interacted-by})로 edge를 나타낸다.
2.
Heterogeneous Global Graph Neural network
•
유저 벡터와 아이템 벡터는 똑같이 d 차원의 embedding vector로 초기화
◦
qui(0)q_{u_i}^{(0)}, pvj(0)p_{v_j}^{(0)} → 초기값
◦
qui(k)q_{u_i}^{(k)}, pvj(k)p_{v_j}^{(k)} → k layer 이후 embedding vector
•
아이템의 경우 가능한 relation은 rin,rout,rsimilar,rur_{in}, r_{out}, r_{similar}, r_{u} 등이 있다. 각각의 relation을 rxr_x로 두고 다음과 같이 neighbor aggregation이 가능하다.
•
pvi,rx(k+1)p_{v_{i},r_{x}}^{(k+1)}은 k+1 번째 layer에서 아이템 viv_i 와 rxr_x relation을 가지고 있는 neighbor node들을 aggregate 한 결과라고 보면 된다.
•
en(k)e_{n}^{(k)}는 pn(k)p_{n}^{(k)} 또는 qn(k)q_{n}^{(k)}로 neighbor node들의 representation vector를 나타낸다.
•
최종적인 pvi(k+1)p_{v_i}^{(k+1)}은 위에서 구한 다양한 relation의 representation vector를 합친다. sum, stack, mean 중에서 모든 정보를 골고루 반영하기 위해 mean을 사용하였다고 한다.
•
유저 representation vector의 경우 rvr_v밖에 없으므로 위와 같이 합쳐진다.
•
최종 representation vector는 위와 같이 표현되며, 실험적으로 ak=1K+1a_k = \frac{1}{K+1}의 uniform 값을 사용한다고 한다. (lightgcn과 똑같은 결과)
3.
Personalized Session Encoder
•
추천을 할 때 current session 도 중요하지만 long-term user preference도 중요하다. General Preference Learning 모듈과 Current Preference Learning 모듈을 만들었음
•
Current Preference Learning
◦
user의 session이 {v1s,v2s,...,vls}\{v_1^s, v_2^s, ..., v_l^s\} 일 때, positional embedding을 더한 item representation을 soft attention에 통과
◦
ps′p_s^{'} 는 global representation으로전체 아이템에 representation에 대한 평균, 전반적인 representation 정보를 학습하기 위해 사용한다.
◦
ϵi\epsilon_i 를 각각의 아이템마다 구하게 되는데, 이때 각 아이템의 representation과 global represenation을 사용한다.
◦
current preference는 각각의 representation에 위에서 구한 soft-attention 가중치를 곱하게 된다.
•
General Preference Learning
◦
general preference embedding을 구할 때는 위처럼 모든 아이템들을 평균내서 구한 global representation이 아니라 HGNN을 통해서 얻어낸 user representation을 이용한다.
◦
계산 방식은 동일함
•
두 preference는 weighted sum되어 하나의 preference representation으로 나타내어 진다.
4.
Prediction and Training
•
위에서 구한 representation vector와 item embedding을 각각 내적하여 해당 아이템을 다음에 클릭할 확률로 나타냄

Experiments

사용한 데이터셋
모델간 비교
•
몇개의 데이터셋에서는 성능이 살짝 떨어지지만 대체적으로는 가장 높다.
•
생각보다 엄청 좋진 않음,,,
Ablation Study
•
HGNN을 완전히 없앤 경우, CPL (current preference) 모듈을 없앤경우, GPL (general preference learning)을 없앤 경우 위의 결과와 같다.
•
생각보다 GPL은 영향이 적고 상대적으로 CPL을 뺐을 때 영향이 큰 것 같음
•
여러가지 종류의 relation edge들을 제거했을 때 결과이다.
→ 생각했던 것보다 영향이 적음, 심지어 similar edge를 제거하는 경우 MRR이 오른다 …?
→ MRR이 오른다는 것은 정답 아이템을 상위권으로 잘 올린다는 것인데, HG-GNN을 적용하면 candidate item은 잘 뽑지만 ranking은 잘하지 못한다는 생각이 들었음
•
각각 adjacent edge sampling size, similar item edge top-K 에 대한 실험이다.

결론

다양한 방식으로 그래프 edge를 만들어서 정보를 넣으려고 한 것 같다. 하지만, 너무 많은 정보를 넣어서 오히려 노이즈도 많이 학습되어 성능이 생각보다 뛰어나지 않은 건가 생각이 들었다.