How Did Watson Answer —— Automatic Knowledge Acquisition

原创 2015年11月17日 18:52:55

一、摘要

不同于模式匹配的知识获取,Watson中可以在非结构化文本中通过简单的语义分析来自动获取知识,甚至是以前不存在于知识库中的类型。知识获取分两步——第一,抽取浅层知识,第二,统计推理语义。这套方法的名字叫——PRISMATIC。

二、相关术语

在PRISMATIC中使用以下术语:

  • 帧(Frame)——一个帧是一个基本的语义片段,是一段文本中一系列的实体和他们之间的关系;
  • 槽(Slot) ——一个槽就是一个二元关系,在PRISMATIC中就是两者之间的依赖关系,常用的见下表:
    表格1
  • 槽值(Slot value)——槽值要么是一个术语要么是一个呗NER标注的类型,下方的表格展示了标记出来的槽和对应的值,分析树为下图的分析树:
    表格2

分析树
-帧映射(Frame projection)——帧映射就是一系列有规律地在帧中出现的一部分。(笔者说,这个名字有点奇怪啊,当然如果是我理解有问题,欢迎指出)。
PRISMATIC的正式定义如下:
一个PRISMATIC P 就是多个帧的集合,即P={f1,f2,...,fn},其中fi={s1,v1,s2,v2,...,sm,vm}
上式中sm,vm即代表一个槽、值对,V(s,f)则指帧f中的槽s的值。
由此定义帧映射CP即,

C=fP|sScV(s,f)nil

三、系统概述

PRISMATIC的生成用到了多个NLP工具,包括依赖分析、基于规则的命名实体识别以及在Deep Parsing那边博文中讲到的一致性解决组件。PRISMATIC的创建过程概括为如下三步:

  1. 语料库处理——这一步使用上面提到的NLP方法来标记语料库;
  2. 帧抽取——将于标记相关的帧抽取出来;
  3. 帧映射——在全部帧中抽取出需要的那部分,并且制表统计频率信息,以此来推理语义信息。
    下图展示了PRISMATIC创建的大致流程:
    PRISMATIC的创建

语料库处理

语料库处理最关键的步骤就是依赖分析,在上一篇博文中对Deep Parsing中使用的ESG已有介绍,这里就不在复述了。分析树会产生很多实体间的“公理”(原词是axiom,这里的使用也有些不好翻译),为了能够与描述中的“公理”对齐,又使用了一个机遇规则的命名实体识别器,重点是实体的类型信息,因为在帧抽取阶段还需要这部分信息。

帧抽取

帧抽取是为了获得一个能够表示浅层知识的大量帧组成的集合。为了能够捕捉到感兴趣的关系,帧的元素被限制在那些能够表示谓词的宾语信息中。另外,每个帧的深度被限制在2层,一个大的分析树可能产生多个帧。后面将会将会降到的关系抽取的那部分还会将一部分语义信息添加到分析树之中。

帧映射

帧映射其实是想在数据中发现、归纳一些有意思的知识模式,比如说,定义了一种N-P-OT的映射操作,对于{noun,"annexation",preposition,"of",objecttype,"Region"}这种就会总结出来,annexed的宾语通常是一种region。而且,这样一来我们就能提前计算和查找下面的“聚合统计”。

四、聚合统计

许多有用的聚合统计都可以通过帧映射结果获得,这里只简单介绍一下三个栗子:

  1. 频率——特定帧的频率可以被定义为#(f)=|{fiP|sSV(s,f)}|
  2. 条件概率——一个特定帧的条件概率可以通过p(f|f)=[#(f)/#(f)],其中ff
  3. 归一化逐点共同信息——想放出来英文原文,Normalized Pointwise Mutual Information,计算公式为 npmi(f,f)=pmi(f,f)ln(max|#(f),#(f))N, 其中pmi(f,f)=lnN(#(ff)/#(f)×#(f))(N是指定帧映射的大小)

后记今天这篇博文有两个主要特点:第一,大家期待已久的公式来了;第二,必须得用MarkDown编辑器写了,因为数学公式的输入得用LATEX方式才爽。

How Did Watson Answer?——Get Unstructured Textual Resource

本文主要讲述了IBM公司开发Watson系统过程中如何对文本信息就行获取、转换和拓展。主要参考文档为《Textual resource acquisition and engineering》。...

How Did Watson Answer? —— Deep Parsing

Watson中使用了两种分析器——ESG(English Slot Grammar)和PAS(Predicate-Argument Structure)。PAS建构在ESG之上,以支持更高层的语法分析...

How Did Watson Answer —— Final Merging and Ranking

一、摘要Watson答题处理流程的最后一步是答案的合并与排序。在这一步中,实现了按步骤划分并且可以逐次的机器学习框架,可以利用每一步中候选答案的评分,按照多个特征综合评分。 Watson中使用机器学...

How Did Watson Answer? —— Relation Extraction

一、摘要Waston中关系抽取通过两种方式进行——一是基于规则的模式匹配,二是基于统计模型的模式导出(pattern elicitation)。其中人工模式有30种,统计模式有7000种。之所以使用关...

How Did Watson Answer? —— Special Questions

前面曾经提过,Watson能够将题型进行分类,进而选择不同的答题策略。上一篇文章介绍了如何分解处理事实性问题,这篇文章将介绍Watson处理特殊类型的问题。...

How Did Watson Answer? —— Implicit Relationships

为了发现和衡量问题中的隐含关联、模糊关系,Waston采取了一种称为传播激活(Spreading-Activation)的方法。...

How Did Watson Answer? —— About Question Analysis

Watson答题的第一步是对问题进行分析,分析器混合使用了“深度槽语法分析器”(deep Slot Grammar parser, 由于不了解这个分析器到底是什么鬼,暂时这么叫吧)、命名实体识别器、...

How Did Watson Answer? —— Factoid Question Decomposition

前面曾经提过,Watson能够将题型进行分类,进而选择不同的答题策略。这篇文章就介绍Watson如何分解处理事实性问题。...

How Did Watson Answer? —— Structured Data

一、摘要尽管Waston中使用更多的是非结构化的数据,但结构化数据的准确性能够寻找其他候选答案并且找到额外的证据。结构化的数据主要包括答案类型、地理空间位置解析、时间序列以及其他一下经常出现的实体的预...

How Did Watson Answer? —— Typing Coerced Candidate Answer

不同于传统QA系统的“先分类再生成”策略,Watson使用的是“先生成再分类”策略——首先生成候选项,然后再对其类型进行评分。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:How Did Watson Answer —— Automatic Knowledge Acquisition
举报原因:
原因补充:

(最多只允许输入30个字)