CN107766319A - 序列转换方法及装置 - Google Patents

序列转换方法及装置 Download PDF

Info

Publication number
CN107766319A
CN107766319A CN201610698139.7A CN201610698139A CN107766319A CN 107766319 A CN107766319 A CN 107766319A CN 201610698139 A CN201610698139 A CN 201610698139A CN 107766319 A CN107766319 A CN 107766319A
Authority
CN
China
Prior art keywords
context vector
sequence
source
vector
destination end
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.)
Granted
Application number
CN201610698139.7A
Other languages
English (en)
Other versions
CN107766319B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610698139.7A priority Critical patent/CN107766319B/zh
Priority to PCT/CN2017/078096 priority patent/WO2018032765A1/zh
Priority to EP17840742.5A priority patent/EP3333723B1/en
Publication of CN107766319A publication Critical patent/CN107766319A/zh
Priority to US16/276,627 priority patent/US11288458B2/en
Application granted granted Critical
Publication of CN107766319B publication Critical patent/CN107766319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了序列转换方法及装置,其中序列转换方法包括:获取源端序列;获取参考上下文向量;将所述源端序列转换为源端上下文向量;根据所述参考上下文向量和所述源端上下文向量获取权重向量;使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权;使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量;根据所述目标端上下文向量获取目标端序列。使用本发明,能够在进行序列转换时提高目标端序列相对于源端序列的忠诚度。

Description

序列转换方法及装置
技术领域
本发明涉及计算机技术,具体涉及一种序列转换方法及装置。
背景技术
随着计算机技术的飞速发展,深度学习的研究也取得了较大进展,涉及自然语言处理的序列到序列学习(sequence-to-sequence learning)也取得了突破性的进展,序列到序列学习是一种将源端序列映射到目标端序列的学习过程。序列到序列学习的成果主要用于序列转换,典型的序列转换的应用场景包括机器翻译(Machine Translation)、语音识别(speech recognition)、对话系统(dialog system or conversational agent)、自动摘要(automatic summarization)、自动问答(question answering)和图像说明文字生成(image caption generation)等等。
一种典型的序列转换方法包括两个阶段:编码阶段和解码阶段。其中,编码阶段一般会通过循环神经网络(Recurrent Neural Network,RNN)将源端序列转化为向量(也称为源端上下文向量),可以使用注意力(attention)机制,每次选择源端序列的一部分转化为源端上下文向量,即源端序列会被转化为多个源端上下文向量(即为解码阶段每个目标端词生成对应的源端上下文向量)。解码阶段通过每次生成一个词的方式生成目标端序列:在每一步中,解码器根据编码阶段获得的当前源端上下文向量,解码器的目标端上下文向量(包括上一步的解码器中间状态和上一步生成的目标端词)来计算当前步骤的解码器中间状态,根据该中间状态及源端上下文向量预测当前步骤的目标端词,新生成的解码器中间状态及目标端词即为当前时刻新的目标端上下文向量。
在序列转换方法应用到自然语言处理时,由于源端序列和目标端序列的长度都是不固定的,因此在解码阶段也可以使用RNN进行处理。
由于RNN在预测过程中主要参考的还是已经预测获得的目标端上下文向量,而仅仅将源端上下文向量作为一个额外的输入,因此导致当前源端上下文向量对应的信息可能不会正确地传递到对应的目标端上下文向量,从而导致预测获得的目标端序列不能忠诚地体现源端序列的信息。
发明内容
本发明实施例提供了序列转换方法及装置,能够在进行序列转换时提高目标端序列相对于源端序列的忠诚度。
本发明的第一方面提供了一种序列转换方法,包括:
获取源端序列;
获取参考上下文向量;
将所述源端序列转换为源端上下文向量;
根据所述参考上下文向量和所述源端上下文向量获取权重向量;
使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权;
使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量;
根据所述目标端上下文向量获取目标端序列。
结合第一方面,在第一方面的第一种实施方式中,在所述目标端上下文向量是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是初始目标端上下文向量;其中,在一种实施方式中,初始目标端上下文向量中每一个元素的值均为0,以避免对当前源端上下文向量的预测造成干扰;
在所述目标端上下文向量不是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是已经获得的目标端上下文向量。在一中实施方式中,该已经获得的目标端上下文向量可以是已经获得的上一个目标端上下文向量。使用已经获得的目标端上下文向量可以进一步提高目标端序列相对于源端序列的忠诚度,以及提高目标端序列的流畅度。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述方法还包括:
使用与所述源端上下文向量对应的目标端上下文向量对所述参考上下文向量进行更新,从而可以使得该目标端上下文向量能够对下一个目标端上下文向量的预测产生影响,进一步提高目标端序列相对于源端序列的忠诚度,以及提高目标端序列的流畅度。
结合第一方面,第一方面的第一种实施方式和第一方面的第二种实施方式中的至少一种,在第一方面的第三种实施方式中,所述根据所述参考上下文向量和所述源端上下文向量获取权重向量包括:通过如下函数获得所述权重向量:
zi=σ(Wz e(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。其中,激活函数σ可以为神经元使用的sigmoid函数。
结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述模块参数Wz,Uz和Cz通过从训练数据中学习获得;具体地,可以通过最大化训练数据中目标端序列的似然值获得,其中,训练数据的一种具体表现形式可以是训练序列对(TrainingSequence Pairs)。
结合第一方面的第三种实施方式或第四种实施方式,在第一方面的第五种实施方式中,所述激活函数为sigmoid函数sigmoid函数是神经网络/神经元常用的函数。
结合第一方面的第五种实施方式,在第一方面的第六种实施方式中,所述模块参数Wz,Uz和Cz通过最大化训练序列对中目标端序列的似然值获得,具体通过如下训练函数训练获得:
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是序列转换装置的参数,所述序列转换装置用于执行所述训练函数,具体地,该序列转换装置具体可以为神经元。
结合第一方面,以及第一方面的第一种实施方式至第一方面的第六种实施方式中的至少一种,在第一方面的第七种实施方式中,所述权重向量的维度与所述目标端上下文向量的维度相同。在本发明的一些实施方式中,权重向量的维度也可以与源端上下文向量的维度相同;在另一些实施方式中,权重向量的维度也可以与源端上下文向量的维度和目标端上下文向量的维度均不相同。在权重向量的维度与源端上下文向量/目标端上下文向量的维度不相同时,可以通过矩阵转化的方式,使得权重向量,源端上下文向量和参考上下文向量的维度一致后再进行加权,从而可以确保源端上下文向量和参考上下文向量中的每一个元素都会有对应的权重,确保最终的预测结果的准确性。
结合第一方面,以及第一方面的第一种实施方式至第一方面的第七种实施方式中的至少一种,在第一方面的第八种实施方式中,所述权重向量中每一个元素均为大于0且小于1的实数。
结合第一方面,以及第一方面的第一种实施方式至第一方面的第八种实施方式中的至少一种,在第一方面的第九种实施方式中,所述使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量包括:
通过如下函数预测获得所述与所述源端上下文向量对应的目标端上下文向量:
si=f((1-zi){We(yi-1)+Usi-1}+zi Cci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是所述源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。其中,激活函数f可以为神经元所使用的sigmoid函数。
结合第一方面,以及第一方面的第一种实施方式至第一方面的第九种实施方式中的至少一种,在第一方面的第十种实施方式中,所述源端序列是一种自然语言文字,所述目标端序列是另一种自然语言文字;
所述源端序列是人类的语音内容,所述目标端序列是所述语音内容对应的自然语言文字;
所述源端序列是人类的语音内容,所述目标端序列是所述人类的语音内容的语音回复;
所述源端序列是待摘要的自然语言文字,所述目标端序列是所述待摘要的自然语言文字的摘要,所述摘要是自然语言文字;或者
所述源端序列是图像,所述目标端序列是所述图像的自然语言说明文字。
本发明的第二方面提供了一种序列转换装置,包括:
源端序列获取单元,用于获取源端序列;
向量获取单元,用于获取参考上下文向量;
序列转换单元,用于将所述源端序列转换为源端上下文向量;
权重向量获取单元,用于根据所述参考上下文向量和所述源端上下文向量获取权重向量;
加权单元,用于使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权;
预测单元,用于使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量;
目标端序列获取单元,用于根据所述目标端上下文向量获取目标端序列。
结合第二方面,在第二方面的第一种实施方式中,在所述目标端上下文向量是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是初始目标端上下文向量;其中,在一种实施方式中,初始目标端上下文向量中每一个元素的值均为0,以避免对当前源端上下文向量的预测造成干扰;
在所述目标端上下文向量不是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是已经获得的目标端上下文向量。在一中实施方式中,该已经获得的目标端上下文向量可以是已经获得的上一个目标端上下文向量。使用已经获得的目标端上下文向量可以进一步提高目标端序列相对于源端序列的忠诚度,以及提高目标端序列的流畅度。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述装置还包括:
更新单元,用于使用与所述源端上下文向量对应的目标端上下文向量对所述参考上下文向量进行更新,从而可以使得该目标端上下文向量能够对下一个目标端上下文向量的预测产生影响,进一步提高目标端序列相对于源端序列的忠诚度,以及提高目标端序列的流畅度。
结合第二方面,第二方面的第一种实施方式和第二方面的第二种实施方式中的至少一种,在第二方面的第三种实施方式中,所述权重向量获取单元通过如下函数获得所述权重向量:
zi=σ(Wz e(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。其中,激活函数σ可以为神经元所使用的sigmoid函数。
结合第二方面的第三种实施方式,在第二方面的第四种实施方式中,所述模块参数Wz,Uz和Cz通过从训练数据中学习获得;具体地,可以通过最大化训练数据中目标端序列的似然值获得,其中,训练数据的一种具体表现形式可以是训练序列对。
结合第二方面的第三种实施方式或第四种实施方式,在第二方面的第五种实施方式中,所述激活函数为sigmoid函数sigmoid函数是神经网络/神经元常用的函数。
结合第二方面的第五种实施方式,在第二方面的第六种实施方式中,所述装置还包括:
训练单元,用于通过最大化训练序列对中目标端序列的似然值获得所述模块参数Wz,Uz和Cz,具体通过如下训练函数训练获得:
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是训练单元的参数。具体地,在训练单元通过神经元实现时,P可以是神经元的参数。
结合第二方面,以及第二方面的第一种实施方式至第二方面的第六种实施方式中的至少一种,在第二方面的第七种实施方式中,所述权重向量的维度与所述目标端上下文向量的维度相同。在本发明的一些实施方式中,权重向量的维度也可以与源端上下文向量的维度相同;在另一些实施方式中,权重向量的维度也可以与源端上下文向量的维度和目标端上下文向量的维度均不相同。在权重向量的维度与源端上下文向量/目标端上下文向量的维度不相同时,可以通过矩阵转化的方式,使得权重向量,源端上下文向量和参考上下文向量的维度一致后再进行加权,从而可以确保源端上下文向量和参考上下文向量中的每一个元素都会有对应的权重,确保最终的预测结果的准确性。
结合第二方面,以及第二方面的第一种实施方式至第二方面的第七种实施方式中的至少一种,在第二方面的第八种实施方式中,所述权重向量中每一个元素均为大于0且小于1的实数。
结合第二方面,以及第二方面的第一种实施方式至第二方面的第八种实施方式中的至少一种,在第二方面的第九种实施方式中,所述预测单元通过如下函数预测获得与所述源端上下文向量对应的目标端上下文向量:
si=f((1-zi){We(yi-1)+Usi-1}+zi Cci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是所述源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。其中,激活函数f可以为神经元使用的sigmoid函数。
结合第二方面,以及第二方面的第一种实施方式至第二方面的第九种实施方式中的至少一种,在第二方面的第十种实施方式中,所述源端序列是一种自然语言文字,所述目标端序列是另一种自然语言文字;
所述源端序列是人类的语音内容,所述目标端序列是所述语音内容对应的自然语言文字;
所述源端序列是人类的语音内容,所述目标端序列是所述人类的语音内容的语音回复;
所述源端序列是待摘要的自然语言文字,所述目标端序列是所述待摘要的自然语言文字的摘要,所述摘要是自然语言文字;或者
所述源端序列是图像,所述目标端序列是所述图像的自然语言说明文字。
本发明的第三方面提供了一种序列转换装置,包括处理器和存储器,所述存储器存储了可执行指令,所述可执行指令用于指示所述处理器执行如下步骤:
获取源端序列;
获取参考上下文向量;
将所述源端序列转换为源端上下文向量;
根据所述参考上下文向量和所述源端上下文向量获取权重向量;
使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权;
使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量;
根据所述目标端上下文向量获取目标端序列。
结合第三方面,在第三方面的第一种实施方式中,在所述目标端上下文向量是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是初始目标端上下文向量;其中,在一种实施方式中,初始目标端上下文向量中每一个元素的值均为0,以避免对当前源端上下文向量的预测造成干扰;
在所述目标端上下文向量不是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是已经获得的目标端上下文向量。在一中实施方式中,该已经获得的目标端上下文向量可以是已经获得的上一个目标端上下文向量。使用已经获得的目标端上下文向量可以进一步提高目标端序列相对于源端序列的忠诚度,以及提高目标端序列的流畅度。
结合第三方面的第一种实施方式,在第三方面的第二种实施方式中,所述处理器还用于:
使用与所述源端上下文向量对应的目标端上下文向量对所述参考上下文向量进行更新,从而可以使得该目标端上下文向量能够对下一个目标端上下文向量的预测产生影响,进一步提高目标端序列相对于源端序列的忠诚度,以及提高目标端序列的流畅度。
结合第三方面,第三方面的第一种实施方式和第三方面的第二种实施方式中的至少一种,在第三方面的第三种实施方式中,所述根据所述参考上下文向量和所述源端上下文向量获取权重向量包括:
通过如下函数获得所述权重向量:
zi=σ(Wz e(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。其中,激活函数σ可以为神经元使用的sigmoid函数。
结合第三方面的第三种实施方式,在第三方面的第四种实施方式中,所述模块参数Wz,Uz和Cz通过从训练数据中学习获得;具体地,可以通过最大化训练数据中目标端序列的似然值获得,其中,训练数据的一种具体表现形式可以是训练序列对。
结合第三方面的第三种实施方式或第四种实施方式,在第三方面的第五种实施方式中,所述激活函数为sigmoid函数sigmoid函数是神经网络/神经元常用的函数。。
结合第三方面的第五种实施方式,在第三方面的第六种实施方式中,所述处理器还用于通过最大化训练序列对中目标端序列的似然值获得所述模块参数Wz,Uz和Cz,具体通过如下训练函数训练获得:
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是执行所述训练单元的模块/装置的参数。例如,在训练单元通过神经元实现时,P可以是神经元的参数。
结合第三方面,以及第三方面的第一种实施方式至第三方面的第六种实施方式中的至少一种,在第三方面的第七种实施方式中,所述权重向量的维度与所述目标端上下文向量的维度相同。在本发明的一些实施方式中,权重向量的维度也可以与源端上下文向量的维度相同;在另一些实施方式中,权重向量的维度也可以与源端上下文向量的维度和目标端上下文向量的维度均不相同。在权重向量的维度与源端上下文向量/目标端上下文向量的维度不相同时,可以通过矩阵转化的方式,使得权重向量,源端上下文向量和参考上下文向量的维度一致后再进行加权,从而可以确保源端上下文向量和参考上下文向量中的每一个元素都会有对应的权重,确保最终的预测结果的准确性。
结合第三方面,以及第三方面的第一种实施方式至第三方面的第七种实施方式中的至少一种,在第三方面的第八种实施方式中,所述权重向量中每一个元素均为大于0且小于1的实数。
结合第三方面,以及第三方面的第一种实施方式至第三方面的第八种实施方式中的至少一种,在第三方面的第九种实施方式中,所述使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量包括:
通过如下函数预测获得所述与所述源端上下文向量对应的目标端上下文向量:
si=f((1-zi){We(yi-1)+Usi-1}+zi Cci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是所述源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。其中,激活函数f可以为神经元使用的sigmoid函数。
结合第三方面,以及第三方面的第一种实施方式至第三方面的第九种实施方式中的至少一种,在第三方面的第十种实施方式中,所述源端序列是一种自然语言文字,所述目标端序列是另一种自然语言文字;
所述源端序列是人类的语音内容,所述目标端序列是所述语音内容对应的自然语言文字;
所述源端序列是人类的语音内容,所述目标端序列是所述人类的语音内容的语音回复;
所述源端序列是待摘要的自然语言文字,所述目标端序列是所述待摘要的自然语言文字的摘要,所述摘要是自然语言文字;或者
所述源端序列是图像,所述目标端序列是所述图像的自然语言说明文字。
从本发明实施例提供的以上技术方案可以看出,由于本发明实施例在进行序列转换时,会根据参考上下文向量和源端上下文向量获取权重向量,使用权重向量对源端上下文向量和参考上下文向量进行加权,从而使用加权后的源端上下文向量和加权后的参考上下文向量预测与源端上下文向量对应的目标端上下文向量,从而可以根据源端序列的情况,动态地确定源端上下文向量和参考上下文向量的权重,使得预测获得的目标端上下文向量能够更好地忠于源端上下文向量,从而使得最终的目标端序列能够更好地忠于源端序列,在保证目标端序列的流畅度的情况下提高了目标端序列相对于源端序列的忠诚度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种计算机的结构图;
图2为本发明一个实施例提供的序列转换方法的流程图;
图3为本发明的一种神经元的结构图;
图4为一个实施例提供的序列转换装置的结构图;
图5为本发明另一个实施例提供的序列转换装置的结构图;
图6为本发明另一个实施例提供的序列转换装置的结构图;
图7为本发明另一个实施例提供的序列转换装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了序列转换方法,可以应用在机器翻译、语音识别、对话系统、自动摘要、自动问答和图像说明文字生成等等任何需要使用序列转换的应用场景。
其中,机器翻译(Machine Translation,经常简写为MT,俗称机翻)属于计算语言学的范畴,其研究借由计算机程序将文字或演说从一种自然语言(Natural language)翻译成另一种自然语言。自然语言通常是指自然地随文化演化的语言,例如英语、汉语、法语、西班牙语和日语等等都是自然语言。其中,输入的自然语言可以由用户手动通过键盘,鼠标,触摸屏,手写板等手动输入设备输入,也可以是由远端设备通过网络输入;输出的自然语言可以通过显示屏直接进行呈现,也可以通过网络输出给远端设备由远端设备呈现。
语音识别是通过计算机将人类语音内容转换为自然语言文字。输入的人类语音内容可以由麦克风等声音采集设备采集后输入,也可以由远端设备采集后通过网络输入;输出的自然语言文字可以通过显示屏直接进行呈现,也可以通过网络输出给远端设备由远端设备呈现。
对话系统是通过计算机与人类进行语音对话,其输入的是人类语音内容,输出的是与输入语音内容对应的语音回复。输入的人类语音内容可以由麦克风等声音采集设备采集后输入,也可以由远端设备采集后通过网络输入;输出的语音回复可以通过扬声器等放音设备直接呈现,也可以通过网络输出给远端设备由远端设备呈现。
自动问答是通过计算机对人类语言问题进行回答。自动问答的输入输出可以与对话系统类似,此处不再赘述。
现在主流商用的语音助手涉及到的应用场景就包括语音识别,对话系统和自动问答等。
自动摘要是通过计算机生成一段自然文字的大意,通常用于提供已知领域的文章摘要,例如生成报纸上某篇文章的摘要。输入的一段自然文字可以由用户手动通过键盘,鼠标,触摸屏,手写板等手动输入设备输入,也可以是由远端设备通过网络输入,也可以通过光学字符识别(OCR,Optical Character Recognition)技术识别输入;输出的摘要由自然语言文字组成,可以通过显示屏直接进行呈现,也可以通过网络输出给远端设备由远端设备呈现。
图像说明文字生成是通过计算机产生一幅图像的说明文字。输入的图像可以由远端设备采集后通过网络输入,也可以由摄像头等图像采集设备采集输入;输出的说明文字由自然语言文字组成,可以通过显示屏直接进行呈现,也可以通过网络输出给远端设备由远端设备呈现。
本发明实施例提供的序列转换方法可以通过计算机实现,具体地可以是由一台通用计算机或专用计算机来实现,也可以通过计算机集群来实现,当然也可以通过云来实现。可以理解的是,不管采用前述哪种方式实现,其最终都可以认为是通过计算机来实现,图1描述了一种计算机100的结构,包括至少一个处理器101,至少一个网络接口104,存储器105,和至少一个通信总线102,用于实现这些装置之间的连接通信。处理器101用于执行存储器105中存储的可执行模块来实现本发明的序列转换方法,其中的可执行模块可以是计算机程序。其中,根据计算机100在系统中的作用,以及序列转换方法的应用场景,该计算机100还可以包括有至少一个输入输出接口106。
其中,输入输出接口106根据序列转换方法的应用场景不同会有不同。例如,在序列转换方法应用于机器翻译时,如果输入的自然语言由用户手动通过键盘,鼠标,触摸屏,手写板等手动输入设备输入,则输入输出接口106需要包括与键盘,鼠标,触摸屏,手写板等手动输入设备进行通信的接口;如果输出的自然语言通过显示屏直接进行呈现,则输入输出接口106需要包括与显示屏通信的接口。
在序列转换方法应用于语音识别时,如果输入的人类语音内容由麦克风等声音采集设备采集后输入,则输入输出接口106需要包括与麦克风等声音采集设备通信的接口;如果输出的自然语言文字通过显示屏直接进行呈现,则输入输出接口106需要包括与显示屏通信的接口。
在序列转换方法应用于对话系统时,如果输入的人类语音内容由麦克风等声音采集设备采集后输入,则输入输出接口106需要包括与麦克风等声音采集设备通信的接口;如果输出的语音回复通过扬声器等放音设备直接呈现,则输入输出接口106需要包括与扬声器等放音设备通信的接口。
在序列转换方法应用于自动问答时,如果输入的人类语音内容由麦克风等声音采集设备采集后输入,则输入输出接口106需要包括与麦克风等声音采集设备通信的接口;如果输出的语音回复通过扬声器等放音设备直接呈现,则输入输出接口106需要包括与扬声器等放音设备通信的接口。
在序列转换方法应用于自动摘要时,如果输入的一段自然文字由用户手动通过键盘,鼠标,触摸屏,手写板等手动输入设备输入时,则输入输出接口106需要包括与键盘,鼠标,触摸屏,手写板等手动输入设备进行通信的接口;如果输入的一段自然文字由OCR模块识别输入时,则输入输出接口106需要包括与OCR模块通信的接口;如果输出的摘要通过显示屏直接进行呈现,则输入输出接口106需要包括与显示屏通信的接口。
在序列转换方法应用于图像说明文字生成时,如果输入的图像由摄像头等图像采集设备采集输入,则输入输出接口106需要包括与摄像头等图像采集设备通信的接口;如果输出的说明文字通过显示屏直接进行呈现,则输入输出接口106需要包括与显示屏通信的接口。
先介绍本发明实施例提供的序列转换方法,图2描述了本发明一个实施例提供的序列转换方法的流程,如图2所示,该方法包括:
201、获取源端序列。
源端序列根据应用场景的不同会有不同,例如在应用于机器翻译时,源端序列是一种自然语言的文字,可以是一个短语,也可以是一句话,甚至可以是一段文字。在应用于语音识别时,源端序列是一段人类语音内容。在应用于对话系统时,源端序列是一段人类语音内容。在应用于自动问答时,源端序列是一段人类语音内容。在应用于自动摘要时,源端序列是待摘要的一段自然文字。在应用于图像说明文字生成时,源端序列是待生成说明文字的一幅图像。
源端序列的具体获取过程已经在前面进行了详细的描述,此处不再赘述。
202、获取参考上下文向量。
参考上下文向量是用来预测当前待预测的目标端上下文向量的。参考上下文向量可以是已经预测获得的目标端上下文向量,例如可以是已经预测获得的上一个目标端上下文向量,也可以是已经预测获得的多个目标端上下文向量。在没有任何已经预测获得的目标端上下文向量时,可以使用初始化的一个向量作为参考上下文向量,在本发明的一种实现方式中,该初始化的向量中的每一个元素的取值均为0。参考上下文向量具体可以包括词向量和中间状态。
203、将所述源端序列转换为源端上下文向量。
具体地,编码器将源端序列转换成一个源端上下文向量。例如,可以使用RNN将源端序列转换成向量序列,然后将序列中最后一个向量作为源端上下文向量,或使用注意力机制根据需要在不同解码时刻将向量序列中的所有向量使用加权和的方式总结成一个源端上下文向量;也可以使用卷积神经网络(Convolutional Neural Network)将源端序列总结成一个源端上下文向量。
其中,在应用场景为机器翻译时,在将源端序列转换为源端上下文向量时,可以采用词向量的方式,词向量是指通过对大量文本的学习(不需要标注),根据前后文自动学习到每个词的语义,然后把每个词映射为一个紧凑的实数向量形式的表达,例如vec(中国)减去vec(北京)约等于vec(英国)减去vec(伦敦)。在词向量的基础上,可扩展地把一句话映射为一个向量,甚至把一段文字映射为一个向量。
可以理解的是,在应用场景不是机器翻译时,也可以采用与上述词向量类似的方式将源端序列转换为源端上下文向量。
可以理解的是,步骤203必须在步骤201之后执行,但是步骤202与步骤201和203在执行上可以没有顺序上的先后,例如步骤202也可以在步骤201和步骤203都执行了之后再执行。
204、根据所述参考上下文向量和所述源端上下文向量获取权重向量。
具体地,可以根据参考上下文向量和源端上下文向量确定二者的相对重要性,从而根据确定的相对重要性来获取权重向量。
其中,获取的权重向量的维度可以与目标端上下文向量的维度相同;获取的权重向量的维度也可以与源端上下文向量的维度相同;在获取的权重向量的维度为1时,该权重向量的维度也可以既不与源端上下文向量的维度相同,也不与目标端上下文向量的维度相同。权重向量中每一个元素均为大于0且小于1的实数。其中,维度表示的是向量中元素的数量,例如一个向量的维度为5就表示该向量包括了5个元素。
可以理解的是,对于不同的序列转换需求,权重向量中的权重的取值也会有不同。例如,在应用场景为机器翻译时,对于实词(即有实际意义的词语)可以增加源端上下文向量的权重,而对于虚词(即没有实际意义的词语,如连词,介词等)可以增加目标端上下文向量的权重。
205、使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权。
由于源端上下文向量的维度和参考上下文向量的维度不一定一样(一般来说源端上下文向量的维度会高于参考上下文向量的维度),因此在使用获得的权重向量对源端上下文向量和参考上下文向量进行加权时,可以先对权重向量,源端上下文向量和参考上下文向量中的至少一个进行矩阵转化,使得权重向量,源端上下文向量和参考上下文向量的维度一致后再进行加权,从而可以确保源端上下文向量和参考上下文向量中的每一个元素都会有对应的权重,确保最终的预测结果的准确性。
进一步地,在本发明的一些实施例中,可以仅使用权重向量对源端上下文向量和参考上下文向量中的一个进行加权。
在本发明实施例中,在对源端上下文向量和参考上下文向量进行加权,可以采用线性内插法。
206、使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量。
其中,目标端上下文向量的表现形式跟目标端序列的表现形式的不同会有不同,例如,在目标端序列是自然语言序列时,目标端上下文向量的表现形式可以是词向量,对应的是一个或一组目标端词。
具体的预测过程根据应用场景的不同会有不同,在各个应用场景下都有对应的主流通用技术可以使用,本发明并不对具体的预测方法进行限定。
其中,在具体的实现过程中,步骤202-206可能需要循环执行多次,具体的执行次数根据向量序列最终确定了几个源端上下文向量有关,针对每一个源端上下文向量步骤202-206都需要执行一次因此由向量序列确定了几个源端上下文向量步骤202-206就需要循环执行几次。
在本发明的一个实施例中,由于使用的参考上下文向量是已经预测获得的目标端上下文向量,因此在预测获得了当前源端上下文向量对应的目标端上下文向量后,可以使用预测获得的当前源端上下文向量对应的目标端上下文向量对参考上下文向量进行更新。具体地,在参考上下文向量是已经预测获得的上一个目标端上下文向量时,直接用预测获得的当前源端上下文向量对应的目标端上下文向量进行下一个目标端上下文向量的预测。在参考上下文向量是已经预测获得的多个目标端上下文向量时,则可以使用预测获得的当前源端上下文向量对应的目标端上下文向量替换所述多个目标端上下文向量中最早被预测获得的一个。
207、根据所述目标端上下文向量获取目标端序列。
具体的获取过程根据应用场景的不同会有不同,在各个应用场景下都有对应的主流通用技术可以使用,本发明并不对具体的获取方法进行限定。
在源端序列拆分后获得的所有源端上下文向量均预测获得了对应的目标端上下文向量后,就可以根据所获得的所有目标端上下文向量获取目标端序列。
从上可知,本发明在进行序列转换时,会根据参考上下文向量和源端上下文向量获取权重向量,使用权重向量对源端上下文向量和参考上下文向量进行加权,从而使用加权后的源端上下文向量和加权后的参考上下文向量预测与源端上下文向量对应的目标端上下文向量,从而可以根据源端序列的情况,动态地确定源端上下文向量和参考上下文向量的权重,使得预测获得的目标端上下文向量能够更好地忠于源端上下文向量,从而使得最终的目标端序列能够更好地忠于源端序列,在保证目标端序列的流畅度的情况下提高了目标端序列相对于源端序列的忠诚度。
如下介绍本发明实施例中如何根据所述参考上下文向量和所述源端上下文向量来获取权重向量,在一种实现方式中,可以使用回归函数来获取权重向量,在另一种实现方式中,也可以使用神经元来获取权重向量。
神经元是一种最简单的神经网络,神经网络是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的神经元(节点)相互联接构成。每个节点代表一种特定的输出函数,称为激活函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激活函数的不同而不同。
图3描述了一种神经元的结构。如图3所示,该神经元是一个以x1,x2,x3及截距+1为输入值的运算单元,神经元的具体表现形式可以为激活函数,例如,图3所示的神经元的输出可以表示成如下的形式:
其中,Wi为权重向量,b为偏置单元,函数f为激活函数,在一些实现方式中,激活函数可以用sigmoid函数实现,一种典型的sigmoid函数的表现形式如下:
在涉及自然语言处理的序列到序列转换中,源端序列的长度和目标端序列的长度都不是固定的。本发明的一个实施例采用循环神经网络(RNN,Recurrent Neural Network)来处理这种变长的源端序列和目标端序列。RNN的主要思想是循环地将输入的序列压缩成一个固定维度的向量,该固定维度向量也称为中间状态。具体地,RNN循环读取输入序列,根据当前源端上下文向量和前一中间状态计算当前源端上下文向量对应的中间状态,再根据当前中间状态和当前源端上下文向量来预测当前源端上下文向量对应的目标端上下文向量。在本发明的一个实施例中,还可以使用当前源端上下文向量,前一中间状态以及前一目标端上下文向量来计算当前源端上下文向量对应的中间状态,再根据当前中间状态,当前源端上下文向量以及前一目标端上下文向量来预测当前源端上下文向量对应的目标端上下文向量。
本发明的一个实施例使用神经元来获取权重向量,具体采用如下函数获得:
zi=σ(Wz e(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。具体地,激活函数σ的模块参数Wz,Uz和Cz可以通过从训练数据中学习获得,具体地,可以通过最大化训练数据中目标端序列的似然值获得,其中,训练数据的一种具体表现形式可以是训练序列对。其中,激活函数σ可以为神经元使用的sigmoid函数。其中,向量的序号表示该向量是对应的序列中的第几个向量,例如该向量是源端上下文向量时,源端上下文向量的序号表示该源端上下文向量在源端序列转换获得的多个源端上下文向量中是第几个参与序列转换的,例如在该向量是目标端上下文向量时,目标端上下文向量的序号表示该目标端上下文向量是序列转换过程中第几个经过转换获得的目标端上下文向量;简单地理解,向量的序号可以与序列转换的时刻对应。其中,模块参数Wz,Uz和Cz用于控制权重向量对e(yi-1),si-1,和ci的响应,能够根据e(yi-1),si-1,和ci的不同输出不同的权重向量。
在本发明的一些实施例中,激活函数σ的模块参数Wz,Uz和Cz可以通过最大化训练序列对中目标端序列的似然值获得,例如,具体可以通过如下训练函数训练获得:
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是序列转换装置(具体可以通过神经元实现)的参数,序列转换装置可以通过参数P控制Yn对Xn的响应,对应的控制的目标是Yn对Xn的响应程度最大,即使得P(Yn|Xn)概率最大。例如,在引用场景为机器翻译时,训练序列集合中的元素就是训练序列对,每一个训练序列对都是一对互为翻译的自然语言句子。
在本发明的一些实施例中,对与源端上下文向量对应的目标端上下文向量的预测也可以通过神经元来实现。在一个具体实施例中,与所述源端上下文向量对应的目标端上下文向量通过如下函数预测获得:
si=f((1-zi){We(yi-1)+Usi-1}+zi Cci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。其中,zi值越大就说明源端上下文向量的权重越大,反之zi值越小就说明目标端上下文向量的权重越大。其中,激活函数f可以为神经元使用的sigmoid函数。
其中,si通过激活函数f获得,激活函数f的输入即为加权后的源端上下文向量和目标端上下文向量。如下通过具体的例子描述如何对源端上下文向量和目标端上下文向量进行加权:
假设e(yi-1)是3维向量(-0.5,0.2,0.7),si-1是4维向量(-0.2,0.5,0.3,0.8),ci是8维向量(0.3,0.4,-0.5,0.2,-0.8,-0.3,0.5,0.9),模块参数W是4*3的矩阵,模块参数U是4*4的矩阵,模块参数C是4*8的矩阵,则通过矩阵转化后,We(yi-1),Usi-1和Cci都转化成了4维的向量,假设We(yi-1)为(0.1,0.3,-0.2,0.5),Usi-1为(0.7,0.2,-0.4,0.3),Cci为(-0.2,0.5,0.2,0.8)。则为{1-(0.8,0.5,0.7,0.4)}*{(0.1,0.3,-0.2,0.5)+(0.7,0.2,-0.4,0.3)}=(0.2,0.5,0.3,0.6)*(0.8,0.5,-0.6,0.8)=(0.16,0.25,-0.18,0.48);相应的,ziCci为(0.8,0.5,0.7,0.4)*(-0.2,0.5,0.2,0.8)=(-0.16,0.25,0.14,0.32)。
如上对本发明提供的序列转换方法进行了详细描述,为了验证本发明提供的序列转换方法的有效性,发明人在应用场景为机器翻译的情况下对本发明提供的序列转换方法进行了测试,以测试将汉语翻译成英语的准确性。为了表示测试的公平,现有技术和本发明都是在神经网络下实现的,其中,现有技术采用的是标准神经网络机器翻译(NMT)系统,本发明测试结果是在NMT的基础上增加实现本发明方案获得的。
第一组测试结果如表1所示:
表1
中文 同车的巴基斯坦司机也遇害
参考译文 The Pakistani driver in the same car was also killed.
现有技术译文 Pakistani driver also killed the car.
本发明译文 The Pakistani driver was also killed.
从表1可以看出,NMT将“车里的司机被杀”颠倒成了“司机杀了车”,而应用本发明后可以改正这一错误。
第二组测试结果如表2所示:
表2
从表2可以看出,NMT漏译了“被迫”,同时重复翻译了“关闭”,而本发明避免了这些错误。
第三组测试结果如表3所示:
表3
从表3可以看出,由于源端序列太长,NMT基本上完全错失了源端序列的意思,忠诚度极低。而本发明极大地召回了损失的忠诚度,使翻译质量获得了显著提高。
为了进一步体现本发明的优势,使用双语评估替代(BLEU,Bilingual EvaluationUnderstudy)标准对NMT译文以及本发明译文进行打分,NMT译文的BLEU点是28.3,而本发明译文的BLEU点是30.6,本发明译文相对于NMT译文提高了2.3个BLEU点,翻译质量有了显著的提高。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
图4描述了本发明一个实施例提供的序列转换装置400的结构,如图4所示,该序列转换装置400包括:
源端序列获取单元401,用于获取源端序列。具体实现可以参考步骤201的描述,此处不再赘述。
向量获取单元402,用于获取参考上下文向量。具体实现可以参考步骤202的描述,此处不再赘述。
序列转换单元403,用于将源端序列转换为源端上下文向量。具体实现可以参考步骤203的描述,此处不再赘述。
权重向量获取单元404,用于根据参考上下文向量和源端上下文向量获取权重向量。具体实现可以参考步骤204的描述,此处不再赘述。
加权单元405,用于使用权重向量对源端上下文向量和参考上下文向量进行加权。具体实现可以参考步骤205的描述,此处不再赘述。
预测单元406,用于使用加权后的源端上下文向量和加权后的参考上下文向量预测与源端上下文向量对应的目标端上下文向量。具体实现可以参考步骤206的描述,此处不再赘述。
目标端序列获取单元407,用于根据目标端上下文向量获取目标端序列。具体实现可以参考步骤207的描述,此处不再赘述。
其中,在在目标端上下文向量是所述源端序列对应的第一个目标端上下文向量时,参考上下文向量是初始目标端上下文向量;在目标端上下文向量不是源端序列对应的第一个目标端上下文向量时,参考上下文向量是已经获得的目标端上下文向量。其中,源端序列对应的第一个目标端上下文向量是指的源端序列对应的多个源端上下文向量中,第一个经过转换的源端上下文向量对应的目标端上下文向量。
图5描述了本发明另一个实施例提供的序列转换装置500的结构,图5描述的序列转换装置500与图4描述的序列转换装置400相比增加了更新单元501,更新单元501,用于使用与所述源端上下文向量对应的目标端上下文向量对所述参考上下文向量进行更新。向量获取单元402,可以获取更新后的参考上下文向量对下一个目标端上下文向量进行预测。其余的源端序列获取单元401,向量获取单元402,序列转换单元403,权重向量获取单元404,加权单元405,预测单元406和目标端序列获取单元407的实现可以参考前面的描述,不再赘述。
在本发明的一个实施例中,权重向量获取单元404可以通过如下函数获得所述权重向量:
zi=σ(Wz e(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。其中,模块参数Wz,Uz和Cz通过从训练数据中学习获得;具体地,可以通过最大化训练数据中目标端序列的似然值获得,其中,训练数据的一种具体表现形式可以是训练序列对。
在本发明的一个实施例中,权重向量获取单元404可以通过神经元实现,例如,其中的激活函数σ可以是神经元。当然,权重向量获取单元404也可以就是一个神经元。
图6描述了本发明另一个实施例提供的序列转换装置600的结构,图6描述的序列转换装置600与图4描述的序列转换装置400相比增加了训练单元601,用于通过最大化训练序列对中目标端序列的似然值获得所述模块参数Wz,Uz和Cz,具体通过如下训练函数训练获得:
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是训练单元601的参数,在训练单元601由神经元实现时,P为神经元的参数。训练单元601训练获得的模块参数可以提供给权重向量获取单元404,权重向量获取单元404可以使用训练单元601提供的模块参数获取权重向量。
其余的源端序列获取单元401,向量获取单元402,序列转换单元403,权重向量获取单元404,加权单元405,预测单元406和目标端序列获取单元407的实现可以参考前面的描述,不再赘述。
在一个实施例中,权重向量的维度与所述目标端上下文向量的维度相同。在本发明的一些实施方式中,权重向量的维度也可以与源端上下文向量的维度相同;在另一些实施方式中,权重向量的维度也可以与源端上下文向量的维度和目标端上下文向量的维度均不相同。在权重向量的维度与源端上下文向量/目标端上下文向量的维度不相同时,可以通过矩阵转化的方式,使得权重向量,源端上下文向量和参考上下文向量的维度一致后再进行加权,从而可以确保源端上下文向量和参考上下文向量中的每一个元素都会有对应的权重,确保最终的预测结果的准确性。其中,权重向量中每一个元素均为大于0且小于1的实数。
在一个实施例中,预测单元406可以通过如下函数预测获得与所述源端上下文向量对应的目标端上下文向量:
si=f((1-zi){We(yi-1)+Usi-1}+zi Cci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是所述源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。其中,激活函数f可以为神经元使用的sigmoid函数。
图7描述了本发明另一个实施例提供的序列转换装置700的结构,包括至少一个处理器702(例如CPU),至少一个网络接口705或者其他通信接口,存储器706,和至少一个通信总线703,用于实现这些装置之间的连接通信。处理器702用于执行存储器706中存储的可执行模块,例如计算机程序。存储器706可能包含高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口705(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
在一些实施方式中,存储器706存储了程序7061,程序7061可以被处理器702执行,这个程序被执行时可以执行上述本发明提供的序列转换方法。
在本发明的实施例中,在序列转换方法/装置应用于机器翻译时,源端序列是一种自然语言文字,目标端序列是另一种自然语言文字;
在序列转换方法/装置应用于语音识别时,源端序列是人类的语音内容,目标端序列是所述语音内容对应的自然语言;
在序列转换方法/装置应用于自动对话时,源端序列是人类的语音内容,目标端序列是所述人类的语音内容的语音回复;
在序列转换方法/装置应用于自动摘要时,源端序列是待摘要的自然语言文字,目标端序列是待摘要的自然语言的摘要,摘要是自然语言文字;
在序列转换方法/装置应用于图像说明文字生成时,源端序列是图像,目标端序列是图像的自然语言说明文字。
本发明实施例提供的序列转换装置在进行序列转换时,会根据参考上下文向量和源端上下文向量获取权重向量,使用权重向量对源端上下文向量和参考上下文向量进行加权,从而使用加权后的源端上下文向量和加权后的参考上下文向量预测与源端上下文向量对应的目标端上下文向量,从而可以根据源端序列的情况,动态地确定源端上下文向量和参考上下文向量的权重,使得预测获得的目标端上下文向量能够更好地忠于源端上下文向量,从而使得最终的目标端序列能够更好地忠于源端序列,在保证目标端序列的流畅度的情况下提高了目标端序列相对于源端序列的忠诚度。
上述装置和系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或RAM等。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1.一种序列转换方法,其特征在于,包括:
获取源端序列;
获取参考上下文向量;
将所述源端序列转换为源端上下文向量;
根据所述参考上下文向量和所述源端上下文向量获取权重向量;
使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权;
使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量;
根据所述目标端上下文向量获取目标端序列。
2.根据权利要求1所述的方法,其特征在于,在所述目标端上下文向量是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是初始目标端上下文向量;
在所述目标端上下文向量不是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是已经获得的目标端上下文向量。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
使用与所述源端上下文向量对应的目标端上下文向量对所述参考上下文向量进行更新。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述参考上下文向量和所述源端上下文向量获取权重向量包括:
通过如下函数获得所述权重向量:
zi=σ(Wze(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。
5.根据权利要求4所述的方法,其特征在于,所述模块参数Wz,Uz和Cz通过从训练数据中学习获得。
6.根据权利要求4或5所述的方法,其特征在于,所述激活函数为sigmoid函数
7.根据权利要求6所述的方法,其特征在于,所述模块参数Wz,Uz和Cz通过最大化训练序列对中目标端序列的似然值获得,具体通过如下训练函数训练获得:
<mrow> <munder> <mrow> <mi>arg</mi> <mi>max</mi> </mrow> <mrow> <msub> <mi>W</mi> <mi>z</mi> </msub> <mo>,</mo> <msub> <mi>U</mi> <mi>z</mi> </msub> <mo>,</mo> <msub> <mi>C</mi> <mi>z</mi> </msub> <mo>,</mo> <mi>P</mi> </mrow> </munder> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>log</mi> <mi>p</mi> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>n</mi> </msub> <mo>|</mo> <msub> <mi>X</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow>
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是序列转换装置的参数,所述序列转换装置用于执行所述训练函数。
8.根据权利要求1至7任一所述的方法,其特征在于,所述权重向量的维度与所述目标端上下文向量的维度相同。
9.根据权利要求1至8任一所述的方法,其特征在于,所述权重向量中每一个元素均为大于0且小于1的实数。
10.根据权利要求1至9任一所述的方法,其特征在于,所述使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量包括:
通过如下函数预测获得与所述源端上下文向量对应的目标端上下文向量:
si=f((1-zi){We(yi-1)+Usi-1}+ziCci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是所述源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。
11.一种序列转换装置,其特征在于,包括:
源端序列获取单元,用于获取源端序列;
向量获取单元,用于获取参考上下文向量;
序列转换单元,用于将所述源端序列转换为源端上下文向量;
权重向量获取单元,用于根据所述参考上下文向量和所述源端上下文向量获取权重向量;
加权单元,用于使用所述权重向量对所述源端上下文向量和所述参考上下文向量进行加权;
预测单元,用于使用加权后的源端上下文向量和加权后的参考上下文向量预测与所述源端上下文向量对应的目标端上下文向量;
目标端序列获取单元,用于根据所述目标端上下文向量获取目标端序列。
12.根据权利要求11所述的装置,其特征在于,在所述目标端上下文向量是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是初始目标端上下文向量;
在所述目标端上下文向量不是所述源端序列对应的第一个目标端上下文向量时,所述参考上下文向量是已经获得的目标端上下文向量。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
更新单元,用于使用与所述源端上下文向量对应的目标端上下文向量对所述参考上下文向量进行更新。
14.根据权利要求11至13任一所述的装置,其特征在于,所述权重向量获取单元通过如下函数获得所述权重向量:
zi=σ(Wze(yi-1)+Uzsi-1+Czci)
其中,zi是权重向量,σ是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,ci是所述源端上下文向量,Wz,Uz和Cz是激活函数σ的模块参数,i表示向量的序号。
15.根据权利要求14所述的装置,其特征在于,所述模块参数Wz,Uz和Cz通过从训练数据中学习获得。
16.根据权利要求14或15所述的装置,其特征在于,所述激活函数为sigmoid函数
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
训练单元,用于通过最大化训练序列对中目标端序列的似然值获得所述模块参数Wz,Uz和Cz,具体通过如下训练函数训练获得:
<mrow> <munder> <mrow> <mi>arg</mi> <mi>max</mi> </mrow> <mrow> <msub> <mi>W</mi> <mi>z</mi> </msub> <mo>,</mo> <msub> <mi>U</mi> <mi>z</mi> </msub> <mo>,</mo> <msub> <mi>C</mi> <mi>z</mi> </msub> <mo>,</mo> <mi>P</mi> </mrow> </munder> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>log</mi> <mi>p</mi> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>n</mi> </msub> <mo>|</mo> <msub> <mi>X</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow>
其中,N是训练序列集合中训练序列对的数量,Xn是训练序列对中的源端序列,Yn是训练序列对中的目标端序列,P是所述训练单元的参数。
18.根据权利要求11至17任一所述的装置,其特征在于,所述权重向量的维度与所述目标端上下文向量的维度相同。
19.根据权利要求11至18任一所述的装置,其特征在于,所述权重向量中每一个元素均为大于0且小于1的实数。
20.根据权利要求11至19任一所述的装置,其特征在于,所述预测单元通过如下函数预测获得与所述源端上下文向量对应的目标端上下文向量:
si=f((1-zi){We(yi-1)+Usi-1}+ziCci)
其中,si是与所述源端上下文向量对应的目标端上下文向量,f是激活函数,e(yi-1)是所述参考上下文向量中的词向量,si-1是所述参考上下文向量中的中间状态,zi是所述权重向量,ci是所述源端上下文向量,W,U和C是激活函数f的模块参数,i表示向量的序号。
CN201610698139.7A 2016-08-19 2016-08-19 序列转换方法及装置 Active CN107766319B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610698139.7A CN107766319B (zh) 2016-08-19 2016-08-19 序列转换方法及装置
PCT/CN2017/078096 WO2018032765A1 (zh) 2016-08-19 2017-03-24 序列转换方法及装置
EP17840742.5A EP3333723B1 (en) 2016-08-19 2017-03-24 Sequence conversion method and apparatus
US16/276,627 US11288458B2 (en) 2016-08-19 2019-02-15 Sequence conversion method and apparatus in natural language processing based on adjusting a weight associated with each word

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610698139.7A CN107766319B (zh) 2016-08-19 2016-08-19 序列转换方法及装置

Publications (2)

Publication Number Publication Date
CN107766319A true CN107766319A (zh) 2018-03-06
CN107766319B CN107766319B (zh) 2021-05-18

Family

ID=61196394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610698139.7A Active CN107766319B (zh) 2016-08-19 2016-08-19 序列转换方法及装置

Country Status (4)

Country Link
US (1) US11288458B2 (zh)
EP (1) EP3333723B1 (zh)
CN (1) CN107766319B (zh)
WO (1) WO2018032765A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108858201A (zh) * 2018-08-15 2018-11-23 深圳市烽焌信息科技有限公司 一种用于看护儿童的机器人及存储介质
CN109948162A (zh) * 2019-03-25 2019-06-28 北京理工大学 融合序列语法标注框架的生成式文本摘要方法
CN111428516A (zh) * 2018-11-19 2020-07-17 腾讯科技(深圳)有限公司 一种信息处理的方法以及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190354836A1 (en) * 2018-05-17 2019-11-21 International Business Machines Corporation Dynamic discovery of dependencies among time series data using neural networks
US11556782B2 (en) 2019-09-19 2023-01-17 International Business Machines Corporation Structure-preserving attention mechanism in sequence-to-sequence neural models
US11681914B2 (en) 2020-05-08 2023-06-20 International Business Machines Corporation Determining multivariate time series data dependencies
CN114299937B (zh) * 2021-12-31 2022-07-01 镁佳(北京)科技有限公司 一种dnn模型训练方法及语音识别方法、装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0810533A2 (en) * 1996-05-29 1997-12-03 Matsushita Electric Industrial Co., Ltd. Document conversion apparatus
US20030014379A1 (en) * 1999-07-01 2003-01-16 Isaac Saias Adaptive and reliable system and method for operations management
US20050187845A1 (en) * 2004-02-20 2005-08-25 Eklund Neil Holger W. Systems and methods for multi-objective portfolio analysis using dominance filtering
CN102314418A (zh) * 2011-10-09 2012-01-11 北京航空航天大学 一种基于上下文关联的中文相似性比较方法
US20120303564A1 (en) * 2011-05-26 2012-11-29 World Heart Corporation Systems and methods for predicting characteristics of an artificial heart using an artificial neural network
CN104809107A (zh) * 2015-05-18 2015-07-29 中国科学院自动化研究所 基于上下文转换向量模型的推荐方法和系统
CN104951791A (zh) * 2014-03-26 2015-09-30 华为技术有限公司 数据分类方法和装置
CN105740909A (zh) * 2016-02-02 2016-07-06 华中科技大学 一种基于空间变换的自然场景下文本识别方法
CN105808711A (zh) * 2016-03-04 2016-07-27 北京工业大学 一种基于文本语义的概念生成模型的系统和方法
CN105868184A (zh) * 2016-05-10 2016-08-17 大连理工大学 一种基于循环神经网络的中文人名识别方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680646B2 (en) * 2004-12-21 2010-03-16 Xerox Corporation Retrieval method for translation memories containing highly structured documents
US9263036B1 (en) * 2012-11-29 2016-02-16 Google Inc. System and method for speech recognition using deep recurrent neural networks
CN104391842A (zh) * 2014-12-18 2015-03-04 苏州大学 一种翻译模型构建方法和系统
CN105068998B (zh) * 2015-07-29 2017-12-15 百度在线网络技术(北京)有限公司 基于神经网络模型的翻译方法及装置
US11056243B2 (en) * 2015-12-21 2021-07-06 Elekta Ab (Publ) Systems and methods for optimizing treatment planning
CN105808530B (zh) * 2016-03-23 2019-11-08 苏州大学 一种统计机器翻译中的翻译方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0810533A2 (en) * 1996-05-29 1997-12-03 Matsushita Electric Industrial Co., Ltd. Document conversion apparatus
US20030014379A1 (en) * 1999-07-01 2003-01-16 Isaac Saias Adaptive and reliable system and method for operations management
US20050187845A1 (en) * 2004-02-20 2005-08-25 Eklund Neil Holger W. Systems and methods for multi-objective portfolio analysis using dominance filtering
US20120303564A1 (en) * 2011-05-26 2012-11-29 World Heart Corporation Systems and methods for predicting characteristics of an artificial heart using an artificial neural network
CN102314418A (zh) * 2011-10-09 2012-01-11 北京航空航天大学 一种基于上下文关联的中文相似性比较方法
CN104951791A (zh) * 2014-03-26 2015-09-30 华为技术有限公司 数据分类方法和装置
CN104809107A (zh) * 2015-05-18 2015-07-29 中国科学院自动化研究所 基于上下文转换向量模型的推荐方法和系统
CN105740909A (zh) * 2016-02-02 2016-07-06 华中科技大学 一种基于空间变换的自然场景下文本识别方法
CN105808711A (zh) * 2016-03-04 2016-07-27 北京工业大学 一种基于文本语义的概念生成模型的系统和方法
CN105868184A (zh) * 2016-05-10 2016-08-17 大连理工大学 一种基于循环神经网络的中文人名识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BUMKYU CHO 等: ""Zagier duality for harmonic weak Maass forms of integral weight"", 《PROC》 *
肖和: "" 神经网络与组合语义在文本相似度中的应用"", 《计算机工程与应用》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108858201A (zh) * 2018-08-15 2018-11-23 深圳市烽焌信息科技有限公司 一种用于看护儿童的机器人及存储介质
CN111428516A (zh) * 2018-11-19 2020-07-17 腾讯科技(深圳)有限公司 一种信息处理的方法以及装置
CN111428516B (zh) * 2018-11-19 2022-08-19 腾讯科技(深圳)有限公司 一种信息处理的方法以及装置
CN109948162A (zh) * 2019-03-25 2019-06-28 北京理工大学 融合序列语法标注框架的生成式文本摘要方法

Also Published As

Publication number Publication date
US20190179905A1 (en) 2019-06-13
US11288458B2 (en) 2022-03-29
WO2018032765A1 (zh) 2018-02-22
EP3333723A1 (en) 2018-06-13
CN107766319B (zh) 2021-05-18
EP3333723B1 (en) 2022-11-30
EP3333723A4 (en) 2018-11-07

Similar Documents

Publication Publication Date Title
CN107766319A (zh) 序列转换方法及装置
JP6803365B2 (ja) 音声合成モデルを生成するための方法、及び装置
WO2019114695A1 (zh) 基于翻译模型的训练方法、翻译方法、计算机设备及存储介质
CN108319599B (zh) 一种人机对话的方法和装置
CN108021549A (zh) 序列转换方法及装置
US20200132491A1 (en) Generating point of interest copy
US20220083868A1 (en) Neural network training method and apparatus, and electronic device
CN105279552B (zh) 一种基于字的神经网络的训练方法和装置
CN111144140B (zh) 基于零次学习的中泰双语语料生成方法及装置
KR102339149B1 (ko) 기계 번역 모델 트레이닝 방법, 장치 및 기록 매체
WO2020240709A1 (ja) 対話処理装置、学習装置、対話処理方法、学習方法及びプログラム
Jiang et al. Language-guided global image editing via cross-modal cyclic mechanism
CN110175469A (zh) 一种社交媒体用户隐私泄漏检测方法、系统、设备及介质
CN113077237B (zh) 一种自适应混合算法的排课方法及系统
JP2020008836A (ja) 語彙テーブルの選択方法、装置およびコンピュータ読み取り可能な記憶媒体
CN110148413A (zh) 语音评测方法及相关装置
CN111090740B (zh) 一种用于对话系统的知识图谱生成方法
CN117094365A (zh) 图文生成模型的训练方法、装置、电子设备及介质
CN115438678B (zh) 机器翻译方法、装置、电子设备及存储介质
CN111274793B (zh) 一种文本处理方法、装置以及计算设备
CN110084356B (zh) 一种深度神经网络数据处理方法和装置
CN110135583A (zh) 标注信息的生成方法、标注信息的生成装置和电子设备
CN112509559B (zh) 音频识别方法、模型训练方法、装置、设备及存储介质
CN115114939A (zh) 翻译模型的训练方法、语句翻译方法、装置、设备、程序
JP2019008744A (ja) 学習装置、テキスト生成装置、方法、及びプログラム

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