サムネイル

 

こんにちは、Amebaブログでデータサイエンティストを務める山田です。7月27・28日、サイバーエージェントの次世代技術者による技術カンファレンス「CA BASE NEXT 2022」を開催しました。本記事では「読み手と書き手がWin-Winなブログサービスを目指して」についてご紹介します。

 

Amebaレコメンドについて

Amebaブログには、ブログを読む側のユーザーである「読み手」とブログを提供する側のユーザーである「書き手」が存在しています。読み手は書き手のファンになると、そのブログに対して、いいねやフォローなどで反応します。また書き手は、そのような反応をされるともっとブログを書きたくなります。Amebaレコメンドはこのサイクルを加速させるために、読み手と書き手のマッチングを行います。

読み手と書き手のマッチングサイクル

具体的にどのようなシステムを作り、どのような改善をしているのかをご紹介する前に、まずはAmebaブログにおける読み手と書き手のモチベーションについて説明させていただきたいと思います。

読み手のモチベーション

読み手の一番のモチベーションは、興味関心のあるブログと出会うことです。読み手が興味関心を持つブログにはさまざまなパターンが考えられます。
気になる話題について書かれたブログ、同じ嗜好を持つユーザーが閲覧しているブログ
あるいは全てのユーザーから人気があるブログ…などが主に考えられます。

読み手のモチベーション

このように読み手がブログに対して興味関心を持つパターンは様々であり、そのパターンに合わせて多様性のあるブログレコメンドができるとユーザーの満足度も向上することが考えられます。

書き手のモチベーション

次に書き手のモチベーションについてです。書き手が投稿を離脱してしまう原因としては、忙しくてブログを書く時間がない、投稿する話題がない、頑張って投稿しているのにPVが伸びない…などが考えられます。また、以前実施したユーザーアンケートの結果によると、Amebaのブロガーの多くは自分の記事が見られたこと、PVが増えたことがブログ投稿のモチベーションに繋がっています。

書き手のモチベーション

下のグラフは、被PV数、つまりブログを閲覧されている回数別に、離脱と継続の会員のボリューム及び継続率をまとめたものです。

離脱と継続の会員のボリューム及び継続率

この結果を見ると、一定数以上のPVを獲得できているとブログ投稿を継続する傾向があることがわかります。この事から、良い記事を書いているのにあまりPVを伸ばせていないブロガーは投稿継続のポテンシャルがあるのではないかということが考えられます。

もしもそのようなブロガーをレコメンドして、露出を増やすことができたら、閲覧されるブロガーが増え、書き手の満足度も向上することが考えられます。

Amebaレコメンドの役割

以上が読み手と書き手それぞれのモチベーションです。Amebaレコメンドでは、両者のモチベーションを維持できるようにする、つまり、読み手と書き手がWin-Winなコンテンツマッチを提供することができると嬉しいのではないでしょうか。

読み手と書き手がWin-Winなコンテンツマッチ

Amebaレコメンドシステム

先ほどAmebaレコメンドの役割は、読み手と書き手がWin-Winなコンテンツマッチを提供する事だと説明しましたが、Amebaレコメンドシステムのベースラインは読み手に対して最適化されています。具体的には読み手のモチベーションに合わせて、多様性のあるレコメンドを提供しています。

下図はユーザーにブログを提供するまでの流れです。

ユーザーにブログを提供するまでの流れ

ブログを提供するまでの流れについて詳しく説明します。

 

アメブロでは大きく分けて2段階の処理を行っています。推薦候補を抽出する「粗い処理」である候補生成(Candidate Generartion)と、推薦候補から最終的な上位の推薦候補を得るランキング(Ranking)です。

多様性のあるレコメンドを提供するために、候補生成部分で複数のアルゴリズムを用意しています。ユーザーごとにパーソナライズされたアルゴリズムとパーソナライズされていないアルゴリズムの2種類が存在し、パーソナライズの仕方には以下のようなものがあります。

 

  • ユーザーが閲覧した記事のリターゲティング
  • ユーザーの閲覧したブログ内容に基づく記事レコメンド
  • 協調フィルタリングに基づく類似ブロガーの記事レコメンド

 

また、パーソナライズされていないアルゴリズムでは、多くのユーザーから人気があるような記事を提供します。

 

Amebaレコメンドの改善フロー

レコメンドシステムの概略について説明しましたが、そのシステムを改善する基本的なフローは下図のような流れです。

Amebaレコメンドの改善フロー

次は具体的にどのような改善を行ってきたのかについて紹介していきます。

 

読み手視点の改善

Amebaブログでは、Orionと呼ばれる監視システムによってコンテンツの公開判断を行うことで、より安心・安全に利用できるサービスを提供しています。

しかし既存の監視システムのいくつかでは、レコメンドの観点で、読み手を不快にさせるブログの検出漏れがありました。

読み手を不快にさせるブログとはどういったブログでしょうか。例えば、批判的な内容が書かれた記事は不快に感じてしまうユーザーも多いのではないでしょうか。あるいは、内容の真偽が怪しい記事はユーザーの混乱を招く恐れがありそうです。

今回は、このような記事を問題のある記事と定義して推薦アイテムから除外することで読み手の閲覧体験を改善します。具体的に行った内容としては、問題のある記事のデータセットとそれらを検知する分類器を作成し、推薦候補のフィルタリングを行うといったものです。

問題のある記事のデータセットは、記事本文テキストを用いた感情分析により抽出したネガティブ記事とその近傍の記事を対象とした「問題あり/なし」 の二値アノテーションを行い、作成しています。


この改善はオンライン検証の結果、レコメンドKPIに悪影響を及ぼすことなく品質を改善することができたので、現在は全てのレコメンドアルゴリズムに活用しています。

書き手視点の改善

「Amebaレコメンドシステム」の節で述べたように、Amebaレコメンドシステムのベースは読み手に対して最適化がされています。既存のランキングアルゴリズムでは、最終的にCTRが高くなるような最適化をしているので、上位に出てきやすいブロガーが集中してしまい、書き手側の配信に偏りが出てしまうといった問題が生じていました。
下図は一般ブロガーのレコメンド配信数のローレンツ曲線です。

一般ブロガーのレコメンド配信数のローレンツ曲線

ローレンツ曲線は「どれくらい格差があるか」を表す曲線で、右下にあればあるほど格差が大きいと言えます。「どれくらい格差があるか」を具体的な数字で表現したジニ係数が0.95と、明らかにレコメンド配信の分配が不平等であることがわかります。

 

ここで、書き手のモチベーションを振り返ってみましょう。書き手のモチベーションは「自分の記事が見られたこと、PVが増えたこと」でした。現状のように格差が生じている状況であると、「頑張って投稿してくれているのにブログをレコメンドできていないブロガー」が多く存在してしまっているということになります。

 

このような状況を改善するために、今回は配信を増やすべきブロガーを明確化し、そのようなブロガーの露出を拡大するといった取り組みを行いました。

配信を増やすべきブロガーを定義した後にまず行ったことは、ある一つの候補生成アルゴリズムの推薦候補に対象のブロガーを追加するといったシンプルな施策です。

下図はオンライン検証の結果です。

オンライン検証の結果

 

この施策では読み手側のレコメンドKPIを下げることなく、配信を増やしたいブロガーのレコメンド割合を増加させることに成功しました。この施策が成功したことで、段階的に他のアルゴリズムでも導入を進め、配信の偏りを軽減させる取り組みを行いました。

また最近ではランキングアルゴリズムの改善で、読み手だけでなく書き手のことも考えた多目的なアルゴリズムを実装しています。

まとめ

このブログでは、Ameba レコメンドが目指している読み手と書き手がWin-Winなブログサービスとは何なのか、また、その仕組み作りのために行った改善例をいくつか紹介しました。今回紹介しきれなかったもの以外にも、Amebaレコメンドの課題は非常に多くあり、中途採用なども募集しておりますので、もしよければ応募してみてください。

また、「CA BASE NEXT 2022」のアーカイブ動画・登壇資料は公式サイトにて公開しています。ぜひご覧ください。


https://ca-base-next.cyberagent.co.jp/2022/

 

採用情報

中途採用:https://hrmos.co/pages/cyberagent-group/jobs/1717857096896237586

2021年新卒入社のデータサイエンティストです。現在はAmebaブログのユーザーとコンテンツの分析、推薦アルゴリズムの改善などを担当しています。