文本消重系统和方法

文档序号:6372630阅读:206来源:国知局
专利名称:文本消重系统和方法
技术领域
本发明涉及搜索引擎中的文本消重,特别涉及文本消重系统和方法。
背景技术
文本消重是搜索引擎中基本需求之一。目前常用的消重方法有基于中心词的消重方法,和针对全部文本或部分文本进行哈希计算消重等。目前常用的手段是基于中心词的消重方法。提取文本中的中心词,然后利用中心词进行消重,这样文本中即使进行了一定内容的修改,只要中心词没有改变,就可以发现是
重复内容。 但是基于中心词的消重方法缺点是明显的,很容易把原本无关的文章判定为重复比如在一些专业类的文章中,中心词消重往往错误率比较高。如体育比赛中相同球队的新闻,由于球队名称,教练队员的名称,所属俱乐部,所属城市,打法等内容相对固定,不管球队是一年甚至几年内的不同比赛内容,提取出的中心词往往都比较相似。利用中心词消重就很有可能把毫不相干的两场比赛的文章判定为重复。另外,上述方法容易把本来是相同的文章判定为不重复比如不同网站在转载同一篇文章时,有的网站会把文章的内容放的一个页面里,而有的网站会把内容切分为几部分,每一部分使用一个单独的页面。这样,在抽取中心词时,由于两个网站的页面长度不同,抽取出的中心词也会不同,因此会把本来相同的文章判断为不重复的页面。上述技术方案基于与语言相关在提取中心词时首先需要进行分词,而分词是语言相关的。对中文的分词方法与英文不同。因此,对中文适用的中心词消重方法在外文上无法使用。

发明内容
本发明要解决的技术问题是现有技术的消重准确性低,容错性差的问题。一种文本消重系统,所述系统包括分割模块,适于将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列;哈希值计算模块,适于在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值;消重模块,适于将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。其中,所述分割符号包括ASCII码中的符号和/或中文全角\半角标点符号。其中,所述分割符号为一个或一个以上。其中,所述消重模块进一步包括文本标记单元,适于对重复的文本标记重复记号;和/或文本删除单元,适于对重复的文本进行删除操作。
其中,所述序列由一个分割段或两个以上连续的分割段组成。其中,所述待比较文本如果只计算部分序列的哈希值,则目标序列在目标文本中的选定位置与待比较文本中部分序列的位置相对应。其中,所述分割模块进一步包括分割段阈值设定模块,适于依据统计数据获得组成序列的分割段数量。其中,所述消重模块进一步包括一多目标序列比较单元,适于当所述目标序列的个数大于I时,依次将每个目标序列的哈希值与待比较文本中的序列相比较。
一种文本消重访法,所述方法包括将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列;在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值;将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。其中,所述分割符号包括ASCII码中的符号和/或中文全角\半角标点符号。其中,所述分割符号为一个或一个以上。其中,所述执行消重操作进一步包括对重复的文本标记重复记号;和/或对重复的文本进行删除操作。其中,所述序列由一个分割段或两个以上连续的分割段组成。其中,所述待比较文本如果只计算部分序列的哈希值,则目标序列在目标文本中的选定位置与待比较文本中部分序列的位置相对应。其中,所述组成序列的分割段数量依据统计数据获得。其中,所述将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较进一步包括,当所述目标序列的个数大于I时,依次将每个目标序列的哈希值与待比较文本中的序列相比较。本发明提供的基于符号分隔划分语句序列的消重方法,既可以保证消重的准确性,解决中心词消重把不同文章判定为重复的问题,又可以保证相对比较高的容错性,同时,按符号分隔只与选定的符号有关系,与具体语言无关。因此这一方法可适用于不同的语言。在新闻系统中使用了本方案后,消重的正确率和召回率获得明显改善。


图I是本发明一种实施例的文本消重系统结构图;图2是本发明一种实施例的消重模块结构图;图3是本发明一种实施例的多目标比较单元结构图;图4是本发明一种实施例的文本消重方法流程图;图5是本发明一种实施例的消重操作流程图;图6是本发明一种实施例的多比较比较过程流程图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图I呈现了本发明的一种实施例的文本消重系统,所述系统包括分割模块100,哈希值计算模块102和消重模块104。分割模块100,适于将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列。例如,选定需要进行分隔的标点符号。如ASCII码的逗号和据点等,还有中文逗号,中文句点等。然后依据这些标点符号,将文章的内容划分为一组语句序列。第一篇文章按标点分隔后的语句序列是 ,第I篇文章第I句,第I篇文章第2 句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第二篇文章在转载第一篇文章时,将原文第I句和最后一句进行了修改。其由分割模块100按标点分隔后的语句序列是”第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。分割模块100还包括一分割段阈值设定模块,适于依据统计数据获得组成序列的分割段数量。此外,分割段的数量还可以通过人工经验来设定。在实践中发现,连续出现5句相同内容的文章,消重的正确率与召回率都很高。这里提到的连续五条语句是在新闻消重中证明相对比较可靠的语句数量,在处理其他类型的文章时可以适当进行调整。这样,就以每5句来组成一个完整序列。第I篇文章的序列分别是“第I篇文章第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第2篇文章的序列分别是“第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,
“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,
......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。哈希值计算模块102,适于在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值;因此,在上述序列划分完成后,依次由哈希值计算模块102在第I篇文章中选定目标序列,同时对两篇文章的序列进行哈希值计算。由于文章中中间内容改动的可能性比较小,就选取中间的语句序列作为后续文章的目标序列。比如,如果第一篇文章没有发现与其他文章重复,就选定第4个语句序列作为这篇文章的目标序列,也就是把语句序列“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句”的哈希值作为目标哈希值保存起来,用来判定后续文章是否重复。同时,为了提高容错性,也可以多选取几个语句序列作为目标序列,如在文章中间,相对靠前,或相对靠后的位置分别选取一个目标序列。而对于长度比较长的正文,如果计算全部语句序列,计算量会比较大。可以只从前部或尾部选择一定数量的语句序列进行计算。这样可以保证比较高的消重正确率,同时也能减轻计算压力。消重模块104,适于将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。这样,在比较第二篇文章时,前三个哈希值没有发现与其他文章重复,但在比较第4个哈希值时,发现与第一篇文章重复。于是,则由文本标记单元200,对重复的文本标记重复记号;和/或由文本删除单元202,对重复的文本进行删除操作。同时,当选定多个目标序列时,多目标序列比较单元300将比较序列的哈希值依次与待比较文本中序列的哈希值相比较。待比较文本如果抽取部分序列计算哈希值,则可优选在待比较文本中部、开头、结尾以及中间分别抽取部分序列进行所述哈希值计算。图4呈现了本发明的一种实施例的文本消重方法。首先,在步骤S400中,将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列。例如,选定需要进行分隔的标点符号。如ASCII码的逗号和据点等,还有中文逗号,中文句点等。然后依据这些标点符号,将文章的内容划分为一组语句序列。第一篇文章按标点分隔后的语句序列是 ,第I篇文章第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第二篇文章在转载第一篇文章时,将原文第I句和最后一句进行了修改。其由分割模块100按标点分隔后的语句序列是”第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。组成序列的分割段数量依据统计数据获得。此外,分割段的数量还可以通过人工经验来设定。在实践中发现,连续出现5句相同内容的文章,消重的正确率与召回率都很高。这里提到的连续五条语句是在新 闻消重中证明相对比较可靠的语句数量,在处理其他类型的文章时可以适当进行调整。这样,就以每5句来组成一个完整序列。第I篇文章的序列分别是“第I篇文章第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第2篇文章的序列分别是“第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。再次,在步骤S402中,在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值;在上述序列划分完成后,在第I篇文章中选定目标序列,同时对两篇文章的序列进行哈希值计算。由于文章中中间内容改动的可能性比较小,就选取中间的语句序列作为后续文章的目标序列。比如,如果第一篇文章没有发现与其他文章重复,就选定第4个语句序列作为这篇文章的目标序列,也就是把语句序列“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句”的哈希值作为目标哈希值保存起来,用来判定后续文章是否重复。同时,为了提高容错性,也可以多选取几个语句序列作为目标序列,如在文章中间,相对靠前,或相对靠后的位置分别选取一个目标序列。而对于长度比较长的正文,如果计算全部语句序列,计算量会比较大。可以只从前部或尾部选择一定数量的语句序列进行计算。这样可以保证比较高的消重正确率,同时也能减轻计算压力。最后,在步骤S404中,将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。
这样,在比较第二篇文章时,前三个哈希值没有发现与其他文章重复,但在比较第4个哈希值时,发现与第一篇文章重复。于是,则执行消重操作。即S500对重复的文本标记重复记号;和/或S502对重复的文本进行删除操作,参见图5。同时,当选定多个目标序列时,则执行步骤S600,将比较序列的哈希值依次与待比较文本中序列的哈希值相比较,参见图6。待比较文本如果抽取部分序列计算哈希值,则可优选在待比较文本中部、开头、结尾以及中间分别抽取部分序列进行所述哈希值计算。应当注意的是,在本发明的控制器的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的控制器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为适于执行这里所描述的方法的一部分或者全部的设备或者系统程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种文本消重系统,其特征在于,所述系统包括 分割模块,适于将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列; 哈希值计算模块,适于在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值; 消重模块,适于将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。
2.如权利要求I所述的系统,其特征在于,所述分割符号包括ASCII码中的符号和/或中文全角\半角标点符号。
3.如权利要求I所述的系统,其特征在于,所述分割符号为一个或一个以上。
4.如权利要求I所述的系统,其特征在于,所述消重模块进一步包括 文本标记单元,适于对重复的文本标记重复记号;和/或 文本删除单元,适于对重复的文本进行删除操作。
5.如权利要求I所述的系统,其特征在于,所述序列由一个分割段或两个以上连续的分割段组成。
6.如权利要求I所述的系统,其特征在于,所述待比较文本如果只计算部分序列的哈希值,则目标序列在目标文本中的选定位置与待比较文本中部分序列的位置相对应。
7.如权利要求I所述的系统,其特征在于,所述分割模块进一步包括分割段阈值设定模块,适于依据统计数据获得组成序列的分割段数量。
8.如权利要求I或7所述的系统,其特征在于,所述消重模块进一步包括一多目标序列比较单元,适于当所述目标序列的个数大于I时,依次将每个目标序列的哈希值与待比较文本中的序列相比较。
9.一种文本消重方法,其特征在于,所述方法包括 将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列; 在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值; 将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。
10.如权利要求9所述的方法,其特征在于,所述分割符号包括ASCII码中的符号和/或中文全角\半角标点符号。
11.如权利要求9所述的方法,其特征在于,所述分割符号为一个或一个以上。
12.如权利要求9所述的方法,其特征在于,所述执行消重操作进一步包括 对重复的文本标记重复记号;和/或 对重复的文本进行删除操作。
13.如权利要求9所述的方法,其特征在于,所述序列由一个分割段或两个以上连续的分割段组成。
14.如权利要求9所述的方法,其特征在于,所述待比较文本如果只计算部分序列的哈希值,则目标序列在目标文本中的选定位置与待比较文本中部分序列的位置相对应。
15.如权利要9所述的方法,其特征在于,所述组成序列的分割段数量依据统计数据获得。
16.如权利要求9或15所述的方法,其特征在于,所述将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较进一步包括,当所述目标序列的个数大于I时,依次将每个目标序列的哈希值与待比较文本中的序列相比较。
全文摘要
本发明提供了一种文本消重系统,所述系统包括分割模块,适于将目标文本和待比较文本依据分割符号分割成分割段,并将目标文本和待比较文本的分割段按相同的方式组成序列;哈希值计算模块,适于在目标文本中选定目标序列,计算出目标序列的哈希值以及待比较文本中全部或部分序列的哈希值;消重模块,适于将所述比较序列的哈希值依次与待比较文本中序列的哈希值相比较,如果存在相同的哈希值,则执行消重操作。
文档编号G06F17/30GK102779188SQ20121022711
公开日2012年11月14日 申请日期2012年6月29日 优先权日2012年6月29日
发明者卢宏林 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1