技术领域
本发明涉及自然语言处理技术领域,特别是涉及一种机器阅读理解方法及系统。
背景技术
近年来,随着现代互联网络的发展,产生了大量以人类语言编码的信息库,文献数量快速增长,其增长速度到了普通人认知难以跟上的速度。由此,为了理解和总结文献,针对机器阅读理解的需求逐步提升。
在机器阅读理解的领域中,研究人员也从传统的知识库等技术转向了深度学习技术,各种基于神经网络的机器阅读理解模型被提出并得到了很好的应用效果。此外,随着图像处理领域的注意力机制的引入,机器阅读理解也得到了进一步的发展。
现有的机器阅读理解模型,大多是基于lstm,gru等循环神经网络技术,这类神经网络把文本看成是顺序结构的数据,忽略了文本的空间结构,并不能很好的捕捉到文章中语句之间的关系信息,因此存在机器阅读理解任务的准确性低的问题。
发明内容
基于此,本发明的目的是提供一种机器阅读理解方法及系统,以提高机器阅读理解任务的准确性。
为实现上述目的,本发明提供了一种机器阅读理解方法,所述方法包括:
步骤S1:获取机器阅读理解数据集;
步骤S2:对所述机器阅读理解数据集进行处理,获得训练集和测试集;
步骤S3:构建基于图注意力网络的机器阅读理解模型;
步骤S4:将所述训练集输入所述机器阅读理解模型进行训练,获得模型参数;
步骤S5:将所述测试集输入已求取模型参数后的所述机器阅读理解模型进行阅读理解,获得每篇文章中每个问题的答案。
可选地,所述对所述机器阅读理解数据集进行处理,获得训练集和测试集,具体包括:
步骤S21:将各文档内的每个词看作一个节点,连接各节点,将各文档的顺序结构转换为拓扑结构,获得转换数据集;
步骤S22:从所述转换数据集中选取训练集和测试集;所述训练集包括第一设定个数的问题和各问题相关的设定篇数的文档;所述测试集包括第二设定个数的问题。
可选地,所述机器阅读理解模型包括词嵌入层、上下文嵌入层、注意力流层、建模层和输出层。
可选地,所述将所述训练集输入所述机器阅读理解模型进行训练,获得模型参数,具体包括:
步骤S41:初始化迭代次数k=1;
步骤S42:将所述训练集输入所述机器阅读理解模型进行训练,并计算损失值;
步骤S43:根据所述损失值,采用随机梯度下降法学习算法进行第k次反向传播学习;
步骤S44:判断迭代次数k是否大于或等于设定迭代次数;如果所述迭代次数k大于或等于设定迭代次数,则输出所述机器阅读理解模型的模型参数;如果所述迭代次数小于设定迭代次数,则令k=k+1,并返回“步骤S43”;
或判断相邻两次反向传播学习的参数的差值是否小于设定阈值;如果相邻两次反向传播学习的参数的差值小于或等于设定阈值,则所述机器阅读理解模型的模型参数;如果相邻两次反向传播学习的参数的差值大于设定阈值,则令k=k+1,并返回“步骤S43”。
可选地,所述机器阅读理解数据集选为百度发布的DuReader数据集。
本发明还提供一种机器阅读理解系统,所述系统包括:
获取模块,用于获取机器阅读理解数据集;
集合确定模块,用于对所述机器阅读理解数据集进行处理,获得训练集和测试集;
模型构建模块,用于构建基于图注意力网络的机器阅读理解模型;
模型参数确定模块,用于将所述训练集输入所述机器阅读理解模型进行训练,获得模型参数;
阅读理解模块,用于将所述测试集输入已求取模型参数后的所述机器阅读理解模型进行阅读理解,获得每篇文章中每个问题的答案。
可选地,所述集合确定模块,具体包括:
转换数据集确定单元,用于将各文档内的每个词看作一个节点,连接各节点,将各文档的顺序结构转换为拓扑结构,获得转换数据集;
集合确定单元,用于从所述转换数据集中选取训练集和测试集;所述训练集包括第一设定个数的问题和各问题相关的设定篇数的文档;所述测试集包括第二设定个数的问题。
可选地,所述机器阅读理解模型包括词嵌入层、上下文嵌入层、注意力流层、建模层和输出层。
可选地,所述模型参数确定模块,具体包括:
初始化单元,用于初始化迭代次数k=1;
训练单元,用于将所述训练集输入所述机器阅读理解模型进行训练,并计算损失值;
反向传播学习单元,用于根据所述损失值,采用随机梯度下降法学习算法进行第k次反向传播学习;
判断单元,用于判断迭代次数k是否大于或等于设定迭代次数;如果所述迭代次数k大于或等于设定迭代次数,则输出所述机器阅读理解模型的模型参数;如果所述迭代次数小于设定迭代次数,则令k=k+1,并返回“反向传播学习单元”;
或判断相邻两次反向传播学习的参数的差值是否小于设定阈值;如果相邻两次反向传播学习的参数的差值小于或等于设定阈值,则所述机器阅读理解模型的模型参数;如果相邻两次反向传播学习的参数的差值大于设定阈值,则令k=k+1,并返回“反向传播学习单元”。
可选地,所述机器阅读理解数据集选为百度发布的DuReader数据集。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开一种机器阅读理解方法及系统,方法包括:获取机器阅读理解数据集;对机器阅读理解数据集进行处理,获得训练集和测试集;构建基于图注意力网络的机器阅读理解模型;将训练集输入机器阅读理解模型进行训练,获得模型参数;将测试集输入已求取模型参数后的机器阅读理解模型进行阅读理解,获得每篇文章中每个问题的答案。本发明基于图注意力网络构建机器阅读理解模型既可以捕获到文章的语义信息,又可以捕获到上下文信息和单词间的关联信息,从而提高机器阅读理解任务的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例机器阅读理解方法流程图;
图2为本发明实施例基于图注意力网络的机器阅读理解模型的结构示意图;
图3为本发明实施例机器阅读理解系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种机器阅读理解方法及系统,以提高机器阅读理解任务的准确性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明公开一种机器阅读理解方法,所述方法包括:
步骤S1:获取机器阅读理解数据集;
步骤S2:对所述机器阅读理解数据集进行处理,获得训练集和测试集;
步骤S3:构建基于图注意力网络的机器阅读理解模型;
步骤S4:将所述训练集输入所述机器阅读理解模型进行训练,获得模型参数;
步骤S5:将所述测试集输入已求取模型参数后的所述机器阅读理解模型进行阅读理解,获得每篇文章中每个问题的答案。
下面对各个步骤进行详细论述:
步骤S1:获取机器阅读理解数据集。
本实施例中所述机器阅读理解数据集选为百度发布的DuReader数据集。DuReader数据集是一个基于现实应用的中文机器阅读理解数据集,该数据集可以看作是一个四元组{q,t,D,A}。其中q表示问题,t表示问题类型,D表示问题相关的文本集合,D=d1,d2,...,dn,n为文本数。A代表参考答案集合,该集合由人工标注产生。DuReader数据集具有数据来源贴近现实,问题类型丰富和数据规模大这三个特点。
数据来源上,DuReader数据集的问题和文档均来自百度搜索和百度知道问答社区,其答案则由人工标注产生,数据更加结合实际场景,问题和答案也更加具体真实。DuReader数据的问题类型包括实体型(Entity)、描述型(Description)和是非型(Yes/No);其中每种类型还分为事实型(Fact)和观点型(Opinion)。对于实体型问题,其答案一般是单个或多个实体。描述性问题,答案往往是几句话的摘要,其问题具有“如何”,“为什么”等疑问词或者是比较等问题。是非类问题,答案是肯定或是肯定,同时会提供支持依据。
数据规模上,DuReader数据集共包含20万个问题、100万个文档和超过42万个人工标注的答案,数据规模庞大,是目前最大的中文机器阅读理解数据集。DuReader数据集中,文档的平均长度为396个词,问题的平均长度为4.8个词,答案的平均长度为69.6个词。此外,每个问题对应5个文档,每个文档平均有7个段落。
步骤S2:对所述机器阅读理解数据集进行处理,获得训练集和测试集,具体包括:
步骤S21:将各文档内的每个词看作一个节点,连接各节点,将各文档的顺序结构转换为拓扑结构,获得转换数据集。
将所述机器阅读理解数据集的各文档中每一个词视为一个点。文档中的词本身具有含义,同时词与词之间又存在着某种关系。词的含义也就是词的特征同时也是点的特征,词与词之间存在的联系,用图的形式来表示也就是两个点相连接。基于词与词之间存在的联系和图注意力网络的功能,本发明在文档内部和问题内部构建了图形关系。这里的构图策略十分简单,以上下文为例,默认上下文中的每一个词都与其他词存在联系,问题采用同样的构图策略。
步骤S22:从所述转换数据集中选取训练集和测试集;所述训练集包括第一设定个数的问题和各问题相关的设定篇数的文档;所述问题包括实体型、描述型和是非型问题;本实施例中第一设定个数为1000个,设定篇数为5000篇,但并不限于以上一种,该实施例只是用于解释说明的作用。所述测试集包括第二设定个数的问题,本实施例中第二设定个数为100个。
步骤S3:构建基于图注意力网络的机器阅读理解模型。如图2所示,所述机器阅读理解模型包括词嵌入层、上下文嵌入层、注意力流层、建模层和输出层;所述输出层又称节选层。
所述词嵌入层的作用是将上下文和问题中的词都映射到高维向量空间,分别得到固定长度的上下文词嵌入X∈R
所述上下文嵌入层在所述词嵌入层的基础上,使用图注意力网络分别对词嵌入层输出的上下文词向量和问题词词向量进行建模。这里分别在上下文内部和问题内部构建图结构。以上下文为例,将上下文中的每一个词看作为一个点,则词向量就是点的特征。默认上下文中的每一个词与其他词都存在联系,但联系强弱不同,这样在上下文中构建了图的关系。经过图注意力网络的处理,根据上下文词嵌入X可得到上下文嵌入层生成的文本表征矩阵H∈R
所述注意力流层的输入为上下文嵌入层生成的文本表征矩阵H和问题表征矩阵U;基于上下文嵌入层生成的文本表征矩阵H和问题表征矩阵U通过S
所述建模层的输出不同于上下文嵌入层的输出,文本和问题之间是独立的,所述建模层的输出是用于捕捉问题条件下文本中词的关系。建模层使用了两层Bi-LSTM网络,每一层网络的输出维度为d,因此所述建模层的输出为矩阵M∈R
所述输出层是用于输出机器阅读理解中的问答式任务的节选位置。对于问答任务,需要在原文选取适当的部分作为答案,这样任务可具体为寻找出这一部分的起始位置和结尾位置。起始位置索引的概率公式为:
其中,p1为起始位置索引的概率,
对结尾位置索引时,需要将M经过一层Bi-LSTM进行处理得到M
其中,
通过开始位置和结尾位置,在文章中截取相应答案,位置概率最大的一段文档作为节选位置。
步骤S4:将所述训练集输入所述机器阅读理解模型进行训练,获得模型参数,具体包括:
步骤S41:初始化迭代次数k=1;
步骤S42:将所述训练集输入所述机器阅读理解模型进行训练,并计算损失值;
步骤S43:根据所述损失值,采用随机梯度下降法学习算法进行第k次反向传播学习;
步骤S44:判断迭代次数是否大于或等于设定迭代次数;如果所述迭代次数大于或等于设定迭代次数,则输出所述机器阅读理解模型的模型参数;如果所述迭代次数小于设定迭代次数,则令k=k+1,并返回“步骤S43”。
或判断相邻两次反向传播学习的参数的差值是否小于设定阈值;如果相邻两次反向传播学习的参数的差值小于或等于设定阈值,则所述机器阅读理解模型的模型参数;如果相邻两次反向传播学习的参数的差值大于设定阈值,则令k=k+1,并返回“步骤S43”。
如图3所示,本发明还提供一种机器阅读理解系统,所述系统包括:
获取模块1,用于获取机器阅读理解数据集。
集合确定模块2,用于对所述机器阅读理解数据集进行处理,获得训练集和测试集。
模型构建模块3,用于构建基于图注意力网络的机器阅读理解模型。
模型参数确定模块4,用于将所述训练集输入所述机器阅读理解模型进行训练,获得模型参数。
阅读理解模块5,用于将所述测试集输入已求取模型参数后的所述机器阅读理解模型进行阅读理解,获得每篇文章中每个问题的答案。
作为一种可选的实施方式,本发明所述集合确定模块2,具体包括:
转换数据集确定单元,用于将各文档内的每个词看作一个节点,连接各节点,将各文档的顺序结构转换为拓扑结构,获得转换数据集。
集合确定单元,用于从所述转换数据集中选取训练集和测试集;所述训练集包括第一设定个数的问题和各问题相关的设定篇数的文档;所述测试集包括第二设定个数的问题。
作为一种可选的实施方式,本发明所述机器阅读理解模型包括词嵌入层、上下文嵌入层、注意力流层、建模层和输出层。
作为一种可选的实施方式,本发明所述模型参数确定模块4,具体包括:
初始化单元,用于初始化迭代次数k=1。
训练单元,用于将所述训练集输入所述机器阅读理解模型进行训练,并计算损失值。
反向传播学习单元,用于根据所述损失值,采用随机梯度下降法学习算法进行第k次反向传播学习。
判断单元,用于判断迭代次数k是否大于或等于设定迭代次数;如果所述迭代次数k大于或等于设定迭代次数,则输出所述机器阅读理解模型的模型参数;如果所述迭代次数小于设定迭代次数,则令k=k+1,并返回“反向传播学习单元”。
或判断相邻两次反向传播学习的参数的差值是否小于设定阈值;如果相邻两次反向传播学习的参数的差值小于或等于设定阈值,则所述机器阅读理解模型的模型参数;如果相邻两次反向传播学习的参数的差值大于设定阈值,则令k=k+1,并返回“反向传播学习单元”。
阅读理解单元,用于将所述测试集输入已求取模型参数后的所述机器阅读理解模型进行阅读理解,获得每篇文章中每个问题的答案。
作为一种可选的实施方式,本发明所述机器阅读理解数据集选为百度发布的DuReader数据集。
本发明基于图注意力网络构建机器阅读理解模型针对文章中的语义信息、上下文信息以及单词间的关联信息,分别使用glove、图注意力网络以及Bi-LSTM得到文章中单词的语义特征,上下文特征和单词间关系的特征。同时将文章从顺序结构转换为图结构,更好的捕捉到单词间的关系以及上下文关系。该模型方法既可以捕获到文章的语义信息,又可以捕获到上下文信息和单词间的关联信息,进一步提升机器阅读理解的准确性。
具体举例:
使用Rouge-L作为实验指标,Rouge(Recall-Oriented Understudy for GistingEvaluation)是评估自动文摘以及机器翻译的一组指标。它通过将自动生成的摘要或翻译与一组参考摘要(通常是人工生成的)进行比较计算,得出相应的分值,以衡量自动生成的摘要或翻译与参考摘要之间的“相似度”。L代表LCS(longest common subsequence,最长公共子序列)。Rouge-L的计算方式如下
其中,R
将基于图注意力网络的机器阅读理解模型训练20次,模型的Rough-L值最大为25.2%。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
机译: 用于将桌上Web文档的机器阅读理解的系统和方法
机译: 一种基于指针的对象获取方法,用于对计算机系统的信息进行有形处理,该方法基于一种自然语言,并且该机器人或机器人的人工智能系统对该计算机系统的接收信号作出反应,该计算机系统具有相应的关联机器人或机器人的人工智能,该机器人或机器人的人工智能计算机系统的相应思想得到证实
机译: 一种用于在处理期间控制材料与机器之间在机器之间传送数据的方法,一种用于传送数据的系统以及用于所述系统的计算机可读介质