自动产品分类和查询加权

我在使用Solr进行排名时遇到了问题,现在卡住了。

在一个电子商务网站上,当我搜索“ipad”时,得到的结果是:

  1. 适用于iPad 2的iPad保护套
  2. iPad保护套
  3. iPad连接套件
  4. iPad 32GB WiFi版

这是一个问题,因为我们希望主要产品(或产品本身)排在前面,而tf/idf却因为描述如“适用于iPad、iPad2、iPad3、iPad Retina、iPad Mini等的iPad保护套”而将配件排在前面。

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

我想知道使用自动分类是否会有所帮助。其他能改善这种排名的解决方案(如Named Entity Recognition)也将受到欢迎。


回答:

你能提供标记数据吗?

如果你有超过5万件商品,使用基于产品名称训练的二元语言模型的Naive Bayes分类器几乎可以以99%的准确率识别出所有配件。我猜你可以用Mahout来训练这样的朴素贝叶斯分类器,不过产品名称的二元组合数量相当有限,所以现在即使在智能手机上也能轻松快速地进行训练。

这是一个典型的机械土耳其任务,标记一些商品的费用应该不会太高。然而,如果你坚持使用某种半监督算法,我发现Iterative similarity aggregation非常有用。

主要思路是,你提供一些标记如“case”/“power adapter”,它会迭代地寻找新的标记,这些标记因为出现在相同上下文中而成为垃圾邮件的指示器。

这里是论文,但我也在博客上写了一篇博文,用通俗的语言总结了这个意图。这篇论文还提到了Sean提出的“让用户找到正确物品”的相同范式,所以两者可以结合使用。

哦,如果你需要关于使用Lucene&SOLR进行机器学习的建议,我可以推荐我的朋友Tommaso Teofili在今年ApacheCon Europe上的演讲。你可以在slideshare上找到幻灯片。还有一个YouTube视频,搜索一下就能找到;)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注