第七章-从文本中提取信息

对于任何给定的问题,都可能有人在某处写下了答案。以电子形式提供的自然语言文本数量确实惊人,而且每天都在增加。然而,自然语言的复杂性使得获取文本中的信息非常困难。NLP的技术水平离从无限制的文本构建通用意义表示还有很长的路要走。如果我们把精力集中在有限的一系列问题或“实体关系”上,比如“不同的设施在哪里”或“哪家公司雇用了谁”,我们就能取得重大进展。本章的目标是回答以下问题:
1.如何构建一个从非结构化文本中提取结构化数据(如表)的系统?
2.有哪些健壮的方法可以识别文本中描述的实体和关系?
3.哪些语料库适合这项工作,我们如何使用它们来训练和评估我们的模型?
在此过程中,我们将应用前两章中的技术来解决分块和命名实体识别的问题。

7.1 信息提取

信息有多种形状和大小。一种重要的形式是结构化数据,其中存在规则且可预测的实体和关系组织。
例如,我们可能对公司和地点之间的关系感兴趣。 鉴于某家公司,我们希望能够确定其开展业务的地点; 相反,在给定位置的情况下,我们希望了解哪些公司在该位置开展业务。 如果我们的数据是表格形式,例如1.1中的示例,那么回答这些查询很简单。
Table1.1 locations data

如果这个位置数据作为元组列表(实体,关系,实体)存储在Python中,则问题是“哪些组织在亚特兰大运行?” 可翻译如下:

locs=[('Omnicom', 'IN', 'New York'),
      ('DDB Needham', 'IN', 'New York'),
      ('Kaplan Thaler Group', 'IN', 'New York'),
      ('BBDO South', 'IN', 'Atlanta'),
      ('Georgia-Pacific', 'IN', 'Atlanta')]
query = [e1 for (e1, rel, e2) in locs if e2=='Atlanta']

Table1.2 result

如果我们试图从文本中获取类似的信息,事情就会变得更加棘手。 例如,请考虑以下代码段(corpus.ieer里的某个文件)

text (1)
如果您通读(1),您将收集回答示例问题所需的信息。但是我们如何让机器充分了解(1)返回table1.2中的答案?这显然是一项艰巨的任务。与table1.1不同,(1)不包含将组织名称与位置名称链接的结构。
解决这个问题的一种方法是建立一个非常普遍的意义表示(第十章)
在本章中,我们采用不同的方法,事先决定我们只会在文本中查找非常具体的信息,例如组织和位置之间的关系。
我们首先将自然语言句子的非结构化数据转换为1.1的结构化数据,而不是尝试使用像(1)这样的文本来直接回答问题。
然后我们获得了强大的查询工具(如SQL)的好处。
这种从文本中获取意义的方法称为信息提取。
信息提取有许多应用,包括商业智能,简历收集,媒体分析,情感检测,专利检索和电子邮件扫描。
当前研究中一个特别重要的领域涉及尝试从电子可用的科学文献中提取结构化数据,特别是在生物学和医学领域。

7.1.1信息提取架构

图1.1显示了简单信息提取系统的体系结构。
它首先使用第三章和第五章中讨论的几个过程处理文档:首先,使用句子分割器将文档的原始文本分成句子,并且使用分词器将每个句子进一步细分为单词。
接下来,每个句子都标有词性标签,这将在下一步命名实体检测中证明非常有用。
在这一步中,我们在每个句子中搜索可能有趣的实体。
最后,我们使用关系检测来搜索文本中不同实体之间的可能关系。

Simple Pipeline Architecture for an Information Extraction System

要执行前三个任务,我们可以定义一个简单的函数,简单地将NLTK的默认句子分割器,单词标记器和词性标注器连接在一起.
接下来,在命名实体检测中,我们对可能参与彼此有趣关系的实体进行细分和标记。
最后,在关系提取中,我们搜索文本中彼此接近的实体对之间的特定模式,并使用这些模式来构建记录实体之间关系的元组。

7.2分块

我们将用于实体检测的基本技术是分块,分段和标记多标记序列,如2.1所示。
较小的框显示字级标记化和词性标记,而大框显示更高级别的分块。
这些较大的盒子中的每一个都称为块。 与省略空格的标记化一样,分块通常选择标记的子集。与标记化一样,由chunker生成的片段在源文本中不重叠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值