Gunosyデータ分析ブログ

Gunosyで働くデータエンジニアが知見を共有するブログです。

最近のニュース記事推薦手法まとめ 〜固有表現の利用から多様性の向上まで〜

はじめに

こんにちは、Gunosy Tech Lab (GTL) Media ML チームの大竹です。Gunosyでは「情報を世界中の人に最適に届ける」というミッションのもと、グノシーニュースパスLUCRAauサービスTodayという4つのプロダクトを展開しています。各プロダクトにおいては、ユーザーに最適なニュースを配信するために様々なニュース記事推薦システムが運用されており、日々改善が続いています。

ニュース記事推薦は推薦システムや自然言語処理の分野で盛んに研究されているテーマであり、毎年多くの論文が発表されています。ニュースアプリなどの実際のサービスでニュース記事推薦システムを運用・改善していくプロセスの中では、具体的なトピックや課題別にこうした既存研究の知見を利用したい場面が多くあります。例えば、固有名詞(芸能人やスポーツ選手の名前など)によりフォーカスしたニュース記事推薦を行いたい場合などです。そこで本記事では、[Wu+’22] Personalized News Recommendation: Methods and Challengesをベースに、トピック別の逆引き形式で最近のニュース記事推薦手法を整理したいと思います。

他ドメインと比較したニュース記事推薦の特徴

推薦システムは、EC(例:アパレル)の推薦システム、映画の推薦システム、書籍の推薦システム等様々なものが存在しますが、ニュース記事の推薦システムはその他の推薦システムと比較して以下のような特徴があると言われています*1。本記事で整理するニュース記事推薦手法に関連する点も多いので、各手法をご紹介する前に触れておきたいと思います。

1. ライフサイクルの短さがもたらすコールドスタート問題

ニュース記事は日々大量に作成され、多くの記事は時間経過に従ってすぐに陳腐化していきます(典型的なものとして例えば、野球の試合結果速報の記事を思い浮かべると分かりやすいかと思います)。一方で、作成されたばかりの記事はユーザーの行動データが少ないため、記事とユーザーを適切に関連付けることができず、推薦の精度が低下してしまう傾向があります。ニュース記事の推薦システムではこういったコールドスタート問題が他のドメインの推薦システムに比べより顕著になります。

2. 深い言語理解の必要性

ニュース記事はその内容のほとんどがタイトル・本文といった言語情報で構成されています。これは動画の推薦などとは対照的で、より精度の高いニュース記事推薦には深い言語理解が重要です*2

3. 明示的なフィードバックの利用の難しさ

映画や本をコンテンツとするwebサイトであれば、ユーザーが評価を5段階でつけるようなフィードバックがよく見られますし、YouTubeのような動画アプリでも高評価・低評価などの明示的フィードバックが実装されていることが多いと思います。ニュースサイトやニュースアプリの場合、これらとは対象的に5段階評価などの明示的なフィードバックが存在する場合は稀で、多くの場合クリックなどの暗黙的なフィードバック情報(Implicit feedback)からユーザーの興味を推測する必要があります。また、こうした暗黙的フィードバックはノイズが多い(例えばクリックベイトに釣られてクリックが発生する)ということも難しさの要因になっています。加えて、明示的なフィードバックが仮に実装されていたとしても、ニュース記事のライフサイクルの短さにより、十分な数のフィードバックが集まる頃にはコンテンツの価値が低下してしまっている可能性が高いという問題もあります。

こうしたニュース記事推薦特有の問題に対処するための推薦手法は数多く提案されてきています。以下のセクションにおいては、1. ライフサイクルの短さがもたらすコールドスタート問題は「記事の人気度合いの考慮」に、2. 深い言語理解の必要性は「Entity(固有表現)の明示的な考慮」と「リッチな言語表現の利用」に、3. 明示的なフィードバックの利用の難しさは「明示的なユーザーフィードバック・post click指標の利用」に、それぞれ関連しています。

トピック別ニュース記事推薦手法

以降では、最初にそのトピックの概要を述べた後、対応する既存研究がどのようなアプローチを採用しているのか、簡単にご紹介していきたいと思います。いくつかの研究は、GunosyDM*3 という社内の論文輪読会で取り上げられており、そういった場合は対応する資料のリンクを併記しています。

記事の人気度合い(popularity)の考慮

概要

Webサイトやスマートフォンアプリにおける実際のオンライン推薦では、タイトルや本文といった記事内容の情報だけでなく、ユーザーのログからリアルタイムに集計される記事の人気度合い(例:Click Through Rate, CTR)や記事の新しさなどの情報がしばしば推薦に用いられます*4。特に記事の人気度合いに関する情報はそれ単体でも強力なベースラインとして機能し、これをユーザーの行動データが十分に集まっていないコールドスタートの状況において、推薦精度の向上のために利用する手法が提案されています。

既存研究
  • [Qi+'21] PP-Rec: News Recommendation with Personalized User Interest and Time-aware News Popularity (ACL 2021)

PP-Recのフレームワーク全体像(論文中の図より引用)

  • ニュースの人気度合いを明示的に考慮した記事推薦を行うモデルを提案しています。ニュース記事の人気度合いとユーザーの興味と記事内容の関連度という2つの情報に基づいて記事の推薦スコアを計算するモデルになっており、記事の人気度合いとユーザーと記事の関連度合いをどの程度の割合で考慮するかの重みをユーザーごとに動的に変化させることが可能になっています。上図ではニュース記事の人気度合いを予測する部分が青色のコンポーネントに、ユーザーの興味と記事内容の関連度を予測する部分がオレンジと赤色のコンポーネントに対応しており、ユーザーごとに最適な記事の人気度合いとユーザーと記事の関連度合いの重みを予測して、最終的なスコアを出力する部分が紫色のコンポーネントに対応しています。

  • GunosyDM資料

固有表現(Named Entity)の明示的な考慮

概要

ニュースの内容やユーザーの興味を特徴づける要素として、記事に含まれる固有名詞などの Named Entity は非常に大きな役割を果たします。例えば、芸能人・スポーツ選手やアイドルグループの名前などがユーザーの興味の予測に重要であることは想像しやすいと思います。こうした entity や entity に関する知識を明示的に考慮するような機構を用意することによって、よりユーザーの興味を捉えた、粒度の細かい推薦を実現するための推薦モデルが数多く提案されています。

知識グラフと知識グラフ埋め込み

entity そのものに加えて、その entity に関する知識(例:野球選手Aはプロ野球球団Xに所属している)を収集・整理したデータ集合としてWikidata*5などの知識ベースが知られています。こうした知識ベースには現実世界の様々な知識が、ヘッドエンティティ h, 関係 r, テールエンティティ t の3つ組み (h, r, t) の形式で格納されています*6。例えば、(Hayato_Sakamoto, member_of_sports_team, Yomiuri_Giants) といったものです。近年こうした知識グラフを低次元のベクトル空間に埋め込む手法が数多く提案されており、以下でご紹介するニュース記事推薦手法の多くも、TransE*7 などの手法で学習された知識グラフの埋め込み表現を用いて、明示的に entity の情報がエンコードされたニュース記事の埋め込み表現を推薦に利用しています。

既存研究
  • [Wang+'18] DKN: Deep knowledge-aware network for news recommendation (WWW 2018)

    • タイトルとタイトルに含まれる entity からニュースの埋め込み表現を学習する、knowledge-aware CNN という機構を利用した推薦モデルを提案しています。entity の埋め込み表現の学習手法として、TransE や TransD*8 などの複数手法を比較検討しています。

    • GunosyDM資料

  • [Liu+’19] News Graph: An Enhanced Knowledge Graph for News Recommendation (KaRS@CIKM 2019)

    • Microsoft が開発している Satori と呼ばれる知識グラフを土台として、「同一ニュース内の entity 」、「同じユーザーによってクリックされた entity 」、「同一セッション内で閲覧されたニュースの entity 」、といった追加の関係を張ることで拡張した知識グラフを利用しています。拡張された知識グラフ上で、TransE によって学習された entity の埋め込み表現をニュース記事の埋め込み表現の作成に使用します。
  • [Lee+'20] News Recommendation with Topic-Enriched Knowledge Graphs (CIKM 2020)

    • entity の所属するトピック(例:政治)を追加情報として利用します。まず対象ニュースのトピックを予測し、予測されたトピックの関係を知識グラフに付加、拡張された知識グラフ上で学習された埋め込み表現を推薦に使用します。
  • [Liu+'20] KRED: Knowledge-Aware Document Representation for News Recommendations (Recsys 2020)

    • Knowledge Graph Attention (KGAT) Network で学習された entity 埋め込みに、entity の登場頻度やカテゴリ情報などを付加し、それぞれのニュースにとって重要なエンティティに注目しながら entity の埋め込みを集約することでニュース記事の埋め込み表現を作成する機構を提案しています。

    • GunosyDM資料

  • [Qi+'21] Personalized News Recommendation with Knowledge-aware Interactive Matching (SIGIR 2021)

    • ニュース記事とユーザーの埋め込み表現を作る際に、ユーザーが過去にクリックしたニュースに含まれる entity と推薦候補記事に含まれる entity の関係を、知識グラフ上で近傍にある entity を考慮しながらにエンコードする、knowledge-aware news co-encoder と呼ばれる機構を提案しています。

    • GunosyDM資料

  • [Tian+'21] Joint Knowledge Pruning and Recurrent Graph Convolution for News Recommendation (SIGIR 2021)

    • ユーザーがクリックしたニュースに含まれるentity集合をもとに、interest graph と呼ばれるユーザー表現を生成し記事推薦に使用します。ユーザーのグラフ表現を作る際に、TransE で学習された entity の埋め込み表現をベースに、知識グラフ上で近傍に存在する entity からユーザーの興味に関連する entity を抽出(その他を pruning )する機構が特徴的です。

リッチな言語表現の利用

概要

先述したように、ニュース記事推薦では自然言語で記述されたニュース内容の理解が非常に重要です。BERT*9 をはじめとした事前学習済み言語モデルは様々な自然言語処理タスクで顕著な成果を挙げており、これらをニュース記事推薦に応用する研究も盛んに行われています。

既存研究
  • [Wu+'19] Neural News Recommendation with Multi-Head Self-Attention (EMNLP-IJCNLP 2019)

    • 事前学習済み言語モデルそのものではありませんが、ニュース記事のエンコーダ・ユーザーエンコーダの双方に、Transformer*10 の中心的な構成要素である (multi-head) self-attention を利用するモデルを提案しています。
  • [Wu+'21] Empowering News Recommendation with Pre-trained Language Models (SIGIR 2021)

    • BERT など複数の事前学習済み言語モデルを比較する形で英語・複数言語のニュース記事推薦性能を比較検証しています。オフライン実験のみでなく、実際のニュースプラットフォームにおいて行ったオンライン実験の結果を報告しています。
  • [Zhang+'21] UNBERT: User-News Matching BERT for News Recommendation (IJCAI 2021)

    • 候補記事のタイトルと対象ユーザーが過去にクリックした記事のタイトルを入力し、クリック確率を予測するようなニュース記事推薦に対する BERT の使用方法を提案しています。
  • [Wu+'20] MIND: A Large-scale Dataset for News Recommendation (ACL 2020)

    • データセットの提案が主題の論文*11ですが、提案データセットを使用した実験でテキストの特徴量抽出に BERT を使用する効果を検証しています。

    • GunosyDM資料

明示的なユーザーフィードバック・post click指標の利用

概要

先に述べた通り、ニュース記事推薦ではユーザーの明示的なフィードバックが利用できない場面が多いのですが、一部のプラットフォームでは「いいね」のような明示的なフィードバック機能が実装されている場合があり、こういったユーザーフィードバックを利用したニュース記事推薦の仕組みが提案されています。また、明示的なフィードバックとはいかないまでも、クリック以外のフィードバック(例えば記事滞在時間などの post click 指標)をユーザー満足度のモデル化に利用するようなモデルも多数提案されています。

既存研究
  • [Wu+'20] Neural news recommendation with negative feedback (CCF TPCI 2020)

    • ユーザーがクリックした記事の中でも、一定以上の滞在時間のものを正例・そうでないものを負例として扱い、positive click・negative click を明示的に予測するようなフレームワークを提案しています。
  • [Wu+'20] User modeling with click preference and reading satisfaction for news recommendation (IJCAI 2020)

    • 記事に対するユーザーの満足度を記事の読み時間によってモデル化し、クリック履歴と合わせてユーザーの埋め込み表現を作成して推薦に用いるフレームワークを提案しています。
    • GunosyDM資料
  • [Wu+'22] FeedRec: News Feed Recommendation with Various User Feedbacks (WWW 2022)

    • 「いいね」、記事のシェアなど複数の明示的フィードバックを考慮した推薦モデルを提案しています。より信頼できる明示的フィードバックの情報を頼りに、ノイズの多い暗黙的フィードバック情報から使えるものを選択的に抽出する仕組みを備えています。

    • GunosyDM資料

ユーザーの興味をより正確に捉えるアーキテクチャ

概要

ユーザーのニュースに対する興味は多様かつ複雑で、考慮すべき様々な側面があります。例えば、同じニュースに対してもユーザーごとに注目する部分内容が異なる、細かい粒度の興味(例:ゴルフ)もあれば粗い粒度の興味(例:スポーツ)もある、長期的な興味と短期的な興味が異なる、といったことです。これらの課題に対処するための方策として、以下のようなモデルやアーキテクチャが提案されています。

既存研究
  • [Wu+'19] Npa: Neural news recommendation with personalized attention (KDD 2019)

    • ユーザーの埋め込み表現を attention query に使用することで、対象ユーザーに個別化された記事の埋め込み表現を作成して推薦に利用するアーキテクチャを提案しています。
  • [Qi+'21] HieRec: Hierarchical User Interest Modeling for Personalized News Recommendation (ACL 2021)

    • ニュースに対する様々な粒度の興味を、細かい粒度から粗い粒度へと階層的な木構造で表現し、記事とユーザーのマッチングに利用する手法を提案しています。
  • [An+'19] Neural news recommendation with long-and short-term user representations (ACL 2019)

    • 長期・短期の興味を別々に考慮できる機構を備えたユーザーエンコーダを使用したモデルを提案しています。

今後のチャレンジ

このセクションでは、 [Wu+’22]の 10. FUTURE DIRECTION AND CONCLUSION において列挙されているニュース記事推薦における今後の重要課題の中から「多様性」の項目をピックアップしたいと思います。

ユーザーの閲覧履歴に基づいて対象ユーザーが興味を持つ可能性の高いニュースを推薦するパーソナライズ推薦は盛んに研究されており、実際のサービスへの導入も進んでいますが、パーソナライズが強まるとともに偏った記事しか推薦されなくなってしまうという問題(フィルターバブル)が発生します。ニュース記事推薦における多様性は、こうしたフィルターバブル問題の緩和などの観点で大切です。

多様性と一口に言っても、カテゴリの多様性、感情極性の多様性、政治的立場の多様性等様々な観点があります。例えば感情極性の多様性が損なわれた推薦システムを考えると、ネガティブな記事を閲覧したユーザーにはネガティブな記事ばかりが推薦されるようになり、ユーザー体験を損ねる可能性が考えられます。

深層学習を利用した推薦モデルが一般的になって以降、こうした多様性の問題にフォーカスした研究は多くはありませんが、SentiRec*12 は感情極性の多様性に注目し、推薦精度を維持しながら感情極性の意味で多様な記事推薦を行うフレームワークを提案しています。

実際のニュースキュレーションサービスにおける分析でも、[関ら’18]*13は推薦記事の多様性を向上させる仕組みを推薦システムに導入することで、ユーザーのサービス継続率や記事閲覧数の向上といった形で長期的な効用を高めることができることを示しています。また、[佐々木ら’22]*14 はニュースアプリにおいて多様な記事を閲覧するユーザーの方が離脱しにくく、将来アクティブなユーザーになる傾向があることを報告しています。

多様性のトピックに関しては、1. 上で挙げた様々な次元の多様性を考慮した推薦、2. 多様性とパーソナライズの強さをどの程度の重みで考慮するかの個別最適化、3. 推薦された記事リスト内の多様性に加えて、ユーザーが過去に閲覧した記事に対して推薦記事を多様なものにする、等様々な課題が残されており、ユーザー体験向上に寄与する可能性も高いことから個人的に今後注目していきたいトピックの一つです。

おわりに

今回の記事では、[Wu+’22] Personalized News Recommendation: Methods and Challenges をベースに、最近のニュース記事推薦の研究を課題・トピック別に整理してご紹介しました。アカデミックな領域のこうした知見の積み上げを実サービスに応用していくため、社内では週に一度GunosyDMという論文読み会が開催されています。実際に一部のトピックに対しては上述した研究を足がかりにした検証が進んでおり、今後もこうした最新の知見をおおいに参考にしていきたいところです。

*1:[Wu+’22] Personalized News Recommendation: Methods and Challenges

*2:こうした性質を反映してか、ニュース記事の推薦システムに関する論文はRecSysやWWWなどに加えて、ACLやEMNLPなどの自然言語処理の国際会議に投稿されることも多くなっています

*3:https://scrapbox.io/gunosydm/

*4:これらの情報は context features と呼ばれます

*5:https://www.wikidata.org/wiki/Wikidata:%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8

*6:entityをノード、関係をエッジとするグラフで表現できるため、しばしば知識グラフとも呼ばれます。

*7:[Bordes+’13] Translating Embeddings for Modeling Multi-relational Data (NIPS 2013)

*8:[Ji+'15] Knowledge graph embedding via dynamic mapping matrix (ACL-IJCNLP 2015)

*9:[Devlin+'19] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (NAACL-HLT 2019)

*10:[Vaswani+'17] Neural News Recommendation with Multi-Head Self-Attention (NIPS 2017)

*11:最近ではニュース記事推薦モデルのオフライン実験で最もよく用いられるデータセットの一つになっています。

*12:[Wu+'20] SentiRec: Sentiment Diversity-aware Neural News Recommendation (AACL 2020)

*13:関 喜史, 福島 良典, 吉田 宏司, 松尾 豊, 多様性の導入による推薦システムにおけるユーザ体験向上の試み, 自然言語処理, 2017, 24 巻, 1 号, p. 95-115

*14:佐々木 明, 大倉 俊平, 小野 真吾, ニュースアプリにおける閲覧記事の多様性とユーザーアクティビティについての考察, 人工知能学会全国大会論文集, 2022, JSAI2022 巻, 第36回 (2022)