语音文本修正方法及装置、计算机设备和计算机存储介质
技术领域
本发明涉及初始语音文本纠错技术领域,特别是涉及一种语音文本修正方法及装置、计算机设备和计算机存储介质。
背景技术
这里的陈述仅提供与本申请有关的背景信息,而不必然地构成现有技术。
随着语音技术的快速发展,以语音为入口的物联网设备控制解决方案发展迅速。然而现阶段的语音控制智能家居解决方案语音识别准确度有限,不能达到用户的要求。
发明内容
基于此,有必要针对语音识别准确度低的问题,提供一种语音文本修正方法及装置、计算机设备和计算机存储介质。
本发明实施例提供了一种语音文本修正方法,包括:
获取初始语音文本;
按错误词的长度由长至短的顺序,依次根据预存的纠错词表中的各错误词和正确词,以正确词替换错误词的方式,对初始语音文本进行纠正并更新,以生成纠正语音文本;
其中,在初始语音文本中处于同一位置的词只纠正和更新一次;纠错词表包括多个键值对,键为错误词,值为正确词。
本申请实施例提供的语音文本修正方法,先将纠错词表中的最长的错误词与初始语音文本进行比对,根据比对结果确定初始语音文本中的错误词,并将该错误词替换为纠错词表中对应的正确词,实现错词纠正,并将初始语音文本更新为纠正后的语音文本,再将长度次之的错误词与更新后的初始语音文本进行比对、纠正、更新,以此循环,直至与长度最短的错误词进行比对后,生成纠正语音文本。由于在纠正过程中,对于初始语音文本中同一位置的词只进行一次纠正,对较长的语音文本内容进行优先纠正,可以防止对相邻两个词拼接处的前后两字误作为一个整体的词进行纠正,造成误纠错,将原本正确的词替换,提高纠错准确度,进而提高语音识别的准确度。
在其中一个实施例中,纠错词表中的各错误词由长至短排列;
按错误词的长度由长至短的顺序,依次根据预存的纠错词表中的各错误词和正确词,以正确词替换错误词的方式,对初始语音文本进行纠正并更新,以生成纠正语音文本的步骤包括:
将纠错词表中目标位置的错误词与初始语音文本进行比对,以确定初始语音文本中的目标错误词;其中,目标位置的初始值为纠错词表的表头位置;
查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词;
将初始语音文本更新为替换后形成的文本,并将目标位置更新为下一表格位置,执行将纠错词表中目标位置的错误词与初始语音文本进行比对,确定初始语音文本中的目标错误词的步骤;
将目标位置更新为所述纠错词表的表尾位置后所更新替换形成的语音文本作为纠正语音文本。
在其中一个实施例中,将纠错词表中目标位置的错误词与初始语音文本进行比对,确定初始语音文本中的目标错误词的步骤包括步骤:
获取纠错词表中的各错误词,并将各错误词转化为拼音字符串;
将初始语音文本转换为待纠正拼音字符串;
将纠错词表中目标位置的错误词所转化的拼音字符串与待纠正拼音字符串比对,得到多个拼音字符交集;
确定各拼音字符交集中的最大子字符串为目标错误词。
在其中一个实施例中,在确定各拼音字符交集中的最大子字符串为目标错误词的步骤之后还包括:
记录目标错误词对应的拼音字符在待纠正拼音字符串中的位置信息;
查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词的步骤包括:
若当前记录的位置信息与前一次记录的位置信息不同,则查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词。
在其中一个实施例中,语音文本修正方法还包括:
对纠正语音文本进行分词,生成纠正语音文本的词列表,词列表包括设备词和控制词;
根据纠正语音文本的词列表和预存的词义标准化词典,对纠正语音文本的词列表中的设备词和控制词均进行标准化,得到标准化语音文本;
根据标准化语音文本和控制指令词表生成控制指令,控制指令用于指示设备词对应的设备执行控制词对应的动作,控制指令词表用于表征标准化语音文本和控制指令的关系。
在其中一个实施例中,设备词包括设备名和设备昵称;根据标准化语音文本和控制指令词表生成控制指令的步骤包括:
获取控制范围内的设备列表,设备列表包括设备名,设备昵称和设备物理地址;
按照设备昵称和设备名的解析优先级设置,采用设备列表中的设备昵称和设备名对标准化语音文本进行匹配解析,获得标准化语音文本对应的设备昵称,设备名和设备物理地址,设备昵称的解析优先级高于设备名的解析优先级;
保留标准化语音文本中最后一个的控制词和最后一个设备昵称,并根据保留的控制词、设备昵称、设备物理地址和控制指令词表生成控制指令。
在其中一个实施例中,设备列表中还包括设备位置信息,语音文本修正方法还包括:
根据设备列表中的设备位置信息解析标准化语音文本对应的设备位置信息;
若根据标准化语音文本对应的设备位置信息判定设备不在控制范围内,则发送第一类回复语,第一类回复语用于提示语音控制的设备不在控制范围内。
在其中一个实施例中,语音文本修正方法还包括:
若根据标准化语音文本和控制指令词表匹配未生成控制指令,则发送第二类回复语,第二类回复语用于提示用户提供新的语音;
将获取的新的语音转换为新的语音文本;
将标准化语音文本和新的语音文本融合,生成融合后的语音文本;
并将初始语音文本更新为融合后的语音文本。
一种语音文本修正装置,包括:
语音文本获取模块,用于获取初始语音文本;
纠正语音文本获取模块,用于按错误词的长度由长至短的顺序,依次根据预存的纠错词表中的各错误词和正确词,以正确词替换错误词的方式,对初始语音文本进行纠正并更新,以生成纠正语音文本;其中,在初始语音文本中处于同一位置的词只纠正和更新一次;纠错词表包括多个键值对,键为错误词,值为正确词。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述语音文本修正方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述语音文本修正方法的步骤。
附图说明
图1为一个实施例中语音文本修正方法的应用环境图;
图2为一个实施例中语音文本修正方法的流程示意图;
图3为一个实施例中按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本步骤的流程示意图;
图4为一个实施例中将纠错词表中目标位置的错误词与初始语音文本进行比对,确定初始语音文本中的目标错误词步骤的流程示意图;
图5为另一个实施例中语音文本修正方法的流程示意图;
图6为一个实施例中根据标准化语音文本和控制指令词表生成控制指令步骤的流程示意图;
图7为一个实施例中语音纠错装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件并与之结合为一体,或者可能同时存在居中元件。本文所使用的术语“安装”、“一端”、“另一端”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
为更好的说明本申请实施例的方案,提供如图1所示的应用场景:智能音响获取用户语音后,将该语音转化为语音文本传输至云端服务器,由该云端服务器进行语义解析,生成控制指令发送到用户想要控制的智能家居设备,指示该智能家居设备执行相应的动作,例如,用户语音为“打开空调”,则生成的控制指令用于指示空调开始工作。但发明人在实施过程中,发现在进行语义解析时,常会发生解析错误,语音识别准确度低,从而造成智能家居的误控制。
针对语音识别准确度低的问题,本申请实施例提供本发明实施例提供了一种语音文本修正方法,如图2所示,包括:
S20:获取初始语音文本;
S40:按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本;
其中,对初始语音文本中同一位置的词只进行一次纠正和更新;纠错词表包括多个键值对,键为错误词,值为正确词。
键值对中每个键后面对应着相应的值,当相应的键被按下时,则会输出相应的值作为结果,即通过错误词可以确定与其对应的正确词。错误词的长度由长至短是指组成错误词的字数由多到少排列。对初始语音文本中同一位置的词只进行一次纠正和更新是指,每次比对纠正均保证上一轮纠正更新的正确词仍然在。
具体的,本申请实施例提供的语音文本修正方法,通过将获取的初始语音文本与特设的纠错词表进行比对,例如,先将纠错词表中的最长的错误词与初始语音文本进行比对,根据比对结果确定初始语音文本中的错误词,并将该错误词替换为纠错词表中对应的正确词,实现错词纠正,并将初始语音文本更新为纠正后的语音文本,再将长度次之的错误词与更新后的初始语音文本进行比对、纠正、更新,以此循环,直至与长度最短的错误词进行比对后,生成纠正语音文本。例如,若初始语音文本为“打开音乐智能灯和详细及”,纠错词表中的错误词的按长度由长至短依次是“详细及”、“和香”,且“详细及”对应的正确词为“香薰机”,“和香”对应的正确词为“合上”时,先以正确词“香薰机”替代错误词“详细及”对初始语音文本“打开音乐智能灯和详细及”进行纠正和更新,更新后的语音文本为“打开音乐智能灯和香薰机”,再根据错误词“和香”对更新后的语音文本进行纠正和更新,但由于“和香”中的“香”已经进行一次纠正和更新,所以不再对该词进行纠正和更新,即不会以“合上”替代“和香”,以免覆盖上次纠正结果。
本申请实施例提供的语音文本修正方法,在纠正过程中,对于初始语音文本中同一位置的词只进行一次纠正,且对较长的语音文本内容进行优先纠正,可降低或防止对相邻两个词拼接处的前后两字误作为一个整体的词进行纠正,将原本正确的词替换或覆盖原来正确的纠正内容,造成误纠错,提高纠错准确度,进而提高语音识别的准确度。可选的,可对收集的错误词先去重,再由长至短的顺序排列生成纠错词表,以提高语音修正处理速度。
在其中一个实施例中,如图3所示,纠错词表中的各错误词由长至短排列;按错误词的长度由长至短的顺序,依次根据预存的纠错词表中的各错误词和正确词,以正确词替换错误词的方式,对初始语音文本进行纠正并更新,以生成纠正语音文本的步骤包括:
S41:将纠错词表中目标位置的错误词与初始语音文本进行比对,以确定初始语音文本中的目标错误词;其中,目标位置的初始值为纠错词表的表头位置;
S42:查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词;
S43:将初始语音文本更新为替换后形成的文本,并将目标位置更新为下一表格位置,执行步骤S41;
S44:将目标位置更新为纠错词表的表尾位置后所更新替换形成的语音文本作为纠正语音文本。
为了加快处理速度,无需每次从纠错词表中查找不同长度的错误词,本申请实施例提供的语音文本修正方法,将纠错词表中的错误词由长至短排列,在根据纠错词表中的错误词对初始语音文本进行纠错时,从表头位置开始,将表头位置的错误词与初始语音文本进行比对,确定该初始语音文本中的目标错误词,并通过该目标错误词查找纠错词表中对应的正确词,以正确词替代错误词的方式,对初始语音文本进行纠正和更新,然后,对纠错词表下一格中的错误词与更新替换后的语音文本进行比对,确定目标错误词,查找纠错词表中对应的正确词,并将目标错误词替换为该正确词,每次更新完,就将纠错表中下一个的错误词与新更新生成的语音文本进行比对,确定目标错误词和替换该目标错误词,直至根据纠错表中表尾的错误词对上次更新的语音文本进行纠正和更新后,说明纠错结束,将最后更新的语音文本为纠正语音文本。需要说明的是,对于初始语音文本中已经纠正过的词所处的位置,若在下次错误词比对时,该位置处的词或此种的字与纠错词表中的错误词仍有交集,则不对本次比对确定的目标错误词进行纠正,以避免破坏或覆盖前面的纠正结果。可选的,若纠错词表中当前表格的错误词与初始语音文本比对后,发现初始语音文本中无该错误词,则不进行纠正和更新,直接根据纠错词表下一格的错误词对初始语音文本进行纠正和更新。
为了更好的说明该纠正语音文本的生成过程,举以下具体例子进行说明,但该例子并不对本申请实施例的保护范围造成限定。纠错词表中,错误词由长至短依次排列为“星月智能灯”、“详细及”、“条爱”、“和香”进行说明,各错误词对应的正确词分别为“音乐智能灯”、“香薰机”、“条爱”、“合上”,在对初始语音文本进行纠错时,先将表头位置的错误词“星月智能灯”与初始语音文本“打开星月智能灯和详细及,条爱客厅灯”进行比对,确定该初始语音文本中的目标错误词为“星月智能灯”,并用查表所得的正确词“音乐智能灯”替换“星月智能灯”,初始语音文本更新为“打开音乐智能灯和详细及,条爱客厅灯”;然后将纠错词表中第二格的错误词“详细及”与更新后的初始语音文本“打开音乐智能灯和详细及,条爱客厅灯”进行比对,确定目标错误词“详细及”,用查表所得的正确词“香薰机”替换“详细及”,得到更新后的初始语音文本“打开音乐智能灯和香薰机,条爱客厅灯”;再对纠错词表中第三格的错误词“条爱”与“打开音乐智能灯和香薰机,条爱客厅灯”进行比对,确定目标错误词“条爱”,并用查表所得的正确词“调暗”替换“条爱”,更新初始语音文本得到“打开音乐智能灯和香薰机,调暗客厅灯”;最后将纠错词表表尾的错误词“和香”与“打开音乐智能灯和香薰机,调暗客厅灯”比对,确定目标错误词“和香”,但由于对“香薰机”所在位置已经进行过一次纠正和更新了,即使匹配到错误词“和香”,也不会采用正确词“合上”替代“和香”。
在其中一个实施例中,如图4所示,将纠错词表中目标位置的错误词与初始语音文本进行比对,确定初始语音文本中的目标错误词的步骤包括步骤:
S411:获取纠错词表中的各错误词,并将各错误词转化为拼音字符串;
S412:将初始语音文本转换为待纠正拼音字符串;
S413:将纠错词表中目标位置的错误词所转化的拼音字符串与待纠正拼音字符串比对,得到拼音字符交集;
S414:确定各拼音字符交集中的最大子字符串为目标错误词。
由于字符比文本所占存储空间和所要求的处理能力要小,所以本申请实施例提供的语音文本修正方法中,将纠错词表中目标位置的错误词与初始语音文本进行比对,确定初始语音文本中的目标错误词的过程可以采用字符串比对的方式实现,加快处理速度。具体的,将从纠错词表中提取的各错误词转化为拼音字符串,将初始语音文本转换为待纠正拼音字符串,然后将纠错词表中目标位置的错误词所转化的拼音字符串与待纠正拼音字符串比对,得到多个拼音字符交集,确定各拼音字符交集中的最大子字符串为目标错误词,即优先考虑对较长错误词进行修改,最大限度保障上下词之间的连贯性,避免将单个设备词或控制词分割后比对修改,造成误纠正。
为了更好的说明本申请实施例中将纠错词表中目标位置的错误词与初始语音文本进行比对,确定初始语音文本中的目标错误词的实现过程,在此举例说明,此例子并不对本申请实施例的保护范围造成限定。以初始语音文本为“打开星月智能灯,星月播放器和详细及,条爱客厅灯”为例,纠错词表中的错误词按照词的长度由长至短依次排列为“星月智能灯”、“详细及”、“条爱”,各错误词对应的正确词分别为“音乐智能灯”和“音乐”。首先先将初始语音文本转换为待纠正拼音字符串“da,kai,xing,yue,zhi,neng,deng,xing,yue,bo,fang,qi,he,xiang,xi,ji,tiao,ai,ke,ting,deng”,并将各错误词依次转换为拼音字符串,然后将纠错词表中表头位置的错误词“星月智能灯”所转化的拼音字符串“xing,yue,zhi,neng,deng”与待纠正拼音字符串“da,kai,xing,yue,zhi,neng,deng,he,xiang,xi,ji,tiao,ai,ke,ting,deng”比对,得到拼音字符交集“xing,yue,zhi,neng,deng”和“xing,yue”,确定各拼音字符交集中的最大子字符串“xing,yue,zhi,neng,deng”为目标错误词,并采用查表所得的正确词“音乐智能灯”所转换的拼音字符串“yinyuezhinengdeng”替换“xingyuezhinengdeng”,更新后的待纠正拼音字符串为“da,kai,yin,yue,zhi,neng,deng,he,xiang,xi,ji,tiao,ai,ke,ting,deng”,然后再将纠错词表中下一个的错误词“详细及”所转换的拼音字符串“xiang,xi,ji”与更新后的待纠正拼音字符串进行比对。优先考虑对较长错误词进行修改,最大限度保障上下词之间的连贯性,避免将单个设备词或控制词分割后比对修改,造成误纠正。
在其中一个实施例中,如图5所示,确定各拼音字符交集中的最大子字符串为目标错误词的步骤之后还包括:
S50:记录目标错误词对应的拼音字符在待纠正拼音字符串中的位置信息;
查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词的步骤包括:
S421:若判定当前记录的位置信息与之前记录的位置信息不同,则查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词。
其中,为了避免初始语音文本中在先修改的内容,在后续纠正和更新中被重新修改,在利用纠错词表中的当前错误词确定目标错误词后,还记录该目标错误词在待纠正拼音字符串中的位置,在采用纠错词表中的下一个错误词进行目标错误词确定时,若确定的目标错误词在待纠正拼音字符串中的位置与在先记录的位置有重叠,说明该目标错误词中的部分内容已经被修改过,再对该部分内容进行纠正修改将覆盖原来的纠正修改内容,所以不对后一次确定的目标错误词进行纠正和更新。类似的,当确定的目标错误词所在位置与在先记录的位置无重叠,则说明还未对该部分内容进行纠正和更新,则可以从纠错词表中查找该目标错误词对应的正确词,并用该正确词替代该目标错误词,并更新初始语音文本,以便与纠错词表中的下一错误词进行比对。
在其中一个实施例中,如图5所示,语音文本修正方法还包括:
S60:对纠正语音文本进行分词,生成纠正语音文本的词列表,词列表包括设备词和控制词;
S70:根据纠正语音文本的词列表和预存的词义标准化词典,对纠正语音文本的词列表中的设备词和控制词均进行标准化,得到标准化语音文本;
S80:根据标准化语音文本和控制指令词表匹配生成控制指令,控制指令用于指示设备词对应的设备执行控制词对应的动作,控制指令词表用于表征标准化语音文本和控制指令的关系。
具体的,可以使用开源的工具jieba分词工具,将得到的纠正语音文本分词,然后利用提前加载好的词义标准化词典,该词义标准化词典主要包括一些常用的设备词和控制词,将用户语音输入时的口语词替换为标准的控制词和设备词,生成标准化语音文本,比如:开灯中的控制词“开”,替换为“打开”。其中,该标准化语音文本可以以词表的形式表现。
在其中一个实施例中,如图6所示,设备词包括设备名和设备昵称;根据标准化语音文本控制指令词表匹配生成控制指令的步骤包括:
S81:获取控制范围内的设备列表,设备列表包括设备名,设备昵称和设备物理地址;
S82:按照设备昵称和设备名的解析优先级设置,采用设备列表中的设备昵称和设备名对标准化语音文本进行匹配解析,获得标准化语音文本对应的设备昵称,设备名和设备物理地址,设备昵称的解析优先级高于设备名的解析优先级;
S83:保留标准化语音文本中最后一个的控制词和最后一个设备昵称,并根据保留的控制词、设备昵称、设备物理地址和控制指令词表生成控制指令。
在进行同义词替换、去口语化处理后,可以向设备开放平台(云端服务器等)请求控制范围内的设备列表(可以是音响控制范围内的设备列表),设备列表中可以包括有设备名(如:音乐智能灯),设备昵称(如:床头灯),设备类别(如:灯),设备位置信息(如:卧室),设备物理地址等字段,设备物理地址又称为MAC(MediaAccess Control)地址或硬件地址,用来确认设备位置的地址。其中,设备名、设备昵称和设备类别等设备词与设备位置信息和设备物理地址相对应,确定设备词即可确定该设备的位置信息和设备物理地址,设备名、设备昵称和设备类别、设备位置信息等可以是根据具体要控制的智能家居的具体布置情况和型号来预先获取的,设备物理地址可以是由路由器或家庭网关、服务器等分配的。其中,若标准化语音文本以此表形式表现,则可以先用空格将此表形式的标准化语音文本拼接成完整的文本字符串,便于后续的数据处理。
根据预设的设置解析优先级,例如优先以解析的设备昵称为准确定控制对象,而设备类别、设备名次之,比如打开床头灯,会优先解析文本中是否含有床头灯这个呢称,其次可以解析是否含有设备类别,比如打开灯。具体解析过程可以是,优先获取设备列表中的各设备昵称,并将各设备昵称转换为拼音字符串,依次将各设备昵称转换的拼音字符与该标准化语音文本转化的拼音字符比对,取交集,确定各交集中的最大字符串且设备昵称,类似的,对设备类别,设备名,设备位置信息等按照解析优先级的高低依次进行解析(例如,床头灯是设备昵称,由于设备昵称具有最高优先级,则在解析时就是不会误认用户想要打开灯这一类别的所有设备)。为实现对各设备的控制,通常需要将标准化语音文本处理为单设备词(设备昵称/设备类别)+控制指令的情况,在没有进行智能断句处理时,为防止歧义和指令冲突的情况,可以保留标准化语音文本(字符串)中靠后的控制词和设备词,组成控制指令。例如,打开空调关闭灯和窗帘,最后保留生成的控制指令为关闭窗帘。
在其中一个实施例中,如图3所示,获取初始语音文本的步骤之前还包括步骤:
S10:将获取的语音转化为初始语音文本。
在获取到初始语音文本之前,还可以将获取的语音转化为初始语音文本,主要是从收音设备获取用户语音,将该语音转化为文本。另外,若用户语音是由具有语音识别(Automatic Speech Recognition,ASR)的智能音响等收集的,可以由智能音响将语音转化为初始语音文本后,再从该智能音响直接获取该初始语音文本即可。
在其中一个实施例中,如图5所示,设备列表中还包括设备位置信息,语音文本修正方法还包括:
S90:根据设备列表中的设备位置信息解析标准化语音文本对应的设备位置信息;
S91:若根据标准化语音文本对应的设备位置信息判定设备不在控制范围内,则发送第一类回复语,第一类回复语用于提示语音控制的设备不在控制范围内。
为了提高控制效果,通常会预先设定控制范围,在对标准化语音文本进行解析得到用户意图控制的设备后,若根据解析得到的设备位置信息判定该设备位置与控制范围冲突,则发送第一类回复语,提示用户意图控制的设备不在控制范围内。例如,控制范围为卧室,此时如果用户对音响发送语音控制指令控制卧室内的床头灯,音响将该语音转换为初始语音文本并传送至处理终端,处理终端对该初始语音文本进行一系列处理后解析得到床头灯的设备位置信息,由于该设备位置信息与控制范围不冲突,则可以生成控制指令控制卧室内的床头灯。若检测到所述标准化语音文本中不包括设备位置信息,则将预设的默认位置作为控制范围,例如,音响所在位置,所以对于卧室内的其他设备进行控制,则用户在输入语音时,不需要指定设备位置,默认打开卧室的设备,如果想要打开默认位置以外的设备,用户在输入语音时指定设备位置。具体的控制范围可以用户根据应用场景内被控设备的位置和网络覆盖情况等来设定,也可以由开放平台预设。
可选的,若判定解析的设备位置信息与控制范围冲突,则可以发送第一类回复语至音响,使音响播报该第一类回复语。比如,若控制范围为客厅,用户在客厅对音响输入:打开香薰机,由于没有提供设备位置信息,所以控制范围为默认位置,即音响所在的客厅,但根据设备里列表解析出的香薰机的设备位置信息为卧室,位置信息冲突,则发送第一类回复语:不好意思,在客厅没找到香薰机。
在其中一个实施例中,如图5所示,语音文本修正方法还包括:
S92:若根据标准化语音文本和控制指令词表匹配未生成控制指令,则发送第二类回复语,第二类回复语用于提示用户提供新的语音;
S93:将获取的新的语音转换为新的语音文本;
S94:将标准化语音文本和新的语音文本融合,生成融合后的语音文本;
S95:并将初始语音文本更新为融合后的语音文本。
如果根据标准化语音文本、上述标准化语音文本解析结果和控制指令词表没有正确匹配到指令,则需要反问用户进行澄清,此时,发送第二类回复语,用于提示用户提供新的语音,大致可分为两种情况:一种是当用户没有表述清楚需要设备执行什么功能时,第二类回复语可以是:您要控制这台设备干什么。第二种是若匹配得到多台设备均符合用户的语音所对应的控制指令时(例如,若只提供了设备名——灯,未提供设备昵称——床头灯),第二类回复语可以是:请问您具体需要控制哪一个设备。并获取新的语音,将该语音转换为新的语音文本,与先前得到的标准化语音文本进行融合,例如,直接进行文本拼接,将初始语音文本更新为融合后的语音文本,并对该初始语音文本执行上述纠错、分词、标准化处理、控制指令匹配等操作,若能够匹配成功控制指令,则发送控制指令至相应的设备,控制流程结束。可选的,为了减少对话流程的复杂性,此处只进行一次第二类回复语发送,如果仍不能成功匹配到控制指令,则发送第三类回复语,提示用户所澄清的语音内容有误,无法识别,还可以将本轮对话中的全部信息存入用户对象。
在其中一个实施例中,以同一台收音设备采集的语音为对象的用户建立一个具有生命周期的用户对象,生命周期用来防止云端或者终端内存堆积的情况和控制多轮对话的最大时间间隔,以提高语音纠错识别的效率。用户对象中可以存有该收音设备所在的位置和之前的标准化文本等对话内容。具体的,若在发送第二类回复语之后的生命周期内收到语音,才对新的语音转换为新的语音文本,并与上轮得到的标准化语音文本进行融合。若发送第二类回复语之后超过生命周期才收到新的语音,则认为该语音对应的内容与上轮解析得到的标准化语音文本无关联。例如,生命周期可以是1分钟,若发送第二类回复语1分钟之后才收到新的语音,则认为该语音内容与上轮得到的标准化语音文本内容无关,不会进行文本融合,以新获取的语音开始新的一轮语音文本转换、纠错分词、标准化处理、控制指令匹配、存储、融合、上下语音内容联想等步骤。
如果根据标准化语音文本、上述标准化语音文本解析结果和控制指令词表能正确匹配到指令,则发送控制指令至对应的设备,驱动该设备按用户意图进行工作。可选的,在匹配成功生成控制指令时,还可以发送第四类回复语,该第四类回复语用于提示设备正在执行控制指令,可以发送该第四类回复语至音响,由音响进行播报。例如标准化语音文本为:打开空调。匹配成功得到的控制指令用于驱动空调打开,发送至音响的第一类回复语内容可以是:正在为您打开空调。
在其中一个实施例中,在按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本的步骤之前包括:
对初始语音文本进行领域意图识别,判断是否要进行设备控制;
按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本的步骤包括:
若判定是进行设备控制,则按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本。
具体的,可以将初始语音文本与预存的设备名进行匹配,当至少有一种设备匹配时,说明当前需要对设备进行控制,然后进行后续的文本纠错等步骤。若与所有预存的设备名均不匹配,说明该初始语音文本对应的用户语音不是以控制设备为目的的,则进入其他识别模式,例如,是以聊天互动为目的的语音,则进入聊天识别模式。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
一种语音文本修正装置,如图7所示,包括:
语音文本获取模块1,用于获取初始语音文本;
纠正语音文本获取模块2,用于按错误词的长度由长至短的顺序,依次根据预存的纠错词表中的各错误词和正确词,以正确词替换错误词的方式,对初始语音文本进行纠正并更新,以生成纠正语音文本;其中,在初始语音文本中处于同一位置的词只纠正和更新一次;纠错词表包括多个键值对,键为错误词,值为正确词。
其中,关于语音纠错装置的具体限定可以参见上文中对于语音文本修正方法的限定,在此不再赘述。具体的,通过语音文本获取模块1获取初始语音文本,并将该初始语音文本发送至纠正语音文本获取模块2,然后纠正语音文本获取模块2按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,对所述初始语音文本中同一位置的词只进行一次纠正和更新,遍历完所有纠错词表中的错误词后,最终更新的初始语音文本为纠正语音文本。上述语音纠错置中的各个模块可全部或部分通过软件、硬件及其组合来实现,其有益效果与上述方法实施例中相同。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在其中一个实施例中,纠正语音文本获取模块2包括:
比对单元,用于将纠错词表中目标位置的错误词与初始语音文本进行比对,以确定初始语音文本中的目标错误词;其中,目标位置的初始值为纠错词表的表头位置;
正确词替换单元,用于查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词;
语音文本更新单元,用于将初始语音文本更新为替换后形成的文本,并将目标位置更新为下一表格位置,执行将纠错词表中目标位置的错误词与初始语音文本进行比对,以确定初始语音文本中的目标错误词的步骤;
纠正语音文本生成单元,用于将目标位置更新为所述纠错词表的表尾位置后所更新替换形成的语音文本作为纠正语音文本;
其中,纠错词表中的各错误词由长至短排列。
其中,纠正语音文本获取模块2中各个单元可全部或部分通过软件、硬件及其组合来实现,其有益效果与上述方法实施例中相同。具体的,比对单元将纠错词表中目标位置的错误词与初始语音文本进行比对,以确定初始语音文本中的目标错误词,并将确定的目标错误词发送至正确词替换单元,正确词替换单元查找纠错词表中目标错误词对应的正确词,并将目标错误词替换为对应的正确词,再通过语音文本更新单元将初始语音文本更新为替换后形成的文本,并将目标位置更新为下一表格位置,并驱动比对单元再次执行将纠错词表中目标位置的错误词与初始语音文本进行比对,以确定初始语音文本中的目标错误词的步骤,最后,纠正语音文本生成单元将目标位置更新为所述纠错词表的表尾位置后所更新替换形成的语音文本作为纠正语音文本。
在其中一个实施例中,比对单元包括:
错误词转换单元,用于获取纠错词表中的各错误词,并将各错误词转化为拼音字符串;
初始语音文本转换单元,用于将初始语音文本转换为待纠正拼音字符串;
拼音字符串比对单元,用于将纠错词表中目标位置的错误词所转化的拼音字符串与待纠正拼音字符串比对,得到多个拼音字符交集;
目标错误词确定单元,用于确定各拼音字符交集中的最大子字符串为目标错误词。
在其中一个实施例中,语音文本修正装置还包括:
位置信息记录单元,用于记录所述目标错误词对应的拼音字符在所述待纠正拼音字符串中的位置信息;
比对单元还包括:
防覆盖错词替换单元,用于在判定当前记录的位置信息与前一次记录的位置信息不同,则查找所述纠错词表中目标错误词对应的正确词,并将所述目标错误词替换为对应的正确词。
在其中一个实施例中,语音文本修正装置还包括:
分词单元,用于对纠正语音文本进行分词,生成纠正语音文本的词列表,词列表包括设备词和控制词;
语音文本标准化单元,用于根据纠正语音文本的词列表和预存的词义标准化词典,对纠正语音文本的词列表中的设备词和控制词均进行标准化,得到标准化语音文本;
控制指令生成单元,用于根据标准化语音文本和控制指令词表生成控制指令,控制指令用于指示设备词对应的设备执行控制词对应的动作,控制指令词表用于表征标准化语音文本和控制指令的关系。
在其中一个实施例中,控制指令生成单元包括:
设备列表获取单元,用于获取控制范围内的设备列表,所述设备列表包括设备名,设备昵称和设备物理地址;
标准化语音文本匹配解析单元,用于按照设备昵称和设备名的解析优先级设置,采用所述设备列表中的设备昵称和设备名对所述标准化语音文本进行匹配解析,获得所述标准化语音文本对应的设备昵称,设备名和设备物理地址,所述设备昵称的解析优先级高于所述设备名的解析优先级;
控制指令优化单元,用于保留标准化语音文本中最后一个的控制词和最后一个设备昵称,并根据保留的控制词、设备昵称、设备物理地址和控制指令词表生成控制指令;
其中,设备词包括设备名和设备昵称。
在一个实施例中,语音文本修正装置还包括:
设备位置信息解析单元,用于根据设备列表中的设备位置信息解析标准化语音文本对应的设备位置信息;
第一类回复语发送单元,用于在根据标准化语音文本对应的设备位置信息判定设备不在控制范围内时,发送第一类回复语,第一类回复语用于提示语音控制的设备不在控制范围内。
在其中一个实施例中,语音文本修正装置还包括:
第二类回复语发送单元,用于在根据标准化语音文本和控制指令词表匹配未生成控制指令时,则发送第二类回复语,第二类回复语用于提示用户提供新的语音;
语音转换单元,用于将获取的新的语音转换为新的语音文本;
语音文本融合单元,用于将标准化语音文本和新的语音文本融合,生成融合后的语音文本;
融合更新单元,用于并将初始语音文本更新为融合后的语音文本。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储纠错词表、设备列表、自定义词典等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述图2-图6对应的实施例中的语音文本修正方法,关于语音文本修正方法的具体实现,可参考前述图2-图6对应的实施例的描述,此处不再赘述。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
S20:获取初始语音文本;
S40:按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本;
其中,对初始语音文本中同一位置的词只进行一次纠正和更新;纠错词表包括多个键值对,键为错误词,值为正确词。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S20:获取初始语音文本;
S40:按错误词的长度由长至短的顺序依次根据预存的纠错词表中的各错误词和正确词对初始语音文本进行纠正并更新,生成纠正语音文本;
其中,对初始语音文本中同一位置的词只进行一次纠正和更新;纠错词表包括多个键值对,键为错误词,值为正确词。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。