Meta

Relevante Inhalte individuell zusammengestellt – so funktioniert der Facebook News Feed

Wir wollen den Menschen auf Facebook mit dem News Feed ein relevantes und positives Nutzererlebnis bieten. Die Entwicklung eines personalisierten News Feeds für mehr als zwei Milliarden Menschen, die alle unterschiedliche Interessen haben, ist dabei eine schwierige und komplexe Herausforderung. 

 

Wie sagt der News Feed voraus, was ich sehen möchte?

Es gibt viele Theorien und Mythen zum News Feed-Algorithmus. Die meisten Menschen wissen, dass es einen Algorithmus gibt, und viele kennen einige Faktoren, die ihn beeinflussen. Zum Beispiel wenn du einen Beitrag mit „Gefällt mir“ markierst, ihn kommentierst, teilst oder anderweitig damit interagierst.  Dennoch gibt es nach wie vor viele Missverständnisse dazu. 

Viele Details und Funktionen des News Feeds sind öffentlich. Die Auswahl und Reihenfolge der Inhalte übernimmt dabei unser Ranking-System, das auf maschinellem Lernen (ML) beruht und den News Feed fortlaufend sortiert. Es sorgt dafür, dass über zwei Milliarden Menschen die Inhalte angezeigt werden, die für sie relevant und bedeutsam sind – und zwar jedes Mal, wenn sie Facebook aufrufen. Ohne maschinelles Lernen würden die News Feeds der Nutzer mit irrelevanten oder uninteressanten Inhalten überflutet, einschließlich Werbeinhalten oder Inhalten von sehr aktiven Freunden. Diese Beiträge könnten den Content von Personen verdrängen, die den Nutzern eigentlich wichtiger sind. 

Dieser Vorgang ist sehr komplex und vielschichtig. Im Folgenden wollen wir die Funktionsweise unseres Ranking-Systems und die Herausforderungen bei der Entwicklung des Systems vorstellen.  

Warum ist das so schwierig?

Erstens ist das Volumen riesig. Über zwei Milliarden Menschen weltweit nutzen Facebook. Für jede einzelne Person gibt es mehr als tausend Beiträge, die zur Anzeige in ihrem News Feed infrage kommen. Das sind Billionen von Beiträgen für alle Facebook-Nutzer. Außerdem gibt es für jede Person auf Facebook Tausende sogenannte Signale (etwa, wenn die Person einen Beitrag mit „Gefällt mir“ markiert oder kommentiert). Diese Signale müssen wir beurteilen, um herauszufinden, was der Nutzer am relevantesten finden könnte. Es gibt also Billionen Beiträge und Tausende Signale – und wir müssen in kürzester Zeit vorhersagen, was jede einzelne Person in ihrem Feed sehen möchte. Wenn du Facebook öffnest, geschieht dieser Prozess in gerade einmal einer Sekunde, die es braucht, um deinen News Feed zu laden. Gleichzeitig gilt, wie auch bei der Bewertung, dass wir Clickbait-Inhalte und Falschmeldungen eindämmen.  Für dieses Zusammenspiel mehrerer Faktoren müssen wir immer neue Lösungen finden. Das Ranking-System ist bei genauerer Betrachtung kein einzelner Algorithmus. Es handelt sich vielmehr um mehrere Schichten von Machine Learning-Modellen und Rankings, mit denen wir den Content voraussagen, der für jeden Nutzer am relevantesten und bedeutsamsten ist. Beim Durchlaufen der einzelnen Phasen grenzt das Ranking-System die Tausenden der infrage kommenden Beiträge auf die wenigen Hundert ein, die schließlich im News Feed einer Person erscheinen.

Wie funktioniert das?

Einfach ausgedrückt, sagt das System voraus, welche Inhalte du wahrscheinlich am interessantesten finden oder mit welchen du am wahrscheinlichsten interagieren wirst. Auf dieser Grundlage legt es dann fest, welche Beiträge in welcher Reihenfolge in deinem News Feed erscheinen. Diese Vorhersagen hängen von zahlreichen Faktoren ab, einschließlich was und wen du kürzlich abonniert, mit „Gefällt mir“ markiert oder mit wem du interagiert hast. Zur Veranschaulichung zeigt ein praktisches Beispiel an Beispielnutzer Juan, was passiert, wenn ein Nutzer sich auf Facebook einloggt: Seit Juan sich gestern eingeloggt hat, hat sein Freund Max ein Foto seines Cocker Spaniels gepostet. Seine Freundin Erika hat ein Video ihrer morgendlichen Laufrunde gepostet. Seine Lieblingsseite hat einen interessanten Artikel darüber veröffentlicht, wie man in der Nacht am besten die Milchstraße sieht. Und in seiner Lieblingskochgruppe gibt es vier neue Sauerteigrezepte. Alle diese Inhalte sind sehr wahrscheinlich relevant oder interessant für Juan, denn er hat sich aktiv dazu entschieden, diesen Personen oder Seiten zu folgen. Um zu entscheiden, welche dieser Inhalte weiter oben in Juans News Feed erscheinen sollen, müssen wir voraussagen, welche für ihn am wichtigsten und wertvollsten sind. Mathematisch ausgedrückt, müssen wir eine Zielfunktion für Juan definieren und eine Ein-Ziel-Optimierung durchführen. 

Um vorherzusagen, ob Juan ein Beitrag gefallen wird, können wir die Eigenschaften des Beitrags verwenden, etwa wer in einem Foto markiert ist und wann es gepostet wurde. Wenn Juan zum Beispiel häufig mit Erikas Beiträgen interagiert (sie z. B. teilt oder kommentiert) und ihr Laufvideo noch sehr neu ist, besteht eine hohe Wahrscheinlichkeit, dass ihm der Beitrag gefallen wird. Wenn Juan bisher eher mit Videos als mit Fotos interagiert hat, ist die Wahrscheinlichkeit, dass ihm Max’ Foto seines Cocker Spaniels gefallen wird, eher gering. In diesem Fall würde unser Ranking-Algorithmus Erikas Laufvideo weiter oben als Max’ Hundefoto einstufen, da er eine höhere Wahrscheinlichkeit errechnet hat, dass es Juan gefallen wird. Die „Gefällt mir“-Markierung ist aber nicht die einzige Art, mit der Menschen auf Facebook ihre Präferenzen zeigen. Tagtäglich teilen sie Artikel, die sie interessant finden, sehen sich Videos von Bekannten oder Prominenten an, die sie abonniert haben, oder sie kommentieren die Beiträge ihrer Freunde. 

Die Berechnung wird immer komplexer, je mehr Ziele wir hinzufügen, die der Algorithmus bei der Optimierung berücksichtigen soll. Sie alle unterliegen aber unserem Hauptziel: für unsere Nutzer den höchsten langfristigen Wert zu erzeugen, indem wir ihnen bedeutsame und relevante Inhalte zeigen. Mehrere ML-Modelle erzeugen auch mehrere Voraussagen für Juan, also für die Wahrscheinlichkeiten, dass er mit Max’ Foto, Erikas Video, dem Artikel über die Milchstraße oder den Sauerteigrezepten interagiert. Jedes Modell versucht, ein Ranking für diese Inhalte zu generieren. Manchmal gibt es Widersprüche zwischen ihnen: Eventuell ist es wahrscheinlicher, dass Juan Erikas Laufvideo mit „Gefällt mir“ markiert als den Artikel über die Milchstraße. Aber gleichzeitig ist es vielleicht auch wahrscheinlicher, dass er den Artikel kommentiert, und nicht das Video. Wir müssen diese unterschiedlichen Voraussagen also zu einer Bewertung kombinieren, die für unser primäres Ziel des langfristigen Mehrwerts optimiert ist. 

Wie können wir aber messen, ob etwas einen langfristigen Wert für eine Person hat? Wir fragen sie einfach. Wir fragen unsere Nutzer beispielsweise, wie bedeutsam sie eine Interaktion mit ihren Freunden fanden, oder ob ihnen ein Beitrag gefallen hat. Auf diese Art kann unser System sich an die Vorlieben und Interessen der Menschen anpassen. Zusätzlich können wir in unseren Voraussagen miteinbeziehen, welche Handlungen den Menschen wichtiger sind. Auch das erfahren wir über Umfragen.

Das Ranking Schritt für Schritt

Damit wir über tausend Beiträge pro Nutzer und Tag für über zwei Milliarden Menschen in Echtzeit bewerten können, brauchen wir einen hocheffizienten Prozess. Wir führen ihn in mehreren sinnvoll gestaffelten Schritten durch, damit er so schnell wie möglich abläuft und möglichst wenig Rechenleistung beansprucht. Zunächst erfasst das System alle Beiträge, die für Juan infrage kommen (das Foto des Cocker Spaniels, das Laufvideo etc.). Dieser Bestand umfasst alle von Freunden oder abonnierten Gruppen oder Seiten geteilten Beiträge, die seit Juans letztem Login gepostet und nicht gelöscht wurden. 

Aber wie gehen wir mit Beiträgen um, die noch vor Juans letztem Login gepostet wurden und die er noch nicht gesehen hat? Damit noch nicht gesehene Beiträge ebenfalls in den Auswahlprozess aufgenommen werden, wenden wir eine Aufstocklogik an: Neue Beiträge, die in Juans letzter Sitzung für ihn ausgewählt wurden und die er noch nicht gesehen hat, werden ebenfalls in den Bestand für die aktuelle Sitzung aufgenommen. Außerdem nutzen wir eine ähnliche Logik für Interaktionen an. Wenn ein Beitrag, den Juan bereits gesehen hat, zu einer interessanten Unterhaltung unter seinen Freunden geführt hat, wird auch dieser Beitrag dem Bestand hinzugefügt. Als Nächstes muss das System jeden Beitrag nach verschiedenen Faktoren beurteilen, etwa die Beitragsart, die Ähnlichkeit mit anderen Elementen und wie sehr er denjenigen Beiträgen ähnelt, mit denen Juan am häufigsten interagiert. Um all das für über 1000 Beiträge für jeden unserer Milliarden Nutzer in Echtzeit zu berechnen, laufen diese Modelle gleichzeitig auf mehreren Maschinen, die wir Prädiktoren nennen. 

Bevor wir all diese Voraussagen zu einer einzigen Punktzahl kombinieren, müssen wir aber noch einige weitere Regeln anwenden. Dafür  warten wir zunächst ab, bis wir die ersten Voraussagen haben, damit wir die Beitragsauswahl für das Ranking verkleinern können – und wenden sie dann in mehreren Durchgängen an, um Rechenleistung zu sparen. Zunächst durchläuft jeder Beitrag bestimmte Integritätskontrollen. Damit bestimmen wir, ob weitere Maßnahmen zur Integritätsprüfung für die ausgewählten Beiträge vorgenommen werden müssen, und wenn ja, welche. Im nächsten Durchgang grenzt ein ressourcensparendes Modell die Beitragsauswahl auf 500 der relevantesten Beiträge für Juan ein. Indem wir so die Auswahl vor den feineren Beurteilungsphasen eingrenzen, können wir leistungsstärkere neuronale Netzwerke in diesen anschließenden Durchgängen verwenden. 

Im nächsten Durchgang erfolgt die eigentliche Beurteilung. Hier findet der Großteil der Personalisierung statt. Dabei wird für jeden Beitrag eine eigene Punktzahl berechnet, bevor wir die 500 Beiträge entsprechend anordnen. Für einige Personen ist es sinnvoller, „Gefällt mir“-Angaben höher als Kommentare zu bewerten, da sie diese zur Interaktion eher als Kommentare nutzen. Alle Handlungen, die eine Person nur selten ausführt (zum Beispiel, eine „Gefällt mir“-Voraussage von nahe 0), erhalten automatisch eine geringe Gewichtung im Ranking. Als Letztes findet der Kontext-Durchgang statt. Hier werden Kontextparameter wie Vielfältigkeitsregeln für den Content-Typ angewendet, um sicherzustellen, dass Juans News Feed ausgewogen ist und er nicht mehrere Videobeiträge direkt untereinander sieht. 

All diese Ranking-Schritte finden in der kurzen Zeit statt, in der Juan Facebook aufruft. Innerhalb von Sekunden sieht er seinen persönlichen News Feed, den er sofort ansehen und durchstöbern kann.



Wir setzen Cookies ein, damit wir Content personalisieren, Anzeigen individualisieren und messen und eine sichere Erfahrung bieten können. Indem du mit der Navigation auf der Seite fortfährst oder auf Inhalte klickst, stimmst du der Erfassung von Informationen auf und außerhalb von Facebook über Cookies zu. Mehr erfahren, auch zu den verfügbaren Steuerelementen: Cookie-Richtlinie