发明内容
本发明实施例提供了一种信息的识别方法和装置,可以实现终端根据两命令词槽识别文法或多命令词槽识别文法来对语音信息进行命令词拆分,并根据拆分后的至少一个命令词来识别语音信息对应的操作指令,提供了一种信息的识别方法,同样的命令词数量可以识别出更多的语音输入内容,提高了用户的体验效果。
第一方面,本发明实施例提供了一种信息的识别方法,所述方法包括:
接收语音信息,从所述语音信息中提取语音特征;
将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签;
根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。
在第一种可能的实现方式中,所述将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算具体包括:对所述语音特征与所述多个候选文本中每一个候选文本对应的音素串进行音素距离计算,得到距离值;选择与所述语音特征之间的距离值最小的音素串对应的候选文本作为识别结果。
结合第一方面,在第二种可能的实现方式中,所述根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令具体包括:根据所述至少一个命令词中所有命令词对应的标签的组合,识别所述语音信息对应的操作指令。
结合第一方面,在第三种可能的实现方式中,所述接收语音信息,从所述语音信息中提取语音特征之前,还包括:根据识别文法网络,在多个命令词槽中选择命令词生成所述多个候选文本。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述根据所述至少一个命令词中所有命令词对应的标签的组合,识别所述语音信息对应的操作指令包括:将所述识别结果中所述至少一个命令词中每一个命令词对应的标签进行组合,在本地数据库或网络服务器中查询所述标签的组合对应的操作指令。
第二方面,本发明实施例提供了一种信息的识别装置,所述装置包括:
接收单元,用于接收语音信息,从所述语音信息中提取语音特征,将所述语音特征传输至匹配单元;
匹配单元,用于接收所述接收单元传输的所述文本信息,将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签,将所述标签传输至识别单元;
识别单元,用于接收所述匹配单元传输的所述标签,根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。
在第一种可能的实现方式中,所述匹配单元具体用于:对所述语音特征与所述多个候选文本中每一个候选文本对应的音素串进行音素距离计算,得到距离值;选择与所述语音特征之间的距离值最小的音素模型对应的候选文本作为识别结果
结合第二方面,在第二种可能的实现方式中,所述至少一个命令词中的每一个命令词使用一个标签来标识;所述识别单元具体用于:根据所述至少一个命令词中所有命令词对应的标签的组合,识别所述语音信息对应的操作指令。
结合第二方面,在第三种可能的实现方式中,所述装置还包括:生成单元,用于根据识别文法网络,在多个命令词槽中选择命令词生成所述多个候选文本。
结合第二方面或者第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述识别单元具体用于:将所述识别结果中所述至少一个命令词中每一个命令词对应的标签进行组合,在本地数据库或网络服务器中查询所述标签的组合对应的操作指令
本发明实施例中,终端接收语音信息,从所述语音信息中提取语音特征;将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签;根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。由此,终端根据两命令词槽识别文法或多命令词槽识别文法来对语音信息进行命令词拆分,并根据拆分后的至少一个命令词来识别语音信息对应的操作指令,提供了一种信息的识别方法,同样的命令词数量可以识别出更多的语音输入内容,提高了用户的体验效果。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种信息的识别方法流程图。该实施例的执行主体是终端,其中详细描述了终端接收到用户的语音输入后,识别出操作指令的方法。如图1所示,该实施例包括以下步骤:
步骤101,接收语音信息,从所述语音信息中提取语音特征。
当然,在终端进行语音输入之前,首先根据接收到的用户的操作指令,将终端置为语音信息输入状态,运行语音识别引擎。在运行语音识别引擎时,识别文法可以生成候选文本。
终端接收到语音信息后,将语音信息转换成数字信息,并从数字信息中提取相应的语音特征。
步骤102,将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签。
为了实现本发明的技术方案,在实际应用中,终端提供了一种多命令词槽的识别文法,与现有的“action(动作)+object(对象)”识别文法相比,多命令词槽的识别文法结构是将act ion部分拆分为不同的部分,通过各部分的不同的组合支持识别更多的语音输入内容,这样对于相同数量的语音输入内容,识别文法所需要提供的命令词数量可减少。例如,对于用户常用的命令词:“拨打电话给”,“帮我拨打电话给”,“呼叫”,“帮我呼叫”等语音输入内容中,有一部分内容是几个语音输入内容共有的说法,如“拨打电话给”,“呼叫”。如果采用现有的文法识别结构,“拨打电话给”,“帮我拨打电话给”,“呼叫”,“帮我呼叫”等语音输入内容需要4个命令元素,而如果采用多命令词槽的识别文法,则可以只需要一个一级命令词“帮我”,两个二级命令词“拨打电话给”、“呼叫”,共需要3个命令词,节省了命令词的数量,并且多命令词槽的识别文法维护和扩充更加方便。
本发明实施例提供的识别文法中,可将现有识别文法中的action部分拆分为两级或者多级,如可拆分为三级,其中一级命令词可以为修饰命令词,二级命令词可以为意愿命令词,三级命令词可以为动作命令词。因此,在运行语音识别引擎时,接收语音输入之前,本发明实施例还包括:根据识别文法网络,在多命令词槽中选择命令词生成所述多个候选文本。具体地,多命令词槽的识别文法可以在多个命令词词槽中的每个命令词词槽中选择一个命令词(对于某个命令词词槽,也可以一个命令词都不选择),然后将选择出的命令词进行组合,便得到候选文本。例如,在三级命令词槽的识别文法中,修饰命令词槽中有“现在”、“请”两个个命令词,意愿命令词槽中有“帮我”、“我要”两个命令词,动作命令词槽中有“拨打电话给”、“呼叫”两个命令词,如果没有任何约束条件,则识别文法可以构造出26个候选文本,分别问“现在”、“请”、“帮我”、“我要”、“现在帮我”、“现在我要”、“请帮我”、“请我要”、“帮我拨打电话给”、“我要拨打电话给”、“帮我呼叫”、“我要呼叫”、“现在拨打电话给”、“现在呼叫”、“请拨打电话给”、“请呼叫”、“现在帮我拨打电话给”、“现在帮我呼叫”、“现在我要拨打电话给”、“现在我要呼叫”、“请帮我拨打电话给”、“请帮我呼叫”、“请我要拨打电话给”、“请我要呼叫”、“拨打电话给”、“呼叫”,当然了,为了实现一个完整的操作,候选文本中一般必须包含动作命令词,如果约束条件为候选文本中必须包含动作命令词,则即识别文法可以构造出18个候选文本,分别为“帮我拨打电话给”、“我要拨打电话给”、“帮我呼叫”、“我要呼叫”、“现在拨打电话给”、“现在呼叫”、“请拨打电话给”、“请呼叫”、“现在帮我拨打电话给”、“现在帮我呼叫”、“现在我要拨打电话给”、“现在我要呼叫”、“请帮我拨打电话给”、“请帮我呼叫”、“请我要拨打电话给”、“请我要呼叫”、“拨打电话给”、“呼叫”。由此,终端可以将根据多命令词槽的识别文法构造出多个候选文本,通过使用多级命令词槽的识别文法,在使用相同数目的命令词的情况下,可以构造的候选文本更多,相应地,可以识别的语音输入内容更多。
其中,将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算具体包括:对所述语音特征与所述多个候选文本中每一个候选文本对应的音素串进行音素距离计算,得到距离值;选择与所述语音特征之间的距离值最小的音素串对应的候选文本作为识别结果。在语音信息中提取出语音特征后,将语音特征与每一个候选文本的音素串中每一个音素对应的音素模型进行匹配计算,得到每一个语音特征与每一个音素的距离值,将多个发音与多个音素模型之间的多个距离值进行累计,即可得到对应于一个音素串的累计距离值,其中,累计距离值最小的音素串对应的候选文本即为识别结果。
具体地,每一个候选文本多对应的音素串包括一系列的音素,每个音素对应一个音素模型,每个语音特征和所有的音素模型计算都可以得到一个数值;整个音素串和所述语音特征又得到一个累计的数值。选择与所述语音特征之间的累计距离最小的音素串对应的候选文本作为识别结果。
例如,对于候选文本“打电话给张三”,对应的音素串为“d”,”a”,”d”,”ian”,”h”,”ua”,”g”,”ei”,”zh”,”ang”,”s”,”an”;将用户的语音输入对应的每一个语音特征与这些每一个音素对应的音素模型进行计算,即可得到一个距离值,该值是一个大于等于0的数。由于音素模型是群体统计特征,用户的语音特征是个体特征,它们之间会有误差,这个误差就成为语音特征和音素模型的距离,把所有的音素的和语音特征的误差累计,得到的数值就是这个语音特征和对应的候选文本对应的音素串的识别距离,距离值越小,误差就越小,说明该音素串与语音输入内容越匹配,对应的候选文本就为识别结果。
其中,识别结果中包括至少一个命令词,而且每个命令词都使用一个标签来标识。例如,“我要打电话给张三”包括“我要”、“打电话给”、“张三”中包括两个命令词“我要”和“打电话给”,还包括一个联系人对象“张三”,其中,“我要”命令词对应的标签是“0001”,通过该标签可以知道该词是意愿命令词,“打电话给”命令词对应的标签是“0011”,通过该标签可以知道该语音输入对应的操作是打电话,“张三”对应的标签是“1000”,通过该标签可以确定这个信息是联系人信息。
对于上述多命令词槽的识别文法,终端中也可以不保存,而在需要使用该多命令词槽的识别文法时,从网络服务器中获取该识别文法。
步骤103,根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。
其中,根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令操作包括:在本地数据库或网络服务器中查询所述标签的组合对应的操作指令。根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令具体包括:将所述识别结果中所述至少一个命令词中每一个命令词对应的标签进行组合,在本地数据库或网络服务器中查询所述标签的组合对应的操作指令。
具体地,识别文法在生成候选文本时,已经确定了候选文本每个部分的内容和标签,因此识别结果中的每个组成部分也已经确定了相应的标签。终端可以根据本地数据库或者网络服务器中保存的标签与对应的操作指令的映射关系,确定标签所对应的操作指令。
本发明实施例中,终端接收语音信息,从所述语音信息中提取语音特征;将所述语音特征与多个候选文本进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签;根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。由此,终端根据两命令词槽识别文法或多命令词槽识别文法来对语音信息进行命令词拆分,并根据拆分后的至少一个命令词来识别语音信息对应的操作指令,提供了一种信息的识别方法,同样的命令词数量可以识别出更多的语音输入内容,提高了用户的体验效果。
相应地,本发明实施例还提供了一种信息的识别装置,图2为本发明实施例提供的一种信息的识别装置示意图,如图2所示,本发明实施例包括以下单元:
接收单元201,用于接收语音信息,从所述语音信息中提取语音特征,将所述语音特征传输至匹配单元。
终端接收到语音信息后,将语音信息转换成数字信息,并从数字信息中提取相应的语音特征。
匹配单元202,用于接收所述接收单元传输的所述文本信息,将所述语音特征与多个候选文本中每一个候选文本对应的音素串进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签,将所述标签传输至识别单元。
为了实现本发明的技术方案,在实际应用中,终端提供了一种多命令词槽的识别文法,与现有的“action(动作)+object(对象)”识别文法相比,多命令词槽的识别文法结构是将action部分拆分为不同的部分,通过不同部分的组合支持识别更多的语音输入内容,这样对于相同数量的语音输入内容,识别文法所需要提供的命令词数量可减少,并且多命令词槽的识别文法维护和扩充更加方便。
本发明实施例提供的识别文法中,可将现有识别文法中的act ion部分拆分为两级或者多级,如可拆分为三级,其中一级命令词可以为修饰命令词,二级命令词可以为意愿命令词,三级命令词可以为动作命令词。
其中,匹配单元202具体用于:对所述语音特征与所述多个候选文本中每一个候选文本对应的音素串进行音素距离计算,得到距离值;选择与所述语音特征之间的距离值最小的音素串对应的候选文本作为识别结果。在语音信息中提取出语音特征后,将语音特征与每一个候选文本的音素串进行匹配计算,其中,距离值最小的音素串对应的候选文本即为识别结果。
其中,识别结果中包括至少一个命令词,而且每个命令词都使用一个标签来标识。例如,“我要打电话给张三”包括“我要”、“打电话给”、“张三”中包括两个命令词“我要”和“打电话给”,还包括一个联系人对象“张三”,其中,“我要”命令词对应的标签是“0001”,通过该标签可以知道该词是意愿命令词,“打电话给”命令词对应的标签是“0011”,通过该标签可以知道该语音输入对应的操作时打电话,“张三”对应的标签是“1000”,通过该标签可以确定这个信息是联系人信息。
对于上述多命令词槽的识别文法,终端中也可以不保存,而在需要使用该多命令词槽的识别文法时,从网络服务器中获取该识别文法。
识别单元203,用于接收所述匹配单元传输的所述标签,根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。
其中,识别单元203具体用于:根据所述至少一个命令词中所有命令词对应的标签的组合,识别所述语音信息对应的操作指令。识别单元203具体用于:将所述识别结果中所述至少一个命令词中每一个命令词对应的标签进行组合,在本地数据库或网络服务器中查询所述标签的组合对应的操作指令。
具体地,识别文法在生成候选文本时,已经确定了候选文本每个部分的内容和标签,因此识别结果中的每个组成部分也已经确定了相应的标签。终端可以根据本地数据库或者网络服务器中保存的标签与对应的操作指令的映射关系,确定标签所对应的操作指令。
优选地,本发明实施例还包括:生成单元204,用于根据识别文法网络,在多个命令词槽中选择命令词生成所述多个候选文本。由此,终端可以将根据多命令词槽的识别文法构造出多个候选文本,通过使用多级命令词槽的识别文法,在使用相同数目的命令词的情况下,可以构造的候选文本更多,相应地,可以识别的语音输入内容更多。
由此,终端根据两命令词槽识别文法或多命令词槽识别文法来对语音信息进行命令词拆分,并根据拆分后的至少一个命令词来识别语音信息对应的操作指令,提供了一种信息的识别方法,同样的命令词数量可以识别出更多的语音输入内容,提高了用户的体验效果。
相应地,本发明实施例还提供了一种终端,图3为本发明实施例提供的一种终端示意图,如图3所示,本实施例包括网络接口301、处理器302和存储器303。系统总线304用于连接网络接口301、处理器302和存储器303。
网络接口301用于与其他终端或者网络服务器进行通信。
存储器303可以是永久存储器,例如硬盘驱动器和闪存,存储器303中具有识别文法、软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序,识别文法用于生成候选文本并识别出语音输入内容对应的识别结果。
在启动时,识别文法和软件组件被加载到存储器303中,然后被处理器302访问并执行如下指令:
接收语音信息,从所述语音信息中提取语音特征;
将所述语音特征与多个候选文本中的每一个候选文本对应音素串进行匹配计算,得到识别结果,所述识别结果包括至少一个命令词以及所述至少一个命令词对应的标签;
根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令。
具体地,为了实现本发明的技术方案,在终端的存储器303中可以保存一种多命令词槽的识别文法,与现有的“action(动作)+object(对象)”识别文法相比,多命令词槽的识别文法结构是将action部分拆分为不同的部分,通过各部分的不同的组合支持识别更多的语音输入内容,这样对于相同数量的语音输入内容,识别文法所需要提供的命令词数量可减少。例如,对于用户常用的命令词:“拨打电话给”,“帮我拨打电话给”,“呼叫”,“帮我呼叫”等语音输入内容中,有一部分内容是几个语音输入内容共有的说法,如“拨打电话给”,“呼叫”。如果采用现有的文法识别结构,“拨打电话给”,“帮我拨打电话给”,“呼叫”,“帮我呼叫”等语音输入内容需要4个命令元素,而如果采用多命令词槽的识别文法,则可以只需要一个一级命令词“帮我”,两个二级命令词“拨打电话给”、“呼叫”,共需要3个命令词,节省了命令词的数量,并且多命令词槽的识别文法维护和扩充更加方便。
本发明实施例提供的识别文法中,可将现有识别文法中的action部分拆分为两级或者多级,如可拆分为三级,其中一级命令词可以为修饰命令词,二级命令词可以为意愿命令词,三级命令词可以为动作命令词。
进一步的,处理器302访问存储器中的软件组件后,执行将所述文本信息与多个候选文本进行匹配计算过程的指令为:对所述语音特征与所述多个候选文本中每一个候选文本对应的音素串进行音素距离计算,得到距离值;选择与所述语音特征之间的距离值最小的音素串对应的候选文本作为识别结果。
其中,至少一个命令词中的每一个命令词使用一个标签来标识;进一步的,处理器302访问存储器中的软件组件后,执行根据所述至少一个命令词对应的标签,识别所述语音信息对应的操作指令具体包括:根据所述至少一个命令词中所有命令词对应的标签的组合,识别所述语音信息对应的操作指令。
进一步的,处理器302执行根据所述至少一个命令词中所有命令词对应的标签的组合,识别所述语音信息对应的操作指令的过程包括:将所述识别结果中所述至少一个命令词中每一个命令词对应的标签进行组合,在本地数据库或网络服务器中查询所述标签的组合对应的操作指令。
进一步的,处理器302在执行将所述文本信息与候选文本进行匹配计算的操作之前,还可访问软件组件,并执行以下指令:根据识别文法网络,在多个命令词槽中选择命令词生成所述多个候选文本。
由此,终端根据两命令词槽识别文法或多命令词槽识别文法来对语音信息进行命令词拆分,并根据拆分后的至少一个命令词来识别语音信息对应的操作指令,提供了一种信息的识别方法,同样的命令词数量可以识别出更多的语音输入内容,提高了用户的体验效果。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。