网页信息的提取方法、装置、设备及存储介质转让专利
申请号 : CN202110018216.0
文献号 : CN112732994B
文献日 : 2022-01-28
发明人 : 张学哲 , 张浩波
申请人 : 上海携宁计算机科技股份有限公司
摘要 :
权利要求 :
1.一种网页信息的提取方法,其特征在于,包括:获取待提取网页中每一叶子节点的叶子节点路径;
根据所述叶子节点路径,获取所述叶子节点路径对应的所述叶子节点的叶子节点信息和所述叶子节点的父节点的父节点信息,得到所述叶子节点的节点信息;
其中,所述叶子节点的叶子节点信息包括:叶子节点的tag标签、叶子节点的class属性和叶子节点的文本长度;
其中,所述叶子节点的父节点的父节点信息包括:叶子节点对应的父节点的tag标签和叶子节点对应的父节点的class属性;
根据每一所述叶子节点路径和每一所述叶子节点的节点信息,构建文档对象模型DOM树;
所述根据每一所述叶子节点路径和每一所述叶子节点的节点信息,构建文档对象模型DOM树,包括:
根据每一所述叶子节点路径,构建DOM树框架;
将每一所述叶子节点的节点信息记录到所述DOM树框架中对应的所述叶子节点所在的位置,得到所述DOM树;
对所述DOM树中的每一节点进行遍历,并利用预先训练获得的神经网络识别模型对遍历到的每一所述叶子节点进行分析,得到每一所述叶子节点的分析结果;
根据每一所述叶子节点的所述分析结果,确定待提取信息的提取路径;
根据所述提取路径,从所述待提取网页中提取所述待提取信息。
2.根据权利要求1所述的网页信息的提取方法,其特征在于,所述获取待提取网页中每一叶子节点的叶子节点路径,包括:获取所述待提取网页的超文本标记语言HTML源码;
对所述HTML源码进行解析,得到所述待提取网页包括的所有节点的路径信息;
对所述路径信息去重,得到所述待提取网页中每一所述叶子节点的所述叶子节点路径。
3.根据权利要求1所述的网页信息的提取方法,其特征在于,所述对所述DOM树中的每一节点进行遍历,并利用预先训练获得的神经网络识别模型对遍历到的每一所述叶子节点进行分析,得到每一所述叶子节点的分析结果,包括:对所述DOM树中的每一节点进行遍历,并获取遍历到的每一所述叶子节点的节点信息;
按序将遍历到的每一所述叶子节点的节点信息输入预先训练获得的神经网络识别模型,并获取所述神经网络识别模型的输出结果,得到每一所述叶子节点的所述分析结果。
4.根据权利要求3所述的网页信息的提取方法,其特征在于,所述按序将遍历到的每一所述叶子节点的节点信息输入预先训练获得的神经网络识别模型,包括:对于遍历到的每一所述叶子节点的节点信息,分别对所述叶子节点的tag标签、所述叶子节点的class属性、所述叶子节点对应的父节点的tag标签和所述叶子节点对应的父节点的class属性进行向量转换,得到四个词向量;
按序将遍历到的每一所述叶子节点对应的四个词向量和所述叶子节点的本文长度输入预先训练获得的神经网络识别模型。
5.根据权利要求1所述的网页信息的提取方法,其特征在于,所述根据每一所述叶子节点的所述分析结果,确定待提取信息的提取路径,包括:根据每一所述叶子节点的所述分析结果,确定所述DOM树中需要保留的节点;
根据所述DOM树中需要保留的节点,确定待提取信息的提取路径。
6.根据权利要求5所述的网页信息的提取方法,其特征在于,所述根据每一所述叶子节点的所述分析结果,确定所述DOM树中需要保留的节点,包括:对于所述DOM树中的每一所述父节点,根据所述父节点下所有子节点的分析结果,确定所述父节点是否需要保留;
在所述DOM树中标记需要保留的所述父节点,并根据每一所述叶子节点的所述分析结果标记需要保留的所述叶子节点,得到所述DOM树中需要保留的节点。
7.根据权利要求5所述的网页信息的提取方法,其特征在于,所述根据所述DOM树中需要保留的节点,确定待提取信息的提取路径,包括:按照预设的遍历的方式对所述DOM树中需要保留的节点进行遍历,将遍历到的每一所述节点的tag标签按序添加到预先构建的存储介质,得到所述待提取信息的所述提取路径。
8.根据权利要求1至7任一项所述的网页信息的提取方法,其特征在于,在所述获取待提取网页中每一叶子节点的叶子节点路径之前,所述方法还包括:利用网络爬虫获取训练样本网页的HTML源码;
对所述训练样本网页的HTML源码进行解析,得到所述训练样本网页包括的所有节点的路径信息;
对所述路径信息去重,得到所述训练样本网页中每一叶子节点的叶子节点路径;
获取每一叶子节点路径中包括的所有节点的tag标签和class属性,并根据所有节点的tag标签构建tag词嵌入模型,根据所有节点的class属性构建class词嵌入模型;
从所述tag词嵌入模型中获取所述叶子节点的叶子节点tag词向量和所述叶子节点的父节点的父节点tag词向量,从所述class词嵌入模型获取所述叶子节点的叶子节点class词向量和所述叶子节点的父节点的父节点class词向量;
将所述叶子节点tag词向量和所述父节点tag词向量,所述叶子节点class词向量和所述父节点class词向量,以及所述叶子节点的文本长度作为训练参数,输入预先构建的神经网络训练模型进行迭代训练至所述神经网络训练模型满足预设收敛条件,得到所述神经网络识别模型。
9.根据权利要求8所述的网页信息的提取方法,其特征在于,所述神经网络训练模型为多层神经网络训练模型。
10.根据权利要求9所述的网页信息的提取方法,其特征在于,所述多层神经网络训练模型为三层前馈神经网络模型;
所述三层前馈神经网络模型包括一层输入层、一层隐藏层和一层输出层。
11.根据权利要求10所述的网页信息的提取方法,其特征在于,在对所述神经网络训练模型进行迭代训练的过程中,所述方法还包括:采用线性整流函数对所述输入层和所述隐藏层进行激活;
采用S型函数对所述输出层进行激活。
12.一种网页信息的提取装置,其特征在于,所述网页信息的提取装置包括:叶子节点路径获取模块,用于获取待提取网页中每一叶子节点的叶子节点路径;
节点信息获取模块,用于根据所述叶子节点路径,获取所述叶子节点路径对应的所述叶子节点的叶子节点信息和所述叶子节点的父节点的父节点信息,得到所述叶子节点的节点信息;其中,所述叶子节点的叶子节点信息包括:叶子节点的tag标签、叶子节点的class属性和叶子节点的文本长度;所述叶子节点的父节点的父节点信息包括:叶子节点对应的父节点的tag标签和叶子节点对应的父节点的class属性;
DOM树构建模块,用于根据每一所述叶子节点路径和每一所述叶子节点的节点信息,构建文档对象模型DOM树;其中,所述根据每一所述叶子节点路径和每一所述叶子节点的节点信息,构建文档对象模型DOM树,包括:根据每一所述叶子节点路径,构建DOM树框架;将每一所述叶子节点的节点信息记录到所述DOM树框架中对应的所述叶子节点所在的位置,得到所述DOM树;
叶子节点分析模块,用于对所述DOM树中的每一节点进行遍历,并利用预先训练获得的神经网络识别模型对遍历到的每一所述叶子节点进行分析,得到每一所述叶子节点的分析结果;
提取路径确定模块,用于根据每一所述叶子节点的所述分析结果,确定待提取信息的提取路径;
网页信息提取模块,用于根据所述提取路径,从所述待提取网页中提取所述待提取信息。
13.一种网页信息的提取设备,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至11中任一项所述的网页信息的提取方法。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的网页信息的提取方法。
说明书 :
网页信息的提取方法、装置、设备及存储介质
技术领域
背景技术
为近年来研究的一个热点问题。
XPath),即XPath路径模板,进而通过不同的XPath路径模板去提取对应的网页中的正文;另
一种常见的方式是根据网页对应的超文本标记语言(Hyper Text Markup Language,HTML)
中的全部节点构建文档对象模型(Document Object Model,DOM),即全部节点的多叉树,进
而根据预先构建的节点分析模型,从多叉树的根节点开始分析,最终将分析得出的不需要
保留的节点,以及该节点下的所有节点的信息舍去,即剪枝,最终根据剪枝后的多叉树确定
正文提取路径,并根据确定的正文提取路径对网页进行正文提取。
XPath模板,并且为了使XPath路径模板能够适用于对应的网页,就需要根据网页信息的变
动不停的修改,甚至重写模板,大大增加了人力成本,并且这种方式还会存在因为没有发现
网页改动而没有对XPath路径模板及时修改,导致最终提取的信息不准确,或者直接无法进
行信息提取;而对根据全部节点构建的多叉树进行正序(或者说前序)遍历,并利用预先构
建的节点分模型对遍历到的根节点进行分析的方式,由于需要对全部节点进行分析,因而
导致分析过程以及构建节点分析模型所需的节点信息量十分庞大,从而导致整个实现方案
需要消耗大量的计算资源、图形处理器(Graphics Processing Unit,GPU)GPU资源,更会导
致实现该方案的程序由于内存问题被系统杀死叫停,训练时间长、收敛慢的问题。
点去除,即原本需要保留的正文信息被去除,从而导致最终从网页中提取的正文存在不完
整、准确度低的问题。
发明内容
的节点信息;
所述分析结果;
父节点的父节点信息构建DOM树,从而使得构建的DOM树仅记录叶子节点,以及叶子节点所
属父节点的节点信息,相较于现有需利用待提取网页中全部节点的节点信息才可以构建
DOM树,进而进行网页信息提取的方案,大大降低了构建DOM树所需的节点信息数量,并且基
于该结构的DOM树,也大大降低了后续的计算量,以及对计算资源、GPU资源的消耗。
进行遍历,并利用预先训练获得的神经网络识别模型仅对遍历到的每一叶子节点进行分
析,进而根据每一叶子节点的分析结果确定待提取信息的提取路径,使得最终确定的提取
路径中包含了所有记录有网页信息的叶子节点,进而可以根据确定的提取路径从待提取网
页中提取出尽可能完整的待提取信息,从而解决了现有从根节点开始遍历剪枝导致将原本
需要保留的节点去除,使得最终提取的网页信息不完整、不准确的问题。
模型对同一类型的待提取网页进行信息提取,解决了现有对于每一不同路径的待提取网页
都需要构建专门的XPath路径模板导致的人力成本高,以及因为XPath路径模板无法自学习
适应待提取网页变换导致的信息提取不准确的问题。
的所有节点的路径信息;对所述路径信息去重,得到所述待提取网页中每一所述叶子节点
的所述叶子节点路径。由于本发明的实施例中构建的DOM树只记录了叶子节点的节点信息,
因而在构建DOM树时只需要叶子节点路径即可,为了避免遍历全部的路径,本实施例通过对
路径信息去重,具体为对每条路径进行比较,从而无需对每条路径的每个节点进行遍历,即
无需获取全部节点的信息,从而大大减少了构建DOM树的工作量和节点信息的重复。
子节点的所述节点信息记录到所述DOM树框架中对应的所述叶子节点所在的位置,得到所
述DOM树。本发明的实施例中,构建的DOM树中虽然记录了待提取网页中所有的节点,但是却
仅记录了叶子节点的的节点信息,从而大大减小了构建DOM树所需的节点信息,使得基于该
方式构建的DOM树应用到网页信息提取时,能够大大降低对计算资源的消耗。
果,包括:对所述DOM树中的每一节点进行遍历,并获取遍历到的每一所述叶子节点的所述
节点信息;按序将遍历到的每一所述叶子节点的所述节点信息输入预先训练获得的神经网
络识别模型,并获取所述神经网络识别模型的输出结果,得到每一所述叶子节点的所述分
析结果。本发明的实施例中,通过基于具有自学习功能、联想存储功能,以及高速寻找优化
解能力的神经网络识别模型来分析确定DOM树中每一叶子节点的情况,从而可以基于同一
神经网络识别模型对同一类型的待提取网页进行信息提取,解决了现有对于每一不同路径
的待提取网页都需要构建专门的XPath路径模板导致的人力成本高,以及因为XPath路径模
板无法自学习适应待提取网页变换导致的信息提取不准确的问题。
述按序将遍历到的每一所述叶子节点的所述节点信息输入预先训练获得的神经网络识别
模型,包括:对于遍历到的每一所述叶子节点的所述节点信息,分别对所述叶子节点的tag
标签、所述叶子节点的class属性、所述叶子节点对应的父节点的tag标签和所述叶子节点
对应的父节点的class属性进行向量转换,得到四个词向量;按序将遍历到的每一所述叶子
节点对应的四个词向量和所述叶子节点的本文长度输入预先训练获得的神经网络识别模
型。本发明的实施例,在利用神经网络识别模型对每一叶子节点的节点信息进行分析时,通
过将节点信息中的tag标签信息和class属性信息进行向量转换,进而得到准确性高的空间
向量表达,最终利用神经网络识别模型对空间向量表达进行分析,从而保证了神经网络识
别模型输出的分析结果的准确率。
述DOM树中需要保留的节点,确定待提取信息的提取路径。本发明的实施例中,仅需利用神
经网络识别模型分析DOM树中的叶子节点,而其他节点是否保留则是根据叶子节点的分析
结果确定,从而无需对DOM树中的每一节点进行分析,也印证了无需为DOM树中除叶子节点
之外的其他节点添加节点信息,进一步降低了对计算资源的消耗。
果,确定所述父节点是否需要保留;在所述DOM树中标记需要保留的所述父节点,并根据每
一所述叶子节点的所述分析结果标记需要保留的所述叶子节点,得到所述DOM树中需要保
留的节点。本发明的实施例中,给出了一种基于叶子节点的分析结果,确定DOM树中需要保
留的节点的具体方式,由于整个过程仅需根据每一个叶子节点的分析结果来确定,而无需
额外获取需要判断的节点的节点信息,大大简化了实现流程,进而降低了对计算资源、GPU
资源的消耗。
点的tag标签按序添加到预先构建的存储介质,得到所述待提取信息的所述提取路径。
解析,得到所述训练样本网页包括的所有节点的路径信息;对所述路径信息去重,得到所述
训练样本网页中每一叶子节点的叶子节点路径;获取每一叶子节点路径中包括的所有节点
的tag标签和class属性,并根据所有节点的tag标签构建tag词嵌入模型,根据所有节点的
class属性构建class词嵌入模型;从所述tag词嵌入模型中获取所述叶子节点的叶子节点
tag词向量和所述叶子节点的父节点的父节点tag词向量,从所述class词嵌入模型获取所
述叶子节点的叶子节点class词向量和所述叶子节点的父节点的父节点class词向量;将所
述叶子节点tag词向量和所述父节点tag词向量,所述叶子节点class词向量和所述父节点
class词向量,以及所述叶子节点的文本长度作为训练参数,输入预先构建的神经网络训练
模型进行迭代训练至所述神经网络训练模型满足预设收敛条件,得到所述神经网络识别模
型。
神经网络模型作为训练神经网络识别模型所需的神经网络训练模型,在保证训练获得的神
经网络识别模型准确率的基础上,有效避免了网络过于复杂造成的过拟合现象,从而提升
了神经网络识别模型的鲁棒性。
本发明的实施例,通过采用线性整流函数对神经网络训练模型中的输入层和隐藏层进行激
活,通过采用S型函数对神经网络训练模型中的输出层进行激活,从而有效降低了训练过程
中的计算难度和复杂度。
附图说明
非有特别申明,附图中的图不构成比例限制。
具体实施方式
中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和
基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各
个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施
例在不矛盾的前提下可以相互结合相互引用。
下这些节点中的网页信息不存在明显的特征,信息模糊不清。
提取过程中对不相干节点的关注和处理,进而降低计算量,以及对计算资源、GPU资源的消
耗。
于HTML编译原理,会包含各种标签,并且每一标签都有对应的从属关系。因此,根据这种关
系便可以确定从根节点到每一叶子节点的路径,即叶子节点的路径。
到待提取网页中包括的所有节点的路径信息,然后从所述路径信息中提取叶子节点的叶子
节点路径。
避免遍历全部的路径,本实施例通过对路径信息去重,具体为对每条路径进行比较,从而无
需对每条路径的每个节点进行遍历,即无需获取全部节点的信息,从而大大减少了构建DOM
树的工作量和节点信息的重复。
提取出待提取网页中包括的所有节点的路径信息。
HTML源码的解析工具,本实施例对此不做限制。
节点信息记录到DOM树框架中对应叶子节点所在的位置,进而得到仅记录了叶子节点的节
点信息的DOM树。
H;叶子节点S的叶子节点路径:A—>C—>I—>S;叶子节点T的叶子节点路径:A—>C—>I—>
T;叶子节点J的叶子节点路径:A—>C—>J;叶子节点U的叶子节点路径:A—>D—>K—>U;叶
子节点V的叶子节点路径:A—>D—>K—>V;叶子节点W的叶子节点路径:A—>D—>K—>W;叶
子节点L的叶子节点路径:A—>E—>L;叶子节点X的叶子节点路径:A—>E—>M—>X;叶子节
点Y的叶子节点路径:A—>F—>N—>Y;叶子节点Z的叶子节点路径:A—>F—>N—>Z;叶子节
点#的叶子节点路径:A—>F—>N—>#;叶子节点O的叶子节点路径:A—>F—>O。
果。
分析结果确定是否对当前节点及其下的所有节点进行删除,即剪枝,然后将最终剪枝剩余
的节点作为提取网页信息的节点,因而一旦这些父节点(根节点或子节点)被误判为不需要
保留,就会面临着其下连接的所有节点都被剪枝,进而导致最终提取的网页信息不够完整、
准确,更甚者会导致提取的网页信息出现空文本的现象。
父节点的节点信息,这就导致整个判断过程需要涉及大量的节点信息,从而导致实际应用
过程中需要消耗大量的计算资源,GPU资源。
的子节点的节点信息和当前节点的父节点的节点信息,这样不仅导致了数据量的庞大,还
会导致训练时间变长,更甚者会导致程序经常由于内存问题被系统杀死叫停、收敛慢。
的父节点的父节点信息,本实施例在对DOM树中的每一节点进行遍历时,具体是采用后序遍
历的方式。
下的子节点的分析结果确定该节点是否需要保留,从而确保了记录有大量网页信息的叶子
节点能够被保留,进而保证最终提取的网页信息的完整性和准确性。
子节点的tag标签、叶子节点的class属性、叶子节点的文本长度、叶子节点对应的父节点的
tag标签和叶子节点对应的父节点的class属性;然后,按序将遍历到的每一叶子节点的节
点信息输入预先训练获得的神经网络识别模型,即将上述5种信息作为输入参数,输入到神
经网络识别模型,由神经网络识别模型进行分析后,将神经网络识别模型的输出结果作为
对应叶子节点的分析结果。
子节点。
量,因而便于神经网络识别模型的识别,在按序将遍历到的每一节点信息输入预先训练获
得的神经网络识别模型时,对于遍历到的每一叶子节点的节点信息,需要先分别对节点信
息中的叶子节点的tag标签、叶子节点的class属性、父节点的tag标签和父节点的class属
性进行向量转换,进而得到4个空间词向量;然后才按序将遍历到的每一叶子节点的对应的
这4个空间词向量和叶子节点的文本长度作出输入参数,输入预先训练获得的神经网络识
别模型,从而使得神经网络识别模型能够快速精准的确定每一叶子节点是否需要保留。
模型进行处理,便可得到满足要求的词向量。
出每一叶子节点路径中包括的所有节点的tag标签和class属性。
的class属性构建class词嵌入模型。
的tag标签和父节点的tag标签输入tag词嵌入模型,将叶子节点的class属性和父节点的
class属性输入class词嵌入模型,从而得到tag词嵌入模型输出的叶子节点tag词向量和父
节点tag词向量,class词嵌入模型输出的叶子节点class词向量和父节点class词向量。
的1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26和27,即
图2中的P、Q、R、G、H、B、S、T、I、J、C、U、V、W、K、D、L、X、M、E、Y、Z、#、N、O、F和A。
遍历叶子节点Q,并将叶子节点Q的节点信息输入神经网络识别模型进行分析,确定叶子节
点Q是否需要保留;接着遍历叶子节点R,并将叶子节点R的节点信息输入神经网络识别模型
进行分析,确定叶子节点R是否需要保留;接着遍历节点G,并根据叶子节点P、Q和R的分析结
果,确定节点G是否需要保留;接着遍历叶子节点H,并将叶子节点H的节点信息输入神经网
络识别模型进行分析,确定叶子节点H是否需要保留;接着遍历节点B,并根据节点G和叶子
节点H的分析结果,确定节点B是否需要保留;接着遍历叶子节点S,并将叶子节点S的节点信
息输入神经网络识别模型进行分析,确定叶子节点S是否需要保留;接着遍历叶子节点T,并
将叶子节点T的节点信息输入神经网络识别模型进行分析,确定叶子节点T是否需要保留;
接着遍历节点I,并根据叶子节点S和T的分析结果,确定节点I是否需要保留;接着遍历叶子
节点J,并将叶子节点J的节点信息输入神经网络识别模型进行分析,确定叶子节点J是否需
要保留;接着遍历节点C,并根据节点I和叶子节点J的分析结果,确定节点C是否需要保留;
接着遍历叶子节点U,并将叶子节点U的节点信息输入神经网络识别模型进行分析,确定叶
子节点U是否需要保留;接着遍历叶子节点V,并将叶子节点V的节点信息输入神经网络识别
模型进行分析,确定叶子节点V是否需要保留;接着遍历叶子节点W,并将叶子节点W的节点
信息输入神经网络识别模型进行分析,确定叶子节点W是否需要保留;接着遍历节点K,并根
据叶子节点U、V和W的分析结果,确定节点K是否需要保留;接着遍历节点D,并根据节点K的
分析结果确定节点D是否需要保留;接着遍历叶子节点L,并将叶子节点L的节点信息输入神
经网络识别模型进行分析,确定叶子节点L是否需要保留;接着遍历叶子节点X,并将叶子节
点X的节点信息输入神经网络识别模型进行分析,确定叶子节点X是否需要保留;接着遍历
节点M,并根据节点X的分析结果确定节点M是否需要保留;接着遍历节点E,并根据叶子节点
L和节点M的分析结果,确定节点E是否需要保留;接着遍历叶子节点Y,并将叶子节点Y的节
点信息输入神经网络识别模型进行分析,确定叶子节点Y是否需要保留;接着遍历叶子节点
Z,并将叶子节点Z的节点信息输入神经网络识别模型进行分析,确定叶子节点Z是否需要保
留;接着遍历叶子节点#,并将叶子节点#的节点信息输入神经网络识别模型进行分析,确定
叶子节点#是否需要保留;接着遍历节点N,并根据叶子节点Y、Z和#的分析结果,确定节点N
是否需要保留;接着遍历叶子节点O,并将叶子节点O的节点信息输入神经网络识别模型进
行分析,确定叶子节点O是否需要保留;接着遍历节点F,并根据节点N和节点O的分析结果,
确定节点F是否需要保留;最后根据节点B、C、D、E和F的分析结果,确定节点A是否需要保留。
遍历叶子节点Q,并将叶子节点Q的节点信息输入神经网络识别模型进行分析,确定叶子节
点Q是否需要保留;接着遍历叶子节点R,并将叶子节点R的节点信息输入神经网络识别模型
进行分析,确定叶子节点R是否需要保留;接着遍历叶子节点H,并将叶子节点Q的节点信息
输入神经网络识别模型进行分析,确定叶子节点H是否需要保留;接着遍历叶子节点S,并将
叶子节点S的节点信息输入神经网络识别模型进行分析,确定叶子节点S是否需要保留;接
着遍历叶子节点T,并将叶子节点T的节点信息输入神经网络识别模型进行分析,确定叶子
节点T是否需要保留;接着遍历叶子节点J,并将叶子节点J的节点信息输入神经网络识别模
型进行分析,确定叶子节点J是否需要保留;接着遍历叶子节点U,并将叶子节点U的节点信
息输入神经网络识别模型进行分析,确定叶子节点U是否需要保留;接着遍历叶子节点V,并
将叶子节点V的节点信息输入神经网络识别模型进行分析,确定叶子节点V是否需要保留;
接着遍历叶子节点W,并将叶子节点W的节点信息输入神经网络识别模型进行分析,确定叶
子节点W是否需要保留;接着遍历叶子节点L,并将叶子节点L的节点信息输入神经网络识别
模型进行分析,确定叶子节点L是否需要保留;接着遍历叶子节点X,并将叶子节点X的节点
信息输入神经网络识别模型进行分析,确定叶子节点X是否需要保留;接着遍历叶子节点Y,
并将叶子节点Y的节点信息输入神经网络识别模型进行分析,确定叶子节点Y是否需要保
留;接着遍历叶子节点Z,并将叶子节点Z的节点信息输入神经网络识别模型进行分析,确定
叶子节点Z是否需要保留;接着遍历叶子节点#,并将叶子节点#的节点信息输入神经网络识
别模型进行分析,确定叶子节点#是否需要保留;接着遍历叶子节点O,并将叶子节点O的节
点信息输入神经网络识别模型进行分析,确定叶子节点O是否需要保留。
析结果确定节点B是否需要保留。
子节点J的分析结果确定节点C是否需要保留;基于叶子节点U、V和W定位节点K,进而根据叶
子节点U、V和W的分析结果确定节点K是否需要保留;基于节点K定位节点D,进而根据节点K
的分析结果确定节点D是否需要保留;基于节点X定位节点M,进而根据节点X的分析结果确
定节点M是否需要保留;基于叶子节点L和节点M定位节点E,进而根据叶子节点L和节点M的
分析结果确定节点E是否需要保留;根据叶子节点Y、Z和#定位节点N,进而根据叶子节点Y、Z
和#的分析结果确定节点N是否需要保留;根据节点N和叶子节点O的分析结果定位节点F,进
而根据节点N和叶子节点O的分析结果确定节点F是否需要保留。
点。故而在确定待提取信息的提取路径时,需要先根据每一叶子节点的分析结果,确定DOM
树中需要保留的节点,进而根据DOM树中需要保留的节点,确定最终提取待提取信息的提取
路径。
的父节点就是需要保留的。
历,将遍历到的每一节点的tag标签按序添加到预先构建的存储介质,比如列表、数组,进而
得到从待提取网页中提取的网页信息,即待提取信息的提取路径。
的节点。
保留的节点。
点。
点。
的节点。
需要保留的节点。
保留的节点。
要保留的节点。
保留的节点。
需要保留的节点。
点的tag标签按序添加到预先构建的存储介质,比如列表、数组,进而得到提取路径的方式,
最后可以得到A—>B—>G—>Q、A—>B—>G—>R、A—>C—>I—>S、A—>B—>I—>T、A—>C—>
J、A—>E—>L、A—>F—>N—>Y和A—>F—>N—>#这8条提取路径。
父节点的父节点信息构建DOM树,从而使得构建的DOM树仅记录叶子节点,以及叶子节点所
属父节点的节点信息,相较于现有需利用待提取网页中全部节点的节点信息才可以构建
DOM树,进而进行网页信息提取的方案,大大降低了构建DOM树所需的节点信息数量,并且基
于该结构的DOM树,也大大降低了后续的计算量,以及对计算资源、GPU资源的消耗。
后序遍历的方式,并利用预先训练获得的神经网络识别模型仅对遍历到的每一叶子节点进
行分析,进而根据每一叶子节点的分析结果确定待提取信息的提取路径,使得最终确定的
提取路径中包含了所有记录有网页信息的叶子节点,进而可以根据确定的提取路径从待提
取网页中提取出尽可能完整的待提取信息,从而解决了现有从根节点开始遍历剪枝导致将
原本需要保留的节点去除,使得最终提取的网页信息不完整、不准确的问题。
模型对同一类型的待提取网页进行信息提取,解决了现有对于每一不同路径的待提取网页
都需要构建专门的XPath路径模板导致的人力成本高,以及因为XPath路径模板无法自学习
适应待提取网页变换导致的信息提取不准确的问题。
路径之前,先训练神经网络识别模型,即在执行网页信息的提取之前,需要先确保已经训练
获得的了适合对当前需要进行信息提取的待提取网页进行信息提取的神经网络识别模型。
模型,获取到的语料包括但不限于正文语料、标题语料、广告语料等。
时,基于标题语料进行训练,最终得到的神经网络识别模型即为用于抽取标题信息的神经
网络识别模型;在获取到的语料为广告语料时,基于广告语料进行训练,最终得到的神经网
络识别模型即为用于抽取广告信息的神经网络识别模型。
经网络识别模型,从而在后续使用中,对网页中信息的提取,只需考虑需要提取的信息所属
的类型,进而选择对应的神经网络识别模型即可实现对众多网页中相同类型的信息的提
取。
类型的网页中的信息时,获取的训练语料可以局限到上述几类网页中,即利用网络爬虫获
取的训练样本网页的HTML源码是研究报告类网页的HTML源码、公告类网页的HTML源码和债
券类网页的HTML源码。
包括的所有节点的路径信息的方式大致相同,即直接利用现有可以对网页进行解析的解析
工具,如LXML库,或者Beautiful Soup进行解析即可,本实施例对此不再赘述。
执行步骤(2)。
生一定影响,进而导致最终提取的网页信息产生错误。因此,为了尽可能避免这一问题,还
可以去训练样本网页的HTML源码进行清洗。
class词向量和所述叶子节点的父节点的父节点class词向量。
的神经网络训练模型进行迭代训练至所述神经网络训练模型满足预设收敛条件,得到所述
神经网络识别模型。
Convolutional Neural Networks,textCNN)模型、深度卷积神经网络(Deep
Convolutional Neural Networks,DCNN)模型、区域卷积神经网络(Region Convolutional
Neural Networks,RCNN)模型、异构图注意力网络(Heterogeneous Graph Attention
Network,HAN)模型、transformer模型等。故而,训练神经网络识别模型所需的神经网络训
练模型需要为上述神经网络模型。
少一层隐藏层。
别模型所需的多层神经网络训练模型可以为三层前馈神经网络模型,即仅包括一层输入
层、一层隐藏层和一层输出层。
S型函数(Sigmoid function,也称:S型生长曲线)对神经网络训练模型中的输出层进行激
活。
果。
待提取网页中提取到完整、准确的网页信息。
避免了网络过于复杂造成的过拟合现象,从而提升了神经网络识别模型的鲁棒性。
降低了训练过程中的计算难度和复杂度。
利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但
不改变其算法和流程的核心设计都在该专利的保护范围内。
径确定模块505和网页信息提取模块506。
的所述叶子节点的叶子节点信息和所述叶子节点的父节点的父节点信息,得到所述叶子节
点的节点信息;DOM树构建模块503,用于根据每一所述叶子节点路径和每一所述叶子节点
的所述节点信息,构建文档对象模型DOM树;叶子节点分析模块504,用于对所述DOM树中的
每一节点进行遍历,并利用预先训练获得的神经网络识别模型对遍历到的每一所述叶子节
点进行分析,得到每一所述叶子节点的所述分析结果;提取路径确定模块505,用于根据每
一所述叶子节点的所述分析结果,确定待提取信息的提取路径;网页信息提取模块506,用
于根据所述提取路径,从所述待提取网页中提取所述待提取信息。
得到每一所述叶子节点的所述分析结果时,具体为:
析结果。
class属性。
应的父节点的class属性进行向量转换,得到四个词向量;
路径。
class词向量和所述叶子节点的父节点的父节点class词向量;
神经网络训练模型进行迭代训练至所述神经网络训练模型满足预设收敛条件,得到所述神
经网络识别模型。
依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应
用在第一或第二实施例中。
的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出
的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
有可被所述至少一个处理器601执行的指令,所述指令被所述至少一个处理器601执行,以
使所述至少一个处理器601能够执行上述第一或第二实施例所描述的网页信息的提取方
法。
以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是
本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供
接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在
传输介质上与各种其他装置通信的单元。经处理器601处理的数据通过天线在无线介质上
进行传输,进一步,天线还接收数据并将数据传输给处理器601。
操作时所使用的数据。
得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方
法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only
Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程
序代码的介质。