CN116153294A - 语音识别方法、装置、系统、设备及介质 - Google Patents
语音识别方法、装置、系统、设备及介质 Download PDFInfo
- Publication number
- CN116153294A CN116153294A CN202310402551.XA CN202310402551A CN116153294A CN 116153294 A CN116153294 A CN 116153294A CN 202310402551 A CN202310402551 A CN 202310402551A CN 116153294 A CN116153294 A CN 116153294A
- Authority
- CN
- China
- Prior art keywords
- frame
- audio
- packet
- recognition
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000004044 response Effects 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种语音识别方法、装置、系统、设备及介质。该方法响应于获取到待识别语音的音频尾包,通过确定音频尾包中从最后一帧至第一帧的首个非静音帧,得到预截断帧,以实现对音频尾包中尾端的无效静音片段的确定,进而通过对音频尾包中的第一帧至预截断帧进行解码,得到音频尾包的解码结果,以实现对音频尾包中除无效静音片段之外的有效片段的解码,避免对尾端的无效静音片段进行解码,节省了解码无效静音片段的时间开销,减少了音频尾包的解码时间,进而减少了语音识别的响应时间,提高了语音识别的响应速度。
Description
技术领域
本发明涉及语音识别技术领域,尤其涉及一种语音识别方法、装置、系统、设备及介质。
背景技术
随着语音识别在语音听写、智能家居等场景的广泛应用,影响用户体验的因素已不仅仅局限于识别准确率的高低,响应速度的快慢也至关重要。语音识别的响应时间通常定义为用户说完话到产生最终识别结果的时间。
目前,语音识别的实现主要采用流式识别框架,流式识别框架通常是由前端VAD(Voice Activity Detection,语音活性检测)模块加后端流式识别引擎构成。VAD模块确定有效语音开始后,将音频流按固定长度分包,送给识别引擎,获得识别引擎的反馈后,接着发送下一包识别,直到VAD模块确定有效语音尾端点,发送最后一包音频,得到最终识别结果。在流式识别框架中,当用户说完话后,其等待时间为识别引擎处理最后一包音频的时间,这样响应速度就得到很大提升。
在实现本发明的过程中,发现现有技术中至少存在以下技术问题:识别引擎对VAD模块发送的最后一包音频即音频尾包的解码时间较长,从而造成语音识别的响应时间长,语音识别的响应速度慢。
发明内容
本发明实施例提供了一种语音识别方法、装置、系统、设备及介质,以解决语音识别的响应速度慢的技术问题。
根据本发明实施例的一方面,提供了一种语音识别方法,包括:
响应于获取到待识别语音的音频尾包,确定所述音频尾包中的预截断帧,其中,所述预截断帧为所述音频尾包中从最后一帧至第一帧的首个非静音帧;
对所述音频尾包中的第一帧至所述预截断帧进行解码,得到所述音频尾包的解码结果;
基于所述音频尾包的解码结果确定所述待识别语音的语音识别结果。
根据本发明实施例的另一方面,提供了一种语音识别装置,包括:
预截断确定模块,用于响应于获取待识别语音的音频尾包,确定所述音频尾包中的预截断帧,其中,所述预截断帧为所述音频尾包中从最后一帧至第一帧的首个非静音帧;
尾包解码模块,用于对所述音频尾包中的第一帧至所述预截断帧进行解码,得到所述音频尾包的解码结果;
结果识别模块,用于基于所述音频尾包的解码结果以及所述待识别语音中除所述音频尾包之外的其它音频包的解码结果,确定所述待识别语音的语音识别结果。
根据本发明实施例的另一方面,提供了一种语音识别系统,包括语音活性检测模块以及识别引擎,其中;
所述语音活性检测模块,用于确定待识别语音的音频首包,将所述音频首包确定为当前待发送包,将所述当前待发送包发送至所述识别引擎,并在接收到所述识别引擎反馈的针对所述当前待发送包的解码完成信号时,基于所述当前待发送包的下一音频包更新所述当前待发送包,返回执行将所述当前待发送包发送至所述识别引擎的操作,直至将所述待识别语音的音频尾包发送至所述识别引擎;
所述识别引擎,用于在接收到除所述音频尾包之外的其它音频包时,对所述其它音频包进行解码,并在解码完成后反馈解码完成信号至所述语音活性检测模块,在接收到所述音频尾包时,基于本发明任一实施例所述的语音识别方法对接收到的所述音频尾包进行解码,得到所述待识别语音的语音识别结果。
根据本发明实施例的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的语音识别方法。
根据本发明实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的语音识别方法。
上述发明中的一个实施例具有如下优点或有益效果:
响应于获取到待识别语音的音频尾包,通过确定音频尾包中从最后一帧至第一帧的首个非静音帧,得到预截断帧,以实现对音频尾包中尾端的无效静音片段的确定,进而通过对音频尾包中的第一帧至预截断帧进行解码,得到音频尾包的解码结果,以实现对音频尾包中除无效静音片段之外的有效片段的解码,避免对尾端的无效静音片段进行解码,节省了解码无效静音片段的时间开销,减少了音频尾包的解码时间,进而减少了语音识别的响应时间,提高了语音识别的响应速度。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明一个实施例提供的一种语音识别方法的流程示意图;
图1B为本发明一个实施例提供的一种识别引擎的处理流程图;
图1C为本发明一个实施例提供的一种识别状态的示意图;
图2为本发明一个实施例提供的另一种语音识别方法的流程示意图;
图3A为本发明一个实施例提供的另一种语音识别方法的流程示意图;
图3B为本发明一个实施例提供的一种音频尾包的解码过程示意图;
图4A为本发明一个实施例提供的一种语音识别系统的结构示意图;
图4B为本发明一个实施例提供的一种语音识别系统的识别流程图;
图5为本发明一个实施例提供的一种语音识别装置的结构示意图;
图6为本发明一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在现有的流式识别框架中,流式识别框架的VAD模块将有效语音进行分包识别,在等待完整的下一包音频的时间里,识别引擎正对当前包进行解码处理。若每包处理时间小于分包时长,则当前包的解码处理时间和等待下一包的时间重合。当用户说完话后,其等待时间只是识别引擎处理最后一包语音的时间。然而,流式识别框架中的VAD模块为目前普遍使用神经网络模型,以音频的声学特征作为输入,判断每一帧是否为有效语音;该模块是语音识别服务的最前端,一直在接收处理音频流,所以不易使用结构复杂的神经网络模型,否则会造成极大的时间开销。VAD模块在判断有效语音的起止点时,为避免轻量模型预测误差造成有效音频首尾截断而影响识别结果,以及用户的短暂停顿被误判为停止说话,通常会在起止点前后包含一定长度的静音片段,如300-600ms。由于用户等待的时间近似为识别引擎处理最后一包音频的时间,而最后一包音频的末尾包含较长的静音片段,这些静音虽然没有实际内容,但仍被识别引擎解码处理,造成最后一包音频的解码时间较长,进而增加了语音识别的响应时间。
因此,为了减少最后一包音频的解码时间,提高语音识别的响应速度,本发明实施例提供的语音识别方法通过对最后一包音频的末端静音起点进行判断,确定预截断帧,当解码到该预截断帧时即可停止解码,返回语音识别结果,避免了对最后一包音频中的无效静音片段解码的额外时间开销,提高了最后一包音频的解码速度,进而提高了语音识别的响应速度。
图1A为本发明一个实施例提供的一种语音识别方法的流程示意图,本实施例可适用于在使用流式识别框架中的识别引擎对待识别语音进行解码的过程中,对待识别语音的音频尾包的末端静音片段进行判断,进而在逐帧解码到该末端静音片段时停止解码,返回待识别语音的语音识别结果,该方法可以由语音识别装置来执行,该语音识别装置可以采用硬件和/或软件的形式实现,该语音识别装置可配置于计算机、智能手机或智能平板等电子设备中。如图1A所示,该方法包括:
S110、响应于获取到待识别语音的音频尾包,确定音频尾包中的预截断帧,其中,预截断帧为音频尾包中从最后一帧至第一帧的首个非静音帧。
其中,音频尾包可以是待识别语音中的最后一包语音数据。具体的,VAD模块可以将待识别语音按照固定长度拆分为各个音频包,发送给识别引擎进行解码;识别引擎在获取到VAD模块发送的音频包时,可以根据音频包对应的尾包标识判断音频包是否为音频尾包。
在本发明实施例中,识别引擎可以在获取到VAD传输的每一个音频包时,根据VAD发送的与当前接收的音频包对应的尾包标识判断是否为音频尾包,若否,则可以直接对当前接收的音频包中的所有帧进行解码,若是,则可以确定音频包中的预截断帧。
示例性的,参见图1B,图1B为本发明一个实施例提供的一种识别引擎的处理流程图。其中,识别引擎接收VAD模块发送的音频包,并判断该音频包是否为音频尾包,若是,则确定音频尾包中的预截断帧,并基于对音频尾包的第一帧至预截断帧的解码结果返回最终识别结果;若否,则逐帧对该音频包进行解码,并返回当前包解码完成信号至VAD模块,以使VAD模块发送下一音频包。
其中,预截断帧可以是音频尾包中包含的末端静音片段的前一帧。具体的,识别引擎可以从音频尾包的最后一帧开始,逐帧判断是否为静音帧,直至确定出第一个非静音帧,进而将该首个非静音帧确定为预截断帧。可以理解的是,在音频尾包中,预截断帧的下一帧到最后一帧均为静音帧,即位于预截断帧之后的片段为无效静音片段。
示例性的,确定音频尾包中的预截断帧,可以是:将音频尾包的最后一帧作为待判断帧,确定待判断帧是否为静音帧,若是,则基于待判断帧的前一帧更新待判断帧,并返回执行确定待判断帧是否为静音帧的操作,直至确定待判断帧不是静音帧。
其中,确定待判断帧是否为静音帧,可以是:根据待判断帧的音素发音概率确定待判断帧是否为静音帧;或者,根据待判断帧对应的平均能量确定待判断帧是否为静音帧,其中,平均能量可以反映待判断帧的音量大小。
S120、对音频尾包中的第一帧至预截断帧进行解码,得到音频尾包的解码结果。
具体的,在确定出音频尾包中的预截断帧后,可以确定音频尾包中的第一帧至预截断帧构成音频尾包中的有效片段,预截断帧的后一帧至最后一帧构成音频尾包中的无效静音片段。
在本发明实施例中,可以对音频尾包中的第一帧至预截断帧进行逐帧解码,以对音频尾包中的有效片段进行解码,得到音频尾包的解码结果。
示例性的,可以基于加权有限状态转换器或前缀树等解码方法,对音频尾包中的第一帧至预截断帧进行解码。
例如,解码可以是结合声学模型输出发音得分和结合语言模型输出的语法得分,以从搜索空间中寻找得分最优的状态序列,从而将音频转化为识别结果的过程。
在一种具体的实施方式中,对音频尾包中的第一帧至预截断帧进行解码,可以包括如下步骤:
步骤1201、将音频尾包中的第一帧作为当前解码帧,基于预先训练的语言模型确定当前解码帧对应的各当前识别词汇的语法得分,基于预先训练的声学模型确定各当前识别词汇的发音得分;
步骤1202、针对每一个当前识别词汇,基于当前识别词汇的语法得分以及当前识别词汇的发音得分,确定从待识别语音的第一帧对应的预设初始词汇到当前识别词汇的各路径分别对应的路径数据结构,其中,路径数据结构用于记录对应路径包含的识别词汇的语法发音总分以及发音总分;
步骤1203、判断当前解码帧是否为预截断帧,若否,则基于当前解码帧的下一帧更新当前解码帧,并返回执行确定当前解码帧对应的各当前识别词汇的语法得分以及发音得分的操作,直至判断当前解码帧为预截断帧。
具体的,对音频尾包的解码步骤,可以从音频尾包的第一帧开始,确定当前解码帧对应的至少一个当前识别词汇。其中,每一个当前识别词汇可以由其对应的识别状态进行表示。
示例性的,参见图1C,图1C为本发明一个实施例提供的一种识别状态的示意图,图1C展示了简化的识别状态,实际场景可以具备上万个状态与边。
其中,0状态表示预设初始状态,1状态对应的识别词汇为“我爱”,2状态和3状态分别对应的识别词汇为“运动”、“运球”。指向一个识别状态的边可以用“x:y/w”结构表示,如“1:我爱/0.5”、“2:运动/0.3”、“3:运球/0.1”,其中,x可以表示索引,基于索引可以查询得到声学模型输出的该识别状态的发音得分,y可以表示与该识别状态对应的识别词汇,w可以表示语言模型输出的该识别状态的语法得分。
具体的,针对当前解码帧,可以先确定当前解码帧对应的至少一个当前识别状态,进而针对每一个当前识别状态,基于语言模型确定当前识别状态对应的当前识别词汇的语法得分,其中,语法得分可以反映当前识别词汇符合语法的程度;并且,基于声学模型确定当前识别状态对应的发音概率向量,并基于索引从发音概率向量中查询当前识别状态对应的当前识别词汇的发音得分,其中,发音得分可以反映当前帧的发音符合当前识别词汇对应的音素的概率。
需要说明的是,声学模型可以输出当前解码帧对应的发音概率向量,其中,发音概率向量为固定维度的向量,包括每一个音素对应的发音概率。根据索引(即当前识别词汇对应的当前发音音素)可以从发音概率向量中查询与索引对应的发音概率,将查询到的发音概率作为发音得分。
针对当前解码帧对应的每一个当前识别词汇,可以确定从待识别语音的第一帧对应的预设初始词汇到当前识别词汇的各个路径,其中,预设初始词汇可以是位于待识别语音的第一帧对应的识别词汇之前的无意义词汇。如,图1C中的状态0为预设初始状态,其对应的词汇可以为无意义词汇,即预设初始词汇。
进一步的,针对每一个路径,可以采用路径数据结构记录该路径所包含的所有识别词汇的语法发音总分以及发音总分。其中,路径数据结构可以是token。语法发音总分可以是路径下的所有识别词汇的发音总分与语法总分的和。发音总分可以是路径下的所有识别词汇的发音得分的和,语法总分可以是路径下的所有识别词汇的语法得分的和。
需要说明的是,预设初始词汇(或预设初始状态)到当前识别词汇(或当前识别状态)的路径的数量,等于当前识别词汇对应的路径数据结构的数量,即当前识别词汇的每一个路径均对应一个路径数据结构。
针对当前解码帧,在得到当前解码帧的各个当前识别词汇的各路径数据结构后,可以将各当前识别词汇以及各路径数据结构作为当前解码帧的解码结果,至此实现了对当前解码帧的解码。进一步的,可以判断当前解码帧是否为预截断帧,若否,则可以继续将当前解码帧的下一帧作为新的当前解码帧,以对下一帧继续进行解码,直至当前解码帧为预截断帧,得到音频尾包中的第一帧至预截断帧的解码结果。
即,上述过程是循环执行的,循环截止的条件是判断当前解码帧为预截断帧。
通过上述方式,通过分别确定声学模型对应的发音得分以及语言模型对应的语法得分,实现了基于声学信息和语义信息的解码,结合声学和语义确定解码结果,提高了语音识别结果的准确性。
需要说明的是,在对音频尾包进行解码之前,识别引擎可以响应于接收到的除音频尾包之外的其它音频包,基于声学模型和语言模型对其它音频包的第一帧至最后一帧进行解码,得到其它音频包的第一帧至最后一帧的各个识别词汇对应的各路径数据结构。其中,基于声学模型和语言模型的解码过程可以参见上述对音频尾包的解码步骤,在此不再赘述。
识别引擎可以在完成对除音频尾包之外的一个音频包的解码后,可以向VAD模块反馈解码完成信号,以使VAD模块继续发送下一个音频包,直至完成对音频尾包的解码。
S130、基于音频尾包的解码结果确定待识别语音的语音识别结果。
具体的,在完成对音频尾包中第一帧至预截断帧的解码后,可以根据各识别词汇对应的各路径数据结构,进一步确定待识别语音的语音识别结果。
在一种具体的实施方式中,基于音频尾包的解码结果确定待识别语音的语音识别结果,可以是:在各路径数据结构中确定至少一个终止数据结构,将语法发音总分最高的终止数据结构确定为目标数据结构,其中,终止数据结构为音频尾包中解码的最后一帧对应的各识别词汇的路径数据结构;基于目标数据结构对应的目标路径确定目标路径包含的各目标识别词汇,根据各目标识别词汇确定待识别语音的语音识别结果。
其中,终止数据结构可以是最后一个解码帧对应的各识别词汇的路径数据结构。示例性的,若图1C中状态2和状态3为最后一个解码帧对应的各识别状态,则终止数据结构包括状态2和状态3对应的各路径数据结构。
具体的,可以先从各识别词汇(或识别状态)中确定各终止识别词汇(或终止识别状态),其中,终止识别词汇为最后一个解码帧对应的识别词汇;进而将各终止识别词汇对应的各路径数据结构确定为终止数据结构。
进一步的,可以比对各个终止数据结构对应的语法发音总分,将语法发音总分最高的终止数据结构作为目标数据结构,进而可以对目标数据结构进行回溯,将目标数据结构对应的目标路径中包含的所有目标识别词汇,作为待识别语音的语音识别结果。
通过确定各终止识别结构,从各终止识别结构中选取声学和语义质量最高的终止识别结构作为需要回溯的结构,进而回溯该结构对应的路径所包含的各识别词汇,得到语音识别结果,实现了基于声学和语义的语音识别,提高了语音识别结果的准确性。
进一步的,识别引擎可以将语音识别结果发送至客户端或下游业务系统。示例性的,客户端可以直接对语音识别结果进行展示;或者,客户端或下游业务系统可以对语音识别结果作进一步处理。示例性的,可以根据语音识别结果控制家电设备、展示或播放针对语音识别结果的回复内容、控制音频的播放内容或音量大小等。
除了上述直接展示语音识别结果之外,还可以在识别引擎解码出待识别语音中除音频尾包之外的其它音频包时,对其它音频包的解码结果进行实时显示。
在一种具体的实施方式中,还可以包括:响应于获取到待识别语音中除音频尾包之外的当前音频包,对当前音频包进行解码,得到当前音频包的解码结果,基于当前音频包的解码结果确定待识别语音的参考识别结果,对参考识别结果进行展示;根据语音识别结果对展示的参考识别结果进行调整。
其中,基于当前音频包的解码结果确定待识别语音的参考识别结果,可以是:从当前音频包中最后一帧对应的各识别词汇的各路径数据结构中,选取语法发音总分最高的路径数据结构进行回溯,得到各个参考词汇作为参考识别结果。并且,可以对参考识别结果进行实时展示。
进一步的,在识别引擎完成对音频尾包的解码时,可以基于音频尾包的解码结果确定最终的语音识别结果,并根据语音识别结果更新展示的内容。
由于识别引擎是在一个音频包解码完成后继续接收下一个音频包并对下一个音频包进行解码,因此,通过上述方式,可以使得识别引擎在接收到除音频尾包之外的其它音频包时,对其它音频包进行解码并将识别结果进行展示,实现在接收用户有效语音的同时,实时展示有效语音对应的识别结果,与在用户完成讲话后一次展示所有识别结果的方式相比,边接收边展示的方式可以便于用户快速确认讲话内容,提高用户体验。并且,考虑到由于并未基于完整的待识别语音的解码结果确定参考识别结果,可能存在识别误差,因此,可以在基于音频尾包的解码结果确定出语音识别结果后,对展示的参考识别结果进行更新,以避免展示错误的参考识别结果。
需要说明的是,由于VAD模块发送的待识别语音的起止点前后均包含一定长度的静音片段,因此,除了音频尾包的末端包含无效静音片段之外,音频首包的头部也包含无效静音片段。
为了进一步提高语音识别的响应速度,减少识别引擎的解码压力,本发明实施例提供的方法还可以包括:响应于获取到待识别语音的音频首包,确定音频首包中的预截取帧,其中,预截取帧为音频首包中从第一帧至最后一帧的首个非静音帧;对音频首包中的预截取帧至最后一帧进行解码,得到音频首包的解码结果。
其中,预截取帧可以是音频首包包含的头部静音片段的后一帧。具体的,识别引擎可以从音频首包的第一帧开始,逐帧判断是否为静音帧,直至确定出第一个非静音帧,进而将该首个非静音帧确定为预截取帧。可以理解的是,在音频首包中,第一帧至预截取帧的前一帧均为静音帧,即位于预截取帧之前的片段为无效静音片段。
示例性的,确定音频首包中的预截取帧,可以是:将音频首包中的第一帧作为待判断帧,确定待判断帧是否为静音帧,若是,则基于待判断帧的后一帧更新待判断帧,并返回执行确定待判断帧是否为静音帧的操作,直至确定待判断帧不是静音帧。
进一步的,在确定出音频首包中的预截取帧后,可以对音频首包中的预截取帧至最后一帧进行解码,以得到音频首包的解码结果,无需对预截取帧之前的各个帧进行解码,减轻了识别引擎的解码压力,并且,进一步的提高了语音识别的响应速度。
本实施例的技术方案,响应于获取到待识别语音的音频尾包,通过确定音频尾包中从最后一帧至第一帧的首个非静音帧,得到预截断帧,以实现对音频尾包中尾端的无效静音片段的确定,进而通过对音频尾包中的第一帧至预截断帧进行解码,得到音频尾包的解码结果,以实现对音频尾包中除无效静音片段之外的有效片段的解码,避免对尾端的无效静音片段进行解码,节省了解码无效静音片段的时间开销,减少了音频尾包的解码时间,进而减少了语音识别的响应时间,提高了语音识别的响应速度。
图2为本发明一个实施例提供的另一种语音识别方法的流程示意图,本实施例在上述各实施方式的基础上,对确定音频尾包中的预截断帧的过程进行了示例性说明。如图2所示,该方法包括:
S210、响应于获取到待识别语音的音频尾包,将音频尾包中的最后一帧作为当前判断帧,基于预先训练的声学模型确定当前判断帧对应的各音素发音概率。
具体的,基于预先训练的声学模型确定当前判断帧对应的各音素发音概率,可以是:确定当前判断帧对应的声学特征,将声学特征输入至预先训练的声学模型,得到声学模型输出的当前发音向量,其中,当前发音向量包括各音频发音概率。
其中,声学特征可以是MFCC(Mel Frequency Cepstrum Coefficient,梅尔倒频谱系数)特征或Fbank(FilterBank,滤波器组)特征。具体的,可以将声学特征输入至复杂神经网络的声学模型中,如LSTM(Long Short-Term Memory,长短期记忆网络)、CNN(Convolutional Neural Network,卷积神经网络)等,得到声学模型输出的固定维度的当前发音向量,其中每一维表示当前判断帧是由某个音素发音的概率。
例如,音素可以是SIL、w_0、o_3、ai_4、y_0、un_4、d_0、ong_4等,其中,下划线后的数字表示声调,SIL表示静音音素。
S220、根据当前判断帧对应的各音素发音概率,判断当前判断帧是否为静音帧,若是,则基于当前判断帧的前一帧更新当前判断帧,并返回执行基于预先训练的声学模型确定当前判断帧对应的各音素发音概率的操作,直至判断当前判断帧为非静音帧,将当前判断帧确定为预截断帧。
具体的,可以是若各音素发音概率中最高的音素发音概率对应的音素为静音音素,则确定当前判断帧为静音帧,进一步的,继续判断当前判断帧的下一帧是否为静音帧,直至判断出非静音帧。
在一种具体的实施方式中,根据当前判断帧对应的各音素发音概率,判断当前判断帧是否为静音帧,可以是:若各音素发音概率中最高的音素发音概率对应的音素为静音音素,且,最高的音素发音概率与其它音素发音概率之间的差值大于预设概率阈值,则确定当前判断帧为静音帧。
其中,预设概率阈值可以是预先设置的大于0的数值。具体的,若静音音素的概率最大,且与非静音音素的概率之间的差值大于预设概率阈值,则可以表示该当前判断帧为静音帧。
通过上述方式,可以将静音音素的概率最大且静音音素与非静音音素的概率差较大的帧确定为静音帧,避免了对静音帧的误判,进而提高了音频尾包的解码准确性。
需要说明的是,本实施例采用声学模型确定预截断帧的好处在于:采用识别引擎的解码所需的已有模型,无需再额外设置其它模型;并且,在确定出预截断帧之后的解码操作中,也需要计算每一帧的各音素发音概率,以得到发音得分,因此,基于声学模型输出的各音素发音概率确定预截断帧,可以使得后续解码过程直接复用各音素发音结果,无需再单独计算,与未判断预截断帧的解码方式相比,本发明实施例提出的判断预截断帧的解码方式,不产生额外时间开销,保证了语音识别的响应速度。
S230、对音频尾包中的第一帧至预截断帧进行解码,得到音频尾包的解码结果。
S240、基于音频尾包的解码结果确定待识别语音的语音识别结果。
本实施例的技术方案,通过声学模型确定音频尾包中各帧的各音素发音概率,进而基于各音素发音概率判断出预截断帧,实现了基于识别引擎的解码所需的已有模型的预截断帧的判断,无需再额外设置其它模型,便于实施,且声学模型通常用大量数据和复杂结构训练得到,与VAD模块中的模型相比,识别准确率更高;并且,基于声学模型输出的各音素发音概率确定预截断帧,可以使得后续解码过程直接复用各音素发音结果,无需再单独计算,不产生额外时间开销,进一步的提高了语音识别的响应速度。
图3A为本发明一个实施例提供的另一种语音识别方法的流程示意图,本实施例在上述各实施方式的基础上,在对预截断帧进行解码之后,补充了判断待识别语音的第一帧至预截断帧是否语义完整,以实现对预截断帧的校验。如图3A所示,该方法包括:
S310、响应于获取到待识别语音的音频尾包,确定音频尾包中的预截断帧,其中,预截断帧为音频尾包中从最后一帧至第一帧的首个非静音帧。
S320、将音频尾包中的第一帧作为当前解码帧,基于预先训练的语言模型确定当前解码帧对应的各当前识别词汇的语法得分,基于预先训练的声学模型确定各当前识别词汇的发音得分。
S330、针对每一个当前识别词汇,基于当前识别词汇的语法得分以及当前识别词汇的发音得分,确定从待识别语音的第一帧对应的预设初始词汇到当前识别词汇的各路径分别对应的路径数据结构,其中,路径数据结构用于记录对应路径包含的所有识别词汇的语法发音总分以及发音总分。
S340、判断当前解码帧是否为预截断帧,若否,则基于当前解码帧的下一帧更新当前解码帧,并返回执行确定当前解码帧对应的各当前识别词汇的语法得分以及发音得分的操作,直至判断当前解码帧为预截断帧。
通过上述步骤,可以依次确定出音频尾包中第一帧至预截断帧对应的各识别词汇,以及各识别词汇下的各路径数据结构。
S350、根据各路径数据结构对应的语法发音总分,判断待识别语音的第一帧至预截断帧是否语义完整。
具体的,在对预截断帧解码完成,得到第一帧至预截断帧中各帧对应的各识别词汇以及各识别词汇下的各路径数据结构后,可以根据所有路径数据结构记录的语法发音总分,判断到预截断帧为止的语义是否完整。
示例性的,可以判断各路径数据结构中是否存在语法发音总分超过预设总分阈值的路径数据结构,若是,则可以确定待识别语音的第一帧至预截断帧语义完整。
在一种具体的实施方式中,根据各路径数据结构对应的语法发音总分,判断待识别语音的第一帧至预截断帧是否语义完整,可以包括如下步骤:
步骤3501、将预截断帧对应的各识别词汇确定为终止识别词汇,将位于预截断帧之前的各帧对应的各识别词汇确定为非终止识别词汇;
步骤3502、将各终止识别词汇的各路径数据结构中语法发音总分最高的路径数据结构确定为第一数据结构,将各非终止识别词汇的各路径数据结构中语法发音总分最高的路径数据结构确定为第二数据结构;
步骤3503、确定第一数据结构对应的第一语法总分以及第二数据结构对应的第二语法总分,基于第一语法总分以及第二语法总分,判断待识别语音的第一帧至预截断帧是否语义完整。
在上述步骤3501中,将所有识别词汇划分为终止识别词汇和非终止识别词汇,其中,终止识别词汇可以是最后一个解码帧对应的识别词汇,此时的最后一个解码帧为预截断帧,非终止识别词汇可以是在最后一个解码帧之前的各帧对应的识别词汇。
进一步的,在各终止识别词汇中,查询语法发音总分最高的路径数据结构,得到第一数据结构,并在各非终止识别词汇中,查询语法发音总分最高的路径数据结构,得到第二数据结构。
进一步的,可以根据第一数据结构记录的语法发音总分和发音总分,确定第一数据结构对应的第一语法总分;并根据第二数据结构记录的语法发音总分和发音总分,确定第二数据结构对应的第二语法总分。
具体的,若第一语法总分大于第二语法总分,且第一语法总分与第二语法总分之间的差值超过预设语义阈值,则可以确定待识别语音的第一帧至预截断帧语义完整,否则,确定待识别语音的第一帧至预截断帧语义不完整。
需要说明的是,在上述方式中,通过第一语法总分和第二语法总分判断解码至预截断帧为止是否语义完整的目的在于:非终止识别词汇表示当前状态对应的音频处于某个词发音的中间,不能由该状态获得最终识别结果。如,“我爱运动”解码到“动”字对应的“d_0”发音处,因此“我爱运”的语义不完整,语言模型得分较低。终止识别词汇表示当前状态对应音频已经到了词的结尾,如果预截断帧正确,预截断帧之后的帧均为静音帧,表示用户话已说完,语义完整,此时语言模型输出的语法得分较高。因此,若预截断帧解码后语义完整,此时终止识别词汇的语言模型的得分应明显高于非终止识别词汇的语言模型的得分。
因此,可以通过判断终止识别词汇下语法声学总分最高的token的第一语法总分,是否明显大于非终止识别词汇下语法声学总分最高的token的第二语法总分,来判断终止识别词汇下的token的语义信息是否明显大于非终止识别词汇下的token的语义信息,进而判断此时对待识别语音第一帧至预截断帧是否语义完整,实现了在解码过程中对预截断帧的校验,避免了对预截断帧的误判造成的对音频尾包的不完全解码。
S360、若否,则对音频尾包中预截断帧的下一帧至最后一帧进行解码。
具体的,若待识别语音的第一帧至预截断帧语义不完整,则可以继续对预截断帧的下一帧至最后一帧进行解码;具体可以通过声学模型和语言模型实现解码,可参见上述对音频尾包的第一帧至预截断帧的解码步骤,在此不再赘述。
S370、基于音频尾包的解码结果确定待识别语音的语音识别结果。
示例性的,参见图3B,图3B为本发明一个实施例提供的一种音频尾包的解码过程示意图。其中,首先将音频尾包中的最后一帧作为当前帧,并基于声学模型得到当前帧的各音素后验概率,即音素发音概率,并根据各音素后验概率判断是否为静音帧,若否,则继续将当前帧的前一帧作为当前帧,以对前一帧进行判断,直至判断出非静音帧,得到预截断帧。进一步的,将音频尾包中的第一帧作为当前帧,对当前帧进行解码,并判断是否为预截断帧,若不是,则继续逐帧解码至预截断帧,若是,则确定各终止识别词汇下语法发音总分最高的第一数据结构,各非终止识别词汇下语法发音总分最高的第二数据结构,并计算第一数据结构的第一语法总分t_f_lm、并计算第二数据结构的第二语法总分t_nf_lm,判断t_f_lm与t_nf_lm之间的差值大于正的预设语义阈值thresh_lm,若否,则继续对音频尾包的后续所有帧进行解码,即对预截断帧之后的所有帧进行解码,并在解码后回溯得到语音识别结果,若是,则直接可以回溯得到语音识别结果。其中,回溯获得语音识别结果的过程,可以是寻找语法发音总分最高的路径数据结构,并确定该路径数据结构对应的路径所包含的所有识别词汇的过程。
在上述过程中,通过声学模型输出的各发音音素概率判断预截断帧,实现了基于声学信息的预截断帧的判断,并且,通过语言模型输出的语法总分判断是否语义完整,实现了基于语义信息的预截断帧校验,保证了预截断帧判断的准确性。依此提前结束解码,在提升了语音识别的响应速度的同时,对识别准确率不会有负面影响。此外,在预截断帧的判断以及校验中,利用了识别引擎的解码信息,相比于在识别引擎中引入单独的模块进行判断,便于部署,且降低了预截断帧判断以及校验的时间开销。
本实施例的技术方案,通过各路径数据结构对应的语法发音总分,判断待识别语音的第一帧至预截断帧是否语义完整,并在语义不完整时继续对预截断帧的下一帧至最后一帧进行解码,实现了对预截断帧的校验,避免了对预截断帧的误判造成对音频尾包的解码不完整。并且,该方法利用解码过程中得到的路径数据结构的语法发音总分进行校验,以基于识别引擎得到的解码信息进行预截断帧校验,无需在识别引擎中引入单独的模块,便于部署,同时,采用解码得到的信息进行校验,降低了校验所需的时间开销,进一步的提高了语音识别的响应速度。
图4A为本发明一个实施例提供的一种语音识别系统的结构示意图。如图4A所示,该装置包括语音活性检测模块410以及识别引擎420。其中:
语音活性检测模块410,用于确定待识别语音的音频首包,将音频首包确定为当前待发送包,将当前待发送包发送至识别引擎,并在接收到识别引擎反馈的针对当前待发送包的解码完成信号时,基于当前待发送包的下一音频包更新当前待发送包,返回执行将当前待发送包发送至识别引擎的操作,直至将待识别语音的音频尾包发送至识别引擎;
识别引擎420,用于在接收到除音频尾包之外的其它音频包时,对其它音频包进行解码,并在解码完成后反馈解码完成信号至语音活性检测模块,在接收到音频尾包时,基于权利要求1-9中任一项的语音识别方法对接收到的音频尾包进行解码,得到待识别语音的语音识别结果。
具体的,语音活性检测模块410对待识别语音进行分包处理,将各个音频包发送至识别引擎420,并在获取到识别引擎420反馈的解码完成信号时继续发送下一音频包。识别引擎420在对音频包进行解码时,若接收的音频包不是音频尾包,则可以对音频包的第一帧至最后一帧进行解码,若接收的音频包是音频尾包,则可以对音频包的第一帧至预截断帧进行解码。
示例性的,识别引擎420中的解码器可以基于声学模型和语言模型对音频包中的帧进行解码。参见图4B,图4B为本发明一个实施例提供的一种语音识别系统的识别流程图。其中,识别引擎包括声学模型、语言模型、发音词典以及解码器。语音活性检测模块将接收到的语音分包后发送至解码器,进一步的,解码器基于声学模型、语言模型和发音词典进行解码,发音词典可以用于查询识别词汇对应的发音音素,以将该发音音素作为索引从声学模型输出的向量中查询对应的发音得分。解码器还可以将识别结果发送至下游任务,如根据语音识别结果控制家电设备、展示与语音识别结果对应的答复内容,等。
图5为本发明一个实施例提供的一种语音识别装置的结构示意图。如图5所示,该装置包括预截断确定模块510、尾包解码模块520以及结果识别模块530。
预截断确定模块510,用于响应于获取待识别语音的音频尾包,确定所述音频尾包中的预截断帧,其中,所述预截断帧为所述音频尾包中从最后一帧至第一帧的首个非静音帧;
尾包解码模块520,用于对所述音频尾包中的第一帧至所述预截断帧进行解码,得到所述音频尾包的解码结果;
结果识别模块530,用于基于所述音频尾包的解码结果以及所述待识别语音中除所述音频尾包之外的其它音频包的解码结果,确定所述待识别语音的语音识别结果。
本实施例的技术方案,响应于获取到待识别语音的音频尾包,通过确定音频尾包中从最后一帧至第一帧的首个非静音帧,得到预截断帧,以实现对音频尾包中尾端的无效静音片段的确定,进而通过对音频尾包中的第一帧至预截断帧进行解码,得到音频尾包的解码结果,以实现对音频尾包中除无效静音片段之外的有效片段的解码,避免对尾端的无效静音片段进行解码,节省了解码无效静音片段的时间开销,减少了音频尾包的解码时间,进而减少了语音识别的响应时间,提高了语音识别的响应速度。
在上述实施例的基础上,预截断确定模块510,还用于将所述音频尾包中的最后一帧作为当前判断帧,基于预先训练的声学模型确定所述当前判断帧对应的各音素发音概率;根据所述当前判断帧对应的各音素发音概率,判断所述当前判断帧是否为静音帧,若是,则基于所述当前判断帧的前一帧更新所述当前判断帧,并返回执行基于预先训练的声学模型确定所述当前判断帧对应的各音素发音概率的操作,直至判断所述当前判断帧为非静音帧,将所述当前判断帧确定为预截断帧。
在上述实施例的基础上,预截断确定模块510,还用于若各所述音素发音概率中最高的音素发音概率对应的音素为静音音素,且,最高的音素发音概率与其它音素发音概率之间的差值大于预设概率阈值,则确定所述当前判断帧为静音帧。
在上述实施例的基础上,尾包解码模块520,还用于将所述音频尾包中的第一帧作为当前解码帧,基于预先训练的语言模型确定所述当前解码帧对应的各当前识别词汇的语法得分,基于预先训练的声学模型确定各所述当前识别词汇的发音得分;针对每一个所述当前识别词汇,基于所述当前识别词汇的语法得分以及所述当前识别词汇的发音得分,确定从所述待识别语音的第一帧对应的预设初始词汇到所述当前识别词汇的各路径分别对应的路径数据结构,其中,所述路径数据结构用于记录对应路径包含的所有识别词汇的语法发音总分以及发音总分;判断所述当前解码帧是否为所述预截断帧,若否,则基于所述当前解码帧的下一帧更新所述当前解码帧,并返回执行确定所述当前解码帧对应的各当前识别词汇的语法得分以及发音得分的操作,直至判断所述当前解码帧为所述预截断帧。
在上述实施例的基础上,本发明实施例提供的装置还包括预截断校验模块;预截断校验模块,用于根据各所述路径数据结构对应的语法发音总分,判断所述待识别语音的第一帧至所述预截断帧是否语义完整;若否,则对所述音频尾包中所述预截断帧的下一帧至最后一帧进行解码。
在上述实施例的基础上,预截断校验模块,还用于将所述预截断帧对应的各识别词汇确定为终止识别词汇,将位于所述预截断帧之前的各帧对应的各识别词汇确定为非终止识别词汇;将各所述终止识别词汇的各路径数据结构中语法发音总分最高的路径数据结构确定为第一数据结构,将各所述非终止识别词汇的各路径数据结构中语法发音总分最高的路径数据结构确定为第二数据结构;确定所述第一数据结构对应的第一语法总分以及所述第二数据结构对应的第二语法总分,基于所述第一语法总分以及所述第二语法总分,判断所述待识别语音的第一帧至所述预截断帧是否语义完整。
在上述实施例的基础上,结果识别模块530包括回溯单元;回溯单元,用于在各所述路径数据结构中确定至少一个终止数据结构,将语法发音总分最高的终止数据结构确定为目标数据结构,其中,所述终止数据结构为所述音频尾包中解码的最后一帧对应的各识别词汇的路径数据结构;基于所述目标数据结构对应的目标路径确定所述目标路径包含的各目标识别词汇,根据各所述目标识别词汇确定所述待识别语音的语音识别结果。
在上述实施例的基础上,本发明实施例提供的装置还包括首包解码模块;首包解码模块,用于响应于获取到所述待识别语音的音频首包,确定所述音频首包中的预截取帧,其中,所述预截取帧为所述音频首包中从第一帧至最后一帧的首个非静音帧;对所述音频首包中的预截取帧至所述最后一帧进行解码,得到所述音频首包的解码结果。
在上述实施例的基础上,本发明实施例提供的装置还包括中间展示模块;中间展示模块,用于响应于获取到所述待识别语音中除所述音频尾包之外的当前音频包,对所述当前音频包进行解码,得到所述当前音频包的解码结果,基于所述当前音频包的解码结果确定所述待识别语音的参考识别结果,对所述参考识别结果进行展示;根据所述语音识别结果对展示的所述参考识别结果进行调整。
本发明实施例所提供的语音识别装置可执行本发明任意实施例所提供的语音识别方法,具备执行方法相应的功能模块和有益效果。
图6为本发明一个实施例提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如语音识别方法。
在一些实施例中,语音识别方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的语音识别方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音识别方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明实施例的语音识别方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行一种语音识别方法,该方法包括:
响应于获取到待识别语音的音频尾包,确定所述音频尾包中的预截断帧,其中,所述预截断帧为所述音频尾包中从最后一帧至第一帧的首个非静音帧;
对所述音频尾包中的第一帧至所述预截断帧进行解码,得到所述音频尾包的解码结果;
基于所述音频尾包的解码结果确定所述待识别语音的语音识别结果。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种语音识别方法,其特征在于,包括:
响应于获取到待识别语音的音频尾包,确定所述音频尾包中的预截断帧,其中,所述预截断帧为所述音频尾包中从最后一帧至第一帧的首个非静音帧;
对所述音频尾包中的第一帧至所述预截断帧进行解码,得到所述音频尾包的解码结果;
基于所述音频尾包的解码结果确定所述待识别语音的语音识别结果。
2.根据权利要求1所述的方法,其特征在于,所述确定所述音频尾包中的预截断帧,包括:
将所述音频尾包中的最后一帧作为当前判断帧,基于预先训练的声学模型确定所述当前判断帧对应的各音素发音概率;
根据所述当前判断帧对应的各音素发音概率,判断所述当前判断帧是否为静音帧,若是,则基于所述当前判断帧的前一帧更新所述当前判断帧,并返回执行基于预先训练的声学模型确定所述当前判断帧对应的各音素发音概率的操作,直至判断所述当前判断帧为非静音帧,将所述当前判断帧确定为预截断帧。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前判断帧对应的各音素发音概率,判断所述当前判断帧是否为静音帧,包括:
若各所述音素发音概率中最高的音素发音概率对应的音素为静音音素,且,最高的音素发音概率与其它音素发音概率之间的差值大于预设概率阈值,则确定所述当前判断帧为静音帧。
4.根据权利要求1所述的方法,其特征在于,所述对所述音频尾包中的第一帧至所述预截断帧进行解码,包括:
将所述音频尾包中的第一帧作为当前解码帧,基于预先训练的语言模型确定所述当前解码帧对应的各当前识别词汇的语法得分,基于预先训练的声学模型确定各所述当前识别词汇的发音得分;
针对每一个所述当前识别词汇,基于所述当前识别词汇的语法得分以及所述当前识别词汇的发音得分,确定从所述待识别语音的第一帧对应的预设初始词汇到所述当前识别词汇的各路径分别对应的路径数据结构,其中,所述路径数据结构用于记录对应路径包含的所有识别词汇的语法发音总分以及发音总分;
判断所述当前解码帧是否为所述预截断帧,若否,则基于所述当前解码帧的下一帧更新所述当前解码帧,并返回执行确定所述当前解码帧对应的各当前识别词汇的语法得分以及发音得分的操作,直至判断所述当前解码帧为所述预截断帧。
5.根据权利要求4所述的方法,其特征在于,在所述直至判断所述当前解码帧为所述预截断帧之后,所述方法还包括:
根据各所述路径数据结构对应的语法发音总分,判断所述待识别语音的第一帧至所述预截断帧是否语义完整;
若否,则对所述音频尾包中所述预截断帧的下一帧至最后一帧进行解码。
6.根据权利要求5所述的方法,其特征在于,所述根据各所述路径数据结构对应的语法发音总分,判断所述待识别语音的第一帧至所述预截断帧是否语义完整,包括:
将所述预截断帧对应的各识别词汇确定为终止识别词汇,将位于所述预截断帧之前的各帧对应的各识别词汇确定为非终止识别词汇;
将各所述终止识别词汇的各路径数据结构中语法发音总分最高的路径数据结构确定为第一数据结构,将各所述非终止识别词汇的各路径数据结构中语法发音总分最高的路径数据结构确定为第二数据结构;
确定所述第一数据结构对应的第一语法总分以及所述第二数据结构对应的第二语法总分,基于所述第一语法总分以及所述第二语法总分,判断所述待识别语音的第一帧至所述预截断帧是否语义完整。
7.根据权利要求4所述的方法,其特征在于,所述基于所述音频尾包的解码结果确定所述待识别语音的语音识别结果,包括:
在各所述路径数据结构中确定至少一个终止数据结构,将语法发音总分最高的终止数据结构确定为目标数据结构,其中,所述终止数据结构为所述音频尾包中解码的最后一帧对应的各识别词汇的路径数据结构;
基于所述目标数据结构对应的目标路径确定所述目标路径包含的各目标识别词汇,根据各所述目标识别词汇确定所述待识别语音的语音识别结果。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于获取到所述待识别语音的音频首包,确定所述音频首包中的预截取帧,其中,所述预截取帧为所述音频首包中从第一帧至最后一帧的首个非静音帧;
对所述音频首包中的预截取帧至所述最后一帧进行解码,得到所述音频首包的解码结果。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于获取到所述待识别语音中除所述音频尾包之外的当前音频包,对所述当前音频包进行解码,得到所述当前音频包的解码结果,基于所述当前音频包的解码结果确定所述待识别语音的参考识别结果,对所述参考识别结果进行展示;
根据所述语音识别结果对展示的所述参考识别结果进行调整。
10.一种语音识别装置,其特征在于,包括:
预截断确定模块,用于响应于获取待识别语音的音频尾包,确定所述音频尾包中的预截断帧,其中,所述预截断帧为所述音频尾包中从最后一帧至第一帧的首个非静音帧;
尾包解码模块,用于对所述音频尾包中的第一帧至所述预截断帧进行解码,得到所述音频尾包的解码结果;
结果识别模块,用于基于所述音频尾包的解码结果以及所述待识别语音中除所述音频尾包之外的其它音频包的解码结果,确定所述待识别语音的语音识别结果。
11.一种语音识别系统,其特征在于,包括语音活性检测模块以及识别引擎,其中;
所述语音活性检测模块,用于确定待识别语音的音频首包,将所述音频首包确定为当前待发送包,将所述当前待发送包发送至所述识别引擎,并在接收到所述识别引擎反馈的针对所述当前待发送包的解码完成信号时,基于所述当前待发送包的下一音频包更新所述当前待发送包,返回执行将所述当前待发送包发送至所述识别引擎的操作,直至将所述待识别语音的音频尾包发送至所述识别引擎;
所述识别引擎,用于在接收到除所述音频尾包之外的其它音频包时,对所述其它音频包进行解码,并在解码完成后反馈解码完成信号至所述语音活性检测模块,在接收到所述音频尾包时,基于权利要求1-9中任一项所述的语音识别方法对接收到的所述音频尾包进行解码,得到所述待识别语音的语音识别结果。
12.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的语音识别方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-9中任一项所述的语音识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310402551.XA CN116153294B (zh) | 2023-04-14 | 2023-04-14 | 语音识别方法、装置、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310402551.XA CN116153294B (zh) | 2023-04-14 | 2023-04-14 | 语音识别方法、装置、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116153294A true CN116153294A (zh) | 2023-05-23 |
CN116153294B CN116153294B (zh) | 2023-08-08 |
Family
ID=86354590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310402551.XA Active CN116153294B (zh) | 2023-04-14 | 2023-04-14 | 语音识别方法、装置、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116153294B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496972A (zh) * | 2023-12-29 | 2024-02-02 | 广州小鹏汽车科技有限公司 | 一种音频识别方法、音频识别装置、车辆和计算机设备 |
CN117524199A (zh) * | 2024-01-04 | 2024-02-06 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776664A (zh) * | 2015-11-25 | 2017-05-31 | 北京搜狗科技发展有限公司 | 一种基频序列处理方法及装置 |
CN108231089A (zh) * | 2016-12-09 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音处理方法及装置 |
CN110136715A (zh) * | 2019-05-16 | 2019-08-16 | 北京百度网讯科技有限公司 | 语音识别方法和装置 |
CN111583933A (zh) * | 2020-04-30 | 2020-08-25 | 北京猎户星空科技有限公司 | 一种语音信息的处理方法、装置、设备及介质 |
CN112071310A (zh) * | 2019-06-11 | 2020-12-11 | 北京地平线机器人技术研发有限公司 | 语音识别方法和装置、电子设备和存储介质 |
CN112562691A (zh) * | 2020-11-27 | 2021-03-26 | 平安科技(深圳)有限公司 | 一种声纹识别的方法、装置、计算机设备及存储介质 |
CN112767920A (zh) * | 2020-12-31 | 2021-05-07 | 深圳市珍爱捷云信息技术有限公司 | 通话语音的识别方法、装置、设备及存储介质 |
CN112908361A (zh) * | 2021-02-02 | 2021-06-04 | 早道(大连)教育科技有限公司 | 一种基于小粒度口语发音评价系统 |
CN114120979A (zh) * | 2022-01-25 | 2022-03-01 | 荣耀终端有限公司 | 语音识别模型的优化方法、训练方法、设备及介质 |
CN114360504A (zh) * | 2021-11-26 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 音频处理方法、装置、设备、程序产品及存储介质 |
WO2022105861A1 (zh) * | 2020-11-20 | 2022-05-27 | 北京有竹居网络技术有限公司 | 用于识别语音的方法、装置、电子设备和介质 |
CN114627854A (zh) * | 2020-12-08 | 2022-06-14 | 中国电信股份有限公司 | 语音识别方法、语音识别系统及存储介质 |
CN114792518A (zh) * | 2022-04-12 | 2022-07-26 | 广西电网有限责任公司 | 一种基于调度域技术的语音识别系统及其方法、存储介质 |
CN115148211A (zh) * | 2022-06-27 | 2022-10-04 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频敏感内容检测方法、计算机设备和计算机程序产品 |
CN115910043A (zh) * | 2023-01-10 | 2023-04-04 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
-
2023
- 2023-04-14 CN CN202310402551.XA patent/CN116153294B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776664A (zh) * | 2015-11-25 | 2017-05-31 | 北京搜狗科技发展有限公司 | 一种基频序列处理方法及装置 |
CN108231089A (zh) * | 2016-12-09 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音处理方法及装置 |
CN110136715A (zh) * | 2019-05-16 | 2019-08-16 | 北京百度网讯科技有限公司 | 语音识别方法和装置 |
CN112071310A (zh) * | 2019-06-11 | 2020-12-11 | 北京地平线机器人技术研发有限公司 | 语音识别方法和装置、电子设备和存储介质 |
CN111583933A (zh) * | 2020-04-30 | 2020-08-25 | 北京猎户星空科技有限公司 | 一种语音信息的处理方法、装置、设备及介质 |
WO2022105861A1 (zh) * | 2020-11-20 | 2022-05-27 | 北京有竹居网络技术有限公司 | 用于识别语音的方法、装置、电子设备和介质 |
CN112562691A (zh) * | 2020-11-27 | 2021-03-26 | 平安科技(深圳)有限公司 | 一种声纹识别的方法、装置、计算机设备及存储介质 |
CN114627854A (zh) * | 2020-12-08 | 2022-06-14 | 中国电信股份有限公司 | 语音识别方法、语音识别系统及存储介质 |
CN112767920A (zh) * | 2020-12-31 | 2021-05-07 | 深圳市珍爱捷云信息技术有限公司 | 通话语音的识别方法、装置、设备及存储介质 |
CN112908361A (zh) * | 2021-02-02 | 2021-06-04 | 早道(大连)教育科技有限公司 | 一种基于小粒度口语发音评价系统 |
CN114360504A (zh) * | 2021-11-26 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 音频处理方法、装置、设备、程序产品及存储介质 |
CN114120979A (zh) * | 2022-01-25 | 2022-03-01 | 荣耀终端有限公司 | 语音识别模型的优化方法、训练方法、设备及介质 |
CN114792518A (zh) * | 2022-04-12 | 2022-07-26 | 广西电网有限责任公司 | 一种基于调度域技术的语音识别系统及其方法、存储介质 |
CN115148211A (zh) * | 2022-06-27 | 2022-10-04 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频敏感内容检测方法、计算机设备和计算机程序产品 |
CN115910043A (zh) * | 2023-01-10 | 2023-04-04 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496972A (zh) * | 2023-12-29 | 2024-02-02 | 广州小鹏汽车科技有限公司 | 一种音频识别方法、音频识别装置、车辆和计算机设备 |
CN117496972B (zh) * | 2023-12-29 | 2024-04-16 | 广州小鹏汽车科技有限公司 | 一种音频识别方法、音频识别装置、车辆和计算机设备 |
CN117524199A (zh) * | 2024-01-04 | 2024-02-06 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
CN117524199B (zh) * | 2024-01-04 | 2024-04-16 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN116153294B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720326B2 (en) | Audio output control | |
US11676575B2 (en) | On-device learning in a hybrid speech processing system | |
US10937448B2 (en) | Voice activity detection method and apparatus | |
US11061644B2 (en) | Maintaining context for voice processes | |
US11361763B1 (en) | Detecting system-directed speech | |
EP3314606B1 (en) | Language model speech endpointing | |
US11669300B1 (en) | Wake word detection configuration | |
CN116153294B (zh) | 语音识别方法、装置、系统、设备及介质 | |
US11817094B2 (en) | Automatic speech recognition with filler model processing | |
US10917758B1 (en) | Voice-based messaging | |
US10381000B1 (en) | Compressed finite state transducers for automatic speech recognition | |
CN111797632B (zh) | 信息处理方法、装置及电子设备 | |
US10854192B1 (en) | Domain specific endpointing | |
US11410646B1 (en) | Processing complex utterances for natural language understanding | |
KR20230073297A (ko) | 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델 | |
US11862149B2 (en) | Learning how to rewrite user-specific input for natural language understanding | |
CN114385800A (zh) | 语音对话方法和装置 | |
CN113611316A (zh) | 人机交互方法、装置、设备以及存储介质 | |
CN115831109A (zh) | 语音唤醒方法、装置、存储介质及电子设备 | |
US11699444B1 (en) | Speech recognition using multiple voice-enabled devices | |
CN112397053A (zh) | 语音识别方法、装置、电子设备及可读存储介质 | |
CN117456999B (zh) | 音频识别方法、音频识别装置、车辆、计算机设备和介质 | |
US11935533B1 (en) | Content-related actions based on context | |
US11914923B1 (en) | Computer system-based pausing and resuming of natural language conversations | |
US11089183B1 (en) | Multiple device audio-video synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |