Elasticsearch: ein flexibles Plugin macht Metadaten in Empfehlungssystemen besser nutzbar

    |    Friday, der 24. August 2018


Der folgende Text ist der zweite Teil einer Serie von Tech-Blog Artikeln, die die Entwicklung eines Empfehlungssystems (Recommender Systems) beschreiben, das im Rahmen der Zusammenarbeit zwischen der EYZ Media GmbH und dem DAI-Labor (TU-Berlin) realisiert wurde.

Diese Blog-Serie dient dazu, Wissen und Erfahrungen über technische Lösungen auszutauschen sowie das transnationale Marketing, die Markenbildung und den Vertrieb europäischer audiovisueller Werke über VOD-Dienste zu unterstützen.

Empfehlungssysteme helfen Nutzern beim Finden interessanter Informationen und “Items”. Stark vereinfacht gibt es zwei verschiedene Methoden zum Berechnen von Empfehlungen. Zum einen gibt Kollaborative Empfehlungsalgorithmen: Diese empfehlen Nutzern Objekte auf der Basis von Bewertungen (oder Benutzer-Item-Interaktionen, die Präferenzen beschreiben). Voraussetzung für den Einsatz dieser Algorithmen ist es, dass hinreichend viele Bewertungen bzw. Nutzer-Item-Interaktionen für (möglichst viele) Nutzer und Items verfügbar sind.
Eine Alternative zu den Kollaborativen Ansätzen stellen inhaltsbasierte Empfehlungsalgorithmen dar. Inhaltsbasierte Empfehlungsdienste nutzen die Beschreibungen (Metadaten) der Items. Sie benötigen keine Informationen zu Benutzer-Item Interaktionen. Daher tritt bei inhaltsbasierten Recommender-Algorithmen das „Cold-Start-Problem“ nicht auf. Das Cold-Start-Problem beschreibt die Eigenschaft Kollaboratativer Algorithmen, dass nur dann gute Ergebnisse ermittelt werden können, wenn ausreichende Informationen zu Bewertungen und Nutzer-Item-Interaktionen verfügbar sind. Kollaborative Algorithmen können daher für neue Nutzer keine guten Empfehlungen ermitteln. Zudem können für neue Items (für die noch keine Bewertungen vorliegen) von kollaborativen Algorithmen keine Relevanzbewertungen ermittelt werden.

Sorgfältige betreute „Video on Demand“ Plattformen verfügen über eine große Menge strukturierter Metadaten. Diese umfangreichen Metadaten bilden eine gute Grundlage für die Berechnung inhaltsbasierter Empfehlungen. Der VOD-Service realeyz stellt die Metadaten sowohl für die Nutzer als auch für den Entwickler strukturiert zur Verfügung. Die redaktionelle Pflege und die gute Strukturierung der Daten garantieren eine hohe Datenqualität sowie eine vollständige Abdeckung der relevanten Videos. Im Vergleich zu Nutzergenerierten Inhalten (User Generated Content / UGC), wie bei der Videostreaming Plattform YouTube, weisen die redaktionell gepflegten Daten eine höhere Verlässlichkeit und Vollständigkeit auf. Die Metadaten stellen daher eine gute Grundlage für den Einsatz von inhaltsbasierten Algorithmen dar, sowohl für die Berechnung von Video-Video-Beziehungen („More-Like-This“) als auch Nutzer-Video-Beziehungen (Videos, die zum jeweiligen Profil passen).

Das folgende Beispiel zeigt ausgewählte Metadaten, die für Videos der realeyz Plattform verfügbar sind.

Titel
Synopsis
Schauspieler
Regie
Festivals
Musik

Um die große Anzahl und Vielfalt an Metadaten flexibel und effizient verarbeiten zu können, sind geeignete Werkzeuge wichtig. Im Rahmen der entwickelten Empfehlungskomponente wird Elasticsearch eingesetzt. Elasticsearch basiert auf der Technologie von Apache Lucene und stellt Methoden zur hochskalierbaren Dokumentensuche bereit. Die „Dokumente“ (im betrachteten Szenario Filme) können dabei durch vielfältige Attribute beschrieben werden. Elasticsearch bietet dabei flexible Methoden für das Finden von relevanten Videos sowie das Ermitteln von Videos mit einer großen Ähnlichkeit zu einer vorgegebenen Menge von Filmen (More-Like-This-Suche). Die Nutzung von Elasticsearch ermöglicht es, dass sich die Entwickler auf die Definition von Szenario-spezifischen Ähnlichkeiten zwischen Videos konzentrieren können; die technischen Aspekte (Skalierbarkeit, Effizienz) werden von Elasticsearch sichergestellt.
Die entwickelte Recommender-Lösung nutzt Elasticsearch als Kernkomponente des inhaltsbasierten Empfehlungssystems. In Abhängigkeit vom jeweiligen Szenario werden geeignete Elasticsearch-Anfragen generiert, die jeweils passende Videos, nach Relevanz sortiert, ermitteln. Da alle notwendigen Daten effizient durch Elasticsearch verwaltet werden, wird keine traditionelle relationale Datenbank mehr benötigt. Dies verbessert die Skalierbarkeit und reduziert die Antwortzeit des Systems. Abbildung 1 beschreibt die Architektur des Inhaltsbasierten Empfehlungsdienst sowie dessen Schnittstelle zum Realeyz App-Server, der realeyz Filmdatenbasis und dem AWS Elasticsearch Service.
content-based recommender

Dank der flexiblen Abfragesyntax von Elasticsearch, können Volltext-basierte, Objekt-basierte und Nutzer-basierte Empfehlungsanfragen ohne zusätzliche Komponenten durchgeführt werden. Volltext-basierte Empfehlungsanfragen nutzen als Parameter eine textuelle Beschreibung. Diese wird entweder vom Nutzer vorgegeben oder maschinell erstellt. Das Ergebnis beinhaltet die relevanten Informationen zu den Filmen, die am besten zur Anfrage passen. Eine Objekt-basierte Empfehlungsanfrage erhält als Argumente eine oder mehrere „Objekt-IDs“. Diese werden an eine „More-Like-This“-Suchanfrage weitergeleitet, welche die am besten passenden „Objekt-IDs“ ermittelt. Analog zu Objektbasierten Empfehlungsanfragen wird bei der Nutzer-basierten Empfehlungsanfrage eine „More-Like-This“-Suchanfrage genutzt. Der Unterschied besteht darin, dass eine Eingabe für die „More-Like-This“-Suchanfrage generiert wird. Bei der Objekt-basierten Empfehlungsanfrage wird diese explizit durch den Entwickler erstellt. Im Gegensatz dazu, wird bei der Nutzerbasierten Empfehlungsanfrage diese Eingabe auf Basis des Benutzerverhaltens implizit generiert.

Die im Projekt durchgeführten Tests zeigen, dass die auf der Basis von Elasticsearch realisierte Empfehlungskomponente die Erwartungen erfüllt. Es werden effizient und zuverlässig dem Benutzer (nachvollziehbar) gute Empfehlungen bereitgestellt.

Über die Autoren:

Andreas Lommatzsch arbeitet als Senior Researcher am Distributed Artificial Intelligence Lab (DAI-Labor) der TU Berlin. Seine Forschungsschwerpunkte sind verteiltes Wissensmanagement und maschinelle Lernalgorithmen. Seine Hauptinteressen liegen in den Bereichen Empfehlungen auf Basis von Datenströmen und kontextabhängigen Meta-Empfehlungsalgorithmen.

Jing Yuan ist Doktorandin am Distributed Artificial Intelligence Lab (DAI-Labor) der TU Berlin. Ihr Forschungsinteresse umfasst Empfehlungssysteme, Information Retrieval Systeme sowie Algorithmen des maschinellen Lernens.

Phani Saripalli arbeitet als Dateningenieur bei der EYZ Media GmbH (Betreiber von realeyz.de) und koordiniert das Projekt vor Ort. Er ist spezialisiert auf den Aufbau von Data Pipelines und Data Wrangling. Er arbeitet mit Redis, AWS, Airflow, Flask, Python und Postgres, um sicherzustellen, dass Daten von der Rohform in aufschlussreiche Inhalte umgewandelt werden.

Khalit Hartmann (Bachelor of Computer Science) arbeitet am Distributed Artificial Intelligence Lab (DAI-Labor) der TU Berlin. Zu seinen aktuellen Forschungsgebieten gehören Empfehlungssysteme, die die Analyse natürlich-sprachlicher Texte und Algorithmen des maschinellen Lernens kombinieren.