1.一种面向建筑行业信息化服务问答系统的文本生成方法,其特征在于,该方法是通过构建并训练由嵌入模块、编码器模块、隐藏状态互信息模块、隐藏变量互信息模块、解码器模块组成的文本生成模型,实现对原始文本的多层编码,获取原始文本的文本表示和隐藏信息;分别对不同层次编码的隐藏状态、原始文本的隐藏变量及其采样信息计算互信息,最大化其互信息,以保留原始文本的更多重要信息;对原始文本和目标文本进行编码,通过注意力机制获取两者之间的相关性信息,最终以达到文本生成的目的;具体如下:嵌入模块对原始文本和目标文本分别进行嵌入操作,得到原始文本的嵌入表示和目标文本的嵌入表示;
编码器模块对原始文本的嵌入表示进行多层次编码操作,得到第一层编码结果和第一层编码隐藏状态、第二层编码结果和第二层编码隐藏状态、原始文本的隐藏变量以及原始文本的文本表示;
隐藏状态互信息模块针对第一层编码隐藏状态和第二层编码隐藏状态计算两者之间的互信息;
隐藏变量互信息模块对原始文本的隐藏变量进行操作,计算原始文本的隐藏变量均值和先验潜在变量之间的互信息;
解码器模块将原始文本的文本表示、目标文本的嵌入表示以及先验潜在变量进行编码,通过注意力机制计算相关性,以得到文本对应的单词索引,再通过单词索引寻找映射转换表中单词索引对应的单词,生成最终的文本;
所诉嵌入模块用于构建映射转换表、构建向量映射层,包括:
构建映射转换表,以数字1为起始,按照每个词被录入词表的顺序依次递增排序编号,从而形成映射转换表;使用Word2Vec训练词向量模型,得到各词的词向量矩阵;
构建向量映射层,负责加载构建映射转换表步骤中训练所得的词向量矩阵权重来初始化当前层的权重参数;对于向量映射,针对输入句子原始文本和目标文本,得到其相应句子嵌入表示enc_embed_input、dec_embed_input;
所述编码器模块的构建过程具体如下:
第一层编码结构即编码器1使用双向长短时记忆网络对嵌入模块输出的原始文本的嵌入表示进行编码操作,以得到初步的第一层编码结果和第一层编码隐藏状态,记为具体实施见下述公式:其中,BiLSTM1即为编码器1,使用双向长短时记忆网络编码嵌入模块输出的原始文本的嵌入表示; 表示原始文本经向量映射层后得到的句子向量; 表示第一层编码结果,表示第一层编码隐藏状态;Concatenate表示联接操作; 表示第一层编码结果 和原始文本的向量表示 的联接;
将初步的第一层编码结果和原始文本的嵌入表示的联接,即 传递给第二层编码结构即编码器2;编码器2使用双向长短时记忆网络对第一层编码结果和原始文本的嵌入表示的联接进行编码操作,以得到第二层编码结果和第二层编码隐藏状态,记为 和 具体实施见下述公式:其中,BiLSTM2即为编码器2,使用双向长短时记忆网络编码第一层编码结果和原始文本的嵌入表示的联接;
将第一层编码结果和第二层编码结果,即 和 进行联接,得到原始文本的文本表示,准备传递给解码器模块;将第一层编码隐藏状态和第二层编码隐藏状态,即 和进行联接,得到原始文本的隐藏变量,准备传递给隐藏变量互信息模块;其具体实施见下述公式:其中,公式(3.1)的中 表示原始文本的文本表示;公式(3.2)中的 表示原始文本的隐藏变量;Concatenate表示联接操作。
2.根据权利要求1所述的面向建筑行业信息化服务问答系统的文本生成方法,其特征在于,所述隐藏状态互信息模块的构建过程具体如下:隐藏状态互信息模块进一步处理编码器模块所生成的第一层、第二层编码隐藏状态,进一步优化层间编码,从而减少再编码过程中的信息丢失;为了防止编码过程中的信息丢失,引入互信息来进一步优化层间编码;使用互信息表示第一层编码的隐藏状态即编码器1的隐藏状态 和第二层编码的隐藏状态即编码器2的隐藏状态 的相关性,具体实施见下述公式:其中,X表示第一层编码的隐藏状态 Z表示第二层编码的隐藏状态 I(X,Z)表示两者之间的互信息;x属于X,z属于Z;p(z|x)表示x产生的分布;JS表示JS散度即Jensen‑Shannon散度; 表示第一层编码隐藏状态的原始分布;T表示为一个估算网络;E表示期望; 表示变量x、z的联合分布; 表示随机抽取一个x和z时的分布;σ(T(x,z))表示一个判别网络,x及其对应的z视为一个正样本对,x及随机抽取的z视为负样本。
3.根据权利要求1所述的面向建筑行业信息化服务问答系统的文本生成方法,其特征在于,所述隐藏变量互信息模块构建过程如下:隐藏变量互信息模块进一步处理编码器模块所生成的原始文本的隐藏变量,从而减少编码过程中的信息丢失;为了防止编码过程中的信息丢失,隐藏变量互信息模块处理原始文本的隐藏变量 得到隐藏变量均值和先验潜在变量;使用互信息表示隐藏变量均值和先验潜在变量之间的相关性,具体实施见下述公式:其中,M表示为隐藏变量均值;N表示为先验潜在变量;E表示期望;m属于M,n属于N;I(M,N)表示为隐藏变量均值与先验潜在变量之间的互信息;JS表示JS散度即Jensen‑Shannon散度;T表示为一个估算网络;p(n|m)表示m产生的分布,设为高斯分布; 表示m的原始分布; 表示两个变量之间的联合分布; 表示随机抽取一个m和n时的分布;σ(T(m,n))表示一个判别网络,m及其对应的n视为正样本对,m及随机抽取的n视为负样本。
4.根据权利要求3所述的面向建筑行业信息化服务问答系统的文本生成方法,其特征在于,所述解码器模块构建过程如下:将原始文本的文本表示、目标文本的嵌入表示以及先验潜在变量作为本模块的输入传入循环神经网络;将循环神经网络的输出传递给Luong注意力机制,以此来生成文本,公式如下所示:Oouput=LuongAttention(LSTM(Q,p,N)) (6.1)其中,Q表示目标文本的嵌入表示,由嵌入模块对目标文本进行嵌入操作而得到;p表示编码器中原始文本的文本表示,由公式(3.1)而得到;N是先验潜在变量,与公式(5.1)中的先验潜在变量相同;LSTM即循环神经网络;LuongAttention即为Luong注意力机制;
通过解码器输出的Oouput得到相应的单词索引,来通过单词索引寻找映射转换表中单词索引对应的单词,生成最终的文本;
所述文本生成模型构建完成后,通过训练数据集进行文本生成模型的训练,具体如下:
构建损失函数:损失函数由三项组成,第一项是VAE损失函数即变分自编码器损失函数;第二项是通过互信息计算第一层编码隐藏状态和第二层编码隐藏状态之间的损失;第三项是通过互信息计算先验潜在变量和隐藏变量均值之间的损失,公式如下:其中,L表示整体损失;E表示期望;公式第一项V表示VAE损失函数;公式第二项为互信息计算第一层编码隐藏状态和第二层编码隐藏状态之间的损失;公式第三项为通过互信息计算隐藏变量均值和先验潜在变量之间的损失;I(X,Z)由公式(4.1)而得到;I(M,N)由公式(5.1)而得到;公式符号的意义与公式(4.1)和公式(5.1)中相同;
优化训练模型:用Adam优化函数作为模型的优化函数,Adam的超参数均选择默认值设置。
5.根据权利要求4所述的面向建筑行业信息化服务问答系统的文本生成方法,其特征在于,所述文本生成知识库构建具体如下:构建问答对数据获取单元,下载网络上已经公开的问答对文本生成数据集或人工构建数据集,将其作为构建文本生成知识库的原始数据;
构建原始数据预处理单元,预处理用于构建文本生成知识库的原始数据,对其中的每个句子均进行断词tokenization操作,从而构建文本生成知识库。
6.一种面向建筑行业信息化服务问答系统的文本生成装置,其特征在于,该装置包括,文本生成知识库构建单元,包括:问答对数据获取单元,负责下载网络上已经公开的问答对文本生成数据集或人工构建数据集,将其作为构建文本生成知识库的原始数据;
原始数据预处理单元,负责预处理用于构建文本生成知识库的原始数据,对其中的每个句子均进行断词tokenization操作,从而构建文本生成知识库;
文本生成模型构建单元,包括:映射转换表构建单元,负责将文本生成知识库中的每个词依次存入一个列表中,从而得到一个词表,随后以数字1为起始,按照每个词被录入词表的顺序依次递增排序编号,从而形成映射转换表;映射转换表构建完成后,表中每个词均被映射为唯一的数字标识;使用Word2Vec训练词向量模型,得到各词的词向量矩阵;
向量映射层构建单元,负责加载映射转换表构建单元中训练所得的词向量矩阵权重来初始化当前层的权重参数;对于向量映射,针对输入句子原始文本和目标文本,得到其相应句子嵌入表示enc_embed_input、dec_embed_input;
编码器模块构建单元,负责将原始文本的嵌入表示转化为原始文本的文本表示及原始文本的隐藏变量,具体操作为通过深层的编码结构对原始文本的嵌入表示进行处理,其中第一层编码结构对嵌入模块输出的原始文本的嵌入表示进行编码操作,以得到第一层编码结果和第一层编码隐藏状态;将第一层编码结果和原始文本的嵌入表示联接在一起,然后传递给第二层编码结构,以得到第二层编码结果和第二层编码隐藏状态;将第一层编码结果和第二层编码结果联接在一起得到原始文本的文本表示;将第一层编码隐藏状态和第二层编码隐藏状态联接在一起得到原始文本的隐藏变量;同时,编码器模块将第一层编码隐藏状态和第二层编码隐藏状态传递给隐藏状态互信息模块、原始文本的文本表示传递给解码器模块、原始文本的隐藏变量传递给隐藏变量互信息模块;
隐藏状态互信息模块构建单元,负责进一步处理相应的隐藏状态,具体操作对第一层编码隐藏状态和第二层编码隐藏状态计算二者之间的互信息,将得到互信息传递给损失函数;
隐藏变量互信息模块构建单元,负责进一步处理相应的原始文本隐藏变量,具体操作对原始文本的隐藏变量进行计算得到隐藏变量均值和先验潜在变量,计算隐藏变量均值和先验潜在变量之间的互信息,将得到的互信息传递给损失函数,先验潜在变量传递给解码器模块;
解码器模块构建单元,负责对目标文本的嵌入表示、原始文本的文本表示及先验潜在变量进行处理,具体操作是通过一层编码结构对原始文本的文本表示、目标文本的嵌入表示和先验潜在变量进行编码操作,并将得到的结果传递给注意力机制,解码得到最终的生成文本;
文本生成模型训练单元,包括:
损失函数构建单元,损失函数由三项组成:第一项是VAE损失函数即变分自编码器损失函数,第二项是通过互信息计算第一层编码隐藏状态和第二层编码隐藏状态之间的损失,第三项是通过互信息计算先验潜在变量和隐藏变量均值之间的损失;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
7.一种存储介质,其中存储有多条指令,其特征在于,所述指令有处理器加载,执行权利要求1‑5中任一所述的面向建筑行业信息化服务问答系统的文本生成方法的步骤。
8.一种电子设备,其特征在于,所述电子设备包括:
权利要求7所述的存储介质;以及
处理器,用于执行所述存储介质中的指令。