基于人工智能的语音识别纠错方法、装置及存储介质与流程

文档序号:11199189阅读:872来源:国知局
基于人工智能的语音识别纠错方法、装置及存储介质与流程

技术领域
】本发明涉及计算机应用技术,特别涉及基于人工智能的语音识别纠错方法、装置及存储介质。
背景技术
:人工智能(artificialintelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。随着语音及自然语言处理相关技术的发展,越来越多的应用场景提供语音方式同用户进行交互。但是,在用户输入语音query后,对用户的语音query进行识别时,得到的语音识别结果中很可能会出现错误。比如,对于长度较大的语音query,语音识别结果中很容易出现错误片段,当语音query中涉及实体名称时,对实体名称的识别会很容易出现错误,又或者,用户在输入时带有口音、口误或比较特殊的表述习惯等,均可能造成识别错误。现有技术中,针对用户输入的语音query的语音识别结果,可利用背景知识及统计方法等进行计算,从而找出可能错误的地方并进行替换,但这种纠错方式的纠错效果很差,且很多场景下均无法识别出错误。比如,用户通过语音query输入搜索对象“陈育娟”,语音识别结果出现错误,将“陈育娟”识别为“陈玉娟”,那么利用现有的纠错方式则无法对这种错误进行纠正,只能通过用户的手动输入进行修改,从而为用户带来了很大的不便,尤其是在一些体积较小的穿戴、车载等设备使用中,文字输入非常不便,从而增大了纠错难度。可见,采用现有的纠错方式,会导致纠错结果的准确性较低,并增大了纠错难度。技术实现要素:有鉴于此,本发明提供了基于人工智能的语音识别纠错方法、装置及存储介质,能够提高纠错结果的准确性并降低纠错难度。具体技术方案如下:一种基于人工智能的语音识别纠错方法包括:获取用户输入的第二语音query的第二语音识别结果;根据所述第二语音识别结果进行纠错意图识别;若确定用户具有纠错意图,则从所述第二语音识别结果中提取出纠错信息;根据所述纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错,所述第一语音识别结果为在所述第二语音query之前输入的第一语音query的语音识别结果。根据本发明一优选实施例,所述根据所述第二语音识别结果进行纠错意图识别包括:确定所述第二语音识别结果是否与预先设定的m个纠错意图模板中的至少一个相匹配,m为正整数;若是,则确定用户具有纠错意图;若否,则利用深度神经网络模型对所述第二语音识别结果进行意图分类,分类结果包括具有纠错意图以及不具有纠错意图。根据本发明一优选实施例,所述从所述第二语音识别结果中提取出纠错信息包括:若利用所述纠错意图模板确定出用户具有纠错意图,则通过所述纠错意图模板的槽位信息确定出所述纠错信息;若利用所述深度神经网络模型确定出用户具有纠错意图,则通过序列标注模型,分别对所述第二语音识别结果中的每个字进行标注,利用标注为属于纠错信息的字组成所述纠错信息。根据本发明一优选实施例,当纠错资源的种类为拆字资源时,该方法进一步包括:针对每个纠错资源,分别将所述纠错资源中的每个字转为对应的拼音,并根据所述纠错资源中的各个字及拼音,生成所述纠错资源的key;建立key与对应的纠错资源之间的倒排索引;所述根据所述纠错信息对各纠错资源进行筛选包括:将所述纠错信息中的每个字分别转为对应的拼音;确定所述纠错信息中的各个字是否组成一个key,如果是,则将所述key对应的纠错资源作为筛选出的纠错资源;确定所述纠错信息中的各个字对应的拼音是否组成一个key,如果是,则将所述key对应的纠错资源作为筛选出的纠错资源。根据本发明一优选实施例,所述生成所述纠错资源的key包括:针对所述纠错资源中的各个字,分别以连续i个term为最小粒度得到连续kgram集合,并针对所述纠错资源中的各个字对应的拼音,分别以连续i个term为最小粒度得到连续kgram集合,i为正整数,且2≤i≤n,n为所述纠错资源中包括的字数;针对所述纠错资源中的各个字,分别以j个term为最小粒度得到不连续的跳跃kgram集合,并针对所述纠错资源中的各个字对应的拼音,分别以j个term为最小粒度得到不连续的跳跃kgram集合,j为正整数,且2≤j≤n-1。将所述连续kgram集合以及所述跳跃kgram集合中的元素分别作为所述纠错资源的key。根据本发明一优选实施例,所述利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错包括:针对筛选出的每个纠错资源,分别计算所述纠错资源中的各个字的拼音所组成的字符串与所述纠错信息中的各个字的拼音所组成的字符串之间的带权编辑距离;将计算出的带权编辑距离最小的纠错资源作为所述最为匹配的纠错资源,利用所述最为匹配的纠错资源对所述第一语音识别结果进行纠错。根据本发明一优选实施例,所述计算带权编辑距离包括:在计算编辑距离时,对于增加和删除两种操作,编辑距离均为1,对于替换操作,计算两个音节之间的发音距离,发音距离越近,产生的编辑距离增加量越小。一种基于人工智能的语音识别纠错装置,包括:纠错意图识别单元、纠错信息提取单元以及纠错资源匹配单元;所述纠错意图识别单元,用于获取用户输入的第二语音query的第二语音识别结果,并根据所述第二语音识别结果进行纠错意图识别;所述纠错信息提取单元,用于当所述纠错意图识别单元识别出用户具有纠错意图时,从所述第二语音识别结果中提取出纠错信息;所述纠错资源匹配单元,用于根据所述纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错,所述第一语音识别结果为在所述第二语音query之前输入的第一语音query的语音识别结果。根据本发明一优选实施例,所述纠错意图识别单元确定所述第二语音识别结果是否与预先设定的m个纠错意图模板中的至少一个相匹配,m为正整数;若是,则确定用户具有纠错意图;若否,则利用深度神经网络模型对所述第二语音识别结果进行意图分类,分类结果包括具有纠错意图以及不具有纠错意图。根据本发明一优选实施例,若所述纠错意图识别单元利用所述纠错意图模板确定出用户具有纠错意图,则所述纠错信息提取单元通过所述纠错意图模板的槽位信息确定出所述纠错信息;若所述纠错意图识别单元利用所述深度神经网络模型确定出用户具有纠错意图,则所述纠错信息提取单元通过序列标注模型,分别对所述第二语音识别结果中的每个字进行标注,利用标注为属于纠错信息的字组成所述纠错信息。根据本发明一优选实施例,所述装置中进一步包括:预处理单元;所述预处理单元,用于当纠错资源的种类为拆字资源时,针对每个纠错资源,分别将所述纠错资源中的每个字转为对应的拼音,并根据所述纠错资源中的各个字及拼音,生成所述纠错资源的key;建立key与对应的纠错资源之间的倒排索引;所述纠错资源匹配单元将所述纠错信息中的每个字分别转为对应的拼音;确定所述纠错信息中的各个字是否组成一个key,如果是,则将所述key对应的纠错资源作为筛选出的纠错资源;确定所述纠错信息中的各个字对应的拼音是否组成一个key,如果是,则将所述key对应的纠错资源作为筛选出的纠错资源。根据本发明一优选实施例,所述预处理单元针对所述纠错资源中的各个字,分别以连续i个term为最小粒度得到连续kgram集合,并针对所述纠错资源中的各个字对应的拼音,分别以连续i个term为最小粒度得到连续kgram集合,i为正整数,且2≤i≤n,n为所述纠错资源中包括的字数;针对所述纠错资源中的各个字,分别以j个term为最小粒度得到不连续的跳跃kgram集合,并针对所述纠错资源中的各个字对应的拼音,分别以j个term为最小粒度得到不连续的跳跃kgram集合,j为正整数,且2≤j≤n-1。将所述连续kgram集合以及所述跳跃kgram集合中的元素分别作为所述纠错资源的key。根据本发明一优选实施例,所述纠错资源匹配单元针对筛选出的每个纠错资源,分别计算所述纠错资源中的各个字的拼音所组成的字符串与所述纠错信息中的各个字的拼音所组成的字符串之间的带权编辑距离;将计算出的带权编辑距离最小的纠错资源作为所述最为匹配的纠错资源,利用所述最为匹配的纠错资源对所述第一语音识别结果进行纠错。根据本发明一优选实施例,所述纠错资源匹配单元在计算编辑距离时,对于增加和删除两种操作,编辑距离均为1,对于替换操作,计算两个音节之间的发音距离,发音距离越近,产生的编辑距离增加量越小。一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。基于上述介绍可以看出,采用本发明所述方案,获取用户输入的第二语音识别结果,并根据第二语音识别结果进行纠错意图识别,如果确定用户具有纠错意图,则可从第二语音识别结果中提取出纠错信息,并根据纠错信息对各纠错资源进行筛选,从而利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错,对于用户来说,可以像人与人之间对话时一样,描述错误或强调正解,相应地,可根据用户的描述对语音识别结果进行修正,从而实现了对于语音识别结果的准确纠错,即提高了纠错结果的准确性,并且,用户只需要通过语音的方式发出纠错指令即可,无需进行手动输入操作,从而对于用户来说降低了纠错难度。【附图说明】图1为本发明所述基于人工智能的语音识别纠错方法实施例的流程图。图2为本发明所述第一语音识别结果“陈玉娟”的输入界面示意图。图3为本发明所述第一语音识别结果“陈玉娟”对应的搜索结果的界面示意图。图4为本发明所述第二语音识别结果“下面是一个月的育”的输入界面示意图。图5为本发明所述纠错后的第一语音识别结果“陈育娟”对应的搜索结果的界面示意图。图6为本发明所述深度神经网络模型的框架示意图。图7为本发明所述序列标注模型的框架示意图。图8为本发明所述基于人工智能的语音识别纠错装置实施例的组成结构示意图。图9示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。【具体实施方式】为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。图1为本发明所述基于人工智能的语音识别纠错方法实施例的流程图,如图1所示,包括以下具体实现方式。在101中,获取用户输入的第二语音query的第二语音识别结果。在102中,根据第二语音识别结果进行纠错意图识别。在103中,若确定用户具有纠错意图,则从第二语音识别结果中提取出纠错信息。在104中,根据获取到的纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错。其中,第一语音识别结果为在第二语音query之前输入的第一语音query的语音识别结果。比如,在进行搜索时,用户通过第一语音query输入搜索对象“陈育娟”,第一语音识别结果出现错误,将“陈育娟”识别为“陈玉娟”,相应地,则会为用户展示“陈玉娟”的搜索结果,这种情况下,用户则可输入第二语音query,如“下面是一个月的育”,从而对第一语音识别结果进行纠错,进而可按照纠错后的第一语音识别结果为用户展示搜索结果,如图2~5所示。图2为本发明所述第一语音识别结果“陈玉娟”的输入界面示意图,图3为本发明所述第一语音识别结果“陈玉娟”对应的搜索结果的界面示意图,图4为本发明所述第二语音识别结果“下面是一个月的育”的输入界面示意图,图5为本发明所述纠错后的第一语音识别结果“陈育娟”对应的搜索结果的界面示意图。可以看出,图1所示实施例中提出了一种基于多轮对话的交互式语音识别纠错方式,整个纠错流程可主要分为三个阶段,分别为:纠错意图识别、纠错信息提取以及纠错资源匹配,通过这三个阶段,对用户在语音query中提供的信息进行递进式的判别、挖掘和利用,从而帮助用户实现纠错意图。以下分别对上述各阶段的具体实现进行详细说明。1)纠错意图识别在接收到用户输入的第二语音query之后,可首先按照现有技术对其进行语音识别,从而得到第二语音识别结果。之后,可根据第二语音识别结果进行纠错意图识别,即确定用户是否具有纠错意图,确定用户具有纠错意图之后,才会进行后续的纠错流程。考虑到不同的用户可能会采用不同的表达方式,有的表达方式比较明确,可以比较容易地识别出用户的纠错意图,而有的表达方式则比较复杂,识别起来比较困难,因此,本实施例中提供了两种识别方式,即基于规则的纠错意图识别方式以及基于统计的纠错意图识别方式,两种方式可结合使用。其中,基于规则的纠错意图识别方式可以是指预先生成m个纠错意图模板,m为正整数,具体取值可根据实际需要而定,通常大于一,这样,当获取到第二语音识别结果之后,可确定其是否与m个纠错意图模板中的至少一个相匹配,如果是,则可确定用户具有纠错意图。第二语音识别结果与纠错意图模板可如表一所示:模板示例第二语音识别结果是[偏旁]的[字]我要的是单人旁的倒是[声调]的那个[字]是三声的那个倒表一第二语音识别结果与纠错意图模板如果第二语音识别结果与任一纠错意图模板均不匹配,那么可进一步采用基于统计的纠错意图识别方式对第二语音识别结果进行识别。比如,可利用深度神经网络模型对第二语音识别结果进行意图分类,分类结果包括具有纠错意图以及不具有纠错意图。图6为本发明所述深度神经网络模型的框架示意图,如图6所示,可采用词向量特征与统计特征相结合的方式,利用embedding及长短时间记忆网络(lstm,longshorttermmemorynetworks)分别得到第二语音识别结果中的每个字的词向量,并针对第二语音识别结果中的每个字,开发特征工程用以提取统计特征,二者相结合确定意图分类结果,分类结果包括具有纠错意图以及不具有纠错意图。具体提取哪些统计特征可根据实际需要而定,比如可包括拼音特征、发音距离特征以及规则特征等。2)纠错信息提取在确定用户具有纠错意图之后,并不能直接利用第二语音识别结果来对第一语音识别结果进行纠错,因为第二语音识别结果中不但包含纠错信息,还包含其它噪声信息,因此需要对有用的纠错信息进行提取,去除无关信息,才能完成后续的纠错处理。根据在对第二语音识别结果进行纠错意图识别时所采用的识别方式的不同,从第二语音识别结果中提取纠错信息的方式也会不同。其中,若利用纠错意图模板确定出用户具有纠错意图,那么可直接通过纠错意图模板的槽位信息来提取出纠错信息。比如,第二语音识别结果为“我要的是单人旁的倒”,相匹配的纠错意图模板为“是[偏旁]的[字]”,那么提取出纠错信息则为[偏旁:单人旁]、[字:倒]。若利用深度神经网络模型确定出用户具有纠错意图,那么则可通过序列标注模型,分别对第二语音识别结果中的每个字进行标注,利用标注为属于纠错信息的字组成纠错信息。即利用序列标注模型,对第二语音识别结果中的不同类别信息进行标注,从而确定有用信息。不同于传统的命名实体识别(ner,namedentityrecognition)序列标注,对第二语音识别结果的标注需要以字粒度进行,因此难度更大、精度要求更高。图7为本发明所述序列标注模型的框架示意图,如图7所示,可采用词向量特征与统计特征相结合的方式来对第二语音识别结果中的每个字进行标注,词向量方面,实验显示,采用广义回归神经网络(grnn,generalregressionneuralnetwork)的效果更优,特征工程对每个字生成统计特征,每个字的统计特征与词向量合并得到字特征,再通过全连接的神经网络进行标注,对于每个字来说,其能够体现纠错信息或不能够体现纠错信息,即属于纠错信息或不属于纠错信息,利用能够体现纠错信息的各个字即可组成所需的纠错信息。比如,“我要的是单人旁的倒”中的“单”字,其用于描述字的偏旁,因此能够体现纠错信息。3)纠错资源匹配在获取到纠错信息之后,即可利用纠错信息来与各纠错资源进行匹配,以确定纠错信息所描述的对象,即用户通过描述想要找到的是哪个字。纠错资源的种类很多,比如使用偏旁部首资源和拆字资源等,偏方部首资源即指(偏旁:字)的kv对,如(单人旁:倒),拆字资源即描述字的拆解信息及原字,如(人到:倒)。以下以拆字资源为例,说明如何根据纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错。由于针对的是语音query,所以不能直接通过文字信息来索引资源,因为第二语音识别结果中也可能会出现错误,如将“人到:倒”识别为“人道:倒”或“人到:到”等,需要转为对应的拼音,以解决第二语音识别结果中的识别错误问题。另外,还会存在其它问题,比如,纠错资源(日四又:曼),第二语音识别结果可能为“上面是四字下面又的那个曼”,提取到的纠错信息为[四又:曼],因此需要计算纠错信息与纠错资源的相似度,获取相似度最高的纠错资源作为最终的匹配结果,但线性的相似度计算耗时太大,无法接受,因此本实施例中提出,可按照key的kgram集合来对纠错资源进行倒排拉链,从而减少相似度计算量。为此,针对每个纠错资源,可分别将该纠错资源中的每个字转为对应的拼音,并根据该纠错资源中的各个字及拼音,生成该纠错资源的key,所述key可为kgramkey,进而可建立key与对应的纠错资源之间的倒排索引。这样,在根据纠错信息对各纠错资源进行筛选时,可首先将纠错信息中的每个字分别转为对应的拼音,之后,确定纠错信息中的各个字是否组成一个key,如果是,则将这个key对应的纠错资源作为筛选出的纠错资源,并确定纠错信息中的各个字对应的拼音是否组成一个key,如果是,则将这个key对应的纠错资源作为筛选出的纠错资源。具体地,对于每个纠错资源,可分别按照以下方式确定出该纠错资源的key:针对该纠错资源中的各个字,分别以连续i个term为最小粒度得到连续kgram集合,并针对该纠错资源中的各个字对应的拼音,分别以连续i个term为最小粒度得到连续kgram集合,i为正整数,且2≤i≤n,n为该纠错资源中包括的字数;针对该纠错资源中的各个字,分别以j个term为最小粒度得到不连续的跳跃kgram集合,并针对该纠错资源中的各个字对应的拼音,分别以j个term为最小粒度得到不连续的跳跃kgram集合,j为正整数,且2≤j≤n-1。将各连续kgram集合以及各跳跃kgram集合中的元素分别作为该纠错资源的key。举例说明:假设纠错资源为(日四又:曼);以连续2个term为最小粒度得到的连续kgram集合为{日四,四又,又曼};以连续3个term为最小粒度得到的连续kgram集合为{日四又,四又曼};以连续4个term为最小粒度得到的连续kgram集合为{日四又曼};以2个term为最小粒度得到的不连续的跳跃kgram集合为{日又,日曼,四曼};以3个term为最小粒度得到的不连续的跳跃kgram集合为{日又曼,日四曼};相应地,对于纠错资源的拼音(ri’si’you:man);以连续2个term为最小粒度得到的连续kgram集合为{ri,si,si’you,you’man};以连续3个term为最小粒度得到的连续kgram集合为{ri’si’you,si’you’man};以连续4个term为最小粒度得到的连续kgram集合为{ri’si’you’man};以2个term为最小粒度得到的不连续的跳跃kgram集合为{ri’you,ri’man,si’man};以3个term为最小粒度得到的不连续的跳跃kgram集合为{ri’you’man,ri’si’man};上述各连续kgram集合以及各跳跃kgram集合中的元素均为纠错资源(日四又:曼)的key,通过任一key拉取的list中均将包含纠错资源(日四又:曼),比如,“日四”是一个key,“四又曼”也是一个key,通过“日四”拉取的list中将包含纠错资源(日四又:曼),同样,通过“四又曼”拉取的list中也将包含纠错资源(日四又:曼)。假设第二语音识别结果为“上面是四字下面又的那个曼”,提取到的纠错信息为[四又:曼],那么根据该纠错信息可组成两个key,分别为“四又曼”和“si’you’man”,将“四又曼”和“si’you’man”这两个key对应的纠错资源作为筛选出的纠错资源,其中包含了纠错资源(日四又:曼),也可能包含了其它纠错资源。之后,可从筛选出的各纠错资源中进一步选出与纠错信息最为匹配的纠错资源,并利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错。具体地,针对筛选出的每个纠错资源,可分别计算该纠错资源中的各个字的拼音所组成的字符串与纠错信息中的各个字的拼音所组成的字符串之间的带权编辑距离,进而将计算出的带权编辑距离最小的纠错资源作为最为匹配的纠错资源,利用最为匹配的纠错资源对第一语音识别结果进行纠错。编辑距离,是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数,许可的编辑操作包括将一个字符替换成另一个字符,增加(插入)一个字符,删除一个字符。一般来说,编辑距离越小,两个字符串的相似度越大。本实施例中,在计算编辑距离时,对于增加和删除两种操作,编辑距离均可与传统的编辑距离度量方式相同,为1,而对于替换操作,可计算两个音节之间的发音距离,发音距离越近,产生的编辑距离增加量越小。以上是以纠错资源的种类为拆字资源为例,对如何根据纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错进行说明,对于其它种类,本发明所述方案同样适用,只是具体实现上可能会有所不同。比如,对于偏旁部首资源,针对每个纠错资源,可分别将其中的每个字转为对应的拼音,假设纠错信息为(单人旁:倒),同样地,可将纠错信息中的每个字分别转为对应的拼音,并根据拼音,查找与纠错信息完全匹配的纠错资源,如果只有一个,该纠错资源即为最为匹配的纠错资源,如果有多个,可按照预定方式,比如使用频率、上下文信息等进一步从中选出最为匹配的纠错资源。另外,还可通过词语或声调等来进行纠错。比如,用户输入的第一语音query为“李烁”,第一语音识别结果出现错误,识别为“李树”,那么用户可进一步输入第二语音query“第二个字是闪烁的烁”,从而来对第一语音识别结果进行纠错。总之,采用上述实施例所述方案,可获取用户输入的第二语音识别结果,并根据第二语音识别结果进行纠错意图识别,如果确定用户具有纠错意图,则可从第二语音识别结果中提取出纠错信息,并根据纠错信息对各纠错资源进行筛选,从而利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错,对于用户来说,可以像人与人之间对话时一样,描述错误或强调正解,相应地,可根据用户的描述对语音识别结果进行修正,从而实现了对于语音识别结果的准确纠错,即提高了纠错结果的准确性,并且,用户只需要通过语音的方式发出纠错指令即可,无需进行手动输入操作,从而对于用户来说降低了纠错难度。另外,采用上述实施例所述方案,可通过将纠错信息等转为拼音来进行纠错资源的筛选,从而尽可能地确保了在第二语音识别结果出现错误时,仍能准确地对第一语音识别结果进行纠错。再有,采用上述实施例所述方案,可为纠错资源通过kgram集合建立倒排索引,从而减少了相似度计算量,进而节省了计算资源。以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。图8为本发明所述基于人工智能的语音识别纠错装置实施例的组成结构示意图,如图8所示,包括:纠错意图识别单元801、纠错信息提取单元802以及纠错资源匹配单元803。纠错意图识别单元801,用于获取用户输入的第二语音query的第二语音识别结果,并根据第二语音识别结果进行纠错意图识别。纠错信息提取单元802,用于当纠错意图识别单元801识别出用户具有纠错意图时,从第二语音识别结果中提取出纠错信息。纠错资源匹配单元803,用于根据纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错,第一语音识别结果为在第二语音query之前输入的第一语音query的语音识别结果。纠错意图识别单元801在接收到用户输入的第二语音query之后,可首先按照现有技术对其进行语音识别,从而得到第二语音识别结果。之后,纠错意图识别单元801可根据第二语音识别结果进行纠错意图识别,即确定用户是否具有纠错意图,确定用户具有纠错意图之后,才会进行后续的纠错流程。考虑到不同的用户可能会采用不同的表达方式,有的表达方式比较明确,可以比较容易地识别出用户的纠错意图,而有的表达方式则比较复杂,识别起来比较困难,因此,本实施例中提供了两种识别方式,即基于规则的纠错意图识别方式以及基于统计的纠错意图识别方式,两种方式可结合使用。其中,基于规则的纠错意图识别方式可以是指预先生成m个纠错意图模板,m为正整数,具体取值可根据实际需要而定,通常大于一,这样,纠错意图识别单元801在获取到第二语音识别结果之后,可确定其是否与m个纠错意图模板中的至少一个相匹配,如果是,则可确定用户具有纠错意图。如果第二语音识别结果与任一纠错意图模板均不匹配,那么可进一步采用基于统计的纠错意图识别方式对第二语音识别结果进行识别。比如,纠错意图识别单元801可利用深度神经网络模型对第二语音识别结果进行意图分类,分类结果包括具有纠错意图以及不具有纠错意图。深度神经网络模型的框架可如图6所示。在确定用户具有纠错意图之后,并不能直接利用第二语音识别结果来对第一语音识别结果进行纠错,因为第二语音识别结果中不但包含纠错信息,还包含其它噪声信息,因此需要对有用的纠错信息进行提取,去除无关信息,才能完成后续的纠错处理。根据在对第二语音识别结果进行纠错意图识别时所采用的识别方式的不同,从第二语音识别结果中提取纠错信息的方式也会不同。其中,若纠错意图识别单元801利用纠错意图模板确定出用户具有纠错意图,那么纠错信息提取单元802可通过纠错意图模板的槽位信息确定出纠错信息。若纠错意图识别单元801利用深度神经网络模型确定出用户具有纠错意图,那么纠错信息提取单元802可通过序列标注模型,分别对第二语音识别结果中的每个字进行标注,利用标注为属于纠错信息的字组成纠错信息。序列标注模型的框架可如图7所示。在获取到纠错信息之后,即可利用纠错信息来与各纠错资源进行匹配,以确定纠错信息所描述的对象,即用户通过描述想要找到的是哪个字。纠错资源的种类很多,比如使用偏旁部首资源和拆字资源等,偏方部首资源即指(偏旁:字)的kv对,如(单人旁:倒),拆字资源即描述字的拆解信息及原字,如(人到:倒)。以下以拆字资源为例,对纠错资源匹配单元803的具体工作方式进行说明。相应地,如图8所示,本实施例所述装置中还可进一步包括:预处理单元800。预处理单元800,用于当纠错资源的种类为拆字资源时,针对每个纠错资源,分别将纠错资源中的每个字转为对应的拼音,并根据纠错资源中的各个字及拼音,生成纠错资源的key;建立key与对应的纠错资源之间的倒排索引。纠错资源匹配单元803可将纠错信息中的每个字分别转为对应的拼音;确定纠错信息中的各个字是否组成一个key,如果是,则将key对应的纠错资源作为筛选出的纠错资源;确定纠错信息中的各个字对应的拼音是否组成一个key,如果是,则将key对应的纠错资源作为筛选出的纠错资源。具体地,对于每个纠错资源,预处理单元800可分别按照以下方式确定出该纠错资源的key:针对纠错资源中的各个字,分别以连续i个term为最小粒度得到连续kgram集合,并针对纠错资源中的各个字对应的拼音,分别以连续i个term为最小粒度得到连续kgram集合,i为正整数,且2≤i≤n,n为纠错资源中包括的字数;针对纠错资源中的各个字,分别以j个term为最小粒度得到不连续的跳跃kgram集合,并针对纠错资源中的各个字对应的拼音,分别以j个term为最小粒度得到不连续的跳跃kgram集合,j为正整数,且2≤j≤n-1。将连续kgram集合以及跳跃kgram集合中的元素分别作为纠错资源的key。之后,纠错资源匹配单元803可从筛选出的各纠错资源中进一步选出与纠错信息最为匹配的纠错资源,并利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错。具体地,纠错资源匹配单元803可针对筛选出的每个纠错资源,分别计算纠错资源中的各个字的拼音所组成的字符串与纠错信息中的各个字的拼音所组成的字符串之间的带权编辑距离;将计算出的带权编辑距离最小的纠错资源作为最为匹配的纠错资源,利用最为匹配的纠错资源对第一语音识别结果进行纠错。其中,在计算编辑距离时,对于增加和删除两种操作,编辑距离均为1,对于替换操作,可计算两个音节之间的发音距离,发音距离越近,产生的编辑距离增加量越小。图8所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,不再赘述。图9示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图9显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图9所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图9所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所示实施例中的方法,即获取用户输入的第二语音query的第二语音识别结果,根据第二语音识别结果进行纠错意图识别,若确定用户具有纠错意图,则从第二语音识别结果中提取出纠错信息,根据纠错信息对各纠错资源进行筛选,利用选出的最为匹配的纠错资源对第一语音识别结果进行纠错,第一语音识别结果为在第二语音query之前输入的第一语音query的语音识别结果。具体实现请参照前述各实施例中的相关说明,不再赘述。本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1所示实施例中的方法。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1