gpt4 book ai didi

search - Solr:分数作为百分比

转载 作者:行者123 更新时间:2023-12-01 10:41:43 36 4
gpt4 key购买 nike

首先,我已经看到the lucene doc这告诉我们不要以百分比形式生成分数:

People frequently want to compute a "Percentage" from Lucene scores to determine what is a "100% perfect" match vs a "50%" match. This is also somethings called a "normalized score"

Don't do this.

Seriously. Stop trying to think about your problem this way, it's not going to end well.



由于这些建议,我使用了另一种方法来解决我的问题。

然而 , lucene 的论证有几点我真的不明白为什么它们在某些情况下是有问题的。

对于 this post 的情况,我很容易理解为什么它不好:如果用户进行搜索并看到以下结果:
  • 产品A : 5 星
  • 产品B : 2 星
  • 产品C : 1 星

  • 如果 ProductA 在他第一次搜索后就被删除了,那么下次用户还会来,如果他看到以下结果,他会感到惊讶:
  • 产品B:5星
  • 产品C:3星

  • 所以,这个问题 正是 Lucene 的文档指出的 .

    现在,让我们再举一个例子。

    想象一下,我们有一个使用 的电子商务网站。 '经典搜索'结合 拼音搜索 .拼音搜索在这里是为了避免由于拼写错误而导致的最大数量的空结果。相对于经典搜索的分数,语音结果的分数非常低。

    在这种情况下,第一个想法是只返回具有 的结果。至少 10% 的最高分 .即使使用经典搜索,低于此阈值的结果也不会被视为与我们相关。

    如果我这样做, 我没有问题上面的帖子,因为如果删除了一个文档,如果旧的第二个产品成为第一个产品似乎合乎逻辑并且用户不会非常惊讶(这与我将分数保持为浮点值相同的行为)。

    此外,如果语音搜索的分数非常低,如我们所料,我们将保持相同的行为,只返回相关分数。

    所以 我的问题是 :像Lucene建议的那样标准化分数总是不好的吗?我的示例是异常(exception)还是即使对于我的示例也这样做是个坏主意?

    最佳答案

    正如您所介绍的,Lucene 分数值仅与表达 相关。一组匹配中每个匹配的相对强度 .在一组特定搜索结果的上下文之外,特定记录的得分为 没有绝对意义 .

    出于这个原因,唯一合适的分数归一化是将结果集中文档相关性之间的关系归一化,即便如此,您仍需要非常小心地使用这些信息。

    考虑这个结果集,我们检查每条记录与 相比的得分。前一个结果 :

    ProductA         (Let's pretend the score is 10)
    ProductB: 97% (9.7)
    ProductC: 8.5% (.82)
    ProductD: 100% (.82)
    ProductE: 100% (.82)
    ProductF: 24% (.2)

    在这种情况下,前两个结果具有非常相似的分数,而接下来的三个结果具有相同的分数但明显落后。这些数字显然不会与在线购物者共享,但 ProductC 和 ProductF 的低相对分数代表了足够大的下降,您可以使用它们来通知其他显示选项。也许 ProductA 和 ProductB 以比其他字体更大的字体显示。如果在急剧下降之前只出现一种产品,它可能会得到更加特别的突出显示。

    我会告诫不要完全压制得分相对较低的结果 在这种搜索中。正如您在示例中已经证明的那样,相对分数可能会产生误导,除非您对相关性进行了非常精细的调整,否则最相关的文档可能并不总是最合适的。如果由于单个记录恰好重复搜索词足够多的次数以赢得一流的分数而导致所需的结果被丢弃,那对您没有好处,这是一个真正的威胁。

    For example, "Hamilton Beach Three-In-One Convection Toaster Oven" will match one in eight words against a search for toaster, while "ToastMaster Toast Toaster Toasting Machine TOASTER" will match as many as five in seven words depending on how you index. (Both product names are completely made up, but I wanted the second one to look less reputable.)



    另外, 所有返回的文档都匹配 ,无论他们的分数有多低。有时,排名较低的结果是用户真正想要的黑马。除非您告诉用户,否则用户不会理解除了他们看到的之外还有匹配的文档,因此您可以将尾随结果隐藏在“第 2 页”或剪辑后面,但您可能不想阻止它们。让用户了解他们的结果集的大小也可以帮助他们决定如何微调他们的搜索。使用分数的显着下降作为分页阈值可能非常有趣,但可能是一个具有挑战性的实现。

    关于search - Solr:分数作为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29674709/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com