【发布时间】:2013-06-18 08:17:42
【问题描述】:
我基本上需要一些数学来根据以下指标对短输入句子进行排名:
1) 术语相对于句子开头的距离(注意:相对术语距离,没有编辑距离!)。 例如,搜索“a”应该给句子“a b”比“b a”更高的排名,因为 a 更接近句子的开头。
2) 术语之间的距离。 例如搜索 "a" AND "b" 的排名应该高于 "a ccc b",因为 a 和 b 更接近。
3) 基于术语顺序的排名。 例如搜索 a AND b 的“a b”排名应该高于“b a”,因为它是正确的顺序。尽管如此,b a 也应该在结果集中,因此它也必须按较低的权重进行排名。
4) 单词本身是未加权的。这是与普遍常见的内容以及我可以轻松找到信息的主要区别。但在我的情况下,所有术语都具有相同的权重,无论它们在文档中出现/计数或其他。
我已完成研究,但没有找到匹配项。你知道什么排名算法会匹配,或者至少接近这个吗?
【问题讨论】:
-
对于(2),您的意思是“搜索'a' 和'b'”吗?否则真的没有意义。你刚才描述的本身不就是一种排名算法吗?您需要做的就是为 1-3 分配权重。
-
是否所有的词都必须在匹配的句子中,或者如果存在的词少,句子的权重会降低吗?