Ruby on rails RubyonRails的Mahout插件
我想在RubyonRails上的项目中使用ApacheMahout来实现推荐和协作过滤。我的具体要求是:Ruby on rails RubyonRails的Mahout插件,ruby-on-rails,ruby-on-rails-plugins,recommendation-engine,mahout,Ruby On Rails,Ruby On Rails Plugins,Recommendation Engine,Mahout,我想在RubyonRails上的项目中使用ApacheMahout来实现推荐和协作过滤。我的具体要求是: 建议相关标签 建议相关文章 根据用户的偏好提示他审阅文章 根据用户的地理位置和其他元信息,向他推荐类似的用户 如果它能够轻松地与rails集成并满足我的要求,我愿意使用任何其他解决方案(mahout除外) 值得一提的是,Mahout“taste web”模块包含的脚本将围绕基于Java的推荐程序构建一个随时可用的web服务,作为一个.war文件,可以部署在Tomcat之类的东西上,然后通过H
如果它能够轻松地与rails集成并满足我的要求,我愿意使用任何其他解决方案(mahout除外) 值得一提的是,Mahout“taste web”模块包含的脚本将围绕基于Java的推荐程序构建一个随时可用的web服务,作为一个.war文件,可以部署在Tomcat之类的东西上,然后通过HTTP与之通信。可以从任何可以发出HTTP请求的平台访问 Mahout(和Hadoop)在JRuby上运行的Rails中运行得非常好。您可以包括Hadoop和Mahout JAR,如下所示: 需要“rubygems”
需要“java”
Dir[“/mahout base Dir/***.jar”]。每个{jar | require jar}
Dir[“/hadoop base Dir/***.jar”]。每个{jar | require jar}
然后可以包括您计划使用的Mahout类,例如: 包括_类“org.apache.hadoop.fs.Path”
包括_类“org.apache.hadoop.conf.Configuration”
包括_类“org.apache.hadoop.fs.FileSystem”
包括_类“org.apache.mahout.clustering.spectrum.common.AffinityMatrixInputJob”
包括_类“org.apache.mahout.clustering.spectral.kmeans.SpectralKMeansDriver”
从那里,您可以按照Mahout Java文档和JRuby约定构建Rails rec系统
话虽如此,我不确定这是否是你网站的最佳架构(没有更多细节很难说)。如果您的问题规模足够大,足以让Mahout负责,那么将Rails仅用于web内容,并在web框架之外生成您的建议(例如,通过在夜间批量生成亲缘关系等)可能更有意义 协同过滤不是一个特别长的算法来实现。与使用RubyonRails相比,您可能只需实现该算法所花费的时间要少得多。