实体扩展是一种开放域实体抽取的方法,随着互联网的快速发展,信息越来越丰富,其中大部分内容是由成千上万的用户依照个人习惯和需求提供的,比如私人博客、主题论坛、网络百科全书等。这些信息汇集在一起,呈现出多源、异构、海量的特点,对信息抽取技术提出了新的要求。在这种情况下,传统命名实体识别技术仅仅面向纯文本数据,抽取三大类、七小类命名实体的技术特点,难以应对新情况的挑战。很多情况下,用户并不需要一个从文本抽取三大类或七小类实体的工具,更需要的是提供一些种子实体,然后获得同类实体的工具(例如Google Sets就是这样的工具,将中国、美国、日本等国家名字作为种子输入到Google Sets中,就可以获得更多的国家名字)。为适应实际应用的需求,越来越多的研究者开始研究实体扩展技术。其目标是从海量、冗余、异构、不规范的网络数据中大规模地抽取开放类别的命名实体,进而构建开发类别命名实体列表。

实体扩展在学术界和工业界都有非常广泛的应用。其在学术领域的主要应用包括:(1) 知识图谱中的实体扩展;(2) 提高问答系统性能,尤其是处理List型问题;(3) 提高垂直领域信息抽取的效果等。因此开放域实体抽取技术研究具有重要的学术价值。

在工业领域,搜索引擎公司比如Google、Yahoo、Bing等都在后台维护大量的开放类别命名实体列表以提高用户体验。典型的应用包括:(1) 知识图谱中同类实体的检索与推荐;(2) 提高查询分析的准确率;(3) 辅助文档分类;(4) 辅助用户行为分析与广告精准投放等。因此开放域命名实体抽取技术具有广泛的引用价值。

有鉴于传统命名实体识别方法的局信息,越来越多的研究者开始研究针对多类别的、面向真实环境数据的实体扩展方法。实体扩展任务的定义如下:

对于某实体类别C,给定该类别的M个实体(称为”种子实体“),一个实体扩展系统需要找出同样属于类别C的其他实体。

值得注意的是,实体类别本身是未知的,需要抽取系统分析种子实体,寻找其共性得到关于目标实体类别的知识,进而抽取出属于该类别的实体。

与传统命名实体识别任务相比,实体扩展任务具有以下三个特点:

(1) 目标实体类别开放:不再局限于传统的三大类、七小类,而是面向更多的开放类别。而且目标类别未知,需要在仅仅知道该类别的若干实体的条件下进行实体抽取。

(2) 目标数据领域开放:处理的数据不再限定于指定领域的文本或者规范的新闻文本,而是不限定领域的、海量、冗余、不规范、有噪声的多源异构数据。

(3) 以“抽取”替代“识别”:相对于传统命名实体识别任务,实体扩展任务不再拘泥于从文本中精确识别目标实体的每次出现,而是充分利用网络数据海量、冗余的特性,以抽取的方式构建目标类别实体列表。

针对实体扩展系统的评价指标主要包括Precision值,Recall值,MAP值,P@N值和R-PREC值五种。

实体扩展方法

由于实体扩展任务具有目标实体类别开放、目标数据领域开放和以“抽取”代替“识别”的三个特点,目前典型的实体扩展系统主要由以下三个模块组成:

(1) 种子处理模块:负责选取或生成高质量的种子。无论使用哪种抽取方法,种子对整个系统的性能都有很大影响,所以选择高质量的种子非常重要。该模块的输入是若干种子组成的初始种子集合,输出是高质量种子组成的集合。

(2) 实体抽取模块:负责从语料中抽取属于目标类别的实体。通常该模块包含“候选抽取”以及“打分排序”两个子模块。前者抽取候选实体,后者计算候选实体的置信度并对其排序。该模块的输入是种子集合,输出是排序后的候选实体列表。

(3) 结果过滤模块:对抽取出的实体集合进行过滤。该模块的目标是提高候选实体列表的准确率。实际上,这个模块也可以归并到第二个模块之中,将其作为实体抽取方法的一部分。此时,系统可以被划分为两个模块。

目前的实体扩展方法,大致可以分为基于模板的实体抽取和基于统计的实体抽取两大类。

1. 基于模板的实体抽取

基于模板的实体抽取基本思路是:如果目标实体与种子实体同属某个语义类,则它们的上下文应该符合特定的模板。这里的模板可以是预先定义好的指示上下位关系的语义模板,如“such as”“and other”等;也可以是通过分析种子实体所处的上下文得到模板,如窗口上下文模板。后者的基本思路是:如果目标实体与种子实体同属于某个语义类别,则它们的上下文分布应该是相似的,这里的上下文主要指名词或名词短语。无论哪种类型的模板,都可以用来抽取候选实体,并以模板为特征,计算候选实体的置信度。

在预定义模板的方法中,主要的假设是 (1) 好的模板在语料中出现次数频繁;(2) 好的模板总是指示模板类别的实体;(3) 好的模板可以在不需要其他知识的前提下在文本中被识别出来。

由于使用预定义模板能找到的新实体数量有限,研究者提出了不同的改进方法。一种最具代表性的改进方法是基于Bootstrapping策略,反复迭代,得到更多的模板。

在基于模板的方法中,如何衡量模板质量是非常重要的问题,Qi等提出通过考察<候选实体-模板>之间的抽取关系评估模板质量,进而更准确地度量候选实体与目标实体类别之间的语义相关度,得到了不错的效果。

2. 基于统计的实体抽取

针对实体扩展的任务,除了基于模板的抽取方法,另外一类应用比较广泛的策略是基于统计的抽取方法。这类方法通常使用相对粗糙的方式来获取候选,比如将语料中所有名词或名词短语都作为候选;之后通过分析整个语料的统计信息来得到候选的分布信息;最后计算候选实体与种子实体的分布相似度作为置信度并对候选实体进行排序。基于统计的方法可以分为基于上下文相似度的方法和融合模板与上下文相似度的方法。

(1) 基于上下文相似度的方法

由于绝大多数实体表现为名词或名词短语的形式,所以一个很自然的想法是找出语料中全部名词或名词短语,然后分别计算它们与种子实体的相似度并找出相似实体。

基于上下文相似度的方法还具有以下两个重要特点:首先,语料规模非常重要。同等质量的语料,规模越大则抽取效果越好。其次,语料质量非常重要。同等规模的语料,质量越高则抽取效果越好。

(2) 融合模板与上下文相似度的方法

除了基于上下文相似度的方法,有的研究提出了联合使用模板和上下文相似度的方法。在使用上下文统计信息的基础上,加入基于模板的限制,以提高准确率。这类方法在处理不同来源数据时效果更为明显。

3. 种子处理与结果过滤

一个完整的实体扩展系统由三个模块组成:(1) 种子处理模块; (2) 实体抽取模块; (3) 结果过滤模块。

(1) 种子处理

不同种子对抽取结果有非常大的影响,相关研究表明,这种差别可以达到40%以上。然而不幸的是,人工输入的种子质量通常并不高。因此,研究如何衡量种子实体的质量以及如何选取高质量的种子具有重要的实际意义。

Vyas等人提出了一种衡量种子质量的方法,从以下三个方面衡量种子实体的质量。

  • (1) 典型度:考虑种子实体能在多大程度上代表目标语义类别。
  • (2) 歧义度:考量种子实体是否有不同语义。
  • (3) 覆盖度:考量一个种子集合含有的语义信息能在多大程度上覆盖目标语义类别的语义信息。

(2) 结果过滤

对现有的实体扩展方法而言,最终返回的结果是一个根据置信度从高到低排序后的候选实体列表,评估方法的效果也一般采用P@N,AP(average percision)等指标。

针对错误候选实体是如何产生的这一问题,Vyas等人进行了深入研究并发现了以下两个现象:

  • (1) 错误候选主要来自于种子的歧义性。
  • (2) 实体在某种语义上可能比较相似,但不会在其他语义上相似。

根据以上现象,Vyas等人设计了一种结果过滤方法。在每轮迭代的过程中由人工找出一个错误候选,然后通过以下两种方法找出候选实体集合中与错误候选实体语义相似的候选实体并将其剔除:

  • (1) 计算所有候选实体与错误候选实体的相似度,并排除相似度超过某个人工指定阈值的候选实体。
  • (2) 找出错误候选实体的特征向量,并将其对应的特征从种子集特征向量中剔除。