本节书摘来自华章出版社《短文本数据理解(1)》一书中的第2章,第2.2节,作者王仲远,更多章节内容可以访问云栖社区“华章计算机”公众号查看
2.2 属性提取
本节介绍基于知识的属性提取的方法,该方法可从多数据源提取(概念,属性)对。为(概念,属性)对打分的方法将在23节给出。
2.2.1 属性提取的整体框架
如图22所示,本章的属性提取方法基于概率数据库Probase,并从三种数据源获取数据。222节将介绍Probase的具体信息,该方法侧重的数据类型为网站数据、搜索数据和各种结构数据,表22总结了这些数据类型。网站数据包括240TB的网页文本,搜索数据包含6个月内搜索频率大于2的搜索查询语句,结构数据为DBpedia[1]中获取的(实体,属性)对。
本章涉及的属性提取方法包含两类:基于概念的方法和基于实体的方法。前者可直接获取概念的属性,而后者需先获取同一概念内实体的属性,然后再聚合这些实体的属性以获取概念的属性。两种属性提取的方法都将被应用于网站数据。对于搜索数据和结构化数据(DBpedia),只有基于实体的属性提取方法可用。属性提取方法的细节将在223节给出。通过不同方法和数据源提取的属性不完全重叠,因而可以互补。
2.2.2 概率isA网络
本章工作使用概率知识库Probase[166]来辅助属性提取。Probase旨在建立一个包含人类思维所有概念的isA关系网络。isA关系通过赫斯特语言模式(Hearst linguistic pattern)提取[69],即SUCH AS模式。例如,通过一个包含“…artists such as Pablo Picasso…”的句子可以获知artist是Pablo Picasso的一个上位词。
Probase有两个特点。首先,它的覆盖范围很广,囊括了从十亿数量级的网页中获取的百万级概念和实体。它不仅包含诸如“country”和“city”的广义概念,还记录了类似“basic watercolor technique”和“famous wedding dress designer”这样的具体概念。因而,Probase能很好地诠释人的沟通。Probase的另一个特点是它是一个概率性知识库。它包含每对(概念,子概念)或(概念,实体)的共现次数。这些共现信息方便于isA关系中典型度得分的计算。例如:
其中instance表示isA关系中的实体,concept表示概念。n(instance,concept)表示概念(concept)和实体(instance)的共现次数。典型度得分对短文的理解十分重要。
2.2.3 基于概念和基于实体的属性提取
本节将重点介绍基于概念和基于实体的属性提取方法,数据来源为网站数据、搜索数据和已有知识库,两种属性提取方法的结果将被比较。本节还将介绍一种可以提高属性提取质量的过滤方式。
1网页文本的属性提取
很多信息提取方法侧重于迭代寻找符合要求的语法模式。然而,这些方法的一个不足之处在于高质量的语法模式很少,大多数模式都存在噪声。因此,本章所采用的方法侧重于如下高质量的语法模式以尽可能准确地处理文本(提高准确率),并且从大量网页文本中获取属性(提高召回率):
基于概念的属性(简称CB)提取的语法模式:
基于实体的属性(简称IB)提取的语法模式:
网页文本的特征提取结果是一系列(概念,属性)对的集合。在此基础上的另一项任务是为每对关系标注权重。假设CB的结果(c,a)和IB的结果(i,a)被表示为元组(c,a,n(c,a))和(i,a,n(i,a)),其中n(c,a)为和的共现次数,n(i,a)为和
由于需要从大量网页中获取属性,所以现有的基于词性标注的模式挖掘方法无法使用。取而代之,本章的方法采用之前提到的模式轻量提取。据以往研究表明[6],基于“is”的提取可以产生较高质量的结果,同时不需要词性标注。在提取过程中的另外一项挑战是冠词“the/a/an”的使用。对于CB模式,冠词的使用对过滤概念自身描述必不可少(比如“the definition of wine”或“the plural form of country”)。对于IB模式,冠词可被有选择地使用,并且取决于实体是否为命名实体(例如Microsoft为命名实体,而software company不是)。为区别这两种情况,本章的方法将把所有以大写字母开头的实体当成命名实体,可以不需要冠词。其余情况下的实体抽取则需要依靠冠词进行确认。
2外部知识库的属性(简称KB)提取
属性提取还从已存在的知识库进行。这项工作使用基于Wikipedia中结构信息的DBpedia。DBpedia没有基于概念的属性,因此,基于实体的属性提取方法被使用。根据DBpedia的实体页(由属性描述),一系列的(i,a)对可被获取。然而,DBpedia不包含可推出属性典型性的任何信息,因此,所有的(i,a)不做区分设定:n(i,a)=1,遂可生成一系列的(i,a,n(i,a))元组。尽管n(i,a)=1,但由于同一概念内的实体含有不同属性,我们仍可按先前方法计算概念属性的典型度得分。
3搜索日志的属性(简称QB)提取
为使用基于实体的方法从搜索日志中提取属性,一项先前研究中的方法[126]被采用以提取尽可能多的元组。在搜索日志中基于概念的提取方法亦不能工作,这是由于人们在搜索时往往对具体的实体更感兴趣。在方法的第一阶段,候选的实体属性关系对(i,a)被从搜索日志中以“theof(the/a/an)”的模式提取,以AQB表示。接下来将候选集合拓展为AIU,使其包含通过IB和KB获取的属性(分别以AIB和AKB表示):
在第二阶段,搜索日志中每对(i,a)中的i和a的共现次数n(i,a)被统计,以生成(i,a,n(i,a))元组集合。这个集合会按照先前提出的方式处理。
4属性分布
下面将比较CB和IB获取的属性的差异。图23对比了二者在state这个概念上的属性分布差异。举例而言,name这个属性在CB模式下被频繁观察,比如会出现“the name of a state is…”。然而人们不会在某个具体的state上提到name这个属性,比如不会出现“the name of Washington is…”。根据比较,CB和IB两种模式的提取是互补的。
CB属性的优点在于可以直接将属性绑定至概念,如通过“the population of a state”,机器可以自行将population这个属性绑定至state这个概念下。相比之下,IB模式“the population of Washington”对机器识别而言则颇具挑战性,因为Washington可能属于不同的概念,比如state或president。
然而,IB模式更容易提取高质量的属性。例如,虽然“the population of a state”这个模式不常被观测到,但是当把state替换为某一具体实体时,则可以收集到足够的模式,如“the population of Washington”。这表明IB模式可以通过大量统计信息获取高质量属性,与CB模式互补。
5模式提取的过滤
这一部分将介绍通过过滤来提高属性质量的方法。首先将收集到的模式语句分成下述三类:
C1:The CEO of Microsoft is …——属性
C2:The rest of China has been …——修饰表达式
C3:The University of Chicago is …——包含of的名词短语
在这三类结果中,C2和C3会产生含噪声的结果,过滤规则将分别对这两类模式的结果进行设计。
C2——错误列表过滤。为了解决C2中的问题,一个“黑名单”被人为创建。名单中包括可以绑定到任何概念的属性,比如:
The lack of vitamin A is
The rest of the country was in
The best of The Simpsons is
由于单词lack、rest和best并没有描述后面出现的概念,所以它们不能被当成概念的属性。若不被过滤,这些噪点属性将会错误地给出较大的P(a|c)。
为了过滤掉这些噪点属性,我们需要确定那些在很多并不相近的概念中都被观察到的属性。为此,49个不相近的概念被人为选取。对于一个属性,其所涉及的概念数目将被统计。表23给出了统计的排序结果。然而,这样得到的“黑名单”中会错误地包含那些确实对很多概念都适用的属性,比如name。为了进一步地将这些属性从“黑名单”中去除,属性的得分也将被考虑。高得分的属性被从“黑名单”中去除。具体的属性打分方式将在23节给出。
C3——包含of的命名实体。为了解决C3中的问题,与命名实体相关的of从句被过滤掉,比如“the University of Chicago”、“the Bank of China”、“the People’s Republic of China”。作为过滤条件,首先被考虑的是首字母大写的实体。然后,通过参照数据库过滤掉of从句。例如,“the University of Chicago”是Probase中的一个实体,因而不应该将university当成city这个概念的属性。这种方法可以处理不区分大小写的文本,比如微博。