CN104252445B - 近似重复文档检测方法及装置 - Google Patents
近似重复文档检测方法及装置 Download PDFInfo
- Publication number
- CN104252445B CN104252445B CN201310260390.1A CN201310260390A CN104252445B CN 104252445 B CN104252445 B CN 104252445B CN 201310260390 A CN201310260390 A CN 201310260390A CN 104252445 B CN104252445 B CN 104252445B
- Authority
- CN
- China
- Prior art keywords
- participle
- document
- similarity
- substring
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000003252 repetitive effect Effects 0.000 title claims abstract description 44
- 238000001514 detection method Methods 0.000 title claims abstract description 35
- 238000005520 cutting process Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 45
- 238000001914 filtration Methods 0.000 claims description 28
- 238000013138 pruning Methods 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000000205 computational method Methods 0.000 abstract description 16
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 230000018199 S phase Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000011430 maximum method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种近似重复文档检测方法及装置,所述计算方法包括:对两个待检测文档分别进行切词处理,得到所述待检测文档各自的分词集合;计算两个所述分词集合中所有分词对的编辑相似度,每个所述分词对的两个分词分别来源于两个所述分词集合;在所述所有分词对中所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;计算所述加权偶图的最大加权匹配值;利用所述最大加权匹配值,计算所述待检测文档之间的相似度。本发明提供的文档相似度计算方法、近似重复文档检测方法及装置,准确率高,能有效识别包含分词集编辑错误的近似重复文本,提高近似重复文档检测准确度,降低计算复杂度,优化计算效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种近似重复文档检测方法及装置。
背景技术
随着电子设备的普及和互联网技术的发展,互联网用户数量持续增长,导致互联网数据量不断地膨胀。根据国际数据公司(International Data Corporation,IDC)的调研报告显示,现存约75%的数据为副本信息,即仅有25%的数据具有唯一性。因此,面对海量数据中重复或近似重复数据的检测技术尤为重要,它不仅能够减少去重***的存储和带宽等资源开销,还有助于提高数据清洗与分析***处理信息的质量。
海量文本数据的近似重复检测主要有两个方面的问题:一是准确度,由于数据输入和处理的管道不同,近似重复文档并不一定完全相同。例如同一条新闻,即使在内容上完全相同,当它在不同的网站中登出时,它们并不一定完全重合,而网络爬虫只能将信息完整抓取,而无法识别其中哪些内容是真正的新闻。如果直接采用文本完全匹配的方法,这两个实质相同的文档将会被视为不同的实体。二是效率,互联网技术发展带来的信息膨胀增加了从海量的数据中发掘重复内容的复杂度。针对某个文档集做数据去重,最直接的方法是枚举所有的文档对,判断它们是否为近似重复文档,而枚举文档对需对整个文档集做笛卡尔积,从而显著增加计算复杂度。例如,给定两个大小为M和N的文档集,如果需要查找其中重复的文档对,一共需要枚举M×N个文档对。因此,有必要设计合适的算法来减少需要匹配的内容和提高匹配速度。
现有的相似度计算方法大体可以分为两类:基于集合的相似度计算方法与基于字符串的相似度计算方法。基于集合的相似度计算方法将文档视为分词的集合,直接通过计算集合间的相似度来判断两个文档是否相似。基于字符串的相似度计算方法将文档视为一个完整的字符串来衡量它们之间的相似程度,典型的度量方法就是编辑距离(EditDistance)。编辑距离将一个字符串变为另一个字符串所需的最少的元编辑操作(***、删除、替换)作为衡量两个字符串之间相似度的标准,对应的编辑次数就是编辑距离。
然而,现有基于集合的相似度计算方法无法感知文本在分词级别的编辑相似度,当在分词级别发生编辑错误时,基于集合的相似度函数会将两个同源的分词视为不同的实例,从而导致最终得到的文档相似度小于真实值,影响检测准确度。而基于字符串的相似度计算方法计算复杂度较高且准确度易受分词顺序的影响,互联网数据具有海量性和交互性,编辑错误广泛存在于文档的产生和传播过程中,导致编辑相似度低于实际值,影响检测准确度。
发明内容
本发明的目的是提供一种文档相似度计算方法、近似重复文档检测方法及装置,能有效识别包含分词级编辑错误的近似重复文本,提高近似重复文档检测准确度,降低计算复杂度,优化计算效率。
为实现上述目的,本发明第一方面提供了一种文档相似度计算方法,所述方法包括:
对两个待检测文档分别进行切词处理,得到所述待检测文档各自的分词集合;
计算两个所述分词集合中所有分词对的编辑相似度,每个所述分词对的两个分词分别来源于两个所述分词集合;
在所述所有分词对中所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;
计算所述加权偶图的最大加权匹配值;
利用所述最大加权匹配值,计算所述待检测文档之间的相似度。
结合第一方面,在第一方面的第一种可能的实施方式中,所述计算加权偶图的最大加权匹配值,包括:
在所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值。
结合第一方面,在第一方面的第二种可能的实施方式中,所述利用所述最大加权匹配值,计算所述待检测文档之间的相似度,包括:
利用所述最大加权匹配值,根据以下所列任一公式,计算所述待检测文档之间的相似度:
Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2));
或者,Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2;
或者,Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|);
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
结合第一方面,在第一方面的第三种可能的实施方式中,所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
第二方面,本发明还提供了一种近似重复文档检测方法,所述方法包括:
对各待检测文档进行切词处理,得到所述各待检测文档各自的分词集合;
分别将同一待检测文档对应的分词集合中的各分词划分为长度小于所述分词的子串,利用所述子串形成所述分词的签名集合;
将同一待检测文档对应的分词集合中所有分词的签名集合合并,生成所述待检测文档的文档签名;
对所述文档签名建立反向索引,将出现在同一子串对应的索引表项中的两个分词集合对应的文档配对成文档对并加入候选集中;
计算所述候选集中文档对的相似度,将所述相似度满足要求的文档对识别为近似重复文档。
结合第二方面,在第二方面的第一种可能的实施方式中,在所述对各待检测文档进行切词处理之后,还包括:
对切词处理得到的分词进行编号并记录分词编号,所述分词编号表示该分词在所述待检测文档中出现的顺序;
所述将同一待检测文档对应的分词集合中所有分词的签名集合合并,生成所述待检测文档的文档签名,包括:
将所述同一检测文档对应的分词集合中所有分词的签名集合合并,并记录每个子串所在的分词编号;
对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名,包括:
对所述合并后的签名集合中的各子串进行排序;
从后往前删除所述排序后的签名集合中的子串,并采用数据结构表记录已删除子串对应的分词编号;
如果被删除的子串对应的分词编号未在所述数据结构表中出现过,则将其加入所述数据结构表中;
当所述数据结构表中的元素个数达到M时,停止删除,所述M为预设个数阈值;
将剩余的子串组成所述待检测文档的文档签名。
结合第二方面,在第二方面的第三种可能的实施方式中,分别将同一待检测文档对应的分词集合中的各分词划分为长度小于所述分词的子串,包括:
对所述分词集合中的每个分词,采用q元法q-gram划分得到原分词中所有长度为q的连续子串。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,利用所述子串形成所述分词的签名集合,包括:
对所述连续子串排序,保留前N个子串,其中N为预设正整数;
利用所述保留的子串形成所述分词的签名集合。
结合第二方面,在第二方面的第五种可能的实施方式中,所述计算所述候选集中文档对的相似度,包括:
计算所述候选集中文档对的两个分词集合T1,T2中所有分词对(t1,i,t2,j)的编辑相似度,其中,t1,i∈T1、t2,j∈T2,1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数;
在所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;
计算所述加权偶图的最大加权匹配值fδ(T1,T2);
利用所述最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2)。
结合第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述计算加权偶图的最大加权匹配值fδ(T1,T2),包括:
在所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值fδ(T1,T2)。
结合第二方面的第五种可能的实施方式,在第二方面的第七种可能的实施方式中,所述利用最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2),包括:
利用所述最大加权匹配值fδ(T1,T2),根据以下所列任一公式,计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2):
Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2));
或者,Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2;
或者,Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|);
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示所述分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
结合第二方面的第五种可能的实施方式,在第二方面的第八种可能的实施方式中,所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
结合第二方面,在第二方面的第九种可能的实施方式中,在计算所述候选集中文档对的相似度之前,还包括:
采用剪枝策略对所述候选集中的文档对进行过滤;
所述计算所述候选集中文档对的相似度,包括:
计算过滤后的所述候选集中的文档对的相似度。
结合第二方面的第九种可能的实施方式,在第二方面的第十种可能的实施方式中,所述采用剪枝策略对所述候选集中的文档对进行过滤,包括:
依次取出所述候选集中的文档对,评估文档之间的相似度的上限值;
如果所述上限值小于预设相似度阈值τ,则将对应的文档对剪枝。
第三方面,本发明还提供了一种文档相似度计算装置,所述装置包括:
分词模块,用于对两个待检测文档分别进行切词处理,得到所述待检测文档各自的分词集合;
第一计算模块,用于计算所述分词模块得到的两个所述分词集合中所有分词对的编辑相似度,每个所述分词对的两个分词分别来源于两个所述分词集合;
加权偶图建立模块,用于在所述第一计算模块得到的所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;
第二计算模块,用于计算所述加权偶图建立模块得到的所述加权偶图的最大加权匹配值;
第三计算模块,用于利用所述第二计算模块得到的所述最大加权匹配值,计算所述待检测文档之间的相似度。
结合第三方面,在第三方面的第一种可能的实施方式中,所述第二计算模块具体用于在所述加权偶图建立模块得到的所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值。
结合第三方面,在第三方面的第二种可能的实施方式中,所述第三计算模块具体用于利用所述最大加权匹配值,根据以下所列任一公式,计算所述待检测文档之间的相似度:
Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2));
或者,Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2;
或者,Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|);
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
结合第三方面,在第三方面的第三种可能的实施方式中,所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
第四方面,本发明还提供了一种近似重复文档检测装置,所述装置包括:
分词处理模块,用于对各待检测文档进行切词处理,得到所述各待检测文档各自的分词集合;
分串处理模块,用于分别将所述分词模块得到的同一待检测文档对应的分词集合中的各分词划分为长度小于所述分词的子串,利用所述子串形成所述分词的签名集合;
文档签名生成模块,用于将同一待检测文档对应的分词集合中所有分词的签名集合合并,生成所述待检测文档的文档签名;
索引模块,用于对所述文档签名建立反向索引,将出现在同一子串对应的索引表项中的两个分词集合对应的文档配对成文档对并加入候选集中;
计算模块,用于计算所述候选集中文档对的相似度;
判断模块,用于将所述计算模块计算得到的所述相似度满足要求的文档对识别为近似重复文档。
结合第四方面,在第四方面的第一种可能的实施方式中,所述分词处理模块还用于在对各待检测文档进行切词处理之后,对切词处理得到的分词进行编号并记录分词编号,所述分词编号表示该分词在待检测文档中出现的顺序;
所述文档签名生成模块具体包括:合并单元和排序单元;
所述合并单元用于将同一待检测文档对应的分词集合中所有分词的签名集合合并,并记录每个子串所在的分词编号;
所述排序单元用于对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述排序单元在对所述合并后的签名集合中的各子串进行排序之后,还用于从后往前删除所述排序后的签名集合中的子串,并采用数据结构表记录已删除子串对应的分词编号;如果被删除的子串对应的分词编号未在所述数据结构表中出现过,则将其加入所述数据结构表中;当所述数据结构表中的元素个数达到M时,停止删除,所述M为预设个数阈值;并将剩余的子串组成所述待检测文档的文档签名。
结合第四方面,在第四方面的第三种可能的实施方式中,所述分串处理模块具体用于对所述分词集合中的每个分词,采用q元法q-gram划分得到原分词中所有长度为q的连续子串。
结合第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中,所述分串处理模块还用于对所述连续子串排序,保留前N个子串,其中N为预设正整数;并利用所述保留的子串形成所述分词的签名集合。
结合第四方面,在第四方面的第五种可能的实施方式中,所述计算模块包括:
第一计算单元,用于计算所述索引模块得到的所述候选集中文档对的两个分词集合T1,T2中所有分词对(t1,i,t2,j)的编辑相似度,其中,t1,i∈T1、t2,j∈T2,1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数;
加权偶图建立单元,用于在所述第一计算单元得到的所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;
第二计算单元,用于计算所述加权偶图建立单元得到的所述加权偶图的最大加权匹配值fδ(T1,T2);
第三计算单元,用于利用所述第二计算单元得到的所述最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2)。
结合第四方面的第五种可能的实施方式,在第四方面的第六种可能的实施方式中,所述第二计算单元具体用于在所述加权偶图建立单元得到的所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值fδ(T1,T2)。
结合第四方面的第五种可能的实施方式,在第四方面的第七种可能的实施方式中,所述第三计算单元具体用于利用所述最大加权匹配值fδ(T1,T2),根据以下所列任一公式,计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2):
Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2));
或者,Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2;
或者,Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|);
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
结合第四方面的第五种可能的实施方式,在第四方面的第八种可能的实施方式中,所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
结合第四方面,在第四方面的第九种可能的实施方式中,所述装置还包括:
过滤模块,所述过滤模块与所述计算模块相连接,用于采用剪枝策略对所述索引模块得到的所述候选集中的文档对进行过滤;
所述计算模块计算经过所述过滤模块过滤后的所述候选集中的文档对的相似度。
结合第四方面的第九种可能的实施方式,在第四方面的第十种可能的实施方式中,所述过滤模块具体用于依次取出所述索引模块得到的所述候选集中的文档对,评估文档之间的相似度的上限值;如果所述上限值小于预设相似度阈值τ,则将对应的文档对剪枝。
本发明提供的文档相似度计算方法、近似重复文档检测方法及装置,将分词的编辑相似度用于计算文档相似度,能有效识别包含分词级编辑错误的近似重复文本,提高近似重复文档检测准确度,降低计算复杂度,优化计算效率。
附图说明
图1为本发明实施例一提供的文档相似度计算方法流程图;
图2为本发明实施例二提供的近似重复文档检测方法流程图;
图3为本发明实施例二提供的分词集合T1、T2对应的加权偶图的示意图;
图4为本发明实施例三提供的文档相似度计算装置示意图;
图5为本发明实施例四提供的近似重复文档检测装置示意图;
图6为本发明实施例四提供的计算模块的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例提供的文档相似度计算方法、近似重复文档检测方法及装置,适用于计算机***的海量文本数据的近似重复检测,尤其适用于互联网文本数据的清洗和分析***,其检测的文档可以但不局限于包括文本数据文件、互联网应用***日志记录或数据库中的文本记录等。
实施例一
图1是本实施例提供的文档相似度计算方法流程图,如图1所示,本发明的文档相似度计算方法包括:
S101、对两个待检测文档分别进行切词处理,得到所述待检测文档各自的分词集合。
对两个待检测文档s1,s2分别进行切词处理,得到分词集合T1,T2。
S102、计算两个所述分词集合中所有分词对的编辑相似度。
其中,每个所述分词对的两个分词分别来源于两个所述分词集合。
具体的,以分词集合T1与T2中所有分词t1,i∈T1、t2,j∈T2为顶点建立偶图(Bipartite Graph),其中1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数,计算所有分词对(t1,i,t2,j)的编辑相似度。
如果将文档视为一个完整的字符串,可以通过编辑距离来衡量文档之间的相似程度。编辑距离是指将一个字符串变为另一个字符串所需的最少的元编辑操作(***、删除、替换)作为衡量两个字符串之间相似度的标准,对应的编辑次数就是编辑距离。不难发现,所需编辑操作越少,编辑距离越小,字符串越相似。编辑相似度是对编辑距离进行归一化处理,具体可以为:eds(t1,i,t2,j)=1-ed(t1,i,t2,j)/max{|t1,i|,|t2,j|},其中eds(t1,i,t2,j)和ed(t1,i,t2,j)分别表示分词t1,i、t2,j之间的编辑相似度(edit similarity)与编辑距离(edit distance),|t1,i|、|t2,j|为两个分词的字符串长度,max{|t1,i|,|t2,j|}函数表示取|t1,i|和|t2,j|之中的较大值。
S103、在所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图。
编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
如果eds(t1,i,t2,j)≥δ,其中δ为预设编辑相似度阈值,则在t1,i、t2,j之间建立边并将eds(t1,i,t2,j)赋为边的权值,从而得到加权偶图Gweight。根据编辑相似度eds(t1,i,t2,j)与编辑距离ed(t1,i,t2,j)之间的关系可知,eds(t1,i,t2,j)≥δ成立的充要条件为ed(t1,i,t2,j)≤ε=(1-δ)×max{|t1,i|,|t2,j|},其中ε为δ对应的编辑距离阈值。
S104、计算所述加权偶图的最大加权匹配值。
在所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值。
具体的,在加权偶图Gweight中找到一个不共顶点的边集,且该边集与其他所有不共顶点的边集相比,其权值之和为最大,则称该权值之和为Gweight的最大加权匹配,记为fδ(T1,T2)。根据0≤eds(t1,i,t2,j)≤1,可知,0≤fδ(T1,T2)≤min{|T1|,|T2|},其中min{|T1|,|T2|}表示取集合{|T1|,|T2|}中的最小值,|T1|表示分词集合T1的基数,即分词数量,|T2|表示分词集合T2的基数。
S105、利用所述最大加权匹配值,计算所述待检测文档之间的相似度。
利用最大加权匹配值,根据Jaccard公式或者余弦相似度公式或者距离公式等,计算所述待检测文档之间的相似度。具体为:
Jaccard相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2))。
余弦相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2。
DICE距离公式:Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|)。
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
各相似度函数的值域均为[0,1],相似度越接近于1则表示两个文档越相似。
本发明提供的文档相似度计算方法,由于在计算fδ(T1,T2)时考虑了基于字符串的相似度,因而得到的相似度函数能够结合基于字符串的相似度函数和基于集合的相似度函数的优势,准确率高。
实施例二
图2是本实施例提供的近似重复文档检测方法流程图,如图2所示,本发明的近似重复文档检测方法包括:
S201、对各待检测文档进行切词处理,得到所述各待检测文档各自的分词集合。
采用现有的切词方法,例如,通过识别特定的非英文字符(如标点、数字等)的切词方法、正向最大匹配法等等,对各待检测文档进行切词处理,得到分词集合。
可选的,对切词处理得到的分词进行编号并记录分词编号,所述分词编号表示该分词在待检测文档中出现的顺序。
例如,对于待处理文档集分别为S1、S2,对于任意s1∈S1、s2∈S2,通过识别特定的非英文字符(如标点、数字等)或其他切词方法对其进行切词处理,得到分词集合T1={t1,1,t1,2,…,t1,m}、T2={t2,1,t2,2,…,t2,n},同时为每个出现在文档字符串中的分词编号。
S202、分别将同一待检测文档对应的分词集合中的各分词划分为长度小于所述分词的子串,利用所述子串形成所述分词的签名集合。
对所述分词集合中的每个分词,可以但不限于采用q元法q-gram划分得到原分词中所有长度为q的连续子串。对于所有t1,i∈T1、t2,j∈T2(1≤i≤|T1|、1≤j≤|T2|),|T1|和|T2|分别为分词集合T1与T2的基数,将其划分为长度更短的子串,得到集合R1,i、R2,j,例如,通过q-gram划分获得原分词中所有长度为q的连续子串。举个例子,对于分词Token="a1a2…ai…ap",其对应的2-gram集合为{a1a2,a2a3,…,aia(i+1),…,a(p-1)ap},3-gram集合为{a1a2a3,a2a3a4,…,a(i-1)aia(i+1),…,a(p-2)a(p-1)ap}。
可选的,为了提高处理效率,可以根据子串的切分策略,选择适当的过滤方法来删除R1,i、R2,j中的部分子串,以精简子串集合和减少存储开销。利用所述子串形成所述分词的签名集合,具体包括:
对所述连续子串排序,保留前N个子串,其中N为预设正整数;利用保留的子串形成所述分词的签名集合。
若采用q-gram子串切分策略,可将R1,i、R2,j中的子串按照字典序排序,只保留前N=(q×ε′+1)个子串,精简后的子串集合称为分词签名,记为R1,i′、R2,j′。其中,ε′是δ对应的编辑距离阈值ε=(1-δ)×max{|t1|,|t2|}的估值,其定义方法为δ为预设编辑相似度阈值,|t1|为分词t1的字符串长度,为向下取整运算符。
S203、将同一待检测文档对应的分词集合中所有分词的签名集合合并,生成所述待检测文档的文档签名。包括:
第1步、将所述分词集合中所有分词的签名集合合并,并记录每个子串所在的分词编号。
第2步、对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名。
具体包括:对所述合并后的签名集合中的各子串进行排序;从后往前删除所述排序后的签名集合中的子串,并采用数据结构表记录已删除子串对应的分词编号;如果被删除的子串对应的分词编号未在所述数据结构表中出现过,则将其加入所述数据结构表中;当所述数据结构表中的元素个数达到M时,M为预设个数阈值,停止删除;将剩余的子串组成所述待检测文档的文档签名。
首先,取SIGδ(T1)=∪1≤i≤mR1,i′、SIGδ(T2)=∪1≤j≤nR1,j′,将SIGδ(T1)与SIGδ(T2)中的子串排序(如:字典序、逆文档频率idf等),并记录每个子串所属分词的编号。然后,从后往前删除SIGδ(T1)中的子串,并采用哈希表(或其他数据结构)记录已删除子串对应的分词编号。若当前删除的子串对应的分词编号未在哈希表中出现过,则将其加入哈希表中,当哈希表中元素个数达到M时,停止删除。其中,M为预设个数阈值,在本实施例中,θ′是最大加权匹配阈值θ的估值,其计算方法为θ′=τ×|T1|≤θ,τ为预设相似度阈值,|T1|为分词集合T1的基数,为向上取整运算符。
由于θ′仅依赖于|T1|,此处用其取代θ有利于提高精简SIGδ(T1)时的效率。用同样的方法对SIGδ(T2)进行处理,并把精简后的集合sigδ(T1)、sigδ(T2)分别作为分词集合T1和T2对应文档s1、s2的文档签名。
S204、对所述文档签名建立反向索引,将出现在同一子串对应的索引表项中的两个分词集合对应的文档配对成文档对并加入候选集中。
对文档签名建立反向索引,每个子串对应至少一个它出现过的分词集合,若两个分词集出现在同一个子串对应的索引表项中,将其配对并加入候选集中。
对于没有出现在同一子串对应的索引表项中的两个分词集合,即 则fδ(T1,T2)<θ′≤θ,即Fδ(s1,s2)<τ,说明对应的文档s1和s2不满足相似度阈值筛查条件;相反,若则可将对应的s1和s2列为候选相似文档对,加入候选集中。
S205、计算所述候选集中文档对的相似度,将所述相似度满足要求的文档对识别为近似重复文档。包括:
第1步、计算所述候选集中文档对的两个分词集合T1,T2中所有分词对(t1,i,t2,j)的编辑相似度,其中,t1,i∈T1、t2,j∈T2,1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数。
具体的,以分词集合T1与T2中所有分词t1,i∈T1、t2,j∈T2为顶点建立偶图(Bipartite Graph),其中1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数,计算所有分词对(t1,i,t2,j)的编辑相似度。编辑相似度是对编辑距离进行归一化处理,具体可以为:eds(t1,i,t2,j)=1-ed(t1,i,t2,j)/max{|t1,i|,|t2,j|},其中eds(t1,i,t2,j)和ed(t1,i,t2,j)分别表示分词t1,i、t2,j之间的编辑相似度(edit similarity)与编辑距离(editdistance),|t1,i|、|t2,j|为两个分词的字符串长度,max{|t1,i|,|t2,j|}函数表示取|t1,i|和|t2,j|之中的较大值。
第2步、在所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图。
编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
如果eds(t1,i,t2,j)≥δ,其中δ为预设编辑相似度阈值,则在t1,i、t2,j之间建立边并将eds(t1,i,t2,j)赋为边的权值,从而得到加权偶图Gweight。根据编辑相似度eds(t1,i,t2,j)与编辑距离ed(t1,i,t2,j)之间的关系可知,eds(t1,i,t2,j)≥δ成立的充要条件为ed(t1,i,t2,j)≤ε=(1-δ)×max{|t1,i|,|t2,j|},其中ε为预设编辑距离阈值。
第3步、计算所述加权偶图的最大加权匹配值fδ(T1,T2)。
在所述加权偶图中找到不共顶点的边集,将所有边的权值之和最大的边集作为所述加权偶图的最大加权匹配值fδ(T1,T2)。
具体的,在加权偶图Gweight中找到一个不共顶点的边集,且该边集与其他所有不共顶点的边集相比,其权值之和为最大,则称该权值之和为Gweight的最大加权匹配,记为fδ(T1,T2)。根据0≤eds(t1,i,t2,j)≤1,可知,0≤fδ(T1,T2)≤min{|T1|,|T2|},其中min{|T1|,|T2|}表示取集合{|T1|,|T2|}中的最小值,|T1|表示分词集合T1的基数,即分词数量,|T2|表示分词集合T2的基数。
第4步、利用所述最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2)。
利用最大加权匹配值,根据Jaccard公式或者余弦相似度公式或者距离公式等,计算所述待检测文档之间的相似度。具体为:
Jaccard相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2))。
余弦相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2。
DICE距离公式:Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|)。
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
各相似度函数的值域均为[0,1],相似度越接近于1则表示两个文档集合越相似。
将所述相似度满足要求的文档对识别为近似重复文档,包括:将文档对相似度Fδ(s1,s2)大于预设文档相似度阈值的文档对识别为近似重复文档。
可选的,在S205之前,还可以包括:采用剪枝策略对所述候选集中的文档对进行过滤;则在S205中计算过滤后的所述候选集中的文档对的相似度。具体包括:依次取出所述候选集中的文档对,评估文档之间的相似度的上限值;如果所述上限值小于预设相似度阈值τ,则将对应的文档对剪枝。
为候选集中每一对候选分词集合(T1,T2)建立加权偶图,对分词集合T1或T2中的每个顶点,选取与其关联的权值最大的边,将所有被选取边的权值累加作为最大加权匹配的估值fδ′(T1,T2),若fδ′(T1,T2)<θ,则fδ(T1,T2)≤fδ′(T1,T2)<θ且Fδ(s1,s2)<τ,即相应的文档对(s1,s2)不满足文档近似重复的阈值条件,直接将(T1,T2)从候选集中删除;反之,准确计算(T1,T2)的最大加权匹配fδ(T1,T2),然后通过S205进一步计算Fδ(s1,s2)并将相似度大于或等于τ的文档对(s1,s2)判断为近似重复文档,添加到结果集R,同时从候选集中删除(T1,T2)。
举个例子,设有两个文档s1=“trcy macgrady mvp”和s2=“mvp tracy mcgrady”分别属于两个待检测的文档集,预先设定的编辑相似度阈值δ=0.8和文档相似度阈值τ=0.75。
第1步,对待检测文档s1、s2进行切词处理并对各文档的分词进行编号,s1、s2切词后可得到分词集合T1={trcy1,macgrady2,mvp3}和T2={mvp1,tracy2,mcgrady3}。
第2步,生成每个分词的签名集合。分词签名由分词所包含的子串构成,根据需要,可以选择不同的方式来划分子串。在具体实施中,对于分词集中的每个分词,求得其q-gram子串的签名集合,并保留前(q×ε′+1)个子串,其中以2-gram子串切分为例,mcgrady对应的2-gram集合按字典序排序可得到{ad,cg,dy,gr,mc,ra}, 保留前2×1+1=3个子串,即sigδ(mcgrady)={ad,cg,dy}。同理可以得到其他分词处理结果:sigδ(mvp)={mv},sigδ(tracy)={ac,cy,ra},sigδ(trcy)={cy,rc,tr},sigδ(macgrady)={ac,cg,ad}。
第3步,生成文档签名。将同一个文档中所有分词的签名集合合并,同时记录它们所在的分词编号。例如,{ad,cg,dy}是由原来分词集合T2中第三个分词“mcgrady”分解得到,因此将其加入SIGδ(T2)时,标记它的来源,即{ad3,cg3,dy3}。通过上述步骤,可以得到SIGδ(T1)={ac2,ad2,cg2,cy1,mv3,rc1,tr1},SIGδ(T2)={ac2,ad3,cg3,cy2,dy3,mv1,ra2}。然后,将每个分词集合对应的文档签名按字典序排序,从后往前删除,直至被删除的子串出现在个不同的分词中。θ′的值通过相似度的阈值τ来确定,已指定τ=0.75,则可计算得到θ′=0.75×3=2.25,对应的在SIGδ(T1)中,删除{cy1,mv3,tr1,rc1}得到文档签名sigδ(T1);同样,在SIGδ(T2)中,删除{mv1,ra2}得到文档签名sigδ(T2)。
第4步,对文档签名建立反向索引,每个子串对应至少一个它出现过的分词集合,过滤低相似度文档对,例如:{ac:T1,T2;ad:T1,T2;cg:T1,T2;cy:T2;dy:T2}。若两个分词集合出现在同一个子串对应的索引表项中,将其配对并加入候选集中。在此步骤中,(T1,T2)将被识别为高相似度文档对并加入到候选集中。
第5步,筛查高相似度文档对,计算文档对的相似度。处理完所有的索引表项后,依次取出候选集中的文档对,并评估文档之间的相似度。在计算准确的相似度之前,先通过一定的策略估计二者之间相似度的上界。若该上界小于阈值τ,则两个文档之间的实际相似度不可能大于τ。以文档对(s1,s2)为例,具体计算方法如下:在对应的加权偶图中,对于属于同一分词集(T1或T2)中的每个顶点,选取与它相关联的权值最大的边,将其累加得到fδ′(T1,T2),以此作为最大加权匹配的估值并用于估算s1与s2之间的相似度。这种方法忽略了相似度计算中每个顶点只出现一次的规则,因而得到的估计值大于实际的相似度,即为实际相似度的一个上界。如果该上界不满足给定的阈值条件,则将对应的文档对剪枝;否则,计算准确的相似度,判断其是否满足阈值条件,若满足则判断为近似重复文档,加入结果集R。延续上面的例子,与T1中“trcy”相似度最大的T2中的分词为“tracy”,编辑距离ed(“trcy”,“tracy”)=1,编辑相似度eds(“trcy”,“tracy”)=1-1/max{4,5}=0.8≥δ,同理,eds(“macgrady”,“mcgrady”)=0.875≥δ,eds(“mvp”,“mvp”)=1≥δ,其它分词对之间的编辑相似度均小于δ。最终可得T1、T2之间的最大加权匹配为fδ(T1,T2)=0.8+0.875+1=2.675,图3给出了(T1,T2)对应的加权偶图。根据fδ(T1,T2)进一步计算T1、T2之间的相似度为Fδ(T1,T2)=2.675/(3+3-2.675)≈0.791>τ,因而s1与s2是近似重复文档。
本发明提供的近似重复文档检测方法利用“先过滤、后检查”的近似重复文档检测算法,能够在提高近似重复文档检测准确度的同时优化计算效率,因而适用于海量文本数据的近似重复检测。
以上是对本发明所提供的文档相似度计算方法和近似重复文档检测方法进行的详细描述,下面对本发明提供的文档相似度计算装置和近似重复文档检测装置进行详细描述。
实施例三
图4是本实施例提供的文档相似度计算装置示意图,如图4所示,本发明的文档相似度计算装置包括:分词模块401、第一计算模块402、加权偶图建立模块403、第二计算模块404和第三计算模块405。
分词模块401用于对两个待检测文档分别进行切词处理,得到所述待检测文档各自的分词集合。
分词模块401对两个待检测文档s1,s2分别进行切词处理,得到分词集合T1,T2。
第一计算模块402用于计算分词模块401得到的两个所述分词集合中所有分词对的编辑相似度。
其中,每个所述分词对的两个分词分别来源于两个所述分词集合。
具体的,第一计算模块402以分词集合T1与T2中所有分词t1,i∈T1、t2,j∈T2为顶点建立偶图(Bipartite Graph),其中1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数,计算所有分词对(t1,i,t2,j)的编辑相似度。
编辑相似度是对编辑距离进行归一化处理,具体可以为:eds(t1,i,t2,j)=1-ed(t1,i,t2,j)/max{|t1,i|,|t2,j|},其中eds(t1,i,t2,j)和ed(t1,i,t2,j)分别表示分词t1,i、t2,j之间的编辑相似度(edit similarity)与编辑距离(edit distance),|t1,i|、|t2,j|为两个分词字符串长度,max{|t1,i|,|t2,j|}函数表示取|t1,i|和|t2,j|之中的较大值。
加权偶图建立模块403用于在第一计算模块402得到的所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图。
所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
如果eds(t1,i,t2,j)≥δ,其中δ为预设编辑相似度阈值,加权偶图建立模块403则在t1,i、t2,j之间建立边并将eds(t1,i,t2,j)赋为边的权值,从而得到加权偶图Gweight。根据编辑相似度eds(t1,i,t2,j)与编辑距离ed(t1,i,t2,j)之间的关系可知,eds(t1,i,t2,j)≥δ成立的充要条件为ed(t1,i,t2,j)≤ε=(1-δ)×max{|t1,i|,|t2,j|},其中ε为δ对应的编辑距离阈值。
第二计算模块404用于计算加权偶图建立模块403得到的所述加权偶图的最大加权匹配值。
第二计算模块404具体用于在加权偶图建立模块403得到的所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值。
第二计算模块404在加权偶图Gweight中找到一个不共顶点的边集,且该边集与其他所有不共顶点的边集相比,其权值之和为最大,则称该权值之和为Gweight的最大加权匹配,记为fδ(T1,T2)。根据0≤eds(t1,i,t2,j)≤1,可知,0≤fδ(T1,T2)≤min{|T1|,|T2|},其中min{|T1|,|T2|}表示取集合{|T1|,|T2|}中的最小值,|T1|表示分词集合T1的基数,即分词数量,|T2|表示分词集合T2的基数。
第三计算模块405用于利用第二计算模块404得到的所述最大加权匹配值,计算所述待检测文档之间的相似度。
第三计算模块405具体用于利用最大加权匹配值,根据Jaccard公式或者余弦相似度公式或者距离公式等,计算所述待检测文档之间的相似度。具体为:
Jaccard相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2))。
余弦相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2。
DICE距离公式:Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|)。
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
各相似度函数的值域均为[0,1],相似度越接近于1则表示两个文档集合越相似。
本发明提供的文档相似度计算装置,由于在计算fδ(T1,T2)时考虑了基于字符的相似度,因而得到的相似度函数能够结合基于字符相似度函数和基于集合的相似度函数的优势,准确率高。
实施例四
图5是本实施例四提供的近似重复文档检测装置示意图,如图5所示,本发明的近似重复文档检测装置包括:分词处理模块501、分串处理模块502、文档签名生成模块503、索引模块504、计算模块505和判断模块506。
分词处理模块501用于对各待检测文档进行切词处理,得到所述各待检测文档各自的分词集合。
分词处理模块501采用现有的切词方法,例如,通过识别特定的非英文字符(如标点、数字等)的切词方法、正向最大匹配法等等,对各待检测文档进行切词处理,得到分词集合。
可选的,分词处理模块501在对各待检测文档进行切词处理之后,还用于对切词处理得到的分词进行编号并记录分词编号,所述分词编号表示该分词在待检测文档中出现的顺序。
例如,对于待处理文档集分别为S1、S2,对于任意s1∈S1、s2∈S2,分词处理模块501通过识别特定的非英文字符(如标点、数字等)或其他切词方法对其进行切词处理,得到分词集合T1={t1,1,t1,2,…,t1,m}、T2={t2,1,t2,2,…,t2,n},同时为每个出现在文档字符串中的分词编号。
分串处理模块502用于分别将分词处理模块501得到的同一待检测文档对应的分词集合中的各分词划分为长度小于所述分词的子串,利用所述子串形成所述分词的签名集合。
分串处理模块502具体用于对分词处理模块501得到的同一待检测文档对应的分词集合中的每个分词,可以但不限于采用q元法q-gram划分得到原分词中所有长度为q的连续子串。
对于所有t1,i∈T1、t2,j∈T2(1≤i≤|T1|、1≤j≤|T2|),|T1|和|T2|分别为分词集合T1与T2的基数,分串处理模块502将其划分为长度更短的子串,得到集合R1,i、R2,j,例如,通过q-gram划分获得原分词中所有长度为q的连续子串。举个例子,对于分词Token="a1a2…ai…ap",其对应的2-gram集合为{a1a2,a2a3,…,aia(i+1),…,a(p-1)ap},3-gram集合为{a1a2a3,a2a3a4,…,a(i-1)aia(i+1),…,a(p-2)a(p-1)ap}。
可选的,为了提高处理效率,分串处理模块502可以根据子串的切分策略,选择适当的过滤方法来删除R1,i、R2,j中的部分子串,以精简子串集合和减少存储开销。分串处理模块502在对各待检测文档进行切词处理之后,还用于对所述连续子串排序,保留前N个子串,其中N为预设正整数;并利用保留的子串形成所述分词的签名集合。
若采用q-gram子串切分策略,分串处理模块502可将R1,i、R2,j中的子串按照字典序排序,只保留前N=(q×ε′+1)个子串,精简后的子串集合称为分词签名,记为R1,i′、R2,j′。其中,ε′是预设编辑距离阈值ε的估值,其定义方法为δ为预设编辑相似度阈值,|t1|为分词t1的字符串长度。
文档签名生成模块503用于将同一待检测文档对应的分词集合中所有分词的签名集合合并,生成所述待检测文档的文档签名。
文档签名生成模块503具体包括:合并单元和排序单元(图未示)。合并单元用于将同一待检测文档对应的分词集合中所有分词的签名集合合并,并记录每个子串所在的分词编号。排序单元用于对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名。
排序单元在对所述合并后的签名集合中的各子串进行排序之后,还用于从后往前删除所述排序后的签名集合中的子串,并采用数据结构表记录已删除子串对应的分词编号;如果被删除的子串对应的分词编号未在所述数据结构表中出现过,则将其加入所述数据结构表中;当所述数据结构表中的元素个数达到M时,停止删除,M为预设个数阈值;并将剩余的子串组成所述待检测文档的文档签名。
首先,文档签名生成模块503取SIGδ(T1)=∪1≤i≤mR1,i′、SIGδ(T2)=∪1≤j≤nR1,j′,将SIGδ(T1)与SIGδ(T2)中的子串排序(如:字典序、逆文档频率idf等),并记录每个子串所属分词的编号。然后,文档签名生成模块503从后往前删除SIGδ(T1)中的子串,并采用哈希表(或其他数据结构)记录已删除子串对应的分词编号。若当前删除的子串对应的分词编号未在哈希表中出现过,则将其加入哈希表中,当哈希表中元素个数达到M时,停止删除。其中,M为预设个数阈值,在本实施例中,θ′是最大加权匹配阈值θ的估值,其计算方法为θ′=τ×|T1|≤θ,τ为预设相似度阈值,|T1|为分词集合T1的基数。
由于θ′仅依赖于|T1|,此处用其取代θ有利于提高精简SIGδ(T1)时的效率。用同样的方法对SIGδ(T2)进行处理,并把精简后的集合sigδ(T1)、sigδ(T2)分别作为分词集合T1和T2对应文档s1、s2的文档签名。
索引模块504用于对文档签名生成模块503生成的文档签名建立反向索引,将出现在同一子串对应的索引表项中的两个分词集合对应的文档配对成文档对并加入候选集中。
索引模块504对文档签名建立反向索引,每个子串对应至少一个它出现过的分词集合,若两个分词集出现在同一个子串对应的索引表项中,将其配对并加入候选集中。
对于没有出现在同一子串对应的索引表项中的两个分词集合,即 则fδ(T1,T2)<θ′≤θ,即Fδ(s1,s2)<τ,说明对应的文档s1和s2不满足相似度阈值筛查条件;相反,若则可将对应的s1和s2列为候选相似文档对,加入候选集中。
计算模块505用于计算所述候选集中文档对的相似度。
图6是本实施例四提供的计算模块的示意图,如图6所示,计算模块505包括第一计算单元5051、加权偶图建立单元5052、第二计算单元5053和第三计算单元5054。
第一计算单元5051与索引模块504相连接,用于计算索引模块504得到的所述候选集中文档对的两个分词集合T1,T2中所有分词对(t1,i,t2,j)的编辑相似度,其中,t1,i∈T1、t2,j∈T2,1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数。
具体的,第一计算单元5051以分词集合T1与T2中所有分词t1,i∈T1、t2,j∈T2为顶点建立偶图(Bipartite Graph),其中1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数,计算所有分词对(t1,i,t2,j)的编辑相似度。编辑相似度是对编辑距离进行归一化处理,具体可以为:eds(t1,i,t2,j)=1-ed(t1,i,t2,js2)/max{|t1,i|,|t2,j|},其中eds(t1,i,t2,j)和ed(t1,i,t2,j)分别表示分词t1,i、t2,j之间的编辑相似度(edit similarity)与编辑距离(edit distance),|t1,i|、|t2,j|为两个分词的字符串长度,max{|t1,i|,|t2,j|}函数表示取|t1,i|和|t2,j|之中的较大值。
加权偶图建立单元5052用于在第一计算单元5051得到的所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图。
所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
如果eds(t1,i,t2,j)≥δ,其中δ为预设编辑相似度阈值,则加权偶图建立单元5052在t1,i、t2,j之间建立边并将eds(t1,i,t2,j)赋为边的权值,从而得到加权偶图Gweight。根据编辑相似度eds(t1,i,t2,j)与编辑距离ed(t1,i,t2,j)之间的关系可知,eds(t1,i,t2,j)≥δ成立的充要条件为ed(t1,i,t2,j)≤ε=(1-δ)×max{|t1,i|,|t2,j|},其中ε为δ对应的编辑距离阈值。
第二计算单元5053用于计算加权偶图建立单元5052得到的所述加权偶图的最大加权匹配值fδ(T1,T2)。
第二计算单元5053具体用于在加权偶图建立单元5052得到的所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值fδ(T1,T2)。
具体的,第二计算单元5053在加权偶图Gweight中找到一个不共顶点的边集,且该边集与其他所有不共顶点的边集相比,其权值之和为最大,则称该权值之和为Gweight的最大加权匹配,记为fδ(T1,T2)。根据0≤eds(t1,i,t2,j)≤1,可知,0≤fδ(T1,T2)≤min{|T1|,|T2|},其中min{|T1|,|T2|}表示取集合{|T1|,|T2|}中的最小值,|T1|表示分词集合T1的基数,即分词数量,|T2|表示分词集合T2的基数。
第三计算单元5054用于利用第二计算单元5053得到的所述最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2)。
第三计算单元5054利用最大加权匹配值,根据Jaccard公式或者余弦相似度公式或者距离公式等,计算所述待检测文档之间的相似度。具体为:
Jaccard相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2))。
余弦相似度公式:Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2。
DICE距离公式:Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|)。
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示待检测文档s1,s2对应的分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
各相似度函数的值域均为[0,1],相似度越接近于1则表示两个文档集合越相似。
判断模块506用于将所述相似度满足要求的文档对识别为近似重复文档。
判断模块506具体用于将文档对相似度Fδ(s1,s2)大于预设文档相似度阈值的文档对识别为近似重复文档。
可选地,本发明提供的近似重复文档检测装置还可以包括:过滤模块(图未示),所述过滤模块与计算模块505相连接,用于采用剪枝策略对索引模块504得到的所述候选集中的文档对进行过滤。则计算模块505计算经过所述过滤模块过滤后的所述候选集中的文档对的相似度。
所述过滤模块具体用于依次取出所述索引模块得到的所述候选集中的文档对,评估文档之间的相似度的上限值;如果所述上限值小于预设相似度阈值τ,则将对应的文档对剪枝。
过滤模块为候选集中每一对候选分词集合(T1,T2)建立加权偶图,对分词集合T1或T2中的每个顶点,选取与其关联的权值最大的边,将所有被选取边的权值累加作为最大加权匹配的估值fδ′(T1,T2),若fδ′(T1,T2)<θ,则fδ(T1,T2)≤fδ′(T1,T2)<θ且Fδ(s1,s2)<τ,即相应的文档对(s1,s2)不满足文档近似重复的阈值条件,直接将(T1,T2)从候选集中删除;反之,准确计算(T1,T2)的最大加权匹配fδ(T1,T2),然后通过计算模块505进一步计算Fδ(s1,s2)并将相似度大于或等于τ的文档对(s1,s2)判断为近似重复文档,添加到结果集R,同时从候选集中删除(T1,T2)。
本发明提供的近似重复文档检测装置利用“先过滤、后检查”的近似重复文档检测算法,能够在提高近似重复文档检测准确度的同时优化计算效率,因而适用于海量文本数据的近似重复检测。
本发明提供的文档相似度计算方法及装置,将分词间的编辑相似度用于计算文档相似度,能够有效识别包含分词集别编辑错误的近似重复文本,特别适用于互联网数据的清洗和分析。
本发明提供的文档相似度计算方法及装置,还可以应用于互联网应用***日志记录或数据库中的文本记录等。
以海量的搜索引擎的查询日志为例,若要对如此大规模的数据进行挖掘分析,重复数据的识别、统计、清洗是其中必不可少的重要步骤。现有很多相似度函数能够用于计算文本数据的相似性,然而,将这些相似度函数简单推广至查询日志中并非完全合理:如果采用基于字符的相似度函数,则“Schwarzenegger movie terminator”与“movie terminatorSchwarzenegger”会被作为不同的记录处理,因为这两个字符串的编辑距离为28,编辑相似度为0.035,我们无法通过设置合理的阈值将这二者判断为相同字符串;如果采用基于集合的相似度函数,则“Schwarzeneger movie terminator”与“movie terminaterSchwarzenegger”将会被视为不同的字符串,因为三个单词中,“Schwarzeneger”与“Schwarzenegger”不同,“terminator”与“terminater”不同,而这样的拼写错误在日常生活中时十分常见的。可以看出,无论是前面的两个查询或是后面的两个查询,目的都是有关一个叫做“Schwarzenegger”的演员以及他的名为“terminator”的电影。并且这几个字符串在形式上并不存在太大的区别,因此需要将它们都作为相同的查询记录来处理。采用本发明的相似度计算方法则能够综合两种函数优点,准确率高。
再以英文人名重复检查为例,对于大型企业而言,数据集成是一项不可或缺的应用。它意图将企业内部乃至多个企业之间的若干异构的、运行于不同软硬件平台的信息加以整合,并提供一个更加统一的访问接口,来实现更高层次的信息共享。在整合时,相同实体的识别是数据去重、合并的一个关键。在这样的***中,人名往往是十分重要的一个属性,因而需要一种准确高效的方法,能够识别出众多记录中代表着相同人物的名称。不同的***可能采取不同的方式表示人名,例如有的***会将姓(family name)放置在名(firstname)之前,另外一些***则与之相反。对于这样的情况,采用基于集合的相似度函数可以较为准确地反应两个名称是否对应于同一实体。同时,由于***中的数据多为人工录入,编辑错误不可避免,基于字符的相似度函数也具有重要价值。本发明提供的相似度计算方法能够综合基于集合的相似度函数和基于字符的相似度函数的优点,能够在很大程度上帮助企业实现多源信息的整合、集成。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种近似重复文档检测方法,其特征在于,所述方法包括:
对各待检测文档进行切词处理,以及将切词处理得到的分词进行编号并记录分词编号,得到所述各待检测文档各自的编号后的分词集合;其中,所述分词编号表示该分词在所述待检测文档中出现的顺序;
分别将同一待检测文档对应的分词集合中的各分词划分为所述分词的子串,利用所述子串形成所述分词的签名集合;
将所述同一检测文档对应的分词集合中所有分词的签名集合合并,并记录每个子串所在的分词编号;对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名;
对所述文档签名建立反向索引,将出现在同一子串对应的索引表项中的两个分词集合对应的文档配对成文档对并加入候选集中;
计算所述候选集中文档对的相似度,将所述相似度满足要求的文档对识别为近似重复文档。
2.根据权利要求1所述的方法,其特征在于,对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名,包括:
对所述合并后的签名集合中的各子串进行排序;
从后往前删除所述排序后的签名集合中的子串,并采用数据结构表记录已删除子串对应的分词编号;
如果被删除的子串对应的分词编号未在所述数据结构表中出现过,则将其加入所述数据结构表中;
当所述数据结构表中的元素个数达到M时,停止删除,所述M为预设个数阈值;
将剩余的子串组成所述待检测文档的文档签名。
3.根据权利要求1所述的方法,其特征在于,分别将同一待检测文档对应的分词集合中的各分词划分为所述分词的子串,包括:
对所述分词集合中的每个分词,采用q元法q-gram划分得到原分词中所有长度为q的连续子串。
4.根据权利要求3所述的方法,其特征在于,利用所述子串形成所述分词的签名集合,包括:
对所述连续子串排序,保留前N个子串,其中N为预设正整数;
利用所述保留的子串形成所述分词的签名集合。
5.根据权利要求1所述的方法,其特征在于,所述计算所述候选集中文档对的相似度,包括:
计算所述候选集中文档对的两个分词集合T1,T2中所有分词对(t1,i,t2,j)的编辑相似度,其中,t1,i∈T1、t2,j∈T2,1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数;
在所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;
计算所述加权偶图的最大加权匹配值fδ(T1,T2);
利用所述最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2)。
6.根据权利要求5所述的方法,其特征在于,所述计算加权偶图的最大加权匹配值fδ(T1,T2),包括:
在所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值fδ(T1,T2)。
7.根据权利要求5所述的方法,其特征在于,所述利用最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2),包括:
利用所述最大加权匹配值fδ(T1,T2),根据以下所列任一公式,计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2):
Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2));
或者,Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2;
或者,Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|);
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示所述分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
8.根据权利要求5所述的方法,其特征在于,所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
9.根据权利要求1所述的方法,其特征在于,在计算所述候选集中文档对的相似度之前,还包括:
采用剪枝策略对所述候选集中的文档对进行过滤;
所述计算所述候选集中文档对的相似度,包括:
计算过滤后的所述候选集中的文档对的相似度。
10.根据权利要求9所述的方法,其特征在于,所述采用剪枝策略对所述候选集中的文档对进行过滤,包括:
依次取出所述候选集中的文档对,评估文档之间的相似度的上限值;
如果所述上限值小于预设相似度阈值τ,则将对应的文档对剪枝。
11.一种近似重复文档检测装置,其特征在于,所述装置包括:
分词处理模块,用于对各待检测文档进行切词处理,以及将切词处理得到的分词进行编号并记录分词编号,得到所述各待检测文档各自编号后的分词集合;其中,所述分词编号表示该分词在所述待检测文档中出现的顺序;
分串处理模块,用于分别将所述分词模块得到的同一待检测文档对应的分词集合中的各分词划分为所述分词的子串,利用所述子串形成所述分词的签名集合;
文档签名生成模块,用于将所述同一待检测文档对应的分词集合中所有分词的签名集合合并,生成所述待检测文档的文档签名;其中,所述文档签名生成模块具体包括:合并单元和排序单元;所述合并单元用于将所述同一待检测文档对应的分词集合中所有分词的签名集合合并,并记录每个子串所在的分词编号;所述排序单元用于对所述合并后的签名集合中的各子串进行排序,将满足要求的子串组成所述待检测文档的文档签名;
索引模块,用于对所述文档签名建立反向索引,将出现在同一子串对应的索引表项中的两个分词集合对应的文档配对成文档对并加入候选集中;
计算模块,用于计算所述候选集中文档对的相似度;
判断模块,用于将所述计算模块计算得到的所述相似度满足要求的文档对识别为近似重复文档。
12.根据权利要求11所述的装置,其特征在于,所述排序单元在对所述合并后的签名集合中的各子串进行排序之后,还用于从后往前删除所述排序后的签名集合中的子串,并采用数据结构表记录已删除子串对应的分词编号;如果被删除的子串对应的分词编号未在所述数据结构表中出现过,则将其加入所述数据结构表中;当所述数据结构表中的元素个数达到M时,停止删除,所述M为预设个数阈值;并将剩余的子串组成所述待检测文档的文档签名。
13.根据权利要求11所述的装置,其特征在于,所述分串处理模块具体用于对所述分词集合中的每个分词,采用q元法q-gram划分得到原分词中所有长度为q的连续子串。
14.根据权利要求13所述的装置,其特征在于,所述分串处理模块还用于对所述连续子串排序,保留前N个子串,其中N为预设正整数;并利用所述保留的子串形成所述分词的签名集合。
15.根据权利要求11所述的装置,其特征在于,所述计算模块包括:
第一计算单元,用于计算所述索引模块得到的所述候选集中文档对的两个分词集合T1,T2中所有分词对(t1,i,t2,j)的编辑相似度,其中,t1,i∈T1、t2,j∈T2,1≤i≤|T1|、1≤j≤|T2|、|T1|和|T2|分别为分词集合T1与T2的基数;
加权偶图建立单元,用于在所述第一计算单元得到的所述编辑相似度满足要求的分词对之间建立边,所述编辑相似度为对应分词对的边的权值,得到加权偶图;
第二计算单元,用于计算所述加权偶图建立单元得到的所述加权偶图的最大加权匹配值fδ(T1,T2);
第三计算单元,用于利用所述第二计算单元得到的所述最大加权匹配值fδ(T1,T2),计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2)。
16.根据权利要求15所述的装置,其特征在于,所述第二计算单元具体用于在所述加权偶图建立单元得到的所述加权偶图中找到权值之和最大且不共顶点的边集,将所述权值之和最大且不共顶点的边集的权值之和作为所述加权偶图的最大加权匹配值fδ(T1,T2)。
17.根据权利要求15所述的装置,其特征在于,所述第三计算单元具体用于利用所述最大加权匹配值fδ(T1,T2),根据以下所列任一公式,计算所述分词集合T1,T2对应的文档s1,s2之间的相似度Fδ(s1,s2):
Fδ(s1,s2)=fδ(T1,T2)/(|T1|+|T2|-fδ(T1,T2));
或者,Fδ(s1,s2)=fδ(T1,T2)/(|T1|×|T2|)1/2;
或者,Fδ(s1,s2)=2×fδ(T1,T2)/(|T1|+|T2|);
其中,Fδ(s1,s2)表示待检测文档s1,s2之间的相似度,fδ(T1,T2)表示所述分词集合T1,T2的加权偶图的最大加权匹配值,|T1|表示分词集合T1的基数,|T2|表示分词集合T2的基数。
18.根据权利要求15所述的装置,其特征在于,所述编辑相似度满足要求包括:所述编辑相似度大于或等于预设编辑相似度阈值。
19.根据权利要求11所述的装置,其特征在于,所述装置还包括:
过滤模块,所述过滤模块与所述计算模块相连接,用于采用剪枝策略对所述索引模块得到的所述候选集中的文档对进行过滤;
所述计算模块计算经过所述过滤模块过滤后的所述候选集中的文档对的相似度。
20.根据权利要求19所述的装置,其特征在于,所述过滤模块具体用于依次取出所述索引模块得到的所述候选集中的文档对,评估文档之间的相似度的上限值;如果所述上限值小于预设相似度阈值τ,则将对应的文档对剪枝。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310260390.1A CN104252445B (zh) | 2013-06-26 | 2013-06-26 | 近似重复文档检测方法及装置 |
PCT/CN2014/080318 WO2014206241A1 (zh) | 2013-06-26 | 2014-06-19 | 文档相似度计算方法、近似重复文档检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310260390.1A CN104252445B (zh) | 2013-06-26 | 2013-06-26 | 近似重复文档检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252445A CN104252445A (zh) | 2014-12-31 |
CN104252445B true CN104252445B (zh) | 2017-11-24 |
Family
ID=52141044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310260390.1A Expired - Fee Related CN104252445B (zh) | 2013-06-26 | 2013-06-26 | 近似重复文档检测方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104252445B (zh) |
WO (1) | WO2014206241A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598986B (zh) * | 2015-10-16 | 2020-11-27 | 北京国双科技有限公司 | 相似度计算的方法及装置 |
CN106815179B (zh) * | 2015-11-27 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 一种文本相似度确定方法及装置 |
CN105897445A (zh) * | 2016-05-30 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种小号外挂的确定方法及装置 |
CN106372202B (zh) * | 2016-08-31 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 文本相似度计算方法及装置 |
CN106528714B (zh) * | 2016-10-26 | 2018-08-03 | 广州酷狗计算机科技有限公司 | 获取文字提示文件的方法及装置 |
US10460203B2 (en) * | 2016-10-31 | 2019-10-29 | Salesforce.Com, Inc. | Jaccard similarity estimation of weighted samples: scaling and randomized rounding sample selection with circular smearing |
CN106980870B (zh) * | 2016-12-30 | 2020-07-28 | ***股份有限公司 | 短文本之间的文本匹配度计算方法 |
CN107066623A (zh) * | 2017-05-12 | 2017-08-18 | 湖南中周至尚信息技术有限公司 | 一种文章合并方法及装置 |
CN107133335B (zh) * | 2017-05-15 | 2020-06-02 | 北京航空航天大学 | 一种基于分词与索引技术的重复记录检测方法 |
CN106982396A (zh) * | 2017-05-17 | 2017-07-25 | 深圳天珑无线科技有限公司 | 一种信息处理方法、装置及移动终端 |
CN107463605B (zh) * | 2017-06-21 | 2021-06-11 | 北京百度网讯科技有限公司 | 低质新闻资源的识别方法及装置、计算机设备及可读介质 |
CN107391671B (zh) * | 2017-07-21 | 2019-11-26 | 华中科技大学 | 一种文档泄露检测方法及*** |
CN107577665B (zh) * | 2017-09-11 | 2020-11-03 | 电子科技大学 | 文本情感倾向的判别方法 |
CN109241505A (zh) * | 2018-10-09 | 2019-01-18 | 北京奔影网络科技有限公司 | 文本去重方法及装置 |
CN109615017B (zh) * | 2018-12-21 | 2021-06-29 | 大连海事大学 | 考虑多参考因素的Stack Overflow重复问题检测方法 |
CN111488497B (zh) * | 2019-01-25 | 2023-05-12 | 北京沃东天骏信息技术有限公司 | 字符串集合的相似度确定方法、装置、终端及可读介质 |
CN110083832B (zh) * | 2019-04-17 | 2020-12-29 | 北大方正集团有限公司 | 文章转载关系的识别方法、装置、设备及可读存储介质 |
CN112926310B (zh) * | 2019-12-06 | 2023-11-03 | 北京搜狗科技发展有限公司 | 一种关键词提取方法及装置 |
KR102448061B1 (ko) * | 2019-12-11 | 2022-09-27 | 네이버 주식회사 | 딥러닝 기반의 문서 유사도 측정 모델을 이용한 중복 문서 탐지 방법 및 시스템 |
CN113779183B (zh) * | 2020-06-08 | 2024-05-24 | 北京沃东天骏信息技术有限公司 | 文本匹配方法、装置、设备及存储介质 |
CN112183052B (zh) * | 2020-09-29 | 2024-03-05 | 百度(中国)有限公司 | 一种文档重复度检测方法、装置、设备和介质 |
CN117494231A (zh) * | 2023-11-15 | 2024-02-02 | 山东农业大学 | 一种基于大数据的分布式数据管理监测*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959671A (zh) * | 2005-10-31 | 2007-05-09 | 北大方正集团有限公司 | 基于文档结构的文档相似性度量方法 |
CN1963807A (zh) * | 2005-11-11 | 2007-05-16 | 威知资讯股份有限公司 | 相似文件的自动侦测方法 |
CN101231641A (zh) * | 2007-01-22 | 2008-07-30 | 北大方正集团有限公司 | 一种自动分析互联网上热点主题传播过程的方法及*** |
CN102541989A (zh) * | 2010-10-28 | 2012-07-04 | 微软公司 | 数据检索的稳健的自动纠正 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707206B2 (en) * | 2005-09-21 | 2010-04-27 | Praxeon, Inc. | Document processing |
CN103092828B (zh) * | 2013-02-06 | 2015-08-12 | 杭州电子科技大学 | 基于语义分析和语义关系网络的文本相似度度量方法 |
-
2013
- 2013-06-26 CN CN201310260390.1A patent/CN104252445B/zh not_active Expired - Fee Related
-
2014
- 2014-06-19 WO PCT/CN2014/080318 patent/WO2014206241A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959671A (zh) * | 2005-10-31 | 2007-05-09 | 北大方正集团有限公司 | 基于文档结构的文档相似性度量方法 |
CN1963807A (zh) * | 2005-11-11 | 2007-05-16 | 威知资讯股份有限公司 | 相似文件的自动侦测方法 |
CN101231641A (zh) * | 2007-01-22 | 2008-07-30 | 北大方正集团有限公司 | 一种自动分析互联网上热点主题传播过程的方法及*** |
CN102541989A (zh) * | 2010-10-28 | 2012-07-04 | 微软公司 | 数据检索的稳健的自动纠正 |
Non-Patent Citations (1)
Title |
---|
Can we beat the prefix filtering?: an adaptive framework for similarity join and search;Wang J, Li G, Feng J;《Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data》;20121231;第86页第2.1节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104252445A (zh) | 2014-12-31 |
WO2014206241A1 (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252445B (zh) | 近似重复文档检测方法及装置 | |
Boyack et al. | Co‐citation analysis, bibliographic coupling, and direct citation: Which citation approach represents the research front most accurately? | |
US8315997B1 (en) | Automatic identification of document versions | |
US7603345B2 (en) | Detecting spam documents in a phrase based information retrieval system | |
CN103049575B (zh) | 一种主题自适应的学术会议搜索*** | |
US20090094262A1 (en) | Automatic Generation Of Ontologies Using Word Affinities | |
US20140074764A1 (en) | Simplifying a graph of correlation rules while preserving semantic coverage | |
US20080228743A1 (en) | System and method for multi-dimensional aggregation over large text corpora | |
US20080147642A1 (en) | System for discovering data artifacts in an on-line data object | |
Rousseau et al. | A classification of author co‐citations: Definitions and search strategies | |
Zhai et al. | ATLAS: a probabilistic algorithm for high dimensional similarity search | |
CN103365998B (zh) | 一种相似字符串检索方法 | |
CN110569328A (zh) | 实体链接方法、电子装置及计算机设备 | |
CN106055621A (zh) | 一种日志检索方法及装置 | |
CN109902142B (zh) | 一种基于编辑距离的字符串模糊匹配和查询方法 | |
US20080147588A1 (en) | Method for discovering data artifacts in an on-line data object | |
Deshpande et al. | Efficient reverse skyline retrieval with arbitrary non-metric similarity measures | |
CN106649666A (zh) | 一种左右递归新词发现方法 | |
CN105718590A (zh) | 面向多租户的SaaS舆情监控***及方法 | |
CN104573130A (zh) | 基于群体计算的实体解析方法及装置 | |
Soussi et al. | Towards social network extraction using a graph database | |
CN107844493A (zh) | 一种文件关联方法及*** | |
CN109885797B (zh) | 一种基于多身份空间映射的关系网络构建方法 | |
Pereira et al. | Disambiguating publication venue titles using association rules | |
CN106547764A (zh) | 网页数据去重的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171124 Termination date: 20200626 |
|
CF01 | Termination of patent right due to non-payment of annual fee |