Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019024755) WEBPAGE INFORMATION EXTRACTION METHOD, APPARATUS AND SYSTEM, AND ELECTRONIC DEVICE
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232   0233   0234   0235   0236   0237   0238   0239   0240   0241   0242   0243   0244   0245   0246   0247   0248   0249   0250   0251   0252   0253   0254   0255   0256   0257   0258   0259   0260   0261   0262   0263   0264   0265   0266   0267  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15  

附图

1   2   3A   3B   4   5A   5B   5C   6   7A   7B   7C   7D   8   9   10  

说明书

发明名称 : 网页信息提取方法、装置、系统及电子设备

[0001]
本申请要求2017年08月01日递交的申请号为201710647576.0、发明名称为“网页信息提取方法、装置、系统及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本申请涉及计算机技术领域,尤其涉及一种网页信息提取方法、装置、系统及电子设备。

背景技术

[0003]
目前大部分的爬虫系统或信息抽取方法主要分为两类:
[0004]
第一类是基于正则或XPath进行数据抽取,第二类是基于模板和规则进行数据抽取。前者主要通过对网页内数据进行人为分析,定位到数据的位置,一般通过XPath进行实际的数据提取,也可通过正则表达式等规则进行数据抽取,这种方法准确率较高;后者则是基于模板的方法进行数据提取,针对不同的网站的数据,采用不同的模板,第二类方法也可视为是相对于第一类方法,从每个网站一个规则变成了每个网站一个模板。
[0005]
现有技术的缺陷:
[0006]
第一类方法需要完全基于人的分析,无论是正则还是XPath,对于网页结构有较强的依赖,一旦对象网站发生变化,就回导致规则失效,实际工作中需要大量的精力去维护已有的解析规则。第二类方法虽然较第一种方法有所改进,但准确率有所降低,基于模板的方法也需要去维护模板,并且每个网站很可能需要对应维护一个模板,维护成本较高,扩展性较差。
[0007]
发明内容
[0008]
本发明提供了一种网页信息抽取方法、装置、系统及电子设备,旨在提高从网页中提取信息的效率和准确性,同时降低维护用于提取信息所使用的模型的成本。
[0009]
为达到上述目的,本发明的实施例采用如下技术方案:
[0010]
第一方面,提供了一种网页信息提取方法,包括:
[0011]
对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别;
[0012]
对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[0013]
第二方面,提供了另一种网页信息提取方法,包括:
[0014]
对待处理网页进行页面分割,以形成多个区块;
[0015]
对至少一个所述区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别;
[0016]
确定各所述区块所属类别相适用的信息提取规则,并对各所述区块内文本信息进行信息提取。
[0017]
第三方面,提供了一种网页信息提取装置,包括:
[0018]
区块分类模块,用于对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别;
[0019]
信息提取模块,用于对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[0020]
第四方面,提供了另一种网页信息提取装置,包括:
[0021]
区块分割模块,用于对待处理网页进行页面分割,以形成多个区块;
[0022]
区块分类模块,用于对至少一个所述区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别;
[0023]
信息提取模块,用于确定各所述区块所属类别相适用的信息提取规则,并对各所述区块内文本信息进行信息提取。
[0024]
第五方面,提供了一种网页信息提取系统,包括:如上所述的网页信息提取装置和离线生成的多个领域分类模型以及多个信息提取规则;
[0025]
所述网页信息提取装置,基于所述离线生成的多个领域分类模型以及多个信息提取规则对待处理网页进行信息提取,并形成结构化数据。
[0026]
第六方面,提供了一种电子设备,包括:
[0027]
存储器,用于存储程序;
[0028]
处理器,耦合至所述存储器,用于执行所述程序,以用于:
[0029]
对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别;
[0030]
对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息 提取,并形成结构化数据。
[0031]
第七方面,提供了另一种电子设备,包括:
[0032]
存储器,用于存储程序;
[0033]
处理器,耦合至所述存储器,用于执行所述程序,以用于:
[0034]
对待处理网页进行页面分割,以形成多个区块;
[0035]
对至少一个所述区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别;
[0036]
确定各所述区块所属类别相适用的信息提取规则,并对各所述区块内文本信息进行信息提取。
[0037]
本发明提供的网页信息提取方法、装置、系统及电子设备,通过对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在网页所属领域内的具体类别;然后,对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。本方案针对不同领域的网页信息只需维护该领域对应的领域分类模型,以及该领域内各具体类别对应的信息提取规则,使得在进行信息提取时,模型以及规则的复用性强,降低了维护模型和规则的成本,同时在提取网页信息时可以有针对性的对不同领域内的具体类别的信息采用特定的提取规则,提高了提取的信息的准确性和效率。
[0038]
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

[0039]
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0040]
图1为本发明实施例的网页内容样例图一
[0041]
图2本发明实施例的网页信息提取方法的逻辑示意图一;
[0042]
图3a本发明实施例的网页信息提取系统的结构图;
[0043]
图3b本发明实施例的网页信息提取方法的逻辑示意图二;
[0044]
图4为本发明实施例的网页内容样例图二;
[0045]
图5a本发明实施例的网页信息提取方法流程图一;
[0046]
图5b本发明实施例的网页信息提取方法流程图二;
[0047]
图5c发明实施例的页面切分方法流程图;
[0048]
图6本发明实施例的网页信息提取方法流程图三;
[0049]
图7a为本发明实施例的网页信息提取装置结构图一;
[0050]
图7b为本发明实施例的网页信息提取装置结构图二;
[0051]
图7c为本发明实施例的区块分割模块结构图;
[0052]
图7d为本发明实施例的区块分类模块结构图;
[0053]
图8为本发明实施例的网页信息提取装置结构图三;
[0054]
图9为本发明实施例的电子设备的结构示意图一;
[0055]
图10为本发明实施例的电子设备的结构示意图二。

具体实施方式

[0056]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0057]
目前业界通用的网页数据采集解决方案大部分采用传统的基于XPath和正则的方式进行内容提取。例如目前用户较多的“八爪鱼采集器”,就是主要基于XPath进行提取,平台会提供大量的已有网站的爬取规则,用户也会不断丰富爬取规则,用户间通过共享规则的方式来使用这个平台,但维护和新增对于用户来说是个大问题。例如以电商网站来说,要想提取图1所示页面中的价格、标题字段,如果按照现有的一般系统或平台的实现,往往依赖于元素的Xpath路径进行信息提取:
[0058]
价格字段Xpath提取规则://span[@class='p-price']
[0059]
标题字段Xpath提取规则://div[@class='sku-name']
[0060]
但依托于这种方式进行提取存在如下三个缺点:
[0061]
1,规则配置有技术门槛,需要懂Xpath语法的专业人才能进行规则编写,同时由于不仅仅依托于Xpath,稍微复杂一点的数据是需要更为复杂的处理,如对上述网页中商品介绍的提取,这里不是一个Xpath路径就能提取的,还需要相应的程序处理,或者用更为复杂的Xpath拼接、循环遍历等,难度进一步增加。
[0062]
2,规则泛化能力较弱,几乎没有复用性,不同的爬取任务需要维护不同的爬取规则,比如对于A购物网站的商品数据的爬取,需要维护京东的爬取规则,对于B购物网站的商品数据的爬取需要维护考拉海购的爬取规则,由于不同的网站的页面元素路径几乎是完全不同的,所以这种方式导致规则和任务数量是等量的,因此需要的人力成本会随着任务数量的增加而增加。
[0063]
3,后期维护成本高,维护成本和爬取任务新增的成本几乎是等价的。由于采用Xpath规则的方进行数据提取,这就和页面元素的形态严格的绑定到一起,如果Xpath规则写的鲁棒性较强,那么对于页面的改版则会具有一定的兼容性,但如果Xpath规则写的不够鲁棒那么随着页面的改版,相应的规则也需要调整,如果维护人和创建人不是同一个人,还存在一定的理解问题,导致维护成本增加。从历史的经验而言,当平台的任务数量达到一定量时,每天的维护量其实是个不小的问题。
[0064]
本发明改变了现有技术中,针对每个网页需要维护一个模板或规则的情况,提出一个面向领域且基于视觉划分的解决方案,其核心思想在于,先对待处理网页进行页面分割,使得网页在视觉上相近的内容被划分到一个区块(Block),将网页由一个整体划分为不同的Block,之后对Block进行领域分类预测,其目的是为了得知每个Block内的内容在网页所属领域内的具体类别是什么,之后针对预测结果,对不同类别的Block的采取不同的数据解析方式,获取Block内的信息,直接将网页信息变成结构化数据。该方案具有如下技术效果:
[0065]
第一:该方案无需使用规则进行数据解析,对于用户来说,没有任何成本,将功能内聚于平台内部,对用户没有技术要求;
[0066]
第二:该方案的泛化能力较强,原本的处理方案是面向任务的,现有解决方案是面向领域的,针对不同的领域设置不同的处理方式(主要包括分类模型和Block合并处理规则)。可以理解为原本一个电商领域可能有几十个规则,本方案中只需一个即可。
[0067]
第三:该方案维护成本小,几乎没有维护成本,同时在领域内扩展性更强。原本的处理方案是基于页面元素的布局的,但本方案不严格依赖于页面元素布局,即使页面发生布局变化,页面切割也会随着变化,只要领域分类模型可用,依旧可以有效提取数据(一般来说页面改版,页面上的数据变化不大)。对于领域内覆盖不全的任务,只需维护该领域相应的字典或规则即可。
[0068]
第四:可读性、可维护性较强,理解成本较低。对于页面分割部分基本不需要后期维护人员的理解,维护人员只需关注和维护领域的词典或规则,适当的调整领域分类模 型即可。
[0069]
如图2所示,为本发明实施例的网页信息提取方法的逻辑示意图。在该逻辑图中,针对网页信息提取的过程分为两部分:预置部分和网页信息提取主流程。
[0070]
预置部分是针对每个领域要先解决的部分,其功能是采集不同领域的网页信息作为训练数据,在对训练数据进行类别标注后进行模型训练,以得到用于针对某一领域内的信息进行具体分类的稳定的模型,即领域分类模型,并将这些模型应用在网页信息提取主流程中,最终实现对网页信息的提取。
[0071]
网页信息提取主流程是本方案的主体部分,涵盖了页面渲染、网页切分、类别预测、信息提取这几个关键步骤,其中:
[0072]
页面渲染,是对待处理的网页(URL指定的网页)进行页面渲染得到该网页对应的全部的元素(DOM)文本。
[0073]
网页切分,是依据元素文本中的元素在基于视觉特征的基础上对网页进行切分,从而形成多个区块,所属同一区块内的网页信息在视觉上是相似的。网页切分可包括三个步骤:首先,对元素文本进行分析和转换得到元素树,基于元素树中最底层的节点,将网页切分为在最细粒度的区块(Block);然后,基于视觉特征进行上层区块的重建,这里主要考虑各节点对应的元素中的文本特征、元素背景、距离等视觉特征进行重建;最后将包含无用信息或干扰信息的区块进行剔除,得到包含有效信息的区块。
[0074]
类别预测,是指对已形成的各区块内的信息按网页所属的领域进行该领域内的进一步的类别划分。在上一步骤网页切分后形成的区块中,信息预先按照特征数据被提取出来并以特征向量的形式输入到领域分类模型中进行计算,得到每个区块在特定领域内的具体类别,该特定领域即网页内容所属的领域,是在获取待处理网页时根据网页内容确定的,而所使用的领域分类模型,是从领域模型库中调取的与该特定领域为相同领域的分类模型。
[0075]
信息提取,是指在对各区块进行类别标注后,对已标注类别的区块中的文本信息进行提取,由于已经对该区块进行了类别标注,所以可以选择与区块类别相适用的信息提取规则进行信息提取,以提高信息提取的准确性和效率。同时由于是针对领域内具体类别的信息提取,扩展性强,不同领域的同一类别的信息也可采用同一信息提取规则,从而减少规则的维护成本。例如,电商领域、房地产领域中的价格数据类别可以采用一套关于价格数据提取的规则进行信息提取即可。
[0076]
数据输出,该步骤属于在网页信息提取主流程以外的附加步骤,即在提取得到网页 信息,并形成结构化数据后,对该结构化数据进行持久化处理,以用于数据输出。
[0077]
基于图2所示的网页信息提取方法的逻辑示意图,本发明实施例提供了一种网页信息提取系统(平台),用以在实现了对网页信息进行信息提取的同时,提高信息提取的准确性和效率,同时降低在信息提取过程中所使用的分类模型以及规则的维护成本。如图3a所示,该系统包括:网页信息提取装置310、领域分类模型320和信息提取规则330;其中,领域分类模型320为预先训练生成的用于对区块按不同领域进行分类的分类模型的集合;信息提取规则330为预先设置的用于提取不同领域内不同类别的网页信息的规则的集合。领域分类模型320和信息提取规则330均是在离线状态下通过如机器学习等方式训练生成的。
[0078]
网页信息提取装置310,基于离线生成的多个领域分类模型320以及多个信息提取规则330对待处理网页进行信息提取,并形成结构化数据。其中:
[0079]
网页信息提取装置310包括:
[0080]
页面渲染模块,用于对待处理网页进行页面渲染,以得到待处理网页包含的元素文本;例如可基于PhantomJS进行页面渲染。
[0081]
区块分割模块,用于基于元素文本所体现的视觉特征,对待处理网页进行页面分割,形成多个区块;
[0082]
基于视觉特征进行页面切分主要考虑页面中元素的视觉特征,这些特征包括文本的字体大小、字体颜色、相邻元素间的距离、元素的背景颜色、元素的宽、元素的高等。当人观察网页的时候会依据视觉感受和文本内容进行内容分割,从而大致的知道每个部分主要是什么内容。
[0083]
因此基于视觉特征的分割,主要就是考虑页面上元素的视觉和元素本身的特征,将特征相似的元素划分到一起。例如对于字体大小、字体颜色、元素高度相近的元素会被划分到一起,使得这些元素被划分到一个区块(Block)内,对于一些特殊的元素如<h1></h1>这样比较特殊、本身就有强调作用的标签会单独划分为一个Block。
[0084]
例如图4所示,为对页面分割后的样例图。图中,相近的元素被框到一个框内,如右侧的“看了又看”,里面都是相关的商品,那么这就是一个区块,对于中间部分如“选择颜色”,其右侧的四个选项高度相同,“选择颜色”文字本身和右侧的四个选项距离较近,可以和右侧的元素划归到一起形成一个区块,同样对于价格、促销方式也是根据这样的视觉特征分别划归到一个区块。
[0085]
区块分类模块,用于对各区块的文本信息采用预先训练得到的与待处理网页所属领 域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0086]
基于视觉特征进行分割后,只能达到将视觉上看着相似的内容聚集到一起形成一个Block,但并不知道Block内的内容本身表述的是什么,这就对后面的提取产生了较大的影响。所以需要对Block内的内容进行分类预测。由于从待处理网页的内容信息中已经初步获悉了该网页所属的领域范围,如图4对应的网页可以规划在电商领域,因此这里所述的对Block内的内容进行分类预测是指该Block中的内容在已确定的领域内的具体分类。例如对图4示出的电商领域的网页,其包含的区块可以是价格数据,也可以是商品详情数据,而这两种数据则可分别对应一个在电商领域内的具体类别。
[0087]
在对区块进行类别预测时,需要从领域模型库中调用与待处理网页所属领域相同的领域分类模型进行计算分类,从而得到各区块在该领域中所属的具体类别。领域分类模型是在线下提前生成,并存储在领域模型库中以供网页信息提取主流程中调用。
[0088]
信息提取模块,用于对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[0089]
对文本内容进行定向提取,可以采用正则表达式进行提取,但基于正则表达式进行解析存在一个致命的问题就是可读性较差,维护成本较高。所以本方案中采用开源语法分析器ANTLR(Another Tool for Language Recognition)进行文本内容提取,将正则化的文本内容提取,转为词法解析任务,对于不同的字段或数据的提取,只需定义不同的词法即可。
[0090]
进一步地,上述区块分割模块具体可包括:
[0091]
元素树生成单元,用于对元素文本进行解析和转换,以得到待处理网页对应的元素树;
[0092]
关于对网页切分形成区块的过程,本方案采用自底向上的解决方法,即先直接将网页切割成最小粒度,之后再自底向上的构建Block,这样就省去了人为干预的过程,可以达到自动化。
[0093]
首先对网页页面进行最细粒度的切割,这里可使用CSSBox对渲染后的DOM文本进行解析和转换,获取附带CSS(层叠样式表:Cascading Style Sheets)样式的元素树(DOM树),这里称之为CSSDOMTree,树中每个节可对应一个原始的Block。
[0094]
节点合并单元,用于对元素树中的各次底层节点,遍历与其连接的各底层节点,如果存在至少两个底层节点对应的元素的相似度大于预设阈值,则将该至少两个底层节点合并,并将合并后的节点和未合并的各底层节点分别记为第一节点;
[0095]
采用广度优先的方式遍历CSSDOMTree,本方案只针对最底层的Block进行合并,即无子节点的Block。对元素树中的各次底层节点A,如果A的所有子节点都没有子节点,那么处理该节点A:遍历A的所有子节点,判断A的所有子节点是否是相似节点,这里相似主要指字体和大小,如果所有子节点对应的元素的高度都相同,那么确定A的所有子节点相同;如果字体一致(大小、字体)且背景一致,也认为相同。在实际网页中,可能两个元素内容相近的区块其高度、字体大小、颜色等不适严格的相同,因此这里通过设置相似度比较来判断两个元素是否相同,如果相似度大于预设阈值(如相似达到95%),则确定两个元素相同。对原始的元素树进行广度优先遍历,合并最底层相同的Block,得到初级的Block列表,该列表中的每个Block对应一个第一节点。在第一节点中,原来所属于元素树中的每一个节点被称之为原始节点。
[0096]
节点剔除单元,用于针对各第一节点,如果第一节点对应的元素的文本信息中包含干扰信息或无用信息,则剔除该第一节点,并将剩余的各第一节点所对应的元素分别记为一个区块,且元素内包含的文本信息记为区块的文本信息;
[0097]
原始的Block被合并形成初级Block后,就要进入整理阶段,即去掉包含有无用的、干扰的信息的初级Block。这里所指的无用信息主要是网页中头部导航、底部导航等;干扰信息主要指:推荐相关信息。
[0098]
首先说无用信息,通常位于页面头部的信息是无用的,一般包含了“首页”、“登陆”、“个人信息”等一系列类似网站常用的链接和文本的信息;同理的,位于页面底部的信息是无用的,一般包括“CopyRight”、“备案”、“关于我们”等相关信息;可以通过预先设置无用词字典将这些内容的信息进行整理。
[0099]
进一步地,上述领域分类模型可为采用随机森林算法对目标领域内已标注类别的特征数据进行学习所生成。
[0100]
相对应的,上述区块分类模块具体可包括:特征提取单元和类别计算单元。
[0101]
特征提取单元,用于从各区块的文本信息中提取特征数据的特征值,并形成特征向量;
[0102]
发明人通过大量的数据观察,发现电商领域的页面内容中大部分内容都有比较类似的描述,通过机器学习可以很快的掌握这些网页内容的规律,并对网页内容进行分类。当然,电商领域只是发明人用来举例说明上述网页内容规律的,而不是该领域所特有的规律,在其他领域如新闻的页面内容中也存在类似的规律。本方案选择随机森林算法来进行某一领域的页面内容的具体分类学习。
[0103]
首先,要对训练数据依据不同领域的特征进行特征整理,形成特征向量,该特征向量中的每一项为训练数据在相应特征项上对应的特征值;然后,将用于模型训练的特征向量输入到RandomForest算法中,不断调整参数得到不同领域的领域分类模型。训练领域分类模型在本方案中为预置部分内容,是预先在线下训练生成的。
[0104]
在对已切割好的区块进行类别预测时,首先也要提取每个区块的文本信息中的特征信息,并形成特征向量,该特征提取过程与训练领域分类模型时的训练数据特征提取过程相同。
[0105]
类别计算单元,用于将特征向量作为输入数据输入到领域分类模型中进行领域分类计算,以得到各区块在其所属的领域中的类别。
[0106]
在对每个Block生成对应的特征向量后,直接从领域模型库中调取与目标网页信息所属领域相同的领域分类模型,利用稳定的模型,对待分类的区块的文本信息即特征向量进行类别预测,从而达到对Block分类的目的。
[0107]
进一步地,上述信息提取模块对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取所采用的工具可包括:开源语法分析器antlr,正则表达式、领域专用语言DSL中的一种或多种。
[0108]
基于图3a所示的系统,图2所示的网页信息提取方法的逻辑示意图又可从每个操作环节的离线或在线状态示意为图3b所示逻辑。如图3b所示:网页信息提取装置310,基于离线生成的多个领域分类模型320以及多个信息提取规则330对待处理网页进行信息提取。
[0109]
在线操作环节为:网页信息提取装置310依次对待处理网页进行如下操作:
[0110]
网页渲染:对待处理网页进行页面渲染,以得到待处理网页包含的元素文本,如完整的超文本标记语言(HyperText Markup Language,HTML)文本;
[0111]
切割/重组:基于元素文本所体现的视觉特征,对待处理网页进行页面分割,形成多个区块;进一步地,还可对最细粒度切分后的区块进行重组。
[0112]
区块(block)分类:对各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0113]
需要说明的是,本操作中所使用的领域分类模型为离线模型,即通过离线的方式训练生成的模型。首先采集不同领域的网页数据,然后对这些数据按不同的领域进行领域离线训练,并通过区块(Block)分类器提供给在线处理流程,以完成对区块的分类。
[0114]
数据提取:对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进 行信息提取,并形成结构化数据作为提取的结果进行结果输出。
[0115]
需要说明的是,本操作中所使用的信息提取规则为离线生成的规则,具体可以是不同领域对应的领域词法。首先,需要通过人工方式定义领域词法的内容,并将这些词法内容进行整理形成领域词法文件,并通过领域词法模块提供给在线处理流程,以完成对不同领域类别的区块中的文本信息进行数据提取。
[0116]
本发明实施例提供的网页信息提取系统,能够实现面向领域的数据智能提取,处理不同领域的网页信息的提取问题,只需做好前置工作即可:页面渲染、Block如何合并、领域分类模型训练、基于Antlr的词法文件的编写等,而不再需要复杂的规则编写以及后期的规则维护,极大的降低了人力成本。同时该方案对于领域内的数据提取,存在很好的扩展能力。
[0117]
下面通过多个实施例来进一步说明本申请的技术方案。
[0118]
实施例一
[0119]
基于上述的面向领域的数据智能提取方案的思想,如图5a所示,其为本发明实施例示出的网页信息提取方法流程图一,该方法的执行主为图3a中所示的网页信息提取装置。如图5a所示,该网页信息提取方法包括如下步骤:
[0120]
S530,对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0121]
具体地,基于网页中包含的各元素在视觉特征的基础上实现对网页进行切分,从而形成多个区块,所属同一区块内的网页信息在视觉上是相似的。在对区块进行类别预测时,需要从领域模型库中调用与待处理网页所属领域相同的领域分类模型进行计算分类,从而得到各区块在该领域中所属的具体类别。领域分类模型是在线下提前生成,并存储在领域模型库中以供网页信息提取主流程中调用。本方案中采用随机森林(RandomForest)算法对不同类别的训练文本进行标注学习,从而得到领域分类模型。
[0122]
这里之所以选择使用RandomForest进行文本分类主要考虑如下因素:
[0123]
随机森林比较适合做多分类问题,训练和预测速度快;
[0124]
对训练数据的容错能力较强;
[0125]
不容易出现过度拟合,实现简单,且容易并行化;
[0126]
对于不平衡的数据集来说,它可以平衡误差,受样本偏差影响较小;
[0127]
在训练完后,它能够给出哪些特征(feature)比较重要。
[0128]
S540,对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[0129]
对文本内容进行定向提取,可以采用正则表达式进行提取,但基于正则表达式进行解析存在一个致命的问题就是可读性较差,维护成本较高。所以本方案中采用开源语法分析器ANTLR(Another Tool for Language Recognition)进行文本内容提取,将正则化的文本内容提取,转为词法解析任务,对于不同的字段或数据的提取,只需定义不同的词法即可,具体实例如下:
[0130]
比如我要提取区块内的价格数据,如果按照正则表达式提取那么正则表达式如下:
[0131]
((¥|$[\d]*\.?[\d]*)|([\d]*\.?[\d]*¥|$))
[0132]
表示以货币开头后面接着是整形或者浮点型数据。
[0133]
如果用ANTLR,则定义如下词法(定义电商领域的提取规则,这里只定义了价格提取规则):
[0134]
lexer grammar EcommerceGrammar;
[0135]
options{filter=true;}
[0136]
DATA:('0'..'9')*\.?('0'..'9')*;
[0137]
CURRENCY:$|¥
[0138]
Price:(CURRENCY DATA)|(DATA CURRENCY)
[0139]
这样整体可读性较强,很多基础数据的表示可以充分复用。
[0140]
在提取出各区块内的文本信息后,可将这些文本信息组织成结构化数据,方便管理和输出。
[0141]
进一步地,如图5b所示,在执行步骤S530之前还可执行步骤S510~S520:
[0142]
S510,对待处理网页进行页面渲染,以得到待处理网页包含的元素文本;
[0143]
通常,一个网页的源代码中可能不包含该网页的所有元素文本,因此需要具有页面渲染的渲染引擎对待处理网页进行页面渲染,以得到待处理网页包含的元素文本;例如可基于PhantomJS进行页面渲染。
[0144]
本方案中,只是需要浏览器处理网页来抓取网页数据,但并不需要浏览。PhantomJS的功能,就是提供一个浏览器环境的命令行接口,可以被看作一个“虚拟浏览器”,除了不能浏览,其他与正常浏览器一样。它拥有一个完整的浏览器内核,包括js解析引擎,渲染引擎,请求处理等,但是不包括显示和用户交互页面的浏览器,可以在后台执行请求和处理而无需像传统浏览器一样需要一个浏览器界面,适合于线上(非Windows环境) 大量部署。
[0145]
S520,基于元素文本所体现的视觉特征,对待处理网页进行页面分割,形成多个区块;
[0146]
基于视觉特征的分割,主要就是考虑页面上元素的视觉和元素本身的特征,将特征相似的元素划分到一起。例如对于字体大小、字体颜色、元素高度相近的元素会被划分到一起,使得这些元素被划分到一个区块(Block)内,对于一些特殊的元素如<h1></h1>这样比较特殊、本身就有强调作用的标签会单独划分为一个Block。
[0147]
例如图4所示,为对页面分割后的样例图。图中,相近的元素被框到一个框内,如右侧的“看了又看”,里面都是相关的商品,那么这就是一个区块,对于中间部分如“选择颜色”,其右侧的四个选项高度相同,“选择颜色”文字本身和右侧的四个选项距离较近,可以和右侧的元素划归到一起形成一个区块,同样对于价格、促销方式也是根据这样的视觉特征分别划归到一个区块。
[0148]
进一步地,如图5c所示,上述步骤520的一种具体实现方式包括步骤如下:
[0149]
S521,对元素文本进行解析和转换,以得到待处理网页对应的元素树;
[0150]
关于对网页切分形成区块的过程,本方案采用自底向上的解决方法,即先直接将网页切割成最小粒度,之后再自底向上的构建Block,这样就省去了人为干预的过程,可以达到自动化。
[0151]
首先对网页页面进行最细粒度的切割,这里可使用CSSBox对渲染后的DOM文本进行解析和转换,获取附带CSS(层叠样式表:Cascading Style Sheets)样式的元素树(DOM树),这里称之为CSSDOMTree,树中每个节可对应一个原始的Block。
[0152]
S522,对元素树中的各次底层节点,遍历与其连接的各底层节点,如果存在至少两个底层节点对应的元素的相似度大于预设阈值,则将该至少两个底层节点合并,并将合并后的节点和未合并的各底层节点分别记为第一节点;
[0153]
采用广度优先的方式遍历CSSDOMTree,本方案只针对最底层的Block进行合并,即无子节点的Block。对元素树中的各次底层节点A,如果A的所有子节点都没有子节点,那么处理该节点A:遍历A的所有子节点,判断A的所有子节点是否是相似节点,这里相似主要指字体和大小,如果所有子节点对应的元素的高度都相同,那么确定A的所有子节点相同;如果字体一致(大小、字体)且背景一致,也认为相同。在实际网页中,可能两个元素内容相近的区块其高度、字体大小、颜色等不适严格的相同,因此这里通过设置相似度比较来判断两个元素是否相同,如果相似度大于预设阈值(如相似达 到95%),则确定两个元素相同。对原始的元素树进行广度优先遍历,合并最底层相同的Block,得到初级的Block列表,该列表中的每个Block对应一个第一节点。在第一节点中,原来所属于元素树中的每一个节点被称之为原始节点。
[0154]
S523,针对各第一节点,如果第一节点对应的元素的文本信息中包含干扰信息或无用信息,则剔除该第一节点,并将剩余的各第一节点所对应的元素分别记为一个区块,且元素内包含的文本信息记为区块的文本信息。
[0155]
在对原始Block进行初步合并的基础上,需要对区块内容中包含干扰、无用信息的区块进行剔除。
[0156]
对于无用信息,主要在网页的头部和尾部所对应的初级Block中的内容进行判断和剔除即可。例如,确定初级Block中是否包含无用信息可执行如下步骤:
[0157]
针对各第一节点中包含的原始节点,如果一个原始节点对应的元素的文本信息中包含无用字典中的关键词,则确定该原始节点所在的第一节点包含无用信息。当初级Block中包含的任一原始Block中的文本信息(本发明中的文本信息均指代显示于页面中的文字信息)包含了无用字典中的关键词,则确定该初级Block中包含无用信息,则相应的该初级Block就是本方案要剔除的对象。
[0158]
对于推荐相关信息,则需要对元素树进行深度优先遍历(DFS)才能确定初级Block中是否包含推荐相关信息,具体可执行如下步骤。
[0159]
针对各第一节点:
[0160]
如果第一节点包含的原始节点中,存在至少一个原始节点对应的元素的文本信息中包含商品链接和推荐关键词,则确定该第一节点包含干扰信息;或者,
[0161]
如果第一节点中一个原始节点对应的元素的文本信息中包含商品链接,该原始节点的叔节点对应的元素的文本信息中包含推荐关键词,则确定该第一节点包含干扰信息。
[0162]
相对应的可理解为,如果初级Block中包含的任一原始Block的内容中包含商品链接和推荐关键词,那么剔除该初级Block;或者,如果初级Block包含的任一原始Block的内容中包含商品链接,但可能不包含推荐关键词,那么可在元素树中向上查找该原始区块对应的叔原始区块(由于前面已说明,元素树中每个节点即原始节点可对应为一个原始区块,则这里所谓的叔原始区块是指某一原始节点的叔节点所对应的原始区块),如果叔原始区块的内容中包含推荐关键词,那么仍认为当前操作所针对的初级Block中包含干扰信息,需要剔除该初级Block。
[0163]
经过以上步骤可剔除包含无用信息和干扰信息的初级Block,而胜于的初级Block 才是最终对页面切割后所形成的区块,并且这些区块中的文本信息记为区块的文本信息并作为后续步骤中的被操作对象。本实施例中,虽然以电商领域为例,但可以泛化到其他领域,如新闻等,只需要维护相应的字典即可,所执行步骤的原理思想是相同的。
[0164]
进一步地,上述领域分类模型为采用随机森林算法对目标领域内已标注类别的特征数据进行学习所生成,
[0165]
在此基础上,上述步骤S530的一种具体实现方式包括如下步骤:
[0166]
从各区块的文本信息中提取特征数据的特征值,并形成特征向量;
[0167]
将特征向量作为输入数据输入到领域分类模型中进行领域分类计算,以得到各区块在其所属的领域中的类别。
[0168]
在线下训练电商领域的领域分类模型的过程中,可先对电商领域的大量数据进行标注,然后针对标注后的数据进行交叉训练(每次分10份,取一份作为测试,其余九份做样本)训练数据,以得到一个较好的领域分类模型,在模型训练过程中,通过不断调节参数(随机森林算法主要调整两个参数),一个是每次分裂选用的特征数量,一个是决策需要的子树的数量,经验值表示,当这两个值顺序为5和8的情况下,在训练和测试数据集上取得的效果最佳。
[0169]
本方案针对不同领域采用领域词典的方式维护每一个领域内关注的词,对于电商领域列举了如下9个词典,分别为:评论关键词词典、店铺名称关键词词典、店铺评分关键词词典、支付方式关键词词典、商品详情关键词词典、促销信息词典、SKU词典、价格词典、货币符号词典。
[0170]
将标注特征的训练数据采用随机森林算法进行模型训练,从而得到不同领域对应的领域分类模型。
[0171]
本方案中将领域分类模型的训练工作在线下完成,在对切割形成的各区块进行类别预测时,依然是先针对每个Block内的文本信息按指定的特征进行特征值的提取,并形成特征向量。
[0172]
在对已切割好的区块进行类别预测时,首先也要提取每个区块的文本信息中的特征信息,并形成特征向量,该特征提取过程与训练领域分类模型时的训练数据特征提取过程相同。
[0173]
在对每个Block生成对应的特征向量后,直接从领域模型库中调取与目标网页信息所属领域相同的领域分类模型,利用稳定的模型,对待分类的区块的文本信息即特征向量进行类别预测,从而达到对Block分类的目的。
[0174]
以电商领域为例,每个Block根据领域内数据的特征可被标记为不同的类别,例如电商领域的网页信息可分为如下10类:
[0175]
others(可丢弃数据),comment(评论数据),sku(sku数据),price(价格数据),pay(支付数据),detail(商品详情),product(商品主体数据),shopscore(店铺评分数据),shopname(店铺名称数据),promotion(促销数据)。
[0176]
进一步地,上述信息提取模块对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取所采用的工具可包括:开源语法分析器antlr,正则表达式、领域专用语言DSL中的一种或多种。
[0177]
优选的,本方案采用antlr作为网页信息提取的最有效工具,是针对Block的文本信息抽取的一个重要环节,其优点在于可读性、可维护性更强,扩展性更强。将传统的基于正则和规则的提取转化为词法解析工作,使得实现起来更为优雅。例如,以价格数据作为举例进行说明,电商领域的词法规则定义如下:
[0178]
lexer grammar EcommerceGrammar;
[0179]
options{filter=true;}
[0180]
DATA:('0'..'9')*\.?('0'..'9')*;
[0181]
CURRENCY:$|¥
[0182]
PRICEKEYWORDS:'京东价)|'京东价'|'淘宝价'|'折后价'|'促销价'|'价格'|'考拉价'|'聚美价'|'团购价'|'Price'|'price'|'PRICE'
[0183]
Price:(PRICEKEYWORDS CURRENCY DATA)|(PRICEKEYWORDS DATA CURRENCY)
[0184]
可见价格实际上是由价格关键字+货币符号+数字组成的(当然顺序可以调整),那么只需提前定义关键字、货币符号、数字即可,如果采用正则表达式定义则会非常难以理解。而在实现中像价格关键字这样基于字典的数据,完全不必写在规则中,动态生成即可,在维护字典的同时,词法文件也得到了维护。
[0185]
在实际应用场景中,就信息提取方式而言,也可以采用正则表达式、Druid、领域专用语言DSL等类似的提取规则,而本方案中之所以优先选择Antlr而非正则表达式进行信息提取,除了考虑可读性、维护性等问题,更重要的是:Antlr具有处理上下文无关文法的能力,而正则表达式所能处理的文法只包含正则文法(线性文法),因此词法分析器可以处理很多正则表达式难以处理的问题,比如左括号和右括号的成对匹配等,总之Antlr的处理能力更强大。
[0186]
本发明实施例提供的网页信息提取方法,针对不同领域的网页信息只需维护该领域对应的领域分类模型,以及该领域内各具体类别对应的信息提取规则,使得在进行信息提取时,模型以及规则的复用性强,降低了维护模型和规则的成本,同时在提取网页信息时可以有针对性的对不同领域内的具体类别的信息采用特定的提取规则,提高了提取的信息的准确性和效率。
[0187]
本方案能够实现面向领域的数据智能提取,处理不同领域的网页信息的提取问题,只需做好前置工作即可:页面渲染、Block如何合并、领域分类模型训练、基于Antlr的词法文件的编写等,而不再需要复杂的规则编写以及后期的规则维护,极大的降低了人力成本。同时该方案对于领域内的数据提取,存在很好的扩展能力。
[0188]
实施例二
[0189]
如图6所示,为本发明实施例提供的网页信息提取方法流程图三,本实施例的方法步骤可视为实施例二中方法的简单变形,其中部分步骤内容可参见实施例二中的内容。如图6所示,该方法包括如下步骤:
[0190]
S610,对待处理网页进行页面分割,以形成多个区块;
[0191]
例如图4所示,为对页面分割后的样例图。图中,相近的元素被框到一个框内,如右侧的“看了又看”,里面都是相关的商品,那么这就是一个区块,对于中间部分如“选择颜色”,其右侧的四个选项高度相同,“选择颜色”文字本身和右侧的四个选项距离较近,可以和右侧的元素划归到一起形成一个区块,同样对于价格、促销方式也是根据这样的视觉特征分别划归到一个区块。
[0192]
在基于网页中包含的元素对网页进行区块划分之前,还可以包括如下步骤:
[0193]
对待处理网页进行页面渲染,以得到待处理网页包含的元素文本;
[0194]
相应的,上述对待处理网页进行页面分割,以形成多个区块可包括:基于元素文本所体现的视觉特征,对待处理网页进行页面分割,以形成多个区块。
[0195]
上述步骤可参见步骤S510~S520。
[0196]
S620,对至少一个区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0197]
该步骤可参见步骤S530。
[0198]
S630,确定各区块所属类别相适用的信息提取规则,并对各区块内文本信息进行信息提取。
[0199]
在形成待处理网页所对应的区块后,根据各区块所属的类别,从预置的多个信息提取规则中确定出各区块所属类别相适用的信息提取规则,然后对各区块内文本信息进行信息提取。该步骤可参见步骤S540。
[0200]
当然,在执行本步骤之前,还需要在线下预先训练得到与待处理网页所属领域相同的领域分类模型;具体训练过程可参见实施例一中的相应内容。
[0201]
进一步地,在对各区块内文本信息进行信息提取之后还可执行步骤:
[0202]
将提取的信息形成结构化数据。
[0203]
本发明实施例提供的网页信息提取方法,针对不同领域的网页信息只需维护该领域对应的领域分类模型,以及该领域内各具体类别对应的信息提取规则,使得在进行信息提取时,模型以及规则的复用性强,降低了维护模型和规则的成本,同时在提取网页信息时可以有针对性的对不同领域内的具体类别的信息采用特定的提取规则,提高了提取的信息的准确性和效率。
[0204]
实施例三
[0205]
如图7a所示,为本发明实施例的网页信息提取装置结构图一,该网页信息提取装置可用于执行如图5a所示的方法步骤,其包括:
[0206]
区块分类模块730,用于对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0207]
信息提取模块740,用于对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[0208]
进一步地,如图7b所示,上述网页信息提取装置中还可包括:
[0209]
页面渲染模块710,用于对待处理网页进行页面渲染,以得到待处理网页包含的元素文本;
[0210]
区块分割模块720,用于基于元素文本所体现的视觉特征,对待处理网页进行页面分割,形成多个区块。
[0211]
进一步地,如图7c所示,上述区块分割模块720具体可包括:
[0212]
元素树生成单元721,用于对元素文本进行解析和转换,以得到待处理网页对应的元素树;
[0213]
节点合并单元722,用于对元素树中的各次底层节点,遍历与其连接的各底层节点, 如果存在至少两个底层节点对应的元素的相似度大于预设阈值,则将该至少两个底层节点合并,并将合并后的节点和未合并的各底层节点分别记为第一节点;
[0214]
节点剔除单元723,用于针对各第一节点,如果第一节点对应的元素的文本信息中包含干扰信息或无用信息,则剔除该第一节点,并将剩余的各第一节点所对应的元素分别记为一个区块,且元素内包含的文本信息记为区块的文本信息。
[0215]
图7c所示结构可用于执行如图5c所示的方法步骤。
[0216]
进一步地,上述节点剔除单元723具体还用于,
[0217]
针对各第一节点:
[0218]
如果第一节点包含的原始节点中,存在至少一个原始节点对应的元素的文本信息中包含商品链接和推荐关键词,则确定该第一节点包含干扰信息;或者,
[0219]
如果第一节点中一个原始节点对应的元素的文本信息中包含商品链接,该原始节点的叔节点对应的元素的文本信息中包含推荐关键词,则确定该第一节点包含所述干扰信息。
[0220]
进一步地,上述节点剔除单元723具体还用于,
[0221]
针对各第一节点中包含的原始节点,如果一个原始节点对应的元素的文本信息中包含无用字典中的关键词,则确定该原始节点所在的第一节点包含无用信息。
[0222]
进一步地,上述领域分类模型为采用随机森林算法对目标领域内已标注类别的特征数据进行学习所生成,
[0223]
相对应的,如图7d所示,上述区块分类模块730具体可包括:
[0224]
特征提取单元731,用于从各区块的文本信息中提取特征数据的特征值,并形成特征向量;
[0225]
类别计算单元732,用于将特征向量作为输入数据输入到领域分类模型中进行领域分类计算,以得到各区块在其所属的领域中的类别。
[0226]
图7d所示结构可用于执行步骤S530的细化内容。
[0227]
进一步地,上述信息提取模块740对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取所采用的工具包括:
[0228]
开源语法分析器antlr,正则表达式、领域专用语言DSL中的一种或多种。
[0229]
本发明实施例提供的网页信息提取装置,针对不同领域的网页信息只需维护该领域对应的领域分类模型,以及该领域内各具体类别对应的信息提取规则,使得在进行信息提取时,模型以及规则的复用性强,降低了维护模型和规则的成本,同时在提取网页信 息时可以有针对性的对不同领域内的具体类别的信息采用特定的提取规则,提高了提取的信息的准确性和效率。
[0230]
本方案能够实现面向领域的数据智能提取,处理不同领域的网页信息的提取问题,只需做好前置工作即可:页面渲染、Block如何合并、领域分类模型训练、基于Antlr的词法文件的编写等,而不再需要复杂的规则编写以及后期的规则维护,极大的降低了人力成本。同时该方案对于领域内的数据提取,存在很好的扩展能力。
[0231]
实施例四
[0232]
如图8所示,为本发明实施例的网页信息提取装置结构图三,该网页信息提取装置可用于执行如图6所示的方法步骤,其包括:
[0233]
区块分割模块720,用于对待处理网页进行页面分割,以形成多个区块;
[0234]
区块分类模块730,用于对至少一个区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0235]
信息提取模块740,用于确定各区块所属类别相适用的信息提取规则,并对各区块内文本信息进行信息提取。
[0236]
本发明实施例提供的网页信息提取装置,针对不同领域的网页信息只需维护该领域对应的领域分类模型,以及该领域内各具体类别对应的信息提取规则,使得在进行信息提取时,模型以及规则的复用性强,降低了维护模型和规则的成本,同时在提取网页信息时可以有针对性的对不同领域内的具体类别的信息采用特定的提取规则,提高了提取的信息的准确性和效率。
[0237]
实施例五
[0238]
前面实施例三描述了网页信息提取装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图9所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器910和处理器920。
[0239]
存储器910,用于存储程序。
[0240]
除上述程序之外,存储器910还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0241]
存储器910可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如 静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0242]
处理器920,耦合至存储器910,用于执行存储器910中的程序,以用于:
[0243]
对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0244]
对各区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[0245]
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
[0246]
进一步,如图9所示,电子设备还可以包括:通信组件930、电源组件940、音频组件950、显示器960等其它组件。图9中仅示意性给出部分组件,并不意味着电子设备只包括图9所示组件。
[0247]
通信组件930被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件930经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件930还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0248]
电源组件940,为电子设备的各种组件提供电力。电源组件940可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
[0249]
音频组件950被配置为输出和/或输入音频信号。例如,音频组件950包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器910或经由通信组件930发送。在一些实施例中,音频组件950还包括一个扬声器,用于输出音频信号。
[0250]
显示器960包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
[0251]
实施例六
[0252]
前面实施例四描述了网页信息提取装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图10所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器101和处理器102。
[0253]
存储器101,用于存储程序。
[0254]
除上述程序之外,存储器101还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0255]
存储器101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0256]
处理器102,耦合至存储器101,用于执行存储器101中的程序,以用于:
[0257]
对待处理网页进行页面分割,以形成多个区块;
[0258]
对至少一个区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各区块在该领域中所属的类别;
[0259]
确定各区块所属类别相适用的信息提取规则,并对各区块内文本信息进行信息提取。
[0260]
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
[0261]
进一步,如图10所示,电子设备还可以包括:通信组件103、电源组件104、音频组件105、显示器106等其它组件。图10中仅示意性给出部分组件,并不意味着电子设备只包括图10所示组件。
[0262]
通信组件103被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件103经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件103还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0263]
电源组件104,为电子设备的各种组件提供电力。电源组件104可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
[0264]
音频组件105被配置为输出和/或输入音频信号。例如,音频组件105包括一个麦克 风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器101或经由通信组件103发送。在一些实施例中,音频组件105还包括一个扬声器,用于输出音频信号。
[0265]
显示器106包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
[0266]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0267]
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

权利要求书

[权利要求 1]
一种网页信息提取方法,其特征在于,包括: 对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别; 对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述方法还包括: 对所述待处理网页进行页面渲染,以得到所述待处理网页包含的元素文本; 基于所述元素文本所体现的视觉特征,对所述待处理网页进行页面分割,以形成多个所述区块。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,所述基于所述元素文本所体现的视觉特征,对所述待处理网页进行页面分割,形成多个所述区块包括: 对所述元素文本进行解析和转换,以得到所述待处理网页对应的元素树; 对所述元素树中的各次底层节点,遍历与其连接的各底层节点,如果存在至少两个底层节点对应的元素的相似度大于预设阈值,则将该至少两个底层节点合并,并将合并后的节点和未合并的各底层节点分别记为第一节点; 针对各所述第一节点,如果所述第一节点对应的所述元素的文本信息中包含干扰信息或无用信息,则剔除该第一节点,并将剩余的各所述第一节点所对应的元素分别记为一个区块,且元素内包含的文本信息记为所述区块的文本信息。
[权利要求 4]
根据权利要求3所述的方法,其特征在于,所述方法还包括: 针对各所述第一节点: 如果所述第一节点包含的原始节点中,存在至少一个所述原始节点对应的元素的文本信息中包含商品链接和推荐关键词,则确定该第一节点包含所述干扰信息; 或者,如果所述第一节点中一个原始节点对应的元素的文本信息中包含商品链接,该原始节点的叔节点对应的元素的文本信息中包含推荐关键词,则确定该第一节点包含所述干扰信息。
[权利要求 5]
根据权利要求3所述的方法,其特征在于,所述方法还包括: 针对各所述第一节点中包含的原始节点,如果一个原始节点对应的元素的文本信息中包含无用字典中的关键词,则确定该原始节点所在的所述第一节点包含所述无用信息。
[权利要求 6]
根据权利要求1所述的方法,其特征在于,所述领域分类模型为采用随机森林算法对目标领域内已标注类别的特征数据进行学习所生成, 所述对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别包括: 从各所述区块的文本信息中提取特征数据的特征值,并形成特征向量; 将所述特征向量作为输入数据输入到所述领域分类模型中进行领域分类计算,以得到各所述区块在其所属的领域中的类别。
[权利要求 7]
根据权利要求1所述的方法,其特征在于,所述对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取所采用的工具包括: 开源语法分析器antlr,正则表达式、领域专用语言DSL中的一种或多种。
[权利要求 8]
一种网页信息提取方法,其特征在于,包括: 对待处理网页进行页面分割,以形成多个区块; 对至少一个所述区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别; 确定各所述区块所属类别相适用的信息提取规则,并对各所述区块内文本信息进行信息提取。
[权利要求 9]
根据权利要求8所述的方法,其特征在于,所述对待处理网页进行页面分割,以形成多个区块之前还包括: 对所述待处理网页进行页面渲染,以得到所述待处理网页包含的元素文本; 所述对待处理网页进行页面分割,以形成多个区块包括: 基于所述元素文本所体现的视觉特征,对所述待处理网页进行页面分割,以形成多个所述区块。
[权利要求 10]
根据权利要求8所述的方法,其特征在于,所述方法还包括: 预先训练得到与所述待处理网页所属领域相同的所述领域分类模型; 所述对各所述区块内文本信息进行信息提取之后还包括: 将提取的信息形成结构化数据。
[权利要求 11]
一种网页信息提取装置,其特征在于,包括: 区块分类模块,用于对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别; 信息提取模块,用于对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[权利要求 12]
一种网页信息提取装置,其特征在于,包括: 区块分割模块,用于对待处理网页进行页面分割,以形成多个区块; 区块分类模块,用于对至少一个所述区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别; 信息提取模块,用于确定各所述区块所属类别相适用的信息提取规则,并对各所述区块内文本信息进行信息提取。
[权利要求 13]
一种网页信息提取系统,其特征在于,包括:如权利要求11或12所述的网页信息提取装置和离线生成的多个领域分类模型以及多个信息提取规则; 所述网页信息提取装置,基于所述离线生成的多个领域分类模型以及多个信息提取规则对待处理网页进行信息提取,并形成结构化数据。
[权利要求 14]
一种电子设备,其特征在于,包括: 存储器,用于存储程序; 处理器,耦合至所述存储器,用于执行所述程序,以用于: 对待处理网页中各区块的文本信息采用预先训练得到的与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别; 对各所述区块内文本信息经与其所在区块所属类别相适用的信息提取规则进行信息提取,并形成结构化数据。
[权利要求 15]
一种电子设备,其特征在于,包括: 存储器,用于存储程序; 处理器,耦合至所述存储器,用于执行所述程序,以用于: 对待处理网页进行页面分割,以形成多个区块; 对至少一个所述区块的文本信息采用与待处理网页所属领域相同的领域分类模型进行计算分类,以得到各所述区块在该领域中所属的类别; 确定各所述区块所属类别相适用的信息提取规则,并对各所述区块内文本信息进行信息提取。

附图

[ 图 1]  
[ 图 2]  
[ 图 3A]  
[ 图 3B]  
[ 图 4]  
[ 图 5A]  
[ 图 5B]  
[ 图 5C]  
[ 图 6]  
[ 图 7A]  
[ 图 7B]  
[ 图 7C]  
[ 图 7D]  
[ 图 8]  
[ 图 9]  
[ 图 10]