欢迎来到天天文库
浏览记录
ID:27523560
大小:309.00 KB
页数:17页
时间:2018-12-04
《Watson是如何读题的.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Watson是如何读题的 与人或大部分其他问答系统相似,Watson在处理问题的第一步是对问题进行仔细地分析,以了解提问者的意图,并找到正确的方式去解决它。这也是非常关键的一步,后面的很多分析与计算都以此为基础,这里主要用到了Watson的语法解析与语义分析能力,包括:深层的语法解析、实体识别、指代消解、关系抽取模块。利用大量的规则与在此基础上训练的分类器,去检测问题中以下几个关键元素: 1)问题焦点(focus):问题中指代答案的部分; 2)答案的词汇类型(lexicalanswertypes):问题中指示被问到实体的类型的关键词; 3)问题所属的宽泛类型;
2、 4)问题中需要特殊处理的部分。 下面会对这些元素逐一举例介绍。 关键元素 焦点(focus) 问题中指代答案的部分,一般为代词,如下列问题:POETS&POETRY:HewasabankclerkintheYukonbeforehepublished“SongsofaSourdough”in1907. 中的He。这样的词在答案中可能有好几个,但找到一个就够了,其它的可通过指代消解的方式得到。找到”focus“以后,可以通过与包含答案的文章段落进行对齐,从而找到答案。 答案的词汇类型(lexicalanswertypes) LAT指的是问题所问的是什么类型的实
3、体,一般focus的中心词即为LAT,如上例中的”he“与”clerk“,很多问题还提供了额外信息作为LAT,如上面问题的“poet”。(Jeopardy!比赛中都给出了问题的种类)。得到LAT后可以用来检验算法给出的候选答案的类型是否正确。这样不仅利用了问句本身的信息,还利用了比赛中关于问题种类的信息。 问题分类(QuestionClassification) 先预定义若干种问题,每种问题有不同的解决方法或处理流程。对问题进行分类,判断它属于某一种或几种类型,再调用相应的处理流程。上面的问题属于比较常见的仿真陈述(Factoid)问题。 问题片段(QSections
4、) 问题中需要特殊处理的片段。QSections的一个典型应用是识别问题中关于答案的各种不同的约束(如答案是3个字,是地名),然后将问题分解为若干个字问题进行解答。 问题的基本分析 句法解析与语义分析 Watson的句法解析与语义分析模块主要包含部分:包含谓词论元结构构(PAS)造器的槽语法解析模块ESG、命名实体识别模块、指代消解模块、关系抽取模块。 ESG模块是用来将问句解析为一个包含句子表层结构与深层逻辑结构的树。每个节点上附有:1)一个词项(由一个或若干个单词组成)和与之对应的包涵逻辑参数的谓词;2)特征列表,部分是关于句法形态的,部分是语义相关的;3)该
5、节点的左右修饰语以及修饰语所填充的槽。1)中的谓词与逻辑参数正是句子的深层结构之所在,逻辑参数为树中其它节点,可能再句子上离当前节点比较远 在上面的例子中可以识别出谓词逻辑publish(e1,he,‘‘SongsofaSourdough’’)与in(e2,e1,1907),后者说明了前者也就是这个pubilish事件发生在1907年。并且还可以抽取出authorOf(focus,‘‘SongsofaSourdough’’)与temporalLink(publish(...),1907这样的三元组关系。 针对Jeopardy!问题所做调整 1)Jeopar
6、dy!问题的单词全都是大写,对人来说没什么,然而单对用计算机进行语法分析来说,大小写是非常重要的信息,所以先用一个在其它数据集上训练的分类器来对单词的大小写进行预测与改写。 2)Jeopardy!问题的语言习惯与日常领域有着较大差异,例如日常问句一般以“Wh-”开头,但在Jeopardy!中却喜欢用this/these、he/she、it等。此外Jeopardy!中名词短语出现的频次非常高。因此在解析Jeopardy!的问句时需要调整解析模型的参数,如增加名词短语的先验或转移概率。 3)问题的focus往往是个代词,所以在进行分析时先识别出focus再将focus排除在
7、外进行指代消解。 关系抽取做的调整 为了应对Jeopardy!特殊的语言风格,对原本用于普通文本的关系抽取模块做了调整。这样一方面能检测出在Jeopardy!的问题中经常出现的对后面的处理特别有用的一些关系,如focus的别名、时间关系、地理位置关系等,具体例子如下表。 另一方面,用来匹配这些关系等模式,也已可以用来识别出问句的一些特定特征,这些特征可以用于训练问题的分类器或其他处理。那么这些规则时如何实现的呢?下面将开始介绍。 规则的Prolog实现 Watson的问题分析流程是通过由一系列组件组成
此文档下载收益归作者所有