当前位置:首页 期刊杂志

基于内容相似度的相关性评分算法对比分析研究

时间:2024-08-31

鲍治国,王海安,胡士伟,马西锋

(河南财经政法大学计算机与信息工程学院,河南郑州,450046)

0 引言

近年来随着社会信息化的不断发展,许多问题都可以在网络上找到答案,所以人们对检索内容质量的要求也随之提高。并且随着人们审美能力的逐步提高,对个性化的追求也越来越强烈。智能化推荐[1,2]在这种背景下应运而生,而智能化推荐又依赖于机器对人类自然语言的处理。在自然语言处理中,经常会涉及到如何度量两个文本的相似度的问题。诸如在对话系统和信息检索系统等问题中,如何衡量语素或句子之间的相关性,就成了问题所在。文本相似度的评估方法有基于关键词匹配的传统方法,如N-gram相似度[3,4]、文本映射到向量空间,再利用余弦相似度等方法。还有深度学习的方式[5,6],如:基于用户点击数据的深度学习语义匹配模型,基于卷积神经网络的ConvNet等。

本文将对基于向量空间的TF-IDF算法[7-9]进行介绍,并引出对TF-IDF算法进行改进的基于概率模型的BM25算法[10-12]。TF-IDF是Term Frequency-Inverse Document Frequency的英文缩写。BM是Best Match最佳匹配的缩写,25指的是第25次算法迭代。

1 问题假设

(1)在使用TF-IDF算法的文章中词语的重要性与词语在文章中出现的位置不相关。

(2)对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少。

(3)文档中词的出现是彼此独立的,不存在依赖出现。

表1 符号说明

文档集合中所有文档的数目n(qi) 文档集合中包含语素qi的文档数目D文档集合d文档集合中某一单个文档Wi 对应语素qi的相关权重fi 语素qi在某个文档中出现的频率k1, k2,b 参数dl 对应文档d的长度avgdl 文档集合中所有文档的平均长度N

2 TF-IDF算法

2.1 算法介绍

TF-IDF算法是一种基于对查询语句中语素的词频进行统计,并将结果用于评估该词或语素对一个文档集合中某个文档的相关性的算法。他的思想在于随着该词或语素在某个文档中出现的频率的增加而提高权重(公式(2)),随着它在词库中出现频率的增加而减小权重(公式(3))。也即一个词在词库中出现的次数越多,说明这个词语越普遍,因此它的区分度和作用就不大。比如:文档库中的文档中都有“权重”一词,那么以该词为关键词进行相关性评分就不太合适了。而一个词在单个文档中出现的次数越多,说明该词是文章的关键词的可能性越大,所以应提高相应的权重。

在公式(2)中,fi表示语素qi在某个文档中出现的频率,dl表示在该文档中的总词数。

IDF意为逆向文档频率,某一特定词语的IDF,可以由文本库中总的文件数目与包含该词的文件数目相除,再将得到的商取对数,它的作用是为语素加上相应的权重,如公式(3)所示。若包含语素q 的文件数越少,那么IDF就越大,说明了该语素的区分力度较大。所以当某一个语素在少数文本中大量出现时,它的权重会随之变大。反之当某一个语素在大量文本中出现时他的权重就下降。

在公式(3)中N为语料库中文档的数量,n (qi)表示包含该词的文档数目。此外TF与IDF之间,没有必然联系,因为TF表示语素对于单个文档的评分,而IDF是基于整个文档集合中的语素对其进行加权。由于TF-IDF算法将词频作为一个重要的标准,这就出现了一个问题,即语素中的无关语素会对结果进行干扰,比如助动词和介词之类的。因此,我们必须做停用词的操作,将一些语素中的助词和介词去掉。此外还有词频饱和度问题(词频没有上限)也没进行解决,实际上当一篇文章中的一个关键词出现20次左右时他的评分应该不再增长,否则词频得分的无限扩张会影响评分的准确性。

2.2 TF-IDF算法的优点和不足

TTF-IDF算法作为传统词频统计方法,它是一种简单,直接结果与实际情况相符的算法,能够基本满足使用。不足之处如下:

(1)该算法对于文档集合中含有关键词的文档进行评分时才能够有精确的结果。例如在诗词推荐中,由于存在大量抽象写意性描写和同义词替换。如考虑太阳与日的关系时,TF-IDF往往是不尽人意的。

(2)仅以词频作为关键词重要性的指示标准,对于一些文档而言可行,但对于文档中关键词出现次数较少的的文章,无法较好地得到合适的评分。按照传统的TF-IDF算法,往往一些生僻词的评分会比较高,因此生僻词常常被作为关键词而被赋予极大的权重。

(3)在计算词频得分时,并未考虑到文章整体长度对于词频的影响,比如长篇文档中出现一百个语素词和短篇文档中出现一百个语素词是不一样的。因此,算法对于长文章而言并不友好。

(4)存在词频饱和度问题。假设在两份描述同一件事物的文档中,关键词也一样,但是由于一份文档中出现关键词次数过多而导致两份文档的评分相差几倍明显是不合理的,词频的决定因素应该被加以限制。

3 改进型算法BM25

3.1 算法介绍

BM25算法(基于概率模型)也作为一种搜索相关性评分,并对相关性得分进行加权求和的算法。他是在TF-IDF算法的基础上,通过加入k1,k2,b等控制参数来解决词频饱和度问题以及文本长度归一化的问题。他需要对相关搜索语句进行分词处理,然后对每个分词结果和文档进行相关性处理得到评分,然后将语素qi的相关性评分进行加权求和。

从公式(6)中可以看出k1的作用在于提高词频在相关性评分中的作用,可以看出k1越大,那么词频的重要性越高,也就是说它控制着词频饱和度的上升速度。k2为语素qi在搜索语句Q中出现的次数,因为在绝大多数情况下语素qi在Q中只出现一次,所以公式可以简化为:

公式中dl表示文档d的长度,avgdl表示语料库中的文档的平均长度。b的作用从公式中分析出是为了控制文章归一化的程度,b 等于零时会禁用归一化,参数b控制着文档长度对相关性影响的大小。b越大,文档长度对相关性评分的影响就越大,b 越小那么文档长度对于语素的评分影响就越小。因为文档越长,那么含关键词的可能性就越大,所以在文档中语素qi出现同样次数的情况下还应考虑文本归一化的程度。因此在使用中,应多次通过对不同长度的文档进行测验,得到合适的参数大小。从公式的改进可以看出BM25算法很好的解决了词频饱和的问题和文档归一划问题。

最终的评分公式如下(9)所示:

然后观察文档长度对于两个算法精确度的影响。首先来看TF-IDF算法在文档长度归一化方面的表现,如图1所示。随着文档的长度越来越长,算法的评分波动越来越大,说明文档的长度对于算法的得分情况影响很大,文档的长度直接影响了文档的相关性评分,这会导致算法在评估时的精确度下降,使得算法的表现很差。BM25算法的归一化表现,如图2所示。文档长度在[500,1000]的区间内,文档的长度对于得分基本没什么影响,所以文档长度对于BM25算法而言影响并不大,BM25算法的表现在实际情况中良好。

图1 TF-IDF算法文档长度对评分的影响

图2 BM25算法文档长度对评分的影响

关于词频饱和度问题的比较,由于对文档的得分评估中应该设定文档的词频上限,BM25在TF-IDF上增加了几个可调节的参数,使得它在应用上更加灵活和强大,具有较高的实用性。词频对得分的影响可以控制在一定范围内,而不是像TF-IDF那样持续增大。如图3和图4之间的比较,可以得到对于TF-IDF算法而言,词频对于评分的影响是线性增长的,词频会无限制的影响得分,而BM25算法中词频对得分的影响会收敛,所以词频到达一定程度后就不再对评分有过大的影响,也就解决了词频饱和度问题,这是BM25算法较于TF算法精准的原因。

图3 TF-IDF算法词频对评分的影响

图4 BM25算法词频对评分的影响

3.2 BM25算法的优点

BM25算法在TF-IDF的基础上提供了参数来控制词频饱和度和文章归一化,从而使得算法在进行相关性评分时更加合理。而且BM25算法由两部分组成,分别是语素分析方法、语素权重判别法,还有语素和文档的相关性判断方法。他的方法组合并不是固定的,具有很好的灵活性。因此可以通过使用不同的搜索和评判相关性的方法进行组合。在实际应用中可以根据相应的参数来灵活地调节算法。

3.3 BM25的应用

由于BM25算法并不能理解语意,本质上它只是一种基于关键词匹配的相关性分析算法,所以目前对于BM25的算法应用依赖于已有的特征项,必须在所推荐的数据结构对象上加入标签,或根据文本信息与标签的相似度分析来实现。可以根据用户点击或收藏内容的标签,结合他们被点击或者搜索的次数加以分析,进而达到智能化推荐。目前绝大多数具有内容推送功能的应用在早期的时候,比如淘宝、小红书、抖音、微博等,将对用户所浏览,收藏或多次点击的商品或短视频等元素进行标签化,基于相关特征进行提权结合,将标签作为该商品的内容特征,同时对用户购买的商品也做特征提取。通过上述方式来为用户推荐更多内容。以上是基于内容的历史推荐,他可以推荐用户感兴趣的商品,但却无法跳出标签的限制。也就是说,无法为用户提供新的感兴趣的产品,因此还需要与协同过滤的推荐系统相结合,通过相似用户集群和相似的商品进行推荐,或者利用word2vec这种已经训练完善的开源训练向量数据集,来进行一些语义上的分析与扩展,补足BM25局限于关键词而在语义分析上不足的问题,提高语义的泛化性进而达到更完善的推荐。Word2vec的相似词语的效果[13],如表2所示。

表2 Word2vec同义词联想

4 结论

针对自然语言处理中文本相似度评估问题,本文分析了TF-IDF算法和BM25算法,分别介绍了这两种算法的基本原理。之后分析了TF-IDF算法的文档归一化问题、词频饱和度问题,并引出了他的改进方法BM25算法。接着通过实验分析这两种算法的实际表现效果,对于TF-IDF算法而言,词频对于评分的影响是线性增长的,词频会无限制的影响得分;而BM25算法中词频对得分的影响会收敛,对于BM25算法而言文档的长度对于得分基本没什么影响的结论。这些都说明了BM25算法的优越性。最后介绍了BM25算法在推荐系统中的应用,并提出了通过Word2vec解决BM25算法语义泛化的问题。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!