Apache Mahout 基于用户的推荐结果的顺序是不确定的

Order of Apache Mahout User-Based Recommender Results is non-deterministic

目前,我正在实施来自 Mahout 的基于用户的推荐系统,请参阅 http://mahout.apache.org/users/recommender/userbased-5-minutes.html

最初,我认为我可以实现某种分页:用户查询第一页并获取前 N 项,他们查询第二页并获取下 N 项,依此类推。由于 Mahout 不提供这样的功能,我想通过查询第 1 页上的 N 个项目、第 2 页上的 2*N 个项目等来解决,然后只 return 对查询正确的项目页。

但是,当我 运行 推荐系统有例如 10 个项目,而在下一个查询中我 运行 推荐系统有 20 个项目,那么 顺序 returned 列表不同(这让我无法分页)。这怎么可能?用相同的数据查询时不应该 return 相同的结果吗?

注意:基础数据没有改变。

大多数推荐系统都有一个随机过程,用于对用于计算模型的数据进行下采样,使其复杂度为 O(n)。如果您希望下采样具有确定性,您可以提供固定的 RNG 种子值。如何执行此操作取决于您使用的推荐系统的包装。

您使用的是内存版、Hadoop版还是Spark版+搜索引擎?

最新的 Mahout 推荐器代码完全集成到事件摄取、模型计算和实时服务中 this version 这里 RNG 种子在配置文件中 engine.json。