自定义命令词的识别方法、装置和计算机设备

文档序号:106579 发布日期:2021-10-15 浏览:30次 >En<

阅读说明:本技术 自定义命令词的识别方法、装置和计算机设备 (Method and device for recognizing user-defined command words and computer equipment ) 是由 李�杰 王广新 杨汉丹 于 2021-09-09 设计创作,主要内容包括:本申请提供了一种自定义命令词的识别方法、装置和计算机设备,应用时识别系统采集用户输入的语音数据,然后将语音数据输入预先构建的语音识别模型,得到序列矩阵。识别系统调取预先定义的若干个自定义命令词,并基于各个自定义命令词从序列矩阵中搜索对应的命令词路径。识别系统计算各个命令词路径分别对应的后验得分,并选择后验得分最高的命令词路径所对应的自定义命令词作为当前次采集的语音数据所包含的命令词。本申请中,识别系统基于各个自定义命令词从序列矩阵中搜索得到对应的命令词路径,不需要在整个序列矩阵进行识别、比较,能够大幅度减少识别时间,同时有效提高了对自定义命令词的识别准确率。(The application provides a method and a device for recognizing a user-defined command word and computer equipment. The recognition system calls a plurality of predefined self-defined command words and searches corresponding command word paths from the sequence matrix based on the self-defined command words. The recognition system calculates the posterior scores corresponding to the command word paths respectively, and selects the self-defined command word corresponding to the command word path with the highest posterior score as the command word contained in the voice data collected at the current time. In the application, the recognition system searches the sequence matrix based on each user-defined command word to obtain the corresponding command word path, does not need to recognize and compare the whole sequence matrix, can greatly reduce the recognition time, and effectively improves the recognition accuracy of the user-defined command words.)

自定义命令词的识别方法、装置和计算机设备

技术领域

本申请涉及命令词识别技术领域,特别涉及一种自定义命令词的识别方法、装置和计算机设备。

背景技术

命令词识别也叫关键词识别,是指在一段话中检测出特定的命令词的技术。该技术被大量应用在各种物联网设备上,这些设备对功耗有极高的要求。现有的命令词识别一般采用以下方式实现:1、采用端侧采集语音数据,云端服务器识别;2、端侧采集语音数据,端侧进行识别。前者在实现中需要将采集的语音数据上传到服务器,存在处理延迟以及用户隐私泄露问题,处理速度较慢,且具有一定的安全隐患。后者只能针对固定的命令词进行识别,如果用户重定义命令词的话,则需要采集新的命令词语料进行模型训练,十分耗费时间和精力。

发明内容

本申请的主要目的为提供一种自定义命令词的识别方法、装置和计算机设备,旨在解决现有命令词识别方法对自定义命令词的识别处理速度较慢的弊端。

为实现上述目的,本申请提供了一种自定义命令词的识别方法,包括:

采集语音数据;

将所述语音数据输入预先构建的语音识别模型,得到序列矩阵;

调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径;

计算各所述命令词路径分别对应的后验得分,选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为所述语音数据包含的命令词。

本申请还提供了一种自定义命令词的识别装置,包括:

采集模块,用于采集语音数据;

识别模块,用于将所述语音数据输入预先构建的语音识别模型,得到序列矩阵;

搜索模块,用于调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径;

计算模块,用于计算各所述命令词路径分别对应的后验得分,选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为所述语音数据包含的命令词。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请中提供的一种自定义命令词的识别方法、装置和计算机设备,应用时识别系统采集用户输入的语音数据,然后将语音数据输入预先构建的语音识别模型,得到序列矩阵。识别系统调取预先定义的若干个自定义命令词,并基于各个自定义命令词从序列矩阵中搜索对应的命令词路径。识别系统计算各个命令词路径分别对应的后验得分,并选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为语音数据包含的命令词。本申请中,识别系统基于各个自定义命令词从序列矩阵中搜索得到对应的命令词路径,不需要在整个序列矩阵进行识别、比较,识别系统对各个自定义命令词对应的命令词路径进行后验得分计算从而识别出语音数据包含的命令词,能够大幅度减少识别时间,同时有效提高了对自定义命令词的识别准确率。

附图说明

图1是本申请一实施例中自定义命令词的识别方法的步骤示意图;

图2是本申请一实施例中自定义命令词的识别装置的整体结构框图;

图3是本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请一实施例中提供了一种自定义命令词的识别方法,包括:

S1:采集语音数据;

S2:将所述语音数据输入预先构建的语音识别模型,得到序列矩阵;

S3:调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径;

S4:计算各所述命令词路径分别对应的后验得分,选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为所述语音数据包含的命令词。

本实施例中,识别系统采集用户说出的语音数据,然后将语音数据输入预先构建的语音识别模型,由语音识别模型进行相应的处理后,得到序列矩阵;其中,语音识别模型优选部署在端侧设备上,用于识别用户语音中的自定义命令词。序列矩阵为多维矩阵,该序列矩阵的形状为:N*T,其中,N表征模型建模单元的类别个数,T表征语音数据的时间长度;比如语音识别模型的建模单元为音素,音素的类别有65个,则N为66(有一个blank维度),序列矩阵的形状则为:66*T。识别系统调取用户预先定义的若干个自定义命令词,并基于这些自定义命令词在序列矩阵中确定各自对应的命令词路径。识别系统分别计算各条命令词路径各自对应后验得分(路径的后验得分的计算方法与现有技术相同,在此不做详述),识别系统从各个命令词路径对应的后验得分中筛选出最高后验得分,并将该最高后验得分与预设的分数阈值进行比对,判断该最高后验得分是否大于分数阈值。如果该最高后验得分小于分数阈值,则判定当前次所采集的语音数据中无法识别出命令词,需要重新采集并进行识别。如果该最高后验得分大于分数阈值,则选择后验得分最高的命令词路径(即最高后验得分对应的命令词路径)所对应的自定义命令词作为当前次采集的语音数据包含的命令词。在识别得到用户说出的自定义命令词后,识别系统根据预先建立的关联关系,控制设备执行与该自定义命令词关联的命令动作。比如设备为空调,自定义命令词为“打开空调”,则识别系统控制空调自动打开。

本实施例中,识别系统基于各个自定义命令词从序列矩阵中搜索得到对应的命令词路径(相当于将搜索范围限制在用户预先定义的各个自定义命令词内),并对各个自定义命令词对应的命令词路径进行后验得分计算,不需要在整个序列矩阵进行识别、比较(现有技术需要在整个序列矩阵构成的搜索空间上获取识别结果,然后跟自定义命令词进行比对)。因此,识别系统能够大幅度减少识别时间,同时有效提高了对自定义命令词的识别准确率。

进一步的,所述将所述语音数据输入预先构建的语音识别模型,得到序列矩阵的步骤之前,包括:

S5:获取通用的通用语料;

S6:对所述通用语料进行数据处理,得到训练语料;

S7:使用所述训练语料对语音识别网络进行训练,在训练过程中使用多尺度特征融合方法,并定义模型的损失函数使用序列损失函数,模型的建模单元为音素,训练完成后得到所述语音识别模型。

本实施例中,识别系统获取通用语料(该通用语料可以为中文语料、英文语料等各语种语料,在选用一个语种的通用语料作为模型训练的训练数据时,后续模型的建模单元所采用的音素与该语种对应)作为模型训练的训练数据(相对于使用限定领域或场景的语料作为训练数据,本实施例使用通用的通用语料不需要专门收集特定的命令词列表所对应的语料数据,大大提升了模型训练的灵活性,并降低了模型的训练成本。比如,现有市场上,数据公司提供的通用的语料数据价格大概为300元/小时左右,而特定领域的,比如少儿英语、方言,则价格要在700元/小时以上),然后对通用语料进行一系列的数据处理,比如对通用语料的长短语句进行筛选(由于命令词识别为短语音识别,一般在3s以内,因此可以将通用语料中的长语句进行剔除或分割;在对通用语料中的长语句进行剔除或分割后,能够保证训练数据的分布和推理时数据的分布一致,从而提升训练后的语音识别模型的泛化能力);对通用语料进行不同类型的数据增强,以提高训练数据的多样化;将通用语料的音频数据对应的文本转化为音素,然后音素再根据音素表映射为数字ID,以方便实际应用时的工程操作。在完成数据处理后,识别系统得到模型训练所需的训练语料。识别系统使用训练语料对语音识别网络进行训练(语音识别网络可以采用语音识别领域常用的网络,比如常规的TDNN、LSTM,或state of the art 的 CONFORMER);在训练过程中,卷积神经网络通过逐层抽象的方式来提取目标的特征,识别系统使用多尺度特征融合方法,将低层网络的特征与高层网络的特征进行融合,因为短语音所含信息(音素较少),直接使用最顶层的特征,训练后的模型不鲁棒,通过加入多层特征融合,可增加特征的鲁棒性和模型的泛化能力,从而提高训练后的语音识别模型在识别时的鲁棒性。同时,定义模型训练的损失函数使用CTC(Connectionist temporal classification) loss,并且定义模型的建模单元为音素,提高训练后模型识别的准确度。其中,音素包括拼音(拼音可分为带声调和不带声调)、声韵母、汉字以及单个字符。在按照上述设定进行模型训练后,得到所需的语音识别模型。

优选的,在模型训练过程中,识别系统使用ASR模型获取训练语料中音频数据帧对齐的标注,并采用CE的方式辅助训练NN模型。

进一步的,所述对所述通用语料进行数据处理,得到训练语料的步骤,包括:

S601:对所述通用语料进行短语句处理,得到预处理语料;

S602:对所述预处理语料进行数据增强,得到二次处理语料;

S603:对所述二次处理语料和所述预处理语料的音频数据进行特征提取,并对所述二次处理语料和所述预处理语料的文本数据进行数字转换,形成所述训练语料。

本实施例中,由于命令词识别属于短语音识别(通常命令词的语音数据不会超过3s),而训练时使用的通用语料为通用语料(不需要限定应用场景或领域,即哪怕训练后的语音识别模型是用于空调控制,但用户也可以通过自定义命令为“打开电视”来实现对空调的打开操作,提高了用户自定义命令词的泛用性),因此需要对通用语料中的长语句进行短语句处理(即将时长超过时长阈值的长语句进行分割或者直接剔除),在处理后得到预处理语料。然后,识别系统对预处理语料进行数据增强(比如使用改变语速、改变音量、加噪、SpecAug 、pitch 等数据增强手段),得到二次处理语料,以提高训练数据的多样化。其中,在对预处理语料进行数据增强时,单份的预处理语料只做一种类型的数据增强,并不将多种类型的数据增强方法叠加在同一份预处理语料上。识别系统对二次处理语料和预处理语料(即未进行数据增强的语料)的音频数据进行特征提取(使用常规的特征提取,比如使用MFCC(mel-frequency cepstral coefficient)、FBANK(Filter Banks) 、LOGFBANK等特征),同时将二次处理语料和预处理语料各自对应的文本数据通过pypinyin工具转换为音素,再将音素根据音素表映射为数字ID(在训练完成后的语音识别模型的处理逻辑中,是以命令词的音素为准,但实际的工程操作是以数字ID为准),特征提取后的得到的音频特征与对应的数字ID共同组成模型训练所需的训练语料。

进一步的,所述对所述预处理语料进行数据增强,得到二次处理语料的步骤,包括:

S6021:将所述预处理语料按照预设比例分成若干份待增强语料;

S6022:分别对各所述待增强语料使用不同类型的数据增强方法进行数据增强,得到所述二次处理语料,其中,单个待增强语料对应单个类型的数据增强方法。

本实施例中,识别系统将预处理语料按照预设比例分成若干份待增强语料(各份待增强语料在预处理语料中所占的比例可以相同,也可以不同,具体有开发人员进行设定,在此不做具体限定),然后分别对各份待增强语料使用不同类型的数据增强方法进行数据增强,其中,单份待增强语料对应单个类型的数据增强方法(即在单份待增强语料上,数据增强方法不会进行叠加),完成数据增强后的若干份待增强语料组成二次处理语料。

进一步的,所述对所述通用语料进行短语句处理,得到预处理语料的步骤,包括:

S6011:将所述通用语料中时长超过时长阈值的长语句剔除,得到所述预处理语料;

或者,S6012:从所述通用语料中筛选出时长超过时长阈值的长语句;

S6013:将所述长语句进行对齐,并将对齐后的所述长语句按照对齐时间节点进行分割,得到短语句语料;

S6014:综合所述短语句语料,以及所述通用语料中除去所述长语句之外的语料,得到所述预处理语料。

本实施例中,识别系统根据开发人员设定的时长阈值,将通用语料中时长超过时长阈值的长语句剔除(比如时长阈值设定位3s,则将时长超过3秒的长语句语料删除),剔除长语句后剩余的通用语料即为预处理语料。或者,识别系统从通用语料中筛选出时长超过时长阈值的长语句,然后借助ASR(Automatic Speech Recognition,自动语音识别)技术将长语句进行对齐,然后将长语句按照对齐时间节点进行分割,使得分割后的短语句的时长不超过时长阈值,得到短语句语料。识别系统整合分割后的短语句语料,以及原本的通用语料中除去长语句之外的语料(即原本的通用语料中未进行分割的语料),得到预处理语料。

进一步的,所述调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径的步骤之前,包括:

S8:获取用户输入的若干个相互关联的自定义命令词和命令动作;

S9:将各所述自定义命令词解析为拼音或声韵母;

S10:根据预先构建的音素表,将各所述拼音或各所述声韵母映射为对应的数字ID,并将各所述数字ID与各自对应的所述命令动作进行关联,所述数字ID与所述语音识别模型的输出相对应。

本实施例中,用户可以根据自己的需要自定义控制设备的命令词,在用户自定义命令词时,用户输入若干个自定义命令词,并将各个自定义命令词与命令动作进行关联。比如,当前的设备为空调,用户输入自定义命令词“打开空调”,并将自定义命令词“打开空调”与控制空调启动这一动作进行关联;空调的识别系统在接收到用户说出的语音指令“打开空调”时,则会自动控制空调启动。其中,用户输入的自定义命令词优选为文本,识别系统将用户输入的各个自定义命令词通过pypinyin工具解析为拼音或声韵母等音素,再根据预先构建的音素表,将各个拼音或各个声韵母映射为对应的数字ID(音素表包含多组一一对应的音素与数字ID,单个音素对应单个数字ID)。识别系统根据自定义命令词与命令动作之间的关联关系,将各个自定义命令词对应的数字ID与各自对应的命令动作进行关联。其中,数字ID与语音识别模型的输出相对应,即语音识别模型最终输出的序列矩阵中呈现的向量的值同样为数字ID。

进一步的,所述调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径的步骤,包括:

S301:调取若干个所述自定义命令词各自对应的数字ID;

S302:从所述序列矩阵中搜索与各所述数字ID分别对应的路径,得到各所述命令词路径。

本实施例中,识别系统调取用户预先定义的若干个自定义命令词分别对应的数字ID,然后基于各个数字ID,从语音识别模型输出的序列矩阵中搜索与各个数字ID分别对应的路径,这些路径即为序列矩阵中各个自定义命令词分别对应的命令词路径。现有技术需要在整个序列矩阵(或者叫做解码空间)中识别出语音数据对应的文本,然后在文本中跟命令词列表的候选命令词进行比对,获取最终的识别结果。而本实施例直接基于用户设定的自定义命令词在序列矩阵中搜索得到命令词路径,相当于将搜索范围限制在各个自定义命令词上,从而大幅度减少了搜索时间,不仅提高了对自定义命令词的识别效率,还能提高识别的准确度。

在搜索得到各个命令词路径后,识别系统计算所有映射为同一个自定义命令词的路径的得分总和,即为单个自定义命令词所对应的命令词路径的后验得分。以语音识别模型训练时使用的损失函数为ctc loss为例,自定义命令词假定为“好棒”,序列矩阵的长度是4,则如下的路径均可映射为“好棒”的路径:bb好棒,b好b棒,b好好棒,b好棒b,b好棒棒,好bb棒,好b棒b,好b棒棒,好好b棒,好好好棒,好好棒b,好好棒棒,好棒bb,好棒棒b,好棒棒棒。其中,b表示blank;识别系统合并相同的字符,并去除掉blank,然后统计15个映射路径的得分总和,该得分总和即为自定义命令词“好棒”所对应的命令词路径的后验得分。实际工程计算采用的是前后向算法,一次遍历序列矩阵即可算出结果,时间复杂度跟序列长度是线性关系。

参照图2,本申请一实施例中还提供了一种自定义命令词的识别装置,包括:

采集模块1,用于采集语音数据;

识别模块2,用于将所述语音数据输入预先构建的语音识别模型,得到序列矩阵;

搜索模块3,用于调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径;

计算模块4,用于计算各所述命令词路径分别对应的后验得分,选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为所述语音数据包含的命令词。

进一步的,所述识别装置,还包括:

第一获取模块5,用于获取通用的通用语料;

处理模块6,用于对所述通用语料进行数据处理,得到训练语料;

训练模块7,用于使用所述训练语料对语音识别网络进行训练,在训练过程中使用多尺度特征融合方法,并定义模型的损失函数使用序列损失函数,模型的建模单元为音素,训练完成后得到所述语音识别模型。

进一步的,所述处理模块6,包括:

处理单元,用于对所述通用语料进行短语句处理,得到预处理语料;

增强单元,用于对所述预处理语料进行数据增强,得到二次处理语料;

提取单元,用于对所述二次处理语料和所述预处理语料的音频数据进行特征提取,并对所述二次处理语料和所述预处理语料的文本数据进行数字转换,形成所述训练语料。

进一步的,所述增强单元,包括:

划分子单元,用于将所述预处理语料按照预设比例分成若干份待增强语料;

增强子单元,用于分别对各所述待增强语料使用不同类型的数据增强方法进行数据增强,得到所述二次处理语料,其中,单个待增强语料对应单个类型的数据增强方法。

进一步的,所述处理单元,包括:

剔除子单元,用于将所述通用语料中时长超过时长阈值的长语句剔除,得到所述预处理语料;

或者,筛选子单元,用于从所述通用语料中筛选出时长超过时长阈值的长语句;

分割子单元,用于将所述长语句进行对齐,并将对齐后的所述长语句按照对齐时间节点进行分割,得到短语句语料;

结合子单元,用于综合所述短语句语料,以及所述通用语料中除去所述长语句之外的语料,得到所述预处理语料。

进一步的,所述识别装置,还包括:

第二获取模块8,用于获取用户输入的若干个相互关联的自定义命令词和命令动作;

解析模块9,用于将各所述自定义命令词解析为拼音或声韵母;

映射模块10,用于根据预先构建的音素表,将各所述拼音或各所述声韵母映射为对应的数字ID,并将各所述数字ID与各自对应的所述命令动作进行关联,所述数字ID与所述语音识别模型的输出相对应。

进一步的,所述搜索模块3,包括:

调取单元,用于调取若干个所述自定义命令词各自对应的数字ID;

搜索单元,用于从所述序列矩阵中搜索与各所述数字ID分别对应的路径,得到各所述命令词路径。

本实施例中,自定义命令词的识别装置中各模块、单元、子单元用于对应执行与上述自定义命令词的识别方法中的各个步骤,其具体实施过程在此不做详述。

本实施例提供的一种自定义命令词的识别装置,应用时识别系统采集用户输入的语音数据,然后将语音数据输入预先构建的语音识别模型,得到序列矩阵。识别系统调取预先定义的若干个自定义命令词,并基于各个自定义命令词从序列矩阵中搜索对应的命令词路径。识别系统计算各个命令词路径分别对应的后验得分,并选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为语音数据包含的命令词。本申请中,识别系统基于各个自定义命令词从序列矩阵中搜索得到对应的命令词路径,不需要在整个序列矩阵进行识别、比较,识别系统对各个自定义命令词对应的命令词路径进行后验得分计算从而识别出语音数据包含的命令词,能够大幅度减少识别时间,同时有效提高了对自定义命令词的识别准确率。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储自定义命令词等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自定义命令词的识别方法。

上述处理器执行上述自定义命令词的识别方法的步骤:

S1:采集语音数据;

S2:将所述语音数据输入预先构建的语音识别模型,得到序列矩阵;

S3:调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径;

S4:计算各所述命令词路径分别对应的后验得分,选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为所述语音数据包含的命令词。

进一步的,所述将所述语音数据输入预先构建的语音识别模型,得到序列矩阵的步骤之前,包括:

S5:获取通用的通用语料;

S6:对所述通用语料进行数据处理,得到训练语料;

S7:使用所述训练语料对语音识别网络进行训练,在训练过程中使用多尺度特征融合方法,并定义模型的损失函数使用序列损失函数,模型的建模单元为音素,训练完成后得到所述语音识别模型。

进一步的,所述对所述通用语料进行数据处理,得到训练语料的步骤,包括:

S601:对所述通用语料进行短语句处理,得到预处理语料;

S602:对所述预处理语料进行数据增强,得到二次处理语料;

S603:对所述二次处理语料和所述预处理语料的音频数据进行特征提取,并对所述二次处理语料和所述预处理语料的文本数据进行数字转换,形成所述训练语料。

进一步的,所述对所述预处理语料进行数据增强,得到二次处理语料的步骤,包括:

S6021:将所述预处理语料按照预设比例分成若干份待增强语料;

S6022:分别对各所述待增强语料使用不同类型的数据增强方法进行数据增强,得到所述二次处理语料,其中,单个待增强语料对应单个类型的数据增强方法。

进一步的,所述对所述通用语料进行短语句处理,得到预处理语料的步骤,包括:

S6011:将所述通用语料中时长超过时长阈值的长语句剔除,得到所述预处理语料;

或者,S6012:从所述通用语料中筛选出时长超过时长阈值的长语句;

S6013:将所述长语句进行对齐,并将对齐后的所述长语句按照对齐时间节点进行分割,得到短语句语料;

S6014:综合所述短语句语料,以及所述通用语料中除去所述长语句之外的语料,得到所述预处理语料。

进一步的,所述调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径的步骤之前,包括:

S8:获取用户输入的若干个相互关联的自定义命令词和命令动作;

S9:将各所述自定义命令词解析为拼音或声韵母;

S10:根据预先构建的音素表,将各所述拼音或各所述声韵母映射为对应的数字ID,并将各所述数字ID与各自对应的所述命令动作进行关联,所述数字ID与所述语音识别模型的输出相对应。

进一步的,所述调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径的步骤,包括:

S301:调取若干个所述自定义命令词各自对应的数字ID;

S302:从所述序列矩阵中搜索与各所述数字ID分别对应的路径,得到各所述命令词路径。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种自定义命令词的识别方法,所述自定义命令词的识别方法具体为:

S1:采集语音数据;

S2:将所述语音数据输入预先构建的语音识别模型,得到序列矩阵;

S3:调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径;

S4:计算各所述命令词路径分别对应的后验得分,选择后验得分最高且该后验得分大于分数阈值的命令词路径所对应的自定义命令词作为所述语音数据包含的命令词。

进一步的,所述将所述语音数据输入预先构建的语音识别模型,得到序列矩阵的步骤之前,包括:

S5:获取通用的通用语料;

S6:对所述通用语料进行数据处理,得到训练语料;

S7:使用所述训练语料对语音识别网络进行训练,在训练过程中使用多尺度特征融合方法,并定义模型的损失函数使用序列损失函数,模型的建模单元为音素,训练完成后得到所述语音识别模型。

进一步的,所述对所述通用语料进行数据处理,得到训练语料的步骤,包括:

S601:对所述通用语料进行短语句处理,得到预处理语料;

S602:对所述预处理语料进行数据增强,得到二次处理语料;

S603:对所述二次处理语料和所述预处理语料的音频数据进行特征提取,并对所述二次处理语料和所述预处理语料的文本数据进行数字转换,形成所述训练语料。

进一步的,所述对所述预处理语料进行数据增强,得到二次处理语料的步骤,包括:

S6021:将所述预处理语料按照预设比例分成若干份待增强语料;

S6022:分别对各所述待增强语料使用不同类型的数据增强方法进行数据增强,得到所述二次处理语料,其中,单个待增强语料对应单个类型的数据增强方法。

进一步的,所述对所述通用语料进行短语句处理,得到预处理语料的步骤,包括:

S6011:将所述通用语料中时长超过时长阈值的长语句剔除,得到所述预处理语料;

或者,S6012:从所述通用语料中筛选出时长超过时长阈值的长语句;

S6013:将所述长语句进行对齐,并将对齐后的所述长语句按照对齐时间节点进行分割,得到短语句语料;

S6014:综合所述短语句语料,以及所述通用语料中除去所述长语句之外的语料,得到所述预处理语料。

进一步的,所述调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径的步骤之前,包括:

S8:获取用户输入的若干个相互关联的自定义命令词和命令动作;

S9:将各所述自定义命令词解析为拼音或声韵母;

S10:根据预先构建的音素表,将各所述拼音或各所述声韵母映射为对应的数字ID,并将各所述数字ID与各自对应的所述命令动作进行关联,所述数字ID与所述语音识别模型的输出相对应。

进一步的,所述调取预先定义的若干个自定义命令词,基于各所述自定义命令词从所述序列矩阵中搜索对应的命令词路径的步骤,包括:

S301:调取若干个所述自定义命令词各自对应的数字ID;

S302:从所述序列矩阵中搜索与各所述数字ID分别对应的路径,得到各所述命令词路径。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、第一物体或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、第一物体或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、第一物体或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:流式语音识别的处理方法、装置和计算机设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!