文本相似度计算研究进展综述
来源:论文查重 时间:2019-08-02 11:07:11
摘 要:相似度计算是自然语言处理工作的基石。随着自然语言处理技术的发展,相似 度计算的研究价值和应用价值突显。现有的计算方法因其复杂度和精确度的问题,与现实应用的 需求并不匹配。针对现有需求,对于不同粒度的文本,研究出一套适合大规模实际应用的相似度 计算方法体系迫在眉睫。从方法论的角度,对目前主流的相似度计算方法进行总结,介绍了不同 粒度的文本相似度计算的差别以及近几年的研究进展,总结了目前相似度论文查重计算方向存在的问题, 并对发展趋势进行了展望。 文本相似度计算是自然语言处理任务的基石, 对后续的文本处理起着非常关键的作用。文本相似 度一般指文本在语义上的相似程度,被广泛应用于 自然语言处理任务的各个领域。在机器翻译领域, 它可以作为翻译精确度的评价准则;在搜索引擎领 域,可用于衡量检索文本与被检索文本之间的相似 程度;在自动问答领域,可用来评定问题与答案之间 的语义匹配度;在抄袭检测领域,通过相似度计算可以检测出两段文本的抄袭程度;在文本聚类方面,相 似度阈值可以作为聚类标准;在自动文摘中,相似度 可以反映局部信息拟合主题的程度。 根据相似度计算方法的特点,文本相似度可以 分为字面匹配相似度、语义相似度和结构相似度。 字面相似度一般采用Jaccard距离、最小编辑距离、 最长公共子串等基本方法进行文本相似度计算。语 义相似度可以从基于统计和基于规则两方面进行考 虑;结构相似度计算的关键在于分析文本的句法 结构。 基于字面匹配的相似度算法只是单纯从词形上 考虑文本的相似度,认为“形似即义似”。车万翔 等…采用编辑距离计算相似度,用词语代替单个汉 字或字符作为基本编辑单元;俞婷婷等旧1根据J|}(n— gram窗口的大小)个字符在文本中出现的频率及其 所占权重,用Jaccard距离计算2个文本间的相似 度;李圣文等利用公共字符串的信息熵评价文本 相似度。 实际上基于字面匹配的文本相似度计算方法具 有很大的局限性,原因包括: 1)语言的多义同义问题。同一个词在不同的 语境下,可以表达不同的语义,例如“苹果”既可以 表示水果,也可以表示科技公司;同理,相同的语义 也可以由不同的词表达,例如“的士”、“计程车”都 可以表示出租车。 2)语言的组合结构问题。词是自然语言中的 最小语义单位,由词可以组成句子和篇章,不同的词 序可以表达不同的语义,如“深度学习”和“学习深 度”;更进一步,还存在句法结构问题,例如“从北京 到上海高铁”和“从上海到北京高铁”虽然含有的词 语完全相同,但其语义完全不同。 文本相似度的计算不能只停留在字面匹配的层 面,更需要语义层面的匹配,这涉及到语义的表示和 计算的问题。现有的算法分别从统计和规则两方面 进行考虑。 基于统计的经验主义思想源于Ha而s在1954 年提出的分布假设(dist曲utional hypotllesis)。这个 假设认为具有相似上下文的词,应该具有相似的语 义。其计算完全依赖于语料库,根据词汇在文本中 的共现频率衡量其语义相似度。目前,根据语料将 文本表示成计算机可操作的向量形式,是利用统计 方法计算文本相似度的主要思路。基于构建向量的 方式不同,有向量空间模型(vector space model, VSM)、主题模型以及神经网络模型3种表示方式。 VsM的缺陷在于:①对于大规模语料,VSM会 产生高维稀疏矩阵,导致计算复杂度增加;②VSM 假设文本中的各个特征词独立存在,割裂了词与词 之间的关系以及段落间的层次关系。因而用向量空 间进行文本相似度计算时,通常改进TF-IDF的计算 方法以提高精确度。例如,张奇等H1将文本用3个 向量(y。,%,K)表示,y。中的每一维代表特征词 的TF.IDF值,K根据一个bi-gram是否出现取值0 或1,K使用tri.舯m信息,取值同K,用回归模型 将3对向量相似度综合得到句子的相似度;华秀 丽哺1等利用TF.IDF选择特征项,利用知网计算文本 的语义相似度。 针对VSM中高维向量空间,一词多义和多词一 义的问题,学者们提出了各种主题模型。如潜在语 义分析模型和潜在狄利克雷分布模型,在词和文档 之间加人主题的概念,对文本隐含主题进行建模。 两篇文档是否相关不仅仅取决于字面上的词汇重 复,更重要的是挖掘文字背后的语义关联。 Deerwester掣刮于1990年提出潜在语义分析 模型(1atent semantic analysis,LSA),该算法的基本 思想是对大型语料库中的词语进行统计分析产生词 条一文档矩阵,并采用奇异值分解(sVD)技术剔除 不重要的奇异值,从而去除文本的“噪音”,将文本 从稀疏的高维词汇空间映射到低维的潜在语义空 间,在低维语义空间上使用余弦距离计算文本相似 度。这样做的优点在于两个相关的文本即使没有相 同的词汇也能获得相似的向量表示,更加符合文本 本身的关系。由于LsA算法过高的计算成本,LsA 并没有得到大规模的应用。 Blei等【刊于2013年提出隐含狄利克雷分布模 型(1atent dirichlet allocation,LDA)。它是一种对离 散数据主题信息进行建模的方法,可以用来识别大 规模文档集或语料库中的主题信息。文本的相似度 通过计算与之对应的主题概率分布来实现。由于短 文本的代表词少,LDA对于短文本的主题挖掘并不 一定能达到预期效果,因而更适用于长文本。例如 王振振等¨1利用LDA建立文本主题空间,增强文本 的向量表示。LDA对文档的主题建模,仅保留本质 信息,有助于高效处理大规模文档。 随着深度学习在图像、语音方面取得的进展,学者们又把目光转向了利用深度学习模型进行自然语 言处理的工作。如DSSM、ConvNet、Tree.LSTM、 siamese LsTM归叫纠都是在对词语或者句子建模的基 础上得到词向量或者句向量,并选择合适的距离公 式进行相似度计算。 利用神经网络模型进行文本的相似度计算有2 个思路。以句嵌入为例,一是直接将句子表示成句 向量,如Ryan Kims等¨4o采用seq2seq框架,借鉴 word2vec的skip.gram的方法,通过一句话来预测这 句话的上一句和下一句,在模型的encoder层生成 句向量,decoder进行上下文的向量预测;二是从词 的角度出发,组合句子中的词向量得到句向量,如 Arora等¨纠对一个句子中所有的词向量进行加权平 均得到句向量,并采用sVD或PcA方法进行修正, 在句子的相似度计算方面取得的效果比较好; Kusner等¨叫最小化2个句子中词向量的全局距离 之后,用EMD算法来计算句子的相似度;肖和等‘1 7。 利用神经网络模型结合上下文信息,学习单词在语 境中的向量表示,在依存句法树中分析句子中各个 词语的依存关系,得到整个句子的句义表示。 基于规则的理性主义方法是采用人工构建的、 具有规则体系的知识库进行文本相似度计算。根据 知识库中定义的规则,将词汇分解成概念,这样词汇 间的相似性度量就可以转化为相似性最高的概念间 的相似度。 知识库中概念的组织形式,如概念问的上下位 关系、同义、反义关系以及树状概念层次体系中的不 同要素(节点之间的路径长度、局部网络密度、节点 在树形图中的深度、节点包含的信息量等)都可以 作为词汇的特征项进行相似度计算。按照知识库的 种类划分,常用的语义词典包括《知网》(HowNet)、 《同义词词林》、wordNet等,常用的web语料库有维 基百科、百度百科等。 《知网》是一个以汉语和英语所表示的概念为 描述对象,以揭示概念间的关系、概念所具有的属性 间的关系为基本内容的常识知识库。《知网》采用 嵌套式结构,把复杂概念层层分解,直到能用一组义 原来表述。《知网》本质上是一种概念树结构,这个 结构比较符合人的思维方式,近些年来得到学者们 的广泛研究和应用。基于《知网》的词语相似度计算思想如下: WordNet以同义词集合为基本构建单位,每一 个同义词集合代表一个词汇的基本概念,并在概念 之间建立了上下位关系、同义关系、反义关系以及整 体部分关系。 目前基于wordNet的词汇语义相似度计算方法 如表1所示。 《同义词词林》将所有的词组织在1个或几个 树状的层次结构中,类似于WordNet的组织形式。 由于国外已经有很多专家对wordNet做了详细研 究,因而与其结构相似的《同义词词林》未来得到广 泛应用的潜力很大。 陈宏朝等∞引使用《同义词词林》基于路径与深 度的方法进行词语相似度计算,在MC30测试集上 得到皮尔森相关系数为0.856。彭琦等【3副基于信息 内容的方法,在MC30测试集上得到皮尔森相关系 数为0.899。 维基百科是目前最大的百科全书,每个页面都 有一个主题,页面之问通过链接相互访问。相对于 《知网》、wordNet等知识库,维基百科知识描述全 面,覆盖范围广泛,更新速度迅速,因而得到学者们 的青睐。 维基百科具有很好的结构化信息,可以将维基 百科看作2个巨大的网络:①由页面构成的网络 (页面网),每个节点代表一个页面,节点之间的连 接线代表页面之间的链接;②由类别组成的网络 (类别网),每个节点代表维基百科的一个类别,连 接线代表2个节点之间存在子类和父类的关系。 基于维基百科的代表算法有以下3种: Strube等‘34 o提出wikiRelate!算法,它将基于 wordNet的经典算法重新基于维基百科的类别网实 现,用维基百科的文档类型结构、文档内容分别代替 WordNet的概念层次结构、词汇定义。Gabrilovich 等”5。提出显性语义分析法(explicit semantic analysis,ESA),该方法类似于向量空间模型,首先构 建语义解析器,将每个维基百科的概念页面用TF— IDF(或其他特征抽取方法)表示成一个概念向量, 每个值表示相对应的词语与这个概念的相关程度, 通过比较2个概念向量的相似性判断词汇的语义相 似度。相比于WikiRelate!算法,ESA效果更加突 出。此外,Milne_3刮利用了维基百科页面之间的链 接信息,基于向量模型计算语义相关性,效果不 如ESA。 百度百科作为最大的中文百科全书,相似度计 算方法有以下2种:詹志建等13列对百度词条的百科 名片、词条正文、开放分类和相关词条4部分分别求 相似度,通过部分相似度加权得到整体相似度;尹坤 等旧副将百度百科看成一个巨大的有向图,基于图论 的思想计算相似度,通过2个词条所在文档之间的 链接关系来衡量2个词条的相似度。 句法分析是一种句子结构分析方法,借助句子 的依存关系进行句法分析。依存关系主张核心动词 (支配成分)为句子的中心成分,支配句子中的其他 成分(从属成分),支配成分与从属成分之问形成某 种依存关系。依存句法可以通过长距离的搭配信 息,反映出句子中各成分间的语义修饰关系,与句子 成分的物理位置无关。 虽然在学术界,相似度计算已经取得丰硕的研 究成果,但是随着自然语言处理技术的发展,对相似 度计算所能达到的精确度也提出了较高的要求。基 于以上论述,未来的研究方向值得从以下两方面 考虑: 第一,计算方法的单一导致计算结果非线性偏 高,基于混合建模的相似度算法将日渐丰富。基于 统计的方法能够反映文本在语义、语用方面的相似 性和差异,但受语料库的质量影响较大,尤其是在对 于特定领域进行文本相似度计算时,语料库的质量 对结果的精确度至关重要。基于规则的相似度计算 方法能够弥补语料库的数据稀疏和噪声问题,但规 则制定受人的主观影响较大,如果规则库不能及时 更新,规则的不完善将导致不能达到预期结果。基 于句法驱动的方法从句法结构的方面刻画句子的相 似度,但一般不适用于长句,随着句子长度的增加算 法的准确率、复杂度均呈现下降趋势。目前已有的 研究表明混合方法能在一定程度上弥补单一方法的 不足,提高相似度计算方法的精确度。 对于多种不同的方法,融合方法主要为加权和 回归,加权的方法对于权重的选择也是一个问题,采 取回归的方法需要考虑不同方法的不同特征。融合 方法的选择应该简洁高效,避免陷入单纯追求准确 率的提高而忽略其复杂性和实用性的“黑洞”。 所以关于使用何种技术融合以及采用哪几种算 法融合还有待深入研究,如果寻找到最佳结合点,混 合方法在未来必定取代现有的方法,成为一大发展 趋势。 第二,基于深度学习的建模方法将成为新的发 展热点。随着神经网络在语音、图像等领域都大幅 度超越传统算法,词向量、卷积神经网络、长短时记忆以及注意力模型等都被用于文本相似瘦计算中, 在训练的过程中挖掘文本的潜在语义特征,可以解 决人工构造特征而造成的特征不足问题;并且用向 量表示文本符合人的认知,因此在大数据量的情况 下利用神经网络的方法进行文本处理将会成为今后 的又一大发展方向,其在篇章相似度的计算方面将 会大展身手。 相关文章:文本相似度指标分析及文本相似性分析方法研究