FactRunner:一个基于NLP技术 从维基百科中提取信息的新系统外文翻译资料

 2022-08-11 10:08

英语原文共 16 页,剩余内容已隐藏,支付完成后下载完整资料


FactRunner:一个基于NLP技术 从维基百科中提取信息的新系统

【摘要】因为维基百科包含了大量由人类作者撰写的高质量信息,作为一种人们可读的知识来源,维基百科正扮演者越来越重要的角色。在这个庞大的自然语言文本集合中,获取相关信息往往是一个耗时的过程,因为基于关键词的搜索界面是查询的主要方法。因此,需要一个迭代过程来探索文档集合,以找到感兴趣的信息。在本文中,我们提出了一种从非结构化文档中提取结构化信息以支持结构化查询的方法。信息提取(Information Extraction, IE)系统已经被提出用于这个任务,但是由于自然语言的复杂性,它们经常产生不令人满意的结果。

除了简单的自然语言文本外,维基百科还包含文档和其他元数据之间的链接,因此我们提出了一种利用这些信息来提取更精确的结构化信息的方法。我们提出的系统FactRunner侧重于从包含这些链接的句子中提取结构化信息,因为这些链接可能比其他句子表示更准确的信息。我们使用来自维基百科的一个文档子集来评估我们的系统,并将结果与另一个现有系统进行比较。结果表明,结合维基百科标记的自然语言解析器可用于以三重语句形式提取事实,且具有较高的准确性。

【关键词】信息提取;语义搜索

  1. 引言

管理结构化的信息,例如,关系型数据库系统(RDBMS)是近几十年来信息管理的方法。随着万维网(WWW)的日益普及,大量非结构化和半结构化数据源形式的数据收集变得可用。例如:网页、报纸文章、博客、科学出版物资料库等。这些资源中包含有用的信息,很容易被人类阅读和理解。维基百科就是一个很好的例子:它拥有380多万篇文章,已成为现代信息时代人类可读知识库的主要来源之一。

关键字搜索仍然是大型文档集合的主要搜索方式。从面向系统的角度来看(使用传统的基于关键字的搜索引擎可以非常快速地找到相关文档)和用户友好性(用户不必学习SQL之类的查询语言)来说,关键字搜索非常有效。然而,查找特定的信息通常是一个重复的、耗时的关键字搜索过程。首先尝试一组初始的关键字;如果返回了相关文档,用户必须阅读检索到的部分文档,以便找到感兴趣的信息。如果没有找到答案,用户需要改进查询的内容,并且寻找可能包含答案的文档。这个查询、读取和细化的过程可能要重复几次,直到找到满意的答案。

因此,如果某个系统能够真正理解所搜索数据的语义,至少能够部分地支持搜索过程,那么搜索过程就会简化。这类系统被称为语义搜索引擎,并提出了各种方法[1,2]。方法从用语义相关的术语替换原始关键字的方法(例如,[3]),到需要使用正式语言进行查询的更复杂的方法,以及语义注释的数据(例如,链接数据[4]的SPARQL端点)。

后一种搜索范例是面向数据检索的,因为系统只能回答包含语义注释的概念或文档。只要文档已经注释了语义信息(例如RDF语句)就很好。然而,目前可用的大多数信息都存储在不包含语义注释的非结构化文本文档中。对整个web进行注释,在这个时候是一项无法完成的任务。与纯文本文档相比,Web文档包含其他有用的信息,如链接、表和图像。特别是,可以利用相关文档的链接从文本文档中提取更准确的信息。我们把这个想法应用于维基百科

将文档集合中包含的信息转换为形式知识的任务是信息抽取(information Extraction, IE)的研究领域,但它仍然是一个未解决的问题。诸如开放信息提取[5]之类的方法能够从非结构化文档中提取三元组形式的信息(例如,形式主语-谓语-宾语的语句),但是所提取的三元组需要对现有知识进行更多的整合、规范化和连接,以便在通过简单查询找到感兴趣的信息。为了在大规模中实现这一目标(如万维网),这项任务必须在无人监督和全自动的情况下完成。从维基百科文章中提取信息的一个特殊挑战是缺乏描述特定事实的句子冗余通过web执行IE的系统(例如,TextRunner[5]和KnowItAll[6])极大地利用了冗余,以提高提取事实的质量。此外,因为频繁发生的事实会得到更高的分数,即假设这些事实是以高概率正确提取的,因此冗余对于评分模型很重要。一个强大的评分模型是确保提取器准确性的基础(即,过滤不正确的三元组)。维基百科的情况并非如此,因为文章通常只涉及一个主题,而没有其他文章涉及同一主题。这一特性大大减少了信息冗余;如果从一篇文章中提取信息时遗漏了一个事实,那么在其他文章中遇到相同事实的概率很低。本文的贡献是一个新的系统,称为FactRunner,用于提取维基百科中的公开事实。该系统的主要目标是提取维基百科自然语言文本中的高质量信息。我们的方法是对从维基百科信息框[7]或分类系统[8]中提取结构化信息的其他方法的补充。我们的方法利用维基百科文章中现有的元数据(即文章之间的链接)从维基百科的英语自然语言文本中高精度地提取事实。提取的事实以三元组(主语、谓语、宾语)的形式存储,其中三元组是由谓语连接的主语和宾语之间的关系[9]。随后,可以使用结构化查询查询这些三元组,从而实现结构化和非结构化数据的集成[10]。

论文结构如下:我们首先在第2节中介绍系统的主要组成部分。第3节描述了我们的系统的预处理步骤,它实际上完成了三重提取的大部分工作,因为它简化并规范化了自然语言文本输入。由于这种简化,与预处理步骤相比,三重提取方法(第4节)非常简单。然后,第5节给出了我们的系统的评估结果,我们将其应用到来自维基百科的一个文档子集。在我们结束论文之前,相关工作将在第6节进行讨论。

  1. 系统概述

维基百科包含大量以自然文本形式存储的信息。这些文本中隐藏着许多有价值的信息,但计算机不能直接理解自然文本。维基百科是为人类阅读而设计的。为了解决这个问题,我们提出了一种利用维基百科元数据来检测维基百科数据中的高质量句子并从这些句子中提取有价值的事实的解决方案。元数据围绕着维基百科文章中的重要文本片段。元数据提供了一个链接,指向专门用于突出显示文本的单独维基百科文章,这样可以提供更多信息(例如,一般定义、传记、历史等),并强调此类文本的重要性。维基百科的贡献者已经投入了大量的精力来创建这样的元数据,并且他们手动地插入这些元数据,很好地提示了这些片段的重要性。为此,我们将元数据视为句子出现的地方的重要性指标,并投入精力开发这些句子,最终目标是生成高质量的三元组。

我们的系统架构如图1所示。该体系结构由六个部分组成,即数据源、预处理程序、提取程序、三重终止程序、评分和结果生成程序。其主要组成部分是预处理器和三级提取器。预处理程序完成了大部分工作;它以这样的方式准备自然语言文本:提取器可以轻松地从转换后的输入中提取三元组。预处理器和三元组提取器将在章节中详细描述。(3和4)

图1 系统架构

2.1 数据源

YAGO[11]利用维基百科的分类系统,KYLIN[7]使用维基百科信息框作为提取事实的数据源,我们使用维基百科文章的自然语言文本,因为文本中嵌入了更多的信息。此外,并非所有维基百科文章都有信息框,因为在维基百科文章中使用信息框是可选的。因此,尽管通过维基百科信息框提供文章的一般信息的想法是可取的,但是许多维基百科文章没有信息框。另一方面,大多数维基百科文章通常属于一个或多个类别。不幸的是,这些类别通常是为非常一般的类定义的,没有维基百科自然语言文本中的分类那么详细。选择维基百科的另一个原因是,文章中围绕文本片段的标记非常丰富,可以用来以更高的精度提取事实。

  1. 预处理程序

预处理器负责生成一组要传递给我们的三元组提取器的语句。有六个步骤,将在下面的小节中进行说明。

3.1 实体解析

实体解析是我们系统中的一个组件,它利用元数据来同步用不同文本表示的同一实体的多次出现,例如“Albert Einstein”与“A. Einstein”。此组件对于协调实体表示的不同变体非常重要。对于所有情况,我们总是用最长的文本表示来替换实体,以保存信息。在我们目前的方法中,我们只考虑与个人对应的实体进行调整。

3.2 语句清洁器

这个组件负责从括号和类似的文本片段中清除文章中的句子。在对系统的测试中,我们意识到括号内的单词通常是补充事实,它们提供了关于括号前出现的单词的更多细节。此外,三重提取器很难从语言学上理解括号之间的语义关系,并正确地从括号中提取事实。此外,我们还从文章中提取元数据,然后从文本中完全删除它们。对于每个被元数据包围的实体,我们将其文本表示形式和URL(例如lt;harry potter,http://en.wikipedia.org/wiki/harry pottergt;)存储到元数据集合中。这个集合稍后将用于删除过滤过程中不需要的句子。

3.3 语句分解器

对文本进行过滤和清理之后,我们将段落中的输入分割成一组句子块。通常,一个句子可能包含一个或多个三元组。为了确保系统只输入定性的句子,分词是一个关键的过程,这样可以确保更高精度的三重提取。为此,我们依赖于LingPipe1提供的语句检测库。

3.4 共指匹配器

当文本中的多个实体或代词引用同一个实体或具有相同的引用时,对共指表面的需要。在维基百科文章的第一句话中,作者通常用全名介绍一个人或一个物体(如爱因斯坦)。然后,在下面的句子中,作者将开始用一个替代词(例如,他,他的,他,爱因斯坦)来代替那个人。建立这些实体之间的联系,例如Albert Einstein和Einstein,我们称之为相互参照。 从具有共同引用的句子中提取的三元组是模糊的,因为一旦提取了三元组,句子的上下文就会丢失。即使是一个人,如果没有特定的背景,也无法理解三元组的含义,比如(他获得了诺贝尔物理学奖)。因此,我们需要将具有不同表示形式的实体替换为单个表示,即全名。为此,我们应用LingPipe的共指消解工具。

尽管公职匹配器的用途与实体解析相似,即将不同的关联实体同步到同一表示形式中,但它们的工作方式不同。在我们的方法中,实体解析只影响标记为链接的实体。这些链接是由人工输入的,并且非常精确,因此可以使用它们来正确地将实体替换为其原始表示(即,描述实体的文章的标题)。另一方面,共指匹配器能够捕获不被元数据(包括代词)覆盖的实体。但是,它的精度可能不如实体解析那么精确,因为LingPipe的共指消解器是一个基于机器的预测系统。

3.5 语句过滤器

我们删除由分句工具或人为错误造成的无效句。例如,不以正确的文本开头或以不正确的标点符号结尾的句子会被忽略。此外,我们还排除了长度超过定义阈值的句子。这一步是必要的,因为我们使用的是深度解析技术,长句需要高内存资源,它们最终会显著降低整个系统的运行速度。这是一个系统约束,我们的算法仍然支持长句子,只要系统有足够的资源。少于三个单词的句子也会被删除,因为一个句子至少需要有一个主语、一个谓语和一个宾语才能构成一个正确的三元组。在使用上述方法确保所有的句子都是有效的之后,我们使用句子清理器提供的提取的元数据来使用那些带有元数据的句子进行三重提取。根据我们的观察,具有元数据的句子更可能产生高质量的三元组。

3.6 语句简化器

句子简化是提高系统性能的重要一步。这个步骤的目的是将复杂的句子分解成子句。维基百科的作者们有时会使用丰富的写作风格(例如,条目列表,从属子句等),这样会使一些句子变得复杂难懂。因此,复杂句需要简化,以产生简单明了的三元组作为最终结果。我们从[12]中借用了句子简化过程的概念。

我们使用斯坦福分析器[13]来获得句子的语法结构。该解析工具的结果是一个解析树,它将区分名词短语(NP)、动词短语(VP)和一组属于同一组的单词(例如,从属子句(SBAR)、介词短语(PP)等)。我们使用生成的解析树来理解句子中单词之间的相关性,并正确地拆分句子。然而,自然语言文本的解析对于任何一种NLP工具来说都是一个挑战。因此,并不是所有生成的解析树都是正确的。因为我们的简化过程实际上依赖于解析树,所以如果提供的解析树是错误的,那么简化结果将是错误的。然而,这一步的总体结果仍然是不错的和有用的提取过程。

句子简化有四个步骤:

(1)分离并列连词。并列连词是诸如“and”、“or”和“but”之类的词,用于列举或连接子句子。爱因斯坦在维基百科上的一篇文章中举了一个例子:“他的旅行包括新加坡、锡兰和日本。” 因为我们的目标是支持结构化查询,所以应该从这个句子中提取三个三元组,而不是一个。这样我们就可以回答像lsquo;谁到锡兰旅行过?而不仅仅是“谁去过新加坡、锡兰和日本?”这样简单的枚举在提取出三元组后仍然可以在后期处理中处理,但是我们也希望处理更复杂的句子,如“Welker和他的部门为微波半导体和激光二极管铺平了道路”(摘自维基百科关于Heinrich Welker的文章)。上面描述的引用步骤将“his”转换为“Welker”。为了从这句话中提取完整的事实信息,我们必须从这句话中提取四个三元组,对应于以下陈述:

·韦克尔为微波半导体铺平了道路。

·韦克尔为激光二极管铺平了道路。

·韦克尔的部门为微波半导体铺平了道路。

·韦克尔的部门为激光二极管铺平了道路。

此步骤中的元数据用于筛选文本片段。如果文本片段是指向另一篇文章的链接,则此方法不处理此文本片段。

  1. 提取从属子句。在这个简化步骤中,我们将从主句中分离出一个从属子句(在斯坦福解析器的术语中是SBAR),并创建一个包含子句和主语的新句子。SBAR从句有两种类型:从属连词(用于状语从句)和关系代词(用于关系从句)[12]。我们的方法对每种类型的处理方式不同。第一种类型将被提取到子句子修饰语中,而第二种类型将创建一个新的句子。子

    剩余内容已隐藏,支付完成后下载完整资料


    资料编号:[237548],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。