ユーザー埋め込み表現で長期的興味を反映した効果的な記事サジェストを

3つの要点  

✔️ユーザーごとの固有ベクトルを持つことで、ユーザーの本質的な興味を学習可能
✔️シンプルなモデルで実装も比較的容易
✔️ニュース閲覧履歴から作成した定量実験において、既存手法を上回る推薦性能であることを確認

 

読者の興味や趣味に応じて記事を自動推薦できることは、紙媒体の雑誌や新聞ではできないウェブメディアの強みです。

今まさにユーザーが求めている記事を適切に自動で推薦することは、メディアへの満足度や閲覧数の向上へと繋がります。一方で、記事推薦が適切に行われない場合、読者が求めていない記事を押し付けることになり、メディアの評価が下がってしまうことが考えられます。

このような失敗を事態を避けるために、これまでの記事閲覧履歴などから読者の興味を適切に把握する必要があります。自動記事推薦システムは、自然言語処理の中でも実用的なタスクとして注目を集めており、これまでも多くの研究が行われてきました。特に近年では、一般的な記事推薦に用いられる統計的手法に比べて記事や閲覧履歴の素性をより良く捉えられるニューラルネットワークを用いた手法が盛んに研究されています。この記事では、自然言語処理の世界トップレベルの国際会議であるACL2019にて発表された最先端の研究をご紹介します。

ユーザーに応じた記事推薦

同じメディアの読者であっても、その興味は人によって様々だと考えられます。例えば、弊メディアをご覧いただいている読者の方々はAI技術に興味を持っていると考えられますが、その中でも特に自然言語処理に興味がある方もいれば画像処理に興味を持っている方もいるはずです。

日頃から自然言語処理に関する記事を多く閲覧しているユーザーであれば、最新の自然言語処理技術に関する記事を推薦することで、そのユーザーを次の記事へと適切に誘導できると考えられます。こうした日頃からの興味は長期間を通じて変わることがなく、例えば一年後であってもおそらく自然言語処理の記事を求めている可能性が高い(長期的興味が高い)と言えます。

一方で、日頃から自然言語処理の情報を収集しているユーザーでも、一時的にに画像処理に興味を持つことがあります。例えば、「仕事や研究などで画像を自然言語処理に応用する必要があるため、ここ数週間は画像処理に関する技術に興味をもっている」といった場合です。

こうした一時的な興味に応じて、日頃の自然言語処理の記事推薦に加えて画像処理に関する記事も推薦することで、適切な記事への誘導ができます。この場合は長期的興味とは異なり、一年後もこのユーザーが画像処理の記事を求めている可能性は低い(短期的興味)と言えます。

これまでのニューラルネットワークを用いた記事推薦の手法では直近の閲覧履歴を用いて記事を推薦していたため、短期的興味に基づいた記事推薦しかできていませんでした。一方、本研究では、長期的興味と短期的興味の双方を考慮して賢く記事推薦ができるシステムについて提案しています。

提案手法

 

モデル概要

「ある記事をあるユーザーにどの程度推薦できるか」というスコアを計算するためには。「記事」と「ユーザー」の両方の情報が必要です。記事情報はタイトルやトピックなどからベクトルにエンコードしたものを入力として用います。

一定期間における興味を考慮してユーザー情報をエンコードするために、「(a)記事の閲覧履歴(短期的興味)」と「(b)ユーザー埋め込み表現(長期的興味)」を利用します。

以下で順番に、それぞれの情報のエンコード手法を説明します。

(1) 記事情報のエンコード

記事推薦のためには、記事そのものの情報のエンコードが必要になります。提案手法では上図のように、記事のタイトル・トピック・サブトピックを用いて記事情報をエンコードします。

多くのメディアでは、ニュースなどの記事に「野球」や「バスケットボール」といったタグがつけられています。さらに一般的にタグには階層構造があり、「野球」「バスケットボール」の親トピックとして「スポーツ」というタグがつけられています。これらの情報をそれぞれサブトピック・トピック情報としてベクトルを学習し、記事情報のエンコードに用います(図左:Subtopic Embedding、Topic Embedding)。

また、タイトルも記事内容を表す重要な情報です。提案手法では記事に含まれる各単語分散表現を注意付きの畳み込みネットワークによってエンコードし(図右:News Title)、トピック・サブトピックの情報と合わせて記事情報のエンコードとして利用します。

(2) ユーザー情報を用いた記事推薦スコアの計算

ここまで、読者の短期的・長期的興味の両方を考慮することで適切な記事推薦ができると主張してきました。提案手法では短期的興味を獲得するために、既存手法と同様に「ユーザーの記事閲覧履歴」を用います。上述した(1)記事情報のエンコーダー(図中:News Encoder)によってベクトル化された記事情報をGRUに入力することで、最近の閲覧記事の傾向をベクトルとして表現します。

さらにユーザーの長期的興味を利用するためにユーザーごとの分散表現(図中:User Embedding)を用意し「これまでどのような記事に長期的な興味を持っていたか」という情報を反映させます。分散表現はユーザーごとに固有であるため、各読者の長期的な興味や趣味・傾向を詰め込んだベクトルとして学習されます。

このユーザー分散表現を初期状態としてGRUを計算することで、「これまでどのような記事を読んできて(長期的興味)、最近どのような記事を読んでいるか(短期的興味)」といった情報を全て詰め込んだベクトルを獲得することができます。上図(a)ではこのようにして獲得したベクトルと、推薦したい記事のベクトル表現(図右のNews Encoderによるベクトル化)を用いて、「その記事をどの程度推薦するか」というスコアを計算しています。

本論文ではユーザーの分散表現を入力する方法を変えることで、どのように長期的興味に関する情報を入力するべきかを調査しています。上図(b)では(a)と異なり、長期的興味を表すユーザー分散表現と短期的興味を表す閲覧履歴のエンコード結果を単純に結合したベクトルを用いて記事推薦スコアを計算しています。(a)のモデルに比べ、より直接的にユーザーの長期的興味を反映して記事推薦を行うモデルと解釈することができます。

実験

提案手法(a)LSTUR-ini(記事情報のエンコードモデル)および、(b)LSTUR-con(ユーザー情報のエンコードモデル)の性能を調べるために、MSNニュースの閲覧履歴を用いた記事推薦の精度を比較します。MSNニュースの一ヶ月間の閲覧履歴を収集し、「ユーザーが次にどの記事を閲覧するか」を当てられるようにモデルを学習し、その性能を評価します。

収集されたデータのうち前半3週間を学習に用い、残りの1週間分で適切な記事を推薦できているかのテストを行います。評価指標(AUC、MRR、nDCG@5/10)はいずれもモデルが計算した推薦スコアに基づくランキングを利用したもので、数値が高いほど推薦の性能が良いことを表します。

一般的な記事推薦システムとして広く用いられてる商用における既存の最新モデル: Matrix Factorization(LibFM)(表1行目)との比較を見てみます。また、速度面の問題から実用化はあまりされていませんが、短期的興味をニューラルネットワークによって獲得する研究における最新のモデル:DeepFM~GRUとの比較も行います。

実験結果より、CNNなどを用いたシステムに比べて提案手法(a) LSTUR-iniと(b) LSTUR-conの性能が良いことがわかります。特に、ユーザー分散表現をGRUの初期状態に用いるモデル「LSTUR-ini」が全ての評価指標で最も高いスコアとなっており、モデルの有効性が示されています。手法(b) LSTUR-conの性能も既存手法に比べて良く、ユーザー分散表現を用いて長期的興味を考慮することで自動推薦の性能が向上することがわかりました。

まとめ

本論文ではユーザーごとの分散表現を学習することで、短期的興味に加えて読者の長期的興味、すなわち読者の本質的な興味や趣味を考慮した記事推薦モデルを提案しています。提案手法は実際のニュースサイトの閲覧履歴という生データで評価されており、その実用性は魅力的であると言えます。

一方で、性能の向上幅が小さいという印象は否めません。これは閲覧履歴一ヶ月間というデータセットが、本論文で提案している長期的記憶が威力を発揮するには短すぎることが原因かもしれません。提案手法の威力を確認するためには、より長い期間での閲覧履歴を利用した評価が必要でしょう。

提案手法の利点として、モデルが非常にシンプルであり、実装がさほど難しくないという点が挙げられます。今後ニューラルネットワークを用いた記事推薦モデルを活用していく際のベースラインとして、一度実装しておくといいかもしれません。

 

論文:Neural News Recommendation with Long- and Short-term User Representations

written by Mingxiao An1,*, Fangzhao Wu2 , Chuhan Wu3 , Kun Zhang1 , Zheng Liu2 , Xing Xie2

Published in ACL 2019

この記事をシェアする