语音识别与交互系统及方法

文档序号:2825100阅读:286来源:国知局
专利名称:语音识别与交互系统及方法
语音识别与交互 系统及方法
技术领域
本发明涉及一种语音识别技术,尤其涉及一种语音词库的保存和扩展的方法,以 及通过语音进行交互的系统。
背景技术
让机器听懂人的语言一直是人类的梦想,让机器听懂中国话更是中国人的梦 想。世界上众多的从事信息产业的公司都展示了各自的语音识别技术,尽管实现方式各 不相同,但有一点却是大家相同的,那就是全都是基于言语产生模型(Speech Generation Model)的。如各种模板匹配(LPC,复倒谱等),多模板聚类,隐含马尔可夫链,神经网络模 型等等。但恰恰正是基于言语产生模型的语音识别技术,囿于模型本身的缺陷,而没有可能 取得最终的成功。因为,既然是基于言语产生模型,那么每个人的语音就必然具有各自独特 的声学特征和参数,甚至在不同语境下同一人的话音,其声学特征也会产生明显的变化。因 此,基于言语产生模型的语音识别技术天生是“认人的”,使用前的训练必不可少,而且仍不 能保证有很高的正确识别率。这离语音识别技术“不认人”的要求相去甚远。不过,在目前 尚没有揭示言语模式感知模型(Speech PatterPerception Model)的机制之前,运用言语 产生模型亦实属权宜之计和无奈之举。国外虽然有许多语音识别技术,但经过研究实测,运 用到中文语音识别效果都不是很好。因此,有必要提供一种新的语音识别的方法,来更高效地进行语音识别,并可以进 一步发展基于语音识别的语音交互系统。

发明内容本发明的目的在于提供一种能够高效识别语音的语音识别方法。本发明的另一目的在于提供一种用于语音识别的语音词库记录方法,其占用的存 储空间小,可无限扩展。本发明的另一目的在于提供一种不需要预先录制语音命令的语音交互系统的设 计方法。本发明的另一目的在于提供一种能够应用于PC机、笔记本、手机、PDA、家用电器 等各种终端设备上的语音识别与交互系统。本发明的再一目的在于提供一种通过语音执行软件操作的方法。为达成前述目的,本发明一种语音识别方法,其包括如下步骤对语音波形特征进行分析,提取出所述语音对应的音素信息,将所述语音的音素信息转换为拼音或音标信息,通过匹配算法在语音词库中查找与所述拼音或音标信息匹配的文字,完成语音识 别的过程。进一步地,所述方法可应用于识别普通话、方言、英语以及其他语种。进一步地,所述语音词库储存的为汉字的拼音信息或英文的音标信息,所述拼音信息或音标信息可以是未编码的字符信息,也可以是编码处理过的二进制信息,所述编码 也可以包含压缩过程,其中所述语音词库可以无限扩展。为达成前述目的,本发明一种用于语音识别的语音词库记录方法,其特征在于所 述词库中记录的信息为汉字的拼音信息或英文的音标信息。进一步地,所述音标信息可以是未编码的字符信息,也可以是编码处理过的二进 制信息,所述编码也可以包含压缩过程。为达成前述目的,本发明一种语音交互系统的设计方法,其包括提供一个交互设计界面; 提供若干交互要素,其中每一所述交互要素对应一个语音交互单元,其中所述语 音交互单元是通过前述权利要求1所述的方法识别语音;在所述交互设计界面通过推拽所述交互要素形成语音交互启动器能够识别的交 互脚本。为达成前述目的,本发明一种语音交互系统,其包括交互设计器、交互执行器、平 台抽象库、交互插件以及平台应用程序编程接口(API)核心库;所述交互设计器用于设计 交互脚本,所述交互执行器用来解释执行前述交互脚本,完成语音交互的过程;交互插件用 来扩充和改进语音交互系统的功能,实现附加功能;平台抽象库用来实现对整个平台接口 和功能的封装,实现多平台的可移植性和与具体平台的独立性。在不同操作系统下,具体的 实现将调用平台API核心库;平台API核心库用来实现对于特定操作系统的移植和封装。进一步地,所述平台API核心库是用于封装具体平台操作系统的应用程序编程接 口(API)。为达成前述目的,本发明一种语音操作软件的方法,其包括通过操作系统提供的应用程序编程接口(API)遍历系统中软件的窗口、菜单或按 钮,获得所有可操作的命令;通过前述语音交互系统设计方法建立与所述命令对应的语音识别命令;通过前述语音识别方法进行语音识别,并判断所识别的语音是否是与所述命令对 应的语音识别命令相同,若是,则系统调用操作系统提供的对应应用程序编程接口(API) 来模拟一般操作方式的方法来执行这些命令。进一步地,所述一般操作方式包括左键单击、左键双击,右键单击,右键双击、键 盘快捷键以及触摸屏点击。本发明的中文语音交互系统,不需要用高档的录音设备,也不需要安静的场合,大 部分人都能直接使用、词汇量超大,而且非特定人都可以连续进行中文语音交互,本发明的 语音词库大小远远小于直接记录语音波形采样数据的方式,而且本发明的语音交互设计过 程不同于传统的需要通过录制用户发音的方式来建立命令,整个过程可以完全不需要用户 说话,直接用文字就能与命令对应起来。

下面将结合附图对本发明进一步描述图1是本发明中语音识别系统的结构框图;图2是本发明中语音识别系统的方法流程图3是本发明语音交互系统的结构框图;图4是本发明语音交互系统的交互脚本设计方法流程图;图5是本发明 语音交互设计器的设计界面的示意图;图6是本发明语音交互设计器中用到的的语音交互单元的示意图;图7是本发明语音交互系统的识别交互过程流程图。
具体实施方式
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中 的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一 个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多 个实施例的方法、流程图或功能框图中的单元顺序并非固定的指代任何特定顺序,也不构 成对本发明的限制。现有的国外的语音识别技术例如IBM的ViaVoice,经过研究实测,运用到中文语 音识别效果都不是很好。本发明人认为“应该按照中国人听中国话的方式”来进行识别! 我们在听别人说话时,并不需要完全听清,但大部分情况本我们还是能明白是什么意思。所 以本发明人放弃了去建立中文语音模型的,将重心转向模糊神经网络模型来进行中文语音 识别。通过不断探索研究,本发明人找到了一套切实可行的识别方法,非常适合中文语音的 特点,甚至很容易扩展来听懂方言。本发明人不需要用户跟着训练的范本录制很多声音文 件(占用很大空间,动辄上G),也不需要用户将每一个词语都讲得非常清晰,本发明涉及的 语音识别模块都能识别出来。上面是本发明人2005年的一个突破,后来通过不断改进,在研究中发现中文的句 式几乎都能套用一种模式,那就是“定语+主语+状语+谓语+定语+宾语+状语+补语”, 而且在中文中往往是某个词只能做某一类句子成分,这样通过整理一些句式,并借用统计 学的方式有效归纳组织词汇,加上进一步优化改进后的语音识别模块就形成了本发明涉及 的连续中文语音识别的原型。再后来本发明人实现了不需要用高档的录音设备,也不需要 安静的场合,大部分人都能直接使用的超大词汇量非特定人连续中文语音交互系统,真正 实现“动口不动手”。请参阅图1所示,其显示本发明的语音识别系统的结构框图。如图1所示,本发明 的本发明的语音识别系统100包括语音信号接收单元11、语音波形分析单元12、语音音素 信息提取单元13、语音音素信息转换单元14、语音词库存储单元15、语音文字匹配单元16。语音信号接收单元11用于接收语音信号。语音波形分析单元12用于分析需要识别的语音的波形特征,关于波形特征分析 的具体方法和细节可以采用现有的各种分析方法,本发明不再详细说明。语音音素信息提取单元13用于根据语音波形分析单元分析的结果,在内部经过 例如模糊神经网络等技术处理提取需要识别的语音的各种音素信息。语音音素信息转换单元14是将识别的语音的音素信息转换成文字信息,如果是 中文就转换成汉语拼音,如果是英文则转换成音标信息。语音词库存储单元15,其用于存储用于语音识别的记录信息。考虑到一些终端设 备的存储量和运算速度有限,同时为了更高效地进行匹配识别,我们的语音词库和语音匹配库保存的不是语音的波形,而是经过编码或者没有编码的的音素和字符形式。语音波形 的方式和语音音素字符形式的数据量大小是截然不同的,如果不经压缩,后者差不多是前 者的千分之一不到,由于目前算法对于字符形式数据的压缩率更高,所以在实际应用的时 候能够在不到5M的存储空间里,保存超过1百万的词。语音文字匹配 单元16,通过匹配算法在前述语音词库存储单元中找出所述语音对 应的文字、词组或句子信息。请参阅图2所示,其显示本发明的语音识别系统的方法的流程图。如图2所示,本 发明的语音识别系统包括如下步骤步骤S21 对语音波形特征进行分析,提取出所述语音对应的音素信息。具体的波 形特征分析的方法不再详细说明。其中提取音素信息的方法例如是根据语音波形分析单元 分析的结果,在内部经过例如模糊神经网络等技术处理提取需要识别的语音的各种音素信 肩、ο步骤S22 将所述语音的音素信息转换为拼音或音标信息。步骤S23 通过匹配算法在语音词库中查找与所述拼音或音标信息匹配的文字, 完成文字识别的过程。请参阅图3所示,其显示根据本发明的语音识别方法所设计的语音交互系统300 的结构框图。如图3所示,所述语音交互系统300,其包括交互设计器31、交互执行器32、平 台抽象库33、交互插件34以及平台应用程序编程接口(API)核心库35。交互设计器31用于设计交互脚本,其具体的脚本设计的方法将在后面详细讲述。所述交互执行器32用来解释执行前述交互脚本,完成语音交互的过程。交互插件33用来扩充和改进语音交互系统的功能,实现在某些特定应用程序中 更加方便的操作等功能。平台抽象库34用来实现对整个平台接口和功能的封装,实现多平台的可移植性 和与具体平台的独立性。在不同操作系统下,具体的实现将调用平台API核心库。平台API核心库35用来实现对于特定操作系统的移植和封装,具体为封装具体平 台操作系统的应用程序编程接口(API),其可被平台抽象库调用。如图4所示,前述交互设计器具体的交互脚本的设计方法包括如下步骤步骤S41 提供一个交互设计界面。步骤S42 提供若干交互要素,其中每一所述交互要素对应一个语音交互单元,其 中所述语音交互单元是通过前述语音识别的方法识别语音。步骤S43 在所述交互设计界面通过推拽所述交互要素形成语音交互启动器能够 识别的交互脚本。 对于前述步骤S41,如图5所示,其显示一个基于Windows平台的PC机上的语音交 互设计器的界面示意图。如图5所示,整个界面划分为工具栏区域,交互单元列表区域,交 互流程图预览区域(主视图),交互流程脚本预览区域和状态栏区域。在工具栏区域上包含的功能按钮有新建,保存,插入,修改,删除,查看,测试,帮 助,关于,退出。分别完成下面命令新建新建一个交互流程。保存保存当前交互设计。
插入插入当前所选交互单元到交互流程图当前位置。修改修改交互流程图上当前所选交互单元。删除删除交互流程图上当前所选交互单元。查看查看当前交互设计的语言描述。测试测试当前交互设计。帮助打开设计器用户手册。 关于显示交互设计器名称、版本等信息。退出退出交互设计器。在状态栏区域上显示界面提示信息和程序运行状态等。对于前述步骤S42,在交互单元列表中,我们将语音交互的过程抽象成图6中的14 种语音交互单元,各语音交互单元描述如下开始表示一个交互过程的开始。设计时需要用户输入一个命令,比如“打开计算 器”等。执行时只需要读出这个命令就会开始这个交互场景。结束表示一个交互过程的结束。指定对象设计时拖入这个到主视图,程序会给出一个向导界面指定一个被操作 对象,比如某个程序,某个窗口上的一个按钮,一个菜单项等等,操作对象也可以是一个系 统设备。操作设计时拖入这个到主视图,程序会提示指定一个操作,比如启动设备、关闭 设备、打开、左键单击、左键双击、右键单击,右键双击,按下某键等等。在执行时会自动按照 该设置对指定对象进行指定的操作。手动操作表示一个用户手工参与的动作,这个动作有的对应一个通过语音来完 成的操作。一般对应一些实时性比较强的操作,比如鼠标移动,多点触摸等等。预定义操作表示执行一个系统预定义的操作,比如停止语音交互,开启语音交 互,重新启动计算机等等。Y/N:表示一个确认操作。设计时会选择是否有数据输入,提示内容是什么等。执 行时将会显示提示内容,如果有需要输入的数据,那么也会显示出一个输入交互界面,并要 求用户确认或者取消。判断表示一个判断操作。设计时会让用户选择一个判断条件,并设置条件成立时 执行什么,不成立时执行什么。执行时会自动按照流程图朝相应的分支进行执行。带界限循环表示一个带有边界条件的循环执行的操作,当边界条件未满足时一 直循环执行,满足时停止。无限循环操作表示一个一直循环执行的操作,除非流程从里面结束,那么该操作 将一直循环执行。文档表示一些与文件或目录相关的操作。并行模式表示同步执行一些指定的操作,默认都是按照流程图顺序执行。推迟表示延迟某段时间再继续执行。执行时会显示一个倒计时界面,或者直接等
IvTo显示表示给用户显示某一段信息,信息内容在设计时可以设定。对于步骤S43,实际执行时,用户通过拖拽上述这些交互单元,并按照一定顺序用带方向箭头的线连接它们,形成本发明提到的语音交互脚本。这些脚本可以通过本发明的 语音交互系统提供的系统工具作为默认自动加载,也可以通过交互执行器手工运行。为了 提高性能,对于默认加载的语音交互脚本,系统会默认一开机就自动解释生成交互场景预 装缓存到内存中,这样这些自动加载的交互场景对应的命令就可以直接通过语音来激活运 行了。本发明中的语音交互系统在应用到某一终端上时,首先需要对应的终端有语音采 集相关的硬件和软件支持,同时将本发明中的平台API核心库相关接口补充完整,在对应 的平台成功编译后,就可以启动本发明的语音交互系统,并使用本发明的语音交互设计器 来进行系统交互设计。

如图7所示,其显示本发明的语音识别及交互系统的整个流程图。为了避免一些 误操作,本发明的交互系统在开始交互前,都需要说出一个开始关注的命令,就如同喊一个 人名字让其注意一样,本发明在具体实施时默认以“大核”开始。同时如果不是特殊情况, 都要求受话设备都只能采集近距离,对于远距离的语音信号不能感知且直接过滤。如图7 所示,本发明的语音识别及交互系统的整个流程包括步骤S71 首先音频信号输入触发,然后由用户说出一个语音命令。步骤S72 语音识别系统对声音预处理。步骤S73 进行音素匹配查询,其中一个是查询匹配语音词库,另外一个是查询匹 配语音规则库。步骤S74 进行匹配判断,如果有匹配,则进行下一步步骤S75获取最匹配文字。如 果无匹配,则交互结束。步骤S76 获取最匹配文字之后,判断是否属于交互命令,在系统固有交互命令和 自动加载的交互命令词语中识别该语音命令;步骤S77 如果所述语音对应的文字不是交互命令,则不做任何操作,交互结束; 如果有对应的,那么就进入步骤S78,执行交互脚本,进入相应的交互场景流程,按顺序执行 交互场景流程。此间可以进行文字或数据输入,也可以按照界面上的提示进行语音交互操作。步骤S78 语音交互场景结束。下面以一个查找最近的一家成都小吃的实际交互场景为例,对整个语音交互过程 进行说明,整个流程如下1、用户叫一声“大核”,系统内部自动恢复到语音交互预备状态;2、用户说一声查询地图的命令“开始导航”,系统会自动启动GPS导航软件,并定 位到当前位置,然后使用TTS(Text To Speech)技术播放语音来询问用户,“您想到什么地 方?”3、用户回答“查找附近最近的成都小吃”,系统自动断句,提取出关键词“附近最近
成都小吃”,然后开始执行查找,查找完成后再次语音提示用户“您好,已经找到......个
结果,最近的一个是......,您是否需要到这个地方?,,4、用户回答“是”,系统自动开始规划最短路线,开始导航,中间也会通过语音来指 引用户如何开车。5、如果用户在第3步时回答“不需要,另选一个”,那么系统会自动循环读出所有的结果信息,大体 格式为“......路附近......米处有一家”,然后再次问用户“您是否需
要到这个地方? ”,直到结果全部结束,或者用户回答“是”进入第4步。6、对于这个交互场景,按照现有市面上的软件可能需要单独做出这个功能,而本 发明可以方便实现此交互场景,所有操作再本发明的语音交互设计器中,进行下面几步就 可以了 1、拖拽一个“开始”单元,键盘或者语音输入“开始导航”;2、拖拽一个“确认”单元,提示信息设置为“您想到什么地方? ”,并指定需要一个 输入框;3、拖拽一个“判断”单元,判断用户是否回答“关闭”、“取消”、“退出”等取消命令。 并将“是”直接连接到一个“结束”单元;将“否”连接到一个新的“预定义操作”,里面依次 选择“启动导航软件”,“进行导航交互”。4、操作完成后就可以点击保存,并选择导出脚本,设置一个脚本名称,这个脚本主 要的内容将会如下形式1开始("开始导航")2确认(“您想到什么地方? “,TEXT,“查询内容")3判断([“关闭〃,“取消〃,“退出〃,“返回〃 ],END,4)4预定义操作(2,“启动导航软件",“进行导航交互")5 结束本发明的语音交互脚本类似于LISP语句语法,但更加简单直观。语音交互脚本每 一行对应一个单元编号,每个脚本只允许有一个“开始”和一个“结束”单元,并分别位于第 一行和最后一行,每一个单元后面参数后面通过英文的小括号来包含需要的参数信息。语 音交互脚本中交互单元名称可以为中文,也可以为英文。一个交互脚本还可以启动另外一 个交互脚本中的交互场景,实现更为复杂的操作,比如上面通过调用的预定义操作也是这 个原理实现的。本发明的语音交互脚本的语法形式不局限于上面范例的形式,可以为其他各种形 式。本发明具体实施时,也可以自带一些辅助工具,比如简繁体转换,汉字转拼音,拼 音转汉字,文章学习训练,词库管理等,藉此来更加方便用户。本发明具体实施时,除基于Windows、LinuX或Mac平台的台式机和笔记本以外,还 可以应用在各种不同的嵌入式平台的终端设备上,比如手机、家用电器、平板电脑、上网本 等等,实现对其的语音交互。基于本发明的语音识别技术,本发明的语音交互系统对于存储空间和运行速度的 要求都不高。根据本发明的语音识别及交互方法,本发明也可以应用于通过语音操作Windows、 Android、LinuX、Mac菠廏呌书妃奶旌迂怏,其具体方法为通过操作系统提供的应用程序编程接口(API)遍历系统中软件的窗口、菜单或按 钮,获得所有可操作的命令;通过前述交互脚本设计中的方法建立与所述命令对应的语音交互单元;通过前述的语音识别方法进行语音识别,并判断所识别的语音是否是与所述命令对应的语音交互单元相同,若是,则系统调用操作系统提供的对应应用程序编程接口(API) 来模拟一般操作方式的方法来执行这些命令。所述一般操作方式包括左键单击、左键双 击,右键单击,右键双击、键盘快捷键以及触摸屏点击等。综上所述,本发明的中文语音交互系统,不需要用高档的录音设备,也不需要安静 的场合,大部分人都能直接使用、词汇量超大,而且非特定人都可以连续进行中文语音交 互,本发明的语音词库大小远远小于直接记录语音波形采样数据的方式,而且本发明的语 音交互设计过程不同于传统的需要通过录制用户发音的方式来建立命令,整个过程可以完 全不需要用户说话,直接用文字就能与命令对应起来 上述说明已经充分揭露了本发明的具体实施方式
。需要指出的是,熟悉该领域的 技术人员对本发明的具体实施方式
所做的任何改动均不脱离本发明的权利要求书的范围。 相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式

权利要求
1.一种语音识别方法,其特征在于,其包括如下步骤对语音波形特征进行分析,提取出所述语音对应的音素信息,将所述语音的音素信息转换为拼音或音标信息,通过匹配算法在语音词库中查找与所述拼音或音标信息匹配的文字,完成语音识别的 过程。
2.如权利要求1所述的方法,其特征在于所述方法可应用于识别普通话、方言、英语 以及其他语种。
3.如权利要求1所述的方法,其特征在于所述语音词库储存的为汉字的拼音信息或 英文的音标信息,所述拼音信息或音标信息可以是未编码的字符信息,也可以是编码处理 过的二进制信息,所述编码也可以包含压缩过程,其中所述语音词库可以无限扩展。
4.一种用于语音识别的语音词库记录方法,其特征在于所述词库中记录的信息为汉 字的拼音信息或英文的音标信息。
5.如权利要求4所述的方法,其特征在于所述音标信息可以是未编码的字符信息,也 可以是编码处理过的二进制信息,所述编码也可以包含压缩过程。
6.一种语音交互系统的设计方法,其包括提供一个交互设计界面;提供若干交互要素,其中每一所述交互要素对应一个语音交互单元,其中所述语音交 互单元是通过前述权利要求1所述的方法识别语音;在所述交互设计界面通过推拽所述交互要素形成语音交互启动器能够识别的交互脚本。
7.一种语音交互系统,其包括交互设计器、交互执行器、平台抽象库、交互插件以及 平台应用程序编程接口(API)核心库;所述交互设计器用于设计交互脚本,所述交互执行 器用来解释执行前述交互脚本,完成语音交互的过程;交互插件用来扩充和改进语音交互 系统的功能,实现附加功能;平台抽象库用来实现对整个平台接口和功能的封装,实现多平 台的可移植性和与具体平台的独立性。在不同操作系统下,具体的实现将调用平台API核 心库;平台API核心库用来实现对于特定操作系统的移植和封装。
8.如权利要求7所述的语音交互系统,其特征在于所述平台API核心库是用于封装 具体平台操作系统的应用程序编程接口(API)。
9.一种语音操作软件的方法,其包括通过操作系统提供的应用程序编程接口(API)遍历系统中软件的窗口、菜单或按钮, 获得所有可操作的命令;通过权利要求6所述的方法建立与所述命令对应的语音识别命令;通过权利要求1所述的语音识别方法进行语音识别,并判断所识别的语音是否是与所 述命令对应的语音识别命令相同,若是,则系统调用操作系统提供的对应应用程序编程接 口(API)来模拟一般操作方式的方法来执行这些命令。
10.如权利要求9所述的方法,其特征在于所述一般操作方式包括左键单击、左键双 击,右键单击,右键双击、键盘快捷键以及触摸屏点击。
全文摘要
本发明设计一种新的能广泛应用在PC、手机、家用电器等各种终端设备上的语音识别与交互系统。其目的在于在现有的用户交互系统上,添加更加人性化的中文语音交互方式。本发明在自己超大词汇量非特定人连续中文语音基础上。整个系统包括交互设计器、交互执行器、平台抽象库、交互插件、平台API核心库五个部分交互设计器中提出了一种全新的交互设计方法,通过直观的操作就可以完成整个交互的设计;交互执行器用来解释执行交互脚本;交互插件用于扩展已有交互平台抽象库的功能和增加一些特殊应用;平台抽象库用于实现多平台的可移植性和与具体平台的独立性;平台API核心库通过封装具体平台操作系统的API,方便可被平台抽象库调用。
文档编号G10L15/18GK102148031SQ20111008114
公开日2011年8月10日 申请日期2011年4月1日 优先权日2011年4月1日
发明者刘兆鹏 申请人:刘兆鹏, 无锡大核科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1