掌桥专利:专业的专利平台
掌桥专利
首页

一种基于迭代式筛选和预训练增强的机器阅读理解方法

文献发布时间:2023-06-19 15:50:55



技术领域

本发明涉及一种机器阅读理解方法,特别是一种基于迭代式筛选和预训练增强的机器阅读理解方法。

背景技术

近年来,基于大规模无监督数据集的预训练模型迅速发展,极大的提升了多项自然语言处理任务的效果,为自然语言处理的发展提供了充足的源动力。同时,随着互联网的极速发展,资讯以爆炸性的速度增长。百科类、新闻类、生活类、书籍类等电子资讯逐渐成为我们生活中不可缺少的一部分,我们从这些电子资讯中接触世界、认识世界以及了解世界。但是,由于信息的极速增长,快速高效地从繁杂的数据中获取我们想要的资讯变得愈加困难。查询的困难不仅会让我们花费大量的时间,而且可能因为一些错误信息的存在而让我们做出错误的判断。因此,使用自动化的机器阅读理解方法帮助我们自动地从权威性的百科类电子资讯中找到我们想要的问题答案就显得尤为重要。

现有的一些方法主要针对于单步阅读理解问题,即问题可以只依据单篇文档进行解答,但是这些方法难以对类似“曾经在南京大学执教的诺贝尔文学奖得主的主要文学作品”这样的需要多个文档的多步推理类问题进行解答。针对多步推理类问答,目前的主要的方法使用一个文档筛选器,筛选出与当前问题相关的文档,然后训练一个阅读器从相关文档中找到答案与支撑句,但是这种方法忽略了多步问题文档之间的推理属性,无法充分利用单步推理的结果,同时在解决多步推理类问题时,大部分方法直接使用预训练模型进行训练,未在简单的单步阅读理解数据集上进行训练,使得预训练模型无法在机器阅读理解领域的性能得到增强。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于迭代式筛选和预训练增强的机器阅读理解方法。

为了解决上述技术问题,本发明公开了一种基于迭代式筛选和预训练增强的机器阅读理解方法,包括以下步骤:

步骤1,使用HotpotQA数据集(由众包收集的基于维基百科的多步阅读理解数据集)训练相关文档模型,以是否为支撑文档作为标签并采用等比采样策略获取训练正负样本;

步骤2,使用预训练模型微调分类网络并以问题和候选文档拼接的方式对文档相关性进行判别,得到单步相关文档筛选器;

步骤3,使用HotpotQA数据集中未被单步相关文档筛选器标记的相关文档作为正样本,并采样得到样本均衡的正负样本;

步骤4,训练一个新的预训练模型分类网络,以问题、单步相关文档和候选文档的方式对文档相关性进行判别,得到多步相关文档筛选器;

步骤5,使用单步抽取式阅读理解数据集SQuAD(斯坦福大学发布)作为增强数据进行阅读器训练,得到一个预训练增强的阅读器;

步骤6,使用步骤2中得到的单步相关文档筛选器和步骤4中得到的多步相关文档筛选器从HotpotQA数据集中得到预测的候选文档,然后与问题拼接得到多步阅读理解训练样本;

步骤7,使用步骤5中得到的阅读器在多步阅读理解训练样本上进行答案抽取和支撑句判别多任务学习,提升阅读器模型效率及效果。

本发明中,步骤1包括:

根据给定的数据集,将包含支撑句的文档标记为支撑文档,不包含支撑句的文档标记为无关文档;该数据集为两步推理问答任务,原始正负样本比例为4:1,该分布不利于模型的训练,即存在样本不平衡问题,将负样本随机丢弃3/4得到样本均衡的训练样本。

本发明中,步骤2包括:

步骤2-1,将问题文档进行向量表征,训练过程中,将问题文档的最大长度设置为512,然后将问题文档对输入基于生成判别网络训练的预训练模型ELECTRA-large(斯坦福大学和谷歌联合发布的基于生成判别网络训练的预训练模型)中进行编码,得到问题文档编码维度为[12,512,1024]的向量表征,其中12为小批量训练批量处理大小,512为设置的训练数据最大长度,1024为单个词的表征维度;

步骤2-2,使用[CLS]+question+[SEP]+document+[SEP]方式,其中[CLS]为句对表征的开始标识,question表示问题,[SEP]为问题和文档之间的分隔符或结束标识,document为文档内容;对输入的问题文档进行拼接,然后计算每个候选文档d和问题q的相关性P(d|q),训练过程损失函数

其中,q

步骤2-3,对于给定问题,根据极大相关概率值得到单步相关文档p

本发明中,步骤3包括:

将步骤2中得到的单步相关文档筛选器对单步相关问题进行筛选,从HotpotQA数集选择非单步相关文档的相关文档作为正样本,将正负样本采样到1:1得到训练多步相关文档所需的训练样本。

本发明中,步骤4包括:

步骤4-1,将问题以及步骤2得到的p

步骤4-2,使用步骤4-1中经过预训练模型的[CLS]句对表征开始标识c作为问题和文档的整体表征,该表征维度为[12,1024],其中12为批处理大小,1024为向量表征维度;将表征c输入至一个线性映射层,映射到一个二元表征logit,该表征维度为[12,2],其中,2分别表示相关概率和不相关概率的概率值大小,通过归一化指数函数softmax使得任意维向量压缩到另一个同维向量中,且每个元素的范围都在0到1之间,并且总和为1的值;

步骤4-3,在训练过程中根据候选文档是否相关计算损失函数L

其中,N为问题数量,M为候选文档数量,I为指示函数,即判断当前文档与单步文档筛选结果是否相同,l

步骤4-4,对于给定问题,根据极大相关概率值得到单步相关文档p

本发明中,步骤5包括如下步骤:

步骤5-1,在单步阅读理解数据集SQuAD的训练集中筛选出有答案的数据,得到单步阅读理解数据;同时将包含答案开始位置和结束位置的句子视为支撑句;

步骤5-2,将问题文档按照[CLS]+yes+no+context+[SEP]+question+[SEP]的方式进行拼接,其中[CLS]为句对输出的开始标识,context为文档内容,yes和no为对是否类问题的答案标识,question表示问题,[SEP]为问题和文档之间的分隔符或结束标识;同时在每个句子前增加[UNK],用以后续句子表征;将拼接后的问题文档输入到预训练模型Albert-xxlarge-v2(谷歌和丰田工业大学芝加哥分校联合发布的使用矩阵分解、参数共享和句对顺序等技术训练的预训练模型)获取整体向量表征H,H的维度为[12,512,4096],其中12为批处理大小,512为输入序列长度,4096为向量表征维度;

步骤5-3,将得到的整体向量表征H分成问题表征和文档表征,输入到两个交叉注意力模块中进行特征增强,获取文档和问题的表征;计算方法如下:

Q=H

K=H

V=H

CrossAttention=Attention(Q,K,V)

其中,Q,K,V为注意力运算的矩阵,H

步骤5-4,将文档表征输入到一个线性层中,获取答案开始位置和结束位置的概率,同时使用每个句子前的[UNK]表征获取每个句子是支撑句的概率,将答案开始位置损失L

其中,γ

本发明中,步骤6包括:

使用步骤2中得到的单步相关文档筛选器和步骤4中得到的多步相关文档筛选器从HotpotQA数据集中得到预测的候选文档,与问题拼接得到多步阅读理解训练样本,将其他无关候选文档去除,得到无噪声的多跳文档,减少无关文档对后续答案抽取和支撑句抽取产生干扰。

本发明中,所述步骤7包括如下步骤:

步骤7-1,按照步骤6中得到的候选文档和问题进行拼接,按照[CLS]+yes+no+context+[SEP]+question+[SEP]的方式进行拼接,同时在每个句子前增加[UNK],用以后续表征;该context包含了单步机器阅读理解筛选器和多步阅读理解筛选器筛选出来的相关文档;输入到步骤5中得到的单步阅读理解模型获取向量表征H,H的维度为[12,512,4096],其中12为批处理大小,512为输入序列长度,4096为向量表征维度,该过程中,多步阅读理解数据集中包含yes或no答案,可直接依据特殊词yes和no对是否类问题进行解答;

步骤7-2,将得到的整体向量表征H分成问题表征和文档表征,使用和预训练增强后的模型相同的处理方式,输入到两个交叉注意力模块中进行特征增强;计算方法如下:

Q=H

K=H

V=H

CrossAttention=Attention(Q,K,V)

其中,Q,K,V为注意力运算的矩阵,H

步骤7-3,抽取答案和支撑句的方法包括:将文档表征输入到一个线性层中,获取答案开始位置和结束位置的概率,同时使用每个句子前的[UNK]表征获取每个句子是支撑句的概率,将答案开始位置损失L

L=γ

其中,γ

本发明步骤1中所述的HotpotQA数据集包括由众包收集的基于维基百科的问答数据集;该数据集中的每个样本提供一个问题及10个带干扰的文档,同时训练集和验证集提供答案和支撑多步推理的支撑句。

本发明步骤5-4中和步骤7-3中所述预先设定的超参数,γ

有益效果:

使用机器阅读理解模型,一旦在大量数据集上训练完成后,即可自动化地帮助人们快速高效地从海量的资讯中找到合适地资讯,智能化地解决问答类问题,使得海量资讯得到合理利用,同时提升每个用户使用电子资讯的体验。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1是本发明工作流程示意图。

图2是本发明方法的HotpotQA中的多跳理解数据实例示意图。

图3是本发明方法的整体模型处理流程示意图。

图4是本发明中单步相关文档筛选器的网络结构图。

图5是本发明中多步相关文档筛选器的网络结构图。

图6是本发明中多步阅读器的网络结构图。

图7是本发明方法的自动化预测结果示意图。

具体实施方式

本发明公开了一种基于迭代式筛选和预训练增强的机器阅读理解方法,本方法应用于需要采用自动化手段提升问答效果,提升用户的搜索或语言问答体验。

如图1所示,本发明提供一种基于迭代式筛选和预训练增强的机器阅读理解方法,包括以下步骤:

步骤1,使用HotpotQA数据集(参考文献:Zhilin Yang,Peng Qi,SaizhengZhang,YoshuaBengio,William Cohen,Ruslan Salakhutdinov and ChristopherD.Manning.HotpotQA:A dataset for diverse,explainable multi-hop questionanswering[C].In EMNLP,2018)训练相关文档模型,以是否为支撑文档作为标签并采用等比采样获取训练正负样本;

步骤2,使用预训练模型微调分类网络并以问题和候选文档拼接的方式对文档相关性进行判别,得到单步相关文档筛选器;

步骤3,使用HotpotQA数据集中未被单步相关文档筛选器标记的相关文档作为正样本,并采样得到样本均衡的正负样本;

步骤4,训练一个新的预训练模型分类网络,以问题、单步相关文档和候选文档的方式对文档相关性进行判别,得到多步相关文档筛选器;

步骤5,使用单步阅读理解数据集SQuAD(参考文献:Pranav Rajpurkar,JianZhang,Kon-stantinLopyrev and Percy Liang.SQuAD:100,000+questions for machinecomprehension of text[C].In EMNLP,2016.)作为增强数据进行阅读器训练,得到一个预训练增强的单步阅读性能优异的阅读器;

步骤6,使用步骤2和步骤4得到的文档筛选器从HotpotQA数据集中得到预测的候选文档,然后与问题拼接得到多步阅读理解训练样本;

步骤7,使用步骤5得到的阅读器在多步阅读理解训练样本上进行答案抽取和支撑句判别多任务学习,提升模型效率及效果。

下面结合附图及实施例对本发明做进一步说明。

本发明的一个实施例中,按照图3所示,分为三个阶段:

第一阶段,初始筛选阶段,训练单步文档筛选器,包括从HotpotQA数据集中依据是否包含支撑句将文档标记为相关文档和非相关文档,然后等比采样得到样本均衡的样本集合,如图2所示的阅读理解问题,该问题旨在从如图所示的文档中找到与问题“写了《七堂极简物理课》的意大利物理学家从哪一年开始在法国工作”相关的支撑事实及最终的答案。Seven Brief Lesson On Physics和Carlo Rovelli即为包含支撑事实的相关文档,其中Seven Brief Lesson On Physics为《七堂极简物理课》的描述文章,该文章可以帮助找到该书的作者;Carlo Rovelli为《七堂极简物理课》作者的描述文章,介绍作者的工作经历。然后将问题文档按照“[CLS]+question+[SEP]+document+[SEP]”的顺序输入到如图4所示的基于预训练模型的句对分类网络模型进行训练,并用[CLS]对整个句对进行表征然后用于判断文档与问题是否相关。训练过程中,将学习率设置为1e-5,批处理大小设置为12,然后使用BERT-Adam优化器(参考文献:Jacob Devlin,Ming-Wei Chang,KentonLee andKristina Toutanova.BERT:Pre-training of deepbidirectional transformers forlanguage understanding[C].In NAACL-HLT,2019)进行优化,同时使用交叉熵作为损失函数对模型进行训练,整个过程训练两个epoch即可,最终得到单步文档筛选器网络S1。

第二阶段,迭代式筛选阶段,训练多步文档筛选器,包括从HotpotQA中使用与第一阶段单步文档筛选器不同的支撑文档作为正样本,然后其他文档作为负样本。接下来,按照“[CLS]+question+[SEP]+document

第三阶段,阅读器训练阶段,训练多步文档阅读器,包括从单步阅读理解数据集SQuAD中构造单步阅读理解数据集并训练,然后依据单步文档筛选器网络S1和多步文档筛选器网络S2从HotpotQA中筛选出相关段落,构建多步文档阅读理解数据集,然后将文档和问题按照“[CLS]+yes+no+context+[SEP]+question+[SEP]”的顺序输入如图6所示的基于预训练模型的指针网络模型中进行训练,具体来说首先使用预训练模型得到问题和文档的表征,然后将其输入到交叉注意力模块中更好地对文档和问题的交互进行表征,最后提取出文档表征对答案和支撑事实进行抽取,其中答案使用模型预测的开始位置和结束位置的概率值提取,支撑事实依靠每个句子的表征概率值进行抽取。训练参数配置与第一阶段单步文档筛选器相同,但训练过程使用的预训练模型为Albert-xxlarge-v2(参考文献:Zhenzhong Lan,Mingda Chen,Sebastian Goodman,Kevin Gimpel,Piyush Sharma andRadu Soricut.Albert:A lite bert for self-supervised learning oflanguagerepresentations[C].In ICLR 2020),然后我们可以得到多步阅读器R,最终使用该多步阅读理解器,我们可以自动化地得到如图7所示的机器阅读理解结果,其中ID表示数据在HotpotQA数据集中的唯一标识,预测答案和预测支撑句为使用本实施例方法的输出结果,实际答案和实际支撑句为原始数据集的标注结果。答案内容包含如图所示是否类回答yes和no以及从文档抽取出的结果“Animorphs”等,支撑句内容格式为如[“Animorphs”,0]所示的以文档名和句子索引组合。

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤1包括:

本发明所述的训练数据集为HotpotQA,该数据集包括由众包收集的11.3w基于维基百科的问答数据集。其中包含90564个训练样本,7405个验证样本以及7405个测试样本。在本文中,主要针对HotpotQA中的受干扰项数据集进行实验。该数据集中的每个样本提供一个问题及10个带干扰的文档,同时训练集和验证集提供答案和支撑多步推理的支撑句。

根据给定的数据集,将包含支撑句的文档标记为支撑文档,不包含支撑句的文档标记为无关文档,由于该数据集为两步推理问答任务,所以原始正负样本比例为4:1,该分布不利于模型的训练,所以将负样本随机丢弃3/4得到样本均衡的训练样本;

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤2包括:

步骤2-1,将问题文档进行向量表征,训练过程中,将问题文档的最大长度设置为512,然后将问题文档对输入ELECTRA-large(参考文献:Kevin Clark,Minh-ThangLuong,Quoc V.Le and Christopher D.Manning.ELECTRA:Pre-training Text Encoders asDiscriminators Rather Than Generators[C].In ICLR2020.)中进行编码,得到问题文档编码维度为[12,512,1024]的向量表征,其中12为小批量训练批量处理大小,512为设置的训练数据最大长度,1024单个词的表征维度;

步骤2-2,使用“[CLS]+question+[SEP]+document+[SEP]”的方式对输入的问题文档进行拼接,然后计算每个候选文档d和问题q的相关性P(d|q),训练过程损失函数计算过程如下:

其中,q

步骤2-3,对于给定问题,根据极大相关概率值得到单步相关文档p

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤3包括:

将步骤2得到的单步相关文档筛选器对单步相关问题进行筛选,然后从HotpotQA数集选择非单步相关文档的相关文档作为正样本,然后将正负样本采样到1:1得到训练多步相关文档所需的训练样本。

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤4包括:

步骤4-1将问题、步骤2得到的p

步骤4-2,使用步骤4-1得到的[CLS]表征c作为问题和文档的整体表征,该表征维度为[12,1024],其中12为批处理大小,1024为向量表征维度。然后输入至一个线性映射层,映射到一个二元表征logit,该表征维度为[12,2],2分别表示相关概率和不相关概率的概率值大小,然后通过softmax得到总和为1的概率值;

步骤4-3,在训练过程中根据候选文档是否相关计算损失函数,具体计算公式如下:

其中N为问题数量,M为候选文档数量,I为指示函数,即判断当前文档与单步文档筛选结果是否相同,l

步骤4-4,对于给定问题,根据极大相关概率值得到单步相关文档p

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤5包括:

步骤5-1,在单步阅读理解数据集SQuAD的训练集中筛选出有答案的数据,得到86821条单步阅读理解数据。同时将包含答案开始位置和结束位置的句子视为支撑句;

步骤5-2,将问题文档按照“[CLS]+yes+no+context+[SEP]+question+[SEP]”的方式进行拼接,同时在每个句子前增加[UNK],用以后续表征。然后输入到预训练模型Albert-xxlarge-v2获取向量表征H,H的维度为[12,512,4096],其中12为批处理大小,512为输入序列长度,4096为向量表征维度。

步骤5-3,为了更好地获取文档和问题的表征,将得到的整体向量表征分成问题表征和文档表征,然后输入到两个交叉注意力模块中进行特征增强。计算方式如下:

Q=H

K=H

V=H

CrossAttention=Attention(Q,K,V)

其中,Q,K,V为注意力运算的矩阵,H

步骤5-4,为了抽取出答案和支撑句,将文档表征输入到一个线性层中,获取答案开始位置和结束位置的概率,同时使用每个句子前的[UNK]表征获取每个句子是支撑句的概率,然后将答案开始位置损失L

L=γ

其中γ

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤6包括:

使用步骤2和步骤4得到的文档筛选器从HotpotQA数据集中得到预测的候选文档,然后与问题拼接得到多步阅读理解训练样本,将其他无关候选文档去除,得到无噪声的多跳文档,减少无关文档对后续答案抽取和支撑句抽取产生干扰。

本实施例所述的一种基于迭代式筛选和预训练增强的机器阅读理解方法中,所述步骤7包括:

步骤7-1,按照步骤6得到的相关的文档和问题进行拼接,按照“[CLS]+yes+no+context+[SEP]+question+[SEP]”的方式进行拼接,同时在每个句子前增加[UNK],用以后续表征。该context包含了单步机器阅读理解筛选器和多步阅读理解筛选器筛选出来的相关文档。然后输入到步骤5得到的单步阅读理解模型获取向量表征H,H的维度为[12,512,4096],其中12为批处理大小,512为输入序列长度,4096为向量表征维度,该过程与步骤5-2不同的点在于多步阅读理解数据集中包含yes/no答案,可直接依据特殊词yes和no对是否类问题进行解答。

步骤7-2,与步骤5-3相同,为了更好地获取文档和问题的表征,将得到的整体向量表征分成问题表征和文档表征,使用和预训练增强后的模型相同的处理方式,具体为输入到两个交叉注意力模块中进行特征增强。计算方式如下:

Q=H

K=H

V=H

CrossAttention=Attention(Q,K,V)

其中,Q,K,V为注意力运算的矩阵,H

步骤7-3,为了抽取出答案和支撑句,将文档表征输入到一个线性层中,获取答案开始位置和结束位置的概率,同时使用每个句子前的[UNK]表征获取每个句子是支撑句的概率,然后将答案开始位置损失L

L=γ

其中γ

随着互联网的极速发展,资讯以爆炸性的速度增长。百科类、新闻类、生活类、书籍类等电子资讯成为我们生活中不可缺少的一部分,我们从这些电子资讯中接触世界、认识世界以及了解世界。但是,由于信息的极速增长,快速高效地从繁杂的数据中获取我们想要的资讯变得愈加困难。查询的困难不仅会让我们花费大量的时间,而且可能因为一些错误信息的存在而让我们做出错误的判断。因此,使用自动化的机器阅读理解方法帮助我们自动地从权威性的百科类电子资讯中找到我们想要的问题答案就显得尤为重要。现有的一些方法主要针对于单步阅读理解问题,即问题可以只依据单篇文档进行解答,但是这些方法难以对类似曾经在“南京大学执教的诺贝尔文学奖得主的主要文学作品”这样的需要多个文档的多步推理类问题进行解答。针对多步推理类问答,目前的主要的方法使用一个文档筛选器,筛选出与当前问题相关的文档,然后训练一个阅读器从相关文档中找到答案与支撑句,但是这种方法忽略了多步问题文档之间的推理属性,无法充分利用单步推理的结果,同时在解决多步推理类问题时,大部分方法直接使用预训练模型进行训练,未在简单的单步阅读理解数据集上进行训练,使得预训练模型无法在机器阅读理解领域的性能得到增强。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的一种基于迭代式筛选和预训练增强的机器阅读理解方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。

本发明提供了一种基于迭代式筛选和预训练增强的机器阅读理解的方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

技术分类

06120114608718