Empfehlungsgenerierung mit Elasticsearch
Masterthesis von Anna Roes, 30.03.2015
Empfehlungen basieren häufig auf der Beobachtung von auffälligen Gemeinsamkeiten einer bestimmten Gruppe von Personen („Wer A mag, mag auffällig oft auch auch B“). Zur Aufdeckung dieser Gemeinsamkeiten und der darauf aufbauenden Generierung von Empfehlungen können auch Technologien zum Einsatz kommen, an die man in diesem Kontext zunächst einmal gar nicht denkt.
In ihrer Masterthesis verknüpft inovexlerin Anna Roes das Forschungsgebiet Recommender-Systeme mit der aktuell viel beachteten und im industriellen Umfeld beliebten Open-Source-Suchmaschine Elasticsearch.
Elasticsearch ist für den Einsatz auf verteilten Systemen gebaut und erlaubt es, große Datenmengen nahezu in Echtzeit zu verarbeiten. Eingesetzt wird Elasticsearch sowohl zur Volltextsuche, als auch zur Suche in strukturierten Daten und zu Analysezwecken.
Auch Suchwortvervollständigung, Vorschläge („Meinten Sie vielleicht…“) und die Anzeige verwandter Einträge lassen sich mit Elasticsearch umsetzen und werden häufig verwendet. In vielen Anwendungskontexten sind darüber hinaus personalisierte Empfehlungen wünschenswert und für die Anbieter der entsprechenden Dienste wäre es natürlich von Vorteil, wenn sich ein solches Empfehlungssystem direkt mit Elasticsearch und möglichst ohne großen Aufwand als Plug-and-Play-Lösung umsetzen ließe. Wie sich dies erreichen lässt, ist das Thema dieser Masterthesis.
Inhalt:
Recommender-Systeme
- Grundlagen: Terminologie, Taxonomie von Recommendersystemen, Funktionen, Modellierung
- Methoden: Nicht-personalisierte Empfehlungen, Inhaltsbasierte Empfehlungen, Kollaboratives Filtern, Demographische Ansätze, Wissensbasierte Ansätze, Gemeinschaftsbasierte Ansätze, Hybride Ansätze
- Kaltstartprobleme
- Stand der Technik – Wie arbeiten bekannte Recommendersysteme? Beispiele: Filmempfehlungen bei Netflix, Produktempfehlungen bei Amazon
Elasticsearch
- Grundlagen: Anbindung und Schnittstellen, Datenhaltung und -verteilung
- Suche: Strukturierte Suche, Volltextsuche, Scoring
- Aggregationen: Funktionsweise, Die Significant-Terms-Aggregation
- Umsetzung eines einfachen Recommender-Plugins für Elasticsearch: Grundidee, Aufbau des Plugins (Konfiguration von Recommendern, Anzeige von Recommendern, Abfrage von Empfehlungen)
- Skalierbarkeit
Evaluationsgrundlagen
- Datensätze (Ausgangsdatensatz, Testdatensatz mit Aufteilung 80-20, All-But-20-Datensatz)
- Zu vergleichende Ansätze (Significant Terms, Terms, Taste-Plugin)
- Qualitätsmaße (Datenlage, Precision, Recall, False Positive Rate, Weitere Maße)
Evaluation
- 80-20-Testset (Precision, Recall, Echte False Positives, Anteil bekannter Filme, Korrigierte Präzision, All-But-20-Testset, Vergleich der Listen ähnlicher Filme (Empfehlungsgenerierung, Korrekturauswirkungen Significant-Terms-Empfehlungen, Vergleich von Terms- und Significant-Terms-Empfehlungen, Vergleich mit Taste-Empfehlungen)