一种基于条件变分自编码器的问题扩展方法技术

技术编号:33035507 阅读:9 留言:0更新日期:2022-04-15 09:13
本发明专利技术公开了一种基于条件变分自编码器的问题扩展方法,包括以下步骤:CVAE的编码端使用了BERT获取均值μ和方差σ2;使用得到的均值μ和方差σ2构造掩码z;CVAE的解码端使用了Transformer,用Transformer的解码器来进行预测输出,将标准问题传入Transformer编码器获得输出;将一个扩展问题嵌入表示与掩码z合并,传入Transformer的解码器,进行自注意力计算,然后与Transformer编码器的输出做普通注意力计算;对Transformer解码器生成的问题句子进行扩展,生成任意数量的k个问题句子。本发明专利技术可以针对原标准问题进行复述或扩展。明可以针对原标准问题进行复述或扩展。明可以针对原标准问题进行复述或扩展。

【技术实现步骤摘要】
一种基于条件变分自编码器的问题扩展方法


[0001]本专利技术涉及计算机领域中的自然语言处理技术,特别是一种基于条件变分自编码器的问题扩展方法。

技术介绍

[0002]对于自然语言处理中的生成任务,如智能问题回答,神经机器翻译,句子复述等任务,通常面临训练样本少以及生成的多样性较差的问题。问题在智能问题回答中占有重要地位,因为在开放式的智能问答系统中,问题的分析和复述扩展是关键的第一步,通常在这一步中,为了提高召回率,给定的标准问题会扩展其各种释义来重组。但是扩展的问题效果并不好。通常作为训练样本的问题一般会数量很少,如果采用传统的人工方式进行问题扩展,效率低下、强度大、周期长,显然不能满足问题扩展的需求。因此,需要研究问题扩展技术,通过已有的标准问题,对其进行扩展,生成多个相似的扩展问题,从而可以进行数据增强,增加训练样本的数量,对之后模型的训练与效果的提升打下坚实的基础。
[0003]问题扩展是自然语言处理中的一个关键问题,传统的解决方法是:
[0004]采用端到端模型即Seq2seq进行生成,如采用变分自编码器(VAE)来实现。
[0005]采用集束搜索(Beam Search)来增加多样性。
[0006]传统的变分自编码器(VAE)模型是一种深层生成的潜变量模型,允许学习高维输入的非线性表示,通过学习输入x的潜在表示或隐码z来实现,使得可以从隐码z中很好的重构原始输入x。VAE的编码器通过确定性编码函数来学习隐码z,它实际上是隐码z上的一个后验分布,后验分布通常被认为是高斯分布,VAE鼓励后验分布接近先验分布,这可视为标准正态分布,正态分布的两组参数是均值μ和方差σ^2。VAE的解码器将隐码z作为输入并产生一个观测值x。但是实际效果不够理想。
[0007]具体而言,造成问题扩展效果不理想的主要原因有:
[0008]传统的变分自编码器(VAE)与LSTM相结合可以生成自由的文本,但是对于给定问题的扩展并不适用。
[0009]只使用集束搜索Beam Search虽然能产生多个句子,增加一定的多样性,但是Beam Search生成的句子有很大的相似度,不能满足问题扩展的需求。
[0010]本专利技术针对的技术问题是:生成任务中问题扩展的多样性,即用变分自编码器VAE,不能实现特定问题的扩展或复述;使用Beam Search无法满足问题扩展的需求。

技术实现思路

[0011]针对现有技术中存在的问题,本专利技术提供了一种可以针对原标准问题进行复述或扩展的基于条件变分自编码器的问题扩展方法。
[0012]本专利技术的目的通过以下技术方案实现。
[0013]一种基于条件变分自编码器(CVAE)的问题扩展方法,包括以下步骤:
[0014]步骤1):CVAE的编码端使用了BERT获取均值μ和方差σ2;
[0015]步骤2):使用得到的均值μ和方差σ2构造掩码z;
[0016]步骤3):CVAE的解码端使用了Transformer,用Transformer的解码器来进行预测输出,将标准问题传入Transformer编码器获得输出;
[0017]步骤4):将一个扩展问题嵌入表示与掩码z合并,传入Transformer的解码器,进行自注意力计算,然后与Transformer编码器的输出做普通注意力计算;
[0018]步骤5):对Transformer解码器生成的问题句子进行扩展,生成任意数量的k个问题句子。
[0019]所述的步骤1)实现的具体步骤包括:
[0020]步骤11)输入为一个标准问题与该问题的一个扩展问,通过嵌入查找来获得输入的词嵌入表示,位置嵌入表示,以及句子嵌入表示;
[0021]步骤12)将获得的所有嵌入表示一起输入BERT,即通过12层编码器,在每一层编码器都采用了自注意力机制来学习信息,然后通过一个全连接层将之前学习到的信息处理后传递给下一层编码器;BERT会在句子前加一个[CLS]标志,最后一层的[CLS]作为整个序列或整句话的语义信息;[CLS]的信息经线性变换后得到均值μ和方差σ2。
[0022]所述的步骤2)实现的具体步骤包括:
[0023]步骤21)由步骤1)获得了均值μ和方差σ2,从N(μ,σ2)中采样一个z,相当于从N(0,1)中随机采样一个β,然后使用重参数技巧让z=μ+β*σ,这样就得到掩码z;
[0024]步骤22)掩码z与Transformer的解码器输入相合并,合并后的信息作为输入一起传到Transformer的解码器。
[0025]所述的步骤3)实现的具体步骤包括:
[0026]步骤31)Transformer编码器的输入是一个标准问题,通过嵌入查找获得其词嵌入表示,然后添加位置信息再传入编码器;
[0027]步骤32)经过自注意力机制,然后用残差网络和层正则处理后获得多头注意力的输出;
[0028]步骤33)经过全连接层,获得编码器的输出;
[0029]步骤34)Transformer解码器的输入是一个扩展问题,通过嵌入查找获得其词嵌入表示,然后添加位置信息,得到扩展问题的嵌入表示信息。
[0030]所述的步骤4)实现的具体步骤包括:
[0031]步骤41)将上一步获得的扩展问题的嵌入表示信息与模块B获得的掩码z相合并,合并后的信息传入Transformer的解码器;
[0032]步骤42)经过自注意力机制,然后用残差网络和层正则处理后获得多头注意力的输出;
[0033]步骤43)经过普通注意力机制,然后用残差网络和层正则处理后获得普通注意力的输出;
[0034]步骤44)经过全连接层,获得Transformer解码器的输出。
[0035]所述的步骤5)实现的具体步骤包括:
[0036]步骤51)在Transformer解码器预测第一个的输出时进行TopK处理,获得概率最大的k个字;
[0037]步骤52)分别将k个字作为预测句子的起始单词,然后依次经过Transformer的解
码器进行预测输出后面的字,最终得到k个扩展问题句子。
[0038]相比于现有技术,本专利技术的优点在于:本专利技术通过运行,可以有效地对已有标准问题进行问题扩展,生成k个不同的扩展问题,提高了样本的多样性,大大节省了人工成本。由于问题扩展这类的生成任务暂时没有好的评价指标,于是采用人工对效果进行评价的试验方法,评价主要分为流畅性和多样性两方面。经过实验,流畅性为95%,多样性为85%,从而验证了本专利技术的有效性和合理性。
附图说明
[0039]图1为本专利技术模块示意图。
[0040]图2为本专利技术流程图。
具体实施方式
[0041]下面结合说明书附图和具体的实施例,对本专利技术作详细描述。
[0042]如图1所示,模块A:CVAE的编码端使用了BERT,替换了传统VAE的LSTM来获取均值μ和方差σ2;
[0043]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于条件变分自编码器的问题扩展方法,其特征在于:包括以下步骤:步骤1):CVAE的编码端使用了BERT获取均值μ和方差σ2;步骤2):使用得到的均值μ和方差σ2构造掩码z;步骤3):CVAE的解码端使用了Transformer,用Transformer的解码器来进行预测输出,将标准问题传入Transformer编码器获得输出;步骤4):将一个扩展问题的嵌入表示与掩码z合并,传入Transformer的解码器,进行自注意力计算,然后与Transformer编码器的输出做普通注意力计算;步骤5):对Transformer解码器生成的问题句子进行扩展,生成任意数量的k个问题句子。2.根据权利要求1所述的一种基于条件变分自编码器的问题扩展方法,其特征在于:所述的步骤1)实现的具体步骤包括:步骤11)输入为一个标准问题与该问题的一个扩展问,通过嵌入查找来获得输入的词嵌入表示,位置嵌入表示,以及句子嵌入表示;步骤12)将获得的所有嵌入表示一起输入BERT,即通过12层编码器,在每一层编码器都采用了自注意力机制来学习信息,然后通过一个全连接层将之前学习到的信息处理后传递给下一层编码器;BERT会在句子前加一个[CLS]标志,最后一层的[CLS]作为整个序列或整句话的语义信息;[CLS]的信息经线性变换后得到均值μ和方差σ2。3.根据权利要求1所述的一种基于条件变分自编码器的问题扩展方法,其特征在于:所述的步骤2)实现的具体步骤包括:步骤21)由步骤1)获得了均值μ和方差σ2,从N(μ,σ2)中采样一个z,相当于从N(0,1)中随机采样一个β,然后使用重参数技巧让z=μ+β*σ,这样就得到掩码z;步骤22)...

【专利技术属性】
技术研发人员:李敬鑫
申请(专利权)人:中科国力镇江智能技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1