青岛水木58薇宾馆:Web信息抽取技术纵览一 (2)

来源:百度文库 编辑:偶看新闻 时间:2024/05/02 08:04:31

第三章 分装器生成

第3.1. 节                 分装器

第3.2. 节                 从 IE 发展成 WG

第3.3. 节                 分装器生成

第3.4. 节                 分装器的归纳学习

第3.5. 节                 小结

各网站的信息内容互相独立,要收集起来有困难。信息抽取技术就是冲着解决此困难而来的。

因特网上还存在一个被称为“暗藏网”( the hidden web ),即那些网上数据库系统。文献 [37] 估计因特网上 80% 的内容存在于这种看不见的因特网中。搜索引擎的“网络爬虫”抓不到这些网页。这就意味着需要一种独立的工具从这些网页中收集数据。

从网站中抽取信息的工作通常由一种叫做“分装器”( Wrapper ,也译“包装器”)的程序完成。以下 3.1. 和 3.2. 节将介绍分装器的概念及分其生成( Wrapper Generation, WG )研究的历史。第 3.3 节总结了构造分装器的不同方法。手工制造分装器的工作繁重,因此,自动生成的研究变得非常重要。机器学习的方法非常诱人,第 3.4 节介绍了归纳式学习的相关技巧。

第3.1.节                 分装器

分装器是一个程序,用于从特定的信息源中抽取相关内容,并以特定形式加以表示。在数据库环境下,分装器是软件的组成部分,负责把数据和查询请求从一种模式转换成另外一种模式。在因特网环境下,分装器的目的是把网页中储存的信息用结构化的形式储存起来,以方便进一步的处理。

因特网分装器可接受针对特定信息源的查询请求,并从该信息源中找出相关的网页,然后把需要的信息提取出来返回给用户。它由一系列的抽取规则以及应用这些规则的计算机程序代码组成。通常,一个分装器只能处理一种特定的信息源。从几个不同信息源中抽取信息,需要一系列的分装器程序库。分装器的运行速度应该很快,因为它们要在线处理用户的提问。它还要能应付网络经常变化、运行欠稳定的特点。比如,网络连接失败、文档格式混乱、格式变化等。

建造针对网页的分装器主要有两个好处:一是提高了从某一特定信息源获取相关信息的能力,二是能把不同信息源的信息整合到数据库中,用通用查询语言即可查找信息。

第3.2.节                 从 IE 发展成 WG

人们需要能从不同网页资源抽取并整合数据的工具。这种需求造就了分装器生成研究领域的发展。分装器生成( WG )领域独立于传统的 IE 领域。典型的 WG 应用系统能从网上数据库返回的查询结果网页中抽取数据。这些网页构成一个被 WG 业内人称之为“半结构化”的信息源。为了能把这些网页的数据整合在一起,必须把相关的信息从这些网页中抽取出来。因此,分装器实质上是针对某一特定信息源的 IE 应用系统。

传统的 IE 系统采用基于句法和语义条件相结合的抽取模式。如前所述,对于半结构化信息源,基于语言知识的模式并不是很管用。典型的 WG 系统生成的是基于分隔符的抽取模式。由于这类网页均是在一个统一的模板上即时生成的,因此,只要学习了几个样本网页后,系统即能识别分隔符特征串,构成不同的模板区域。

从网页中抽取信息并不容易,要考虑许多问题,例如信息量膨胀的问题、系统灵活性的问题等。

第3.3.节                 分装器生成

可用人工或半自动的办法生成分装器。手工生成分装器通常需要编写专用的代码,要花很多时间理解文档的结构并将其转换成程序代码。虽然处理半结构化的网页要容易一些,但并仍然还是比较烦琐而且容易出错。

有一些工具可帮助手工生成分装器。使用的方法之一是利用描述性语法对网页结构进行描述,并且提供工具生成代码。不过,编写语法本身就是一项很艰巨和耗时的工作,而且需要高水平的专家。

手工构造的 IE 系统不能适应处理对象所属领域的变化。每个领域都要有相应的分装器,维护成本很高。对于网上信息源来说,这些缺点尤为明显,因为网页数量庞大,内容和结构繁杂,而且新的信息源不断增加,旧的信息还会改变,因此,帮助生成自动抽取网页信息的分装器的技术变得非常重要。

半自动化生成分装器的技术得益于上述分装器生成的支持工具。一种方法是使用向导让用户告诉系统那些信息是需要抽取的。通过图形界面,用户即可以通过演示编写程序,标示出需要抽取的区域。这意味着在分装器编码过程中不需要专业知识,而且比手工编码少产生错误。但是,用这种方法也需要对新的站点进行重新的学习,因为这种系统不能自己学习新的网站结构,也不能处理旧网站的结构变化。

全自动分装器的生成利用机器学习的技巧,开发学习算法,设计出从非常简单到相对复杂的分装器。即使是全自动的方法也需要人工专家的少量参与。系统必须通过学习阶段,从例子中归纳出规则。通常,这个过程是由人工指导的。

分装器归纳法是一种自动构造分装器的技术。主要思想是用归纳式学习方法生成抽取规则。用户在一系列的网页中标记出需要抽取的数据,系统在这些例子的基础上归纳出规则。这些规则的精确度如何取决于例子的质量如何。如果能代表那些需要处理的网页,那么,这些例子就是高质量的。

第3.4.节                 分装器的归纳学习

用于 IE 的机器学习方法有很多,如符号化学习法, ILP (归纳逻辑设计法),分装器归纳法,统计法和语法归纳法。在分装器归纳法中,分装器的生成被描述成一种归纳学习问题。

在最高层次,归纳学习法是从一些实例中完成未知目标概念的计算任务,是对现象的一种概括。主要思路是,如果归纳出来的规则能解释观察到的实例,或者在新事例出现时能做出准确的预测,那么,这种归纳是成功的。在分类、知识获取、知识发现等任务中被证明是有用的。

归纳学习法是通过推论来完成的。推论是一种从部分到整体、从个别到一般、从个体到普遍的推理过程。老师提供几个实例给学生,学生则从中归纳出普遍适用的规则。人类的学习是基于实验性的观察过程中的,对于我们来说,提供好的观察事例要比提供明确的完整的规则要容易。总的说来,归纳式学习法是一种建立在假设的基础上的研究方法。

有指导的归纳式学习法可以分为两类:零阶 (zero-order) 和一阶 (first-order) 学习法。两者的区别在于其训练数据和所形成的理论的表达方式的不同。

零阶学习法所采用的事例是事先分好类的。每个事例都由对应于固定属性集合的特定值描述。这类系统发展的理论以决策树( Decision Tree )或生成规则( Production Rules )的形式出现,把事例的类和它的属性值联系起来。不幸的是,决策树的学习系统缺少表达能力,因为它们建立在命题逻辑的基础上,不能学习到对象之间的关系(如家族成员的关系)之类的概念。从数据库角度看,他们只能处理“属性 - 值”这种关系。

关系型一阶学习法可在带有结构信息的例子中进行归纳,例如一阶逻辑谓词和函数,无界限结构体( Unbounded Structures ,如列表,树)等。尤其是 ILP 方法,专门研究从例子中归纳一阶逻辑形式的规则,逻辑编程的学习以及其他关系型知识。

ILP 的研究介于机器学习和逻辑编程两种传统研究领域之间。许多其他的机器学习算法均限定于处理有限的基于特征表达的例子和概念,而不能处理复杂的关系型和递归型知识。但 ILP 借助一阶逻辑的表达能力,可以学习关系和递归概念。 ILP 还可以学习更丰富的表达式和比决策树更复杂的概念,因此,已应用于解决从包含复杂结构和关系的文档中抽取信息的学习中。

ILP 算法采用两种不同的归纳方法:一是自下而上(概括),另一是自上而下(具体化)。自下而上的方法是数据驱动的。先选择几个例子,在此基础上提出一个假设,使之能处理这些例子。然后把这个假设推而广之,使之能处理其余例子。自上而下的方法则先从最普遍的假设开始,通过引入反例,把假设规则不断具体化。总的说来,自上而下算法可以归纳出一大类的逻辑程序,但需要相对多的样例。而自下而上算法有为数不多的例子就行了,但只能归纳出一小类的程序。

目前已经有了几个实验 ILP 系统,包括有名的 FOIL[47] 和 GOLEM[39] 。 FOIL 由 Quinlan 于1989年开发,采用自上而下的算法。在一个既有正又有反的事实的训练集中,先找出一个只覆盖正例而不涉及反例的逻辑子句 (clause) ,然后把这个子句覆盖的事实从训练集中删除。如此直到训练集中没有正例为止。 GOLEM ( Muggleton and Feng 1990 )采用贪婪覆盖算法( Greedy Covering Algorithm )。子句的生成是自下而上的,建立在更多具体子句的“最少概括”( least-general )的概括生成上。概括一直进行直到所有的正例都被覆盖而无一个反例被涉及。

第3.5.节                 小结

可以预计,网上结构化信息将不断增加。通过查询网上数据库所获得的网页也将不断增加。这些网页是无法让搜索引擎获取的。因此,越来越需要可以把相关信息从这些网页中抽取出来的工具。

分装器是专门从特定信息源中抽取需要的信息并返回结果的程序。对于从不同信息源中整合信息资料是非常有用的。由于这种需求不断增加,分装器生成的研究领域从传统的 IE 领域中脱颖而出。相比之下,生成分装器所采用的技术比较少依赖句子的全面语法分析和 NLP 技术。

分装器可由程序员直接编写,或手工指定网站结构再由程序自动生成规则和代码。无论是哪种情况,这个过程都是费时费力的,而且网页的结构经常变化,新网页层出不穷。这样,必须建造新的分装器。为此,网上信息抽取的研究转向了半自动和自动生成分装器的工作上。

分装器归纳法是用机器学习方法自动生成分装器的方法。在归纳法中,分装器的生成被看成是归纳学习的问题,其任务是从一组例子中计算出一般规则,以解释观察到的事实。教师提供例子,学生在例子的基础上作出归纳,推导出规则。

归纳逻辑编程方法处于传统的机器学习领域和逻辑编程之间,使用一阶逻辑规则。得益于一阶逻辑丰富的表达能力, ILP 方法可以学习关系型和嵌套概念。这是大多数基于“属性 - 值”表达方式的机器学习算法所无法达到的。 ILP 方法为此被应用到学习如何从复杂结构和关系的文档中抽取信息。