CN109190091B - 编码解码方法及设备 - Google Patents
编码解码方法及设备 Download PDFInfo
- Publication number
- CN109190091B CN109190091B CN201810873475.XA CN201810873475A CN109190091B CN 109190091 B CN109190091 B CN 109190091B CN 201810873475 A CN201810873475 A CN 201810873475A CN 109190091 B CN109190091 B CN 109190091B
- Authority
- CN
- China
- Prior art keywords
- vector
- vectors
- zcs
- sentence
- jze
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明的目的是提供一种编码解码方法及设备,本发明按文章结构分层进行注意力机制或者拷贝机制的打分,通过一次性对长文本进行编码,在随后的注意力机制或和拷贝机制中一次性对字词单元进行打分,适用于注意力或拷贝等机制,能够降低注意力和拷贝等机制的难度,从而提高注意力或拷贝的准确度准确度。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种编码解码方法及设备。
背景技术
在传统的seq2seq模型中我们把含有多个句子的长文本作为一个整体进行编码,而这种编码方式是存在问题的,尤其加大了模型中常用的注意力和拷贝机制的负担,因为它们需要一步到位的定位到长文本中的重要的字或者词单元。
发明内容
本发明的一个目的是提供一种编码解码方法及设备。
根据本发明的一个方面,提供了一种编码解码方法,该方法包括:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
进一步的,上述方法中,把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,包括:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按单向或者双向lstm或者卷积神经网络的方式进行整体编码。
进一步的,上述方法中,把所述向量JATT和所述解码状态g(j-1)输入到神经元中,包括:
把所述向量JATT和所述解码状态g(j-1)输入到一个LSTM或者GRU的神经元中。
根据本发明的另一方面,还提供了一种编码解码设备,该设备包括:
第一装置,用于把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
第二装置,用于所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
第三装置,用于解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
第四装置,用于把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
第五装置,用于把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
第六装置,用于根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
进一步的,上述设备中,所述第一装置,用于把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按单向或者双向lstm或者卷积神经网络的方式进行整体编码。
进一步的,上述设备中,所述第五装置,用于把所述向量JATT和所述解码状态g(j-1)输入到一个LSTM或者GRU的神经元中。
根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
根据本发明的另一面,还提供一种计算器设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
与现有技术相比,本发明按文章结构分层(段,句等,文中以句为例)进行注意力机制或者拷贝机制的打分,通过一次性对长文本进行编码,在随后的注意力机制或和拷贝机制中一次性对字词单元进行打分,适用于注意力或拷贝等机制,能够降低注意力和拷贝等机制的难度,从而提高注意力或拷贝的准确度准确度。
本发明能够降低注意力机制和拷贝机制的负担,让注意力机制或/和拷贝机制首先对句子进行重要性评估然后再对句子里面的字词单元进行聚焦。如果分段的话先对段落进行打分然后再句子然后再字或者词。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的编码解码方法的流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
已有:长度为I个字词单元(字或词,下同)的长文本,一个起始解码符号START,一个词汇量为V的字词表,其中,I、V为正整数,本发明提供一种编码解码方法,如图1所示,包括:
步骤S1,字词单元编码:把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按传统方法(单向或者双向lstm或者卷积神经网络)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
步骤S2,文本结构分解:所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,比如第一句话为k=1,第二句话为k=2等,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码概要:首先对K个句子的语义向量进行打分,得到一个K个句子的语义向量的重要性分布,然后进一步对其中包含的字或者词单元进行打分,具体做法为:
步骤S3,编码-第一层注意力机制(拷贝机制原理相同):解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,比如1到I个字词单元中,1到ii为第一句话,则ZCS_1,ZCS_2,...,ZCS_ii相加得到一个向量,假若该长文本有K句话则同理得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
步骤S4,编码-第二层注意力机制:把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I(长文本的长度)等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I(所述长文本单位长度)的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
步骤S5,解码-生成输出:把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个LSTM或者GRU的神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V(词汇数量)的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
步骤S6,解码-加权输出:然后根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
根据本发明的另一方面,还提供了一种编码解码设备,该设备包括:
第一装置,用于把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
第二装置,用于所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
第三装置,用于解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
第四装置,用于把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
第五装置,用于把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
第六装置,用于根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
进一步的,上述设备中,所述第一装置,用于把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按单向或者双向lstm或者卷积神经网络的方式进行整体编码。
进一步的,上述设备中,所述第五装置,用于把所述向量JATT和所述解码状态g(j-1)输入到一个LSTM或者GRU的神经元中。
根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
根据本发明的另一面,还提供一种计算器设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,做一个长度为I的句子编号映射,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述中每个字词单元的句子编号k把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度即与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
上述各设备和存储介质各实施例的详细内容具体可参见各方法实施例的对应部分,在此,不再赘述。
在此,本发明按文章结构分层(段,句等,文中以句为例)进行注意力机制或者拷贝机制的打分,通过一次性对长文本进行编码,在随后的注意力机制或和拷贝机制中一次性对字词单元进行打分,适用于注意力或拷贝等机制,能够降低注意力和拷贝等机制的难度,从而提高注意力或拷贝的准确度准确度。
本发明能够降低注意力机制和拷贝机制的负担,让注意力机制或/和拷贝机制首先对句子进行重要性评估然后再对句子里面的字词单元进行聚焦。如果分段的话先对段落进行打分然后再句子然后再字或者词。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (8)
1.一种编码解码方法,其中,该方法包括:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话编一个号码k,做一个长度为I的句子编号映射,同理若有段落则先编码每个段落,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
2.根据权利要求1所述的方法,其中,把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,包括:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按单向或者双向lstm或者卷积神经网络的方式进行整体编码。
3.根据权利要求1所述的方法,其中,把所述向量JATT和所述解码状态g(j-1)输入到神经元中,包括:
把所述向量JATT和所述解码状态g(j-1)输入到一个LSTM或者GRU的神经元中。
4.一种编码解码设备,其中,该设备包括:
第一装置,用于把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
第二装置,用于所述长文本有K句话,把每句话编一个号码k,做一个长度为I的句子编号映射,同理若有段落则先编码每个段落,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
第三装置,用于解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
第四装置,用于把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
第五装置,用于把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
第六装置,用于根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
5.根据权利要求4所述的设备,其中,所述第一装置,用于把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按单向或者双向lstm或者卷积神经网络的方式进行整体编码。
6.根据权利要求4所述的设备,其中,所述第五装置,用于把所述向量JATT和所述解码状态g(j-1)输入到一个LSTM或者GRU的神经元中。
7.一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话编一个号码k,做一个长度为I的句子编号映射,同理若有段落则先编码每个段落,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
8.一种计算器设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
把长度为I个字词单元的长文本(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量即矩阵ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
所述长文本有K句话,把每句话编一个号码k,做一个长度为I的句子编号映射,同理若有段落则先编码每个段落,将第k句话中相应的矩阵ZCS映射到一个矩阵,得到语义向量JZCS_k,其中,K为正整数;
解码第j个字词单元(j>=1)之前准备好两个向量和一个矩阵:分别为第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和句子中的每个字词单元的矩阵ZCS,其中,当j等于1时,第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把每句话中所有字词单元的向量利用所述语义向量JZCS_k相加得到一个向量,共得到K个向量JZE:JZE_1,JZE_2,...JZE_K,把所述解码状态g(j-1)乘以一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为gg(j-1),同时把所述向量JZE中每个向量乘以一个矩阵得到K个形状不变的向量JZEE,把gg(j-1)与向量JZEE中每个向量相加然后求sigmoid值得到的结果乘以相应的向量得到K个向量称为JZEK,所述JZEK为经过重要性评估后的句向量,然后把这些句向量JZEK利用所述语义向量JZCS_k分别加到相应的句子中的每个字词单元的矩阵ZCS里面得到JZZCE;
把所述解码状态g(j-1)乘以另外一个可训练矩阵所得到的结果中的最后一维映射为与所述向量JZE_K相等同,称新的向量为ggg(j-1),同时把所述向量JZE中的每个向量乘以另外一个矩阵得到K个形状不变的向量JZEE2,然后把所述ggg(j-1)与向量JZEE2中每个向量相加然后求sigmoid值,然后把该结果乘以相应的向量得到K个向量称为JZES2,把所述JZZCE、向量JZEE2以及与ZCS的长度与所述I等量个的向量gg(j-1)相加然后求tanh值得到第一结果,将所述第一结果再乘以一个可训练的向量w得到第二结果,然后把所述第二结果中的最后一维相加得到一个长度为I的一维向量,然后对这个长度为I的一维向量求softmax值,即得到每个字词单元所对应分配的注意力值,然后把相应的注意力值乘以所述矩阵ZCS中的相应位置的向量得到第三结果向量,然后把所有的第三结果向量相加得到总注意力值ATT;
把第j-1个字词单元和所述总注意力向量ATT相加然后经过映射以后得到一个向量维度与第j-1个字词单元的最后一维相同的向量JATT,把所述向量JATT和所述解码状态g(j-1)输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将所述输出O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810873475.XA CN109190091B (zh) | 2018-08-02 | 2018-08-02 | 编码解码方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810873475.XA CN109190091B (zh) | 2018-08-02 | 2018-08-02 | 编码解码方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109190091A CN109190091A (zh) | 2019-01-11 |
CN109190091B true CN109190091B (zh) | 2023-03-24 |
Family
ID=64919951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810873475.XA Active CN109190091B (zh) | 2018-08-02 | 2018-08-02 | 编码解码方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109190091B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11954577B2 (en) * | 2019-09-13 | 2024-04-09 | Intuit Inc. | Deep neural network based user segmentation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374209B1 (en) * | 1998-03-19 | 2002-04-16 | Sharp Kabushiki Kaisha | Text structure analyzing apparatus, abstracting apparatus, and program recording medium |
CN107590138A (zh) * | 2017-08-18 | 2018-01-16 | 浙江大学 | 一种基于词性注意力机制的神经机器翻译方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10049106B2 (en) * | 2017-01-18 | 2018-08-14 | Xerox Corporation | Natural language generation through character-based recurrent neural networks with finite-state prior knowledge |
-
2018
- 2018-08-02 CN CN201810873475.XA patent/CN109190091B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374209B1 (en) * | 1998-03-19 | 2002-04-16 | Sharp Kabushiki Kaisha | Text structure analyzing apparatus, abstracting apparatus, and program recording medium |
CN107590138A (zh) * | 2017-08-18 | 2018-01-16 | 浙江大学 | 一种基于词性注意力机制的神经机器翻译方法 |
Non-Patent Citations (2)
Title |
---|
结合注意力机制的新闻标题生成模型;李慧等;《山西大学学报(自然科学版)》;20171130(第04期);全文 * |
结合注意力机制的长文本分类方法;卢玲等;《计算机应用》;20180131(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109190091A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110023963B (zh) | 使用神经网络处理文本序列 | |
JP2021524623A (ja) | 質問応答としてのマルチタスク学習 | |
CN111626062B (zh) | 文本语义编码方法及系统 | |
CN111401064B (zh) | 一种命名实体识别方法、装置及终端设备 | |
CN110678882B (zh) | 使用机器学习从电子文档选择回答跨距的方法及系统 | |
JP2021033995A (ja) | テキスト処理装置、方法、デバイス及びコンピューター読み取り可能な記憶媒体 | |
CN114036950B (zh) | 一种医疗文本命名实体识别方法及系统 | |
CN116304748B (zh) | 一种文本相似度计算方法、系统、设备及介质 | |
CN111563380A (zh) | 一种命名实体识别方法及其装置 | |
CN113221555A (zh) | 一种基于多任务模型的关键词识别方法、装置及设备 | |
Futrell | Memory and locality in natural language | |
CN116050425A (zh) | 建立预训练语言模型的方法、文本预测方法及装置 | |
CN116069931A (zh) | 层级标签文本分类方法、系统、设备及存储介质 | |
CN109190091B (zh) | 编码解码方法及设备 | |
US11972218B1 (en) | Specific target-oriented social media tweet sentiment analysis method | |
US20220050964A1 (en) | Structured graph-to-text generation with two step fine-tuning | |
CN113157941A (zh) | 业务特征数据处理、文本生成方法、装置及电子设备 | |
CN109902309B (zh) | 翻译方法、装置、设备和存储介质 | |
CN109241522B (zh) | 编码解码方法及设备 | |
Desai et al. | Lightweight convolutional representations for on-device natural language processing | |
CN113704466B (zh) | 基于迭代网络的文本多标签分类方法、装置及电子设备 | |
US20220179889A1 (en) | Method for generating query statement, electronic device and storage medium | |
CN115270792A (zh) | 一种医疗实体识别方法及装置 | |
CN108932224B (zh) | 实现独立于注意力机制的拷贝机制的方法及设备 | |
CN113420571A (zh) | 基于深度学习的文本翻译方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |