【问题标题】:What model or approach to use for this kind of "nested" recommendation?这种“嵌套”推荐使用什么模型或方法?
【发布时间】:2023-03-29 06:34:01
【问题描述】:

我有一个非常具体的推荐问题。

假设我有 3 种类型的值/实体 - 项、属性、值。有N个项目,A属性和B值。每个项目都有一些属性值对。示例:

项目#1
2374-23783
8455-5783
744-2438

项目#2
5435-23783
8455-54654
544-9778

...

现在,给定一个“匿名”项目,比如 Item#x,上面有 3-4 个示例属性值对,我想获得针对特定属性的建议。示例:

物品#x
5435-23783
544-9778
744-2438

8455-?? (获得推荐)

现在,直觉 - Item#x 中属性 8455 的推荐值可能是 54654。您会看到属性 5435 和 744 在 Item#2 中与在 Item#x 中具有相同的值。因此,8455 的值很可能与 Item#2 中 8455 的值相似。

问题:

  1. 您认为哪种模型最适合此问题?我应该使用什么方法?协同过滤 - 但如何?显然,简单地将所有属性值对转储到数据集中并获取建议并不能满足我的需求。

  2. 您也可以添加任何特定于实现的细节吗?马豪?米利克斯?机器学习/推荐库?

【问题讨论】:

  • 虽然我已经接受了一个,但我希望得到更多关于此的答案。专家意见越多越好。

标签: machine-learning mahout collaborative-filtering mahout-recommender


【解决方案1】:

您似乎不需要任何机器学习,只需要检索。最直接的方法是创建一个特征向量,其中每个维度都是一个属性。

向量位置和属性:

Position #0, property 2374
Position #1, property 8455
Position #2, property 744
Position #3, property 5435
Position #4, property 544

为每个项目填写向量值。

Item #1 is represented as [23783,  5783, 2438,     ?,    ?]
Item #2 is represented as [    ?, 54654,    ?, 23783, 9778]
Item #x is represented as [    ?,     ?, 2438, 23783, 9778] 

Item #x 与 Item #2 具有最常见的值,其位置 #1 是 54654。基本上,您会找到与具有您感兴趣的位置值的项目的最佳交集。如果您想要值,它会变得更有趣几个属性只能由几个项目建议,但您还没有谈到数据的性质。

【讨论】:

  • 非常感谢!这更清楚。是的,我必须建议几个属性的值。假设它是一个包含“城市”项目的数据集,即。项目可以是纽约市、新德里、伦敦等等。一个城市可以有许多属性/属性,例如国家、大陆、州、人口等。考虑到我必须预测几个属性,您会添加任何内容吗?
  • 如果您对数据有很好的理解,您可以尝试研究一种技术,如基于案例的推理,您可以在相似性指标中插入启发式方法。
【解决方案2】:

任何机器学习方法都可以胜任。例如,您可以使用贝叶斯网络,因为这些条件项-属性-值出现是很自然的。

在不知道您关心什么的情况下添加特定于实现的细节是不现实的。你最关心什么?性能、准确性还是可扩展性?

【讨论】:

  • 性能和可扩展性是我目前最关心的问题。感谢您的提示...我将尝试查找贝叶斯网络以及如何将其应用于此类。
  • 我不太熟悉贝叶斯网络,刚刚进入机器学习领域。所以请多多包涵。大多数关于贝叶斯网络的论文都集中在这些方面——根据他们之间过去的交互以及用户喜欢的历史向用户推荐项目。我似乎无法理解如何将它适合我的用例。想法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-30
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2017-07-29
  • 2010-11-04
  • 1970-01-01
相关资源
最近更新 更多