言語処理学会 第25回年次大会 発表論文集 (2019年3月)

ユーザレビューを用いた内容ベース推薦へのシーケンス認識型推薦モデルの適用
田代 光

鈴木 良弥

山梨大学大学院 医工農学総合教育部 メカトロニクス工学コース{g17tj009, ysuzuki}@yamanashi.ac.jp

1

はじめに関係性・依存性を捉える必要があると考えられる．このような情報を考慮するため，本研究では注意機構と推薦システムはネットショッピングやストリーミングサービスなど様々なアプリケーションで活用されて双方向 RNN を用いたシーケンス認識型推薦モデルを提案する．

おり，様々なオンライン利用においてシステムによる多種多様な形の推薦を受けることができる．

実験の結果から，商品購入データを対象とした内容
ベース推薦において時系列情報を考慮することで推薦

ネットショッピングにおける商品購入データを対象とした推薦では，協調フィルタリング (CF)[10][14] や精度が向上することを確認し，提案モデルが既存の推薦モデルと比較して精度を改善することを示す．

ユーザレビューを利用した内容ベース推薦 [4][15] が研究されてきた．これらの手法は購入履歴から作られた

2

関連研究

評価値行列に基づき推薦を行うが，ほとんどの場合で購入の順序や時刻などの時間情報は考慮されない．

ユーザレビューを用いた内容ベース推薦では，推薦一方で，近年では評価値行列ではなくサービス利用

対象 (アイテム) は投稿されたユーザレビューから作成

者 (ユーザ) ごとの時系列データを対象として推薦をした特徴ベクトルによって表現される．ユーザレビュー

行うシーケンス認識型推薦 (Sequence-Aware Recom-を利用する目的は，ドメイン固有の特徴やアイテムごmendation) が研究されている [13]．シーケンス認識型の推薦手法ではセッションとしてまとめられた Web 上のユーザ行動の時系列データを対象として行動パターンのモデリングを行う [1][5][12]．時系列情報の考慮によって，従来の手法では困難であったユーザの短期的な興味や嗜好の時間的な変化の考慮が可能となる．
商品購入データを対象とした場合においても，ユーザの商品選択の時系列データを利用できるため，興味の時間的な変化を考慮することにより精度の高い推薦が可能となると考えられる．
そこで，本研究ではユーザレビューを用いた内容
ベース推薦に時系列データを利用したシーケンス認識型推薦モデルを適用する．具体的には，推薦対象の商品へ投稿されたユーザレビューからアイテムの特徴ベクトルを作成し，その特徴ベクトルと時系列データから推薦モデルを学習する．
また，商品購入データを対象とする場合では，時系列データが数カ月あるいは数年にわたるものとなるため，サイト内のユーザ行動が保存されているセッションデータを対象とする場合と比較して，より長期的なとの性質を特徴量エンジニアリングを介すことなく抽出するためである．

Garcia Esparza らは，レビューテキストを用いて各単語の Tf-iDf 値を計算し，その重み付けを用いたBag-of-Words 特徴で各アイテムを表現している [4]．
また，Zheng らおよび Musto らは Word2Vec に代表される単語分散表現を利用してアイテムの特徴ベクトルを獲得している [11][15]．
内容ベース推薦では，各アイテムの特徴ベクトル間の類似性を計算することでアイテムをランキング付けすることで推薦を行う．しかし，このような方法は特徴ベクトルの作成方法を除き，一般的な CF と同じ方法でランキング付けが行われるため，ほとんどの場合でアイテム選択における時間情報 (アイテム選択の順序やその時刻) は省略されてしまう．
一方で，時間情報を考慮したシーケンス認識型の手法では再帰的ニューラルネットワーク (RNN) を用いることでアイテム選択における時間情報を考慮する．
Hidashi らは，様々なクリックイベントの時系列デー
タを対象として RNN を用いたアイテム間のランキン― 631 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

グ学習を行う手法を提案している [5][6]．Okura らは，

AutoEncoder を利用したニュース記事の特徴ベクトル作成方法と RNN を用いたニュース記事の推薦モデルを提案している [12]．
これらの推薦モデルでは，RNN を介してユーザのアイテム選択の時系列に沿って特徴ベクトルをエンコードすることで時系列データの特徴ベクトルを作成する．
そして，ユーザが次に選択するアイテム (予測対象) との類似度を計算することで，モデルの学習およびアイテムのランキング付けを行う．

3

シーケンス認識型推薦モデル

3.1

ベースラインモデル

図 1: 提案モデルの概要

Okura らのシーケンス認識型推薦モデル [12] をベー

RNN 推薦モデルの学習およびランキング付けでは，スラインとして利用する．各ユーザのアイテム選択系

アイテムの特徴ベクトル間の内積を用いて類似度を計

列 SU は次の式 (1) で表される．

算する．

SU = {I1 , ..., Ii , ..., IT }

(1)

3.2

ここで，Ii はユーザ U が過去に選択したアイテムであり，d 次元の特徴ベクトルで表現されている．
その後，系列 SU を推薦モデルへ入力し，その出力ベクトル OT とすべてのアイテムの特徴ベクトルとの類似度を計算することでランキング付けを行う．
このように，ユーザが過去に選択したアイテムの特徴ベクトルに基づいてモデル出力を作成し，その出力ベクトルと対象アイテムとの類似度を計算することで内容ベースの推薦を実現する．

既存のシーケンス認識型推薦モデルでは，時刻 T における RNN 出力 hT のみ用いてアイテムをランキング付けする．これは，既存の研究がセッションデータを対象とし，一定の時間内における短期的なユーザ行動の関係性を捉えることを目的とするからである．
しかし，今回の実験のように，商品購入データを対象とする場合では，時系列データが数カ月あるいは数年の長期のものとなり，セッションデータを対象とする場合と比較してより長期的な関係性・依存性を捉え

出力ベクトル OT は次の式 (2) で作成される．

OT = σ(W · hT + b)

ることがユーザの嗜好や興味をより良く表現するため(2)

hT は時刻 T における RNN 出力であり，W ∈ dh ×dは重み行列，b ∈ dh はバイアス項を表す．また，関数

σ は要素ごとの tanh である．
そして，RNN 推薦モデルは式 (3) に示す Hidashi らに必要となる．そのため，本研究では前節の RNN 推
薦モデルに注意機構 [9] を導入することで，ユーザのアイテム選択における長期的な依存性を考慮する．

RNN の各タイムステップにおける出力 ht から式(4) のような注意重み at を計算する．
at = f (W2 · σ(W1 · ht ))の Cross-entropy 損失 LCE を用いてランキング学習が行われる．

LCE = − log

e rT +e rT
∑N s

j=1 e

提案モデル

(4)

ここで，W1 ∈ da × dh および W2 ∈ dn × da は重みrj(3)行列であり，関数 σ は要素ごとの tanh を，関数 f はsoftmax 関数を表す．

ここで，rT は時刻 T における正解アイテムの特徴

その後，注意重み at を用いて出力系列の加重平均ベクトルとモデル出力ベクトル OT との類似度であり，を計算することで，これを時刻 T における RNN の出

rj はランダムに選択された負例アイテムとの類似度で

力 hT とする．

ある．また，N s は負例アイテムの総数を表す．この負例アイテムはミニバッチおよびアイテムの出現頻度に基づいたサンプリングによって選択される [5][6]．

― 632 ―

hT =T∑

at · ht(5)t=1

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

そして，ベースラインと同様に式 (2) からモデル出

4.2

力ベクトル OT を作成する．
加えて，系列内のアイテムの前後の関係性を特徴として取り出すために，順方向の系列情報に加え，逆方向の系列情報についても考慮を行う．この双方向の時系列情報を獲得するために，RNN 推薦モデルに双方向 RNN(BiRNN) を利用する．ゆえに，ある時刻 t に−→おける RNN の出力 ht は，順方向 RNN の出力 h t と←−逆方向 RNN の出力 h t の連結ベクトルで表現される．
そのため，式 (2) の重み行列 W および式 (4) の重み行列 W1 の次元数は 2dh となる．

4推薦実験

4.1

実験データ

アイテムの特徴ベクトル

今回の実験では，各アイテムへ投稿されたユーザレビューの集合から各単語の Tf-iDf 値を計算し，その重み付けを用いた単語分散表現の加重平均をアイテムの特徴表現とする．すなわち，アイテム I の特徴表現

xI は次の式 (6) で求められる．
xI =N∑

tf idf (wi ) · v(wi )

(6)

i=1

ここで，tf idf (w) はアイテム I における単語 w の Tf-iDf 値を，v(w) は単語 w の分散表現ベクトルを表す．
また，N は対象とする語彙の総数である．
アイテムの特徴ベクトル作成に利用する単語分散表現は各データセットに含まれるすべてのユーザレ

1

実験では楽天公開データ 上の 2 つのデータセットビューから学習を行った．実験では fastText[8] を用いを用いて評価を行う．1 つ目のデータセット Travel でて単語分散表現を学習し，次元数 300，窓幅 5，負例

は，楽天トラベルに投稿されたユーザレビューを利用

サンプリング数 5 の設定で CBoW を用いた．

する．2 つ目のデータセット Book は，楽天市場デー
タの『本・雑誌・コミック』カテゴリに投稿されたユー

4.3

ザレビューを利用する．

比較手法

実験では，以下の 6 つの手法の推薦精度を比較する．

推薦対象となるユーザおよびアイテムは，異なる■ユーザからのレビュー投稿が 5 件以上のアイテム，および，異なるアイテムへのレビュー投稿が 3 件以上の提案手法．双方向 RNN に注意機構を導入したシーケンス認識型推薦モデル．

ユーザとした．また，データセットを特定の時刻で分割することで推薦モデルの学習用データと評価用デー
2タを作成した．

学習用データでは，新しい順かつアイテムの重複を許さずにユーザごとのアイテム選択を抽出することで予測対象 (推薦の正解アイテム) とし，その過去のアイ

BiRNN-Encoder with Attantion(BiRNNwA)■

RNN-Encoder (RNN)
ベースライン．Okura らが提案したシーケンス認識型推薦モデル [12]．順方向 RNN のみを用いて予測対象の特徴ベクトルを出力する■

DAN-Encoder (DAN)

テム選択最大 30 回を踏まえて時系列データとする．評

RNN ではなく DAN(Deep Averaging Networks)[7]

価用データでも同様の方法で時系列データを作成する．

を用いたモデル．DAN は入力系列内の特徴ベクトル

この際，評価用データの入力系列に学習用データの一の算術平均を受け取り順方向 RNN を用いて出力を作3部も含まれる．また，学習用データ内の時系列データからランダムに選択した 10,000 件を検証用データと成する．入力系列の順序は考慮されない．
■

して利用する．各データセットの詳細を表 1 に示す．

DAN-Encoder with Decay (DANwD)
Okura らの時間減衰モデルを DAN に適用したもの．

減衰重みを用いて入力系列の順序を考慮する．

表 1: データセットの詳細■

時系列データ

ItemKNN

ユーザ

アイテム

レビュー学習評価

アイテムベース CF を用いた推薦手法 [10]．各アイ

Travel

161,698

15,114

5,003,114

841,21740,286テムの類似性はアイテム特徴ベクトル間のコサイン類

Book

38,41728,248724,991

264,4172,775

似度で計算される．
■

1 https://rit.rakuten.co.jp/data release ja/

ReviewKNN
4.2 節で説明したアイテムの特徴ベクトルを用いた

2 Travel データは 2014 年 1 月 1 日，Book データは2012 年 8 月 1 日以降を評価用データとした．
3 データを分割する目的は学習用データに含まれる予測対象とは異なる対象を評価することである．

内容ベース推薦 [11]．

― 633 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

表 2: 各データセットにおける推薦実験結果
TravelBook

BiRNNwA および RNN のモデル構造には GRU(Gated Recurrent Unit)[2] を利用する．GRU の次元数 dh は 500 とし，BiRNNwA の重み行列 W1 の次元

RecallMRR

Recall

MRR数 da を 100，重み行列 W2 の次元数 dn は 5 とした．

BiRNNwA

14.46

6.95

13.55

2.79

DAN および DANwD は 3 層の中間層と活性化関数

RNN

13.88

6.56

12.00

2.43

ReLU から構成され，各中間層の次元数は 300 とした．

DAN

9.89

3.42

10.95

2.48

すべてのニューラルネットワークを用いたモデルは

DANwD

11.21

4.51

11.39

2.53

AdaGrad[3] および 3.1 節で紹介した損失関数を用い

ItemKNN

6.73

3.43

6.52

1.49て学習される．また，初期学習率およびミニバッチサ

ReviewKNN

8.90

4.96

5.730.90

イズ，負例サンプリング数は検証用データから最適な値を決定した．

4.4

参考文献

評価指標

[1] Alex Beutel, et al. Latent cross: Making use of context in recurrent recommender systems. In WSDM, pages 4654, 2018.

実験では各モデルのランキング結果の上位 20 個を[2] Kyunghyun Cho, et al. On the properties of neural machinetranslation: Encoder-decoder approaches. arXiv preprint
arXiv:1409.1259, 2014.

推薦リストとする．推薦リストは再現率 (Recall) および平均逆順位 (MRR) を用いて評価される．

5[3] John Duchi, et al. Adaptive subgradient methods for online
learning and stochastic optimization. Journal of Machine
Learning Research 12.Jul. 2011.

実験結果[4] Sandra Garcia Esparza, et al. A multi-criteria evaluationof a user generated content based recommender system. InProc. RSWEB. 2011.

実験結果を表 2 に示す．結果より，時系列データをもとに学習したシーケンス認識型推薦モデルが既存の CF[5] Balzs Hidasi, et al. Session-based recommendations
with recurrent neural networks. arXiv preprint arXiv:1511.06939, 2015.

および内容ベースの手法 (ItemKNN，ReviewKNN) と比べて推薦精度が高いことがわかる．また，系列の順[6] Balzs Hidasi, and Alexandros Karatzoglou. Recurrent neural networks with top-k gains for session-based recommendations. In Proc. CIKM, pp. 843-852. 2018.

序を考慮したすべてのモデルが順序を考慮しない DANモデルよりも精度が高くなっていることから，系列の[7] Mohit Iyyer, Varun Manjunatha, Jordan BoydGraber, andHal Daum’e III. Deep unordered composition rivals syntactic methods for text classification. In ACL, 2015.

順序情報を考慮することがアイテム推薦において重要であることがわかる．

[8] Armand Joulin, et al. Bag of tricks for eﬃcient text classification. arXiv preprint arXiv:1607.01759, 2016.

ベースライン (RNN) と比べて提案モデル (BiRN-NwA) の精度が高くなったことから，商品購入データ[9] Zhouhan Lin, et al. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130, 2017.

を対象とする場合においては，既存のシーケンス認識型推薦モデルのように順方向の系列情報だけを考慮するのではなく，双方向の系列情報および注意機構を用いることで長期的な関係性・依存性を捉えることが推薦精度の向上につながることが確認できる．

6[10] Greg Linden, Brent Smith, and Jeremy York. Amazon.
com recommendations: Item-to-item collaborative filtering.
IEEE Internet computing 1, pp. 76-80. 2003.
[11] Cataldo Musto, et al. Learning word embeddings fromwikipedia for content-based recommender systems. In Proc.
ECIR, 2016.
[12] Shumpei Okura, et al. Embedding-based news recommendation for millions of users. In Proc. KDD, pp. 1933-1942
2017.

おわりに本研究では，ユーザレビューを用いた内容ベース推薦にシーケンス認識型の推薦モデルを適用して時系列情報を考慮することで推薦精度が向上することを確認した．また，アイテム選択系列の全体にわたる依存性を捉えるため，既存の RNN 推薦モデルに双方向の時系列情報の利用と注意機構の導入を行い，推薦改善を[13] Massimo Quadrana, Paolo Cremonesi, and Dietmar Jannach. Sequence-aware recommender systems. arXiv preprint
arXiv:1802.08452, 2018.
[14] Badrul Sarwar, et al. Item-based collaborative filtering recommendation algorithms. In Proc. pp. 285-295. WWW,
2001.
[15] Lei Zheng, et al. Joint deep modeling of users and items
using reviews for recommendation. In Proc. pp. 425-434
WSDM, 2017.

実現した．今後の課題として，今回の実験では考慮できなかったテキスト以外のユーザレビューのメタ情報やユーザ側の特徴ベクトルの利用について検討したい．

― 634 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.