Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr 产品自动分类与查询加权_Solr_Lucene_Machine Learning_Mahout - Fatal编程技术网

Solr 产品自动分类与查询加权

Solr 产品自动分类与查询加权,solr,lucene,machine-learning,mahout,Solr,Lucene,Machine Learning,Mahout,我在使用solr的时候遇到了排名问题,我被绊倒了 给定一个电子商务站点,对于查询“ipad”,我获得: ipad2的ipad外壳 ipad机箱 ipad连接套件 ipad 32gb wifi 这是一个问题,因为我们想将主要产品(或产品本身)排在第一位,而tf/idf由于“与ipad、ipad2、ipad3、ipad视网膜、ipad迷你等兼容的ipad机箱”等描述而将配件排在第一位 此外,使用类别我们无法确定是配件还是产品 我想知道使用自动分类是否会有所帮助。另一种改进排名的解决方案(如命名实体识

我在使用solr的时候遇到了排名问题,我被绊倒了

给定一个电子商务站点,对于查询“ipad”,我获得:

  • ipad2的ipad外壳
  • ipad机箱
  • ipad连接套件
  • ipad 32gb wifi
  • 这是一个问题,因为我们想将主要产品(或产品本身)排在第一位,而tf/idf由于“与ipad、ipad2、ipad3、ipad视网膜、ipad迷你等兼容的ipad机箱”等描述而将配件排在第一位

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


    我想知道使用自动分类是否会有所帮助。另一种改进排名的解决方案(如
    命名实体识别
    )将不胜感激。

    TF/IDF将根据查询中的单词与标题中的单词进行排名,正如您所发现的那样。这听起来似乎不是“好结果”的正确定义,你更喜欢产品而不是配件

    当然,您可以简单地附加启发式来修补问题。例如,把标题视为一组词,而不是多集,所以“iPad”的出现几次没有什么差别。或者只是提高你知道的产品的分数。这不是学习本身,但很简单,直接反映了您的业务知识,可能有一些积极的影响

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


    请看一下Ted关于如何将推荐人用作“搜索引擎”的幻灯片:

    您能提供标记数据吗

    如果您有>50k个项目,则使用基于产品名称的bigram语言模型的
    Naive Bayes
    将几乎以99%的准确率捕获所有附件。我想你可以用Mahout训练这样一个天真的bayes,但是产品名称的二元内存量非常有限,所以现在即使在智能手机上也可以轻松快速地训练

    这是一个典型的机械土耳其人的任务,不应该是昂贵的标签几个项目。然而,如果您坚持使用某种半监督算法,我发现
    迭代相似性聚合
    非常有用

    其主要思想是,您提供一些标记,如“case”/“poweradapter”,它会迭代查找新标记,这些标记是垃圾邮件的指示器,因为它们出现在相同的上下文中

    这是一篇论文,但我也写了一篇关于这一点的文章,用通俗易懂的语言概括了它的意图。本文还提到了Sean提出的“让用户找到正确的项目”范例,因此两者可以结合使用


    哦,如果你需要一些关于Lucene&SOLR机器学习的建议,我可以向你推荐我的朋友Tommaso Teofili今年在ApacheCon Europe的演讲。你可以。youtube上还有一段关于这次谈话的视频,只要搜索一下就可以了;)

    你能说更多关于“正确”答案是什么吗?你已经提出了什么是“错误”答案。任何一种无监督(或半监督)的解决方案都可以提高排名,获得比配件更好的产品。那么你最终使用了什么样的方法呢?哇!我认为只使用产品名称将是一个问题,因为它的长度。我要试一试。因此,您建议使用bigrams来培训NBayes Mahout垃圾邮件过滤器实现(垃圾邮件=附件),以便对整个目录进行分类?我们有近10万个项目,我需要使用多少项目作为培训模型?几天前我遇到了一些类似的问题。我用100k个正面的例子和100k个负面的例子进行训练,用单词级的双格图。我使用了我自己的多项式朴素贝叶斯实现,mahout将做同样的工作。50k似乎足够了,因为它不会给模型增加更多的准确性。@在数据集的0DE中,这可能是相等的-但您必须找出自己真正需要多少数据。更多帮助更多:)