CN110111779A - 语法模型生成方法及装置、语音识别方法及装置 - Google Patents
语法模型生成方法及装置、语音识别方法及装置 Download PDFInfo
- Publication number
- CN110111779A CN110111779A CN201810085603.4A CN201810085603A CN110111779A CN 110111779 A CN110111779 A CN 110111779A CN 201810085603 A CN201810085603 A CN 201810085603A CN 110111779 A CN110111779 A CN 110111779A
- Authority
- CN
- China
- Prior art keywords
- syntactic
- changeable
- model
- file
- changeable syntactic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 144
- 230000003068 static effect Effects 0.000 claims abstract description 71
- 230000004913 activation Effects 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 31
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 abstract description 52
- 230000008569 process Effects 0.000 abstract description 43
- 230000009467 reduction Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000004378 air conditioning Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 241000283070 Equus zebra Species 0.000 description 3
- 238000010009 beating Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 2
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供一种语音识别方法和装置,涉及语音识别技术领域。所述方法包括:接收语音命令;利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;根据所述主命令部分,确定语音控制操作的类型;根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。本申请实施例由于将可变语法部分由于其与静态语法部分分离,当可变语法部分出现变化,则只用编译可变语法部分即可,不用对整个语法进行重编译,提高了重编译效率,降低重编译时间;且由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响。
Description
技术领域
本申请涉及语音识别技术领域,特别是涉及一种语法模型生成方法及装置、一种语音识别方法及装置、一种设备及机器可读介质。
背景技术
随着计算机技术的不断发展,语音识别技术也随之在发展。语音识别技术中,预先要构建声学模型、解码网络、语法模型,解码器在获取到用户说话产生的语音数据后,调用上述几种模型进行解码,得到具体的语句。语音识别技术运用在很多场景下,比如车载设备端的语音识别系统。
在先的语音识别技术中,对于语法模型而言,其是将整个语法一起编译,生成一个完整的语法模型,然后解码器结合声学模型、解码网络、语法模型进行解码。在语法的某些部分进行更新时,重新对整个语法进行编译,然后再进行识别过程。
发明人在应用上述技术方案的过程中发现,如果每次语法的某个部分都发生变化时,都需要重新对整个语法进行编译,更新之前完整的语法模型。该种全部重新编译的方式,效率低,耗时长;并且,在某些特殊的场景下,比如车载设备端的语音识别系统,由CPU(Central Processing Unit,中央处理器)和内存的限制,对整个语法的重编译很影响整个系统的性能。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题的一种语法模型生成方法和相应的一种语法模型生成装置,以及一种语音识别方法及装置。
本申请公开了一种语音命令识别方法,包括:
接收语音命令;
利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;
根据所述主命令部分,确定语音控制操作的类型;
根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
本申请还公开了一种语法模型生成方法,还包括:
提供静态语法文件和至少一个可变语法文件;
编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
本申请还公开了一种语音命令识别装置,包括:
语音接收模块,用于接收语音命令;
命令确定模块,用于利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;
操作类型确定模块,用于根据所述主命令部分,确定语音控制操作的类型;
操作对象确定模块,用于根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
本申请还公开了一种语法模型生成装置,包括:
语法文件提供模块,用于提供静态语法文件和至少一个可变语法文件;
模型编译模块,用于编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。可变语法可变语法
本申请还公开了一种设备,包括:
一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述装置执行如前述语音识别方法。
相应的,本申请还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,使得装置执行如前述语音识别方法。
本申请还公开了一种设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述装置执行如前述的语法模型生成方法。
相应的,本申请还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,使得所述装置执行如前述的语法模型生成方法。
本申请实施例包括以下优点:
本申请实施例将整个语法划分为了静态语法部分和可变语法部分,相应设置了主语法模型和可变语法标识可变语法,主语法模型包括可变语法标识,可变语法模型与所述可变语法标识对应那么在语音识别过程中可以利用括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分,然后根据该主命令部分和可变命令部分去确定最终的语音控制操作。那么由于将可变语法部分由于其与静态语法部分分离,当可变语法部分出现变化,则只用编译可变语法部分即可,不用对整个语法进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响。
附图说明
图1A是本申请实施例的一种语法模型初次编译过程示意图;
图1B是本申请实施例的一种语音识别整体过程示意图;
图1C是本申请实施例的一种主语法模型示例;
图1D是本申请实施例的一种可变语法模型示例;
图1E是本申请一实施例的一种车载系统系列;
图2是本申请一实施例的一种语法模型生成方法的步骤流程图;
图3是本申请另一实施例的一种语法模型生成方法的步骤流程图;
图4是本申请另一实施例的一种语法模型生成方法的逻辑示意图;
图5是本申请一实施例的一种激活词生成方法的逻辑示意图;
图6是本申请一实施例的一种语音识别方法的步骤流程图;
图7是本申请另一实施例的一种语音识别方法的步骤流程图;
图8是本申请一实施例的一种语法模型生成装置的结构框图;
图9是本申请一实施例的一种语音识别装置的结构框图;
图10是本申请一实施例提供的设备的硬件结构示意图;
图11是本申请另一实施例提供的设备的硬件结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在本申请实施例中,首先介绍静态语法文件和可变语法文件:
本申请实施例中,预先将语法分为静态部分和可变部分,其中静态部分是语法的主干,可变部分为将一些个性化或者随着时间变化较大的部分归纳总结出来部分,比如歌手名、歌曲名、联系人列表、音频频道,并且分别为静态部分和可变部分生成相应的静态语法文件和可变语法文件。对于可变语法文件,为其设置可变语法标识,然后在静态语法文件中各主命令部分中需要相应可变内容的部分替换为该可变语法标识。需要说明的是该主命令部分可以理解为命令词。
在上述语法文件中,本申请实施例会把命令词用于语法规则的形式写到语法文件中。
比如车载系统中,静态部分的命令词如“打开车窗”、“关闭音乐”、“我想打***的电话”。其中“***”是可变部分表示任意一个具体的联系人,联系人比如“中国移动”、“斑马客服”。当然上述命令词仅是示例,本申请实施例不对其加以限制。其中“中国移动”、“斑马客服”也可以理解为可变命令部分。
那么,对于上述静态部分,用于语法规则的形式写到比如静态语法文件示例比如表一:
表一
其中包括了三条命令词,即“我想打<USER.Contact>的电话”、“打开音乐”、“关闭音乐”。其中<USER.Contact>为可变语法标识,对应相应的可变语法文件。
对应<USER.Contact>的可变语法文件比如表二:
表二
需要说明的是,对于可变语法文件可以有一个或多个。每个可变语法文件对应一种可变需求,比如还有命令词“我想听XXX的歌”,其中“XXX”表示任一具体的歌手,那么静态语法文件中还可以写入语法规则“播放<USER.Singer>的歌;”
那么<USER.Singer>对应的可变语法文件比如表三:
表三
需要说明的是,本申请的上述静态语法文件、可变语法文件可以采用jsgf(有限状态语法)格式的文件,当然本申请实施例对其不加以限制。
其次,参照图1A和图1B,整体上介绍一下本申请实施例的语法模型生成过程和语音识别过程。图1A其示出了本申请实施例语法模型初次生成过程的示意图,图1B其示出了本申请实施例的语音识别整体过程图,其中包括可变语法模型的更新过程示例。
如图1A,本申请实施例构建了一个静态语法文件m,多个可变语法文件,如可变语法文件1、可变语法文件n。
然后,本申请实施例在解码服务启动时,先获取上述语法文件,然后分别对每个语法文件进行编译,获得相应的语法模型。比如对静态语法文件m进行编译,获得主语法模型m;对可变语法文件1进行编译,获得可变语法模型1;对可变语法文件n进行编译,获得可变语法模型n;其他可变语法模型类似。需要说明的是,对语法文件进行编译的过程中,利用了全发音词典,保证解码的准确性。
需要说明的是,本申请实施例中,语法模型可以采用FSG(fintie state graph,有限状态图)网络。
如图1C,其为对前述主语法文件生成的Fsg网络形式的主语法模型。其中每个弧上可以有设置信息,比如词信息和权重信息。为了方便描述,图1C中的弧上只显示了词信息。其中USER.contact为可变语法标识,在主语法模型中查找时,如果碰到USER.contact,则跳转到相应可变语法模型中查找。
如图1D,其为对前述USER.contact的可变语法文件所生成的Fsg网络形式的可变语法模型。为了方便描述,图1C中的弧上只显示了词信息。
在一优选的方式中,为了提高解码效率,还从每个语法模型中提取词,获得相应的词集合。比如从主语法模型m中提取词,获得主语法词集合m;从可变语法模型1中提取词,获得可变语法词集合1;从可变语法模型n中提取词,获得可变语法词集合n。
然后对各个词集合进行归并,最终得到激活词集合。
如图1B,在本申请实施例中,当进行语音识别时,还需要构建声学模型S111,解码网络S112。内存中。其中解码网络也依据全发音词典构建,当然对于声学模型S111、解码网络S112的构建方式本发明实施例不对其加以限制。
在解码服务启动时,声学模型S111、解码网络S112、主语法模型S113、可变语法模型S114、激活词集合S115都加载到系统中。
首先,基于图1B介绍一下更新过程:
该更新过程包括两方面,其一:对可变语法模型的更新;其二对激活词集合的更新。
如图1B,在解码服务运行过程中,用户S100可以更新可变对象,那么如果可变对象更新后,则需要进入S116更新该可变对象对应的可变语法文件,然后根据该可变语法文件进入S117的可变语法模型重编译过程,实现对系统的内存中原有的该可变对象的可变语法模型S114进行更新。需要说明的是,对于原有的可变语法模型的更新,可以将重编译得到的可变语法模型替换掉内存中原有的可变语法模型S114。
比如以车载终端为例,车载终端的车载系统可以提供导入接口,用户可以通过该导入将其移动终端的可变内容导入车载系统,车载系统自动根据该导入的可变内容更新相应的可变语法文件中的内容,比如用户通过导入结果导入其移动终端的通讯录,那么车载系统可以自动将通讯录更新到如前述的<USER.Contact>的可变语法文件中。
当然,实际应用中可变对象变更,除了更新相应的可变语法模型外,对于其需求的资源文件,本申请实施例也进行更新。比如通讯录的联系人和电话号码的对应关系,也会更新到系统中;比如音乐库变更了,其歌手与音频文件的对应关系、歌名与音频文件的对应关系,以及该音频文件也会更新到系统中。
另外,由于可变对象变更了,其可变语法文件也变更了,那么在解码过程中与模型相关的词可能也变更了,那么为了保证解码效率,还需进入S118对激活词集合进行更新。其将重编译过程得到的可变语法模型中的词,更新到激活词集合S115中。需要说明的是,对于激活词集合的更新,将新的可变语法模型中新出现的词更新到激活词集合中,而对原有的可变语法模型有而新的可变语法模型没有的词,可以从激活词集合中删除。
在实际应用中,是将语法模型中各个语法路径中的词加入激活词集合中,比如图1C和图1D中语法路径中的弧上的词加入激活词集合中。
其次,基于图1B介绍一下解码过程:
用户S100说话后,解码器S102得到该用户的语音数据A,然后调用声学模型S111、解码网络S112、主语法模型S113、可变语法模型S114、激活词集合S115进行解码,最终获得识别结果S119。
具体解码过程大致如下:
A1、解码器将语音数据A输入声学模型S111,声学模型S111对语音数据的音节不断进行分析,获得具有前后逻辑关系的状态参数state;
A2、然后解码器将该状态参数state输入解码网络S112,解码网络则基于该状态参数查找目标词;该目标词属于某个解码路径。
A3、在查找到目标词之后,解码器首先在激活词结合中查找是否有该目标词;如果激活词集合没有该目标词,则说明该解码路径无效,可以删除找到的该解码路径;如果激活词集合中有该目标词,则可以进入语法模型的查找过程。
通过激活词集合的筛选,避免了对解码网络进行全路径搜索,提高了解码效率。
A4、根据针对所述解码路径所记录的查找位置,确定在哪个语法模型中查找所述目标词。
在实际应用中,在初始状态下,将对应所述解码路径的查找位置记录为主语法模型;
比如对于解码网络中查找到“我”这个词,对于“我”这个词的解码路径,由于没在主语法模型中查找过,那么该解码路径处于初始状态,其查找位置设置为主语法模型。
A5、当所述查找位置为主语法模型时,在主语语法模型中查找所述目标词;
比如目标词为“我”那么,在主语法模型中查找到我这个弧,此时查找位置还是主语法模型。然后目标词为“想”,那么在主语法模型中查找到“想”这个弧,此时查找位置还是主语法模型。然后目标词为“打”,那么在主语法模型中查找到“打”这个弧,此时查找位置还是主语法模型。
A6、当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则在所述可变语法标识对应的可变语法模型中查找所述目标词;
然后如果目标词为“中”,那么此时解码路径的查找位置还是主语法模型,此时在主语法模型中查找,则碰到了可变语法标识USER.contact,则进入图1D的可变语法模型中查找,此时解码路径的查找位置变更为可变语法模型。
A7、当所述查找位置为可变语法模型时,在从语语法模型中查找所述目标词。
当目标词按序为“国”、“移”、“动”时,由于查找位置为可变语法模型,此时继续在可变语法模型中查找。其中,当目标词为“动”时,可变语法模型查找到了结尾,此时更新查找位置为主语法模型。
然后对于后续的目标词“的”、“电”、“话”,则继续在主语法模型中查找。
A8、根据主语法模型的匹配结果确定主命令部分,根据可变语法模型的匹配结果确定可变命令部分。
根据所述主语法模型、或者所述主语法模型和所述可变语法模型中的查找结果,确定识别结果。
比如前述例子,在主语法模型和可变语法模型中查找到主命令部分“我想打***的电话”,可变命令部分为“中国移动”。
又比如图1C中,如在主语法模型中查找到“打开音乐”,则打开音乐为主命令部分。由于其没有可变部分,则可变命令部分则为空。
A9、根据所述主命令部分,确定语音控制操作的类型;根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
其中,语音控制操作的参数比如具体的某个值,比如电话号码;语音控制操作的参数比如某个具体的对象,如歌曲。
那么根据主命令部分“我想打***的电话”去确定语音控制操作的类型为打电话。根据可变命令部分为“中国移动”从通讯录中查找“中国移动”的电话号码10086。然后执行该语音控制操作,即可调用拨打电话接口对该电话号码打电话。
又比如主命令部分“打开音乐”,根据其确定语音控制操作为打开音乐应用,则其执行该语音控制操作时,则会启动音乐应用以播放音乐。
需要说明的是在本申请实施例中,主命令部分可以预先与语音控制操作的类型对应,可变命令部分可以预先与相应语音控制操作的参数和/或对象对应。
在本申请实施例中,上述方案可以应用于车辆的车载系统中,如图1E,其示出了本申请一种车载系统示意图。其车辆包括喇叭401、402、403、404、405、406;还包括前置麦克风100,如101和102,以及左右两侧设置的麦克风200,如左侧的201、203,右侧的202、204;车辆中乘坐了用户601、602、603、604、605、606;该车辆的车载系统可以通过网络500与服务器300进行交互。当用户说话时,麦克风可以采集到前述语音数据A,然后通过上述步骤进行语音识别,然后车载系统根据识别的语音控制操作,对车载系统执行相应的控制操作。比如确定的主命令部分“我想打***的电话”,可变命令部分为“中国移动”,那么则如前述描述,其获取中国移动的电话号码,然后调用拨打电话接口对该电话号码打电话。
需要说明的是本申请实施例的主命令部分还可以为针对其他场景的命令。比如对家庭中设置其各种家用电器为可变部分,那么主命令部分比如“打开****”,可变命令部分比如“空调”、“电视”;主命令部分还比如“将空调调整到****度”,可变命令比如“10~32”,表示10度到32度。本申请实施例不对其加以限制。
本申请实施例的上述将整个语法的静态部分独立设置静态语法文件,对整个语法的可变部分设置可变语法文件,然后在静态语法文件中设置用于跳转到相应可变语法文件的可变语法标识,那么编译后,如果有可变部分有修改,只需重编译相应可变语法文件即可,不用对静态语法文件重编译,提高编译效率,降低对系统的影响。并且提供用于记录静态语法文件激活词集合,其中记主语法模型中的词,以及最新的可变语法模型中的词,然后在解码时,对解码网络得到的目标词进行筛选,避免不在激活词集合中的目标词及其解码路径继续参与解码,提高解码效率。特别是对于车载系统而言,由于不用对整个语法进行重编译,其需求的CPU和内存资源少,更能明显降低对系统的影响。
参照图2,其示出了本申请实施例的一种语法模型生成方法,具体可以包括:
步骤210,提供静态语法文件和至少一个可变语法文件;
在本申请实施例中,如描述,可以预先根据语法的规律,将语法划分为静态部分和可变部分,比如车载系统中,其命令词就包括静态部分和可变部分,比如命令词“打开音乐”、“关闭音乐”是全静态的主命令部分,主命令部分“我想听***的歌”、“我想打***的电话”中,“***”表示可变部分,其与的词为静态部分;而对于可变部分而言,比如对应“我想听***的歌”的歌手名称“周杰伦”、“王菲”则是可变命令部分。那么可以根据jsgf文件格式的要求,针对命令词定义静态部分的语法规则和可变部分的语法规则,然后将命令词以语法规则的形式写到jsfg格式文件中,得到如前述的静态语法文件和一个或多个可变语法文件。
同时,在静态语法文件中,在需要调用可变语法文件的位置以对应所述可变语法文件的可变语法标识替代。如前述的USER.Contact为可变语法标识,其根据语法规则用“<>”指示可变语法标识的位置。
那么可在解码服务启动时,获取上述静态语法文件和各个可变语法文件。在本申请实施例中,从哪个位置获取上述语法文件,本申请实施例不对其加以限制。
步骤212,编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识;
然后本申请实施例可以分别对静态语法文件进行编译得到主语法模型,分别对每个可变语法文件进行编译,获得各自对应的可变语法模型。在主语法模型中,需要调用可变语法模型的位置采用该可变语法模型对应的可变语法标识。如前述图1C为主语法模型,图1D为可变语法模型,图1C中主语法模型的USER.Contact可以被用于跳转到图1D的可变语法模型。
需要说明的是,在实际应用中,解码服务启动时,编译得到的各个语法模型,会被加载至系统的内存中等待解码服务的调用。
另外,可以理解的是,在一项具体解码过程中,比如语音识别过程,除了上述语法模型,还需要其他相关的语音数据处理模型,比如声学模型和解码网络,该声学模型和解码网络也预先构建完毕,在解码服务启动时,也将该声学模型和解码网络加载至系统的内存中。
另外,还需要说明的是,在一个系统中,比如车载系统,其一般是为了执行用户的指令,比如用户跟车载系统说“我想打中国移动的电话”,那么系统中还需要存储通讯录相关的资源,比如联系人及电话号码,那么车载系统在识别到用户说的“我想打中国移动的电话”这句话后,会从通讯录资源中获取“中国移动”的电话号码,然后执行相应操作指令时才能拨打该电话号码。
步骤214,监控所述可变语法文件是否有更新;
在本申请实施例中,在解码服务运行过程中,可以监控可变语法文件是否有更新,比如前述<USER.Contact>的可变语法文件中增加了一个公司主机,那么该可变语法文件则更新如下:
“#JSGF V1.0;
grammar singer.demo;
public<main>=中国移动
|斑马客服
|公司主机;”
本申请实施例可以定期监控可变语法文件是否被修改,如果修改了,则说明该可变语法文件的内容变更,其原有的从语法文件则不能匹配需求了,需要进行重编译。
步骤216,对更新后的可变语法文件进行重编译,以更新相应的可变语法模型。
在实际应用中,由于可变语法文件可能有一个或者多个。当有多个可变语法文件时,其中的一个或者多个都可能被更新。比如用户更改了通讯录、音乐库中的音乐等,那么通讯录对应的可变语法文件和音乐库对应的可变语法文件都可以被更新,此时需要对该更新后的每个可变语法文件进行重编译,重编译得到一个新的可变语法模型。然后可以将该新的可变语法模型替换掉系统内存中原有的可变语法模型。
比如针对通讯录的可变语法文件更新了,重编译得到针对通讯录的新的可变语法模型,那么可以替换内存中原有的针对通讯录的可变语法模型。
需要说明的是对更新后的可变语法文件的重编译过程跟之前的编译过程相同,在此不再详述。
本申请实施例将整个语法划分为了静态语法部分和可变语法部分,相应设置了静态语法文件和至少一个可变语法文件,静态语法文件中对应各可变语法文件设置了可变语法标识,然后在初次编译时,可以编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型,然后在某个可变语法文件更新后,可以只对该可变语法文件进行重编译,对静态语法文件不用进行重编译,因此:本申请实施例在语法的可变部分更新后,不用对整个语法进行重编译,而只对变更的可变部分进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响。
参照图3,其示出了本申请实施例的一种语法模型生成方法,具体可以包括:
步骤310,提供静态语法文件和至少一个可变语法文件;
本步骤参照前述步骤210的描述,在此不再详述。
步骤312,编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识;
本步骤参照前述步骤212的描述,在此不再详述。
在本申请另一实施例中,步骤312包括:
子步骤3121,对于所述静态语法文件和所述可变语法文件的任一个语法文件,利用全发音词典生成各自的语法模型。
在本申请实施例中,前述解码网络在构建是采用了全发音词典。可以理解全发音词典:与集内发音词典相对而言,基本涵盖了所有词及其发音。而集内发音词典:只包含语法模型中出现的词及其发音。发音词典是预先构建的。
而本申请中实施例中,使用全量发音词典有两层考虑:
其一,由于有可变语法文件,不同的用户可能使用不同的可变信息,不同的可变语法文件可能有不同的词,导致发音词典的不确定性,并且由于发音词典一般是预设的,那么上述集内发音词典无法满足动态发音词典的需求,可能更新后的可变语法模型无法被准确识别,因此,基于该考虑本申请利用全发音词典针对各语法文件生成各自的语法模型。
其二,使用全量发音词典还有另一层考虑:
解码网络也是使用全发音词典构建的,那么如果单纯使用全发音词典,会导致很多冗余信息的引入,解码时必然引入很多非法路径,减慢解码速度。那么本申请实施例为了减少非法路径、提高解码效率,引入了后续步骤314的激活词集合的概念。那么为了使激活词集合中的词可以正常行使过滤职能,其需要与解码网络得到的词一致,因此,本申请实施例对于各语法模型的构建,也采用全发音词典,那么再从各语法模型中提取的词所构建的激活词集合后,则可以正常行使过滤功能。
本申请实施例可以对于前述所有可变语法文件都采用上述全发音词典构建各自对应的语法模型。
在本申请另一实施例中,子步骤3121包括:子步骤A1-A4;
子步骤A1,对于所述主语法文件和所述可变语法文件中的任一个语法文件,对所述语法文件中的语法规则生成各自的第一有限状态网络;
结合图4,对于静态语法文件和可变语法文件,首先如M11,其调用Fsg语法生成接口,对语法文件中的语法规则生成一个初始的第一Fsg网络。
在实际应用中如前述主语法文件:
“#JSGF V1.0;
grammar jsgf.demo;
public<main>=我想打<USER.Contact>的电话
|(打开|关闭)音乐;”
其中实际上包括了3条命令词,那么首先要生成包括3条路径的初始Fsg的语法规则。此时各个命令词可在Fsg网络的一个弧上。当然,也可以采用自然语言规则对命令词进行分词,然后对自然语言分词结果分别放到Fsg弧上,本申请实施例不对其加以限制。
子步骤A2,利用全发音词典中的词,对所述第一有限状态网络中的各个词进行分词;
由于全发音词典是包括的是最细粒度的词的发音,其包括词和发音的对应关系。比如“打开音乐”,全发音词典中包括的就是“打”、“开”、“音”、“乐”的发音。由于解码网络也是根据该权发音词典构建,为了使后续的激活词集合能够正确行使筛选功能,对于第一Fsg网络中各个弧上的词利用全发音词典进行分词,如图4的M12。
子步骤A3,在所述第一有限状态网络的基础上,根据分词的结果生成第二有限状态网络;
在对第一Fsg网络的弧上的词进行分词后,进行归并,最终得到第二Fsg网络,如图1C和图1D。
子步骤A4,将所述第二有限状态网络作为相应语法文件的语法模型。
在本申请实施例中,对于Fsg网络,还可以对其进行封装,得到封装后的语法模型,然后对外提供一个调用接口,使外界不知道该语法模型内部具体怎么运行,只需要调用该语法模型的接口即可运行。
步骤314,将所述主语法模型和最新的可变语法模型中的词记录到激活词集合中。
在本申请实施例中,在解码服务启动时,激活词集合中的词是启动时编译的主语法模型和可变语法模型中的词构建的。
当可变语法模型被更新后,更新后的可变语法模型中的词也更新到该激活词集合中。
优选的,在本申请另一实施例中,步骤314包括:子步骤3141-3142
子步骤3141,分别获取所述主语法模型的语法路径中的词和最新的可变语法模型的语法路径中的词;
结合图5,其示出了激活词集合构建过程的逻辑示例。在解码服务启动时,由于构建了主语法fsg和从语法fsg,该从语法fsg以通讯录fsg为例。那么可以从主语法fsg的语法路径中提取词得到主语法词集合,比如从图1C中的弧中提取词,得到主语法词集合。还可以从通讯录fsg的语法路径中提取词得到通讯录词集合,比如从图1D中的弧中提取词,得到可变语法词集合。
子步骤3142,对获取到的词进行归并处理并记录到所述激活词集合中。
由于得到了多个词集合,其中可能存在重复的词,为例降低激活词集合的大小,则对多个词集合进行归并操作,得到最终的激活词集合。如图5,对主语法词集合和通讯录词集合进行Union(归并)操作,得到最终的激活词集合。
那么在主语法模型、可变语法模型、激活词集合构建完毕之后,即可进行后续的解码过程。解码过程具体参照图6和图7实施例的描述。
步骤316,判断所述可变语法文件对应的可变对象是否更新;
步骤318,如果所述可变对象更新,则根据更新后的可变对象更新所述可变语法文件。
在本申请实施例中,每个可变语法文件对应一个可变对象构建,比如通讯录有对应的通讯录可变语法文件,音乐库有对应的通讯录可变语法文件,视频库有对应的视频库可变语法文件。
而语法文件是一系列的语法规则的描述,对于用户而言,其可能并不懂怎么修改语法规则。可能会直接修改可变对象,比如修改通讯录,增、删音乐库中的音乐,增、删视频库中的视频等。那么本申请实施例可以监控可变语法文件对应的可变对象是否更新,从而确定是否要更新相应可变语法文件。
以车载系统为例,车载系统可以为用户提供通讯录导入功能,那么用户将其移动终端的通讯录导入车载系统,那么车载系统则判断导入的通讯录是否更新,如果通讯录更新过,则根据更新后的通讯录更新相应的通讯录可变语法文件。
如果可变对象没更新,则不对相应可变语法文件进行处理。
需要说明的是,所述可变对象包括通讯录、音乐库、影视库其中一种或多种。当然,本申请的可变对象还可以根据实际需求设置,本申请实施例不对其加以限制。
步骤320,判断所述可变语法文件的MD5值是否变化;如果所述MD5值变化,则进入步骤322。
在实际应用中,可以定期监控可变语法文件是否更新。当可变语法文件的内容变化,该文件的MD5(Message Digest Algorithm MD5,为消息摘要算法第五版))值也会发生变化。因此本申请可以记录可变语法文件的MD5值,然后定期计算可变语法文件的MD5值,如果MD5值与之前记录的不一致,则确认该可变语法文件被更新了,同时还可将新的MD5值替换之前记录的MD5值。
如果MD5值没变化,则保留原有的可变语法模型。
步骤322,对更新后的可变语法文件进行重编译,以更新相应的可变语法模型。
在可变语法文件更新后,则可以针对更新后的每个可变语法文件进行重编译,获得新的可变语法模型,然后以该新的可变语法模型替换系统内存中原有的语法模型。
需要说明的是,更新后的可变语法文件对应的资源,也替换之前的可变语法文件对应的资源。比如通讯录更新了,那么系统中原来存储的通讯录则替换为更新后的通讯录。
另外,主语法模型更新的过程中,还可以根据主语法模型的更新去更新激活词集合。
本申请实施例将整个语法划分为了静态语法部分和可变语法部分,相应设置了静态语法文件和至少一个可变语法文件,静态语法文件中对应各可变语法文件设置了可变语法标识,然后在初次编译时,可以编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型,然后在某个可变语法文件更新后,可以只对该可变语法文件进行重编译,对静态语法文件不用进行重编译,因此:本申请实施例在语法的可变部分更新后,不用对整个语法进行重编译,而只对变更的可变部分进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响;并且由于采用了激活词集合,在后续解码过程中,可以利用激活词集合对解码网络搜索到的词进行筛选,可以大大减少非法路径、提高解码效率。
参照图6、其示出本申请实施例的一种语音识别方法。
本申请实施例对语法模型的构建过程可以参照前述图1A-图5的描述,在此不再详述。
该语音识别方法具体可以包括:
步骤610,接收语音命令;
在本申请实施例中,对于用户说的话,可以通过麦克风采集得到语音命令。
步骤612,利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;
对于前述语音命令,可以对其进行解析。在解析语音命令时,利用主语法模型确定其中的主命令部分,然后利用主语法模型中的可变语法标识去调用可变语法模型确定其中的从命令部分。
在本申请另一实施例中,步骤612包括:
子步骤6121,利用所述主语法模型,确定所述语音命令对应的主命令部分和可变语法标识;
在实际应用中,先利用主语法模型进行解析,那么可以先利用主语法模型确定其中的主命令部分和可变语法标识。
当然,如果对该语音命令利用主语法模型进行解析时,只解析出主命令部分,则不需要进入子步骤6122。
子步骤6122,调用对应所述可变语法标识对应的可变语法模型,确定所述语音命令对应的可变命令部分。
在利用主语法模型确定可变语法标识后,说明还有可变部分的语法没识别到,则可以利用可变语法标识,去调用与该可变语法标识对应的可变语法模型,识别语音命令中的可变命令部分。
当然实际应用中,对于不同的语音命令,可能识别出不同的可变语法标识,那么其也调用不同的可变语法模型识别可变命令部分。
步骤614,根据所述主命令部分,确定语音控制操作的类型;
如前述,本申请实施例中,预先将主命令部分预先与语音控制操作的类型对应,然后对可变命令部可以预先与相应语音控制操作的具体的参数和/或对象对应。比如通讯录里面的联系人作为可变命令部分时,其联系人的电话号码则可以作为打电话这一语音控制操作的具体的参数。
如前述例子中主命令部分“我想打***的电话”,则根据该主命令部分确定语音控制操作的类型是打电话,其对应打电话的指令。
步骤616,根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
如前述例子中可变命令部分为“中国移动”,则根据该“中国移动”确定语音控制操作的参数时10086。那么在语音控制操作的类型及其参数确定后,执行该语音控制操作即可,比如调用拨打电话接口拨打10086。
另外,语音控制操作的对象可以为歌曲、影视、某个设备等,本申请实施例不对其加以限制。
本申请实施例将整个语法划分为了静态语法部分和可变语法部分,相应设置了主语法模型和可变语法标识可变语法,主语法模型包括可变语法标识,可变语法模型与所述可变语法标识对应那么在语音识别过程中可以利用括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分,然后根据该主命令部分和可变命令部分去确定最终的语音控制操作。那么由于将可变语法部分由于其与静态语法部分分离,当可变语法部分出现变化,则只用编译可变语法部分即可,不用对整个语法进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响。
参照图7、其示出本申请实施例的一种语音识别方法。
本申请实施例对语法模型的构建过程可以参照前述图1A-图5的描述,在此不再详述。
该语音识别方法具体可以包括:
步骤710,接收语音命令;
如图1B,用户S100说话,则该用户的声音通过麦克风采集得到语音命令A,该语音命令输入给解码器,解码器则获得该语音命令。
步骤712,根据所述语音命令,在解码网络中搜索目标词;
具体的,本步骤中解码器将语音数据A输入声学模型S111,声学模型S111对语音数据的音节不断进行分析,获得具有前后逻辑关系的状态参数state;
解码器将该状态参数state输入解码网络S112,解码网络则基于该状态参数查找目标词;该目标词属于某个解码路径。
步骤714,当搜索到一个解码路径上的目标词,则判断所述目标词是否在激活词集合中;
激活词集合的构建过程如前述图3-图5对应的描述,在此不再详述。
那么对于解码网络中搜索到的目标词,首先在激活词集合中查找有不有该目标词。
步骤716,如果所述目标词不在所述激活词集合中,则不再继续搜索所述解码路径;
如果所述目标词不在激活词集合中,说明系统没有相应的命令词,无法执行相应的操作,则本申请实施例不再搜索该解码路径的后续词,将该解码路径剪裁掉,避免时间的浪费,提高解码效率。
步骤718,如果所述目标词在所述激活词集合中,则根据对应所述解码路径所记录的查找位置,确定在主语法模型中查找所述目标词还是在可变语法模型中查找所述目标词;
在实际应用中对于搜索到的解码网络中的每个解码路径,本申请实施例可以设置一个定位变量,该定位变量用于记录该解码路径的查找位置,即该解码路径当前应该是查找主语法模型还是查找可变语法模型。
那么,本申请实施例中,在搜索到一个解码路径上的目标词后,根据对应所述解码路径所记录的查找位置,确定在主语法模型中查找所述目标词还是在可变语法模型中查找所述目标词。
优选的,在本申请另一优选的实施例中,还包括:
步骤C11,在初始状态下,将对应所述解码路径的查找位置记录为主语法模型;
比如图1C,对于解码网络中查找到“我”这个词,对于“我”这个词的解码路径,由于没在主语法模型中查找过,那么该解码路径处于初始状态,其查找位置设置为主语法模型。
那么对于“我”这个词,就确定在主语法模型中查找。
步骤C12,当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则将对应所述解码路径的查找位置更改为与所述可变语法标识对应的可变语法模型;
如果目标词为“中”,那么此时解码路径的查找位置还是主语法模型,此时在主语法模型中查找,则碰到了可变语法标识USER.contact,则进入图1D的可变语法模型中查找,此时解码路径的查找位置变更为可变语法模型。
比如图1D,那么后续的词“国”、“移”、“动”,当目标词按序为“国”、“移”、“动”时,由于查找位置为可变语法模型,此时继续在可变语法模型中查找。
步骤C13,当在所述可变语法模型中查找所述目标词时,到达所述可变语法模型的结尾节,则将对应所述解码路径的查找位置更改为主语法模型。
如图1D,当目标词为“动”时,可变语法模型查找到了结尾,此时更新查找位置为主语法模型。
需要说明的是,如图1A-图5的语法构建过程的描述,所述主语法模型根据静态语法文件编译获得,所述可变语法模型根据可变语法文件编译获得;所述主语法模型中包括对应所述可变语法模型的可变语法标识;所述可变语法模型在相应的可变语法文件更新后,根据对更新后的语法文件的重编译结果进行更新。
步骤720,当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则在所述可变语法标识对应的可变语法模型中查找所述目标词;
如图1C和图1D,如果目标词为“中”,那么此时解码路径的查找位置还是主语法模型,此时在主语法模型中查找,则碰到了可变语法标识USER.contact,则进入图1D的可变语法模型中查找。
步骤722,将所述主语法模型中的查找结果作为主命令部分,将在可变语法模型中的查找结果作为可变命令部分。
比如图1C和图1D,那么通过前述主语法模型和可变语法模型的查找过程,则可以在主语法模型中查找到主命令部分“我想打***的电话”,在可变语法模型中查找到可变命令部分“中国移动”。
又比如图1C中,如在主语法模型中查找到主命令部分“打开音乐”,由于该“打开音乐”没有可变部分,其可变命令为空。
步骤724,根据所述主命令部分,确定语音控制操作的类型。
步骤726,根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
比如对前述主命令部分“我想打***的电话”,确定语音控制操作的类型为打电话,相应的对可变命令部分“中国移动”确定其参数为10086。那么执行该语音控制操作则调用电话拨打接口拨打10086。
比如对前述主命令部分“打开音乐”,其语音控制操作就是对应打开音乐应用,则执行该语音控制操作就是打开预设的音乐应用播放音乐。
另外,假设主命令部分为“打开”,根据该主命令部分其语音控制操作为打开;相应的,可变命令部分为“空调”,则根据该可变命令部分确定语音控制操作的对象为具体的空调身份信息,从而执行语音控制操作的时可以根据该空调身份信息向空调设备发送打开指令。
本申请实施例将整个语法划分为了静态语法部分和可变语法部分,相应设置了主语法模型和可变语法标识可变语法,主语法模型包括可变语法标识,可变语法模型与所述可变语法标识对应那么在语音识别过程中可以利用括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分,然后根据该主命令部分和可变命令部分去确定最终的语音控制操作。那么由于将可变语法部分由于其与静态语法部分分离,当可变语法部分出现变化,则只用编译可变语法部分即可,不用对整个语法进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响;并且由于采用了激活词集合,在后续解码过程中,可以利用激活词集合对解码网络搜索到的词进行筛选,可以大大减少非法路径、提高解码效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图8、其示出本申请实施例的一种语法模型生成装置,具体可以包括:
语法文件提供模块810,用于提供静态语法文件和至少一个可变语法文件;
模型编译模块820,用于编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
优选的,还包括:
可变语法文件监控模块830,用于监控所述可变语法文件是否有更新;
可变语法模型更新模块840,用于对更新后的可变语法文件进行重编译,以更新相应的可变语法模型。
优选的,所述模型编译模块包括:
全发音编译子模块,用于对于所述静态语法文件和所述可变语法文件的任一个语法文件,利用全发音词典生成各自的语法模型。
优选的,所述全发音编译子模块包括:
第一网络生成单元,用于对于所述主语法文件和所述可变语法文件中的任一个语法文件,对所述语法文件中的语法规则生成各自的第一有限状态网络;
全发音词典再分单元,用于利用全发音词典中的词,对所述第一有限状态网络中的各个词进行分词;
第二网络生成单元,用于在所述第一有限状态网络的基础上,根据分词的结果生成第二有限状态网络;
语法模型构建单元,用于将所述第二有限状态网络作为相应语法文件的语法模型。
优选的,还包括:
激活词集合构建模块,用于将所述主语法模型和最新的可变语法模型中的词记录到激活词集合中。
优选的,所述激活词集合构建模块包括:
语法模型词获取子模块,用于分别获取所述主语法模型的语法路径中的词和最新的可变语法模型的语法路径中的词;
归并子模块,用于对获取到的词进行归并处理并记录到所述激活词集合中。
优选的,还包括:
可变对象监控模块,用于判断所述可变语法文件对应的可变对象是否更新;
可变语法文件更新模块,用于如果所述可变对象更新,则根据更新后的可变对象更新所述可变语法文件。
优选的,所述可变语法文件监控模块包括:
判断所述可变语法文件的MD5值是否变化;如果所述MD5值变化,则进入对更新后的可变语法文件进行重编译,以更新相应的可变语法模型的步骤。
其中,所述可变对象包括通讯录、音乐库、影视库其中一种或多种。
本申请实施例本申请实施例在语法的可变部分更新后,不用对整个语法进行重编译,而只对变更的可变部分进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响。
参照图9、其示出本申请实施例的一种语音识别装置,具体可以包括:
语音接收模块910,用于接收语音命令;
命令确定模块920,用于利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;
操作类型确定模块930,用于根据所述主命令部分,确定语音控制操作的类型;
操作对象确定模块940,用于根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
优选的,所述命令确定模块包括:
主语法模型分析模块,用于利用所述主语法模型,确定所述语音命令对应的主命令部分和可变语法标识;
可变语法模型分析模块,用于调用对应所述可变语法标识对应的可变语法模型,确定所述语音命令对应的可变命令部分。
优选的,还包括:
语法文件提供模块,用于提供静态语法文件和至少一个可变语法文件;
模型编译模块,用于编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
优选的,还包括:
可变语法文件监控模块,用于监控所述可变语法文件是否有更新;
可变语法模型更新模块,用于对更新后的可变语法文件进行重编译,以更新相应的可变语法模型。
优选的,所述模型编译模块包括:
全发音编译子模块,用于对于所述静态语法文件和所述可变语法文件的任一个语法文件,利用全发音词典生成各自的语法模型。
优选的,所述全发音编译子模块包括:
第一网络生成单元,用于对于所述主语法文件和所述可变语法文件中的任一个语法文件,对所述语法文件中的语法规则生成各自的第一有限状态网络;
全发音词典再分单元,用于利用全发音词典中的词,对所述第一有限状态网络中的各个词进行分词;
第二网络生成单元,用于在所述第一有限状态网络的基础上,根据分词的结果生成第二有限状态网络;
语法模型构建单元,用于将所述第二有限状态网络作为相应语法文件的语法模型。
优选的,还包括:
激活词集合构建模块,用于将所述主语法模型和最新的可变语法模型中的词记录到激活词集合中。
优选的,所述激活词集合构建模块包括:
语法模型词获取子模块,用于分别获取所述主语法模型的语法路径中的词和最新的可变语法模型的语法路径中的词;
归并子模块,用于对获取到的词进行归并处理并记录到所述激活词集合中。
优选的,所述命令确定模块包括:
解码网络搜索子模块,用于根据所述语音命令,在解码网络中搜索目标词;
第一模型搜索子模块,用于当搜索到一个解码路径上的目标词,则根据对应所述解码路径所记录的查找位置,确定在主语法模型中查找所述目标词还是在可变语法模型中查找所述目标词;
第二模型搜索子模块,用于当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则在所述可变语法标识对应的可变语法模型中查找所述目标词;
命令确定子模块,用于将所述主语法模型中的查找结果作为主命令部分,将在可变语法模型中的查找结果作为可变命令部分。
优选的,还包括:
激活词判断模块,用于判断所述目标词是否在激活词集合中;如果所述目标词不在所述激活词集合中,则进入停止搜索模块;如果所述目标词在所述激活词集合中,则进入第一模型搜索子模块;
停止搜索模块,用于不再继续搜索所述解码路径。
优选的,还包括:
第一查找位置记录模块,用于在初始状态下,将对应所述解码路径的查找位置记录为主语法模型;
第二查找位置记录模块,用于当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则将对应所述解码路径的查找位置更改为与所述可变语法标识对应的可变语法模型;
第三查找位置记录模块,用于当在所述可变语法模型中查找所述目标词时,到达所述可变语法模型的结尾,则将对应所述解码路径的查找位置更改为主语法模型。
优选的,还包括:
可变对象监控模块,用于判断所述可变语法文件对应的可变对象是否更新;
可变语法文件更新模块,用于如果所述可变对象更新,则根据更新后的可变对象更新所述可变语法文件。
优选的,所述可变语法文件监控模块包括:
判断所述可变语法文件的MD5值是否变化;如果所述MD5值变化,则进入对更新后的可变语法文件进行重编译,以更新相应的可变语法模型的步骤。
优选的,所述可变对象包括通讯录、音乐库、影视库其中一种或多种。
本申请实施例本申请实施例在语法的可变部分更新后,不用对整个语法进行重编译,而只对变更的可变部分进行重编译,提高了重编译效率,降低重编译时间;并且,由于本申请实施例不对整个语法进行重编译,降低了对于CPU和内存的需求,从而减少了重编译过程对整个系统性能的影响。并且由于采用了激活词集合,在后续解码过程中,可以利用激活词集合对解码网络搜索到的词进行筛选,可以大大减少非法路径、提高解码效率。并且由于采用了激活词集合,在后续解码过程中,可以利用激活词集合对解码网络搜索到的词进行筛选,可以大大减少非法路径、提高解码效率。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如本申请实施例中一个或多个所述的方法。
图12为本申请一实施例提供的设备的硬件结构示意图。如图12所示,该设备可以包括输入设备1210、处理器1211、输出设备1212、存储器1213和至少一个通信总线1214。通信总线1214用于实现元件之间的通信连接。存储器1213可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器1213中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器1211例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器1211通过有线或无线连接耦合到上述输入设备1210和输出设备1212。
可选的,上述输入设备1210可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备1212可以包括显示器、音响等输出设备。
在本实施例中,该设备的处理器包括用于执行各设备中数据处理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图10为本申请一实施例提供的设备的硬件结构示意图。如图10所示,该设备可以包括输入设备1010、处理器1011、输出设备1010、存储器1011和至少一个通信总线1014。通信总线1014用于实现元件之间的通信连接。存储器1011可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器1011中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器1011例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器1011通过有线或无线连接耦合到上述输入设备1010和输出设备1010。
可选的,上述输入设备1010可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备1010可以包括显示器、音响等输出设备。
在本实施例中,该设备的处理器包括用于执行各设备中数据处理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图11为本申请另一实施例提供的设备的硬件结构示意图。图11是对图10在实现过程中的一个具体的实施例。如图11所示,本实施例的设备包括处理器1111以及存储器1110。
处理器1111执行存储器1110所存放的计算机程序代码,实现上述实施例中图1至图6的语音识别和语法模型生成方法。
存储器1110被配置为存储各种类型的数据以支持在设备的操作。这些数据的示例包括用于在设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器1110可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,处理器1111设置在处理组件1110中。该设备还可以包括:通信组件1111,电源组件1114,多媒体组件1115,音频组件1116,输入/输出接口1117和/或传感器组件1118。设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件1110通常控制设备的整体操作。处理组件80可以包括一个或多个处理器1111来执行指令,以完成上述图1A至图7方法的全部或部分步骤。此外,处理组件1110可以包括一个或多个模块,便于处理组件1110和其他组件之间的交互。例如,处理组件1110可以包括多媒体模块,以方便多媒体组件1115和处理组件1110之间的交互。
电源组件1114为设备的各种组件提供电力。电源组件1114可以包括电源管理系统,一个或多个电源,及其他与为设备生成、管理和分配电力相关联的组件。
多媒体组件1115包括在设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件1116被配置为输出和/或输入音频信号。例如,音频组件1116包括一个麦克风(MIC),当设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1110或经由通信组件1111发送。在一些实施例中,音频组件1116还包括一个扬声器,用于输出音频信号。
输入/输出接口1117为处理组件1110和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件1118包括一个或多个传感器,用于为设备提供各个方面的状态评估。例如,传感器组件1118可以检测到设备的打开/关闭状态,组件的相对定位,用户与设备接触的存在或不存在。传感器组件1118可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与设备间的距离。在一些实施例中,该传感器组件1118还可以包括摄像头等。
通信组件1111被配置为便于设备和其他设备之间有线或无线方式的通信。设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图11实施例中所涉及的通信组件1111、音频组件1116以及输入/输出接口1117、传感器组件1118均可以作为图10实施例中的输入设备的实现方式。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种语音识别方法、一种语音识别装置、一种语法模型生成方法、一种语法模型生成装置、一种设备、以及一种计算机存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (34)
1.一种语音识别方法,其特征在于,包括:
接收语音命令;
利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;
根据所述主命令部分,确定语音控制操作的类型;
根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
2.根据权利要求1所述的方法,其特征在于,所述利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分的步骤,包括:
利用所述主语法模型,确定所述语音命令对应的主命令部分和可变语法标识;
调用对应所述可变语法标识对应的可变语法模型,确定所述语音命令对应的可变命令部分。
3.根据权利要求1所述的方法,其特征在于,还包括:
提供静态语法文件和至少一个可变语法文件;
编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
4.根据权利要求3所述的方法,其特征在于,还包括:
监控所述可变语法文件是否有更新;
对更新后的可变语法文件进行重编译,以更新相应的可变语法模型。
5.根据权利要求3所述的方法,其特征在于,所述编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型的步骤,包括:
对于所述静态语法文件和所述可变语法文件的任一个语法文件,利用全发音词典生成各自的语法模型。
6.根据权利要求5所述的方法,其特征在于,所述对于所述静态语法文件和所述可变语法文件的任一个语法文件,利用全发音词典生成各自的语法模型的步骤,包括:
对于所述主语法文件和所述可变语法文件中的任一个语法文件,对所述语法文件中的语法规则生成各自的第一有限状态网络;
利用全发音词典中的词,对所述第一有限状态网络中的各个词进行分词;
在所述第一有限状态网络的基础上,根据分词的结果生成第二有限状态网络;
将所述第二有限状态网络作为相应语法文件的语法模型。
7.根据权利要求3所述的方法,其特征在于,还包括:
将所述主语法模型和最新的可变语法模型中的词记录到激活词集合中。
8.根据权利要求7所述的方法,其特征在于,所述将所述主语法模型和最新的可变语法模型中的词记录到激活词集合中的步骤,包括:
分别获取所述主语法模型的语法路径中的词和最新的可变语法模型的语法路径中的词;
对获取到的词进行归并处理并记录到所述激活词集合中。
9.根据权利要求7或8所述的方法,其特征在于,所述利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分的步骤,包括:
根据所述语音命令,在解码网络中搜索目标词;
当搜索到一个解码路径上的目标词,则根据对应所述解码路径所记录的查找位置,确定在主语法模型中查找所述目标词还是在可变语法模型中查找所述目标词;
当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则在所述可变语法标识对应的可变语法模型中查找所述目标词;
将所述主语法模型中的查找结果作为主命令部分,将在可变语法模型中的查找结果作为可变命令部分。
10.根据权利要求9所述的方法,其特征在于,还包括:
判断所述目标词是否在激活词集合中;
如果所述目标词不在所述激活词集合中,则不再继续搜索所述解码路径;
如果所述目标词在所述激活词集合中,则进入根据对应所述解码路径所记录的查找位置,确定在主语法模型中查找所述目标词还是在可变语法模型中查找所述目标词的步骤。
11.根据权利要求9所述的方法,其特征在于,还包括:
在初始状态下,将对应所述解码路径的查找位置记录为主语法模型;
当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则将对应所述解码路径的查找位置更改为与所述可变语法标识对应的可变语法模型;
当在所述可变语法模型中查找所述目标词时,到达所述可变语法模型的结尾,则将对应所述解码路径的查找位置更改为主语法模型。
12.根据权利要求4所述的方法,其特征在于,还包括:
判断所述可变语法文件对应的可变对象是否更新;
如果所述可变对象更新,则根据更新后的可变对象更新所述可变语法文件。
13.根据权利要求4所述的方法,其特征在于,所述监控所述可变语法文件是否有更新的步骤,包括:
判断所述可变语法文件的MD5值是否变化;如果所述MD5值变化,则进入对更新后的可变语法文件进行重编译,以更新相应的可变语法模型的步骤。
14.根据权利要求10所述的方法,其特征在于,所述可变对象包括通讯录、音乐库、影视库其中一种或多种。
15.一种语法模型生成方法,其特征在于,还包括:
提供静态语法文件和至少一个可变语法文件;
编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
16.一种语音命令识别装置,其特征在于,包括:
语音接收模块,用于接收语音命令;
命令确定模块,用于利用包括可变语法标识的主语法模型和与所述可变语法标识对应的可变语法模型,确定所述语音命令对应的主命令部分和可变命令部分;
操作类型确定模块,用于根据所述主命令部分,确定语音控制操作的类型;
操作对象确定模块,用于根据所述可变命令部分,确定所述语音控制操作对应的参数和/或对象。
17.根据权利要求16所述的装置,其特征在于,所述命令确定模块包括:
主语法模型分析模块,用于利用所述主语法模型,确定所述语音命令对应的主命令部分和可变语法标识;
可变语法模型分析模块,用于调用对应所述可变语法标识对应的可变语法模型,确定所述语音命令对应的可变命令部分。
18.根据权利要求16所述的装置,其特征在于,还包括:
语法文件提供模块,用于提供静态语法文件和至少一个可变语法文件;
模型编译模块,用于编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
19.根据权利要求18所述的装置,其特征在于,还包括:
可变语法文件监控模块,用于监控所述可变语法文件是否有更新;
可变语法模型更新模块,用于对更新后的可变语法文件进行重编译,以更新相应的可变语法模型。
20.根据权利要求18所述的装置,其特征在于,所述模型编译模块包括:
全发音编译子模块,用于对于所述静态语法文件和所述可变语法文件的任一个语法文件,利用全发音词典生成各自的语法模型。
21.根据权利要求20所述的装置,其特征在于,所述全发音编译子模块包括:
第一网络生成单元,用于对于所述主语法文件和所述可变语法文件中的任一个语法文件,对所述语法文件中的语法规则生成各自的第一有限状态网络;
全发音词典再分单元,用于利用全发音词典中的词,对所述第一有限状态网络中的各个词进行分词;
第二网络生成单元,用于在所述第一有限状态网络的基础上,根据分词的结果生成第二有限状态网络;
语法模型构建单元,用于将所述第二有限状态网络作为相应语法文件的语法模型。
22.根据权利要求18所述的装置,其特征在于,还包括:
激活词集合构建模块,用于将所述主语法模型和最新的可变语法模型中的词记录到激活词集合中。
23.根据权利要求22所述的装置,其特征在于,所述激活词集合构建模块包括:
语法模型词获取子模块,用于分别获取所述主语法模型的语法路径中的词和最新的可变语法模型的语法路径中的词;
归并子模块,用于对获取到的词进行归并处理并记录到所述激活词集合中。
24.根据权利要求22或23所述的装置,其特征在于,所述命令确定模块包括:
解码网络搜索子模块,用于根据所述语音命令,在解码网络中搜索目标词;
第一模型搜索子模块,用于当搜索到一个解码路径上的目标词,则根据对应所述解码路径所记录的查找位置,确定在主语法模型中查找所述目标词还是在可变语法模型中查找所述目标词;
第二模型搜索子模块,用于当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则在所述可变语法标识对应的可变语法模型中查找所述目标词;
命令确定子模块,用于将所述主语法模型中的查找结果作为主命令部分,将在可变语法模型中的查找结果作为可变命令部分。
25.根据权利要求24所述的装置,其特征在于,还包括:
激活词判断模块,用于判断所述目标词是否在激活词集合中;如果所述目标词不在所述激活词集合中,则进入停止搜索模块;如果所述目标词在所述激活词集合中,则进入第一模型搜索子模块;
停止搜索模块,用于不再继续搜索所述解码路径。
26.根据权利要求24所述的装置,其特征在于,还包括:
第一查找位置记录模块,用于在初始状态下,将对应所述解码路径的查找位置记录为主语法模型;
第二查找位置记录模块,用于当在主语法模型中查找所述目标词时,如果查找对象为所述可变语法标识,则将对应所述解码路径的查找位置更改为与所述可变语法标识对应的可变语法模型;
第三查找位置记录模块,用于当在所述可变语法模型中查找所述目标词时,到达所述可变语法模型的结尾,则将对应所述解码路径的查找位置更改为主语法模型。
27.根据权利要求19所述的装置,其特征在于,还包括:
可变对象监控模块,用于判断所述可变语法文件对应的可变对象是否更新;
可变语法文件更新模块,用于如果所述可变对象更新,则根据更新后的可变对象更新所述可变语法文件。
28.根据权利要求19所述的方法,其特征在于,所述可变语法文件监控模块包括:
判断所述可变语法文件的MD5值是否变化;如果所述MD5值变化,则进入对更新后的可变语法文件进行重编译,以更新相应的可变语法模型的步骤。
29.根据权利要求27所述的装置,其特征在于,所述可变对象包括通讯录、音乐库、影视库其中一种或多种。
30.一种语法模型生成装置,其特征在于,包括:
语法文件提供模块,用于提供静态语法文件和至少一个可变语法文件;
模型编译模块,用于编译所述静态语法文件获得主语法模型,以及分别编译所述至少一个可变语法文件获得所述可变语法文件各自对应的可变语法模型;所述主语法模型中包括对应所述可变语法模型的可变语法标识。
31.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述装置执行如权利要求1-12一个或多个的方法。
32.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,使得装置执行如权利要求1-12一个或多个的方法。
33.一种设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述装置执行如权利要求13一个或多个的方法。
34.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,使得装置执行如权利要求13一个或多个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810085603.4A CN110111779B (zh) | 2018-01-29 | 2018-01-29 | 语法模型生成方法及装置、语音识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810085603.4A CN110111779B (zh) | 2018-01-29 | 2018-01-29 | 语法模型生成方法及装置、语音识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110111779A true CN110111779A (zh) | 2019-08-09 |
CN110111779B CN110111779B (zh) | 2023-12-26 |
Family
ID=67483551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810085603.4A Active CN110111779B (zh) | 2018-01-29 | 2018-01-29 | 语法模型生成方法及装置、语音识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110111779B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888642A (zh) * | 2019-11-28 | 2020-03-17 | 苏州思必驰信息科技有限公司 | 语音消息编译方法及装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312542A (zh) * | 2000-03-06 | 2001-09-12 | 国际商业机器公司 | 利用具有语法限制的标识进行言词话语拒绝 |
CN1402867A (zh) * | 1999-12-02 | 2003-03-12 | 汤姆森许可贸易公司 | 含有固定和可变语法块的语言模型的语音识别装置 |
KR20030090863A (ko) * | 2002-05-22 | 2003-12-01 | (주)표정밝은세상 | 음성인식 모듈 또는 블루투스 모듈을 이용하는 핸즈프리시스템 |
CN1558656A (zh) * | 2004-01-20 | 2004-12-29 | 联想(北京)有限公司 | 一种基于voicexml的电话语音实时交互系统和方法 |
CN1819020A (zh) * | 2001-12-17 | 2006-08-16 | 旭化成株式会社 | 语音识别方法、遥控器、信息终端和电话通信终端 |
CN1836271A (zh) * | 2003-08-12 | 2006-09-20 | 皇家飞利浦电子股份有限公司 | 用于对话系统的语音输入接口 |
US20060282267A1 (en) * | 2005-06-13 | 2006-12-14 | Microsoft Corporation | Static analysis to identify defects in grammars |
CN101138228A (zh) * | 2005-01-06 | 2008-03-05 | 奥林奇股份有限公司 | 个性化语音扩展标记语言应用 |
CN101593518A (zh) * | 2008-05-28 | 2009-12-02 | 中国科学院自动化研究所 | 实际场景语料和有限状态网络语料的平衡方法 |
CN102243871A (zh) * | 2010-05-14 | 2011-11-16 | 索尼计算机娱乐公司 | 作为语音识别错误预测器的用于语法适合度评估的方法和系统 |
CN202602827U (zh) * | 2012-03-22 | 2012-12-12 | 上海算芯微电子有限公司 | 基于通用格式码表的可变长解码装置 |
CN103035243A (zh) * | 2012-12-18 | 2013-04-10 | 中国科学院自动化研究所 | 长语音连续识别及识别结果实时反馈方法和系统 |
CN103871403A (zh) * | 2012-12-13 | 2014-06-18 | 北京百度网讯科技有限公司 | 建立语音识别模型的方法、语音识别方法及对应装置 |
CN103985391A (zh) * | 2014-04-16 | 2014-08-13 | 柳超 | 无需标准读音的音素级的低功耗口语评价及缺陷诊断方法 |
CN105374352A (zh) * | 2014-08-22 | 2016-03-02 | 中国科学院声学研究所 | 一种语音激活方法及系统 |
CN105489222A (zh) * | 2015-12-11 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | 语音识别方法和装置 |
US20160379629A1 (en) * | 2015-06-25 | 2016-12-29 | Intel Corporation | Method and system of automatic speech recognition with dynamic vocabularies |
CN107257996A (zh) * | 2015-03-26 | 2017-10-17 | 英特尔公司 | 环境敏感自动语音识别的方法和系统 |
-
2018
- 2018-01-29 CN CN201810085603.4A patent/CN110111779B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402867A (zh) * | 1999-12-02 | 2003-03-12 | 汤姆森许可贸易公司 | 含有固定和可变语法块的语言模型的语音识别装置 |
CN1312542A (zh) * | 2000-03-06 | 2001-09-12 | 国际商业机器公司 | 利用具有语法限制的标识进行言词话语拒绝 |
CN1819020A (zh) * | 2001-12-17 | 2006-08-16 | 旭化成株式会社 | 语音识别方法、遥控器、信息终端和电话通信终端 |
KR20030090863A (ko) * | 2002-05-22 | 2003-12-01 | (주)표정밝은세상 | 음성인식 모듈 또는 블루투스 모듈을 이용하는 핸즈프리시스템 |
CN1836271A (zh) * | 2003-08-12 | 2006-09-20 | 皇家飞利浦电子股份有限公司 | 用于对话系统的语音输入接口 |
CN1558656A (zh) * | 2004-01-20 | 2004-12-29 | 联想(北京)有限公司 | 一种基于voicexml的电话语音实时交互系统和方法 |
CN101138228A (zh) * | 2005-01-06 | 2008-03-05 | 奥林奇股份有限公司 | 个性化语音扩展标记语言应用 |
US20060282267A1 (en) * | 2005-06-13 | 2006-12-14 | Microsoft Corporation | Static analysis to identify defects in grammars |
CN101593518A (zh) * | 2008-05-28 | 2009-12-02 | 中国科学院自动化研究所 | 实际场景语料和有限状态网络语料的平衡方法 |
CN102243871A (zh) * | 2010-05-14 | 2011-11-16 | 索尼计算机娱乐公司 | 作为语音识别错误预测器的用于语法适合度评估的方法和系统 |
CN202602827U (zh) * | 2012-03-22 | 2012-12-12 | 上海算芯微电子有限公司 | 基于通用格式码表的可变长解码装置 |
CN103871403A (zh) * | 2012-12-13 | 2014-06-18 | 北京百度网讯科技有限公司 | 建立语音识别模型的方法、语音识别方法及对应装置 |
CN103035243A (zh) * | 2012-12-18 | 2013-04-10 | 中国科学院自动化研究所 | 长语音连续识别及识别结果实时反馈方法和系统 |
CN103985391A (zh) * | 2014-04-16 | 2014-08-13 | 柳超 | 无需标准读音的音素级的低功耗口语评价及缺陷诊断方法 |
CN105374352A (zh) * | 2014-08-22 | 2016-03-02 | 中国科学院声学研究所 | 一种语音激活方法及系统 |
CN107257996A (zh) * | 2015-03-26 | 2017-10-17 | 英特尔公司 | 环境敏感自动语音识别的方法和系统 |
US20160379629A1 (en) * | 2015-06-25 | 2016-12-29 | Intel Corporation | Method and system of automatic speech recognition with dynamic vocabularies |
CN105489222A (zh) * | 2015-12-11 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | 语音识别方法和装置 |
Non-Patent Citations (1)
Title |
---|
吴应中 等: "基于n元语法模型的领域语音指令识别", 微计算机信息, no. 14, pages 234 - 236 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888642A (zh) * | 2019-11-28 | 2020-03-17 | 苏州思必驰信息科技有限公司 | 语音消息编译方法及装置 |
CN110888642B (zh) * | 2019-11-28 | 2022-07-08 | 思必驰科技股份有限公司 | 语音消息编译方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110111779B (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102144209B (zh) | 电子设备中的多层次话音反馈 | |
CN106471476B (zh) | 用于对经优化代码的编辑并继续以及增强的经优化调试的技术 | |
CN111261144B (zh) | 一种语音识别的方法、装置、终端以及存储介质 | |
US11355108B2 (en) | Distinguishing voice commands | |
CN107423106A (zh) | 支持多框架语法的方法和装置 | |
CN107210033A (zh) | 基于众包来更新用于数字个人助理的语言理解分类器模型 | |
CN102405639A (zh) | 与视频内容分离地获取的文件的验证和同步 | |
CN109074821A (zh) | 言语至文本增强媒体编辑 | |
JP6783339B2 (ja) | 音声を処理する方法及び装置 | |
CN109976793B (zh) | 一种应用程序的运行方法、装置、设备和介质 | |
CN109255209A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN107943877A (zh) | 待播放多媒体内容的生成方法和装置 | |
CN104020990B (zh) | 日期选择控件显示方法及装置 | |
CN107391218A (zh) | 编译方法及装置、电子设备和计算机可读存储介质 | |
CN107527619A (zh) | 语音控制业务的定位方法及装置 | |
CN109144285A (zh) | 一种输入方法和装置 | |
CN105242552B (zh) | 安装引导方法及装置 | |
CN111462741B (zh) | 语音数据处理方法、装置及存储介质 | |
CN104285452A (zh) | 空间音频信号滤波 | |
CN108509412A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN104461348A (zh) | 信息选取方法及装置 | |
CN104898821A (zh) | 一种信息处理的方法及电子设备 | |
CN107463372A (zh) | 一种数据驱动的页面更新方法和装置 | |
CN115455166A (zh) | 一种智能对话系统异常检测的方法、装置、介质及设备 | |
CN115148212A (zh) | 一种语音交互方法、智能设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40012124 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |