公开/公告号CN112765940A
专利类型发明专利
公开/公告日2021-05-07
原文格式PDF
申请/专利权人 南京万得资讯科技有限公司;
申请/专利号CN202110073759.2
申请日2021-01-20
分类号G06F40/14(20200101);G06F16/35(20190101);G06F40/30(20200101);G06K9/62(20060101);
代理机构31001 上海申汇专利代理有限公司;
代理人徐俊
地址 210019 江苏省南京市建邺区泰山路199号万得大厦
入库时间 2023-06-19 10:54:12
技术领域
本发明涉及一种基于主题特征和内容语义的新型网页去重方法,适用于计算机软件及信息技术服务行业,属于网页去重技术领域。
背景技术
近年来,互联网的网页总数已远超过千亿的量级,并且以每年的数十亿的数量高速增长。在海量网页的基础上,搜索引擎、新闻聚合、舆情检测、大数据分析等行业蓬勃发展。
与此同时,互联网中存在的大量重复网页、相似网页,使得网页的收集、存储、和分析处理等各环节应用产生了很大困难,例如重复网页的下载和存储导致资源浪费、重复网页的分析和处理导致错误的数据和错误分析结果。目前,工业和学术界都迫切地需要一种精确的、高效的网页去重方法来解决此问题。
当前,网页的去重方法有基于网页URL(统一资源定位符)和网页正文的两种去重方法,这两种方法各自特点如下:
1)基于网页URL(统一资源定位符)校验的去重方法。将待计算的目标网页的URL,与已下载、记录过的URL做直接比对,或通过URL的转换码做比对,URL相同或URL转换码相同的即为重复网页。基于网页URL(统一资源定位符)校验的去重方法只关注网页的URL信息,当出现两个网页URL完全不同,但网页内容是重复或近似的情况时,该方法不能对此做出区分。
2)基于网页正文的去重方法。一般是提取网页全文中的部分关键词或部分句子,然后将其转换为特征码或特征向量进行比对处理,转换的方法一般为各种的散列方法(例如Hash哈希码、MD5消息摘要算法、Bitmap位图等)。最后将待计算的目标网页的特征码与已知的网页集中的网页一一对比,特征码或特征向量重复的、或相似度在一定阈值内的即认定为相同网页。
从以上方案可以看出,目前的方法仅关注正文的局部特征,而没有关注的正文整体的特征。此外,从正文到特征码、哈希码的转换过程中,目前的方法对语义的理解效果不佳,例如:同一个词在不同的语境意思可能不一样,但是却会被表示成同样的编码等。
包括上文所述的两种去重方法在内的当前网页去重方法一般包括:URL校验、网页正文内容提取、网页正文特征提取、网页比对计算等步骤,具体而言:
URL校验。记录已下载、已处理过的URL或URL的转换码,目的是遇到重复URL直接跳过;
网页正文内容提取。对于下载得到的网页源码,采用人工编写的预处理规则提取网页的标题、正文等内容,并去除导航栏、页脚、侧边栏等位置的内容;
网页正文特征提取和比对。一般是提取网页全文中的部分(或全部)词或句子,然后采用不同的散列方法进行计算(例如Hash哈希、MD5消息摘要算法、Bitmap位图等),将全文表示为散列码。最后结合散列码特征、正文字数等特征,将当前网页与预设的网页集中的网页一一对比,将散列码重复或相似度在一定阈值内的两个网页认定为相同网页。
以上描述的方法虽然实现简单,但是存在以下缺陷:
1)在URL校验环节,由于校验的是URL而不是正文,因此无法区分URL不同、同时网页正文内容相同或相近这一情形的问题;
2)在网页正文提取环节,由于全网的网页格式不统一,传统的基于人工编写提取规则方法的效率低下,人工参与过程中易发生人为错误,准确率没有保证。
3)在网页特征提取环节,由于采用了基于散列码的方法,可能导致哈希冲突的问题,即将完全不同的两组文本(或词),对应成相同的散列码;此外,由于仅提取网页正文中的一部分特征进行计算,导致该方法存在对部分重复、部分相似的网页的检测准确率低、效果差的问题,即对复杂含噪声的网页场景检测效果不佳。另外,该方法也无法解决以“同词但不同义”为代表的语义的问题。
4)在网页比对环节,由于每个待计算的目标网页,要跟已采集、已处理过的所有网页一一比较,复杂度为O(n
发明内容
本发明的目的是提供一种适用于全网海量网页的去重方法。
为了达到上述目的,本发明的技术方案是提供了一种基于主题特征和内容语义的新型网页去重方法,其特征在于,包括以下步骤:
步骤1:利用HTML网页标签分类模型自动抽取目标网页的网页正文,具体包括以下步骤:
步骤101:构建HTML网页标签分类模型,并对HTML网页标签分类模型进行训练,具体包括以下步骤:
步骤1011:下载各个来源的网页,收集这些网页的HTML标签源码并做预处理,仅保留包含正文内容的HTML标签;
步骤1012:根据经过预处理的HTML标签源码中的标签层级关系,自上而下地构建HTML标签树,HTML标签树中的每个节点是HTML标签源码中的一个HTML标签;依据HTML标签源码中的标签层级关系,除根节点外HTML标签树中的每个节点都有1个父节点,除叶子节点外HTML标签树中的每个节点都有至少一个子节点;
步骤1013:提取HTML标签树中每一条从根节点到叶子节点的完整路径,作为一条训练样本,利用收集好的训练样本进行标签向量模型训练,从而为每一个HTML标签生成一个HTML标签向量;
步骤1014:采用人工标注的方式对部分网页中的HTML标签进行逐个标注,每个HTML标签标注:“可用”、“不可用”两种结果,将标注过的HTML标签作为HTML网页标签分类模型的样本;
步骤1015:构建基于神经网络的HTML网页标签分类模型;
步骤1016:将HTML标签树中与步骤1014得到的样本所对应的各节点作为当前节点,将当前节点对应的HTML标签向量、父节点对应的HTML标签向量及一个或多个子节点对应的HTML标签向量进行拼接,并加入当前节点所对应HTML标签包含的文本长度特征,组成最终的输入数据对HTML网页标签分类模型进行训练;
步骤102:获得目标网页后,利用步骤1011至步骤1013以及步骤1016相同的方法获得目标网页各HTML标签所对应的输入数据,将输入数据输入训练后的HTML网页标签分类模型后得到各HTML标签的“可用”或“不可用”分类结论;
步骤103:提取目标网页中分类结果为“可用”的所有HTML标签,按照HTML标签树的顺序,依次将所有HTML标签中的正文作为目标网页的网页正文;
步骤2:基于步骤1获得的网页正文进行主题计算和限定,具体包括以下步骤:
步骤201:对网页正文进行预处理;
步骤202:根据LDA主题模型对目标网页的网页正文进行主题推断计算,将与目标网页关联度最高的若干个主题作为主题推断结果;
步骤203:采用与步骤201及步骤202相同的方法获得所有已知网页的主题推断结果,从所有已知网页中筛选出主题推断结果与目标网页的主题推断结果相匹配的已知网页;
步骤3:网页特征指纹提取计算:
通过对网页正文的语义特征、结构特征的抽取计算,形成能够准确体现网页特征的特征向量,具体包括以下步骤:
步骤301:提取网页正文的句子特征向量;
步骤302:将网页正文的所有句子的句子特征向量进行平均池化得到一个全局平均向量,该全局平均向量表征了网页正文的全部语义信息,定义为语义特征向量;
步骤303:提取目标网页的结构特征;
步骤304:拼接步骤302得到的语义特征向量和步骤303得到的结构特征,得到目标网页的网页特征向量;
步骤4:网页相似度计算,具体包括以下步骤:
步骤401:建立并训练分类网络模型,具体包括以下步骤:
步骤4011:通过人工标注若干对已知的两两重复以及若干对已知的两两无关网页作为二分类的样本,并根据是否重复将样本人工标注为“重复”或“不重复”;
步骤4012:按照步骤1、步骤2及步骤3的方法对步骤4011获得的样本进行特征提取,得到样本的网页特征向量;
步骤4013:构造分类网络模型,利用步骤4012得到的网页特征向量作为输入对分类网络模型进行训练;
标注402:将目标网页的网页特征向量和通过步骤203筛选得到的已知网页的网页特征向量输入训练后的分类网络模型,得到最终的分类结果:“重复”或“不重复”。
优选地,步骤1中,所述HTML网页标签分类模型为一个多层的全连接网络,所述HTML网页标签分类模型先利用全连接网络对输入进行特征提取,随后经过三个全连接层计算,最后通过Sigmod二分类函数输出“可用”、“不可用”两种标签。
优选地,步骤1016中,通过训练,获得所述HTML网页标签分类模型中所述三个全连接层的参数,并且测试所述HTML网页标签分类模型的预测准确率。
优选地,步骤1013中,标签向量模型训练与文本词向量的训练方法一致。
优选地,步骤301中,采用基于注意力机制的神经网络先将网页正文按字进行分割,然后逐句输入神经网络中,通过12层首位相连的编码网络对句子进行编码计算,经过编码网络计算后,每个句子可以得到的一个句子特征向量。
优选地,步骤303中,目标网页的结构特征包括网页正文的标题长度、全文长度、段落数量、段落字数、图片数量。
优选地,步骤4中,所述分类网络模型的网络结构与所述HTML网页标签分类模型的网络结构相同。
本发明提供的方法能够一定程度地解决相关技术中存在的问题,应用于互联网中不同来源、不同风格、不同内容的全网网页,并在执行效率、计算准确性等方面显著地优于现有的技术方法。
与现有技术相比,本发明提供的方法具体具有如下优点:
(1)通用性。本发明提出的网页去重方法无需限定网页的类型,可应用在多种来源不同、风格不同、内容不同的网页上。由于采取了基于神经网络的网页正文抽取方法,而非传统基于人工规则的方法,避免了人工枚举的瓶颈,扩展了本方法的适用场景。
(2)高效性。本发明提出了一种基于网页正文主题和类别的限定方法,将目标网页计算比对的对象限定在若干个特定的主题范围内,相比现有的计算全量网页,复杂度为O(n
(3)准确性:传统的部分正文特征提取方法将网页的正文关键词、关键句,转换为哈希值,或直接转换成特征向量,仅仅关注的正文的部分特征,且特征转换的过程中存在信息损失。而本方法采用了基于注意力机制的深度特征提取方法,能够提取全文的每句话的完整句义,以及句子上下文的语义特征。同时,本方法又结合了正文的结构特征,因此进一步保证了特征提取的完整性,从而为分类模型的准确性提供了保证。此外,现有的特征向量相似度计算方法一般为计算两个向量的余弦相似度,该方法仅能计算出两个向量在数值上的差异。而本方法采用了深度神经网络判别方法,能够在高维向量空间里准确地衡量特征向量的各个维度真实差距,并将其映射成一个二分类指标,因此具有更高的准确性。
附图说明
图1为网页的HTML源码标签示意图;
图2为网页HTML标签树示意图;
图3为网页特征指纹计算方法示意图;
图4为主题限定方法示意图;
图5为网页相似度计算网络模型示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明提供的一种基于主题特征和内容语义的新型网页去重方法,包括以下步骤:
步骤1:自动化抽取全网网页正文内容。本发明通过模型对网页进行信息抽取,而不是通过人工规则进行抽取,具体包括以下内容:
步骤101:下载各个来源的网页,收集这些网页的HTML标签源码并做预处理,例如剔除HTML标签源码中无关的HTML标签,如:、 等。 步骤102:根据经过预处理的HTML标签源码,从根节点标签开始,根据HTML标签源码中的标签层级关系,自上而下地构建HTML标签树(又称为DOM树)。HTML标签树中的每个节点就是HTML标签源码中的一个HTML标签。除了根节点0外,HTML标签树中的任意一个HTML标签都有1个父标签,例如:图2中,节点4的父标签为节点2。同时,HTML标签树中的任意一个节点都有一个或多个子标签,除了图2所示的叶子节点10,例如,图2中,节点2的子标签为节点3、4、5。 以图1所示的部分HTML源码标签为例,从根节点开始,到其中一个包含正文的叶子节点为止(边框标注的路径),其标结构如图2所示。 步骤103:提取HTML标签树中每一条从根节点到叶子节点的完整路径,作为一条标签向量模型的训练样本,利用收集好的训练样本进行标签向量模型训练。 标签向量模型训练使用方法与常见的文本词向量(例如Google提出的word2vec词向量)的训练方法一致。但与文本词向量训练流程不同的是,词向量训练的过程中输入的是连续的、具有上下文关系的词,而本发明提供的方法则采用连续的HTML标签进行输入。词向量训练完成后,每个词都可以得到一个指定维度的实数构成的向量,而本方法中则为每个HTML标签计算得到一个HTML标签向量,例如:div(1.0,3.0,…,2.0)。 由于该向量训练方法不需要人工参与,因此可以使用大量原始网页进行训练。与词向量类似,每个HTML标签向量值表征了HTML标签在向量空间中的位置,因此可以根据HTML标签向量值计算任意两个HTML标签质检的关联度。另外,HTML标签向量值还表征了其前后HTML标签的语义信息(类似于词的上下文信息)。因此,采用HTML标签向量进行分类计算可以增强后续分类模型的泛化能力、减少人工标注的样本的需求量。 步骤104:采用人工标注的方式对部分网页中的HTML标签进行逐个标注,每个标签标注:“可用”、“不可用”两种结果。将标注过的HTML标签作为后续HTML网页标签分类模型的样本。 步骤105:构建如图3所示的基于神经网络的HTML网页标签分类模型。该HTML网页标签分类模型为一个多层的全连接网络,每次输入HTML标签树中一个节点的信息,包括:节点对应的HTML标签向量值、父节点对应的HTML标签向量值值、一个或多个子节点对应的HTML标签向量的均值。 将当前节点对应的HTML标签向量、父节点对应的HTML标签向量及一个或多个子节点对应的HTML标签向量进行拼接,并加入当前节点所对应标签所包含的文本长度特征,组成最终的输入。然后进入全连接网络进行特征提取,经过三层网络(即三个全连接层)计算之后,最后通过Sigmod二分类函数输出:可用、不可用两种标签。 步骤104所述的人工标注样本,可以用于训练HTML网页标签分类模型中三个全连接层的参数,以及测试HTML网页标签分类模型的预测准确率。训练完毕的HTML网页标签分类模型可以直接用于对任意网页的HTML标签进行分类。 HTML网页标签分类模型训练完成后,对于新收集到的目标网页,通过先构建HTML标签树,再采用HTML网页标签分类模型进行计算。最终提取目标网页中分类结果为“可用”的HTML标签,按照HTML标签树的顺序,依次将这些节点中的正文作为该网页的最终正文结果(以下简称为“网页正文”)。 步骤2:基于步骤1获得网页正文的主题计算和限定,即通过计算目标网页的网页正文的正文主题,限定目标网页在去重计算环节需要比对的网页范围,减少比对计算环节的计算量,如图3所示,具体包括以下步骤: 步骤201:对已收集的网页正文进行预处理,包括正文分词、去除停用词、去除低频词等步骤。 步骤202:根据公开的LDA主题模型(例如百度公开的主题模型Familia)或根据自行利用大量网页正文内容训练得到的LDA主题模型,对目标网页的网页正文进行主题推断计算,推断的主题类别数量在训练主题模型前指定,例如:指定2000个主题类别,输入为网页正文,输出为这2000个主题上每个主题与正文的关联度(概率)。例如某网页正文的推断结果为:(主题0,概率0.2356),(主题1,概率0.1567),……,(主题1999,概率0.0274),这2000个主题类别概率之和为1.0。最后将上述网页正文的主题推断结果记录到存储装置中,即可反复查询。 步骤203:对于任意一个待计算的目标网页,采用与步骤201及步骤202所述的相同方法进行正文预处理和主题推断。接着对主题推断结果,按照主题与网页正文的相关度(概率)从大到小进行排序,选取出关联度最高(概率最大)的若干个主题。根据统计规律,一般正文的前3-5个概率最高的主题最具有代表性。因此,选取待计算网页的前5个主题(例如编号11、12、13、14、15的主题)。在待计算网页与所有已知的网页做比对计算之前做如下限定:每个已知网页的其前5个主题中,必须包含编号11-15的主题,否则该已知网页属于主题不相关网页,不需要参与计算。这样做的理由是:从语义上来说,正文主题是内容的提炼和概括,只有内容完全不同时,主题才会完全不相关。而由于主题无关的网页不参与计算,因此能够达到减少计算量的效果。 上述流程可以用图4概括。与传统的网页正文比对流程不同,传统方法中任意一个网页需要跟已收集所有网页逐一计算相似度,然后才能确定相似网页。而本发明提供的方法通过主题限定后,目标网页仅仅需要与主题一致的已知网页进行相似度比对计算。例如:假设共2000个主题,主题数量设置为5个。通过主题限定后,理想情况下,目标网页需要做比对计算的网页数量将限定为全量已知网页的5/2000,计算量也仅为原先的5/2000,考虑到已知网页巨大的量级,因此对计算速度的提升有明显效果。 步骤3:网页特征指纹提取计算,即通过对网页正文的语义特征、结构特征的抽取计算,形成能够准确体现网页特征的特征向量(也叫特征指纹)。而不是仅仅依据几个正文关键词、正文长句所构造的浅层特征,更不是找几个文章中的关键词和句子做哈希映射,如图4所示,具体包括以下步骤: 步骤301:提取网页正文的句子特征向量。采用基于注意力(Attention)机制的神经网络(例如BERT预训练模型或自行根据正文语料训练得到的特征编码模型),先将网页正文按字进行分割,然后逐句输入神经网络中,通过12层首位相连的编码网络(BERT中为transformer网络)对句子进行编码计算。经过编码网络计算后,每个句子可以得到的一个句子特征向量。输出向量的形式由预训练模型指定,例如:当指定输出向量的维度为768维时,网页正文所有的10个句子的输出向量大小为10*768。 步骤302:将网页正文的所有句子的句子特征向量进行平均池化(Global AveragePooling)得到一个全局平均向量。本实施例中,对10个768维的向量,每一个维度都取平均,最终可以得到一个768维的全局平均向量。该全局平均向量表征了网页正文的全部语义信息,定义为语义特征向量。 步骤303:提取网页的结构特征,包括网页正文的标题长度、全文长度、段落数量、段落字数、图片数量等。 步骤304:拼接步骤302得到的语义特征向量和步骤305得到的结构特征,得到整体的网页特征向量,也即网页特征指纹。 步骤4:网页相似度计算,即通过一个分类模型(网络),对待检测的目标网页和已知网页进行二分类计算,得到最终的分类结果:“重复”或“不重复”,如图5所示,具体包括以下步骤: 步骤401:通过人工标注若干对两两重复、以及若干对两两无关网页作为二分类的样本。将这些两两一组网页的网页正文分别按照步骤1、步骤2及步骤3的方法进行特征提取,得到两组网页特征向量。 步骤402:接着构造分类网络模型,该分类网络模型为三层的全连接的二分类网络,形式与步骤1中的HTML网页标签分类模型一致。将成对的网页特征向量输入分类网络模型,接着通过人工标注的样本对分类网络模型中每一层的参数进行训练,直到分类网络模型的准确率达到要求为止。 分类网络模型训练结束后,对于待计算的目标网页,以及与目标网页同主题的通过步骤203筛选得到的已知网页,采用已完成训练的分类网络模型进行分类计算,输出结果为:“重复”或“不重复”。、
机译: (54)标题:一种扩展商务智能系统的形式和功能的基于内容的方法(57)摘要:商务智能(BI)系统具有通过以下方式将其功能扩展到项目生命周期之外的能力:具体内容。复杂的多维查询被解释为原子子表达式的树,这些原子子表达式组合成类似解析树的结构以形成整体查询。每个子树在提供适当的上下文时都是有效的。任何子树都可以是作为应用程序内容存储的表达模板,该表达模板在生成时使用带有实例特定参数的简单文本替换来生成多维表达语法。该系统包括一个复杂的类型系统和语义层,使用户摆脱了使用OLAP数据库所固有的复杂性。商业智能专家可以为每个作为内容的表达模板提供类型和语义提示。
机译: /一种基于发布/订阅的内容交付平台系统,该系统通过主题虚拟化利用mashup,mashup服务器和基于发布/订阅的内容交付方法
机译: 一种基于归一化模板匹配的控制网页中检测目标网页新内容的方法