一种语音识别方法和系统技术方案

技术编号:18446914 阅读:30 留言:0更新日期:2018-07-14 11:11
本发明专利技术公开一种语音识别方法和系统。方法包括:获取各个操作对象的结构体;将人发出的语音录制成音频文件传输到服务器,识别成文字;将文字转变为字符串;获取所有符合字符串的操作对象,计算匹配值,获取匹配值最高的操作对象;获取所有符合字符串的操作指令,计算匹配值,获取匹配值最高的操作指令;操作指令为左向操作指令、右向操作指令两个操作指令中至少一者;将匹配值最高的操作对象和匹配值最高的操作指令进行组合;判断组合中的操作对象是否为N个,判断操作对象是否具有并列关系以及判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令。本发明专利技术的方法或系统能够实现多对象多操作的语音识别,大幅提高语音识别的精度。

【技术实现步骤摘要】
一种语音识别方法和系统
本专利技术涉及语音识别领域,特别是涉及一种语音识别方法和系统。
技术介绍
目前市面上,语音识别的产品非常多,例如科大讯飞、百度语音识别等,但是他们识别的内容需要描述地非常准确才能识别得到,举个例子:“打开空调”,这句话基本上所有的智能语音识别系统都能够轻松识别,因为结构简单,仅包含一个操作指令“打开”+操作对象“空调”,但是如果说“哎呀太热了,我想打开空调,把加湿器也打开”,基本上所有的识别软件都手足无措了,可能有些能识别出其中的某一个操作,不过基本上没有任何一个识别软件能识别出所有的内容。目前的语音识别技术无法做到多对象多操作的语音识别,这种传统识别方式的缺点显而易见,话术要求固定、无法在嘈杂的环境下识别语音。
技术实现思路
本专利技术的目的是提供一种语音识别方法和系统,能够实现多对象多操作的识别,允许用户说出操作指令与操作对象的同时,加入一些其他无关的内容,话术上更加自由,同时在嘈杂的环境下,大幅提高语音识别的精度。为实现上述目的,本专利技术提供了如下方案:一种语音识别方法,所述语音识别方法包括:获取各个操作对象的结构体,将所述结构体存储在数据库中;将人发出的语音指令录制成音频文件传输到服务器,识别成文字;将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并将所述第一字符串和所述第二字符串进行模糊处理;从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作对象;计算所述操作对象的匹配值,获取所述匹配值最高的操作对象;从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作指令;计算所述操作指令的匹配值,获取所述匹配值最高的操作指令;所述操作指令为左向操作指令、右向操作指令两个操作指令中至少一者;将所述匹配值最高的操作对象和所述匹配值最高的操作指令进行组合;判断所述组合中的操作对象是否为N个,N为大于1的正整数,若是,则判断所述操作对象间是否具有并列关系,若是,则所述匹配值最高的操作对象执行的操作指令为前一个识别出的操作对象的操作指令并判断所述操作指令是否同时具有左向操作指令和右向操作指令,若否,则判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令;若所述组合中的操作对象为1个,则直接判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令;若所述操作对象的操作指令同时具有左向操作指令和右向操作指令,则对所述操作对象执行右向操作指令;若所述操作对象的操作指令只具有一个操作指令,则对所述操作对象执行当前识别的操作指令。可选的,所述从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作对象;计算所述操作对象的匹配值,获取所述匹配值最高的操作对象,具体包括:使用所述第一字符串和所述第二字符串,从所述数据库中使用全词模糊索引方法和缺词模糊索引方法分别获取所有符合所述字符串的操作对象;根据所述字符串长度,拆分成n*(n+1)/2个匹配项,判断所述文字对应字符串中是否包含所述匹配项,若是,则所述匹配项的积分加一,若所述文字对应字符串中不包含所述匹配项,则所述匹配项的积分不变;累加每项积分除以匹配项总数,得到所述操作对象的匹配度,所述操作对象的匹配值由文字匹配度、全拼拼音匹配度和首字母拼音匹配度累加而成;将所述操作对象的所述文字匹配度、所述全拼拼音匹配度和所述首字母拼音匹配度相加,得到所述操作对象的匹配值;将所述使用所述全词模糊索引方法和所述缺词模糊索引方法获取的操作对象的匹配值进行混合,获取不同排序组合的索引结果,选取所述匹配值最高的组合,并去掉重复的所述匹配项得到匹配值最高的操作对象。可选的,所述从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作指令;计算所述操作指令的匹配值,获取所述匹配值最高的操作指令;所述操作指令为左向操作指令、右向操作指令两个操作指令中至少一者,具体包括:使用所述第一字符串和所述第二字符串,从所述数据库中使用全词模糊索引方法和缺词模糊索引方法分别获取所有符合所述字符串的操作指令;根据所述字符串长度,拆分成n*(n+1)/2个匹配项,判断所述文字对应字符串中是否包含所述匹配项,若是,则所述匹配项的积分加一,若所述文字对应字符串中不包含所述匹配项,则所述匹配项的积分不变;累加每项积分除以匹配项总数,得到所述操作指令的匹配度,所述操作指令的匹配值由文字匹配度、全拼拼音匹配度和首字母拼音匹配度累加而成;将所述操作指令的所述文字匹配度、所述全拼拼音匹配度和所述首字母拼音匹配度相加,得到所述操作指令的匹配值;将所述使用所述全词模糊索引方法和所述缺词模糊索引方法获取的操作指令的匹配值进行混合,获取不同排序组合的索引结果,选取所述匹配值最高的组合,并去掉重复的所述匹配项得到匹配值最高的操作指令。可选的,所述将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并将所述第一字符串和所述第二字符串进行模糊处理,具体包括:将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并对所述第一字符串和所述第二字符串进行前缀替换、后缀替换和相近读音替换的模糊处理。可选的,所述结构体的属性包括:名称、首字母拼音字符串、全拼拼音字符串、对象类型和操作指令,并将所述结构体属性存储在数据库中。为实现上述目的,本专利技术还提供了如下方案:一种语音识别系统,所述语音识别系统包括:结构体生成模块,用于获取各个操作对象的结构体,将所述结构体存储在数据库中;文字生成模块,用于将人发出的语音指令录制成音频文件传输到服务器,识别成文字;字符串获取模块,用于将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并将所述第一字符串和所述第二字符串进行模糊处理;操作对象获取模块,用于从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作对象;计算所述操作对象的匹配值,获取所述匹配值最高的操作对象;操作指令获取模块,用于从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作指令;计算所述操作指令的匹配值,获取所述匹配值最高的操作指令;所述操作指令为左向操作指令、右向操作指令两个操作指令中至少一者;组合模块,用于将所述匹配值最高的操作对象和所述匹配值最高的操作指令进行组合;第一判断模块:用于判断所述组合中的操作对象是否为N个,N为大于1的正整数;第二判断模块,用于判断所述操作对象间是否具有并列关系;第三判断模块,用于判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令。可选的,所述操作对象获取模块,具体包括:最初操作对象获取单元,用于使用所述第一字符串和所述第二字符串,从所述数据库中使用全词模糊索引方法和缺词模糊索引方法分别获取所有符合所述字符串的操作对象;第一匹配度获取单元,用于根据所述字符串长度,拆分成n*(n+1)/2个匹配项,判断所述文字对应字符串中是否包含所述匹配项,若是,则所述匹配项的积分加一,若所述文字对应字符串中不包含所述匹配项,则所述匹配项的积分不变;累加每项积分除以匹配项总数,得到所述操作对象的匹配度,所述操作指令的匹配值由文字匹配度、全拼拼音匹配度和首字母拼音匹配度累加而成;第一匹配值获取单元,将所述操作对象的所述文字匹配度、本文档来自技高网...

【技术保护点】
1.一种语音识别方法,其特征在于,所述语音识别方法包括:获取各个操作对象的结构体,将所述结构体存储在数据库中;将人发出的语音指令录制成音频文件传输到服务器,识别成文字;将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并将所述第一字符串和所述第二字符串进行模糊处理;从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作对象;计算所述操作对象的匹配值,获取所述匹配值最高的操作对象;从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作指令;计算所述操作指令的匹配值,获取所述匹配值最高的操作指令;所述操作指令为左向操作指令、右向操作指令两个操作指令中至少一者;将所述匹配值最高的操作对象和所述匹配值最高的操作指令进行组合;判断所述组合中的操作对象是否为N个,N为大于1的正整数,若是,则判断所述操作对象间是否具有并列关系,若是,则所述匹配值最高的操作对象执行的操作指令为前一个识别出的操作对象的操作指令并判断所述操作指令是否同时具有左向操作指令和右向操作指令,若否,则判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令;若所述组合中的操作对象为1个,则直接判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令;若所述操作对象的操作指令同时具有左向操作指令和右向操作指令,则对所述操作对象执行右向操作指令;若所述操作对象的操作指令只具有一个操作指令,则对所述操作对象执行当前识别的操作指令。...

【技术特征摘要】
1.一种语音识别方法,其特征在于,所述语音识别方法包括:获取各个操作对象的结构体,将所述结构体存储在数据库中;将人发出的语音指令录制成音频文件传输到服务器,识别成文字;将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并将所述第一字符串和所述第二字符串进行模糊处理;从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作对象;计算所述操作对象的匹配值,获取所述匹配值最高的操作对象;从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作指令;计算所述操作指令的匹配值,获取所述匹配值最高的操作指令;所述操作指令为左向操作指令、右向操作指令两个操作指令中至少一者;将所述匹配值最高的操作对象和所述匹配值最高的操作指令进行组合;判断所述组合中的操作对象是否为N个,N为大于1的正整数,若是,则判断所述操作对象间是否具有并列关系,若是,则所述匹配值最高的操作对象执行的操作指令为前一个识别出的操作对象的操作指令并判断所述操作指令是否同时具有左向操作指令和右向操作指令,若否,则判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令;若所述组合中的操作对象为1个,则直接判断所述操作对象的操作指令是否同时具有左向操作指令和右向操作指令;若所述操作对象的操作指令同时具有左向操作指令和右向操作指令,则对所述操作对象执行右向操作指令;若所述操作对象的操作指令只具有一个操作指令,则对所述操作对象执行当前识别的操作指令。2.根据权利要求1所述的语言识别方法,其特征在于,所述从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作对象;计算所述操作对象的匹配值,获取所述匹配值最高的操作对象,具体包括:使用所述第一字符串和所述第二字符串,从所述数据库中使用全词模糊索引方法和缺词模糊索引方法分别获取所有符合所述字符串的操作对象;根据所述字符串长度,拆分成n*(n+1)/2个匹配项,判断所述文字对应字符串中是否包含所述匹配项,若是,则所述匹配项的积分加一,若所述文字对应字符串中不包含所述匹配项,则所述匹配项的积分不变;累加每项积分除以匹配项总数,得到所述操作对象的匹配度,所述操作对象的匹配值由文字匹配度、全拼拼音匹配度和首字母拼音匹配度累加而成;将所述操作对象的所述文字匹配度、所述全拼拼音匹配度和所述首字母拼音匹配度相加,得到所述操作对象的匹配值;将所述使用所述全词模糊索引方法和所述缺词模糊索引方法获取的操作对象的匹配值进行混合,获取不同排序组合的索引结果,选取所述匹配值最高的组合,并去掉重复的所述匹配项得到匹配值最高的操作对象。3.根据权利要求2所述的语言识别方法,其特征在于,所述从数据库中使用索引方法获取所有符合所述第一字符串和所述第二字符串的操作指令;计算所述操作指令的匹配值,获取所述匹配值最高的操作指令;所述操作指令为左向操作指令、右向操作指令两个操作指令中至少一者,具体包括:使用所述第一字符串和所述第二字符串,从所述数据库中使用全词模糊索引方法和缺词模糊索引方法分别获取所有符合所述字符串的操作指令;根据所述字符串长度,拆分成n*(n+1)/2个匹配项,判断所述文字对应字符串中是否包含所述匹配项,若是,则所述匹配项的积分加一,若所述文字对应字符串中不包含所述匹配项,则所述匹配项的积分不变;累加每项积分除以匹配项总数,得到所述操作指令的匹配度,所述操作指令的匹配值由文字匹配度、全拼拼音匹配度和首字母拼音匹配度累加而成;将所述操作指令的所述文字匹配度、所述全拼拼音匹配度和所述首字母拼音匹配度相加,得到所述操作指令的匹配值;将所述使用所述全词模糊索引方法和所述缺词模糊索引方法获取的操作指令的匹配值进行混合,获取不同排序组合的索引结果,选取所述匹配值最高的组合,并去掉重复的所述匹配项得到匹配值最高的操作指令。4.根据权利要求1所述的语言识别方法,其特征在于,所述将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并将所述第一字符串和所述第二字符串进行模糊处理,具体包括:将所述文字转变为首字母拼接的第一字符串和全拼字母拼接的第二字符串,并对所述第一字符串和所述第二字符串进...

【专利技术属性】
技术研发人员:温正靠
申请(专利权)人:浙江国视科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1