一种语音识别的方法、装置和系统
技术领域
本发明实施例涉及语音识别技术领域,特别涉及一种语音识别的方法、装置和系统。
背景技术
语音识别技术广泛应用于人工智能领域的各个方面,智能家居、辅助驾驶、机器人等人工智能产品都离不开语音识别技术。目前,虽然用户能够通过语音指令控制人工智能产品,但是用户和人工智能产品的交互还存在很多限制,内容也比较简单,尚不能达到或接近人与人之间的交流模式。例如,目前语音识别技术还存在语音输入响应时间过长,识别的准确率不高的缺陷。这就亟需提出解决方案,以优化语音输入的响应时间,提高语音识别的准确率。
发明内容
针对现有技术中的问题,本发明提供一种语音识别的方法、装置和系统。
本发明提供一种语音识别的方法,所述方法包括:接收第一语音输入;对接收的所述第一语音输入进行语音粗识别得到第一识别结果;接收第二语音输入;对接收的所述第二语音输入进行语音粗识别得到第二识别结果;根据所述第一识别结果在建议补全词库中进行查找得到建议补全词;判断所述第二识别结果与所述建议补全词是否匹配;如果匹配,则确认所述建议补全词作为第四识别结果,并增加所述建议补全词在建议补全词库中的关联权重,输出所述第四识别结果;如果不匹配,则放弃所述建议补全词,对所述第一语音输入的第一识别结果和第二语音输入的第二识别结果进行联合识别,得到第五识别结果,根据所述第五识别结果更新所述建议补全词库。
优选的,如果匹配,则确认所述建议补全词作为第四识别结果,并增加所述建议补全词在建议补全词库中的关联权重后,还进一步根据所述建议补全词库对所述第一识别结果进行识别得到第三识别结果,输出第三识别结果。
具体的,所述根据所述建议补全词库对所述第一识别结果进行识别得到第三识别结果为:根据所述第二识别结果在所述建议补全词库中进行查找得到第二建议补全词;判断所述第一识别结果与所述第二建议补全词是否匹配;如果匹配,则确认所述第二建议补全词作为第三识别结果,并增加所述第二建议补全词在建议补全词词库中的关联权重。
进一步的,所述语音粗识别为识别出语音输入的读音,所述读音为拼音;所述第三识别结果、第四识别结果、第五识别结果为语义识别结果,识别结果为文字。
优选的,查找得到的建议补全词为按照关联权重排序的N个建议补全词,判断所述第二识别结果与所述建议补全词是否匹配为:分别判断所述第二识别结果与所述N个建议补全词是否匹配。
进一步的,如果匹配则确认所述建议补全词作为第四识别结果,具体为如果存在多于一个匹配的建议补全词,则选择关联权重最大的建议补全词作为第四识别结果。
具体的,根据所述第五识别结果更新所述建议补全词库为:从第五识别结果中分解出与所述第二识别结果对应的建议补全词,若所述建议补全词库中存在,则增加其关联权重;若不存在,则增加所述建议补全词,并将其关联权重设为初始值。
优选的,所述建议补全词的关联权重为该建议补全词与所述粗识别结果的关联度。
本发明还提供一种语音识别装置,所述装置包括:第一语音输入模块,接收第一语音输入;第一识别模块,对接收的所述第一语音输入进行语音粗识别得到第一识别结果;第二语音输入模块,接收第二语音输入;第二识别模块,对接收的所述第二语音输入进行语音粗识别得到第二识别结果;第一查找模块,根据所述第一识别结果在建议补全词库中进行查找得到建议补全词;第四识别模块,判断所述第二识别结果与所述建议补全词是否匹配;当匹配时,确认所述建议补全词作为第四识别结果,并增加所述建议补全词在建议补全词词库中的关联权重,输出所述第四识别结果;当不匹配时,放弃所述建议补全词;第五识别模块,当所述第二识别结果与所述建议补全词不匹配时,对所述第一语音输入的第一识别结果和第二语音输入的第二识别结果进行联合识别,输出第五识别结果,根据所述第五识别结果更新所述建议补全词库。
优选的,所述语音识别装置还包括第三识别模块和第二查找模块,第三识别模块与第二识别模块和第二查找模块相连,所述第二查找模块根据第二识别结果在所述建议补全词库中进行查找得到第二建议补全词,所述第三识别模块根据所述第二建议补全词对所述第一识别结果进行识别得到第三识别结果。
具体的,所述第三识别模块根据所述第二建议补全词对所述第一识别结果进行识别得到第三识别结果为:第三识别模块判断所述第一识别结果与所述第二建议补全词是否匹配;如果匹配,则确认所述第二建议补全词作为第三识别结果,输出第三识别结果,并增加所述第二建议补全词在建议补全词库中的关联权重。
优选的,所述语音粗识别为识别出语音输入的读音,所述读音为拼音;所述第三识别结果、第四识别结果、第五识别结果为语义识别结果,识别结果为文字。
优选的,第一查找模块或第二查找模块查找得到的建议补全词为按照关联权重排序的N个建议补全词,判断所述第二识别结果与所述建议补全词是否匹配为,分别判断所述第二识别结果与所述N个建议补全词是否匹配。
进一步的,如果存在多于一个匹配的建议补全词,所述第四识别模块选择关联权重最大的建议补全词作为第四识别结果。
具体的,根据所述第五识别结果更新所述建议补全词库为:从第五识别结果中分解出与所述第二识别结果对应的建议补全词,若所述建议补全词库中存在,则增加其关联权重;若不存在,则增加所述建议补全词,并将其关联权重设为初始值。
优选的,所述建议补全词的关联权重为该建议补全词与所述粗识别结果的关联度。
本发明还提供一种语音识别装置,其特征在于,所述装置包括包括处理器和存储器,所述存储器中存储有可在处理器上运行的计算机程序,所述计算机程序在被所述处理器执行时实现如前所述的方法。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有可在处理器上运行的计算机程序、所述计算机程序在被执行时实现如前所述的方法。
本发明还提供一种语音识别系统,包括如前所述的语音识别装置。
本发明为用户提供一种语音识别方法、装置和系统通过推送与前次输入的粗识别结果关联权重值较大的建议补全词,能够更快速、准确的实现后续输入的语义识别;能够根据用户的语言习惯和使用习惯灵活的更新建议补全词库的内容,实现语义识别的动态更新,满足用户的个性化需要;同时,还能够利用后输入词的识别结果校验先输入词识别结果的准确性,极大地提升了语音识别的准确度和响应速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中的语音识别方法流程图。
图2是本发明一个实施例中的建议候选词库。
图3是本发明一个实施例中的语音识别装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明的实施例以及实施例的具体特征是对本发明实施例技术方案的详细说明,而非对本发明说明书技术方案的限定,在不冲突的情况下,本发明的实施例以及实施例的技术特征可以相互结合。
在本发明的一个实施例公开了一种语音识别的方法,参见图1,接收第一语音输入,例如用户的语音指令为“帮我打开电视”,当用户说出“帮我打开”时,该输入作为第一语音输入被接收;对接收的所述第一语音输入进行语音粗识别得到第一识别结果,其中,语音粗识别是指将语音输入转换为读音,读音可以是中文中的拼音,也可以是其它语言中的读音,例如日文中的假名等,在本实施例中,将第一语音输入“帮我打开”识别为“bangwodakai”;将第二语音输入“电视”识别为“dianshi”。在建议补全词库中查找到“bangwodakai”这条记录,该记录对应有10条建议补全词,根据N-best算法,输出关联权重最高的前N条记录,在本实施例中,设定N为4,则前4条记录为“电视(16)”、“洗衣机(10)”、“门锁(8)”、“灯(6)”。其中,括号中的数字表示相应建议补全词关联权重。
优选的,为了提高整个语音识别过程的响应速度,可以在第二语音输入的同时,进行第一语音输入的建议补全词的查找操作。
接下来,判断所述第二识别结果与所述建议补全词是否匹配,例如,分别判断“dianshi”和“电视(16)”、“洗衣机(10)”、“门锁(8)”、“灯(6)”这4条记录是否匹配;当与“电视”匹配时,则确认所述建议补全词“电视”作为第四识别结果,并增加所述建议补全词在建议补全词库中的关联权重为“电视(17)”。
在另一个实施例中,若建议补全词库中“bangwodakai”对应了4个建议补全词“空调(16)”、“洗衣机(10)”、“门锁(8)”、“灯(6)”。而第二语音输入“电视”的识别结果为“dianshi”,则判断所述第二识别结果与所述建议补全词都不匹配,此时,放弃上述四个建议补全词,并将第一语音输入的第一识别结果“bangwodakai”和第二语音输入的第二识别结果“dianshi”进行合并得到“bangwodakaidianshi”,对该合并结果按照常规的语音识别方式进行联合识别。识别后得到“帮我打开电视”,根据该识别结果得到“bangwodakai”和“电视”这一关联记录,根据建议补全词库是否包含该条记录,而将该建议补全词的关联权重增加1,或将其添加到建议补全词库中,并将关联权重值设为初始值。
本发明的另一个实施例公开了一种语音识别方法,还可以利用建议补全词库对第一识别结果进行识别得到第三识别结果,在第四识别结果输出之前,输出第三识别结果。或者当第一识别结果利用其它方式得到语义识别结果后,利用第三识别结果对该语义识别结果进行校验和纠错。
具体的,所述根据所述建议补全词库对所述第一识别结果进行识别得到第三识别结果为:根据所述第二识别结果在所述建议补全词库中进行查找得到第二建议补全词;判断所述第一识别结果与所述第二建议补全词是否匹配;如果匹配,则确认所述第二建议补全词作为第三识别结果,并增加所述第二建议补全词在建议补全词词库中的关联权重。
在该另一个实施例中,在建议补全词库中查到“dianshi”这条记录,该记录对应4个建议补全词,分别是:帮我打开(20)”、“帮我关闭(20)”、“看(18)”、“台(16)”。将上述4个建议补全词分别与“bangwodakai”进行匹配,得到“帮我打开”这一结果。在第四识别结果“电视”之前输出第三识别结果“帮我打开”,也即输出识别结果“帮我打开电视”。
进一步的,所述语音粗识别为识别出语音输入的读音,所述读音为拼音;所述第三识别结果、第四识别结果、第五识别结果为语义识别结果,识别结果为文字。
优选的,查找得到的建议补全词为按照关联权重排序的N个建议补全词,判断所述第二识别结果与所述建议补全词是否匹配为:分别判断所述第二识别结果与所述N个建议补全词是否匹配。
进一步的,如果匹配则确认所述建议补全词作为第四识别结果,具体为如果存在多于一个匹配的建议补全词,则选择关联权重最大的建议补全词作为第四识别结果。
具体的,根据所述第五识别结果更新所述建议补全词库为:从第五识别结果中分解出与所述第二识别结果对应的建议补全词,若所述建议补全词库中存在,则增加其关联权重;若不存在,则增加所述建议补全词,并将其关联权重设为初始值。
优选的,所述建议补全词的关联权重为该建议补全词与所述粗识别结果的关联度。
本发明的方法可以具体应用于语音助手、智能语音交互APP、车机、智能终端等任意能够进行语音交互的软件或设备。
在本发明的一个实施例中,提供了一种建议补全词库,参见图2,用于用户输入语音指令时,为语义理解提供建议补全词,以提高语音识别的响应速度。该建议补全词库保存有和读音相关联的建议补全词。例如,建议补全词库中的一条记录格式可以为读音、建议补全词和该建议补全词与读音的关联权重,对于读音“yuding”,其建议补全词有:车票(15)、机票(12)、酒店(6)、餐厅(4);其中括号中的数字为关联权重。建议补全词库的内容是根据每次用户语音指令的输入而动态更新的,例如,当用户输入一次“预定机票”,与“yuding”这一读音相关联的“机票”这一建议补全词的关联权重就会递增1个单位。括号中的数字只是关联权重的一种表现形式,不应视为对关联权重的一种限制,关联权重及其增量可以根据使用的算法进行具体定义。当用户输入新的语音指令时,如果出现了新的建议补全词,则在该读音下增加一条新的记录,并将关联权重设为初始值。例如,当用户输入“预定场地”时,在“yuding”下增加场地(1)这条记录。同一读音下的建议补全词按照关联权重从高到低的顺序保存,当一个建议补全词的关联权重发生变化时,其保存顺序也相应的。输出建议补全词时,输出前N个建议补全词作为匹配对象。N为满足系统性能最好的值,可以根据匹配成功率以及响应速度等指标计算获得。该建议补全词库支持模糊匹配。例如,用户输入“请预定”时,语音识别结果为“qingyuding”,根据“qingyuding”在建议补全词库中搜索时,如果搜索不到完全匹配的选项时,可将“yuding”作为其搜索结果,进而提供与“yuding”对应的建议补全词。
优选的,为了进一步提高响应速度,所述建议补全词库还可以包含一个N-best库,查找建议补全词的操作仅在N-best库中进行。该N-best库是按照N-best算法对建议补全词库中的内容进行筛选后得到的,其仅包含满足N-best算法的建议补全词,N-best库的数据量远远小于建议补全词库,因此有更快的响应速度。N-best库的内容根据建议补全词库的内容进行动态更新,可以是周期性更新,也可以根据使用频率更新。
建议补全词库和N-best库可以设置在远端服务器,或云端,也可以设置在本地。设置在远端服务器或云端能够满足海量建议补全词的存储需求。设置在本地能够满足响应速度快的要求。
优选的,建议补全词库设置在远端服务器或云端,N-best库设置在本地,例如设置在车机、移动终端、智能终端中。
本发明的一个实施例公开了一种语音识别装置,参见图3,所述装置包括:第一语音输入模块,接收第一语音输入;第一识别模块,对接收的所述第一语音输入进行语音粗识别得到第一识别结果;第二语音输入模块,接收第二语音输入;第二识别模块,对接收的所述第二语音输入进行语音粗识别得到第二识别结果;第一查找模块,根据所述第一识别结果在建议补全词库中进行查找得到建议补全词;第四识别模块,判断所述第二识别结果与所述建议补全词是否匹配;当匹配时,确认所述建议补全词作为第四识别结果,并增加所述建议补全词在建议补全词词库中的关联权重,输出所述第四识别结果;当不匹配时,放弃所述建议补全词;第五识别模块,当所述第二识别结果与所述建议补全词不匹配时,对所述第一语音输入的第一识别结果和第二语音输入的第二识别结果进行联合识别,输出第五识别结果,根据所述第五识别结果更新所述建议补全词库。
优选的,所述语音识别装置还包括第三识别模块和第二查找模块,第三识别模块与第二识别模块和第二查找模块相连,所述第二查找模块根据第二识别结果在所述建议补全词库中进行查找得到第二建议补全词,所述第三识别模块根据所述第二建议补全词对所述第一识别结果进行识别得到第三识别结果。
具体的,所述第三识别模块根据所述第二建议补全词对所述第一识别结果进行识别得到第三识别结果为:第三识别模块判断所述第一识别结果与所述第二建议补全词是否匹配;如果匹配,则确认所述第二建议补全词作为第三识别结果,输出第三识别结果,并增加所述第二建议补全词在建议补全词库中的关联权重。
具体的,根据所述第五识别结果更新所述建议补全词库为:从第五识别结果中分解出与所述第二识别结果对应的建议补全词,若所述建议补全词库中存在,则增加其关联权重;若不存在,则增加所述建议补全词,并将其关联权重设为初始值。
第一语音输入模块与第二语音输入模块都是接收用户语音输入的输入模块,它们仅是逻辑上的划分,实际中可以共用一套语音采集设备或软件。第一识别模块和第一语音输入模块相连,第二识别模块和第二语音输入模块相连,分别对语音输入进行粗识别。粗识别是对用户语音输入进行的中间识别过程,并不能得到最终的识别结果,在中文输入的情况,粗识别识别出语音输入的拼音,例如用户想通过语音输入“布宜诺斯艾利斯”,语音识别装置能够根据固定的时长、语音语调、或气息变化等因素将其分割为“布宜诺斯”和“艾丽斯”两次语音输入,其中第一语音输入为“布宜诺斯”,第二语音输入为“艾丽斯”,也即用户通过第一语音输入模块输入“布宜诺斯”,与第一语音输入模块相连的第一识别模块将其粗识别为“buyinuosi”;用户紧接着通过第二语音输入模块输入“艾丽斯”,与第二语音输入模块相连的第二识别模块将其粗识别为“ailisi”。同样,第一识别模块和第二识别模块也可以仅是逻辑上的划分,实际上可以共用一套语音识别设备或软件。第一查找模块和第一识别模块、建议补全词库分别相连,根据所述第一识别结果在建议补全词库中进行查找得到建议补全词;例如,第一查找模块在建议补全词库中查找“buyinuosi”,仅得到一个建议补全词“艾丽斯(15)”,15代表其关联权重值。第四识别模块和第一查找模块、第二识别模块分别相连,第一查找模块和第二识别模块的输出结果作为第四识别模块的输入。第四识别模块输出的结果为第二语音输入的语义识别结果。比对第一查找模块和第二识别模块的结果是否匹配。在该实施例中,比对第二识别模块得到的所述第二识别结果“ailisi”与第一查找模块得到的所述建议补全词“艾丽斯”是否匹配;具体的可以将建议补全词翻译为拼音,再进行比对。“艾丽斯”的拼音为ailisi,与第二识别结果ailisi匹配,第四识别模块确认“艾丽斯”作为第四识别结果,并将建议补全词词库中“ailisi-艾丽斯”的关联权重,例如,更新为“ailisi-艾丽斯(16)”,同时输出“艾丽斯”。在该实施例中,第二语音输入“艾丽斯”的粗识别结果也即第二识别结果为“ailisi”,其准确识别结果也即语义识别结果为“艾丽斯”,同时“艾丽斯”也是第四识别模块输出的第四识别结果。
如果第四识别模块的判断结果为不匹配,则放弃第一查找模块提供的补全建议词,触发第五识别模块,对第一语音输入的第一识别结果和第二语音输入的第二识别结果进行联合识别。首先按输入顺序合并两次粗识别结果,得到“buyinuosiailisi”。对“buyinuosiaili”按照常规语义识别方法进行识别得到第五识别结果“布宜诺斯艾利斯”,然后利用分词方法得到“buyinuosi”和“艾丽斯”的对应关系,同时在建议补全词库中更新上述对应关系。
所述更新具体为,在建议补全词库中buyinuosi的关联词中增加艾丽斯这一关联词,并将关联权重设置为初始值,例如:1。或者,对于建议补全词库中存在这一记录,但是由于权重不满足N-best算法的条件无法被查找到的情况,将其关联权重增加,当其关联权重增加到满足N-best算法的条件时,该建议补全词将作为查找结果被第一查找模块获得或者被录入N-best库。
在本发明的另一个实施例中,第二次语音输入的第二识别结果也能够帮助准确识别第一次语音输入,或者对第一次语音的语义识别结果进行校正。优选的,语音识别装置还包括第二查找模块,与第二识别模块、建议补全词库分别相连,第三识别模块与第一识别模块、第二查找模块分别相连。例如,第二识别结果为“ailisi”,第二查找模块在建议补全词库中查找得到“ailisi-梦游仙境(17)”和“布宜诺斯-ailis(15)”两条记录,“梦游仙境”和“布宜诺斯”分别作为建议补全词输入到第三识别模块,第三识别模块分别比对“buyinuosi”和“梦游仙境”以及“buyinuosi”和“布宜诺斯”是否匹配,输出匹配结果“布宜诺斯”。
如果第三识别结果作为第一语音输入的语义识别结果,则第三识别结果和第四识别结果的输出顺序应该是第三识别结果在先,第四识别结果在后。
另一种情况下,第一语音输入“布宜诺斯”通过常规的语音识别和语义识别得到buyinuosi-布衣诺斯,利用第三识别结果“布宜诺斯”对上述不准确的识别结果进行校正,将“布衣诺斯”替换为“布宜诺斯”。
优选的,建议补全词库中还对应存储有建议补全词的属性特征,属性特征可以是词频、领域、类型、情景、语法等,例如buyinuosi-艾丽斯这条记录中,艾丽斯的属性特征为地名,语音识别装置可以通过识别语音输入的“订一张机票”这一上下文语境中得到“地名”这一属性特征,利用“地名”这一属性特征和buyinuosi这一语音输入快速定位到“艾丽斯”这个结果。
优选的,所述语音识别装置可以不包含第五识别模块,第五识别模块作为常规的语音识别模块单独设置,语音识别装置和第五识别模块相连,在语音识别装置无法获得识别结果时,调用第五识别模块进行常规语音识别。
优选的,所述语音识别装置可以为智能家居设备,如电视,可以为车机,还可以为手机等便携式智能终端。
优选的,所述语音粗识别为识别出语音输入的读音,所述读音为拼音;所述第三识别结果、第四识别结果、第五识别结果为语义识别结果,识别结果为文字。
优选的,第一查找模块或第二查找模块查找得到的建议补全词为按照关联权重排序的N个建议补全词,判断所述第二识别结果与所述建议补全词是否匹配为,分别判断所述第二识别结果与所述N个建议补全词是否匹配。
进一步的,如果存在多于一个匹配的建议补全词,所述第四识别模块选择关联权重最大的建议补全词作为第四识别结果。
优选的,所述建议补全词的关联权重为该建议补全词与所述粗识别结果的关联度。
本发明还提供一种语音识别装置,所述装置包括包括处理器和存储器,所述存储器中存储有可在处理器上运行的计算机程序,所述计算机程序在被所述处理器执行时实现上述语音识别的方法。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有可在处理器上运行的计算机程序、所述计算机程序在被执行时实现上述的方法。
本发明还提供一种语音识别系统,包括上述的语音识别装置。语音识别系统可以是存在于终端设备中,为特定用户提供语音识别,可以是构建于远端或云端,允许多个或者大量的用户设备访问,为用户群体提供集中的语音识别服务。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦式可编程只读存储器(EPROM)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码。
以上说明只是为了方便理解本发明而举出的例子,不用于限定本发明的范围。在具体实现时,本领域技术人员可以根据实际情况对装置的部件进行变更、增加、减少,在不影响方法所实现的功能的基础上可以根据实际情况对方法的步骤进行变更、增加、减少或改变顺序。
尽管已经示出和描述了本发明的实施例,本领域技术人员应当理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同替换所限定,在未经创造性劳动所作的改进等,均应包含在本发明的保护范围之内。