训练数据更新方法及系统、语音识别方法及系统、设备与流程
本发明涉及语音识别领域,特别涉及一种语音识别模型的训练数据更新方法及系统、语音识别方法及系统、电子设备以及存储介质。
背景技术:
目前,针对场景模型建模的技术,主要包括全景建模策略和增量建模策略,这些策略都是基于gmm-hmm(高斯混合模型-隐马尔科夫模型)、dnn-hmm(深度神经网络-隐马尔科夫模型)、deepspeech2(一种采用端到端自动语音识别引擎的开源项目)为代表的声学模型建模技术:
1)全量建模策略,是直接按照全场景训练的模型,将训练完成的模型直接用于线上服务以及离线服务,然后每隔一段时间进行人工测试和抽检模型,以确认是否能够覆盖全场景。
2)增量建模策略,是先给全场景下的每个子场景分别构建一个子场景数据集,然后将数据集合并建立一个模型,利用该模型对未标注的数据集进行预测,预测完之后让人工审核和标注,这样逐步发现该模型存在的不足,通过一次又一次的迭代完成新词的补充。
但是,由于现在ota(在线旅行社)行业的全场景语音识别存在子场景(例如酒店、旅游、机票等)业务复杂、数量繁多且存在中英文混合专业术语等的特点,利用上述两种建模策略通过人工补充核心词的方式更新语音识别模型会导致更新效率低下,进而影响语音识别的准确率。
技术实现要素:
本发明要解决的技术问题是为了克服现有技术中通过人工补充核心词存在模型更新效率低下进而影响语音识别准确率的缺陷,提供一种语音识别模型的训练数据更新方法及系统、语音识别方法及系统、电子设备以及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明的第一方面提供一种语音识别模型的训练数据更新方法,包括以下步骤:
将目标场景下的目标音频数据输入第一语音识别模型,得到第一文本;
将所述目标音频数据输入第二语音识别模型,得到第二文本;
比较所述第一文本和所述第二文本,得到目标核心词;其中,所述目标核心词由所述第一语音识别模型识别得到;
根据所述目标核心词在所述目标音频数据中的目标位置,从包括所述目标位置以及所述目标位置附近的部分目标音频数据中选取标注数据;其中,所述标注数据包括所述目标位置的音频数据;
将所述标注数据以及对应的标注文本更新至所述第二语音识别模型的训练数据中。
较佳地,所述训练数据更新方法还包括:
选取目标场景下指定日期区间内的所有通话数据作为目标音频数据。
较佳地,所述比较所述第一文本和所述第二文本,得到目标核心词的步骤包括:
从所述第一文本的分词结果中去除与所述第二文本的分词结果相同的词语,得到目标核心词。
较佳地,所述第一文本包括若干与通话id一一对应的转写文本;所述训练数据更新方法还包括:
筛选包括所述目标核心词的所有转写文本,并记录对应的目标通话id;
将与所述目标通话id对应的通话数据分别输入所述第一语音识别模型和所述第二语音识别模型,得到第三文本和第四文本;
根据所述第三文本和所述第四文本获取所述目标核心词在所述目标音频数据中的目标位置。
较佳地,所述从包括所述目标位置以及所述目标位置附近的部分目标音频数据选取标注数据的步骤包括:
获取包括所述目标位置以及所述目标位置附近的部分目标音频数据;
分别计算所述第一语音识别模型和所述第二语音识别模型对所述部分目标音频数据的转写正确率;
根据所述转写正确率从部分目标音频数据中选取标注数据。
本发明的第二方面提供一种语音识别模型的训练数据更新系统,包括:
第一输入模块,用于将目标场景下的目标音频数据输入第一语音识别模型,得到第一文本;
第二输入模块,用于将所述目标音频数据输入第二语音识别模型,得到第二文本;
文本比较模块,用于比较所述第一文本和所述第二文本,得到目标核心词;其中,所述目标核心词由所述第一语音识别模型识别得到;
标注数据选取模块,用于根据所述目标核心词在所述目标音频数据中的目标位置,从包括所述目标位置以及所述目标位置附近的部分目标音频数据中选取标注数据;其中,所述标注数据包括所述目标位置的音频数据;
训练数据更新模块,用于将所述标注数据以及对应的标注文本更新至所述第二语音识别模型的训练数据中。
较佳地,所述训练数据更新系统还包括:
通话数据选取模块,用于选取目标场景下指定日期区间内的所有通话数据作为目标音频数据。
较佳地,所述文本比较模块具体用于从所述第一文本的分词结果中去除与所述第二文本的分词结果相同的词语,得到目标核心词。
较佳地,所述第一文本包括若干与通话id一一对应的转写文本;所述训练数据更新系统还包括目标位置获取模块,用于筛选包括所述目标核心词的所有转写文本,并记录对应的目标通话id;以及将与所述目标通话id对应的通话数据分别输入所述第一语音识别模型和所述第二语音识别模型,得到第三文本和第四文本;并根据所述第三文本和所述第四文本获取所述目标核心词在所述目标音频数据中的目标位置。
较佳地,所述标注数据选取模块包括:
获取单元,用于获取包括所述目标位置以及所述目标位置附近的部分目标音频数据;
计算单元,用于分别计算所述第一语音识别模型和所述第二语音识别模型对所述部分目标音频数据的转写正确率;
选取单元,用于根据所述转写正确率从部分目标音频数据中选取标注数据。
本发明的第三方面提供一种语音识别方法,包括以下步骤:
接收待识别的音频数据;
将所述待识别的音频数据输入第二语音识别模型,得到转写文本;
其中,所述第二语音识别模型是利用如第一方面所述的训练数据更新方法得到的训练数据训练得到。
本发明的第四方面提供一种语音识别系统,包括:
接收模块,用于接收待识别的音频数据;
识别模块,用于将所述待识别的音频数据输入第二语音识别模型,得到对应的文本;
其中,所述第二语音识别模型是利用如第一方面所述的训练数据更新方法得到的训练数据训练得到。
本发明的第五方面提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面所述的语音识别模型的训练数据更新方法或者第三方面所述的语音识别方法。
本发明的第六方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面所述的语音识别模型的训练数据更新方法或者第三方面所述的语音识别方法。
本发明的积极进步效果在于:利用第一语音识别模型发现目标核心词,并根据目标核心词在目标音频数据中的目标位置选取目标位置以及上下文的音频数据,将这些音频数据以及对应的正确标注文本更新至训练第二语音识别模型的训练数据中,以使得基于所述训练数据训练得到的第二语音识别模型能够识别出正确的目标核心词。另外,与现有技术中通过人工补充核心词的方式相比,本发明能够实现自动补充核心词,从而提高第二语音识别模型的更新效率,进而提高语音识别的准确率。
附图说明
图1为本发明实施例1提供的一种语音识别模型的训练数据更新方法的流程图。
图2为本发明实施例2提供的一种语音识别模型的训练数据更新系统的结构框图。
图3为本发明实施例5提供的一种电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种语音识别模型的训练数据更新方法,如图1所示,包括以下步骤:
步骤s101、将目标场景下的目标音频数据输入第一语音识别模型,得到第一文本。
在可选的一种实施方式中,步骤s101之前还包括:
步骤s100、选取目标场景下指定日期区间内的所有通话数据作为目标音频数据。本实施方式中,目标音频数据包括若干通电话的通话数据,每通电话具有唯一的通话id。在一个具体的例子中,指定日期区间为9月10日至9月12日。
其中,目标场景可以为ota网站新增的一些业务场景,例如购物场景或者银行业务场景等。
步骤s102、将所述目标音频数据输入第二语音识别模型,得到第二文本。
本实施方式中,第二语音识别模型基于预设的发音词典对目标音频数据进行识别。其中,预设的发音词典包括中文发音词典和英文发音词典。采用声母和韵母的方式构建出训练集中每个分词结果的发音音素,从而完成中文发音词典的构建。英文发音词典采用卡内基梅隆大学的cmu发音词典,如果cmu发音词典中没有训练集中的英文单词,则利用g2p模型将英文单词转换为对应的发音因素,从而对英文发音词典进行完善。
步骤s103、比较所述第一文本和所述第二文本,得到目标核心词;其中,所述目标核心词由所述第一语音识别模型识别得到。
需要说明的是,第一语音识别模型能够识别出目标场景下的目标核心词,因此利用第一语音识别模型对目标音频数据进行识别得到的结果即第一文本中包括目标核心词。而第二语音识别模型识别不出目标核心词,因此利用第二语音识别模型对目标音频数据进行识别得到的结果即第二文本中不包括目标核心词。
在具体实施的一个例子中,在预设的发音词典中增加用于代表核心词的词语<unk>,其发音音素为unk。第二语音识别模型用于将不在预设的发音词典中的词语均识别为<unk>。
其中,第一语音识别模型识别出的目标核心词有可能是正确的,也有可能是错误的。在一个具体的例子中,目标场景为银行业务场景,正确的目标核心词为“预付”。利用第一语音识别模型识别出的目标核心词可能为“孕妇”,也可能为“预付”。
在步骤s103可选的一种实施方式中,从所述第一文本的分词结果中去除与所述第二文本的分词结果相同的词语,得到目标核心词。
在具体实施中,统计第一文本分词结果中的词频,去除词频低于预设值的词语,得到第一分词结果;以及统计第二文本分词结果中的词频,去除词频低于预设值的词语,得到第二分词结果,从第一分词结果中去除与第二分词结果中相同的词语,得到目标核心词。在一个具体的例子中,上述预设值为20。
步骤s104、根据所述目标核心词在所述目标音频数据中的目标位置,从包括所述目标位置以及所述目标位置附近的部分目标音频数据中选取标注数据。其中,所述标注数据包括所述目标位置的音频数据。
在可选的一种实施方式中,上述第一文本包括若干与通话id一一对应的转写文本。在步骤s104之前还包括获取目标核心词在目标音频数据中的目标位置的步骤:
步骤s41、筛选包括所述目标核心词的所有转写文本,并记录对应的目标通话id。在可选的一种实施方式中,包括目标核心词的转写文本为多个,即多通电话的通话数据中都包括目标核心词。
步骤s42、将与所述目标通话id对应的通话数据分别输入所述第一语音识别模型和所述第二语音识别模型,得到第三文本和第四文本。
步骤s43、根据所述第三文本和所述第四文本获取所述目标核心词在所述目标音频数据中的目标位置。
在步骤s43可选的一种实施方式中,从目标音频数据中剔除第三文本和第四文本中相同词语对应的子音频数据,剩余的子音频数据即为目标核心词在目标音频数据中的目标位置。
在可选的一种实施方式中,步骤s104具体包括:
步骤s104a、获取包括所述目标位置以及所述目标位置附近的部分目标音频数据。需要说明的是,本实施方式获取的目标位置的音频数据以及目标位置附近的音频数据属于同一个通话id对应的通话数据。
本实施方式中,为了提高目标位置音频数据的识别准确率,获取所述目标位置附近的音频数据即获取所述目标核心词上下文的音频数据作为部分目标音频数据。在一个具体的例子中,步骤s104a获取的部分目标音频数据包括目标核心词所属的子音频数据及其上下文5句的子音频数据。
步骤s104b、分别计算所述第一语音识别模型和所述第二语音识别模型对所述部分目标音频数据的转写正确率。
其中,转写正确率=1-编辑距离/原始文字个数。
步骤s104c、根据所述转写正确率从部分目标音频数据中选取标注数据。
在步骤s104c可选的一种实施方式中,将步骤s104b计算的所有转写正确率进行排序,选取较低转写正确率对应的音频数据作为标注数据。
需要说明的是,如果较低转写正确率对应的音频数据不包括目标位置的音频数据,还需要另外选取目标位置的音频数据也作为标注数据。
步骤s105、将所述标注数据以及对应的标注文本更新至所述第二语音识别模型的训练数据中。其中,标注文本即为标注数据对应的正确文本。
在上述银行业务场景的例子中,假设利用第一语音识别模型发现的目标核心词为“孕妇”(此为错误的识别结果),则将目标位置及其上下文的音频数据以及对应的正确标注文本(例如“您好,请预付一下定金,谢谢”)更新至第二语音识别模型的训练数据中。其中,“预付”为与目标核心词“孕妇”对应的正确标注文本。
在步骤s105可选的一种实施方式中,将标注数据以及对应的标注文本增加至预设的发音词典中,以使得第二语音识别模型利用更新的发音词典对输入的音频数据进行识别,从而提高语音识别的准确率。
在步骤s105可选的一种实施方式中,通过人工的方式对标注数据进行标注,将正确的标注文本以及标注数据作为训练第二语音识别模型的训练数据。
本发明实施例中,利用第一语音识别模型发现目标核心词,并根据目标核心词在目标音频数据中的目标位置选取目标位置以及上下文的音频数据,将这些音频数据以及对应的正确标注文本更新至训练第二语音识别模型的训练数据中,以使得基于所述训练数据训练得到的第二语音识别模型能够识别出正确的目标核心词。
实施例2
本实施例提供一种语音识别模型的训练数据更新系统20,如图2所示,包括第一输入模块21、第二输入模块22、文本比较模块23、标注数据选取模块24以及训练数据更新模块25。
第一输入模块用于将目标场景下的目标音频数据输入第一语音识别模型,得到第一文本。
第二输入模块用于将所述目标音频数据输入第二语音识别模型,得到第二文本。
文本比较模块用于比较所述第一文本和所述第二文本,得到目标核心词;其中,所述目标核心词由所述第一语音识别模型识别得到。
在可选的一种实施方式中,上述文本比较模块具体用于从所述第一文本的分词结果中去除与所述第二文本的分词结果相同的词语,得到目标核心词。
标注数据选取模块用于根据所述目标核心词在所述目标音频数据中的目标位置,从包括所述目标位置以及所述目标位置附近的部分目标音频数据中选取标注数据;其中,所述标注数据包括所述目标位置的音频数据。
在可选的一种实施方式中,所述第一文本包括若干与通话id一一对应的转写文本;所述训练数据更新系统还包括目标位置获取模块,用于筛选包括所述目标核心词的所有转写文本,并记录对应的目标通话id;以及将与所述目标通话id对应的通话数据分别输入所述第一语音识别模型和所述第二语音识别模型,得到第三文本和第四文本;并根据所述第三文本和所述第四文本获取所述目标核心词在所述目标音频数据中的目标位置。
在可选的一种实施方式中,上述标注数据选取模块包括:
获取单元,用于获取包括所述目标位置以及所述目标位置附近的部分目标音频数据;
计算单元,用于分别计算所述第一语音识别模型和所述第二语音识别模型对所述部分目标音频数据的转写正确率;
选取单元,用于根据所述转写正确率从部分目标音频数据中选取标注数据。
训练数据更新模块用于将所述标注数据以及对应的标注文本更新至所述第二语音识别模型的训练数据中。
在可选的一种实施方式中,上述训练数据更新系统还包括通话数据选取模块,用于选取目标场景下指定日期区间内的所有通话数据作为目标音频数据。
实施例3
本实施例提供一种语音识别方法,包括以下步骤:
步骤s301、接收待识别的音频数据;
步骤s302、将所述待识别的音频数据输入第二语音识别模型,得到转写文本;
其中,所述第二语音识别模型是利用实施例1所述的训练数据更新方法得到的训练数据训练得到。
在可选的一种实施方式中,上述语音识别方法还包括以下步骤:
步骤s303、若步骤s302中的转写文本包括连续的独字,则利用n-gram语言模型计算由所述连续的独字组成词语的概率。
其中,利用如下公式计算连续的独字组成n字词语的概率:
score=p(w1)p(w2|w1)p(w3|w1w2)p(w4|w1w2w3)…p(wn|wn-3wn-2wn-1)
步骤s304、若所述概率小于一定值,则从所述连续的独字中获取目标核心词。
在可选的一种实施方式中,获取步骤s304中目标核心词在待识别的音频数据的目标位置,从包括所述目标位置以及所述目标位置附近的部分待识别的音频数据中选取标注数据,并将所述标注数据以及对应的标注文本更新至上述第二语音识别模型的训练数据中。其中,所述标注数据包括所述目标位置的音频数据,
本发明实施例中的第二语音识别模型基于实施例1中更新的训练数据训练得到,能够识别出正确的目标场景下的目标核心词,提高了目标场景下语音识别的准确率。
实施例4
本实施例提供一种语音识别系统,包括:
接收模块,用于接收待识别的音频数据;
识别模块,用于将所述待识别的音频数据输入第二语音识别模型,得到对应的文本;
其中,所述第二语音识别模型是利用如实施例1所述的训练数据更新方法得到的训练数据训练得到。
实施例5
图3为本实施例提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器、存储在存储器上并可在处理器上运行的计算机程序以及实现不同功能的多个子系统,所述处理器执行所述程序时实现实施例1的语音识别模型的训练数据更新方法或者实施例3所述的语音识别方法。图3显示的电子设备3仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备3的组件可以包括但不限于:上述至少一个处理器4、上述至少一个存储器5、连接不同系统组件(包括存储器5和处理器4)的总线6。
总线6包括数据总线、地址总线和控制总线。
存储器5可以包括易失性存储器,例如随机存取存储器(ram)和/或高速缓存存储器,还可以进一步包括只读存储器(rom)。
存储器5还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器4通过运行存储在存储器5中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的语音识别模型的训练数据更新方法或者实施例3所述的语音识别方法。
电子设备3也可以与一个或多个外部设备7(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口8进行。并且,电子设备3还可以通过网络适配器9与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图3所示,网络适配器9通过总线6与电子设备3的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1的语音识别模型的训练数据更新方法或者实施例3所述的语音识别方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1的语音识别模型的训练数据更新方法或者实施例3所述的语音识别方法。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除