【问题标题】:fulltext search score relevancy analysis全文检索分数相关性分析
【发布时间】:2012-07-10 06:58:21
【问题描述】:

我在尝试实现全文搜索时遇到了问题。对我来说,它更像是数学/统计,而不是任何东西。从数据库中提取的数据是书名,因此查询返回的分数可能具有非常接近的值(例如:9.98;9.97;9.78 - 这些都是非常相关的结果)或分布广泛(例如:9.99;8.2;2.1 -前两个是相关的,第三个是噪音)。我不知道如何操纵查询结果来删除不相关的。标准偏差不起作用,因为它在我的第一个示例中过滤了好的结果,各种归一化方法要么省略相关结果,要么包含不相关的结果。请有任何想法或想法。

谢谢。 维克多

【问题讨论】:

  • 我不知道您项目的确切限制和用例,但是在制作书名搜索功能时,我想知道......最好让您担心决定什么是相关的?用户可能会选择糟糕的搜索词并最终将他们真正想要的内容放在该特定搜索的排名列表的底部。另外,结果会以分页方式显示吗?也许不值得担心异常值,只允许您的分页机制隐藏不太相关的选项,而不会完全阻止用户找到它们。

标签: php mysql full-text-search statistics


【解决方案1】:

我只是在处理类似这样的问题,但使用的是基于时间的数据而不是全文。我找到了68-95-99.7 rule,其中指出,在真正的钟形曲线中,大约 95% 的结果在均值的 2 个标准差以内。我利用这些知识并决定将 5% 的结果作为异常值丢弃。你也可以做类似的事情——省略 5% 的相关性得分最低的全文结果。

另一个选项可能是选择某个阈值相关性分数,或您要显示的某个最小结果数。或者两者兼而有之——您可以根据产生更多结果的任何标准进行显示。

【讨论】:

  • 感谢您的建议。这也是我在想的,也是我绊倒的地方。示例如下:“mark twain stories”的查询返回两个得分:“mark twain short stories”(8.87)和“mark twain best short stories”(8.25);这些的标准差是 .2192,第二个结果在 2sigma 之外但在 3sigma 之内,正如预期的那样:) 不能使用 3sigma,因为将包括所有异常值。经过几天的阅读和处理数据,我仍然在树林里
猜你喜欢
  • 1970-01-01
  • 2011-11-05
  • 2020-05-21
  • 2017-07-21
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
相关资源
最近更新 更多