您的位置:首页 > 产品设计 > UI/UE

How Did Watson Answer? —— About Question Analysis

2015-11-09 19:25 281 查看

一、 摘要

Watson答题的第一步是对问题进行分析,分析器混合使用了“深度槽语法分析器”(deep Slot Grammar parser, 由于不了解这个分析器到底是什么鬼,暂时这么叫吧)、命名实体识别器、一致性检测组件、关系抽取组件。主要得到以下四种信息:

l 题眼(Focus),题干中对答案的指称;

l LAT(Lexical Answer Type),题干中能够指出答案是哪种类型的词语;

l 问题类型(Question Classification),问题所属的一个或多个更高级的分类;

l 特殊约束(Qsection),题干中需要特殊对待和处理的部分。

举个栗子,看下面这个《Jeopardy!》原题:

“POETS &POETRY: He was a bank clerk in the Yukon before he published ‘Songs of a Sourdough’in1907.”

在这个题里,题眼是“he”,LAT是“he”、“clerk”、“poet”,题型是事实性问题,特殊约束没有。多说一句,特殊约束一般是指词语长度之类的。

二、 基础篇

(一) 语法与感情分析

Watson中的分析器用到了摘要一上来提到的四种技术,简要地说就是,槽语法NER、一致性检测和关系抽取。

值得一提的是,Watson使用的核心分析器是上世纪90年代提出的“槽语法”(Slot Grammar)分析器,能够把题干中的每个句子转换成一个树。有兴趣的同学可以自行baidu或google scholar一下槽语法。友情提示,网页搜索搜不到,可能是因为上了年纪的原因吧。

(二) 问题分析的适应性调整

第一个需要调整的是大小写问题,由于《Jeopardy!》题干中所有的字母都是大写的,所以,应当首先调整成为正确的大小写姿势。

第二个需要调整的是Watson使用的槽语法分析器——ESG(English Slot Grammar),调整策略是适应《Jeopardy!》题目中经常出现的搭配。

另外,还需要调整的是一致性检测的组件,因为《Jeopardy!》题干中经常出现一些指向答案的代词,这些代词不能指向题干中出现的实体。

(三) 特殊目的关系

针对《Jeopardy!》问题的特点,关系抽取做了两方面的调整——一方面,定义了“特殊目的关系”(Special-Purpose Relation)来对应题干中的特殊关联;另一方面,使用了一些潜在的模式匹配机制来检测题干的某些非关系型因素。

另外,这项技术的使用还顺手解决了惯用语检测的问题,比如节目的题干中惯用的地理空间位置关系。

三、 规则的Prolog实现

请恕在下无能,不敢在不了解Prolog的情况下胡说八道。所以,这一节内容我们略过不表。

四、 题眼与LAT检测

(一) Baseline & Improvement

其实Baseline用了非常简单的模式匹配,因为都是对词性和位置的描述,我就不在这里多说具体规则是什么了。可以参考《Question Analysis: How Watson reads a clue》。

不过规则就那么几条,肯定不能覆盖所有嘛,所以又针对频率比较高的失败情形做了对应的处理,包括LAT出现在题干的category中的情形。

(二) 评估LAT置信度

由于在baseline和improvement中的每天规则的可靠性是不一样的,所以,就可以根据成功匹配的规则的可靠性来评估LAT的置信度(Confidence)。

(三) 通过已有问题学习

出了系统中固定的规则,Watson还可以通过已经答完的题目来拓展自己的规则集。简单说来就是,Watson可以假定某个词为LAT,然后看正确答案是不是这个词的实例。

(四) 实验结果

通过几种手段,Watson的准确率、召回率、F1分别为0.829、0.766、0.796,而Baseline的参数分别为0.817、0.613、0.700。

五、 问题分类与QSection检测

(一) 问题分类

看到这里,我不得不感叹,工程人才啊。Watson里面用了各自独立的多种识别器来将某个问题分类,识别方法依旧是基于典型特征的模式匹配。一共分为12类问题,见下表:

QClass
Frequency
QClass
Frequency
DEFINITION

14.2%

VERB

1.5%

CATEGORY-

RELATION

7.2%

TRANSLATION

1.1%

FITB

3.8%

NUMBER

1.0%

ABBREVIATION

2.9%

BOND

0.7%

PUZZLE

2.3%

MULTIPLE-CHOICE

0.5%

ETYMOLOGY

1.9%

DATE

0.3%

(二) QSections

所谓QSections就是对文本的一个标注,被标注的文本在问题中有特定的功能。比较重要的有以下几种:

l LexicalConstraint

l Abbreviation

l SubQuestionSpan

l McAnswer

l FITB

后记:在这个处理线索的子系统中呢,收获最大的还是处理最高的频率以获得最大的覆盖率。但是我想,对于语义的理解,最后还是要走向自动推理的路上。然而,该怎么实现自动推理呢?矩阵吗?又应当基于什么样的数据结构呢?数据库三元组吗?我想,这些问题,就是我前进的方向。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: