2012-11-28 7 views
15

Ich habe gelesen über die Verwendung von Solr und Mahout für die Entwicklung von Empfehlungssystemen.Empfehlung Systeme mit Solr und Mahout

Wie ich verstanden habe, behandelt sie zwei verschiedene Probleme.

  1. Da Solr ist eine Suchmaschine + Klassifikationssystem wird hauptsächlich für Empfehlungen verwendet wie „ähnliche“ in Drupal - http://jamidwyer.com/d7/node/21.

(oder "Verwandte" -Funktion in Stackoverflow)

  1. Im Falle von Mahout, es implementiert Maschinenlernalgorithmen wie Collaborative Filtering.It können verwendet werden implementieren Features wie Vorschläge in Amazon basierend auf den vorherigen Aktionen. (mag, kaufte Artikel)

Meine Fragen,

Sind sie verwendet, um zwei unterschiedliche Probleme zu lösen?

Können sie integriert werden?

Ich lese Mahout funktioniert offline und skalierbar. Bedeutet das, dass Solr nicht skaliert werden kann?

+0

warum zum Schließen gestimmt? Ich bin mir sicher, das ist eine allgemeine architektonische Frage, die jemand neu zu Solr und Mahout –

+0

Es ist keine schlechte Frage per se, nur nicht eine gute Passform für SO. –

Antwort

3

Sie haben Recht, sie adressieren zwei verschiedene Probleme und bisher habe ich keine existierende Integration gesehen/gefunden, die sofort funktionieren würde.

Sie können die Mahout-Klassifikationsergebnisse verwenden, um Ihren indizierten Dokumenten weitere Informationen hinzuzufügen, die dann für Booster-Zwecke verwendet werden können.

In Bezug auf Ihre letzte Antwort - Solr kann skalieren, mit der gerade veröffentlichten Version 4.0 kann es sogar besser skalieren als vorher. Aber es löst einen anderen Zweck und skaliert gut dafür.

Sie Frage ist ein bisschen unspezifisch, so hoffe ich, dass dies in gewisser Weise hilft.

Prost

11

Dies sind verschiedene Tools für verschiedene Probleme. Solr gibt keine Empfehlungen, schlägt ähnliche Dokumente vor, die auf Inhalten basieren. Dies ist nicht personalisiert in dem Sinne, dass es sich nicht auf den Benutzer bezieht. Es ist sehr gut in diesem speziellen Problem.

Taste/Mahout sind für kollaborative Filterung, die nicht spezifisch für Dokumente oder andere Dinge ist, und unterscheidet sich entscheidend in den "ähnlichen Elementen" und Empfehlungen basieren auf Benutzer-Element-Interaktionen, nicht Elementeigenschaften.

Beide skalieren gut, je nachdem, was Sie brauchen und meinen. Es gibt keinen Grund, Solr zu zweifeln.

In Bezug auf Mahout und Empfehlern, kurz, es hat zwei Stücke. Ein Stück (Taste) ist Echtzeit, nicht Hadoop-basiert und skaliert, um Datenmengen (vielleicht 10M Datenpunkte) auf einem Rechner zu moderieren. Mahout fügt dann eine Hadoop-basierte Nicht-Echtzeit-Batch-Implementierung hinzu, die größer skaliert werden kann. (Ad: Ich bin der Hauptautor des oben genannten und bin bei der Arbeit an einem Next-Gen-System auf der Basis von beiden unter der Bezeichnung Myrrix. Es wird ansprechen, wenn Sie an skalierbaren und Echtzeit-Mahout-Stil-Empfehlern interessiert sind.)

Wenn Sie an einer Firma interessiert sind, die eine Plattform basierend auf dem oben genannten, einschließlich Solr, zusammenstellt, sollten Sie sich NGDATA ansehen.

2

Wenn Sie bereit sind, sich die Hände schmutzig zu machen, können Sie tatsächlich Solr + Collaborative Filtering verwenden, um ein wirklich süßes, suchbewusstes Empfehlungssystem zu erstellen. Das heißt, bei einer Suche S und der Kaufhistorie des Suchers P_i gegeben und die Kaufhistorie aller anderen P_j wo j≠i. Dann können Sie Ergebnisse zurückgeben, die der Suche S entsprechen, die aber basierend auf Elementen, die der Sucher wahrscheinlich auf Basis ähnlicher Benutzer verwenden würde, verstärkt werden.

Hier ist ein Blog-Post, die ich schrieb, dass Sie in die richtige Richtung zeigen könnte: http://opensourceconnections.com/blog/2013/10/05/search-aware-product-recommendation-in-solr/

+0

Sehr gute Blogpost lesen. –