语音校正系统及语音校正方法与流程

文档序号:20497735发布日期:2020-04-21 22:31阅读:359来源:国知局
语音校正系统及语音校正方法与流程

本发明关于一种接收语音的系统,特别关于一种语音校正系统及语音校正方法。



背景技术:

现有的语音辨识模型,例如googlespeechapi,是通过大量语音数据训练而产生,但每个人的口音略有不同因而导致错误的辨识结果。

此外,现有的目前语音互动模式,多使用特定的指令进行沟通与互动。但往往指令会因为上述提及的口音不同,而发生辨识错误,造成用户难以实行语音互动功能。

举例来说,android系统使用特定的指令,如“okgoogle”作为开启google搜索引擎的预设语音。当用户说出“okgoogle”而被语音辨识模型辨识为“okgoogle”语音时,由于与预设的“okgoogle”指令相同,因此开启google搜索引擎。在上述流程中若因用户口音的不同导致语音辨识模型辨识成其他的语音,例如辨识成“okgeegle”,则由于与预设的“okgoogle”指令不同,因此无法开启google搜索引擎。

因此,上述现有方式仍有待加以进一步改进。



技术实现要素:

为了解决上述的问题,本公开内容的一态样提供了一种语音校正系统,包含:一储存装置以及一处理装置。储存装置用以储存一第一数据库。处理装置包含:一音频接收器、一语音辨识引擎、一运算模块以及一判断模块。音频接收器用以接收多个输入语音。语音辨识引擎用以辨识此些输入语音,并产生对应每个此些输入语音所对应的多个候选词汇及每个此些候选词汇对应到的一词汇机率。运算模块用以将所有此些候选词汇中相同者所各自对应到的词汇机率执行一特定运算,以对应产生多个运算结果。判断模块用以判断每个此些运算结果是否大于一分数阈值,并将大于分数阈值的至少一个输出结果储存至第一数据库。

本发明的另一态样在于提供一种语音校正方法包含:接收多个输入语音;辨识该些输入语音,并产生对应每个该些输入语音所对应的多个候选词汇及每个该些候选词汇对应到的一词汇机率;将所有该些候选词汇中相同者所各自对应到的该词汇机率执行一特定运算,以对应产生多个运算结果;以及判断每个该些运算结果是否大于一分数阈值,并将大于该分数阈值的至少一个输出结果储存至一第一数据库。

本发明所示的语音校正系统及语音校正方法,能在输入语音指令时,随着用户口音不同,进行新增语音的辨识,可以提供不同用户定制化的语意辨识效果,此外,通过不同指令而将对应的输出结果储存在对不同的数据库,可在辨识新增语音时,提升辨识用户真正想表达的语意的效率。

附图说明

图1是依照本发明一实施例绘示一种语音校正系统的方块图。

图2是根据本发明的一实施例绘示一种语音校正方法的流程图。

图3是根据本发明的一实施例绘示一种语音校正方法的流程图。

图4是根据本发明的一实施例绘示一种语音校正方法的一示例。

图5是根据本发明的一实施例绘示一种应用语音校正方法的流程图。

符号说明

100:语音校正系统

10:储存装置

db1:第一数据库

20:处理装置

22:音频接收器

24:语音辨识引擎

26:运算模块

28:判断模块

200、300、400、500:语音校正方法

210~250、310~350、410~490、510~530:步骤

具体实施方式

以下说明是为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考所附的权利要求范围。

必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。

于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。

请参照图1~图2,图1是依照本发明一实施例绘示一种语音校正系统100的方块图。图2是根据本发明的一实施例绘示一种语音校正方法200的流程图。

如图1所示,语音校正系统100包含一储存装置10及一处理装置20。其中,储存装置10用以储存一第一数据库db1,处理装置20包含一音频接收器22、语音辨识引擎24、运算模块26及判断模块28。

于一实施例中,储存装置10可被实作为只读存储器、闪存、软盘、硬盘、光盘、随身碟、磁带、可由网络存取的数据库或熟悉此技术者可轻易思及具有相同功能的储存媒体。于一实施例中,储存装置10用以储存数据库db1(如图1所示)。数据库db1可用以储存至少一预设指令,如“openfridge”,用以开启特定的应用程序。

于一实施例中,音频接收器22用以接收多个语音指令。于一实施例中,音频接收器22可以是一麦克风或其他具有收音功能的装置。于一实施例中,音频接收器22可以放置于处理装置20的外部。

于一实施例中,处理装置20可以是任何具有运算功能的电子装置。于一实施例中,语音辨识引擎24、运算模块26及判断模块28可以各别或合并由集成电路如微控制单元(microcontroller)、微处理器(microprocessor)、数字信号处理器(digitalsignalprocessor)、特殊应用集成电路(applicationspecificintegratedcircuit,asic)或一逻辑电路来实施。

于一实施例中,请参图2,于步骤210中,音频接收器22用以接收多个输入语音。于一实施例中,语音校正系统100通过用户界面请用户对着音频接收器22说出5次指令,例如“openfridge”,音频接收器22接收此些输入语音。所谓指令是指系统作为致能特定动作的预设语音,如上述“openfridge”,可设定为开启特定app。

于一实施例中,此些输入语音代表相同含义的一待校正语意,如上述用户所说的5次“openfridge”,即使发音不一定每次都标准,但含义都是开启(enable)一语音应用程序,例如用以唤起冰箱管理应用程序。

于步骤220中,语音辨识引擎24用以辨识此些输入语音,并产生对应每个此些输入语音所对应的至少一个候选词汇及每个此些候选词汇对应到的一词汇机率。于一实施例中,语音辨识引擎24可以采用已知的语音辨识软件以实现,故此处不再赘述。

于一实施例中,语音辨识引擎24辨识其中一次输入语音(例如用户第一次的输入语音,即发出“openfridge”指令的输入语音),辨识结果如至少一个候选词汇例如为“openfrench”、“openfridge”及“openinfrench”等,而该些候选词汇所对应的词汇机率分别为:“openfrench”(候选词汇)所对应的词汇机率为0.95,“openfridge”(候选词汇)所对应的词汇机率为0.92,“openinfrench”(候选词汇)所对应的词汇机率为0.89。

换句话说,语音辨识引擎24会逐一辨识每一个输入语音,每次辨识会产生至少一个候选词汇及每一至少一个候选词汇所对应的词汇机率。

于步骤230中,运算模块26用以将所有此些候选词汇中相同者所各自对应到的词汇机率执行一特定运算,以对应产生多个运算结果。

举例来说,语音辨识引擎24辨识用户5次的输入语音的辨识结果,其中有3次的辨识结果包含“openfridge”的候选词汇,有5次辨识结果包含“openfrench”的候选词汇,有3次辨识结果包含“openinfrench的候选词汇”,有2次辨识结果包含“opencartridge”的候选词汇。此时,运算模块26将相同的候选词汇所对应的词汇机率进行相加,即得到“openfridge”为2.46(5次辨识结果中包含3次,此3次辨识结果分别对应的词汇机率分别为0.82、0.81、0.83,运算模块26将此3个值相加所得的值为2.46)“,openfrench”为3.67(5次辨识结果包含5次,此5次辨识结果分别对应的词汇机率分别为0.73、0.81、0.82、0.70、0.61,运算模块26将此5个值相加所得的值为3.67),“openinfrench”为1.92(5次辨识结果包含3次,此3次辨识结果分别对应的词汇机率分别为0.64、0.64、0.64,运算模块26将此3个值相加所得的值为1.92),“opencartridge”为0.89(5次辨识结果包含2次,此2次辨识结果分别对应的词汇机率分别为0.49、0.40,运算模块26将此2个值相加所得的值为0.89)。

于一实施例中,特定运算是指运算模块26将所有候选词汇中相同者所对应的词汇机率进行相加、计算平均值或其他数学运算,以产生的运算结果。

于步骤240中,判断模块28用以判断每个此些运算结果是否大于一分数阈值。

于一实施例中,分数阈值(例如为3)是由音频接收器22接收到输入语音的次数(例如5次)乘以一置信度(例如为0.6)而得。于一实施例中,置信度介于0~1之间,可依实际操作环境设置。

一般而言,当置信度或是输入语音的次数越高,会使分数阈值越高,能够通过阈值的运算结果就越少,可以取得较精准的语音分析结果。例如,当分数阈值设定为3时,判断模块28会筛选出候选词汇“openfrench”的运算结果3.67大于分数阈值。又例如,当阈值为2时,判断模块28会同时筛选出候选词汇“openfrench”(运算结果为3.67)以及候选词汇“openfridge”(运算结果为2.46)。

于步骤250中,判断模块28将大于分数阈值的至少一个输出结果储存至第一数据库db1。

于一实施例中,至少一个输出结果可以是多个运算结果的子集合,更具体而言,判断模块28将大于分数阈值的运算结果视为至少一个输出结果。

于一实施例中,当判断模块28判断每个此些运算结果是否大于一分数阈值(步骤240),并将大于分数阈值的至少一个输出结果储存至第一数据库db1(步骤250),其中,输出结果可以是指大于分数阈值的运算结果所对应的候选词汇;当判断模块28判断每个此些运算结果皆不大于分数阈值时,则于步骤240执行完后结束语音校正方法200。

举例来说,当分数阈值设定3时,判断模块28判断仅有候选词汇“openfrench”的运算结果3.67大于分数阈值,故将输出结果“openfrench”(由于此候选词汇的运算结果大于分数阈值,故此时将“openfrench”视为输出结果)储存至第一数据库db1。

又例如,当分数阈值2时,判断模块28判断出候选词汇“openfrench”(运算结果为3.67)以及候选词汇“openfridge”(运算结果为2.46)皆大于分数阈值,故将输出结果“openfrench”及“openfridge”同时储存至第一数据库db1。

将大于分数阈值的候选词汇储存至第一数据库db1的目的在于判断模块28将该些大于分数阈值的候选词汇(每个至少一个输出结果)皆视为相同的一正确语意。例如,于此例中,判断模块28将输出结果“openfrench”及“openfridge”皆视为相同的一正确语意(即含义都是致能(enable)一特定应用程序,例如开启一冰箱管理应用程序),换言之,后续无论用户的输入语音被辨识为“openfrench”或是“openfridge”,判断模块28都会将此输入语音视为开启一特定应用程序的正确指令。

于一具体实施例中,步骤210接收多个输入语音而后执行步骤220至步骤230的流程,亦可改变成步骤210接收一输入语音后而直接执行步骤220至步骤230,之后回到步骤210接受下一输入语音,直到接受一预设数量的输入语音,例如5次。

图3是根据本发明的一实施例绘示一种语音校正方法300的流程图。图3与图2的不同之处在于,图3还包含步骤345。图3的步骤310、320、330、340、350分别与图2的步骤210、220、230、240、250相同,故以下不赘述。

当判断模块28判断此些运算结果中包含至少一个候选词汇大于分数阈值时(步骤340),可得到至少一个输出结果,其中,输出结果可以是指大于分数阈值的运算结果所对应的候选词汇,并接着进入步骤345。

于步骤345中,判断模块28判断至少一个输出结果是否已储存于第一数据库db1,若判断模块28判断至少一个输出结果未储存于第一数据库db1,则将至少一个输出结果储存至第一数据库db1。若判断模块28判断至少一个输出结果已储存于第一数据库db1,则结束流程。

为更易于理解,请参阅图4,图4是根据本发明的一实施例绘示一种语音校正方法400的一示例。于一实施例中,语音校正方法400可应用于一冰箱管理应用程序中,然本发明不限于此,语音校正方法400可应用于各种需要输入语音的应用程序中。

于步骤410中,处理装置20可以通过一用户界面提示用户说出一预设次数的输入语音。例如,用户界面显示「请说出5次“openfridge”」,其中,预设次数不仅限于此,可以是任意的正整数。输入语音可关联于一应用程序的指令(“openfridge”),例如开启特定应用程序。

于步骤420中,音频接收器22接收一输入语音。例如,音频接收器22先接收到第一个输入语音。

于步骤430中,语音辨识引擎24辨识输入语音(例如为第一个输入语音)。

于步骤440中,语音辨识引擎24产生对应输入语音(例如为第一个输入语音)的一个或多个候选词汇,及每个候选词汇所对应到的词汇机率。例如,语音辨识引擎24产生3个候选词汇对应到第一个输入语音,包括“openfrench”、“openfridge”及“openinfrench”等候选词汇。其中,“openfrench”(候选词汇)对应的词汇机率为0.95,“openfridge”(候选词汇)对应的词汇机率为0.92,“openinfrench”(候选词汇)对应的词汇机率为0.89。

于步骤450中,判断模块28判断目前是否已接收到预设次数的输入语音。例如,若预设次数为5,判断模块28判断目前只接收到1次输入语音,尚未到达预设次数,则回到步骤420;若判断模块28判断目前已接收到5次输入语音,到达预设次数(5次),则进入步骤460。

亦即,当预设次数为5时,代表前述步骤420~440需要依序执行5次,以取得对应第一输入语音至第五输入语音及其各自对应的一个或多个候选词汇。

于步骤460中,运算模块26将所有候选词汇中相同者所各自对应到的词汇机率执行一特定运算,以对应产生多个运算结果。例如,在辨识用户所述的5次输入语音后,语音辨识引擎24所产生的所有候选词汇中,辨识结果有3次包含“openfridge”,辨识结果有5次包含“openfrench”,辨识结果有3次包含“openinfrench”,辨识结果有2次包含“opencartridge”,此时,运算模块26将相同的候选词汇所对应的词汇机率进行相加,即得到“openfridge”为2.46(5次辨识结果包含3次,此3次辨识结果分别对应的词汇机率为0.82、0.81、0.83,将此3个值相加所得的值为2.46);得到“openfrench”为3.67(5次辨识结果包含5次,此5次辨识结果分别对应的词汇机率为0.73、0.81、0.82、0.70、0.61,将此5个值相加所得的值为3.67);得到“openinfrench”为1.92(5次辨识结果包含3次,此3次辨识结果分别对应的词汇机率为0.64、0.64、0.64,将此3个值相加所得的值为1.92);得到“opencartridge”为0.89(5次辨识结果包含2次,此2次辨识结果分别对应的词汇机率为0.49、0.40,将此2个值相加所得的值为0.89)。

于步骤470中,判断模块28判断每个运算结果是否大于一分数阈值。例如,当分数阈值设定为3时,判断模块28判断仅有候选词汇“openfrench”的运算结果3.67大于分数阈值,故将输出结果“openfrench”。其中,由于此候选词汇“openfrench”的运算结果3.67大于分数阈值3,故此时将“openfrench”视为输出结果。此步骤与前述图2的步骤240、图3中的步骤340相似,故此处不赘述。

于步骤480中,判断模块28判断至少一个输出结果是否已储存于第一数据库db1,若判断模块28判断至少一个输出结果未储存于第一数据库db1,则进入步骤490。若判断模块28判断至少一个输出结果已储存于第一数据库db1,结束此流程。

于步骤490中,判断模块28将至少一个输出结果储存至第一数据库db1。

请参阅图5,图5是根据本发明的一实施例绘示一种应用语音校正方法500的流程图。须特别说明的是,较佳地,图5的执行是于前述图2~图4执行之后。亦即,第一数据库db1已储存有至少一个输出结果。

于步骤510中,若用户欲开启(enable)特定应用程序而发出“openfridge”的一新增语音(该新增是指相对图2到图4的输入语音),音频接收器22接收此新增语音。

于步骤520中,语音辨识引擎24辨识此新增语音(“openfridge”),且判断模块28判断新增语音是否对应到至少一个输出结果(如“openfrench”)或预设指令(“openfridge”),若判断模块28判断新增语音对应到至少一个输出结果或预设指令,则进入步骤530;若判断模块28判断新增语音未对应到至少一个输出结果也未对应到预设指令,则结束此流程。

详细而言,当语音辨识引擎24正确辨识此新增语音“openfridge”为预设指令“openfridge”时,即开启(enable)特定应用程序。若语音辨识引擎24将此新增语音“openfridge”辨识为“openfrench”时,虽没有对应到预设指令“openfridge”,但若第一数据库中已储存的至少一个输出结果包含“openfrench”(步骤520),仍将其视为正确语意(步骤530)而开启(enable)特定应用程序。

换句话说,由于图2到图4的流程中,第一数据库中已储存包含预设指令“openfridge”以及输出结果“openfrench”,判断模块28即将输出结果“openfrench”及预设指令“openfridge”皆视为相同的正确语意(即含义都是开启(enable)一特定应用程序,例如为冰箱管理应用程序)。

因此,虽然新增语意的辨识结果“openfrench”并非正确地辨识用户所发出“openfridge”的语音,然由于此辨识的新增语意“openfrench”可对应到图4中步骤490所述的第一数据库db1中所储存的至少一个输出结果,故判断模块28将此新增语音的辨识结果“openfrench”亦视为正确语意。换言之,判断模块28将辨识的新增语音“openfrench”视同于“openfridge”,于此例中,指令“openfridge”代表用以开启一特定应用程序的语音指令。

由上可知,即使每个用户的口音略有不同,藉由图4所示的语音校正方法400,能够使语音校正系统100适应每个用户的不同口音。当用户输入一新增语音(如图5所示语音校正方法的步骤510)时,语音校正系统500辨识新增语音,且判断新增语音是否对应到至少一个输出结果(步骤520),若是,则进入步骤530,将新增语音视为正确语意,若否,则结束流程。因此,语音校正系统500能够辨识出用户真正想表达的语意,而无须正确地辨识用户的语音。

此外,特定应用程序的语音指令可能有多个指令,例如“openfridge”、“getanapple”、“putanegg”等3个指令。为加快判断速度,于一实施例中,储存装置10还包含一第二数据库及/或一第三数据库,在判断模块28欲进行储存输入语音的阶段时(例如为图4的步骤480),可进一步依据不同指令部分以决定将至少一个输出结果储存至第一数据库db1、第二数据库或第三数据库。例如,第一数据库db1存放第一指令“openfridge”及相对应的至少一个输出结果(如上述的“openfrench”);第二数据库存放第二指令“getanapple”及相对应的至少一个输出结果;第三数据库存放第三指令“putanegg”及相对应的至少一个输出结果。

于一实施例中,当音频接收器22接收到一新增语音时,语音辨识引擎24辨识新增语音以取得辨识结果。当判断模块28判断辨识结果较接近第二指令“getanapple”时,只要于对应的第二数据库中判断是否有对应到第二指令或至少一个输出结果即可。由此,无须将数据库中所有指令及对应的至少一个输出结果全部比对,从而减少判断时间与运算资源。

本发明所示的语音校正系统及语音校正方法,能在输入语音指令时,随着用户口音不同,进行新增语音的辨识,提供不同用户定制化的语意辨识效果,此外,通过不同指令而将对应的输出结果储存在对不同的数据库,可在辨识新增语音时,提升辨识用户真正想表达的语意的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1