【KDD2019論文メモ】 Buying or Browsing? : Predicting Real-time Purchasing Intent using Attention-based Deep Network with Multiple Behavior

# はじめに
今回はDeep learningを使ってECサイトに訪れるユーザの購買意欲を推定する論文を紹介したいと思います．タイトルは"Buying or Browsing? : Predicting Real-time Purchasing Intent using Attention-based Deep Network with Multiple Behavior"でKDD'19に採択された論文です。

ECサイトを運営する企業でデータ分析・機械学習をされている方であれば，現在サイトに訪問しているユーザの状態、即ち購入したいのか，それともただ眺めているだけなのか推定したいという場面がたくさんあるのではないでしょうか？この論文はそれを実際にやってみたよという研究です．現時点までのユーザの行動履歴を入力として、リアルタイムに「このユーザはどのぐらい購買意欲があるのか？」を推定します。

最初にざっくりとした概要を示した後で、各章の（雑な）まとめをしていきたいと思います。詳しいところは元の論文を読んでみてください。
# 概要
- 一言でいうと
   - ECサイトにおけるユーザの購入意向（Purchase Intent）をリアルタイム推定するためのDeep手法の提案．データセットとして従来のページ閲覧，検索といったデータに加えて，スマートフォンのタッチやスワイプといった時間的解像度の高い新しいタイプのデータも収集．それを階層的なAttention構造によって学習させることでSOTA達成．
- Contribution
    - アプリ上でのタップ、スワイプ行動の収集
        - 従来はページの閲覧、検索といったブラウジングの情報のみを使っていたが、これらの情報も加えることで精度向上
    - リアルタイムに購買意向を予測するディープネットワークDIPNの提案
        - 複数のビューを融合するために新しい階層的なAttention機構の導入
        - ユーザの行動パターンをより明確に区別するためのマルチタスク学習の導入
    - 大規模な実験によるパフォーマンス評価
        - 大規模なデータセットでのオフライン評価（AUC）で他手法より優位
        - Taobao上で推定した意向を用いてクーポン割り当てタスクを実行．A/Bテストでその優位性を確認
- 論文リンク
   - https://www.kdd.org/kdd2019/accepted-papers/view/buying-or-browsing-predicting-real-time-purchasing-intent-using-attention-b
- 著者
   - Long Guo, Lifeng Hua, Rongfei Jia, Binqiang Zhao, Xiaobo Wang and Bin Cui
- 発表された場所
   - KDD2019

# 各章まとめ
## 1. INTRODUCTION
- amazonやtaobaoといったeコマースプラットフォームは人々が商品を見つけ，比較し，購入するための主要な場所
- 顧客が買おうとしているのか，ただブラウジングしているだけなのか知ることが重要
    - 売り手に対してのメリットは，販売量と利益率の向上に繋がること
        - e.g. 購入意向が高ければ期間限定クーポンを提示するなど
    - 顧客に対してのメリットは顧客体験の向上に繋がること
        - e,g. 推薦システムや検索エンジンの戦略最適化
- 先行研究で用いられていたデータでは不十分
    - ブラウジングインタラクティブ行動
        - 製品の閲覧，検索，収集など
    - リアルタイムに購入意向を予測するには情報不足
         - 表現力とレスポンスの発生頻度に制限が大きい
- 新しいタイプのデータを収集する
    - スワイプやタップ操作などのリアルタイムなコンテキストを自動収集する
        - これをタッチインタラクティブ行動と呼ぶ
        - 情報量がブラウジングインタラクティブ行動とは段違い
            - e.g. 注文する前には長い間製品のコメントを参照する
    - 従来のデータと新しいデータを組み合わせることでよりユーザの行動を包括的にモデル化できる
- リアルタイム推定への課題
    - タッチインタラクティブ動作からの有用な特徴の抽出
    - タッチインタラクティブ動作とブラウジングインタラクティブ動作を効果的に組み合わせる機構
    - 複雑な閲覧行動から有用な特徴を捉えること
- 提案手法 Deep Intent Prediction Network: DIPN
    - 生データからユーザ行動の特徴を自動的に学習する
    - 階層的なAttention構造
        - 複数のインタラクティブ行動を融合できる
            - 下部の attentionlayerでは各ビュー内の動作シーケンスの内部に焦点を当てる
            - 上部の attention layerではビュー間の動作シーケンスの関係を学習する
- Contribution
    - 新しいリッチなデータ，タッチインタラクティブ行動の収集
        - 従来データと組み合わせて購買意向推定精度を向上
    - リアルタイムに購買意向を予測するディープネットワークDIPNの提案
        - 複数のビューを融合するために新しい階層的なAttention機構の導入
        - ユーザの行動パターンをより明確に区別するためのマルチタスク学習の導入
    - 大規模な実験によるパフォーマンス評価
        - 大規模なデータセットでのオフライン評価（AUC）で他手法より優位
        - Taobao上で推定した意向を用いてクーポン割り当てタスクを実行．A/Bテストでその優位性を確認


## 2. RELATED WORK
- purchasing intent prediction
    - 古典的な機械学習やDeepを用いてかなり徹底的に行われている
    - ユーザアイテムクリックセッションが与えられた時，ユーザがこのセッション内で何か購入するか予測する
        - GBM, GMBとニューラルネットのアンサンブル，deep belief network, denoising autoencoder, RNN, LSTMなど
    - 本研究との違い
        - 問題設定が本研究の方が現実的である
            - 先行研究はセッション内の購入行動を予測することだが，本研究は部分系列が与えられた時に，そのあとで特定の時間内に購入するか予測すること
            - 現実問題として現時刻での不完全なセッションに基づいて将来の行動を予測することが必要
        - データが単一ソースである
            - 本研究はタッチインタラクティブアクションを含む複数のデータソースを扱う
- sequence classification
    - 解こうとしてるタスクはシーケンス分類と関連が強い
    - 従来のシーケンス分類はデータが単一ソース，しかし我々の研究は異なる形式のデータソースを処理する必要がある
- multi-task learning
    - 関連タスク間で表現を共有することでモデルがより多くの潜在的な要因をキャプチャして，元のタスクを一般化することが可能
    - ディープにおいては通常，隠れ層のハードまたはソフトなパラメータ共有で行われる
    - 本研究はハードに相当する

## 3. DATASET
### 3.1. Touch-interactive Behavior
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/e9c0a4fa-a6d3-c92a-537a-be3e8765a57b.png)


- ユーザがtaobaoアプリを利用している時のデータ
- table 2の生データについて
    - 4種類のアクション
        - open page
        - tap
        - swipe
        - leave page
    - ユーザの一連のスワイプ行動はアクションの時間シーケンスになっている
    - それぞれのアクションがもつ情報
        - タイムスタンプ
        - ページのインデックス
        - ポジション
        - アクションの持続時間（duration）
- DIPNに入力するための加工
    - データは連続値とカテゴリ変数が混在している
    - 連続値は離散化してカテゴリ変数化する
        - ポジションに関しては横17，縦25に格子状に分割
        - スワイプレングスに関しては方向を保持するため，ポジション2つ分の情報を持つone hot vectorに
数が得られる．これをそのまま使う．

### 3.2. Browse-interactive Behavior
- 5種類のアクション
    - 製品閲覧
    - 製品検索
    - 製品収集
    - カートに追加
    - 購入
- ユーザの一連のブラウズ行動はこの時系列

最終的にモデルに入力される変数の辞書の語彙数と埋め込み次元
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/ad3fd702-3d1a-d722-af12-3469e5924723.png)

## 4. MODEL ARCHITECTURE
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/9facc13c-15b3-8b01-52a5-f590e458df2f.png)



### 4.1. Embedding layer
- 入力されたカテゴリ変数を埋め込むレイヤー

### 4.2. RNN layer
- アクション間の長期的な依存関係をモデル化
- GRUユニットを採用
   - RNNやLSTMよりも高速
- 時刻tまでの隠れ層表現$h_t$を得る
   - これまでのの$h_{t-1},\dots,h_1$が考慮されている
   - 3種類のインタラクティブシーケンスはそれぞれでモデル化する（ごちゃ混ぜにしない）
      - スワイプ
      - タップ
      - ブラウズ

### 4.3. Hierarchical Attention Layer
- Intra view attention
  - シーケンス内の各アクションと現在のアクションの間のアテンションスコアを計算
- Inter-view attention
  - スワイプ，タッチ，ブラウズの非同期な3つのビューの相互作用を発見する
  - 二つのビューの組み合わせに対するアテンションのアーキテクチャは以下．全ての組み合わせに対して実行して3種類のアテンション済み表現を得る

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/7bc5510e-2353-6193-ad2e-4538712269af.png)


### 4.4. Multi-task layer
- 2つのタスクを解く
   - リアルタイムの購買意向の予測：1時間以内に買う確率$p_s(x)$
   - 長期購買傾向の予測：1日以内に買う確率$p_l(x)$
      - 1日後に行われる購買行動は現在の行動シーケンスとの相関が比較的低い
- なぜマルチタスクにするのか？
   - 顧客をよく表現する一般的な特徴と異なる購買行動を導く特徴をうまく捉えることができる
   - 複数のタスクを同時に学習させることでロバストな表現を学習でき汎化性能が増す
- 2つのタスクに分割することで購買意欲は以下の3つのフェーズに分割される
   - リアルタイムフェーズ
   - 長期フェーズ
   - 無関係フェーズ
- タスクごとにそれぞれ全結合のMLPを用意し学習させる
- 目的関数はそれぞれのタスクのクロスエントロピーの和

## 5. SYSTEM OVERVIEW
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/c3e4903e-a219-8227-a40e-1ffb0a9cbcd3.png)


- 実運用の際にサーバに予測モデルを置いてしまうと，端末から逐一行動データをサーバに送っていたら通信量が膨大になる
- アリババが持つ解決法でモデルを圧縮した後，デバイスにモデルをデプロイする．端末上で推定が可能
- 通信量の削減とプライバシー保持の一石二鳥


## 6. EXPERIMENTS
- 実験条件
    - データセットについて
        - Taobao上で収集
        - 4つのサブセット
            - swipe interactive behavior
            - tap interactive behavior
            - browse interactive behavior
            - user profile
        - 80万ユーザに対して2週間収集
        - ユーザごとに平均して400グループになるようにランダムにサンプル
            - 1つのグループはuser profile，ユーザ履歴，3つのシーケンス（長さ256，短いものはゼロパディング）を持つ
        - 最後のアクションのタイムスタンプに基づいてリアルタイムラベルと長期ラベルをつける
        - 最初の13日間はトレーニングセット，最後の1日は評価に使用
    - 比較手法
        - GBDT
        - RNN+DNN
        - DIPN-ealy-fusion
            - 3種類のシーケンスを混ぜてタイムスタンプ順に並べたものを単一のBi-GRU layerに入れ，intra-view attentionだけを適用させる
        - DIPN-no-attention
        - DIPN-no-inter-view-attention
        - DIPN-no-intra-view-attention
        - DIPN-no-multi-task
    - 実験詳細
        - ハイパーパラメータや最適化法など．論文参照．
- 実験結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/0da47516-d4f9-0068-c289-d929b36c668a.png)


- Online A/B Testing
    - 推定した購買意欲を用いて，オンラインでクーポン割り当てタスクをやってみた
    - 比較した戦略
        - 全てに割り当て
            - ユーザ全員にクーポンをあげる
        - 何にも割り当てない
            - クーポンをあげない
        - モデルによる割り当て
            - 推定値が事前に決め打ちしたしきい値を超えたらクーポンを発行する
    - 評価指標
        - クーポンを配った人の中で何かを買った人の割合 $R_c$
        - クーポンあたりのGMV（グロスマーチャンダイズボリューム，流通取引総額）の増加量
    - 結果．モデルによる割り当ての方が全員に割り当てるよりも良い結果に．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241529/a26b9143-9239-c71b-f013-b800c0b21a68.png)


## 7. CONCLUSION
- リアルタイムに購買意欲を予測するDeep NetworkであるDIPNを提案
- 従来研究では利用していなかったユーザのインタラクティブな動作を収集し，包括的なユーザの動作パターンを捉えた
- 複数の異なるビューの動作を統合するために階層型のAttention機構を提案
- 実験の結果，e-commerse platform上でのGMVの改善に繋がることを示した．