一种基于语义解析和SMT求解的阅读理解题求解方法与流程

文档序号:15981740发布日期:2018-11-17 00:24阅读:162来源:国知局

本发明涉及计算机领域,具体涉及一种基于语义解析和smt(satisfiabilitymodulotheories)求解的阅读理解题求解方法。

背景技术

对于机器来说,阅读一段文本然后回答与该文本相关的问题,是一项具有挑战性的任务。一个机器只有具有了对文本进行阅读理解和推理求解的能力,它才能完成该任务。为了检验机器阅读理解和推理求解能力的强弱,学者们提出了多种数据集,其中包括mctest,wikiqa,squad,msmarco等。这些数据集中的阅读理解题都是由一段长文本和相关的问题组成的。它们的特点是:1、文本较长,机器需要排除文本中与问题不相关的信息的干扰;2、大多数问题的答案直接出现在长文本中的某一句话,机器只需对这句话进行分析即可得到答案;3、句式丰富,语法复杂,机器需要对不同的句式和语法进行分析。但是这些数据集没有强调阅读理解题中事件之间的关系,也就没有要求机器对这些关系进行表达和推理。

winogradschemachallenge(wsc)由hectorlevesque等人提出,它可用于评估机器的常识推理能力。wsc数据集由一组单项选择题组成。其中的选择题可被视为阅读理解题。机器在求解wsc数据集中的阅读理解题时,它首先要从题目文本的外部寻找与该题目相关的常识,再将常识与该题目文本进行结合,从而推理出该题目的答案。含常识的wsc数据集是通过为wsc数据集中的阅读理解题添加相关常识的方式来获得的。机器在求解含常识的wsc数据集中的阅读理解题时,它首先需要理解题目中的常识所描述的事件之间的关系,再使用该关系来对题目进行推理求解。因此,含常识的wsc数据集可用于检验机器对阅读理解题进行深层次推理的能力。

目前,以下工作给机器提供了表达阅读理解题文本信息和对阅读理解题进行推理求解的能力。微软亚研院自然计算组提出了r-net。该方法首先通过一种循环神经网络模型来获取阅读理解题中的文本段落信息,继而使用自我匹配机制来提炼文本段落信息,最后使用指针网络来定位出答案在文本段落中的位置。chuanqitan等人提出了s-net。该方法通过使用神经网络搭建的答案提取模型和答案综合模型从文章中抽取出正确的答案。yelongshen等人提出了reasonet。该方法通过进行多轮探索的方式来推理出阅读理解题的问句、文本段落和答案之间的关系。这些方法都是使用神经网络模型来获取用于表达阅读理解题文本的信息,它们在处理句式丰富和语法复杂的数据集时具有一定的优势。但是,这些方法并不适用于求解需要深层次推理的阅读理解题。因此,这些方法并不能很好地求解含常识的wsc数据集中的阅读理解题,所以目前急需一种具有更强的表达能力和推理能力的阅读理解题求解方法。

在基于语义解析和smt求解的阅读理解题求解方法中,需要使用两个工具。第一个是sempre,它是由斯坦福大学开发的语义解析工具。第二个是z3,它是一个由微软研究院开发的可满足性模理论(satisfiabilitymodulotheories,简称smt)求解器。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷(不足),提供了一种基于语义解析和smt求解的阅读理解题求解方法。

为解决上述技术问题,本发明的技术方案如下:

一种基于语义解析和smt求解的阅读理解题求解方法,所述方法先使用sempre语义解析工具对阅读理解题进行语义解析,然后根据语义解析结果生成表述阅读理解题文本信息的一阶逻辑公式φ,再生成候选答案所对应的一阶逻辑公式最后,该方法对取非并与φ进行合取而得到公式并调用z3去求解的可满足性。若是不可满足的,那么所对应的候选答案就是该方法所求解出来的阅读理解题的答案。

使用一种基于语义解析和smt求解的阅读理解题求解方法的步骤如下:

s1.输入阅读理解题,使用sempre语义解析工具对阅读理解题进行解析,获取阅读理解题中单词的词元、词性以及词与词之间的依赖关系。

s2.识别谓词符号以及常元。对于单词的词元以及词性,执行以下判断来识别一阶逻辑公式中的谓词符号和常元:

1.若单词为动词、形容词或者普通名词,将该单词声明为一阶逻辑语言中的谓词符号;

2.若单词为专有名词或者特指名词,将该单词声明为一阶逻辑语言中的常元,其中特指名词是指由定冠词“the”、形容词“this”或者形容词“that”形容的名词;

3.若单词为代词,则将该代词声明为一阶逻辑语言中的常元。

s3.构造原子公式。获取了阅读理解题中存在的谓词符号和常元后,即可根据词与词之间的依赖关系来构造原子公式。

s4.构造复杂公式。获取了原子公式后,即可根据句子间的连接关系来构造复杂公式。假设句子a对应的原子公式为句子b对应的原子公式为ψ,对和ψ使用如下构造规则:

1.构造蕴含式:当句子a与句子b以句式“ifathenb”出现,则对和ψ构造蕴含式,

2.构造合取式:当句子a与句子b由连词“and”连接或者句子a与句子b之间没有连词,则对和ψ进行合取;

3.构造析取式:当句子a与句子b由连词“or”连接,则对和ψ进行析取。

s5.在复杂公式中添加量词。添加量词的规则如下:

1.当单词由“all”、“every”形容时,添加全称量词来对单词进行量化;

2.当单词由“some”、“a”、“notall”形容时,添加存在量词来对单词进行量化。

通过添加量词来获得最终的一阶逻辑公式

步骤s2、s3、s4、s5只是翻译自然语言文本为一阶逻辑公式的基本方法。由于自然语言的丰富性,当依据以上步骤中的规则来生成的一阶逻辑公式不能正确表达自然语言文本时,需要引入额外的规则来辅助生成一阶逻辑公式。具体情况可视实施例。

s6.步骤s2、s3、s4和s5生成了用于表达阅读理解题文本的一阶逻辑公式。但是这些公式并没有完整地表达出题目文本所包含的信息。因此,引入四个假设来分别生成额外的一阶逻辑公式

第一,引入唯一名称假设来生成其内容为:假设阅读理解题文本含有的常元的集合为c={c1,...,ck},k≥1,则生成公式:

该假设保证了不同的常元代表着现实世界中的不同实体。

第二,引入封闭世界假设来生成其内容为:假设阅读理解题文本含有的常元的集合为c={c1,...,ck},k≥1,则生成公式:

该假设保证了阅读理解题文本中的常元构成了论域中的全部元素。

第三,引入封闭原因假设来生成该假设只应用于句式为“ifathenb”的自然语言文本句子,该句式表示如果事件a发生,那么事件b也发生。那么在该句子所构成的世界中,事件a是事件b发生的唯一原因,即事件b发生时,事件a一定会发生。下面,给出该假设的内容:假设事件a由公式λ表示,事件b由公式ψ表示,则生成公式:

ψ→λ

该公式表示当事件b发生时,事件a也发生。

第四,当阅读理解题为单项选择题时,引入唯一答案假设来生成其内容为:假设一个候选答案集合a={a1,a2,...,ak},k≥2,每个候选答案对应的一阶逻辑公式为φ1,φ2,...,φk,则生成公式:

v1≤i≤kφi

对这两个公式进行合取来得到该假设保证了z3对每个问题只返回唯一一个答案。

s7.以上步骤生成了一阶逻辑公式对这些公式进行合取来得到新的公式φ。

s8.对阅读理解题中的问句进行语义解析,并生成候选答案对应的一阶逻辑公式γ。随后对γ取非,获得一阶逻辑公式再将与φ进行合取,获得一阶逻辑公式并调用z3来求解的可满足性。若是不可满足的,则φ蕴涵γ,即阅读理解题文本对应的一阶逻辑公式蕴涵候选答案对应的一阶逻辑公式,所以该候选答案就是求解出来的答案。否则,对下一个候选答案对应的一阶逻辑公式执行同样的验证,直到z3对公式的求解结果为不可满足的或者所有的候选答案都被验证了。

与现有技术相比,本发明技术方案的有益效果是:

(1)本发明采用语义解析的方式更好地解析了阅读理解题所包含的语义信息,并根据解析结果来生成文本所对应的一阶逻辑公式去表达该文本,而一阶逻辑公式可以显示地表达出文本中的单词所描述的事件之间的关系。

(2)本发明引入了四个假设来生成额外的与阅读理解题相关的一阶逻辑公式。通过这些额外的一阶逻辑公式,本发明能更加完整地表达出阅读理解题中所包含的信息,继而强化了本发明对阅读理解题的推理求解能力。

(3)本发明在处理需要深层次推理的阅读理解题数据集时具有更强的表达能力和推理能力。

附图说明

图1为基于语义解析和smt求解的阅读理解题求解方法的流程图。

图2为实施例语义解析结果图。

图3为实验数据对比图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含所指示的技术特征的数量。由此,限定的“第一”、“第二”的特征可以明示或隐含地包括一个或者更多个该特征。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

一种基于语义解析和smt求解的阅读理解题求解方法,其步骤流程图如图1所示,本发明只适用于由英文文本构成的阅读理解题。

下面以一个阅读理解题为例,它由陈述句、疑问句和候选答案组成。由于该例子的特殊性,例子中的文本“thingb”和“thingc”可被视为变元,且需要使用全称量词对其进行量化。此外,陈述句中的文本“becauseit'stoosmall”与疑问句“whatistoosmall”相关。因此,文本“becauseit'stoosmall”是冗余信息,所以在该例子中,本发明不需要生成相关的一阶逻辑公式来表达该文本。

陈述句:thetrophydoesn'tfitintothesuitcase,becauseit'stoosmall.ifthingbisbig,andthingcissmall,thenthingbdoesn'tfitintothingc.

疑问句:whatistoosmall?

候选答案:thesuitcase/thetrophy.

本发明以上述阅读理解题文本为输入,输出求解出来的答案。

本发明对该阅读理解题进行求解的流程如下:

s1.输入阅读理解题文本,使用sempre对上述阅读理解题的陈述句中的第一句话进行语义解析,得到如图2所示的结果。该图中的解析结果包含了六项内容,分别是tokens(分词)、lemmatizedtokens(词形分词)、postags(词性)、nertags(命名实体识别类型)、nervalues(命名实体识别值)和dependencychildren(依赖关系)。其中,lemmatizedtokens包含了所有单词的词元。再对剩下的文本进行语义解析。

s2.根据步骤s1对文本进行语义解析的结果,单词的词元信息已被包含在结果中的词形分词(lemmatizedtokens)的内容中,所以对单词的词元和词性(postags)进行判断,可以获得谓词符号和常元。因此,可以得到二元谓词符号fitinto、一元谓词符号large和一元谓词符号small,常元trophy和cup。因为trophy和cup都是特指名词。根据该阅读理解题的特性,单词词组thingb和thingc被视为变元,并且需要使用全称量词对其进行量化。

s3.根据语义解析结果中的依赖关系(dependencychildren)来构造原子公式,再构造复杂公式,最后添加量词到一阶逻辑公式中。因此,可以得到一阶逻辑公式:

fitinto(trophy,suitcase)(1)

s4.引入四个假设来生成额外的一阶逻辑公式。首先,引入唯一名称假设来对常元trophy和suitcase生成相应的一阶逻辑公式:

其次,引入封闭世界假设,生成一阶逻辑公式:

该公式表示任意变元只能取论域d中用于表示常元suitcase或者常元trophy的值。

然后,引入封闭原因假设来生成一阶逻辑公式:

最后,引入唯一答案假设来生成一阶逻辑公式:

该公式表示suitcase和trophy中有且只有一个正确答案。

s5.将上述得到的公式进行合取,继而得到公式表示了实施例1中的阅读理解题文本所包含的信息。

s6.对疑问句进行语义解析,并生成候选答案对应的一阶逻辑公式small(trophy)和small(suitcase),然后逐一验证这两个公式是否被蕴涵。首先,对公式small(trophy)取非,得到然后将该公式与进行合取,得到再调用z3对公式进行求解。最后,得到的求解结果是“sat”,这表示是可满足的,所以“trophy”不是求解答案。接下来,对公式small(suitcase)执行类似的操作。然后,得到的求解结果是“unsat”,这表示是不可满足的,即蕴涵small(suitcase)。因此,“suitcase”是求解出来的答案。本发明输出字符串“suitcase”。

图3为实验数据对比图。本次实验所采用的数据集为含常识的wsc数据集。其一共包括149对阅读理解题,每对阅读理解题包含两个互为对偶的阅读理解题。把“阅读理解题”简称为“问题”。从图中可以看出,本发明可以正确求解出50对问题中的全部两个问题和5对问题中的一个问题,所以本发明总共能正确求解出105个问题。而r-net只能正确求解出2对问题和56个问题,即总共60个问题。若一个方法可以正确求解出一对问题中的两个问题,那么该方法被认为可以正确地对问题进行推理求解。若一个方法只能求解出一对问题中的一个问题,那么该方法被认为可能是猜对了问题的答案,而没有正确地对问题进行推理求解。因此,与r-net相比,本发明能更准确地求解含常识的wsc数据集中的问题,能更完整地表达出问题文本中的事件之间的关系,并使用该关系来对问题进行求解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1