Mahout Plugin for ruby​​ on rails

vik*_*kum 12 recommendation-engine ruby-on-rails ruby-on-rails-plugins mahout

我想在Ruby on Rails上的项目中使用Apache Mahout来实现建议和协作过滤.特别是我的要求是:

  1. 建议相关标签.
  2. 提出相关文章.
  3. 根据用户的偏好提示他审阅文章.
  4. 基于地理位置和用户的其他元信息,建议他类似的用户.

如果它可以轻松地与rails集成并满足我的要求,我愿意使用任何其他解决方案(除了mahout).

Jus*_*n C 7

Mahout(和Hadoop)在JRuby上运行的Rails中运行良好.你可以像这样包括Hadoop和Mahout罐子:

要求'rubygems'
需要'java'

Dir ["/ mahout-base-dir/**/*.jar"].每个{| jar | require jar}
Dir ["/ hadoop-base-dir/**/*.jar"].每个{| jar | 要求jar}

然后,您可以包含您计划使用的Mahout课程,例如:

include_class代码'org.apache.hadoop.fs.Path'
include_class代码'org.apache.hadoop.conf.Configuration'
include_class代码'org.apache.hadoop.fs.FileSystem'
include_class代码"org.apache.mahout.clustering.spectral.common. AffinityMatrixInputJob'include_class'org.apache.mahout.clustering.spectral.kmeans.SpectralKMeansDriver
'

从那里,您可以按照Mahout Java Docs和JRuby约定来构建您的Rails rec系统.

话虽如此,我不确定这将是您网站的最佳架构(很难说没有更多细节).如果您的问题规模足够大以保证Mahout,那么将Rails用于Web内容可能更有意义,并在Web框架之外生成您的建议(例如通过在每晚批量生成亲和力等).


Sea*_*wen 6

对于它的价值,象夫"味道的Web"模块中包含的脚本,将围绕一个基于Java的推荐者随时可以使用的Web服务,你可以像Tomcat的部署.war文件,然后再谈通过HTTP.这可以从任何可以发出HTTP请求的平台访问.

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