一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语音识别方法和相关装置与流程

2022-04-16 13:39:47 来源:中国专利 TAG:


1.本技术涉及语音识别领域,特别是涉及一种语音识别方法和相关装置。


背景技术:

2.通过语音识别技术可以为用户提供语音内容的识别服务,该技术可以应用于各种场景中,例如语音转文字、语音唤醒、人机交互等场景。在具体实现中,可以通过声学模型提取待识别的语音数据的声学特征,并基于声学特征确定对应的语音识别结果。
3.相关技术主要以音素(phone)作为声学模型的建模单元,音素是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。
4.但是,音素的建模粒度较细,这种细粒度的语音识别方式对待识别语音数据的质量要求很高,细微的发音误差都可能会直接影响识别结果。由此导致语音识别技术难以适应一些语音识别场景。


技术实现要素:

5.为了解决上述技术问题,本技术提供了一种语音识别方法和相关装置,用于提高语音识别结果的准确率,扩展语音识别技术的使用场景。
6.一方面,本技术实施例提供一种语音识别方法,所述方法包括:
7.获取声学模型和待识别的语音数据,所述声学模型包括时延神经网络,所述时延神经网络的输出层包括与多个音节分别对应的声学建模单元;
8.将所述语音数据作为所述时延神经网络的输入数据,通过所述时延神经网络确定所述语音数据所包括语音帧分别对应的音节概率分布,所述音节概率分布用于标识所述语音帧与所述多个音节分别对应的概率;
9.根据所述音节概率分布确定所述语音数据对应的语音识别结果。
10.另一方面,本技术实施例提供一种语音识别装置,所述装置包括获取单元、音节概率分布确定单元和语音识别结果确定单元;
11.所述获取单元,用于获取声学模型和待识别的语音数据,所述声学模型包括时延神经网络,所述时延神经网络的输出层包括与多个音节分别对应的声学建模单元;
12.所述音节概率分布确定单元,用于将所述语音数据作为所述时延神经网络的输入数据,通过所述时延神经网络确定所述语音数据所包括语音帧分别对应的音节概率分布,所述音节概率分布用于标识所述语音帧与所述多个音节分别对应的概率;
13.所述语音识别结果确定单元,用于根据所述音节概率分布确定所述语音数据对应的语音识别结果。
14.另一方面,本技术实施例提供一种计算机设备,所述设备包括处理器以及存储器:
15.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
16.所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
17.另一方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储
介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
18.另一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
19.由上述技术方案可以看出,针对待识别的语音数据,获取包括时延神经网络的声学模型。将所述语音数据作为时延神经网络的输入数据,由于该时延神经网络的输出层包括与多个音节分别对应的声学建模单元,使得通过时延神经网络能以音节为识别粒度,通过输出层的各个声学建模单元得到语音数据所包括语音帧分别对应的音节概率分布。时延神经网络在语音特征提取和向输出层传递的过程中会携带语音帧在语音数据中丰富的上下文信息,该上下文信息可以体现出语音帧在语音数据中前后音节的相关信息,由此在通过输出层以音节进行识别时,可以结合语音帧的前后音节信息,基于发音规则对语音帧所属音节进行辅助判断,以输出更为精准的音节概率分布。而且由于音节一般由一个或多个音素组成,具有更高的容错能力,即使语音数据中一个音节中出现个别音素的发音误差,对整个音节的识别结果的影响也相对于音素来说更小,从而即使待识别的语音数据质量不高,也能够基于音节概率分布获取更为准确的确定语音识别结果,有效扩展了语音识别技术的适用场景。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本技术实施例提供的一种语音识别方法的应用场景示意图;
22.图2为本技术实施例提供的一种语音识别方法的流程图;
23.图3为本技术实施例提供的一种tdnn的示意图;
24.图4为本技术实施例提供的一种声学模型的示意图;
25.图5为本技术实施例提供的一种语音识别系统的应用场景实施例的示意图;
26.图6为本技术实施例提供的一种声学模型的示意图;
27.图7为本技术实施例提供的一种语音识别装置的示意图;
28.图8为本技术实施例提供的一种终端设备的结构图;
29.图9为本技术实施例提供的一种服务器的结构图。
具体实施方式
30.下面结合附图,对本技术的实施例进行描述。
31.在识别语音数据时,相关技术中,以音素作为声学模型的建模单元,比如关键词“你好”对应的音素序列为“n iy3 hh aw3”,只有在语音数据中识别出音素序列“n iy3 hh aw3”才能识别出关键词“你好”。由于音素的建模粒度太细,其对语音数据的质量要求较高。若关键词中的一个因素发音不标准,导致该关键词识别失败,从而导致语音识别结果的准
确率较低,甚至在一些如背景音嘈杂、用户讲话不标准等复杂的语音识别场景中,语音识别的鲁棒性较低,使得语音识别技术的适用场景较少。
32.基于此,本技术实施例提供了一种语音识别方法,不仅提高了语音识别结果的准确性,而且对语音数据质量要求较低,有效扩展了语音识别技术的适用场景。
33.本技术实施例提供的语音识别方法是基于人工智能实现的,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
34.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
35.在本技术实施例中,主要涉及的人工智能技术包括上述语音处理技术等方向。
36.本技术提供的语音识别方法可以应用于具有数据处理能力的语音识别设备,如终端设备、服务器。其中,本技术涉及的终端设备具体可以为智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能手表、智能音箱、车载设备、可穿戴设备、智能语音交互设备、智能家电、车载终端等,但并不局限于此。本技术涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。服务器和终端设备的数量也不做限制。
37.前述语音识别设备可以具备语音处理技术,语音技术(speech technology)的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
38.在本技术实施例提供的语音识别方法中,采用的人工智能模型主要涉及对语音识别技术的应用,通过声学模型确定待识别的语音数据对应的语音识别结果。
39.为了便于理解本技术的技术方案,下面结合实际应用场景,以终端设备作为语音识别设备对本技术实施例提供的语音识别方法进行介绍。
40.参见图1,该图为本技术实施例提供的一种语音识别方法的应用场景示意图。在图1所示的应用场景中,终端设备为智能音箱100,用于对待识别的语音数据进行关键词“你好”的识别。
41.智能音箱100获取声学模型。其中,声学模型包括时延神经网络,时延神经网络的输出层包括与多个音节分别对应的声学建模单元。在本技术实施例中,不再以音素作为声学建模单元,而是以音节作为声学建模单元,音节(syllable)是语言中单个元音音素和辅
network,tdnn),后续会进行说明。语音数据又称声音文件,是通过语音来记录的数据,如唤醒智能音箱的声音可以被称作语音数据。
53.可以理解的是,在本技术的具体实施方式中,涉及到语音数据等用户相关的数据,当本技术以上实施例运用到具体产品或技术中,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵循相关国家和地区的相关法律法规和标准。
54.需要说明的是,可以同时获取声学模型和待识别的语音数据,还可以预先获取声学模型后,再获取待识别的语音数据,也可以在获取待识别的语音数据后,获取声学模型,本技术对此不做具体限定。
55.s202:将语音数据作为时延神经网络的输入数据,通过时延神经网络确定语音数据所包括语音帧分别对应的音节概率分布。
56.声学模型可以将语音输入转化为声学表示的音节输出,在本技术实施例中,会针对每个语音帧,计算出它所属音节的概率分布。其中,声学模型包括tdnn,如图3所示,该图为本技术实施例提供的一种tdnn的示意图。
57.如图3所示,tdnn包括多层的网络,每一层网络对语音特征都有较强的抽象能力。而且tdnn有着较宽的上下文视野,能够捕捉更广的上下文信息,并对语音时序依赖信息的建模能力更强。
58.在本技术实施例中,tdnn的输出层包括与多个音节分别对应的声学建模单元,将语音数据输入至tdnn后,tdnn能以音节为识别粒度,确定语音数据所包括语音帧分别对应的音节概率分布。其中,音节概率分布用于标识语音帧与多个音节分别对应的概率。如图3所示,在tdnn的输出层,能够输出每个音节对应的概率。需要说明的是,图3仅以4个音节为例进行示出,但不限于4个音节。例如,可以统计出如中文所需的所有音节,用输出层表示所有音节,从而确定中文用户输入的待识别的语音数据对应的识别结果。
59.由于时延神经网络在语音特征提取和向输出层传递的过程中会携带语音帧在语音数据中丰富的上下文信息,该上下文信息可以体现出语音帧在语音数据中前后音节的相关信息,由此在通过输出层以音节进行识别时,可以结合语音帧的前后音节信息,基于发音规则对语音帧所属音节进行辅助判断,以输出更为精准的音节概率分布。
60.s203:根据音节概率分布确定语音数据对应的语音识别结果。
61.其中,音节概率分布用于标识语音帧与多个音节分别对应的概率。例如,tdnn的输出层会输出100个音节分别对应的概率,则通过tdnn得到的音节概率分布为1
×
100的行向量,行向量中每一个元素表示该音节对应的概率,100个元素对应的概率和为1。可以理解的是,某一音节的概率越大,则语音帧的实际发音与该音节的发音一样的可能性越大。继续以前述为例,若语音帧a得到的音节概率分布为[0.1,0.8,0.1,0,
……
,0](中间省略了95个0),则语音帧a的实际发音是前三个音节组成的发音的可能性较大,又或者语音帧a的实际发音是第二个音节的发音的可能性较大,本技术对此不做具体限定,本领域技术人员可以根据实际应用场景进行设置。
[0062]
在获得语音数据中每一个语音帧对应的音节概率分布后,可以根据多个语音帧分别对应的音节概率分布进一步确定语音数据对应的语音识别结果。如用户输入一段语音后,将其作为待识别的语音数据,通过tdnn可以获取语音数据所包括语音帧分别对应的音节概率分布,进而确定语音识别结果。
[0063]
由上述技术方案可以看出,针对待识别的语音数据,获取包括时延神经网络的声学模型。将所述语音数据作为时延神经网络的输入数据,由于该时延神经网络的输出层包括与多个音节分别对应的声学建模单元,使得通过时延神经网络能以音节为识别粒度,通过输出层的各个声学建模单元得到语音数据所包括语音帧分别对应的音节概率分布。时延神经网络在语音特征提取和向输出层传递的过程中会携带语音帧在语音数据中丰富的上下文信息,该上下文信息可以体现出语音帧在语音数据中前后音节的相关信息,由此在通过输出层以音节进行识别时,可以结合语音帧的前后音节信息,基于发音规则对语音帧所属音节进行辅助判断,以输出更为精准的音节概率分布。而且由于音节一般由一个或多个音素组成,具有更高的容错能力,即使语音数据中一个音节中出现个别音素的发音误差,对整个音节的识别结果的影响也相对于音素来说更小,从而即使待识别的语音数据质量不高,也能够基于音节概率分布获取更为准确的确定语音识别结果,有效扩展了语音识别技术的适用场景。
[0064]
需要说明的是,本技术可以应用于智能设备中如唤醒交互、音视频文件语音关键词检测等语音关键词检测(keyword spotting,kws)任务。由于受到标注语料和算力的限制,采用高斯混合模型(gaussian mixed mode,gmm)、深度神经网络(deep neural networks,dnn)、卷积神经网络(convolutional neural network,cnn)、循环神经网络(recurrent neural network,rnn)等声学模型效果不够强,导致它在智能设备中的效果不佳。为了应对智能设备有限的计算资源限制以及海量音视频文件的处理需求,不仅需要关键词检测的速度足够快,而且希望检测结果足够准。
[0065]
基于此,参见图4,该图为本技术实施例提供的一种声学模型的示意图。如图4所示,该声学模型不仅包括tdnn,还包括解码器。由于tdnn有着较宽的上下文视野,能够捕捉更广的上下文信息,因此它可以进一步增加声学模型对语音时序信息的建模能力,即tdnn能够更高效的对时序信息进行处理,从而提升关键词检测的准确性。解码器用于根据音节概率分布确定语音数据中是否包括关键词的语音识别结果,以便于根据语音识别结果确定是否唤醒对应的终端设备。
[0066]
为了方便说明,下面以智能设备的唤醒交互场景为例进行说明,参见s2031-s2033:
[0067]
s2031:根据语音数据对应的唤醒场景,确定与唤醒场景对应的关键词。
[0068]
可以理解的是,由于唤醒场景不同,其对应的关键词可能不同,本领域技术人员可以根据实际需要进行设置。例如,智能家居唤醒场景对应的关键词为“打开xx(家居设备)”,虚拟助理唤醒场景对应的关键词为“xxx(虚拟助理名称)”等,根据本领域技术人员对关键词的设置,在获取待识别的语音数据后,根据对应的唤醒场景,确定与唤醒场景对应的关键词。
[0069]
需要说明的是,s2031可以为在获得音节概率分布后执行,也可以在获取待识别的语音数据后执行,本技术对此不做具体限定。
[0070]
s2032:根据音节概率分布,通过解码器确定用于标识语音数据中是否包括关键词的语音识别结果。
[0071]
其中,解码器用于将音节概率分布解压成语音识别结果,故在通过tdnn获得音节概率分布后,不仅可以用根据该音节概率分布,通过解码器确定语音数据对应的语音识别
结果,还可以通过解码器确定用于标识语音数据中是否包括关键词的语音识别结果。
[0072]
作为一种可能的实现方式,可以针对给定的关键词,通过基于加权有限状态转换器(weighted finite state transducer,wfst)的解码器进行解码后,直接输出是否包括关键词的语音识别结果。其中,wfst提供了统一的框架,能够用统一的方式融合来自声学模型、发音词典和语言模型的信息,在巨大的搜索空间里寻找最优的路径,从而可以提高模型的搜索速度。
[0073]
作为一种可能的实现方式,在解码过程中,进一步还可以采用基于wfst的lattice静态解码策略,在搜索空间里寻找最优的路径,提高模型的搜索速度。
[0074]
作为一种可能的实现方式,在解码过程中,还可以通过帧剪枝等方法提升解码速度。例如,生成的音节概率分布为1
×
100的向量,前三个概率分别为0.1、0.8和0.1,后97个概率均为0,通过帧剪枝的方式将后97个剪去,将1
×
100的向量变为1
×
3的向量,从而只需对1
×
3的向量进行解码,进而提升解码速度。
[0075]
s2033:若语音识别结果指示语音数据中包括关键词,将唤醒场景对应终端设备唤醒。
[0076]
由上述技术方案可知,用音节替代音素作为声学模型的建模单元,粒度变粗,不仅所占的内存的变小,所需的计算资源更少。对于语音关键词,音节的覆盖率更高,容错性更高,准确性更高。同时,对于同样长度的待识别的语音数据,基于音节检测关键词的速度更快,在应对有限的计算资源限制以及海量音视频文件的处理需求时,由于声学模型包括tdnn和解码器,tdnn可以进一步增加声学模型对语音时序信息的建模能力,解码器可以确定语音数据中是否包括关键词的语音识别结果,从而提升关键词检测的准确性。由此,本技术实施例提供的声学模型不仅需要关键词检测的速度更快,而且检测结果的准确性更高,其性能和速度取得了较好的平衡,在智能设备中的效果会更好。
[0077]
针对前述s2032,本技术实施例不具体限定通过解码器确定语音识别结果的方式,例如,可以根据音节概率分布和匹配词表,通过解码器确定用于标识语音数据中是否包括关键词的语音识别结果。
[0078]
例如,在虚拟助理唤醒场景中,其对应的关键词为“你好世界”,根据该关键词建立对应的关键词表。用户在输入一段语音后,将该语音作为待识别的语音数据,通过本技术实施例提供的声学模型确定音节概率分布,解码器查找“你好世界”对应的关键词表,结合音节概率分布确定用户输入的语音数据是否包括“你好世界”。若该语音数据包括“你好世界”,则解码器可以输出“包括关键词”的结果,进一步,还可以根据该语音识别结果将虚拟助理唤醒,为用户提供服务,如s2033所示。其中,唤醒场景对应的终端设备可以为如智能音箱、虚拟助理、智能家具等终端设备,本技术对此不做具体限定。
[0079]
其中,关键词表是以关键词为核心建立的,包括了关键词可能会对应的读音。本技术实施例不具体限定关键词表的确定方式,例如可以根据相似音节和/或多音字音节,以及关键词对应的音节,以音节为划分粒度构建针对关键词的匹配词表。通过相似音节和/或多音字音节丰富匹配词表,有效提升关键词的覆盖程度,进而避免漏唤醒,提高用户的使用感。下面分别对相似音节和多音字音节进行说明。
[0080]
相似音节:相似音节是根据发音相似程度确定关键词所包括音节对应的相似音节,例如,关键词“你好”的音节序列为“ni3 hao3”,当将关键词大声拉长读时,“你”可能被
读作一声而不是三声,故音节序列“ni1 hao3”可以被作为相似音节加入搭配关键词表中。
[0081]
多音字音节:多音字是具有不止一个读音的字,若关键词中具有多音字,确定多音字对应的多音字音节,其所有读音应该被收录在关键词表中,以防止用户口音导致的漏唤醒。继续以关键词“你好”为例,音节序列“ni3 hao4”可以被作为相似音节加入搭配关键词表中。
[0082]
作为一种可能的实现方式,一些易错读音也会被加入到关键词表中,如关键词“傥”易被读作“dang(三声)”,故音节“dang3”会被收录至关键词“傥”对应的关键词表中。
[0083]
作为一种可能的实现方式,tdnn不仅可以结合语音帧的前后音节信息,还可以结合第i帧语音帧在语音数据中的前后至少一帧对应的语音帧特征,进一步提升音节概率分布的准确性。以tdnn包括n层特征提取层为例,针对语音数据所包括语音帧中的第i帧语音帧,s202可以通过s2021-s2023实现,具体如下:
[0084]
s2021:根据第j-1层特征提取层针对第i帧语音帧的输出特征,通过第j层特征提取层确定第i帧语音帧的语音帧特征。
[0085]
tdnn包括的每一层网络,均可以称之为特征提取层,每一层特征提取层均会针对待识别的语音数据所包括的每一帧语音帧进行特征提取。下面针对第i帧语音帧,以n层特征提取层中任意两层特征提取层,即第j-1层特征提取层和第j层特征提取层为例进行说明。其中,j∈n。
[0086]
针对第i帧语音帧,第j-1层特征提取层会进行特征提取,从而输出针对第i帧语音帧的输出特征,然后将其输入至第j层特征提取层,第j层特征提取层进行特征提取,确定第i帧语音帧的语音帧特征。
[0087]
s2022:通过语音帧特征和第i帧语音帧在语音数据中的前后至少一帧对应的语音帧特征,确定第i帧语音帧在第j层特征提取层的输出特征。
[0088]
为了能够进一步提升声学模型的上下文学习能力,可以在确定第i帧语音帧的语音帧特征后,不仅可以结合语音帧的前后音节信息,还可以结合第i帧语音帧在语音数据中的前后至少一帧对应的语音帧特征,即通过语音帧的前后文信息进一步携带更多的上下文信息,确定第i帧语音帧在第j层特征提取层的输出特征。
[0089]
继续参见图3,该图每一个上层节点连接下层三个节点,每一个节点对应一帧语音帧特征,s2022可以为通过语音帧特征、第i帧语音帧在语音数据中的前一帧对应的语音帧特征和后一帧对应的语音帧特征,确定第i帧语音帧在第j层特征提取层的输出特征。可以理解的是,还可以考虑当前帧的前三帧对应的语音帧特征和后一帧对应的语音帧特征等,本领域技术人员可以根据实际需要进行设置,本技术对此不做具体限定。
[0090]
作为一种可能的实现方式,tdnn包括的n层特征提取层均可以实现上述s2021-s2022,直至所有的特征提取层均针对第i帧语音帧进行特征提取,进而确定第i帧语音帧对应的音节概率分布。
[0091]
s2023:根据第i帧语音帧在第j层特征提取层的输出特征,确定第i帧语音帧对应的音节概率分布。
[0092]
由此,将待识别的语音数据输入至tdnn后,可以得到第i帧语音帧对应的音节概率分布,从而获得语音数据所包括语音帧分别对应的音节概率分布,进而确定语音数据对应的语音识别结果。
[0093]
作为一种可能的实现方式,下面对本技术实施例提供的声学模型的训练过程进行说明。
[0094]
s301:获取与语音数据属于同一语种的语音样本。
[0095]
属于同一语种的语音数据在发音规则上基本相同,对应的音节基本相同,例如,汉语对应的音节与英语对应的音节不同,故可以基于语音数据属于的语种获取语音样本,进行声学模型的训练。
[0096]
s302:根据语音样本作为初始声学模型的输入数据,通过初始声学模型包括的初始时延神经网络得到预测结果。
[0097]
将语音样本输入至初始声学模型包括的初始时延神经网络中,得到预测结果。相比于语音样本标签,预测结果可以包括两种,正确预测结果和错误预测结果。需要说明的是,正确预测结果为预测结果和对应的样本标签之间的误差小于阈值,错误预测结果为预测结果和对应的样本标签之间的误差大于或等于阈值。本技术实施例不具体限定阈值,本领域技术人员可以根据实际需要进行确定。
[0098]
s303:根据预测结果与语音样本的样本标签确定损失函数。
[0099]
其中,损失函数中包括指导权重,该指导权重用于提高正确预测结果在初始时延神经网络中的识别路径的影响,降低错误预测结果在初始时延神经网络中的识别路径的影响。
[0100]
作为一种可能的实现方式,输入至初始tdnn中的语音样本可以为多个。例如,语音样本包括100个,可以将20个作为一批,分5次输入至初始tdnn中确定损失函数。若20个语音样本输入至初始tdnn中,得到5个正确预测结果和15个错误预测结果。在确定损失函数时,通过指导权重将5个正确预测结果所在的识别路径的影响提高,将15个错误预测结果所在的识别路径的影响降低,以便于后续训练可以更加信任影响较高的识别路径,从而使得正确预测结果对应的识别路径的影响越来越高,错误预测结果对应的识别路径的影响越来越低,避免陷入局部最优。
[0101]
其中,初始tdnn包括多层网络,一层网络中包括多个节点,每个节点从前一层网络得到的输出特征不同,从而学习到的内容不同,最后形成了多种识别路径。如图3所示,若该tdnn模型为初始tdnn模型,第二层第一个节点可以从第一层左数第一个节点、第二个节点和第三个节点得到不同的输出特征,从而形成了三条路径,继续向上,直至最后一层,进而形成了多条从第一层至最后一层的节点间的识别路径,不同识别路径对应最后的预测结果可能不同,进而根据预测结果和样本标签,不同识别路径对应的影响不同,如不同识别路径对应的权重不同。
[0102]
作为一种可能的实现方式,可以在帧级交叉熵(cross-entropy,ce)损失函数的基础上添加免词格最大互信息(lattic-free maximum mutual information,lf-mmi)损失函数,即采用基于bi-phone的lf-mmi模型替代基于mono-phone的nnet3模型,用于指导初始tdnn模型的误差传递,相比于仅采用ce损失函数,该种方式可以使训练可以更加快速和稳定,从而通过tdnn进一步提升关键词检测的鲁棒性和覆盖率。lf-mmi模型引入了空格(blank)用来吸收不确定的边界,即吸收重合、没意义的输出,如“ni3 hao3 hao3”或“ni3 ni3 hao3”等。
[0103]
s304:根据损失函数调整初始声学模型中初始时延神经网络的模型参数,以得到
声学模型。
[0104]
根据损失函数调整初始声学模型中初始时延神经网络的模型参数,从而得到包括调整好的时延神经网络的声学模型。
[0105]
作为一种可能的实现方式,若初始声学模型中包括初始时延神经网络和初始解码器,则可以根据损失函数调整初始声学模型中初始时延神经网络和初始解码器的模型参数,得到包括调整好的时延神经网络和解码器的声学模型。
[0106]
由此,通过损失函数包括的指导权重,提高正确预测结果在初始时延神经网络中的识别路径的影响,降低错误预测结果在初始时延神经网络中识别路径的影响,从而实现通过区分训练,使得正确预测结果的识别概率更大,其他的概率尽量小,不仅使得训练的声学模型的识别率提升,而且声学模型的训练更加快速和稳定。
[0107]
作为一种可能的实现方式,若用于训练的语音样本的数量较少,可能会影响声学模型的正确率,由此,针对于如小语种等语音样本数量不足的场景,可以基于数据增广增加语音样本数量。具体如下:
[0108]
s3031:获取与语音数据属于同一语种的待处理语音样本。
[0109]
s3032:根据待处理语音样本进行数据增广得到增广样本。
[0110]
其中,增广样本的样本标签基于所对应待处理语音样本的样本标签确定。本技术实施例不具体限定数据增广的方式,下面以三种方式为例进行说明。
[0111]
方式一:通过语音编码方式,针对待处理语音样本生成不同采样率、不同声道,不同编码格式的增广样本。
[0112]
方式二:通过语速和音量扰动方式,在预设区间随机产生乘法因子改变待处理语音样本的速度和音量,得到增广样本。其中,预设区间可以为0.9到1.1之间,本领域技术人员可以根据实际需要进行添加,本技术对此不做具体限定。
[0113]
方式三:通过添加背景音乐和噪声方式,即使用各种背景音乐和各种场景的噪声,添加在较为干净的语音样本中,得到增广样本。
[0114]
需要说明的是,可以通过上述三种方式的一种或多种方式组合生成增广样本。
[0115]
s3033:根据待处理语音样本和增广样本得到语音样本。
[0116]
由上述技术方案可知,由于语音之间存在很大的差异性,比如说音视频的采样率、编码率、声道差异,还有说话人的语速、语调、环境干扰等,这些都会导致语音关键词检测的难度剧增。如果想采集大量某一场景的语音数据并且进行标注,进而得到大量的语音样本是一件成本极高的事情,甚至在某些低资源,小语种场景下语音样本数量更少。所以,在语音样本数量较少的场景中,通过如s3031-s3033的方式扩充语音样本的数量,可以实现在有限的语音样本的情况下,提升声学模型在不同场景下的鲁棒性。
[0117]
在训练声学模型的时候,每一帧都需要有一个输出作为标签。但是在数据增广后,增广样本的语音帧与样本标签不对应,基于此,可以通过对齐(alignment)方式将增广样本的语音帧与样本标签一一对应,即用一个模型将输出序列与输入特征一一对应起来,具体如下:
[0118]
将增广样本对应的待处理语音样的样本标签作为增广样本的待定标签;
[0119]
根据增广样本的语音帧与待定标签进行标签对齐处理,得到增广样本的样本标签。
[0120]
相关技术中,通常是通过gmm来实现的,通过gmm计算每一帧在潜在label上的得分,再结合动态规划输出最终的对齐标签。但是随着标注语料越多和计算能力越大,深度神经网络模型的效果也慢慢超越了gmm模型。为了获得更好的效果,可以使用基于chain model的声学模型替代gmm模型,使得输出标签序列的准确率更高。
[0121]
接下来,将结合图5和图6,针对关键词识别的场景,以声学模型包括tdnn和解码器为例,对本技术实施例提供的语音识别方法进行说明。
[0122]
参见图5,该图为本技术实施例提供的一种语音识别系统的应用场景实施例的示意图。语音识别系统包括特征提取模块501、tdnn模块502、解码模块503和词表生成模块504,下面分别进行说明。
[0123]
特征提取模块501通过数字信号处理算法将连续的待识别的语音数据转化成离散的向量表示,这些向量能够有效地表征待识别的语音数据对应的语音特征,从而有利于后续的语音任务。
[0124]
作为一种可能的实现方式,在语音特征提取过程中,还可以进行快速定点化处理,即用整数来模拟浮点数。具体地,通过线性映射,根据数据的动态范围把浮点型数值映射到整数型数值,如int8、int16或int32等,通过测试,该种方式的速度比kaldi工具(一个开源的语音识别工具)快了近一倍。
[0125]
tdnn模块502用于根据语音特征,确定语音数据所包括语音帧分别对应的音节概率分布。
[0126]
解码模块503确定用于确定语音数据中是否包括关键词的语音识别结果。
[0127]
其中,解码器和tdnn可以组成如图6所示的声学模型,将提取的语音特征输入至tdnn中,得到音节概率分布,将音节概率分布输入至解码器。同时,将语音特征进行数据对齐后输入至解码器,解码器根据音节概率分布和匹配词表,确定用于标识语音数据中是否包括关键词的语音识别结果。
[0128]
词表生成模块504用于根据词典生成关键词对应的音节序列。
[0129]
由此,通过级连上述四个模块,语音识别系统可以高效检测出待识别的语音数据中所有的关键词及其起止位置。
[0130]
在该关键词识别的场景中,使用了时长为27.5小时的待识别的语音数据作为测试集,并且通过表2列出了两种关键词检测方法的效果。从结果可以看到,相比传统基于关键词/填充的关键词检测系统,基于本技术实施例提出的关键词检测,在准确率和覆盖率上都有明显的提升,整体的f1从65.99%提升到75.57%。这个结果说明了本技术实施例提供的语音识别方法能够有效地提升关键词的召回个数,同时也能够更加有效地降低关键词的虚警个数。
[0131]
表2 性能对比实验结果
[0132]
方法准确率召回率f1基于关键词/填充的关键词检测86.76%53.24%65.99%基于本技术实施例的关键词检测92.00%64.12%75.57%提升效果 5.23% 10.89% 9.58%
[0133]
其中,f1是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。f1分数可以看作是模型精确率和召回率的一种调和平均,它的最
大值是1,最小值是0。
[0134]
针对上述实施例提供的语音识别方法,本技术实施例还提供了一种语音识别装置。
[0135]
参见图7,该图为本技术实施例提供的一种语音识别装置的示意图。如图7所示,该语音识别装置700包括:获取单元701、音节概率分布确定单元702和语音识别结果确定单元703;
[0136]
所述获取单元701,用于获取声学模型和待识别的语音数据,所述声学模型包括时延神经网络,所述时延神经网络的输出层包括与多个音节分别对应的声学建模单元;
[0137]
所述音节概率分布确定单元702,用于将所述语音数据作为所述时延神经网络的输入数据,通过所述时延神经网络确定所述语音数据所包括语音帧分别对应的音节概率分布,所述音节概率分布用于标识所述语音帧与所述多个音节分别对应的概率;
[0138]
所述语音识别结果确定单元703,用于根据所述音节概率分布确定所述语音数据对应的语音识别结果。
[0139]
作为一种可能的实现方式,所述声学模型还包括解码器,所述语音识别结果确定单元703,用于:
[0140]
根据所述语音数据对应的唤醒场景,确定与所述唤醒场景对应的关键词;
[0141]
根据所述音节概率分布,通过所述解码器确定用于标识所述语音数据中是否包括所述关键词的语音识别结果;
[0142]
所述方法还包括:
[0143]
若所述语音识别结果指示所述语音数据中包括所述关键词,将所述唤醒场景对应终端设备唤醒。
[0144]
作为一种可能的实现方式,所述装置还包括匹配词表构建单元,用于:
[0145]
以音节为划分粒度构建针对所述关键词的匹配词表;
[0146]
所述语音识别结果确定单元703,用于:
[0147]
根据所述音节概率分布和所述匹配词表,通过所述解码器确定用于标识所述语音数据中是否包括所述关键词的语音识别结果。
[0148]
作为一种可能的实现方式,所述时延神经网络包括n层特征提取层,j∈n,针对所述语音数据所包括语音帧中的第i帧语音帧,所述音节概率分布确定单元702,用于:
[0149]
根据第j-1层特征提取层针对所述第i帧语音帧的输出特征,通过第j层特征提取层确定所述第i帧语音帧的语音帧特征;
[0150]
通过所述语音帧特征和所述第i帧语音帧在所述语音数据中的前后至少一帧对应的语音帧特征,确定所述第i帧语音帧在所述第j层特征提取层的输出特征;
[0151]
根据所述第i帧语音帧在所述第j层特征提取层的输出特征,确定所述第i帧语音帧对应的音节概率分布。
[0152]
作为一种可能的实现方式,所述匹配词表构建单元,用于:
[0153]
根据发音相似程度确定所述关键词所包括音节的相似音节;
[0154]
若所述关键词中具有多音字,确定所述多音字对应的多音字音节;
[0155]
根据所述相似音节和所述多音字音节中的至少一个,以及所述关键词对应的音节,以音节为划分粒度构建针对所述关键词的匹配词表。
[0156]
作为一种可能的实现方式,所述装置还包括训练单元,用于:
[0157]
获取与所述语音数据属于同一语种的语音样本;
[0158]
根据所述语音样本作为初始声学模型的输入数据,通过所述初始声学模型包括的初始时延神经网络得到预测结果;
[0159]
根据所述预测结果与所述语音样本的样本标签确定损失函数,所述损失函数中包括指导权重,所述指导权重用于提高正确预测结果在所述初始时延神经网络中的识别路径的影响,降低错误预测结果在所述初始时延神经网络中的识别路径的影响;
[0160]
根据所述损失函数调整所述初始声学模型中初始时延神经网络的模型参数,以得到所述声学模型。
[0161]
作为一种可能的实现方式,所述训练单元,用于:
[0162]
获取与所述语音数据属于同一语种的待处理语音样本;
[0163]
根据所述待处理语音样本进行数据增广得到增广样本,所述增广样本的样本标签基于所对应待处理语音样本的样本标签确定;
[0164]
根据所述待处理语音样本和所述增广样本得到所述语音样本。
[0165]
作为一种可能的实现方式,所述训练单元,还用于:
[0166]
将所述增广样本对应的待处理语音样的样本标签作为所述增广样本的待定标签;
[0167]
根据所述增广样本的语音帧与所述待定标签进行标签对齐处理,得到所述增广样本的样本标签。
[0168]
由上述技术方案可以看出,针对待识别的语音数据,获取包括时延神经网络的声学模型。将所述语音数据作为时延神经网络的输入数据,由于该时延神经网络的输出层包括与多个音节分别对应的声学建模单元,使得通过时延神经网络能以音节为识别粒度,通过输出层的各个声学建模单元得到语音数据所包括语音帧分别对应的音节概率分布。时延神经网络在语音特征提取和向输出层传递的过程中会携带语音帧在语音数据中丰富的上下文信息,该上下文信息可以体现出语音帧在语音数据中前后音节的相关信息,由此在通过输出层以音节进行识别时,可以结合语音帧的前后音节信息,基于发音规则对语音帧所属音节进行辅助判断,以输出更为精准的音节概率分布。而且由于音节一般由一个或多个音素组成,具有更高的容错能力,即使语音数据中一个音节中出现个别音素的发音误差,对整个音节的识别结果的影响也相对于音素来说更小,从而即使待识别的语音数据质量不高,也能够基于音节概率分布获取更为准确的确定语音识别结果,有效扩展了语音识别技术的适用场景。
[0169]
前述所述的语音识别设备可以为一种计算机设备,该计算机设备可以为服务器,还可以为终端设备,前述所述的语音识别装置可以内置于服务器获终端设备中,下面将从硬件实体化的角度对本技术实施例提供的计算机设备进行介绍。其中,图8所示为服务器的结构示意图,图9所示为终端设备的结构示意图。
[0170]
参见图8,图8是本技术实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序
可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,cpu 1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
[0171]
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
[0172]
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
[0173]
其中,cpu 1422用于执行如下步骤:
[0174]
获取声学模型和待识别的语音数据,所述声学模型包括时延神经网络,所述时延神经网络的输出层包括与多个音节分别对应的声学建模单元;
[0175]
将所述语音数据作为所述时延神经网络的输入数据,通过所述时延神经网络确定所述语音数据所包括语音帧分别对应的音节概率分布,所述音节概率分布用于标识所述语音帧与所述多个音节分别对应的概率;
[0176]
根据所述音节概率分布确定所述语音数据对应的语音识别结果。
[0177]
可选的,cpu 1422还可以执行本技术实施例中语音识别方法任一具体实现方式的方法步骤。
[0178]
参见图9,图9为本技术实施例提供的一种终端设备的结构示意图。图9示出的是与本技术实施例提供的终端设备相关的智能手机的部分结构的框图,该智能手机包括:射频(radio frequency,简称rf)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wireless fidelity,简称wifi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图9中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0179]
下面结合图9对智能手机的各个构成部件进行具体的介绍:
[0180]
rf电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。通常,rf电路1510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noise amplifier,简称lna)、双工器等。此外,rf电路1510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(global system of mobile communication,简称gsm)、通用分组无线服务(general packet radio service,简称gprs)、码分多址(code division multiple access,简称cdma)、宽带码分多址(wideband code division multiple access,简称wcdma)、长期演进(long term evolution,简称lte)、电子邮件、短消息服务(short messaging service,简称sms)等。
[0181]
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现智能手机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存
取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0182]
输入单元1530可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0183]
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(liquid crystal display,简称lcd)、有机发光二极管(organic light-emitting diode,简称oled)等形式来配置显示面板1541。进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图9中,触控面板1531与显示面板1541是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板1531与显示面板1541集成而实现智能手机的输入和输出功能。
[0184]
智能手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在智能手机移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0185]
音频电路1560、扬声器1561,传声器1562可提供用户与智能手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经rf电路1510以发送给比如另一智能手机,或者将音频数据输出至存储器1520以便进一步处理。
[0186]
wifi属于短距离无线传输技术,智能手机通过wifi模块1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块1570,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需
要在不改变发明的本质的范围内而省略。
[0187]
处理器1580是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
[0188]
智能手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0189]
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0190]
在本技术实施例中,该智能手机所包括的存储器1520可以存储程序代码,并将所述程序代码传输给所述处理器。
[0191]
该智能手机所包括的处理器1580可以根据所述程序代码中的指令执行上述实施例提供的语音识别方法。
[0192]
本技术实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的语音识别方法。
[0193]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的语音识别方法。
[0194]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0195]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0196]
以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。而且本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献