Web信息抽取技术纵览一(转载)

Web信息抽取技术纵览一
原文: http://www.blogjava.net/mlh123caoer/archive/2007/01/01/91293.html

第一章          导论

 

信息抽取( Information Extraction: IE )的目标是把文本里包含的信息进行结构化处理,变成表格一样的组织形式。输入信息抽取系统的是原始文本,输出的是固定格式的信息点。信息点从各种各样的文档中被抽取出来,然后以统一的形式集成在一起。这就是信息抽取的主要任务。

信息以统一的形式集成在一起的好处是方便检查和比较。例如比较不同的招聘和商品信息。还有一个好处是能对数据作自动化处理。例如用数据挖掘方法发现和解释数据模型。

信息抽取技术并不试图全面理解整篇文档,只是对文档中包含相关信息的部分进行分析。至于哪些信息是相关的,那将由系统设计时定下的领域范围而定。

信息抽取技术对于从大量的文档中抽取需要的特定事实来说是非常有用的。互联网上就存在着这么一个文档库。在网上,同一主题的信息通常分散存放在不同网站上,表现的形式也各不相同。若能将这些信息收集在一起,用结构化形式储存,那将是有益的。

由于网上的信息载体主要是文本,所以,信息抽取技术对于那些把因特网当成是知识来源的人来说是至关重要的。信息抽取系统可以看作是把信息从不同文档中转换成数据库记录的系统。因此,成功的信息抽取系统将把互联网变成巨大的数据库!

信息抽取技术是近十年来发展起来的新领域,遇到许多新的挑战。

本文首先在第二章简要介绍信息抽取技术,第三章介绍网页分装器 (wrapper) 的开发,第四章介绍已经开发出来的网站信息抽取系统,第五章介绍信息抽取技术的应用范围以及首批已经进入商业运作的商用系统。

第二章            信息抽取技术概述

信息抽取原来的目标是从自然语言文档中找到特定的信息,是自然语言处理领域特别有用的一个子领域。所开发的信息抽取系统既能处理含有表格信息的结构化文本,又能处理自由式文本(如新闻报道)。 IE 系统中的关键组成部分是一系列的抽取规则或模式,其作用是确定需要抽取的信息 [52] 。网上文本信息的大量增加导致这方面的研究得到高度重视。

本章首先介绍信息抽取领域的发展。第 2.1. 节比较了信息抽取和信息检索的区别;第 2.2. 节介绍 IE 的历史。接下来两节解释评价 IE 系统的指标和常用的两派技术方法。信息抽取技术所处理的文本类型将在第 2.5. 节中说明。第 2.6. 节描述信息抽取技术可利用的网页特征。

2.1.           IR IE

IR 的目的是根用户的查询请求从文档库中找出相关的文档。用户必须从找到的文档中翻阅自己所要的信息。

就其目的而言, IR IE 的不同可表达如下: IR 从文档库中检索相关的文档,而 IE 是从文档中取出相关信息点。这两种技术因此是互补的。若结合起来可以为文本处理提供强大的工具 [24]

IR IE 不单在目的上不同,而且使用的技术路线也不同。部分原因是因为其目的差异,另外还因为它们的发展历史不同。多数 IE 的研究是从以规则为基础的计算语言学和自然语言处理技术发源的。而 IR 则更多地受到信息理论、概率理论和统计学的影响 [24]

2.2.           IE 的历史

自动信息检索已是一个成熟的学科,其历史与文档数据库的历史一样长。但自动信息抽取技术则是近十年来发展起来的。有两个因素对其发展有重要的影响:一是在线和离线文本数量的几何级增加,另一是“消息理解研讨会”( MUC )近十几年来对该领域的关注和推动。

IE 的前身是文本理解。人工智能研究者一直致力于建造能把握整篇文档的精确内容的系统。这些系统通常只在很窄的知识领域范围内运行良好,向其他新领域移植的性能却很差 [53]

八十年代以来,美国政府一直支持 MUC 对信息抽取技术进行评测。各届 MUC 吸引了许多来自不同学术机构和业界实验室的研究者参加信息抽取系统竞赛。每个参加单位根据预定的知识领域,开发一个信息抽取系统,然后用该系统处理相同的文档库。最后用一个官方的评分系统对结果进行打分。

研讨会的目的是探求 IE 系统的量化评价体系。在此之前,评价这些系统的方法没有章法可循,测试也通常在训练集上进行。 MUC 首次进行了大规模的自然语言处理系统的评测。如何评价信息抽取系统由此变成重要的问题,评分标准也随之制定出来。各届研讨会的测试主题各式各样,包括拉丁美洲恐怖主义活动、合资企业、微电子技术和公司管理层的人事更迭。

过去五、六年, IE 研究成果丰硕。英语和日语姓名识别的成功率达到了人类专家的水平。通过 MUC 用现有的技术水平,我们已有能力建造全自动的 IE 系统。在有些任务方面的性能达到人类专家的水平 [53] 。不过自 1993 年以来,每届最高组别的有些任务,其成绩一直没有提高(但要记住 MUC 的任务一届比一届复杂)。一个显著的进步是,越来越多的机构可以完成最高组别的任务。这要归公于技术的普及和整合。目前,建造能达到如此高水平的系统需要大量的时间和专业人员。另外,目前大部分的研究都是围绕书面文本,而且只有英语和其他几种主要的语言。

2.3.           评价指标

信息抽取技术的评测起先采用经典的信息检索 (IR) 评价指标,即回召率 (Recall) 和查准率 (Precision) ,但稍稍改变了其定义。经修订后的评价指标可以反映 IE 可能产生的过度概括现象 (Over-generation) ,即数据在输入中不存在,但却可能被系统错误地产生出来( Produced [24]

IE 而言,回召率可粗略地被看成是测量被正确抽取的信息的比例 (fraction) ,而抽准率用来测量抽出的信息中有多少是正确的。计算公式如下:

P= 抽出的正确信息点数 / 所有抽出的信息点数

R= 抽出的正确信息点数 / 所有正确的信息点数

两者取值在 0 1 之间,通常存在反比的关系,即 P 增大会导致 R 减小,反之亦然。

评价一个系统时,应同时考虑 P R ,但同时要比较两个数值,毕竟不能做到一目了然。许多人提出合并两个值的办法。其中包括 F 值评价方法:

其中 是一个预设值,决定对 P 侧重还是对 R 侧重。通常设定为 1

这样用 F 一个数值就可很看出系统的好坏。

2.4.           IE 系统设计的两大方法

IE 系统设计主要有两大方法:一是知识工程方法( Knowledge Engineering Approach ),二是自动训练方法 (Automatic Training Approach)

知识工程方法主要靠手工编制规则使系统能处理特定知识领域的信息抽取问题。这种方法要求编制规则的知识工程师对该知识领域有深入的了解。这样的人才有时找不到,且开发的过程可能非常耗时耗力。

自动训练方法不一定需要如此专业的知识工程师。系统主要通过学习已经标记好的语料库获取规则。任何对该知识领域比较熟悉的人都可以根据事先约定的规范标记语料库。经训练后的系统能处理没有见过的新文本。这种方法要比知识工程方法快,但需要足够数量的训练数据,才能保证其处理质量。

2.5.           自由式、结构化和半结构化文本

自由式文本 :信息抽取最初的目的是开发实用系统,从自由文本中析取有限的主要信息。例如,从报道恐怖袭击活动的新闻中析取袭击者、所属组织、地点、受害者等信息;又如,从医药研究报告的摘要中提取新产品、制造商、专利等主要信息点。

处理自由文本的 IE 系统通常使用自然语言处理技巧,其抽取规则主要建立在词或词类间句法关系的基础上。需要经过的处理步骤包括:句法分析、语义标注、专有对象的识别(如人物、公司)和抽取规则。规则可由人工编制,也可从人工标注的语料库中自动学习获得。

自由文本信息点抽取技术的现有水平不可与人的能力同日而语,但还是有用的,不管其抽取规则是人工编制的还是通过机器学习的 [52] 。虽然自然语言理解是漫长的期待,但是,信息抽取技术确实可行,因为这项技术对其需要搜索的模式类型有很强的限定,而这种限定是有根有据的。

结构化文本 :此种文本是一种数据库里的文本信息,或者是根据事先规定的严格格式生成的文本。从这样的文本中抽取信息是非常容易的,准确度也高,通过描述其格式即可达到目的。所用的技巧因而相对简单。

半结构化文本 :这是一种界于自由文本和结构化文本之间的数据,通常缺少语法,象电报报文,也没有严格的格式。用自然语言处理技巧对这样的文本并不一定有效,因为这种文本通常连完整的句子都没有。因此,对于半结构化文本不能使用传统的 IE 技巧,同时,用来处理结构化文本的简单的规则处理方法也不能奏效。

在半结构化文本中确实存在一些结构化的信息,但是,抽取模式通常依赖字符和象 html 标记那样的分隔标志。句法和语义信息的作用则非常有限。

2.6.           网页

因特网提供了一个巨大的信息源。这种信息源往往是半结构化的,虽然中间夹杂着结构化和自由文本。网上的信息还是动态的,包含超链接,以不同的形式出现,而且跨网站和平台,全网共享。因此,因特网是一个特殊的挑战,一直推动着从结构化和半结构化文本中抽取信息的研究向前迈进。

有些研究者把所有网页都归入半结构化文本,但 Hsu[31] 对网页类型做了颇有用的定义:若能通过识别分隔符或信息点顺序等固定的格式信息即可把“属性 - 值”正确抽取出来,那么,该网页是结构化的。半结构化的网页则可能包含缺失的属性,或一个属性有多个值,或一个属性有多个变体等例外的情况。若需要用语言学知识才能正确抽取属性,则该网页是非结构化的。

网页的结构化程度总是取决于用户想要抽取的属性是什么。通常,机器产生的网页是非常结构化的,手工编写的则结构化程度差些,当然有很多例外。

传统的 NLP 技巧对抽取半结构化文本的信息并不是很有用,因其缺少规范的语法结构,而且, NLP 方法的处理速度通常比较慢,这对于网上海量信息来说是一个大问题。

网上大部分内容都以属性列表的形式呈现,例如很多可搜索的网页索引。这种外观上的规律性可被利用来抽取信息,避免使用复杂的语言学知识。

网页上的组织结构和超链接特性是需要认真考虑的重要因素。例如,可能需要打开链接的内容才能找到你想要的信息。网页的组织结构不同,抽取规则也不同。

网上数据库查询的结果通常是一系列的包含超级链接的网页。文献 [14] 把这类网页分成三类:一层一页,即一个页面即包含了所有的查询结果;一层多页,即需要调出多个链接才能获得所有的结果;两层页面,即第一层是列表式条目链接,点击链接后才能看到详细资料。

2.7.           小结

IE 领域是近十年来新发展起来的研究领域,一是由于“消息理解研讨会” (MUC) 的推动,二是由于网上内容的大量增加。

IE 对自由文本和结构化文本都能处理。 NLP 技巧通常用于自由文本,对结构化和半结构化文本并不是太适合。相反,基于分隔符和字符的方法更能奏效。

因特网是包含大量半结构化文本的信息源。网页与传统的文本相比,有许多特点:量大,常更新,变化多,页面的一大半包含结构化的文字块,还可能有超链接。因此,网页为信息抽取研究带来新的挑战。

第三章   分装器生成

第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 方法为此被应用到学习如何从复杂结构和关系的文档中抽取信息。

第四章          分装器生成系统简介

4.1.         处理结构化和半结构化网页的系统 ...

4.1.1.      ShopBot

4.1.2.      WIEN..

4.1.3.      SoftMealy.

4.1.4.      STALKER.

4.2.         处理半结构化和非结构化网页的系统 ...

4.2.1.      RAPIER.

4.2.2.      SRV.

4.2.3.      WHISK.

4.3.         小结 ...

早期从网站上抽取信息的方法基本上是基于手工操作的。程序员认真研究网站的结构后手工编写代码,开发一个分装器程序,把网页的逻辑特征抽取出来并把他们存入到数据库。 TSIMMIS[13 25 28 29] 系统和“斯坦福 -IBM 多信息源管理系统( 1995 )”是比较早的帮助建造分装器程序的框架系统。 TSIMMIS 的目标是以一体化的方式获取不同信息源的信息并且保证所获取信息一致性。其重点是开发支持这种包装过程的语言和工具。

对于数据量大,结构动态变化的网站而言,需要一种更为有效的分装器建造方法。一般说来,数据库领域的人把注意力放在错综复杂的信息如何进行整合,分装器则用手工建造。另一方面, AI 领域的人则把重点放在机器学习的方法如何能用在网站结构的自动学习上。本章将重点介绍分装器的自动或半自动的生成系统。

分装器及其自动生成的复杂度和难易度将取决于网站结构的层次。第 4 .1. 节介绍的系统主要是针对结构化程度相对好的网站。这类系统多数是源自分装器生成领域的研究者。第 4.2. 节介绍了能处理结构缺少规范化的网页。这类系统较多地受到传统的 IE 领域的影响。

4.1.                 处理结构化和半结构化网页的系统

本节介绍 ShopBot, WIEN, SoftMealy STALKER 系统。这类系统可以说是属于分装器生成系统,专门用来从网站数据库系统生成的网页。采用分隔符为主的抽取规则,无需用到句法和语义知识,局限于处理比较结构化的数据。

4.1.1 .          ShopBot

开发者: R. B. Doorenbos, O. Etzioni, D. S. Weld (1996/1997)[17,18]

ShopBot 是比价代理系统,专门从网上卖家的网站上抽取信息,因此,比其他系统的局限性要大。其算法主要针对以表单形式提供查询的页面,而且返回的搜索结果是以表格形式显示的产品信息页面。从结果页面中抽取信息的技巧结合了启发式搜索、模式匹配和归纳式学习。

ShopBot 的运行分两个阶段:离线学习阶段和在线比价阶段。在学习阶段,系统分析每个购物网站,获得其符号化描述,然后在比价阶段,利用获得的符号化描述,从网站上抽取信息,找到用户指定的产品的最低价格。

在学习阶段,系统利用简单的启发式方法找到正确的检索表单,学习如何向该表单发送查询请求。学习程序还必须判定查询结果页面的格式。一般包括头部、主体和尾部等三部分。头尾两部分在所有的结果页面中都是一致的,而主体则包含了想要的产品信息。结果页面的格式是通过三个步骤判定的:

1 步:获取“找不到产品”的失败页面。用不存在的词(如“ xldccxx-no-product” )作为关键字查询数据库,然后分析返回的页面。

2 步:找到头尾部分。用可能存在的产品名称去查询数据库,通过分析返回的页面找到头尾部分。

3 步:判定包含产品信息的主体格式。首先用 HTML 标记和字串对可能的产品信息摘要进行定义和表示。网页主体被切分成“逻辑行”,代表“垂直空格分隔” (vertical-space-delimited) 的文本。学习程序用逻辑行比较不同的摘要形式,找到最佳匹配。这样可以找到产品的描述格式,但是不能归纳出信息栏的名称。最关键的价格信息是用手工编码的方法获取的。

4.1.2 .          WIEN

开发者: N. Kushmerick (1997) [33,34]

“分装器归纳生成环境”( WIEN-Wrapper Induction Environment )是辅助分装器生成的工具,为网页的自动分析而设计,受到 ShopBot 的影响。不过, Kushmerick 是第一个提出分装器归纳生成这一术语的。其方法不只局限于某一领域,适用于所有包含表格信息的结构化文本,也不只是用于 HTML 文本。

这种方法可以处理被他们称之为具有 HLRT 结构的网页:头分隔符、左右分隔符(在每个待抽取的事实的左右)和尾分隔符。系统寻找标记信息点开始和结尾的统一的分隔符,以及那些把表格信息与其他周围信息分开的分隔符。符合这一规则的页面几乎都是搜索数据库所得的结果页面。

Kushmerick 力图尽量自动化,避免用人工标记样例,因此开发了一系列自动标记样例的方法。标记算法需要输入特定领域( domain-specific )的启发学习规则,目标是找到待抽取属性的值。系统虽然需要输入学习规则,但却不管这些规则是如何获得的,可以手工编制。即使是这样,比起标记整个网站来,其工作量要小。

系统采用归纳学习法,从查询结果样例中生成分装器。归纳算法是:把标记好的网页作为输入,然后搜索由“ HLRT 分装器模型”定义的分装器空间( space of wrappers ),反复尝试所有可能的分隔符,直到找到与标记网页相一致的 HLRT 分装器。系统还采用基于机器学习理论的模型来预测需要学习多少个例子,以保证所生成的分装器的出错几率控制在一特定的范围内。

由于 WIEN 只考虑与待抽取数据紧相邻的分隔符,因此不能包装那些数据不全或信息项次序不固定的网页。系统采用的是多栏( Multi-slot )规则,这就意味着能把相关的信息联在一起,而单栏规则只能抽取孤立数据(例如,若一篇文档包含多个姓名和地址,使用单栏规则不能辨认出哪个地址是属于某人的)。

4.1.3 .         SoftMealy

开发者: C-H. Hsu (1998)[30,31]

Kushmerick 之后,有好几个别的系统研发出来,力图改进 WIEN 的分装器归纳算法。 SoftMealy 是一个通过学习分装器学习从半结构化网页中抽取信息的系统。其分装器被称为“非确定有限自动机”( non-deterministic finite automata )。这种表达模式和学习算法据说可以处理缺失值、一栏多值和变量改变( permutations )的情况。

系统从训练样例中归纳上下文规则。训练样例提供一个有顺序的事实列表以及事实间的分隔符。归纳生成分装器时,把一系列带标记元组( labeled tuples )作为输入。这些元组提供了分隔符的位置和事实次序变化的信息。这些信息被归纳为上下文规则作为结果输出。

归纳生成的分装器是一个“非确定有限自动机”。其状态代表待抽取的事实,状态的转换代表定义分隔符的上下文规则。状态的转换由上下文规则的匹配结果来确定。分装器通过识别事实周围的分隔符来抽取事实。

SoftMealy 的规则允许使用通配符,而且能处理信息缺失和次序变化。然而,为了能处理不同次序的事实,系统需要学习其各种可能的次序。总的说来, SoftMealy 的抽取模式比 WIEN 规定的要更有表达能力。

4.1.4 .         STALKER

开发者: I. Muslea, S. Minton, C. Knoblock. (1998) [42,43,44]

STALKER 采用指导学习的算法归纳抽取规则。训练例子由用户提供。用户需选择若干样例页面并把有用的数据(即所谓“ EC 树”的叶子)标记出来。页面被标记好后,系统可生成一符号序列( the sequence of tokens ),用来表示页面的内容,还生成代表信息点开始的符号索引。符号系列(字、 HTML 标记)和通配符被作为定位标志,用于找到页面上的数据。分装器归纳算法产生抽取规则并表示为简单的标志语法( landmark-grammars )。此法可处理文本,但不能处理链接信息。

网页文档用所谓的“内嵌目录”( Embedded Catalog )表示。那是一个树形结构,其内部节点或是同构的( homogeneous )信息点列表,或是异构信息点元组( tuples )。根节点是整篇文档,任一节点的内容代表其父节点内容的一个接续( subsequence )。末节点即是用户需要抽取的数据。  

STALKER 采用线性覆盖算法( sequential covering algorithm )。首先生成线性标志自动机( landmark automata )。这些自动机能产生尽可能多的训练正例( positive training examples )。该自动机实际上是一个“非确定有限自动机”。其状态的变化只有在字符串输入为了目前状态与下一状态间的转换而被接受时才发生。然后系统试图生成新的自动机以覆盖剩余的例子,一直到所有的训练例子都被覆盖为止。这时, STALKER 返回一个被称之为 SLG (简单标记语法)的解决方法。其每个分支都对应一个学习获得的标记自动机。

STALKER 可以包装有任意层结构的信息源。每个节点的抽取与其子节点独立,因此,文档中信息点的次序是没有关系的。对于信息点缺失或次序多变的文档一样能处理。这就比只能处理固定次序的 WIEN 等系统更灵活。与同样能处理信息点缺失或次序多变文档的 SoftMealy 不同, STALKER 无需把各种可能的次序变化都学习到。

STALKER 采用的规则与 WIEN 的不同,是单栏的。不过由于 STALKER 利用 EC 树把从多栏模板中取出的单个信息点集在一起,因此没有什么缺陷。

4.2.                 处理半结构化和非结构化网页的系统

本节介绍 RAPIER SRV WHISK 系统。这些系统比上节介绍的要复杂一些,能处理的文本类型要多一些。虽然如此,它们并不依赖语义和句法信息,只是在可能的情况下利用这些知识,而且能发挥混合抽取模式的作用。

这些系统更接近传统的信息抽取方法,可以说处于 IE WG 中间,因为它们的重点是开发用机器学习方法来解决 IE 问题。所用的方法以归纳逻辑编程( inductive logic programming )或关系学习( relational learning )为基础,而且与归纳算法有关,比如 FOIL 算法( SRV WHISK 采用)和 GOLEM 算法( RAPIER 采用)。

4.2.1 .               RAPIER

开发者: E. Califf (1997) [11,12]

RAPIER Robust Automated Production of Information Extraction Rules ,健壮的信息抽取规则自动生成系统)以半结构化文本为处理对象,学习抽取规则,为整个 IE 过程服务。系统需要输入指明待抽取信息的“文档 - 充实模板”( filled template )组对作为训练内容,从中获得模式匹配规则,抽取“填充子”( filler )填充模板中的空槽。

学习算法结合了多个归纳逻辑编程系统所采用的技巧,能学习无界限模式。这些模式包含了对词的限制条件和填充子周围的词性。学习算法由一个从具体到一般(即自下而上)的搜索,从训练中与目标槽匹配的最具体的规则开始。随机从规则库中抽取一对对规则,然后横向搜索( beam search ),以图找到这两条规则的最佳概括,采用最少概括的概括方法( a least general generalization ),增加限制条件,不断重复后直到不再有进展为止。

RAPIER 的抽取规则是建立在分隔符和内容描述的基础上的,即使用了能利用句法和语义信息的模式所表达的规则。系统使用了一个词性标注程序获取句法信息,使用了一个语义类别词典获取语义信息。标注程序以句子为输入单位,把词标注为名词、动词、形容词等,速度和健壮性都比完全句法分析器快和优,但给出的信息有限。

信息抽取规则用模板名和格栏( slot )名索引,由三部分组成:前填充子( pre-filler ):一个应匹配目标文本之前的文本的模式( pattern );填充子:一个应匹配目标文本的模式;后填充子:一个应匹配紧接目标文本之后的文本的模式。

一个模式是一串模式信息点( pattern items ),要求一个一个词匹配,或者是模式列表( pattern lists ),可匹配 N 个词。文本必须满足模式规定的条件才算匹配成功。可能的条件包括文本必须是( I )一组词,其中一个必须与文档文本匹配;( II )一组句法标记,其中一个标记必须与文档文本的标记匹配;或者( iii )一组语义类别,文档文本必须属于其中一类。

这种以目标词组为中心设定抽取区域的方法意味着系统只能进行单格抽取。但是,若把文本分成超过三个区域,系统或许能进行多格抽取。

4.2.2 .               SRV

开发者: D. Freitag (1998) [21,22,23]

SRV(Sequence Rules with Validation ,带确认功能的次序规则 ) 是一种自上而下、关系型的信息抽取算法。其输入是一系列的网页,上面标记了待抽取区域的实例( instance ),以及一系列基于字串 (token) 的特征。输出是一系列的抽取规则。

SRV 把信息抽取问题看成是一种分类问题。文本中所有可能的短语(取最长者)都是实例。文档中的候选实例被提交到分类器。系统会给每个短语赋一个测量值,用于反映该短语作为目标格填充子的信度。最初版本的 SRV 采用的分类器是一个关系型规则的学习器,使用的归纳方法类似于 FOIL 的自上而下的办法。在文献 [23] 中,他们采用了另外两个分类器,机械背诵学习器( rote learner )和简单贝叶斯分类器 (naïve Bayes classifier) ,并与原来的分类器作了比较。

SRV 利用的特征分两种:简单特征和关系特征。字词的长度、类型、拼写、词性等属于简单特征。关系特征反映字词的相邻度。正是这一特征使 SRV 具有关系型的特点。

SRV 的学习素材包括训练集文档中与最短实例区( field instance )一样长(以词的个数计算)的字串,但不能长过最长的实例。抽取过程即是检验长度适合的字串是否与规则匹配的过程。

SRV FOIL 一样,从学习所有正反例子开始。所谓反例是没有被标记为实例区的字串。归纳过程也是用正排除法,即当一条规则覆盖的例子全部是正例,或该规则已无法继续具体化时,所有与之匹配的正例将被从训练集中删除。然后重复以上过程。

SRV 的规则具有较强的表达能力,且无需先进行句法分析。 SRV STALKER RAPIER 有类似之处,能把与其他相关信息点独立的特定信息点抽取出来。关系型学习器也与 RAPIER 的一样用于抽取单格信息点。这与 WIEN 等抽取多格信息的系统不一样。

4.2.3 .               WHISK

开发者: S. Soderland (1998) [52]

WHISK 系统能处理的文本对象很全面,从结构化程度很强的文本到网页等半结构化文本,还能处理新闻等纯文本。处理结构化或半结构化文本时, WHISK 无须事先经过句法分析,但处理自由文本时,最好能先对文本作句法和语义标注。

系统采用指导学习算法,而且需要输入一系列手工标注的训练实例。标注和学习过程是交织在一起的。每次循环,系统将提交一批实例让用户标注,系统则从标注的实例中归纳出规则。

开始时,输入的文本是未标注的,训练集也是一个空集。系统会从文本中挑选一批实例(即小于整个文档的文字单位),让用户把需抽取的部分加上标记。怎样的字串会被选为实例呢?这取决于文档的类型。对于结构化和半结构化文档来说,系统根据 HTML 标记或其他字符串表达式把文本切成多个实例。对自由文本,实例的切分将由一个句子分析器完成。在这种情况下,一个实例可能是一个句子或者句子的一部分。

训练实例上的标记将指导抽取规则的生成,并且检验规则的效果。如果规则被成功应用到一个实例上,那么该实例则被认为被规则“覆盖”了。如果抽取出来的词组与实例上的标记相吻合,则认为该词组的抽取是正确的。

WHISK 属于机器学习算法家族中的覆盖学习法,与自上而下的学习分类归纳法相关。首先,找到一个最宽泛( general )的能覆盖规则种子的规则,然后一次加一个条件,直到错误率为零,或者满足一个事先设定的标准为止。用来衡量新条件增加的标准是规则的 Laplacian 期望错误值。计算公式如下: N 是训练集中抽取出来的字串数, e 是这些字串中应用规则所产生的错误数。学习过程一直进行,直到能覆盖所有该被覆盖的抽取字串都被覆盖为止。最后把那些过适( overfitting )规则删除掉。

WHISK SRV RAPIER 等一样可以处理结构化和非结构化文本,但没有“单格”抽取法的缺陷。象 WIEN 一样, WHISK 通过多格“格框架”( Case Frame ),把有关的信息联系在一起。 WHISK SRV RAPIER 也不同,操作的对象不是整个文档,而是象句子或类似长度的文本。

WHISK SoftMealy 一样可以处理信息点顺序变化的情况,但需要输入各种例子,以便学习所有可能的排序。由于其特征集的表达能力不强,因此不能表达否定特征( negated features ),比 SRV 的性能要差一些。

4.3.                 小结

本章比较了几个分装器的自动学习系统。 4. 1 总结了这些系统的特点。

4. 1. 个系统的功能特征比较

系统

结构化

半结构化

自由式

多槽

缺失信息

次序变化

ShopBot

X

 

 

 

 

 

WIEN

X

 

 

X

 

 

SoftMealy

X

X

 

 

X

X*

STALKER

X

X

 

*

X

X

RAPIER

X

X

 

 

X

X

SRV

X

X

 

 

X

X

WHISK

X

X

X

X

X

X*

第五章          商用系统简介

5.1.         应用范围 ...

5.2.         商用系统 ...

5.2.1.      Junglee.

5.2.2.      Jango.

5.2.3.      MySimon.

5.3.         小结 ...

因特网上的海量信息是世界各地的用户都能获得的,因此,能帮助完成信息自动收集和分析的代理程序是非常有用的。具有如此技术的应用程序有很多。

本章第 1 节介绍了信息抽取应用系统已被试用的几个领域。第 2 节介绍了首批商用系统。

5.1.           应用范围

网上有很多有用的信息,例如电话黄页、产品目录、股票行情、天气预报等。这些信息可能不是由一个网上数据库提供,而是分散在多个数据库中。这些数据库可供用户输入关键字等查询条件进行搜索,然后自动生成网页,把结果显示出来。

一般说来,把来源分散的数据集中在一起是非常有用的。但是,以浏览器为界面的浏览方式不直接支持把不同网站的数据集成起来,因此,信息抽取工具便有了用武之地。

前一章节介绍的系统对几种不同的网页信息进行了处理。下面重温一下其中几类:

l        产品描述

ShopBot 专为此设计 [17 18] ,用于比价购物。所抽取的产品信息按价格排序。

l        餐厅指引

STALKER 被用来抽取不同网站上的餐厅信息,如餐厅名称、菜肴种类、价格、烹调方法、地址、电话和评价。 [42 43]

l        讲座通知

SRV 试用在讲座信息的抽取任务上,把讲者、地点、时间等信息抽取出来。

l        招聘广告

RAPIER WHISK 被用于招聘广告的信息抽取。需抽取的信息点包括职位名称、工资、地点等。

l        人事更迭公告

这项任务需要处理自由式文本,属于传统的信息抽取任务。 WHISK 曾被实验从一堆华尔街金融杂志的文章中分析出公司管理层的人事更迭事件 [52] 。目标是抽取出公司名称、职位、新任人员的姓名、卸任人的姓名。

以上只是这种技术可发挥作用的许多应用领域中的很小的一部分。其他还有很多例子,例如,租赁广告、地理信息、假日旅游信息、天气预报、参考书目信息等。

总的说来,具有信息抽取和收集功能的代理程序可以用于处理任何列表式的、分散在一堆网页上的数据。

5.2.           商用系统

在上节提到的应用中,比价购物是主要的商用领域之一。其原因之一是近来对电子商务的普遍关注以及因特网上与此相关的应用在不断增长。

另一原因是这类网上商店网站专门为用户快速找到商品而设计,具有统一的外观和风格。这就为比价系统自动处理商品信息带来了便利。

由于不同商家经常经营同一商品,因此,从不同商家网站中收集并比较同一产品的价格的服务受到网上购物用户的欢迎。通常,网上商店提供的商品信息是存在数据库系统中的。用户需要这些信息时,系统将根据用户的请求从数据库中提取数据,当即显示给用户。这部分的信息成为了“暗藏网”( hidden web ),因为搜索引擎查不到这些数据。比价系统成为除手工收集以外的这类信息获取的唯一途径。

下面将介绍三种商用比价系统: Junglee Jango MySimon 。它们是市面上最引人注目的系统,实现方法各有千秋。 Jango mySimon 用的是在线模式,即当用户发出请求时马上到各网站查找信息。 Junglee 则先把数据收集下来,在必要的时候进行更新。

每个系统都是在用户的请求下返回产品清单,用户可对清单上的价格作出比较并决定从哪个商家中购买。下面对以上系统作一简要介绍。

5.2.1 .         Junglee

1996 年斯坦福大学的研究生们创建了 Junglee 1998 Amazon 以大约 1 亿 8 千万美圆的价格收购了该系统。 Junglee 使用的是一种被成为虚拟数据库( Virtual Database, VDB )的技术,并利用 HTML XML 的混合形式表示从多个网站中获取的信息 [46 48]

VDB 把分散的数据收集下来,规范化并整合起来,为程序员提供一个单一数据库的界面。分装器负责与数据源对接,把数据转换成数据库。

VDB 有两个主要组成部分:数据整合系统和数据发布系统。前者完成数据的抽取,后者定期完成数据库更新。数据整合系统有三个组成部分:一组分装器、一个影射器和一个抽取器。分装器提供对不同网站的统一接口,用描述性编程语言建造,特别针对网站结构和链接网站间的特点而设计。

影射器用预定义的影射规则,把抽取出来的数据转换成统一的格式。抽取器用字典和语言学规则从非结构化的文本中归纳出其组织结构。两者都采用了特殊设计的语言来编写规则。针对每个网站都有一个单独的分装器,而抽取器则针对所有类似网站。

5.2.2 .         Jango

Jango 的前身是 ShopBot ,是 NETbot 的产品。发源于华盛顿大学的研究者 Oren Etzioni Dan Weld 的研究成果 [17 18] 1997 10 Excite 3500 万美圆收购了 NetBot ,把 Jango 整合进其购物频道。

Jango 由四部分组成 [8] :( I )一个自然语言前端,能将用户请求转换成产品描述的逻辑表示;( ii )一个查询路由器( query router ),能判定产品类别,找出相关的一系列网站;( iii )一个集成引擎,能平行向选定的网站提交查询;( iv )一个过滤器,能用类似于 ShopBot 的方法,把信息抽取出来。

在学习阶段, Jango 根据网上商店首页的 URL 和产品领域知识,学习如何在网站购物,能学得每个商店的产品描述的格式,获取价格等产品属性。在购物阶段,这些学得的描述将被用于抽取用户指定的产品信息。信息抽取是在线平行进行。结果以价格排序显示给用户。

5.2.3 .         MySimon

MySimon Michael Yang Yeogirl Yun 在1998年4月一起创建的。一种被称为虚拟学习代理( Virtual Learning Agent VLA )的技术由 Yeogirl Yun 开发并用于网站的学习中。

VLA 生成若干智能代理,能模仿人的采购行为,经过训练可从任何一个购物网站上抽取信息。

代理的训练过程是通过一个图形界面进行的。训练者无须是编程人员。在浏览网上商店的同时,系统会复制其获得的信息。根据训练者的操作行为和复制的信息,系统会生成能使代理运行的编码。

5.3.           小结

信息抽取技术可以发挥作用的地方有许多。不过,最成功的要数比价购物。最近两年来,比价购物系统已经投入商用。其中比较出色的是 Jango, MySimon Junglee

Jango 在线进行抽取,用机器学习方法学得网站结构。 MySimon 也以在线方式抽取信息,但使用的学习方法不同。非程序员通过实际上网购物,教会智能代理学习如何从网站上抽取相关的信息。

Junglee 把数据抽取出来并储存在数据库中,然后用数据库作为比价系统的信息源。一种专用的语言被用来描述网站结构并生成抽取过程所需的代码。

 

你可能感兴趣的:(Web信息抽取技术纵览一(转载))