Welche Aspekte müssen bei der Einführung von Empfehlungssystemen beachtet werden? Welche Algorithmen kommen zum Einsatz und welcher Recommender ist das Tool der Wahl für welchen Anwendungsfall? Während mein Kollege Dr. Timo Böhm in Teil 1 der Recommendation-Systems-Reihe die Motivation und Grundlagen von Empfehlungssystemen erklärt, widmet sich dieser Beitrag einem algorithmischen Überblick und soll als Entscheidungshilfe für den Einsatz von Empfehlungssystemen dienen. In Teil 3 schließlich werfen wir einen Blick auf die Themen Personalisierte Empfehlungssysteme, Machine Learning und Evaluation.
Auswahl der einzusetzenden Recommender Systems
Ist die Entscheidung getroffen, ein Empfehlungssystem im Unternehmen einzuführen, gilt es im nächsten Schritt, basierend auf dem Business Value für das jeweilige Unternehmen, die Art des Recommenders auszuwählen. In der Praxis hat sich gezeigt, dass es oftmals sinnvoll ist, nicht nur ein, sondern mehrere Empfehlungssysteme mit unterschiedlicher Funktionalität einzusetzen. Besonders häufig sieht man dies zum Beispiel auf den Webseiten einiger E-Commerce Anbieter.
Es gibt unterschiedliche Arten von Empfehlungssystem-Klassifikationen. Am intuitivsten ist die Unterscheidung nach dem Zweck für den Kunden.
Wichtige Arten von Empfehlungen sind:
- Vorschläge zusätzlicher Items, die für ein Produkt sinnvoll sind. So wird dem Käufer eines Smartphones beispielsweise die passende Hülle oder Schutzfolie für sein neues Gerät angeboten. Diese Art kann auch das Cross- und Upselling erhöhen.
- Alternative Vorschläge für ein gegebenes Item. Dies ist vor allem eine Entscheidungshilfe für Kunden, die sich wiederholt Produkte wie beispielsweise eine Waschmaschine oder Dienstleistungen wie den Mobilfunkvertrag angesehen, bisher aber noch keinen Kauf getätigt haben. Der Vorschlag weiterer ähnlicher Produkte kann den Entscheidungsprozess unterstützen.
- Hinweise auf bereits angesehene Produkte, die noch nicht gekauft wurden oder Erinnerungen zum regelmäßigen Wiederkauf von Konsumartikeln, wie beispielsweise Nahrung oder Rasierklingen.
- Personalisierte Empfehlungen, die eine Vielzahl von Faktoren einbeziehen können und, basierend auf deren Nutzerverhalten, die Präferenzen von Kunden erlernen. Hört ein User zum Beispiel auf einem Musik-Streamingdienst meist Rock-Titel, werden ihm auch vorrangig Lieder dieses Genres vorgeschlagen. Tippt er aber im aktuellen Visit plötzlich „Mozart“ in die Suchleiste, lernt das System weitere Interessen dazu und schlägt ihm zusätzlich einzelne klassische Stücke vor – entweder im Wechsel mit Rock-Songs oder gegliedert nach Genre.
Die nachstehende Grafik demonstriert die Empfehlungsarten 1 - 3 anhand eines Nutzers, der zuletzt ein Handy betrachtet hat. Für den Handykauf bietet sich die Empfehlung eines passenden Kabels an (1.). Es ist aber auch sinnvoll, alternative Handys zu präsentieren (2.). Da der Nutzer sich in der vorangegangenen Session für Mixer interessiert hat – jedoch ohne einen zu kaufen – ist aber auch eine Erinnerung daran oder die Empfehlung weiterer Mixer ratsam (3.). Personalisierte Empfehlungen werden anhand der Grafik im nächsten Blogpost erläutert.
Algorithmen und deren Umsetzung
Die Komplexität der Implementierung hängt neben dem Algorithmus selbst zu einem großen Teil von der vorhandenen IT-Infrastruktur ab. In der Regel machen die Anbindung und die Aufbereitung der Daten sowie die Einbindung in das Live System (z. B. via API) den größten Aufwand aus. Nachfolgend werden exemplarisch einige Verfahren vorgestellt:
„Häufig zusammen gekaufte Produkte“
Für die erste Art in obiger Liste, die oft als „häufig zusammen gekaufte Produkte“ umschrieben wird, können als einfache Lösung Methoden der Warenkorbanalyse bzw. Assoziationsregeln zum Einsatz kommen, die sich mit geringem Aufwand realisieren lassen. Der Apriori-Algorithmus bietet zum Beispiel eine effiziente Lösung. Da zeitlich voneinander getrennte Transaktionen des gleichen Users völlig andersartige Items aufweisen können, werden die Daten bei diesem Algorithmus auf Session-Ebene betrachtet. Jedoch sind einige Erweiterungen dieser Art möglich, zum Beispiel auf zu einem späteren Zeitpunkt gekaufte Produkte (wie größere Größen von Kinderkleidung).Einfache Sequence- und Clickstream-basierte Verfahren
Einfache Sequence- und Clickstream-basierte Verfahren sind der ersten Art grundsätzlich sehr ähnlich. Im Falle von zu wenigen Transaktionsdaten können zunächst über ein Attribute Matching (wie im nächsten Punkt beschrieben) zu einem gegebenen Item gleichartige Items empfohlen werden. Dies lässt jedoch einige Faktoren außer Acht, wie zum Beispiel die Popularität bei den Kunden sowie Alternativprodukte, die sich in der Art unterscheiden (wie ein Thermomix statt eines Dampfkochgarers). Diese Produktalternativen lassen sich identifizieren, wenn man die weitere Customer Journey des Kunden genauer analysiert. Im Gegensatz zu den häufig zusammen gekauften Produkten, bei denen die Daten über Aktionen (wie Käufe aus einem ERP System oder das Abspielen von Videos oder Songs) ausreichen, benötigt man für Sequence- und Clickstream-basierte Verfahren den kompletten Clickstream Log, wofür oftmals mehr Ressourcen notwendig sind. Hierfür kann der Einsatz von Big-Data-Technologien wie Spark sinnvoll sein. Es können entweder einfache sequenzielle Assoziationsverfahren verwendet werden, mit denen Items identifiziert werden, für welche anschließend eine Aktion erfolgt ist. Oder aber komplexere Machine-Learning-Methoden, wie sie im nächsten Blogpost besprochen werden.Content-basierte Ansätze
Oft als Zusatz zur Ermittlung von häufig zusammen gekauften Produkten kommen Content-basierte Verfahren zum Einsatz. Vor allem wenn nur wenige Daten verfügbar sind (Data Sparsity), zum Beispiel wegen zu wenigen Käufen, sind diese Methoden hilfreich. Dies kann zum Beispiel durch ein Matching von Produktattributen erfolgen. Sind diese im Produktmanagementsystem des jeweiligen Unternehmens nicht vorhanden, so können sie oftmals aus den Produktbeschreibungen in Textform extrahiert werden. Dafür eignen sich beispielsweise Methoden der Information Extraction aus dem Natural Language Processing. Auch aufwändigere Deep Learning Ansätze (so wie RNNs und Attention Models) haben in diesem Fall Potential. Last but not least gibt es auch Ansätze, die in analoger Weise User-Attribute berücksichtigen.
Für diese Arten von Empfehlungssystemen sind keine Kenntnisse über den aktuellen Nutzer erforderlich. Das heißt, sie funktionieren auch für anonyme User, die auf einer Website surfen. In Teil 3 unserer Blogserie zu Recommender Systems werden wir uns mit Algorithmen für personalisierte Empfehlungssysteme befassen.