一种用于交互控制的语音虚拟键盘的构建和使用方法

文档序号:2821620阅读:162来源:国知局
专利名称:一种用于交互控制的语音虚拟键盘的构建和使用方法
技术领域
本发明公开了一种通过少量词汇的精确识别(语音虚拟键盘)和多次交互来实现低速率高精度语音输入和语音控制的方法。本发明属于计算机多媒体信息输入和控制领域,尤其是通过语音信息来实施控制的多媒体技术领域。
随着计算机技术的不断发展,语音输入技术及其处理技术已经被广泛地应用到了社会生活的各个方面。但是由于语音输入有非常多不确定性和复杂性,现在的计算机系统还难以满足对语音分辨的准确性的要求,尤其是用于实时控制的、计算处理能力并不是十分强大的计算机系统,因此语音输入更多地用于语音转换和保存、传输等不需要解析语音含义的领域,相对而言语音用于人机交互控制领域,其语音解析的准确性是目前的主要问题。现有技术的解决方法,主要是通过多次学习使用者的对于每一个音节的发信特征,来提高系统对使用者的语音解析的准确性。但是这种方法存在着三个问题难以解决第一是应用前需要事先学习,即使用者需要多次反复朗读全部标准语音表,供给计算机系统解析并构建使用者的发音数据库,甚至需要采集使用者在不同的环境、健康状况等条件下的发音特征,才能构建比较完整的数据库,这无疑大大增加了使用者使用的难度,使这种最简单的控制方式变得非常复杂,大大地限制了语音控制的普及使用;第二是要求计算机系统的软件要有很强的智能性,即使在使用者的发音都能够被准确解析、辨认的条件下,还能够通过前后文的联系来准确分辨同音多意的词组或者语句,因而不仅要求计算机系统具有十分强大的数据处理和运算能力,还要有非常智能化的软件的支持;第三是由于前两点,现有语音输入还是针对专有使用者,还不能使用到口音纷繁的公众场合。如果再把这些要求联合起来,除非使用功能强大、结构复杂、造价高昂的专用系统,才有可能实现语音控制,而对于廉价的控制系统,目前几乎无法实现。
本发明的目的,就是根据现有语音控制系统的缺点和不足,提供了一种通过在系统中构建“语音虚拟键盘”,来实现人机交互控制或交互式低速率语音输入的方法;该方法包括在人机交互系统中构建语音虚拟键盘的方法,以及该语音虚拟键盘在系统中的使用方法。
本发明所述的语音虚拟键盘,实质上是一个由少量词语如阿拉伯数字0-9以及“是”、“否”等发音比较明确的词语构成的数量极少的“指令词库”数据库,在计算机等待指令或等待选择的状态时,语音被系统只用来匹配指令词库,从而进行精确交互。“指令词库”数据库可在应用本专利的产品出厂前针对当地的口音预设,也可被单一用户重新构建,构建的方法如下A.设定该语音虚拟键盘的键元素内容和数量,并按照一定的方式编码排列;B.按照上述编码排列顺序选定每一个键元素,并使用某种能被使用者明确感知的方式,提示依次使用者朗读每个键元素;C.计算机系统对于所接收到的、使用者对应于每个键元素的发音进行解析,并将解析得到的结果,存储到计算机系统内非易失性存储器内的特定空间内,并将该解析结果与所对应的键元素相关联;D.当全部键元素全部被使用者朗读达到设定的次数之后,计算机系统对全部的发音解析结果进行整理,构成一个对应于该使用者的键元素数据库,即该虚拟语音键盘的用户指令词库。
该语音虚拟键盘应用在以计算机为控制核心的人机交互系统上,要求计算机系统上已经构建包含有与同一使用者相对应的语音数据库,以及与控制目的或对象相关的目标数据库;因此在系统中的使用方法或步骤如下启动语音交互控制功能;B.使用者朗读与被控制对象或者目的相关的关键词;C.计算机系统解析用户的发音,然后在与使用者对应的语音数据库中搜索、比较,得到与该使用者的关键词发音相对应的数据代码;D.用上述代码为标的搜索所述的目标数据库;E.判断是否得到相符合的结果如果搜索得到了相关的数据,继续执行步骤E,如果没有搜索得到相关数据,则跳转执行步骤H;F.通过某种容易别用户感知的方式,利用语音虚拟键盘内所包含的键元素数据库为标识,按照一定规则或顺序输出搜索结果,并用语音方式提示使用者利用语音虚拟键盘包含的键元素,使用语音指令来确认或者选择所述的输出结果;G.不断精确解析外部的各种声音输入,将解析结果与用户指令词库即键元素数据库中的使用者的发音指令数据相比较,判定使用者是否确认或者选择;如果判定使用者已经确认或者选择,则继续执行步骤H;如果使用者没有确认或者选择,则跳转执行步骤I;H.判定使用者确认或选择的结果是否是最终目标数据如果所述数据不是最终目标数据,则进一步搜索目标数据库,得到更接近最终目标数据的搜索结果,然后重复步骤E、F输出,供使用者再次确认或者选择;如果使用者确认或选择的一警示是最终的目标数据,就将目标数据输出到系统的其他部分进行下一步操作,并结束本次交互控制的操作;I.根据控制服务程序的设定,或者提示用户重新操作,或者重新设置操作入口进行其他操作,或者终止本次交互控制的操作。
由上面的技术方案可以看到,由于本发明使用了词汇量很少的“语音虚拟键盘”,来实现从多种可能的目标结果中选择的人机交互方式,因此具有以下的优点第一,由于计算机系统需要精确解析辨认的只有“语音虚拟键盘”的语音,词语的数量大为减少、发音简单,而且也不需要前后结合来理解使用者语音的真正含义,因此解析的准确率得到了极大的提高,针对单一用户几乎能100%正确分辨,而针对各种口音的公众场所应用可达到一定口音范围内的100%正确分辨;第二,由于可以通过“给出一组相关结果供用户选择”的方式来实现交互控制,因此不再要求计算机系统高速运行进行一次到位的精确的解析,这一方面降低了对计算机系统软硬件配置的要求而降低了系统的成本、容易普及推广;另一方面也只需要使用者朗读一两遍标准发音表,就能基本上实现用户语音含义的模糊辨认;同时由于虚拟语音键盘中包含的指令的数量很少且发音简单,即使系统要求多次采集使用者在不同情况下的指令发音,也很容易完成,因此使用者使用前的朗读等准备工作量大大减少,最大限度地减轻了使用者的准备工作的时间和强度。
本发明虽然操作速度比较慢,但识别精度高,完全满足实用要求,针对个人可应用于汽车导航、灯光控制、玩具等领域,针对公共场所可取代各种键盘按键触摸屏等,既减少交叉接触传播疾病又简化外观延长使用寿命。
下面结合附

图1、2所示的实施例,来详细说明本发明的技术方案。
图1构建语音虚拟键盘的一般程序流程2使用语音虚拟键盘的人机交互控制系统的一般工作流程图本发明中所涉及的语音虚拟键盘,其实质上就是一个用户控制指令集。这个指令集可以由数字构成,类似电话机上的拨号键盘,由0-9个数字和两个确认健构成,在此确认健可以用“是”、“否”来替代电话机上的“*”和“#”健;也可以根据特殊需要,由部分字母构成,如26个英文字母中的全部或者部分,或者其他语言的字符。语音虚拟键盘中每个虚拟键位,即选择“键元素”的基本原则是发音要尽可能简单,尽可能是在所属语言中是单音节的发音。语音虚拟键盘的构建过程,实质上就是一个对使用者朗读指令集的发音的采集解析过程,利用采集到的使用者的指令发音构建成为一个“用户指令词库”,供系统检索调用。图1给出了这个语音虚拟键盘的一般构建方法。
启动语音用户语音指令采集的步骤101后,系统就进入了录音采集的状态。首先要通过步骤102设置键元素104,即“虚拟键盘”中包含有虚拟的“按键”的数量M。这个过程是由计算机系统根据系统控制的要求来自动设定的,如前面所列举的可能情况。对于汉语指令,一般来说只要设置0-9个数字键和“是”、“否”两个功能健就可以满足绝大部分要求;对于英语,也可以使用单音节的字母,当然也可以使用英文字母。之所以推荐使用单音节的指令,是因为单音节的发音更容易被系统正确识别,因此最好能避免使用多音节的指令,在确实必要的时候再使用。完成了键元素字符集的设置之后,系统进入提示输出准备步骤103。因使用者只能一个一个地朗读指令字符的发音,所以应该按照一定规则设置整个键元素字符集的输出给使用者朗读、采集的顺序,以及输出的初始值m=1,然后进入顺序输出状态105,提示用户现在正在采集的发音是哪个指令字符,为使用者随后朗读该指令字符做好准备。这里提示的方式可以是声音、显示图形,但由于是以语音功能为主的系统,所以最好用语音的方式提醒用户,避免使用其他终端输出设备而增加系统的造价。当然,因为这个过程是一个一次性的过程,因此也可以借助PC计算机等其他设备来辅助完成。由于在大部分情况下,使用者对同一个字符的每一次发音都是有差异的,因此在此设置了一个多次重复采集同一个指令字符N次的循环步骤106以及循环初始值设置步骤107,设置循环的初始值n=1,以尽可能全面地采集使用者对该指令字符的发音特征。上面的步骤完成以后,系统进入用户提示步骤108,提示使用者朗读该字符,随后进入声音采集和解析步骤109,解析用户对该指令字符的发音,并将解析得到的结果或者特征值通过存储步骤110,存储到系统内与指令字符的序号m相对应的指令组内。当然,这里的存储介质应该是系统内的非易失性的存储器,或者可以存储到非易失性存储器的缓存器内。而后,通过步骤111判定这次循环是否完成,即n是否等于N?如果n≠N,则说明还没有达到指定的循环次数,则通过步骤112将n加上1,返回步骤108进行下一次循环;如果n=N,则说明已经达到了指定的循环次数,则执行下一步113,判定指令字符是否是按预定的顺序最后一个要采集的字符,即是否m=M?如果m≠M,则说明还没有全部完成使用者对指令符号发音的采集,执行步骤114,令m=m+1,返回步骤105,输出下一个指令字符,采集使用者的发音;如果m=M,则说明已经完成了上述的采集,就最后执行步骤115,对采集到的使用者的全部指令字符的发音作最后整理,构建形成一个“用户指令词库”数据库,并相应地存储到非易失性存储器内,并结束本项构建过程。
当然,上述多次循环采集同一个指令字符的多次发音不是必须的,因为如果设定的指令字符集中每个字符的发音有比较明显的差异,或者使用者的发音比较准确,一般一次采集就基本上能够满足一般的要求,达到很高的解析准确率。另外,如果如图1所示那样多次采集,在循环中还可以插入用户干涉的步骤,以方便使用者自己取消有外界干扰的或者自认为发音不准确的某些次数据采集结果。
使用上述方法构建的语音虚拟键盘可以应用在很多领域,尤其适用于使用者不方便用手操作的领域,或者因空间有限不容易安装其他输入终端设备的场所,例如汽车导航系统;以及肢体残疾者的计算机控制。图2是上述语音虚拟键盘在人机交互控制系统中应用的一般方法。在使用该语音虚拟键盘的系统内,还需要安装有两个数据库第一个是控制目标数据库,这个数据库中包含有与系统的目标任务相关的所有中间和最终数据。例如在汽车导航系统中,这个数据库就要包含有能被该系统识别的全部地名、组织机构等的名称;而如果是协助肢体残疾的使用者操作计算机的系统,就要包含打开、关闭、磁盘、搜索、文件夹等等大量与计算机操作相关的命令词。这个数据库是根据系统的设计任务、要求实现的功能等目标来确定的,不需要使用者参与。
第二个数据库是用户语音数据库。这个数据库要求包含使用者对于上述第一个数据库中所有词语的发音的特征数据,通过计算机系统采集使用者朗读标准发音表的发音来构建,与上述语音虚拟键盘的“用户指令词库”的构建方法基本相同,但是对准确度的要求没有那样严格,一般能达到通常的“语音文字录入”所能达到的准确度就足够了,因此使用者朗读一至二遍标准发音表就能满足一般要求。当然,如果能多次采集更准确些,在人机交互控制时系统的反应时间会更短,也更精确一些。
从图2中可以看到,语音键盘的主要作用,就是为使用者提供一个选择或者确认输出结果的手段,而这里的输出结果,是根据使用者输入的关键词从数据库中检索得到的结果,下面按步骤来说明使用方法。当人机交互功能启动后,系统进入“监听”步骤201,等待使用者输入关键词。当系统接收到使用者的语音命令后,首先精确解析使用者的语音命令的步骤202,然后将解析的结果与“用户语音数据库”203内保存的用户语音相比较,得到与用户语音关键词中发音相对应的命令代码,最后再使用这个命令代码作为标的,搜索目标数据库204,检索到与用户的发音相对应的单词。然后,进入判断步骤205,判断是否得到检索结果如果得到了相应的目标数据,就跳转到步骤208,并通过步骤209添加上适当的辅助说明语音后输出,供使用者选择(多个结果输出)或者确认(单一结果输出)。如果输出的单个目标数据,就提示使用者使用“语音虚拟键盘”中的功能键来确认或者否认输出结果;如果是多个目标数据,则使用“语音虚拟键盘”中的数字键等能够体现一定顺序的键元素添加在每个输出结果前面,供使用者选择。这里的辅助说明词语的作用是让使用者更容易理解输出的内容。例如在汽车导航系统中,可以添加上“请您确认您想去的地方是不是”、“请您从下列目标中选择你想去的目的地”等词语。如果没有检索到目标结果,则进入步骤206,再次模糊解析使用者输入的关键词,然后采用与步骤202相同的方法,再次检索数据库203,得到相对应的命令代码后模糊检索目标数据库204,得到与使用者输入的关键词相对应的目标数据。但是这个步骤要求系统要具备一定的智能,不仅能够检索到与用户的发音相对应的单词,还应该在找不到完整的对应目标数据的时候,能够把与用户的发音相对应的一些零散的音节智能合成,构成有意义、与用户输入的关键词最接近的多个目标数据输出。随后,进入步骤207,判断经过上面的处理后,是否有相应的目标数据输出。如果有目标数据输出,则如前面一样,经输出步骤208添加上适当的辅助说明后,使用“虚拟语音键盘”中的键元素按照一定顺序标定各个目标数据,通过语音的方式输出各个目标数据供使用者选择。如果经过这样处理后依然没有得到可供选择的目标数据,则说明使用者输入的语音关键词有问题,则跳转执行步骤217,根据系统的设定,或者提示用户重新操作,或者重新设置操作入口,或者终止本次服务,或者执行其他操作。
经过步骤208输出目标数据之后,系统进入判断步骤210,判断是否检测得到用户的声音指令。如果在一定时间内没有检测到声音输入,既可以返回步骤208,继续提示用户选择或确认,也可以通过步骤217设置其他合适的操作;如果检测到了有声音输入,则经过声音解析步骤211精确解析输入的声音,然后将解析结果与构成语音虚拟键盘的“用户指令词库”数据库212相比较,通过判断步骤213判断输入的声音是否与该词库中的某个键元素相匹配如果不匹配,既可以在一定时间内不响应输入的信息,等待使用者重新输入输入声音指令,以防止其他外部干扰产生误操作(这部分图中未画出),也可以仿照上面的方式跳转到步骤208或者217,进行相应的操作。这两个判断步骤210和213的否定输出端口所指向的操作,图中给出或者未给出的操作都是各种可能的选择之一,其设定的操作应该以方便使用者使用本系统为原则来设定,不应局限于上述的各种可能。如果得到了匹配的数据,则执行步骤214,进一步判定使用者所选择或者确认的目标数据是否是最终可以被执行的最终目标数据。当然,这一步不是一个明显要设定的步骤,因为可以在目标数据库中的将目标数据分类纪录,就可以明确地被系统识别是否是最终可被执行的目标数据,在此以一个明确的步骤提出来,目的是希望能更清楚地说明系统的工作流程。例如在汽车导航系统中,用户说出了“三(四)环路”这个地名,由于“三”和“四”的发音有些相近,所以系统经过模糊检索后,提示用户选择“1.三环路”和“2.四环路”等待用户确定,用户通过虚拟键盘的指令词“2”选择了“四环路”,但四环路很难作为一个确定的地名,因为包含的地域太广了,所以应该在目标数据库中按照“中间数据”的分类来存储,这样系统事先就很容易判定所输出的数据都是“中间目标数据”而非可以使用电子地图、GPS定位系统等方式执行的“最终目标数据”。如果判定的结果是“最终目标数据”,系统则通过步骤216,向其他执行机构输出该数据,供系统完成预定的任务;如果判定不是“最终目标数据”,则通过步骤215,仿照前面的方法再次搜索目标数据库,然后将搜索得到的结果通过步骤210再次输出,供用户选择或者确认。如果第二次检索的结果还是中间目标数据,则再次通过步骤215重复上述过程,直到得到最终的目标数据。如上面的举例所示,第二次搜索的结果可能是“1.东北三;2.西三环……4.北三环”,当使用者确定是“4”后,可能还要再次输出“1.北三环东路;2.北三环中路;3.北三环西路”供用户选择。当然,这里的“中间目标数据”和“最终目标数据”的分类也不是绝对的,比如可以在系统及数据库中设定“北三环”路上的某个标志性建筑或者路口等标的物作为导航的目标,如果出发点距离北三环比较远,就可以提示使用者是否不再进行进一步的检索,或者随后在行进的路上再近距离地再次检索。如果这样,在图2所示的流程图中就可以插入一个使用者干涉的环节,中断检索而确认中间目标数据作为可执行的目标。
在本发明中,所述的“语音命令”和“语音指令”是不同的,他们的区别在于语音命令是使用者希望达到的目的,数据量相对较大,系统解析后通过与“用户语音数据库”中的预先记录的数据相比较来获得、确认信息,相对准确度的要求不很严格;而语音指令则是在人机交互过程中,使用者仅仅使用“语音虚拟键盘”中所包含的、数量有限的特定单词来选择或者确认计算机所输出的信息,数据量相对很小,系统解析后通过与“用户指令词库”中记录的数据来确认信息,而且相对要求准确度很高。
综合上述对语音虚拟键盘的构建和在人机交互控制系统中的使用方法的描述,可以看到构建语音虚拟键盘的过程,实质上就是计算机系统学习特定的使用者对“设定的指令字符”的发音的学习的过程;而“语音虚拟键盘”的使用方法,就是使用者利用所述的指令字符,对计算机输出的可选项进行选择、确认的过程。因此,图1、图2所给出的程序流程只是一个总体过程的概括,或者说是众多具体流程结构中的一种,其中还包含有一些非必须的细节,系统设计者完全可以根据系统的目标任务,参照上述原则来设计特定的系统。
另外,在一个特定的系统中,还可以构建多个“语音虚拟键盘”供多个使用者共用一套系统。如在私家汽车导航系统中,可以为家庭的每一个拥有驾驶执照的成员建立一套“语音虚拟键盘”,供其实施自动导航的操作;与此对应,系统中还要建立多个与之相对应的“用户语音数据库”,以便系统能够正确解析不同的成员语音命令。
权利要求
1.一种构建用于交互控制的语音虚拟键盘的方法,该方法包含有以下步骤A.设定该语音虚拟键盘的键元素内容和数量,并按照一定的方式编码排列;B.按照上述编码排列顺序选定每一个键元素,并使用某种能被使用者明确感知的方式,提示依次使用者朗读每个键元素;C.计算机系统对于所接收到的、使用者对应于每个键元素的发音进行解析,并将解析得到的结果,存储到计算机系统内非易失性存储器内的特定空间内,并将该解析结果与所对应的键元素相关联;D.当全部键元素全部被使用者朗读达到设定的次数之后,计算机系统对全部的发音解析结果进行整理,构成一个对应于该使用者的键元素数据库,即该虚拟语音键盘的用户指令词库。
2.权利要求1所述的构建语音虚拟键盘的方法,在步骤B、C中还包含以下步骤E.当计算机系统选定某个键元素要求使用者朗读时,多次提示用户重复朗读该键元素;与此相对应,计算机系统多次解析使用者的有效发音,并将每个解析结果都与该键元素相关联。
3.权利要求2所述的构建语音虚拟键盘的方法,在步骤D中还包含以下步骤F.计算机系统将上述与某个键元素相关联的解析结果再次进行解析,找到该使用者朗读某个键元素的发音的、具有普遍意义的特征值;并用这个普遍意义的特征值作为该键元素的相关数据来构建键元素数据库。
4.一种用于交互控制的语音虚拟键盘的使用方法,应用在以计算机为控制核心的系统上,该计算机系统上已经构建了与特定的使用者相对应的语音虚拟键盘,并且包含有与同一使用者相对应的语音数据库,以及与控制目的或对象相关的目标数据库;该使用方法包含有如下步骤A.启动语音交互控制功能;B.使用者朗读与被控制对象或者目的相关的关键词;C.计算机系统解析用户的发音,然后在与使用者对应的语音数据库中搜索、比较,得到与该使用者的关键词发音相对应的数据代码;D.用上述代码为标的搜索所述的目标数据库;E.判断是否得到相符合的结果如果搜索得到了相关的数据,继续执行步骤E,如果没有搜索得到相关数据,则跳转执行步骤H;F.通过某种容易别用户感知的方式,利用语音虚拟键盘内所包含的键元素数据库为标识,按照一定规则或顺序输出搜索结果,并用语音方式提示使用者利用语音虚拟键盘包含的键元素,使用语音指令来确认或者选择所述的输出结果;G.不断精确解析外部的各种声音输入,将解析结果与用户指令词库即键元素数据库中的使用者的发音指令数据相比较,判定使用者是否确认或者选择;如果判定使用者已经确认或者选择,则继续执行步骤H;如果使用者没有确认或者选择,则跳转执行步骤I;H.判定使用者确认或选择的结果是否是最终目标数据如果所述数据不是最终目标数据,则进一步搜索目标数据库,得到更接近最终目标数据的搜索结果,然后重复步骤E、F输出,供使用者再次确认或者选择;如果使用者确认或选择的一警示是最终的目标数据,就将目标数据输出到系统的其他部分进行下一步操作,并结束本次交互控制的操作;I.根据控制服务程序的设定,或者提示用户重新操作,或者重新设置操作入口进行其他操作,或者终止本次交互控制的操作。
5.权利要求4所述的用于交互控制的语音虚拟键盘的使用方法,在步骤C、D、E中还包含以下步骤J.计算机系统精确解析用户的发音,然后在与使用者对应的语音数据库中搜索、比较,得到与该使用者的关键词发音相对应的数据代码;K.利用步骤H的精确解析结果代码为标的,搜索所述的目标数据库,如果得到了相符合的结果,则执行步骤F,如果没有得到相符合的结果,继续执行步骤L;L.计算机系统模糊解析用户的发音,然后在与使用者对应的语音数据库中搜索、比较,得到与该使用者的关键词发音相对应的数据代码;M.利用步骤K的模糊解析结果代码为标的,搜索所述的目标数据库,如果得到了相符合的结果,继续执行步骤F,如果没有得到相符合的结果,则跳转执行步骤I。
6.权利要求4所述的用于交互控制的语音虚拟键盘的使用方法,在步骤F中所述的语音输出的步骤中,还包含有添加与所属目标数据相关的辅助说明的词语的步骤,并将辅助说明的词语与目标结果结合起来一同输出。
全文摘要
本发明公开了一种通过少量词汇的精确识别(语音虚拟键盘)和多次交互来实现语音输入和控制的方法。本发明使用由少量词语如数字0-9以及“是”、“否”词语构成的数量极少的指令词库数据库。当计算机模糊或精确检索到用户语音输入的目标命令后,利用指令词库内的键元素排序输出检索结果供用户选择或确认,然后高精度匹配用户的选择或确认的指令词,实现交互控制。本发明可应用于汽车导航、过程控制等领域,替代键盘等输入设备。
文档编号G10L15/22GK1629934SQ200410039109
公开日2005年6月22日 申请日期2004年2月6日 优先权日2004年2月6日
发明者刘新斌 申请人:刘新斌
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1