Wie funktionieren unsere Empfehlungen?

28.05.2014 - 10:55 UhrVor 10 Jahren aktualisiert
Zardoz, ähem, Zoltar... Wie funktionieren deine Empfehlungen denn?
moviepilot/Fox/freepik.com
Zardoz, ähem, Zoltar... Wie funktionieren deine Empfehlungen denn?
75
42
Vor Kurzem sind wir mit unserem neuen Berechnungssystem Zoltar auf moviepilot gestartet und obwohl die Umstellung noch nicht abgeschlossen ist, möchten wir es euch etwas näher vorstellen. Sicher ist es auch spannend, wie wir auf moviepilot Vorhersagen berechnen.

Bevor ihr danach fragt: Die Überarbeitung des neuen Dashboards dauert noch an und das nächste Update der Seite wird in ca. einer Woche erfolgen. Habt also bitte noch etwas Geduld. Bis dahin wollen wir an dieser Stelle unser neues Berechnungssystem etwas näher erklären, damit wir es mit eurem Feedback weiter optimieren können.

Einige von euch haben es möglicherweise bereits bemerkt: Wir haben an den Vorhersagen und Nähewerten gedreht. Zoltar ist da! So nennen wir unser neues Berechnungssystem für Vorhersagen und Co., benannt nach dem magischen Wahrsageautomaten aus Big mit Tom Hanks. Zoltar funktioniert bisher zwar ähnlich, aber doch ein bisschen anders als unser altes System.

Warum die Umstellung?
Weil in unserem alten Berechnungssystem seltsame Fabelkreaturen hausten, bizarre Bug-Wolpertinger gebaren und die schmalen Rechenwege mit Staus blockierten. Sprich: Unser altes System war über die Jahre hinweg träge, buggy und unflexibel geworden war. Zoltar wiederum hat weitgehende ungezieferfreie Autobahnen und noch viel Raum für Erweiterungen. Vorhersagen werden nun zwei bis drei Mal schneller berechnet, wodurch Aktualisierungen wesentlich zügiger geschehen und wir zur gleichen Zeit acht Mal so viele Anfragen zur Vorhersageberechnung als zuvor beantworten können.

Wie funktioniert die Berechnung nun?
Kurzfassung: Zoltar funktioniert ähnlich unserer alten Berechnung. Er sucht über eure Bewertungen andere moviepilot-Mitglieder, von denen er aufgrund ihrer Bewertungen annimmt, dass ihr einen ähnlichen Filmgeschmack habt und errechnet mit Hilfe dieser Nachbarn Vorhersagen, wie euch ein Film gefallen könnte.

Langfassung: Schnallt euch an, denn nun könnten die Brains brennen, weil es etwas technisch-mathematisch wird. Als technisches Framework für unsere Berechnungen nutzen wir Apache Mahout, ein Projekt der Apache Software Foundation zur verteilten oder anderweitig skalierbaren Implementierung von maschinenlernenden Algorithmen. Dieses Framework liefert uns alle Algorithmen also direkt mit. Aus diesem Pool der Algorithmen wählen wir die für uns am besten geeigneten aus und schustern aus ihnen einen auf unsere Bedürfnisse zugeschnittenen Recommender, also unser Berechnungssystem, zusammen.

Bei unserem Basis-Algorithmus handelt es sich um User-User Collaborative Filtering. Kollaboratives Filtern hat auch bereits unser altes Berechnungssystem eingesetzt. Dieser Algorithmus spuckte in unseren Tests über die letzten Monate hinweg für moviepilot erneut die besten Vorhersagen und Tipps aus. Nachdem wir vorab auch Matrix Factorization, SVD-Berechnungen (also die Singulärwertzerlegung) und Item-to-Item Collaborative Filtering ausprobiert hatten.

Beim Kollaborativen Filtern suchen wir für einen User eine bestimmte Anzahl ähnlicher User, also andere moviepilot-Mitglieder, die einen ähnlichen Geschmack besitzen, auf deren Basis dann die Vorhersagewerte berechnet werden (normalisiert mit der jeweiligen Durchschnittswertung, um die persönlichen Wertungspräferenzen zu berücksichtigen). Die Korrelationen zwischen zwei Nutzern, also ihre Ähnlichkeit, bestimmen wir mit Hilfe der Algorithmen Pearson bzw. Log Likelihood. Pearson kann man mathematisch am besten vergleichen, wenn man die Bewertungen der User als Vektor darstellt und den Winkel zwischen beiden Vektoren bestimmt. Je spitzer der Winkel, desto näher bzw. ähnlicher sind sich geschmacklich die jeweiligen moviepilot-Mitglieder.

Wie evaluieren wir diese Berechnung?
Wie gut unsere Empfehlungsberechnung funktioniert, messen wir bisher hauptsächlich, indem wir uns kumuliert die Abweichungen eurer Vorhersage in Zusammenhang mit eurer tatsächlichen Bewertung ansehen. In der ersten Grafik “prediction delta distribution” seht ihr genau diese Verteilung auf Basis der letzten 20.000 Vorhersage/Bewertung-Verhältnisse (Stand: 27.05.14, 17 Uhr). Auf der X-Achse seht ihr die Differenz zwischen Vorhersage und erfolgter Bewertung von 0-10 und auf der Y-Achse die Menge dieser Differenzen innerhalb der letzten 20.000 Fälle. Das heißt, bei in etwa 3000 der aktuell letzten 20.000 Fälle entsprach die Bewertung exakt der Vorhersage. In rund zwei Dritteln aller Fälle entspricht die Bewertung exakt der Vorhersage oder liegt nicht mehr als einen Punkt über oder unter der Vorhersage.

vergrößern

In der zweiten Grafik “prediction delta distribution over time” seht ihr diese kumulierten Abweichungen der Bewertung zur Vorhersage verteilt auf einer Zeitachse (und nebenbei wann ihr viele bzw. wenige Filme bewertet). Die dunkelblauen Balken des gestapelten Säulendiagramms zeigen die Menge (Y) der Fälle zum Zeitpunkt (X) an, bei denen die Differenz zwischen Vorhersage und erfolgter Bewertung kleiner als 1,0 war. Die helleren Balken zeigen die Menge (Δ < 2.5), bei denen diese Differenz größer als 1,0, aber kleiner als 2,5 war bzw. addiert alle Fälle, in denen die Abweichungen gleich Null oder kleiner als 2,5 sind. Die großen Abweichungen (Δ < 10.0), also Abweichungen von 2,5 und mehr, sind schließlich die ganz hellen Strichlein ganz oben, die teilweise kaum zu sehen sind (ein gutes Zeichen).

vergrößern

Was bedeutet die Umstellung für euch?
Nachdem unser altes Berechnungssystem in den letzten Wochen für einige teilweise oder sogar gar nicht mehr funktionierte, sollten alle von euch nun wieder Vorhersagen angezeigt bekommen, deren Berechnung nun schneller und zuverlässiger erfolgt. Gleichzeitig hat Zoltar alte Fehler beseitigt, wie z.B. diese Lücke in den Näheberechnungen zu anderen Usern, die jahrelang existierte. Infolge der neuen Berechnung habt ihr sicher kleinere und größere Veränderungen in den Geschmacksnähen zu anderen Nutzern bemerkt. Die alte Berechnung hat zahlreiche Faktoren geboostet, worauf wir bei Zoltars Berechnung vorerst verzichten. Daher sind die Nähewerte im oberen Bereich nun gefühlt ein klein wenig vorsichtiger bzw. niedriger eingeschätzt, während im unteren Bereich des Nähespektrums größere Sprünge (auch aufgrund der nicht mehr existierenden Lücke) nach oben stattgefunden haben. Zoltar ist übrigens zwar für alle aktiviert, aber erfolgt die neue Berechnung nur für tatsächlich aktive Accounts. Ihr müsst euch also in den letzten zwei Wochen einloggt und/oder bewertet haben, damit bei euch Zoltar läuft.

Noch ist die Umstellung nicht auf allen Bereichen der Seite abgeschlossen. So werden u.a. derzeit die Serienvorhersagen noch über das alte System bestimmt, ebenso wie die Vorhersagen in unserem Newsletter. Außerdem haben wir die Top 100 noch nicht an Zoltar angepasst. Hier werdet ihr also noch Fehler oder Diskrepanzen in den Werten bemerken. Wir überlegen überdies die Top 100 anders zu berechnen und zu gestalten, um sie transparenter und dynamischer zu machen. Falls ihr dazu Anmerkungen und Wünsche habt, schreibt dies bitte hier unten in die Kommentare.

Im Gegensatz zu unserem alten Berechnungssystem, können wir Zoltar in Zukunft noch mehr beibringen. Das bedeutet, dass wir, nachdem die Umstellung auf Zoltar gänzlich abgeschlossen ist und wir mit seinen Basisergebnissen zufrieden sind, uns anschauen möchten, was der Algorithmus noch so alles lernen kann. Unbedingt ausprobieren möchten wir, ob sich z.B. durch die Berücksichtigung von Genrepräferenzen, Präferenzen beim Alter des jeweiligen Films, sowie Fan-Markierungen bei Cast & Crew die Vorhersageergebnisse noch verbessern lassen. Das nur mal als Ausblick.

Ich hoffe wir konnten hiermit einige Fragen, zum neuen Berechnungssystem Zoltar und wie unsere Empfehlungsberechnung funktioniert, beantworten. Wir müssen Zoltar in Aktion selbst noch weiter besser kennenlernen und freuen uns daher sehr über euer konstruktives Feedback, das uns dabei helfen wird, unsere Empfehlungen weiter zu optimieren. Vielen Dank für eure Unterstützung!

Das könnte dich auch interessieren

Kommentare

Aktuelle News