How Did Watson Answer? —— Relation Extraction

来源:互联网 发布:襄阳网站搜索引擎优化 编辑:程序博客网 时间:2024/05/28 19:24

一、摘要

Watson中关系抽取通过两种方式进行——一是基于规则的模式匹配,二是基于统计模型的模式导出(pattern elicitation)。其中人工模式有30种,统计模式有7000种。之所以使用关系抽取,是为了在ESG、PAS的基础上发现更深层次的语义关系,发现潜在的问题候选答案,当然也有利于对文章内容进行评分。
系统高级架构如下图:
系统高级架构

二、基于规则的关系抽取

规则都是由人工建立的,选择建立规则依据的是对历史《Jeopardy!》问题中动词和名词的词汇分析,找出出现频率最高的LAT,然后针对性地建立匹配规则。这些挑选出来的关系一般有两个特点,1)在某一领域特别显著的,2)明显在全部问题数据中都出现的。规则像之前介绍的,都是用Prolog语言写的,并且与PAS中的模式匹配保持一致。

三、基于统计方法的关系抽取与内容评分

(一)关系实例的内部表示

表示关系的句子都会被表示成多种特征,包括:1)关系变元(argument)、2)语法特征(比如说,宾语和两个变元之间依赖路径上的单词)、3)整句话中的单词。
关系变元的类型是有YAGO来指定的,两个变元之间的依赖路径则是抽取自ESG分析书,这两部分最后都将被过滤为五种词性——形容词、副词、名词、介词、动词。

(二)从Wikipedia和DBpedia中抽取训练数据

训练数据由两部分组成,一是DBpedia中的关系实例,二是Wikipedia对应页面中的描述语句。

1.收集训练数据

收集算法假设包好特定infobox属性的Wikipedia页面会在文本中表达关系的描述,进一步假设关系会在页面第一句提到关系变元处表达这种关系。

2.检索变元类型

DBpedia只是库中的关系与YAGO类型系统是有对应和关联的,所以可以利用YAGO、Wikipedia、DBpedia三者共同检索关系变元的类型。

(三)关系专题(Relation Topics)

关系专题是已有的DBpedia的关系的多项分布,通过已有关系间的无监督分析来自动生成,并且彼此之间是正交的。作为关系特征,关系专题可以直接(在核函数处理之后)在SVM分类器中使用,从而提供很好的评价问题与内容的相似度的方法,同时,也能够在关系实例候选中检测关系是否存在。(好吧,我也不知道这是在说啥,慢慢往下看吧)

(四)使用关系专题的关系检测

SVM分类器图解
如上图中所示,SVM分类器综合使用了关系专题、变元匹配、依赖路径、共同词语等多种特征来进行训练和分类,但这些都先经过了核函数的处理。核函数在EMNLP论文《Relation extraction with relation topics》疑问中有详解。

1.训练

在DBpedia和Wikipedia中获取的训练数据中,已经给出了关系实例,可以用来直接训练模型。

2.测试

测试主要分为检测变元对、检测变元顺序、过滤、应用四大步,其中应用是指把所有的关系检测器都放到待测实例中来抽取语义关系。

(五)使用关系专题的非结构化内容评分

对于关键词非常不同,但是实体关系相同的问题和候选答案,使用语义关系评分将给出很高的分数。最直观的方法即是将问题和内容中的所有关系都抽取出来并进行比较,但7000多种关系应用到大量文章上的时间开销是不能承受的。所以,改为了使用关系专题空间(Relation Topic Space)来解决这个问题,因为相关关系的实例在这个空间中是组织在一起的。将问题和内容的关系都映射到关系专题空间中之后,直接用余弦距离评价相似度即可。

四、DeepQA中的使用

(笔者注:还记得Watson的答题框架是叫DeepQA吧?)
在问题分析中,使用关系抽取来找出问题中题眼和每个命名实体之间的关系,也找出候选内容的命名实体与关系变元的关系;
在PRISMATIC知识库中融合关系抽取的结果,从而支持搜索和候选评分;
当然诸如地理空间关系、时间序列的处理也需要关系抽取的结果作支持。

1 0
原创粉丝点击