Welchen Film soll ich heute Abend schauen? (Part-I)

04. September 2019

Haben Sie sich schon selbst diese Frage gestellt, als Sie nach einem langen Arbeitstag nach Hause kamen?

Heutzutage wollen viele Menschen Filme oder TV-Shows ihrer Wahl jederzeit und an jedem Ort schauen können.

Der 1999 als Online Video Shop gegründete Streaming-Dienst Netflix hat sich zu einem der größten Anbieter in der Welt der Online Streaming Services entwickelt. Er empfiehlt seinen 149 Millionen zahlenden Abonnenten täglich verschiedenste Filme. Haben Sie sich jemals gewundert, wie Netflix eine so große Menge an Vorschlägen handhabt?

 

 

Machine Learning heißt der magische Trick, der Benutzern hilft, Filme und Serien zu finden, die sie vielleicht noch nicht vorhatten zu sehen.

Um diesen Prozess besser zu verstehen, stelle ich Ihnen in diesem Blogpost vier verschiedene Typen von “Recommender Systems” vor, die genutzt werden können, um Filme oder TV Shows vorzuschlagen.

  1. Popularity-based Filtering
  2. Content-based Filtering
  3. Collaborative Filtering
  4. Hybrid Filtering

 

  1. “Popularity-based Filtering”: Dieses System basiert auf der Popularität der Filme. In diesem Fall werden die Anzahl und der Durchschnitt der Bewertungen aus der “Movie Database” (TMDb) genutzt, um Top-Filme Charts für jedes spezifische Genre zu generieren. Das IMDb Weighted Rating System dient dem Kalkulieren der Bewertungen, nach welchen letztendlich sortiert wird. Figur 1 zeigt populäre Filme basierend auf ihrer Stimmenzahl.

Figur 1: populäre Filme empfohlen nach Stimmenzahl

 

2   “Content-based Filtering”: Dieses System basiert auf der Ähnlichkeit der

Inhalte. Nehmen wir an, Alice gefällt der Film Aladdin, so werden ihr auch Filme gefallen, die Ähnlichkeit mit Aladdin haben, z.B. The Return of Jafar. Dieses System nutzt Informationen aus der Filmbeschreibung und Nutzerbewertungen, um Gemeinsamkeiten zwischen den Filmen zu finden.

 

Figur 2: Aladdin wird Alice empfohlen, ähnlich wie The Return of Jafar

 

3    “Collaborative Filtering”: Dieses System basiert auf dem

vergangenen Verhalten von Nutzern. Als Ausgangspunkt nimmt es die Ähnlichkeit der Präferenzen und Auswahl der Nutzer. So analysiert es den Geschmack des Nutzers. Es gibt zwei Arten gemeinschaftlicher Filterung, “memory-based” und “model-based”:

  • “Memory-based collaborative filtering”: Auch hier gibt es zwei Arten der Filterung:
    • “User-User Collaborative filtering”: Diese Filtermethode determiniert ähnliche Nutzer. Sie empfiehlt Alice Filme, die von ähnlichen Nutzern ausgewählt wurden (siehe Figur 3).
    • “Item-Item Collaborative filtering”: Diese Methode ähnelt dem “User-User Collaborative filtering”. Statt allerdings verschiedene Nutzer zu determinieren, werden hier ähnliche Filme determiniert (siehe Figur 4). Dies verbraucht weniger Ressourcen. Somit wird, sobald ein neuer Nutzer beitritt, viel schneller gefiltert, da die Suche nach Ähnlichkeiten zwischen den Nutzern hier nicht benötigt wird.

Figur 3: Alice wird “Der Hobbit” vorgeschlagen, da Alice und Bob den gleichen Geschmack bei Genres haben: beide mögen Abenteuer- und Fantasyfilme.

 

 

Das “Memory-based collaborative filtering” misst keine massiven Datenmengen, besonders nicht solche, die Benutzerverhalten behandeln.

 

Figur 4: Der Hobbit wird Alice vorgeschlagen, da der Hobbit und der Herr der Ringe eine deutlich größere Ähnlichkeit haben, als beide mit The Godfather.

 

  • Model-based Collaborative filtering”: Dieses System nutzt Machine Learning Algorithmen, um die Bewertung eines Nutzers vorherzusagen. Diese Methode wird vor allem von Systemen benutzt, da sie weitaus besser mit Skalierbarkeit und Seltenheit umgehen kann, als das “Memory-based collaborative filtering”.

 

4   “Hybrid Filtering”: Dieses Verfahren verbindet die Ideen des

“Content-based”- und “Collaborative Filtering”. Es schlägt dem Nutzer Filme basierend auf seiner geschätzten Bewertung , die speziell für diesen Nutzer berechnet wurde.

Solche Systeme helfen dabei, die richtige Entscheidung bei der Bereitstellung von Listen möglicher Optionen zu treffen, um jedem Nutzer eine personalisierte Erfahrung zuzusichern. Die Nutzung dieser Systeme wird im heutigen Alltag sehr kritisch betrachtet, sei es beim Filme schauen, Musik hören oder Online-Shopping. Mithilfe neuer Filter-Technologien, wie beispielsweise Hybrid-Filter, wird die Aufgabe, Empfehlungen anzuzeigen, von Tag zu Tag einfacher. Im nächsten Teil dieses Blogposts erkläre ich Ihnen den Prozess der Generierung verschiedener Filtersysteme mit Python im Detail.

devoteam

Contact

Dr.-Ing. Swati Chandna
Technical Consultant, Data Scientist