0

我是否可以在不重新计算相似度矩阵的情况下为具有相同项目集中项目偏好的新用户计算推荐,并从先前存在的用户评分中了解项目相似度矩阵?

4

1 回答 1

2

不使用 Mahout 推荐器。他们不能为不在训练集中的用户或项目推荐。

但是,您可以使用 Mahout 的 itemsimilairty 工作以及搜索引擎来完全按照您的描述进行操作。使用 itemsimilarity 创建 item-item 相似性的“指标”矩阵。使用 Solr 之类的东西来索引这些。我通过创建一个 (itemID0,itemID1 itemIDn...) 的 CSV 来做到这一点,每行都有一个 itemID 作为文档 ID 和一个空格分隔的 itemID 令牌列表。可能使用特定于应用程序的 ID,例如 SKU 或目录 ID。

然后对于搜索查询,使用新用户的历史记录,以项目 ID 标记(与您索引的相同)表示。即使用户不在训练数据中,您也会得到一个有序的推荐项目列表。

如果您使用 Mahout 1.0 快照,现在有一个 spark-itemsimilarity,它接收您的应用程序特定的 ID,并以您将提供给搜索引擎的确切格式输出相同的内容,因此您可能没有数据准备。但是通过一些准备和后期处理,您可以在 0.9 中使用 hadoop 版本的 itemsimilarity 做同样的事情

MapR 的 Ted Dunning 在“Practical Machine Learning”中描述了这种技术。您可以在他们的网站上免费获得它的副本,或者在 user@mahout.apache.org 邮件列表上询问它。

https://guide.finderbots.com上有一个使用这种技术构建的演示站点。您可以通过注册和浏览培训师页面来查看它的工作情况,然后检查您自己的建议——在您的输入和获得您的推荐之间没有重新计算指标。

于 2014-08-06T17:36:35.583 回答