CN109241522B - 编码解码方法及设备 - Google Patents

编码解码方法及设备 Download PDF

Info

Publication number
CN109241522B
CN109241522B CN201810873438.9A CN201810873438A CN109241522B CN 109241522 B CN109241522 B CN 109241522B CN 201810873438 A CN201810873438 A CN 201810873438A CN 109241522 B CN109241522 B CN 109241522B
Authority
CN
China
Prior art keywords
jzcs
vector
jps
semantic
zcjp
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
Application number
CN201810873438.9A
Other languages
English (en)
Other versions
CN109241522A (zh
Inventor
章乐
陆晨昱
舒畅
武拥珍
何永
李传丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semantic Intelligent Technology Guangzhou Co ltd
Original Assignee
Yiyu Intelligent Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yiyu Intelligent Technology Shanghai Co ltd filed Critical Yiyu Intelligent Technology Shanghai Co ltd
Priority to CN201810873438.9A priority Critical patent/CN109241522B/zh
Publication of CN109241522A publication Critical patent/CN109241522A/zh
Application granted granted Critical
Publication of CN109241522B publication Critical patent/CN109241522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

本发明的目的是提供一种编码解码方法及设备,本发明按文章结构分层进行注意力机制或者拷贝机制的打分,通过一次性对长文本进行编码,在随后的注意力机制或和拷贝机制中一次性对字词单元进行打分,适用于注意力或拷贝等机制,能够降低注意力和拷贝等机制的难度,从而提高注意力或拷贝的准确度。

Description

编码解码方法及设备
技术领域
本发明涉及计算机领域,尤其涉及一种编码解码方法及设备。
背景技术
在传统的seq2seq模型中我们把含有多个句子的长文本作为一个整体进行编码,而这种编码方式是存在问题的,尤其加大了模型中常用的注意力和拷贝机制的负担,因为它们需要一步到位的定位到长文本中的重要的字或者词单元。
发明内容
本发明的一个目的是提供一种编码解码方法及设备。
根据本发明的一个方面,提供了一种编码解码方法,该方法包括:
把长度为I个的长文本ZC(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((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JzCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…)),其中,K为正整数;
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
进一步的,上述方法中,把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,包括:
把同一句话的字词单元的语义向量JZCS_k,经过一个卷积编码得到最后一层的若干个输出,然后把这些输出相加得到这个句子的语义向量JS_k。
进一步的,上述方法中,得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K)中,
JPS_k(句子注意力向量)和JS_k(句向量)中每一维度对应的数值是成同等比例的。
进一步的,上述方法中,所述神经元为LSTM或者GRU的神经元。
根据本发明的另一方面,还提供了一种编码解码设备,该设备包括:
第一装置,用于把长度为I个的长文本ZC(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量ZCS(ZCS_1,zCS_2,…,ZCS_i,…,ZCS_I);
第二装置,用于所述长文本有K句话,把每句话编一个号码k做一个长度为I的句子编号映射,为第k句话中相应的ZCS映射到一个矩阵,得到语义向量JZCS((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
第三装置,用于把同一句话的字词单元的语义向量JzCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
第四装置,用于解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
第五装置,用于分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
第六装置,用于将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性;
第七装置,用于根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
进一步的,上述设备中,所述第三装置,用于将同一句话的字或者词的语义向量JZCS_k,经过一个卷积编码得到最后一层的若干个输出,然后把这些输出相加得到这个句子的语义向量JS_k。
进一步的,上述设备中,第四装置,用于在得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K)中,使JPS_k和JS_k中每一维度对应的数值成同等比例。
进一步的,上述设备中,所述神经元为LSTM或者GRU的神经元。
根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
把长度为I个的长文本ZC(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((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
根据本发明的另一面,还提供一种计算器设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
把长度为I个的长文本ZC(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((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出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的单词表,本发明提供一种编码解码方法,如图1所示,包括:
步骤S1,字词单元编码:把长度为I个的长文本ZC(ZC_1,ZC_2,…,ZC_i,…,ZC_I)按传统方法进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在该句子中的语义的向量ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I),其中,I为正整数;
步骤S2,文本结构分解:所述长文本有K句话,把每句话(同理若有段落则先编码每个段落)编一个号码k,比如第一句话为k=1,第二句话为k=2等,做一个长度为I的句子编号映射,为第k句话中相应的ZCS映射到一个矩阵,得到语义向量JZCS((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…)),比如第一句话(含M个字词单元)JZCS_1(k=1)由(JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…,JZCS_1_M)组成,其中M<=I;
步骤S3,按文本结构分层编码:把同一句话的字词单元的语义向量JZCS_k,经过一个卷积编码得到最后一层的若干个输出,然后把这些输出相加得到这个句子的语义向量JS_k(或者直接相加不需要卷积得到句向量JS_k),所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码概要:首先对K个句子的语义向量进行打分,得到一个K个句子的语义向量的重要性分布,然后进一步对其中包含的字或者词单元进行打分,具体做法为:
步骤S4,编码-第一层注意力机制(拷贝机制原理相同):解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K),其中,K个句子的注意力向量JPS代表所有注意到的句子的意思,这就是第一层注意力机制,JPS_k(句子注意力向量)和JS_k(句向量)中每一维度对应的数值是成同等比例的,在此同一个向量每一维度做同等的收缩或者拉伸;
步骤S5,编码-第二层注意力机制:分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量(比如前文中第一句话则M个向量)个数然后经过一个softmax得到M_k(第k句话含M_k个字或词向量)个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量(代表所有注意到的字或者词的意思,这是第二层注意力机制),把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率(第k句话有m个字词单元),同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
步骤S6,解码-生成输出:将第j-1个字和注意力向量ATT_j输入到一个LSTM或者GRU的神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V(词汇量)的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
步骤S7,解码-加权输出:然后根据所述长度为V的向量中的数值,并用softmαx得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
根据本发明的另一方面,还提供了一种编码解码设备,该设备包括:
第一装置,用于把长度为I个的长文本ZC(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((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
第三装置,用于把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
第四装置,用于解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmαx得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
第五装置,用于分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
第六装置,用于将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
第七装置,用于根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
进一步的,上述设备中,所述第三装置,用于将同一句话的字或者词的语义向量JZCS_k,经过一个卷积编码得到最后一层的若干个输出,然后把这些输出相加得到这个句子的语义向量JS_k。
进一步的,上述设备中,第四装置,用于在得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K)中,使JPS_k和JS_k中每一维度对应的数值成同等比例。
进一步的,上述设备中,所述神经元为LSTM或者GRU的神经元。
根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
把长度为I个的长文本ZC(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((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
根据本发明的另一面,还提供一种计算器设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
把长度为1个的长文本ZC(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((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的1个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的zCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性,其中,V为正整数;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
上述各设备和存储介质各实施例的详细内容具体可参见各方法实施例的对应部分,在此,不再赘述。
在此,本发明按文章结构分层(段,句等,文中以句为例)进行注意力机制或者拷贝机制的打分,通过一次性对长文本进行编码,在随后的注意力机制或和拷贝机制中一次性对字词单元进行打分,适用于注意力或拷贝等机制,能够降低注意力和拷贝等机制的难度,从而提高注意力或拷贝的准确度。
本发明能够降低注意力机制和拷贝机制的负担,让注意力机制或/和拷贝机制首先对句子进行重要性评估然后再对句子里面的字词单元进行聚焦。如果分段的话先对段落进行打分然后再句子然后再字或者词。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (10)

1.一种编码解码方法,其中,该方法包括:
把长度为I个的长文本ZC(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在所述长文本中的语义的向量ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I);
所述长文本有K句话,把每句话编一个号码k做一个长度为I的句子编号映射,为第k句话中相应的ZCS映射到一个矩阵,得到语义向量JZCS((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…)),其中,K为正整数;
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
2.根据权利要求1所述的方法,其中,把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,包括:
把同一句话的字词单元的语义向量JZCS_k,经过一个卷积编码得到最后一层的若干个输出,然后把这些输出相加得到这个句子的语义向量JS_k。
3.根据权利要求1所述的方法,其中,得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K)中,
JPS_k和JS_k中每一维度对应的数值是成同等比例的。
4.根据权利要求1所述的方法,其中,所述神经元为LSTM或者GRU的神经元。
5.一种编码解码设备,其中,该设备包括:
第一装置,用于把长度为I个的长文本ZC(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在所述长文本中的语义的向量ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I);
第二装置,用于所述长文本有K句话,把每句话编一个号码k做一个长度为I的句子编号映射,为第k句话中相应的ZCS映射到一个矩阵,得到语义向量JZCS((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…)),其中,K为正整数;
第三装置,用于把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
第四装置,用于解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
第五装置,用于分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
第六装置,用于将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性;
第七装置,用于根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
6.根据权利要求5所述的设备,其中,所述第三装置,用于将同一句话的字或者词的语义向量JZCS_k,经过一个卷积编码得到最后一层的若干个输出,然后把这些输出相加得到这个句子的语义向量JS_k。
7.根据权利要求5所述的设备,其中,第四装置,用于在得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K)中,使JPS_k和JS_k中每一维度对应的数值成同等比例。
8.根据权利要求5所述的设备,其中,所述神经元为LSTM或者GRU的神经元。
9.一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
把长度为I个的长文本ZC(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在所述长文本中的语义的向量ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I);
所述长文本有K句话,把每句话编一个号码k做一个长度为I的句子编号映射,为第k句话中相应的ZCS映射到一个矩阵,得到语义向量JZCS((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
10.一种计算器设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
把长度为I个的长文本ZC(ZC_1,ZC_2,…,ZC_i,…,ZC_I)进行整体编码,得到一个该长文本的语义表示向量e,及I个表示相应位置字或者词在所述长文本中的语义的向量ZCS(ZCS_1,ZCS_2,…,ZCS_i,…,ZCS_I);
所述长文本有K句话,把每句话编一个号码k做一个长度为I的句子编号映射,为第k句话中相应的ZCS映射到一个矩阵,得到语义向量JZCS((JZCS_1_1,JZCS_1_2,…,JZCS_1_m,…),(JZCS_2_1,JZCS_2_2,…,JZCS_2_m,…),..,JZCS_k(JZCS_k_1,JZCS_k_2,…,JZCS_k_m,…),…,JZCS_K(JZCS_K_1,JZCS_K_2,…,JZCS_K_m,…));
把同一句话的字词单元的语义向量JZCS_k,相加得到这个句子的语义向量JS_k,所述长文本有K句话,则得到K个句子的语义向量JS(JS_1,JS_2,…,JS_k,…,JS_K);
解码第j个字词单元(j>=1)之前准备好三个向量:第j个字词单元的前一个字词单元即第j-1个字词单元、在解码前一个字词单元后生成的解码状态g(j-1)和K个句子的注意力向量JPS,其中,当j等于1时第j-1个字词单元为START符号,当j等于1时所述解码状态g(j-1)就是所述语义表示向量e,把所述解码状态g(j-1)和所述语义向量JS中每个向量经过转换变成维数相同的向量后,把所述转换后的解码状态g(j-1)中的每个向量分别加到所述转换后的语义向量JS中的每个向量里面去,然后把相加得到的每个向量内加变成k个数然后经过一个softmax得到K个概率JP(JP_1,JP_2,…,JP_k,…,JP_K),然后将K个概率JP分别和所述K个句子的语义向量JS中每个相应的向量相乘后得到K个句子的注意力向量JPS(JPS_1,JPS_2,…,JPS_k,…,JPS_K);
分别把第k个句子注意力向量JPS_k和第k个句子中每个字词单元向量JZCS_k_m经过转换变成维数相同的向量后,把转换后的k个句子注意力向量JPS_k中的每个向量分别加到转换后的第k个句子中每个字词单元向量JZCS_k_m中的每个向量里面去,然后把相加得到的每个向量内加变成该句话中字或者词等量个数然后经过一个softmax得到M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M),然后将M_k个概率(ZCJP_k_1,ZCJP_k_2,…,ZCJP_k_m,…,ZCJP_K_M)分别和JZCS中每个相应的向量相乘后相加得到一个字词单元注意力向量,把第k句话的语义向量JZCS_k_m和第k句话的中每个字或者词的概率ZCJP_k_m分别相乘得到M_K个概率,同理共得到和长文本等量的I个概率,分别对应所述长文本中的每个字词单元,然后把这I个概率和相应的ZCS相乘然后相加得到解码第j个字词单元时的注意力向量ATT_j;
将第j-1个字和注意力向量ATT_j输入到一个神经元中,得到一个输出O_j和一个解码的状态g(j),将O_j经过一个映射后生成一个长度为V的向量,所述长度为V的向量中的数值分别代表词汇表中每个词汇单元的重要性;
根据所述长度为V的向量中的数值,并用softmax得到所述词汇表中每个词汇的概率,取概率最大的那个词汇单元为输出。
CN201810873438.9A 2018-08-02 2018-08-02 编码解码方法及设备 Active CN109241522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810873438.9A CN109241522B (zh) 2018-08-02 2018-08-02 编码解码方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810873438.9A CN109241522B (zh) 2018-08-02 2018-08-02 编码解码方法及设备

Publications (2)

Publication Number Publication Date
CN109241522A CN109241522A (zh) 2019-01-18
CN109241522B true CN109241522B (zh) 2023-04-07

Family

ID=65072852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810873438.9A Active CN109241522B (zh) 2018-08-02 2018-08-02 编码解码方法及设备

Country Status (1)

Country Link
CN (1) CN109241522B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US20150339573A1 (en) * 2013-09-30 2015-11-26 Manyworlds, Inc. Self-Referential Semantic-based Method, System, and Device
CN106055537B (zh) * 2016-05-23 2019-03-12 王立山 一种自然语言机器识别方法及系统
CN107590138B (zh) * 2017-08-18 2020-01-31 浙江大学 一种基于词性注意力机制的神经机器翻译方法
CN108334499B (zh) * 2018-02-08 2022-03-18 海南云江科技有限公司 一种文本标签标注设备、方法和计算设备

Also Published As

Publication number Publication date
CN109241522A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
US11386271B2 (en) Mathematical processing method, apparatus and device for text problem, and storage medium
CN110023963B (zh) 使用神经网络处理文本序列
US9484023B2 (en) Conversion of non-back-off language models for efficient speech decoding
CN113590761B (zh) 文本处理模型的训练方法、文本处理方法及相关设备
CN111401064B (zh) 一种命名实体识别方法、装置及终端设备
JP2021033995A (ja) テキスト処理装置、方法、デバイス及びコンピューター読み取り可能な記憶媒体
CN113221555A (zh) 一种基于多任务模型的关键词识别方法、装置及设备
CN111563380A (zh) 一种命名实体识别方法及其装置
CN111125380A (zh) 一种基于RoBERTa和启发式算法的实体链接方法
Futrell Memory and locality in natural language
CN117668180A (zh) 文档问答方法、文档问答设备以及可读存储介质
CN111159394A (zh) 一种文本摘要生成方法和装置
CN109190091B (zh) 编码解码方法及设备
CN111814479B (zh) 一种企业简称生成及其模型的训练方法及装置
CN117951274A (zh) 一种基于融合向量和关键词检索的rag知识问答方法和装置
CN109241522B (zh) 编码解码方法及设备
CN113987162A (zh) 文本摘要的生成方法、装置及计算机设备
CN115129826B (zh) 电力领域模型预训练方法、精调方法、装置及设备
CN113032534A (zh) 对话文本的分类方法和电子设备
CN113704466B (zh) 基于迭代网络的文本多标签分类方法、装置及电子设备
Lee et al. Language Model Using Differentiable Neural Computer Based on Forget Gate-Based Memory Deallocation.
CN108932224B (zh) 实现独立于注意力机制的拷贝机制的方法及设备
CN112307053B (zh) 基于强化学习的语言处理方法及装置
CN114817469B (zh) 文本增强方法、文本增强模型的训练方法及装置
CN116629346B (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
TR01 Transfer of patent right

Effective date of registration: 20230927

Address after: No. 106 Fengze East Road, Nansha District, Guangzhou City, Guangdong Province, 511457 (self made Building 1) X1301-B4056 (cluster registration) (JM)

Patentee after: Semantic Intelligent Technology (Guangzhou) Co.,Ltd.

Address before: 201203 Shanghai Pudong New Area free trade trial area, 1 spring 3, 400 Fang Chun road.

Patentee before: YIYU INTELLIGENT TECHNOLOGY (SHANGHAI) CO.,LTD.

TR01 Transfer of patent right