机器学习如何纳入搜索引擎设计中?


15

我目前正在建立一个基于Apache Lucene的小型内部搜索引擎。它的目的很简单-根据一些关键字,它将建议一些在公司内部撰写的文章。我使用相当标准的TF-IDF评分作为基本指标,并在此基础上建立了自己的评分机制。所有这些似乎都工作得很好,除了一些极端情况下,排名似乎一团糟。

因此,我打算做的是在搜索结果页面上添加一个小的“相关/不相关”链接,以便用户可以根据对结果是否应该首先包含在内的感知,单击其中的一个。

我的点子

  1. 将这些相关/不相关视为标签并创建训练数据。
  2. 使用此数据来训练分类器(例如SVM)
  3. 将此模型整合到搜索引擎中,即,每个新结果都将通过分类器,并为其分配是否相关的标签。

对我来说,这种方法似乎很直观,但是不确定它是否会在实践中起作用。我有两个具体问题:

  1. 我应该提取什么所有功能?
  2. 有没有更好的方法将机器学习组件集成到搜索引擎中?我的最终目标是基于业务逻辑和用户反馈来“学习”排名功能。

4
我曾经做过这样的事情,但用户讨厌它,所以我将其关闭。问题是用户行为。用户通过更改术语来适应搜索结果中的弱点,然后他们将继续重复使用这些术语。系统响应调整项目的排名,那些喜欢的术语开始产生不同的结果。这激怒了用户。学习并不意味着它更聪明;)
Reactgular

下面是使用elasticsearch和angularjs的实现-也包含你所需要的解释- machinelearningblogs.com/2016/12/12/...
维韦克Kalyanarangan

Answers:


15

(1)我应该提取所有哪些功能?

首先,要意识到您没有对文档进行分类。您正在对(文档,查询)对进行分类,因此您应该提取表示匹配程度的要素。

学习排名的标准方法是针对各种搜索引擎设置(例如tf-idf,BM-25等)运行查询,然后根据相似性评分训练模型,但是对于小型的,特定于领域的SE,您可能具有以下功能

  • 对于每个术语,一个布尔值,指示该术语是否出现在查询和文档中。也许不是布尔值,而是文档中实际出现的那些查询词的tf-idf权重。
  • 各种重叠指标,例如Jaccard或Tanimoto。

(2)是否有更好的方法将机器学习组件集成到搜索引擎中?我的最终目标是基于业务逻辑和用户反馈来“学习”排名功能。

这是一个非常广泛的问题,答案取决于您要付出多少努力。想到的第一个改进是,您不应使用分类器的二进制相关性判断,而应使用其实值决策函数,这样您就可以进行排名,而不仅仅是过滤。对于SVM,决策函数是到超平面的有符号距离。好的机器学习包具有获取其价值的接口。

除此之外,研究成对和成对学习排名。您所建议的是所谓的逐点方法。IIRC,成对运行在实践中要好得多。原因是使用成对排名时,您需要的点击次数要少得多:您不必给用户标记文档为相关/不相关的标签,只需给他们提供“相关”按钮即可。然后,您将学习三元组(文档1,文档2,查询)上的二进制分类器,该分类器告诉文档1是否比文档2与查询更相关,反之亦然。当用户将排名中的文档4标记为相关时,您将获得六个样本以供学习:

  • document4> document3
  • document4> document2
  • document4> document1
  • document1 <document4
  • document2 <document4
  • document3 <document4

因此您可以免费获得底片。

(这些全都是建议,我还没有尝试过。我只是在一个研究小组工作过,人们调查了学习排名。我确实为一个阅读小组做过别人论文的介绍,也许幻灯片可能会有帮助。)


+1谢谢。这是您第二次帮助我!让我花几个小时来解决这个问题。:)
传奇

4
这是一个很好的答案,我只想提出一个小的调整。从ux的角度来看,使用“无关”按钮比“相关”按钮更有可能使用户对结果进行评分。谁在寻找他们想要的东西时就坚持得分?他们更容易击中一个按钮,看起来像一个“机会抱怨”时,他们还没有找到他们想要的东西,因为提高了该点的系统实际上与他们目前的目标一致。
Racheet

4
tl; dr如果您只使用一个输入,则将其设置为“无关紧要”,当人们感到沮丧时,他们更有可能单击它。
拉切特

什么是“列表式”方法?另外,您指的是免费提供3或6个示例吗?(后3个似乎只是前3个的重复?)
最长
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.