CN111428180B - 一种网页去重方法、装置和设备 - Google Patents
一种网页去重方法、装置和设备 Download PDFInfo
- Publication number
- CN111428180B CN111428180B CN202010200342.3A CN202010200342A CN111428180B CN 111428180 B CN111428180 B CN 111428180B CN 202010200342 A CN202010200342 A CN 202010200342A CN 111428180 B CN111428180 B CN 111428180B
- Authority
- CN
- China
- Prior art keywords
- webpage
- redis
- character strings
- compared
- converting
- 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.)
- Active
Links
Images
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/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种网页去重方法、装置和设备,对海量网页进行二进制词向量的提取,利用二进制词向量对网页进行基于语义局部敏感散列表示,通过基于语义局部敏感散列表示进行网页内容比较,从而判断待比较网页是否为与预置数据存储结构中的网页内容重复的网页,充分利用了语义的相似性,降低了hash变换引入的随机噪声的影响,从而提高了重复网页的判别准确性,解决了现有的基于hash计算的网页去重方法准确率不高的技术问题。
Description
技术领域
本申请涉及网页去重技术领域,尤其涉及一种网页去重方法、装置和设备。
背景技术
网页去重,即过滤掉重复的网页。互联网上有很多的页面内容是完全一样的或者是近似一样的,重复的数据不但不会带来任何价值,还会占用大量的存储空间,影响查询和计算性能,因此,需要进行网页去重。
现有的网页去重方法是将网页内容的文本进行分词,形成该文章的特征单词,然后去掉其中的噪音词,并为剩下的词加上权重,通过hash算法(哈希算法)把每个单词变成遗传由0和1组成的hash值,把hash值生成的结果按照单词的权重计算形成加权字符串,bit值为1,权重值乘以1,bit值为0则权重值乘以-1,把各个单词算出来的权重序列值按位相加,将结果转为0和1的序列:某一位大于0,则置为1,否则为0,最后分别计算两篇待比较的文章按计算出来的数值序列,比较其序列的海明距离,如果海明距离较小,则判定两篇文章为重复,需要将比较的文章去掉。这种基于hash计算的网页去重方法,hash是随机变化的,即使两个词语意思相近,但hash计算出来的结果可能是完全不一样的,因此,现有的这种hash计算判别网页是否重复的方法准确率不高。
发明内容
本申请提供了一种网页去重方法和装置,用于解决现有的基于hash计算的网页去重方法准确率不高的技术问题。
有鉴于此,本申请第一方面提供了一种网页去重方法,包括:
对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据;
对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的实数值词向量;
对所述实数值词向量进行二进制转换,得到二进制词向量,存入预置数据存储结构中;
基于所述二进制词向量,对所述网页文本数据进行基于语义局部敏感散列表示转换,将得到的第一转换结果存入所述预置数据存储结构中;
将待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较,若比较结果为重复,则去掉所述待比较网页,若比较结果为不重复,则将所述第二转换结果存入所述预置数据存储结构中。
可选地,所述预置数据存储结构为Redis。
可选地,所述对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的实数值词向量,包括:
基于skip-gram模型对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量。
可选地,所述对所述实数值词向量进行二进制转换,得到二进制词向量,存入预置数据存储结构中,包括:
对所述100维实数值词向量的每个分量的非负值转换为1,负值转换为0,组成100位的二进制词向量;
将所述二进制词向量转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中。
可选地,所述基于所述二进制词向量,对所述网页文本数据进行基于语义局部敏感散列表示转换,将得到的第一转换结果存入所述预置数据存储结构中,包括:
从Redis中取出与所述海量网页的词条对应的二进制词向量;
将所述二进制词向量取值为0的分量转换为-1,组成100维的1和-1向量;
将各所述海量网页内容下所有词条的100维1和-1向量按照对应分量求和,得到结果为各个对应分量的100维代数和向量;
将所述代数和向量的非负分量转换为1,负分量转换为0,得到100维01向量,得到海量网页的基于语义局部敏感散列表示;
将所述海量网页的基于语义局部敏感散列表示存入所述Redis中。
可选地,所述将所述海量网页的基于语义局部敏感散列表示存入所述Redis中,包括:
以每10位为一段,将所述海量网页的基于语义局部敏感散列表示划分为10段;
每次从所述10段中取出8段,按顺序拼接成一个80位二进制字符串,余下的2段按顺序拼接成20位二进制字符串,得到45对分别为80位和20位的组合二进制字符串;
将每对所述组合二进制字符串以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key;
将每对所述组合二进制字符串对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器中。
可选地,所述将对待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较,若比较结果为重复,则去掉所述待比较网页,若比较结果为不重复,则将所述第二转换结果存入所述预置数据存储结构中,包括:
将对待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较;
若所述待比较网页的45对80位二进制字符串在Redis中均不存在,则所述待比较网页是不重复的网页,将所述第二转换结果存入所述Redis中;
若所述待比较网页的45对80位二进制字符串在Redis中有至少一对在Redis中存在,则判断45对剩余的20位二进制字符串是否有至少一对存在于所述布隆过滤器中,若是,则所述待比较网页是重复网页,直接去除所述待比较网页,若否,则所述待比较网页不是重复网页,将所述第二转换结果存入所述Redis中。
本申请第二方面提供了一种网页去重装置,包括:
预处理单元,用于对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据;
词向量训练单元,用于基于skip-gram模型对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量;
词向量转换单元,用于对所述100维实数值词向量的每个分量的非负值转换为1,负值转换为0,组成100位的二进制词向量,将所述二进制词向量转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中;
语义局部敏感散列表示单元,用于从Redis中取出与所述海量网页的词条对应的二进制词向量,将所述二进制词向量取值为0的分量转换为-1,组成100维的1和-1向量,将各所述海量网页内容下所有词条的100维1和-1向量按照对应分量求和,得到结果为各个对应分量的100维代数和向量,将所述代数和向量的非负分量转换为1,负分量转换为0,得到100维01向量,得到网页的基于语义局部敏感散列表示,以每10位为一段,将所述海量网页的基于语义局部敏感散列表示划分为10段,每次从所述10段中取出8段,按顺序拼接成一个80位二进制字符串,余下的2段按顺序拼接成20位二进制字符串,得到45对分别为80位和20位的组合二进制字符串,将每对所述组合二进制字符串以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key,将每对所述组合二进制字符串对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器中;
比较单元,用于将待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较,若所述待比较网页的45对80位二进制字符串在Redis中均不存在,则所述待比较网页是不重复的网页,将所述第二转换结果存入所述Redis中,若所述待比较网页的45对80位二进制字符串在Redis中有至少一对在Redis中存在,则判断45对剩余的20位二进制字符串是否有至少一对存在于所述布隆过滤器中,若是,则所述待比较网页是重复网页,直接去除所述待比较网页,若否,则所述待比较网页不是重复网页,将所述第二转换结果存入所述Redis中。
本申请第三方面提供了一种网页去重设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的网页去重方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中提供了一种网页去重方法,包括:对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据;对网页文本数据进行词向量训练,得到语料库中所有词条对应的实数值词向量;对实数值词向量进行二进制转换,得到二进制词向量,存入预置数据存储结构中;基于二进制词向量,对网页文本数据进行基于语义局部敏感散列表示转换,将得到的第一转换结果存入预置数据存储结构中;将对待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与第一转换结果进行比较,若比较结果为重复,则去掉待比较网页,若比较结果为不重复,则将第二转换结果存入预置数据存储结构中。
本申请提供的网页去重方法,对海量网页进行二进制词向量的提取,利用二进制词向量对网页进行基于语义局部敏感散列表示,通过基于语义局部敏感散列表示进行网页内容比较,从而判断待比较网页是否为与预置数据存储结构中的网页内容重复的网页,充分利用了语义的相似性,降低了hash变换引入的随机噪声的影响,从而提高了重复网页的判别准确性,解决了现有的基于hash计算的网页去重方法准确率不高的技术问题。
附图说明
图1为本申请实施例中提供的一种网页去重方法的一个流程示意图;
图2为本申请实施例中提供的网页去重方法的系统框架图;
图3为本申请实施例中提供的一种网页去重方法的另一个流程示意图;
图4为本申请实施例中提供的语义局部敏感散列表示的分段存储示意图;
图5为本申请实施例中提供的一种网页去重装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供了一种网页去重方法的一个实施例,包括:
步骤101、对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据。
需要说明的是,可以在各个门户网站上采集海量网页,对网页内容进行正文提取和文本预处理,得到网页文本数据,文本预处理主要包括中文分词、文本过滤和清楚噪音文本的处理。
步骤102、对网页文本数据进行词向量训练,得到语料库中所有词条对应的实数值词向量。
需要说明的是,得到网页文本数据之后,需要对网页文本数据训练word2vec模型,得到语料库中所有词条的词向量,word2vec模型可以选为skip-gram模型,维度为100维。训练后得到的词向量表达为(0.3245,0.2094,-0.1743,…,-0.0809)形式的100维实数值向量。
步骤103、对实数值词向量进行二进制转换,得到二进制词向量,存入预置数据存储结构中。
需要说明的是,对步骤102中得到的实数值词向量进行二进制转换得到二进制词向量,然后将二进制词向量存入预置数据存储结构中。
步骤104、基于二进制词向量,对网页文本数据进行基于语义局部敏感散列表示转换,将得到的第一转换结果存入预置数据存储结构中。
需要说明的是,如图2所示,以步骤103得到的词条及其对应的二进制词向量,对步骤101中的海量网页进行基于语义局部敏感散列表示转换,将转换结果存储到预置数据存储结构中,以便于后续进行网页比较时提取出数据进行比较。
步骤105、将待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与第一转换结果进行比较,若比较结果为重复,则去掉待比较网页,若比较结果为不重复,则将第二转换结果存入预置数据存储结构中。
需要说明的是,对于待比较网页,在进行步骤1的正文提取和文本预处理之后,将网页文本数据转换为对应的语义局部敏感散列表示,得到第二转换结果,将第二转换结果与第一转换结果进行比较,即在预置数据存储结构中对第一转换结果进行检索,得到检索结果,若检索结果为网页重复,则去掉该网页,若检索结果为网页不重复,在把该网页的第二转换结果存入预置数据存储结构中。
本申请实施例中提供的网页去重方法,对海量网页进行二进制词向量的提取,利用二进制词向量对网页进行基于语义局部敏感散列表示,通过基于语义局部敏感散列表示进行网页内容比较,从而判断待比较网页是否为与预置数据存储结构中的网页内容重复的网页,充分利用了语义的相似性,降低了hash变换引入的随机噪声的影响,从而提高了重复网页的判别准确性,解决了现有的基于hash计算的网页去重方法准确率不高的技术问题。
为了便于理解,请参阅图3,本申请提供了一种网页去重方法的另一实施例,包括:
步骤201、对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据。
需要说明的是,本申请实施例中的步骤201与上一实施例中的步骤101一致,在此不再进行赘述。
步骤202、基于skip-gram模型对网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量。
步骤203、对100维实数值词向量的每个分量的非负值转换为1,负值转换为0,组成100位的二进制词向量。
步骤204、将二进制词向量转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中。
需要说明的是,对100维实数值向量的每个分量的非负值转换为1,负值转换为0,组成一个100位的二进制字符串,即二进制词向量,二进制词向量形如11001…1011这样的100位二进制字符串。将100为二进制字符串转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中。存储的格式形如{“中国”:“cb152a25dd106a894ec856304”}。
步骤205、从Redis中取出与海量网页的词条对应的二进制词向量,将二进制词向量取值为0的分量转换为-1,组成100维的1和-1向量。
步骤206、将各海量网页内容下所有词条的100维1和-1向量按照对应分量求和,得到结果为各个对应分量的100维代数和向量。
步骤207、将代数和向量的非负分量转换为1,负分量转换为0,得到100维01向量,得到海量网页的基于语义局部敏感散列表示。
需要说明的是,对每个网页正文文本,经过步骤201处理后,是一系列已分词的词条序列,对分词序列的每一个词条,取出对应词条在Redis中已存储的二进制词向量,并将二进制词向量取值为0的分量转换为-1,组成100维的1、-1向量。对于每个网页,将网页下所有词条的100维1、-1向量按照对应分量求和,得到结果为各个对应分量的代数和的100维向量。例如,一个网页有三个词,其对应的三个1、-1向量分别为(1,-1,-1,…,1)、(1,1,-1,…,)、(-1,-1,-1,…,1),则其结果的分量代数和向量为(1,-1,-3,…,-3)。对代数和向量进行转换,将分量非负的转换为1,分量为负的转换为0,得到100维0、1向量,该向量称为其网页的基于语义局部敏感散列表示。因此,对于代数和向量为(1,-1,-3,…,-3)的基于语义局部敏感散列表示为(1,0,0,…,1)。
步骤208、以每10位为一段,将海量网页的基于语义局部敏感散列表示划分为10段。
209、每次从10段中取出8段,按顺序拼接成一个80位二进制字符串,余下的2段按顺序拼接成20位二进制字符串,得到45对分别为80位和20位的组合二进制字符串。
210、将每对组合二进制字符串以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key。
211、将每对组合二进制字符串对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器中。
需要说明的是,考虑到基于语义局部敏感散列表示的特性,一般判别两个网页的重复度,可以以两个网页的语义局部敏感散列表示的海明距离来衡量,本申请实施例中优选海明距离阈值为0,然后基于结果权衡存储的空间耗费和计算时的时间耗费,将100维的语义局部敏感散列表示看做100位的二进制字符串,然后以每10位为一段,划分为10段,如图4所示。每次从10段中取出8段,按顺序拼接成一个80位二进制字符串,剩余的2段按顺序拼接成20位二进制字符串。基于狄利克雷原理,重复判别的要求是海明距离在2以内,那么二进制位的变化最多只能出现在两个段里,因此,剩余的8个段完全是一样的,可以采用精确匹配,另外的两个段可以遍历生成所有可能的变化情况,变体数量为:个。而从10段中取出8段的组合数量为个。因此,可以组成45对分别为80位和20位的二进制字符串,然后每对以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key,对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器。80位二进制字符串需要存储80个字符,而转换为十六进制后,只需存储20个字符,能够节省内存存储空间,且十六进制的每4位二进制字符的组合方便进行划分。若将每个key对应的全部20位二进制字符串全部存储起来,则会浪费内存,将对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器可以节省存储空间。
步骤212、将对待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与第一转换结果进行比较,若待比较网页的45对80位二进制字符串在Redis中均不存在,则待比较网页是不重复的网页,将第二转换结果存入预置数据存储结构中,若待比较网页的45对80位二进制字符串在Redis中有至少一对在Redis中存在,则将45对剩余的20位二进制字符串是否有至少一对存在于布隆过滤器中,若是,则待比较网页是重复网页,直接去除待比较网页,若否,则待比较网页不是重复网页,将第二转换结果存入预置数据存储结构中。
需要说明的是,对于待比较网页的语义局部敏感散列表示的100位二进制字符串,按前述步骤组合成45种80位二进制字符串,然后与Redis中的key进行检索,如果45种组合的key都不存在,则该网页是不重复网页,将该网页的语义局部敏感散列表示转换结果插入到Redis中;如果其中有某些key是存在的,剩余的20位二进制字符串检查是否在那些key对应的布隆过滤器中,如果存在,则该网页是重复网页,如果不存在,则该网页是不重复的网页,对于重复网页可以直接去除,对于不重复的网页,将该网页的语义局部敏感散列表示转换结果插入到Redis中。
本申请实施例考虑到现有的hash计算进行网页去重存在的问题,充分利用词条之间的语义相似性,能够降低hash变换引入的随机噪声的影响,从而提高重复判别的准确性。举例如“男人”和“男性”的意思相近,其中经过hash变换后两个词语的128位hash的差距有67位达到52.34%的差距,而本申请实施例中的基于语义的100位二进制词向量的差距仅20,即20%,显然保留的一定的语义信息,因此,现有方法是重复阈值在3-5之间,而本申请实施例中的方法经过实验验证,其阈值达到2即可,准确率大大提高。
同时,本申请实施例中提供的网页去重方法,采用Redis作为存储结构,Redis是基于内存的高效数据库,同时由于重复判别算法准确率提高,本申请实施例的方法能够有效降低现有方法在计算的时间复杂度和存储的空间复杂度。进一步地,采用Redis存储内存比较昂贵,因此,为节约存储空间,采用了Redis的bitmap实现高效判别的布隆过滤器,在不失高效的同时节省了内存占用的空间。
为了便于理解,请参阅图5,本申请中提供了一种网页去重装置,包括:
预处理单元,用于对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据;
词向量训练单元,用于基于skip-gram模型对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量;
词向量转换单元,用于对所述100维实数值词向量的每个分量的非负值转换为1,负值转换为0,组成100位的二进制词向量,将所述二进制词向量转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中;
语义局部敏感散列表示单元,用于从Redis中取出与所述海量网页的词条对应的二进制词向量,将所述二进制词向量取值为0的分量转换为-1,组成100维的1和-1向量,将各所述海量网页内容下所有词条的100维1和-1向量按照对应分量求和,得到结果为各个对应分量的100维代数和向量,将所述代数和向量的非负分量转换为1,负分量转换为0,得到100维01向量,得到网页的基于语义局部敏感散列表示,以每10位为一段,将所述海量网页的基于语义局部敏感散列表示划分为10段,每次从所述10段中取出8段,按顺序拼接成一个80位二进制字符串,余下的2段按顺序拼接成20位二进制字符串,得到45对分别为80位和20位的组合二进制字符串,将每对所述组合二进制字符串以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key,将每对所述组合二进制字符串对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器中;
比较单元,用于将待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较,若所述待比较网页的45对80位二进制字符串在Redis中均不存在,则所述待比较网页是不重复的网页,将所述第二转换结果存入所述Redis中,若所述待比较网页的45对80位二进制字符串在Redis中有至少一对在Redis中存在,则判断45对剩余的20位二进制字符串是否有至少一对存在于所述布隆过滤器中,若是,则所述待比较网页是重复网页,直接去除所述待比较网页,若否,则所述待比较网页不是重复网页,将所述第二转换结果存入所述Redis中。
进一步地,预置数据存储结构为Redis;
词向量训练单元具体用于:
基于skip-gram模型对网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量。
本申请中提供了一种网页去重设备的实施例,设备包括处理器以及存储器:
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行前述的网页去重方法实施例中的任一种网页去重方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (3)
1.一种网页去重方法,其特征在于,包括:
对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据;
基于skip-gram模型对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量;
对所述100维实数值词向量的每个分量的非负值转换为1,负值转换为0,组成100位的二进制词向量;
将所述二进制词向量转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中;
从Redis中取出与所述海量网页的词条对应的二进制词向量;
将所述二进制词向量取值为0的分量转换为-1,组成100维的1和-1向量;
将各所述海量网页内容下所有词条的100维1和-1向量按照对应分量求和,得到结果为各个对应分量的100维代数和向量;
将所述代数和向量的非负分量转换为1,负分量转换为0,得到100维01向量,得到海量网页的基于语义局部敏感散列表示的第一转换结果;
以每10位为一段,将各所述海量网页的基于语义局部敏感散列表示划分为10段;
每次从所述10段中取出8段,按顺序拼接成一个80位二进制字符串,余下的2段按顺序拼接成20位二进制字符串,得到45对分别为80位和20位的组合二进制字符串;
将每对所述组合二进制字符串以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key;
将每对所述组合二进制字符串对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器中;
将待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较;
若所述待比较网页的45对80位二进制字符串在Redis中均不存在,则所述待比较网页是不重复的网页,将所述第二转换结果存入所述Redis中;
若所述待比较网页的45对80位二进制字符串在Redis中有至少一对在Redis中存在,则判断45对剩余的20位二进制字符串是否有至少一对存在于所述布隆过滤器中,若是,则所述待比较网页是重复网页,直接去除所述待比较网页,若否,则所述待比较网页不是重复网页,将所述第二转换结果存入所述Redis中。
2.一种网页去重装置,其特征在于,包括:
预处理单元,用于对获取到的海量网页的网页内容进行正文提取和文本预处理,得到网页文本数据;
词向量训练单元,用于基于skip-gram模型对所述网页文本数据进行词向量训练,得到语料库中所有词条对应的100维实数值词向量;
词向量转换单元,用于对所述100维实数值词向量的每个分量的非负值转换为1,负值转换为0,组成100位的二进制词向量,将所述二进制词向量转换为十六进制字符串,以词向量的词条作为key,十六进制字符串作为value,存储在Redis中;
语义局部敏感散列表示单元,用于从Redis中取出与所述海量网页的词条对应的二进制词向量,将所述二进制词向量取值为0的分量转换为-1,组成100维的1和-1向量,将各所述海量网页内容下所有词条的100维1和-1向量按照对应分量求和,得到结果为各个对应分量的100维代数和向量,将所述代数和向量的非负分量转换为1,负分量转换为0,得到100维01向量,得到网页的基于语义局部敏感散列表示的第一转换结果,以每10位为一段,将所述海量网页的基于语义局部敏感散列表示划分为10段,每次从所述10段中取出8段,按顺序拼接成一个80位二进制字符串,余下的2段按顺序拼接成20位二进制字符串,得到45对分别为80位和20位的组合二进制字符串,将每对所述组合二进制字符串以80位二进制字符串转换为对应的十六进制字符串,作为Redis的key,将每对所述组合二进制字符串对应的20位二进制字符串的210种变体插入以bitmap实现的布隆过滤器中;
比较单元,用于将待比较网页进行基于语义局部敏感散列表示转换得到的第二转换结果与所述第一转换结果进行比较,若所述待比较网页的45对80位二进制字符串在Redis中均不存在,则所述待比较网页是不重复的网页,将所述第二转换结果存入所述Redis中,若所述待比较网页的45对80位二进制字符串在Redis中有至少一对在Redis中存在,则判断45对剩余的20位二进制字符串是否有至少一对存在于所述布隆过滤器中,若是,则所述待比较网页是重复网页,直接去除所述待比较网页,若否,则所述待比较网页不是重复网页,将所述第二转换结果存入所述Redis中。
3.一种网页去重设备,其特征在于,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1所述的网页去重方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200342.3A CN111428180B (zh) | 2020-03-20 | 2020-03-20 | 一种网页去重方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200342.3A CN111428180B (zh) | 2020-03-20 | 2020-03-20 | 一种网页去重方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428180A CN111428180A (zh) | 2020-07-17 |
CN111428180B true CN111428180B (zh) | 2022-02-08 |
Family
ID=71548323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010200342.3A Active CN111428180B (zh) | 2020-03-20 | 2020-03-20 | 一种网页去重方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428180B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113297219A (zh) * | 2021-05-21 | 2021-08-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种字段存储方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778158A (zh) * | 2015-03-04 | 2015-07-15 | 新浪网技术(中国)有限公司 | 一种文本表示方法及装置 |
CN106844346A (zh) * | 2017-02-09 | 2017-06-13 | 北京红马传媒文化发展有限公司 | 基于深度学习模型Word2Vec的短文本语义相似性判别方法和系统 |
CN110309446A (zh) * | 2019-04-26 | 2019-10-08 | 深圳市赛为智能股份有限公司 | 文本内容快速去重方法、装置、计算机设备及存储介质 |
CN110321466A (zh) * | 2019-06-14 | 2019-10-11 | 广发证券股份有限公司 | 一种基于语义分析的证券资讯查重方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127282B2 (en) * | 2014-04-30 | 2018-11-13 | Hewlett Packard Enterprise Development Lp | Partitionable ternary content addressable memory (TCAM) for use with a bloom filter |
CN110516212B (zh) * | 2019-09-02 | 2022-10-28 | 河南理工大学 | 一种云计算的海量文档相似检测方法 |
-
2020
- 2020-03-20 CN CN202010200342.3A patent/CN111428180B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778158A (zh) * | 2015-03-04 | 2015-07-15 | 新浪网技术(中国)有限公司 | 一种文本表示方法及装置 |
CN106844346A (zh) * | 2017-02-09 | 2017-06-13 | 北京红马传媒文化发展有限公司 | 基于深度学习模型Word2Vec的短文本语义相似性判别方法和系统 |
CN110309446A (zh) * | 2019-04-26 | 2019-10-08 | 深圳市赛为智能股份有限公司 | 文本内容快速去重方法、装置、计算机设备及存储介质 |
CN110321466A (zh) * | 2019-06-14 | 2019-10-11 | 广发证券股份有限公司 | 一种基于语义分析的证券资讯查重方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于数据路由的分布式备份数据去重系统;姚敏等;《计算机工程》;20170215;第43卷(第2期);第85-91页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111428180A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799647B (zh) | 网页去重方法和设备 | |
CN105912514B (zh) | 基于指纹特征的文本复制检测系统及方法 | |
CN112364628B (zh) | 一种新词识别方法、装置、电子设备及存储介质 | |
CN110941959A (zh) | 文本违规检测、文本还原方法、数据处理方法及设备 | |
CN110413998B (zh) | 一种面向电力行业的自适应中文分词方法及其系统、介质 | |
CN112445912A (zh) | 一种故障日志分类方法、系统、设备以及介质 | |
CN111859070A (zh) | 一种海量互联网新闻清洗系统 | |
CN111985212A (zh) | 文本关键字识别方法、装置、计算机设备及可读存储介质 | |
CN110457707B (zh) | 实词关键词的提取方法、装置、电子设备及可读存储介质 | |
CN111428180B (zh) | 一种网页去重方法、装置和设备 | |
CN113282717B (zh) | 文本中实体关系的抽取方法、装置、电子设备及存储介质 | |
CN111339778B (zh) | 文本处理方法、装置、存储介质和处理器 | |
CN112417101B (zh) | 一种关键词提取的方法及相关装置 | |
CN109902162B (zh) | 基于数字指纹的文本相似性的识别方法、存储介质及装置 | |
CN111859901B (zh) | 一种英文重复文本检测方法、系统、终端及存储介质 | |
CN115860004A (zh) | 文本语义相似度匹配方法、装置、设备及存储介质 | |
CN110737748B (zh) | 一种文本去重方法及系统 | |
CN111552864B (zh) | 一种资讯去重的方法、系统、存储介质及电子设备 | |
CN113486662A (zh) | 文本处理方法、系统及介质 | |
CN112257408A (zh) | 一种文本对比的方法及相关装置 | |
CN105335351B (zh) | 一种基于专利搜索日志用户行为的同义词自动挖掘方法 | |
CN113641800B (zh) | 一种文本查重方法、装置、设备及可读存储介质 | |
CN112163421B (zh) | 一种基于N-Gram的关键词提取方法 | |
CN112988921A (zh) | 地图信息变化的识别方法和装置 | |
CN108897793A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201125 Address after: Room 011, first floor, no.2429, Xingang East Road, Haizhu District, Guangzhou City, Guangdong Province (office only) Applicant after: CHUANGYOU digital technology (Guangdong) Co., Ltd Address before: Room 205, 2f office, No.156, nanshanzui Road, Hengqin, Zhuhai City, Guangdong Province Applicant before: MINISO (HENGQIN) ENTERPRISE MANAGEMENT Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |