12

Chcę użyć Apache Mahout w moim projekcie na Ruby on Rails do implementacji zaleceń i filtrowania grupowego. W szczególności moje wymagania są następujące:Mahout Plugin do ruby ​​na szynach

  1. proponowanie powiązanych tagów.
  2. proponowanie powiązanych artykułów.
  3. na podstawie preferencji użytkownika monituje go o sprawdzenie artykułów.
  4. na podstawie położenia geograficznego i innych informacji meta użytkownika, sugerują mu podobnych użytkowników.

Jestem otwarty na użycie dowolnego innego rozwiązania (innego niż kowalskie), jeśli łatwo integruje się z szynami i spełnia moje wymagania.

+0

Filtrowanie grupowe nie jest szczególnie długim algorytmem do wdrożenia. Możesz poświęcić znacznie mniej czasu na implementację algorytmu, niż na próbę zmuszenia go do pracy z rubinem na szynach. – Steve

Odpowiedz

6

Dla tego, co jest warte, moduł "smaku sieci" Mahouta zawiera skrypty, które zbudują gotową do użycia usługę sieciową wokół opartego na języku Java Recommender, jako plik .war, który można wdrożyć na serwerze Tomcat , a następnie rozmawiać przez HTTP. Byłoby to dostępne z dowolnej platformy, która może wysyłać żądania HTTP.

http://lucene.apache.org/mahout/taste.html#Standalone+server

7

Kornak (i ​​Hadoop) działa całkiem dobrze w szynach prowadzących na JRuby. Możesz dołączyć Hadoop i Kornak słoiki tak:

require 'rubygems'
require 'java'

Dir [ "/ Kornak-base-dir/**/* jar."]. każdy {| jar | require jar}
Dir ["/ hadoop-base-dir/**/*. jar"] each {| jar | wymagają jar}

Następnie można dołączyć klas Kornak planujesz używać, na przykład:

include_class 'org.apache.hadoop.fs.Path'
org.apache include_class” .hadoop.conf.Configuration '
include_class 'org.apache.hadoop.fs.FileSystem'
include_class 'org.apache.mahout.clustering.spectral.common.AffinityMatrixInputJob org.apache.mahout.clustering'
include_class' .widmowy .kmeans.SpectralKMeansDriver”

Stamtąd można śledzić konwencje Kornak Java Docs i JRuby do budowy szyn systemowych rec.

Biorąc to pod uwagę, nie jestem pewien, czy byłaby to najlepsza architektura witryny (trudno powiedzieć bez większej szczegółowości). Jeśli twoja skala problemu jest wystarczająco duża, aby uzasadnić Mahout, prawdopodobnie bardziej sensowne będzie używanie Railsów tylko do rzeczy internetowych i generowanie twoich rekomendacji poza strukturą sieci (na przykład przez tworzenie pokrewieństw w nocnych partiach, itp.).

Powiązane problemy