CN105390139B - 关键词辨认***以及方法 - Google Patents
关键词辨认***以及方法 Download PDFInfo
- Publication number
- CN105390139B CN105390139B CN201510537465.5A CN201510537465A CN105390139B CN 105390139 B CN105390139 B CN 105390139B CN 201510537465 A CN201510537465 A CN 201510537465A CN 105390139 B CN105390139 B CN 105390139B
- Authority
- CN
- China
- Prior art keywords
- score
- dynamic coding
- coding table
- input data
- voice input
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012790 confirmation Methods 0.000 claims description 34
- 239000000872 buffer Substances 0.000 description 52
- 238000013461 design Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 22
- 238000012544 monitoring process Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 7
- 238000013480 data collection Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005138 cryopreservation Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/08—Speech classification or search
- G10L15/12—Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
-
- 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/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- 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/08—Speech classification or search
- G10L2015/088—Word spotting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Probability & Statistics with Applications (AREA)
Abstract
本发明揭示一种关键词辨认方法和***。***包含具有储存装置以及解码电路的解码器,其中该储存装置系用来储存用以辨识特定关键词的对数概似表以及多个动态编码表,当尚未接受该特定关键词的辨识时,该解码电路用以参考声音输入数据的帧中的特征以计算该对数概似表且参考该对数概似表以调整每一动态编码表,其中在该声音输入数据的不同帧中藉由该解码电路分别重置该多个动态编码表。
Description
技术领域
本发明有关于关键词辨认技巧,尤指关键词辨认***以及方法。
背景技术
现有的搜寻声音输入数据中的关键词的方法可利用语音活动侦测(VoiceActivity Detection,VAD)自声音输入数据辨别语音部分,当语音部分自声音数据中找到后,启用辨识***以在语音部分执行关键词辨识过程来决定能否在语音部分找到任何关键词,由于整体语音部分需要由辨识***作分析,此现有方法在关键词辨识上会具有高延迟,因此会造成用户使用关键词辨识的不便。
发明内容
根据本发明的示范性实施例,提出一种关键词辨认***以及方法。
根据本发明的第一观点,揭露示范性的关键词辨认***,其中该示范性关键词辨认***包含具有储存装置以及解码电路的解码器,其中储存装置系用以储存用以辨识特定关键词的对数概似表以及多个动态编码表,当尚未接受特定关键词的辨识时,解码电路系用以参考声音输入数据的帧中的特征以计算对数概似表且参考对数概似表以调整每一动态编码,其中在声音输入数据的不同帧中藉由解码电路分别重置多个动态编码表。
根据本发明的第二观点,揭露一示范性的关键词辨认方法,其中该关键词辨认方法包含:当尚未接受到特定关键词的辨识时,利用解码电路来参考声音输入数据的帧以计算对数概似表,并参考对数概似表以调整多个动态编码表中的每一个动态编码表,其中对数概似表以及多个动态编码表系用以辨认特定关键词;以及分别在声音输入数据的不同帧中重置多个动态编码表。
附图说明
图1是根据本发明实施例的关键词辨认***的示意图。
图2是根据本发明实施例的关键词辨认方法的流程图。
图3是根据本发明实施例的在声音输入数据的不同帧中重置动态编码表的操作示意图。
图4是根据本发明实施例的更新动态编码表的操作示意图。
图5是根据本发明实施例的重置(如初始化或重新初始化)动态编码表的操作示意图。
图6至图10根据本发明实施例的固定长度解码设计的操作示意图。
图11是图2所示的步骤208的第一示范性实现的流程图。
图12是根据本发明实施例的据部分解码的固定长度解码设计示意图。
图13是图2所示的步骤208的第二示范性实现的流程图。
图14至图17是根据本发明实施例的变化长度解码器设计的操作示意图。
图18是图2所示的步骤208的第三示范性实现的流程图。
图19至图22是根据本发明实施例的具有部分解码的变化长度解码器的操作示意图。
图23是图2所示的步骤208的第四示范性实现的流程图。
具体实施方式
在说明书及后续的权利要求当中使用了某些词汇来指称特定的组件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及后续的权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求当中所提及的「包含」为开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段,因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第二装置,或者透过其他装置或连接手段间接地电气连接至该第二装置。
图1是根据本发明实施例的关键词辨认***的示意图,举例来说,关键词辨认***100可为电子装置如智能型手机或平板计算机的部份,且可用以实现电子装置的语音控制功能,在此实施例中,关键词辨认***100可包含特征撷取电路102、解码器104以及决定电路106,需注意的是,图1仅显示与本发明有关的组件,实作上,可设定关键词辨认***100使其具有额外的组件,在示范性的实作中,特征撷取电路102、解码器104以及决定电路106可视为用以实现关键词辨认的纯硬件,而在另一范例中,特征撷取电路102、解码器104以及决定电路106可被视为使用处理器(例如数字信号处理器)其执行程序代码以执行关键词辨认任务,简单来说,任何使用图1所示的关键词辨认***100的电子装置皆应隶属于本发明的范畴。
搭配图2来参考图1,图2是根据本发明实施例的关键词辨认方法的流程图,在步骤202中,声音输入数据D_IN可自音频录音装置如麦克风产生,特征撷取电路102用以在声音输入数据D_IN的每一帧(例如,160毫秒部分)的原始数据上执行基于帧的特征撷取,换句话说,特征撷取电路102接收声音输入数据D_IN并收集同一帧的原始资料(步骤204),当属于同一帧的所有原始数据皆有效时,特征撷取电路102自目前帧撷取特征,并输出该目前帧的所撷取特征至解码器104以进一步处理(步骤206)。
在步骤208中,关键词辨认是透过解码器104以及决定电路106所执行,其中解码器104包含解码电路以及储存装置114(例如,存储器),储存装置用以储存由解码电路112所执行与维特比解码法(Viterbi decoding)有关的数据,举例来说,储存装置114可储存用以辨认特定关键词的对数概似表TBLL以及多个动态编码表TBDP_1至TBDP_N,针对本发明所提出的某些特定解码器设计,储存装置114内部可另具有分数(score)缓冲器115。解码电路112用以参考声音输入数据D_IN中的帧的特征来计算对数概似表TBLL,并当决定电路106尚未接受特定关键词的辨识时,参考对数概似表TBLL以调整(例如重置或更新)多个动态编码表TBDP_1-TBDP_N中的每一动态编码表。
在此实施例中,解码电路112在声音输入数据D_IN的不同帧中分别重制动态编码表TBDP_1-TBDP_N,如此一来,决定电路106可透过检查从动态编码表TBDP_1-TBDP_N中的其中之一所得到的分数输出以执行实时关键词辨认,当决定电路106接受特定关键词辨识时,可触发默认动作(如,语音唤醒),当决定电路拒绝特定关键词辨识时,流程将回到步骤204以执行声音输入数据D_IN的下一帧。
图3是根据本发明实施例的在声音输入数据的不同帧中重置动态编码表的操作示意图,在此实施例中,解码电路112可使用所提出的基于帧的解码技术方案使实时关键词辨识更顺畅,其中所提出的基于帧的解码技术方案包含在声音输入数据D_IN的不同帧中重置动态编码表TBDP_1-TBDP_N,举例来说,解码电路112可根据解码步长S来依序地重置(如初始化/重新初始化)动态编码表TBDP_1-TBDP_N,其中解码步长S可由声音输入数据D_IN的整数帧数来设定。
如图3所示,当帧F0的所有原始资料在时间点T0搜集完毕且有效时,解码电路112启用动态编码表TBDP_1的用途并重置(如初始化)动态编码表TBDP_1,除此之外,当动态编码表TBDP_1自帧F0中的最后的重置(时间点T0)经过声音输入数据D_IN的默认长度M时,决定电路112重置(如重新初始化)动态编码表TBDP_1。声音输入数据D_IN的默认长度M定义了每一动态编码表的监控窗口,因此,在动态编码表TBDP_1在帧F0(时间点T0)中重置后,动态编码表TBDP_1将会在后续每一帧中更新直到解码电路112侦测到目前监控窗口的结尾。如图3所示,当一帧FM的所有原始资料在时间点TM搜集完毕且有效时,由于动态编码表TBDP_1自帧F0中的最后的重置(时间点T0)经过了声音输入数据D_IN的默认长度M,因此重置动态编码表TBDP_1;同样的,当动态编码表TBDP_1自帧FM中的最后的重置(时间点TM)经过了声音输入数据D_IN的另一个默认长度M,解码电路112将再次重置(如重新初始化)动态编码表TBDP_1。
由于解码步长为S,解码电路112启用动态编码表TBDP_2并且在帧FS的所有原始数据在时间点TS搜集完毕且有效时重置(如初始化)动态编码表TBDP_2,其中帧F0与帧FS之间的距离为解码步长S,除此之外,当动态编码表TBDP_2自帧FS中的最后的重置(时间点TS)经过了声音输入数据D_IN的默认长度M,解码电路112将重置(如重新初始化)动态编码表TBDP_2。如上所述,声音输入数据D_IN的默认长度M定义了每一动态编码表的监控窗口,因此,在动态编码表TBDP_2在帧FS(时间点TS)中重置后,动态编码表TBDP_2将会在后续每一帧中更新直到解码电路112侦测到目前监控窗口的结尾。如图3所示,当帧FM+S的所有原始资料在时间点TM+S搜集完毕且有效时,由于动态编码表TBDP_2自帧FS中的最后的重置(时间点TS)经过了声音输入数据D_IN的默认长度M,因此重置动态编码表TBDP_2;同样的,当动态编码表TBDP_2自帧FM+S中的最后的重置(时间点TM+S)经过了声音输入数据D_IN的另一个默认长度M,解码电路112将再次重置(如重新初始化)动态编码表TBDP_2。
由于重置每一动态编码表TBDP_3-TBDP_N的操作可轻易的模拟推断,进一步的描述在此省略以省篇幅。如图3所示,由于滑动监控窗口(即声音输入数据D_IN的默认长度M),动态编码表TBDP_1-TBDP_5中每一动态编码表具有周期性的起始点,且由于解码步长S,动态编码表TBDP_1-TBDP_5在不同帧中依序地初始化/重新初始化。
执行关键词辨识的动态编码表TBDP_1-TBDP_N的数目N取决于解码步长S以及声音输入数据D_IN的默认长度来决定,举例来说,N=M/S,越小的解码步长S代表越短的关键词辨识反应时间,然而,当使用较小数值设定解码步长S时,将需要更多的动态编码表来实现基于帧的解码以及实时关键词辨识,由于在每一声音输入数据D_IN的默认长度M后都会重新使用动态编码表TBDP_1-TBDP_N,因此不需太过严苛的内存大小的需求,需注意的是,解码步长S及/或声音输入数据D_IN的默认长度M可依据实际设计需求静态/动态地调整。
在此实施例中,使用隐马可夫模型(Hidden Markov Model)以辨认关键词,因此,将使用多个状态以辨识特定关键词,此外,使用维特比解码法来实现动态编码(如各个击破(Divide and Conquer)+记忆)以辨识关键词,因此,设定解码电路112以执行维特比解码来维持储存装置114中的对数概似表TBLL以及动态编码表TBDP_1-TBDP_N。
图4是根据本发明实施例的更新动态编码表的操作示意图,当声音输入数据D_IN中的目前帧Frame(t)的所有原始数据搜集完毕时,解码电路112根据撷取自目前帧Frame(t)的特征来计算一对数概似表TBLL,在此范例中,可使用4种状态代表特定关键词(如,“你好语音助手”),举例来说,状态1对应至与该特定关键词的第一分段有关的训练模型;状态2对应至与该特定关键词的第二分段有关的训练模型;状态3对应至与该特定关键词的一第三分段有关的训练模型;状态4对应至与该特定关键词的最后分段有关的训练模型,这些训练模型可被串联以执行关键词辨认。因此,由解码电路112计算的对数概似表TBLL具有分别对应不同状态的对数概似值。需注意的是,前一帧Frame(t-1)所计算出的对数概似表TBLL与动态编码表TBDP_i的更新无关,其中i在{1,N}的范围中,因此,前帧Frame(t-1)所计算出的对数概似表TBLL可由目前帧Frame(t)所计算出的对数概似表TBLL覆盖以减少对数概似表TBLL的内存使用率。
需要由前一帧Frame(t-1)所决定的状态1至4的动态编码表分数(即对数概似值)的至少一部分来更新动态编码表TBDP_i以决定目前帧Frame(t)的状态1至4的动态编码表分数(即对数概似值),因此,动态编码表TBDP_i需要用以储存两栏分数的内存空间,其中包括一栏在前一帧Frame(t-1)所计算的分数以及另一栏在目前帧Frame(t)所决定的分数,换句话说,当下一帧Frame(t+1)的所有原始资料搜集完毕时,需要由目前帧Frame(t)所决定的状态1至4的动态编码表分数(即对数概似值)的至少一部分来更新动态编码表TBDP_i以决定下一帧Frame(t+1)的状态1至4的动态编码表分数(即对数概似值),且可覆盖在帧Frame(t-1)所计算的动态编码表分数以减少动态编码表TBDP_i的内存使用率。
在此实施例中,解码电路112在动态解码表TB-DP_i上执行维比特解码以更新动态解码表TB-DP_i,举例来说,执行动态解码表更新的维比特解码操作可以以下方程序表示:
DP(i,t)=maxj{DP(j,t-1)+log aji}+log bi(ot),其中DP(i,t)代表目前帧Frame(t)更新的第i状态的分数,DP(j,t-1)代表前帧Frame(t-1)决定的所需要的第j状态的分数,log aji代表路径机率,而log bi(ot)代表在对数概似表TBLL中第i状态的分数(即对数概似值)。
图5是根据本发明实施例的重置(如初始化或重新初始化)动态编码表的操作示意图,如上所述,当声音输入资料D_IN中的目前帧Frame(t)的所有原始数据搜集完毕时,解码电路112根据撷取自目前帧Frame(t)的特征来计算对数概似表TBLL,由于可使用四种状态来代表特定关键词(例如,“你好语音助手”),因此对数概似表TBLL包含不同状态的对数概似值。假设发生重置动态编码表TBDP_i的状况,其中i在{1,N}的范围中,需注意的是,前一帧Frame(t-1)所计算的对数概似表TBLL与重置动态编码表TBDP_i无关,因此前一帧Frame(t-1)所计算的对数概似表TBLL可被目前帧Frame(t)所计算的对数概似表TBLL所覆盖。为了在目前帧Frame(t)重置动态编码表TBDP_i,解码电路112直接指定由目前帧Frame(t)所计算的对数概似表TBLL中的第一状态(即状态1)的对数概似值至动态编码表TBDP_i的第一状态(即状态1),并直接指定默认值至动态编码表TBDP_i的剩余状态(即状态2、状态3及状态4),若在动态编码表TBDP_i在目前帧Frame(t)重置后,动态编码表TBDP_i仍包含由前一帧所决定的一栏分数,则由前一帧所决定的栏分数则无任何作用可以移除。
如上所述,动态编码表TBDP_1-TBDP_N中的每一动态编码表在监控窗口(即声音输入数据D_IN的预定长度M)中更新(即维特比解码)并在监控窗口(即声音输入数据D_IN的预定长度M)的结尾重置,除此之外,动态编码表TBDP_1-TBDP_N的起始点可根据解码步长S偏移,而动态编码表TBDP_1-TBDP_N的结束点可根据相同解码步长S做偏移,根据此基于帧的解码技术方案,本发明提出数个解码器设计,详细内容将如下所述。
图6至图10是根据本发明实施例的定长度解码设计的操作示意图,若使用该固定长度解码设计且当动态编码表自从最后重置后经过声音输入数据D_IN的预定长度M时,解码器104仅输出单一分数(尤指该最后状态的分数),简单来说,假设解码步长S为1(帧),监控窗口大小为3(帧),而动态编码表的数目为3,亦即,S=1、M=3且N=3,如第6图所示,当声音输入数据D_IN的帧F0的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F0的特征以计算对数概似表TBLL,接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何一动态编码表自最后重置后已经过声音输入数据D_IN的预定长度M,由于没有动态编码表自最后重置后经过声音输入数据D_IN的预定长度M,解码电路112参考以计算出的对数概似表TBLL来重置(如初始化)第一动态编码表(即TBDP_1),因此动态编码表TBDP_1包含目前帧F0决定的一栏分数。
如图7所示,当在声音输入数据D_IN中仅跟随帧F0的帧F1的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F1的特征以计算对数概似表TBLL(其覆写由前一帧F0中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何一动态编码表自最后重置后已经过声音输入数据D_IN的预定长度M,由于没有动态编码表自最后重置后经过声音输入数据D_IN的预定长度M,解码电路112参考计算出的对数概似表TBLL来更新动态编码表TBDP_1以设定目前帧F1的一栏分数,并参考计算出的对数概似表TBLL来重置(如初始化)第二动态编码表(即TBDP_2),因此,动态编码表TBDP_1包含由前一帧F0所决定的一栏分数以及由目前帧F1所决定的一栏分数;而动态编码表TBDP_2包含由目前帧F1所决定的一栏分数。
如图8所示,当在声音输入数据D_IN中仅跟随帧F1的帧F2的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F2的特征以计算对数概似表TBLL(其覆写由前一帧F1中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何一动态编码表自最后重置后已经过声音输入数据D_IN的预定长度M,由于没有动态编码表自最后重置后经过声音输入数据D_IN的预定长度M,解码电路112参考计算出的对数概似表TBLL来更新动态编码表TBDP_1以设定目前帧F2的一栏分数,参考计算出的对数概似表TBLL来更新动态编码表TBDP_2以设定目前帧F2的一栏分数,并参考计算出的对数概似表TBLL来重置(如初始化)第三动态编码表(即TBDP_3),因此,动态编码表TBDP_1包含由前一帧F1所决定的一栏分数以及由目前帧F2所决定的一栏分数;动态编码表TBDP_2包含由前一帧F1所决定的一栏分数以及由目前帧F2所决定的一栏分数;而动态编码表TBDP_3包含由目前帧F2所决定的一栏分数。
如图9所示,当在声音输入数据D_IN中仅跟随帧F2的帧F3的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F3的特征以计算对数概似表TBLL(其覆写由前一帧F2中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何一动态编码表自最后重置后已经过声音输入资料D_IN的预定长度M,由于确认结果显示动态编码表TBDP_1自最后重置后已经过声音输入数据D_IN的预定长度M,解码器104自动态编码表TBDP_1读取最后状态的分数(其由前一帧F2所决定),并输出最后状态的该分数至决定电路106,决定电路106参考由动态编码表TBDP_1所提供的该最后状态的该分数以决定是否接受或拒绝一特定关键词(如,”你好语音助手”)的辨认。
若决定电路106接受特定关键词的辨认,则成功地完成关键词辨认流程,然而,若定电路106拒绝关键词辨识,如第10图所示,由于动态编码表TBDP_1自最后重置后已经过声音输入数据D_IN的预定长度M,解码电路112参考所计算的对数概似表TBLL以重置(如重新初始化)动态编码表TBDP_1。除此之外,解码电路112参考计算出的对数概似表TBLL来更新动态编码表TBDP_2以设定目前帧F3的一栏分数,参考以计算出的对数概似表TBLL来更新动态编码表TBDP_3以设定目前帧F3的一栏分数,因此动态编码表TBDP_1包含由目前帧F3所决定的一栏分数;动态编码表TBDP_2包含由前一帧F2所决定的一栏分数以及由目前帧F3所决定的一栏分数;而动态编码表TBDP_3包含由前一帧F2所决定的一栏分数以及由目前帧F3所决定的一栏分数。
图11是图2所示的步骤208的第一示范性实现的流程图,在此实施例中,关键词辨认(步骤208)系透过决定电路106以及具有一固定长度解码设计的解码器104来执行,倘若大体上能得到相同结果,不一定要遵照第11图所示流程的步骤顺序来执行,该关键词辨识可简单归纳如下。
步骤1102:计算对数概似表。
步骤1104:确认是否多个动态编码表的其中之一自最后重置后已经过了一声音输入数据的预定长度,若是,进入步骤1106;否则进入步骤1112。
步骤1106:使用自动态编码表读取到的最后状态的分数来确认关键词辨认状态,其中动态编码表自最后重置后已经过了声音输入数据的预定长度,若接受特定关键词的辨认,则成功地完成关键词辨认流程,然而,若拒绝特定关键词辨认,关键词辨认流程则进入步骤1108。
步骤1108:重置动态编码表,其中动态编码表自最后重置后已经过了该声音输入数据的该预定长度。
步骤1110:更新剩余的动态编码表。
步骤1112:更新所有动态编码表。
其中步骤1106可由决定电路106执行,步骤1102、1104、1108、1110以及1112可由解码器104执行,本相关领域具有通常知识者在阅读完上述段落后应能轻易的理解图11示的每一步骤的细节,详细说明将在此省略以省篇幅。
考虑特定关键词为“你好语音助手”的情况,当使用者仅说出“你好”时,由于维特比解码的原有特性,最佳路径将使语音分段的大部分着重在“你好”的状态模型,因此语音分段的小部分着重在“语音助手”的状态模型,虽然用户仅说出“你好”,有可能由维特比解码所计算的该最后状态的该分数仍然很高,因此导致关键词辨认的误判,而且“你好”为使用者经常使用的一词,因此解码器104应适当地设定以减少类似误判以确保用户使用关键词辨认的良好使用经验,本发明另外提出一修正的固定长度解码设计以避免/减缓该关键词辨认的误判。
图12是根据本发明实施例的部分解码的固定长度解码设计示意图,其中若使用具有部分解码的固定长度解码设计,当动态编码表自最后重置后已经过了该声音输入数据的该预定长度M时,解码器104输出多个分数(尤指一最后状态的分数以及至少一非最后状态的分数),由于未具有部分解码的固定长度解码设计所执行的动态编码表更新操作以及动态编码表重置操作同样会由具有部分解码的固定长度解码设计来执行,因此相关描述在此省略以省篇幅。
如图12所示,当在声音输入数据D_IN中仅跟随帧F2的帧F3的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F3的特征以计算对数概似表TBLL(其覆写由前一帧F2中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何一动态编码表自最后重置后已经过声音输入资料D_IN的预定长度M,由于确认结果显示动态编码表TBDP_1自最后重置后已经过声音输入数据D_IN的预定长度M,解码器104自动态编码表TBDP_1读取最后状态的分数(其由前一帧F2所决定)以及非最后状态的分数(其由前一帧F2所决定),并输出最后状态的该分数至决定电路106,决定电路106参考多个分数,其中多个分数包含由动态编码表TBDP_1所提供的最后状态的分数以及非最后状态的分数以决定是否接受或拒绝特定关键词(如“你好语音助手”)的辨认,由于考虑完整关键词的分数以及部分关键词的分数,决定电路106可做出更准确的判断,举例来说,决定电路106比较最后状态的分数与非最后状态的分数来避免/减缓关键词辨认的误判,举另一例子而言,决定电路106可将最后状态的分数以及非最后状态的分数各自与阀值做比较以减缓/避免关键词辨认的误判,然而这些变化仅为范例说明,并非本发明的限制。
图13是图2所示的步骤208的第二示范性实现的流程图,在此实施例中,关键词辨认(步骤208)是透过决定电路106以及使用具有部分确认的固定长度解码设计的解码器104来执行,倘若大体上能得到相同结果,不一定要遵照图13所示流程的步骤顺序来执行,图11所示流程与图13所示流程的差异在于步骤1306,如下所示。
步骤1306:利用自该动态编码表读取到的最后状态的分数以及非最后状态的分数来确认关键词辨认状态,其中动态编码表自最后重置后已经过了声音输入数据的预定长度,若接受特定关键词的辨认,则成功地完成关键词辨认流程,然而,若拒绝特定关键词的辨认,则关键词辨认流程进入步骤1108。
步骤1306可由决定电路106执行,步骤1102、1104、1108、1110以及1112可由解码器104执行,本相关领域具有通常知识者在阅读完上述段落后应能轻易的理解图13所示的每一步骤的细节,详细说明将在此省略以省篇幅。
针对前述具有部分确认的固定长度解码设计,解码器仅在动态编码表自最后重置后经过监控窗口(即声音输入数据D_IN的默认长度M)后输出该最后状态的单一分数,实际上,用户的说话速度可能随时间改变,由于监控窗口的大小为固定,使用此类的固定大小监控窗口可能无法完全兼顾具有特定关键词的欲处理声音分段,为了处理不同说话速度,本发明提出一可变化的解码器设计。
图14至图17是根据本发明实施例的变化长度解码器设计的操作示意图,其中当使用该可变长度解码器设计时,储存装置114可另具有用以储存分数的分数缓冲器115,其中分数缓冲器115设置于储存装置114中,且解码电路112可另用以比较在多个动态编码表中的所选择的动态编码表的最后状态的分数以决定一最大分数,并根据最大分数选择性地更新分数缓冲器115中所储存的分数,其中分数缓冲器115设置于储存装置114中。根据变化长度解码器设计,可变化的动态编码表数目K定义了该多个动态编码表的数目,其中多个动态编码表的数目系用以设定或调整储存在分数缓冲器115的分数,为求清楚说明及简化,可假设该可变化的动态编码表数目为2。
若在一情况下,其中当使用固定长度解码器设计时,若在最后重置后已经过声音输入数据D_IN的默认长度M,动态编码表TBDP_1会输出分数至决定电路106。在此范例中,由于使用变化长度解码器设计,解码电路112确认动态编码表TBDP_1以及额外的动态编码表以决定输出至决定电路106的最后分数,举例来说,确认动态编码表TBDP_1以及动态编码表TBDP_2以决定输出至决定电路106的一最后分数。
如图14所示,当声音输入数据D_IN中的一帧F0的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F0的特征以计算对数概似表TBLL,接着,解码电路112确认是否动态编码表TBDP_1至TBDP_3中有任何一动态编码表自最后重置后已经过了声音输入数据D_IN中默认长度M,由于动态编码表TBDP_1至TBDP_3中没有动态编码表自最后重置后已经过了声音输入数据D_IN中默认长度M,因此,动态编码表TBDP_1包含目前帧F0中所决定的一栏分数,并且,当使用该变化长度解码器设计时,解码电路112系用以比较所选择的动态编码表中最后状态的分数以决定最大分数,由于动态编码表TBDP_2非有效且在动态编码表TBDP_1中在目前帧F0决定的该最后状态的该分数为2,因此在所选择的动态编码表中目前最大分数为2,由于分数缓冲器115并未储存任何一分数,所计算的最大分数“2”将储存在分数缓冲器115中,因此,储存在分数缓冲器115中的分数记录为“2”。
如图15所示,当在声音输入数据D_IN中仅跟随帧F0的帧F1的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F1的特征以计算对数概似表TBLL(其覆写由前一帧F0中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何动态编码表自最后重置后已经过声音输入数据D_IN的预定长度M,由于没有动态编码表自最后重置后经过声音输入数据D_IN的预定长度M,解码电路112参考计算出的对数概似表TBLL来更新动态编码表TBDP_1以设定目前帧F1的栏分数,并参考计算出的对数概似表TBLL来重置(如初始化)动态编码表TBDP_2,因此,动态编码表TBDP_1包含由前一帧F0所决定的栏分数以及由目前帧F1所决定的栏分数;而动态编码表TBDP_2包含由目前帧F1所决定的栏分数。
并且,解码电路112比较所选择的动态编码表TBDP_1以及TBDP_2中的最后状态(由目前帧F1所决定)的分数来决定最大分数,由于目前帧F1所决定的且储存在所选择的动态编码表TBDP_1的该最后状态的分数为“1”,而目前帧F1所决定的且储存在所选择的动态编码表TBDP_2的该最后状态的分数为“0”,在所选择的动态编码表TBDP_1以及TBDP_2中的目前最大分数为“1”,但由于目前最大分数“1”并没有大于储存在分数缓冲器115中的分数“2”,因此储存在分数缓冲器115中的分数“2”维持不变。
如图16所示,当在声音输入数据D_IN中仅跟随帧F1的帧F2的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F2的特征以计算对数概似表TBLL(其覆写由前一帧F1中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP--_1-TBDP--_3中是否有任何一动态编码表自最后重置后已经过声音输入数据D_IN的预定长度M,由于没有动态编码表自最后重置后经过声音输入数据D_IN的预定长度M,解码电路112参考计算出的对数概似表TBLL来更新动态编码表TBDP_1以设定目前帧F2的栏分数,参考计算出的对数概似表TBLL来更新动态编码表TBDP_2以设定目前帧F2的一栏分数,并参考计算出的对数概似表TBLL来重置(如初始化)动态编码表TBDP_3,因此,动态编码表TBDP_1包含由前一帧F1所决定的一栏分数以及由目前帧F2所决定的栏分数;动态编码表TBDP_2包含由前一帧F1所决定的栏分数以及由目前帧F2所决定的栏分数;而动态编码表TBDP_3包含由目前帧F2所决定的栏分数。
并且,解码电路112比较所选择的动态编码表TBDP_1以及TBDP_2中的最后状态(由目前帧F2所决定)的分数来决定最大分数,由于目前帧F2所决定的且储存在所选择的动态编码表TBDP_1的该最后状态的分数为“2”,而目前帧F1所决定的且储存在所选择的动态编码表TBDP_2的该最后状态的分数为“3”,在所选择的动态编码表TBDP_1以及TBDP_2中的目前最大分数为“3”,由于目前最大分数“3”大于储存在分数缓冲器115中的分数“2”,决定电路112将储存在分数缓冲器115中的分数更新为目前最大分数“3”,因此,储存在分数缓冲器115中的分数记录为“3”。
如图17所示,当在声音输入数据D_IN中仅跟随帧F2的帧F3的所有原始数据搜集完毕时,解码电路112参考撷取自目前帧F3的特征以计算对数概似表TBLL(其覆写由前一帧F2中所计算的对数概似表TBLL),接着,解码电路112确认动态编码表TBDP_1-TBDP_3中是否有任何一动态编码表自最后重置后已经过声音输入资料D_IN的预定长度M,由于确认结果显示动态编码表TBDP_1自最后重置后已经过声音输入数据D_IN的预定长度M,解码器104读取储存在分数缓冲器115中的分数“3”,并输出该分数“3”至决定电路106,决定电路106参考该分数“3”以决定是否接受或拒绝特定关键词(如,“你好语音助手”)的辨认。
当使用变化长度解码器设计时,将确认不同监控窗口的解码结果以找到与将被辨识的特定关键词相关的该最后状态的最大分数,其中解码结果包含整体监控窗口(M=3)以及部分监控窗口(M’<M),由于具有不同大小的多个监控窗口的其中之一可能完全兼顾具有该特定关键词的欲处理声音分段,因此变化长度解码器设计可处理不同说话速度,同样地,若决定电路106接受特定关键词的辨认,则成功地完成关键词辨认流程;然而若决定电路106拒绝特定关键词的辨认,关键词辨认流程将继续确认更多的帧。
图18是图2所示的步骤208的第三示范性实现的流程图,在此实施例中,关键词辨认(步骤208)系透过决定电路106以及使用具有变化长度解码设计的解码器104来执行,倘若大体上能得到相同结果,不一定要遵照第18图所示流程的步骤顺序来执行,图11所示流程与图18所示流程的差异在于步骤1802、步骤1804以及步骤1806,如下所示。
步骤1802:比较所选择的多个动态编码表中的最后状态的分数以决定最大分数。
步骤1804:根据最大分数选择性地更新储存在分数缓冲器中的分数,其中分数缓冲器设置在储存装置中。
步骤1806:利用储存在分数缓冲器中的分数来确认关键词辨认状态,若接受特定关键词的辨认,则成功地完成关键词辨认流程,然而,若拒绝特定关键词辨认,则关键词辨认流程进入步骤1108。
步骤1806可由决定电路106执行,步骤1102、1104、1108、1110、1112、1802及1804可由解码器104执行,本相关领域具有通常知识者在阅读完上述段落后应能轻易的理解第18图所示的每一步骤的细节,详细说明将在此省略以省篇幅。
在上述图14至图17所示的示范性变化长度解码操作中,选择动态编码表TBDP_1以及TBDP_2以设定或调整储存在分数缓冲器115中的分数,其中分数缓冲器115设置在储存装置114中,然而,此仅为范例说明,并非本发明的限制,在实作上,分数缓冲器115可用以储存分别对应到不同动态编码表的组合的多个分数,其中每一动态编码表的组合的大小被可变化动态编码表的数目K所限制,举例来说,可选择动态编码表TBDP_2以及TBDP_3以设定或调整储存在分数缓冲器115中的另一分数,其中分数缓冲器115设置在储存装置114中,且当动态编码表TBDP_2自最后重置后经过了声音输入数据D_IN的默认长度M时,输出该储存的分数至决定电路106,设定/调整储存在分数缓冲器的分数ScoreBuffer[i]的操作可使用下列虚拟程序码表示,其中该操作对应到通过比较储存在所选择的动态编码表DPtable[i]-DPtable[i+(Flexible DP table number-1)]中的最后状态[last state]的分数所计算出的最大分数tempMax。
因此,针对任何动态编码表的选择,将会维持储存在分数缓冲器115的最大分数,其中分数缓冲器115设置在储存装置114中,当每次有动态编码表自最后重置后已经过声音输入数据D_IN的默认长度M时,决定电路106根据储存在分数缓冲器115中的储存分数判断关键词的辨认。
如上所述,关键词辨认的误判可能在用户仅说出部分关键词的情况下发生,本发明另提出修正变化长度解码设计以避免/减缓该关键词辨认的误判,图19至图22是根据本发明实施例具有部分解码的变化长度解码器的操作示意图,其中由未具部分解码的变化长度解码器所动态编码表所执行的重置操作以及动态编码表的更新操作同样可由具部分解码的变化长度解码器来执行,相关描述将在此省略以省篇幅。
当使用具有部分解码的变化长度解码器设计时,储存装置114可另具有用以储存第一分数Score_1以及第二分数Score_2的分数缓冲器115,其中分数缓冲器115设置在储存装置114中;且解码电路112可另用以比较在多个动态编码表中所选择到的动态编码表的最后状态的分数以决定第一最大分数,比较在多个动态编码表中所选择到的动态编码表的相同非最后状态的分数以决定第二最大分数,根据第一最大分数选择性地更新储存在储存装置114的第一分数Score_1,且根据第二最大分数选择性地更新储存在储存装置114的第二分数Score_2。
如图19所示,动态编码表TBDP_1在目前帧F0时重置,解码电路112系用以比较所选择的动态编码表TBDP_1-TBDP_2中的最后状态的分数以决定第一最大分数,并比较所选择的动态编码表TBDP_1-TBDP_2中的相同非最后状态(例如State 2)的分数以决定第二最大分数,由于动态编码表TBDP_2并非有效且由目前帧F0所决定且储存在所选择的动态编码表TBDP_1的最后状态的分数为“2”,在所选择的动态编码表中的目前第一最大分数为“2”,除此之外,由于动态编码表TBDP_2并非有效且由目前帧F0所决定且储存在所选择的动态编码表TBDP_1的非最后状态的该分数为“1”,在所选择的动态编码表中的目前第二最大分数为“1”,由于分数缓冲器115没有储存第一分数Score_1以及第二分数Score_2,所计算的第一最大分数”2”系用以初始化第一分数Score_1,且所计算的第二最大分数“1”系用以初始化第二分数Score_2,因此储存在分数缓冲器115的第一分数Score_1记录为“2”,且储存在分数缓冲器115的第二分数Score_2记录为“1”。
如图20所示,由目前帧F1所决定且储存在所选择的动态编码表TBDP_1的最后状态的分数为“1”且由目前帧F1所决定且储存在所选择的动态编码表TBDP_2的最后状态的该分数为“0”,在所选择的动态编码表TBDP_1以及TBDP_2中的目前第一最大分数为“1”,除此之外,由于由目前帧F1所决定且储存在所选择的动态编码表TBDP_1的相同非最后状态(如State 2)的该分数为“1”且由目前帧F1所决定且储存在所选择的动态编码表TBDP_2的相同非最后状态(如State 2)的分数为“0”,在所选择的动态编码表TBDP_1以及TBDP_2中的该目前第二最大分数为“1”。由于目前第一最大分数“1”并未大于储存在分数缓冲器115中的第一分数“2”,因此储存在分数缓冲器115中的第一分数“2”将维持不变,同样的,由于目前第二最大分数“1”并未大于储存在分数缓冲器115中的第二分数“1”,因此储存在分数缓冲器115中的第二分数“1”将维持不变。
如图21所示,由目前帧F2所决定且储存在所选择的动态编码表TBDP_1的最后状态的分数为“2”且由目前帧F2所决定且储存在所选择的动态编码表TBDP_2的最后状态的分数为“3”,在所选择的动态编码表TBDP_1以及TBDP_2中的目前第一最大分数为“3”,除此之外,由于由目前帧F2所决定且储存在所选择的动态编码表TBDP_1的相同非最后状态(如State 2)的分数为“1”,且由目前帧F2所决定且储存在所选择的动态编码表TBDP_2的相同非最后状态(如State 2)的分数为“2”,在所选择的动态编码表TBDP_1以及TBDP_2中的目前第二最大分数为“2”。由于目前第一最大分数“3”大于储存在分数缓冲器115中的第一分数“2”,解码电路112将第一分数Score_1更新为该目前第一最大分数“3”,同样的,由于目前第二最大分数“2”大于储存在分数缓冲器115的第一分数“1”,解码电路112将第二分数Score_2更新为目前第二最大分数“2”。
如图22所示,确认结果显示动态编码表TBDP_1自最后重置后已经过了声音输入数据D_IN的默认长度M,因此解码器104读取储存在分数缓冲器115中的第一分数“3”以及第二分数“2”,并输出第一分数“3”以及第二分数“2”至决定电路106,而决定电路106参考第一分数“3”以及第二分数“2”以决定是否接受或拒绝一特定关键词(如,“你好语音助手”)的辨认。
由于考虑到整体关键词的第一分数以及部份关键词的第二分数,决定电路106可做出准确判断,举例来说,决定电路106可比较最后状态的第一分数以及非最后状态的第二分数以减缓/避免关键词辨认的误判,举另一例子而言,决定电路106可比较个别具有阀值的最后状态的第一分数以及非最后状态的第二分数以减缓/避免关键词辨认的误判,然而,这些仅为范例说明,并非本发明的一限制。
图23是图2所示的步骤208的第四示范性实现的流程图,在此实施例中,关键词辨认(步骤208)系透过决定电路106以及使用具有部分确认的变化长度解码设计的解码器104来执行,倘若大体上能得到相同结果,不一定要遵照图23所示流程的步骤顺序来执行,图11所示流程与图23所示流程的差异在于步骤2302、步骤2304以及步骤2306,如下所示。
步骤2302:将所选择到的数字编码表的最后状态的分数做比较以决定第一最大分数,并将所选择到的数字编码表的相同非最后状态的分数做比较以决定第二最大分数。
步骤2304:根据第一最大分数选择性地更新储存在分数缓冲器的第一分数,以及根据第二最大分数选择性地更新储存在分数缓冲器的第二分数,其中分数缓冲器设置于储存装置中。
步骤2306:使用储存在分数缓冲器中的第一分数以及第二分数来确认关键词辨认状态,若接受特定关键词的辨认,则成功地完成关键词辨认流程,然而,若拒绝特定关键词辨认,则关键词辨认流程进入步骤1108。
步骤2306可由决定电路106执行,步骤1102、1104、1108、1110、1112、2302以及2304可由解码器104执行,本相关领域具有通常知识者在阅读完上述段落后应能轻易的理解图23所示的每一步骤的细节,详细说明将在此省略以省篇幅。
在上述图19至图22所示的示范性变化长度解码操作中,选择动态编码表TBDP_1以及TBDP_2以设定或调整储存在分数缓冲器115中的一分数,其中分数缓冲器115设置在储存装置114中,然而,此仅为一范例说明,并非本发明的一限制,在实作上,分数缓冲器115可用以储存分别对应到不同动态编码表的组合的多个分数,其中每一动态编码表的组合的大小被可变化动态编码表的数目K所限制。举例来说,可选择动态编码表TBDP_2以及TBDP_3以设定或调整储存在分数缓冲器115中的另一分数,其中分数缓冲器115设置在储存装置114中,且当动态编码表TBDP_2自最后重置后经过了声音输入数据D_IN的默认长度M时,输出储存的分数的组合至决定电路106,因此,针对任何动态编码表的选择,储存在分数缓冲器115中的不同状态的分数的组合将维持不变,其中分数缓冲器115设置在储存装置114中,而当每一次动态编码表自最后重置后已经过了声音输入数据D_IN的默认长度M时,决定电路106根据在分数缓冲器115中的储存的分数的组合对关键词辨认做判断。
不论哪种上述解码器的设计(即未具部分确认的固定长度解码器设计、具有部分确认的解码器设计、未具部分确认的可变长度解码器设计以及具有部分确认的可变长度解码器设计),最大内存使用量实质上都会相同,特别的是,解码器104的内存使用会受各种因素影响,包含将被辨认的关键词数目(#keyword)、动态编码表的数目(#DA table)以及状态数目(#state),上述解码器设计的总共内存使用量可表达成:
(#keyword)x(#state)+(#keyword)x(#DP table)x(#state)x2,其中(#keyword)x(#state)为该对数概似表的内存使用量,(#keyword)x(#DP table)x(#state)x2为所有动态编码表的内存使用量,而(#state)x2为单一动态编码表的内存使用量。
与未具部分确认的固定长度/变化长度解码器设计比较,具有部分确认的固定长度/变化长度解码器设计可在不使用额外缓冲器的状况下减缓/避免关键词辨认的误判,除此之外,与具有/未具部分确认的固定长度解码器设计比较,具有/未具部分确认的变化长度解码器设计可在不使用额外缓冲器的状况下处理讲话速度不同的问题。
以上所述仅为本发明之较佳实施例,凡依本发明权利要求所做之均等变化与修饰,皆应属本发明之涵盖范围。
Claims (16)
1.一种关键词辨认***,其特征在于,包含:
解码器,包含:
储存装置,用以储存用以辨认特定关键词的对数概似表以及多个动态编码表;以及
解码电路,用以参考声音输入数据的一帧中的特征以计算该对数概似表,并且在尚未接受该特定关键词的辨认时,参考该对数概似表以调整该多个动态编码表中的每一动态编码表;
其中该解码电路在该声音输入数据的不同帧中分别重置该多个动态编码表;
其中调整该多个动态编码表中的每一动态编码表包括:
该解码电路系用以根据经过确认是否有任何一动态编码表在最后重置之后已经过了该声音输入数据的默认长度后得到的确认结果;
当该确认结果指出动态编码表在最后重置之后尚未经过该声音输入数据的该默认长度时,该解码电路系用以参考该对数概似表以更新该动态编码表。
2.如权利要求1所述的关键词辨认***,其特征在于,当该确认结果指出动态编码表在最后重置之后已经过了该声音输入数据的该默认长度时,该解码电路系用以参考该对数概似表以重置该动态编码表。
3.如权利要求1所述的关键词辨认***,其特征在于,另包含:
决定电路;
其中该解码电路系用以确认是否有任何一动态编码表在最后重置之后已经过了该声音输入数据的默认长度;且当确认结果指出动态编码表在最后重置之后已经过了该声音输入数据的该默认长度时,该解码器系用以输出在该动态编码表中的最后状态的分数至该决定电路,而该决定电路系用以参考该最后状态的该分数以决定是否确认或拒绝该特定关键词的辨认。
4.如权利要求1所述的关键词辨认***,其特征在于,另包含:
决定电路;
其中该解码电路系用以确认是否有任何一动态编码表在最后重置之后已经过了该声音输入数据的默认长度并衍生出确认结果;且当该确认结果指出动态编码表在最后重置之后已经过了该声音输入数据的该默认长度时,该解码器系用以输出在该动态编码表中的最后状态的分数以及至少一非最后状态的分数至该决定电路,而该决定电路系用以参考该最后状态的该分数以及该至少一非最后状态的该分数以决定是否确认或拒绝该特定关键词的辨认。
5.如权利要求1所述的关键词辨认***,其特征在于,该储存装置系用以储存分数;而该解码电路系用以比较在该多个动态编码表中所选择到的动态编码表中的最后状态的分数以决定最大分数,并根据该最大分数选择性地更新该分数。
6.如权利要求5所述的关键词辨认***,其特征在于,另包含:
决定电路;
其中该解码电路系用以确认该所选择到的动态编码表中是否有动态编码表在最后重置之后已经过了该声音输入数据的默认长度并衍生出确认结果;且当该确认结果指出所选择到的动态编码表在最后重置之后已经过了该声音输入数据的该默认长度时,该解码器系用以输出储存在该储存装置的该分数至该决定电路,而该决定电路系用以参考该分数来决定是否确认或拒绝该特定关键词的辨认。
7.如权利要求1所述的关键词辨认***,其特征在于,该储存装置系用以储存第一分数以及第二分数;而该解码电路系用以比较在该多个动态编码表中所选择到的动态编码表中的最后状态的分数以决定第一最大分数,且比较在该多个动态编码表中所选择到的动态编码表中的相同非最后状态的分数以决定第二最大分数,且根据该第一最大分数选择性地更新该第一分数,并根据该第二最大分数选择性地更新该第二分数。
8.如权利要求7所述的关键词辨认***,其特征在于,另包含:
决定电路;
其中该解码电路系用以确认该所选择到的动态编码表中是否有动态编码表在最后重置之后已经过了该声音输入数据的默认长度;且当确认结果指出一所选择到的动态编码表在最后重置之后已经过了该声音输入数据的该默认长度时,该解码器系用以输出该第一分数以及该第二分数至该决定电路,而该决定电路系用以参考该第一分数以及该第二分数来决定是否确认或拒绝该特定关键词的辨认。
9.一种关键词辨认方法,其特征在于,包含:
当尚未接受特定关键词的辨认时,利用解码电路以参考声音输入数据的帧的特征来计算对数概似表并参考该对数概似表来调整多个动态编码表的每一动态编码表,其中该对数概似表以及该多个动态编码表系用以辨认该特定关键词;以及
在该声音输入数据的不同帧中分别重置该多个动态编码表;
其中调整该多个动态编码表的每一动态编码表的步骤包含:
确认是否有任何动态编码表自最后重置后已经过了该声音输入数据的默认长度并衍生确认结果;
当该确认结果指出动态编码表自最后重置后尚未经过该声音输入数据的该默认长度时,参考该对数概似表来更新该动态编码表。
10.如权利要求9所述的关键词辨认方法,其特征在于,根据该确认结果调整该多个动态编码表的每一动态编码表的步骤包含:
当该确认结果指出动态编码表自最后重置后已经过该声音输入数据的该默认长度时,参考该对数概似表来重置该动态编码表。
11.如权利要求9所述的关键词辨认方法,其特征在于,另包含:
确认是否有任何一动态编码表自最后重置后已经过了该声音输入数据的一默认长度并衍生确认结果;以及
当该确认结果指出动态编码表自最后重置后已经过该声音输入数据的该默认长度时,参考该动态编码表中的最后状态的分数来决定是否确认或拒绝该特定关键词的辨认。
12.如权利要求9所述的关键词辨认方法,其特征在于,另包含:
确认是否有任何一动态编码表自最后重置后已经过了该声音输入数据的一默认长度并衍生确认结果;以及
当该确认结果指出动态编码表自最后重置后已经过该声音输入数据的该默认长度时,参考该动态编码表中的最后状态的分数以及至少一非最后状态的分数来决定是否确认或拒绝该特定关键词的辨认。
13.如权利要求9所述的关键词辨认方法,其特征在于,另包含:
比较在该多个动态编码表中所选择到的动态编码表的最后状态的分数以决定最大分数;以及
根据该最大分数选择性地更新分数。
14.如权利要求13所述的关键词辨认方法,其特征在于,另包含:
确认该所选择到的动态编码表中是否有动态编码表自最后重置后已经过了该声音输入数据的默认长度并衍生确认结果;以及
当该确认结果指出所选择到的动态编码表自最后重置后已经过该声音输入数据的该默认长度时,参考该分数来决定是否确认或拒绝该特定关键词的辨认。
15.如权利要求9所述的关键词辨认方法,其特征在于,另包含:
比较在该多个动态编码表中所选择到的动态编码表的最后状态的分数以决定第一最大分数;
比较在该多个动态编码表中所选择到的动态编码表的相同非最后状态的分数以决定第二最大分数;
根据该第一最大分数选择性地更新第一分数;以及
根据该第二最大分数选择性地更新第二分数。
16.如权利要求15所述的关键词辨认方法,其特征在于,另包含:
确认该所选择到的动态编码表中是否有动态编码表自最后重置后已经过了该声音输入数据的默认长度并衍生确认结果;以及
当该确认结果指出一所选择到的动态编码表自最后重置后已经过该声音输入数据的该默认长度时,参考该第一分数以及该第二分数来决定是否确认或拒绝该特定关键词的辨认。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462045013P | 2014-09-03 | 2014-09-03 | |
US62/045,013 | 2014-09-03 | ||
US201462053463P | 2014-09-22 | 2014-09-22 | |
US62/053,463 | 2014-09-22 | ||
US14/788,745 | 2015-06-30 | ||
US14/788,745 US10032449B2 (en) | 2014-09-03 | 2015-06-30 | Keyword spotting system for achieving low-latency keyword recognition by using multiple dynamic programming tables reset at different frames of acoustic data input and related keyword spotting method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105390139A CN105390139A (zh) | 2016-03-09 |
CN105390139B true CN105390139B (zh) | 2019-05-10 |
Family
ID=55403203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510537465.5A Expired - Fee Related CN105390139B (zh) | 2014-09-03 | 2015-08-28 | 关键词辨认***以及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10032449B2 (zh) |
CN (1) | CN105390139B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10929264B2 (en) * | 2016-09-14 | 2021-02-23 | International Business Machines Corporation | Measuring effective utilization of a service practitioner for ticket resolution via a wearable device |
CN107230475B (zh) * | 2017-05-27 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 一种语音关键词识别方法、装置、终端及服务器 |
US10311874B2 (en) | 2017-09-01 | 2019-06-04 | 4Q Catalyst, LLC | Methods and systems for voice-based programming of a voice-controlled device |
CN109407559A (zh) * | 2018-10-15 | 2019-03-01 | 合肥世忠科技开发有限公司 | 一种智能安全护栏自动控制*** |
WO2020111880A1 (en) | 2018-11-30 | 2020-06-04 | Samsung Electronics Co., Ltd. | User authentication method and apparatus |
WO2020153736A1 (en) | 2019-01-23 | 2020-07-30 | Samsung Electronics Co., Ltd. | Method and device for speech recognition |
WO2020231181A1 (en) | 2019-05-16 | 2020-11-19 | Samsung Electronics Co., Ltd. | Method and device for providing voice recognition service |
CN111341306B (zh) * | 2020-02-14 | 2022-06-17 | 东南大学 | 基于语音特征复用的关键词唤醒cnn的存储和计算压缩方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352787A (zh) * | 1999-02-08 | 2002-06-05 | 高通股份有限公司 | 分布式语音识别*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5842163A (en) | 1995-06-21 | 1998-11-24 | Sri International | Method and apparatus for computing likelihood and hypothesizing keyword appearance in speech |
DE60016722T2 (de) | 2000-06-07 | 2005-12-15 | Sony International (Europe) Gmbh | Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars |
GB0027045D0 (en) * | 2000-11-06 | 2000-12-20 | Ibm | Computer system with heap reset |
US7398209B2 (en) * | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
GB2404040A (en) * | 2003-07-16 | 2005-01-19 | Canon Kk | Lattice matching |
TW201034465A (en) * | 2009-03-11 | 2010-09-16 | Jmicron Technology Corp | Image compression method and related apparatus thereof |
US20120084537A1 (en) * | 2010-09-30 | 2012-04-05 | International Business Machines Corporation | System and method for execution based filtering of instructions of a processor to manage dynamic code optimization |
US9672815B2 (en) | 2012-07-20 | 2017-06-06 | Interactive Intelligence Group, Inc. | Method and system for real-time keyword spotting for speech analytics |
-
2015
- 2015-06-30 US US14/788,745 patent/US10032449B2/en not_active Expired - Fee Related
- 2015-08-28 CN CN201510537465.5A patent/CN105390139B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352787A (zh) * | 1999-02-08 | 2002-06-05 | 高通股份有限公司 | 分布式语音识别*** |
Also Published As
Publication number | Publication date |
---|---|
CN105390139A (zh) | 2016-03-09 |
US20160063996A1 (en) | 2016-03-03 |
US10032449B2 (en) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105390139B (zh) | 关键词辨认***以及方法 | |
CN103544955B (zh) | 识别语音的方法及其电子装置 | |
US9230541B2 (en) | Keyword detection for speech recognition | |
US9454958B2 (en) | Exploiting heterogeneous data in deep neural network-based speech recognition systems | |
US9251789B2 (en) | Speech-recognition system, storage medium, and method of speech recognition | |
US7529671B2 (en) | Block synchronous decoding | |
US8731926B2 (en) | Spoken term detection apparatus, method, program, and storage medium | |
US20150325240A1 (en) | Method and system for speech input | |
WO2021103712A1 (zh) | 一种基于神经网络的语音关键词检测方法、装置及*** | |
US11967315B2 (en) | System and method for multi-spoken language detection | |
WO2017099936A1 (en) | System and methods for adapting neural network acoustic models | |
CN105872687A (zh) | 一种通过语音控制智能设备的方法及装置 | |
CN112509552B (zh) | 语音合成方法、装置、电子设备和存储介质 | |
CN109710727A (zh) | 用于自然语言处理的***和方法 | |
US20170220120A1 (en) | System and method for controlling playback of media using gestures | |
KR102345625B1 (ko) | 자막 생성 방법 및 이를 수행하는 장치 | |
WO2012001458A1 (en) | Voice-tag method and apparatus based on confidence score | |
CN105427870A (zh) | 一种针对停顿的语音识别方法和装置 | |
CN111951825A (zh) | 一种发音测评方法、介质、装置和计算设备 | |
CN104992715A (zh) | 一种智能设备的界面切换方法及*** | |
JP4499389B2 (ja) | 音声処理のためのデシジョン・ツリーの質問を生成するための方法および装置 | |
Nguyen et al. | Investigation of combining SVM and decision tree for emotion classification | |
EP4095850A1 (en) | Instruction execution method and apparatus, storage medium, and electronic device | |
CN113851113A (zh) | 模型训练方法及装置、语音唤醒方法及装置 | |
CN115104151A (zh) | 一种离线语音识别方法和装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190510 Termination date: 20210828 |