【技术干货】自然语言语义相似度计算方法
导语:总体来看,文本相似度的计算方法主要分为两大类:一类是基于统计学的计算方法,此种方法需要大规模的语料库,并且在计算时没有考虑文本的句子结构信息和语义信息,计算的结果有时会与人对自然语言的理解不相符合;另一类是基于语义理解的计算方法,这种方法不需要大规模的语料库,但需要依赖于具有层次结构关系的语义词典,计算结果相对准确,与人对自然语言的理解较为符合。
计算机对主观题的自动评阅准确与否,主要取决于其对文本相似度的计算是否准确。由于文本相似度计算在文档复制检查、信息检索和机器翻译等领域都有十分广泛的应用,所以,近年来有越来越多的学者致力于文本相似度算法的研究。总体来看,文本相似度的计算方法主要分为两大类:一类是基于统计学的计算方法,此种方法需要大规模的语料库,并且在计算时没有考虑文本的句子结构信息和语义信息,计算的结果有时会与人对自然语言的理解不相符合;另
一类是基于语义理解的计算方法,这种方法不需要大规模的语料库,但需要依赖于具有层次结构关系的语义词典,计算结果相对准确,与人对自然语言的理解较为符合。下面介绍几种经典的文本相似度计算方法,并对他们各自的性能进行简要的分析。
1、基于向量空间模型的计算方法
向量空间模型简称VSM,是VectorSpaceModel的缩写,是近些年使用效果较好、且应用较为广泛的一种信息检索模型。在此模型中,文本被看作是由一系列相互独立的词语组成的,若文档D中包含词语t1,t2,…,tN,则文档表示为D(t1,t2,…,tN)。由于文档中词语对文档的重要程度不同,并且词语的重要程度对文本相似度的计算有很大的影响,因而可对文档中的每个词语赋以一个权值w,以表示该词的权重,其表示如下:D(t1,w1;t2,w2;…,tN,wN),可简记为D(w1,w2,…,wN),此时的wk即为词语tk的权重,1≤k≤N。这样,就把文本表示成了向量的形式,同时两文本的相似度问题也就可以通过两向量之间的夹角大小来计算了,夹角越大,两文本的相似度就越低。
weight是什么词
基于向量空间模型的计算方法假设文本中的词语是相互独立的,因而可以用向量的形式来表示,这种表示方法简化了文本中词语之间的复杂关系,也使得文本的相似程度变得可以计算了。向量表示方法中词语的权值应该能够显示出该词语对整个文本的重要程度,一般用经过统计得到的词频来表示;向量的所有分量组合在一起,应该能够将此文本与其他文本区分开。
大量统计结果表明,文本中出现次数最多的词语往往是反映句子语法结构的虚词以及文本作者想要阐述某个问题时所用的核心词,如果是围绕同一核心问题的文本,其核心词汇应该是类似的,所以这两类词对文本相似度的计算都是没有用的。因此,最高频词和低频词都不适宜做文本的特征词,只有词频介于最高频和低频之间的这部分词汇才适合做特征词。
在文本中出现频率较高的词语应该具有较高的权值,因此,在计算词语对文本的权重时,应考虑词语在文本中的出现频率,记为tf。仅考虑这一项是不够的,如果某一词语不仅在一个文本中出现,而是在文本集中的很多个文本中都有出现,例如“的”字在中文文本中的出现频率应该是相当高的,但它对于我们区分各个文本是没有帮助的,也就是说,这样的词语是不具备鉴别能力的。因而,在计算词语权重时还应考虑词语的文档频率(df),即含有该词的
文档数量。由于词语的权重与文档频率成反比,又引出与文档频率成反比关系的倒置文档频率(idf),其计算公式为idf=logN/n(其中N为文档集中全部文档的数量,n为包含某词语的文档数)。由此得出特征词t在文档D中的权重weight(t,D)=tf(t,D)*idf(t)。用tf*idf公式计算特征项的权重,既注重了词语在文本中的重要性,又注重了词的鉴别能力。因此,有较高的tf*idf值的词在文档中一定是重要的,同时它一定在其它文档中出现很少。因此我们可以通过这种方法来选择把那些词语作为文本向量的特征词。
特征词选择出来之后,就能确定文本的向量表示了,有了文本向量,我们就可以通过此向量计算文本的相似度了。相似度的计算方法很多,其中包括:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论