在各种VUI流程中,误触发引起的设备误动作带来的危害更大

使用TNA算法可以有效地进行错误拒识,防止误触发错误的出现

在语音用户界面设计的介绍中,已经讲述了误识别误触发两种错误。
使用V280的开发者,可以通过设置TNA参数来有效地避免“误触发”的错误。

1. 什么是TNA算法

TNA算法由绘声公司首创并运用于抑止"误触发"。
TNA算法本来的含义是时域归正算法。绘声公司将TNA算法融入了音节分布规则,以及信心值计算,专门用于抑止"误触发"。把这一概念拓展为:"针对不在词表内的语音引起的识别误触发,进行错误拒识的算法",并且可以通过VUI_Edit设置TNA的开关,来调节TNA的作用。
在传统的语音识别流程中,就是比较各关键字相互之间相对值,求出的是相对最优解。这样作比较容易达到高的正确识别率,但是也会带来误触发。
误触发就是当送入识别引擎的声音数据是在识别词表外的声音时,是有可能被识别成为识别词表内的识别命令。最典型的场景就是在智能家居中,采用"口令触发"(可以参考VUI实例3)等待识别口令时,几个人在语音识别模块前进行聊天,此时聊天的内容和口令完全无关,但是有可能某一句聊天,就会误触发口令。

绘声公司创造性地在识别每一帧语音特征的时候,对每一个关键词条目的每一个音节每一个状态都进行信心值计算。同时将每一帧特征都对应规整到关键词的相应音节的相应状态。在整个语音识别过程中,每一帧的计算都不仅仅是计算相对最优解,也在计算是否符合时间规整发音概率。
与此同时,识别引擎也依然保留了N-Best相对最优解,在识别完成后,可以配合心里模型再次检出正确的识别结果。

经过测试,TNA算法可以大幅度降低误触发率。
成为VUI模块在智能家居和工业控制得到真正地应用地技术基础。


2. TNA的作用和影响

当VUI识别流程的一个节点开启并设置了TNA参数后,当识别流程运行到该节点时,声音的识别流程会根据TNA参数的设置,进行检测。
开发者可以理解为,需要更加认真地去说识别命令,才能够通过TNA的识别检测,得到识别结果。如果是含糊地说,或者不认真地说,那么就无法得到识别结果。
这样,生活中的其他声音,尤其是用户的随机聊天声音,所能引起的"误触发"
必然会大大降低。

举一个简单例子,当一个识别列表有"绘声电子"这个词语时,如果不开启TNA,用户说"绘声阿子",由于识别列表中没有与"绘声阿子"更接近的垃圾词语来吸收,所以几乎肯定会触发"绘声电子",但是当打开TNA开关后(需要设置一定严格的参数),再说"绘声阿子",则会被TNA的检测拒绝这次识别。避免了误触发。