How Did Watson Answer? —— Structured Data

来源:互联网 发布:ip网络可视对讲系统 编辑:程序博客网 时间:2024/05/16 09:05

一、摘要

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

二、概论

在前面介绍的Watson答题策略中,大部分用的是非结构化的文本信息来进行候选生成和评分。虽然覆盖的范围很广,但是精确度毕竟有限,所以,Watson中同时使用了结构化的数据,以便为候选答案的置信度进行评价,并且能够发现题目中额外的限制——地理空间的、时间的以及其他的。
必须认识到的是,结构化数据的使用与非结构化的数据是同时进行的,并没有严格的先后顺序。

三、Watson中结构化数据的来源与存储

Watson中结构化数据的来源大概可以分为以下四类:
1. “off-the-shelf”数据库中已知实体间的关系集合;
2. 非结构化数据中自动抽取的数据集合;
3. 对“off-the-shelf”的人工补全;
4. 面向最广泛问题的手工建立的逻辑知识。

(一)off-the-shelf

off-the-shelf的主要来源是DBpedia,也就是抽取的Wikipedia中的实体,同时还加上了YAGO。这样能够精确地获得每个实体的类型信息,即使是同义词或者多义词,这些类型信息还能够被TyCor使用。

(二)自动抽取的结构化信息

一般情况下都是在非结构化的信息中找共现对,比如说实体-时间对。这种查找一般分为两个层次,1)文档级,查找那些标题中有实体的问题,同时标题中包括时间信息;2)句子级,查找文档中的所有语句,找到实体的超链接以及对应的日期。

(三)人工拓展off-the-shelf

人工拓展off-the-shelf的工作主要是标记YAGO中互相冲突的高层分类,以此来排除掉候选集中与题目中LAT不相容的那部分。由于YAGO中类型太多,所以只标注高层信息,如果两个类型冲突,那么它们各自的子类型也互相冲突。

(四)人工建立的知识

为了应对题目中的一些特定的而又稀少的限制,引入了一些模板或者(frames),以此来解决特殊限制的问题。比如说,书和电影的相关帧如下:
书和电影在DeepQA中的相关帧

四、结构化数据的使用

(一)时间与地理空间推理

问题分析阶段就在题目中找到并分析时间序列或者是地理空间,同样,对候选答案也分析时间序列和地理空间,然后检测两者是否匹配。

(二)检测并评分时间关系

时间关系使用“TLink”来描述,对时间关系所做的建设是一个实体在没有存在之前是与时间无关对的。但是相反并不成立,也就是,实体消失之后,仍有可能与时间有关(比如说诞辰纪念)。除了判断区间是否重合,和可以判断问题中的时间表达与实体中重要事件的时间是否相关。当然,在评分时也分成了两种方式,一种是绝对得分,即时间与实体匹配成功的频率,另一种是比例得分,即匹配成功的频率在所有相关时间的比例。

(三)检测并评分空间关系

空间关系检测的对象包括:方向、边界、行政划分以及“远近”关系。在检测出问题中的空间关系之后,就可以使用EDM算法将其与DBpedia中人工拓展的空间描述进行匹配。对于某些没有指定空间位置的实体,可以通过查询描述信息中的位置描述来确定它的位置。
但仅仅有地理坐标并不能计算边界和行政划分问题,但这两个问题都可以通过查询Freebase解决。
对于“远近”关系的处理,笔者在看了Watson的实现后,觉得处理得不是很好。笔者个人想法是,可以通过地理位置计算距离,再除以实体行政级别所代表的一个“单位长”,用得到的值的大小来代表远近这个feature。

(四)类型推理(Taxonomic reasoning)

TyCor使用了多个算法,这里仅介绍与结构化数据推理有关的YAGO TyCor算法,以此进行类型信息的推理。YAGO TyCor主要是进行实体消岐与匹配(EDM)。
首先在YAGO WordNet中找出那些ID或者label与LAT直接相关的概念,然后根据概念的实体数量和WordNet排名对这些概念进行排序。在进行类型信息推理时,从上往下使用这些概念依次匹配。另外,PDM算法的结果也可以用来提高YAGO TyCor的正确率和召回率。

(五)基于实体类型对齐的TyCor计算

EDM将候选答案与DBpedia的实体集合进行匹配,以此获得对应的YAGO WordNet类型;PDM将LAT映射到YAGO WorkNet概念的一个集合中。剩下的问题就是ontology类型对齐的问题了。至于ontology类型对齐则是简单实用预先定义的规则来进行匹配。如下:
1. 相等/子类匹配——实例的类型与LAT类型相同,或者实例的类型是LAT的子类;
2. 不相交匹配——实例的类型与LAT类型均是都独有的或者不相交;
3. 兄弟姐妹匹配——实例的类型与LAT类型是同一个父节点的子节点;(这个名字我自己都想笑)
4. 超类匹配——两者的类型都是某一类型的超类,但不相同;
5. 统计相关超过阈值——统计类型的相关程度超过了某一经验阈值;

五、基于语义帧和知识库的QA

DeepQA的主线仍然是基于非结构化数据的候选生成和置信评估,但对于特定范围的问题,(如上文所提)能够很精确地解决问题。对于自然语言描述的问题,会有帧识别算法来选择帧并将文本表述映射到帧的不同部分。很多的帧槽-填充可能比不如简单的共现来得精确,但却比通用的关系检测精确得多。
如果在输入问题中,题眼与实现定义的帧匹配,那么就可以在指定类型的帧的实例中搜索答案。如果出现了多个答案满足约束,那么就用候选生成和评分组件对他们进行评分排序。

0 0