一种文本数据处理方法及装置与流程
本申请涉及人工智能领域,尤其涉及一种文本数据处理方法及装置。
背景技术:
人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
近年来,语音技术的发展催生了很多基于语音技术的应用,如语音助手、智能家居、语音翻译等。目前,业界基于语音技术的应用一般都是先经过自动语音识别(automaticspeechrecognition,asr)模块识别成文本,再由文本处理模块对文本进行处理,比如进行语音翻译,自动应答等等。
由于环境噪音和用户口音等多种因素干扰,语音识别模型经常出现识别错误,如同音词、近音词、重复、断句错误等。而位于语音识别下游的文本处理模块鲁棒性弱,对于输入中的文本噪音非常敏感,当输入中含有噪音时往往无法得到正确的结果。
目前,为了提升神经网络模型对带噪声的输入的鲁棒性,可以在模型训练时引入语音识别的噪声,在现有的实现中,为了得到加噪声的文本,可以基于某些词典将正确的文本中的部分词语替换为不同但是发音相似的词语,然而,基于上述方法生成的加噪声的文本往往无法反映真实的语音识别错误。
技术实现要素:
第一方面,本申请提供了一种文本数据处理方法,其特征在于,包括:
获取目标文本;训练设备可以获取目标文本;其中,目标文本可以是语音数据中所表达的文本,其中,语音数据可以使用公开的语音识别数据集或者通过人工采集的方式获取。该目标文本可以是语音数据所表达的正确的文本。
根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;训练设备可以获取所述语音数据以及第一文本,并基于第一语音识别模型对所述语音数据进行处理,得到第二文本,根据初始噪声生成模型对所述第一文本进行处理,得到输出文本,根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型;至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
由于本申请实施例中的噪声生成模型是基于正确的文本以及第一语音识别模型的识别结果进行训练得到的,相比于基于词替换的带噪文本生成方法,使用噪声生成模型生成的加噪声的文本更能反映真实的噪声生成模型的错误。
在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述训练后的文本处理模型用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
当目标文本和加噪声的文本之间的差异过大时,可能是由于噪声生成模型本身的性能导致的,在这种特殊情况下,加噪声的文本并不能反映真实的噪声生成模型的错误。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种可选的实现中,所述根据噪声生成模型,对所述目标文本进行处理,包括:根据噪声生成模型,对所述目标文本进行处理,得到多个加噪声的文本,以及每个加噪声的文本的置信度;根据所述置信度,从所述多个加噪声的文本选择一个或多个加噪声的文本;例如,可以选择置信度最高的加噪声的文本,或者置信度前几的加噪声的文本。所述至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,包括:至少以所述一个或多个加噪声的文本作为训练数据,对文本处理模型进行训练。
在一种可选的实现中,所述方法还包括:获取待识别语音;根据第二语音识别模型对所述待识别语音进行处理,得到识别文本;根据所述训练后的文本处理模型,对所述识别文本进行处理,得到处理结果。
其中,第一语音识别模型和第二语音识别模型可以是同一个语音识别模型,也可以是不同的语音识别模型。噪声生成模型可以学习到第一语音识别模型的性能,在面对同样的输入文本时,可以输出和第一语音识别模型相似的输出文本,相应的,训练后的文本处理模型可以对第一语音识别模型的输出具有更强的鲁棒性,若第一语音识别模型和第二语音识别模型是同一个语音识别模型,此时,文本处理模型对第二语音模型的输出的数据处理效果相比第一语音识别模型和第二语音识别模型不是同一个语音识别模型时,效果会更好。
在一种可选的实现中,所述噪声生成模型为如下的至少一种:双向长短期记忆网络lstm、gpt(generativepre-training)模型以及lasertagger模型。
第二方面,本申请提供了一种模型训练方法,所述方法包括:获取语音数据以及第一文本,所述第一文本为所述语音数据对应的正确文本;基于第一语音识别模型对所述语音数据进行处理,得到第二文本;以所述第一文本以及所述第二文本作为训练数据,对初始噪声生成模型进行训练,得到噪声生成模型。
在一种可选的实现中,所述以所述第一文本以及所述第二文本作为训练数据,对所述初始噪声生成模型进行训练,包括:
根据所述初始噪声生成模型对所述第一文本进行处理,得到输出文本;
根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型。
在一种可选的实现中,所述噪声生成模型以及所述初始噪声生成模型为如下的至少一种:双向长短期记忆网络lstm、gpt(generativepre-training)模型以及lasertagger模型。
第三方面,本申请提供了一种文本数据处理方法,包括:
获取待识别语音;
根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本;
根据训练后的文本处理模型,对所述识别文本进行处理,得到处理结果;其中,在训练所述文本处理模型的过程中,所述文本处理模型的训练数据至少包括加噪声的文本,所述加噪声的文本为根据噪声生成模型,对目标文本进行处理得到的;在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本。
在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述训练后的文本处理模型用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,
所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
第四方面,本申请提供了一种文本数据处理装置,包括:
获取模块,用于获取目标文本;
文本加噪模块,用于根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;
训练模块,用于至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述训练后的文本处理模型用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,
所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
在一种可选的实现中,所述文本加噪模块,用于根据噪声生成模型,对所述目标文本进行处理,得到多个加噪声的文本,以及每个加噪声的文本的置信度;根据所述置信度,从所述多个加噪声的文本选择一个或多个加噪声的文本;所述训练模块,用于至少以所述一个或多个加噪声的文本作为训练数据,对文本处理模型进行训练。
在一种可选的实现中,所述获取模块,用于获取待识别语音;
语音识别模块,用于根据第二语音识别模型对所述待识别语音进行处理,得到识别文本;
文本处理模块,用于根据所述训练后的文本处理模型,对所述识别文本进行处理,得到处理结果。
在一种可选的实现中,所述获取模块,用于获取所述语音数据以及所述第一文本;
所述语音识别模块,用于基于所述第一语音识别模型对所述语音数据进行处理,得到所述第二文本;根据初始噪声生成模型对所述第一文本进行处理,得到输出文本;
所述训练模块,用于根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型。
在一种可选的实现中,所述噪声生成模型为如下的至少一种:双向长短期记忆网络lstm、gpt(generativepre-training)模型以及lasertagger模型。
第五方面,本申请提供了一种模型训练装置,所述装置包括:
获取模块,用于获取语音数据以及第一文本,所述第一文本为所述语音数据对应的正确文本;
语音识别模块,用于基于第一语音识别模型对所述语音数据进行处理,得到第二文本;
训练模块,用于以所述第一文本以及所述第二文本作为训练数据,对初始噪声生成模型进行训练,得到噪声生成模型。
在一种可选的实现中,所述训练模块,用于根据所述初始噪声生成模型对所述第一文本进行处理,得到输出文本;
根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型。
在一种可选的实现中,所述噪声生成模型以及所述初始噪声生成模型为如下的至少一种:双向长短期记忆网络lstm、gpt(generativepre-training)模型以及lasertagger模型。
第六方面,本申请提供了一种文本数据处理装置,包括:
获取模块,用于获取待识别语音;
语音识别模块,用于根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本;
文本处理模块,用于根据训练后的文本处理模型,对所述识别文本进行处理,得到处理结果;其中,在训练所述文本处理模型的过程中,所述文本处理模型的训练数据至少包括加噪声的文本,所述加噪声的文本为根据噪声生成模型,对目标文本进行处理得到的;在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本。
在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述训练后的文本处理模型用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,
所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
第七方面,本申请提供了一种文本数据处理方法,包括:
获取待识别语音;
根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本;
根据文本纠错模型,对所述识别文本进行处理,得到去噪声的文本;其中,在训练所述文本纠错模型的过程中,所述文本纠错模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;
根据文本处理模型,对所述去噪声的文本进行处理,得到处理结果。
在一种可选的实现中,在所述文本纠错模型的输入包括所述第二文本的情况下,所述文本纠错模型的输出包括输出文本,且所述输出文本与所述第一文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
第八方面,本申请提供了一种文本数据处理装置,包括:
获取模块,用于获取待识别语音;
语音识别模块,用于根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本;
文本纠错模块,用于根据文本纠错模型,对所述识别文本进行处理,得到去噪声的文本;其中,在训练所述文本纠错模型的过程中,所述文本纠错模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;
文本处理模块,用于根据文本处理模型,对所述去噪声的文本进行处理,得到处理结果。
在一种可选的实现中,在所述文本纠错模型的输入包括所述第二文本的情况下,所述文本纠错模型的输出包括输出文本,且所述输出文本与所述第一文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
第九方面,本申请提供了一种文本数据处理装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面所述的方法。对于处理器执行第一方面的各个可能实现方式中的步骤,具体均可以参阅第一方面,此处不再赘述。
第十方面,本申请提供了一种模型训练装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面所述的方法。对于处理器执行第二方面的各个可能实现方式中的步骤,具体均可以参阅第二方面,此处不再赘述。
第十一方面,本申请提供了一种文本数据处理装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第三方面所述的方法。对于处理器执行第三方面的各个可能实现方式中的步骤,具体均可以参阅第三方面,此处不再赘述。
第十二方面,本申请提供了一种文本数据处理装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第七方面所述的方法。对于处理器执行第七方面的各个可能实现方式中的步骤,具体均可以参阅第七方面,此处不再赘述。
第十三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第十四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
第十五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第三方面所述的方法。
第十六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第七方面所述的方法。
第十七方面,本申请提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面所述的方法。
第十八方面,本申请提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第二方面所述的方法。
第十九方面,本申请提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第三方面所述的方法。
第二十方面,本申请提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第七方面所述的方法。
第二十一方面,本申请提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第二十二方面,本申请提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
第二十三方面,本申请提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第三方面所述的方法。
第二十四方面,本申请提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第七方面所述的方法。
第二十五方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器或门限值获取装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2a为一种自然语言处理系统;
图2b为另一种自然语言处理系统;
图2c为本申请实施例提供的自然语言处理的相关设备的示意图;
图3为本申请实施例提供的一种系统100架构的示意图;
图4a为本申请实施例提供的一种文本数据处理方法;
图4b为本申请实施例提供的一种文本数据处理方法;
图5a为本申请实施例提供的一种文本数据处理方法的流程示意;
图5b为本申请实施例提供的一种文本数据处理方法的架构示意;
图6为本申请实施例提供的一种模型训练方法的流程示意;
图7为本申请实施例提供的一种文本处理装置700的示意;
图8为本申请实施例提供的一种文本处理装置800的示意;
图9为本申请实施例提供的一种模型训练装置900的示意;
图10为本申请实施例提供的执行设备的一种结构示意图;
图11为本申请实施例提供的训练设备一种结构示意图;
图12为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“it价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“it价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(cpu、npu、gpu、asic、fpga等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、平安城市等。
接下来介绍几种本申请的应用场景。
图2a示出了一种自然语言处理系统,该自然语言处理系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为自然语言数据处理的发起端,作为语言问答或者查询等请求的发起方,通常用户通过用户设备发起请求。
上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的查询语句/语音/文本等问句,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在数据处理设备上,也可以在其它网络服务器上。
在图2a所示的自然语言处理系统中,用户设备可以接收用户的指令,例如用户设备可以接收用户输入的一段文本,然后向数据处理设备发起请求,使得数据处理设备针对用户设备得到的该一段文本执行自然语言处理应用(例如文本分类、文本推理、命名实体识别、翻译等),从而得到针对该一段文本的对应的自然语言处理应用的处理结果(例如处理结果、推理结果、命名实体识别结果、翻译结果等)。示例性的,用户设备可以接收用户输入的一段中文,然后向数据处理设备发起请求,使得数据处理设备对该一段中文进行实体分类,从而得到针对该一段中文的实体处理结果;示例性的,用户设备可以接收用户输入的一段中文,然后向数据处理设备发起请求,使得数据处理设备将该一段中文翻译成英文,从而得到针对该一段中文的英文译文。
在图2a中,数据处理设备可以执行本申请实施例的文本数据处理方法。
图2b示出了另一种自然语言处理系统,在图2b中,用户设备直接作为数据处理设备,该用户设备能够直接接收来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图2a相似,可参考上面的描述,在此不再赘述。
在图2b所示的自然语言处理系统中,用户设备可以接收用户的指令,例如用户设备可以接收用户发出的语音,然后生成语音对应的一段文本,然后再由用户设备自身针对该一段文本执行自然语言处理应用(例如文本分类、文本推理、命名实体识别、翻译等),从而得到针对该一段文本的对应的自然语言处理应用的处理结果(例如处理结果、推理结果、命名实体识别结果、翻译结果等)。
在图2b中,用户设备自身就可以执行本申请实施例的文本数据处理方法。
图2c是本申请实施例提供的自然语言处理的相关设备的示意图。
上述图2a和图2b中的用户设备具体可以是图2c中的本地设备301或者本地设备302,图2a中的数据处理设备具体可以是图2c中的执行设备210,其中,数据存储系统250可以存储执行设备210的待处理数据,数据存储系统250可以集成在执行设备210上,也可以设置在云上或其它网络服务器上。
图2a和图2b中的处理器可以通过神经网络模型或者其它模型(例如,基于支持向量机的模型)进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型针对文本序列执行自然语言处理应用(例如文本分类、序列标注、阅读理解、文本生成、文本推理、翻译等),从而得到相应的处理结果。
图3是本申请实施例提供的一种系统100架构的示意图,在图3中,执行设备110配置输入/输出(input/output,i/o)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向i/o接口112输入数据,所述输入数据在本申请实施例中可以包括:各个待调度任务、可调用资源以及其他参数。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理(比如进行本申请中神经网络的功能实现)过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,i/o接口112将处理结果返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则,该相应的目标模型/规则即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。其中,训练数据可以存储在数据库130中,且来自于数据采集设备160采集的训练样本。
在图3中所示情况下,用户可以手动给定输入数据,该手动给定可以通过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。
值得注意的是,图3仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。如图3所示,可以根据训练设备120训练得到神经网络。
本申请实施例还提供的一种芯片,该芯片包括神经网络处理器npu。该芯片可以被设置在如图3所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图3所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则。
神经网络处理器npu,npu作为协处理器挂载到主中央处理器(centralprocessingunit,cpu)(hostcpu)上,由主cpu分配任务。npu的核心部分为运算电路,控制器控制运算电路提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路内部包括多个处理单元(processengine,pe)。在一些实现中,运算电路是二维脉动阵列。运算电路还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路是通用的矩阵处理器。
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)中。
向量计算单元可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元可以用于神经网络中非卷积/非fc层的网络计算,如池化(pooling),批归一化(batchnormalization),局部响应归一化(localresponsenormalization)等。
在一些实现种,向量计算单元能将经处理的输出的向量存储到统一缓存器。例如,向量计算单元可以将非线性函数应用到运算电路的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器(directmemoryaccesscontroller,dmac)将外部存储器中的输入数据搬运到输入存储器和/或统一存储器、将外部存储器中的权重数据存入权重存储器,以及将统一存储器中的数据存入外部存储器。
总线接口单元(businterfaceunit,biu),用于通过总线实现主cpu、dmac和取指存储器之间进行交互。
与控制器连接的取指存储器(instructionfetchbuffer),用于存储控制器使用的指令;
控制器,用于调用指存储器中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器,输入存储器,权重存储器以及取指存储器均为片上(on-chip)存储器,外部存储器为该npu外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)、高带宽存储器(highbandwidthmemory,hbm)或其他可读可写的存储器。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activationfunctions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
神经网络中的每一层的工作可以用数学表达式
因为希望神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
(2)反向传播算法
神经网络可以采用误差反向传播(backpropagation,bp)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
(3)自然语言处理(naturallanguageprocessing,nlp)
自然语言(naturallanguage)即人类语言,自然语言处理(nlp)就是对人类语言的处理。自然语言处理是以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用nlp及其组件,我们可以管理非常大块的文本数据,或者执行大量的自动化任务,并且解决各式各样的问题,如自动摘要(automaticsummarization),机器翻译(machinetranslation,mt),命名实体识别(namedentityrecognition,ner),关系提取(relationextraction,re),信息抽取(informationextraction,ie),情感分析,语音识别(speechrecognition),问答系统(questionanswering)以及主题分割等等。
示例性的,自然语言处理任务可以有以下几类。
序列标注:句子中每一个单词要求模型根据上下文给出一个分类类别。如中文分词、词性标注、命名实体识别、语义角色标注。
分类任务:整个句子输出一个分类值,如文本分类。
句子关系推断:给定两个句子,判断这两个句子是否具备某种名义关系。例如entilment、qa、语义改写、自然语言推断。
生成式任务:输出一段文本,生成另一段文本。如机器翻译、文本摘要、写诗造句、看图说话。
下面示例性的列举一些自然语言处理案例。
分词(wordsegmentation或wordbreaker,wb):将连续的自然语言数据,切分成具有语义合理性和完整性的词汇序列,可以解决交叉歧义问题。例句:致毕业和尚未毕业的同学;分词1:致毕业和尚未毕业的同学;分词2:致毕业和尚未毕业的同学。
命名实体识别(namedentityrecognition,ner):识别自然语言数据中具有特定意义的实体(人、地、机构、时间、作品等),可以从粒度整合未登录体词。例句:天使爱美丽在线观看;分词:天使爱美丽在线观看;实体:天使爱美丽->电影。
词性标注(part-speechtagging):为自然语言数据中的每个词汇赋予一个词性(名词、动词、形容词等);依存句法分析(dependencyparsing):自动分析句子中的句法成分(主语、谓语、宾语、定语、状语和补语等成分),可以解决结构歧义问题。评论:房间里还可以欣赏日出;歧义1:房间还可以;歧义2:可以欣赏日出;词性:房间里(主语),还可以(谓语),欣赏日出(动宾短语)。
词向量与语义相似度(wordembedding&semanticsimilarity):对词汇进行向量化表示,并据此实现词汇的语义相似度计算,可以解决词汇语言相似度。例如:西瓜与(呆瓜/草莓),哪个更接近?向量化表示:西瓜(0.1222,0.22333,..);相似度计算:呆瓜(0.115)草莓(0.325);向量化表示:(-0.333,0.1223..)(0.333,0.3333,..)。
文本语义相似度(textsemanticsimilarity):依托全网海量数据和深度神经网络技术,实现文本间的语义相似度计算的能力,可以解决文本语义相似度问题。例如:车头如何防止车牌与(前牌照怎么装/如何办理北京牌照),哪个更接近?向量化表示:车头如何防止车牌(0.1222,0.22333,..);相似度计算:前牌照怎么装(0.762),如何办理北京牌照(0.486),向量化表示:(-0.333,0.1223..)(0.333,0.3333,..)。
(4)语言模型(languagemodel,lm)
语言模型是npl中的基础模型,通过大量语料训练学习,使得lm能够根据已有的信息(例如上下文中已经出现过的词等文本信息)来推测未知词的概率,也可以理解为lm是用来计算一个句子的概率的概率模型。换句话说,语言模型是自然语言数据序列的概率分布,表征特定长度特定序列文本存在的可能性。简而言之,语言模型即是根据上下文去预测下一个词是什么,由于不需要人工标注语料,因此语言模型能够从无限制的大规模语料中学习到丰富的语义知识。
(5)大规模预训练语言模型(largescalepretrainedlanguagemodel)
大规模预训练语言模型,也可称为大规模语言预训练模型,一般是指使用大规模的语料(例如句子,段落等语言训练素材),设计语言模型训练任务,训练大规模的神经网络算法结构来学习实现,最终得到的大规模神经网络算法结构就是大规模预训练语言模型,后续有其它任务可以在该模型的基础上进行特征抽取或者任务微调来实现特定任务目的。预训练的思想就是先对一个任务进行训练得到一套模型参数,然后利用该套模型参数对网络模型参数进行初始化,再利用经初始化的网络模型对其他任务进行训练,得到其他任务适配的模型。通过在大规模的语料上进行预训练,神经语言表示模型可以学习到强大语言表示能力,能够从文本中抽取出丰富的句法、语义信息。大规模预训练语言模型可以提供包含丰富语义信息的token以及句子级的特征供下游任务使用,或者直接在预训练模型上进行针对下游任务的微调(fine-tune),方便快捷地得到下游专属模型。
下面从神经网络的训练侧和神经网络的应用侧对本申请提供的方法进行描述。
本申请实施例提供的神经网络的训练方法,涉及自然语言数据的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的加噪声的文本)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的文本处理模型;并且,本申请实施例提供的文本数据处理方法可以运用上述训练好的文本处理模型,将输入数据(如本申请中目标文本以及加噪声的文本)输入到所述训练好的文本处理模型中,得到输出数据(如本申请中文本处理模型的处理结果)。需要说明的是,本申请实施例提供的文本处理模型的训练方法和文本处理方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
参见图4a,图4a为本申请实施例提供的一种文本数据处理方法,如图4a中示出的那样,本实施例提供的文本数据处理方法包括:
401、获取目标文本。
本申请实施例中,训练设备可以获取目标文本;其中,目标文本可以是语音数据中所表达的文本,其中,语音数据可以使用公开的语音识别数据集或者通过人工采集的方式获取。该目标文本可以是语音数据所表达的正确的文本。
402、根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本。
本申请实施例中,训练设备在获取到目标文本之后,可以根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;接下来描述如何训练噪声生成模型:
本申请实施例中,训练设备可以获取所述语音数据以及第一文本,并基于第一语音识别模型对所述语音数据进行处理,得到第二文本,根据初始噪声生成模型对所述第一文本进行处理,得到输出文本,根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型。
具体的,基于第一语音识别模型对所述语音数据进行处理可以得到识别结果,由于语音识别模型得到识别结果并不一定是准确的。例如,“whereareyougoing?”这句话经过第一语音识别模型处理得到的识别结果可以为“whatareyougoing?”。
当识别结果不准确时,识别结果为和第一文本(正确结果)不同的第二文本,本实施例中,训练设备可以将基于第一语音识别模型对所述语音数据进行处理得到的结果(第二文本)与标准句子(第一文本)组成句子对,利用标准-噪声句子对,训练噪声生成模型。
可选的,本实施例中的噪声生成模型可以是文本生成模型,也可以是文本编辑模型。其中,文本生成模型可以为双向(longshort-termmemory,lstm)、gpt(generativepre-training)模型等。文本编辑模型可以为google的lasertagger模型等。
其中,文本生成模型的输入为目标文本的各个分词的序列,输出为加噪声的文本的各个分词的序列;文本编辑模型的输入为目标文本的各个分词的序列,输出为对输入文本的修改方式,基于修改方式可以将输入文本修改为加噪声的文本。
对于训练好的模型,输入正确的文本,可以生成带有可能的语音识别错误的句子。比如:输入“thepriesttiedtheknot.”,模型可以生成“thepriesttoldtheknot.”、“thepriesttiedthenight.”等,这些句子发音跟原始句子都比较接近,属于语音识别系统可能发生的错误。
本申请实施例中,可以根据噪声生成模型,对所述目标文本进行处理,得到多个加噪声的文本,以及每个加噪声的文本的置信度;根据所述置信度,从所述多个加噪声的文本选择一个或多个加噪声的文本。例如,可以选择置信度最高的加噪声的文本,或者置信度前几的加噪声的文本。
本申请实施例中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。具体的,所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内;和/或,所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
可选的,本申请实施例中,可以将得到的加噪声的文本与目标文本对比,按照发音序列的编辑率筛选出对抗样本。这个步骤主要是为了滤除包含过多噪声的样本,这些样本会对下游的文本处理模型产生比较大的负面影响。发音序列可以通过语言学词典获取,比如,中文可以用拼音表示,英文可以用音标表示。以英文为例,“thepriesttiedtheknot.”的发音序列为:['dh','ah0','p','r','iy1','s','t','t','ay1','d','dh','ah0','n','aa1','t']。编辑距离指两个字串之间,由一个转成另一个所需的最少编辑操作次数。允许的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑率是编辑距离除以目标文本的长度,目标文本的长度可以用目标文本的单词数表示,本实施例可以用编辑率衡量噪声生成模型生成的噪声句子相比原始句子的噪声程度,通过设置阈值,过滤掉平均编辑率大于阈值的加噪声的文本。
比如:原始句子为“thepriesttiedtheknot.”,发音序列为:['dh','ah0','p','r','iy1','s','t','t','ay1','d','dh','ah0','n','aa1','t']。生成的加噪声的文本包括:
“thepriesttoldtheknot.”,发音序列为:['dh','ah0','p','r','iy1','s','t','t','uw1','y','uw1','y','uw1']。编辑率为0.4。
“thepriesttoyou,you.”,发音序列为:['dh','ah0','p','r','iy1','s','t','t','uw1','y','uw1','y','uw1’]。编辑率为1.4。若设置阈值为1.0可过滤第二个加噪声的文本。
示例性的,在一种具体的实现中,参照图4b,可以收集公开的语音识别数据集,如commonvoice,用现有的自动语音识别(automaticspeechrecognition,asr)系统对其中的语音数据进行语音识别,获取语音识别结果。过滤出识别错误的样本(第二文本)。如:语音数据对应的正确文本(第一文本)为“thevaletlefttheroom.”,asr识别结果(第二文本)为“thevalleylefttheroom.”。之后可将第一文本-第二文本组织成如下的形式:ori[sep]asr[eos],并对gpt-2small模型进行微调fine-tune,得到噪声生成模型。利用得到的噪声生成模型生成多个候选句子,计算与原句子的发音编辑率,保留小于等于1.0的候选句子。并将得到的句子与原句对应的目标语言句子组成新的训练样本。对于训练得到的噪声生成模型,输入目标文本(例如thepriesttiedtheknot.),可以得到多个加噪声的文本(thepriesttiedtheknot.、thepriestdowntheknot.、thepriesttoyou,you.、thepriesttiedtheknight.、thepriesttiedtheknotdot.),可以将和目标文本差距过大的文本剔除(例如剔除thepriesttoyou,you.、thepriesttiedtheknotdot.),进而得到多个过滤后的加噪声的文本。
403、至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
本申请实施例中,可以以所述加噪声的文本与下游任务训练样本(正确的文本)一起训练文本处理模型。可选的,可以选择将干净样本(正确的文本)和加噪声的文本混合后一起从头训练文本处理模型,也可以先用干净样本(正确的文本)训练文本处理模型到收敛,然后在干净样本和对抗样本的合集上微调文本处理模型。
本申请实施例中,在得到训练后的文本处理模型之后,可以获取待识别语音,根据所述第二语音识别模型对所述待识别语音进行处理,得到识别文本,根据所述训练后的文本处理模型,对所述识别文本进行处理,得到处理结果。
本申请实施例中,所述训练后的文本处理模型可以用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
应理解,步骤401、402以及403的执行主体可以为终端设备,也可以为云侧的服务器,步骤401、402以及403也可以通过终端设备和服务器进行数据处理以及之间的交互得到。
可选的,终端设备可以获取目标文本;并将目标文本发送至服务器,服务器根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
可选的,终端设备可以获取目标文本;并根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;终端设备可以将加噪声的文本发送至服务器,服务器可以至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
可选的,终端设备可以获取目标文本;根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
可选的,服务器可以获取目标文本;并将目标文本发送至终端设备,终端设备根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;终端设备可以将加噪声的文本发送至服务器,服务器可以至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
可选的,服务器可以获取目标文本;并将目标文本发送至终端设备,终端设备噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
可选的,服务器可以获取目标文本;根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;服务器可以将加噪声的文本发送至终端设备,终端设备可以至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
可选的,服务器可以获取目标文本;根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
以文本处理模型用于进行文本翻译为例,本实施例在两个数据集上进行了评价,分别是stw会议数据集和msltv1.1公开数据集。评价指标为bleu(bilingualevaluationunderstudy)值。
分别训练了2个不同规模的文本处理模型,实验结果为如下表所示:
对比实验结果,可以看到本实施例在多个数据集上均有显著提升。
本申请实施例提供了一种文本数据处理方法,包括:获取目标文本;根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。本申请实施例中的噪声生成模型由于是基于第一语音识别模型的识别结果进行训练得到的,相比于基于规则和词替换的带噪样本生成方法,使用噪声生成模型生成的带噪样本更能反映真实的噪声生成模型的错误。
参照图5a,图5a为本申请实施例提供的一种文本数据处理方法的流程示意,如图5a中示出的那样,本申请实施例提供的文本处理方法包括:
501、获取待识别语音。
本申请实施例中,可以获取待识别语音,其中,待识别语音可以为音频传感器采集用户的语音得到的,或者是用户上传的语音数据。
502、根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本。
具体的,基于第二语音识别模型对所述语音数据进行处理可以得到识别结果,由于第二语音识别模型得到识别结果并不一定是准确的。例如,“whereareyougoing?”这句话经过语音识别模型处理得到的识别结果可以为“whatareyougoing?”。
503、根据训练后的文本处理模型,对所述识别文本进行处理,得到处理结果;其中,在训练所述文本处理模型的过程中,所述文本处理模型的训练数据至少包括加噪声的文本,所述加噪声的文本为根据噪声生成模型,对目标文本进行处理得到的;在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过所述第一语音识别模型对所述语音数据进行语音识别得到的文本。
本申请实施例中,所述训练后的文本处理模型可以用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
步骤503中训练后的文本处理模型可以参照图4a对应的实施例中步骤403的描述,这里不再赘述。在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种实现中,本申请实施例还提供了一种文本数据处理方法,包括:获取待识别语音,根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本。上述步骤的具体描述可以参照步骤501和步骤502的描述,这里不再赘述。
本申请实施例中,可以根据文本纠错模型,对所述识别文本进行处理,得到去噪声的文本;其中,在训练所述文本纠错模型的过程中,所述文本纠错模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过所述第一语音识别模型对所述语音数据进行语音识别得到的文本;在一种可选的实现中,在所述文本纠错模型的输入包括所述第二文本的情况下,所述文本纠错模型的输出包括输出文本,且所述输出文本与所述第一文本之间的差异在预设范围内。所述第一文本和所述第二文本为不同的文本。
本申请实施例中,可以根据文本处理模型,对所述去噪声的文本进行处理,得到处理结果。
参见图5b,图5b为本申请实施例提供的一种文本数据处理方法的架构示意,如图5b中示出的那样,可以从asr语料中获取语音数据以及对应的正确文本(第一文本),并基于asr对获取到的语音数据进行处理,以得到第二文本,并将第一文本和第二文本构成clean-noisypairs,基于clean-noisypairs训练噪声生成模型,并获取下游任务训练集(即训练文本处理模型的训练数据集),基于噪声生成模型对训练数据集进行数据增强(即进行加噪声处理),得到加噪声的带噪样本,之后从带噪样本中选择和未进行加噪处理的样本之间的差异小于预设值的样本,将选择的带噪样本作为对抗样本和下游任务训练集一起训练下游任务模型(即文本处理模型),得到训练后的文本处理模型。
如图5b中所示,还可以获取asr的输出(第二文本),并通过纠错模型对第二文本进行纠错处理,以得到去噪声的文本,并通过下游任务模型(即文本处理模型)对去噪声的文本进行处理,以得到处理结果。
参照图6,图6为本申请实施例提供的一种模型训练方法的流程示意,如图6中示出的那样,本申请实施例提供的模型训练方法包括:
601、获取语音数据以及第一文本,所述第一文本为所述语音数据对应的正确文本;
602、基于第一语音识别模型对所述语音数据进行处理,得到第二文本;
603、以所述第一文本以及所述第二文本作为训练数据,对初始噪声生成模型进行训练,得到噪声生成模型。
具体的,基于第一语音识别模型对所述语音数据进行处理可以得到识别结果,由于语音识别模型得到识别结果并不一定是准确的。例如,“whereareyougoing?”这句话经过语音识别模型处理得到的识别结果可以为“whatareyougoing?”。
当识别结果不准确时,识别结果为和第一文本(正确结果)不同的第二文本,本实施例中,训练设备可以将基于第一语音识别模型对所述语音数据进行处理得到的结果(第二文本)与标准句子(第一文本)组成句子对,利用标准-噪声句子对,训练噪声生成模型。
可选的,本实施例中的噪声生成模型可以是文本生成模型,也可以是文本编辑模型。其中,文本生成模型可以为双向(longshort-termmemory,lstm)、gpt(generativepre-training)模型等。文本编辑模型可以为google的lasertagger模型等。
其中,文本生成模型的输入为目标文本的各个分词的序列,输出为加噪声的文本的各个分词的序列;文本编辑模型的输入为目标文本的各个分词的序列,输出为对输入文本的修改方式,基于修改方式可以将输入文本修改为加噪声的文本。
对于训练好的模型,输入正确的文本,可以生成带有可能的语音识别错误的句子。比如:输入“thepriesttiedtheknot.”,模型可以生成“thepriesttoldtheknot.”、“thepriesttiedthenight.”等,这些句子发音跟原始句子都比较接近,属于语音识别系统可能发生的错误。
本申请实施例中,可以根据噪声生成模型,对所述目标文本进行处理,得到多个加噪声的文本,以及每个加噪声的文本的置信度;根据所述置信度,从所述多个加噪声的文本选择一个或多个加噪声的文本。例如,可以选择置信度最高的加噪声的文本,或者置信度前几的加噪声的文本。
接下来从装置的角度对本申请实施例提供的文本处理装置进行描述,参照图7,图7为本申请实施例提供的一种文本处理装置700的示意,如图7中示出的那样,本申请实施例提供的一种文本处理装置700,包括:
获取模块701,用于获取目标文本;
文本加噪模块702,用于根据噪声生成模型,对所述目标文本进行处理,得到加噪声的文本;其中,在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过第一语音识别模型对所述语音数据进行语音识别得到的文本;
训练模块703,用于至少以所述加噪声的文本作为训练数据,对文本处理模型进行训练,得到训练后的文本处理模型。
在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述训练后的文本处理模型用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,
所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
在一种可选的实现中,所述文本加噪模块,用于根据噪声生成模型,对所述目标文本进行处理,得到多个加噪声的文本,以及每个加噪声的文本的置信度;根据所述置信度,从所述多个加噪声的文本选择一个或多个加噪声的文本;所述训练模块,用于至少以所述一个或多个加噪声的文本作为训练数据,对文本处理模型进行训练。
在一种可选的实现中,所述获取模块,用于获取待识别语音;
语音识别模块,用于根据第二语音识别模型对所述待识别语音进行处理,得到识别文本;
文本处理模块,用于根据所述训练后的文本处理模型,对所述识别文本进行处理,得到处理结果。
在一种可选的实现中,所述获取模块,用于获取所述语音数据以及所述第一文本;
所述语音识别模块,用于基于所述第一语音识别模型对所述语音数据进行处理,得到所述第二文本;根据初始噪声生成模型对所述第一文本进行处理,得到输出文本;
所述训练模块,用于根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型。
在一种可选的实现中,所述噪声生成模型为如下的至少一种:双向长短期记忆网络lstm、gpt(generativepre-training)模型以及lasertagger模型。
参照图8,图8为本申请实施例提供的一种文本处理装置800的示意,如图8中示出的那样,本申请实施例提供的一种文本处理装置800,包括:
获取模块801,用于获取待识别语音;
语音识别模块802,用于根据第二语音识别模型,对所述待识别语音进行处理,得到识别文本;
文本处理模块803,用于根据训练后的文本处理模型,对所述识别文本进行处理,得到处理结果;其中,在训练所述文本处理模型的过程中,所述文本处理模型的训练数据至少包括加噪声的文本,所述加噪声的文本为根据噪声生成模型,对目标文本进行处理得到的;在训练所述噪声生成模型的过程中,所述噪声生成模型的训练数据至少包括第一文本以及第二文本,所述第一文本为语音数据对应的正确文本,所述第二文本为通过所述第一语音识别模型对所述语音数据进行语音识别得到的文本。
在一种可选的实现中,在所述噪声生成模型的输入包括所述第一文本的情况下,所述噪声生成模型的输出包括输出文本,且所述输出文本与所述第二文本之间的差异在预设范围内。
在一种可选的实现中,所述训练后的文本处理模型用于实现如下任务的至少一种:文本翻译、文本语义识别、文本分类、自动问答、信息推荐以及文本情感识别。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的差异在预设范围内。
在一种可选的实现中,所述第一文本和所述第二文本为不同的文本。
在一种可选的实现中,所述目标文本和所述加噪声的文本之间的发音差异在预设范围内;和/或,
所述目标文本包括的字符串和所述加噪声的文本包括的字符串的差异在预设范围内。
参照图9,图9为本申请实施例提供的一种模型训练装置900的示意,如图9中示出的那样,本申请实施例提供的一种模型训练装置900,包括:
获取模块901,用于获取语音数据以及第一文本,所述第一文本为所述语音数据对应的正确文本;
语音识别模块902,用于基于第一语音识别模型对所述语音数据进行处理,得到第二文本;
训练模块903,用于以所述第一文本以及所述第二文本作为训练数据,对初始噪声生成模型进行训练,得到噪声生成模型。
在一种可选的实现中,所述训练模块903,用于根据所述初始噪声生成模型对所述第一文本进行处理,得到输出文本;
根据所述输出文本和所述第二文本,获取损失,并基于所述损失,更新所述初始噪声生成模型,直到所述损失满足预设条件,得到所述噪声生成模型。
在一种可选的实现中,所述噪声生成模型以及所述初始噪声生成模型为如下的至少一种:双向长短期记忆网络lstm、gpt(generativepre-training)模型以及lasertagger模型。
接下来介绍本申请实施例提供的一种执行设备,请参阅图10,图10为本申请实施例提供的执行设备的一种结构示意图,执行设备1000具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。其中,执行设备1000上可以部署有图10对应实施例中所描述的数据处理装置,用于实现图10对应实施例中数据处理的功能。具体的,执行设备1000包括:接收器1001、发射器1002、处理器1003和存储器1004(其中执行设备1000中的处理器1003的数量可以一个或多个,图10中以一个处理器为例),其中,处理器1003可以包括应用处理器10031和通信处理器10032。在本申请的一些实施例中,接收器1001、发射器1002、处理器1003和存储器1004可通过总线或其它方式连接。
存储器1004可以包括只读存储器和随机存取存储器,并向处理器1003提供指令和数据。存储器1004的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccessmemory,nvram)。存储器1004存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1003控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1003中,或者由处理器1003实现。处理器1003可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1003可以是通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、微处理器或微控制器,还可进一步包括专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1003可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1004,处理器1003读取存储器1004中的信息,结合其硬件完成上述方法的步骤。
接收器1001可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1002可用于通过第一接口输出数字或字符信息;发射器1002还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1002还可以包括显示屏等显示设备。
本申请实施例中,在一种情况下,处理器1003,用于执行图5a对应实施例中的执行设备执行的文本数据处理方法。
本申请实施例还提供了一种训练设备,请参阅图11,图11是本申请实施例提供的训练设备一种结构示意图,具体的,训练设备1100由一个或多个服务器实现,训练设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1111(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器1111可以设置为与存储介质1130通信,在训练设备1100上执行存储介质1130中的一系列指令操作。
训练设备1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158;或,一个或一个以上操作系统1141,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。
具体的,训练设备可以执行图4a以及图6对应的实施例中的步骤。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的数据处理方法,或者,以使训练设备内的芯片执行上述实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)等。
具体的,请参阅图12,图12为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器npu1200,npu1200作为协处理器挂载到主cpu(hostcpu)上,由hostcpu分配任务。npu的核心部分为运算电路1203,通过控制器1204控制运算电路1203提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1203内部包括多个处理单元(processengine,pe)。在一些实现中,运算电路1203是二维脉动阵列。运算电路1203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1203是通用的矩阵处理器。
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器1202中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器1201中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1208中。
统一存储器1206用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(directmemoryaccesscontroller,dmac)1205,dmac被搬运到权重存储器1202中。输入数据也通过dmac被搬运到统一存储器1206中。
biu为businterfaceunit即,总线接口单元1210,用于axi总线与dmac和取指存储器(instructionfetchbuffer,ifb)1209的交互。
总线接口单元1210(businterfaceunit,简称biu),用于取指存储器1209从外部存储器获取指令,还用于存储单元访问控制器1205从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器1206或将权重数据搬运到权重存储器1202中或将输入数据数据搬运到输入存储器1201中。
向量计算单元1207包括多个运算处理单元,在需要的情况下,对运算电路1203的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如batchnormalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1207能将经处理的输出的向量存储到统一存储器1206。例如,向量计算单元1207可以将线性函数;或,非线性函数应用到运算电路1203的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1207生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1203的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1204连接的取指存储器(instructionfetchbuffer)1209,用于存储控制器1204使用的指令;
统一存储器1206,输入存储器1201,权重存储器1202以及取指存储器1209均为on-chip存储器。外部存储器私有于该npu硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除