CN108959204B - 互联网金融项目信息抽取方法和系统 - Google Patents
互联网金融项目信息抽取方法和系统 Download PDFInfo
- Publication number
- CN108959204B CN108959204B CN201810653622.2A CN201810653622A CN108959204B CN 108959204 B CN108959204 B CN 108959204B CN 201810653622 A CN201810653622 A CN 201810653622A CN 108959204 B CN108959204 B CN 108959204B
- Authority
- CN
- China
- Prior art keywords
- webpage
- extracted
- attribute
- training
- dom tree
- 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.)
- Active
Links
Images
Classifications
-
- 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/151—Transformation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种互联网金融项目信息抽取方法和系统,包括:获取包含金融项目信息的训练网页,为训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据训练网页的二维图像、HTML代码、DOM树,抽取DOM树节点的特征向量作为训练数据,训练属性标注模型;获取金融项目信息的待抽取网页,将待抽取网页的DOM树,确定待抽取网页的目标项目区域,根据待抽取网页的目标项目区域中项目列表是否为表格,执行相应的抽取步骤。本发明通过将两种不同特点的互联网金融项目列表分开并对应使用不同的抽取方法,极大的提高了抽取的效率和准确率。
Description
技术领域
本发明涉及信息抽取领域,并特别涉及一种互联网金融项目信息抽取方法和系统。
背景技术
互联网金融项目信息抽取指的是从互联网金融项目网页抽取出结构化数据的过程,属于网页信息抽取的研究范畴。
随着互联网的发展,互联网在日益成为人们广泛使用的工具的同时,也变成了一个巨大的知识宝库,其中蕴含着海量的有价值的信息。网页信息抽取就是从半结构化的网页中抽取出用户需要的数据,结构化地存储在数据库中。
而互联网金融是一种新型的金融模式,它是以云计算、移动支付、社交网络以及大数据等网络信息技术为基础,伴随着大众消费的需求和现代金融模式的革新而产生的。在互联网金融产业蓬勃发展的背后,伴随而来的是规模巨大的互联网金融数据,这些数据蕴含着巨大的价值。例如,互联网金融行业研究者可以通过互联网金融数据发现行业热点和预测行业发展方向;政府监管部门可以利用这些数据监管行业发展,识别欺诈产品,保障行业健康发展。尤其在互联网时代,数据正成为新的生产要素,拥有越来越重要的地位。互联网金融数据正是互联网数据的重要组成部分。
不管什么类型的互联网金融网站,都需要展示信息给用户,而比较常用的形式是项目列表,所以互联网金融网页中有很大一部分是项目信息网页,如P2P网贷项目、众筹项目、互联网保险项目等。这些项目信息是互联网金融、互联网众筹网站的核心信息,其中蕴含的数据有非常大的价值。
目前尚未有人针对互联网金融项目信息提出专用网页信息抽取的方法。通用的网页信息抽取方法可以分为包装器语言抽取方法、包装器归纳抽取方法、基于监督学习的抽取方法、基于无监督学习的抽取方法。
在包装器语言抽取方法中,用户需要使用一种通用的或者特别设计的编程语言为每一个网站手工编制一个包装器。这是早期的抽取系统使用的方法,这种方法的优点是人工编写的包装器适用性高,缺点是对用户的专业水平要求较高,而且生成的包装器不易维护,网络上数量庞大的数据源将消耗大量的人力资源。
在包装器归纳抽取方法中,用户无需了解包装器语言的细节,只需要在网页源代码中标出需要抽取的数据,包装器归纳算法可以自动生成正确的包装器。包装器归纳抽取方法降低了用户的专业水平要求,但是仍然需要标注所有的网站,需要耗费大量的人力。
在基于监督学习的抽方法统中,首先需要人工对网页中需要抽取的数据及其格式进行标注,然后系统通常采用机器学习的方法根据用户标注的样例自动训练出该类网页的包装器。这种方法用户的专业水平要求不高,并大大降低了用户参与时间,但是面对复杂的网页抽取任务,抽取的准确率难以保障。
在基于无监督学习的抽取方法中,用户不需要直接参与包装器的生成过程。通过对待抽取页面中数据区的某些特征假定,比如,重复出现的DOM树结构或HTML串序列,从网页中选择特征符合较好的数据。这种方法可以充分利用网页模板知识和网页结构的相似性,但通常对网页结构具有较强的假设,这就给应用范围带来局限,通用性低。
包装器语言抽取方法和包装器归纳抽取方法虽然可以抽取的准确,但是需要用户对每一个网站都要编制包装器或者标注。这两种方法需要耗费大量的人力资源。
基于监督学习的抽取方法,只需要用户对部分网站做标注,不需要前两种方法那么大的人力成本。但是由于没有充分利用网站模板信息,一般抽取的准确率会比较低。
在基于无监督学习的抽取方法,可以充分利用网站模板信息,比如重复出现的DOM树或者THML串序列,但是需要较强的假设,局限性太大,通用性低。并且一般只能抽取出数据,而不能将抽取出的数据对应到正确的字段,后续还需要一定的人工处理。
发明内容
本发明的目的是克服通用的网页抽取算法在互联网金融项目抽取任务上不足,提出了一种专门针对互联网金融项目信息的网页抽取算法。
具体地说,本发明公开了一种互联网金融项目信息抽取方法,其中包括:
训练步骤,获取包含金融项目信息的训练网页,将该训练网页的HTML代码转换为DOM树,为该训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据该训练网页的二维图像、HTML代码、DOM树,抽取该DOM树节点的特征向量作为训练数据,训练属性标注模型;
判断步骤,获取金融项目信息的待抽取网页,将该待抽取网页的HTML代码转换为DOM树,以确定该待抽取网页的目标项目区域,判断该待抽取网页的目标项目区域中项目列表是否为表格形式,若是,则执行表格抽取步骤,否则执行非表格抽取步骤;
表格抽取步骤,利用表格的结构化特征,抽取表格中文字对应的属性标签,作为该待抽取网页的金融项目信息抽取结果;
非表格抽取步骤,根据该待抽取网页的DOM树,分割该目标项目区域中的属性节点,将该属性节点的特征向量输入至该属性标注模型,得到该属性节点的属性标签,作为该待抽取网页的金融项目信息抽取结果。
该互联网金融项目信息抽取方法,其中该训练步骤包括:
为该训练网页的每段文字标注属性,并根据文字在该训练网页的DOM树的位置,确定DOM树节点的属性,以为DOM树节点标注属性标签。
该互联网金融项目信息抽取方法,其中该判断步骤还包括:清理该待抽取网页HTML代码中和抽取无关的代码,根据清理后的HTML代码,建立该待抽取网页的DOM树。
该互联网金融项目信息抽取方法,其中该判断步骤还包括:
使用items表示项目列表,items[i](0<<i<N)表示项目列表中第i个项目,N表示项目列表的长度,定义网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2),通过下述公式判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
items[i].y1=items[i+1].y1and items[i].y2=items[i+1].y2,0<<i<N-1,
否则,该项目列表为非表格形式项目列表。
该互联网金融项目信息抽取方法,其中该非表格抽取步骤还包括:
结果校正步骤,获取与该待抽取网页的网站相同的金融项目网页,作为该待抽取网页的相似网页,对齐该待抽取网页与该相似网页的DOM树,并将对齐后的DOM树节点作为一个集合,取点集合中出现数目最多的属性标签作为该金融项目信息抽取结果。
本发明还公开了一种互联网金融项目信息抽取系统,其中包括:
训练模块,用于获取包含金融项目信息的训练网页,将该训练网页的HTML代码转换为DOM树,为该训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据该训练网页的二维图像、HTML代码、DOM树,抽取该DOM树节点的特征向量作为训练数据,训练属性标注模型;
判断模块,用于获取金融项目信息的待抽取网页,将该待抽取网页的HTML代码转换为DOM树,以确定该待抽取网页的目标项目区域,判断该待抽取网页的目标项目区域中项目列表是否为表格形式,若是,则执行表格抽取模块,否则执行非表格抽取模块;
表格抽取模块,利用表格的结构化特征,抽取表格中文字对应的属性标签,作为该待抽取网页的金融项目信息抽取结果;
非表格抽取模块,根据该待抽取网页的DOM树,分割该目标项目区域中的属性节点,将该属性节点的特征向量输入至该属性标注模型,得到该属性节点的属性标签,作为该待抽取网页的金融项目信息抽取结果。
该互联网金融项目信息抽取系统,其中该训练模块包括:
为该训练网页的每段文字标注属性,并根据文字在该训练网页的DOM树的位置,确定DOM树节点的属性,以为DOM树节点标注属性标签。
该互联网金融项目信息抽取系统,其中该判断模块还包括:清理该待抽取网页HTML代码中和抽取无关的代码,根据清理后的HTML代码,建立该待抽取网页的DOM树。
该互联网金融项目信息抽取方法,其中该判断模块还包括:
使用items表示项目列表,items[i](0<<i<N)表示项目列表中第i个项目,N表示项目列表的长度,定义网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2),通过下述公式判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
items[i].y1=items[i+1].y1and items[i].y2=items[i+1].y2,0<<i<N-1,
否则,该项目列表为非表格形式项目列表。
该互联网金融项目信息抽取系统,其中该非表格抽取模块还包括:
结果校正模块,获取与该待抽取网页的网站相同的金融项目网页,作为该待抽取网页的相似网页,对齐该待抽取网页与该相似网页的DOM树,并将对齐后的DOM树节点作为一个集合,取点集合中出现数目最多的属性标签作为该金融项目信息抽取结果。
本发明的技术进步包括:
1、通过区分互联网金融项目列表的表格形式和非表格形式,本发明可通过将两种不同特点的互联网金融项目列表分开,并对应使用不同的抽取方法,提高了抽取的效率和准确率;
2、针对互联网金融项目的特点,提出一种两次遍历的属性分割方法,该属性分割方法契合金融项目的特性,分割的准确率和效率高,为后续属性标注打下基础;
3、将部分树对齐算法用于互联网金融项目信息抽取的抽取结果校正,通过结果校正,提高了互联网金融项目信息抽取的准确率;
4、针对互联网金融项目自身特点,将项目发现、属性分割、属性标注、结果校正多个步骤、多种方法组合起来完成抽取和标注任务。相对于传统的单一网页抽取方法,实验表明,该方法的抽取准确率更高。
附图说明
图1为本发明实施例中网络借贷项目的表格形式项目列表图;
图2为本发明实施例中众筹项目的非表格形式项目列表图;
图3为本发明实施例中网站股权众筹属性对比图;
图4为本发明项目区域的XY坐标示意图;
图5为本发明实施例中的项目举例示意图;
图6为本发明成对属性节点HTML代码图示;
图7为本发明实施例中项目名称位置相似性举例示意图;
图8为本发明流程图;
图9为网页的四种表达形式示意图;
图10为HTML源码示例图;
图11为DOM树示例图。
具体实施方式
本发明公开了一种互联网金融项目信息抽取方法,其中包括:
训练步骤,获取包含金融项目信息的训练网页,将该训练网页的HTML代码转换为DOM树,为该训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据该训练网页的二维图像、HTML代码、DOM树,抽取该DOM树节点的特征向量作为训练数据,训练属性标注模型;
判断步骤,获取金融项目信息的待抽取网页,将该待抽取网页的HTML代码转换为DOM树,以确定该待抽取网页的目标项目区域,判断该待抽取网页的目标项目区域中项目列表是否为表格形式,若是,则执行表格抽取步骤,否则执行非表格抽取步骤;
表格抽取步骤,利用表格的结构化特征,抽取表格中文字对应的属性标签,作为该待抽取网页的金融项目信息抽取结果;
非表格抽取步骤,根据该待抽取网页的DOM树,分割该目标项目区域中的属性节点,将该属性节点的特征向量输入至该属性标注模型,得到该属性节点的属性标签,作为该待抽取网页的金融项目信息抽取结果。
该互联网金融项目信息抽取方法,其中该训练步骤包括:
为该训练网页的每段文字标注属性,并根据文字在该训练网页的DOM树的位置,确定DOM树节点的属性,以为DOM树节点标注属性标签。
该互联网金融项目信息抽取方法,其中该判断步骤还包括:清理该待抽取网页HTML代码中和抽取无关的代码,根据清理后的HTML代码,建立该待抽取网页的DOM树。
该互联网金融项目信息抽取方法,其中该判断步骤还包括:
使用items表示项目列表,items[i](0<<i<N)表示项目列表中第i个项目,N表示项目列表的长度,定义网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2),通过下述公式判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
items[i].y1=items[i+1].y1and items[i].y2=items[i+1].y2,0<<i<N-1,
否则,该项目列表为非表格形式项目列表。
该互联网金融项目信息抽取方法,其中该非表格抽取步骤还包括:
结果校正步骤,获取与该待抽取网页的网站相同的金融项目网页,作为该待抽取网页的相似网页,对齐该待抽取网页与该相似网页的DOM树,并将对齐后的DOM树节点作为一个集合,取点集合中出现数目最多的属性标签作为该金融项目信息抽取结果。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
目前通用网页信息抽取的方法都是以新闻、论坛、产品网页作为应用举例,验证其效果,少有研究者专门针对互联网金融项目信息提出网页信息抽取方法。从网页信息抽取方法的角度看,互联网金融项目信息的网页不同于新闻、论坛和产品的网页,有其自身的特殊性。在网页信息抽取领域,这些项目列表也被称为多记录。但即使都是多记录页面,不同网站的项目信息展现形式也有区别,总结起来,可以将互联网金融项目页面分为两类:
1、表格形式:如图1所示,采自某金融网站上的网络借贷项目是一种很规整的表格形式,类似EXCEL表格,其项目列表每条记录占据一行,每条记录的宽度相同,并且有相同的列数和列宽。每一列代表一个属性字段,并且大多带有表头。
2、非表格形式:如图2所示,采自某金融网站上众筹项目,每个项目相当于一条记录,它不像表格列表那样,以一种规整的行列对齐的形式展现。每一条记录是一个单独的个体,没有视觉上的属性对齐。
第二种非表格形式的互联网金融项目网页用现有的网页抽取方法不能很好的抽取。这是因为其自身的特殊性,这种特殊性体现在:
(1)非表格形式的互联网金融项目页面布局随意,不同网站之间展示同一类项目的页面差异很大。
(2)和常见的网页信息抽取任务相比较,互联网金融项目需要抽取的属性更多。例如新闻网页只需要抽取新闻的标题、发布时间、作者和正文;论坛网页只需要抽标题、作者、发布时间、发布内容;评论网页只需要抽取作者、评论内容。互联网金融项目以股权众筹举例,需要抽取的属性有项目名称、项目描述、融资企业、出让股份、每份金额、融资总额、已筹资金、完成比例、项目开始时间、项目结束时间等。
(3)由于互联金融产业兴起时间不长,并且缺乏统一的行业规范,不同网站同一类项目的属性名称不统一,且有缺失。由图3所示,可以看到某金融网站股权众筹项目有项目名称、项目描述、完成比例,但是和另一金融网站相比,缺少融资总额、已筹资金等属性。
正因为第二种非表格形式的互联网金融项目自身的特殊性,所以当前流行的通用网页信息抽取的方法并不能很好的解决其抽取问题。如果用人工配置模板的方法(即上文提到的包装器语言抽取方法和包装器归纳抽取方法)来做抽取,那么需要的人工代价太大。如果用一些全自动的抽取方法,比如上文提到的基于监督学习的抽取方法,那么抽取的准确率又比较低。
本发明根据互联网金融项目的自身特点,首先将互联网金融项目页面分为两种——表格形式和非表格形式。针对这两种形式分别采用不同的方法。对于表格形式的互联网金融项目页面,使用基于无监督学习的抽取方法;对于非表格形式的互联网金融项目页面,使用将基于监督学习的抽取方法和基于无监督学习的抽取方法相结合的方法,充分利用了网页模板信息,又可以对抽取出的结果做属性标注,避免人工参与。并且只对部分网站做标注,需要的人工代价很小,但是可以达到很好的抽取准确率。
本发明互联网金融项目信息抽取方法的流程图如图8所示,包括:
步骤1,训练网页数据标注,背景概念:
网页的基本形式:网页从被下载下来到呈现给用户,经历了HTML源码、DOM树、渲染树、二维图像这四个基本形式。如图9所示。当用户要浏览某一网页时,浏览器会将该网页的HTML代码下载到用户本地机器再进行解析。在解析的过程中,浏览器将HTML源代码转换为树状标签层次结构,并根据WEB脚本动态地调整它,这个结构称为DOM树。最后,浏览器计算DOM树上各个节点在屏幕上显示的位置、色彩等视觉信息,构建渲染树,并统一地将渲染树渲染到浏览器的显示区域内,绘制成二维图像。人们平时看到的是网页的二维图像形式,但是在网页信息抽取任务中,需要更多的利用网页HTML源代码形式和网页DOM树形式。一个简单的HTML网页源代码的例子如图10所示,其对应的DOM树结构如图11所示。DOM树上的某个节点(子树)对应HTML代码中一个代码片段,可以对应到二维图像上的一部分。
项目区域:项目区域指的是如图1或图2所示的项目列表区域,一般指的是该区域在DOM树(Document Object Model树:即文档对象模型树)中对应的节点。在浏览器中查看网页,项目区域是二维图像中的一部分。对应到HTML代码中,是一个代码片段;对应到DOM树中,是整个网页DOM树中的一个子树,我们用该子树的根节点代表这个子树。在训练阶段做人工标注时,我们只需要标注出这个根节点;在抽取的项目发现步骤,我们要做的就是找到该根节点。
属性:在本方法中,属性指的是一个互联金融项目中,呈现出的一段有意义的文字。在实际的网页抽取任务,属性标签可能并没有由网页显示给出,因此需要根据具体的抽取任务,预先定义一些标注属性标签,在本实施例中定义的众筹项目信息标准属性标签如下表1所示:
表1:
属性标签 | 不同网站包含该属性情况 |
项目名称 | 全部包含 |
项目描述 | 大部分包含 |
筹资总额 | 少部分包含 |
已筹金额 | 大部分包含 |
完成情况 | 大部分包含 |
项目结束时间 | 部分包含 |
支持人数 | 部分包含 |
其他 | / |
DOM树,通常用来表示和处理HTML或XML文档。一个HTML文档可以被解析成一棵DOM树。在DOM树中,每个HTML标签是一个元素节点,包含在HTML元素中的文本是一个文本节点,每个HTML属性是一个属性节点,并且其中的注释属于注释节点。从HTML文件中,很难一下子看到有用的信息。通过将HTML文档转换为DOM树,可以将文档转换为有意义的结构,例如可以更直观地观察网页的结构。
步骤1包括:
步骤11,人工标注一个网页(训练网页)中目标项目区域在DOM树中节点。
步骤12,在每个目标项目区域中,标注出每个属性在DOM树中节点,并对应上具体的属性标签。
步骤2,特征抽取,包括从HTML源码特征、DOM树特征、视觉特征(二维图像)等方面抽取每个属性的特征向量。
步骤3,模型训练,将属性标注看作是一个多分类的过程,将步骤12得到的属性标注结果作为一条训练数据,进行属性标注模型的训练。
背景概念:
多分类:一个样本属于且只属于多个类中的一个,一个样本只能属于一个类,不同类之间是互斥的。例如,在众筹项目网页抽取中,一个属性只对应表一标准属性标签中的一个。
XGBoost模型:是一个可以用于分类或回归的机器学习模型,XGboost模型是一个Boosting Tree模型,它的基本组成叫做回归树(Regression Tree)。
步骤4,对HTML网页做预处理,将HTML网页转换为DOM树,具体包括:
步骤41,去除掉和抽取无关的HTML代码,例如去除掉HTML代码中的<script>、<javascript>、<comments>等标签
步骤42,根据清理后的HTML代码,建立一棵DOM树
步骤5,在DOM树中找到目标互联网金融项目区域的位置。
背景概念:
MDR(Mining Data Records)算法:是一种自动切分多数据记录的算法,该算法基于两条重要的假设:相同类型的数据记录会出现在网页的一个特定区域,该区域成为数据区域;在DOM树上同类型的数据记录是连续出现的,并且它们具有相同的父亲节点。MDR通过查找连续出现且较相似的子树来确定多记录区域。
步骤5包括:
步骤51,使用MDR算法找到整个网页中所有的多记录区域;
步骤52,根据互联网金融项目特点,从多个多记录区域中,使用规则找出需要的目标项目区域,本实施例使用的规则是“保留包含百分数符号且面积最大的项目区域”。
步骤6,将互联网金融项目分为表格形式和非表格形式。
背景概念:
表格形式互联网金融项目:如图1所示,是一种很规整的表格形式,类似EXCEL表格。这种项目列表每条记录占据一行,每条记录的宽度相同,并且有相同的列数和列宽。每一列代表一个属性字段,并且大多带有表头。
非表格形式互联网金融项目:如图2所示,它不像表格列表那样以一种规整的行列对齐的形式展现,而是每一条记录是一个单独的个体,没有视觉上的属性对齐。
步骤6包括:
步骤61,具体来说,使用items表示一个项目列表,items[i](0<<i<N)表示项目列表中的一个具体项目,N表示项目列表的长度。如图4所示,定义一个网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2)。本发明通过下述条件判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
items[i].y1=items[i+1].y1 and items[i].y2=items[i+1].y2,0<<i<N-1,
否则,该项目列表为非表格形式项目列表。
步骤7,表格形式互联网金融项目抽取。
背景概念:
表头字段:在图1中,表格形式项目列表的第一行叫做表头,它的每一列叫做一个表头字段。表头字段给出了该列数据所代表的意义。
步骤7包括:
步骤71,根据表头字段的宽度,确定每个属性列的范围。步骤71相当于做的是属性分割,类似于步骤8.只是在表格形式互联网金融项目中,因为有表头的存在,属性分割只需要根据表头字段的宽度对应即可。如图1所示,在一个表格形式项目中,每行是一个记录。每列是一个属性,我们以第一行的借款总额“100万元”举例,在二维图像的形式中,人可以轻松的判断“100万元”是一个属性,表示的是借款总额。但是在HTML代码中,“100万元”可能并不是在一个HTML标签下面,例如可能会是”<div><p>100</p><p>万元</p></div>”,对应到DOM树中,就是一棵2层的子树。我们根据表头字段宽度,确定属性列的范围,就可以知道整个<div>标签下是借款总额,就可以对应到DOM树的某个节点了。
步骤72,将表头字段和事先定义好的规则库匹配,确定每个属性的具体标签。例如,规则库中的一条规则可能是“如果表头字段包含‘编号’字符,那么该表头字段对应的属性是‘项目编号’”。
步骤8,属性分割。
背景概念:
属性分割:当得到单条项目记录后,需要做的事情就是将这条项目记录进行分割,将每个属性分割出来,分割是在指在DOM树中确定其节点位置。图5就是一条众筹项目的项目记录,如图所示,在这条记录中有“项目名称”,“项目描述”、“支持人数”、“筹资总额”、“已筹金额”、“完成情况”等属性。这里描述的属性分割和“分词处理”不同,属性分割是要找到,哪些文字是描述同一个属性。在二维图像中,“文字”是以视觉形式表现出来,比如图5中的”800.00目标”;在HTML代码中,“文字”是以HTML标签形式表现的,例如在图6中,“800.00目标”在两个HTML标签中,<dt>800.00</dt>,<dd>目标</dd>,对应到DOM树中,就是两个叶子节点。属性分割就是要知道,<dl><dt>800.00</dt><dd>目标</dd></dl>整体是在描述一个属性。就是要把图6中,三个<dl>标签分割出来。在这里为了方便表达,使用HTML代码举的例子,但其实,这些操作都是在DOM树上进行的。
单节点属性:指的是该属性的所有文本都位于一个文本节点中,例如图5中的“项目名称”、“项目描述”。
成对属性:成对的意思是这种属性是(key,value)结构,例如“800.00目标”。这种属性大多需要由两个文本节点组合而成,如图6所示,“800.00”位于一个<dt>标签节点中,“目标”位于一个<dd>标签节点中,正确划分的属性节点应该是它们的父节点<dl>标签节点。在DOM树中,成对属性一般对应一棵子树,这棵子树包含多个文本叶子节点,这些文本节点共同构成一个属性。
SEG_LIST:SEG_LIST是一个列表,最终保存的是分割出的属性节点。
步骤8包括:
步骤81,找出所有文本节点:首先遍历一次DOM树,将每个含有文本的节点加入SEG_LIST,并且统计每个节点的子孙节点中有哪些加入了SEG_LIST。
步骤082,向上合并:第二次递归的遍历DOM树,如果某个节点node已加入SEG_LIST,但是node的文本只包含数字、日期、百分数。尝试对其进行向上合并。向上合并的意思是将node、node的兄弟节点、node和node兄弟节点的子孙节点从SEG_LIST中删除,将node的父节点加入SEG_LIST。
步骤9,属性标注。
背景概念:
属性标注:当完成属性分割后,得到的是多个属性节点,但是并不知道每个节点对应哪个属性。例如,不知道哪个属性节点应该是“项目标题”、哪个属性节点是“项目内容”、哪个属性节点是“完成情况”。因此需要给每个属性节点打一个标签,相当于做一个属性标注的工作。
步骤9包括:
步骤91,提取特征:提取出每一个属性相应特征,作为XGBoost模型的输入。
步骤92,根据提取的特征,用步骤003训练好的模型预测每个属性的属性标签。
步骤10,结果校正。
背景概念:
结果校正:经过前面的步骤,得到了最初的抽取结果。但是得到的结果可能并不是十分准确,还可以利用同一个网站下,互联网金融项目的相似性对结果进行校正。换句话说,同一个网站下的项目是有一致性的,例如同一个网站下的项目都有相同的属性,相同名字的属性在项目中的物理位置也大致相同。如图7所示,以“项目名称”为例,“项目名称”在项目中的位置几乎相同,并且如果将每个项目看做一棵DOM树的话,在每个项目的DOM树中,“项目名称”节点的位置也是相同的。
部分树对齐算法:部分树对齐算法可以对多记录网页中,多条连续相似记录中的节点(指的是DOM树节点)进行对齐。通过逐渐增长一棵种子树,首先会选取多记录中节点最多的记录作为种子树,因为这条记录构成的树更可能与其他记录有好的对齐。部分树对齐算法具体如下:
设种子树为T,依次遍历每一棵需要对齐的子树S,S中的每一个节点在T中找一个匹配的节点;
若某一个节点无法找到匹配,则算法将尝试通过将这个节点插入T中来扩展种子数。插入只在该节点的位置在T中可以唯一确定时才进行,否则,该子树暂不匹配;
将扩充后的种子数T继续用于后面的匹配。
步骤10包括:
步骤101,执行部分树对齐算法,在DOM树中,对项目中的节点进行对齐。
步骤102,对齐后的节点可以看成一个集合,这个集合中的点应该有相同的属性,我们直接节取点集合中出现数目最多的属性类别,作为这个集合的总体标注,这样起到一个修正的效果。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还公开了一种互联网金融项目信息抽取系统,其中包括:
训练模块,用于获取包含金融项目信息的训练网页,将该训练网页的HTML代码转换为DOM树,为该训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据该训练网页的二维图像、HTML代码、DOM树,抽取该DOM树节点的特征向量作为训练数据,训练属性标注模型;
判断模块,用于获取金融项目信息的待抽取网页,将该待抽取网页的HTML代码转换为DOM树,以确定该待抽取网页的目标项目区域,判断该待抽取网页的目标项目区域中项目列表是否为表格形式,若是,则执行表格抽取模块,否则执行非表格抽取模块;
表格抽取模块,利用表格的结构化特征,抽取表格中文字对应的属性标签,作为该待抽取网页的金融项目信息抽取结果;
非表格抽取模块,根据该待抽取网页的DOM树,分割该目标项目区域中的属性节点,将该属性节点的特征向量输入至该属性标注模型,得到该属性节点的属性标签,作为该待抽取网页的金融项目信息抽取结果。
该互联网金融项目信息抽取系统,其中该训练模块包括:
为该训练网页的每段文字标注属性,并根据文字在该训练网页的DOM树的位置,确定DOM树节点的属性,以为DOM树节点标注属性标签。
该互联网金融项目信息抽取系统,其中该判断模块还包括:清理该待抽取网页HTML代码中和抽取无关的代码,根据清理后的HTML代码,建立该待抽取网页的DOM树。
该互联网金融项目信息抽取方法,其中该判断模块还包括:
使用items表示项目列表,items[i](0<<i<N)表示项目列表中第i个项目,N表示项目列表的长度,定义网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2),通过下述公式判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
items[i].y1=items[i+1].y1 and items[i].y2=items[i+1].y2,0<<i<N-1,
否则,该项目列表为非表格形式项目列表。
该互联网金融项目信息抽取系统,其中该非表格抽取模块还包括:
结果校正模块,获取与该待抽取网页的网站相同的金融项目网页,作为该待抽取网页的相似网页,对齐该待抽取网页与该相似网页的DOM树,并将对齐后的DOM树节点作为一个集合,取点集合中出现数目最多的属性标签作为该金融项目信息抽取结果。
本发明总的技术效果包括:
本发明提出一种互联网金融项目列表的分类方式,通过将两种不同特点的互联网金融项目列表分开并对应使用不同的抽取方法,极大的提高了抽取的效率和准确率。并且针对非表格形式互联网金融项目的特点,使用一种两次遍历的属性分割方法,属性分割的准确率高。使用机器学习模型XGBoost对分割后属性做属性标注,并且使用部分树对齐算法对抽取标注结果做校正,进一步提高了抽取标注的准确率。
Claims (6)
1.一种互联网金融项目信息抽取方法,其特征在于,包括:
训练步骤,获取包含金融项目信息的训练网页,将该训练网页的HTML代码转换为DOM树,为该训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据该训练网页的二维图像、HTML代码、DOM树,抽取该DOM树节点的特征向量作为训练数据,训练属性标注模型;
判断步骤,获取金融项目信息的待抽取网页,将该待抽取网页的HTML代码转换为DOM树,以确定该待抽取网页的目标项目区域,判断该待抽取网页的目标项目区域中项目列表是否为表格形式,若是,则执行表格抽取步骤,否则执行非表格抽取步骤;
表格抽取步骤,利用表格的结构化特征,抽取表格中文字对应的属性标签,作为该待抽取网页的金融项目信息抽取结果;
非表格抽取步骤,根据该待抽取网页的DOM树,分割该目标项目区域中的属性节点,将该属性节点的特征向量输入至该属性标注模型,得到该属性节点的属性标签,作为该待抽取网页的金融项目信息抽取结果;
其中该判断步骤还包括:使用items表示项目列表,items[i](0≪i<N)表示项目列表中第i个项目,N表示项目列表的长度,定义网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2),通过下述公式判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
否则,该项目列表为非表格形式项目列表;
该非表格抽取步骤还包括:结果校正步骤,获取与该待抽取网页的网站相同的金融项目网页,作为该待抽取网页的相似网页,对齐该待抽取网页与该相似网页的DOM树,并将对齐后的DOM树节点作为一个集合,取点集合中出现数目最多的属性标签作为该金融项目信息抽取结果。
2.如权利要求1所述的互联网金融项目信息抽取方法,其特征在于,该训练步骤包括:
为该训练网页的每段文字标注属性,并根据文字在该训练网页的DOM树的位置,确定DOM树节点的属性,以为DOM树节点标注属性标签。
3.如权利要求1所述的互联网金融项目信息抽取方法,其特征在于,该判断步骤还包括:清理该待抽取网页HTML代码中和抽取无关的代码,根据清理后的HTML代码,建立该待抽取网页的DOM树。
4.一种互联网金融项目信息抽取系统,其特征在于,包括:
训练模块,用于获取包含金融项目信息的训练网页,将该训练网页的HTML代码转换为DOM树,为该训练网页划分目标项目区域,并为目标项目区域中的DOM树节点标注属性标签,根据该训练网页的二维图像、HTML代码、DOM树,抽取该DOM树节点的特征向量作为训练数据,训练属性标注模型;
判断模块,用于获取金融项目信息的待抽取网页,将该待抽取网页的HTML代码转换为DOM树,以确定该待抽取网页的目标项目区域,判断该待抽取网页的目标项目区域中项目列表是否为表格形式,若是,则执行表格抽取模块,否则执行非表格抽取模块;
表格抽取模块,利用表格的结构化特征,抽取表格中文字对应的属性标签,作为该待抽取网页的金融项目信息抽取结果;
非表格抽取模块,根据该待抽取网页的DOM树,分割该目标项目区域中的属性节点,将该属性节点的特征向量输入至该属性标注模型,得到该属性节点的属性标签,作为该待抽取网页的金融项目信息抽取结果;
其中,该判断模块还包括:
使用items表示项目列表,items[i](0≪i<N)表示项目列表中第i个项目,N表示项目列表的长度,定义网页中的纵向为X轴,横向为Y轴,每一个项目的左上角的坐标为(x_1,y_1),右下角的坐标为(x_2,y_2),通过下述公式判断项目列表是否为表格形式项目列表,当且仅当对于任意i,满足如下条件:
否则,该项目列表为非表格形式项目列表;
该非表格抽取模块还包括:
结果校正模块,获取与该待抽取网页的网站相同的金融项目网页,作为该待抽取网页的相似网页,对齐该待抽取网页与该相似网页的DOM树,并将对齐后的DOM树节点作为一个集合,取点集合中出现数目最多的属性标签作为该金融项目信息抽取结果。
5.如权利要求4所述的互联网金融项目信息抽取系统,其特征在于,该训练模块包括:
为该训练网页的每段文字标注属性,并根据文字在该训练网页的DOM树的位置,确定DOM树节点的属性,以为DOM树节点标注属性标签。
6.如权利要求4所述的互联网金融项目信息抽取系统,其特征在于,该判断模块还包括:清理该待抽取网页HTML代码中和抽取无关的代码,根据清理后的HTML代码,建立该待抽取网页的DOM树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653622.2A CN108959204B (zh) | 2018-06-22 | 2018-06-22 | 互联网金融项目信息抽取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653622.2A CN108959204B (zh) | 2018-06-22 | 2018-06-22 | 互联网金融项目信息抽取方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959204A CN108959204A (zh) | 2018-12-07 |
CN108959204B true CN108959204B (zh) | 2021-03-05 |
Family
ID=64486209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810653622.2A Active CN108959204B (zh) | 2018-06-22 | 2018-06-22 | 互联网金融项目信息抽取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959204B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754311A (zh) * | 2018-12-12 | 2019-05-14 | 北京世纪互联宽带数据中心有限公司 | 信息处理方法及其装置、电子设备、计算机可读介质 |
CN110188107B (zh) * | 2019-06-05 | 2020-05-01 | 中科鼎富(北京)科技发展有限公司 | 一种从表格中抽取信息的方法及装置 |
CN115455936A (zh) * | 2022-10-28 | 2022-12-09 | 北京澜舟科技有限公司 | 一种公告信息抽取方法、系统及存储介质 |
CN116049597B (zh) * | 2023-01-10 | 2024-04-19 | 北京百度网讯科技有限公司 | 网页的多任务模型的预训练方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473285A (zh) * | 2013-08-29 | 2013-12-25 | 北京奇虎科技有限公司 | 基于位置标记的网页信息抽取方法和装置 |
CN103870506A (zh) * | 2012-12-17 | 2014-06-18 | 中国科学院计算技术研究所 | 一种网页信息的抽取方法和系统 |
CN104217025A (zh) * | 2014-09-28 | 2014-12-17 | 福州大学 | 针对多记录网页的记录项抽取系统及方法 |
US9280528B2 (en) * | 2010-10-04 | 2016-03-08 | Yahoo! Inc. | Method and system for processing and learning rules for extracting information from incoming web pages |
CN107391675A (zh) * | 2017-07-21 | 2017-11-24 | 百度在线网络技术(北京)有限公司 | 用于生成结构化信息的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992625A (zh) * | 2017-12-25 | 2018-05-04 | 湖南星汉数智科技有限公司 | 一种网页表格数据自动抽取方法及装置 |
-
2018
- 2018-06-22 CN CN201810653622.2A patent/CN108959204B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280528B2 (en) * | 2010-10-04 | 2016-03-08 | Yahoo! Inc. | Method and system for processing and learning rules for extracting information from incoming web pages |
CN103870506A (zh) * | 2012-12-17 | 2014-06-18 | 中国科学院计算技术研究所 | 一种网页信息的抽取方法和系统 |
CN103473285A (zh) * | 2013-08-29 | 2013-12-25 | 北京奇虎科技有限公司 | 基于位置标记的网页信息抽取方法和装置 |
CN104217025A (zh) * | 2014-09-28 | 2014-12-17 | 福州大学 | 针对多记录网页的记录项抽取系统及方法 |
CN107391675A (zh) * | 2017-07-21 | 2017-11-24 | 百度在线网络技术(北京)有限公司 | 用于生成结构化信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108959204A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8868621B2 (en) | Data extraction from HTML documents into tables for user comparison | |
CN110334346B (zh) | 一种pdf文件的信息抽取方法和装置 | |
CN108959204B (zh) | 互联网金融项目信息抽取方法和系统 | |
CN109543126B (zh) | 基于块文字占比的网页正文信息提取方法 | |
US20050267915A1 (en) | Method and apparatus for recognizing specific type of information files | |
CN106503211A (zh) | 面向信息发布类网站的移动版自动生成的方法 | |
CN109492177B (zh) | 一种基于网页语义结构的网页分块方法 | |
CN104199871A (zh) | 一种用于智慧教学的高速化试题导入方法 | |
CN104598577A (zh) | 一种网页正文的提取方法 | |
CN103927397A (zh) | 一种基于区块树的Web页面链接块的识别方法 | |
CN113254751B (zh) | 一种复杂网页结构化信息精确提取方法、设备及存储介质 | |
CN103491116A (zh) | 正文相关的结构化数据的处理方法及装置 | |
CN109657114B (zh) | 一种抽取网页半结构化数据的方法 | |
CN105740355B (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
CN107590288A (zh) | 用于抽取网页图文块的方法和装置 | |
CN107145591B (zh) | 一种基于标题的网页有效元数据内容提取方法 | |
CN106372232B (zh) | 基于人工智能的信息挖掘方法和装置 | |
CN113642320A (zh) | 文档目录结构的提取方法、装置、设备和介质 | |
CN118377950A (zh) | 一种网页正文提取方法和装置 | |
US20080015843A1 (en) | Linguistic Image Label Incorporating Decision Relevant Perceptual, Semantic, and Relationships Data | |
CN111966640A (zh) | 一种单据文件识别方法及其系统 | |
Liu et al. | Automatically extracting user reviews from forum sites | |
CN107491524B (zh) | 一种基于Wikipedia概念向量的中文词语相关度计算方法和装置 | |
CN106897287A (zh) | 网页发布时间抽取方法和用于网页发布时间抽取的装置 | |
CN112347353A (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 |