Das Recommender System von Netflix

Wie wendet Netflix Machine Learning an, um seinen mehr als 130 Millionen Nutzern ein noch besseres Streaming-Erlebnis zu bieten? Ein übersetzter Auszug aus dem Paper The Netflix Recommender System: Algorithms, Business Value, and Innovation von Carlos Gomez-Uribe und Neil Hunt verrät es dir!

Netflix und die Qual der Wahl

Beim Internetfernsehen geht es um die Wahl: Was, wann und wo man gucken kann. Lineare Rundfunk- und Kabelsystemen bieten hingegen nur, was gerade läuft – auf vielleicht 10 bis 20 Lieblingssendern. Aber die Menschen sind überraschend schlecht darin, zwischen so vielen Optionen zu wählen. Sie werden schnell überwältigt und treffen dann keine oder schlechte Entscheidungen (siehe z.B. Schwartz [2015]). Gleichzeitig ist der Vorteil von Internet-TV, dass hier Videos aus einem größeren Katalog gestreamt werden können, der eine breite Themenpalette abdeckt. Dies ist ansprechend für verschiedene Demographien und Geschmacksrichtungen. Es können Nischentitel angeboten werden, die nur für relativ kleine Benutzergruppen von Interesse sind.

Verbraucherstudien deuten darauf hin, dass ein typisches Netflix-Mitglied das Interesse nach 60 bis 90 Sekunden des Suchens – nachdem 10 bis 20 Titel (vielleicht 3 im Detail) überprüft wurden – das Interesse verliert. Der Nutzer findet entweder etwas Interessantes oder das Risiko, dass er Netflix abschaltet, nimmt erheblich zu.

Das Empfehlungsproblem

Das Empfehlungsproblem besteht darin, sicherzustellen, dass in dieser Zeit jedes Mitglied in unserem vielfältigen Pool etwas findet und versteht, warum es für ihn von Interesse sein könnte. In der Vergangenheit wurde das Netflix-Empfehlungsproblem als gleichwertig gegenüber dem Problem angesehen, vorherzusagen, mit wie vielen Sternen eine Person ein Video bewerten würde – auf einer Skala von 1 bis 5.

Wir haben uns in der Tat sehr stark auf einen solchen Algorithmus verlassen, als unser Hauptgeschäft der Versand von DVDs per Post war. Zum Teil, weil in diesem Zusammenhang eine Sterne-Bewertung das wichtigste Feedback war, um sicher zu sein, dass ein Mitglied das Video tatsächlich gesehen hatte. Wir haben sogar einen Wettbewerb zur Verbesserung der Genauigkeit der Rating-Vorhersage organisiert. Dies führte zu Algorithmen, welche wir heute noch in der Produktion verwenden, um Ratings vorherzusagen.

Aber die Zeiten, in denen Sterne und DVDs im Mittelpunkt der Empfehlungen bei Netflix standen, sind lang vorbei. Jetzt streamen wir den Inhalt und haben riesige Datenmengen, die dokumentieren, was und wie jedes Netflix-Mitglied schaut (z.B. das Gerät, Uhrzeit, Wochentag, Nutzungsintensität), die Stelle innerhalb unseres Produkts, an der jedes Video entdeckt wurde, und sogar die Empfehlungen, welche in einer Session vorgeschlagen, aber nicht abgespielt wurden.

Diese Daten und die daraus resultierenden Erfahrungen bei der Verbesserung des Netflix-Produkts lehrten uns, dass es viel bessere Möglichkeiten gibt, Menschen dabei zu helfen, Videos zu finden, die sie sich anschauen können als sich nur auf die Filme mit einer hohen vorausgesagten Sterne-Bewertung zu konzentrieren.

Heute

Unser Recommender System besteht nun aus einer Vielzahl von Algorithmen, die zusammen das Netflix-Erlebnis ausmachen. Die meisten davon finden direkt auf der Netflix-Homepage Anwendung.

Dies ist die erste Seite, die ein Mitglied nach dem Einloggen in sein Profil sieht – egal auf welchem Gerät (TV, Tablett, Telefon oder Browser). Hier werden zwei Drittel der kompletten Netflix-Streamingzeit entdeckt. Die Seite hat ein matrixähnliches Layout. Jeder Eintrag in der Matrix ist ein vom Recommender System empfohlenes Video und jede Reihe von Videos enthält Empfehlungen mit einem ähnlichen “Thema”. Die Zeilen sind entsprechend ihrer Themen benannt, um diese transparent und (wir denken) intuitiver für unsere Mitglieder zu machen.

Der personalisierte Video-Ranker

Es gibt typischerweise etwa 40 Reihen von Filmvorschlägen auf jeder Homepage und bis zu 75 Videos pro Reihe. Aufgrund der Hardware und den unterschiedlichen Ansprüchen an die Benutzerfreundlichkeit variieren diese Zahlen je nach Gerät ein wenig. Die Videos in einer bestimmten Reihe stammen typischerweise von einem einzigen Algorithmus – nämlich dem Personalisierten Video-Ranker (PVR). Wie der Name schon sagt, ordnet dieser Algorithmus den gesamten Videokatalog (oder Untergruppen) für jedes Mitglied in einer personalisierten Weise. Das daraus resultierende Ranking wird verwendet, um die Reihenfolge der Videos in jeder Reihe festzulegen. Das ist der Grund, warum die gleiche Reihe, die verschiedenen Mitgliedern gezeigt wird, häufig ganz andere Videos enthält.

Weil wir den PVR so umfänglich nutzen, muss der Algorithmus allgemein anwendbar sein und relative Rankings über den gesamten Videokatalog erstellen können. Dies wiederum beschränkt den Personalisierungsgrad.  Gleichermaßen funktioniert der PVR besser, wenn wir personalisierte Signale mit anderen Signalen mischen. Mit einer gesunden Dosis (unpersonalisierter) Popularität, welche wir benutzen, um die Empfehlungen in der Zeile „Beliebt auf Netflix“ zu zeigen.

Der Top-N Video-Ranker

Wir haben auch einen Top-N Video-Ranker, der die Empfehlungen in der Zeile „Top-Auswahl für [Mitglied]“ darstellt. Das Ziel dieses Algorithmus ist es, die besten personalisierten Empfehlungen im gesamten Katalog für jedes Mitglied zu zeigen. Das heißt, der Algorithmus konzentriert sich nur auf den Kopf der Rangliste. Diese Freiheit hat der PVR nicht, weil dieser dafür genutzt wird, beliebige Teilmengen des Katalogs zu ordnen.

Dementsprechend wird unser Top-N Ranking mit Hilfe von Metriken und Algorithmen optimiert, die nur auf den Kopf des Katalog-Rankings achten, welchen der Algorithmus erzeugt, und nicht auf das Ranking für den gesamten Katalog (wie bei PVR). Ansonsten haben der Top-N Ranker und der PVR ähnliche Attribute, z.B. die Kombination von Personalisierung und Popularität, und die Identifizierung von Trends über verschiedene Zeitfenster von einem Tag bis zu einem Jahr.

Derzeit beliebt

Netflix Beispiel "Derzeit beliebt"

Wir haben auch festgestellt, dass temporäre Trends, die von wenigen Minuten bis hin zu vielleicht ein paar Tagen reichen, großes Prognosepotenziel haben.  Vor allem in Kombination mit der richtigen Dosis Personalisierung. Das Ergebnis ist ein sogenannter Trending Ranker, der beeinflusst, was in der Kategorie „Derzeit beliebt“ vorgeschlagen wird. Es gibt zwei Arten von Trends, die dieser Ranker gut erkennt:

  1. Trends, die sich alle paar Monate (oder jährlich) wiederholen, aber eine kurzfristige Wirkung haben, wenn sie auftreten. Ein Beispiel dafür ist der Aufwärtstrend bei den Romanzen an  Valentinstag in Nordamerika.
  2. Einmalige, kurzfristige Ereignisse. Zum Beispiel ein großer bevorstehender Hurrikan, der auf ein dicht besiedeltes Gebiet trifft und dadurch von vielen Medien aufgegriffen wird. Dies erhöht kurzfristiges Interesse an Dokumentationen und Filmen über Wirbelstürme und andere Naturkatastrophen.

Weiter schauen

Die Bedeutung von nach Episoden aufgeteilten Inhalten, die über mehrere Sitzungen hinweg angeschaut werden, und die Freiheit, nicht-episodische Inhalte in kleinen Bissen zu sehen, hat mehr und mehr zugenommen. Deshalb ist ein weiterer wichtiger Algorithmus der Continue Watching Ranker, welcher die Videos in der Reihe „Weiter schauen“ zeigt. Die meisten unserer Ranker sortieren nicht geschaute Titel, bei denen wir nur auf gefolgerte (engl. „inferred“) Informationen zurückgreifen können. Im Gegensatz dazu sortiert der Continue Watching Ranker die zuletzt angesehenen Titel auf der Grundlage unserer Schätzung, ob der Nutzer beabsichtigt, zu einem späteren Zeitpunkt das Video weiter zu schauen oder nicht.

Die Merkmale, die wir verwenden, beinhalten die seit dem Anschauen des Videos verstrichene Zeit, den Punkt des Abbruchs (Mitte vs. Anfang oder Ende), ob seitdem verschiedene andere Titel angesehen wurden und welche Geräte verwendet wurden. Im Allgemeinen verwenden unsere verschiedenen Ranking-Algorithmen unterschiedliche mathematische und statistische Modelle, verschiedenartige Merkmale und Daten als Input und erfordern deshalb eigene Modelltrainings für den spezifischen Zweck, den jeder Ranker erfüllt.

Video-Video-Ähnlichkeit

Netflix Beispiel "Weil Sie "Guardians of the Galaxy" angesehen haben

„Weil Sie … angesehen haben“-Zeilen beinhalten eine andere Art der Kategorisierung. Eine BYW-Reihe (engl. „Because You Watched“) basiert ihre Empfehlungen auf einem einzelnen Video, das vom Mitglied angeschaut wurde. Der Video-Video-Ähnlichkeits-Algorithmus, den wir einfach als “Sims” bezeichnen, bildet die Basis der Empfehlungen in diesen Reihen.

Der Sims-Algorithmus ist ein unpersonalisierter Algorithmus, der eine Rangliste ähnlicher Videos – der Similars – für jedes Netflix-Video berechnet. Das Ranking der Filme, welche die Basis für auf deiner Homepage gezeigten BYW-Reihen bilden, ist allerdings auf das Verhalten jedes Nutzers abgestimmt. Auch die Teilmenge von Videos, die in einer bestimmten BYW-Reihe empfohlen werden, profitiert von der Personalisierung. Sie hängt davon ab, bei welchen dieser ähnlichen Videos wir am ehesten schätzen, dass sie dir gefallen werden.

Seitengenerierung: Zeilenauswahl und Ranking

Die für jede Zeile ausgewählten Videos stellen unsere Schätzung der besten Auswahl an Videos für den Nutzer dar. Aber die meisten Mitglieder haben unterschiedliche Stimmungen von Sitzung zu Sitzung und viele Konten werden von mehr als einem Haushaltsmitglied genutzt. Mit dem Angebot einer abwechslungsreichen Auswahl an Reihen hoffen wir, es einem Mitglied leicht zu machen, Videos zu überspringen, die vielleicht eine gute Wahl für ein anderes Mal, einen anderen Anlass oder ein anderes Mitglied des Haushalts wären, und schnell etwas Relevantes erkennen.

Der Seitenerstellungs-Algorithmus nutzt den Output aller bereits beschriebenen Algorithmen. Jede einzelne Empfehlungs-Seite wird unter Berücksichtigung der Relevanz jeder Zeile für das Mitglied sowie der Themenvielfalt der Seite erstellt. Ein typisches Mitglied hat Zehntausende von Zeilen, die auf der eigenen Hauptseite gezeigt werden könnten. Das macht es schwierig, die notwendigen Berechnungen durchzuführen, um die Zeilen auszuwerten.

Aus diesem Grund hatten wir vor 2015 einen regelbasierten Ansatz, der definiert hat, welche Art von Zeile (z.B. Genre-Zeile, BYW-Zeile, „Derzeit beliebt“-Zeile) welche vertikale Position auf der Seite einnahm. Dieses Seitenlayout wurde für die Erstellung aller Hauptseiten für alle Mitglieder verwendet.

Heute haben wir einen vollständig personalisierten und mathematischen Algorithmus, der Zeilen aus einem großen Pool von Kandidaten auswählen und ordnen kann. Dies schafft ein für Relevanz und Vielfalt optimiertes Ranking. Unser aktueller Algorithmus verwendet keinerlei Vorlage. Er ist also freier in der Optimierung des Netflix-Erlebnisses, zum Beispiel indem manche Hauptseiten fast gar keine BYW-Reihen beinhalten und andere zur Hälfte nur aus diesen bestehen.

Beweise

Netflix Detailseite eines Films

Zusammen bilden diese Algorithmen das komplette Recommender System von Netflix. Aber gibt es andere Algorithmen, wie zum Beispiel sogenannte „Evidence-Selection“-Algorithmen, die mit unseren Recommendern zusammenarbeiten. Sie helfen unseren Mitgliedern bei der Entscheidung, ob ein Video das Richtige für sie ist. Wir betrachten Beweise als alle Informationen, die wir oben links auf der Detailseite eines Videos zeigen. Dies umfasst die Zusammenfassung und andere Fakten, die über das Video angezeigt werden, wie z.B. Auszeichnungen, Besetzung oder andere Metadaten. Außerdem fallen darunter die Bilder, die wir verwenden, um unsere Empfehlungen zu unterstützen – sowohl in den Reihen selbst als auch an anderen Stellen in der Benutzeroberfläche.

Evidenzauswahl-Algorithmen werten alle möglichen Beweismittel aus, die wir für jede Empfehlung anzeigen können. Anschließend wählen sie diejenigen Empfehlungen aus, von denen wir denken, dass sie für das Mitglied am hilfreichsten sind. Beispielsweise entscheiden Evidenzauswahl-Algorithmen, ob gezeigt wird, dass ein bestimmter Film einen Oscar bekommen hat oder stattdessen, dass der Film einem anderen vom Nutzer angeschauten Video ähnlich ist. Sie entscheiden auch, welches von vielen potentiellen Vorschaubildern verwendet wird, um eine gegebene Empfehlung am besten unterstützen.

Suche

Unser Recommender System wird auf den meisten Seiten des Netflix-Produkts genutzt – innerhalb und außerhalb der Hauptseite – und beeinflusst die Auswahl für insgesamt ca. 80% der bei Netflix gestreamten Stunden. Die restlichen 20% stammen aus der Suche, die eine eigene Gruppe von Algorithmen erfordert. Mitglieder suchen in unserem Katalog häufig nach Videos, Schauspielern oder Genres. Wir nutzen „Information Retrieval“ und verwandte Techniken, um die relevanten Videos zu finden und sie unseren Mitgliedern zu zeigen. Jedoch suchen Mitglieder auch oft nach nicht vorhandenen Videos, Schauspielern oder Genres.

Hier wird dann sogar die Suche zum Empfehlungsproblem. In solchen Fällen empfiehlt die Suche Videos für eine bestimmte Abfrage als alternative Ergebnisse für eine fehlgeschlagene Suche. Die extreme Grobkörnigkeit der Texteingabe auf einem TV-Bildschirm bedeutet, dass das Interpretieren von Teilabfragen von zwei oder drei Buchstaben im Zusammenhang mit dem, was wir über den Geschmack des suchenden Mitglieds wissen, auch besonders wichtig ist. Die Suche basiert auf mehreren Algorithmen.

Einer der Algorithmen versucht die Videos zu finden, die zu einer bestimmten Abfrage passen, z.B. um den Film „Frenemies“ (deutsch „Beste Freinde“) für den Teilabfrage „fren“ zu finden.

Ein anderer Algorithmus prognostiziert das Interesse an einem Konzept, das mit einer partiellen Abfrage zusammenhängt. Zum Beispiel das Konzept „Französisch Filme“ (engl. „French Movies“) für die Abfrage “fren”.

Ein dritter Algorithmus findet Videoempfehlungen für ein bestimmtes Konzept, um z.B. die Videos anzuzeigen, die unter dem Begriff „Französisch Filme“ empfohlen werden. Unsere Suchalgorithmen kombinieren Abspieldaten, Suchdaten und Metadaten, um zu den Ergebnissen und Empfehlungen zu gelangen, die wir anbieten.

Quellen und Ressourcen

Das war ein Ausschnitt aus dem Paper The Netflix Recommender System: Algorithms, Business Value, and Innovation von Carlos Gomez-Uribe und Neil Hunt. Das Originalpaper findest du in der digitalen Bibliothek der Association for Computing Machinery. Wie findest du dieses Format? Willst du weitere Auszüge aus Aufsätzen zum Thema Machine Learning lesen? Dann schreib es mir in die Kommentare oder schreib mir einfach eine Nachricht auf der Facebook-Seite von StatisQuo.

Willst du selbst ein Recommender System bauen oder generell Machine Learning Algorithmen kennenlernen? Und bist du gerade beim Einstieg in das Thema Data Science und willst mit Python große Datenmengen analysieren? Dann empfehle ich dir folgendes Buch:

Anzeige

Dort bekommst du tiefe Einblicke in die gesamte Welt der Analyse von großen Datensätzen mit Python und den dazugehörigen Packages. Damit hast du eine fundierte Grundlage, um später selbst ausgefeilte Algorithmen zu programmieren und ein eigenes Recommender System zu bauen.

Wie du selbst an große Datenmengen kommst und diese auswertest, erfährst du in meiner Beitragsreihe zu ImmobilienScout24-Mining.

Viel Spaß beim Analysieren!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.