CN109710729A - 一种文本数据的采集方法及装置 - Google Patents
一种文本数据的采集方法及装置 Download PDFInfo
- Publication number
- CN109710729A CN109710729A CN201811531842.4A CN201811531842A CN109710729A CN 109710729 A CN109710729 A CN 109710729A CN 201811531842 A CN201811531842 A CN 201811531842A CN 109710729 A CN109710729 A CN 109710729A
- Authority
- CN
- China
- Prior art keywords
- text
- database
- duplicate checking
- target
- hash
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例涉及一种文本数据的采集方法及装置。采集方法包括:基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;若查重未命中,则将第一目标文本保存至所述文本数据库中,并在文本数据库中配置第一目标文本的文本类型为第一类型;从文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对文本数据库进行查重;若查重未命中,则将文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从本文数据库中删除所述第二目标文本对应的数据。本申请在文本数据采集过程中能够高效地基于不同的哈希算法对文本数据进行查重。
Description
技术领域
本申请实施例涉及计算机软件技术领域,尤其涉及一种文本数据的采集方法及装置。
背景技术
随着大数据应用的发展,人们越来越深刻地认识到数据的价值。为了满足数据需求的不断增长,数据采集技术尤为重要。其中,采集网络中的文本数据(如新闻、微博信息等)是常见的一种数据采集方式。
现有的文本数据采集方式一般是在获取到文本数据后,基于文本数据经哈希算法计算得到的哈希值对数据库进行查重,在查重未命中的前提下,将文本数据保存至数据库中,从而保证数据库的文本数据具有唯一性。目前业内对文本数据进行哈希值查重的方法并不唯一,为了保证较好的查重效果,应使用不同的哈希算法。但是对于大数量级的数据库,基于不同哈希算法进行查重会严重影响文本数据的采集效率,使得查重准确率和查重效率无法兼得。
有鉴于此,如何在文本数据采集过程中高效地基于不同的哈希算法对文本数据进行查重,是本申请所要解决的技术问题。
发明内容
本申请实施例目的是提供一种文本数据的采集方法及装置,能够在文本数据采集过程中高效地基于不同的哈希算法对文本数据进行查重。
为了实现上述目的,本申请实施例是这样实现的:
第一方面,提供一种文本数据的采集方法,包括:
基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重;
若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
第二方面,提供了一种文本数据的采集装置,包括:
第一查重模块,用于基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
保存模块,用于若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
第二查重模块,用于从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行相似查重;
处理模块,用于若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
本申请实施例的方案一方面基于第一哈希算法对第一目标文本进行查重,若果查重未命中,则将第一目标文本保存至文本数据库中,并在文本数据库中配置第一目标文本的文本类型为第一类型;同时,另一方面,对文本数据库中已保存的第一类型的第二目标文本经第二哈希算法计算到的第二哈希值,对文本数据库进行查重,若查重命中,则从本文数据库中删除第二目标文本对应的数据。由于两次查重并行进行,因此在较高的查重效率基础上提升了查重准确率,具有较高的实用价值。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的文本数据的采集方法的流程示意图;
图2为本申请实施例提供的文本数据的采集方法的另一流程示意图;
图3为本申请实施例提供的文本数据的采集装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
如前所述,现有的文本数据采集方式一般是在获取到文本数据后,基于文本数据经哈希算法计算得到的哈希值对数据库进行查重,在查重未命中的前提下,将文本数据保存至数据库中,从而保证数据库的文本数据具有唯一性。因此,为了保证较好的查重效果,应使用不同的哈希算法。但是对于大数量级的数据库,基于不同哈希算法进行查重会严重影响文本数据的采集效率。有鉴于此,本申请实施例提供一种在文本数据采集过程中以较高效率基于不同的哈希算法对文本数据进行查重的技术方案。
一方面,本申请实施例提供一种文本数据的采集方法,如图1所示,包括:
步骤S102,基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
针对步骤S102而言:
应理解,第一哈希算法可以是任何用于对文本数据进行哈希值计算的算法,本申请实施例不对第一哈希算法作具体限定。
此外,本步骤在计算第一哈希值前,可以进一步对第一目标文本进行预处理,以过滤掉第一目标文本中语义表达无关的字符,从而避免这些与语义表达无关的字符影响第一哈希值的计算,导致查重准确率下降。
步骤S104,若查重未命中,则将第一目标文本保存至文本数据库中,并在文本数据库中配置第一目标文本的文本类型为第一类型;
针对步骤S104而言:
查重未命中是指文本数据库没有经第一哈希算法计算得到的哈希值与上述第一哈希值相同或者相似度小于预设阈值的其他文本。
若查重未命中,则表示经初次查重后,文本数据库中没有与第一目标文本重复的其他文本。此时,可以将第一目标文本临时保存至文本数据库中,并配置第一目标文本的文本类型为第一类型以进行标记。
其中,第一类型的文本是指后续还需要再次经其他哈希算法计算得到的哈希值进行查重的文本。
步骤S106,从文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于第二目标文本经第二哈希算法计算到的第二哈希值,对文本数据库进行相似查重。
步骤S106而言:
本步骤可以将第一类型设置为查找条件,从文本数据库中汇总出需要再次查重的第二目标文本,之后利用第二哈希算法计算得到第二目标文本的第二哈希值,并基于第二哈希值对文本数据库进行查重。
应理解,第二目标文本可以是一个也可以是多个,可以但不限于包括上述第一目标文本。
步骤S108,若查重未命中,则将文本数据库中第二目标文本的文本类型更改为第二类型,否则从本文数据库中删除第二目标文本对应的数据。
针对步骤S108而言:
应理解,第二目标文本在保存至文本数据库前已经过第一哈希算法得到的哈希值进行过查重。若本步骤查重后依然未命中,则可以保留文本数据库中第二目标文本对应的数据。
在实际应用中,本申请实施例可以通过同步线程执行上述步骤S102和步骤S104,并通过异步线程执行上述步骤S106和步骤S108。即对文本进行初次查重已决定是否保存至文本数据库的流程与对文本数据库中的文本进行再次查重已决定是否保留的流程可以并行执行。
通过图1所示的文本数据的采集方法可以知道,本申请实施例的方案一方面基于第一哈希算法对第一目标文本进行查重,若果查重未命中,则将第一目标文本保存至文本数据库中,并在文本数据库中配置第一目标文本的文本类型为第一类型;同时,另一方面,对文本数据库中已保存的第一类型的第二目标文本经第二哈希算法计算到的第二哈希值,对文本数据库进行查重,若查重命中,则从本文数据库中删除第二目标文本对应的数据。由于两次查重并行进行,因此在较高的查重效率基础上提升了查重准确率,具有较高的实用价值。
应理解,本申请实施例对第一目标文本进行初次查重是用于确定是否将第一目标文本保存至文本数据库中,因此为了提高文本数据的采集效率,第一哈希算法可以是计算粒度较低但计算效率较高的算法,如循环冗余校验crc算法、消息摘要md5算法等。
而对于已经保存在文本数据库中的第二目标文本,由于已经收集至文本数据库中,因此可以使用计算粒度较高但计算效率较低的哈希算法来对第二目标文本进行更加精确的查重,比如第二哈希算法可以是局部敏感哈希simhash算法。
其中,simhash算法能够在一定程度上结合文本中的语义计算哈希值,主要包括:
分词步骤,把需要判断文本分词形成这个文章的特征单词。最后形成去掉噪音词的单词序列并为每个分词加上权重,我们假设权重分为5个级别(1~5)。比如:“美国“51区”雇员称内部有9架飞碟,曾看见灰色外星人”==>分词后为“美国(4)51区(5)雇员(3)称(1)内部(2)有(1)9架(3)飞碟(5)曾(1)看见(3)灰色(4)外星人(5)”,括号里是代表单词在整个句子里重要程度,数字越大越重要。
哈希步骤,计算每个词变的hash值,比如“美国”计算得到的哈希值为100101,“51区”计算得到的哈希值为101011。这样目标文档就转变成数字串表示的哈希值。
加权步骤,对目标文档的hash结果按照分词的权重进行加权,得到加权数字串,比如“美国”的哈希值为“100101”,通过加权计算后为“4 -4 -4 4 -4 4”;“51区”的哈希值为“101011”,通过加权计算后为“5 -5 5 -5 5 5”。
合并步骤,把上面各个分词算出来的到加权数字串进行累加。比如将“美国”的加权数字串“4 -4 -4 4 -4 4”与“51区”的加权数字串“5 -5 5 -5 5 5”进行累加“4+5、-4+-5、-4+5、4+-5、-4+5、4+5”,累加结果为“9 -9 1 -1 1 9”(这里作为示例只计算了“美国”和“51区”这两个分词,真实计算需要把所有分词的加权数字串进行累加)。
降维步骤,把“9 -9 1 -1 1 9”以0 1串进行标识,形成最终的simhash值。比如,每一位大于0记为1,小于0记为0。最后计算出的simhash值为:“1 0 1 0 1 1”。
在通过第二哈希算法计算得到第二目标文本的第二哈希值后,即可基于该第二哈希值对文本数据库进行再次查重。
其中,为了实现更好的查重效果,可以基于第二目标文本的第二哈希值,对文本数据库进行相似度查询,若相似度查询命中,则判定重复。
作为示例性介绍,本申请实施例可以查询文本数据库中其他经第二哈希算法计算到的哈希值与第二哈希值的海明距离小于预设距离阈值的文本。
通过海明距离可以计算出两个文本经第二哈希算法计算到的哈希值是否相似。比如,“10101 1”和“001101”从第一位开始依次有第一位、第四位、第五位不同,则海明距离为3。当两个文本的海明举例小于预设距离阈值时,则判定重复。
下面以第一目标文本为例,对本申请实施例的采集方法的流程进行示例性介绍。
如图2所示,对本申请实施例的采集方法的流程可以包括如下步骤:
步骤S201,通过网络爬虫软件,采集获取第一目标文本。
步骤S202,从第一目标文本的第一个字符开始选取既定字符长度的文本片段,并对文本片段进行预处理,过滤掉文本片段中与语义表达无关的字符。
例如,第一目标文本内容如下:
“今天(4日)北京蓝天上线,但风大天寒,阵风六级左右,有3℃左右降温,夜间最低气温仅-6℃,将创入冬以来新低。本周冷空气活动频繁,6-7日气温连续下降,7日最高气温仅-4℃,最低气温-9℃。
昨天凌晨开始,冷空气挟大风进京,雾、霾渐散,不过部分地区伴有沙尘,碧蓝的天空仍没有出现。气温变化不大,最高气温7.3℃。
未来几天北京晴空上线,以晴到多云天气为主,但气温下降明显。今天风大天寒,有3℃左右降温,夜间气温将创入冬以来新低。北京市气象台预计,今天白天晴间多云,北风三四级(阵风六级左右)转二级,最高气温4℃;夜间晴转多云,北风一二级,最低气温-6℃。”
选取第一目标文本前100个字符,并过滤掉无用的字符和换行符等,得到如下内容:
“今天(4日)北京蓝天上线,但风大天寒,阵风六级左右,有3℃左右降温,夜间最低气温仅-6℃,将创入冬以来新低。本周冷空气活动频繁,6-7日气温连续下降,7日最高气温仅-4℃,最低气温-9℃。昨天凌晨开始,冷空气挟”。
步骤S203,基于md5算法或crc64算法对从第一目标文本中选取到的文本片段进行哈希,得到第一哈希值。
步骤S204,基于第一哈希值查找文本数据库是否存在于第一目标文本重复的数据。
步骤S205,如果查重未命中,将第一目标文本存储至文本数据库,并配置第一目标文本的文本类型为第一类型。
步骤S206,通过消息通知SimHash服务。
步骤S207,SimHash服务对整个第一目标文本进行SimHash,并基于第一目标文本的SimHash值,查找文本数据是否存在于第一目标文本相似的数据。
步骤S208,如果查询未命中,则保留文本数据库中第一目标文本对应的数据,并配置第一目标文本的文本类型为第二类型,否则删除文本数据库中第一目标文本对应的数据。
可见,本申请实施例的采集方法在数据虑重过程中,采用两次查重机制组合进行,第一次采用截取目标文本片段的方式进行快速查重判断,以保证以较高的性能为文本数据库采集文本数据。第二次采用SimHash方法对目标文本整体进行相似度判重,以保证数据真正的唯一,双重并行判断更准确且也更高效,特别适用于大数据量的文本采集任务。
下面结合实际应用对本申请实施例的采集装置进行详细介绍。
实际应用一
在实际应用一中,假设文本数据库现在有如下两条新闻:
其中,Hash字段的取值表示文本经第一哈希算法计算得到的第一哈希值;simhash字段的取值表示文本经simhash计算得到的第二哈希值;type字段表示文本的文本类型,取值为1表示已经过查重,取值为2表示待进行查重。
采集到新的目标文本如下:
根据采集到目标文本的hash值“3069965288163020986”,对文本数据库进行查重。
由于本实际应用一中文本数据库的hash字段并未存在“3069965288163020986”的取值,因此将目标文本对应的数据保存至文本数据库中,并配置该目标文本在type字段的取值为2。其中,添加目标文本的文本数据库如下所示:
之后,基于目标为本的SimHash值“4045056611049233014”,对文本数据库进行查重。
由于本实际应用一中文本数据库的simhash字段并未存在“3069965288163020986”的取值,因此将目标文本在type字段的取值更改为1。其中,更新后的文本数据库如下所示:
实际应用二
在实际应用二中,假设文本数据库记录的部分新闻如下所示:
其中,crc64字段的取值表示文本经crc64算法计算得到的第一哈希值;md5的取值表示文本经md5算法计算得到的第一哈希值;simhash字段的取值表示文本经simhash计算得到的第二哈希值;type字段表示文本类型,取值为1表示已经过查重,取值为2表示待进行查重。
采集到新的目标文本如下:
若当前文本数据库中文本的数量级小于千万,则基于crc64算法对目标文本计算得到的以数字串表示哈希值3069965288163020986对文本数据库进行查重。
若当前文本数据库中文本的数量级为千万或千万以上,则基于md5算法对目标文本计算得到的以字符串表示哈希值D17007639927D131097对文本数据库进行更为精确的查重。
由于本实际应用二中,目标文本的哈希值“3069965288163020986”和“D17007639927D131097”均没有在数据库中crc64字段。
可以看出,文本数据库的crc64字段和simhash字段均未出现目标文本对应的哈希值,因此将目标文本对应的数据保存至文本数据库中,并配置该目标文本在type字段的取值为2。其中,添加目标文本的文本数据库如下所示:
之后,基于目标为本的SimHash值“4045056611049233014”,对文本数据库进行查重。
由于本实际应用一中文本数据库的simhash字段并未存在“3069965288163020986”的取值,因此将目标文本在type字段的取值更改为1。其中,更新后的文本数据库如下所示:
以上是对本申请实施例的播放方法的示例性介绍,在不脱离本文上述原理基础之上,还可以进行适当的变化,这些变化也应视为本申请实施例的保护范围。
比如,本申请还可以在基于第二目标文本的第二哈希值,对文本数据库进行查重后,还可以基于其他哈希算法进行查重,比如第三哈希算法、第四哈希算法……第N哈希算法等。
与之对应地,本申请实施例还提供一种文本数据的采集装置,如图3所示,包括:
第一查重模块31,用于基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
应理解,第一哈希算法可以是任何用于对文本数据进行哈希值计算的算法,本申请实施例不对第一哈希算法作具体限定。
保存模块32,用于若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
应理解,查重未命中是指文本数据库没有经第一哈希算法计算得到的哈希值与上述第一哈希值相同或者相似度小于预设阈值的其他文本。
若查重未命中,则表示经初次查重后,文本数据库中没有与第一目标文本重复的其他文本。此时,可以将第一目标文本临时保存至文本数据库中,并配置第一目标文本的文本类型为第一类型以进行标记。
其中,第一类型的文本是指后续还需要再次经其他哈希算法计算得到的哈希值进行查重的文本。
第二查重模块33,用于从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行相似查重;
具体地,第二查重模块33可以将第一类型设置为查找条件,从文本数据库中汇总出需要再次查重的第二目标文本,之后利用第二哈希算法计算得到第二目标文本的第二哈希值,并基于第二哈希值对文本数据库进行查重。
应理解,第二目标文本可以是一个也可以是多个,可以但不限于包括上述第一目标文本。
处理模块34,用于若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
应理解,第二目标文本在保存至文本数据库前已经过第一哈希算法得到的哈希值进行过查重。若处理模块34查重后依然未命中,则可以保留文本数据库中第二目标文本对应的数据。
在实际应用中,第一查重模块31和保存模块32可以由同步线程控制工作,第二查重模块33和处理模块34可以通过异步线程控制工作。即本申请实施例对文本进行初次查重已决定是否保存至文本数据库的流程与对文本数据库中的文本进行再次查重已决定是否保留的流程可以并行执行。
本申请实施例的方案一方面基于第一哈希算法对第一目标文本进行查重,若果查重未命中,则将第一目标文本保存至文本数据库中,并在文本数据库中配置第一目标文本的文本类型为第一类型;同时,另一方面,对文本数据库中已保存的第一类型的第二目标文本经第二哈希算法计算到的第二哈希值,对文本数据库进行查重,若查重命中,则从本文数据库中删除第二目标文本对应的数据。由于两次查重并行进行,因此在较高的查重效率基础上提升了查重准确率,具有较高的实用价值。
应理解,本申请实施例对第一目标文本进行初次查重是用于确定是否将第一目标文本保存至文本数据库中,因此为了提高文本数据的采集效率,第一哈希算法可以是计算粒度较低但计算效率较高的算法,如循环冗余校验crc算法、消息摘要md5算法等。
而对于已经保存在文本数据库中的第二目标文本,由于已经收集至文本数据库中,因此可以使用计算粒度较高但计算效率较低的哈希算法来对第二目标文本进行更加精确的查重,比如第二哈希算法可以是局部敏感哈希simhash算法。
其中,simhash算法能够在一定程度上结合文本中的语义计算哈希值。第二查重模块33通过simhash算法计算第二目标文本的第二哈希值的流程包括:
分词步骤,把需要判断文本分词形成这个文章的特征单词。最后形成去掉噪音词的单词序列并为每个分词加上权重,我们假设权重分为5个级别(1~5)。比如:“美国“51区”雇员称内部有9架飞碟,曾看见灰色外星人”==>分词后为“美国(4)51区(5)雇员(3)称(1)内部(2)有(1)9架(3)飞碟(5)曾(1)看见(3)灰色(4)外星人(5)”,括号里是代表单词在整个句子里重要程度,数字越大越重要。
哈希步骤,计算每个词变的hash值,比如“美国”计算得到的哈希值为100101,“51区”计算得到的哈希值为101011。这样目标文档就转变成数字串表示的哈希值。
加权步骤,对目标文档的hash结果按照分词的权重进行加权,得到加权数字串,比如“美国”的哈希值为“100101”,通过加权计算后为“4 -4 -4 4 -4 4”;“51区”的哈希值为“101011”,通过加权计算后为“5 -5 5 -5 5 5”。
合并步骤,把各个分词算出来的加权数字串进行累加。比如将“美国”的加权数字串“4 -4 -4 4 -4 4”与“51区”的加权数字串“5 -5 5 -5 5 5”进行累加“4+5、-4+-5、-4+5、4+-5、-4+5、4+5”,累加结果为“9 -9 1 -1 1 9”(这里作为示例只计算了“美国”和“51区”这两个分词,真实计算需要把所有分词的加权数字串进行累加)。
降维步骤,把“9 -9 1 -1 1 9”以0 1串进行标识,形成最终的simhash值。比如,每一位大于0记为1,小于0记为0。最后计算出的simhash值为:“10 1 0 1 1”。
在通过第二哈希算法计算得到第二目标文本的第二哈希值后,第二查重模块34即可基于该第二哈希值对文本数据库进行查重。
其中,为了实现更好的查重效果,第二查重模块33可以基于第二目标文本的第二哈希值,对文本数据库进行相似度查询,若相似度查询命中,则判定重复。
作为示例性介绍,第二查重模块33可以查询文本数据库中其他经第二哈希算法计算到的哈希值与第二哈希值的海明距离小于预设距离阈值的文本。
通过海明距离可以计算出两个文本经第二哈希算法计算到的哈希值是否相似。比如,“10101 1”和“001101”从第一位开始依次有第一位、第四位、第五位不同,则海明距离为3。当两个文本的海明举例小于预设距离阈值时,则判定重复。
此外,本申请实施例的采集装置还可以包括:
过滤模块,用于在所述第一查重模块基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重前,对第一目标文本进行预处理,过滤掉所述第一目标文本中与语义表达无关的字符。
应理解,通过排除第一目标文本中无意义的字符可以避免无意的字符影响哈希值的计算,从而提高了基于哈希值进行查重的准确率。
显然,本申请实施例的采集装置可以作为上述采集方法的执行主体,因此该采集装置能够实现采集方法在图1和图2所实现的功能。由于原理相同,本文不再赘述。
此外,如图4所示,本申请实施例还提供一种电子设备。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成问答对数据挖掘装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重;
若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
本申请实施例的方案一方面基于第一哈希算法对第一目标文本进行查重,若果查重未命中,则将第一目标文本保存至文本数据库中,并在文本数据库中配置第一目标文本的文本类型为第一类型;同时,另一方面,对文本数据库中已保存的第一类型的第二目标文本经第二哈希算法计算到的第二哈希值,对文本数据库进行查重,若查重命中,则从本文数据库中删除第二目标文本对应的数据。由于两次查重并行进行,因此在较高的查重效率基础上提升了查重准确率,具有较高的实用价值。
本申请图1所示实施例揭示的文本数据的采集方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,本申请实施例的电子设备还可执行图1所示的文本数据的采集方法,并实现文本数据的采集装置在图1和图2所示实施例的功能,本文不再进行赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
可选地,对文本数据库进行查重的步骤,以及若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型的步骤可以通过同步线程执行。
可选地,从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重的步骤,以及若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据的步骤可以通过异步线程执行。
可选地,所述第二哈希算法为局部敏感哈希算法。
可选地,处理器执行存储器所存放的程序以基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重,包括:
基于所述第二目标文本经第二哈希算法计算到的第二哈希值,查询所述文本数据库中其他经第二哈希算法计算到的哈希值与所述第二哈希值的海明距离小于预设距离阈值的文本。
可选地,所述第一哈希算法为循环冗余校验算法或消息摘要算法。
可选地,可选地,处理器执行存储器所存放的程序,可具体用于执行以下操作:
在基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重前,对第一目标文本进行预处理,过滤掉所述第一目标文本中与语义表达无关的字符。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重;
若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
应理解,本申请的计算机可读存储介质在本处理执行时,可以实现文本还原装置在图1、图2所示实施例的功能,本文不再进行赘述。
需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种文本数据的采集方法,其特征在于,包括:
基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重;
若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
2.权利要求1所述的方法,其特征在于,
通过同步线程执行:对文本数据库进行查重的步骤;以及若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型的步骤;
通过异步线程执行:从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重的步骤;以及若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据的步骤。
3.如权利要求1或2所述的方法,其特征在于,
所述第二哈希算法为局部敏感哈希算法。
4.如权利要求3所述的方法,其特征在于,
基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重,包括:
基于所述第二目标文本经第二哈希算法计算到的第二哈希值,查询所述文本数据库中其他经第二哈希算法计算到的哈希值与所述第二哈希值的海明距离小于预设距离阈值的文本。
5.权利要求1或2所述的方法,其特征在于,
所述第一哈希算法为循环冗余校验算法或消息摘要算法。
6.权利要求1或2所述的方法,其特征在于,
在基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重前,还包括:
对第一目标文本进行预处理,过滤掉所述第一目标文本中与语义表达无关的字符。
7.一种文本数据的采集装置,其特征在于,包括:
第一查重模块,用于基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重;
保存模块,用于若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型;
第二查重模块,用于从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行相似查重;
处理模块,用于若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据。
8.权利要求7所述的装置,其特征在于,
通过同步线程执行:对文本数据库进行查重的步骤;以及若查重未命中,则将所述第一目标文本保存至所述文本数据库中,并在所述文本数据库中配置所述第一目标文本的文本类型为第一类型的步骤;
通过异步线程执行:从所述文本数据库中文本类型为第一类型的文本中选取第二目标文本,并基于所述第二目标文本经第二哈希算法计算到的第二哈希值,对所述文本数据库进行查重的步骤;以及若查重未命中,则将所述文本数据库中所述第二目标文本的文本类型更改为第二类型,否则从所述本文数据库中删除所述第二目标文本对应的数据的步骤。
9.如权利要求7或8所述的装置,其特征在于,
所述第二哈希算法为局部敏感哈希算法。
10.如权利要求9所述的装置,其特征在于,
所述第二查重模块具体用于:基于所述第二目标文本经第二哈希算法计算到的第二哈希值,查询所述文本数据库中其他经第二哈希算法计算到的哈希值与所述第二哈希值的海明距离小于预设距离阈值的文本。
11.权利要求7或8所述的装置,其特征在于,
所述第一哈希算法为循环冗余校验算法或消息摘要算法。
12.权利要求11所述的装置,其特征在于,还包括:
过滤模块,用于在所述第一查重模块基于第一目标文本中既定字符长度的文本片段经第一哈希算法计算得到的第一哈希值,对文本数据库进行查重前,对第一目标文本进行预处理,过滤掉所述第一目标文本中与语义表达无关的字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811531842.4A CN109710729A (zh) | 2018-12-14 | 2018-12-14 | 一种文本数据的采集方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811531842.4A CN109710729A (zh) | 2018-12-14 | 2018-12-14 | 一种文本数据的采集方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109710729A true CN109710729A (zh) | 2019-05-03 |
Family
ID=66256547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811531842.4A Pending CN109710729A (zh) | 2018-12-14 | 2018-12-14 | 一种文本数据的采集方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710729A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532352A (zh) * | 2019-08-20 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 文本查重方法及装置、计算机可读存储介质、电子设备 |
CN110765121A (zh) * | 2019-10-31 | 2020-02-07 | 太原蓝知科技有限公司 | 一种大数据智能采集处理方法和系统 |
CN111177362A (zh) * | 2019-12-30 | 2020-05-19 | 深圳市梦网科技发展有限公司 | 一种信息处理方法、装置、服务器及介质 |
CN111539022A (zh) * | 2020-04-27 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种特征匹配方法、目标对象的识别方法及相关硬件 |
CN112214983A (zh) * | 2020-09-21 | 2021-01-12 | 远光软件股份有限公司 | 一种数据记录查重方法及系统 |
CN115794842A (zh) * | 2022-11-02 | 2023-03-14 | 北京明朝万达科技股份有限公司 | 数据处理方法、装置、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188919A1 (en) * | 2007-01-26 | 2014-07-03 | Google Inc. | Duplicate document detection |
CN103970722A (zh) * | 2014-05-07 | 2014-08-06 | 江苏金智教育信息技术有限公司 | 一种文本内容去重的方法 |
US20150254267A1 (en) * | 2014-03-10 | 2015-09-10 | International Business Machines Corporation | Data duplication detection in an in memory data grid (imdg) |
CN107656916A (zh) * | 2016-07-25 | 2018-02-02 | 长沙有干货网络技术有限公司 | 一种Simhash算法的海量文档反作弊技术方法 |
CN108345586A (zh) * | 2018-02-09 | 2018-07-31 | 重庆誉存大数据科技有限公司 | 一种文本去重方法及系统 |
CN108776654A (zh) * | 2018-05-30 | 2018-11-09 | 昆明理工大学 | 一种基于改进的simhash文本对比方法 |
-
2018
- 2018-12-14 CN CN201811531842.4A patent/CN109710729A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188919A1 (en) * | 2007-01-26 | 2014-07-03 | Google Inc. | Duplicate document detection |
US20150254267A1 (en) * | 2014-03-10 | 2015-09-10 | International Business Machines Corporation | Data duplication detection in an in memory data grid (imdg) |
US9613121B2 (en) * | 2014-03-10 | 2017-04-04 | International Business Machines Corporation | Data duplication detection in an in memory data grid (IMDG) |
CN103970722A (zh) * | 2014-05-07 | 2014-08-06 | 江苏金智教育信息技术有限公司 | 一种文本内容去重的方法 |
CN107656916A (zh) * | 2016-07-25 | 2018-02-02 | 长沙有干货网络技术有限公司 | 一种Simhash算法的海量文档反作弊技术方法 |
CN108345586A (zh) * | 2018-02-09 | 2018-07-31 | 重庆誉存大数据科技有限公司 | 一种文本去重方法及系统 |
CN108776654A (zh) * | 2018-05-30 | 2018-11-09 | 昆明理工大学 | 一种基于改进的simhash文本对比方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532352A (zh) * | 2019-08-20 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 文本查重方法及装置、计算机可读存储介质、电子设备 |
CN110532352B (zh) * | 2019-08-20 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 文本查重方法及装置、计算机可读存储介质、电子设备 |
CN110765121A (zh) * | 2019-10-31 | 2020-02-07 | 太原蓝知科技有限公司 | 一种大数据智能采集处理方法和系统 |
CN110765121B (zh) * | 2019-10-31 | 2022-09-20 | 上海意臣信息科技有限公司 | 一种大数据智能采集处理方法和系统 |
CN111177362A (zh) * | 2019-12-30 | 2020-05-19 | 深圳市梦网科技发展有限公司 | 一种信息处理方法、装置、服务器及介质 |
CN111539022A (zh) * | 2020-04-27 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种特征匹配方法、目标对象的识别方法及相关硬件 |
CN111539022B (zh) * | 2020-04-27 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 一种特征匹配方法、目标对象的识别方法及相关硬件 |
CN112214983A (zh) * | 2020-09-21 | 2021-01-12 | 远光软件股份有限公司 | 一种数据记录查重方法及系统 |
CN112214983B (zh) * | 2020-09-21 | 2023-08-11 | 远光软件股份有限公司 | 一种数据记录查重方法及系统 |
CN115794842A (zh) * | 2022-11-02 | 2023-03-14 | 北京明朝万达科技股份有限公司 | 数据处理方法、装置、电子设备及介质 |
CN115794842B (zh) * | 2022-11-02 | 2024-04-05 | 北京明朝万达科技股份有限公司 | 数据处理方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710729A (zh) | 一种文本数据的采集方法及装置 | |
US7966289B2 (en) | Systems and methods for reading objects in a file system | |
CN107045531A (zh) | 一种优化hdfs小文件存取的系统及方法 | |
CN106201916B (zh) | 一种面向ssd的非易失缓存方法 | |
CN103914444B (zh) | 一种纠错方法及其装置 | |
CN111241389A (zh) | 基于矩阵的敏感词过滤方法、装置、电子设备、存储介质 | |
CN106294595A (zh) | 一种文档存储、检索方法及装置 | |
CN112148217B (zh) | 全闪存储系统的重删元数据的缓存方法、装置及介质 | |
CN107436911A (zh) | 模糊查询方法、装置及查询系统 | |
CN109376590A (zh) | 基于无人车的障碍物分类方法、装置、设备以及存储介质 | |
CN110489405A (zh) | 数据处理的方法、装置和服务器 | |
CN109450969A (zh) | 从第三方数据源服务器中获取数据的方法、装置和服务器 | |
CN107515931A (zh) | 一种基于聚类的重复数据检测方法 | |
CN104765877A (zh) | 一种照片处理方法及系统 | |
CN109743309A (zh) | 一种非法请求识别方法、装置及电子设备 | |
CN105183792A (zh) | 一种基于局部敏感哈希的分布式快速文本分类方法 | |
CN108304469B (zh) | 用于字符串模糊匹配的方法和装置 | |
CN110490595A (zh) | 一种风险控制方法和装置 | |
CN106599247A (zh) | LSM‑tree结构中数据文件的合并方法及装置 | |
CN109522242A (zh) | 一种搜索Cache数据的方法和装置 | |
CN106909623B (zh) | 一种支持高效海量数据分析和检索的数据装置及数据存储方法 | |
CN109977737A (zh) | 一种基于循环神经网络的字符识别鲁棒性方法 | |
CN109213760A (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
CN110427492A (zh) | 生成关键词库的方法、装置和电子设备 | |
CN110347753A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |
|
RJ01 | Rejection of invention patent application after publication |