[PYTHON] [Empfehlung] Inhaltsbasierte Filterung und kooperative Filterung

Über das Empfehlungssystem

Das Empfehlungssystem wählt Objekte, Informationen, Produkte usw. aus, die für den Benutzer als nützlich angesehen werden. Es ist ein System, das es in einer Form präsentiert, die dem Zweck des Benutzers entspricht. In den letzten Jahren wurde es in vielen Webdiensten wie Amazon implementiert und ist vielen Menschen bekannt geworden.

Es scheint, dass Amazon und andere ein Empfehlungssystem aufbauen, indem sie mehrere komplizierte Algorithmen kombinieren. Dieses Mal werden wir jedoch ** inhaltsbasierte Filterung ** und ** kooperative Filterung ** zusammenfassen, die die Grundlage für die Abgabe von Empfehlungen bilden.

Inhaltsbasierte Filterung

Dies ist eine Methode zum Suchen und Empfehlen ähnlicher Produkte anhand der Tag-Informationen von Produkten, die von einem Benutzer gekauft wurden. Basierend auf den Tag-Informationen des vom Benutzer gekauften Produkts sammeln wir die Felder, an denen der Benutzer interessiert ist, suchen nach ähnlichen Produkten und schlagen sie vor.

slide1.PNG

Mit dieser Methode können Sie verschiedene Empfehlungen basierend auf Tag-Informationen abgeben. Sie haben jedoch den Nachteil, dass Sie das Produkt markieren müssen, das Sie empfehlen möchten. Beispielsweise wird "Einführung Python3" im obigen Bild empfohlen, nachdem ein anderes Python-Buch verkauft wurde, da das Tag "#python" zum Zeitpunkt der Produktregistrierung hinzugefügt wurde. Ohne das Tag "#python" wird es nicht empfohlen. Sie müssen auch überlegen, ob das Tag "#python" überhaupt geeignet ist. Es ist notwendig, das Etikett mit detailliertem Marketing unter Berücksichtigung des Geschmacks des Benutzers zu gestalten. Infolgedessen ist die inhaltsbasierte Filterung zeitaufwändig und kostspielig.

Kooperative Filterung

Suchen Sie basierend auf dem Verhaltensverlauf des Benutzers usw. ** Benutzer mit ähnlichen Kaufmustern und empfehlen Sie Produkte **. Derzeit gibt es eine Funktion, bei der die Eigenschaft des Elements, die Tag-Informationen usw. überhaupt nicht berücksichtigt werden.

slide2.PNG

Im obigen Bild ist zunächst nicht jedes Produkt mit einem Tag versehen. Die Datenbank zeichnet auch Informationen darüber auf, welche Produkte jeder Benutzer in der Vergangenheit gekauft hat. Wählen Sie dann Benutzer mit hoher Ähnlichkeit aus der Kaufhistorie jedes Benutzers aus. (Im Beispiel wird nur ein ähnlicher Benutzer ausgewählt.) Infolgedessen empfiehlt Herr A die Produkte, die Herr D, der eine ähnliche Kaufpräferenz wie Herr A hat, in der Vergangenheit gekauft hat. Da die Kaufhistorie des Benutzers die Achse ist, sind keine Tag-Informationen für jedes Produkt erforderlich.

Die Co-Filterung hat jedoch den großen Nachteil, dass Produkte, die von niemandem gekauft werden, nicht empfohlen werden.

Hybridfilterung

Inhaltsbasiertes Filtern, Co-Filtern und praktischer Gebrauch haben jeweils große Nachteile. Daher ist es beim Aufbau eines Systems üblich, ein Empfehlungssystem zu erstellen, indem die guten Punkte jeder Filterung kombiniert werden. Diese werden als Hybride bezeichnet.

Recommended Posts

[Empfehlung] Inhaltsbasierte Filterung und kooperative Filterung
[Empfehlung] Zusammenfassung der Vor- und Nachteile der inhaltsbasierten und kooperativen Filter- / Implementierungsmethode
Ich habe versucht, Co-Filtering (Empfehlung) mit Redis und Python zu implementieren
Versuchen Sie, inhaltsbasierte Filterung oder Dokumentempfehlungen zu implementieren
Filmempfehlung mit Co-Filterung von Spark MLlib
Co-Filterung mit PySpark
Koordinierte Filterung mit Hauptkomponentenanalyse und K-Mittel-Clustering
Denken Sie an Spezifikationen für die Entwicklung von Co-Filtering-Empfehlungs-Engines
Benutzerbasierte Co-Filterung mit Python