【论文】文本相似度计算方法综述

 2024-01-25 02:05:55  阅读 0

概述

信息爆炸时代,人们渴望从海量信息中获取与自身需求和兴趣高度契合的内容。 为了满足这种需求,出现了多种技术,例如:搜索引擎、推荐系统、问答系统、文档分类和聚合类别、文档重复检查等,而这些应用中的关键技术之一场景是文本相似度计算技术。 因此,有必要了解文本相似度的计算方法。

文本相似度定义

文本相似性已在不同领域得到广泛讨论。 由于应用场景不同,其内涵也不同,因此没有统一、公认的定义。

林从信息论的角度解释说,相似性与文本之间的共性和差异性有关。 共性越大,差异越小,相似度越高; 共同性越小,差异性越大,相似性越低。 最大的相似度是文本完全相同。 同时提出基于假设推导相似定理,如下:

Sim(A,B)=logP((A,B))logP((A,B))Sim(A,B) = \frac{ log P((A,B)) } {log P((A, B))}Sim(A,B)=logP((A,B))logP((A,B))​

其中,(A,B)是A和B的共同信息,(A,B)是描述A和B的所有信息。上式表达了相似度与文本共性之间的正相关关系。 由于没有限制区域,所以经常使用这个定义。

相关性和相似性是很容易混淆的概念,很多学者都没有对它们做出比较性的解释。 相关性体现在文本的共现或它们以任何形式的相互关联(包括上下位关系、同义关系、反义关系、部分整体关系、价值属性关系等),体现文本的组合特征。 相似性是相关性的特例,包括上下位关系和同义关系。 可以得出结论,文本的相似度越高,相关性就越大,但是相关性越大并不意味着相似度就高。

相似度一般用[0,1]表示,这个实数可以通过语义距离计算得到。 相似度和语义距离之间存在反比关系。 语义距离越小,相似度越高; 语义距离越大,相似度越低。 相似度与语义距离的关系通常用以下公式表示。

Sim(SA,SB)=αDis(SA,SB)+αSim(S_A,S_B) = \frac {\alpha} { Dis(S_A,S_B) + \alpha }Sim(SA​,SB​)=Dis(SA ​,SB​)+αα​

其中,Dis(SA,SB)Dis(S_A,S_B)Dis(SA​,SB​)表示文本SA,SBS_A,S_BSA​,SB​之间的非负语义距离,α\alphaα是调整量因子,保证语义距离为0时上式的意义。

文本相似度计算中的另一个重要概念是文本表示,它表示文本的基本处理,其目的是将半结构化或非结构化文本转换为计算机可读的形式。不同文本相似度计算方法的本质在于文本表示方法的不同是不同的。

文本相似度计算方法

文本相似度计算方法可以分为四大类:

基于字符串的方法

该方法从字符串匹配程度出发,以字符串共现和重复的程度作为相似度的度量。 根据计算粒度的不同,该方法可以分为基于字符的方法和基于单词的方法。下图列出了两种方法的常见算法和思路。

基于字符串的方法是字面层面的文本比较,文本表示就是原始文本。 该方法原理简单、易于实现,现已成为其他方法的计算基础。

但缺点是,将字符或词视为独立的知识单元,没有考虑词本身的含义以及词之间的关系。 以同义词为例,虽然表达方式不同,但含义相同。 然而,依靠基于字符串的方法无法准确计算此类单词的相似度。

基于语料库的方法

基于语料库的方法使用从语料库获得的信息来计算文本相似度。 基于语料库的方法可分为:

基于词袋

词袋模型(BOW)基于分布假设,即“单词所在的上下文相似,它们的语义也相似”。 基本思想是将文档表示为单词的组合,而不管单词在文档中出现的顺序如何。

根据考虑的语义复杂程度,基于词袋模型的方法主要包括:

向量空间模型

VSM模型的基本思想是将每个文档表示为基于词频或词频-逆文档频率权重的实值向量。 那么N个文档形成一个n维实值空间,其中空间的每个维度都有一个对应的项。 ,每个文档代表空间中的一个点或向量。 两个文档之间的相似度是两个向量之间的距离,一般使用余弦相似度方法计算。

VSM有两个明显的缺点:首先,该方法根据文本中的特征项进行相似度计算。 当特征项较多时,生成的高维稀疏矩阵导致计算效率低; 其次,向量空间模型算法的假设是从文本中提取的特征项不相关且不符合文本的语义表达。

LSA,PLSA

LSA算法的基本思想是将文本从稀疏的高维词汇空间映射到低维潜在语义空间,并计算潜在语义空间中的相似度。 LSA是在VSM的基础上提出的。 两种方法都使用空间向量来表示文本,但LSA使用潜在语义空间并使用奇异值分解来改进高维条目文档矩阵的处理,去除一些原始向量空间。 “噪音”让数据不再稀疏。 在LSA的基础上引入主题层,并使用期望最大化算法(EM)来训练主题。

LSA本质上是通过降维来提高计算精度,但算法相对复杂,可移植性较差。 相比之下,PLSA有统计基础。 多义词和同义词在 PLSA 中针对不同主题和同一主题进行训练。 ,从而避免了多义词和同义词的影响,使得计算结构更加准确,但不适合大规模文本。

LDA

LDA主题模型是一个三层贝叶斯概率网络,包括单词、主题和文档三层结构。 使用LDA计算文本相似度的基本思想是对文本进行主题建模,遍历提取文本中与该主题对应的词分布中的词,得到文本的主题分布,并计算通过这种分布的文本相似度。

虽然上述三类都使用词袋模型来实现文本表示,但不同的方法考虑不同程度的语义。 基于向量空间建模的方法语义层次适中,加入了潜在语义空间的概念,解决了向量空间模型方法的稀疏矩阵问题,减少了多义词和同义词的影响。 基于LDA的主题模型具有最高的语义程度。 基于相似词可能属于统一主题的理论,通过训练得到主题,从而保证了文本的语义。

基于神经网络

近年来,基于神经网络生成的词向量计算文本相似度已经被很多人提及。 许多生成词向量的模型和工具也被提出,例如GloVe等。 词向量的本质是从无标签的非结构化文本中训练出一个低维实数向量。 这种表达方法使得相似词的距离更近,同时更好地解决了词袋模型的独立词问题。 维度灾难和语义不足的问题就出现了。

基于神经网络的方法和词袋模型方法的区别在于文本的表达方式。 词向量是通过训练得到的低维实数向量。 维度可以被视为一种限制。 实际值可以根据文字距离进行调整。 这种文本表示方式符合人们理解文本的方式,因此基于词向量判断文本相似度的效果还有待进一步研究。 空间。

基于搜索引擎

基本原理是,给定搜索关键词x,yx,yx,y,搜索引擎返回包含x,yx,yx,y的网页数量f(x),f(y)f(x),f(y) ) f ( x), f(y) 以及同时包含 x, yx, yx, y 的网页数量 f(x,y)f(x,y)f(x,y)。 计算相似度距离如下:

NGD(x,y)=G(x,y)−min(G(x),G(y))max(G(x),G(y)=max{log f(x),log f(y) )}−log f(x,y)log N− f(x),log f(y)NGD(x,y) = \frac { G(x,y) - min(G(x),G(y) )) } { max(G(x),G(y)} \\ = \frac {max\{ log \,f(x), log\,f(y) \} - log \, f(x, y)} { log \, N - min{log \,f(x), log \, f(y)} }NGD(x,y)=max(G(x),G(y)G(x, y)−min(G(x),G(y))​=logN−(x),logf(y)max{logf(x),logf(y)}−logf(x,y)​

但该方法最大的缺点是计算结果完全取决于搜索引擎的查询效果,且不同搜索引擎的相似度不同。

基于世界知识的方法

基于世界知识的方法利用具有标准化组织体系的知识库来计算文本相似度,一般分为基于本体的知识和基于网络的知识两种类型。

基于本体知识

文本相似度计算方法中使用的本体并不是严格的本体概念,而是指广义的词典、同义词库、词汇表和狭义的本体。 由于本体能够准确地表示概念的含义并反映概念之间的关系,因此本体成为文本相似性研究的基础[7]。 最常用的本体是通用词典,例如“知网”()和“同义词西林”。 除了词典之外,还有一些领域本体,比如医学本体、电商本体、地理本体、农业本体等。

结合Batet等人的研究,基于本体的文本相似度算法概括为四种类型:

下表列出了各种方法的基本原理、代表性方法和特点。

基于网络知识

由于本体字数的限制,一些学者开始转向基于网络知识方法的研究。 原因在于后者涵盖面广、语义信息丰富、更新相对较快。 最常用的网络知识是维基百科和百度。 百科全书。 网络知识一般包括两种结构,即条目页面之间的链接和条目之间的层次结构。

基于网络知识的文本相似度计算方法大多采用页面链接或层次结构,能够更好地反映术语的语义关系。 但其缺点是:各条目信息的完整性差异较大,计算准确性无法保证。 网络知识的生产方式是公众参与,导致文本缺乏专业性。

其他方法

除了基于字符串、基于语料库和基于世界知识的方法之外,还有一些其他的文本相似度计算方法,例如:

总结

本文总结了四种文本相似度计算方法,以及它们的优缺点。 作者认为,未来文本相似度计算方法的趋势将朝三个方向发展,即:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码