一种阅读理解模型训练数据的过滤方法及装置与流程

文档序号:17696515发布日期:2019-05-17 21:35阅读:188来源:国知局
一种阅读理解模型训练数据的过滤方法及装置与流程
本申请涉及自然语言处理
技术领域
,尤其涉及一种阅读理解模型训练数据的过滤方法及装置。
背景技术
:自然语言处理领域中,机器阅读理解是当前热点研究方向。机器阅读理解任务,指的是给定一段篇章语句(context)和一个对应的查询语句(query),然后机器通过阅读篇章语句后,给出对应查询语句的答案。这里做了一个假设,就是篇章语句的答案必须是能够在篇章语句中找到的一段话,也可以理解为连续的几个单词。现有的基于端对端的深度学习机器阅读理解模型的框架基本相同,其主要任务是抽取信息而非实现推理,也就是说,实际上机器离真正“理解”对话还有一段距离。对机器阅读理解模型的训练方法及训练数据影响模型的性能。如果训练数据的篇章语句中未出现对应查询语句的答案,或者答案与查询语句不对应,则会对模型的深度学习产生不利影响,使得模型的性能下降。技术实现要素:本申请提供了一种阅读理解模型训练数据的过滤方法及装置,以对阅读理解模型的训练数据进行过滤,以提高阅读理解模型的性能。第一方面,本申请提供了一种阅读理解模型训练数据的过滤方法,该方法包括:获取输入文本,将所述输入文本表示为第一词向量,根据所述第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;所述输入文本的内容包括篇章语句、查询语句以及答案;所述词汇共现信息表征词汇在篇章语句和查询语句中的共现性;根据所述第二词向量生成输入文本的注意力,并根据所述注意力对第二词向量进行加权;对所述第二词向量的加权结果进行归一化处理,生成第一输出矩阵;对所述第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵;根据所述第二输出矩阵生成低维特征向量;对所述低维特征向量进行归一化处理,得到所述答案与所述查询语句的匹配度;根据预设的过滤条件过滤所述匹配度相应的输入文本。第二方面,本申请提供了一种阅读理解模型训练数据的过滤装置,所述装置包括:输入及表示模块,用于获取输入文本,将所述输入文本表示为第一词向量,根据所述第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;所述输入文本的内容包括篇章语句、查询语句以及答案;所述词汇共现信息表征词汇在篇章语句和查询语句中的共现性;监督模块,用于根据所述第二词向量生成输入文本的注意力,并根据注意力对所述第二词向量进行加权;对第二词向量的加权结果进行归一化处理,生成第一输出矩阵;全连接模块,用于对所述第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵;特征强化模块,用于根据所述第二输出矩阵生成低维特征向量;输出模块,用于对所述低维特征向量进行归一化处理,得到所述答案与所述查询语句的匹配度;根据预设的过滤条件过滤所述匹配度相应的输入文本。由以上技术方案可知,本申请提供一种阅读理解模型训练数据的过滤方法及装置,其中,所述方法首先获取输入文本,将输入文本表示为第一词向量,根据第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;其次根据第二词向量生成输入文本的注意力,并根据所述注意力对第二词向量进行加权;对第二词向量的加权结果进行归一化处理,生成第一输出矩阵;再对第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵;然后根据第二输出矩阵生成低维特征向量;最后对低维特征向量进行归一化处理,得到所述答案与所述查询语句的匹配度;根据预设的过滤条件过滤所述匹配度相应的输入文本。本申请方法及装置按照答案与查询语句的匹配度对海量的阅读理解模型训练数据进行过滤,以使高匹配度的文本数据用于训练层次较深的阅读理解模型,使低匹配度的文本数据用于训练层次较浅的阅读理解模型,同时也降低了训练数据中出现错误数据的概率。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请阅读理解模型训练数据的过滤方法的一个实施例示意图;图2为本申请图2所示实施例中步骤110的一种实现方法流程图;图3为本申请阅读理解模型训练数据的过滤装置的一个实施例示意图;图4为本申请阅读理解模型训练数据的过滤装置的详细框架示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。为了能使高匹配度的文本数据用于训练层次较深的阅读理解模型,使低匹配度的文本数据用于训练层次较浅的阅读理解模型,同时降低训练数据中出现错误数据的概率,本申请一种阅读理解模型训练数据的过滤方法及装置。图1为本申请阅读理解模型训练数据的过滤方法的一个实施例。如图1所示,该方法可以包括如下步骤:步骤110,获取输入文本,将输入文本表示为第一词向量,根据第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;所述输入文本的内容包括篇章语句、查询语句以及答案;所述词汇共现信息表征词汇在篇章语句和查询语句中的共现性;输入文本来自海量的阅读理解模型训练数据,如web(网页)数据、百度dureader等。一个输入文本的内容包括篇章语句(context,简称c)、查询语句(query,简称q)以及答案(answer,简称a),c、q以及a分别包括若干词汇和符号。一个输入文本的简单举例如下:c:我买了一个橘子q:我买了什么a:橘子需要说明的是,输入文本中答案与查询语句可能不是对应的,也可能不是最准确的答案。图2为步骤110的一种实现方式。如图2所示,步骤110可以包括:步骤111,对输入文本进行切词,得到包含词性信息的词汇,根据所有词汇生成输入文本的词向量矩阵。首先,可以使用ictclas分词器分别对c、q以及a进行分词,得到包含每个词汇的词性信息的分词结果,并将分词后的c、q以及a连接,同时在q和a之间添加分隔符。例如:c:我_r/买_v/了_u/一个_mq/橘子_nq:我_r/买_v/了_u/什么_ra:橘子_n将c、q以及a连接形成词汇集:{我_r,买_v,了_u,一个_mq,橘子_n,我_r,买_v,了_u,什么_r,<分隔符>,橘子_n}然后,根据每个词汇的词性信息获取词性向量。例如,词性向量可以是一个64维的向量,相同的词性对应的词性向量相同。需要说明的是,本方法同时使用静态词向量和动态词向量对输入文本进行表示。静态词向量可以利用第一词向量模型训练获得,如word2vec模型。与静态词向量不同的是,动态包含语义变化信息,其在不同的上下文中可能有不同的表示,如“我正在吃苹果”与“我买了一个苹果电脑”中的“苹果”一词的词向量表示不同(两个词向量不相等)。本申请实施例利用第二词向量模型训练获得输入文本的动态词向量,如elmo、bert、openaigpt等。最后,将上述得到的静态词向量、动态词向量以及词性向量拼接,得到输入文本的词向量矩阵。步骤112,对每个所述词汇进行分字,根据分字得到的所有字生成输入文本的字向量矩阵,并对所述字向量矩阵进行卷积处理。对上述词汇集中的各个词汇进行分字,得到一个各个位置的元素为字的字集:其中ci-j表示词汇wi的第j个字,m为一个词汇所包含的字数的最大值。再根据上述字集生成字向量矩阵,并对该字向量矩阵进行一次卷积计算。步骤113,将词向量矩阵与卷积处理后的字向量矩阵拼接,形成第一词向量。本实施例中,可以首先获取输入文本中每个词汇的共现信息和位置编码信息,然后将所述共现信息和位置编码信息叠加于第一词向量中,以生成第二词向量。具体可继续参阅图2,在步骤114中,判断查询语句中的每个词汇是否出现在篇章语句中,根据判断结果生成输入文本中每个词汇的共现向量;以及,对输入文本的词汇进行位置编码,并生成位置编码向量。词汇的共现信息可以采用一个1维的共现向量表示,例如,如果c中出现词汇“苹果”,q中也出现词汇“苹果”,那么将“苹果”这一词汇对应的共现向量填充为1;如果词汇“苹果”仅仅在c中或在q中出现,将“苹果”这一词汇对应的共现向量填充为0。对输入文本的各个词汇进行位置编码,得到位置编码矩阵。位置编码的目的是为了使神经网络获得输入文本的每个词汇之间的相对或者绝对位置信息。位置编码向量可以随机初始化得到并在模型中训练,或通过正弦函数或余弦函数来生成位置编码向量。在一种可选择的实施方式中,可以使用以下公式对给定文本进行位置编码:其中,pos表示分词在输入文本中的位置,d1表示词向量的维度,c为周期系数,pe(pos,2i)表示第pos个位置的分词的第2i个维度的位置编码,pe(pos,2i+1)表示第pos个位置的分词的第2i+1个维度的位置编码。其中,位置编码向量的维度等于共现向量与第一词向量拼接后的维度,从而使位置编码向量能够与其相加。在步骤115中,将共现向量与第一词向量拼接,并将拼接后的向量与位置编码向量相加,得到所述第二词向量。步骤120,根据第二词向量生成输入文本的注意力,并根据注意力对第二词向量进行加权,对第二词向量的加权结果进行归一化处理,生成第一输出矩阵。在自然语言处理领域中,基于attention注意力机制,可使用多种attention函数计算输入文本的注意力信息。作为一种实现方式,可以利用如下相似度函数生成输入文本的注意力矩阵:其中,stj表示第t个篇章语句词汇和第j个查询语句词汇之间的注意力值,ct表示篇章语句的第t个列向量,qj表示查询语句的第j个列向量,⊙表示按元素相乘,[;]表示向量在行上的拼接,表示可训练参数。作为一种实现方式,可采用下式,对第二词向量的加权结果进行归一化处理,生成第一输出矩阵:其中,h表示该层的神经元个数,表示一个神经元的输入。步骤130,对所述第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵。具体实现中,可以将第一输出矩阵作为一个全连接层的嵌入,以利用全连接层完成对第一输出矩阵的线性变换处理。需要说明的是,在另一些实施例中,步骤120至步骤130可重复执行,即,将步骤130得到的第二输出矩阵作为步骤120的输入,对其再次执行步骤120和步骤130。其中,可以根据需要预设重复执行的次数或者终止条件。步骤140,根据第二输出矩阵生成低维特征向量。具体的,可以将第二输出矩阵输入至递归神经网络;并将递归神经网络的输出结果输入至全连接神经网络,以生成低维特征向量。步骤150,对低维特征向量进行归一化处理,得到所述答案与所述查询语句的匹配度,根据预设的过滤条件过滤所述匹配度相应的输入文本。匹配度表征输入文本中的答案是查询语句对应的正确答案的概率。具体可以使用softmax函数对低维特征向量进行归一化处理,得到匹配度数值。作为一种实现方式,过滤条件可以包括预先设定的匹配度与阅读理解模型类型的对应关系,例如:匹配度p阅读理解模型-类型p>0.7model10.45<p<0.7model20.2<p<0.45model3p<0.2model4上表中,model1代表层次较深的模型,如qanet模型,model4代表层次较浅的基础模型,如知识图谱。利用过滤条件,按照输入文本中答案与查询语句的匹配度,可以确定输入文本对应的阅读理解模型。例如,如果输入文本的答案与查询语句的匹配度为0.5,那么上表所示对应关系,可以确定该输入文本与model2对应。通过本申请方法,可以选择不同匹配度的文本数据去训练不同层次深度的模型,同时,还能过滤掉训练数据中的错误数据,优化训练数据。由以上技术方案可知,本申请提供一种阅读理解模型训练数据的过滤方法及装置,其中,所述方法首先获取输入文本,将输入文本表示为第一词向量,根据第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;其次根据第二词向量生成输入文本的注意力,并根据所述注意力对第二词向量进行加权;对第二词向量的加权结果进行归一化处理,生成第一输出矩阵;再对第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵;然后根据第二输出矩阵生成低维特征向量;最后对低维特征向量进行归一化处理,得到答案与查询语句的匹配度,根据预设的过滤条件过滤所述匹配度相应的输入文本。本申请方法按照答案与查询语句的匹配度对海量的阅读理解模型训练数据进行过滤,以使高匹配度的文本数据用于训练层次较深的阅读理解模型,使低匹配度的文本数据用于训练层次较浅的阅读理解模型,同时也降低了训练数据中出现错误数据的概率。需要说明的是,本申请提供的阅读理解模型训练数据的过滤方法涉及的全部步骤,均可以通过构建一个过滤模型来实现。例如,该过滤模型自下至上可以包括输入层、表示层、隐含层和输出层。通过输入层接收输入文本;表示层则将输入文本最终表示为包含词汇共现信息和位置编码信息的第二词向量;第二词向量作为隐含层的输入,通过隐含层来提取特征,最终输出低维特征向量;最后,输出层对低维特征向量进行处理以输出答案与查询语句的匹配度。可以使用包括正例文本和负例文本的训练数据对该过滤模型进行训练,正例文本和负例文本的比例可以为1:1。其中,正例文本即为原始数据文本;通过随机替换原始文本中的答案以得到负例文本。也就是说,负例文本中的查询语句与答案是非对应的。训练完成的过滤模型可以应用于一个或多个阅读理解模型的前向部分。具体而言,在对阅读理解模型进行训练时,首先通过过滤模型对输入文本进行评价,其输出则是输入文本中答案与查询语句的匹配度,根据匹配度的大小,为输入文本分配合适的阅读理解模型。对于阅读理解模型而言,过滤模型起到了对其训练数据进行评价和过滤的作用,避免了训练数据中错误数据的出现,从而有利于使阅读理解模型显现更好的性能。图3为本申请阅读理解模型训练数据的过滤装置的一个实施例。该装置可以应用于服务器、pc(个人电脑)、平板电脑、手机、虚拟现实设备和智能穿戴设备等多种设备中。如图3所示,该装置可以包括:输入及表示模块310、监督模块320、全连接模块330、特征强化模块340以及输出模块350。其中,输入及表示模块310用于获取输入文本,将输入文本表示为第一词向量,根据第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;所述输入文本的内容包括篇章语句、查询语句以及答案;所述词汇共现信息表征词汇在篇章语句和查询语句中的共现性;监督模块320用于根据第二词向量生成输入文本的注意力,并根据注意力对第二词向量进行加权,对第二词向量的加权结果进行归一化处理,生成第一输出矩阵;全连接模块330用于对第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵;特征强化模块340用于根据第二输出矩阵生成低维特征向量;输出模块350用于对低维特征向量进行归一化处理,得到答案与查询语句的匹配度,根据预设的过滤条件过滤所述匹配度相应的输入文本。图4为本申请阅读理解模型训练数据的过滤装置的一个实施例的详细示意图。如图4所示,输入及表示模块310包括输入层311和表示层312;输入层311可以为4个,分别用于接收篇章语句、查询语句、分隔符和答案;表示层312包括词嵌入单元3121、词汇共现单元3122、拼接单元3123、位置编码单元3124和叠加单元3125;其中,词嵌入单元3121可以为4个,分别用于对将篇章语句、查询语句、分隔符和答案进行切词,得到包含词性信息的词汇,然后根据所有词汇生成词向量矩阵;对每个所述词汇进行分字,根据分字得到的所有字生成字向量矩阵,并对所述字向量矩阵进行卷积处理;将所述词向量矩阵与卷积处理后的字向量矩阵拼接,形成第一词向量。词汇共现单元3122用于判断所述查询语句中的每个词汇是否出现在所述篇章语句中,根据判断结果生成所述输入文本中每个词汇的共现向量;拼接单元3123用于将所述共现向量与所述第一词向量拼接;位置编码单元3124用于对所述输入文本的词汇进行位置编码,并生成位置编码向量;叠加单元3125用于将拼接单元3123拼接后的向量与所述位置编码向量相加,得到所述第二词向量。其中,每个词嵌入单元3121具体用于:根据所述词性信息获取词性向量;利用第一词向量模型训练获得所述输入文本的静态词向量,利用第二词向量模型训练获得所述输入文本的动态词向量;所述动态词向量包括语义变化信息;拼接所述静态词向量、所述动态词向量以及所述词性向量以得到输入文本的词向量矩阵。监督模块320包括自注意力层321和第一归一化层322;其中自注意力层321用于根据所述第二词向量生成输入文本的注意力,并根据所述注意力对第二词向量进行加权;第一归一化层322用于对所述第二词向量的加权结果进行归一化处理,生成第一输出矩阵。全连接模块330包括全连接层331和第二归一化层332;其中全连接层331用于对所述第一输出矩阵进行全连接的线性变换处理;第二归一化层332用于对线性变换结果进行归一化处理,生成第二输出矩阵。需要说明的是,监督模块320和全连接模块330可以为多个,并且使第一(i)个全连接模块330与第二(i+1)个监督模块320相连接,使第二(i+1)个监督模块320与第二(i+1)个全连接模块330相连接,从而保证全连接模块330输入为上一层监督模块320的输出,以通过监督模块320与全连接模块330相结合的方式,来提取输入文本的特征。特征强化模块340自下而上包括递归神经网络层341和全连接神经网络层342;通过将所述第二输出矩阵输入至递归神经网络341;将所述递归神经网络341的输出结果输入至全连接神经网络342,以生成低维特征向量。输出模块350包括匹配层351和过滤层352;其中匹配层351用于使用softmax函数对低维特征向量进行归一化处理,得到所述答案与所述查询语句的匹配度;过滤层352用于根据过滤条件中匹配度与阅读理解模型类型的对应关系,确定所述匹配度相应的输入文本对应的阅读理解模型。由以上技术方案可知,本申请提供一种阅读理解模型训练数据的过滤装置,包括输入及表示模块310,用于获取输入文本,将输入文本表示为第一词向量,根据第一词向量生成包含词汇共现信息和位置编码信息的第二词向量;监督模块320,用于根据第二词向量生成输入文本的注意力,并根据注意力对第二词向量进行加权,对第二词向量的加权结果进行归一化处理,生成第一输出矩阵;全连接模块330,用于对第一输出矩阵进行全连接的线性变换处理,并对线性变换结果进行归一化处理,生成第二输出矩阵;特征强化模块340,用于根据第二输出矩阵生成低维特征向量;输出模块350,用于对低维特征向量进行归一化处理,得到答案与查询语句的匹配度,根据预设的过滤条件过滤所述匹配度相应的输入文本。本申请装置按照答案与查询语句的匹配度对海量的阅读理解模型训练数据进行过滤,以使高匹配度的文本数据用于训练层次较深的阅读理解模型,使低匹配度的文本数据用于训练层次较浅的阅读理解模型,同时也降低了训练数据中出现错误数据的概率,有利于提升阅读理解模型的性能。本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1