Explainable Reasoning over Knowledge Graphs for Recommendation

투빅스1617 RS·2022년 5월 18일
0

1. Introduction

  • Interection이 오직 'click'으로 구성되는 것이 아닌 user과 관계있는 item들의 특징을 반영하여 내재된 정보를 파악한다.
  • Knowledge Graph를 사용함으로써 추천에 대한 이유를 설명하고, Cold start 문제를 해결한다.

  • 위의 그림에서 User는 'Alice'이고 이 유저가 'Castle on the Hill' 이라는 곡을 추천 받았을 때, 다음과 같은 경로를 볼 수 있다.
  1. (Alice, Interact, Shape of You) -> (Shape of You, IsSongOf, divide(÷)) -> (divide(÷), ContainSong, Castle on the Hill) ==> 수록곡을 통한 Path
  2. (Alice, Interact, Shape of You) -> (Shape of You, SungBy, Ed Sheeran) -> (Ed Sheeran, IsSingerOf, Castle on the Hill) ==> 가수(Ed Sheeran)를 통한 Path
  3. (Alice, Interact, Shape of You) -> (Shape of You, Interacted By, Tony) -> (Tony, Interact, Castle on the Hill) ==> 유저를 통한 Path
  • 이러한 연결들은 경로에서 정보를 종합하여 보이지 않는 user-item interaction을 추론한다.

KPRN

  • 본 논문의 저자들은 모델 이름을 KPRN(Knowledge-aware Path Recurrent Network'라고 지었고, 지식그래프의 path에 RNN 모델을 적용하였다.
  • 기존 아이템 간의 관계형 데이터베이스 정보에 User-Item interaction 정보까지 고려하여 Knowledge Graph를 형성하고, 이는 정형데이터 관계와 Sequence 관계를 모두 포함하게 된다.
  • 또한, 사용자에게 특정 아이템을 추천할 때, 다양한 관계 중 어떤 것에 중점을 두는지 학습하기 위하여 Weight Pooling을 사용한다.
    • 위의 경우에서 가수(Sung by)때문에 Castle on the Hill을 듣는 다는 것에 대한 설명이 가능하도록, Sungby의 관계에 높은 가중치를 두고 학습한다.

2. Modeling

Embedding Layer

  • Embedding을 할 때는, 동일한 entity-entity 쌍이 다른 의미(relation)을 가질 수 있고, 이러한 경우 다른 경로로써 포함한다.

LSTM Layer

  • Input : x (entity, entity type, relation type)
  • LSTM(Long Short Term Memory) : 장/단기 기억이 가능하게 설계 된 신경망 구조이며 1과 0으로 나타나는 Label을 기준으로 학습한다.
  • Pos Path와 Neg Path를 학습하며 Neg Path는 label이 0인 즉 상호작용이 없는 Path이다.
  • LSTM에 대한 설명 참고 : http://www.incodom.kr/LSTM

Weighted Pooling Layer

  • (5)의 식은 path score들의 평균을 sigmoid 함수에 넣어준 값이 된다. 즉, path가 세개이고, 각각의 score가 [0.3, 0.6, 0.9]일 때, sigmoid(0.6)으로 약 0.64의 값이다.
  • (6)의 식에서는 path score을 exp(sk/γ)\exp(s_k/\gamma) 로 사용하면, γ\gamma(가중치)가 작은 수 일수록 결과값이 커진다. 여기서 y^ui\hat{y}_{ui}값이 크다는 의미는 score가 강한 path가 더 큰 영향력을 가진다는 max pooling을 의미한다.
  • (6)의 식에서 γ\gamma가 큰 수 일수록 y^ui\hat{y}_{ui}값이 작아지며 avg pooling에 가까워진다.

3. Experiments

3-1. DataSet

  • IMDb의 knowledge graph data + MovieLens의 User-Item Interection인 MI(영화) 데이터와 음악 데이터 KKBox를 이용한다.
  • noisy해지는 것을 방지하여 Path의 length는 최대 6으로 설정되었고, First Node가 User이고 Last Node가 Item인 Path들을 추출하여 사용한다.

3-2. Learning

  1. Positive pair를 설정한 후 Pos Path를 추출한다.

  2. Interaction이 없는 pair를 4개 설정한 후 Neg Path를 추출한다.

  3. 1과 2로 나온 데이터를 80%는 train data로, 20%는 test 데이터로 사용하여 학습한다. 이때의 목적함수는 다음과 같다.

  4. Test는 1개의 test set pair과 random 한 100개의 쌍을 사용하고, 이 101개의 score로 평가를 한다. 이때, 평가지표는 Hit ratio@K, ndcg@K이다.

RQ1

Compared with the state-of-the-art KG-enhanced methods, how does our method perform?

  • MI와 KKBox 데이터에서 모두 가장 좋은 성능을 내는 것을 볼 수 있다.

RQ2

How does the multi-step path modeling (e.g., the incorporation of both entity and relation types) affect KPRN?

  • KPRN-r은 KPRN에서 relation을 고려하지 않은 모델이다.

  • MI 데이터 셋에서 relation을 고려하지 않았을 때 성능이 낮아지는 것을 미루어보아 relation을 고려해서 본 모델이 좋은 성능을 낸다고 말할 수 있다.

  • 하이퍼파라미터가 크게 유의미하다고 보이지 않는다.

RQ3

Can our proposed method reason on paths to infer user preferences towards items?

  • 이 논문의 가장 큰 Contribution은 Reasoning이다.
  • 본 모델은 Knowledge Graph를 따라서 사용자의 관심을 확장할 수 있을 뿐만 아니라 사용자에게 Item이 왜 추천되었는지에 대한 적합한 설명을 제공 가능하다.
참고

http://dsba.korea.ac.kr/seminar/?mod=document&uid=387

profile
투빅스 추천시스템 1617기

3개의 댓글

comment-user-thumbnail
2022년 5월 23일

투빅스 17기 염제윤입니다.

Explainable Reasoning over Knowledge Graphs for Recommendation
이전 fm과 다르게 click(cpr)만을 사용하지 않고, 각 아이템과 유저들 간의 특징을 반영하여 정보를 파악하고, cold start문제 역시 해결할 수 있다.
학습과정은
1. 노드간의 정보들의 가능한 루트들을 선정
2. 노드의 시퀀스를 lstm을 통해 학습, 여기서 들어갈 input 값은 (노드의 종류 + 해당 노드의 정보 + 다음에 이어질 노드와의 관계)이다.
3. lstm을 거친 뒤에는 각각의 루트들은 레이턴트 벡터가 된다. 해당 레이턴트 벡터는 Weighted Pooling Layer를 지나 가중치합으로써 output 값을 생성한다.
여기서 Weighted Pooling Layer는 척도모수를 학습가능한 모수로 두어 avg pooling과 max pooling사이의 가중치 합을 학습하게 된다.
마지막으로 loss 계산은 pos path와 neg path (상호작용이 없는 값들을 생성)의 binary crossentropy를 이용하여 계산한다.

답글 달기
comment-user-thumbnail
2022년 5월 24일

투빅스 17기 나다경입니다.

Explainable Reasoning over Knowledge Graphs for Recommendation은 Knowledge Graph를 사용함으로써 추천에 대한 이유를 설명하고, Cold start 문제를 해결할 수 있음.
경로에서 정보를 종합하여 보이지 않는 user-item interaction을 추론하여 설명에 타당성을 부여함.
Embedding Layer -> LSTM Layer -> Weighted Pooling Layer로 진행됨.
본 모델은 Knowledge Graph를 따라서 사용자의 관심을 확장할 수 있을 뿐만 아니라 사용자에게 Item이 왜 추천되었는지에 대한 적합한 설명을 제공 가능함.

답글 달기
comment-user-thumbnail
2022년 5월 25일

투빅스 16기 이승주입니다.

Explainable Reasoning over Knowledge Graphs for Recommendation
기존 아이템간의 관계형 데이터베이스 정보에 유저 아이템간의 interaction정보까지 더해 knowledge graph를 생성하여 정형 데이터의 관계와 sequence의 관계가 합쳐진 데이터를 활용하여 그래프 구조를 형성합니다. 사용자에게 특정 아이템을 추천할때 고려해야하는 다양한 관계가 존재하고 여러 관계 중 어떤 것에 중점을 두는지 학습하도록 Weighted pooling 을 활용합니다. Embedding layer에서는 (entity, entity type, relation) 3가지 type index을 결합하여 latent space에 mapping하고
Path의 순차적인 의미와 next entity에 대한 관계를 학습하므로 시간적 의미 학습 가능합니다.
RNN 모델을 활용하여 다양한 정보, 관계를 내포하고 있는 Path를 Represent하여 학습합니다.

답글 달기