基于文档结构的文档相似性度量方法

文档序号:6650227阅读:226来源:国知局
专利名称:基于文档结构的文档相似性度量方法
技术领域
本发明涉及一种文档结构相似性度量的数据处理方法。
背景技术
文档相似性度量是文本信息处理领域的一个核心问题,很多文本应用包括文档聚类、文档检索、文档过滤等,都依赖于文档相似性的精确度量。目前已经有许多文档相似性度量方法被提出和应用,例如余弦度量法(cosine measure)、Jaccard度量法、Dice度量法(参考文献W.B.Frakes andR.Baeza-YatesInformation Retrieval,Data Structure and Algorithms,1992)、基于信息论的方法(参考文献J.A.Aslam and M.FrostAnInformation-theoretic Measure for Document Similarity.In Proceedings ofSIGIR 2003)等,其中应用最广的是余弦度量法。
在以下文献中记载了文档相似性度量方法Dice度量法作者W.B.Frakes and R.Baeza-Yates,著作名称Information Retrieval,Data Structure and Algorithms,出版日期1992年。
基于信息论的方法作者J.A.Aslam、M.Frost,题目AnInformation-theoretic Measure for Document Similarity,期刊名称Proceedings of SIGIR’2003,出版日期2003年。
现有的文档相似性度量方法都是基于向量空间模型。在向量空间模型中,文档被看作一个词袋,并被表示为一个向量,词袋中的每一个词被表示为该向量的一维,向量的每一维对应的权值为其所代表的词的tf×idf值,tf为该词在文档中出现的频率,idf为该词的倒排文档频率。一般通过log(N/n)来计算某个词的idf,其中N为文档集合中的文档总数,n为文档集合中出现过该词的文档数目。
得到文档的向量表示之后,余弦度量法(cosine measure)是通过以下余弦公式计算得到两文档的相似度值simcosine(x,y)=x→·y→|x→|×|y→|]]>其中 和 分别是文档x和y的向量表示,·表示向量的点积,“||”表示取模计算。其他度量方法与余弦度量法的主要区别在于采用了不同的计算公式。
在以上文档相似性度量方法中,文档被压缩成向量表示,因此失去了文档自身的结构信息,即丢失了词语在文档各个部分的分布信息。极端情况下,两个表示为同一向量的文档可以由不同的句子所组成,而使用现有的度量方法将这两个文档分别与某个给定文档计算相似度时,计算结果会得到相同的相似度,但是实际上由于这两个文档是由不同的句子组成,这两个文档与给定文档之间应该具有不同的相似度值。因此,现有的度量方法的精确度不高。
每一个文档都由围绕一个中心主题的若干个子主题组成,每一个子主题反映在文档上为一个文本块,也就是一组反映某个子主题的词串或句子。词在子主题上不同的分布情况将会影响文档之间的相似性。对于两个文档来说,词在子主题上的分布越相似,这两个文档之间相似程度越高。在计算文档之间的相似度时,可以使用图论的最优匹配的算法,例如Kuhn-Munkres算法(也叫匈牙利算法The Hungarian Method)。
在以下文献中记载了Kuhn-Munkres算法作者W.S.Xiao著作Graph Theory and Its Algorithms,出版日期1993年。

发明内容
针对上述现有的文档相似性度量方法中存在的问题和不足,本发明的目的是提供一种基于文档结构的文档相似性度量方法,能够更准确地计算文档之间的相似性。
本发明是这样实现的一种基于文档结构的文档相似性度量方法,包括以下步骤(1)对于需要比较的两个文档X和Y,分别使用文档结构分析方法得出每个文档的子主题序列X={x1,x2,...,xn}和Y={y1,y2,...ym};(2)对文档X的子主题序列中的每一子主题xi,分别与文档Y子主题序列中的每一子主题yi利用相似性度量方法计算相似度值wij;(3)对步骤(1)得到的两个文档的子主题序列及步骤(2)得到的相似度wij,建立一个带权二部图G={X,Y,E},其中点集X,Y分别为两个文档中的子主题序列,边集E中的边eij联系子主题xi和yj,该边的权重wij为步骤(2)算得到的xi和yi的相似度值;(4)对带权二部图G={X,Y,E}求解最优匹配,对最优匹配的总权值进行规范化处理,即得到文档X与Y的相似度值。
其中,所述的文档结构分析方法为文本块分割方法(TextTiling)。
其中,所述的文档结构分析方法为聚类方法。
其中,所述的相似性度量方法为余弦度量法(cosine measure)。
其中,所述的相似性度量方法为Jaccard度量法。
其中,所述的相似性度量方法为Dice度量法其中,所述的相似性度量方法为基于信息论的方法。
其中,所述的求解最优匹配的方法为Kuhn-Munkres算法。
本发明提出的基于文档结构的文档相似性度量方法,解决了现有文档相似性度量技术中丢失了词语在文档各个部分的分布信息的问题,提高了文档相似性判断的准确度。


图1是本发明流程示意图;图2是使用本发明提出的方法进行文档相似搜索的示意图;图3是使用本发明提出的方法进行文档聚类的示意图;图4是文档子主题结构的例子;图5所示是一个最优匹配的例子。
具体实施例方式
每一个文档都由围绕一个中心主题的若干个子主题组成,每一个子主题反映在文档上为一个文本块,也就是一组反映某个子主题的词串或句子。词在子主题上不同的分布情况将会影响文档之间的相似性。对于两个文档来说,词在子主题上的分布越相似,这两个文档之间相似程度越高。
本发明优选实施例一,采用文本块分割方法(TextTiling)对文档结构进行分析,流程如图1所示包括以下步骤1、读入需要比较的两个文档X和Y,对于需要比较的两个文档X和Y,分别使用文本块分割方法(TextTiling)得出每个文档的子主题序列X={x1,x2,...,xn}和Y={y1,y2,...ym},具体步骤为①对读入的文档X进行分词,每20个词划分成1个词串,词串的大小可根据需要选择。
②为每两个词串之间的位置通过下列方法计算一个相似度值对于词串i和词串i+1之间的位置,计算由词串i-k到词串i组成的文本块与由词串i+1到i+k+1组成的文本块之间的余弦相似度值,这个值就是词串i和词串i+1之间位置的相似度值xi,然后对每一个位置的相似度值利用其两侧位置的相似度值的平均值进行平滑处理。其中k通常为6。
③对每两个词串i和i+1之间的位置计算其深度值si=(xi-1-xi)+(xi+1-xi),深度值越大,越有可能成为子主题分界点。只保留si>0的位置,对这些位置按照深度值从大到小排序。如果某个位置的深度值大于s-σ/2(其中s为平均深度值,σ位深度值的标准差),那么这个位置为一个子主题的分界点。所有的子主题分界点确定之后,就能得到文档X的子主题序列{x1,x2,...,xn},如图4所示,文档被划分为一个子主题序列。
对文档Y同样进行①-③步骤处理,得到文档Y的子主题序列{y1,y2,...ym};2、对文档X的子主题序列中的每一子主题xi,分别与文档Y的每一子主题yi利用余弦度量法计算相似度值wij;
3、建立一个带权二部图G={X,Y,E},其中点集X,Y分别为两个文档中的子主题序列,边集E中的边eij联系子主题xi和yj,该边的权重wij为步骤(2)算得到的xi和yj的相似度值;4、如图5所示,对带权二部图G采用Kuhn-Munkres算法求解最优匹配,得到最优匹配的总权重optmatch(X,Y),包括以下步骤①给出初始标号,l(xi)=maxjeij;l(yi)=0;i=1,2...,t;j=1,2.....,t;其中t=max(n,m);②求出边集El={(xi,yi)|l(xi)+l(yj)=eij}、Gl=(X,Y,Rl)及Gl中的一个匹配M;③如M已饱和X的所有结点,则M即是G的最优匹配,计算结束,否则进行下一步;④在X中找一M非饱和点x0,令A←{x0},B←φ,A,B是两个集合;⑤若NGl(A)=B,]]>则进行第⑨步,否则进行下一步,其中,NGl(A)⊆Y,]]>是与A中结点邻接的结点集合;⑥找一结点y∈NGl(A)-B;]]>⑦若y是M饱和点,则找出y的配对点z,令A←A∪{z},B←B∪{y},转第⑤步,否则进行下一步;⑧存在一条从x0到y的可增广路径P,令M←ME(P),转第③步;⑨按下式计算a值a=minxi∈A,yj∉NGl(A){l(xi)+l(yj)-eij},]]>修改标号
根据l′求El′及Gl′⑩l←l′,Gl←Gl′,转第⑥步。
5、对最优匹配的总权重按照下式进行规范化处理,从而得到文档X和Y之间的相似度值simnormized(X,Y)=optmatch(X,Y)min(length(X),length(Y))]]>其中optmatch(X,Y)表示求得的最优匹配的总权重,length(X)表示文档中子主题的个数,min(length(X),length(Y))为返回length(X)和length(Y)之中的较小的值。
本发明优选实施例二,采用聚类技术对文档结构分析,包括以下步骤1、读入需要比较的两个文档X和Y,对于两个文档X和Y分别利用聚类方法获得文档子主题序列,具体算法步骤为①对读入的文档进行分词,并将文档划分为n个句子;②计算任意两个句子之间的余弦相似度值;③采用数据聚类方法对句子进行聚类,每一类中的所有句子组成的文本块即为一个子主题。本实施例采用聚集式聚类方法来对句子进行聚类,步骤为a.初始每个句子成一类,共有k个类簇;b.现有k个类簇中具有最大相似度值的两个类簇c1和c2,通过如下公式计算c1和c2之间的相似度值s12s12=Σi=1mΣj=1nsim(pi,pj)m×n]]>
其中pi表示c1中的句子,pj表示c2中的句子,sim(pi,pj)表示句子pi和pj之间的余弦相似度值;m,n分别为c1和c2中句子的个数。
如果c1和c2之间的相似度值s12大于设定的合并阈值t=0.10,那么合并这两类成为一个新类,此时类簇个数k=k-1,如果k=1,则算法终止,否则返回步骤b继续进行新一轮类簇合并。
如果c1和c2之间的相似度值s12小于等于设定的合并阈值t=0.10,那么算法终止。
2、对文档X的子主题序列中的每一子主题xi,分别与文档Y的每一子主题yj利用余弦度量法计算相似度值wij;3、建立一个带权二部图G={X,Y,E},其中点集X,Y分别为两个文档中的子主题序列,边集E中的边eij联系子主题xi和yj,该边的权重wij为步骤(2)算得到的xi和yj的相似度值wij;4、如图5所示,对带权二部图G采用Kuhn-Munkres算法求解最优匹配,得到最优匹配的总权重optmatch(X,Y),包括以下步骤①给出初始标号,l(xi)=maxjeij;l(yj)=o;i=1,2...,t;j=1,2.....,t;其中t=max(n,m)②求出边集El={xi,yj)|l(xi)+l(yj)=eij}、Gl=(X,Y,El)及Gl中的一个匹配M;③如M已饱和X的所有结点,则M即是G的最优匹配,计算结束,否则进行下一步;④在X中找一M非饱和点x0,令A←{x0},B←φ,A,B是两个集合;⑤若NGl(A)=B,]]>则进行第⑨步,否则进行下一步,其中,NGl(a)⊆Y,]]>是与A中结点邻接的结点集合;⑥找一结点y∈NGl(A)-B;]]>⑦若y是M饱和点,则找出y的配对点z,令A←A∪{z},B←B∪{y},转第⑤步,否则进行下一步;⑧存在一条从x0到y的可增广路径P,令M←ME(P),转第③步;⑨按下式计算a值a=minxi∈A,yj∉NGl(A){l(xi)+l(yj)-eij},]]>修改标号 根据l′求El′及Gl′⑩l←l′,Gl←Gl′,转第⑥步。
5、对最优匹配的总权重按照下式进行规范化处理,从而得到文档X和Y之间的相似度值simnormized(X,Y)=optmatch(X,Y)min(length(X),length(Y))]]>其中optmatch(X,Y)表示求得的最优匹配的总权重,length(X)表示文档中子主题的个数,min(length(X),length(Y))为返回length(X)和length(Y)之中的较小的值。
如图2所示为利用本发明进行对相似文档的搜索。如图3所示为利用本发明进行文档聚类。
为了验证本发明的有效性,采用主题检测与追踪(TDT)大会的数据(TDT-3)进行了比较。在TDT-3数据集中一共有120个主题,每个主题下有人工标注的若干个文档。根据TDT的定义,属于同一主题中的文档之间比属于不同主题之间的文档之间更相似。对于给定的文档,通过不同的相似性度量方法从文档集合中找出最相似的200个文档,然后将这个列表跟答案比较,根据效果的好坏来比较各种文档相似性度量方法,包括最流行的余弦度量法(cosine),Smart系统中的对文档长度规范化的向量空间方法PivotedVSM,Okapi系统中的BM25方法。采用文档检索中常用的前5个结果中的准确率P@5,前10个结果中的准确率P@10,平均准确率(AverageP)来比较不同相似性度量方法的性能。实验结果如表1所示表1.不同相似性度量方法的性能比较

实验表明,本发明的方法能够更好地度量文档相似性,提高文档检索性能,在三个指标上都优于传统方法。
权利要求
1.一种基于文档结构的文档相似性度量方法,其特征在于,该方法包括以下步骤(1)对于待比较的两个文档X和Y,利用文档结构分析方法分别得到所述两个文档X和Y的子主题序列{x1,x2,...,xn}和{y1,y2,...ym};(2)对文档X的子主题序列中的每一子主题xi,分别与文档Y子主题序列中的每一子主题yj利用相似性度量方法计算相似度值wij;(3)对步骤(1)得到的两个文档的子主题序列及步骤(2)得到的相似度值wij,建立一个带权二部图G={X,Y,E},其中点集X、Y分别为两个文档中的子主题序列,边集E中的边eij联系子主题xi和yj,该边的权重wij为步骤(2)算得到的xi和yj的相似度值;(4)对带权二部图G={X,Y,E}求解最优匹配,对最优匹配的总权值进行规范化处理,即得到文档X与Y的相似度值。
2.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(1)中文档结构分析方法为文本块分割方法。
3.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(1)中文档结构分析方法为聚类方法。
4.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(2)中相似性度量方法为余弦度量法。
5.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(2)中相似性度量方法为Jaccard度量法。
6.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(2)中相似性度量方法为Dice度量法。
7.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(2)中相似性度量方法为基于信息论的方法。
8.根据权利要求1所述的基于文档结构的文档相似性度量方法,其特征在于,所述的步骤(4)中求解最优匹配所使用的方法为Kuhn-Munkres算法。
全文摘要
本发明公开了一种基于文档结构的文档相似性度量方法,涉及一种自然语言的处理方法。针对度量方法中丢失了词语在文档各个部分的分布信息,本发明提出的方法包括以下步骤(1)对于需要比较的两个文档X和Y,分别使用文档结构分析方法找出每个文档的子主题序列;(2)利用相似性度量方法计算任意两个分别属于不同文档的子主题之间的相似度值;(3)对步骤(1)及步骤(2)得到的子主题序列及子主题之间的相似度值,建立一个带权二部图G={X,Y,E};(4)对带权二部图G={X,Y,E}求解最优匹配,对最优匹配的总权值进行规范化处理,即得到文档X与Y的相似度值。本发明提出的方法,提高了文档相似性判断的准确度。
文档编号G06F17/27GK1959671SQ20051011741
公开日2007年5月9日 申请日期2005年10月31日 优先权日2005年10月31日
发明者万小军, 彭宇新, 杨建武, 吴於茜, 陈晓鸥 申请人:北大方正集团有限公司, 北京北大方正技术研究院有限公司, 北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1