【发布时间】:2014-09-21 16:10:57
【问题描述】:
我想根据用户使用 mahout 的技能向他们推荐工作。那么有什么方法可以定义工作相似性逻辑。 我找到了 ItemSimilarity 接口,但在自定义实现后无法使用它。
【问题讨论】:
-
我的问题不清楚吗?我认为我想定义我的自定义项目相似性逻辑是一件很常见的事情。
标签: apache mahout recommendation-engine
我想根据用户使用 mahout 的技能向他们推荐工作。那么有什么方法可以定义工作相似性逻辑。 我找到了 ItemSimilarity 接口,但在自定义实现后无法使用它。
【问题讨论】:
标签: apache mahout recommendation-engine
在 mahout 中,项目相似性基于用户-项目交互,即偏好。但是,如果您想拥有如上所述的自定义项目相似性,则属于基于内容的过滤。每项工作都会有一组特征或维度(可能是技能)。现在您需要编写一个逻辑来根据两个工作的特征计算它们之间的相似性。您可以通过使用距离测量技术来实现这一点。将每项工作视为 m 维空间中的一个点(例如 m 技能)并计算距离。然后你可以按如下方式计算相似度。
相似度 = (1 + 1/d)。
这给出了 0 和 1 之间的相似性(0 表示最不相似,1 表示最相似)。
对于距离计算,您可以使用任何距离测量技术,例如欧几里得、余弦或谷本系数等。
【讨论】: