[回合]关联评分
BM25算法是评分相关性的常用公式,思路比较简单。它主要计算一个查询中所有$ term和文档的相关度,然后累加得分,每个词的相关度得分主要受tf/idf的影响。公式如下:
其中:是每个单词与文档的相关值;代表$ term在查询中;代表相关文档;是文字的分量。
可以外部设置,默认值为value。idf公式的基本思想是,一个词的重要性与其在整个文档集合中的出现频率成反比。公式如下:
其中:是文档总数;包含该单词的文档数;0.5是调节系数,避免0的情况。取对数的目的是为了使idf值在n和的影响下更加平滑。
从这个公式可以看出,越大越小,数值越大。
下面是的公式,
其中:,,为调节因子,一般为,,;是文档的字数,代表查询句子的字数;是文档的长度,是文档的平均长度;
可见,其他因素相同的情况下,相关性越大,相关性越低;至于除以一,我觉得是比较这个文档和整个文档的长度,避免单独取值时过大。
乘积的左因子表示文档中词的频率关系,乘积的右因子表示查询语句中词的频率关系。大多数情况下,查询词在查询语句中出现一次,所以可以看作是1,由于是1,所以右因子实际上等于1,所以公式可以简化为:
简化公式后,可以得到:
影响BM25配方的因素有
1:分数越高,分数越高。
2.分数越高,分数越高。
3:如果文档级别中文档长度较高,得分会较低。
4是分数的调节因子。
一般来说,一篇文章分为几个部分,如标题、内容、描述、锚点等。在BM25F公式中,这些部分称为字段。有两篇文章。一篇文章的标题部分和查询的BM25之间的相关分数是A,另一篇文章的内容部分和查询的BM25之间的相关分数也是A..假设不考虑这两篇文章其他部分与查询的相关性,根据经验,第一篇一般应该比第一篇更相关。BM25F在D篇中介绍了每个域的信息,它处理D篇中每个域中每个$ term的相关性,公式如下:
BM25也叫okapi BM25,okatp是BM25和$ term邻近度融合的相关性计算公式。
查询中第一个$ term的权重定义为:
能找到的定义更像是BM25中查询部分和IDF的产物。区别在于常量参数的设置。在报纸上。
$ term接近度的定义如下
是搜索项和之间以字数表示的距离。
下面的公式体现了BM25和$ term邻近的融合,BM25中的tf被替换为
的定义与BM25相同。
OkaTP最终定义为
其中s是查询中所有$ term成对组合的集合。
算法和OkaTP很像。
其中,TP为$ term邻近度,邻近度信息被引入到该算法中以优化相关度计算效果。
假设一个查询q包含n个$ term,代表一篇文章,文章中任意两个不同的$ term位置之间的距离表示为。这两个$ term
注意:查询中的第一个$ term可能在文档中出现多次,每次出现都用。
参见$ TERM接近度评分,对原始论文的非常大的文本集合进行特别检索
你可以结合文章《通过BP-ANN进行选择性$ TERM邻近评分》来理解上述两个公式。
本文认为OkaTP存在两个问题:1公式的后半部分。OkaTP(可以看作是给prase的配乐)和BM25的前一部分重叠,也就是一个$ term会同时出现在两个部分;2.单字的分数和松散短语的分数的线性组合可以打破词频的非线性特性。
基于这两点,提出了newTP算法。在newTP中引入了span的概念。Span是根据查询词在文档中的命中位置,将整个命中列表分成多个片段,每个片段称为一个扩展的span。确定跨度的规则如下。
其中MAX_DIS被视为已设置。
根据查询词在span中的密度和数量来确定$ term对相关性的贡献。从而替换OkaTP中的tpi和tf部分。
一个$ term t对相关性的贡献表示为:
其中包括:
一个$ term测试对整个文档相关性的贡献是:
可以看出,rc包含了邻近度和tf的信息。
直接用rc代替BM25中的tf,得到新的相关计算公式:
其中,TOP是$ term顺序接近度。该算法是在BM25TP的基础上优化的。该算法引入了$ term阶数信息。如果两个$ term以与文档相反的顺序出现在查询中,它们将受到惩罚,如果顺序相同,它们将得到奖励。
在BM25TP算法中用于计算邻近度,但此公式对$ term顺序不敏感。你会认为约翰比玛丽快,而玛丽比约翰快是一样的。
为了说明BM25TOP算法,引入以下两个定义。
:在查询Q中的位置
:在文档d中的位置
新公式用于替换BM25TOP中的。这个公式应该满足以下三个条件。
满足前两项也可以通过BM25TP算法中的dist函数来满足,第三项是增加对$ term阶的考虑。
满足上述三个条件的公式有很多,本文选取以下公式。
在…之中
的大小表示文档d中的和之间的相对距离。符号表示两个$ term在查询和文档中的顺序是否相同,加号(+)表示顺序相同,符号(-)表示两个$ term在查询和文档中的顺序相反。
图像随功能的变化如下:
[图片正在上传...(图片-8d 6891-1599898211594-0)]
注意:接近度是的倒数,值越大,接近度越小。
从上图可以看出,两个$ term之间的距离越远,接近度越大,接近度越小;
当两对$ term大小相等但符号相反时,一对带负号(-)的$ term的接近度会较小。
以下是BM25TOP计算的合理安排:
其中包括: