ウェブアプリ

Facebookのニュースフィードを生成するアルゴリズムはどのようにして決められているのか?

By Chris Potter

Facebookのホーム画面には、自分と関連する人やフォローしているアカウントの投稿などがタイムラインで表示されます。1日あたりに世界でFacebookを利用しているユーザーは10億人にものぼると言われており、そんなFacebookのタイムラインを決めているアルゴリズムの中身はトップシークレットともいわれていますが、その開発現場では意外とも思える泥臭い作業が行われているようです。

オンラインマガジンのSlateは、カリフォルニア州メンローパークに位置するFacebook本社の中にあるニュースフィード開発チームの現場に入る機会を得たとのこと。そこで記者が見たFacebookのアルゴリズム開発の様子が紹介されています。

How Facebook’s news feed algorithm works.
http://www.slate.com/articles/technology/cover_story/2016/01/how_facebook_s_news_feed_algorithm_works.single.html

SlateはFacebookのアルゴリズムについて、驚くほど洗練されておらず、気まぐれで、全くもって不透明なものであると表現。確かにFacebookではユーザーにとって取るに足らない、どうでもよい情報を目にさせられることがあり、Slateの表現に同意するFacebookユーザーも少なくなさそう。Facebookのアルゴリズムは、ユーザーがつながっている相手の全ての投稿を集め、独自の評価に基づいて表示する内容を決めるようになっています。

これについてはFacebookでも把握しているようで、ユーザーごとのトップフィードと下位フィードの投稿を混ぜて表示するというテストを数カ月にわたって繰り返していたとのこと。その結果、アルゴリズムとユーザーの指向は「ときどき」合致していたと公表していますが、その具体的な結果は明らかにされていません。Facebookにとって、このような乖離は「改善の余地」と表現されることになるわけです。

アルゴリズムを作る現場に潜入する機会を得たSlateの記者は、その内部の様子とアルゴリズムが作られる様子を語っています。

カリフォルニア州メンローパークにあるFacebookの本社を訪れた記者は、Facebookのニュースフィードが生成されるメカニズムを垣間見ると同時に、その限界を目の当たりにしたとのこと。データによる意志決定の落とし穴や、実際のユーザーからの「フィードバック」をもとに改良を加える姿がそこにはあったと言います。


そこで行われていたのは、アルゴリズムを改良しようとする人間による仕事だったとのこと。Facebookのアルゴリズムの不備は、よく考えられがちな「システムの不備」によるものではなく、それを作った人間を原因とするものがほとんどというから驚きです。何か問題が起こると、専門のスタッフがデータとにらめっこし、会議を行い、テストを行い、改善策を打ち出すという作業を繰り返し行っているそうです。

Facebookが用いているアルゴリズムは決して単一のものではなく、いくつものアルゴリズムを複合的に組み合わせた結果、一つのマスターアルゴリズムのようなものができあがっています。その基本は、各ユーザーごとに特有の関連度スコア(relevancy score)にもとづいて判断されるとしています。そのため、その内容は人によって全く異なるものとなっているとのこと。

ここでFacebookが用いるのが「予測アルゴリズム」と呼ばれるもので、システムは一定の基準で投稿をソートし、ユーザーの指向に合うであろうものをピックアップして表示するという仕組みが取り入れられているとのこと。このとき、同時にユーザーが実際にクリックするか、コメントをつけるか、シェアするか、逆に表示しないように設定するか、さらにはスパムとして報告するか、などの項目が予測されます。そして実際にユーザーにページが表示され、どのような行動を行動を取ったかによって予測アルゴリズムが修正されるという仕組みになっているようです。

このように、人間の実際の行動による「フィードバック」をもとにアルゴリズムが作られるわけですが、ここで一つの問題が横たわります。それは、人間は常に正しい行動を取るとは限らないという事実です。その時の気分で評価や行動は変化するもので、さらに操作ミスなどで本来とは異なる行動を取ってしまうことも少なくありません。人間は「アルゴリズム」としてモデル化するには、あまりにも複雑すぎるという難関が存在しているのです。

By Anders Sandberg

2004年に学生向けSNSとしてスタートしたFacebookは、2006年には一般に公開され、ユーザーの数を次第に増やし始めました。当時のFacebookは各ユーザーのプロフィールページやグループの情報が一覧表示されるだけのシンプルなサービスでしたが、2006年に友人が行ったアップデートやアクションを一覧表示するハブの機能として、タイムラインが追加されました。これが現在に至るタイムラインの原型となるわけですが、当初はアップデート内容がいちいち表示されたり、つまらない内容が自分のページに次々に表示されることに否定的な意見も多かったとのこと。しかしFacebookはタイムラインの活用を推し進めました。

押し寄せるタイムライン表示の中から本当に重要なものは何か、それを見つけ出すことが次第に重要になってくるわけですが、はたして本当に何が大事なのかを決めることは容易なことではありません。当時のFacebookには「いいね!」ボタンも実装されていなかったので、その難しさは現在よりもハードルが高かったといっても過言ではないはず。Facebookのエンジニアチームはその問題に対処すべく、直感に基づく原始的なアルゴリズムの開発に乗り出したとのこと。初期のアルゴリズム開発で、判定基準となるパラメータとして用いられたのが「どの程度最近の投稿か」ということと、「どの程度友人のことについて触れているか」ということだったそうです。

その後、エンジニアチームはアルゴリズムの調整を続け、改良を行うごとにユーザーの滞在時間がどのように変化するかを見守って評価を行う作業を続けたとのこと。しかし、そのような投稿が実際にユーザーを喜ばせるのか、つまらなくさせるのか、攻撃的なのか、混乱させるのかという実態を本質的に把握できる手法は存在しないため、基本的にエンジニアは「ダーツを投げるような」間隔で調整を加えていたそうです。

その後、「いいね!」ボタンが実装されることになりましたが、この機能は単にユーザーがサイト上で行える新しいアクションには留まりません。Facebookにとっては、実際にユーザーがどのような反応を示したかを確実に把握できる手法の一つとして有意義なものとなるのです。この時点で本当の「いいね!」ボタンの目的を知っていたユーザーはごく限られていたはず。このようにして、Facebookは密かにユーザーの指向を測定し、アルゴリズムに反映するというプロセスを進めてきたといいます。

By Charis Tsevis

次に、Facebookには「バイラル」の時代がやってきます。可能な限り多くの「いいね!」を集めるための手法が開発され、専門のコンサルタントは「正しい用語の使い方」「投稿すべき時間帯」「単語と写真の正しい組み合わせ」などの手法や、「いいねをクリックしてね!」といったフレーズなどを次々に考案してFacebookのアルゴリズムに一種の「戦い」を挑むようになります。その結果、Facebookのタイムラインがバイラルメディアで埋め尽くされるという事態につながるようになってきました。

ここで登場したのが「エンゲージメント」という要素です。実際のいいね!数やコメント数、シェア数をもとに重要度を測定することには限界があります。例えば投稿の内容が悲しい内容で、「いいね!」をつけることがふさわしくないにもかかわらず、多くの人にとって非常に重要な内容の投稿がある場合は、「いいね!」の数だけではその重要性を正しく判断することができません。このような状況でも、正しく投稿内容の評価を行うことが可能なアルゴリズムの開発が必要になってきました。

従来のメディアは、記事の内容がユーザーに与える影響の度合いを独自の判断基準で測定していました。しかし、Facebookは別の手法を採ります。ここで取り入れられたのが「実際の人にどの投稿を読みたいか、または読みたくないかを教えてもらう」というものだったとのこと。かつてはおよそ1000人がこの作業にあたり、その多くがテネシー州ノックスヴィルに住んでいたそうですが、現在ではあらゆる地域の人が担当しているとのこと。

これと平行して、単に記事のクリック回数ではなく、その後どの程度の時間をかけて記事を読んだかという滞在時間や読了後に記事をシェアしたかどうかといった要素が詳しく分析され、記事の重要性が詳細に測定されるようになって行きました。ここからは、例えば「記事を読む前にシェアしている場合は、実際に記事を読んだあとにシェアした場合に比べて感情度は低い」といったことがわかるようになったとのことです。

By Robert S. Donovan

2014年夏には、「フィード・クオリティー・パネル(フィード品質委員会)」と呼ばれる組織が立ち上がりました。これは、Facebookが雇った数百名のノックスヴィルに住むスタッフが出社し、ニュースフィードに表示された内容について継続的、かつ詳細なフィードバックを行うというものでした。ここでは単にスタッフの行動を検証するだけでなく、「なぜ投稿が面白い・面白くないと思ったのか」「どのぐらい気に入ったか」「代わりにどんな内容を読みたいか」といった質問が行われ、表示内容の「品質評価」が行われたほか、さらにはインターネット回線の速度が与える影響なども調査されたとのこと。

その1カ月後、手法の有効性が確認されたことからFacebookはノックスヴィルチームを解散し、代わりに全世界で同様の手法を取り入れるようになります。この試みからは、アルゴリズムには評価の「死角」が存在し、これを埋めるには人間による品質フィードバックが必要であることが明らかになったとしています。フィード・クオリティー・パネルの存在が重要になるにつれ、Facebookではもはや単一のデータソースだけで評価を行えないという認識が強まり、あらゆるタイプのユーザー層をターゲットにした評価システムが取り入れることになったそうです。

また、一部のユーザーは想定されていない興味深い使い方をしていることも判明したとのこと。Facebookの投稿に表示されるメニューには「投稿を非表示にする」という項目があるのですが、ユーザーの中にはこの機能を「既読マーク」の代わりに使う人も存在していることがわかったのです。これは、Gmailで読み終えたメールをアーカイブするような感覚の操作なのですが、本来は読みたくない投稿を隠すための機能が、別の形で使われているという面白い実態も明らかになったとのこと。このような実態も、アルゴリズムだけでは判明しなかったと思われるもので、ここでも人の手による分析が実を結んでいることが見えてきます。

このように、Facebookでは単にデータに偏重したアルゴリズムだけではなく、複数の手法を取り入れることでより正確な分析を行い、タイムライン生成のアルゴリズムに反映されているとのこと。ビッグデータによるデータ解析が取り沙汰される時代において、実は人の手による詰めの作業が行われているというのは非常に興味深いものといえそうです。

なお、FacebookのザッカーバーグCEOは2016年の目標として、人工知能(AI)の開発を進めることを発表しています。これは、家庭向けの活用を念頭においたAIのことを指しているわけですが、一方ではタイムライン生成のアルゴリズムにAIを取り入れようという向きもあると言われています。

家庭用人工知能の開発をFacebookのザッカーバーグCEOが新年の目標として発表 - GIGAZINE

・関連記事
2015年にFacebookで話題となったトピック・場所・スタンプまとめ - GIGAZINE

Facebookを使えば使うほど人生に満足できなくなる原因が研究で明らかに - GIGAZINE

Facebookを使っていなくても勝手に作成されている「シャドープロファイル」とは - GIGAZINE

Facebookに「dislike!(ヤダネ!、よくないね!、ダメだね!)」ボタンが実装されることをマーク・ザッカーバーグが明かす - GIGAZINE

「Facebookの寿命はあと4年しかない」とアメリカの研究者が予想 - GIGAZINE

ニュートンがもしFacebookをやっていたら?歴史上の人物たちのつながりを可視化した「Six Degrees of Francis Bacon」 - GIGAZINE

写真の情報を認識して音声でどんな写真か説明する人工知能をFacebookが発表 - GIGAZINE

Facebookが人工知能研究用の高性能オープンソースハードウェア「Big Sur」をリリース - GIGAZINE

Facebookに脆弱性を指摘して報奨金を得た技術者の調査が行き過ぎだとFacebookとトラブルに - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by logx_tm