4. Sequential recommendation
Sequential recommendation은 유저의 최근 행동 데이터를 학습해 다음으로 볼 아이템을 예측하는 방법이다.
GNN을 통해서 아이템-아이템간 전환을 그래프 edge로 나타낼 수도 있다.
4.1. Graph Construction
Directed graph (Connecting Consecutive Items)
•
Sequential 한 유저의 행동 데이터의 경우 시간에 따라 유저가 본 아이템들로 표현되어지며, GNN에서는 directed graph으로 이를 표현함
→ 연속된 두 아이템을 directed graph으로 표현
•
단점은 유저의 sequence가 짧은 경우 edge를 만들기 힘들고, neighbor가 없는 node (아이템) 도 많이 생기게 됨
→ 따라서 GNN으로 user sequential preference를 더 반영하기 위해 다음과 같이 두가지 방향으로 연구됐다.
Item-Item transition 강화
•
sequence를 추가로 넣어주는 방식
•
HetGNN : Heterogeneous Graph Neural Network
◦
sequence를 나타내는 graph와 global level item graph를 만들어, sequence graph에 global item graph 에서 얻는 representation vector를 추가하는 방식
◦
global level item graph의 경우 연속적으로 한번이라도 나타났으면 edge로 연결하여 하나의 graph로 만드는 방식
•
DGTN: Dual-channel Graph Transition Network for Session-based Recommendation
◦
학습하고자 하는 sequence가 있을 때 해당 sequence의 아이템들을 포함하고 있는 graph 상의 다른 sequence를 neighbor session으로 가져옵니다.
Adjust current sequence graph
•
sequence graph를 변형하는 방식으로 새로운 node를 추가하거나 edge를 추가함
•
MA-GNN : Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding
◦
3개 node로 이루어진 metapath를 뽑아내서 각각 새로운 node로 aggregate한다.
◦
종류가 다른 node들로 이루어진 meta-graph에서 node embedding을 학습하는 방법이다.
meta-path?
•
SGNN-HH : Star Graph Neural Networks for Session-based Recommendation
◦
star node라는 모든 sequence item과 연결되어 있는 가상의 node를 만듦
◦
연속된 sequence 뿐만아니라 전체 sequence를 반영하고자 함
4.2 Information propagation
Transition 정보를 학습하기 위해 여러가지 방법이 사용된다.
GGNN (Gated Graph Neural Network)
•
많이 쓰이지만 neighbor 들간 가중치가 동일하다는 한계가 있다.
Attention
•
node aggregate 할 때 attention mechanism을 사용
GCN
•
인접해 있는 node 들을 이용해 node aggregate을 진행함
•
sequential recommendation에서는 순서를 고려해야 하기 때문에 GCN은 잘 안쓰이는 것 같음
4.3 Sequential preference
일반적인 GNN의 경우 유저의 긴 sequence를 잘 반영하지 못한다는 단점이 있다.
따라서 전체 sequence를 나타내는 global preference (or sequential preference) 를 만들어 긴 sequence를 반영하면 성능을 높일 수 있다.
•
SGNN-HH 처럼 마지막 아이템에 대한 representation vector (local preference) 와 전체 아이템에 대한 representation vector (global preference)를 더해주는 방식이 가능하다.
•
global preference를 만드는 방식은 attention mechanism, positional embedding 을 추가하는 방법, GRU 등이 있다.
•
RNN이나 positional embedding을 추가하는 것보단 attention이 성능이 가장 좋다. (논문들을 비교했을 떄)