首页> 中国专利> 训练语句复述模型的方法、语句复述方法及其装置

训练语句复述模型的方法、语句复述方法及其装置

摘要

本申请涉及人工智能领域中的自然语言处理技术,提供了一种训练语句复述模型的方法、语句复述方法及其装置。该训练语句复述模型的方法包括:获取训练数据,所述训练数据包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义;根据所述训练数据,训练语句复述模型,所述语句复述模型用于基于输入语句生成所述输入语句的复述语句。本申请实施例中的训练语句复述模型的方法,能够便捷地获得复述语句。

著录项

  • 公开/公告号CN112784003A

    专利类型发明专利

  • 公开/公告日2021-05-11

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201911061874.7

  • 申请日2019-11-01

  • 分类号G06F16/33(20190101);G06F16/332(20190101);G06F40/30(20200101);G06F40/58(20200101);

  • 代理机构11329 北京龙双利达知识产权代理有限公司;

  • 代理人陈洪艳;王君

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 10:57:17

说明书

技术领域

本申请涉及人工智能领域,并且更具体地,涉及训练语句复述模型的方法、语句复述方法及其装置。

背景技术

人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

随着人工智能技术的不断发展,让人机之间能够通过自然语言进行交互的自然语言人机交互系统变的越来越重要。人机之间能够通过自然语言进行交互,就需要系统能够识别出人类自然语言的具体含义。通常,系统通过采用对自然语言的句子进行关键信息提取来识别句子的具体含义。

复述(paraphrase)是指对于语句进行相同语义的不同表达,复述在自然语言中非常普遍,在自然语言处理(natural language processing,NLP)领域里,复述也得到了越来越广泛的应用。因此,如何获得复述语句成为一个亟需解决的技术问题。

发明内容

本申请提供一种训练语句复述模型的方法、语句复述方法及其装置,能够便捷地获得复述语句。

第一方面,提供了一种训练语句复述模型的方法,该方法包括:获取训练数据,所述训练数据包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义;根据所述训练数据,训练语句复述模型,所述语句复述模型用于基于输入语句生成所述输入语句的复述语句,所述复述语句与所述输入语句具有相同含义,所述复述语句的语种与所述输入语句的语种相同或不同。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,直接使用该训练数据训练语句复述模型,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

需要说明的是,在实际中,往往需要通过人工校准才能得到高质量的复述语句对语料,因此,会导致训练语句复述模型的成本较高。

可选地,所述语句复述模型可以为语言模型。

例如,所述语句复述模型可以为Transformer语言模型、CNN语言模型或RNN语言模型等,或者,所述语句复述模型也可以为其他深度学习的语言模型,本申请实施例对此并不限定。

可选地,所述训练数据可以包括一个语句、及该语句对应的不同语种的一个或多个译文。

可选地,所述训练数据包括的多个语句可以为机器翻译语料中的语句。需要说明的是,这里所说的机器翻译语料库可以为多语种平行语料,例如,双语平行(中英文)的机器翻译语料。

例如,所述训练数据可以包括一个中文语句、及该中文语句对应的英文译文。

可选地,所述训练数据还可以包括语种类型指示信息。其中,所述语种类型指示信息可以为中文类型指示信息、英文类型指示信息或法文类型指示信息等。

例如,所述训练数据包括中文语句及该中文语句对应的英文译文拼接成的序列时,在该序列中,所述中文语句的前面可以包括中文类型指示信息,该中文类型指示信息可以指示其后的语句为中文语句,比如,该中文类型指示信息可以为“”。

类似地,所述英文语句(即该中文语句对应的英文译文)的前面可以包括英文类型指示信息,该英文类型指示信息可以指示其后的语句为英文语句,比如,该英文类型指示信息可以为“”。

本领域技术人员可以理解,上述关于语种类型指示信息的描述仅为示例而非限定,本申请实施例对语种类型指示信息在训练数据中的位置和形式并不限定。

可选地,所述训练数据还可以包括法文、德文、西班牙文等其他语种的语句。例如,所述训练数据可以包括中文语句、及该文语句对应的法文译文、该中文语句对应的德文译文。

结合第一方面,在第一方面的某些实现方式中,所述语句复述模型中包括语种指示参数,所述语种指示参数用于指示所述语句复述模型生成的复述语句的语种;其中,所述根据所述训练数据,训练语句复述模型,包括:根据所述训练数据及所述语种指示参数,训练所述语句复述模型。

在本申请实施例中,所述语句复述模型中包括语种指示参数,根据所述训练数据及所述语种指示参数,训练所述语句复述模型,可以使得所述语种复述模型能够(根据所述语种指示参数)生成多种不同语种的复述语句。

可选地,所述语种指示参数为所述语句复述模型的参数。

结合第一方面,在第一方面的某些实现方式中,所述复述语句的语种是根据所述语种指示参数确定的,所述方法还包括:获取语种指示信息,所述语种指示信息用于确定所述语种指示参数;根据所述语种指示信息确定所述语种指示参数。

应理解,上述根据所述语种指示信息确定所述语种指示参数可以理解为:根据所述语种指示信息设置所述语种指示参数。从而可以根据设置好的所述语种指示参数控制所述语句复述模型生成的复述语句的语种。

在本申请实施例中,通过所述语种指示信息设置所述语种指示参数,根据所述语种指示参数,能够灵活地、便捷地控制所述语句复述模型生成的复述语句的语种。

结合第一方面,在第一方面的某些实现方式中,所述训练数据包括的多个语句中的至少一个语句为经过扰动处理的语句,所述扰动处理包括随机删除语句中的词、随机调换语句中词的词序以及随机向语句中插入词中的至少一项。

在本申请实施例中,对所述训练数据进行扰动处理后,再使用该加扰后的训练数据训练所述语句复述模型,可以提高所述语句复述模型的鲁棒性,使得生成的复述语句的语义更加准确,形式更加多样。

所述扰动处理还可以包括对语句进行的其他扰动处理,本申请实施例对此并不限定。

可选地,所述扰动处理可以为降噪自编码器技术(denoising auto-encoder,DAE)。

结合第一方面,在第一方面的某些实现方式中,在所述获取训练数据之前,所述方法还包括:获取预训练数据,所述预训练数据包括一个或多个语句,所述预训练数据包括的语句的语种为所述训练数据包括的语句的语种中的一个或多个;根据所述预训练数据,训练所述语句复述模型。

在本申请实施例中,使用包括至少一个语句的预训练数据对所述语句复述模型进行训练,可以提高所述语句复述模型生成的语句(复述语句)的流畅性。

可选地,在使用所述预训练数据训练所述语句复述模型时,可以将所述预训练数据作为所述语句复述模型的输入,同时,可以将该预训练数据中的语句作为该输入的标签(即真值),采用反向传播(backpropagation)算法,不断地获取预训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

第二方面,提供了一种语句复述方法,该方法包括:获取输入语句;通过语句复述模型,对所述输入语句进行复述,生成所述输入语句的复述语句,所述复述语句的语种与所述输入语句的语种相同或不同;其中,所述语句复述模型是使用训练数据训练后得到的,所述训练数据包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,训练语句复述模型是直接使用该训练数据训练后得到的,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

需要说明的是,在实际中,往往需要通过人工校准才能得到高质量的复述语句对语料,因此,会导致训练语句复述模型的成本较高。

可选地,所述语句复述模型可以为语言模型。

例如,所述语句复述模型可以为Transformer语言模型、CNN语言模型或RNN语言模型等,或者,所述语句复述模型也可以为其他深度学习的语言模型,本申请实施例对此并不限定。

可选地,所述训练数据可以包括一个语句、及该语句对应的不同语种的一个或多个译文。

可选地,所述训练数据包括的多个语句可以为机器翻译语料中的语句。需要说明的是,这里所说的机器翻译语料库可以为多语种平行语料,例如,双语平行(中英文)的机器翻译语料。

例如,所述训练数据可以包括一个中文语句、及该中文语句对应的英文译文。

可选地,所述训练数据还可以包括语种类型指示信息。其中,所述语种类型指示信息可以为中文类型指示信息、英文类型指示信息或法文类型指示信息等。

例如,所述训练数据包括中文语句及该中文语句对应的英文译文拼接成的序列时,在该序列中,所述中文语句的前面可以包括中文类型指示信息,该中文类型指示信息可以指示其后的语句为中文语句,比如,该中文类型指示信息可以为“”。

类似地,所述英文语句(即该中文语句对应的英文译文)的前面可以包括英文类型指示信息,该英文类型指示信息可以指示其后的语句为英文语句,比如,该英文类型指示信息可以为“”。

本领域技术人员可以理解,上述关于语种类型指示信息的描述仅为示例而非限定,本申请实施例对语种类型指示信息在训练数据中的位置和形式并不限定。

可选地,所述训练数据还可以包括法文、德文、西班牙文等其他语种的语句。例如,所述训练数据可以包括中文语句、及该文语句对应的法文译文、该中文语句对应的德文译文。

结合第二方面,在第二方面的某些实现方式中,所述语句复述模型中包括语种指示参数,所述语种指示参数用于指示所述语句复述模型生成的复述语句的语种,其中,所述语句复述模型是根据所述训练数据及所述语种指示参数训练后得到的。

在本申请实施例中,所述语句复述模型中包括语种指示参数,根据所述训练数据及所述语种指示参数,训练所述语句复述模型,可以使得所述语种复述模型能够(根据所述语种指示参数)生成多种不同语种的复述语句。

可选地,所述语种指示参数为所述语句复述模型的参数。

结合第二方面,在第二方面的某些实现方式中,所述复述语句的语种是根据所述语种指示参数确定的,所述语种指示参数是根据获取到的语种指示信息确定的。

应理解,上述根据所述语种指示信息确定所述语种指示参数可以理解为:根据所述语种指示信息设置所述语种指示参数。从而可以根据设置好的所述语种指示参数控制所述语句复述模型生成的复述语句的语种。

在本申请实施例中,通过所述语种指示信息设置所述语种指示参数,根据所述语种指示参数,能够灵活地、便捷地控制所述语句复述模型生成的复述语句的语种。

结合第二方面,在第二方面的某些实现方式中,所述训练数据包括的多个语句中的至少一个语句为经过扰动处理的语句,所述扰动处理包括随机删除语句中的词、随机调换语句中词的词序以及随机向语句中插入词中的至少一项。

在本申请实施例中,对所述训练数据进行扰动处理后,再使用该加扰后的训练数据训练所述语句复述模型,可以提高所述语句复述模型的鲁棒性,使得生成的复述语句的语义更加准确,形式更加多样。

所述扰动处理还可以包括对语句进行的其他扰动处理,本申请实施例对此并不限定。

可选地,所述扰动处理可以为降噪自编码器技术(denoising auto-encoder,DAE)。

结合第二方面,在第二方面的某些实现方式中,所述语句复述模型是使用预训练数据训练后、再使用所述训练数据训练后得到的,所述预训练数据包括一个或多个语句,所述预训练数据包括的语句的语种为所述训练数据包括的语句的语种中的一个或多个。

在本申请实施例中,使用包括至少一个语句的预训练数据对所述语句复述模型进行训练,可以提高所述语句复述模型生成的语句(复述语句)的流畅性。

可选地,在使用所述预训练数据训练所述语句复述模型时,可以将所述预训练数据作为所述语句复述模型的输入,同时,可以将该预训练数据中的语句作为该输入的标签(即真值),采用反向传播(backpropagation)算法,不断地获取预训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

第三方面,提供了一种训练语句复述模型的装置,包括:获取模块,用于获取训练数据,所述训练数据包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义;训练模块,用于根据所述训练数据,训练语句复述模型,所述语句复述模型用于基于输入语句生成所述输入语句的复述语句,所述复述语句与所述输入语句具有相同含义,所述复述语句的语种与所述输入语句的语种相同或不同。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,直接使用该训练数据训练语句复述模型,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

需要说明的是,在实际中,往往需要通过人工校准才能得到高质量的复述语句对语料,因此,会导致训练语句复述模型的成本较高。

可选地,所述语句复述模型可以为语言模型。

例如,所述语句复述模型可以为Transformer语言模型、CNN语言模型或RNN语言模型等,或者,所述语句复述模型也可以为其他深度学习的语言模型,本申请实施例对此并不限定。

可选地,所述训练数据可以包括一个语句、及该语句对应的不同语种的一个或多个译文。

可选地,所述训练数据包括的多个语句可以为机器翻译语料中的语句。需要说明的是,这里所说的机器翻译语料库可以为多语种平行语料,例如,双语平行(中英文)的机器翻译语料。

例如,所述训练数据可以包括一个中文语句、及该中文语句对应的英文译文。

可选地,所述训练数据还可以包括语种类型指示信息。其中,所述语种类型指示信息可以为中文类型指示信息、英文类型指示信息或法文类型指示信息等。

例如,所述训练数据包括中文语句及该中文语句对应的英文译文拼接成的序列时,在该序列中,所述中文语句的前面可以包括中文类型指示信息,该中文类型指示信息可以指示其后的语句为中文语句,比如,该中文类型指示信息可以为“”。

类似地,所述英文语句(即该中文语句对应的英文译文)的前面可以包括英文类型指示信息,该英文类型指示信息可以指示其后的语句为英文语句,比如,该英文类型指示信息可以为“”。

本领域技术人员可以理解,上述关于语种类型指示信息的描述仅为示例而非限定,本申请实施例对语种类型指示信息在训练数据中的位置和形式并不限定。

可选地,所述训练数据还可以包括法文、德文、西班牙文等其他语种的语句。例如,所述训练数据可以包括中文语句、及该文语句对应的法文译文、该中文语句对应的德文译文。

结合第三方面,在第三方面的某些实现方式中,所述语句复述模型中包括语种指示参数,所述语种指示参数用于指示所述语句复述模型生成的复述语句的语种;其中,所述训练模块具体用于:根据所述训练数据及所述语种指示参数,训练所述语句复述模型。

在本申请实施例中,所述语句复述模型中包括语种指示参数,根据所述训练数据及所述语种指示参数,训练所述语句复述模型,可以使得所述语种复述模型能够(根据所述语种指示参数)生成多种不同语种的复述语句。

可选地,所述语种指示参数为所述语句复述模型的参数。

结合第三方面,在第三方面的某些实现方式中,所述复述语句的语种是根据所述语种指示参数确定的,所述获取模块还用于:获取语种指示信息;所述训练模块还用于:根据所述语种指示信息确定所述语种指示参数。

应理解,上述根据所述语种指示信息确定所述语种指示参数可以理解为:根据所述语种指示信息设置所述语种指示参数。从而可以根据设置好的所述语种指示参数控制所述语句复述模型生成的复述语句的语种。

在本申请实施例中,通过所述语种指示信息设置所述语种指示参数,根据所述语种指示参数,能够灵活地、便捷地控制所述语句复述模型生成的复述语句的语种。

结合第三方面,在第三方面的某些实现方式中,所述训练数据包括的多个语句中的至少一个语句为经过扰动处理的语句,所述扰动处理包括随机删除语句中的词、随机调换语句中词的词序以及随机向语句中插入词中的至少一项。

在本申请实施例中,对所述训练数据进行扰动处理后,再使用该加扰后的训练数据训练所述语句复述模型,可以提高所述语句复述模型的鲁棒性,使得生成的复述语句的语义更加准确,形式更加多样。

所述扰动处理还可以包括对语句进行的其他扰动处理,本申请实施例对此并不限定。

可选地,所述扰动处理可以为降噪自编码器技术(denoising auto-encoder,DAE)。

结合第三方面,在第三方面的某些实现方式中,所述获取模块还用于:获取预训练数据,所述预训练数据包括一个或多个语句,所述预训练数据包括的语句的语种为所述训练数据包括的语句的语种中的一个或多个;所述装置还包括预训练模块,用于:根据所述预训练数据,训练所述语句复述模型。

在本申请实施例中,使用包括至少一个语句的预训练数据对所述语句复述模型进行训练,可以提高所述语句复述模型生成的语句(复述语句)的流畅性。

可选地,在使用所述预训练数据训练所述语句复述模型时,可以将所述预训练数据作为所述语句复述模型的输入,同时,可以将该预训练数据中的语句作为该输入的标签(即真值),采用反向传播(backpropagation)算法,不断地获取预训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

第四方面,提供了一种语句复述装置,包括:获取模块,用于获取输入语句;复述模块,用于通过语句复述模型,对所述输入语句进行复述,生成所述输入语句的复述语句,所述复述语句的语种与所述输入语句的语种相同或不同;其中,所述语句复述模型是使用训练数据训练后得到的,所述训练数据包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,训练语句复述模型是直接使用该训练数据训练后得到的,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

需要说明的是,在实际中,往往需要通过人工校准才能得到高质量的复述语句对语料,因此,会导致训练语句复述模型的成本较高。

可选地,所述语句复述模型可以为语言模型。

例如,所述语句复述模型可以为Transformer语言模型、CNN语言模型或RNN语言模型等,或者,所述语句复述模型也可以为其他深度学习的语言模型,本申请实施例对此并不限定。

可选地,所述训练数据可以包括一个语句、及该语句对应的不同语种的一个或多个译文。

可选地,所述训练数据包括的多个语句可以为机器翻译语料中的语句。需要说明的是,这里所说的机器翻译语料库可以为多语种平行语料,例如,双语平行(中英文)的机器翻译语料。

例如,所述训练数据可以包括一个中文语句、及该中文语句对应的英文译文。

可选地,所述训练数据还可以包括语种类型指示信息。其中,所述语种类型指示信息可以为中文类型指示信息、英文类型指示信息或法文类型指示信息等。

例如,所述训练数据包括中文语句及该中文语句对应的英文译文拼接成的序列时,在该序列中,所述中文语句的前面可以包括中文类型指示信息,该中文类型指示信息可以指示其后的语句为中文语句,比如,该中文类型指示信息可以为“”。

类似地,所述英文语句(即该中文语句对应的英文译文)的前面可以包括英文类型指示信息,该英文类型指示信息可以指示其后的语句为英文语句,比如,该英文类型指示信息可以为“”。

本领域技术人员可以理解,上述关于语种类型指示信息的描述仅为示例而非限定,本申请实施例对语种类型指示信息在训练数据中的位置和形式并不限定。

可选地,所述训练数据还可以包括法文、德文、西班牙文等其他语种的语句。例如,所述训练数据可以包括中文语句、及该文语句对应的法文译文、该中文语句对应的德文译文。

结合第四方面,在第四方面的某些实现方式中,所述语句复述模型中包括语种指示参数,所述语种指示参数用于指示所述语句复述模型生成的复述语句的语种,其中,所述语句复述模型是根据所述训练数据及所述语种指示参数训练后得到的。

在本申请实施例中,所述语句复述模型中包括语种指示参数,根据所述训练数据及所述语种指示参数,训练所述语句复述模型,可以使得所述语种复述模型能够(根据所述语种指示参数)生成多种不同语种的复述语句。

可选地,所述语种指示参数为所述语句复述模型的参数。

结合第四方面,在第四方面的某些实现方式中,所述复述语句的语种是根据所述语种指示参数确定的,所述语种指示参数是根据获取到的语种指示信息确定的。

应理解,上述根据所述语种指示信息确定所述语种指示参数可以理解为:根据所述语种指示信息设置所述语种指示参数。从而可以根据设置好的所述语种指示参数控制所述语句复述模型生成的复述语句的语种。

在本申请实施例中,通过所述语种指示信息设置所述语种指示参数,根据所述语种指示参数,能够灵活地、便捷地控制所述语句复述模型生成的复述语句的语种。

结合第四方面,在第四方面的某些实现方式中,所述训练数据包括的多个语句中的至少一个语句为经过扰动处理的语句,所述扰动处理包括随机删除语句中的词、随机调换语句中词的词序以及随机向语句中插入词中的至少一项。

在本申请实施例中,对所述训练数据进行扰动处理后,再使用该加扰后的训练数据训练所述语句复述模型,可以提高所述语句复述模型的鲁棒性,使得生成的复述语句的语义更加准确,形式更加多样。

所述扰动处理还可以包括对语句进行的其他扰动处理,本申请实施例对此并不限定。

可选地,所述扰动处理可以为降噪自编码器技术(denoising auto-encoder,DAE)。

结合第四方面,在第四方面的某些实现方式中,所述语句复述模型是使用预训练数据训练后、再使用所述训练数据训练后得到的,所述预训练数据包括一个或多个语句,所述预训练数据包括的语句的语种为所述训练数据包括的语句的语种中的一个或多个。

在本申请实施例中,使用包括至少一个语句的预训练数据对所述语句复述模型进行训练,可以提高所述语句复述模型生成的语句(复述语句)的流畅性。

可选地,在使用所述预训练数据训练所述语句复述模型时,可以将所述预训练数据作为所述语句复述模型的输入,同时,可以将该预训练数据中的语句作为该输入的标签(即真值),采用反向传播(backpropagation)算法,不断地获取预训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

第五方面,提供了一种训练语句复述模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第一方面中的任意一种实现方式中的方法。

第六方面,提供了一种语句复述装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第二方面中的任意一种实现方式中的方法。

上述第五方面和第六方面中的处理器既可以是中央处理器(central processingunit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。

第七方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面中的任意一种实现方式中的方法。

第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面中的任意一种实现方式中的方法。

第九方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或第二方面中的任意一种实现方式中的方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。

上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。

第十方面,提供了一种电子设备,该电子设备包括上述第三方面中的任意一个方面中的训练语句复述装置的装置,或者,该电子设备包括上述第四方面中的任意一个方面中的语句复述装置。

当上述电子设备包括上述第三方面中的任意一个方面中的训练语句复述装置的装置时,该电子设备具体可以是服务器。

当上述电子设备包括上述第四方面中的任意一个方面中的语句复述装置时,该电子设备具体可以是终端设备。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,直接使用该训练数据训练语句复述模型,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

附图说明

图1是本申请实施例提供的一种自然语言处理的应用场景示意图;

图2是本申请实施例提供的另一种自然语言处理的应用场景示意图;

图3是本申请实施例提供的自然语言处理的相关设备的示意图;

图4是本申请实施例提供的一种系统架构的示意图;

图5是本申请实施例提供的一种芯片的硬件结构的示意图;

图6是本申请实施例提供的一种应用场景示意图;

图7是本申请一个实施例提供的训练语句复述模型的方法的示意性流程图;

图8是本申请另一个实施例提供的训练语句复述模型的方法的示意性流程图;

图9是本申请一个实施例提供的训练语句复述模型的示意性框图;

图10是本申请另一个实施例提供的训练语句复述模型的示意性框图;

图11是本申请实施例提供的语句复述方法的示意性流程图;

图12是本申请实施例的语句复述装置的硬件结构示意图;

图13是本申请实施例的训练语句复述模型的装置的硬件结构示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

为了更好地理解本申请实施例的方案,下面先结合图1至图3对本申请实施例可能的应用场景进行简单的介绍。

图1示出了一种自然语言处理系统,该自然语言处理系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为自然语言数据处理的发起端,作为语言问答或者查询等请求的发起方,通常用户通过用户设备发起请求。

上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。

数据处理设备通过交互接口接收来自智能终端的查询语句/语音/文本等问句,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。

在图1所示的自然语言处理系统中,用户设备可以接收用户的指令,以请求对输入语句(例如,该输入语句可以是用户输入的一个句子)进行复述得到复述语句(例如,该复述语句可以是复述得到的、与输入语句具有相同语义的不同表达),然后向数据处理设备发送输入语句,从而使得数据处理设备对输入语句进行复述得到复述语句。

在图1中,数据处理设备可以执行本申请实施例的语句复述方法。

复述(paraphrase)是指对输入语句进行相同语义的不同表达,例如,输入语句为“太阳到地球的距离是多少”,对该输入语句进行复述可以得到“太阳离地球有多远”、“从地球到太阳有多少公里”、“地球距离太阳多少千米”、“地球与太阳相距多大”、“地日距离是多少”等复述语句,这些复述语句都表达了与输入语句相同或相似的语义,即太阳与地球之间的距离是多少,因此,这些语句就可以称为输入语句的复述语句。

换句话说,可以说这些语句与输入语句互为复述;或者,也可以说这些语句与输入语句互为复述语句。

在本申请实施例中,复述可以包括词汇级别、短语级别及句子级别等不同层次的复述,即输入语句和复述语句均可以为语汇、短语或句子,本申请实施例对此并不限定。

例如,词汇级别的复述即通常所说的同义词,例如,词汇级别的复述可以包括:“番茄”和“西红柿”、“car”和“vehicle”。

例如,短语级别的复述可以包括:“北京大学”和“北大”、“consider”和“take…into consideration”。

例如,句子级别的复述可以包括:“姚明的身高是多少?”和“姚明有多高?”、“Messiplays for FC Barcelona in the Spanish Primera League.”和“Messi is a player ofBarca in La Liga.”。

需要说明的是,本申请实施例中并不限定输入语句及其复述语句的语种(或者说语言)。输入语句和复述语句可以为中文、英文、德文、法文等各种语种,本申请实施例对此并不限定。

例如,输入语句与复述语句可以为中文;或者,输入语句与复述语句可以为英文,本申请实施例对此并不限定。

图2示出了另一种自然语言处理系统,在图2中,用户设备直接作为数据处理设备,该用户设备能够直接接收来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图1相似,可参考上面的描述,在此不再赘述。

在图2所示的自然语言处理系统中,用户设备可以接收用户的指令,由用户设备自身对输入语句进行复述得到复述语句。

在图2中,用户设备自身就可以执行本申请实施例的语句复述方法。

图3是本申请实施例提供的自然语言处理的相关设备的示意图。

上述图1和图2中的用户设备具体可以是图3中的本地设备301或者本地设备302,图1中的数据处理设备具体可以是图3中的执行设备210,其中,数据存储系统250可以存储执行设备210的待处理数据,数据存储系统250可以集成在执行设备210上,也可以设置在云上或其它网络服务器上。

图1和图2中的数据处理设备可以通过神经网络模型或者其它模型(例如,基于支持向量机的模型)进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型对输入语句进行复述得到复述语句。

由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。

(1)神经网络

神经网络可以是由神经单元组成的,神经单元可以是指以x

其中,s=1、2、……n,n为大于1的自然数,W

(2)深度神经网络

深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。

虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:

综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为

需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。

(3)卷积神经网络

卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(4)循环神经网络

循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。

对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播(backpropagation,BP)算法,不过有一点区别。例如,如果将RNN进行网络展开,那么参数W,U,V是共享的,而传统神经网络却不是的。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,并且还依赖前面若干步网络的状态。比如,在t=4时,还需要向后传递三步,已经后面的三步都需要加上各种的梯度。该学习算法称为基于时间的反向传播算法。

既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。

(5)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。

(6)反向传播算法

神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。

如图4所示,本申请实施例提供了一种系统架构100。在图4中,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括不同语种的多个语句。

其中,该多个语句可以具有相同含义。

例如,所述训练数据可以包括由机器翻译语料中的语句及其对应的译文拼接成的序列,即同一个语义、但不同语种的多个语句拼接成的序列。为便于描述,在本申请实施例中,也可以将该拼接成的序列称为训练语句。

需要说明的是,这里的拼接指两个语句依次排列,例如,中文语句可以位于其对应的英文语句的前面,或者,英文语句可以位于其对应的中文语句的前面,本申请实施例对此并不限定。

在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。

下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对训练语句进行处理,得到复述语句,并根据该复述语句确定目标模型/规则101的训练目标(objective),直到目标模型/规则101的奖励大于一定的阈值(和/或小于一定的阈值),从而完成目标模型/规则101的训练。

上述目标模型/规则101能够用于实现本申请实施例的语句复述方法,即将训练语句通过相关预处理(可以采用预处理模块113和/或预处理模块114进行处理)后输入该目标模型/规则101,即可得到复述语句。本申请实施例中的目标模型/规则101具体可以为(多个)神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。

根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图4所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图4中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的训练语句。

预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如训练语句)进行预处理(具体可以是对训练语句进行处理,得到词向量),在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。

在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。

最后,I/O接口112将处理结果,例如,复述语句反馈给客户设备140。

值得说明的是,训练设备120可以针对不同的下游系统,生成该下游系统对应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。

在图4中所示情况下,用户可以手动给定输入数据(例如,输入一段文字),该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据(例如,输入一段文字),如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式(例如,输出结果可以是复述语句)。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。

值得注意的是,图4仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在图4中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。

如图4所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101可以是本申请实施例中的语句复述模型,具体的,本申请实施例中的语句复述模型可以包括至少一个神经网络,所述至少一个神经网络可以包括CNN,深度卷积神经网络(deepconvolutional neural network,DCNN),循环神经网络(recurrent neural network,RNN)、Transformer语言模型等等。

图5为本申请实施例提供的一种芯片的硬件结构的示意图。该芯片包括神经网络处理器(neural processing unit,NPU)50。该芯片可以被设置在如图4所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图4所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。本申请实施例中的语句复述模型(语言模型)可在如图5所示的芯片中得以实现。

本申请实施例的语句复述方法的具体可以在NPU 50中的运算电路503和/或向量计算单元507中执行,从而得到复述语句。

下面对NPU 50中的各个模块和单元进行简单的介绍。

NPU 50作为协处理器可以挂载到主CPU(host CPU)上,由主CPU分配任务。NPU50的核心部分为运算电路503,在NPU 50工作时,NPU 50中的控制器504可以控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。

在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。

向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非全连接层(fully connected layers,FC)层的网络计算,如池化(pooling),批归一化(batchnormalization),局部响应归一化(local response normalization)等。

在一些实现中,向量计算单元507能将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。

统一存储器506用于存放输入数据以及输出数据。

权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。

总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。

与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;

控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。

一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均可以为片上(on-chip)存储器。NPU的外部存储器可以为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic randomaccess memory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。

下面结合附图对本申请实施例的语句复述方法进行详细介绍。本申请实施例的语句复述方法可以由图1中的数据处理设备、图2中的用户设备、图3中的执行设备210以及图4中的执行设备110等设备执行,图4中的执行设备110可以包括图5所示的芯片。

本申请实施例提供的语句复述方法可以在服务器上被执行,也可以在云端被执行,还可以在终端设备上被执行。以终端设备为例,如图6所示,本发明实施例的技术方案可以应用于终端设备,本申请实施例中的语句复述方法可以对输入语句进行复述,得到该输入语句的复述语句。该终端设备可以为移动的或固定的,例如该终端设备可以是具有自然语言处理功能的移动电话、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personal digitalassistant,PDA)、个人计算机(personal computer,PC)、照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者自动驾驶的车辆等,本发明实施例对此不作限定。

复述(paraphrase)是指对于语句进行相同语义的不同表达,复述在自然语言中非常普遍,在自然语言处理(natural language processing,NLP)领域里,复述也得到了越来越广泛的应用。例如,复述可以应用于以下多个领域中。

(1)机器翻译

在机器翻译中,可以使用复述技术,对待翻译语句进行同义改写,以生成更容易翻译的语句。例如,将灵活而不规范的口语复述为规范的句子,从而使翻译得到更好的结果;再例如,复述技术也可以缓解机器翻译系统数据稀疏的问题,即通过复述生成增加翻译的训练语料;此外,复述技术也被用于改进机器翻译的评价。

(2)自动问答系统

在问答系统中,可以使用复述技术对问句进行同义扩展,即生成与原问句意义相同的多个问句,从而解决相同问题不同表达的问题,提升问答系统的召回率。例如,可以对用户提交给问答系统的问题进行在线改写,然后都提交给问答系统召回结果;或者,也可以对知识库中的部分文本内容进行复述扩展,并加入知识库。

(3)信息抽取

复述技术能够为抽取系统自动生成大量的抽取模板,从而提高抽取系统的性能。

(4)信息检索

与问答系统中的应用类似,复述技术可以用来对查询词进行改写和扩展,从而优化信息检索的质量。

(5)自动摘要

在自动摘要任务中,复述技术可以用来计算句子的相似度,从而更好的进行句子聚类、选择等;其次,与机器翻译中的应用类似,复述技术可以改进自动摘要的评价。

需要说明的是,本申请实施例中的语句复述方法在上述各领域中均可以应用。

在自然语言处理中,复述主要包括两类任务,复述(语句)的质量(quality)和复述(语句)的多样性(diversity)。

复述的质量是指:生成的复述语句是否流畅,并与输入语句保持语义一致。例如,输入语句为“太阳到地球的距离是多少”,生成的复述语句为“地球与太阳相距多远”,该复述语句是流畅的、且与输入语句是同义的,则为高质量复述生成。若生成的复述语句为“地球的太阳是多少到距离”,则该复述语句不流畅,若生成的复述语句为“月亮到火星的距离是多少”,则该复述语句与输入语句的语义不相关,这两种复述语句均为低质量复述语句。

复述的多样性是指:生成的复述语句是否多样,并具有信息量(Informative)。例如,输入语句为“太阳到地球的距离是多少”,生成的多个复述语句分别为“地球离太阳有多远”、“日地相距多少公里”及“太阳与地球之间有多少千米”,该多个复述语句与输入语句同义、但均与输入语句为不同的表达,则该多个复述语句的多样性较佳。

在训练语句复述模型(语言模型)时,为了保证复述语句的质量和复述语句的多样性,需要使用复述语句对语料对语句复述模型进行训练,但在实际中,往往通过人工校准才能得到高质量的复述语句对语料,这样会导致训练语句复述模型的成本较高。

基于上述问题,本申请实施例提出了一种语句复述方法、训练语句复述模型的方法,能够便捷地获得复述语句。

图7是本申请实施例提供的训练语句复述模型的方法700的示意性流程图。图7所示的方法700可以由图6中的终端设备执行。

在本申请实施例中,可以使用语句复述模型对输入语句(或训练语句)进行复述,获得输入语句的复述语句。

图7所示的方法可以包括步骤710及步骤720,下面分别对这几个步骤进行详细的介绍。

S710,获取训练数据。

其中,所述训练数据可以包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义。

例如,所述训练数据可以包括两个语句,这两个语句分别是中文语句“太阳到地球的距离是多少”及英文语句“What is the distance between the sun and the earth”。

可以看出,上述两个语句的语种不同,且这两个语句都表示相同的含义。或者可以说,上述英文语句为上述中文语句的英文译文(或者也可以说,上述中文语句为上述英文语句的中文译文)。

在本申请实施例中,对所述训练数据包括的语句的个数及语句的语种并不限定。

可选地,所述训练数据可以包括一个语句、及该语句对应的不同语种的一个或多个译文。

例如,所述训练数据可以包括一个中文语句、及该中文语句对应的英文译文。

可选地,所述训练数据可以为不同语种的多个语句拼接成的序列,其中,该多个语句可以具有相同的含义。

例如,所述训练数据可以包括由机器翻译语料中的语句及其对应的译文拼接成的序列,即同一个语义、但不同语种的多个语句拼接成的序列。

例如,对于双语平行(中英文)的机器翻译语料,本申请实施例中的训练数据可以指:机器翻译语料中的一个中文语句及其对应的英文语句(该中文语句的英文译文)拼接成的序列。

需要说明的是,这里的拼接指两个语句依次排列,例如,中文语句可以位于其对应的英文语句的前面,或者,英文语句可以位于其对应的中文语句的前面,本申请实施例对此并不限定。

可选地,所述训练数据还可以包括语种类型指示信息。其中,所述语种类型指示信息可以为中文类型指示信息、英文类型指示信息或法文类型指示信息等。

例如,所述训练数据包括中文语句及该中文语句对应的英文译文拼接成的序列时,在该序列中,所述中文语句的前面可以包括中文类型指示信息,该中文类型指示信息可以指示其后的语句为中文语句,比如,该中文类型指示信息可以为“”。

类似地,所述英文语句(即该中文语句对应的英文译文)的前面可以包括英文类型指示信息,该英文类型指示信息可以指示其后的语句为英文语句,比如,该英文类型指示信息可以为“”。

可选地,所述训练数据还可以包括法文、德文、西班牙文等其他语种的语句。例如,所述训练数据可以包括中文语句、及该文语句对应的法文译文、该中文语句对应的德文译文。

本领域技术人员可以理解,上述关于语种类型指示信息的描述仅为示例而非限定,本申请实施例对此并不限定。

可选地,所述训练数据包括的多个语句中的至少一个语句可以为经过扰动处理的语句。

例如,所述扰动处理可以包括随机删除语句中的词、随机调换语句中词的词序以及随机向语句中插入词中的至少一项。

在本申请实施例中,对所述训练数据进行扰动处理后,再使用该加扰后的训练数据训练所述语句复述模型,可以提高所述语句复述模型的鲁棒性,使得生成的复述语句的语义更加准确,形式更加多样。

所述扰动处理还可以包括对语句进行的其他扰动处理,本申请实施例对此并不限定。

可选地,所述扰动处理可以为降噪自编码器技术(denoising auto-encoder,DAE)。

在本申请实施例中,在上述S710获取训练数据之前,所述方法700还可以包括S701。S701可以称为预训练过程,具体如下:

S701,获取预训练数据,根据所述预训练数据,训练所述语句复述模型。

其中,所述预训练数据可以包括一个或多个语句,所述预训练数据包括的语句的语种为所述训练数据包括的语句的语种中的一个或多个。

例如,在所述训练数据包括中文语句及英文语句的情况下,所述预训练数据可以包括一个语句,该语句为中文语句或英文语句;或者所述预训练数据可以包括多个语句,该多个语句包括中文语句和/或英文语句。

可选地,在S701中训练所述语句复述模型时,可以将包括一个语句的预训练数据作为所述语句复述模型的输入,同时,可以将该预训练数据中的语句作为该输入的标签(即真值),采用反向传播(backpropagation)算法,不断地获取预训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

也就是说,在S701中,可以使用预训练数据作为所述语句复述模型的输入,并将该预训练数据中的语句作为该输入的标签,对所述语句复述模型进行训练,以使得所述语句复述模型可以输出流畅的语句。

可选地,在所述预训练数据包括多个语句的情况下,所述预训练数据中的多个语句可以为多种不同的语种,本申请实施例中对此并不限定。

例如,所述预训练数据中的语句可以为非平行语料中的语句,该非平行语料中可以包括多种不同语种的语句。

相应地,通过使用包括不同语种语句的预训练数据对所述语句复述模型进行训练,可以使得所述语句复述能够输出该语种(即所述预训练数据中包括的语句的语种)的流畅语句。

具体训练过程具体可以如下述图9中所述。

在本申请实施例中,使用包括至少一个语句的预训练数据对所述语句复述模型进行训练,可以提高所述语句复述模型生成的语句(复述语句)的流畅性。

可选地,所述语句复述模型可以为语言模型。

例如,所述语句复述模型可以为Transformer语言模型、CNN语言模型或RNN语言模型等,或者,所述语句复述模型也可以为其他深度学习的语言模型,本申请实施例对此并不限定。

其中,CNN语言模型受滤波器固定尺寸的限制,只能对局部的词间关系建模;RNN语言模型受循环迭代计算限制,多个节点难以并行计算。

而相比于CNN语言模型及RNN语言模型,Transformer语言模型可以克服CNN语言模型仅能建立词与词间局部连接的弱点,也可以克服RNN语言模型难以在GPU上并行计算、建立双向连接的弱点,因此,能够提高语句复述模型的整体效率。

关于Transformer语言模型的具体描述可以参考现有技术,本申请实施例不再赘述。

S720,根据所述训练数据,训练语句复述模型。

其中,(训练好的)所述语句复述模型可以用于基于输入语句生成所述输入语句的复述语句。

可选地,所述复述语句与所述输入语句可以具有相同含义,所述复述语句的语种与所述输入语句的语种可以相同;或者,所述复述语句的语种与所述输入语句的语种也可以不同。

例如,所述输入语句为中文语句时,经所述语句复述模型得到的所述输入语句的复述语句可以为法文语句,但该中文语句与该法文语句具体相同含义(即该中文语句与该法文语句为同一语义在不同语种下的不同表达)。

可选地,所述复述语句的语种可以是根据所述语种指示参数确定的。

可选地,在S720中训练所述语句复述模型时,可以将包括多个语句的训练数据作为所述语句复述模型的输入,同时,可以将该训练数据中的多个语句作为该输入的标签(即真值),采用反向传播算法,不断地获取训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

S720中的训练过程与上述S701中的训练过程类似,具体训练过程具体可以如下述图9中所述。

可选地,所述语句复述模型中还可以包括语种指示参数。其中,所述语种指示参数可以用于指示所述语句复述模型生成的复述语句的语种。

在本申请实施例中,所述语句复述模型中包括语种指示参数,根据所述训练数据及所述语种指示参数,训练所述语句复述模型,可以使得所述语种复述模型能够(根据所述语种指示参数)生成多种不同语种的复述语句。

可选地,所述语种指示参数为所述语句复述模型的参数。

可以看出,若使用Transformer语言模型作为所述语句复述模型时,本申请实施例中的Transformer语言模型与现有技术中的Transformer语言模型区别在于,本申请实施例中的Transformer语言模型包括语种指示参数。

在本申请实施例中,所述方法700还可以包括:获取语种指示信息。其中,所述语种指示信息可以用于确定所述语句复述模型生成的复述语句的语种。

可选地,所述根据所述训练数据,训练语句复述模型,可以包括:

根据所述语种指示信息确定所述语种指示参数;根据所述训练数据及所述语种指示参数,训练所述语句复述模型。

在本申请实施例中,通过所述语种指示信息设置所述语种指示参数,根据所述语种指示参数,能够灵活地、便捷地控制所述语句复述模型生成的复述语句的语种。

应理解,上述根据所述语种指示信息确定所述语种指示参数可以是指:根据所述语种指示信息设置所述语种指示参数。从而可以根据设置好的所述语种指示参数控制所述语句复述模型生成的复述语句的语种。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,直接使用该训练数据训练语句复述模型,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

图8是本申请实施例提供的训练语句复述模型的方法800的示意性流程图。图8所示的方法800可以由图6中的终端设备执行。

在本申请实施例中,可以使用语句复述模型对输入语句(或训练语句)进行复述,获得输入语句的复述语句。

图8所示的方法800可以包括步骤810、步骤820及步骤830,下面分别对这几个步骤进行详细的介绍。

S810,使用非平行语料对语句复述模型进行预训练。

可选地,可以使用多语种非平行语料

可选地,S

可选地,所述语句复述模型可以为Transformer语言模型。需要说明的是,本申请实施例中的Transformer语言模型带有语种指示参数,与现有技术中的Transformer语言模型不同。

如图9所示,以输入语句为中文语句为例,例如,可以将输入语句“太阳到地球的距离是多少”输入到所述语句复述模型,经过处理可以得到该输入语句多个词向量,将该多个词向量与该输入语句的词位置编码向量进行线性组合,可以得到该输入语句的向量E。

进一步地,将该输入语句的向量E经过语句复述模型(如图9中的由注意力机制连接的多层Transformer模块)计算,可以得到一组(与该输入语句的)上下文相关的隐藏状态向量E

再将E

所述语句复述模型可以表示为:

其中,所述语种指示参数可以包括多个不同语种的语种指示参数,例如,所述语种指示参数可以包括中文指示参数h

经过S810中的预训练,所述语句复述模型可以按指定语种,生成流畅的自然语言语句,但还不能生成输入语句的复述语句。

S810中的预训练过程可以采用反向传播算法,不断地获取预训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的预训练。

为了能生成复述语句,所述语句复述模型还需要进一步在机器翻译的平行语料

S820,使用机器翻译的平行语料对语句复述模型进行训练。

可选地,可以使用机器翻译的平行语料

可选地,X

同样地,本申请实施例对Y

可选地,可以将输入语句X

如图10所示,可以将中文语句“太阳到地球的距离是多少”及其英文译文“What isthe distance between the sun and the earth”拼接成一个序列,并将该序列输入上述经S810预训练后的所述语句复述模型。

例如,如图10所示,可以使用中文类型指示信息指示其后的输入语句为中文,可以使用英文类型指示信息指示其后的输入语句为英文。

类似地,如图10所示,所述语种指示参数h

在本申请实施例中,在使用语句复述模型对输入语句X

可选地,所述扰动处理可以包括随机删除语句中的词、随机调换语句的词序以及随机向语句中插入词中的至少一项。所述扰动处理还可以包括对语句进行的其他扰动处理,本申请实施例对此并不限定。

例如,可以使用降噪自编码器技术(denoising auto-encoder,DAE)对输入语句X

S820中的训练过程与S810中的预训练过程类似,采用反向传播算法,不断地获取训练数据进行迭代训练,直至损失函数收敛,则完成该语句复述模型的训练。

训练完成后,可以控制所述语句复述模型生成的复述语句的语种。

S830,对语句复述模型进行测试。

当所述语句复述模型经过上述训练过程后,就可以进入测试阶段,即用于实际的复述语句的生成。

在本申请实施例中,对于给定的一个输入语句,可以使用所述语句复述模型生成一个或多个复述语句。

在本申请实施例中,在对语句复述模型进行训练,而并不依赖复述语句对语料,而是直接使用上述训练数据对语句复述模型进行训练,因此,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

图11示出了本申请实施例提供的语句复述方法1100的示意性流程图,图11所示的方法可以由图6中的终端设备执行。图11所示的方法包括步骤1110及步骤1120,下面分别对这几个步骤进行详细的介绍。

S1110,获取输入语句。

其中,所述输入语句可以为词汇、短语或句子,同时,所述训练语句也可以为各种语言,本申请实施例对此并不限定。

S1120,通过语句复述模型,对所述输入语句进行复述,生成所述输入语句的复述语句。

其中,所述复述语句与所述输入语句可以具有相同含义,所述复述语句的语种与所述输入语句的语种可以相同;或者,所述复述语句的语种与所述输入语句的语种也可以不同。

可选地,所述复述语句的语种可以是根据所述语种指示参数确定的。

可选地,所述输入语句的复述语句可以为词汇、短语或句子,同时,所述复述语句也可以为各种语言,本申请实施例对此并不限定。

其中,所述语句复述模型可以是使用训练数据训练后得到的,所述训练数据可以包括多个语句,所述多个语句的语种不同,且所述多个语句具有相同含义。

可选地,所述语句复述模型中包括语种指示参数,所述语种指示参数用于指示所述语句复述模型生成的复述语句的语种,其中,所述语句复述模型是根据所述训练数据及所述语种指示参数训练后得到的。

在本申请实施例中,所述语句复述模型中包括语种指示参数,根据所述训练数据及所述语种指示参数,训练所述语句复述模型,可以使得所述语种复述模型能够(根据所述语种指示参数)生成多种不同语种的复述语句。

可选地,所述语种指示参数是根据获取到的语种指示信息确定的,所述语种指示信息用于确定所述语种指示参数。

在本申请实施例中,通过所述语种指示信息设置所述语种指示参数,根据所述语种指示参数,能够灵活地、便捷地控制所述语句复述模型生成的复述语句的语种。

可选地,所述训练数据包括的多个语句中的至少一个语句为经过扰动处理的语句,所述扰动处理包括随机删除语句中的词、随机调换语句中词的词序以及随机向语句中插入词中的至少一项。

在本申请实施例中,对所述训练数据进行扰动处理后,再使用该加扰后的训练数据训练所述语句复述模型,可以提高所述语句复述模型的鲁棒性,使得生成的复述语句的语义更加准确,形式更加多样。

可选地,所述语句复述模型是使用预训练数据训练后、再使用所述训练数据训练后得到的,所述预训练数据包括一个或多个语句,所述预训练数据包括的语句的语种为所述训练数据包括的语句的语种中的一个或多个。

在本申请实施例中,使用包括至少一个语句的预训练数据对所述语句复述模型进行训练,可以提高所述语句复述模型生成的语句(复述语句)的流畅性。

需要说明的是,图11中的所述语句复述模型可以是使用图7或图8所示的训练语句复述模型的方法进行训练后得到的。

在本申请实施例中,所述训练数据包括语种不同、且具有相同含义的多个语句,训练语句复述模型是直接使用该训练数据训练后得到的,而并不依赖复述语句对语料对语句复述模型进行训练,可以降低训练语句复述模型的成本,从而能够便捷地获得复述语句。

图12是本申请实施例的语句复述装置的硬件结构示意图。图12所示的语句复述装置4000包括存储器4001、处理器4002、通信接口4003以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004实现彼此之间的通信连接。

应理解,图12所示的装置仅示例而非限定,所述语句复述装置4000可以包括更多或更少的模块或单元,本申请实施例中对此并不限定。

存储器4001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002和通信接口4003用于执行本申请实施例的语句复述方法的各个步骤。

处理器4002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的语句复述装置中的单元所需执行的功能,或者执行本申请方法实施例的语句复述方法。

处理器4002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的语句复述方法的各个步骤可以通过处理器4002中的硬件的集成逻辑电路或者软件形式的指令完成。

上述处理器4002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器4001,处理器4002读取存储器4001中的信息,结合其硬件完成本申请实施例的语句复述装置中包括的单元所需执行的功能,或者执行本申请方法实施例的语句复述方法。

通信接口4003使用例如但不限于收发器一类的收发装置,来实现装置4000与其他设备或通信网络之间的通信。例如,可以通过通信接口4003获取输入语句。

总线4004可包括在装置4000各个部件(例如,存储器4001、处理器4002、通信接口4003)之间传送信息的通路。

图13是本申请实施例的训练语句复述模型的装置5000的硬件结构示意图。与上述装置4000类似,图13所示的训练语句复述模型的装置5000包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。

应理解,图13所示的装置仅示例而非限定,所述训练语句复述模型的装置5000可以包括更多或更少的模块或单元,本申请实施例中对此并不限定。

存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002用于执行本申请实施例的训练语句复述模型的方法的各个步骤。

处理器5002可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的训练语句复述模型的方法。

处理器5002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的训练语句复述模型的方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。

应理解,通过图13所示的训练语句复述模型的装置5000对语句复述模型进行训练,训练得到的语句复述模型就可以用于执行本申请实施例的语句复述方法了。具体地,通过装置5000对语句复述模型进行训练能够得到图11所示的方法中的语句复述模型。

具体地,图13所示的装置可以通过通信接口5003从外界获取训练数据以及待训练的语句复述模型,然后由处理器根据训练数据对待训练的语句复述模型进行训练。

应注意,尽管上述装置4000和装置5000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置4000和装置5000还可以包括实现正常运行所必须的其他器件。

同时,根据具体需要,本领域的技术人员应当理解,装置4000和装置5000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置4000和装置5000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图12和图13中所示的全部器件。

应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号