一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于语义的网页信息抽取方法及系统

2022-05-27 01:59:23 来源:中国专利 TAG:


1.本发明属于网络信息技术领域,具体涉及一种网页信息抽取方法及系统。


背景技术:

2.当前,我们全面进入了互联网时代,每天都可以看到数以万计各种类型的信息分布在不同的网页中。对于网页中不同类型的信息,存在许多无效冗余信息,这些信息对于读者来说是毫无用处的。对于一个原始的网页,通常要对其内容进行信息的二次加工,才能获取到有用的结构化信息,这些有效的结构化数据有着极大的应用价值,这整个流程也被称作为网页的信息抽取。
3.网页中哪些信息是关键信息,由具体的任务决定,以新闻网页为例,通常来说,读者对新闻内容、发布时间、作者、评论、图片等特定信息较为关注,而网页中的其他干扰信息,如广告、版权声明、其他页面的入口链接、视觉效果等,往往不是关注的重点。针对网页中的文本信息,尤其是正文信息,诸如:新闻正文、博文正文等文本信息,对于许多现实的应用场景来说,意义重大,基于这些数据可以做更深入的挖掘分析,比如说可以作为舆情分析、关联推荐等下游任务的输入来源。而下游任务的输入数据是结构化且较为规范的数据格式,因而如何从网页这种半结构化的数据高效的提取出有价值的结构化信息,有着极其重要的研究意义与价值。
4.现有的网页信息抽取方法可以分为:基于规则的方法和基于机器学习的方法。其中基于规则的方法种类繁多,可以分为基于静态模板、包装器归纳、自动生成模板和启发式方法。
5.基于规则的启发式方法,大多数通过手动设计或基于同类网页自动计算规则模板的方式生成网页的模板或抽取规则,并利用该模板或规则进行抽取。其中,基于静态模板的方法需要手动编写模板,对不同的网页需要编写不同的模板,网页更新后模板失效,维护成本高,要求用户具有一定的编程能力。包装器归纳方法主要是对用户标注的网页集进行归纳生成对应网站的抽取模板,需要基于人工标注网页。自动生成模板的方法假设待抽取的网页集合由一个模板生成,对相似结构的网页进行分析并自动生成模板,不要求使用网页的先验知识,但对于复杂网页生成模板效率不高、准确率低。启发式方法大多在dom树中寻找相似的重复串来定位数据区域,自动分析结构特征,根据启发式信息进行抽取。基于机器学习的方法,往往将网页html源码作为序列,通过手动筛选特征,采用机器学习模型对序列进行标注以实现抽取。基于规则的方法需要根据不同的网页设计不同的规则或抽取模板,网页的更新将导致规则失效。
6.基于机器学习的方法通过手动选择特征进行建模,这些特征无法准确表达一个网页的基本内容和主题,这种方法也无法实现对任意网页的抽取。
7.无论是基于规则的方法,还是机器学习方法,均面临着以下两方面的挑战,一方面不同网页排版类型多样,图片与文字的组合类型也有非常大的差异,很难找到适用于所有网页的抽取规则或模型;另一方面,网页的架构会随着网站的更新不断地发生改变,随之改
变的还有网页的统计学特征,因此之前表现良好的抽取规则或模型往往在网页架构更新后失效。
8.基于上述两方面的挑战,势必要找到网页不随排版、架构等变化而改变的特性,针对网页本质进行建模,而这个本质即为网页的语义。无论是基于规则和启发式的方法还是机器学习方法,其本质均为通过手动选择网页的特征进行计算,这些特征仅考虑了文本或标签的统计学意义,无法根据上下文学习单词的语义,从而无法表达句子的语义,使得这些方法无法适应网页结构变化,造成抽取失败。


技术实现要素:

9.针对上述问题,本发明提出一种基于语义的网页信息抽取方法,包括:获取目标网页的目标dom树,对该目标dom树的目标骨架节点按句进行分裂,得到该目标dom树的目标骨架子节点;以分类模型按目标任务语义对所有该目标骨架子节点进行分类,获得该目标dom树的目标信息子节点;对所有该目标信息子节点形成的节点路径进行聚类,获得该目标网页的目标信息树,对该目标信息树中包含的网页信息进行抽取。
10.本发明所述的网页信息抽取方法,采用bert预训练语言模型作为该分类模型。
11.本发明所述的网页信息抽取方法,还包括对bert预训练语言模型进行离线学习的步骤:将已知网页解析为已知dom树,获得该已知dom树的已知骨架节点,对所有该已知骨架节点的信息进行标注,将与下游任务相关的已知骨架节点标记为已知核心信息节点,将与下游任务无关的已知骨架节点标记为非核心信息节点;对每个该已知骨架节点按句进行分裂,得到已知骨架子节点,其中该已知骨架子节点的标记与其对应的已知骨架节的标记相同;将所有该已知骨架子节点随机划分为训练集和验证集,设置多组初始参数,以该训练集分别对各组初始参数进行调整,并以该测试集分别验证完成参数调整的各bert预训练语言模型的分类精度;选取具有最高分类精度的bert预训练语言模型为该分类模型。
12.本发明所述的网页信息抽取方法,其中,该bert预训练语言模型为:
[0013][0014]
采用交叉熵损失函数:
[0015][0016]
以进行参数学习;为已知骨架子节点,t为目标任务语义,为中的文本序列,cls为该bert预训练语言模型的输出层中的一个单元,γ为该bert预训练语言模型的权重,ni为已知网页wi的已知dom树中的已知骨架节点数量,m
ij
为分裂后的子节点数量,为骨架子节点的真实标签。
[0017]
本发明还提出一种基于语义的网页信息抽取系统,包括:节点分裂模块,用于获取目标骨架子节点;其中,获取目标网页的目标dom树,对该目标dom树的目标骨架节点按句进行分裂,得到该目标dom树的目标骨架子节点;节点分类模块,用于以分类模型按目标任务
语义对所有该目标骨架子节点进行分类,获得该目标dom树的目标信息子节点;信息抽取模块,用于对所有该目标信息子节点形成的节点路径进行聚类,获得该目标网页的目标信息树,对该目标信息树中包含的网页信息进行抽取。
[0018]
本发明所述的网页信息抽取系统,采用bert预训练语言模型作为该分类模型。
[0019]
本发明所述的网页信息抽取系统,还包括:离线学习模块,用于对bert预训练语言模型进行离线学习;具体包括节点标记模块,用于将已知网页解析为已知dom树,获得该已知dom树的已知骨架节点,对所有该已知骨架节点的信息进行标注,将与下游任务相关的已知骨架节点标记为已知核心信息节点,将与下游任务无关的已知骨架节点标记为非核心信息节点;对每个该已知骨架节点按句进行分裂,得到已知骨架子节点,其中该已知骨架子节点的标记与其对应的已知骨架节的标记相同;模型调整模块,用于将所有该已知骨架子节点随机划分为训练集和验证集,设置多组初始参数,以该训练集分别对各组初始参数进行调整,并以该测试集分别验证完成参数调整的各bert预训练语言模型的分类精度;选取具有最高分类精度的bert预训练语言模型为该分类模型。
[0020]
本发明所述的网页信息抽取系统,其中,该bert预训练语言模型为:
[0021][0022]
采用交叉熵损失函数:
[0023][0024]
以进行参数学习;其中,为已知骨架子节点,t为目标任务语义,为中的文本序列,cls为该bert预训练语言模型的输出层中的一个单元,γ为该bert预训练语言模型的权重,ni为已知网页wi的已知dom树中的已知骨架节点数量,m
ij
为分裂后的子节点数量,为骨架子节点的真实标签。
[0025]
本发明还提出一种计算机可读存储介质,存储有计算机可执行指令,当该计算机可执行指令被执行时,实现如前所述的基于语义的网页信息抽取方法。
[0026]
本发明还提出一种数据处理装置,包括如前所述的计算机可读存储介质,当该数据处理装置的处理器调取并执行该计算机可读存储介质中的计算机可执行指令时,实现基于语义的网页信息抽取。
附图说明
[0027]
图1是本发明的基于语义的网页信息抽取方法流程图。
[0028]
图2是本发明的bert模型离线学习示意图。
[0029]
图3是本发明的数据处理装置结构示意图。
具体实施方式
[0030]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进
一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。
[0031]
发明人在进行网页信息抽取研究时,发现下游任务要抽取的文本和噪声信息有着语义上的本质区别,而现有网页信息抽取技术则没有对文本语义进行建模。现有的网页信息抽取方法需要人工提取每个子节点的特征作为模型的输入,且仅考虑了文本的统计学特征,无法根据上下文学习单词的语义,从而无法表达句子的语义,使得分类器对同义不同结构的句子的分类结果不稳定。为了降低模型分类的误差,需要分类器能够对文本的语义进行建模。因此发明人进行了调研,发现预训练语言模型bert(bidirectional encoder representation from transformers)能够很好地学习文本语义。bert是一种基于注意力的双向语言建模方法。bert直接引用了transformer架构中的encoder模块,拥有双向编码能力和强大的特征提取能力。bert框架中有两个步骤:预训练和微调。在预训练期间,bert通过掩码语言建模(mlm)和下一句预测(nsp)进行自监督学习,获取每个单词的语义表示;在微调期间,只需要输入少量特定任务的数据就可以根据具体的下游任务对语义进行调整,学到下游任务的领域知识。bert采用自注意力机制,将单词用其所在句子上下文的单词进行加权表示,接着采用全连接层对当前单词序列与节点类别进行关联性学习,从而得到节点类别与句子上下文之间的关联。在本发明中,直接使用预训练好的bert,并在此基础上进行微调和预测。此外,为了将模型应用在针对任何文本数据挖掘下游任务的抽取中,发明人还提出了离线学习和在线抽取两个阶段,离线学习阶段通过对预训练语言模型bert进行微调,学习下游任务的领域知识;在线抽取阶段利用微调好的bert对网页的骨架子节点进行分类,并利用路径聚类算法对分类结果进行优化,得到语义连贯的网页主要信息。此外,为了提升模型在网页信息抽取上的鲁棒性,发明人还提出了路径聚类(path clustering,pc)算法,在对网页文本信息进行语义建模并抽取的基础上,通过建模网页的结构信息,优化语义建模的抽取结果。
[0032]
本发明的目的是解决现有技术在网页更新之后抽取准确率大幅降低的问题,提出了一种基于语义的网页信息抽取方法及系统,其中:对网页dom树的文本节点进行分裂,分裂之后的节点作为网页信息抽取模型的输入,使分类粒度变细,提高了分类准确率;使用bert预训练语言模型对网页中的文本进行分类,对网页中文本的语义进行建模,提高了网页文本分类的准确率;采用路径聚类算法(path clustering)对分类结果进行优化,提高了单个网页信息抽取的质量和网页核心信息抽取的鲁棒性;采用离线学习-在线抽取的架构,将模型的参数学习与抽取阶段分离,离线学习阶段可以预先训练大量针对不同下游任务的抽取模型,在线抽取阶段则根据具体下游任务需求直接选择对应的模型进行抽取,两个阶段配合可以将模型应用在针对任何文本数据挖掘下游任务的抽取中;以及采用网页信息抽取评价指标ca,用以衡量单个网页抽取质量及抽取质量达标的网页占比。
[0033]
图1是本发明的基于语义的网页信息抽取方法流程图。如图1所示,首先进行预处理,将输入的html解析为一棵dom树,对骨架节点进行分裂得到骨架子节点,接着将该子节点输入给离线学习阶段微调好的bert进行分类,标记该骨架子节点是否为核心信息子节点。接着采用路径聚类算法,对所有标记为核心信息子节点的骨架子节点进行聚类,得到核心根节点的路径,并据此得到最终的抽取结果。
[0034]
具体来说,本发明的基于语义的网页信息抽取方法具体包括:
[0035]
步骤s1,节点划分;
[0036]
将网页wi中与排版、字体、字号等无关的纯文本内容定义为该网页的骨架信息si,i=1,...,n,n为网页总数。dom树中的每个结点表示一个或一对html标签或标签内的文本项,html中的所有文本在dom树中均为叶子节点,称这些存储文本的叶子节点为骨架节点,记为s
ij
,j=1,...,ni,j表示网页wi的dom树中按后序遍历顺序标记的第j个骨架节点,ni为网页wi的dom树中的骨架节点数量。由于网页的骨架节点和网页文本一一对应,将网页wi的骨架信息si用该网页dom树的ni个骨架节点表示为相应地,网页信息抽取任务就转化为对网页骨架节点的分类问题。
[0037]
步骤s2,节点分裂;
[0038]
同一个网页的骨架节点,有的只包含极短的句子,有的却包含了由多个句子组成的段落,若直接对骨架节点进行分类,则存在输入粒度不均的问题,这将降低分类模型的准确性。为了解决这个问题,需要将粗粒度的节点进行分裂。具体地,对每个骨架节点中的文本按句子进行划分,从而一个骨架节点也随之分裂为一个或一个以上子节点,这些子节点继承了分裂之前的骨架节点的特点,拥有与分裂前的节点相同的祖先节点,且互为兄弟节点,子节点之间的顺序为分裂前句子之间的顺序,称这些从一个骨架节点s
ij
分裂出来的子节点为s
ij
的骨架子节点,记作m
ij
为该骨架节点分裂后的子节点数量。因此骨架信息si不仅可以由所有骨架节点表示,也可以表示为所有骨架子节点序列,即:
[0039][0040]
从而网页信息的抽取问题就简化为对网页中所有骨架子节点的分类问题。
[0041]
步骤s3,节点分类;
[0042]
记分类模型为给定分类阈值θ,当时,s
ijk
与目标任务t语义相关,s
ijk
标记为核心信息子节点,否则标记为非核心信息子节点。则网页wi的核心信息ci表示为:
[0043]ci
=[s
ijk
|f(s
ijk
,t)>θ,j∈[1,ni],k∈[1,m
ij
]],i=1,...,n。
[0044]
网页信息抽取转化为对骨架子节点的分类之后,分类模型直接使用预训练好的bert,并在此基础上进行微调和预测。模型输入为每个骨架子节点中的文本序列由于针对的是序列分类任务,仅需要对输出的cls进行分类。构造分类模型:
[0045][0046]
采用交叉熵损失函数:
[0047][0048]
对目标函数进行最小化,进行参数学习,如下所示:
[0049][0050]
cls为bert预训练语言模型的输出层中的一个单元,γ为bert预训练语言模型的权重,为的真实标签。
[0051]
步骤s4,路径聚类;
[0052]
路径聚类算法的输入为bert分类为核心信息子节点的节点路径,输出为一个路径,该路径对应的节点称为核心根节点,以核心根节点为根的子树称为核心信息树。根据核心信息树,将核心信息树中的所有骨架子节点重新标记为核心信息子节点,而其他骨架子节点重新标记为非核心信息子节点,作为对分类结果修正之后的最终结果。
[0053]
记骨架子节点s
ijk
的路径为序列其中表示路径的长度,也就是从根节点到节点s
ijk
的路径上的节点数目,序列中的元素表示路径中下标为t的节点是其父节点的第几个子节点。
[0054]
路径聚类算法步骤如下:(1)输入要被聚类的节点路径,初始化一个队列用于记录路径聚类的结果,并将路径从根节点开始进行对齐;(2)从根节点开始进行逐层聚类,记第i层元素总数为li,数量最多的元素记为e
max
,其数量记为设置路径聚类系数α(0≤α≤1);(3)当时,将当前e
max
加入队列,保留该层元素为e
max
的所有路径,在保留的路径上继续进行下一层聚类;(4)当时,迭代终止,返回队列,队列中的节点按顺序排列表示的路径。
[0055]
本发明的网页信息抽取方法中,对于分类模型,采用bert预训练语言模型,因此,本发明的网页信息抽取方法还包括离线学习步骤,利用大量网页的骨架信息对预训练语言模型bert进行微调,学习下游任务的领域信息,如图2所示,具体过程如下:
[0056]
选取大量网页html源码,将html源码解析为dom树,获得网页的所有骨架节点,对这些文本节点进行人工标注,将下游任务相关的文本节点标记为核心信息节点(正样本),与下游任务无关的文本节点标记为非核心信息节点(负样本);
[0057]
对每个骨架节点按句进行分裂,得到骨架子节点,骨架子节点的标记与其分裂前的文本节点标记相同;
[0058]
将所有骨架子节点随机划分为训练集和验证集,为bert选取几组参数,对每组参数使用训练集微调bert,使用验证集验证分类精度,选择在验证集上表现最佳的参数组合和对应微调好的bert作为离线学习的结果,并将模型和参数保存到本地,以供在线抽取部分调用。
[0059]
此外,为准确评价网页信息的抽取效果,本发明还提出了ca指标评价:
[0060]
定义网页信息抽取准确率为ca。给定一个抽取质量阈值h,于本发明的实施例,取h=0.9,f1i为测试页面wi的f1-score,当测试页面wi有f1i>h时,则记为抽取成功,有ai=1,否则记为抽取失败,有ai=0,那么n为测试页面总数。ca能够在网页级别的
粒度上衡量模型的抽取效果,通过ca可以直观地得知达到了抽取质量要求网页的比例。
[0061]
图3是本发明的数据处理装置结构示意图。如图3所示,本发明还提出一种数据处理装置,包括处理器和计算机可读存储介质,其中处理器调取并执行该计算机可读存储介质中的可执行指令,以对网页进行信息抽取;计算机可读存储介质存储有可执行指令,可执行指令被处理器执行时,实现上述基于语义的网页信息抽取方法。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
[0062]
本发明的基于语义的网页信息抽取方法,开创性地增加了网页的文本语义作为输入信息进行建模,从下游任务相关的网页中学习领域知识,对网页进行核心信息抽取,为不同的下游任务提供有效的结构化输入数据。与基于规则的方法相比,本发明无需根据不同的网页设计不同的规则或抽取模板,也无需担心网页更新换代导致的规则失效问题;与基于机器学习的方法相比,本发明摒弃了对传统的特征(dom树节点的统计学特征)进行选择和建模,更加关注网页文本本身的语义,提高了抽取的鲁棒性和针对不同下游任务的泛化能力。
[0063]
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变形,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献