利索能及
我要发布
收藏
专利号: 201910304174X
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-19
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于可视块的动态多记录型网页信息提取方法,包括如下步骤:Step1:网页解析和渲染;

通过服务器结合浏览器或者浏览器内核,获取用户目标链接的网络地址,下载网页文档及相关资源,对网页进行资源解析和渲染,提供脚本的运行环境以及网页的视觉呈现;

Step2:构建可视块和可视块树;

通过上一步提供的网页文档访问接口,提取网页的复合信息,构建可视块(VisualBlock,简称VB)和可视块树(VisualBlockTree,简称VBT);首先获取复合信息,包含网页的文本内容信息、网页的DOM信息、网页的视觉信息;然后结合复合信息,通过启发式规则提取网页DOM树中的可视块,启发式规则组如下:R1、如果当前节点的宽高不满足至少大于当前页面的基准文字大小,则该节点不是可视块节点;

R2、如果当前节点具有且仅有一个子节点,则两个节点合并为一个单元判别是否为可视块节点;

R3、如果当前节点的文本内容为空,则该节点不能作为可视块节点;

R4、如果当前节点在网页中不可视,即透明、被完全遮盖或者其他情况,则该节点不能作为可视块节点;

R5、如果当前节点在布局上脱离了文档流,则该节点不能作为可视块节点;

得到的可视块具有以下特征:

V1、可视块具有大于网页根节点字号的宽高;

V2、可视块具有文本内容;

V3、可视块在页面上可视,且不被遮掩;

V4、可视块处于网页文档流中;

可视块树是可视块的树状组织结构,通过可视块树可以获取可视块之间的上下文关系;与DOM树不同,VBT有以下的几个特征:F1、VBT中的总节点数与DOM树上的节点数相比更少;

F2、VBT中的每一个节点都对应着网页中的一个矩形视觉区域;

F3、VBT上具有父子关系的节点,对应的网页矩形区域具有嵌套的关系;

可视块树上的可视块具有以下规律:

A1、如果第一可视块A是第二可视块B的父节点,那么第一可视块A对应的区域将包含第二可视块B对应的区域;

A2、如果第一可视块A与第二可视块B在可视块树上具有相同的深度,那么第一可视块A与第二可视块B对应的区域相互隔离,不会发生重叠;

Step3:页面预处理;

预处理的主要工作包含但不局限于区域聚焦;区域聚焦的目的在于从网页中发现对于用户而言最为显著的区域,并将数据提取的范围收缩于这样的区域之内,从而有利于后续的数据记录提取,减少网页正文区域外的噪声干扰;

网页的正文区域一般具有以下几种视觉规律(Visual Patterns):VP1.正文区域在网页中占据了显著位置;

VP2.相对于整个页面,正文区域的面积通常较大;

VP3.正文区域包含的内容较其他同级的区域更多;

区域聚焦旨在发现包含所有数据记录的最小边界,也就是网页的正文区域,此区域对应于可视块树中包含最小正文子树的可视块,其具体步骤如下所述:S301 对可视块树上的可视块,获取其属性并计算以下指标:T1、可视块中心与页面中心的偏移程度;

首先得到可视块的中心偏移量为:

其中(PageX,PageY)为页面的中心坐标,(BlockY,BlockY)为可视块的中心坐标;

然后通过与页面宽度的对比,得到可视块中心与页面中心的偏移程度:VP1:Offset/PageWidth≤To             (2)To是可视块中心偏移程度的阈值,为经验参数,小于这个阈值的可视块位于网页中心位置;

T2、可视块面积与页面面积的占比;

将可视块的面积Areablock与页面面积Areapage对比,得到两者的比值:VP2:Areablock/Areapage>Ta             (3)Ta为可视块面积占比的阈值,同为经验参数,大于这个阈值的可视块拥有足够大的可视区域;

T3、可视块内容与页面内容的比值;

可视块内容与页面内容的比值可由两者的内容长度比较产生:VP3:ContentLengthblock/ContentLengthpage>Tc         (4)Tc为可视块内容比值的阈值,同为经验参数,大于这个阈值的可视块拥有足够丰富的内容;

S302 将满足上述指标的可视块被标记为MainAreaBlock;

S303 对可视块树进行遍历,判断MainAreaBlock之间是否存在嵌套的父子关系,去除子块的MainAreaBlock标记;

S304 提取唯一的MainAreaBlock可视块,所映射的网页区域为正文区域;

Step4:数据记录块识别;

在前三步的基础上,通过块内噪声过滤、基于可视块的分类或聚类方法,标识网页中的有效数据记录;

S401 区块内噪声过滤

正文区域内的噪声信息和噪声块具有以下特征:C1、噪声块处于正文区域的角落,且左右边界与代表数据记录的可视块不对齐;

C2、噪声块具有噪声关键词,如“广告”;此类噪声关键词被单独的一对HTML标签包裹;

遍历网页的可视块树,通过正则表达式匹配噪声关键词,识别信息中含有噪声关键词的可视块;

S402 可视块分类

可视块分类综合了网页的内容信息、DOM结构信息、视觉信息以及相对信息,对网页正文区域内的可视块进行分类;如果可视块分类需要训练,其训练结果可以在应用前得到,不会对网页信息提取的效率造成干扰;正文区域内的所有可视块在分类完毕后得到标签,通过标签可以区别可视块是数据记录还是噪声块;可视块分类包含以下步骤:S4021 通过人工标记,将网页中的每一个可视块赋予语义,形成网页样本训练集;

S4022 训练分类器,以神经网络分类算法为例,其神经元的计算公式如下:调整激活函数、学习率、网络层数等参数,通过迭代训练得到分类准确率大于阈值80%的可视块分类器;

S4023 传入网页样本,标记可视块树上的所有可视块;

S403 可视块聚类

可视块聚类是补偿性的数据筛选手段,加强了对可视块的筛选;可视块聚类基于块与块之间的视觉相似性,将视觉上表征相似的可视块聚为一簇,差别较大的可视块属于不同的簇;比较簇内可视块数量,簇内可视块数量最大的簇为数据记录簇,其余簇为噪声簇;可视块聚类包含以下步骤:S4031 输入可视块集合,将所有可视块标记为未访问过S4032 基于可视块之间的视觉相似性,计算可视块之间的距离;

S4033 识别可视块邻域中存在密集点的可视块,将其与领域中的可视块聚簇,并标记为访问过;

S4034 剩余可视块继续聚簇,直至所有的可视块都被访问过;

S4035 取最大的簇为数据记录簇,其他簇为噪声簇;

以密度聚类为例,其距离公式如下:

Sim(A,B)为可视块之间的视觉相似性计算函数,Dis(A,B)为可视块A与另一可视块B之间的距离函数;

Step5:提取网页数据记录;

经Step4筛选出了网页中的数据记录可视块,提取这些可视块的文本内容;通过正则表达式获取可视块中的细粒度数据,与上一步的文本内容形成最终的综合结果输出。