根据北京大学的王厚峰教授的研究,指代一般分成两种回指(Anaphora,也成指示性指代)和共指(Coreference,也成同指)两种情况,回指是表示当前的指示代词与上文出现过的词存在语义关联性,而共指则是两个实体名字指向的真是世界中的同一实体,可以独立于上下文存在。例如“阿里巴巴集团首任董事长”和“马云”就是共指。
在汉语中的指代主要有一下三种典型的形式:
人称代词(Pronoun)
例如:【李明】怕高妈妈一个人待在家里寂寞,【他】便将家里的电视搬了过来。
指示代词(Demonstrative)
例如:【很多人都想创造一个美好的世界留给孩子】,【这】可以理解,但不完全正确。
有定描述(Definite Description)。
例如:【贸易制裁】仿佛成了美国政府在对华关系中惯用的大棒,然而,【这根大棒】果真如美国政府所希望的那样灵验吗?
指代消解的基本原理是先构造一个先行语候选集,然后再从候选集中做多选一的选择。代表的方法是1998年Hobbs提出的朴素Hobbs算法,这是一种基于句法分析树的搜索,通过遍历桔子的语法数来判断词语词之间是否可以互相替换,另一种指代消解方法是1983年Grose和Sidner提出的中心理论(Center Theory)。
这种方法认为文本中的描述是应该是连贯的,而通过语义的连贯性就可以找到文本中受关注的实体。但这种两种方法只适用于指代词与被指代词距离较近的回指情境,在实际应用上有一定的局限性。
目前指代消解最新的研究成果是2017年的端到端神经共指消解算法(End-to-end Neural Coreference Resolution),其基本原理是找到一个句子中所有出现过的命名实体和代词,并对他们所在的句子进行特征向量构造,计算词与词之间的特征向量,然后将代词和实体进行两两匹配计算共指匹配得分,以此来实现指代消解。
虽然指代消解问题已经经历了多年的研究和发展,但到目前为止,多数的研究成果还是在回指的研究上,对于共指还没有较好的全自动指代消解技术和方法,有待专家学者的进一步研究。
(4)关系抽取
识别实体与实体之间的语义关系是知识抽取中的一项核心任务,只有将实体之间通过关系联系起来构建成RDF三元组,才能形成知识网络。例如:王思聪是万达集团董事长王健林的独子,可以抽取出(王思聪,父子关系,王健林)、(万达集团、董事长、王健林)两组三元组实例。
最早的关系抽取任务可以追溯至1998年,当时是根据触发词作为关系识别的依据,然后填充关系模板槽抽取文本中特定的关系,例如“董事长”这个关键词构造为X的董事长是Y这样的模板,而随着机器学习算法和深度神经网络算法的发展越来越多的研究把关系抽取做成分类任务处理。
例如采用半监督学习的bootstrapping方法,按照“模板生成→实例抽取”的流程反复迭代,先给定一个种子实体的文本集合,例如<中国,北京>,接着从文本中抽取出包含种子实体的文本,例如<中国的首都是北京>,从而将<首都>这个关系抽取出来,然后用新发现的关系模板抽取更多新的三元组实例,匹配出所有X的首都是Y这样的格式。在这个过程中会发现X与Y除了首都这个关系实体之外,还有可能出现其他的关系,通过反复迭代不断抽取新的实例和模板直至无法再发现符合条件的关系位置。
这种方法的优点是构建成本较低,适合大规模的知识库构建,同时可以发现一些未经人工定义的隐含关系。但在实际使用中也面临着很多的问题,最常见的问题是在迭代的过程中容易出现噪声实例和模板,出现语义漂移的现象,结果的准确率较低。
另外一点是因为没有经过人工定义关系,导致关系语义没有归一化,同一种关系可能会有多种不同的表达方式,例如“首都是”也可以表达为“首都位于”、“设为首都”等,这些表述实际上是同一种关系,如何将这些自动发现的关系进行聚类规约是目前还未解决的问题。
关系抽取的好坏决定了知识图谱中知识的规模和质量,除了上述的基于模板匹配和半监督学习的方法之外,采用监督学习的Pipeline、LSTM-RNN的算法也是比较热门的方案。
(5)事件抽取
事件抽取可以视为关系抽取的强化版,是将文本中的事件以结构化的形式呈现出来。事件抽取的第一步是识别事件及其类型,其次要识别出事件所涉及的属性,最后需要确定每个元素在事件中与事件本身的关系。
以金融领域构建投融资的领域知识图谱为例,实践抽取的流程是先定义事件的触发词,即一个事件指称中最能代表事件发生的词,一般是动词或名词。然后定义事件的主体元素及其对应的属性。再根据属性找到对应的值。如图所示。事件的触发词是“融资”,事件的主体是“自如”,与事件相关的属性融资轮数、募集资金、领投方、跟投方和投前估值。
事件的主体和其他的属性之间其实可以构建出一对多的多元关系,如上图的自如与其他属性构成的多元,其本质是6个三元组,每个三元组的主语都是触发词这个事件,谓语分别是融资事件的属性,而宾语分别是抽取出来的值。
我们知道知识图谱分为通用知识图谱和领域知识图谱,事件抽取也可以分为适用于通用知识图谱的开放域事件抽取,以及适用于领域知识图谱的限定域事件抽取。上文例举的金融领域融资事件抽取就是一个限定域的事件抽取。
对于限定域的事件抽取,因为目标明确,所以通常都是预先定义好目标事件的类型以及每种类型包含的具体事件元素,并给出一定数量的人工标注数据作为训练集特征,后续采用模式匹配的方法或采用机器学习的方法进行事件抽取。
开放域的事件抽取因为在事件识别之前对于可能的事件类型和事件结构都是未知的,所以这类事件抽取主要是基于无监督的方法和分布假设理论。即如果候选事件触发词或者候选事件元素具有相似的语境,那么这些候选事件触发词倾向于触发相同类型的事件。
总之,对于无结构的文本数据进行知识抽取虽然已经经历了多年的发展,但目在各个子任务中依然存在很多未解决的问题有待专家学者的进一步研究。
小提示:在部分自然语言处理的研究报告中,实体抽取和实体消歧会合并称之为实体链接(Entity Linking),或称实体链指任务。
2.4 知识融合