How Did Watson Answer? —— Deep Parsing

一、      摘要

Watson中使用了两种分析器——ESG(English Slot Grammar)和PAS(Predicate-ArgumentStructure)。PAS建构在ESG之上,以支持更高层的语法分析。这篇文章主要介绍这两种组件,以及如何在基于规则的关系抽取中使用它们。

二、      概述

ESG对于一个句子的分析结果——分析树——不仅展现了句子的逻辑结构(也就是深层结构,Deep Structure),也表现了表面的语法结构(表层结构,Surface Structure)。而且,在PAS之后要不要使用ESG是可以由一个选项控制的。

另外,对于PAS来说,一个句子的主动/被动结构是一样的,而对于ESG来说,这两者则有些许的不同。下面罗列一下系统功能与深层分析之间的关系:

关系抽取——利用分析结果识别实体之间的关系;

问题分析——利用结果来识别答案的类型与题目的要求是否一致;

关键词搜索——辨别关键词与问题所问的是否有强语法关系需要分析结果;

    内容评分——利用问题和材料内容的分析结果确定是否匹配;

类型转换——利用PAS来比较答案类型与问题要求是否一致;

PRISMATIC——汇集了大型语料库的PAS结果。

三、      SG分析

SG,即槽语法(Slot Grammar),并不限定在英语中使用,也可以在其他语言中使用。在Watson中,SG分析的大概流程是:1)分词与断句、2)语素词汇分析、3)句法分析。其中步骤1)与很多其他系统并不相同,因为在Watson中不会进行词性标注。

(一) SG分析的性质

先给大家举个栗子,问题的原文是“Chandeliers look great but nowadays do not usually use these itemsfrom which their name is derived.”这句话的SG分析结果如下:


SG分析树是一个依赖树:每一个树节点有一个中心词,以及左右修饰词。每一个节点N的修饰词M都填了N的一个“槽”,正是槽展示了M在修饰N中的语法角色。比如说,上图中,“chandelier”就填充了节点“but”的“subj”(宾语)槽。

下面以derive(17,u,15,12)为例,介绍一下每个节点的五种元素:

1.     节点中心词——“derive”,词形包括a)句子中原型、b)词目形式、c)SG词义形式。一般来说,中心词都是单独一个单词,但也有可能是词组,甚至是标点符号、特殊符号,但这些都比较少见。

2.     节点ID——“17”,一般来说就是单词出现的排序,但是也有特殊情况,对于词组来说,词组的第一个单词的ID视为整个词组的ID。

3.     节点的论元格式——The (logical or deep)argument frame of the node,一般包括的是补语元素,以及对应的填充用的槽,例子中就是(subj:nil, obj: ph15, comp: ph12)。也就是,(宾语:无,主语:词组15,补语:词组12),u所代表的是“unfilled”或者“unknown”。而针对derive这一单词,derive(e,x,y,z)表示的意思是x在规则z下从y中导出的事件e。

4.     节点特征——“verb ven vpass”,节点的特征均列在节点表示的右侧,用来描述一些语义的或者语法的特征,其中第一项一定是中心词的词性。

5.     节点的修饰语结构——“ven vpass”,SG分析树应当能够清晰地展示节点之间的修饰关系。比如说节点“derive”中,与之最近的槽就是它在它的父母节点中扮演的修饰语角色,也就是节点17是节点16的谓词(pred)。

(二) SG辞典

每个语言版本的SG中都有一个主要的辞典——基辞典,然后再以屈折词态学和派生词态学(笔者语:斯巴达,这是什么鬼……)的方法去扩大辞典的容量。

1.     SG辞典条目形式

下面是一个从ESG中截取的简单的词条:

talk< v(obj n (p about)) (comp (p to with))

   < v obj1 (comp1 (p into))

   < n nsubj (nobj n (p about))

     (ncomp (p to with))

一般来说,每个辞典条目都有一个“检索词”,也就是例子中的“talk”,而且,检索词一般会以最经常被引用的形式给出来,一般形式或者过去分词或者其他。后面跟着就是一下七个条目(只有第一条是必选项):

1)     词性。共有9种可能的词性——noun, verb, adj, adv, qual (qualifier), det, prep, subconj (subordinatingconjunction), 以及 conj(coordinating conjunction)。(Paper的作者他喵的一定是在逗我,明明只列了9种,非说有15种。)

2)     补充(Complement)槽结构。一般来说,每个槽的后面会有多个(slot) 选项。拿栗子中的第一条来说,talk的一个槽可以由obj或comp填充,然后obj又有两个填充——n、p,其中有括号包裹说明可有可无,而没有括号则是必须填充的。

3)     特征。特征可以是语法特征,也可以是语义类型。WSG中现在建立了大约160个语义类型,比如说,最上面那颗分析树里的artf(artifact)和langunit(language unit)。这些特征是建立来给ESG语法规则测试用的。

4)     词义名称。(Word-sense name,翻译得可能不准确)一个词义的述谓结构(predication)可以很轻易地被翻译成为逻辑上的述谓结构。语法规则能够测试指定的单日的词义名称。(读糊涂了别怪我……毕竟我也没看懂这一段在说什么……)

5)     数值得分。这是跟分析评分系统使用的分数,后面还会再提。

6)     主题范围测试。这是看当前文本是不是在要求的主题范围内。

7)     广义支持动词结构。在“make a reference to”中,名词“reference”的支持动词仅仅是“make”。为了解决这种特殊情况,采用了广义支持动词结构来描述。

2.     改进

下面介绍5种对ESG辞典系统的改进,其中前4项可以用在任何ESG系统中,而第5想只针对《Jeopardy!》这个节目。

1)     匹配名词结构与动词结构

有一些情况下,在问题中出现的是动词词性,比如所celebrate,但是检索的时候是celebration。为了应对这种情况,采用了名词结构与动词结构的匹配。比如说,talk那个例子中,有一个ncomp,对应的就是动词性质的comp,但是是作为名词性质理解(前缀是个n)。

2)     使用WordNet扩充。

WordNet主要用来扩充名词列表,以及查找对应的语义类型。简要说一下语义类型标记的流程:ESG附有一个映射表,能够将WordNet的语义映射为ESG的一部分语义类型。对于WordNet中的一个单词S,查找它的同义词链,一直找到某个同义词集合别映射为ESG的一种类型T,然后就以T作为ESG中S的语义类型。

3)     动名词一致

基辞典的扩充会在开放类型的词带来四种新的关系:nform、vform、ernform、ervform。比如说,一个动词V会给出一个由它的名词词性的词合成的特征。拿动词“differ”举个栗子,它会有如下特征:

(nformdeferral deferment deference)

4)     词块辞典

对于由多个单词组成的实体,ESG会使用词块辞典“ch.lx”进行存储和检索。这个辞典的生成也很方便,抽取Wikipedia的词条题目即可。举个栗子,“She sang Sing a Song of Sixpence”的分析树如下图:


5)     LAT奖励特征

对于那些与Watson的LAT有对应的名词(词组),会有一个latrwd R项,其中R是一个单精度浮点数。这个特征用于评价当前名词词组与LAT的匹配程度。

3.     SG语法分析

最重要的就是语法分析这一步!最重要的就是语法分析这一步!最重要的就是语法分析这一步!

1)     转化词汇语速分析结果到“phrase”中

phrase是在语义分析中使用的基础的数据结构。这一步的结果会是一个one-word的结果。

2)     多词凝聚(Multiword Agglomeration)

把one-word的结果转化为多词(multiword)组成的词组。最通常的手段就是将上一步的结果用辞典中的多词词条进行表示。当然,诸如人名、时间、文字序号这些则需要特殊处理。

3)     从左下到右上的图分析

这种结果是二元的,“修饰语”词组既可以填充左边的临界“矩阵”词组,也可以填充右边的。要检查的slot是那些出现在ASL(Available Slots List)或与矩阵的POS相邻接的槽。

(第3步由于缺乏相关知识,笔者读起来也甚是费力,暂且留个坑,以后有机会再填)

 

四、      谓词论元结构(PAS)

PAS的形式是一张标记有向图,其生成的依据是SG分析树的输出,也就是我们第一张图的内容。其中,无关信息或者过于详细的信息都将在生成图的过程中被忽略。比如说下面的六个句子:

² I heard that Edison inventedthe photograph in 1877.

² I heard that Edison invented aphotograph in 1877.

² I heard Edison invented thephotograph in 1877.

² I heard that Edison wasinventing the photograph in 1877.

² I heard that the photograph wasinvented by Edison in 1877.

实际上,这五个句子的意思是有区别的,尤其是前两个,区别是很大的。但是,在PAS中,这五个句子的图结构是完全一样的。

PAS会忽略ESG的浅层结构,而仅仅编码ESG的深层结构,当然ESG中那些只能在浅层结构中编码的信息PAS依旧会编码。另外有一些节点将会被忽略,具体如下:

² 助动词

² 引入VPs用的封闭性节点

² 限定词

² 没有谓词的“be”

² 形容词前的“be”

于是乎,上面chandelier例子中的结果如下:


五、      基于模式匹配的关系抽取

关系抽取要进行比ESG、PAS更深入的语义分析,首先从下面这种形式的关系模式说起:

authorOf :: [Author][WriteVerb] [Work]

直观地观察可以发现,中间的那个[WriteVerb]可以与在ESG分析中的动词类记性匹配,进一步地可以给出一张列表,列出所有跟写作相关的词汇。那么,Author、Work一个是写作动词的主语、一个是宾语,这时PAS的分析结果就能派上用场了。使用如下符号:

[Node A]-> dependencyLabel -> [Node B]

指代PAS中的一条边。于是,我们就可以把第一条规则拓展为下面的形式:

authorOf :: [WriteVerb]-> subj -> [Author] & [WriteVerb] -> obj -> [Work]

但是呢,这条规则似乎还是有点问题,以上都是基于动词规则来分析的,如果原文中直接出现了“XXX是XXX的作者”,上面这条规则就没法处理了,为了解决这个问题,还可以通过同样方式的总结推出下面这条规则:

authorOf :: [Author]-> Label -> [“of”-arg] & [“of”-arg] ->objprep -> [Work]

如果是教材写到这里,应该就要开始写,通过上面的例子,总结一下共性balabala。但这是博文,然后,就没有然后了……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值