语音识别方法、装置及车辆与流程

文档序号:33625240发布日期:2023-03-28 20:13阅读:63来源:国知局
语音识别方法、装置及车辆与流程

1.本技术涉及语音识别技术领域,尤其涉及一种语音识别方法、装置及车辆。


背景技术:

2.语音交互是基于语音输入的新一代交互模式。随着汽车工业和人机交互技术的不断发展,智能汽车也为用户提供了语音交互功能。智能汽车可以搭载语音识别系统来提供自然的人机交互。其中,语音识别系统先根据用户的语音信号进行语音识别(automatic speech recognition,asr),将语音序列转换为文本序列,进而再根据自然语言理解(natural language understanding,nlu)识别文本序列中的指令以供车端执行,使得用户在车内不仅能够通过语音控制导航、音乐等车载软件,还能够控制车窗、空调等车内硬件。其中,为了更好地丰富人机交互氛围,语音识别文本还会在车端的屏幕上进行显示。
3.相关技术中,语音识别所采用的语言模型一般以词粒度进行建模,语言模型对应的wfst(加权有限状态转化器)的输入和输出均为词序列,使得语音识别文本以词组为单位进行上屏显示。例如在识别显示出第一组词组后,需要等待一段时间识别显示第二组词组,即在一段时间内没有新词显示,一段时间内可能刷新显示一段较长的词组。这样的语音识别效果具有顿挫感,给用户带来不良体验。


技术实现要素:

4.为解决或部分解决相关技术中存在的问题,本技术提供一种语音识别方法、装置及车辆,能够使语音识别文本以字粒度的形式识别和显示,且对系统资源消耗少。
5.本技术第一方面提供一种语音识别方法,其包括:接收车辆座舱内用户发出的语音请求;对待识别语音请求进行特征提取,生成特征向量;根据输入的所述特征向量,通过声学模型输出对应的音素概率矩阵;根据音素概率矩阵,输入语音识别系统的语音解码图中搜索获得解码路径,以逐字输出语音识别文本并逐字在车载系统的图形用户界面显示;其中,所述语音解码图的出弧字为根据语言模型的原始解码图的出弧词进行逐字依序分解获得。根据语音解码图,可以快速且逐字获得语音识别文本,且语音识别文本可以逐字在屏幕的车载系统的图形用户界面连续进行显示,而不是以词组的形式进行间歇式成组显示,改善用户体验。
6.在本技术的语音识别方法中,所述语音解码图的出弧字为根据语言模型的原始解码图的出弧词进行逐字依序分解获得,包括:遍历语言模型的原始解码图的解码路径,分别获取各原始转移弧的出弧词对应的各单字;将各单字依序作为独立的出弧标签,并分别采用中间节点串联形成拆分路径;删除所述原始转移弧,并根据各所述拆分路径生成所述语言模型的目标解码图;将所述目标解码图与语音识别系统内的预设解码图进行合并,生成语音解码图以供语音识别。通过将语言模型的原始解码图中的出弧词进行拆分,形成多个出弧字,组成了具有多个独立的出弧节点的拆分路径,从而可以生成字粒度的语音识别文本,可以提高识别效率,且新的解码图的尺寸与原始解码图相比不作改变,避免对系统内存
产生影响。
7.在本技术的语音识别方法中,所述将各单字依序独立作为出弧标签,并分别采用中间节点串联形成拆分路径,包括:根据单个原始转移弧的状态转移集,获取对应的起始节点、终止节点、入弧词、出弧词及转移概率;当所述出弧词的字数l≥2时,从原始转移弧的起始节点s开始,生成首条分支转移弧和对应的中间节点(m+1),首条分支转移弧的状态转移集包括所述入弧词、首位出弧字及所述转移概率;以中间节点(m+1)作为第二条分支转移弧的起始节点,生成第二条分支转移弧和对应的中间节点(m+2),第二条分支转移弧的状态转移集包括入弧占位符、第2位出弧字及概率占位符;从起始节点s开始,依序串联各分支转移弧及中间节点,并以原始转移弧的终止节点e作为终止节点,形成所述拆分路径。通过在拆分路径设置入弧占位符和概率占位符,使得新生成的拆分路径对解码路径的转移概率不产生影响。
8.在本技术的语音识别方法中,所述将所述目标解码图与语音识别系统内的预设解码图进行合并,生成所述语音解码图之后,还包括:将所述语音解码图进行确定化和最小化,生成优化解码图。通过对耦合后的语音解码图进行确定化和最小化,去除冗余的路径,可以获得内存更小的语音解码图。
9.在本技术的语音识别方法中,所述遍历语言模型的原始解码图中的解码路径,分别获取各所述原始转移弧的出弧词对应的各单字,还包括:获取各原始节点的编号;采用与所述原始节点的编号相异的编号分别作为各所述中间节点的节点标识,且各中间节点的编号不同。通过获取各原始状态节点的编号后,使得新增的中间节点便于设置相异编号。
10.在本技术的语音识别方法中,所述方法还包括:根据当前帧的语音识别文本,通过预设nlu模型进行预响应判别,获得判别结果;当所述判别结果符合预设规则时,根据预设nlu模型进行预响应。根据符合预设规则的判别结果进行预响应的方式执行用户语音指令,可以提高响应速度。
11.在本技术的语音识别方法中,所述根据当前帧的语音识别文本,通过预设nlu模型进行预响应判别,获得所述判别结果,包括:根据预设高频单字列表,通过预设nlu模型对当前累计的语音识别文本进行语义补全,获得语义补全文本;对所述语义补全文本进行语义完整度判别,获得对应的判别结果。
12.在本技术的语音识别方法中,所述当所述判别结果符合预设规则时,根据所述语音识别文本进行响应,包括:当语义完整度判别结果为语义完整时,根据当前语义补全文本进行语义解析,获得语义解析结果;根据语义解析结果确定当前判别结果的置信度,如果置信度大于预设值时,则响应执行所述语义解析结果。通过对判别结果的置信度进行二次判定,可以提高nlu模型进行预响应的可靠性。
13.本技术第二方面提供一种语音识别装置,其包括:语音接收模块,用于接收车辆座舱内用户发出的语音请求;特征提取模块,用于对待识别语音请求进行特征提取,生成特征向量;特征处理模块,用于根据输入的所述特征向量,通过声学模型输出对应的音素概率矩阵;语音识别模块,用于根据音素概率矩阵,输入语音识别系统的语音解码图中搜索获得解码路径,以逐字输出语音识别文本并逐字在车载屏幕显示;其中,所述语音解码图的
出弧字为根据语言模型的原始解码图的出弧词进行逐字依序分解获得。
14.本技术第三方面提供一种车辆,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
15.本技术第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被车辆的处理器执行时,使所述处理器执行如上所述的方法。
16.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
17.通过结合附图对本技术示例性实施方式进行更详细的描述,本技术的上述以及其他目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号通常代表相同部件。
18.图1是本技术示出的语音识别方法的流程示意图;图2是本技术示出的语音解码图的生成方法的流程示意图;图3是本技术示出的语言模型的原始解码图与目标解码图的示意图;图4是本技术示出的语言模型的目标解码图与发音词典的解码图的耦合后示意图;图5是本技术示出的语音识别方法的另一流程示意图;图6是本技术示出的语音识别装置的结构示意图;图7是本技术示出的语音识别装置的另一结构示意图;图8是本技术示出的车辆的结构示意图。
具体实施方式
19.下面将参照附图更详细地描述本技术的实施方式。虽然附图中显示了本技术的实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
20.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
21.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
22.相关技术中,语音识别asr所采用的语音解码图一般是由hmm、语言模型、发音词典、上下文相关分别转化的wfst(weighted finite state transducer,加权有限状态转换器)解码图合并而成。在不同的wfst解码图中,各自的转移弧上具有对应的输入标签和输出标签。例如发音词典的wfst解码图的输入标签是音素序列,输出标签是词序列;语言模型的wfst解码图的输入标签是词序列,输出标签也是词序列。基于语言模型的原始解码图的输出标签为词序列,导致原始的语音解码图的语音识别文本是以词组的形式作为输出结果,从而出现了在屏幕显示的语音识别文本亦是以词粒度的形式成组出现,而非以字粒度的形式逐字出现,给用户带来不良视觉体验。
23.针对上述问题,本技术提供一种语音识别方法,能够使语音识别文本以字粒度的形式识别和显示,且对系统资源消耗少。
24.以下结合附图详细描述本技术的技术方案。
25.图1是本技术示出的语音识别方法的流程示意图。
26.参见图1,本技术示出的一种语音识别方法,其包括:s110,接收车辆座舱内用户发出的语音请求。
27.其中,本语音识别处理的执行主体可以是服务器或车辆。以车辆为例,当用户在车内通过语音进行人机交互时,可以通过车辆内的麦克风实时采集用户发出的待识别的语音请求。
28.s120,对待识别语音请求进行特征提取,生成特征向量。
29.本步骤中,可以根据相关技术对待识别语音请求的语音信号进行分帧,并分别对每帧语音信号进行特征提取,获得每帧语音信号对应的特征向量。
30.s130,根据输入的特征向量,通过声学模型输出对应的音素概率矩阵。
31.声学模型可以是根据相关技术预先训练构建的模型,于此不作限制。每帧语音信号的特征向量作为声学模型的输入数据,声学模型输出对应帧的音素概率矩阵。可以理解,基于声学模型采用的建模单元的类型,例如建模单元为三音节,音素概率矩阵即为当前帧的特征向量对应每个建模单元的概率分布矩阵,各概率之和为1。
32.s140,根据音素概率矩阵,输入语音识别系统的语音解码图中搜索获得解码路径,以逐字输出语音识别文本并逐字在车载系统的图形用户界面显示;其中,语音解码图的出弧字为根据语言模型的原始解码图的出弧词进行逐字依序分解获得。
33.本技术中,可以预先在车载智能终端加载语音识别系统,语音识别系统包含解码器,解码器的语音解码图一般由语言模型、词典模型和上下文关系及hmm的各个解码图合并而成。本实施例中,对以词粒度建模的语言模型的原始解码图的出弧词进行出弧分解,以形成字粒度作为输出标签的目标解码图,再由该目标解码图与其他词典模型和上下文关系及hmm的预设解码图进行合并,以形成本技术的语音解码图。
34.为了使出弧词形成自粒度的出弧字,一些实施方式中,遍历语言模型的原始解码图的解码路径,分别获取各原始转移弧的出弧词对应的各单字;将各单字依序作为独立的出弧标签,并分别采用中间节点串联形成拆分路径;删除原始转移弧,并根据各拆分路径生成语言模型的目标解码图;将目标解码图与语音识别系统内的预设解码图进行合并,生成语音解码图以供语音识别。
35.也就是说,本技术生成的语音解码图中,不需要对其他模型的解码图进行改变,只
需要通过语言模型的原始解码图生成新的目标解码图。其中,在新的语音解码图中,根据各拆分路径生成的各个出弧字,使得语音识别文字可以逐字被识别和显示,达到以字粒度进行建模的语言模型的识别效果,而不再以词组的形式被识别和显示;且本技术的语言模型的建模粒度仍然是词粒度,可以维持识别结果的准确率,且低阶的n-gram语言模型可以压缩语音解码图尺寸,减少对系统内存的占用。
36.从该示例可知,本技术的语音识别方法,通过语音识别系统中预先构建的语音解码图对用户的语音请求进行识别,并获得以字粒度进行输出的语音识别文本,使得文字逐字输出并逐字在车载系统的图形用户界面显示,而非使文字成组上屏显示,改善用户体验;且逐字输出的语音识别结构可以使nlu(natural language understanding,自然语言理解)模型提前预判以进行指令响应,而不要等待成组词语输出后再行响应,从而有助于提高响应效率。
37.以下将结合附图进一步说明本技术的语音解码图的生成方法。
38.参见图2,本技术示出的一种语音解码图的生成方法,其包括:s210,遍历语言模型的原始解码图的解码路径,分别获取各原始转移弧的出弧词对应的各单字。
39.在语言模型的wfst解码图,即语言模型的原始解码图(以下简称g.fst)中,解码路径由不同的转移弧和状态节点连接形成,每条原始转移弧分别连接两个不同的状态节点或同一个状态节点。可以理解,在遍历原始解码图后,可以同步获取每条原始转移弧的状态转移集。其中,单个状态转移集包括采用不同的标记进行编号的起始节点和终止节点,作为当前原始转移弧的输入标签的入弧词和对应作为输出标签的出弧词以及对应的转移概率。同一条原始转移弧的输入标签和输出标签均为相同的词序列。需要说明的是,针对自跳转的转移弧,起始节点和终止节点为同一个状态节点。本步骤中,可以遍历原始解码图中的每条解码路径,从而获取各原始转移弧的出弧词对应的各单字。根据不同的语种,出弧词包含至少一个单字或至少一个单词。
40.一些实施方式中,获取各原始节点的编号;采用与原始节点的编号相异的编号分别作为各中间节点的节点标识,且各中间节点的编号不同。在遍历原始解码图的同时,每个原始节点具有各自独立的编号,通过获取每个原始节点的编号,从而便于后续步骤为各中间编号设置不同的编号以形成区别。
41.s220,将各单字依序作为独立的输出标签,并分别将各对应的中间节点依序串联形成拆分路径。
42.在确定每条原始转移弧的出弧词的字数和单字后,本步骤中,将原始转移弧中的出弧词进行拆分,生成由多个中间节点和分支转移弧串联而成,且各条分支转移弧的输出标签依序为对应的出弧字。例如,如图3中a部分的g.fst所示,出弧词为中文“导航”,则该出弧词的字数为2个字,每个单字,也即出弧字分别为“导”和“航”。再例如,出弧词为“香格里拉酒店”,则该出弧词的字数为6个字,出弧字分别为“香”、“格”、“里”、“拉”、“酒”、“店”。
43.在一具体的实施方式中,拆分路径如下所示:s221,根据单个原始转移弧的状态转移集,获取对应的起始节点s、终止节点e、入弧词、出弧词及转移概率。
44.可以理解,每一条原始转移弧均具有对应的状态转移集,其起始节点具有对应的
编号s,终止节点也具有对应的编号e。若起始节点和终止节点相同时,则s=e,s和e均为自然数。
45.s222,当出弧词的字数l≥2时,从原始转移弧的起始节点s开始,生成首条分支转移弧和对应的中间节点(m+1),首条分支转移弧的状态转移集包括入弧词、首位出弧字及转移概率。
46.本步骤中,l为单个出弧词的实际字数,s为当前原始转移弧的起始节点的节点编号;m为原始解码图中的最大节点编号。当出弧词的字数l为1时,不需要进行拆分。本步骤中,如果各原始状态节点均采用不同的自然数进行标记,为了使新生成的中间节点的编号形成区别,对于第一个新生成的中间节点,可以在原始状态节点的最大编号m的基础上递增,从而使各个新生的中间节点可以快速设置不同的标号以示区别。当然,对于各中间节点的编号方式于此仅举例说明,不作限制。其中,l和m均可以是自然数。
47.本步骤中,结合图3中a部分和b部分所示,针对单个原始转移弧的出弧词“导航”的字数,可以生成首条分支转移弧和对应的中间节点。首条分支转移弧的状态转移集包括入弧词为“导航”,输出标签为出弧字“导”,首条分支转移弧的转移概率沿用原始转移弧的转移概率。可以理解,首条分支转移弧的起始节点为s,终止节点即为该中间节点(m+1)。
48.s223,以中间节点(m+1)作为第二条分支转移弧的起始节点,生成第二条分支转移弧和对应的中间节点(m+2),第二条分支转移弧的状态转移集包括入弧占位符、第2位出弧字及概率占位符。
49.本步骤中,结合图3中a部分和b部分所示,可以生成第二条分支转移弧,上一步骤的中间节点即为第二条分支转移弧的起始节点,原始转移弧的终止节点即为第二条分支转移弧的终止节点。在非首条分支转移弧中,其输入标签为无意义的入弧占位符例如“null”、“#1”等,于此不作限制;输出标签,也即出弧标签为第2为出弧字“航”,第2条分支转移弧的转移概率为概率占位符,例如0。这样的概率设计,本步骤中,通过将首条分支转移弧的转移概率设计为与原始转移弧的转移概率相同,而其他分支转移弧的转移概率为0,使得当前出弧词的全部分支转移弧的转移概率的累加之和不变,即拆分路径的概率之和仍然为转移概率,从而不影响最终解码路径的选择。
50.为了便于理解,再例如针对单个原始转移弧的出弧词“香格里拉酒店”的字数,可以依序生成6条新的分支转移弧,6条分支转移弧之间设置新的中间节点,总计5个中间节点,中间节点的编号与原始节点的编号不同,且不同的中间节点的编号也互不相同。其中,第1条分支转移弧的输入标签,也即入弧词为“香格里拉酒店”,输出标签为出弧字“香”,第1条分支转移弧的转移概率沿用原始转移弧的转移概率。第2条分支转移弧的输入标签为入弧占位符“null”,出弧标签为第2为出弧字“格”,第2条分支转移弧的转移概率为0。第2条分支转移弧的输入标签为入弧占位符“null”,出弧标签为第2为出弧字“里”,第2条分支转移弧的转移概率为0。以此类推,于此不再赘述。
51.由上可知,针对单个出弧词,其可拆分出的中间节点个数为(l-1),拆分形成的分支转移弧的条数为l条。可以理解,根据出弧词的实际单字个数l,可以重复执行本步骤,直至拆分得到出弧词的最后一位单字作为最后一条分支转移弧的出弧字。
52.s224,从起始节点m开始,依序串联各分支转移弧及中间节点,并以原始转移弧的终止节点e作为终止节点,形成拆分路径。
53.根据依序逐个生成的分支转移弧及中间节点,即可从原始转移弧的起始节点m,分别依序将分支转移弧及中间节点进行串联,并以原始转移弧的终止节点e作为终止节点,从而形成该出弧词的拆分路径。
54.s230,删除原始转移弧,并根据各拆分路径生成语言模型的目标解码图。
55.在生成新的拆分路径后,无需再保留冗余的原始转移弧。本步骤中,删除全部被拆分后的原始转移弧。也就是说,对于出弧词字数为1个的原始转移弧可以继续保留。本步骤中,基于各新的拆分路径,生成了不同于语言模型的原始解码图的目标解码图。
56.s240,将目标解码图与语音识别系统内的预设解码图进行合并,生成语音解码图以供语音识别。
57.可以将语言模型的目标解码图与发音词典的解码图、上下文关系的解码图及hmm的解码图进行耦合,生成语音解码图。例如,可以根据相关合成算法(composition)依序将两个不同级的解码图进行组合。如图4所示,语言模型的目标解码图先与发音词典的解码图l.fst进行耦合,即可获得耦合后的解码图l*g.fst;l*g.fst再与上下文关系的解码图进行耦合,最后与hmm的解码图进行耦合,即可获得语音解码图。
58.也就是说,本技术生成的新的语音解码图中,不需要对其他模型的解码图进行改变,只需要通过语言模型的原始解码图生成新的目标解码图。其中,在新的语音解码图中,出弧词被对应的拆分路径拆分成各个出弧字,使得语音识别文字可以逐字被识别并逐字上屏显示,从而达到以字粒度进行建模的语言模型的识别效果,且本技术的语言模型的建模粒度仍然是词粒度,可以维持识别结果的准确率且低阶的n-gram语言模型可以压缩解码图尺寸,减少对系统内存的占用。
59.进一步地,为了进一步压缩解码图尺寸,一些实施方式中,将语音解码图进行确定化和最小化,生成优化解码图。也就是说,可以对上述耦合后的语音解码图根据相关技术的确定化算法(determinization),当离开某个状态节点的转移弧上的输入标签相同时,采取某种机制只保留其中的一条而不影响整个语音识别系统的语音识别结果。再根据相关技术的最小化算法(minimization)使语音解码图中的状态数量最少。这样的设计,使得优化后的语音解码图可以去除大量冗余状态。与采用语言模型的原始解码图形成的语音解码图相比,本技术的优化解码图的尺寸与之相近,从而不会占用系统过多的内存,且还具有字粒度的识别效果。
60.从该示例可知,本技术的语音解码图的生成方法,通过将语言模型的原始解码图中的出弧词进行拆分,形成多个出弧字,组成了具有多个独立的中间节点的拆分路径,从而可以生成字粒度的语音识别文本,可以提高识别效率。
61.图5是本技术示出的语音识别处理方法的流程示意图。
62.参见图5,本技术示出的一种语音识别处理方法,其包括:s310,接收车辆座舱内用户发出的语音请求。
63.s320,对所述待识别语音请求进行特征提取,生成特征向量。
64.s330,根据输入的所述特征向量,通过所述声学模型输出对应的音素概率矩阵。
65.上述步骤s310至s330分别与对应的s110至s130的介绍相同,于此不做赘述。
66.s340,根据音素概率矩阵,输入语音识别系统的语音解码图中搜索获得解码路径,以逐字输出语音识别文本并逐字在车载系统的图形用户界面显示。
67.本步骤中,语音识别系统可以预先加载根据上述方法生成的语音解码图,采用预先编译的静态解码网络,可以加快解码速度。根据上述语音解码图,可以快速且逐字预测输出语音识别文本,使得语音识别文本可以逐字在车载系统的图形用户界面逐字连续进行显示,而不是以词组的形式进行间歇式成组显示,改善用户体验。
68.s350,根据当前帧的语音识别文本,通过预设nlu模型进行预响应判别,获得判别结果。
69.本步骤中,当前帧的语音识别文本是逐字输出,无需等待完整的一个词组被语音识别系统识别后再成组输出。基于此,为了提高语音请求对应的用户指令的响应速度,本步骤中,可以根据以字粒度输出的语音识别文本,并根据当前累计输出的语音识别文本实时判别预设nlu模型是否可以进行预响应。其中,预设nlu模型的预响应是指,在可能还未获得完整的语音识别文本内容之前,根据当前已经获得的不完整的语音识别文本内容提前响应执行指令内容。例如,用户的待识别语音信号对应的完整的语音识别文本为“打开制冷模式”,而当语音识别文本逐字累计输出了“打”、“开”、“制”、“冷”时,预设nlu模型即可通过预测确定用户的真实完整意图为“打开制冷模式”,无需等待语音解码图输出完整的语音识别文本,预设nlu模型即可提前确定用户意图并进行响应。
70.为了实现预响应效果,一些实施方式中,预设nlu模型根据字粒度进行模型训练获得。一些实施方式中,根据预设高频单字列表,通过预设nlu模型对当前累计的语音识别文本进行语义补全,获得语义补全文本;对语义补全文本进行语义完整度判别,获得对应的判别结果。本步骤中,随着每帧语音识别文本的逐字持续输出,均需要分别对应进行预响应判别,获得对应的判别结果,直至用户停止语音交互。
71.相关技术中,nlu模型基于粗粒度的词语进行建模。由于采用大量的词组作为训练样本,从而需要较大的计算量。本实施例中,一方面,采用字粒度进行nlu模型的建模,采用有限的字数可以减少计算量,提高处理效率,从而有助于预设nlu模型提高响应速度;另一方面,基于上述语音解码图的语音识别文本以字粒度的形式进行输出,相应地,本实施例的nlu模型则采用字粒度的形式进行训练构建,以便快速理解字粒度的语音识别文本。
72.进一步地,为了更快速地使nlu模型获得理解结果,可以设置高频单字列表以供辅助预响应的判别。具体地,高频单字列表预先存储预设数量的高频率使用的单字,预设数量例如可以是50个~500个,例如50、100、150、300、400、500个等。高频单字列表可以根据预设周期进行更新,从而及时保存使用频率更高的单字。一些实施方式中,高频单字列表中的各单字可以来源于预设周期内的语音识别文本历史记录中的使用频率更高的前50~500个字。例如预设周期为3天,则可以统计过去3天内的语音识别文本中的每个不同单字对应的使用频率,将使用频率排名前100的单字加入高频单字列表,每隔3天更新高频单字列表,具体周期和字数于此仅举例说明,不作限制。
73.其中,高频单字列表中存储预设数量单字的目的,是为了辅助nlu模型更快速获得当前语音识别文本的理解结果,因此,高频单字列表中的单字可以排除命令词中的单字,仅存储属性为非命令词的单字。例如,常见的命令词有“导航”、“打开”、“关闭”等,尽管这些命令词中的每个单字的使用频率很高,但是无需保存至高频单字列表中。例如,用户对音乐更感兴趣,经常发出语音指令要求播放某歌手小丽的歌曲,语音识别文本的历史记录中常出现“小丽”,统计到“小”字出现100次,“丽”字出现90次,两个字在历史记录中的使用频率排
名前二,则“小”、“丽”这两个字均加入高频单字列表中。
74.在预设nlu模型对当前帧的语音识别文本进行语义补全时,在一具体的实施方式中,根据当前累计的语音识别文本进行预测,将预设nlu模型的预测语义文本与当前的预设高频单字列表进行匹配,如果预测语义文本的至少一个单字出现在预设高频单字列表中时,则根据预设概率增值增大对应的预测语义文本的预测概率,获得对应调整后的预测概率;根据各预测语义文本的预测概率,筛选获得语义补全文本。其中,在一具体的实施方式中,将各预测语义文本调整后的预测概率与预设阈值进行比较,如果调整后的预测概率不小于预设阈值,则获得筛选后的预测语义文本,并将预测语义文本与当前全部语音识别文本合并生成语义补全文本。
75.为了便于理解,例如,用户的完整语音内容是“导航去香格里拉酒店”,当前根据语音解码图已累计输出的语音识别文本是“导航去香格里”。预设nlu模型基于当前帧语音识别文本进行预测,获得的预测语义文本有多种,例如分别有“拉/酒/店/end”、“面/馆/end”等预测语义文本,此时假设两种预测语义文本的预测概率均为0.45。如果预设高频单字列表中包含了“拉、酒、店”三个单字,则分别针对每个单字赋予对应的预设概率增值以增大“拉/酒/店/end”的预测概率。例如每个字的预设概率增值均为0.05,则“拉/酒/店/end”的预测概率调整为0.45+0.05+0.05+0.05=0.6。以预设阈值为0.6为例,“拉/酒/店/end”调整后的预测概率0.6不小于预设阈值,而“面/馆/end”的预测概率仍为0.45而小于预设阈值,因此,筛选确定“拉/酒/店/end”为当前帧的语音识别文本的预测语义文本,则当前累计的语音识别文本“导航去香格里”和预测语义文本“拉酒店”合并为当前语义补全文本,即“导航去香格里拉酒店”。
76.在其他实施方式中,基于预设高频单字列表中的每个单字统计后的使用频率可能不同,则每个单字的预设概率增值可以不同。例如单字的使用频率越大,对应的预设概率增值越大。当然,各单字的预设概率增值也可以相同。一些实施方式中,预设概率增值可以是概率值,概率值可以与预测概率直接相加,获得对应调整后的预测概率值。预设概率增值也可以是涨幅百分比,涨幅百分比可以与预测概率直接相乘,获得对应调整后的预测概率值。预设概率增值的设计方式于此仅举例说明,不作限制。
77.在获得当前语音帧的语义补全文本后,nlu模型可以进一步判别语义补全文本对应的语义是否完整,从而获得对应的判别结果。其中,nlu模型的语义完整度判别方法可以根据相关技术进行,在nlu模型的训练过程中,例如随机去掉训练文本中的任意的一个或多个文字,如果去字后的剩余文本的句意仍然完整,则表示当前剩余文本的语义完整,否则语义不完整。因此,根据同样的方法对当前语义补全文本的语义是否完整进行判别,从而获得语义完整或语义不完整的判别结果。
78.s360,当判别结果符合预设规则时,根据预设nlu模型进行预响应。
79.本步骤中,基于上一步骤的判别结果进行二次判定。一些实施方式中,当语义完整度判别结果为语义完整时,根据当前语义补全文本进行语义解析,获得语义解析结果;根据语义解析结果确定当前判别结果的置信度,如果置信度大于预设值时,则响应执行语义解析结果。具体地,在进行语义解析时,nlu模型可以根据相关技术对当前语义补全文本进行domain(领域)和slot(语义槽)的处理,从而确定是否可以从当前语义补全文本中实现领域分类和语义槽填充。如果可以完成领域分类和语义槽填充,即可获得可靠的语义解析结果,
从而可以确定当前语义完整的判别结果的置信度。如果当前语义完整的判别结果的置信度大于预设值,例如0.8,则可以预响应执行当前语义解析结果,从而实现用户语音指令的预响应。也就是说,在还未获得完整的语音识别文本之前,nlu模型提前进行了用户指令预响应,可以有效提高语音指令的执行效率,改善用户体验。
80.可以理解,在nlu模型确定进行预响应时,语音解码图仍然可以继续识别出剩余的待识别语音信号,以获得完整的语音识别文本并逐字继续在屏幕显示。
81.s370,当判别结果不符合预设规则时,通过预设nlu模型继续对更新帧的语音识别文本进行预响应判别,直至完成响应。
82.也就是说,如果当前语音识别文本的语义补全文本的判别结果为语义不完整,则需要更多的文本数据进行语义补全。相应地,语音识别系统根据语音解码图持续识别输出更多帧的语音识别文本,可以重复循环进行上述步骤s350和s360,直至用户的语音人机交互结束。可以理解,如果各判别结果持续不符合预设规则,nlu模型可以根据完整的语音识别文本进行响应,即按照正常响应程序进行指令执行,而不是预响应。
83.从该示例可知,本技术的语音识别方法,语音识别系统通过预先构建的语音解码图对用户的语音请求逐帧识别,并获得字粒度的语音识别文本,使得屏幕上的车载系统的图形用户界面显示的文字可以逐字连续出现而非成组突现;另外,根据字粒度训练构建的nlu模型,可以对逐字输出的语音识别文本进行预测以进行语义补全,并根据预设高频单字列表辅助判别语义补全文本的语义完整度,快速根据置信度高的判别结果进行预响应,这样的设计,相比因词粒度预测造成的预测延迟,不仅处理效率更高,且减少对系统资源的消耗,提高指令响应效率,改善用户体验。
84.与前述应用功能实现方法实施例相对应,本技术还提供了一种语音识别装置、车辆及相应的实施例。
85.图6是本技术示出的语音识别装置的结构示意图。
86.参见图6,本技术示出的一种语音识别装置,其包括语音接收模块610、特征提取模块620、特征处理模块630及块语音识别模块640,其中:语音接收模块610用于接收车辆座舱内用户发出的语音请求。
87.特征提取模块620用于对所述待识别语音请求进行特征提取,生成特征向量。
88.特征处理模块630用于根据输入的所述特征向量,通过所述声学模型输出对应的音素概率矩阵。
89.语音识别模块640用于根据音素概率矩阵,输入语音识别系统的语音解码图中搜索获得解码路径,以逐字输出语音识别文本并逐字在车载屏幕显示;其中,所述语音解码图的出弧字为根据语言模型的原始解码图的出弧词进行逐字依序分解获得。
90.参见图7,一些实施方式中,语音识别装置还包括判别模块650和预响应模块660。其中,判别模块650用于根据当前帧的语音识别文本,通过预设nlu模型进行预响应判别,获得判别结果。预响应模块660用于当判别结果符合预设规则时,根据预设nlu模型进行预响应。
91.在一具体的实施方式中,判别模块650用于根据预设高频单字列表,通过预设nlu模型对当前累计的语音识别文本进行语义补全,获得语义补全文本;对语义补全文本进行语义完整度判别,获得对应的判别结果。在一具体的实施方式中,预响应模块660用于当语
义完整度判别结果为语义完整时,根据当前语义补全文本进行语义解析,获得语义解析结果;根据语义解析结果确定当前判别结果的置信度,如果置信度大于预设值时,则响应执行语义解析结果。
92.进一步地,上述语音识别模块640的语音解码图根据下述语音解码图的生成装置所生成:语音解码图的生成装置包括数据处理模块、出弧拆分模块、数据删除模块和生成模块,其中:数据处理模块用于遍历语言模型的原始解码图的解码路径,分别获取各所述原始转移弧的出弧词对应的各单字。
93.出弧拆分模块用于将各单字依序作为独立的出弧标签,并分别采用中间节点串联形成拆分路径。
94.数据删除模块用于删除所述原始转移弧,并根据各所述拆分路径生成所述语言模型的目标解码图。
95.生成模块用于将所述目标解码图与语音识别系统内的预设解码图进行合并,生成语音解码图以供语音识别。
96.在一具体的实施方式中,出弧拆分模块用于根据单个原始转移弧的状态转移集,获取对应的起始节点、终止节点、入弧词、出弧词及转移概率;当所述出弧词的字数l≥2时,从原始转移弧的起始节点s开始,生成首条分支转移弧和对应的中间节点(m+1),首条分支转移弧的状态转移集包括所述入弧词、首位出弧字及所述转移概率;以中间节点(m+1)作为第二条分支转移弧的起始节点,生成第二条分支转移弧和对应的中间节点(m+2),第二条分支转移弧的状态转移集包括所述入弧占位符、第2位出弧字及概率占位符;从起始节点s开始,依序串联各分支转移弧及中间节点,并以原始转移弧的终止节点e作为终止节点,形成所述拆分路径。
97.在一具体的实施方式中,数据处理模块还用于获取各原始节点的编号;采用与所述原始节点的编号相异的编号分别作为各所述中间节点的节点标识,且各中间节点的编号不同。
98.在一具体的实施方式中,生成模块还用于将所述语音解码图进行确定化和最小化,生成优化解码图。
99.由该示例可知,本技术的语音识别装置,可以根据字粒度输出的语音解码图获得逐字输出的语音识别文本,并使得采用字粒度训练构建的预设nlu模型可以对语音识别文本进行预测而获得语义补全文本,另外通过预设高频单字列表辅助进行判别,可以快速高效地预测出更贴近用户指令的文本,从而使得无需获得完整的语音识别文本即可使预设nlu模型根据当前语义解析结果进行指令的预响应,提高响应速度,改善用户体验。
100.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
101.图8是本技术示出的车辆的结构示意图。
102.参见图8,车辆1000包括存储器1010和处理器1020。
103.处理器1020可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
104.存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(rom)和永久存储装置。其中,rom可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
105.存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
106.此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机程序代码指令。
107.或者,本技术还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被服务器(或服务器等)的处理器执行时,使处理器执行根据本技术的上述方法的各个步骤的部分或全部。
108.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好的解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1