CN117216239A - 文本去重方法、装置、计算机设备及存储介质 - Google Patents
文本去重方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117216239A CN117216239A CN202311369401.XA CN202311369401A CN117216239A CN 117216239 A CN117216239 A CN 117216239A CN 202311369401 A CN202311369401 A CN 202311369401A CN 117216239 A CN117216239 A CN 117216239A
- Authority
- CN
- China
- Prior art keywords
- text
- release
- texts
- segmented
- pinyin
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000011159 matrix material Substances 0.000 claims abstract description 55
- 230000011218 segmentation Effects 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000001914 filtration Methods 0.000 claims abstract description 25
- 238000000926 separation method Methods 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 11
- 238000012216 screening Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及文本处理技术领域,具体公开了一种文本去重方法。该方法包括:获取至少一个发布文本,按照预设文本长度对所有发布文本进行分段处理,得到分段文本;统计各分段文本的首字母频率并进行归一化,得到文本矩阵;通过局部敏感哈希算法对与各文本矩阵对应的发布文本进行分桶处理,得到分桶结果;基于分桶结果对所有发布文本进行文本过滤,得到目标文本。本发明通过统计各分段文本的首字母频率并进行归一化,实现了对文本矩阵的确定。通过局部敏感哈希算法对各发布文本进行分桶处理,实现了对发布文本的分类,进而使用哈希算法对发布文本进行降维,减少了发布文本的对比时间,降低了文本储存开销,提高了文本去重的效率。
Description
技术领域
本发明涉及文本处理技术领域,尤其涉及一种文本去重方法、装置、计算机设备及存储介质。
背景技术
随着互联网时代,信息爆炸式地增长,信息传播的速度和广度飞速上升和扩大,互联网中充斥着海量的文本,并且包含有大量的重复内容,例如,一条营销内容被各种媒体转载、修改、编辑,得到多条相似营销文本。如果在互联网中存在大量的重复内容,那么一方面降低了整体的内容质量,另一方面会浪费大量的存储资源。因而,需要对文本进行去重。
现有技术中的文本去重方法,主要是基于文本特征向量的相似度,或者是基于文本分词结果的海明距离等,将多个待去重文本进行两两比较,根据比较结果进行去重。但是,在海量文本去重任务中,采用上述方法去重效率较低。因而,如何提高文本去重的效率是亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种文本去重方法、装置、计算机设备及存储介质,以解决现有技术中文本去重效率较低的问题。
一种文本去重方法,包括:
获取至少一个发布文本,按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本;
统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵;
通过局部敏感哈希算法对与各所述文本矩阵对应的所述发布文本进行分桶处理,得到分桶结果;
基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本。
一种文本去重装置,包括:
分段文本模块,用于获取至少一个发布文本,按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本;
文本矩阵模块,用于统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵;
分桶处理模块,用于通过局部敏感哈希算法对与各所述文本矩阵对应的所述发布文本进行分桶处理,得到分桶结果;
文本过滤模块,用于基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述文本去重方法。
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行上述文本去重方法。
上述文本去重方法、装置、计算机设备及存储介质,本发明通过按照预设文本长度对发布文本进行分段处理,实现了对发布文本的分割,以及实现了对分段文本的获取。通过统计各分段文本中字符的首字母频率并进行归一化,实现了将首字母频率转换为文本矩阵。通过局部敏感哈希算法对文本矩阵进行分桶处理,实现了对发布文本的分类,实现了对分桶结果的获取,进而使用哈希算法对发布文本进行降维,减少了发布文本的对比时间,降低了对发布文本储存开销,提高了文本去重的准确率和效率。基于分桶结果对所有发布文本进行文本过滤,实现了对大量重复的文本的删除,进而实现了对目标文本的筛选,避免了大量无效的重复计算。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中文本去重方法的流程图;
图2是本发明一实施例中文本去重方法步骤S20流程图;
图3是本发明一实施例中文本去重装置的结构示意图;
图4是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,如图1所示,提供一种文本去重方法,包括如下步骤:
S10、获取至少一个发布文本,按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本。
可理解地,该发布文本可以是关于某一主题的报道、分析或者评论等。分段文本是指对发布文本进行分割后的短文本,分段文本的长度为预设文本长度。
具体地,通过爬虫软件对各种数据源(例如新闻网站、社交媒体平台、博客等)上的大量的发布文本进行爬取,从而得到至少一个发布文本。然后,获取预设文本长度,并按照预设文本长度对所有发布文本进行分段处理,也即通过预设文本长度(例如50字),将每个发布文本分割成若干个分段文本。其中,当发布文本的长度不是预设文本长度的整数倍,则可以在最后一段发布文本的末尾添加特殊字符,以使得分割后的分段文本的长度达到预设的文本长度,如此,即可得到与所述发布文本对应的至少一个分段文本。
S20、统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵。
可理解地,首字母频率是指分段文本中字符的拼音中第一个字母的次数,例如,文本的文本内容为wbdwbnr,的文本内容真好看为dwbnrzhk,其中,b的首字母频率为3,w的首字母频率为3,d的首字母频率为2。文本矩阵是由首字母频率映射得到的一个26维的矩阵。例如,[0,3,0,5,6,7,3,1,4,2,……,6,3,1]。
具体地,对各分段文本进行清洗处理,以去除分段文本中的停用词和标点符号,然后,对每个分段文本进行拼音转换,也即获取预设的拼音工具包,通过预设的拼音工具包将每个分段文本转换为拼音文本,即可以将每个分段文本中的字符转换为拼音,也可以在每个字符上方添加拼音标注。然后,结合上下文语境判断拼音是否转换错误,例如,判断是否存在多音字,如存在多音字,检测转换结果是否正确。接着,对每个分段文本中字符的首字母的次数进行统计,得到每个首字母的次数。例如,H为23次,N为21次等。对与同一发布文本对应的所有分段文本的首字母的次数进行整体计算,并映射为数值,再对数值进行归一化处理,也即可以采用Z-Score标准化方法,先将每个数值减去均值,再除以所有数值的标准差,实现了将每个数值转化为均值为0,方差为1的分布,从而得到与各发布文本对应的文本矩阵。其中,不限定归一化过程。
在另一实施例中,可以对每个分段文本对应的首字母频率进行归一化,从而得到与各分段文本对应的分段矩阵。然后,根据与同一发布文本对应的各分段文本,将与同一发布文本对应的所有分段矩阵进行整合处理,从而得到与各发布文本对应的文本矩阵。
S30、通过局部敏感哈希算法对与各所述文本矩阵对应的所述发布文本进行分桶处理,得到分桶结果。
可理解地,局部敏感哈希算法(Locality Sensitive Hashing,LSH)是一种用于衡量文本相似度的算法,即若两个文本在原有的数据空间是相似的,经过哈希函数转换后也具有很高的相似度;相反,若是不相似的,经过转换后应仍不具有相似性。
具体地,使用局部敏感哈希算法对发布文本对应的文本矩阵进行哈希处理,也即选择合适的哈希函数(如MD5、SHA-1、SHA-256)分别对与各发布文本对应的文本矩阵进行哈希处理,从而得到与各发布文本对应的哈希值。然后,根据哈希值将相似(即两个文本的文本矩阵之间的欧氏距离或者余弦相似度小于某个阈值)的发布文本映射到同一桶中,不同的发布文本映射到不同的桶中,从而得到与各发布文本对应的分桶结果。
在另一实施例中,采用k均值聚类算法对各发布文本进行分类处理,也即将发布文本分为K组,并随机选取K个发布文本作为初始的聚类中心,然后计算每个发布文本与各个聚类中心之间的距离,把每个发布文本分配给距离最近的聚类中心。聚类中心以及分配的发布文本就代表一个聚类。每分配一个发布文本,聚类的聚类中心会根据聚类中现有的发布文本重新计算,直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小,如此,即可得到与各发布文本对应的分桶结果。
S40、基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本。
可理解地,目标文本是指从大量重复文本中筛选出的其中一个文本,例如发布时间最早的一个发布文本。
具体地,基于分桶结果对所有发布文本进行文本过滤,也即对每个桶中的发布文本之间计算其相似度值,将计算出的相似度值和预设阈值进行比较,当相似度值大于预设阈值时,对大于预设阈值的所有相似度值对应的发布文本的发布时间进行比较,筛选出发布时间最早的发布文本,或者选择其中任意一个发布文本,并对其他大于预设阈值的发布文本进行删除,从而得到目标文本。在另一实施例中,对每个聚类中心的所有发布文本计算相似度,并将计算出的相似度值和预设阈值进行比较,当相似度值大于预设阈值时,从大于预设阈值的相似度值所对应的所有发布文本,选择其中一个发布文本确定为目标文本。
在本发明实施例中,通过按照预设文本长度对发布文本进行分段处理,实现了对发布文本的分割,以及实现了对分段文本的获取。通过统计各分段文本的首字母频率并进行归一化,实现了对将统计得到的首字母频率转换为文本矩阵。通过局部敏感哈希算法对文本矩阵进行分桶处理,实现了对发布文本的分类,实现了对分桶结果的获取,进而使用哈希算法对发布文本进行降维,减少了发布文本的对比时间,降低了对发布文本储存开销,提高了文本去重的准确率和效率。基于分桶结果对所有发布文本进行文本过滤,实现了对大量重复的文本的删除,进而实现了对目标文本的筛选,避免了大量无效的重复计算。
在一实施例中,步骤S10中,也即按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本,包括:
S101,确定与各所述发布文本对应的文本长度;
S102,根据所述文本长度和所述预设文本长度,确定文本重叠率;
S103,通过所述文本重叠率和所述预设文本长度对所述发布文本进行文本分割,得到至少一个分段文本。
可理解地,文本长度可以指一个发布文本的长度,即文本的字符数或字节数。文本重叠率是用来衡量两个或多个文本之间的重叠程度。
具体地,在得到发布文本之后,对于每个发布文本,使用文本长度识别模型或者其他文本长度计算工具,计算出该发布文本的长度信息,从而得到与各发布文本对应的文本长度。例如,可以使用Python中的len()函数构建一个文本长度识别模型,以用于发布文本的文本长度。接着,将每个发布文本的长度除以预设文本长度,得到每个发布文本的长度比例。然后,将该长度比例与1进行比较,判断该长度比例是否大于或等于预设的重叠率阈值。当长度比例大于或等于预设的重叠率阈值,则认为该发布文本与预设文本长度存在重叠,并将预设文本长度除以文本长度,将比值确定为文本重叠率。例如,假设文本内容长度为2n,预设文本长度为n,重叠率为50%。否则认为该发布文本与预设文本长度不存在重叠,则根据发布文本的文本长度对预设文本长度进行调整,例如,调整为文本长度的二分之一等。进一步地,通过文本重叠率和预设文本长度对发布文本进行文本分割,也即先将发布文本从第一个字符开始,按照预设文本长度进行分割处理,从而得到第一分段文本,然后,第二段分段文本也以预设文本长度进行分割处理,并使第二段分段文本与第一分段文本的重叠长度等于文本重叠率,如此,即可得到至少一个分段文本。例如,假设文本长度为20,预设文本长度为10,重叠率为50%,可得到三个分段文本,即[1-10],[5-15],[10-20]。
本实施例中的根据文本长度和预设文本长度进行文本分割的方法,可以实现对长篇发布文本的自动化分割,实现了对分段文本的切割。通过预设的文本长度和文本重叠率阈值,可以灵活地调整文本分割的粒度,以满足不同应用场景的需求。
在一实施例中,步骤S10之前,也即按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本之前,还包括:
S104,对各所述发布文本进行清洗处理,以去除所述发布文本中的停用词和标点符号。
S105,对各所述发布文本进行拼音转换,得到与各所述发布文本对应的拼音文本;
S106,对所述拼音文本中的各拼音进行首字母提取,得到与各所述发布文本对应的目标拼音文本。
可理解地,拼音文本是指将发布文本中的字符转换为拼音得到的。目标拼音文本是指包括发布文本中各字符的首字母的文本。
具体地,按照预设文本长度对发布文本进行分段处理之前,先对各发布文本进行清洗处理,以去除发布文本中的停用词和标点符号,也即获取预设停用词表,通过匹配的方式对发布文本中的停用词进行去除,然后,对所有标点符号进行删除。再使用中文分词工具对发布文本进行分词,从而得到分词结果。然后,利用一个包含大量中文词语的词典,查询每个分词结果查找其对应的拼音。当某个分词结果在词典中无法找到对应的拼音时,使用基于规则的方法或pypinyin工具包对其进行拼音转换,从而得到与各发布文本对应的拼音文本。例如,可以使用一些常用的声母和韵母组合来推测该词语的拼音。进一步地,对于拼音文本中的每个拼音,首先判断其是否为多音字,也即在词典中查找文字的拼音,若文字在词典中存在多个不同的读音时,确定该文字是多音字。若是多音字,则根据其上下文语境确定其正确的读音,并提取其首字母;若不是多音字,则直接提取其首字母。
在另一实施例中,还可以使用基于深度学习的方法来训练一个模型,该模型可以根据上下文语境自动判断拼音的正确读音,并提取其首字母。即将拼音文本输入到训练完成的提取模型中,通过提取模型对拼音文本进行纠错检查,以及首字母提取,也即将拼音文本中的每个拼音单独分割,然后,对每个拼音的第一个字母进行提取,即可实现首字母提取,并输出目标拼音文本。例如,文本的文本内容为wbdwbnr,的文本内容真好看为dwbnrzhk,输出目标拼音文本为wbdwbnr+dwbnrzhk。
在另一实施例中,先对发布文本进行切分,再调用pypinyin工具包对切分文本进行拼音转换,对切分文本的拼音以声母、韵母、音调为基本单位进行转换,得到与各切分文本对应的拼音序列。对拼音序列进行纠错检测后,再按照顺序进行拼接,最后构建成拼音文本。例如,某一个切分文本为:请测量以下物品重量,包含多音字“重”(对应拼音“chong2、zhong4”)和多音字“量”(对应拼音“liang2、liang4”)。声调中“平声、一声、二声、三声、四声”分别用数字“0,1,2,3,4”进行表示,采用以声母、韵母、音调为基本单位对切分文本进行拼音转换,得到“qing3 ce4 liang2 yi3 x ia4 wu4 pin3zhong4 liang4”。
本实施例中,通过对发布文本进行拼音转换和首字母提取,实现了对发布文本的高效拼音转换和首字母提取,进而实现了对目标拼音文本的转换。
在一实施例中,如图2所示,步骤S20中,也即统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵,包括:
S201,根据与同一所述发布文本对应的所有分段文本和所述目标拼音文本,确定与各所述分段文本对应的分段拼音文本。
S202,对与所述发布文本对应的所述分段拼音文本中拼音的首字母进行次数统计,得到首字母频率;
S203,对与同一所述发布文本对应的各所述首字母频率进行映射及归一化,得到所述文本矩阵。
可理解地,首字母频率是指某个字母在发布文本中出现的次数,例如,h出现的次数为21次。文本矩阵是指将文本数据转换为数值矩阵形式,以便于进行数据分析。例如,[0,2,4,3,8,6,……]是一个26维的矩阵。
具体地,在得到分段文本之后,根据与同一发布文本对应的所有分段文本和目标拼音文本,确定与各分段文本对应的分段拼音文本,也即将分段文本和目标拼音文本中标有拼音的字符进行匹配,将匹配成功的标有拼音的字符确定为分段拼音文本。然后,对每个分段文本对应的分段拼音文本中拼音的首字母进行次数统计,也即对首字母为a、b、c、d等字母的次数统计,从而得到每个字母的出现次数,然后,对同一发布文本对应的相同字母的出现次数进行相加,也即将每个分段文本对应的分段拼音文本中相同字母的出现次数相加,即可得到首字母频率。例如,文本的文本内容wbdwbnr,次数为[a:0;b:2;……],的文本内容真好看为dwbnrzhk,次数为[b:1;c:0;……],输出目标拼音文本为wbdwbnr+dwbnrzhk,首字母频率为[a:0;b:3;c:0;……]。进一步地,将各个字母的首字母频率进行排序,也即按照字母顺序进行排序,从而得到一个有序的首字母频率序列。然后,使用一个映射函数将该序列映射到一个预先定义的映射空间上,也即可以使用正弦函数、余弦函数、sigmoid函数等函数进行映射,从而得到一个映射后的数值。并对该数值进行归一化处理,也即可以使用L1范数归一化、L2范数归一化、最大最小归一化等方法,从而得到一个归一化后的向量或数值。最后,将归一化后的向量或数值作为文本矩阵的各个元素,即可构建出文本矩阵。
本实施例中,通过对发布文本进行首字母频率统计和文本矩阵构建,实现对发布文本的高效首字母频率统计,以及实现了对文本矩阵构建,进而满足了用户对发布文本进行首字母频率统计和文本矩阵构建的需求。
在一实施例中,步骤S40中,也即基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本,包括:
S401,对所述分桶结果中的各所述发布文本之间进行相似度计算,得到与各所述发布文本对应的文本相似度值;
S402,通过所述文本相似度值对所有所述发布文本进行文本过滤,得到所述目标文本。
可理解地,文本相似度值是指两个发布文本之间的相似度。目标文本是指筛选得到的符合条件的文本。
具体地,在得到分桶结果之后,对分桶结果中的各发布文本之间进行相似度计算,也即对发布文本进行向量编码,即可以使用基于深度学习的向量模型,如Word2Vec或BERT模型进行向量编码,从而得到向量表示。然后,对于任意两个发布文本,可以使用余弦相似度、Jaccard相似度或编辑距离等方法,计算发布文本之间的余弦相似度或欧氏距离等度量,以评估发布文本的相似程度,从而得到与各发布文本对应的文本相似度值。在另一实施例中,通过训练完成的文本相似度模型对分桶结果中的各发布文本之间进行相似度计算,即可得到与各发布文本对应的文本相似度值。进一步地,获取预设相似度阈值,根据相似度阈值筛选出高相似度的发布文本对,也即将文本相似度值和预设相似度阈值进行比较,当文本相似度值大于预设相似度阈值时,获取文本相似度值对应的两个发布文本,并确定为发布文本对。然后,对于每个发布文本,根据与其他文本的相似度值进行排序,也即可以使用排序算法,如快速排序或归并排序等算法选择出相似度值最高的文本作为目标文本。
本实施例中,对分桶结果中的各发布文本之间进行相似度计算,实现了对同一分桶结果中相似度的计算,进而减少了文本之间相似度的计算量,进而提高了文本相似度计算的效率。通过文本相似度值对所有发布文本进行文本过滤,实现了对目标文本的筛选,进而提高了对目标文本筛选的效率。
在一实施例中,步骤S401中,也即对所述分桶结果中的各所述发布文本之间进行相似度计算,得到与各所述发布文本对应的文本相似度值,包括:
S4011,对与各所述发布文本对应的所述文本矩阵进行随机行打乱,并确定随机行打乱后所述文本矩阵的最小哈希值;
S4012,对与同一所述发布文本对应的预设次数的最小哈希值进行统计,得到与各所述发布文本对应的哈希签名;
S4013,通过所有所述哈希签名对所述分桶结果中的各所述发布文本之间进行相似度计算,得到文本相似度值。
可理解地,最小哈希值是指是用于估计两个文档相似度的数值,是通过哈希算法计算得到的。哈希签名是一个包含多个哈希值的集合,即由多个最小哈希值组成的集合,例如,h1[0,0,2];h2[0,1,0];h3[0,0,1]。
具体地,在得到分桶结果之后,对与各发布文本对应的文本矩阵进行随机行打乱,也即对于每一行文本矩阵,使用随机数生成器生成一个随机数,将该随机数与行索引对应,即根据这个随机数对每一行文本矩阵进行重新排序,从而打乱文本矩阵的顺序。例如,S1[1,0,1,……];S2[1,1,0,……];S3[1,1,1,……];打乱之后为,S3,S1,S2。确定随机行打乱后文本矩阵的最小哈希值,也即通过使用哈希函数(如MD5、SHA-1等)对文本矩阵的最小哈希值进行计算,也即针对每列第一个1所在的行号,即为最小哈希值。例如,L1为0,L2为1,L3为0。进一步地,对与同一发布文本对应的预设次数的最小哈希值进行统计,也即对文本矩阵经过预设次数的打乱之后,从而得到与预设次数数量相同的最小哈希值,对与同一发布文本对应的所有最小哈希值进行统计,也即将与同一行文本矩阵对应的最小哈希值进行统计,从而得到与各发布文本对应的哈希签名。例如,S1对应的L1分别为0、2、1、3,则哈希签名为h(S1)=[0,2,1,3,1]。接着,通过哈希签名对分桶结果中的各发布文本之间进行相似度计算,也即通过计算哈希签名之间的相似度,即对应位置相同的元素个数比上哈希签名长度,即可得到文本相似度值。例如,h(S1)=[0,2,1,3,1];h(S2)=[0,2,1,4,1];h(S3)=[0,2,2,4,1],通过计算得到S1和S2的相似度为0.8,S1和S3的相似度为0.6,S2和S3的相似度为0.8。
本实施例中,通过对文本矩阵进行随机行打乱,实现了对最小哈希值的计算。通过对与同一发布文本对应的预设次数的最小哈希值进行统计,实现了对哈希签名的确定,进而实现了对文本相似度值的计算,减少了文本匹配时间,提高了文本去重的效率。
在一实施例中,步骤S402中,也即通过所述文本相似度值对所有所述发布文本进行文本过滤,得到所述目标文本,包括:
S4011,获取预设相似度阈值,比较所述文本相似度值和所述预设相似度阈值;
S4012,当所述文本相似度值大于所述预设相似度阈值时,获取与各所述发布文本对应的文本发布时间;
S4013,将与最早的所述文本发布时间对应的所述发布文本确定为所述目标文本。
可理解地,预设相似度阈值可以根据实际需求进行调整,例如可以设定为0.6或0.9。文本发布时间是指发布文本的时间,例如,2023-09-01等。
具体地,在得到文本相似度值之后,获取预设相似度阈值,然后,对将每个文本相似度值和预设相似度阈值进行比较,当文本相似度值大于预设相似度阈值时,获取与各发布文本对应的文本发布时间,其中,该文本发布时间是在获取发布文本时,同时获取的,可以是包括在发布文本中的。接着,对两个文本发布时间进行比较,将与最早的文本发布时间对应的发布文本确定为目标文本。在另一实施例中,当有多个发布文本与该发布文本的相似度超过预设相似度阈值时,将所有文本的文本发布时间进行比较,从中筛选出与最早的文本发布时间对应的发布文本,并将该发布文本确定为目标文本。
当文本相似度值小于或等于预设相似度阈值时,获取与该文本相似度值对应的两个发布文本,并检测两个发布文本与其他发布文本之间是否具有相似度值,当两个发布文本均与其他发布文本之间不具有相似度值时,则将两个发布文本均确定为目标文本。当其中一个与其他发布文本之间不具有相似度值时,则将该发布文本确定为目标文本,并对另一发布文本进行再次判断。当两个发布文本均与其他发布文本之间具有相似度值时,则将发布文本进行再次判断,直至该发布文本被删除或保留。
本实施例中,通过与预设相似度阈值进行比较,实现了对发布文本的第一次筛选,从而筛选出相似度较高的发布文本对。通过比较与该发布文本对应的所有文本发布时间,实现了对最早的文本发布时间的筛选,实现了对目标文本的确定,进而实现了对大量重复的文本的删除。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种文本去重装置,该文本去重装置与上述实施例中文本去重方法一一对应。如图3所示,该文本去重装置包括分段文本模块10、文本矩阵模块20、分桶处理模块30和文本过滤模块40。各功能模块详细说明如下:
分段文本模块10,用于获取至少一个发布文本,按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本;
文本矩阵模块20,用于统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵;
分桶处理模块30,用于通过局部敏感哈希算法对与各所述文本矩阵对应的所述发布文本进行分桶处理,得到分桶结果;
文本过滤模块40,用于基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本。
可选地,所述分段文本模块10,包括:
文本长度单元,用于确定与各所述发布文本对应的文本长度;
文本重叠率单元,用于根据所述文本长度和所述预设文本长度,确定文本重叠率;
文本分割单元,用于通过所述文本重叠率和所述预设文本长度对所述发布文本进行文本分割,得到至少一个分段文本;相邻的所述分段文本之间部分内容重叠。
可选地,所述分段文本模块10,还包括:
文本清洗单元,用于对各所述发布文本进行清洗处理,以去除所述发布文本中的停用词和标点符号;
拼音转换单元,用于对各所述发布文本进行拼音转换,得到与各所述发布文本对应的拼音文本;
首字母提取单元,用于对所述拼音文本中的各拼音进行首字母提取,得到与各所述发布文本对应的目标拼音文本。
可选地,所述文本矩阵模块20,包括:
分段拼音文本单元,用于根据与同一所述发布文本对应的所有分段文本和所述目标拼音文本,确定与各所述分段文本对应的分段拼音文本;
频率统计单元,用于对与所述发布文本对应的所述分段拼音文本中拼音的首字母进行次数统计,得到首字母频率;
映射及归一化单元,用于对与同一所述发布文本对应的各所述首字母频率进行映射及归一化,得到所述文本矩阵。
可选地,所述文本过滤模块40,包括:
相似度计算单元,用于对所述分桶结果中的各所述发布文本之间进行相似度计算,得到与各所述发布文本对应的文本相似度值;
文本过滤单元,用于通过所述文本相似度值对所有所述发布文本进行文本过滤,得到所述目标文本。
可选地,所述相似度计算单元,包括:
随机行打乱子单元,用于对与各所述发布文本对应的所述文本矩阵进行随机行打乱,并确定随机行打乱后所述文本矩阵的最小哈希值;
哈希签名子单元,用于对与同一所述发布文本对应的预设次数的最小哈希值进行统计,得到与各所述发布文本对应的哈希签名;
相似度值子单元,用于通过所有所述哈希签名对所述分桶结果中的各所述发布文本之间进行相似度计算,得到文本相似度值。
可选地,所述文本过滤单元,包括:
阈值比较子单元,用于获取预设相似度阈值,比较所述文本相似度值和所述预设相似度阈值;
发布时间子单元,用于当所述文本相似度值大于所述预设相似度阈值时,获取与各所述发布文本对应的文本发布时间;
目标文本子单元,用于将与最早的所述文本发布时间对应的所述发布文本确定为所述目标文本。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种文本去重方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现上述文本去重方法。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现上述文本去重方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文本去重方法,其特征在于,包括:
获取至少一个发布文本,按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本;
统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵;
通过局部敏感哈希算法对与各所述文本矩阵对应的所述发布文本进行分桶处理,得到分桶结果;
基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本。
2.如权利要求1所述的文本去重方法,其特征在于,所述按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本之前,还包括:
对各所述发布文本进行清洗处理,以去除所述发布文本中的停用词和标点符号;
对各所述发布文本进行拼音转换,得到与各所述发布文本对应的拼音文本;
对所述拼音文本中的各拼音进行首字母提取,得到与各所述发布文本对应的目标拼音文本。
3.如权利要求1所述的文本去重方法,其特征在于,所述按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本,包括:
确定与各所述发布文本对应的文本长度;
根据所述文本长度和所述预设文本长度,确定文本重叠率;
通过所述文本重叠率和所述预设文本长度对所述发布文本进行文本分割,得到至少一个分段文本;相邻的所述分段文本之间部分内容重叠。
4.如权利要求2所述的文本去重方法,其特征在于,所述统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵,包括:
根据与同一所述发布文本对应的所有分段文本和所述目标拼音文本,确定与各所述分段文本对应的分段拼音文本;
对与所述发布文本对应的所述分段拼音文本中拼音的首字母进行次数统计,得到首字母频率;
对与同一所述发布文本对应的各所述首字母频率进行映射及归一化,得到所述文本矩阵。
5.如权利要求1所述的文本去重方法,其特征在于,所述基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本,包括:
对所述分桶结果中的各所述发布文本之间进行相似度计算,得到与各所述发布文本对应的文本相似度值;
通过所述文本相似度值对所有所述发布文本进行文本过滤,得到所述目标文本。
6.如权利要求5所述的文本去重方法,其特征在于,所述对所述分桶结果中的各所述发布文本之间进行相似度计算,得到与各所述发布文本对应的文本相似度值,包括:
对与各所述发布文本对应的所述文本矩阵进行随机行打乱,并确定随机行打乱后所述文本矩阵的最小哈希值;
对与同一所述发布文本对应的预设次数的最小哈希值进行统计,得到与各所述发布文本对应的哈希签名;
通过所有所述哈希签名对所述分桶结果中的各所述发布文本之间进行相似度计算,得到文本相似度值。
7.如权利要求5所述的文本去重方法,其特征在于,所述通过所述文本相似度值对所有所述发布文本进行文本过滤,得到所述目标文本,包括:
获取预设相似度阈值,比较所述文本相似度值和所述预设相似度阈值;
当所述文本相似度值大于所述预设相似度阈值时,获取与各所述发布文本对应的文本发布时间;
将与最早的所述文本发布时间对应的所述发布文本确定为所述目标文本。
8.一种文本去重装置,其特征在于,包括:
分段文本模块,用于获取至少一个发布文本,按照预设文本长度对所有所述发布文本进行分段处理,得到与所述发布文本对应的至少一个分段文本;
文本矩阵模块,用于统计各所述分段文本中字符的首字母频率并进行归一化,得到与各所述发布文本对应的文本矩阵;
分桶处理模块,用于通过局部敏感哈希算法对与各所述文本矩阵对应的所述发布文本进行分桶处理,得到分桶结果;
文本过滤模块,用于基于所述分桶结果对所有所述发布文本进行文本过滤,得到目标文本。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至7任一项所述文本去重方法。
10.一个或多个存储有计算机可读指令的可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述文本去重方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311369401.XA CN117216239A (zh) | 2023-10-23 | 2023-10-23 | 文本去重方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311369401.XA CN117216239A (zh) | 2023-10-23 | 2023-10-23 | 文本去重方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117216239A true CN117216239A (zh) | 2023-12-12 |
Family
ID=89046430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311369401.XA Pending CN117216239A (zh) | 2023-10-23 | 2023-10-23 | 文本去重方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117216239A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574330A (zh) * | 2023-12-29 | 2024-02-20 | 广东南方智媒科技有限公司 | 一种文本内容查重的版权保护方法、装置及存储介质 |
-
2023
- 2023-10-23 CN CN202311369401.XA patent/CN117216239A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574330A (zh) * | 2023-12-29 | 2024-02-20 | 广东南方智媒科技有限公司 | 一种文本内容查重的版权保护方法、装置及存储介质 |
CN117574330B (zh) * | 2023-12-29 | 2024-05-28 | 广东南方智媒科技有限公司 | 一种文本内容查重的版权保护方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106033416B (zh) | 一种字符串处理方法及装置 | |
CN108932294B (zh) | 基于索引的简历数据处理方法、装置、设备及存储介质 | |
CN110457302B (zh) | 一种结构化数据智能清洗方法 | |
US9053386B2 (en) | Method and apparatus of identifying similar images | |
US20230342403A1 (en) | Method and system for document similarity analysis | |
CN112162977B (zh) | 一种面向mes的海量数据去冗余方法和系统 | |
CN110019640B (zh) | 涉密文件检查方法及装置 | |
CN111597309A (zh) | 相似企业推荐方法、装置、电子设备及介质 | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
US20200125532A1 (en) | Fingerprints for open source code governance | |
CN117216239A (zh) | 文本去重方法、装置、计算机设备及存储介质 | |
CN112733545A (zh) | 文本分块方法、装置、计算机设备和存储介质 | |
CN111930610B (zh) | 软件同源性检测方法、装置、设备及存储介质 | |
CN114116973A (zh) | 多文档的文本查重方法、电子设备及存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN110990539B (zh) | 稿件内部查重方法、装置及电子设备 | |
CN109670153B (zh) | 一种相似帖子的确定方法、装置、存储介质及终端 | |
CN112783825A (zh) | 数据归档方法、装置、计算机装置及存储介质 | |
CN117235546B (zh) | 多版本文件比对方法、装置、系统及存储介质 | |
US20100063966A1 (en) | Method for fast de-duplication of a set of documents or a set of data contained in a file | |
CN112612810A (zh) | 慢sql语句识别方法及系统 | |
CN116226681B (zh) | 一种文本相似性判定方法、装置、计算机设备和存储介质 | |
CN112579781A (zh) | 文本归类方法、装置、电子设备及介质 | |
CN116775639A (zh) | 数据处理方法、存储介质及电子设备 | |
CN112487181A (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 |