自动产品分类和查询权重

时间:2013-01-15 12:12:20

标签: solr lucene machine-learning mahout

我正面临使用solr的排名问题而且我被困了。

鉴于电子商务网站,对于查询“ipad”,我获得:

  1. ipad 2的ipad案例
  2. ipad case
  3. ipad连接套件
  4. ipad 32gb wifi
  5. 这是一个问题,因为我们想要排名第一的主要产品(或产品本身)和tf / idf排名第一的配件由于描述像“ipad案例兼容ipad,ipad2,ipad3,ipad视网膜,ipad迷你等“。

    此外,使用类别我们无法确定是附件还是产品。

    我想知道使用自动分类是否有帮助。另一个改进此排名的解决方案(如Named Entity Recognition)将不胜感激。

2 个答案:

答案 0 :(得分:7)

你能提供标记数据吗?

如果您拥有> 50k项目,Naive Bayes的产品名称训练有一个二元语言模型将几乎捕获所有配件,准确率达到99%。我想你可以用Mahout训练这样一个天真的贝叶,但是产品名称的二元体积非常有限,所以现在即使在智能手机上也可以轻松快速地训练它。

这是典型的机械土耳其人任务,标记一些物品不应该那么昂贵。但是如果你坚持使用一些半监督算法,我发现Iterative similarity aggregation非常有用。

主要思想是你提供一些像“case”/“power adapter”这样的令牌,它会迭代地找到新的令牌,这些令牌是垃圾邮件的指示器,因为它们出现在同一个环境中。

Here是论文,但我也写了一篇blogpost,用简单的语言总结了这个意图。本文还提到肖恩提出的“让用户找到正确的项目”范例,因此两者都可以结合使用。

哦,如果您需要与Lucene& SOLR进行机器学习的建议,我可以向您推荐今年ApacheCon Europe的朋友Tommaso Teofili。你可以find the slides on slideshare。还有一个关于那里谈话的youtube视频,只是搜索它;)

答案 1 :(得分:1)

TF / IDF将根据您找到的查询中的单词与标题中的单词进行排名。听起来这不是“好结果”的正确定义,而是你想要的产品而不是配件。

当然,您可以简单地附加启发式来修补问题。例如,将标题视为一组单词,而不是多重集,因此“iPad”的外观几次没有区别。或者只是提高您知道的产品得分。这不是学习本身,而是简单,直接反映您的业务知识,并可能产生一些积极的影响。

如果您想在这里学习,您可能需要使用关于最佳结果的最佳知识来源:您的用户。您知道他们在响应每个查询时单击了什么。您可以学习将搜索项与所点击的项相关联的术语项模型。您可以查看多种类型的问题 - 实际上潜在因素推荐模型可以在那里很好地工作。

看看Ted关于如何将推荐人用作“搜索引擎”的幻灯片:http://www.slideshare.net/tdunning/search-as-recommendation