CN110765756A - 一种文本处理方法、装置、计算设备及介质 - Google Patents

一种文本处理方法、装置、计算设备及介质 Download PDF

Info

Publication number
CN110765756A
CN110765756A CN201911038371.8A CN201911038371A CN110765756A CN 110765756 A CN110765756 A CN 110765756A CN 201911038371 A CN201911038371 A CN 201911038371A CN 110765756 A CN110765756 A CN 110765756A
Authority
CN
China
Prior art keywords
text
processed
length
word
length threshold
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.)
Granted
Application number
CN201911038371.8A
Other languages
English (en)
Other versions
CN110765756B (zh
Inventor
王田利
息振兴
韩亚东
付一韬
杨林凤
史立华
寇凯
谢健聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Cheerbright Technologies Co Ltd
Original Assignee
Beijing Cheerbright Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Cheerbright Technologies Co Ltd filed Critical Beijing Cheerbright Technologies Co Ltd
Priority to CN201911038371.8A priority Critical patent/CN110765756B/zh
Publication of CN110765756A publication Critical patent/CN110765756A/zh
Application granted granted Critical
Publication of CN110765756B publication Critical patent/CN110765756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种文本处理方法、装置、计算设备及介质,该方法包括:获取待处理文本集,待处理文本集包括多个待处理文本;按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理;按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理;结合第一方式和第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理。

Description

一种文本处理方法、装置、计算设备及介质
技术领域
本发明涉及互联网及大数据处理技术领域,特别涉及一种文本处理方法、装置、计算设备及介质。
背景技术
随着互联网技术的不断发展,越来越多的人开始通过网络来获取各种信息,如新闻、购物资讯等。但信息的种类繁杂,内容多样,信息提供方如果不采取相应措施,就很容易在网络上出现大量的重复文本,比如互相抄袭的新闻、群发的垃圾短信、铺天盖地的广告文案等,这些都会造成网络内容的同质化并加重数据库的存储负担。
为了防止给用户展示相似的文本,通常会采用比较两个文本是否相似的方法来进行文本去重处理。然而,传统比较两个文本相似性的方法,大多是将文本分词之后,转化为特征向量距离的度量,例如常见的欧氏距离、海明距离、余弦角度等等。两两比较固然能很好地适应,但这种方法最大的缺点就是无法将其扩展到海量数据。
海量文本去重的方法中,最为知名的就是SimHash算法,SimHash算法是局部敏感哈希(Locality Sensitive Hash,LSH)算法的其中一种,它产生的哈希签名在一定程度上作为原内容的表征信息,使用汉明距离来度量文本之间的相似性,可以极大降低算法的时间复杂度,并且也能取得很好的去重效果。而在实际业务中,除了长文本外,还存在大量短文本,但SimHash算法只适用于长文本的相似性度量,对短文本容易造成误判。
此时,可采用基于最小哈希函数的MinHash算法来对短文本进行去重,将原始超高维的稀疏向量转化为低维的稠密向量,降低了计算的空间复杂度,同时,对转换后的稠密向量进行分段索引,缩小潜在相似文本范围,降低了计算的时间复杂度。虽然MinHash算法已经将高维向量转换为低维向量,可相比于SimHash算法,仍然使用更多内存,需要耗费较大的空间资源,因此,需要一种新的文本处理方法来优化上述处理过程。
发明内容
为此,本发明提供一种文本处理方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种文本处理方法,该方法包括如下步骤:首先,获取待处理文本集,待处理文本集包括多个待处理文本;按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理;按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理;结合第一方式和第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理。
可选地,在根据本发明的文本处理方法中,按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理的步骤,包括:对每个文本长度大于第一长度阈值的待处理文本,获取文本长度大于第一长度阈值的待处理文本的词语特征向量;计算词语特征向量的哈希签名;对哈希签名进行分块,将分块后得到的第一数量个数据块作为哈希签名对应的分块结果;根据分块结果,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重。
可选地,在根据本发明的文本处理方法中,获取文本长度大于第一长度阈值的待处理文本的词语特征向量的步骤,包括:对文本长度大于第一长度阈值的待处理文本进行分词,以生成对应的第一词集,第一词集包括多个词;通过预设的词频计算模型,计算第一词集包括的多个词中每个词的权重;按照权重从高到底的顺序对多个词进行排序,获取前第二数量个词形成词语特征向量。
可选地,在根据本发明的文本处理方法中,计算词语特征向量的哈希签名的步骤,包括:生成词语特征向量中每个词的哈希签名;对词语特征向量中每个词,将该词的哈希签名中值为1的数位的值更新为该词的权重,值为0的数位的值更新为该词的权重的相反数,以获取该词的特征向量;将词语特征向量中每个词的特征向量对应相加后进行降维处理,以得到词语特征向量的哈希签名。
可选地,在根据本发明的文本处理方法中,根据分块结果,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重的步骤,包括:根据分块结果,确定与该哈希签名对应的文本长度大于第一长度阈值的待处理文本关联的第一候选文本集;从第一候选文本集中,选出与该哈希签名对应的文本长度大于第一长度阈值的待处理文本相似的、一个或多个待处理文本作为第一重复文本;根据第一重复文本的文本标识,确定该哈希签名对应的文本长度大于第一长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理方法中,按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理的步骤,包括:对每个文本长度小于第二长度阈值的待处理文本,获取文本长度小于第二长度阈值的待处理文本的签名矩阵;将签名矩阵进行分桶处理以得到多个索引块,对每个索引块的键值进行降维压缩;根据降维压缩后的各索引块,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重。
可选地,在根据本发明的文本处理方法中,获取文本长度小于第二长度阈值的待处理文本的签名矩阵的步骤,包括:对文本长度小于第二长度阈值的待处理文本进行分词,以生成对应的第二词集,第二词集包括多个词;计算第二词集的最小哈希值,根据最小哈希值确定第二词集对应的文本长度小于第二长度阈值的待处理文本的签名矩阵。
可选地,在根据本发明的文本处理方法中,对每个索引块的键值进行降维压缩的步骤,包括:通过MD5信息摘要算法对每个索引块的键值进行降维压缩。
可选地,在根据本发明的文本处理方法中,根据降维压缩后的各索引块,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重的步骤,包括:根据降维压缩后的各索引块,确定与索引块对应的文本长度小于第二长度阈值的待处理文本关联的第二候选文本集;从第二候选文本集中,选出与索引块对应的文本长度小于第二长度阈值的待处理文本相似的、一个或多个待处理文本作为第二重复文本;根据第二重复文本的文本标识,确定索引块对应的文本长度小于第二长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理方法中,结合第一方式和第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理的步骤,包括:按照第一方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第一去重文本标识;按照第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第二去重文本标识;根据预设的边界值字典、第一去重文本标识和第二去重文本标识,确定文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理方法中,根据预设的边界值字典、第一去重文本标识和第二去重文本标识,确定文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识的步骤,包括:在边界值字典中进行关键字查询;若未查询到为第一去重文本标识的关键字,则将第二去重文本标识作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识,并将以第一去重文本标识为关键字、第二去重文本标识为键值而形成的键值对存入边界值字典;若查询到为第一去重文本标识的关键字,则将第一去重文本标识关联的键值作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理方法中,还包括:初始化边界值字典,边界值字典中存储有一对或多对键值对,键值对以第一去重文本标识为关键字,以第一去重文本标识对应的第二去重文本标识为键值。
根据本发明的又一个方面,提供一种文本处理装置,该装置包括获取模块、第一处理模块、第二处理模块和第三处理模块。其中,获取模块适于获取待处理文本集,待处理文本集包括多个待处理文本;第一处理模块适于按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理;第二处理模块适于按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理;第三处理模块适于结合第一方式和第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理。
可选地,在根据本发明的文本处理装置中,第一处理模块进一步适于对每个文本长度大于第一长度阈值的待处理文本,获取文本长度大于第一长度阈值的待处理文本的词语特征向量;计算词语特征向量的哈希签名;对哈希签名进行分块,将分块后得到的第一数量个数据块作为哈希签名对应的分块结果;根据分块结果,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重。
可选地,在根据本发明的文本处理装置中,第一处理模块进一步适于对文本长度大于第一长度阈值的待处理文本进行分词,以生成对应的第一词集,第一词集包括多个词;通过预设的词频计算模型,计算第一词集包括的多个词中每个词的权重;按照权重从高到底的顺序对多个词进行排序,获取前第二数量个词形成词语特征向量。
可选地,在根据本发明的文本处理装置中,第一处理模块进一步适于生成词语特征向量中每个词的哈希签名;对词语特征向量中每个词,将该词的哈希签名中值为1的数位的值更新为该词的权重,值为0的数位的值更新为该词的权重的相反数,以获取该词的特征向量;将词语特征向量中每个词的特征向量对应相加后进行降维处理,以得到词语特征向量的哈希签名。
可选地,在根据本发明的文本处理装置中,第一处理模块进一步适于根据分块结果,确定与哈希签名对应的文本长度大于第一长度阈值的待处理文本关联的第一候选文本集;从第一候选文本集中,选出与哈希签名对应的文本长度大于第一长度阈值的待处理文本相似的、一个或多个待处理文本作为第一重复文本;根据第一重复文本的文本标识,确定哈希签名对应的文本长度大于第一长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理装置中,第二处理模块进一步适于对每个文本长度小于第二长度阈值的待处理文本,获取文本长度小于第二长度阈值的待处理文本的签名矩阵;将签名矩阵进行分桶处理以得到多个索引块,对每个索引块的键值进行降维压缩;根据降维压缩后的各索引块,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重。
可选地,在根据本发明的文本处理装置中,第二处理模块进一步适于对文本长度小于第二长度阈值的待处理文本进行分词,以生成对应的第二词集,第二词集包括多个词;计算第二词集的最小哈希值,根据最小哈希值确定第二词集对应的文本长度小于第二长度阈值的待处理文本的签名矩阵。
可选地,在根据本发明的文本处理装置中,第二处理模块进一步适于通过MD5信息摘要算法对每个索引块的键值进行降维压缩。
可选地,在根据本发明的文本处理装置中,第二处理模块进一步适于根据降维压缩后的各索引块,确定与索引块对应的文本长度小于第二长度阈值的待处理文本关联的第二候选文本集;从第二候选文本集中,选出与索引块对应的文本长度小于第二长度阈值的待处理文本相似的、一个或多个待处理文本作为第二重复文本;根据第二重复文本的文本标识,确定索引块对应的文本长度小于第二长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理装置中,第三处理模块进一步适于按照第一方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第一去重文本标识;按照第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第二去重文本标识;根据预设的边界值字典、第一去重文本标识和第二去重文本标识,确定文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理装置中,第三处理模块进一步适于在边界值字典中进行关键字查询;当未查询到为第一去重文本标识的关键字时,将第二去重文本标识作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识,并将以第一去重文本标识为关键字、第二去重文本标识为键值而形成的键值对存入边界值字典;当查询到为第一去重文本标识的关键字时,将第一去重文本标识关联的键值作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
可选地,在根据本发明的文本处理装置中,还包括初始化模块,初始化模块适于初始化边界值字典,边界值字典中存储有一对或多对键值对,键值对以第一去重文本标识为关键字,以第一去重文本标识对应的第二去重文本标识为键值。
根据本发明的又一个方面,提供一种计算设备,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的文本处理方法的指令。
根据本发明的又一个方面,还提供一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行根据本发明的文本处理方法。
根据本发明的文本处理方案,基于文本长度的不同而对待处理文本采用对应的方式进行去重处理,将文本长度大于第一长度阈值的待处理文本作为长文本,按照第一方式进行去重,将文本长度小于第二长度阈值的待处理文本作为短文本,按照第二方式进行去重,将文本长度不大于第一长度阈值且不小于第二长度阈值的待处理文本作为边界值文本,采用第一方式和第二方式联合去重,解决了边界值问题,实现了不同文本长度的文本的精确去重,提升了海量文本去重的召回率和准确率,并降低了计算的时间复杂度和空间复杂度。此外,在按照第二方式对短文本去重处理时,利用MD5信息摘要算法对特征向量进行降维压缩,进一步减少了内存使用率,使其能够支持海量文本去重。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的结构框图;
图2示出了根据本发明的一个实施例的文本处理方法200的流程图;以及
图3示出了根据本发明的一个实施例的文本处理装置300的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的计算设备100的结构框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
在一些实施例中,计算设备100被配置为执行根据本发明的文本处理方法200。其中,计算设备100的一个或多个程序122包括用于执行根据本发明的文本处理方法200的指令。
图2示出了根据本发明的一个实施例的文本处理方法200的流程图。如图2所示,方法200始于步骤S210。在步骤S210中,获取待处理文本集,待处理文本集包括多个待处理文本。
根据本发明的一个实施例,待处理文本集中通常包括大量的待处理文本,为便于理解,在该实施方式中仅以数量有限的待处理文本进行说明。例如,待处理文本集包括6个待处理文本,分别记为待处理文本A1、待处理文本A2、待处理文本A3、待处理文本A4、待处理文本A5和待处理文本A6。
在获取到待处理文本集之后,通常会对待处理文本集中的每个待处理文本进行文本长度确定,以便按照不同的处理方式,对不同文本长度的待处理文本进行文本去重处理。其中,文本长度是按照文本的字符个数来计算得出,例如,“今天天气真好。”这一文本的文本长度为7,“Welcome to Beijing.”这一文本的文本长度为19。
随后,进入步骤S220,按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理。文本长度大于第一长度阈值的待处理文本可认为是长文本,其中,第一长度阈值优选为300。
根据本发明的一个实施例,可通过如下方式按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理。首先,对每个文本长度大于第一长度阈值的待处理文本,获取文本长度大于第一长度阈值的待处理文本的词语特征向量。
在该实施方式中,先对文本长度大于第一长度阈值的待处理文本进行分词,以生成对应的第一词集,第一词集包括多个词,再通过预设的词频计算模型,计算第一词集包括的多个词中每个词的权重,按照权重从高到底的顺序对多个词进行排序,获取前第二数量个词形成词语特征向量。其中,预设的词频计算模型优选为TF-IDF(Term Frequency–Inverse Document Frequency,词频-逆文本频率指数)模型,第二数量优选为20。
以待处理文本A1为例,待处理文本A1的文本长度大于300,可确定待处理文本A1为长文本。待处理文本A1如下所示:
标题:人长久车长安|长安汽车年夜FUN济南站欢庆
内容:2019年1月19日,长安汽车“人长久车长安——年夜FUN”的活动在“家家有泉水,户户有垂柳”的魅力都市济南隆重举行。来自山东区域的众多媒体代表和长安汽车的车主朋友们与济南各家经销商欢聚一堂,共迎即将到来的2019年春节,共话长安情,共祝长安好!签到有礼新年专属祝福年夜FUN活动正式开始前,现场就已经是一片热闹景象。
……
每一个乐观、有爱、向上的长安客户,都是长安汽车品牌熠熠生辉的根本,他们让长安汽车的发展更有底气。只有发挥好客户的价值作用,才能让长安汽车,在今后的道路上,越走越远!走过2018,长安品牌客户已突破1700万,正处于第三次创新创业阶段的长安汽车,已着手向智能出行科技公司转型,以客户为中心,“从服务客户向经营客户转型”,持续推进客户营销。2019年,共祝人长久,车长安!
可通过结巴分词等方法对待处理文本A1进行分词,生成待处理文本A1对应的第一词集B1,第一词集B1中包括413个词,通过TF-IDF模型,计算第一词集B1包括的213个词中每个词的权重,按照权重从高到底的顺序对这213个词进行排序,获取前20个词形成词语特征向量C1。词语特征向量C1如下所示:
[鼓舞人心,鼓舞,鼓励,黄河,鲤鱼,魅力,高潮,高朋满座,颁奖,面塑,非常,集市,隆重举行,阶段,长安汽车,长安,长久以来,长久,锦鲤,都市]
然后,计算词语特征向量的哈希签名。在该实施方式中,生成词语特征向量中每个词的哈希签名,对词语特征向量中每个词,将该词的哈希签名中值为1的数位的值更新为该词的权重,值为0的数位的值更新为该词的权重的相反数,以获取该词的特征向量,将词语特征向量中每个词的特征向量对应相加后进行降维处理,以得到词语特征向量的哈希签名。其中,哈希签名表示为64位的二进制形式。
以词语特征向量C1中第一个词“鼓舞人心”为例,该词的权重为7,哈希签名为0110100011100001001011000010000010110100001000011000111110010000,其中第一个数位的值为0,则将该数位的值更新为-7,第二个数位的值为1,则该数位的值更新为7,以此类推。最后,将词语特征向量C1中每个词的特征向量对应相加后进行降维处理,例如,通过将上述相加结果中值大于0的数位的值更新为1,值不大于0的数位的值更新为0实现降维,从而得到词语特征向量C1的哈希签名为0000000000000000000000011000000000101101000000011000111110010000。
接下来,对哈希签名进行分块,将分块后得到的第一数量个数据块作为哈希签名对应的分块结果。其中,第一数量优选为4。在该实施方式中,将词语特征向量C1的64位的哈希签名分块成4个16位的数据块,将这4个数据库作为该哈希签名对应的分块结果,具体如表1所示:
1 2 3 4
A1 0000000000000000 0000000110000000 0010110100000001 1000111110010000
表1
根据分块结果,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重。在该实施方式中,根据分块结果,确定与该哈希签名对应的文本长度大于第一长度阈值的待处理文本关联的第一候选文本集,从第一候选文本集中,选出与该哈希签名对应的文本长度大于第一长度阈值的待处理文本相似的、一个或多个待处理文本作为第一重复文本,根据第一重复文本的文本标识,确定该哈希签名对应的文本长度大于第一长度阈值的待处理文本的去重文本标识。
根据抽屉原理,当汉明距离为3时,如果两个待处理文本相似,那么4数据块中,必有1个数据块的数据是相等的。可以将数据块视为截断指纹,4个数据块通过Key-Value倒排索引存储,Key为16位截断指纹,Value为Key相等时剩余的48位截断指纹集合,查询的时候,精确匹配这个哈希签名对应的4个16位截断指纹即可。
例如,待处理文本A2和待处理文本A3的文本长度也大于300,是长文本,则可根据上述处理流程,分别得到待处理文本A2和待处理文本A3的词语特征向量的哈希签名对应的分块结果,具体如表2所示:
1 2 3 4
A2 0000000000000000 0000000110000000 0010110100000001 1000111110010000
A3 0000000000000000 0101000110000000 0010110101001001 1000111110010001
表2
上述通过建立分桶索引,把64位的二进制的哈希签名均分成4个数据块,每个数据块16位,然后把分成的4个数据块中的每一个数据块对对应位置进行查找,建倒排索引。根据分块结果,可知待处理文本A1、待处理文本A2和待处理文本A3的第一个数据块相同,可将待处理文本A2和待处理文本A3放入与待处理文本A1关联的第一候选文本集中。
此时,计算待处理文本A2对应的哈希签名与待处理文本A1对应的哈希签名的汉明距离,得到该汉明距离为0,小于3,表明待处理文本A2与待处理文本A1相似,即待处理文本A2为待处理文本A1的第一重复文本。计算待处理文本A3对应的哈希签名与待处理文本A1对应的哈希签名的汉明距离,得到该汉明距离大于3,表明待处理文本A3与待处理文本A1不相似,即待处理文本A3不是待处理文本A1的第一重复文本。
最后,根据待处理文本A2的文本标识,确定待处理文本A1的去重文本标识。这里的文本标识,即文本ID,是系统赋予待处理文本的一个按照时间顺序递增的整型ID编号,去重文本标识则是指文本去重处理后给对应的待处理文本赋予的整型ID编号,相似的待处理文本会拥有相同的去重文本标识。由于在计算待处理文本A1的哈希签名和与其关联的、第一候选文本集中各待处理文本的哈希签名之间的汉明距离时,可能产生多个相同的汉明距离的结果,例如,在又一实施方式中,该第一候选文本集中的待处理文本A2对应的哈希签名,与待处理文本A1的对应的哈希签名的汉明距离为2,而该第一候选文本集中的待处理文本A3对应的哈希签名,与待处理文本A1的对应的哈希签名的汉明距离也为2,两者相同,则应将待处理文本A2的文本标识和待处理文本A3的文本标识中最小的文档标识,即时间最靠前的文档标识作为待处理文本A1的去重文本标识。
在步骤S230中,按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理。文本长度小于第二长度阈值的待处理文本可认为是短文本,其中,第二长度阈值优选为200。
根据本发明的一个实施例,可通过如下方式按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理。首先,对每个文本长度小于第二长度阈值的待处理文本,获取文本长度小于第二长度阈值的待处理文本的签名矩阵。
两个待处理文本的相似度定义为Jaccard距离,如式(1):
Figure BDA0002252171390000131
以下处理方式的思想是两个待处理文本的最小哈希值相等的概率P,来等价于两个待处理文本的Jaccard相似度公式J(A,B),如式(2):
P(Minhash(A)=Minhash(B))=J(A,B) (2)
其中,A、B表示待处理文本,也可理解为集合,Minhash表示求最小哈希值。
在该实施方式中,先对文本长度小于第二长度阈值的待处理文本进行分词,以生成对应的第二词集,第二词集包括多个词,计算第二词集的最小哈希值,根据最小哈希值确定第二词集对应的文本长度小于第二长度阈值的待处理文本的签名矩阵。
以待处理文本A4为例,待处理文本A4的文本长度小于200,可确定待处理文本A4为短文本。待处理文本A4如下所示:
标题:又一款"龙颜"轿车出炉,比亚迪代号HD新车冰雪测试谍照曝光
内容:近日,笔者从网上得到了一组比亚迪内部代号为HD新车在3月进行冰雪测试的谍照,虽然车型处于重度伪装状态,但通过一些细节还是可以看出一些端倪。从路试谍照基本可以看出,新车的前脸采用了比亚迪最新的DragonFace家族化设计语言,饱满有力;前大灯组与格栅连成一体,整体感更强。目前比亚迪官方还没有透露这款全新紧凑级轿车的相关信息,但通过上面冰雪测试谍照看,该车已进入上市前的三高测试阶段,按照比亚迪近几年频繁打造"超值爆款"的步调,这款代号HD的新车很有可能又是一款比亚迪的惊艳之作。
可通过结巴分词等方法对待处理文本A4进行分词,生成待处理文本A4对应的第二词集B4,再计算第二词集B4的最小哈希值,根据该最小哈希值确定第二词集B4对应的待处理文本A4的签名矩阵。以下为通过最小哈希值计算签名矩阵的一个具体示例:
假设有4个集合(可视为待处理文本),分别为S1、S2、S3和S4,其中,S1={a,d},S2={c},S3={b,d,e},S4={a,c,d},所以全集U={a,b,c,d,e}。可以构造如下0-1矩阵,如表3所示:
Figure BDA0002252171390000141
Figure BDA0002252171390000151
表3
为得到各集合的最小哈希值,通过多个随机哈希函数来模拟打乱的效果。具体地,定义n个随机哈希函数h1,h2,……,hn,sig为签名矩阵,sig(i,j)表示签名矩阵中第i个哈希函数在第j列上的元素,将签名矩阵中各个元素sig(i,j)初始化为inf,即无穷大。对第r行:
(1)计算h1(r),h2(r),……,hn(r);
(2)对于每一列j,如果j所在的第r行为0,则什么都不做,如果j所在的第r行为1,则对每个i=1,2,……,n,比较原来sig(i,j)和hi(r)的大小,两者取小值,即sig(i,j)=min(sig(i,j),hi(r))。
基于上述处理,最终得到的签名矩阵如表4所示:
/ S1 S2 S3 S4
h<sub>1</sub> 1 3 0 1
h<sub>2</sub> 0 2 0 0
表4
参考这一示例,可计算出待处理文本A4的签名矩阵为:
[13071310 86218366 39366125 12736657 2579860 127452321459488510948303 8868214 7480750 84119235 8965384 2968290 150302792060881513931278 35808527 11334391 2277172 49287241 7441422146249208 3860310158312269 23574465 2414214 1328245 280327739764565 20656453 110643728 2601344754332702 530282 5338108063131270 10613898 12543763 7176766 12833290 780534061868512585935247 10994249 51221581 18290164 28847088 260963312948223630913837 25215551 65013479 23851983 11195376 379698144092352520976696 59742514 14257692 1760887 47901917 1240434 18481698184222778030663 51221677 72189400 1726340 23789331 733686769028300 58271221 19878279990529 52848366 30146967 549121784138255 123848452 19042281 4372748840788213 12208111 12388857991768 5532289 99912841 68713972 40925056 175011946953509090798279 16873721 26403717 13914549 87191701 525304 2269032431891041011073047 45228163 53533371 47784653 20981477 3331957415707849 4295944017565334 33162237 100559877 128585748 2310296821140199 73485683 31016048200561 21771142 28639394 7904709619500519 15048002 47053114 6135891711647470 36032159 1210242865311465 7195138]
上述获得签名矩阵可以理解为一个降维过程,获得签名矩阵后,若数据量十分庞大,则两两比较的话计算复杂度仍然非常高,需要利用索引分块的方法来降低查询复杂度。基于此,在得到签名矩阵后,将签名矩阵进行分桶处理以得到多个索引块,对每个索引块的键值进行降维压缩。
在分桶中,通过MD5(Message Digest 5,信息摘要第五版)算法对每个索引块的键值进行降维压缩。MD5算法的作用是让大容量信息在用数字签名软件签署私人密钥前,被“压缩”成一种保密的格式,就是把一个任意长度的字节串变换成一定长的16进制的128位数字串。例如,利用MD5算法将索引块的128位整型的键值进行右移64位,生成64位的整型,进一步压缩维度。
分桶是将签名矩阵按照n行分成m个区间,假设待处理文本A、B的文档标识分别为1、2,待处理文本A、B的签名矩阵分别有12行,令n=3,则m=4,签名矩阵分为4个区间。待处理文本A的签名矩阵分为A_1、A_2、A_3、A_4共4个区间,待处理文本B的签名矩阵分为B_1、B_2、B_3、B_4共4个区间。此时,以每个区间为健,文档标识为值组成索引库,如{A_1:1,A_2:1,A_3:1,A_4:1,B_1:2,B_2:2,B_3:2,B_4:2}。其中,索引块指A_1:1、A_2:1等,索引块的健值指A_1、A_2等。
根据降维压缩后的各索引块,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重。在该实施方式中,根据降维压缩后的各索引块,确定与索引块对应的文本长度小于第二长度阈值的待处理文本关联的第二候选文本集,从第二候选文本集中,选出与索引块对应的文本长度小于第二长度阈值的待处理文本相似的、一个或多个待处理文本作为第二重复文本,根据第二重复文本的文本标识,确定索引块对应的文本长度小于第二长度阈值的待处理文本的去重文本标识。
当一个新的待处理文本到达时,根据式(2),查询到与其具有相同桶的集合,然后分别计算待处理文本和第二候选文本集中各待处理文本之间的Jaccard距离,以得到待处理文本的去重文本标识。如表5所示,签名矩阵有12行,将3行为一组放进一个“桶”里,对于S2,仅需要查询与其具有相同桶的集合,即只需要查询S4和S5,对S2和S4、S2和S5分别计算Jaccard距离,若Jaccard距离大于0.8,则表明两个待处理文本相似。
表5
例如,待处理文本A5的文本长度也小于200,是短文本,则可根据上述处理流程,分别得到待处理文本A4和待处理文本A5的签名矩阵对应的降维压缩后的索引块,具体如表6所示:
Figure BDA0002252171390000172
Figure BDA0002252171390000181
表6
由表6看出,待处理文本A4的第三个索引块和待处理文本A5的第三个索引块相同,因此,待处理文本A5可放入待处理文本A4关联的第二候选文本集中。此时,计算待处理文本A4的签名矩阵和待处理文本A5的签名矩阵之间的Jaccard距离,得出J(A4,A5)=0.87,大于0.8,表明待处理文本A5与待处理文本A4相似,即待处理文本A5为待处理文本A4的第二重复文本,并将待处理文本A5的文本标识作为待处理文本A4的去重文本标识。
最后,执行步骤S240,结合第一方式和所述第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理。根据本发明的一个实施例,可通过如下方式对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理。首先,按照第一方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第一去重文本标识。然后,按照第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第二去重文本标识。
以待处理文本A6为例,待处理文本A6的文本长度为270,在200~300的范围内,可确定待处理文本A6为边界值文本。此时,对待处理文本A6,按照第一方式进行去重处理,得到待处理文本A6的第一去重文本标识为ID1,按照第二方式进行去重处理,得到待处理文本A6的第二去重文本标识为ID2。如上按照第一方式和第二方式对待处理文本进行去重处理的过程,可参考步骤S220和S230的内容,此处不再赘述。
此后,根据预设的边界值字典、第一去重文本标识和第二去重文本标识,确定文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。在该实施方式中,先在边界值字典中进行关键字查询,若未查询到为第一去重文本标识的关键字,则将第二去重文本标识作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识,并将以第一去重文本标识为关键字、第二去重文本标识为键值而形成的键值对存入边界值字典,若查询到为第一去重文本标识的关键字,则将第一去重文本标识关联的键值作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
例如,在边界值字典中进行关键字查询,若未查询到为ID1的关键字,则将ID2作为待处理文本A6的去重文本标识,并将以ID1为关键字、ID2为键值而形成的键值对存入边界值字典,若查询到为ID1的关键字,则将边界值字典中ID1关联的键值作为待处理文本A6的去重文本标识。
根据本发明的又一个实施例,方法200还包括初始化边界值字典,边界值字典中存储有一对或多对键值对,键值对以第一去重文本标识为关键字,以第一去重文本标识对应的第二去重文本标识为键值。
在一网站中汽车类的文章中里随机选取5万篇文章形成待处理文本集,每一篇文章对应为一个待处理文本,分别使用SimHash算法、SimHash+MD5算法和本发明的技术方案进行文本去重处理,以召回文本数和准确率对处理结果进行评估,具体如表7所示:
/ SimHash SimHash+MD5 本发明的技术方案
召回文本数 1240 945 1190
准确率 94.1% 98.6% 98.1%
表7
可以由表7看出,在确保准确率的情况下,本发明的技术方案相对于仅使用SimHash算法提高了海量文本去重的准确率,相对于SimHash+MD5算法,增加了召回文本数。
此外,随机生成1亿条数据进行内存评估,结果如表8所示:
/ 原内存 MD5优化后内存
内存使用率 400G 160G
表8
可以在表8中看出,利用MD5算法进行降维处理后,本发明的技术方案在内存使用率上有明显降低。
图3示出了根据本发明的一个实施例的文本处理装置300的示意图。如图3所示,文本处理装置300包括获取模块310、第一处理模块320、第二处理模块330和第三处理模块340。
获取模块310适于获取待处理文本集,待处理文本集包括多个待处理文本。
第一处理模块320与获取模块310相连,适于按照第一方式,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理。
第一处理模块320进一步适于对每个文本长度大于第一长度阈值的待处理文本,获取文本长度大于第一长度阈值的待处理文本的词语特征向量;计算词语特征向量的哈希签名;对哈希签名进行分块,将分块后得到的第一数量个数据块作为哈希签名对应的分块结果;根据分块结果,对待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重。
第一处理模块320进一步适于对文本长度大于第一长度阈值的待处理文本进行分词,以生成对应的第一词集,第一词集包括多个词;通过预设的词频计算模型,计算第一词集包括的多个词中每个词的权重;按照权重从高到底的顺序对多个词进行排序,获取前第二数量个词形成词语特征向量。
第一处理模块320进一步适于生成词语特征向量中每个词的哈希签名;对词语特征向量中每个词,将该词的哈希签名中值为1的数位的值更新为该词的权重,值为0的数位的值更新为该词的权重的相反数,以获取该词的特征向量;将词语特征向量中每个词的特征向量对应相加后进行降维处理,以得到词语特征向量的哈希签名。
第一处理模块320进一步适于根据分块结果,确定与哈希签名对应的文本长度大于第一长度阈值的待处理文本关联的第一候选文本集;从第一候选文本集中,选出与哈希签名对应的文本长度大于第一长度阈值的待处理文本相似的、一个或多个待处理文本作为第一重复文本;根据第一重复文本的文本标识,确定哈希签名对应的文本长度大于第一长度阈值的待处理文本的去重文本标识。
第二处理模块330与获取模块310相连,适于按照第二方式,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理。
第二处理模块330进一步适于对每个文本长度小于第二长度阈值的待处理文本,获取文本长度小于第二长度阈值的待处理文本的签名矩阵;将签名矩阵进行分桶处理以得到多个索引块,对每个索引块的键值进行降维压缩;根据降维压缩后的各索引块,对待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重。
第二处理模块330进一步适于对文本长度小于第二长度阈值的待处理文本进行分词,以生成对应的第二词集,第二词集包括多个词;计算第二词集的最小哈希值,根据最小哈希值确定第二词集对应的文本长度小于第二长度阈值的待处理文本的签名矩阵。
第二处理模块330进一步适于通过MD5信息摘要算法对每个索引块的键值进行降维压缩。
第二处理模块330进一步适于根据降维压缩后的各索引块,确定与索引块对应的文本长度小于第二长度阈值的待处理文本关联的第二候选文本集;从第二候选文本集中,选出与索引块对应的文本长度小于第二长度阈值的待处理文本相似的、一个或多个待处理文本作为第二重复文本;根据第二重复文本的文本标识,确定索引块对应的文本长度小于第二长度阈值的待处理文本的去重文本标识。
第三处理模块340与获取模块310相连,适于结合第一方式和第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理。
第三处理模块340进一步适于按照第一方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第一去重文本标识;按照第二方式,对待处理文本集中文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本进行去重处理,以获取对应的第二去重文本标识;根据预设的边界值字典、第一去重文本标识和第二去重文本标识,确定文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
第三处理模块340进一步适于在边界值字典中进行关键字查询;当未查询到为第一去重文本标识的关键字时,将第二去重文本标识作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识,并将以第一去重文本标识为关键字、第二去重文本标识为键值而形成的键值对存入边界值字典;当查询到为第一去重文本标识的关键字时,将第一去重文本标识关联的键值作为文本长度不大于第一长度阈值,且不小于第二长度阈值的待处理文本的去重文本标识。
根据本发明的一个实施例,文本处理装置300还包括初始化模块(图中未示出),初始化模块与第三处理模块340相连,适于初始化边界值字典,边界值字典中存储有一对或多对键值对,键值对以第一去重文本标识为关键字,以第一去重文本标识对应的第二去重文本标识为键值。
关于文本处理的具体步骤以及实施例,在基于图2的描述中已经详细公开,此处不再赘述。
现有的文本处理方法,对不同文本长度的文本难以精准去重,准确率较低,且仍存在内存使用率大、不能满足海量文本去重的要求等问题。根据本发明实施例的文本处理方案,基于文本长度的不同而对待处理文本采用对应的方式进行去重处理,将文本长度大于第一长度阈值的待处理文本作为长文本,按照第一方式进行去重,将文本长度小于第二长度阈值的待处理文本作为短文本,按照第二方式进行去重,将文本长度不大于第一长度阈值且不小于第二长度阈值的待处理文本作为边界值文本,采用第一方式和第二方式联合去重,解决了边界值问题,实现了不同文本长度的文本的精确去重,提升了海量文本去重的召回率和准确率,并降低了计算的时间复杂度和空间复杂度。此外,在按照第二方式对短文本去重处理时,利用MD5信息摘要算法对特征向量进行降维压缩,进一步减少了内存使用率,使其能够支持海量文本去重。
A8.如A6或A7所述的方法,其中,所述对每个索引块的键值进行降维压缩的步骤,包括:
通过MD5信息摘要算法对每个索引块的键值进行降维压缩。
A9.如权利要求A6-A8中任一项所述的方法,其中,所述根据降维压缩后的各索引块,对所述待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重的步骤,包括:
根据降维压缩后的各索引块,确定与所述索引块对应的文本长度小于第二长度阈值的待处理文本关联的第二候选文本集;
从所述第二候选文本集中,选出与所述索引块对应的文本长度小于第二长度阈值的待处理文本相似的、一个或多个待处理文本作为第二重复文本;
根据所述第二重复文本的文本标识,确定所述索引块对应的文本长度小于第二长度阈值的待处理文本的去重文本标识。
A10.如A1-A9中任一项所述的方法,其中,所述结合所述第一方式和所述第二方式,对所述待处理文本集中文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本进行去重处理的步骤,包括:
按照所述第一方式,对所述待处理文本集中文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本进行去重处理,以获取对应的第一去重文本标识;
按照所述第二方式,对所述待处理文本集中文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本进行去重处理,以获取对应的第二去重文本标识;
根据预设的边界值字典、所述第一去重文本标识和所述第二去重文本标识,确定所述文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本的去重文本标识。
A11.如A10所述的方法,其中,所述根据预设的边界值字典、所述第一去重文本标识和所述第二去重文本标识,确定所述文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本的去重文本标识的步骤,包括:
在所述边界值字典中进行关键字查询;
若未查询到为所述第一去重文本标识的关键字,则将所述第二去重文本标识作为所述文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本的去重文本标识,并将以所述第一去重文本标识为关键字、所述第二去重文本标识为键值而形成的键值对存入所述边界值字典;
若查询到为所述第一去重文本标识的关键字,则将所述第一去重文本标识关联的键值作为所述文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本的去重文本标识。
A12.如A10或A11所述的方法,还包括:
初始化边界值字典,所述边界值字典中存储有一对或多对键值对,所述键值对以第一去重文本标识为关键字,以所述第一去重文本标识对应的第二去重文本标识为键值。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文本处理方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种文本处理方法,包括:
获取待处理文本集,所述待处理文本集包括多个待处理文本;
按照第一方式,对所述待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理;
按照第二方式,对所述待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理;
结合所述第一方式和所述第二方式,对所述待处理文本集中文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本进行去重处理。
2.如权利要求1所述的方法,其中,所述按照第一方式,对所述待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理的步骤,包括:
对每个文本长度大于第一长度阈值的待处理文本,获取所述文本长度大于第一长度阈值的待处理文本的词语特征向量;
计算所述词语特征向量的哈希签名;
对所述哈希签名进行分块,将分块后得到的第一数量个数据块作为所述哈希签名对应的分块结果;
根据所述分块结果,对所述待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重。
3.如权利要求2所述的方法,其中,所述获取所述文本长度大于第一长度阈值的待处理文本的词语特征向量的步骤,包括:
对所述文本长度大于第一长度阈值的待处理文本进行分词,以生成对应的第一词集,所述第一词集包括多个词;
通过预设的词频计算模型,计算所述第一词集包括的多个词中每个词的权重;
按照权重从高到底的顺序对所述多个词进行排序,获取前第二数量个词形成词语特征向量。
4.如权利要求2或3所述的方法,其中,所述计算所述词语特征向量的哈希签名的步骤,包括:
生成所述词语特征向量中每个词的哈希签名;
对所述词语特征向量中每个词,将所述词的哈希签名中值为1的数位的值更新为所述词的权重,值为0的数位的值更新为所述词的权重的相反数,以获取所述词的特征向量;
将所述词语特征向量中每个词的特征向量对应相加后进行降维处理,以得到所述词语特征向量的哈希签名。
5.如权利要求2-4中任一项所述的方法,其中,根据所述分块结果,对所述待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重的步骤,包括:
根据所述分块结果,确定与所述哈希签名对应的文本长度大于第一长度阈值的待处理文本关联的第一候选文本集;
从所述第一候选文本集中,选出与所述哈希签名对应的文本长度大于第一长度阈值的待处理文本相似的、一个或多个待处理文本作为第一重复文本;
根据所述第一重复文本的文本标识,确定所述哈希签名对应的文本长度大于第一长度阈值的待处理文本的去重文本标识。
6.如权利要求1-5中任一项所述的方法,其中,所述按照第二方式,对所述待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理的步骤,包括:
对每个文本长度小于第二长度阈值的待处理文本,获取所述文本长度小于第二长度阈值的待处理文本的签名矩阵;
将所述签名矩阵进行分桶处理以得到多个索引块,对每个索引块的键值进行降维压缩;
根据降维压缩后的各索引块,对所述待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重。
7.如权利要求6所述的方法,其中,所述获取所述文本长度小于第二长度阈值的待处理文本的签名矩阵的步骤,包括:
对所述文本长度小于第二长度阈值的待处理文本进行分词,以生成对应的第二词集,所述第二词集包括多个词;
计算所述第二词集的最小哈希值,根据所述最小哈希值确定所述第二词集对应的文本长度小于第二长度阈值的待处理文本的签名矩阵。
8.一种文本处理装置,包括:
获取模块,适于获取待处理文本集,所述待处理文本集包括多个待处理文本;
第一处理模块,适于按照第一方式,对所述待处理文本集中文本长度大于第一长度阈值的待处理文本进行去重处理;
第二处理模块,适于按照第二方式,对所述待处理文本集中文本长度小于第二长度阈值的待处理文本进行去重处理;
第三处理模块,适于结合所述第一方式和所述第二方式,对所述待处理文本集中文本长度不大于所述第一长度阈值,且不小于所述第二长度阈值的待处理文本进行去重处理。
9.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-7所述的方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-7所述的方法中的任一方法。
CN201911038371.8A 2019-10-29 2019-10-29 一种文本处理方法、装置、计算设备及介质 Active CN110765756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911038371.8A CN110765756B (zh) 2019-10-29 2019-10-29 一种文本处理方法、装置、计算设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911038371.8A CN110765756B (zh) 2019-10-29 2019-10-29 一种文本处理方法、装置、计算设备及介质

Publications (2)

Publication Number Publication Date
CN110765756A true CN110765756A (zh) 2020-02-07
CN110765756B CN110765756B (zh) 2023-12-01

Family

ID=69334373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911038371.8A Active CN110765756B (zh) 2019-10-29 2019-10-29 一种文本处理方法、装置、计算设备及介质

Country Status (1)

Country Link
CN (1) CN110765756B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538803A (zh) * 2020-04-20 2020-08-14 京东方科技集团股份有限公司 待匹配的候选提问文本获取方法及装置、设备及介质
CN112527948A (zh) * 2020-12-08 2021-03-19 上海大智慧财汇数据科技有限公司 基于句子级索引的数据实时去重方法及系统
CN113688629A (zh) * 2021-08-04 2021-11-23 德邦证券股份有限公司 文本去重的方法、装置以及存储介质
CN114386423A (zh) * 2022-01-18 2022-04-22 平安科技(深圳)有限公司 文本去重方法和装置、电子设备、存储介质

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779188A (zh) * 2012-06-29 2012-11-14 北京奇虎科技有限公司 文本消重系统和方法
CN103164408A (zh) * 2011-12-09 2013-06-19 阿里巴巴集团控股有限公司 基于垂直搜索引擎的信息存储、查询方法及其装置
US20150134321A1 (en) * 2013-11-08 2015-05-14 Thomas Fennell System and method for translating text
CN106027521A (zh) * 2016-05-19 2016-10-12 华为技术有限公司 压缩方法、解压方法、压缩装置和解压装置
CN106156154A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 相似文本的检索方法及其装置
CN106528508A (zh) * 2016-10-27 2017-03-22 乐视控股(北京)有限公司 一种重复文本的判定方法和装置
CN106528581A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 文本检测方法及装置
CN106649646A (zh) * 2016-12-09 2017-05-10 北京锐安科技有限公司 一种数据去重的方法及装置
CN106815226A (zh) * 2015-11-27 2017-06-09 阿里巴巴集团控股有限公司 文本匹配方法和装置
CN107025218A (zh) * 2017-04-07 2017-08-08 腾讯科技(深圳)有限公司 一种文本去重方法和装置
CN107704501A (zh) * 2017-08-28 2018-02-16 中国科学院信息工程研究所 一种识别同源二进制文件的方法及系统
US20180107678A1 (en) * 2016-10-13 2018-04-19 International Business Machines Corporation Word, phrase and sentence deduplication for text repositories
CN108009599A (zh) * 2017-12-27 2018-05-08 福建中金在线信息科技有限公司 一种原创文档判断方法、装置、电子设备及存储介质
US10075291B1 (en) * 2015-05-27 2018-09-11 Citigroup Technology, Inc. Data deduplication and compression evaluation methods and systems
CN110110325A (zh) * 2019-04-22 2019-08-09 北京明略软件系统有限公司 一种重复案件查找方法和装置、计算机可读存储介质
CN110134768A (zh) * 2019-05-13 2019-08-16 腾讯科技(深圳)有限公司 文本的处理方法、装置、设备及存储介质
CN110162630A (zh) * 2019-05-09 2019-08-23 深圳市腾讯信息技术有限公司 一种文本去重的方法、装置及设备
CN110245215A (zh) * 2019-06-05 2019-09-17 阿里巴巴集团控股有限公司 一种文本检索方法和装置
CN110297879A (zh) * 2019-05-15 2019-10-01 平安科技(深圳)有限公司 一种基于大数据的数据去重的方法、装置及存储介质
CN110377886A (zh) * 2019-06-19 2019-10-25 平安国际智慧城市科技股份有限公司 项目查重方法、装置、设备及存储介质

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164408A (zh) * 2011-12-09 2013-06-19 阿里巴巴集团控股有限公司 基于垂直搜索引擎的信息存储、查询方法及其装置
CN102779188A (zh) * 2012-06-29 2012-11-14 北京奇虎科技有限公司 文本消重系统和方法
US20150134321A1 (en) * 2013-11-08 2015-05-14 Thomas Fennell System and method for translating text
CN106156154A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 相似文本的检索方法及其装置
US10075291B1 (en) * 2015-05-27 2018-09-11 Citigroup Technology, Inc. Data deduplication and compression evaluation methods and systems
CN106528581A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 文本检测方法及装置
CN106815226A (zh) * 2015-11-27 2017-06-09 阿里巴巴集团控股有限公司 文本匹配方法和装置
CN106027521A (zh) * 2016-05-19 2016-10-12 华为技术有限公司 压缩方法、解压方法、压缩装置和解压装置
US20180107678A1 (en) * 2016-10-13 2018-04-19 International Business Machines Corporation Word, phrase and sentence deduplication for text repositories
CN106528508A (zh) * 2016-10-27 2017-03-22 乐视控股(北京)有限公司 一种重复文本的判定方法和装置
CN106649646A (zh) * 2016-12-09 2017-05-10 北京锐安科技有限公司 一种数据去重的方法及装置
CN107025218A (zh) * 2017-04-07 2017-08-08 腾讯科技(深圳)有限公司 一种文本去重方法和装置
CN107704501A (zh) * 2017-08-28 2018-02-16 中国科学院信息工程研究所 一种识别同源二进制文件的方法及系统
CN108009599A (zh) * 2017-12-27 2018-05-08 福建中金在线信息科技有限公司 一种原创文档判断方法、装置、电子设备及存储介质
CN110110325A (zh) * 2019-04-22 2019-08-09 北京明略软件系统有限公司 一种重复案件查找方法和装置、计算机可读存储介质
CN110162630A (zh) * 2019-05-09 2019-08-23 深圳市腾讯信息技术有限公司 一种文本去重的方法、装置及设备
CN110134768A (zh) * 2019-05-13 2019-08-16 腾讯科技(深圳)有限公司 文本的处理方法、装置、设备及存储介质
CN110297879A (zh) * 2019-05-15 2019-10-01 平安科技(深圳)有限公司 一种基于大数据的数据去重的方法、装置及存储介质
CN110245215A (zh) * 2019-06-05 2019-09-17 阿里巴巴集团控股有限公司 一种文本检索方法和装置
CN110377886A (zh) * 2019-06-19 2019-10-25 平安国际智慧城市科技股份有限公司 项目查重方法、装置、设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538803A (zh) * 2020-04-20 2020-08-14 京东方科技集团股份有限公司 待匹配的候选提问文本获取方法及装置、设备及介质
CN112527948A (zh) * 2020-12-08 2021-03-19 上海大智慧财汇数据科技有限公司 基于句子级索引的数据实时去重方法及系统
CN113688629A (zh) * 2021-08-04 2021-11-23 德邦证券股份有限公司 文本去重的方法、装置以及存储介质
CN114386423A (zh) * 2022-01-18 2022-04-22 平安科技(深圳)有限公司 文本去重方法和装置、电子设备、存储介质
CN114386423B (zh) * 2022-01-18 2023-07-14 平安科技(深圳)有限公司 文本去重方法和装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN110765756B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN110765756A (zh) 一种文本处理方法、装置、计算设备及介质
Zheng et al. Coupled binary embedding for large-scale image retrieval
Drew et al. Polymorphic malware detection using sequence classification methods
Garfinkel et al. Hash-based carving: Searching media for complete files and file fragments with sector hashing and hashdb
CN109948125A (zh) 改进的Simhash算法在文本去重中的方法及系统
CN110297879B (zh) 一种基于大数据的数据去重的方法、装置及存储介质
Xie et al. Fast and accurate near-duplicate image search with affinity propagation on the ImageWeb
CN112541338A (zh) 相似文本匹配方法、装置、电子设备及计算机存储介质
Zhang et al. Continuous word embeddings for detecting local text reuses at the semantic level
CN113095076A (zh) 敏感词识别方法、装置、电子设备及存储介质
CN112733545A (zh) 文本分块方法、装置、计算机设备和存储介质
Mao et al. S2JSD-LSH: A locality-sensitive hashing schema for probability distributions
CN115795000A (zh) 基于联合相似度算法对比的围标识别方法和装置
US9875386B2 (en) System and method for randomized point set geometry verification for image identification
Wang et al. Beauty product image retrieval based on multi-feature fusion and feature aggregation
CN110837555A (zh) 海量文本去重筛选的方法、设备和存储介质
CN113688629A (zh) 文本去重的方法、装置以及存储介质
Daróczy et al. SZTAKI@ ImageCLEF 2011.
JP5833499B2 (ja) 高次元の特徴ベクトル集合で表現されるコンテンツを高精度で検索する検索装置及びプログラム
Liu et al. Video copy detection by conducting fast searching of inverted files
Li et al. OPORP: One permutation+ one random projection
JP2014102772A (ja) 特徴ベクトルの集合で表されるコンテンツ間の類似度を算出するプログラム、装置及び方法
Qi et al. Streaming algorithms for estimating high set similarities in loglog space
Joseph et al. SDOT: Secure Hash, Semantic Keyword Extraction, and Dynamic Operator Pattern-Based Three-Tier Forensic Classification Framework
WO2022257455A1 (zh) 一种相似文本的确定方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant