CN114218515A - 一种基于内容分割的Web数字对象提取方法及系统 - Google Patents
一种基于内容分割的Web数字对象提取方法及系统 Download PDFInfo
- Publication number
- CN114218515A CN114218515A CN202111571191.3A CN202111571191A CN114218515A CN 114218515 A CN114218515 A CN 114218515A CN 202111571191 A CN202111571191 A CN 202111571191A CN 114218515 A CN114218515 A CN 114218515A
- Authority
- CN
- China
- Prior art keywords
- node
- target
- content
- content block
- digital object
- 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.)
- Granted
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
-
- 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/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种基于内容分割的Web数字对象提取方法及系统,方法包括:根据用户在前端界面的选择操作,控制Web页面在浏览模式和数字对象生成模式之间进行切换;在Web页面处于数字对象生成模式的情况下,将Web页面分割为多个内容块;提取多个内容块中的关键信息;根据用户从展示的多个内容块中选择的目标内容块,创建与目标内容块对应的数字对象配置界面;根据用户从数字对象配置界面中选择的目标关键信息,将目标内容块和目标关键信息发送至数字对象引擎,以构建与目标内容块对应的目标数字对象,目标关键信息将作为目标数字对象的自定义属性。旨在自动从Web页面中获取数据,并解析数据的元信息,进而转换成数字对象。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于内容分割的Web数字对象提取方法及系统。
背景技术
互联网是由全球数十亿主机相互连接成的网络。任意主机之间可通过IP地址进行定位,进而互相传送数据。然而,可穿戴、物联网设备大量涌现,使得计算环境出现了变化——通讯实体不再关心数据来源于哪个站点,更关心传输数据的内容与格式。但传统互联网体系存在两个缺点:1)数据资源与服务器位置绑定,数据URL随服务变化而改变;2)数据无统一格式,不利于数据开放共享,使得数据资源以站点无关的方式开放共享变得非常困难。
而为解决此难题,提出了数字对象体系(Digital Object Architecture)。在DOA中,数据被抽象成数字对象(Digital Object),由唯一ID标识,包含固有属性、自定义属性和数据。其中固有属性和自定义属性共同构成了数字对象的元信息,数据本身也由数字对象组成,可包含元信息。数字对象向下屏蔽数据存储的细节,客户端无需了解数字对象的存储位置即可通过ID获取对应数字对象。
而将Web页面中的数据转换为数字对象又遇到新的瓶颈。以将互联网上的数据转换成DO为例,预计全球Web站点已超12亿,通过主动创建的方式已难以规模化地将Web页面中的数据转换为数字对象。这使得数字对象的生产环节成为数据开放共享的新瓶颈。因此,如何建立一个转换层,自动从Web页面中获取所需数据,解析数据的元信息,进而转换成数字对象是亟待解决的一个课题。
发明内容
有鉴于此,本申请实施例提供一种基于内容分割的Web数字对象提取方法及系统,旨在自动从Web页面中获取数据,并解析数据的元信息,进而转换成数字对象。
第一方面,本申请实施例提供一种基于内容分割的Web数字对象提取方法,所述方法包括:
根据用户在前端界面的选择操作,控制待转换Web页面在浏览模式和数字对象生成模式之间进行切换;
在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,所述多个内容块在前端界面进行展示;
提取所述多个内容块中的关键信息,所述关键信息包括标题、摘要和关键词中的至少一者;
根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;
根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性。
可选地,所述方法还包括:
根据用户在前端界面中对所述目标内容块的调节操作,控制所述目标内容块进行边界调节,以对所述目标内容块进行修正,获得修正目标内容块;
所述根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性,包括:
根据用户从展示的所述多个内容块中选择的所述修正目标内容块,创建与所述修正目标内容块对应的数字对象配置界面;
根据用户从该数字对象配置界面中选择的修正目标关键信息,将所述修正目标内容块和所述修正目标关键信息发送至数字对象引擎,以构建与所述修正目标内容块对应的修正目标数字对象,所述修正目标关键信息将作为所述修正目标数字对象的自定义属性。
可选地,所述提取所述多个内容块中的关键信息,包括:
在内容块为具有标题的第一内容块的情况下,通过预设标题模型预测所述第一内容块的标题,以及通过TextRank算法提取所述第一内容块中的摘要和关键词;
在内容块为无标题的第二内容块的情况下,通过TextRank算法提取所述第二内容块中的摘要和关键词。
可选地,获得所述预设标题模型的训练过程,包括如下步骤:
提取预设数量的标题样本Web页面的文本特征作为训练集,所述文本特征由多个不同类型的初始特征共同构成;
将所述训练集输入初始标题模型进行训练,获得所述预设标题模型;
其中,所述多个不同类型的初始特征包括:文本长度特征和文本长度变化量特征、字体大小特征和字体大小变化量特征、字体颜色特征和字体颜色变化量特征、字体权重特征和字体权重变化量特征、内容块背景颜色特征和内容块背景颜色变换量特征、背景边框特征、文本长度变化量特征。
可选地,所述在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,包括:
获取所述待转换Web页面的DOM树;
根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树;
将所述副本DOM树中的行内节点与相连的文字节点进行合并处理,以及对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,获得目标DOM树;
通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值;
根据计算获得的所述各个节点的结构哈希值,将所述待转换Web页面分割为多个内容块。
可选地,所述根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树,包括:
向预设DOM树副本构建算法中,每次输入所述待转换Web页面的DOM树中的一个节点和该节点对应的父节点;
在所述一个节点为非无关节点时,构建与所述非无关节点对应的副本节点,并遍历所述一个节点的子节点,以创建所述一个子节点的所有子节点各自对应的副本子节点;
将所述副本子节点中的每个副本子节点与前一个副本子节点相连,由此构建与所述DOM树对应的副本DOM树。
可选地,对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,包括:
对所述副本DOM树中每个节点的包围盒的宽度值进行排序;
在所述排序结果中,按从大到小的顺序选择出一个满足预设要求的目标宽度值;
将所述副本DOM树中包围盒的宽度值与所述目标宽度值相同的节点,沿y轴顺序排列为数组;
对所述数组中的每个节点的文字密度和外链比值进行计算;
将所述每个节点中的文字密度低于第一预设阈值的节点,确定为下界节点,以及将所述每个节点中的外链比值高于第二预设阈值的节点,确定为上界节点;
根据确定的所述下界节点和所述上界节点,去除所述副本DOM树中位于所述下界节点以上的所有节点和所述上界节点以下的所有节点。
可选地,所述通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值,包括:
将所述各个节点,分别输入所述预设哈希值算法;
在输入所述预设哈希值算法中的节点为叶子节点的情况下,将所述叶子节点的标签值和class属性值初始化为字符串变量;
通过对所述字符串变量进行哈希值计算,获得所述叶子节点的结构哈希值;
在输入所述预设哈希值算法中的节点为列表节点的情况下,将所述列表节点的标签值和class属性值初始化为字符串变量;
将所述列表节点的第一个子节点的结构哈希值和所述列表节点的字符串变量进行拼接,获得第一字符串变量;
通过对所述第一字符串变量进行哈希值计算,获得所述列表节点的结构哈希值;
在输入所述预设哈希值算法中的节点为具有子节点,且不为列表节点的目标节点的情况下,将所述目标节点的标签值和class属性值初始化为字符串变量;
将所述目标节点的所有子节点按各自的结构哈希值进行排序;
将排序后的所有子节点的结构哈希值和所述目标节点的字符串变量进行拼接,获得第二字符串变量;
通过对所述第二字符串变量进行哈希值计算,获得所述目标节点的结构哈希值。
可选地,所述根据计算获得的所述各个节点的结构哈希值,将所述待转换Web页面分割为多个内容块,包括:
将所述各个节点的结构哈希值,分别输入预设分割算法;
在输入所述预设分割算法中的节点为叶子节点的情况下,不对该叶子节点进行分割;
在输入所述预设分割算法中的节点只有一个子节点的情况下,将该节点和该节点的子节点作为整体进行内容块的分割;
在输入所述预设分割算法中的节点包括多个子节点的情况下,将该节点所包括的多个子节点中结构哈希值相同的子节点划分为一个内容块。
可选地,在将所述待转换Web页面分割为多个内容块之后,所述方法还包括:
通过所述预设标题模型,提取所述目标DOM树中的各个节点的标题;
在一个节点具有标题的情况下,将该节点的标题确定为该节点所属的最小内容块的标题;
将经过标题标记后的所述多个内容块分别输入预设分割优化算法,进行内容块的分割优化,获得优化后的各个内容块。
可选地,所述将经过标题标记后的所述多个内容块分别输入预设分割优化算法,进行内容块的分割优化,获得优化后的各个内容块,包括:
将经过标题标记后的所述多个内容块分别输入预设分割优化算法;
在输入所述分割优化算法中的内容块为无标题标记的内容块,且该内容块包含有标题标记的子内容块的情况下,去除该无标题标记的内容块的外围内容块划分,以将该包含有标题标记的子内容块作为独立的内容块;
在输入所述分割优化算法中的内容块为有标题标记的内容块,且该内容块包含无标题标记的子内容块的情况下,将该无标题标记的子内容块与该有标题标记的内容块进行合并。
可选地,在将所述待转换Web页面分割为多个内容块之后,所述方法还包括:
对所述待转换Web页面进行动态内容监测;
在监测到新增节点的情况下,计算所述新增节点的结构哈希值,并将所述新增节点划分为内容块,所述新增节点至少包括一个;
在所述各个节点中存在与所述新增节点中的根节点的结构哈希值相同的第一节点的情况下,将所述新增节点对应的内容块与包含所述第一节点的最小内容块进行合并。
本申请实施例提供了一种基于内容分割的Web数字对象提取方法。通过将Web页面划分为内容块,自动获取Web页面的各个内容块中的数据和元信息,通过与数字对象引擎进行交互,以将各内容块的数据自动转化为数字对象。
第二方面,本申请实施例提供一种基于内容分割的Web数字对象提取系统,所述系统包括:
模式切换模块,用于根据用户在前端界面的选择操作,控制待转换Web页面在浏览模式和数字对象生成模式之间进行切换;
内容块分割模块,用于在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,所述多个内容块在前端界面进行展示;
关键信息提取模块,用于提取所述多个内容块中的关键信息,所述关键信息包括标题、摘要和关键词中的至少一者;
数字对象配置模块,用于根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;
数字对象注册模块,用于根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的数字对象结构的示意图;
图2是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的数字对象数据获取的流程示意图;
图3是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的用户主动创建数字对象的流程示意图;
图4是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法的流程图;
图5是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的Web页面分割结果的示意图;
图6是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的数字对象配置界面的示意图;
图7是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的内容块边界调节的示意图;
图8是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设DOM树副本构建算法的示意图;
图9是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设哈希值算法的示意图;
图10是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中计算节点的结构哈希值的示意图;
图11是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中计算节点的结构哈希值的另一示意图;
图12是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中内容块分割的示意图;
图13是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设分割算法的示意图;
图14是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中一个子节点内容块分割的示意图;
图15是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的新建内容块算法的示意图;
图16是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设分割优化算法的示意图;
图17是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的内容块分割优化的示意图;
图18是本申请一实施例示出的一种基于内容分割的Web数字对象提取系统的示意图;
图19是本申请一实施例示出的一种基于内容分割的Web数字对象提取系统的另一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请所提供的一种基于内容分割的Web数字对象提取方法进行说明之前,首先对相关技术领域中的数字对象进行说明,数字对象体系(Digital ObjectArchitecture)由TCP/IP的创建者Robert Kahn提出。图1是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的数字对象结构的示意图。如图1所示,在DOA中数据被抽象为数字对象(Digital Object,简称DO),由唯一ID标识,包含固有属性、自定义属性和数据。其中固有属性和自定义属性共同构成了数字对象的元信息,数据本身也由数字对象组成,可包含元信息。数字对象向下屏蔽数据存储的细节,客户端无需了解数字对象的存储位置即可通过ID获取对应数字对象。
DOA为了解决数字对象的存储、注册和标识解析,对应的设计了三个构件:1)仓库(Repository)负责存储DO并提供DO的访问接口,2)解析系统(Resolution System)负责提供DO标识的解析服务,3)注册表(Registry)负责存储DO元信息,元信息可以是关键词、图片或者多媒体,注册表可以基于元信息提供DO的搜索服务。与互联网体系中的IP协议相对应,DOA也设计了两个协议,IRP是DO标识解析的标准协议,DOIP则用于DO的搜索和访问。图2是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的数字对象数据获取的流程示意图。如图2所示,用户使用DO的唯一标识发起请求,解析系统将返回实际存储DO的数据仓库的位置,用户再使用DOIP协议与该仓库交互,从而取回数据。用户也可以向注册表服务器发起DOIP请求,搜索包含某些关键词的DO。
当前数据仓库的实现是通过用户主动请求的方式创建DO。图3是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的用户主动创建数字对象的流程示意图。如图3所示,用户向数据仓库发送请求注册DO,收到请求后,数据仓库向解析系统发送注册请求。解析系统随后返回一个唯一的ID,数据仓库将该ID作为DO的标识,DO注册完毕。
以将互联网上的数据转换成DO为例,当前全球Web站点已超12亿,通过主动创建的方式已难以规模化地将Web页面中的数据转换为数字对象。这使得数字对象的生产环节成为数据开放共享的新瓶颈。因此,如何建立一个转换层,自动从Web页面中获取所需数据,解析数据的元信息,进而转换成数字对象是亟待解决的一个课题。
基于此,本申请提供一种基于内容分割的Web数字对象提取方法,作为将Web页面中的数据内容转换为数字对象的一个转换层,以实现自动从Web页面中获取所需数据,解析数据的元信息,进而转换成数字对象,从而达到规模化地将Web页面中的数据转换为数字对象。
图4是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法的流程图。参照图4,本申请提供的基于内容分割的Web数字对象提取方法,包括:
步骤S11:根据用户在前端界面的选择操作,控制待转换Web页面在浏览模式和数字对象生成模式之间进行切换;
步骤S12:在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,所述多个内容块在前端界面进行展示;
步骤S13:提取所述多个内容块中的关键信息,所述关键信息包括标题、摘要和关键词中的至少一者;
步骤S14:根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;
步骤S15:根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性。
在本实施例中,本申请所述的方法,在Web页面浏览的前端设计有Web页面的两种浏览模式,一种为常规的Web页面浏览模式,一种为Web页面的数字对象生成模式。
可选地,在常规的Web页面浏览模式和数字对象的生成模式之间进行切换的实现方式优选为在Web页面页面顶端设置一个控制图标,根据用户对该控制图标的点击操作进行两种模式之间的切换,同时对于两种模式之间的切换实现方式可选为其他可以实现两种模式进行切换的实现方式,在此不做具体限定。
在本实施例中,图5是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的Web页面分割结果的示意图。参照图5,用户首先在浏览模式下输入目标Web页面的URL,在用户需要对目标Web页面的下属子Web页面进行数字对象的转换时,此时可通过不断点击跳转,来跳转到待转换Web页面。待选定想要转换为数字对象的待转换Web页面后,点击数字对象生成模式开关,该模式下将向该待转换Web页面注入Web页面分割相关代码。Web页面分割的结果会以数据参考线的形式展现在待转换Web页面中,如图5中各虚线框所示,即为分割为的各个内容块。每个Web页面内容块由闭合的数据参考线包围,每个Web页面内容块对应一个DO。由此将待转换Web页面分割为多个内容块,多个内容块以数据参考线的形式展现在前端界面中。
在本实施例中,在将待转换Web页面分割为多个内容块后,将通过预设算法,提取各个内容块中的关键信息,以作为每个内容块将转化为的数字对象的元信息。关键信息包括内容块的主题这种关键信息,以及包括内容块的摘要和关键词这种关键信息。
在本申请中,提取各个内容块的关键信息,具体包括:在内容块为具有标题的第一内容块的情况下,通过预设标题模型预测所述第一内容块的标题,以及通过TextRank算法提取所述第一内容块中的摘要和关键词;在内容块为无标题的第二内容块的情况下,通过TextRank算法提取所述第二内容块中的摘要和关键词。
在本实施例中,在Web页面设计中,并不是所有内容块主体都会为其设置标题。因此,本申请预先构建了一个预设标题模型,用于在内容块主体为具有标题的第一内容块时,通过该预设标题模型预测该内容块主体的标题,并且同时通过TextRank算法提取该内容块主体的摘要和关键词。而在内容块主体为不具有标题的第二内容块时,通过该预设标题模型无法预测该内容块主体的标题,此时直接通过TextRank算法提取该内容块主体的摘要和关键词。
在本实施例中,通过预设标题模型预测内容块的标题的具体方式为:将整个待转换Web页面的DOM树中的各个节点的数据内容分别输入到该预设标题模型中;在该预设标题模型预测到一个节点的标题后,以该标题对包括该节点的最小内容块进行标题标记。
应当理解的是,待转换Web页面的数据内容可以以DOM树的形式进行表示,而将该待转换Web页面切割为多个内容块后,每个内容块就包括该DOM树中的至少一个节点。在一个节点具有标题时,直接以该节点的标题对包括该节点的最小内容块进行标题标记。
在本申请中,获得所述预设标题模型的训练过程,包括如下步骤:提取预设数量的标题样本Web页面的文本特征作为训练集,所述文本特征由多个不同类型的初始特征共同构成;将所述训练集输入初始标题模型进行训练,获得所述预设标题模型;其中,所述多个不同类型的初始特征包括:文本长度特征和文本长度变化量特征、字体大小特征和字体大小变化量特征、字体颜色特征和字体颜色变化量特征、字体权重特征和字体权重变化量特征、内容块背景颜色特征和内容块背景颜色变换量特征、背景边框特征、文本长度变化量特征。
在本实施例中,离线训练预设标题模型阶段,输入为已标注标题的Web页面样本。离线训练阶段首先对Web页面样本中的文本元素进行特征提取。提取到的文本特征需要能有效区分常规文本和标题文本的区别。本申请选取的构成文本特征的多个不同类型的初始特征分为两类。
第一类为文本元素本身的特征,包括:文本长度特征、字体大小特征、字体颜色特征、字体权重特征、内容块背景颜色特征、背景边框特征(包括是否有背景边框)、标题标签特征(包括是否有标题标签<h>)。
其中,含有背景边框是指任意一个边框的颜色与其他边框不一样,字体权重特征指的是字体的weight,用来表示字体的粗细程度。
第二类为与第一类文本元素本身的特征对应的变化量特征,包括:文本长度变化量特征、字体大小变化量特征、字体颜色变化量特征、字体权重变化量特征、内容块背景颜色变换量特征。
其中,文本长度变化量特征指的是相邻文本之间长度的变化量,比如标题和正文相邻,那么会把标题的字数减去正文的字数作为一个变化量特征。字体大小变化量特征指的是相邻文本之间字体大小的变化量。字体颜色变化量特征指的是相邻文本之间字体颜色的变化量。字体权重变化量特征指的是相邻文本之间字体weight的变化量。内容块背景颜色变换量特征指的是相邻文本之间背景颜色的变化量。其中文本长度、字体大小、权重均为标量,变化量即为标量之差。颜色(IR,IG,IB)为三通道RGB组成的向量,变化量的定义如下:
各个变化量特征具体含义为,将各文本元素作为基本单位,按照DOM元素出现的顺序进行排列,将文本元素本身的特征的变化量,即特征在文本元素列表中的差分作为新的特征。特征差分的定义为前向差分与后向差分的绝对值的均值:
Δf(xk)=1/2(|f(xk+1)-f(xk)|+|f(xk)-f(xk-1)|)
其中,△f(xk)指的是当前第k个变化量特征,如文本长度变化量特征,或字体大小变化量特征,或字体颜色变化量特征,或字体权重变化量特征,或内容块背景颜色变换量特征:
f(xk)即为第k个的特征,如文本长度特征,或字体大小特征,或字体颜色特征,或字体权重特征,或内容块背景颜色特征;
f(xk+1)为与第k个特征相邻,位于其后的第k+1个的特征,如文本长度特征,或字体大小特征,或字体颜色特征,或字体权重特征,或内容块背景颜色特征;
f(xk-1)为与第k个特征相邻,位于其前的第k-1个的特征,如文本长度特征,或字体大小特征,或字体颜色特征,或字体权重特征,或内容块背景颜色特征。
应当理解的是,在△f(xk)在确定为一个特定的变化量特征后,f(xk)、f(xk+1)、f(xk-1)也就随之确定为与该△f(xk)对应的变化量特征,如在△f(xk)为文本长度变化量特征的情况下,f(xk)、f(xk+1)、f(xk-1)对应的特征也就为文本长度特征。
在本实施例中,在用户由常规的Web页面浏览模式,切换为Web页面的数字对象生成模式后,随即向待转换Web页面注入Web页面分割相关代码,以及通过预设标题模型和TextRank算法开始提取待转换Web页面中各个内容块的标题、摘要和关键词。在用户在前端界面展现的多个内容块中点选一个目标内容时,随即创建与该目标内容块对应的数字对象配置界面,在该目标内容块具有标题的情况下,其中展现了该目标内容块的标题、摘要和关键词,以及添加与该目标内容块对应的数字对象的元信息的控制按钮,以及将该目标内容块提交以创建与该目标内容块对应的数字对象的提交控制按钮。
在本实施例中,在创建好与该目标内容块对应的数字对象配置界面后,根据用户从标题、摘要和关键词中点选的目标关键信息,在点击添加元信息后,将点选的目标关键信息作为创建与该目标内容块对应的数字对象的元信息。在用户点击提交控制按钮后,将该目标内容块内的底层数据内容和目标关键信息,发送给数字对象引擎。数字对象引擎根据接收到的该目标内容块内的底层数据内容和目标关键信息,将该目标内容块内的底层数据内容转化为数字对象,将该目标关键信息转化为该数字对象的元信息,并为该数字对象配置唯一的ID,以用于用户根据该ID获取到该数字对象。
在本申请中,所述方法还包括:根据用户在前端界面中对所述目标内容块的调节操作,控制所述目标内容块进行边界调节,以对所述目标内容块进行修正,获得修正目标内容块;所述根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性,包括:根据用户从展示的所述多个内容块中选择的所述修正目标内容块,创建与所述修正目标内容块对应的数字对象配置界面;根据用户从该数字对象配置界面中选择的修正目标关键信息,将所述修正目标内容块和所述修正目标关键信息发送至数字对象引擎,以构建与所述修正目标内容块对应的修正目标数字对象,所述修正目标关键信息将作为所述修正目标数字对象的自定义属性。
在本实施例中,图7是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的内容块边界调节的示意图。参照图7,在前端展现的多个内容块可进行边界调节。Web页面分割的结果可能存在误差,用户可对前端界面展示的多个内容块的分割结果的边界进行调节,以对分割的内容块的边界进行修正。在从分割获得的多个内容块中选择特定的目标内容块的虚线框时,鼠标焦点所在的目标内容块将出现三个配置按钮,从上到下依次是边界向外扩张、边界向内收缩以及添加为数字对象。
在用户认为数据参考线不准确,可以点击扩张或收缩按钮进行调整。此时该目标内容块的虚线框,也就是目标内容块的边界,会相对应地向外或向内移动。根据对扩张或收缩按钮的点击操作,扩大或缩小目标内容块的边界。
在确定目标内容块的边界无误后,选中该修正目标内容块,点击添加数字对象按钮,创建与该修正目标内容块对应的数字对象配置界面。在该修正目标内容块具有标题的情况下,其中展现了该修正目标内容块的标题、摘要和关键词,以及添加与该修正目标内容块对应的数字对象的元信息的控制按钮,以及将该修正目标内容块提交以创建与该修正目标内容块对应的数字对象的提交控制按钮。
在本实施例中,在创建好与该修正目标内容块对应的数字对象配置界面后,根据用户从标题、摘要和关键词中点选的修正目标关键信息,在点击添加元信息后,将点选的修正目标关键信息作为与该修正目标内容块对应的数字对象的元信息。在用户点击提交控制按钮后,将该修正目标内容块内的底层数据内容和修正目标关键信息,发送给数字对象引擎。数字对象引擎根据接收到的该修正目标内容块内的底层数据内容和修正目标关键信息,将该修正目标内容块内的底层数据内容转化为数字对象,将该修正目标关键信息转化为该数字对象的元信息,并为该数字对象配置唯一的ID,以用于用户根据该ID获取到该数字对象。
在本实施例中,DO中的元信息以键值对的方式存在。若选中的内容块包含标题,或是包含该内容块的更大的内容块包含标题,该标题将作为DO的一组元信息。从点击添加数字对象按钮到数字对象配置界面加载之前,前端将向后端的摘要和关键词提取模块发送请求,对选择的内容块进行摘要和关键词的提取。除标题和其它元信息键值对以外,用户还可以自定义添加其它与选中内容块相关的信息作为DO的元信息。
在数字对象配置窗口点击提交后,前端将向后端的数字对象注册模块发出请求,数字对象注册模块向第三方服务的数字对象引擎Cordra申请一个独一无二的标识符作为该DO的ID,并将生成的数字对象存储到数字对象引擎中。至此,Web页面中的该内容块中的页面数据成功转换成数字对象,因特网上的所有用户可以通过该数字对象的ID访问到其包含的数据。
在本申请中,步骤S12在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,具体包括:
子步骤S121:获取所述待转换Web页面的DOM树;
子步骤S122:根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树;
子步骤S123:将所述副本DOM树中的行内节点与相连的文字节点进行合并处理,以及对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,获得目标DOM树;
子步骤S124:通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值;
子步骤S125:根据计算获得的所述各个节点的结构哈希值,将所述待转换Web页面分割为多个内容块。
在本实施例中,将Web页面中的数据内容自动转换成数字对象的核心在于待转换Web页面的内容块的边界的确定。而确定待转换Web页面的内容块的边界存在以下两点的挑战。第一点,由于Web页面的数据组织形式没有统一的模式,如:相同类型的HTML标签可有不同的布局,如table元素既可以用来组织表格内容,又可以通过CSS辅助隐藏表格边沿,从而实现组织Web页面块的功能;不同类型的HTML标签可以产生相同的布局,如div可以与CSS样式调整配合,形成与li标签类似的列表样布局,由此,使得难以对Web页面的内容块的边界进行确定;第二点,Web页面内容加载存在动态性。当前Web页面中许多数据是通过ajax异步加载到Web页面中,不需要刷新Web页面即可完成数据的更新。用户在与Web页面交互如点击、滚动等过程中Web页面产生动态加载,从而导致页面结构产生变化,由此使得难以对Web页面的内容块的边界进行确定。
基于此,本申请提出了一种新的Web页面的内容块的边界确定及分割方法,不再考虑Web页面页面的组织方式,而从Web页面的子结构出发,基于Web页面的DOM树中的各个节点的标签值和class属性值,计算各个节点的结构哈希值。然后基于各个节点的结构哈希值确定内容块的边界,并分割获得多个内容块。同时该新的Web页面的内容块的边界确定及分割方法,可以对动态加载的内容进行内容块的边界确定和分割。
具体地,由于需要通过Web页面中各个节点的结构哈希值对Web页面进行分割,因此对于需要进行Web页面分割的待转换Web页面,需要获取该待转换Web页面的底层DOM树结构。
在获取到待转换Web页面的DOM树后,由于直接在待转换Web页面的DOM树中增删节点会改变待转换Web页面的布局。为方便后续对DOM树进行合并行内节点和去除Web页面头和Web页面页脚的预处理,构建一个与待转换Web页面的DOM树对应的副本DOM树。
在本申请中,步骤S122:根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树,具体包括:
子步骤S1221:向预设DOM树副本构建算法中,每次输入所述待转换Web页面的DOM树中的一个节点和该节点对应的父节点;
子步骤S122:在所述一个节点为非无关节点时,构建与所述非无关节点对应的副本节点,并遍历所述一个节点的子节点,以创建所述一个子节点的所有子节点各自对应的副本子节点;
子步骤S123:将所述副本子节点中的每个副本子节点与前一个副本子节点相连,由此构建与所述DOM树对应的副本DOM树。
在本实施例中,由于在待转换Web页面的DOM树中具有无关节点,即空节点、<script>和<style>等脚本或样式相关的节点。这类节点只是Web页面的一些样式表示等,并不会对Web页面内容块中的内容数据造成影响。因此,在构建与待转换Web页面的DOM树对应的副本DOM树时,无须对这类节点构建与之对应的副本节点。由此,预先构建了一个DOM树副本构建算法,图8是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设DOM树副本构建算法的示意图。参照图8,构建与待转换Web页面的DOM树对应的副本DOM树的过程具体为,向预设DOM树副本构建算法每次输入一个节点r和该节点的父节点rp。判断输入预设DOM树副本构建算法中的节点是否为无关节点,在输入预设DOM树副本构建算法中的节点为无关节点时,不构造与该节点对应的副本节点(如图8中标注的第1-2行);在输入预设DOM树副本构建算法中的节点不为无关节点的其他非无关节点时,构建与该非无关节点对应的副本节点d,并遍历该非无关节点的所有子节点,递归调用该预设DOM树副本构建算法,创建所有子节点各自对应的副本子节点(如图8中标注的第3-5行)。
同时,由于后续需要对构建的副本DOM树进行合并行内节点的处理,因此为了便于后续对构建的副本DOM树进行合并行内节点的处理,在构建与待转换Web页面的DOM树对应的副本DOM树的过程中还需要将构建的副本子节点按照顺序进行串联。
具体地,对于一个节点的所有副本子节点,按照顺序分别与各自的前一个副本子节点相连(如图8中标注的第6-8行)。在将待转换Web页面的DOM树中的所有节点分别输入到预设DOM树副本构建算法中,进行了对应的副本节点创建后,由此构建出与待转换Web页面的DOM树对应的副本DOM树。
在本实施例中,DOM树中的行内节点指的是文字节点内部为了强调具有特殊含义的内容而添加的标签节点,如行内元素标签<span>,字体修饰标签<b>和<i>,分别具有对文本加粗和斜体的功能。
在DOM树中,行内节点会作为文本节点的一个兄弟节点,包含文本节点的修饰内容,行内节点与其兄弟文本节点在语义上相同,因此将行内节点与相邻的文本节点进行合并,有助于后续更加快速地进行内容块的分割,提高内容块分割的效率。
同时,Web页面除包含呈现给浏览者的信息以外,还包含大量站点相关信息,如呈现站点信息的Web页面头(header),呈现Web页面备案信息和友情链接的Web页面页脚等。这些站点相关信息在同一站点不同Web页面之间一般是一致的,这部分内容块分割成内容块并没有实质性的作用,因此在进行内容块分割之前,将Web页面中的这部分内容排除在分割范围之外,以提高Web页面分割的效率。
因此,在构建了与待转换Web页面的DOM树对应的副本DOM树后,执行步骤S123,将副本DOM树中的各个行内节点分别与各自相连的兄弟文字节点进行合并处理,如在一个行内节点的前向节点为文字节点时,将该行内节点合并入该前向节点;在一个行内节点的后向节点为文字节点时,将该行内节点合并入该后向节点;在一个行内节点的前向节点和后向节点均为文字节点时,将该行内节点合并入前向节点。并对副本DOM树进行去除Web页面头和Web页面页脚的预处理。
在本申请中,对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,具体包括:对所述副本DOM树中每个节点的包围盒的宽度值进行排序;在所述排序结果中,按从大到小的顺序选择出一个满足预设要求的目标宽度值;将所述副本DOM树中包围盒的宽度值与所述目标宽度值相同的节点,沿y轴顺序排列为数组;对所述数组中的每个节点的文字密度和外链比值进行计算;将所述每个节点中的文字密度低于第一预设阈值的节点,确定为下界节点,以及将所述每个节点中的外链比值高于第二预设阈值的节点,确定为上界节点;根据确定的所述下界节点和所述上界节点,去除所述副本DOM树中位于所述下界节点以上的所有节点和所述上界节点以下的所有节点。
在本实施例中,Web页面头和Web页面页脚最显著的特征是分别位于Web页面的上下两端,且宽度通常等同于Web页面元素的最大宽度。因此先对副本DOM树中各个节点的包围盒的宽度进行排序,按从大到小的顺序从中选择出一个满足预设要求,同时宽度值最大的一个目标宽度值。满足预设要求值指的是宽度值对应的节点的数量大于1个,同时该宽度对应的DOM节点按Web页面的y轴排序后,该数量大于1个的各个节点中的第一个节点应位于页面的前1/2,且左上角不越过横向或纵向的中线。由此,确定出一个宽度值最大的目标宽度值。将副本DOM树中包围盒的宽度值与该宽度值最大的目标宽度值相同的节点,沿Web页面的y轴进行顺序排列,排列为一个数组。
由于Web页面头通常文字密度较低,Web页面页脚通常用于放置相关Web页面的链接,因此常出现较多的外部链接。当出现文字密度由低到高处时判断为Web页面头分界线,出现外链比值增高处为Web页面页尾分界线。因此,计算该数组中的各个节点的文字密度和外链比值。
在得到该数组中的各个节点的文字密度和外链比值后,将其中文字密度低于第一预设阈值的节点确定为Web页面头的下界节点,将其中外链比值高于第二预设阈值的节点确定为Web页面页脚的上界节点。去除掉副本DOM树中位于下界节点以上的各个节点,同时去除副本DOM树中位于上界节点以上的各个节点。由此,将去除掉副本DO树中的Web页面头和Web页面页脚。
在本实施例中,外链比值为外部链接与内部链接的比值。所述第一预设阈值和所述第二预设阈值,根据实际需求进行设定,在此不做具体限定。
在对副本DOM树进行行内节点合并,以及对副本DOM树进行去除Web页面头和Web页面页脚的预处理后,得到目标DOM树。在得到目标DOM树后,执行步骤S14,计算目标DOM树中的各个节点的结构哈希值。根据目标DOM树中的各个节点的结构哈希值,对待转换Web页面进行Web页面分割。
在本申请中步骤S124通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值,具体包括:将所述各个节点,分别输入所述预设哈希值算法;在输入所述预设哈希值算法中的节点为叶子节点的情况下,将所述叶子节点的标签值和class属性值初始化为字符串变量;通过对所述字符串变量进行哈希值计算,获得所述叶子节点的结构哈希值;
在输入所述预设哈希值算法中的节点为列表节点的情况下,将所述列表节点的标签值和class属性值初始化为字符串变量;将所述列表节点的第一个子节点的结构哈希值和所述列表节点的字符串变量进行拼接,获得第一字符串变量;通过对所述第一字符串变量进行哈希值计算,获得所述列表节点的结构哈希值;
在输入所述预设哈希值算法中的节点为具有子节点,且不为列表节点的目标节点的情况下,将所述目标节点的标签值和class属性值初始化为字符串变量;将所述目标节点的所有子节点按各自的结构哈希值进行排序;将排序后的所有子节点的结构哈希值和所述目标节点的字符串变量进行拼接,获得第二字符串变量;通过对所述第二字符串变量进行哈希值计算,获得所述目标节点的结构哈希值。
在本实施例中,不同Web页面之间的视觉设计和数据的组织方式各不相同,但同一个Web页面内部各个内容块的组织方式往往又保持一致。反映到Web页面的DOM树上即各内容块的Web页面子结构是一致的,而在DOM树上的各内容块的Web页面子结构一致的情况下,而各内容块的Web页面子节点又与内容块中的各个节点的标签、class类别属性相关。因此,本申请基于节点的标签值和class类别属性值,计算各个节点的结构哈希值。然后再根据结构哈希值来对Web页面进行内容块分割,可有效提高Web页面内容块分割的效率和准确性。
具体地,本申请预先构建了一个预设哈希值算法,图9是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设哈希值算法的示意图。参照图9,计算目标DOM树中的各个节点的结构哈希值的具体过程为,采用自底向上的方式计算各节点结构哈希值,向预设哈希值算法中每次输入一个目标DOM树中节点。判断输入预设哈希值算法中的节点是否具有子节点(如图9中标注的第1行),在输入预设哈希值算法中的节点为无子节点的叶子节点时(如图9中标注的第12行),获取该叶子节点的标签值和对应的class属性值,将其初始化为hashString字符串变量,对该字符串变量求哈希值,获得该叶子节点的结构哈希值。
在输入预设哈希值算法中的节点为具有子节点,且不为列表节点的目标节点时,对该目标节点的所有子节点求结构哈希值(如图9中标注的第1-4行)。随后构建一个包括所有子节点的结构哈希值的集合(如图9中标注的第5行),并按照所有子节点的结构哈希值对子节点进行排序(如图9中标注的第6行),将该目标节点的标签值和class属性值初始化为字符串变量(如图9中标注的第7行)。将排序后的所有子节点的结构哈希值按照顺序进行拼接,在拼接后继续与由该目标节点的标签值和class属性值组成的字符串变量进行拼接,得到第二字符串变量,对该第二字符串变量求哈希值,获得该目标节点的结构哈希值(如图9中标注的第8-10行)。
在本实施例中,由于一个节点的结构将受到其子节点结构的影响,因此在求解具有子节点的目标节点的结构哈希值的情况下,需要将该目标节点的所有子节点的结构哈希值考虑在内。因此,在求解目标节点的结构哈希值时,将该目标节点的所有子节点的结构哈希值与该目标节点所对应的字符串变量进行拼接,然后通过计算拼接得到的字符串,得到目标节点的结构哈希值。
同时,由于本申请是根据节点的结构哈希值,进行内容块的划分,因此结构相同的两个或多个节点,其结构哈希值需要相同,才能根据各个节点的结构哈希值,对Web页面进行内容块的分割。而在该两个或多个节点相同,但该两个或多个节点下属的子节点排列顺序不同时,如果不对子节点进行排序,将导致该两个或多个节点的结构相同,但计算得到的结构哈希值却不同。因此,在将目标节点的所有子节点的结构哈希值进行拼接之前,需要对该目标节点的所有子节点的结构哈希值排序后再进行拼接,来计算该目标节点的结构哈希值,以避免结构相同的两个或多个节点,因为各自的子节点排列顺序的不同,所导致的结构哈希值不同。
示例地,图10是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中计算节点的结构哈希值的示意图。参照图10,以结构相同的两个节点,节点1和节点2为例,节点1和节点2的子节点都为节点a和节点b和节点ul,但节点1和节点2各自的子节点排列顺序不同,节点1的标签值和class属性值组成的字符串变量和节点2的标签值和class属性值组成的字符串变量均为string(x)。如果不对子节点的结构哈希值按照结构哈希值进行排序的情况下,将节点1中的各个子节点的结构哈希值拼接得到的第二字符串变量为hash(a)+hash(b)+hash(ul)+sting(x),将节点2中的各个子节点的结构哈希值拼接得到的第二字符串变量为hash(b)+hash(a)+hash(ul)+sting(x),两者的字符串变量不同,对其进行计算,得到的节点1的结构哈希值和节点2的结构哈希值不同。由此,不对目标节点的子节点进行排序,将导致节点1和节点2的结构相同,但求解得到的各自的结构哈希值不同,无法进行准确的内容块分割。
而对子节点的结构哈希值按照结构哈希值进行排序的情况下,且排序结果为hash(a)、hash(b)、hash(ul)的情况下。将节点1中的各个子节点的结构哈希值拼接得到的第二字符串变量为hash(a)+hash(b)+hash(ul)+sting(x),将节点2中的各个子节点的结构哈希值拼接得到的第二字符串变量为hash(a)+hash(b)+hash(ul)+sting(x),两者的字符串变量相同,对其进行计算,得到的节点1的结构哈希值和节点2的结构哈希值相同。由此,可进行准确的内容块分割。
在本实施例中,由于本申请是根据节点的结构哈希值,进行内容块的划分,因此结构相同的两个或多个节点,其结构哈希值需要相同,才能根据各个节点的结构哈希值,对Web页面进行内容块的分割。而在该两个或多个节点中的子节点中包括列表节点,而列表节点<ul>由于列表行的不同,将存在不同数量的子节点<li>,但该两个或多个节点只是各自的子节点所包括的列表节点的列表行不同,实际上该两个或多个节点的结构是一致的。此时,在对该两个节点或多个节点求结构哈希值时,如果同时考虑子节点中的列表节点下的所有子节点<li>,,由于各自的子节点<li>的数量不同,将导致结构一致的该两个或多个节点的结构哈希值不同,而实际上该两个或多个节点的结构是一致的。为解决该问题,本申请在输入预设哈希值算法中的节点为列表节点的情况下,只对该列表节点的第一个子节点<li>求结构哈希值。将该列表节点的标签值和class属性值初始化为字符串变量。将该第一个子节点的结构哈希值与由该列表节点的标签值和class属性值组成的字符串变量进行拼接,得到第一字符串变量,对该第一字符串变量求哈希值,获得该列表节点的结构哈希值。
由此,可避免对于结构一致的两个或多个节点,由于该两个或多个节点的子节点中存在列表节点,且各自的列表子节点的子节点<li>的数量不同,而导致的结构一致的该两个或多个节点的结构哈希值不同。以此增加Web页面内容块的分割准确性。
示例地,图11是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中计算节点的结构哈希值的另一示意图。参照图11,以结构相同的两个节点,节点3和节点4为例,节点3和节点4的子节点都为节点c和节点d和节点ul。由于节点3的子节点<ul>包括两个下属子节点<li>,而节点4的子节点<ul>包括一个下属子节点<li>。在计算节点3和节点4的子节点<ul>的机构哈希值时,如果考虑所有下属子节点<li>的结构哈希值,将导致最终求解到的节点3和节点4的子节点<ul>的机构哈希值不同,进而导致节点3和节点4的结构哈希值不同。由此,将导致节点3和节点4的结构相同,但求解得到的各自的结构哈希值不同,无法进行准确的内容块分割。
而本申请在计算列表节点的结构哈希值时,对于节点3的列表节点<ul>,只计算该列表节点<ul>的第一个子节点<li>的结构哈希值。然后将节点3的列表节点<ul>的标签值和clcss属性值初始化为字符串变量。将该第一个子节点的结构哈希值与由该列表节点的标签值和clcss属性值组成的字符串变量进行拼接,得到第一字符串变量,对该第一字符串变量求哈希值,即获得该节点3的列表节点的结构哈希值。同时节点4也是以上述的计算方式,只基于节点4的列表节点<ul>中的下属子节点中的第一个子节点的结构哈希值,计算获得节点4的列表节点<ul>的结构哈希值,在此不再赘述。由此,计算获得的节点3和节点4各自的列表节点的结构哈希值也就相同。
同时,节点3和节点4中的子节点c和子节点d顺序不同,对该子节点c和子节点d的结构哈希值进行排序后,再进行节点3和节点4的结构哈希值的计算。具体地,节点3的标签值和clcss属性值组成的字符串变量和节点4的标签值和clcss属性值组成的字符串变量均为string(y)的情况下,且在排序结果为hash(c)、hash(d)、hash(ul)的情况下。将节点3中的各个子节点的结构哈希值拼接得到的第二字符串变量为hash(c)+hash(d)+hash(ul)+sting(y),将节点4中的各个子节点的结构哈希值拼接得到的第二字符串变量为hash(c)+hash(d)+hash(ul)+sting(y),两者的字符串变量相同,对其进行计算,得到的节点3的结构哈希值和节点4的结构哈希值相同。由此,可进行准确的内容块分割。
在本实施例中,通过对节点的字符串变量求哈希值,得到该节点的结构哈希值的方法,参考JDK8的实现,在此不再赘述。
在本实施例中,在计算获得目标DOM树中各个节点的结构哈希值后,结构哈希值相同的多个节点,该多个节点中的每个节点及每个节点下属的所有从属节点所构成的子Web页面结构是一致的,可将其分割为一个内容块。
由此,根据各个节点的结构哈希值进行自顶向下嵌套分割,也就是根据计算获得的各个节点的结构哈希值,将在目标DOM树中深度相同并且连续的结构哈希值相同的多个节点及该相同的多个节点所包括的所有下属的所有从属节点分割为一个内容块,同时将继续向下嵌套分割,将该在目标DOM树中深度相同并且连续的结构哈希值相同的多个节点,再分别分割为各自的内容块。由此,获得多个内容块。而在目标DOM树中深度相同并且连续的结构哈希值不同的多个节点,直接将其分别分割为各自的内容块。
示例地,图12是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中内容块分割的示意图。参照图12,图中的虚线框为一个内容块,自顶向下的嵌套分割为最上层的节点A为整个目标DOM树的根节点,以该节点A划分一个最大的内容块。而在同一深度且连续的节点B和节点C的结构哈希值相同的情况下,此时将节点B和节点C及两者的下属的所有从属节点划分为一个内容块。同时将继续向下嵌套分割,分别将节点B及下属的所有从属节点划分为一个内容块,以及将节点C及下属的所有从属节点划分为一个内容块。
而在同一深度且连续的节点D和节点F的结构哈希值不同的情况下,分别将节点D及下属的所有从属节点划分为一个内容块,以及将节点F及下属的所有从属节点划分为一个内容块。而在同一深度且连续的节点E和节点G的结构哈希值不同的情况下,分别将节点E及下属的所有从属节点划分为一个内容块,以及将节点G及下属的所有从属节点划分为一个内容块。
在本申请中,步骤S125根据计算获得的所述各个节点的结构哈希值,对所述待转换Web页面进行分割,获得多个内容块具体包括:将所述各个节点的结构哈希值,分别输入预设分割算法;在输入所述预设分割算法中的节点为叶子节点的情况下,不对该叶子节点进行分割;在输入所述预设分割算法中的节点只有一个子节点的情况下,将该节点和该节点的子节点作为整体进行内容块的分割;在输入所述预设分割算法中的节点包括多个子节点的情况下,将该节点所包括的多个子节点中结构哈希值相同的子节点划分为一个内容块。
在本实施例中,预先构建了一个预设分割算法,图13是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设分割算法的示意图。参照图13,根据目标DOM树中的各个节点的结构哈希值,对待转换Web页面进行分割的具体过程为,向预设分割算法中每次输入一个目标DOM树中已计算结构哈希值的节点。如果输入的节点为叶子节点,则不进行内容块的分割直接返回(如图13中标记的第1-2行)。
在输入预设分割算法中的节点只有一个子节点的情况下,直接向下进行穿透分割(如图13中标记的第3-4行)。也就是只会将该节点及下属的所有从属节点划分为一个内容块,不会再以该节点的子节点及下属的所有从属节点划分为一个内容块,也就说在进行内容块划分时,如果一个节点只有一个子节点,不会将该子节点作为一个内容块的根节点,而只可能将该节点作为一个内容块的根节点进行内容块的划分。然后初始化包括目标DOM树中的所有节点的根内容块。将该一个子节点下面的每个子节点按照结构哈希值进行聚合,相同结构哈希值的子节点聚合为一个组,每个组构成一个结构哈希值相同的节点列表(如图13中标记的第5-6行),同时为该一个子节点下面的每个子节点分别创建一个对应的节点列表。后续每个节点列表都将分别输入到预先构建的新建内容块算法中,建立各自对应的内容块。
示例地,图14是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中一个子节点内容块分割的示意图。参照图14,节点11只有一个子节点12,直接向下穿透分割内容块,而不会再以节点12作为一个内容块的根节点进行内容块的划分。然后将节点11下属的所有从属节点按照结构哈希值进行聚合,相同的结构哈希值聚合为一个组,由此将节点14和节点15聚合为一个组,节点13作为一个组,同时节点14和节点15还会分别作为一个组。
因此,后续将通过预先构建的新建内容块算法,把节点14及下属的所有从属节点和节点15及下属的所有从属节点划分为一个内容块,同时将继续向下嵌套分割,分别将节点14及下属的所有从属节点划分为一个内容块,以及将节点15及下属的所有从属节点划分为一个内容块。并将节点13及下属的所有从属节点划分为一个内容块。
在输入预设分割算法中的节点包括至少两个子节点的情况下,对结构哈希值相同的子节点进行聚合,相同的结构哈希值聚合为一个组,每个组构成一个结构哈希值相同的节点列表。同时,为每个子节点创建一个节点列表。后续每个节点列表都将分别输入到预先构建的新建内容块算法中,建立为对应的一个内容块(如图13中标记的第7-11行)。最终返回包括整个目标DOM树的所有节点的根内容块。
在本实施例中,内容块的分割过程是递归的,也就是从目标DOM树的最顶部的根节点向下不断递归分割内容块,父节点的内容块包含子节点分割产生的内容块,为维护分割产生的内容块的包含关系,在每次新建一个内容块时都将向上溯源,找到最小的包含该新建内容块的上一个最小内容块,将该新建内容块添加为该最小内容块的子内容块。图15是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的新建内容块算法的示意图。参照图15,本申请预设构建了一个新建内容块算法,用于根据节点列表,新建内容块,并建立新建的内容块与包含该内容块的上一个最小内容块的包含关系,以构建各个新建内容块与已有内容块之间的包含关系。每次向新建内容块算法输入一个节点列表,首先取该节点列表中的第一个节点向上溯源查找第一个包含该内容块的最小内容块(如图15标记的第1-5行)。随后为该节点列表新建一个包含该节点列表中的所有节点的内容块(如图15标记的第6-7行)。若存在包含该内容块的最小内容块,将该新建内容块添加为该最小内容块的子内容块(如图15标记的第8-9行),最后返回新建的内容块。
示例地,沿用图14的示例,将节点14及下属的所有节点所组成的节点列表,输入新建内容块算法中,以节点14向上溯源,找到包含以节点14及下属的所有节点所组成的内容块的最小内容块为包含节点14及其下属所有节点和包含节点15及其下属所有节点的内容块。为该节点14及下属的所有节点所组成的节点列表新建一个内容块,并将该内容块添加为包含节点14及其下属所有节点和包含节点15及其下属所有节点的内容块的子内容块,以构建由节点14及下属的所有节点所组成的新建内容块与包含节点14及其下属所有节点和包含节点15及其下属所有节点的内容块之间的包含关系。
在本实施例中,一个内容块的根节点是指在该一个内容块中最顶部的节点。
应当理解的是,子节点指的是与父节点直接相连的节点,而一个节点的下属所有节点指的是DOM树中在该一个节点下面的所有节点。
在本申请中,在对所述待转换Web页面进行分割,获得多个内容块之后,所述方法还包括:通过所述预设标题模型,提取所述目标DOM树中的各个节点的标题;在一个节点具有标题的情况下,将该节点的标题确定为该节点所属的最小内容块的标题;将经过标题标记后的所述多个内容块分别输入预设分割优化算法,进行内容块的分割优化,获得优化后的各个内容块。
在本实施例中,由于上述Web页面的内容块分割方法,基本在目标DOM树的每个深度均会进行内容块的分割,同时整个分割结果是对Web页面进行嵌套分割,由此将导致会产生很多小的内容块,导致对Web页面的过度分割。而在实际应用中,Web页面设计者通常使用标题加内容的方式组织Web页面的内容块,且标题代表了所在内容块的语义。因此可以通过标题来确定Web页面的内容块的范围,以此优化过度分割的嵌套内容块。
具体地,将各个节点的数据内容中的文本特征分别输入到预先构造的预设标题模型,以预测目标DOM树中的各个节点的标题。有的节点存在标题,而有的节点并不存在标题。通过预设标题模型,在预测到一个节点的标题后,对包含该节点的最小内容块进行标题标记,以注明该最小内容块具有标题;而在预测到一个节点的标题后,不进行任何标记操作。
示例地,沿用图14的示例,在节点14具有标题时,包含节点14的最小内容块为包含节点14及其下属所有节点的内容块,此时对该包含节点14及其下属所有节点的内容块进行标题标记,以注明该包含节点14及其下属所有节点的内容块具有标题。
将经过标题标记后的各个内容块全部输入到预先构建的预设分割优化算法中进行内容块的分割优化,以获得经过优化后的各个目标内容块,对内容块的优化包括去除内容块的分割或将多个内容块进行合并。
在本申请中,所述将经过标记后的所述多个内容块输入预设分割优化算法,进行内容块的分割优化,获得目标内容块,包括:将经过标题标记后的所述多个内容块分别输入预设分割优化算法;在输入所述分割优化算法中的内容块为无标题标记的内容块,且该内容块包含有标题标记的子内容块的情况下,去除该无标题标记的内容块的外围内容块划分,以将该包含有标题标记的子内容块作为独立的内容块;在输入所述分割优化算法中的内容块为有标题标记的内容块,且该内容块包含无标题标记的子内容块的情况下,将该无标题标记的子内容块与该有标题标记的内容块进行合并。
图16是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中构建的预设分割优化算法的示意图,图17是本申请一实施例示出的一种基于内容分割的Web数字对象提取方法中的内容块分割优化的示意图。参照图16和图17,将分割获得的多个内容块输入到预设分割优化算法中,采用深度优先的方式遍历内容块(如图16标记的第1-2行),在一个内容块包含标题,而该内容块的父内容块无标题的情况下,去除该父内容块的分割结果(如图16标记的第3-4行)。
如图17中的图(a),父内容块1为无标题的内容块,其下属的子内容块11和子内容块12中,子内容块11有标题,子内容块12无标题,此时再将原本就可以单独作为一个内容块的具有标题的内容块11外面再分割一个包含内容块11的父内容块1,将致使内容块的过度分割。此时将父内容块1的分割结果去除掉,只保留子内容块11和子内容块12的分割结果,也就是图17的图(b)所示,以避免过度分割。
在一个内容块无标题,而该内容块的父内容块有标题的情况下,去除该子内容块的分割结果,将该子内容块合并到该父内容块中(如图16标记的第5-7行)。
如图17中的图(c),父内容块2为有标题的内容块,其下属的子内容块21和子内容块22均为无标题的内容块。由于父内容块2为一个有标题的内容块,其可直接作为一个内容块的划分依据,划分为一个内容块。而由上述分割方法再在一个有标题的内容块中,再分割几个无标题的内容块,将导致过度分割。此时将父内容块2中的子内容块21和子内容块22的分割结果去除掉,将子内容块21和子内容块22直接与父内容块2进行合并,只保留父内容块2,也就是图17的图(d)所示,以避免过度分割。
最后一种情形是父内容块,和该父内容块所包含的子内容块均无标题,但该子内容块所包含的下属子内容块具有标题,由此该子内容块会被去除掉,而只保留该下属子内容块,在此情况下,该子内容块的父内容块也会被去除。
在本申请中,所述方法,还包括:确定所述多个内容块中各个最底层内容块的边界;将边界重合且无标记的最底层内容块进行合并。
在本实施例中,尽管标题可作为一种有效的标识,以优化过度分割的内容块,但仍然存在一些没有标题的内容块。而在实际Web页面设计中,不同的内容块之间会保留一定宽度的边界,这种边界是Web页面浏览者直观感受Web页面分块的重要依据。由于粒度过细的内容块常位于最底层的内容块,为了避免无标题的底层内容块过度分割的情况,对边界重合的最底层的内容块,将对其进行合并,也就是对边界重合的包括目标DOM树的叶子节点的最小内容块,将对其进行合并。具体地,确定分割的多个内容块中包括目标DOM树的叶子节点的最小内容块的边界;将边界重合,且无标记的各个最底层内容块合并为一个内容块。
在本申请中,根据计算获得的所述各个节点的结构哈希值,对所述待转换Web页面进行分割,获得多个内容块后,所述方法还包括:对所述待转换Web页面进行动态内容监测;在监测到新增节点的情况下,计算所述新增节点的结构哈希值,并将所述新增节点划分为内容块,所述新增节点至少包括一个;在所述各个节点中存在与所述新增节点中的根节点的结构哈希值相同的第一节点的情况下,将所述新增节点对应的内容块与包含所述第一节点的最小内容块进行合并。
在本实施例中,交互型Web页面设计逐渐取代传统的静态Web页面。浏览者可以通过点击展开、滚动加载等方式丰富浏览Web页面的体验。而Ajax(Asynchronous JavascriptAnd XML)是支撑Web页面动态加载的基础,其可以在不需要重载Web页面的情况下增量更新Web页面。如Web页面浏览中点击查看剩余回复即可在当前页面动态加载更多的回复。动态内容的加载可能引起Web页面结构的变化,因此在进行Web页面的内容块分割后,还需要对动态内容进行监测,当发现Web页面产生动态内容加载时,应对Web页面进行重新分割。以满足对动态Web页面的内容块划分。
在本实施例中,通过MutationObserver接口,以监测动态内容,并监测待转换Web页面新加载的动态内容是否引起了DOM树的更改。MutationObserver是DOM3 Events规范的一部分,兼容IE7以上的浏览器,提供了对DOM树所做更改的监测能力。只需要对DOM根元素注册MutationObserver,并定义DOM树更改事件(如节点的增加、删除)发生时的回调函数。每当被监视元素结构发生变化时,将会产生一个mutation事件对象,该事件对象包含一个新增节点和删除节点的列表。而Web页面内容的动态加载常见于数据的增量展示,如购物网站通过滚动下拉将呈现更多的商品、微博等社交网站滚动下拉将加载更多的动态等。这些增量数据通常是具有完整语义的实体,如一条新的商品信息、新的社交动态等,通过Ajax从站点后台加载到前端并经过添加结构化信息后成为DOM树中新的节点后,再被添加到DOM树中。因此,新增的DOM节点可以被视为内容块划分的天然边界,并可用于指导Web页面的重新分割过程。
具体地,预先建立MutaitonObserver实例,以监听待转换Web页面的主结构,如被监听的待转换Web页面正展示一系列商品。当用户浏览Web页面并向下滚动时,待转换Web页面前端向站点后台请求增量数据,增量数据为待加载的新商品。Web页面前端接收返回数据后生成新节点,并插入到DOM树中展示给用户,该新节点将作为待转换Web页面的分割粒度的依据。DOM节点插入事件被MutationObserver捕捉到后,通过上述过预设哈希值算法,计算新增节点的结构哈希值,并通过预设分割算法将该新增节点分割为一个内容块。
应当理解的是,新加载的内容可以只包括一个节点,也可以包括多个节点,也就是新增节点可只为一个节点,也可为多个节点,在此不作限制。
在本实施例中,由于待转换Web页面的新增节点可能为一条新的商品信息、新的社交动态等,因此新增节点的Web页面结构可能与待转换Web页面之前已加载的特定节点的Web页面结构是一致的,此时可以将以该新增节点分割的一个内容块与该特定节点进行合并,以避免过度分割。具体地,确定待转换Web页面之前已加载的节点中是否存在与该新增节点中的最顶上的父节点的结构哈希值相同的第一节点,也就是确定待转换Web页面之前已加载的节点中是否存在与所有新增节点中最顶上的根节点的结构哈希值相同的第一节点。在存在这样的第一节点的情况下,可将该新增节点的内容块与该包含该第一节点的最小内容块进行合并为一个内容块,以避免新增内容块的过度分割。
本申请实施例提供了一种基于内容分割的Web数字对象提取方法,通过将Web页面划分为内容块,自动获取Web页面的各个内容块中的数据和元信息,通过与数字对象引擎进行交互,以将各内容块的数据自动转化为数字对象。同时,用户可根据需求,在前端界面对内容块的边界进行修正,以修正后的内容块的数据内容自动构建对应的数字对象。此外,为实现自动获取Web页面的各个内容块中的数据和元信息,通过与数字对象引擎进行交互,以将各内容块的数据自动转化为数字对象,本申请还提出了一种新的Web页面的内容块的边界确定及分割方法,不再考虑Web页面页面的组织方式,而从Web页面的子结构出发,基于Web页面的DOM树中的各个节点的标签值和class属性值,计算各个节点的结构哈希值。然后基于各个节点的结构哈希值确定内容块的边界,并分割获得多个内容块。同时该新的Web页面的内容块的边界确定及分割方法,可以对动态加载的内容进行内容块的边界确定和分割。
本申请提供的内容块的边界确定和分割方法,基于与Web页面的结构相关的构成Web页面的节点的标签值和class属性值,来计算节点的结构哈希值;而在节点具有子节点的情况下,基于Web页面节点的标签值和class属性和子节点的结构哈希值来计算该节点的结构哈希值。然后根据各个节点的结构哈希值来将待转换Web页面划分为一个个的内容块,可有效提高内容块分割的准确性。同时为了保证待转换Web页面的DOM树的结构完整性,先是构建与待转换Web页面的DOM树对应的副本DOM树,然后为了提高Web页面分割的效率,在构建副本DOM树时,不再为待转换Web页面的DOM树中的无关节点构建对应的副本节点,同时,在基于节点的结构哈希值进行内容块的分割之前,对待转换Web页面的DOM树进行预处理,通过合并行内节点和去除Web页面头和Web页面页脚的处理来提高Web页面分割的效率。
本申请提供的内容块的边界确定和分割方法,在对待转换Web页面进行分割后,为了避免对Web页面的过度分割和进一步提高Web页面分割准确性,在将待转换Web页面分割为一个个的内容块后,还基于各个内容块的标题对分割得到的多个内容块进行优化分割,通过去除分割的内容块或将多个内容块合并为一个内容块的优化方式,对分割得到的多个内容块再进一步进行分割优化。同时,还可以针对待转换Web页面动态加载的内容,进行内容块的分割,以满足Web页面分割的不同应用场景。
本申请实施例还提供一种基于内容分割的Web数字对象提取系统,图18是本申请一实施例示出的一种基于内容分割的Web数字对象提取系统的示意图。参照图18,所述系统180包括:
模式切换模块181,用于根据用户在前端界面的选择操作,控制待转换Web页面在浏览模式和数字对象生成模式之间进行切换;
内容块分割模块182,用于在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,所述多个内容块在前端界面进行展示;
关键信息提取模块183,用于提取所述多个内容块中的关键信息,所述关键信息包括标题、摘要和关键词中的至少一者;
数字对象配置模块184,用于根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;
数字对象注册模块185,用于根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性。
可选地,所述系统还包括:
内容块边界修正模块,用于根据用户在前端界面中对所述目标内容块的调节操作,控制所述目标内容块进行边界调节,以对所述目标内容块进行修正,获得修正目标内容块;
所述数字对象配置模块184,还用于根据用户从展示的所述多个内容块中选择的所述修正目标内容块,创建与所述修正目标内容块对应的数字对象配置界面;
所述数字对象注册模块185,还用于根据用户从该数字对象配置界面中选择的修正目标关键信息,将所述修正目标内容块和所述修正目标关键信息发送至数字对象引擎,以构建与所述修正目标内容块对应的修正目标数字对象,所述修正目标关键信息将作为所述修正目标数字对象的自定义属性。
可选地,所述关键信息提取模块183,包括:
标题预测模块,用于在内容块为具有标题的第一内容块的情况下,通过预设标题模型预测所述第一内容块的标题,以及通过TextRank算法提取所述第一内容块中的摘要和关键词;
摘要和关键词提取模块,用于在内容块为无标题的第二内容块的情况下,通过TextRank算法提取所述第二内容块中的摘要和关键词。
可选地,所述标题预测模块中的所述预设标题模型的训练过程,包括如下步骤:提取预设数量的标题样本Web页面的文本特征作为训练集,所述文本特征由多个不同类型的初始特征共同构成;将所述训练集输入初始标题模型进行训练,获得所述预设标题模型;其中,所述多个不同类型的初始特征包括:文本长度特征和文本长度变化量特征、字体大小特征和字体大小变化量特征、字体颜色特征和字体颜色变化量特征、字体权重特征和字体权重变化量特征、内容块背景颜色特征和内容块背景颜色变换量特征、背景边框特征、文本长度变化量特征。
可选地,所述内容块分割模块182,包括:
DOM树获取模块,用于获取所述待转换Web页面的DOM树;
副本DOM树构建模块,用于根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树;
预处理模块,用于将所述副本DOM树中的行内节点与相连的文字节点进行合并处理,以及对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,获得目标DOM树;
内容块分割子模块,用于通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值;根据计算获得的所述各个节点的结构哈希值,将所述待转换Web页面分割为多个内容块。
可选地,所述副本DOM树构建模块,包括:
第一副本DOM树构建模块,用于向预设DOM树副本构建算法中,每次输入所述待转换Web页面的DOM树中的一个节点和该节点对应的父节点;
第二副本DOM树构建模块,用于在所述一个节点为非无关节点时,构建与所述非无关节点对应的副本节点,并遍历所述一个节点的子节点,以创建所述一个子节点的所有子节点各自对应的副本子节点;将所述副本子节点中的每个副本子节点与前一个副本子节点相连,由此构建与所述DOM树对应的副本DOM树。
可选地,所述预处理模块,包括:
节点排序模块,用于对所述副本DOM树中每个节点的包围盒的宽度值进行排序;
目标宽度值确定模块,用于在所述排序结果中,按从大到小的顺序选择出一个满足预设要求的目标宽度值;
目标宽度值排序模块,用于将所述副本DOM树中包围盒的宽度值与所述目标宽度值相同的节点,沿y轴顺序排列为数组;
边界节点确定模块,用于对所述数组中的每个节点的文字密度和外链比值进行计算;将所述每个节点中的文字密度低于第一预设阈值的节点,确定为下界节点,以及将所述每个节点中的外链比值高于第二预设阈值的节点,确定为上界节点;
第一预处理模块,用于根据确定的所述下界节点和所述上界节点,去除所述副本DOM树中位于所述下界节点以上的所有节点和所述上界节点以下的所有节点。
可选地,所述内容块分割子模块,包括:
第一内容块分割子模块,用于将所述各个节点,分别输入所述预设哈希值算法;
第二内容块分割子模块,用于在输入所述预设哈希值算法中的节点为叶子节点的情况下,将所述叶子节点的标签值和class属性值初始化为字符串变量;通过对所述字符串变量进行哈希值计算,获得所述叶子节点的结构哈希值;在输入所述预设哈希值算法中的节点为列表节点的情况下,将所述列表节点的标签值和class属性值初始化为字符串变量;将所述列表节点的第一个子节点的结构哈希值和所述列表节点的字符串变量进行拼接,获得第一字符串变量;通过对所述第一字符串变量进行哈希值计算,获得所述列表节点的结构哈希值;在输入所述预设哈希值算法中的节点为具有子节点,且不为列表节点的目标节点的情况下,将所述目标节点的标签值和class属性值初始化为字符串变量;将所述目标节点的所有子节点按各自的结构哈希值进行排序;将排序后的所有子节点的结构哈希值和所述目标节点的字符串变量进行拼接,获得第二字符串变量;通过对所述第二字符串变量进行哈希值计算,获得所述目标节点的结构哈希值。
可选地,所述内容块分割子模块,包括:
第三内容块分割子模块,用于将所述各个节点的结构哈希值,分别输入预设分割算法;
第四内容块分割子模块,用于在输入所述预设分割算法中的节点为叶子节点的情况下,不对该叶子节点进行分割;在输入所述预设分割算法中的节点只有一个子节点的情况下,将该节点和该节点的子节点作为整体进行内容块的分割;在输入所述预设分割算法中的节点包括多个子节点的情况下,将该节点所包括的多个子节点中结构哈希值相同的子节点划分为一个内容块。
可选地,所述系统,还包括:
标题提取模块,用于通过所述预设标题模型,提取所述目标DOM树中的各个节点的标题;
标题确定模块,用于在一个节点具有标题的情况下,将该节点的标题确定为该节点所属的最小内容块的标题;
内容块优化修正模块,用于将经过标题标记后的所述多个内容块分别输入预设分割优化算法,进行内容块的分割优化,获得优化后的各个内容块。
可选地,所述内容块优化修正模块,包括:
第一内容块优化修正模块,用于将经过标题标记后的所述多个内容块分别输入预设分割优化算法;
第二内容块优化修正模块,用于在输入所述分割优化算法中的内容块为无标题标记的内容块,且该内容块包含有标题标记的子内容块的情况下,去除该无标题标记的内容块的外围内容块划分,以将该包含有标题标记的子内容块作为独立的内容块;在输入所述分割优化算法中的内容块为有标题标记的内容块,且该内容块包含无标题标记的子内容块的情况下,将该无标题标记的子内容块与该有标题标记的内容块进行合并。
可选地,所述系统,还包括:
动态内容监测模块,用于对所述待转换Web页面进行动态内容监测;
动态内容块划分模块,用于在监测到新增节点的情况下,计算所述新增节点的结构哈希值,并将所述新增节点划分为内容块,所述新增节点至少包括一个;在所述各个节点中存在与所述新增节点中的根节点的结构哈希值相同的第一节点的情况下,将所述新增节点对应的内容块与包含所述第一节点的最小内容块进行合并。
在本实施例中,图19是本申请一实施例示出的一种基于内容分割的Web数字对象提取系统的另一示意图。参照图19,本申请所提供的基于内容分割的Web数字对象提取系统由三部分组成,分为前端、后端和第三方服务。
其中前端部分包括数字对象配置模块、内容块分割模块、内容块优化修正模块、文本特征提取模块和动态内容监测模块。数字对象配置模块将在前端展现数字对象配置界面。数字对象配置界面用于调整DO的元信息和边界。Web页面分割模块注入到使用Web内核渲染后的Web页面上下文中,因此可以获取渲染后的DOM树和使用原生的MutationObserver接口监听DOM树的更改。内容块分割模块包括待转换Web页面的DOM获取模块、副本DOM树构建模块、预处理模块和内容块分割子模块,各模块的具体作用与上述内容各个模块的作用相对应,在此不再赘述。而其中,基于标题的分割优化在系统实现中分成了两个部分。前端部分通过文本特征提取模块对文本特征进行提取,并请求部署在后端的标题预测模块以获得标题预测的结果。前端部分获取返回的标题结果后,基于标题对上一阶段基于内容块分割子模块分割产生的内容块进行合并或去除的优化处理。
后端包含三个模块,标题预测模块、摘要和关键词提取模块和数字对象注册模块。标题预测模块利用离线训练的预设标题模型预测标题,摘要和关键词提取模块负责从已分割完毕的Web页面内容块中提取摘要和关键词信息,作为对应DO的元信息。数字对象注册模块负责将Web页面内容块数据和元信息整合,注册为合法的DO。
第三方服务模块包含数字对象引擎Cordra,负责分配数字对象标识符及存储数字对象,并对外提供数字对象的获取、更新和删除接口。后端中的数字对象注册模块负责与数字对象引擎交互,将分割并标注元信息的Web页面内容块存储为DO。
本申请所提供的系统还考虑了与用户交互的过程。如图5所示,所述系统分为两种模式:Web页面的常规浏览模式和数字对象生成模式。用户首先在浏览模式下输入目标Web页面的URL,在用户需要对目标Web页面的下属子Web页面进行数字对象的转换时,此时可通过不断点击跳转,来跳转到待转换Web页面。待选定想要转换为数字对象的待转换Web页面后,点击数字对象生成模式开关,该模式下将向该待转换Web页面注入Web页面分割相关代码。Web页面分割的结果会以数据参考线的形式展现在待转换Web页面中,如图5中各虚线框所示,即为分割为的各个内容块。每个Web页面内容块由闭合的数据参考线包围,每个Web页面内容块对应一个DO。由此将待转换Web页面分割为多个内容块,多个内容块以数据参考线的形式展现在前端界面中。
对Web页面进行分割生成的数字对象边界可能存在误差,数字对象配置界面可用于调整数字对象的边界,用户可对前端界面展示的多个内容块的分割结果的边界进行调节,以对分割的内容块的边界进行修正。如图7所示,在从分割获得的多个内容块中选择特定的目标内容块的虚线框时,鼠标焦点所在的Web页面内容块将出现三个配置按钮,从上到下依次是边界向外扩张、边界向内收缩以及添加为数字对象。
在用户认为数据参考线不准确,可以点击扩张或收缩按钮进行调整。此时该目标内容块的虚线框,也就是目标内容块的边界,会相对应的向外或向内移动。根据对扩张或收缩按钮的点击操作,扩大或缩小目标内容块的边界。
在确定目标内容块的边界无误后,选中该修正目标内容块,点击添加数字对象按钮,创建与该修正目标内容块对应的数字对象配置界面。在该修正目标内容块具有标题的情况下,其中展现了该修正目标内容块的标题、摘要和关键词,以及添加与该修正目标内容块对应的数字对象的元信息的控制按钮,以及将该修正目标内容块提交以创建与该修正目标内容块对应的数字对象的提交控制按钮。
在本实施例中,在弹出与该修正目标内容块对应的数字对象配置界面后,根据用户从标题、摘要和关键词中点选的修正目标关键信息,在点击添加元信息后,将点选的修正目标关键信息作为与该修正目标内容块对应的数字对象的元信息。在用户点击提交控制按钮后,将该修正目标内容块的数据内容和修正目标关键信息,发送给数字对象引擎。数字对象引擎根据接收到的该修正目标内容块的数据内容和修正目标关键信息,将该修正目标内容块的数据内容转化为数字对象,将该修正目标关键信息转化为该数字对象的元信息,并为该数字对象配置唯一的ID,以用于用户根据该ID获取到该数字对象。
在本实施例中,DO中的元信息以键值对的方式存在。若选中的内容块包含标题,或是包含该内容块的更大的内容块包含标题,该标题将作为DO的一组元信息。从点击添加数字对象按钮到数字对象配置界面加载之前,前端将向后端的摘要和关键词提取模块发送请求,对选择的内容块进行摘要和关键词的提取。除标题和其它元信息键值对以外,用户还可以自定义添加其它与选中内容块相关的信息作为DO的元信息。
在数字对象配置窗口点击提交后,前端将向后端的数字对象注册模块发出请求,数字对象注册模块向第三方服务的数字对象引擎Cordra申请一个独一无二的标识符作为该DO的ID,并将生成的数字对象存储到数字对象引擎中。至此,Web页面中的该内容块中的页面数据成功转换成数字对象,因特网上的所有用户可以通过该数字对象的ID访问到其包含的数据。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于内容分割的Web数字对象提取方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种基于内容分割的Web数字对象提取方法,其特征在于,所述方法包括:
根据用户在前端界面的选择操作,控制待转换Web页面在浏览模式和数字对象生成模式之间进行切换;
在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,所述多个内容块在前端界面进行展示;
提取所述多个内容块中的关键信息,所述关键信息包括标题、摘要和关键词中的至少一者;
根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;
根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据用户在前端界面中对所述目标内容块的调节操作,控制所述目标内容块进行边界调节,以对所述目标内容块进行修正,获得修正目标内容块;
所述根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性,包括:
根据用户从展示的所述多个内容块中选择的所述修正目标内容块,创建与所述修正目标内容块对应的数字对象配置界面;
根据用户从该数字对象配置界面中选择的修正目标关键信息,将所述修正目标内容块和所述修正目标关键信息发送至数字对象引擎,以构建与所述修正目标内容块对应的修正目标数字对象,所述修正目标关键信息将作为所述修正目标数字对象的自定义属性。
3.根据权利要求1所述的系统,其特征在于,所述提取所述多个内容块中的关键信息,包括:
在内容块为具有标题的第一内容块的情况下,通过预设标题模型预测所述第一内容块的标题,以及通过TextRank算法提取所述第一内容块中的摘要和关键词;
在内容块为无标题的第二内容块的情况下,通过TextRank算法提取所述第二内容块中的摘要和关键词。
4.根据权利要求3所述的方法,其特征在于,获得所述预设标题模型的训练过程,包括如下步骤:
提取预设数量的标题样本Web页面的文本特征作为训练集,所述文本特征由多个不同类型的初始特征共同构成;
将所述训练集输入初始标题模型进行训练,获得所述预设标题模型;
其中,所述多个不同类型的初始特征包括:文本长度特征和文本长度变化量特征、字体大小特征和字体大小变化量特征、字体颜色特征和字体颜色变化量特征、字体权重特征和字体权重变化量特征、内容块背景颜色特征和内容块背景颜色变换量特征、背景边框特征、文本长度变化量特征。
5.根据权利要求1所述的方法,其特征在于,所述在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,包括:
获取所述待转换Web页面的DOM树;
根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树;
将所述副本DOM树中的行内节点与相连的文字节点进行合并处理,以及对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,获得目标DOM树;
通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值;
根据计算获得的所述各个节点的结构哈希值,将所述待转换Web页面分割为多个内容块。
6.根据权利要求5所述的方法,其特征在于,所述根据获取的所述DOM树,构建与所述DOM树对应的副本DOM树,包括:
向预设DOM树副本构建算法中,每次输入所述待转换Web页面的DOM树中的一个节点和该节点对应的父节点;
在所述一个节点为非无关节点时,构建与所述非无关节点对应的副本节点,并遍历所述一个节点的子节点,以创建所述一个子节点的所有子节点各自对应的副本子节点;
将所述副本子节点中的每个副本子节点与前一个副本子节点相连,由此构建与所述DOM树对应的副本DOM树。
7.根据权利要求5所述的方法,其特征在于,对所述副本DOM树进行去除Web页面头和Web页面页脚的预处理,包括:
对所述副本DOM树中每个节点的包围盒的宽度值进行排序;
在所述排序结果中,按从大到小的顺序选择出一个满足预设要求的目标宽度值;
将所述副本DOM树中包围盒的宽度值与所述目标宽度值相同的节点,沿y轴顺序排列为数组;
对所述数组中的每个节点的文字密度和外链比值进行计算;
将所述每个节点中的文字密度低于第一预设阈值的节点,确定为下界节点,以及将所述每个节点中的外链比值高于第二预设阈值的节点,确定为上界节点;
根据确定的所述下界节点和所述上界节点,去除所述副本DOM树中位于所述下界节点以上的所有节点和所述上界节点以下的所有节点。
8.根据权利要求5所述的方法,其特征在于,所述通过预设哈希值算法,计算所述目标DOM树中的各个节点的结构哈希值,包括:
将所述各个节点,分别输入所述预设哈希值算法;
在输入所述预设哈希值算法中的节点为叶子节点的情况下,将所述叶子节点的标签值和class属性值初始化为字符串变量;
通过对所述字符串变量进行哈希值计算,获得所述叶子节点的结构哈希值;
在输入所述预设哈希值算法中的节点为列表节点的情况下,将所述列表节点的标签值和class属性值初始化为字符串变量;
将所述列表节点的第一个子节点的结构哈希值和所述列表节点的字符串变量进行拼接,获得第一字符串变量;
通过对所述第一字符串变量进行哈希值计算,获得所述列表节点的结构哈希值;
在输入所述预设哈希值算法中的节点为具有子节点,且不为列表节点的目标节点的情况下,将所述目标节点的标签值和class属性值初始化为字符串变量;
将所述目标节点的所有子节点按各自的结构哈希值进行排序;
将排序后的所有子节点的结构哈希值和所述目标节点的字符串变量进行拼接,获得第二字符串变量;
通过对所述第二字符串变量进行哈希值计算,获得所述目标节点的结构哈希值。
9.根据权利要求5所述的方法,其特征在于,所述根据计算获得的所述各个节点的结构哈希值,将所述待转换Web页面分割为多个内容块,包括:
将所述各个节点的结构哈希值,分别输入预设分割算法;
在输入所述预设分割算法中的节点为叶子节点的情况下,不对该叶子节点进行分割;
在输入所述预设分割算法中的节点只有一个子节点的情况下,将该节点和该节点的子节点作为整体进行内容块的分割;
在输入所述预设分割算法中的节点包括多个子节点的情况下,将该节点所包括的多个子节点中结构哈希值相同的子节点划分为一个内容块。
10.根据权利要求5-9任一所述的方法,其特征在于,在将所述待转换Web页面分割为多个内容块之后,所述方法还包括:
通过所述预设标题模型,提取所述目标DOM树中的各个节点的标题;
在一个节点具有标题的情况下,将该节点的标题确定为该节点所属的最小内容块的标题;
将经过标题标记后的所述多个内容块分别输入预设分割优化算法,进行内容块的分割优化,获得优化后的各个内容块。
11.根据权利要求10所述的方法,其特征在于,所述将经过标题标记后的所述多个内容块分别输入预设分割优化算法,进行内容块的分割优化,获得优化后的各个内容块,包括:
将经过标题标记后的所述多个内容块分别输入预设分割优化算法;
在输入所述分割优化算法中的内容块为无标题标记的内容块,且该内容块包含有标题标记的子内容块的情况下,去除该无标题标记的内容块的外围内容块划分,以将该包含有标题标记的子内容块作为独立的内容块;
在输入所述分割优化算法中的内容块为有标题标记的内容块,且该内容块包含无标题标记的子内容块的情况下,将该无标题标记的子内容块与该有标题标记的内容块进行合并。
12.根据权利要求5-9任一所述的方法,其特征在于,在将所述待转换Web页面分割为多个内容块之后,所述方法还包括:
对所述待转换Web页面进行动态内容监测;
在监测到新增节点的情况下,计算所述新增节点的结构哈希值,并将所述新增节点划分为内容块,所述新增节点至少包括一个;
在所述各个节点中存在与所述新增节点中的根节点的结构哈希值相同的第一节点的情况下,将所述新增节点对应的内容块与包含所述第一节点的最小内容块进行合并。
13.一种基于内容分割的Web数字对象提取系统,其特征在于,所述系统包括:
模式切换模块,用于根据用户在前端界面的选择操作,控制待转换Web页面在浏览模式和数字对象生成模式之间进行切换;
内容块分割模块,用于在所述待转换Web页面处于所述数字对象生成模式的情况下,将待转换Web页面分割为多个内容块,所述多个内容块在前端界面进行展示;
关键信息提取模块,用于提取所述多个内容块中的关键信息,所述关键信息包括标题、摘要和关键词中的至少一者;
数字对象配置模块,用于根据用户从展示的所述多个内容块中选择的目标内容块,创建与所述目标内容块对应的数字对象配置界面;
数字对象注册模块,用于根据用户从所述数字对象配置界面中选择的目标关键信息,将所述目标内容块和所述目标关键信息发送至数字对象引擎,以构建与所述目标内容块对应的目标数字对象,所述目标关键信息将作为所述目标数字对象的自定义属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111571191.3A CN114218515B (zh) | 2021-12-21 | 2021-12-21 | 一种基于内容分割的Web数字对象提取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111571191.3A CN114218515B (zh) | 2021-12-21 | 2021-12-21 | 一种基于内容分割的Web数字对象提取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114218515A true CN114218515A (zh) | 2022-03-22 |
CN114218515B CN114218515B (zh) | 2022-09-06 |
Family
ID=80704722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111571191.3A Active CN114218515B (zh) | 2021-12-21 | 2021-12-21 | 一种基于内容分割的Web数字对象提取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218515B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126450A (zh) * | 2023-04-07 | 2023-05-16 | 小米汽车科技有限公司 | 界面布局方法、装置、车辆及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127044A (zh) * | 2007-06-08 | 2008-02-20 | 北京大学 | 动态网页的分块方法 |
US20090248608A1 (en) * | 2008-03-28 | 2009-10-01 | Yahoo! Inc. | Method for segmenting webpages |
US20100257440A1 (en) * | 2009-04-01 | 2010-10-07 | Meghana Kshirsagar | High precision web extraction using site knowledge |
US20100312728A1 (en) * | 2005-10-31 | 2010-12-09 | At&T Intellectual Property Ii, L.P. Via Transfer From At&T Corp. | System and method of identifying web page semantic structures |
CN102073710A (zh) * | 2010-12-31 | 2011-05-25 | 中国科学院计算技术研究所 | 一种网页分割方法 |
CN102298638A (zh) * | 2011-08-31 | 2011-12-28 | 北京中搜网络技术股份有限公司 | 使用网页标签聚类提取新闻网页内容的方法和系统 |
CN105653668A (zh) * | 2015-12-29 | 2016-06-08 | 武汉理工大学 | 云环境中基于DOMTree的网页内容分析提取优化方法 |
CN105912633A (zh) * | 2016-04-11 | 2016-08-31 | 上海大学 | 面向稀疏样本的聚焦式Web信息抽取系统及方法 |
CN111158973A (zh) * | 2019-12-05 | 2020-05-15 | 北京大学 | 一种web应用动态演化监测方法 |
CN111737623A (zh) * | 2020-06-19 | 2020-10-02 | 深圳市小满科技有限公司 | 网页信息提取方法及相关设备 |
CN113434797A (zh) * | 2021-06-29 | 2021-09-24 | 中国电信集团系统集成有限责任公司 | 一种网页信息提取方法及装置 |
-
2021
- 2021-12-21 CN CN202111571191.3A patent/CN114218515B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100312728A1 (en) * | 2005-10-31 | 2010-12-09 | At&T Intellectual Property Ii, L.P. Via Transfer From At&T Corp. | System and method of identifying web page semantic structures |
CN101127044A (zh) * | 2007-06-08 | 2008-02-20 | 北京大学 | 动态网页的分块方法 |
US20090248608A1 (en) * | 2008-03-28 | 2009-10-01 | Yahoo! Inc. | Method for segmenting webpages |
US20100257440A1 (en) * | 2009-04-01 | 2010-10-07 | Meghana Kshirsagar | High precision web extraction using site knowledge |
CN102073710A (zh) * | 2010-12-31 | 2011-05-25 | 中国科学院计算技术研究所 | 一种网页分割方法 |
CN102298638A (zh) * | 2011-08-31 | 2011-12-28 | 北京中搜网络技术股份有限公司 | 使用网页标签聚类提取新闻网页内容的方法和系统 |
CN105653668A (zh) * | 2015-12-29 | 2016-06-08 | 武汉理工大学 | 云环境中基于DOMTree的网页内容分析提取优化方法 |
CN105912633A (zh) * | 2016-04-11 | 2016-08-31 | 上海大学 | 面向稀疏样本的聚焦式Web信息抽取系统及方法 |
CN111158973A (zh) * | 2019-12-05 | 2020-05-15 | 北京大学 | 一种web应用动态演化监测方法 |
CN111737623A (zh) * | 2020-06-19 | 2020-10-02 | 深圳市小满科技有限公司 | 网页信息提取方法及相关设备 |
CN113434797A (zh) * | 2021-06-29 | 2021-09-24 | 中国电信集团系统集成有限责任公司 | 一种网页信息提取方法及装置 |
Non-Patent Citations (3)
Title |
---|
何欢欢: "政府网站信息资源保存体系研究", 《中国博士学位论文全文数据库 信息科技辑》, 15 May 2015 (2015-05-15), pages 72 - 122 * |
廖建军: "基于标签样式和密度模型的网页正文自动抽取", 《情报科学》 * |
廖建军: "基于标签样式和密度模型的网页正文自动抽取", 《情报科学》, 6 July 2018 (2018-07-06) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126450A (zh) * | 2023-04-07 | 2023-05-16 | 小米汽车科技有限公司 | 界面布局方法、装置、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114218515B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220215063A1 (en) | System and method for block segmenting, identifying and indexing visual elements, and searching documents | |
US7055094B2 (en) | Virtual tags and the process of virtual tagging utilizing user feedback in transformation rules | |
US7730395B2 (en) | Virtual tags and the process of virtual tagging | |
US8051371B2 (en) | Document analysis system and document adaptation system | |
JP3703080B2 (ja) | ウェブコンテンツを簡略化するための方法、システムおよび媒体 | |
US8046681B2 (en) | Techniques for inducing high quality structural templates for electronic documents | |
US8554800B2 (en) | System, methods and applications for structured document indexing | |
US7941420B2 (en) | Method for organizing structurally similar web pages from a web site | |
US20160292294A1 (en) | Extracting a portion of a document, such as a web page | |
US20030237053A1 (en) | Function-based object model for web page display in a mobile device | |
US20110173528A1 (en) | Determining Semantically Distinct Regions of a Document | |
US20050125419A1 (en) | Search processing system, its search server, client, search processing method, program, and recording medium | |
CN106503211B (zh) | 面向信息发布类网站的移动版自动生成的方法 | |
US20080134019A1 (en) | Processing Data And Documents That Use A Markup Language | |
US11625448B2 (en) | System for superimposed communication by object oriented resource manipulation on a data network | |
WO2023155303A1 (zh) | 网页数据的提取方法和装置、计算机设备、存储介质 | |
CN111488953B (zh) | 基于html源码特征对网页主题进行快速分类的方法 | |
CN114218515B (zh) | 一种基于内容分割的Web数字对象提取方法及系统 | |
US20070283246A1 (en) | Processing Documents In Multiple Markup Representations | |
CN114186164B (zh) | 一种网页内容块的边界确定和分割的方法及系统 | |
WO2014049310A2 (en) | Method and apparatuses for interactive searching of electronic documents | |
WO2005098666A1 (en) | Processing data and documents that use a markup language | |
EP1743256A1 (en) | Processing documents in multiple markup representations | |
CN111708891A (zh) | 一种多源食材数据之间的食材实体链接方法和装置 | |
CN114265916B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |