논문 : https://arxiv.org/abs/1904.06690

https://meet.google.com/xph-ecvu-rav

레퍼런스 / 학습 자료


발표 자료

Abstract

추천 시스템에서 단방향 모델은 과거의 정보만을 사용해 예측을 진행합니다. 그러나 사용자의 행동은 텍스트나 시계열 데이터처럼 엄격한 순서가 존재하지 않습니다. 본 논문에서는 사용자의 행동 순서를 모델링하기 위해 양방향 context 정보를 고려하는 BERT4Rec을 제안합니다. 이 때, 학습 시 발생하는 정보의 유출을 줄이고 학습의 효율성을 위해 Cloze 라는 random masking 기법을 활용합니다.

1. INTRODUCTION

<aside> 💡 In many real-world applications, users’ current interests are intrinsically dynamic and evolving, influenced by their historical behaviors.

사용자의 관심사는 과거 행동에 영향을 받아 동적으로 변합니다.

<aside> 💡 To model such sequential dynamics in user behaviors, various methods have been proposed to make sequential recommendations based on users’ historical interactions. They aim to predict the successive item(s) that a user is likely to interact with given her/his past interactions.

사용자의 과거 상호작용을 기반으로 다음에 선택할 아이템을 예측하는 것을 Sequential recommendation이라고 합니다.

</aside>

<aside> 💡 The basic paradigm of previous work is to encode a user’s historical interactions into a vector using a left-to-right sequential model and make recommendations based on this hidden representation.

기존 접근법들은 이를 위해 사용자의 과거 상호작용만을 hidden representaion으로 생성하여 추천을 제공했습니다.F

이러한 방법은 다음과 같은 한계가 존재합니다**:**

<aside> 💡 To address the limitations mentioned above, we seek to use a bidirectional model to learn the representations for users’ historical behavior sequences. Specifically, inspired by the success of BERT in text understanding, we propose to apply the deep bidirectional self-attention model to sequential recommendation.

위 문제를 해결하기 위해, 본 논문에서는 sequential recommendation에 BERT 모델을 활용하는 것을 제안합니다.

⇒ 과거와 미래 정보로부터 얻는 context를 모두 활용할 수 있음

</aside>

<aside> 💡 Jointly conditioning on both left and right context in BERT cause information leakage. To tackle this problem, we introduce the Cloze task to take the place of the objective in unidirectional models.

과거와 미래 정보를 활용하여 학습하게 되면 간접적으로 예측 아이템을 보게 됩니다. 이 문제를 해결하기 위해 Cloze 방법론을 제안합니다.

Cloze

랜덤하게 아이템을 [mask] 토큰으로 숨기고, context를 기반으로 해당 item의 id를 예측하는 학습 방법

⇒ 학습 데이터가 늘어나는 효과

</aside>

<aside> 💡 However, a downside of the Cloze task is that it is not consistent with the final task. To fix this, during the test, we append the special token “[mask]” at the end of the input sequence to indicate the item that we need to predict, and then make recommendations base on its final hidden vector.

그러나 Cloze 방법론은 sequential 추천의 최종 목표와 일치하지 않습니다. 따라서 테스트 단계에서는 [mask] 토큰을 입력의 마지막에 추가하여 다음에 나타날 아이템을 예측하도록 합니다.

</aside>

Contributions: