一、 摘要
不同于传统QA系统的“先分类再生成”策略,Watson使用的是“先生成再分类”策略——首先生成候选项,然后再对其类型进行评分。
二、 概述
传统的QA系统解析问题之后,会首先确定答案的类型,然后再在特定的类型集合中搜索候选答案。而Watson并不是这样工作,在生成候选答案时,Watson并不会限定答案类型,生成之后,才会对候选答案的类型信息进行评分。这个组件被称为type coercion(TyCor),类型强制转换器。这里我要对之前提出来的使用的术语“强制类型转换”作一个更正,这里的类型强制转换器与强制类型转换时不同的。
程序语言中的强制类型转换是指数据类型之间的转换,为的是运算的合法性;而语言学中的类型强制转换则是指词性之间的转换,大概(注意是大概,笔者拿不准这件事)就像是意动用法和使动用法。
TyCor组件的输入包括题干中的LAT以及候选生成模块生成的候选集。这里再讲一下LAT的含义,LAT是题干中说明了答案应当是什么类型的字符串。TyCor的输出就是一个评分,评价的是由组件本身总结候选答案是不是题干LAT指定的类型的一个实例。
三、 《Jeopardy!》中的答案类型
这次真不是我耍流氓,这一节也没有什么实质性内容,主要陈述一个事实——《Jeopardy!》的答案类型很广,不易概括。所以,不能把答案上来就限定在某一个特定类型中。详见下图:
所以,类型只被看作是题干和候选答案的一个属性,结合起来的属性。
四、 TyCor与DeepQA其他组件的关系
问题分析——问题分析中的LAT检测结果中包含有置信度,置信度会直接影响TyCor对候选项评分的高低。
候选生成——TyCor中的输入会是经过候选生成组件消岐的候选答案,当然,还有之前提到的甄别出来的LAT。
假设与证据评分——TyCor是假设与证据评分的一个组成部分。
最终答案合成与排名——TyCor的评分是用于最终答案排名的特征。
五、 TyCor逻辑框架
TyCor设计的总体目标就是,在一个候选答案是LAT的一个子类或者实例的时候给出尽可能高的分数。高级架构见下图:
(一) 实体消岐与匹配(EDM)
EDM在结构化的知识数据中查找那些与候选答案有关联的实体,在这一步会处理好多义词、同义词问题。
(二) 类型检索(TR)
TR会检索每一个EDM标记出来的实体的类型。
(三) 谓词消岐与匹配(PDM)
笔者注:这里的“谓词”跟前面的PAS中的“述词”其实是一个词,后面我会考虑一下这个词怎么翻译更准确一些。
PDM以LAT为输入,然后在知识库中匹配这些LAT的类型。值得注意的是,在知识库不完善的情况下,PDM有可能以LAT本身作为输出。
(四) 类型对齐(TA)
对比PDM和TR的结果来决定候选答案类型与LAT匹配的程度。
注意,如果一个候选生成器能够生成无歧义的候选答案交给TyCor直接使用,那么EDM这一步就可以跳过去。另外,也可以根据上面的框架设计出否定型的TyCor。
六、 TyCor资源与策略
Watson中使用了超过十种不同的TyCor组件,有的使用相同的算法但使用不同的资源,有的使用相同的资源但使用不同的算法。
在Watson中使用了很多的资源,对于每一种都进行了深入的分析。在这里我不在罗列《Typing candidate answers using type coercion》一文中出现的各种资源,和针对性的优化。而是谈一谈自己的一点认识。
无论如何,我们的目标是,对齐类型。所以,不管资源是结构化的还是非结构化的,最终要做的都是对资源、语料中类型的抽取,核心就是类型。通过之前Watson的构成,深深地折射出一个道理——积少成多啊。Jeopardy!题目的多样性决定了每种优化措施能够覆盖的频率都不是很广,但是拼在一起覆盖面就光了。深入分析材料的特点,针对每一个特点优化,积少成多,最终在系统成型之后会取得足够好的效果。