ニュースフィードはどのように見たいものを予測しますか? /Meta

ニュースフィードアルゴリズムに関しては、多くの理論と神話があります。 ほとんどの人は、職場にアルゴリズムがあることを理解しており、多くの人がそのアルゴリズムを知らせる要因のいくつかを知っています(投稿が好). しかし、まだ誤解されていることはかなりたくさんあります。

私たちは、ニュースフィードの詳細と機能の多くを公に共有しています。 しかし、ボンネットの下では、ニュースフィードを強化する機械学習(ML)ランキングシステムは、多くの層で、信じられないほど複雑です。 私たちは、ランキングシステムがどのように機能するかについての新しい詳細を共有しており、2億人以上の人々のためにコンテンツをパーソナライズし、彼らがFacebookに来るたびに、彼らにとって関連性があり意味のあるコンテンツをそれぞれ表示するシステムを構築するという課題を共有しています。

これは何がそんなに難しいのですか?

まず、ボリュームが膨大です。 世界中の20億人以上がFacebookを利用しています。 これらの人々のそれぞれのために、千以上の”候補”投稿(またはその人のフィードに潜在的に表示される可能性のある投稿)があります。 私たちは今、Facebook上のすべての人々の間で何兆もの投稿について話しています。

今、Facebook上の各人のために、その人が最も関連性があるかもしれないものを決定するために評価する必要がある何千もの信号があることを考えてくださ だから、私たちは何兆もの投稿と何千もの信号を持っています—そして、私たちはそれらの人々のそれぞれが即座に彼らのフィードで見たいものを予測す あなたがFacebookを開くと、そのプロセスは、それがあなたのニュースフィードをロードするのにかかるだけで秒かそこらでバックグラウ

そして、このすべての作業が完了すると、物事が変化し、clickbaitや誤報の拡散など、発生する新しい問題を考慮する必要があります。 これが起こるとき、我々は新しい解決策を見つける必要があります。 実際には、ランキングシステムは単一のアルゴリズムではなく、各ユーザーにとって最も関連性が高く意味のあるコンテンツを予測するために適用されるMLモデルとランキングの複数の層です。 私たちは、各段階を移動すると、ランキングシステムは、任意の時点で誰かのニュースフィードに表示される数百に候補者の投稿のそれらの何千ものを狭

パーソナライズされたニュースフィードがどのように生成されるかのグラフィック

どのように動作しますか?

簡単に言えば、システムは、あなたが興味を持っているか、従事する可能性が最も高いものを予測することによって、あなたのニュースフィードに表示される投稿と、どの順序で表示されるかを決定します。 これらの予測は、あなたが最近フォローしたもの、好きなもの、または従事したものなど、さまざまな要因に基づいています。 これが実際にどのように機能するかを理解するために、Facebookにログインする一人の人のために何が起こるかから始めましょう:私たちは彼をJuanと呼び

昨日のフアンのログイン以来、彼の友人魏は彼のコッカースパニエルの写真を投稿しました。 別の友人、Saanviは、彼女の朝の実行からのビデオを投稿しました。 彼のお気に入りのページは、夜に天の川を見るための最良の方法についての興味深い記事を掲載し、彼のお気に入りの料理グループは、四つの新しいサワー種のレシピを掲載しています。

このすべてのコンテンツは、Juanがそれを共有する人やページをフォローすることを選択したため、Juanにとって関連性があり、興味深い可能性があります。 Juanのニュースフィードでこれらのもののどれがより高く表示されるかを決定するには、Juanにとって最も重要なものと、どのコンテンツが彼にとって最 数学的には、Juanの目的関数を定義し、単一目的の最適化を実行する必要があります。

写真に誰がタグ付けされているか、いつ投稿されたかなどの投稿の特性を使用して、Juanがそれを好きかもしれないかどうかを予測することができます。 例えば、JuanがSaanviの投稿と対話する傾向がある場合(例えば,共有またはコメント)多くの場合、彼女の実行中のビデオは非常に最近です,ファンは彼女のポストを好きになる可能性が高いです. Juanが過去に写真よりも多くのビデオコンテンツに従事している場合、彼のコッカースパニエルのWeiの写真のlike予測はかなり低いかもしれません。 この場合、Juanがそれを望む確率が高いと予測するため、順位付けアルゴリズムはSaanviの実行中のビデオをWeiの犬の写真よりも高くランク付けします。

しかし、好きは、人々がFacebook上で自分の好みを表現する唯一の方法ではありません。 毎日、人々は興味深い記事を共有したり、フォローしている人や有名人のビデオを見たり、友人の投稿に思慮深いコメントを残したりします。 数学的には、複数の目的のために最適化する必要がある場合、物事はより複雑になりますが、それはすべて私たちの主な目的に追加されます。

複数のMLモデルは、Juanのための複数の予測を生成します:彼は魏の写真、Saanviのビデオ、天の川の記事、またはサワー種のレシピと係合する確率。 各モデルは、Juanのコンテンツのこれらの部分をランク付けしようとします。 時には、彼らは同意しない—JuanがMilky Wayの記事よりもSaanviの実行中のビデオを好む可能性が高いかもしれませんが、彼はビデオよりも記事にコメントする可能性が高いかもしれません。 そのため、これらのさまざまな予測を、長期的な価値という主な目的に合わせて最適化された1つのスコアに組み合わせる方法が必要です。

何かが人にとって長期的な価値を生み出すかどうかをどのように測定することができますか? 私たちは彼らに尋ねます。 たとえば、私たちは、彼らが彼らの友人との相互作用を見つけたか、ポストが自分の時間の価値があったかどうかを尋ねるために人々を調査し、私たちの その後、我々は、人々が(調査を介して)より意味があり、自分の時間の価値がある私たちに言う行動に基づいて、フアンのために考慮に各予測を取ることがで

20億人以上のユーザーに対して、一日あたり千件以上の投稿をリアルタイムでランク付けするには、プロセスを効率的にする必要があります。 私たちは、戦略的にそれを高速にし、必要なコンピューティングリソースの量を制限するために配置され、様々なステップでこれを管理します。

まず、システムはJuanのためにランク付けできるすべての候補投稿(cocker spanielの写真、実行中のビデオなど)を収集します。). この対象となるインベントリには、前回のログイン以降に作成され、削除されていない友人、グループ、または彼が接続しているページによってJuanと共有され しかし、Juanの最後のログイン前に作成された投稿をまだ見ていない投稿をどのように処理する必要がありますか?

未読の投稿が再検討されるようにするために、未読のバンプロジックを適用します:以前のセッションでJuanにランク付けされた(ただし彼には見られな また、アクションバンピングロジックを適用して、ファンがすでに見ている投稿が、友人の間で興味深い会話を引き起こした投稿も対象のインベントリに追加されるようにします。

次に、システムは、投稿の種類、他の項目との類似性、Juanが対話する傾向があるものと投稿がどれだけ一致するかなど、さまざまな要因について各投稿 1,000以上の投稿についてこれを計算するために、数十億人のユーザーごとに、すべてリアルタイムで、予測変数と呼ばれる複数のマシン上ですべての候補

これらすべての予測を単一のスコアに結合する前に、いくつかの追加のルールを適用する必要があります。 私たちは、これらの最初の予測が得られるまで待って、ランク付けされる投稿のプールを絞り込むことができ、計算能力を節約するために複数のパスに

まず、特定の整合性プロセスがすべての投稿に適用されます。 これらは、ランク付けのために選択されたストーリーに適用する必要がある整合性検出手段がある場合を決定するように設計されています。 次のパスでは、軽量モデルは、Juanのための最も関連性の高い投稿の約500に候補者のプールを狭めます。 より少ないストーリーをランキングすることで、次のパスにもっと強力なニューラルネットワークモデルを使用することができます。

次は主な得点パスで、パーソナライゼーションのほとんどが行われます。 ここでは、各ストーリーのスコアが独立して計算され、すべての500の投稿がスコア順に配置されます。 一部の人々は、コメントよりも好きで自分自身を表現したいので、いくつかのために、スコアは、コメントのためよりも好きのために高いかもしれません。 人がめったに関与しないアクション(例えば、ゼロに非常に近いlike予測)は、予測値が非常に低いため、自動的にランキングに最小限の役割を与えます。

最後に、コンテンツタイプの多様性ルールなどのコンテキスト機能が追加され、Juanのニュースフィードにコンテンツタイプがよく混在しており、複数の動画 これらのランキング手順はすべて、JuanがFacebookアプリを開くのにかかる時間内に行われ、数秒以内に、彼は閲覧して楽しむ準備ができている得点のニュースフ

コメントを残す

メールアドレスが公開されることはありません。