© Excellent backgrounds/Shutterstock.com
Realisierung eines Empfehlungssystems

Andere Kunden kauften auch ...


„Das könnte Sie auch interessieren …“ oder „Andere Nutzer kauften auch …“ – wie oft trifft man auf diese oder ähnliche Formulierungen beim Einkaufen im Onlineshop seines Vertrauens. Aber woher weiß das Unternehmen, was mich interessiert, und wie lässt sich ein solches System ohne großen Aufwand umsetzen? Eine Lösung: Apache Mahout.

Mahout [1] ist ein kostenloses, quelloffenes, unter dem Dach der Apache Software Foundation entwickeltes Java- und Scala-basiertes Framework, das sich verschiedener Aspekte der Verarbeitung und Auswertung von Massendaten annimmt. Mahout stellt dabei eine Sammlung von Algorithmen für intelligente und lernende Systeme zur Verfügung. Die Themenblöcke Clusterbildung, Klassifizierung und kollaboratives Filtern werden von Mahout unterstützt und sollen in dieser dreiteiligen Artikelserie näher betrachtet werden.

Die Clusterbildung versucht Elemente in einer Datenbasis zu gruppieren, d. h. zum Beispiel Kunden zu Kundengruppen automatisch zuzuordnen. Bei der Klassifizierung werden Eigenschaften von Objekten untersucht, um die Objekte mit einer bestimmten Wahrscheinlichkeit einer Eigenschaft zuzuordnen, wobei das System selbst aus den Erfahrungswerten lernt. Ein klassisches Beispiel für die Klassifizierung ist die Erkennung von Spam in E-Mails. Innerhalb des kollaborativen Filterns werden Nutzerinteressen ausgewertet, um daraus Empfehlungen ableiten zu können. Für die Umsetzung von modernen Empfehlungssystemen greifen dabei oft alle drei Themen ineinander. Fachlich sollen die erhobenen Kundendaten effizient analysiert und ausgewertet werden, sodass einem Kunden intelligent die richtige Werbung oder richtige Empfehlung angezeigt wird. Am Ende sollen Privat- und Geschäftskunden mehr oder höherwertige Produkte kaufen. Die Abbildungen 1 und 2 zeigen eine durch Mahout erzeugte Produktempfehlung in IBM WebSphere Commerce. Die verwendeten Mechanismen sind jedoch unabhängig von dem eingesetzten E-Commerce-Framework und nicht auf E-Commerce-Szenarien beschränkt.

Die Artikelreihe fokussiert sich auf die aktuell verfügbaren in Java implementierten Algorithmen und die programmatische Ausführung selbiger. Für die meisten Algorithmen und Prozesse stehen auch Kommandozeilenaufrufe zur Verfügung, die hier jedoch nicht näher betrachtet werden sollen. In neueren Mahout-Versionen wird zusätzlich verstärkt Scala zum Einsatz kommen.

voigt_1.tif_fmt1.jpg
voigt_2.tif_fmt1.jpgAbb. 1 und 2: Produktempfehlungen

Mahout im Überblick

Zur Realisierung der verschiedenen Aufgaben bietet Mahout eine Vielza...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang