APP下载

基于向量空间模型结合语义的文本相似度算法

2018-06-12冯高磊高嵩峰

现代电子技术 2018年11期
关键词:词频语义

冯高磊 高嵩峰

摘 要: 针对向量空间模型方法忽略词语语义以及词语相互间结构关系,没有考虑词语表达的实际意义的缺点,提出一种新的文本相似度计算方法,该方法把语义相似度的计算融入到基于向量空间模型的文本相似度算法中,最终通过语义相似度和向量空间模型相似度加权得到文本相似度的结果。实验结果证明,所提出的相似度算法得到的召回率相比于向量空间模型方法以及现有的语义相似度算法都有不同程度的提高,从而证明了该算法的有效性。

关键词: 文本相似度; 向量空间模型; 语义; 词频; 召回率; 特征项

中图分类号: TN911.1?34; TP391.1 文献标识码: A 文章编号: 1004?373X(2018)11?0157?05

Text similarity algorithm combining semantics based on vector space model

FENG Gaolei, GAO Songfeng

(School of Mechanical?Electronic and Vehicular Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044, China)

Abstract: The semantics and structural relation of words are ignored in the vector space model method, and the practical meaning of word expression isn′t considered. Therefore, a new test similarity calculation method is proposed, which can integrate the calculation of semantic similarity into the text similarity algorithm based on vector space model. The similarity of semantics and vector space model is weighted to obtain the result of text similarity. The experimental results show that, in comparison with the vector space model method and available semantic similarity algorithm, the recall rate obtained by the proposed similarity algorithm is improved to different extents, which can prove the effectiveness of the algorithm.

Keywords: text similarity; vector space model; semantics; word frequency; recall rate; characteristic item

0 引 言

文本相似度的計算在很多信息处理的具体应用中起着重要的作用。在文本过滤、知识挖掘以及网页去重等领域中进行信息处理的关键是准确计算出文本的相似度[1];在信息检索中,为了提高文档检索的召回率和查准率,也需要对储存信息的文档进行有效的相似度计算[2?3];在文本聚类、机器翻译等领域,文本相似度同样有着非常重要的应用[4]。

目前文本相似度计算方法主要有如下两类:

1) 基于统计的方法。通过统计词语在文中出现的次数,以词频信息为基础进行文本相似度的计算。该方法大多基于向量空间模型,将文本建模作为空间向量并利用向量间的关系计算文本间的相似度。文献[5]通过向量空间模型的方法构建文本的特征向量,并使用向量间夹角余弦值计算文本间的相似度;文献[6]通过计算两文本特征向量之间最长公共子序列的方式反映文本的相似度。基于向量空间模型的方法忽略了词语在文本中的组织结构和出现的顺序以及词语的关系,没有考虑词语表达的实际意义。

2) 基于语义的方法。利用WordNet,HowNet等知识完备的语义词典中对词语及其层次结构关系的解释进行文本间相似度的计算[7?8]。文献[9]通过《知网》的义原层次体系计算词语间的相似度,提出一种基于语义的文本相似度算法;文献[10]通过将不同类型义原个数所占比例作为权重代入概念计算中,提出基于《知网》的变系数权重的词语相似度算法。基于语义词典的方法更加注重词语本身的实际意义,计算得到的相似度更为准确,但对词典的要求高,整体相似度通常由部分相似度合成而来,其中出现较多的加权值和参数容易导致计算结果产生偏差。

本文在深入研究和分析向量空间模型方法以及现有语义相似度计算方法的基础上,针对现有文本相似度算法存在的缺陷,把基于《知网》的语义相似度计算与向量空间模型的方法相结合,提出一种词频信息与词语语义相结合的文本相似度计算方法。首先对于内容规模较大的文本,在特征项选取过程中对文本向量模型进行降维处理;其次通过向量空间模型方法对文本进行相似度计算,提高计算效率;再利用基于《知网》的语义相似度计算方法对文本进行语义相似度的计算;最后设置合理的权重系数,通过加权得出两个文本之间的整体相似度,使得文本间的相似度计算更具合理性。

1 向量空间模型(VSM)

向量空间模型VSM(Vector Space Model)是Gerard Salton等人于1969年提出的,是一种简单、高效的文本表示模型。 VSM基本思想是:假设文本表达的中心思想与词语出现顺序、位置无关,而依赖词语在文本中出现的频率,将词语作为文本特征项,将文本用一特征项的权重为分量的空间向量来表示,一个文本就对应多维空间中的一个向量,通过将文本映射为向量的方式将文本间相似度的问题转换为在多维空间中不同向量之间的相似问题,使得对文本的处理变得更简单。

在利用向量空间模型法进行文本相似度计算时,最重要的是计算特征项的权重,某个特征项在文本中出现的频率越高,认为该特征项越能代表文本的中心思想。TF?IDF权重计算法是应用最多的一种计算权重的方法,每个特征项的权重由词频(TF)值和反文本频率(IDF)值两个部分构成。词频(TF)是指某个特征项在一个文本中出现的频率,即特征项在文本中出现的频次与文本的总长度的比值。反文本频率(IDF)是特征项在全局文本集合中出现的频率,它表示特征项在全局文本集合中的重要性程度,出现一个特征项的文本数越多,说明该特征项的区分度越差,其在文本集合中的重要性就越低。对于文本Ti中的第 k个特征项对应权重的计算方法为:

[ωik=TFik*IDFik] (1)

假设全局文本集中共有[M]篇文本, 特征项在[m]篇文章中出现过,则反文档频率IDFik值为:

[IDFik=logMm+α] (2)

其中α 为经验系数,一般取0.01。

式(1)表明,一个特征项在文本中出现的次数越多,相应的TF值也会越高,但是该特征项的权值ω不一定越高,这是因为文本中一些语气词、副词出现的次数很多,比如“的”,但是它们在每个文本中几乎都出现,没有很好的辨识度,所以IDF值就会很低,整体的权重也就会降低。

通过TF?IDF权重计算法计算出特征项的权重之后,就可以得到文本的特征向量,假设两文本Ti和Tj的特征向量分别为Vti=(ωi1,ωi2,…,ωin),Vtj=(ωj1,ωj2,…,ωjn),且两特征向量在空间中的夹角为θ,则文本Ti和Tj之间的相似度VSM_Sim(Ti,Tj)可以通过它们的特征向量之间的余弦值衡量,即:

[VSM_SimTi,Tj=cosθ=k=1nωik*ωjkk=1nω2ikk=1nω2jk] (3)

2 基于《知网》的词语语义相似度计算

《知网》是以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库[11]。《知网》中每一个词可以表达为几个“概念”,“概念”以“义原”为单位,通过知识表示语言对词汇进行描述。目前,基于《知网》的词语语义相似度计算可以分为三个过程:义原相似度计算、概念相似度计算和词语语义相似度计算。

2.1 义原相似度计算

《知网》知识体系中所有的义原根据上下文关系构成了一个树状的义原层次体系,因此可以通过树中各个义原之间的相互关系来计算义原相似度。许多学者在这方面进行了大量的研究,本文选取当前计算方法中两种比较有代表性的方法进行讨论。

文献[12]提出的公式:

[Sim(S1,S2)=αdistanceS1,S2+α] (4)

式中:[S1,S2]表示两个义原;distance[(S1,S2)]是[S1,S2]在义原层次体系中的路径长度;α是调节参数,一般取1.6。

文献[13?14]提出的公式:

[Sim(S1,S2)=α*mindepthS1,depthS2α*mindepthS1,depthS2+distanceS1,S2] (5)

其中:[S1,S2]表示两个义原;[depthS1],[depthS2]分别为[S1,S2]所在层次树中的深度;distance[(S1,S2)]为义原在层次树中的路径长度;[mindepthS1,depthS2]代表[S1]和[S2]在义原樹中层次深度较小的值;α为可调节参数,一般取0.5。

可以看出,式(4)只考虑了义原层次体系中义原之间的距离因素对义原相似度的影响,它忽略了义原本身因素的影响,计算得到的结果过于粗糙;式(5)在式(4)的基础上加入了义原在义原层次树中的深度因素对义原相似度的影响,计算结果更为合理。

2.2 概念相似度计算

虚词概念的相似度计算比较简单,只需要计算其对应的义原之间的相似度即可。实词概念的语义表达式分为四个部分[15?16]:

1) 第一独立义原描述式:相似度记为Sim1(S1,S2);

2) 其他独立义原描述式:语义表达式中除第一独立义原以外的所有其他独立义原,相似度记为Sim2(S1,S2);

3) 关系义原描述式:语义表达式中所有的关系义原描述式,相似度记为Sim3(S1,S2);

4) 符号义原描述式:语义表达式中所有的符号义原描述式,相似度记为Sim4(S1,S2)。

则两个实词概念的整体相似度记为:

[Sim(C1,C2)=i=14βij=1isimjS1,S2] (6)

式中:C1,C2表示两个概念;βi,1≤i≤4是可调节的参数,一般根据经验指定,且有β1+β2+β3+β4=1且β1≥β2≥β3≥β4,由于第一独立义原描述式反映了概念的主要特征,所以其权值一般在0.5以上。加入[j=1i的]原因是主要部分的相似度值对于次要部分起到制约作用,如果主要部分相似度比较低,那么次要部分的相似度对于整体相似度所起到的作用也要降低。

2.3 词语语义相似度计算

《知网》知识体系中一个词语可以由一个或者多个概念表示,则词语相似度可以直接转化为概念相似度的计算[17]。对于两个汉语词语W1和W2,如果W1有m个概念:C11,C12,…,C1m;W2有n个概念:C21,C22,…,C2n。则词语W1和W2的相似度是概念C1i和C2j所有组合中相似度的最大值,即:

[Sim(W1,W2)=Max(Sim(C1i,C2j))] (7)

式中: i =1,2,…,n; j = 1,2,…,m;Sim(W1,W2)为词汇W1与W2之间的相似度值;Sim(C1i,C2j)为概念C1i与C2j间的概念相似度值。

3 改进的文本相似度算法

3.1 文本预处理

在进行文本内容分析之前,首先要对文本进行预处理。分词是文本预处理的重要内容,分词就是对文本进行词的切分,将文本切分为单个词语,并对词语进行词性标注,分词正确率的高低对相似度的计算有着直接的影响。本文使用中国科学院的NLPIR中文分词系统对文本进行分词处理。通过NLPIR中文分词系统将文本进行分词处理后,文本会被分解成独立的词语,词语和词语之间用空格隔开,并且每个词语后面还有每个词语的相关词性标注。文本预处理还需要对分词过后的文本进行去除停用词的处理,一些对文本内容识别意义不大但出现频率很高的词称为停用词。由于停用词在计算相似度的过程中会引入很大的误差,可以看作是一种噪音。因此,为了提高效率和准确性,需要在进行相似度计算之前将停用词删除。去停用词一般根据停用词词典来处理。停用词词典一般是人们根据经验以及主观意识收集整理出来的一个词语的集合。如果某一个词处于停用词词典中,那么就将它从文本中删除。

3.2 特征项选择

特征项的选择是建立向量空间模型的重要环节,对于内容规模较小的文本可以将文本进行预处理后的所有词项作为特征项。而对于内容规模较大的文本,如果将文本预处理后的每个词项都作为特征项,进行TF?IDF值计算,建立文本的向量模型,这样得到的文本向量模型维度非常高,降低了计算的效率。因此,在计算内容规模较大的文本相似度时就需要对文本向量模型进行有效的降维处理,去除意义不大、区别能力不强的词项。由于某个词项在文本中出现的频率越高,TF?IDF值就越大,认为该特征项越能代表文本的主要意义。因此,可以将每一篇文本中词项的TF?IDF值从大到小进行排序,然后从中选取前60%的词项作为文本的特征项,这样选取的特征项既能代表文本的主要内容,又能达到对文本向量模型的降维要求。

3.3 改进的文本相似度计算

在经过文本预处理得到两文本的特征项之后,首先通过向量空间模型的方法计算出两文本的相似度;其次利用《知网》的词语语义相似度算法对文本中的特征项进行语义相似度计算;最后设置加权系数,通过加权的方法得出两个文本之间的整体相似度。

假设Ti,Tj为两个文本,定义它们的相似度为:

[Text_Sim(Ti,Tj)=γ*Hownet_Sim(Ti,Tj)+(1-γ)*VSM_Sim(Ti,Tj)] (8)

式中:VSM_Sim(Ti,Tj)是两文本向量空间模型相似度,可利用式(1)~式(3)得出;Hownet_Sim(Ti,Tj)是两文本的语义相似度;[γ]是语义相似度所占的比重系数。

语义相似度Hownet_Sim(Ti,Tj)的计算方法如下:

1) 首先构造两文本T1,T2的特征项相似度矩阵,设文本T1和文本T2的特征项集合分别为:

T1={t11,t12,…,t1m}, m为文本1的特征项数

T2={t21,t22,…,t2n}, n为文本2的特征项数

设N12为文本T1,T2特征项相似度矩阵,则有:

[N12=Sim(t11,t21)…Sim(t11,t2n)???Sim(t1m,t21)…Sim(t1m,t2n)]

式中Sim(t1m,t2n)为文本T1中第m个特征项与文本T2中第n个特征项之间的相似度值。

2) 采用《知网》中的词语语义相似度算法通过式(5)~式(7)得出相似度矩阵中两两特征项之间的相似度。

3) 取矩阵中相似度值最大的一个记作Max(l),并设立相似度阈值μ,将Max(l)与μ进行比较,如果大于相似度阈值μ,記录下与这个相似度值相关的两个特征项在各自文本中的权重值,最后将Max(l)所属行和列从相似度矩阵中删除。

4) 继续重复步骤3)直到矩阵中元素为零,得到的所有与Max(l)相关的文本T1中的特征项的权重为[ω′11],[ω′12],…,[ω′1l],文本T2中的权重为[ω′21],[ω′22],…,[ω′2l]。

5) 最后可得到特征项之间相似度最大匹配组合的集合:

[MaxL={Max(1),Max2,…,Max(l)}]

6) 根据特征项相似度最大匹配组合的序列得到两文本的语义相似度为:

[Hownet_Sim(Ti,Tj)=i=1lMax(i)l] (9)

3.4 加权系数的设置

根据向量空间模型的方法可知,权重越大的特征项越能代表文本的中心思想,也越能比较出文本间的相似度。如果两篇文本中彼此语义相似度较高的特征项在各自文本中所占的权重越大,说明这些特征项的语义相似度越能反映文本的相似情况,此时语义相似度的权重系数[γ]应该越大;反之,如果两篇文本中彼此语义相似度较高的特征项在各自文本中所占的权重较低,说明这些特征项不能体现出文本的主要内容,相应地,其语义相似度也就不能反映文本的相似情况,语义相似度的权重系数[γ]就应该较小。因此,可以通过特征项语义相似度的大小结合其在文本中的权重分布情况得出语义相似度的权重系数。根据语义相似度计算步骤4)中得到的满足语义相似度阈值[μ]的特征项权重,可以得到语义相似度的权重系数[γ,]具体计算公式如下:

[γ=12(k=1lω′1k+k=1lω′2k)] (10)

4 实验设计与结果分析

实验数据来源于知网的期刊论文,人工收集具有相似研究内容的期刊论文192篇,范围包括计算机、机械、电子、航空、化工、物理等6个领域,每个领域32篇,将各个领域论文的中文摘要提取出来组成一个文本集作为实验测试对象,用摘要作为测试对象是因为摘要的结构清晰、长度适中且摘要文本规模不大,不需要对文本向量空间模型进行降维。按照不同领域的摘要内容为每个领域的摘要文本创建一个基准文本,基准文本是一个与摘要文本规模相似并且与该领域的摘要文本有着不同相似度的文本,用人工识别的方法将不同领域的摘要文本与其基准文本进行相似度比较,将得到的相似度比较结果从大到小进行排序,将每个领域内的32个摘要文本按不同相似度值范围分为4组,每组包括8个摘要文本。

实验中首先采用NLPIR中文分词系统对文本集中的摘要文本和基准文本进行文本分词、去停用词,然后用TF?IDF方法对文本中的特征项进行权值计算,为了验证上述方法的有效性,便于比较结果的优劣,分别采用向量空间模型方法以及文献[10]中提出的方法与本文提出的方法计算各领域中的摘要文本与其基准文本的相似度,并将实验结果进行对比分析。实验结果的评价方法借鉴信息检索和统计学分类领域的评价方法,主要的评价指标为召回率(Recall),召回率即检索出的相关文本数和文本集中所有相关文本数的比率。将各组摘要文本与基准文本相似度计算结果处于该组相似度值范围的摘要文本的个数记为c,那么召回率[Recall=c8] 。实验结果如表1所示。

由表1可知,本文提出的文本相似度算法相比于向量空间模型方法以及文献[10]中基于词语语义的文本相似度算法在召回率上有明显程度的提高。究其原因,向量空间模型的方法没有考虑词语在文本中出现的位置,忽略了词语本身语义以及词语相互之间的结构关系,相似度计算偏差较大;文献[10]中的方法虽然考虑到词语的语义,但忽略了词语在文本中所占的权重大小,所以计算得到的召回率也较低;本文提出的方法在向量空间模型的方法中加入语义相似度的计算,把文本表达的实际意义考虑在内,降低因为语义而产生的计算偏差,计算得到的文本相似度能够更准确地反映文本间的实际相似度。综上所述,本文提出的算法对于文本的相似度计算更加合理,计算结果更加准确。

5 结 论

本文针对现有文本相似度算法存在的缺陷,在向量空间模型方法的基础上加入词语语义相似度的计算,从而解决了向量空间模型方法忽略词语语义以及基于词语语义的文本相似度算法没有考虑词语权重的问题。与现有的文本相似度算法相比,本文提出的算法对文本在语义和词频方面的相似度进行综合衡量,计算结果更加符合实际。

参考文献

[1] LI Hang, XU Jun. Semantic matching in search [R]. Boston: NOW, 2014.

[2] 程志强,闵华松.一种基于向量词序的句子相似度算法研究[J].计算机仿真,2014,31(7):419?424.

CHENG Zhiqiang, MIN Huasong. A sentences similarity algorithm based on word order of vectors distance [J]. Computer simulation, 2014, 31(7): 419?424.

[3] TATIANA A S C, PEREIRA C. Image retrieval using multiple evidence ranking [J]. IEEE transactions on knowledge & data engineering, 2004, 16(4): 408?417.

[4] 姜亚莉,关泽群.用于Web 文档聚类的基于相似度的软聚类算法[J].计算机工程,2006,32(2):59?61.

JIANG Yali, GUAN Zequn. A similarity?based soft clustering algorithm for Web documents [J]. Computer engineering, 2006, 32(2): 59?61.

[5] 郭庆琳,李艳梅,唐琦.基于VSM的文本相似度计算的研究[J].计算机应用研究,2008(11):3256?3258.

GUO Qinglin, LI Yanmei, TANG Qi. Similarity computing of documents based on VSM [J]. Application research of computers, 2008(11): 3256?3258.

[6] 金希茜.基于语义相似度的中文文本相似度算法研究[D].杭州:浙江工业大学,2009.

JIN Xixi. Similarity algorithm of Chinese text based on semantic similarity [D]. Hangzhou: Zhejiang University of Technology, 2009.

[7] LI Y, BANDAR Z A, MCLEAN D, et al. An approach for measuring semantic similarity between words using multiple information sources [J]. IEEE transactions on knowledge and data engineering, 2003, 15(4): 871?882.

[8] 刘青磊,顾小丰.基于《知网》的词语相似度算法研究[J].中文信息学报,2010,24(6):31?36.

LIU Qinglei, GU Xiaofeng. Study on HowNet?based word similarity algorithm [J]. Journal of Chinese information processing, 2010, 24(6): 31?36.

[9] 王小林,王东,杨思春,等.基于《知网》的词语语义相似度算法[J].计算机工程,2014,40(12):177?181.

WANG Xiaolin, WANG Dong, YANG Sichun, et al. Word semantic similarity algorithm based on HowNet [J]. Computer engineering, 2014, 40(12): 177?181.

[10] 金博,史彦军,滕弘飞.基于语义理解的文本相似度算法[J].大连理工大学学报,2005,45(2):291?297.

JIN Bo, SHI Yanjun, TENG Hongfei. Text similarity algorithm based on semantic understanding [J]. Journal of Dalian University of Technology, 2005, 45(2): 291?297.

[11] 董强,董振东.知网简介[EB/OL].[2017?05?29].http: / /www. keenage.com/.

DONG Qiang, DONG Zhendong. Introduction to HowNet [EB/OL]. [2017? 05?29]. http://www.keenage.com/.

[12] 刘群,李素建.基于知网的词汇语义相似度的计算[EB/OL].[2002?08?19].http://www.doc88.com/p?3714298265602.html.

LIU Qun, LI Sujian. Word′s semantic similarity computation based on Hownet [EB/OL]. [2002?08?19]. http://www.doc88.com/p?3714298265602.html.

[13] 李峰,李芳.中文词语语义相似度计算:基于《知网》2000[J].中文信息学报,2007,21(3):99?105.

LI Feng, LI Fang. A new approach measuring semantic similarity in HowNet 2000 [J]. Journal of Chinese information processing, 2007, 21(3): 99?105.

[14] AGIRRE E, RIGAU G. A proposal for word sense disambiguation using conceptual distance [C]// 1995 International Conference on Recent Advances in Natural Language Processing. [S.l.]: IEEE, 1995: 1?7.

[15] 张敏,王振辉,王艳丽.一种基于《知网》知识描述语言结构的词语相似度计算方法[J].计算机应用与软件,2013,30(7):265?267.

ZHANG Min, WANG Zhenhui, WANG Yanli. A word similarity computation method based on knowledge description language structure in HowNet [J]. Computer applications and software, 2013, 30(7): 265?267.

[16] 江敏,肖诗斌,王弘蔚,等.一种改进的基于《知网》的词语语义相似度计算[J].中文信息学报,2008(5):84?89.

JIANG Min, XIAO Shibin, WANG Hongwei, et al. An improved word similarity computing method based on HowNet [J]. Journal of Chinese information processing, 2008(5): 84?89.

[17] 朱征宇,孙俊华.改进的基于《知网》的词汇语义相似度计算[J].计算机应用,2013,33(8):2276?2279.

ZHU Zhengyu, SUN Junhua. Improved vocabulary semantic similarity calculation based on HowNet [J]. Journal of computer applications, 2013, 33(8): 2276?2279.

猜你喜欢

词频语义
基于词频分析法的社区公园归属感营建要素研究
语言与语义
“上”与“下”语义的不对称性及其认知阐释
词频,一部隐秘的历史
云存储中支持词频和用户喜好的密文模糊检索
认知范畴模糊与语义模糊
儒法两家经典的共词分析与研究*
以关键词词频法透视《大学图书馆学报》学术研究特色
汉语音节累积词频对同音字听觉词汇表征的激活作用*
“深+N季”组配的认知语义分析