相似文件的自动侦测方法

文档序号:6650041阅读:134来源:国知局
专利名称:相似文件的自动侦测方法
技术领域
本发明是有关于一种相似文件的侦测方法,且特别是有关于一种具备相似度定义弹性的自动侦测方法,其具有渐进式快速侦测所有相异的相似文件的特性。
背景技术
电脑文书软体的普遍应用,造成数位文件的大量增加。在处理或管理数位文件时,常常需要某些自动侦测或比对文件的功能。就如同数位文字在生产与利用过程中,需要基本的词汇比对技术,数位文件本身也需要类似的功能,也就是“比对”的“对象”要从“词汇”提升到“文件”的层次。这里所说的“文件”,是指由自然语文或词汇形成的一段或一篇文字。例如一般的文章、文章的“段落”、文章的“句子”、公文的“主旨”等栏位、使用者提问的“问题”或服务人员回答的“答案”等,都可视为是一篇篇的“文件”。
了解哪些“文件”雷同或相似,可以有很多应用。例如,当“文件”是使用者“提问的问题”时,侦测相似的文件,可以指引使用者参考过去已经有答案的类似问题,免除使用者等待其问题被回答的时间,同时避免类似的问题一再被提问。又如,当“文件”是公文的“主旨”时,侦测相似的文件,可以将同样案件的公文全部找出来,免除不知道要如何下查询词以找出所有同案公文的困扰。再如,当“文件”是文章的段落或句子时,侦测相似的文件,可以得知某些文章的内容,是否抄自某些文章的某些段落。再者,侦测相似文件,可以得知相同主题的文件,是否被分派到相同的类别,以便了解人工进行文件分类的一致性与可靠性。
词汇的相似比对或侦测,可以简单用字串比对,以比对是否相同,或用过去习知的n-gram(n连字,即任意相连的n个字元)断词方法进行比对,以比对其近似性。例如“李远哲院长”与“李院长远哲”,用1-gram比,则两个词汇都包含了“李”、“远”、“哲”、“院”、“长”等五个单连字,因此近似度是1。但只用单连字比对,则“日本”与“本日”的近似度也是1。若同时以单连字与双连字来断词,将断词后的结果视为向量,再以向量夹角的余弦公式(cosine)来比对相似度,则“李远哲院长”与“李院长远哲”两个词汇,可转换成以(李,远,哲,院,长,李远,远哲,哲院,院长,李院,长远)为向量,其中(李,远,哲,院,长)为取自“李远哲院长”与“李院长远哲”的单连字,(李远,远哲,哲院,院长)为取自“李远哲院长”的2连字,而(李院,长远)则为取自“李院长远哲”的2连字,并以(李,远,哲,院,长,李远,远哲,哲院,院长,李院,长远)分别对照“李远哲院长”与“李院长远哲”两个词汇,以该对应各分量维度的字串在词汇中出现的次数做为该分量维度的向量分量值,而得到(1,1,1,1,1,1,1,1,1,0,0)与(1,1,1,1,1,0,1,0,1,1,1)两向量值,且由余弦公式可算出此两向量余弦夹角为7/9=0.78,表示两向量在最高值为1的度量中,相似度为0.78。同理,“日本”与“本日”的相似度,也拉开到2/4=0.5。
从上例可知,比较词汇的相似度,跟断词方式、比对的度量公式有关。而比较文件的相似度,则跟更多因素有关。例如,文件中有标点符号、同义词汇、文句增删修改、词汇顺序更动、文句重组、某些词汇无比对意义(可称为“停用词”)、英文还有时态与大小写的变化等种种情况。本发明提出的方法,可将这些因素考虑进去,弹性的进行相似文件的比对与侦测。
本发明所指的相似文件侦测问题,是指从一堆多篇文件的文件集中,为每一篇文件或某一篇新给定的文件,找出跟其相似度超过某一门槛的所有其他的相似文件。后续的应用如有需要,可再将侦测得到的相似文件组合在一起,以获得所有相异的相似文件群组。
解决此问题的技术可运用于复本侦测(重复文件剔除)、同案追踪、抄袭侦测、近似问题比对、文件分类不一致侦测等,因此是相当具有应用价值的技术。
在过去习知的方法中,跟解决上述问题的相关技术有资讯检索领域常提到的文件归类方法(document clustering)。例如,在1989年GerardSalton写的书中(“Automatic Text ProcessingThe Transformation,Analysis,and Retrieval of Information by Computer”Addison-Wesley),提到有两种主要的方法可对文件集进行归类的动作一种是可称为由上而下的“分割法”(Divisive Clustering);一种是由下而上的“凝固法”(Agglomerative Clustering)。
“分割法”需事先假定要将文件集分割成几个群组,但此步骤本身就不符合我们的问题需求。例如在侦测文件复本时,我们事先根本不知道有哪几篇文件有复本以及有多少复本,因此不可能事先知道要分割成几个群组。
在“凝固法”方面,其必须先算出任意两文件的相似度,再根据文件之间的相似度利用完全连结(complete-link)、单一连结(single-link)或其他类似的方法两两合并成更大的群组(或树状结构),直到全部文件都分在一个群组(树状结构)之下,当给定某个门槛值后,再利用拜访树状结构的演算法,求得超过门槛的各个群组。然而这整个计算过程,超乎我们问题的要求许多,很多过程是可以不必要的。例如,在侦测文件复本方面,不需计算任意两文件的相似度,亦即m*(m-1)/2个相似度,其中m是文件篇数,而只需计算比较有可能相似的文件即可,以加速相似文件的侦测。虽然Salton的书中,也有提到类似的加速作法,但其需要庞大的记忆体,因而不够实用。
Salton书中提到的方法是利用反向索引档,将词汇出现的(对应到的)文件拿来计算其相似度,从而避开盲目计算两文件相似度的问题,但因要计算完所有词汇,两文件的相似度才算计算完成,因此计算机需要极庞大的主记忆体,来记录所有暂时的相似度,否则用到辅助记忆体,其速度将变得极缓慢,而失去运用该技术的价值。在我们实作的过程中发现,以“凝固法”对超过8千篇文件进行相似度计算,一般高阶桌上型电脑的主记忆体就容易用光,而难以进行更多文件的相似度计算动作。
另外,相似度计算完成后,不管是以complete-link或single-link做归类,其运算量也相当可观。根据Hinrich Schütze的估计,complete-link的计算量约0(m2log(m)),而single-link的计算量为0(m2)。然而在本发明所指的侦测相似文件的问题中,超过门槛的相似文件,即可视为等价的文件,不再需要细分彼此间的相似度,因此可以有更有效率的演算法将所有相异的相似文件分群归类出来,而不必藉助complete-link或single-link等较复杂的演算方法。
解决这里所提相似文件自动侦测的问题,真正比较相关的技术,目前还不是很多,在此详细介绍两种过去习知的自动侦测的方法,分述如下一、R-测量法(R-measure)Khmelev and Teahan在ACM SIGIR 2003年的会议中发表一篇论文,他们根据文件子字串的重复程度,提出R-measure的方法来计算文件集内每一篇文件在文件集中的相似度。所谓字串(string)可视为一连串的字元(character)。以T代表一字串,则以T[i..j]代表其子字串(substring),其中i与j为正整数,且i<=j。若以|T|代表T的长度,则T=T[1..|T|],T[i..i]为T的第i个字元,T[1..j]称为T的字头字串(prefix),T[i..|T|]称为T的字尾字串(suffix)。
假设文件集中有m篇文件,由T1,T2,...,Tm表示,根据Khmelev andTeahan的定义,某篇文件T在此文件集中的R值为R(T|T1,T2,...Tm)=2l(l+1)Σi=1lQ(T[i..l]|T1,T2,...Tm)]]>其中l代表文件T的字串长度(亦即l=|T|),T[i..l]代表T的第i个字尾字串,而Q(T[i..l]|T1,T2,....,Tm)代表T[i..l]的某个字头字串的长度,此字头字串在T1,T2,....,Tm其中一份文件出现,而且是T[i..l]的字头字串中最长的。例如,假设T=“cat sat on”,T1=“the cat on amat”,T2=“the cat sat”,则R(T|T1,T2)=210*11((7+6+5+4+3)+(5+4+3+2+1))=0.7272=0.8528]]>其中7是来自于”cat sat”这个字串(其为T[1..10]出现在T2中的最长的字头字串),其长度为7;而6来自于”at sat”,其为T[2..10]出现在T2中最长的字头字串;第二个5来自于”at on”,为T[6..10]出现在T1中最长的字头字串,其余依此类推。亦即,T在此文件集中,跟某些文件相似的程度为0.8528。其中,此R-measure的值域范围在0与1之间。
为了同时计算每一份文件Ti在文件集中的相似度,Khmelev和Teahan建议将所有文件串接起来变成单一个长字串,即Sc=T1$T2$...$Tm$,其中$为文件分隔符号,然后利用字尾字阵列(suffix array)的技术来计算。其所需计算时间(计算量)约0(|Sc|),亦即跟所有文件长度的总和成正比,或者相当于0(n*m),其中n是文件的平均长度。
Khmelev与Teahan成功运用R-measure方法,分别侦测过一万篇、两万篇,以及八十万篇文件集的复本,亦即找出相似度为1.0的所有文件,可惜他们并没有报告侦测这些文件复本真正花费的计算时间。然而在m篇文件的文件集中,上述计算量只会得出m个相似度值,其中第一个值代表第一篇文件在此文件集中跟某些文件的相似度,第二个值代表第二篇文件的相似度,依此类推。
也就是说,上述0(n*m)的计算量,只能知道每一份文件Ti在文件集中的最高相似度,而不是得出Ti跟每一篇文件的相似度,而且也不知道Ti跟哪一篇文件最相似。因此,若要知道这些讯息,则需要更多的计算量。
除此之外,直接运用R-measure于相似文件的侦测并不适合,因为很多文件比对的工作,经常要对文件进行字干处理(stemming)、停用词(stopword)舍弃、标点符号删除等动作。因此,相似文件的个数(或相似文件的定义)会因断词策略的不同,而有所不同。虽然文件可经上述前置处理后,再计算R-measure,但相似的文件,词汇顺序可能会有稍为更动的情况,这对依赖于字串顺序必须一致才能侦测相似度的R-measure而言,就不适用了。
二、D-测量法(D-measure)在电脑科学领域中,习知的近似字串比对方法,还有著名的动态规划比对法(dynamic programming),在此简称为D-measure。它可以比对字串的顺序,但也容许字串中有插入、删除、转换的情形,因此其严格程度,不若R-measure那么强。
在动态规划里,所谓编辑距离是指利用“插入”、“删除”、与“代换”的动作,将一个字串转成另一个字串“所需最少的步骤”(或是“所需最少的计算成本”)。在此我们运用的动态规划法可表达如下假设有两文件字串A与B,长度各为n与m。将两字串从头比对起,则比对到A的第i个字(以A[i]表示)与B的第j个字(以B[j]表示)的编辑距离为d[i,j]=min(d[i-1,j]+w(A[i],0),d[i-1,j-1]+w(A[i],B[j]),d[i,j-1]+w(0,B[j]))其中min(X,Y,Z)表示取X,Y,Z三个数中最小的值,而初始值为d
=0d[i,0]=d[i-1,0]+w(A[i],0),1<=i<=nd
=0,1<=j<=m另外,函数w(X,Y)的意义为w(A[i],B[j])表示将A[i]代换成B[j]的计算成本w(A[i],0)表示插入A[i]的计算成本w(0,B[j])表示删除B[j]的计算成本以A=adc,B=decadecf为例,且假设代换、插入与删除的计算成本都为1,则d[i,j]可以表示成矩阵的第i列的第j行,如下

当上述动态规划比对完成,从最后一列的后面扫瞄,找到数值最低者,即为其编辑距离。为了便于比较不同长度文件的相似度,Lopresti等人以公式sim=exp(editedit-m)]]>将编辑距离转换成相似度,其中exp为自然指数(natural exponent),edit为编辑距离,m为短文件的长度。此相似度介于0到1之间,数值越高,相似程度越高。以上面的A与B字串为例,其相似度为exp(1/-2)=0.6065。
从上述矩阵的运算可知,计算任意两文件的D-measure需要0(n2)的计算量,且假设两文件长度都为n。计算文件集中所有文件的D-measure,则需0(m2*n2)的计算量。由于没有快速的演算法可用,当文件量大时,D-measure并不适合计算所有文件之间的相似度。但用来验证个别两文件之间的相似度则为可行。
综合过去习知方法的缺点,不是计算量太大或记忆体要求太高而无法有效率的处理大量文件,就是依赖于字串或词汇的顺序,以致于容易遗漏某些相似文件,而无法有效的侦测出相似文件。

发明内容
本发明的目的就是在提供一种相似文件自动侦测的方法,其特性包括允许弹性的定义程度不同的相似度、可以平行快速地计算出所有相似的文件、渐进式地计算新加入文件与其他既有文件的相似度,以及有效侦测出过去习知方法难以侦测的相似文件等特性。
本发明提出一种相似文件的自动侦测方法,用以自多个测试文件中侦测出彼此之间具有相似内容或相似主题的文件,或侦测出相似于一待比对文件的该些相似文件。该自动侦测方法的步骤包括依照一断词策略,将该些测试文件分别进行断词处理,获得多个断词词汇,接着根据该些断词词汇,建立一文件向量资讯,其中该文件向量资讯包括对应该些测试文件的多个文件向量,而每一该些文件向量包括多个分量维度及多个向量分量值,然后将该文件向量资讯转换为词汇到文件的一反向索引档,另外将每一该待比对文件依上述步骤,求得一待比对文件向量,并选择一相似度比对法,透过该反向索引档,计算出该待比对文件与该些测试文件间的多个相似度,储存并累积每一待比对文件跟该些测试文件的相似度后,扫瞄并判断该些相似度是否高于一门槛值,若高于该门槛值,则将该些相似度所对应的该些测试文件视为此待比对文件的相似文件,之后视应用需要合并该些相似文件以找出所有相异的相似文件。
依照本发明的较佳实施例所述相似文件的自动侦测方法,上述的根据该些断词词汇,建立该文件向量资讯的步骤包括将该些断词词汇作为该些文件向量的该些分量维度,接着计算该些分量维度的该些向量分量值,然后集合该些文件向量,建立该文件向量资讯。
依照本发明的较佳实施例所述相似文件的自动侦测方法,上述的计算该些分量维度的该些向量分量值的步骤为计算该些断词词汇在每一该些测试文件中出现的次数以及在所有该些测试文件中出现的篇数,获得该些分量维度的该些向量分量值。
依照本发明的较佳实施例所述相似文件的自动侦测方法,更包括删除该测试文件的标点符号及杂讯字串。
依照本发明的较佳实施例所述相似文件的自动侦测方法,更包括将该些断词词汇进行一正规化动作,其中该正规化动作包括英文大小写一致化及英文字干撷取。
依照本发明的较佳实施例所述相似文件的自动侦测方法,更包括建立一同义词库,使该些测试文件中多个同义名词对应到单一相同词汇。
依照本发明的较佳实施例所述相似文件的自动侦测方法,更包括建立一停用词库,用以剔除该些测试文件中多个停用词,其中该些停用词包括虚词、连接词、无意义词,以及不需比较的词汇。
依照本发明的较佳实施例所述相似文件的自动侦测方法,上述的断词策略包括n连字(n-gram)断词法、词库法、关键特征撷取法,以及多种上述该些断词策略并用。
依照本发明的较佳实施例所述相似文件的自动侦测方法,上述的相似度比对法包括向量余弦夹角比对法及位元尺寸正规化(Bytesizenormalization)比对法,而所得的相似度的大小介于0与1之间。
依照本发明的较佳实施例所述相似文件的自动侦测方法,上述计算出该待比对文件与该些测试文件间的该些相似度的步骤包括找出该待比对文件向量的该些分量维度中非零值的多个词汇,接着透过该反向索引档,取得该些词汇对应该些测试文件的该些向量分量值,然后依照相似度比对公式计算,以获得该待比对文件与该些测试文件间的该些相似度。
本发明因采用对每一篇测试文件分别进行词汇断词处理,并由断词词汇形成的文件向量,据以计算相似度,而求得相似于待比对文件的多个相似文件,改进习知技术字汇顺序必须一致才能侦测相似度的缺点。另外,利用一反向索引档,提供快速查阅每个词汇在每一篇测试文件中出现次数的途径,而能够达到快速计算相似度的目的。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。


图1是依照本发明较佳实施例所绘示的相似文件的自动侦测方法流程图。
图2是依照本发明较佳实施例所绘示的建立文件向量资讯的方法流程图。
图3是依照本发明较佳实施例所绘示的计算待比对文件与测试文件的相似度的方法流程图。
图4是依照本发明较佳实施例所绘示的侦测FJU CTC相似文件的部分结果。
图5是依照本发明较佳实施例所绘示的相似文件的自动侦测的统计结果。
图6是依照本发明较佳实施例所绘示的从Reuters-21578侦测出来的两份文件。
图7是依照本发明另一较佳实施例所绘示的从FJU CTC侦测出来的两份文件。
图8是依照本发明较佳实施例所绘示的不同相似程度的近似文件数与分类一致性统计表。
S110将测试文件分别进行断词处理S120根据断词词汇建立文件向量资讯S130将文件向量资讯转换为词汇到文件的一反向索引档S140求得一待比对文件的一待比对文件向量S150透过反向索引档计算待比对文件与测试文件的相似度S160判断相似度是否高于一门槛值S170相似文件S180非相似文件S190合并相似文件S210将断词词汇作为文件向量的分量维度S220计算分量维度的向量分量值S230集合文件向量建立文件量资讯S310找出待比对文件向量的分量维度中非零值的多个词汇S320透过反向索引档取得这些词汇对应各测试文件的向量分量值S330根据相似度公式计算待比对文件与各测试文件间的相似度具体实施方式
图1是依照本发明较佳实施例所绘示的相似文件的自动侦测方法流程图,本实施例藉由一预先建立的反向索引档,使得在比对文件时,可以透过此反向索引档,快速取得文件中各断词词汇所对应的分量值,从而计算此文件与测试文件间的相似度。本实施例首先针对一文件集中的多篇测试文件选择一适当的断词策略,并对每一篇测试文件分别进行断词处理(步骤S110),其中断词策略可采用n连字断词法、词库法、关键特征撷取法,或是上述多种方法并用,然而并不限制其范围,使用者当可视实际需要,在不脱离本发明的精神下,采用其他种类的断词策略。
接着,将由测试文件中断出来的不同的断词词汇,建立一文件向量资讯(步骤S120),然后将此文件向量资讯转换为词汇到文件的一反向索引档(步骤S130)。
另外,以上述同样方式求得一待比对文件的一待比对文件向量(步骤S140),其中此待比对文件可为一外部给定的文件或是文件集中测试文件的其中一篇。如此,透过反向索引档来计算此待比对文件与各篇测试文件间的相似度(步骤S150)。此外,本发明的一实施例是重复上述两个步骤,以求得多个待比对文件的待比对文件向量,并透过反向索引档求出各个待比对文件与各篇测试文件间的相似度。上述相似度的大小是介于0与1之间,且此相似度的比对方法可采用向量余弦夹角比对法或是位元尺寸正规化比对法,然而并不限制其范围,使用者当可视实际需要,在不脱离本发明的精神下,采用其他种类的相似度比对方法。
最后,判断上述所得待比对文件与各篇测试文件间的相似度是否高于一门槛值(步骤S160),若相似度高于此门槛值,则将此相似度所对应的测试文件归类为待比对文件的相似文件(步骤S170);反之,则归类为非相似文件(步骤S180),其中门槛值是由使用者选择设定得来。而在相似文件侦测出来之后,可视应用需要合并这些相似文件以找出所有相异的相似文件(步骤S190)。
在储存并累积每一待比对文件跟该些测试文件的相似度时,只需将每一待比对文件的相似文件及其相似度依序附加累积于一结果档案即可,而且因为我们的目的在侦测具有较高度相似的文件,因此可以排除极低度相似的文件,而不储存其结果,以便使后续的应用处理更加快速。
因应某些需求,在合并该些相似文件以找出所有相异的相似文件时,可在一开始时将每一待比对文件视为一棵原始独立树的树根父节点,而其超过门槛的相似文件视为其子节点,然后依拜访树状结构的搜寻法,把是某棵树子节点的(原始独立树)父节点,接到此棵树来形成更大的树,亦即将子节点与父节点为同一文件者合并起来,并把拜访过的独立树删除或注明为拜访过而不再重复拜访,全部原始独立树都拜访合并过后,留下来的独立树,即为所有相异的相似文件,其中每颗独立树所包含的文件都是彼此相似的文件。此方法所需计算量,线性等比于文件的数量,即0(m),比起前述归类分群方法,更加快速有效率。
另外,为了能够允许不同程度定义的相似文件的侦测,在上述本发明实施例将文件进行断词处理的步骤中,还可视需要将文件中的标点符号、同义词汇、英文大小写、停用词等因素考虑进去,其方法分述如下一、删除文件中的标点符号,以及杂讯字串。
二、对断出来的断词词汇进行某些正规化动作,包括英文大小写一致化、英文字干撷取(Stemming)等,例如根据Porter演算法,可将retrieve、retrieval,以及retrieving都转换成相同的retriev一字。
三、建立一同义词库,使该些测试文件中多个同义名词对应到单一相同词汇。
四、建立一停用词库,用以剔除该些测试文件中多个停用词,只留下出现频次超过一定门槛的关键词,来进行相似度比对,如此会容许较多的文件有较高的相似度,即便这些文件在停用词上有很多差异,只要其主题词汇或关键词相似即可,其中停用词包括虚词、连接词、无意义词,以及不需比较的词汇。
此外,由于可以选用不同的断词策略,以及断出的词汇可以选择进行停用词过滤、词汇正规化、同义词合并等动作,文件相似度的定义可以弹性变化,而定义得严谨一点,或宽松一点。例如不做词汇正规化、同义词、停用词等处理,则可定义出用字用词要相当一致的相似文件;或者选择进行词汇正规化、同义词、停用词等处理,而定义出主题一致但文字却可容许相差较大的相似文件。只要在建立索引档时,所有的选择都考虑到而建立完整的资讯,在文件比对时是可以动态选用这些前置处理动作,而弹性地获得不同定义的相似文件。再者,将待比对文件做相同断词处理、取其文件向量、比对完相似度、储存比对结果后,可并入原测试文件的反向索引档中,作为后续新到待比对文件以相同流程计算其跟既有文件相似度的基础,如此可以渐进式的计算新到文件与既有文件的相似度,并并入既有的计算结果,而无须为了一篇新到文件,来重新计算所有文件的相似度。
图2是依照本发明较佳实施例所绘示的建立文件向量资讯的方法流程图,本实施例是在对测试文件进行断词之后,由所断出的断词词汇,计算对应各测试文件的文件向量,并统整为一文件向量资讯供后续查阅之用。本实施例首先将所断出的每一个断词词汇作为该些文件向量的一个分量维度(步骤S210),而形成一分量维度数目与断词词汇数目相同的文件向量,接着计算对应各个分量维度的向量分量值(步骤S220),此向量分量值可由这些断词词汇在每一件测试文件中出现的次数以及在所有该些测试文件中出现的篇数的函数计算而得,然后才集合对应各测试文件的文件向量,建立一文件向量资讯(步骤S230)。(图2为说明图1流程中建立文件向量资讯的步骤S120的小步骤,此图是对应于申请专利范围第2项)图3是依照本发明较佳实施例所绘示的计算待比对文件与测试文件的相似度的方法流程图,本实施例是藉由图1的流程的步骤S130中所建立的反向索引档,取得对应待比对文件向量中各非零分量维度词汇的向量分量值,从而计算此待比对文件与各测试文件间的相似度。本实施例首先找出此待比对文件向量的分量维度中非零值的词汇(步骤S310),然后透过反向索引档,取得这些词汇对应各个测试文件的向量分量值(步骤S320),并根据相似度公式计算,获得此待比对文件与各个测试文件间的相似度(步骤S330),其中此相似度公式可为累加这些向量分量值,然并不限制其范围,使用者当可视实际需要,在不脱离本实施例的精神下,使用其它种类的相似度公式。
一般设计良好的系统,建立反向索引档所花的时间大约跟文件总长度成正比。在比对单一篇文件与其他文件的相似度上,由于透过反向索引档的运作,其需要的计算时间最长约0(n*m),所需的记忆体最高也是约0(n*m),其中n为待比对文件的词汇数,m为所有的其他文件篇数。因此计算每一篇文件对其他文件的相似度,全部需要0(n*m2)的计算量,而记忆体需求为0(n*m)。但是这个估计结果,是假设最糟糕的情况发生,亦即每一篇文件的每个词汇都出现在其他的所有文件里。在自然语言的文字分布上,这几乎不可能,只会有少数的词汇出现在很多文件,而绝大多数的词汇只出现在少数的文件。因此,在实际运用本发明时,其全部的计算量应该是远低于0(n*m2)(约0(n*m),甚至为0(n)),所需的记忆体,则约0(m)。
为凸显本发明的优点,在此另外再举一实施例,以两个公开可取得的文件集,来比较各方法的结果。第一个文件集称为Reuters-21578,里面约有10789篇路透社(Reuters)的英文财经新闻短讯,每篇文件平均约含133个英文字(word),其中每一文件都有人工给定的类别标示。Reuters-21578文件集乃经历1991年与1996年两次的人工整理,并且除去了595篇重复的文件(根据文件的时间标签,去除连秒数都相同的重复文件),是学术界研究文件自动分类时最被广为运用的测试集。第二个文件集称为FJU CTC,里面有28011篇介于1966到1982年间中国大陆广播电台的新闻广播手抄稿,每篇文件平均约含619个中文字元(character),同样的,每一文件都有人工给定的类别标示。由于FJU CTC的文件来自于广播手抄稿以及人工打字,因此错字、漏字,甚至句子或段落错漏的情况,不算少见。
有了上述两个测试集,分别利用R-measure技术与本发明的方法来侦测两测试集的相似文件,以作为对比。在运用本发明的方法时,我们断词的策略是文件中任何单一字符(token,即一个“中文字”或一个“英文字(word)”)、双连字符(2-token,即文件中所有相连的两个字符),以及根据先前发明的数位文件关键特征的自动撷取方法(中国台湾公告第153789专利)自动撷取文件中的多字关键词(multi-word keyphrases)都拿来重复断词,而且,所有的停用词(如the、of、我、你等没有主题意义的字或词)也都没有滤除,而一起建进反向索引档。而相似度计算公式乃参考Singhal等人用以改良Cosine相似度的计算方法,称做位元尺寸正规化(bytesize normalization)公式,如下所示Sim(di,qj)Σk=1Tdi,kqj,k(bytesizedi)0.375Σk=1Tqj,k2]]>其中di代表某文件i,qj代表待比对的文件j,di,k代表词汇k在文件i中的权重,常为其词频的函数(如log(1+tfi,k)),qj,k代表词汇k在文件j中的权重,常为词汇出现篇数的函数(如log(1+n/dfk),n为所有文件的个数),而bytesizedi表示文件i的长度(以位元为单位)。此公式乃向量余弦公式的近似,但比向量余弦容易计算,且比较不受文件杂讯(如打错字或OCR错字,造成词频统计错误)的影响。其值最小为0,最大超过1。当超过1时,视需要可以切截成1,使其落在0与1之间,以表示相似度。惟bytesize公式有方向性,Cosine则无。亦即利用bytesize公式计算时,文件A到文件B的相似度与文件B到文件A的相似度可能不同,但这不妨害bytesize公式的应用,我们可以取两个相似度中较大者即可。在Singhal以及我们过去的成效评估中,此位元尺寸相似度公式可以得到比向量余弦公式更好的相似度比对成效。
为了凸显本发明的弹性,对Reuters-21578的文件集做相似文件侦测时,没有做额外处理,就将全文断出来的全部词汇,拿来跟其他文件一起做相似性比对。平均而言,Reuters-21578中每篇文件有133个英文字被拿来比对,占原文件词汇数的100%,亦即原文中每个词汇皆被拿来比对。根据我们的实作实验,在一般的电脑上,建立Reuters-21578的10789篇文件的反向索引档,花费不到300秒,侦测10789篇文件中的复本情形则大约花费2500秒左右。而侦测FJU CTC文件集时,则删除功能词、连接词等无主题意义的词汇,再做相似性比对。平均而言,FJU CTC中每篇文件约只有88个词汇被拿来比对,约只占原文件词汇数的38.42%,亦即每篇文件约有61.58%的文字,是无主题意义的词汇,而这些词汇都被删掉而没有拿来做相似度比较。
根据我们的实作实验,建立FJU CTC的28011篇文件的反向索引档,花费不到700秒,侦测28011篇文件中的复本情形,在单一部电脑上则大约花费30000秒左右。若将反向索引档复制到多部电脑上,则可以让不同电脑完全平行地同时计算相似度,其计算时间可以成倍数的缩短,最后合并运算结果时,只要把储存的累计结果档案合并在一起即可。
图4是依照本发明较佳实施例所绘示的侦测FJU CTC相似文件的部分结果。请参考图4,其中第一栏的五位数字代表文件编号,其后的栏位内容,则是该文件的相似文件的编号及其相似度(以冒号隔开)。例如,文件编号00127有相似文件00129及00134,其与00127的相似度分别为1.00与0.99,而文件00132则没有相似文件,或与其相似的文件因相似度极低而没有被纪录。根据此部分结果,依照本发明所述合并相似文件的方法,在门槛值为0.95时,所找出来的所有相异的相似文件共有三群组,即(00125,00131)、(00126,00130)与(00127,00129,00134),合计在10篇文件中,共有7篇文件属于相似文件。根据此分群结果,若要剔除重复文件,则仅需保留每一群组中一篇文件即可,而若要侦测文件分类是否一致,则检查每个群组中,任意两文件的分类是否完全一样即可。
依照上述细节进行的相似文件自动侦测,其统计结果如图5所示。其中R-measure方法侦测出的相似文件数量,在Reuters-21578中有177篇,在FJU CTC中有113篇。这些文件跟文件集中的某些其他文件,有最高的R-measure相似度(>=1.0),亦即这些文件是其他文件的复本。当我们使用本发明侦测时,则复本数分别提高到269与1956篇,其中之所以会有如此的差别,一如前述,上述三种相似度计算方式,都有其认可的范围,当索引词定义不同或断词方式不同时,相似文件数也会不同。
另外再比较Reuters-21578中的两文件作为本发明的又一实施例,图6是依照本发明较佳实施例从Reuters-21578中所侦测出来的两份文件,其文件编号分别是2782与2880,它们只有少数几个地方不同,如底线所示。此两份文件的相似度,依照R-measure为0.17,依照D-measure为0.83,而依照本发明为1.0,其中显示R-measure非常不能容许少数文字的差异,而本发明的容许度最高,D-measure次之。这两篇文件,是从本发明所侦测出的269篇复本中,以D-measure做确认,再找出D-measure最低的文件而来,因此是这269篇复本中最不相似的两篇。就人的判断而言,这两篇可被认为是复本关系,而少有争议。以此例而言,本发明成功侦测出复本,其他则否,而运用R-measure遗漏侦测的情况,算蛮严重的,在Reuters-21578中遗漏269-177=92篇,在FJU CTC中遗漏1965-113=1852篇,其中FJU CTC的情况似乎很严重,其原因在于我们连停用词都拿掉不比较,只比较具有主题意思的词汇。
因此,如图7中的两篇文章,可算是相同主题(“大量印行宝书”对上“毛著大量出版发行”),但其字串有很多不同。此现象以R-measure一定无法侦测,但由本发明所计算而得的相似度为1.0。同样的此两篇文件也是从1965篇复本中,透过D-measure确认而来(其D-measure相似度只有0.0839)。
如果我们把相似程度放宽,则可以得到不同数量的重复或相似文件,若把这些相似文件与人工分类的状况拿来比对,则可以大致了解其分类的一致性。图8是依照本发明较佳实施例所绘示的不同相似程度的近似文件数与分类一致性统计表。请参考图8,当相似度放宽到0.6时,可以看出FJUCTC的近似文件有12056篇,其中有9618篇的分类不一致,占全部文件集数量的34.34%。相对的,Reuters-21578则仅有246篇(占2.28%)的文件分类不一致。
受分类架构设计、类别定义范围,以及分类者学识背景、主题判断认知差异等影响,主题内容相似的文件,不见得都会被人工分类对应到相同的类别,因而造成分类不一致的情况。透过本发明提出的方法,我们可以自动的侦测分类文件集里人工分类不一致的状况,从而提供后续决策、正确解读分类实验数据的参考。
综上所述,在本发明的优点可概括如下一、相似度不受词汇顺序的影响。
二、允许错字、漏字的相似比对。
三、可以弹性调整待比对的词汇(如断词方式、标点符号删除、停用词过滤、词频过滤),或对词汇进行某些正规化处理(如大小写一致化、字干处理、同义词处理等),甚至选用不同的相似度度量公式,而定义出不同的相似文件。
四、与过去的方法比较,此方法可以侦测过去方法所无法侦测到的相似文件。
五、可多部电脑分别平行运算,成倍地加速相似文件的侦测。
而由本发明所揭露的技术,可运用于文件复本侦测、重复文件剔除、抄袭侦测、同案追踪、类似或重复问题的搜寻或侦测、分类一致性侦测等,因此相当具有应用价值。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种相似文件的自动侦测方法,用以自多个测试文件中侦测出与一待比对文件具有相似内容或相似主题的多个相似文件,其特征在于该自动侦测方法包括下列步骤依照一断词策略,将该些测试文件分别进行断词处理,获得多个断词词汇;根据该些断词词汇,建立一文件向量资讯,其中该文件向量资讯包括对应该些测试文件的多个文件向量,而每一该些文件向量包括多个分量维度及多个向量分量值;将该文件向量资讯转换为词汇到文件的一反向索引档;将该待比对文件依上述步骤,求得一待比对文件向量;选择一相似度比对法,透过该反向索引档,计算出该待比对文件与该些测试文件间的多个相似度;判断该些相似度是否高于一门槛值;以及若高于该门槛值,则将该些相似度所对应的该些测试文件视为该些相似文件。
2.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其中根据该些断词词汇,建立该文件向量资讯的步骤包括将该些断词词汇作为该些文件向量的该些分量维度;计算该些分量维度的该些向量分量值;以及集合该些文件向量,建立该文件向量资讯。
3.根据权利要求2所述的相似文件的自动侦测方法,其特征在于其中计算该些分量维度的该些向量分量值的步骤为计算该些断词词汇在每一该些测试文件中出现的次数以及在所有该些测试文件中出现的篇数,获得该些分量维度的该些向量分量值。
4.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其更包括删除该测试文件的标点符号及杂讯字串。
5.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其更包括将该些断词词汇进行一正规化动作。
6.根据权利要求5所述的相似文件的自动侦测方法,其特征在于其中所述的正规化动作包括英文大小写一致化及英文字干撷取。
7.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其更包括建立一同义词库,使该些测试文件中多个同义名词对应到单一相同词汇。
8.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其更包括建立一停用词库,用以剔除该些测试文件中多个停用词。
9.根据权利要求8所述的相似文件的自动侦测方法,其特征在于其中该些停用词包括虚词、连接词、无意义词,以及不需比较的词汇。
10.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其中所述的断词策略包括n连字断词法、词库法、关键特征撷取法,以及多种上述该些断词策略并用。
11.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其中所述的相似度比对法包括向量余弦夹角比对法及位元尺寸正规化比对法。
12.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其中该些相似度的大小介于0与1之间。
13.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其中计算出该待比对文件与该些测试文件间的该些相似度的步骤包括找出该待比对文件向量的该些分量维度中非零值的多个词汇;透过该反向索引档,取得该些词汇对应该些测试文件的该些向量分量值;以及根据一相似度公式计算该些向量分量值,获得该待比对文件与该些测试文件间的该些相似度。
14.根据权利要求13所述的相似文件的自动侦测方法,其特征在于其中所述的相似度公式为累加该些向量分量值。
15.根据权利要求1所述的相似文件的自动侦测方法,其特征在于其更包括合并该些相似文件,用以找出所有相异的该些相似文件。
全文摘要
一种自动侦测相似文件的方法,该方法是对一文件集里的每一篇文件进行词汇断词、标点符号删除、停用词过滤、词汇正规化等前置处理,然后建立每个词汇到每篇文件的一反向索引档,接着将每一篇待比对文件同样经过上述的步骤处理后,透过反向索引档提供的索引功能,快速查阅待比对文件中每个词汇在文件集内每一篇文件出现的次数,并按照给定的相似度公式,计算出待比对文件与其他文件的相似度,如此搜集文件之间的相似度,依照给定的相似度门槛过滤后,即可侦测所有相异的相似文件。
文档编号G06F17/27GK1963807SQ200510115210
公开日2007年5月16日 申请日期2005年11月11日 优先权日2005年11月11日
发明者曾元显 申请人:威知资讯股份有限公司, 曾元显
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1