用于识别包括单词序列的语音的方法和系统与流程

文档序号:12142404阅读:438来源:国知局
用于识别包括单词序列的语音的方法和系统与流程

本发明总体上涉及自动语音识别,并且更具体地,涉及在给用户带来低的认知负担的同时提供语音识别。



背景技术:

通常已知的是,由驾驶员执行的任何非驾驶相关任务都可能使注意力不集中于驾驶。因此,近期关注通过立法手段和通过驾驶员教育两者来减少驾驶时移动电话的使用。还存在对于驾驶员在车辆中使用信息、通信以及娱乐功能的日益增长的需求。

研究表明,与常规视觉或手动接口相比,基于语音的接口可以不太分散注意力。用于有限功能的基于命令的语音接口在车辆中正变得普遍。然而,因为识别大词汇量的连续语音易于出错,所以针对像SMS这种功能使用语音的文本输入是困难的。由此,需要纠正或以其他方式改变已经使用语音输入的文本,同时减少正在驾驶的用户方面的分心。

用于纠正非受限语音的一些方法使用编辑应用,即,具有计算机显示器和常规键盘的文字处理机。例如,U.S.5,960,447中描述的方法通过用关联语音来标记所识别文本中的单词并允许文字处理软件的用户收听语音以编辑文本转录,来纠正错误识别的语音。

U.S.5,970,460中描述的另一种方法通过在编辑应用程序中关联“语音事件数据库”和文本转录中的位置并且加宽上下文,来改进编辑操作。这种方法需要主要注意包括常规键盘、鼠标器以及菜单选择的纠正任务,并且具体来说,为了注意视觉显示,操纵视觉资源是必要的。然而,键盘、触摸屏以及大视觉显示器的使用未最小化从驾驶分心。

其他方法通过使用后续语音来编辑由最初语音所产生的转录,最小化了交互作用的复杂性。例如,U.S.6,064,959中描述的方法使用后续讲话来纠正语音识别的结果。类似的是,U.S.7,444,286中描述的方法选择语音识别中的要重新识别的部分。然而,该语音的后续解释可以产生错误,从而导致增加纠错工作,并且进一步导致驾驶员分心。

U.S.2006/293889中描述的另一方法使用由用户给出的单个单词的纠正,来调整与该单个单词相邻的单词的另选建议。然而,如果用户的语音中的多个单词被不正确地解释,则该用户必须多次纠正该语音解释。而且,与更一般类型的交互作用相对比,这种方法的纠正限于替换所选择的单词,其可以导致用户的进一步分心。因此,需要将引导语音解释所需的交互和用户注意力减到最小。



技术实现要素:

本发明的一些实施方式基于以下认知,即,在对包括一系列单词的大词汇量的连续语音的语音识别中出现的错误通常是与其他错误相关联的。因此,对识别结果的纠正可以用于预测其他错误可能出现在哪里并且用于纠正附加错误,而不是只纠正初始错误并等待附加的用户输入。这些其他错误可在相邻的单词位置出现,或者可能在无需对相邻的单词进行任何改变的情况下在较远的位置出现,因此纠正应当用于更新识别结果。因此,纠正约束然后可以用于对用户说出的语音进行重新解释。

与仅使用和单个单词相对应的声学信号的解释相比,这种约束可以提高正确解释一组单词的概率。例如,假设识别结果包括替代品“Wreck a nice beach(击毁一个不错的海滩)”和“Recognize speech(识别语音)”,可以使用主题是“pollution(污染)”的约束来更新最初识别的概率。

例如,不是请求用户纠正语音的解释中的特定单词或多个特定单词,可以将来自用户的输入用于确定单词序列约束,所述单词序列约束可被用于更新该语音的整个解释。该实现允许减少用户纠正该语音的工作,因为单词序列约束可以导致纠正语音的整个解释,而纠正单词仅可以导致纠正该单词。

例如,在一些实施方式中,单词序列约束包括语音的元数据,诸如语音中的词的数量或语音中存不存在特定词。在另一实施方式中,该单词序列约束更特定于语音的上下文。例如,单词序列约束可以包括有关语音的初始解释的信息,并且这种信息被用于重新评估整个语音的解释。

一些实施方式还基于以下认知,即,为了使系统对用户施加低的认知负担,单词序列约束的输入方法应当使得用户选择约束所需的动作最小化。单词序列约束不仅可以具有不同的值,也可以具有不同的类型。例如,单词序列约束的类型可以包括:单词的选择或拒绝、单词序列的选择、时隙的选择、序列中正确单词的迹线、单词的替换或单词的顺序等。因此,期望提供一种适于选择约束的类型和值两者、同时使对用户的例如驾驶的主要任务的妨碍最小化的接口。

本发明的一些实施方式基于以下认知,即,可以分析用户的单个手势以确定单词序列约束的类型和值两者。具体地,手势的形状可以用于确定单词序列约束的类型,并且手势相对于接口的位置,例如,手势路径映射到用户接口的坐标空间的位置(并且可能显示在输出设备上)可以用于确定单词序列约束的值。

例如,水平手势可以被映射到对单词序列进行选择的单词序列约束的类型。在显示设备上的该手势的路径的位置可以用于确定在语音的解释中存在的单词序列。类似地,垂直手势可以被映射到对单词的时隙进行选择的类型,并且该手势在显示设备上的路径的位置可以用于确定特定单词的发音时间和/或顺序。以类似的方式,可以将不同形状的手势(像划动、环绕、拖动选择和单词路径的迹线)映射到不同类型的约束,并且在显示设备上的手势的位置可以用于确定用于对语音的可能解释后续重新评分的约束的值。

因此,本发明的一个实施方式公开了一种用于识别包括单词序列的语音的方法。该方法包括以下步骤:确定手势的形状和手势相对于示出所述语音的一组解释的显示设备的位置;基于所述手势的形状和在一组手势的形状与一组单词序列约束的类型之间的映射,确定所述单词序列约束的类型;基于所述手势的位置,确定所述单词序列约束的值;以及使用所述单词序列约束来识别所述语音。所述方法的步骤通过处理器来执行。

另一实施方式公开了一种用于识别包括单词序列的语音的系统。该系统包括:显示设备,该显示设备用于显示所述语音的一组解释,并且响应于所述显示,接收相对于所述显示设备的手势;以及至少一个处理器,该至少一个处理器用于基于所述手势的形状和相对于来自所述显示设备上的所述一组解释的元素的位置,所述手势的位置,确定单词序列约束的类型和值,并且用于使用所述单词序列约束来识别所述语音。

附图说明

[图1A]

图1A是根据本发明一个实施方式的用于语音识别的系统的组件的示意图。

[图1B]

图1B是包括根据本发明一些实施方式的系统的车辆的仪表盘的局部正视图。

[图2A]

图2A是例示根据本发明一个实施方式的语音识别模块的功能的框图。

[图2B]

图2B是图2A的方法的步骤的示例。

[图3A]

图3A是按照根据本发明不同实施方式的在语音识别中纠错的方法所执行的步骤的流程图。

[图3B]

图3B是按照根据本发明不同实施方式的在语音识别中纠错的方法所执行的步骤的流程图。

[图3C]

图3C是按照根据本发明不同实施方式的在语音识别中纠错的方法所执行的步骤的流程图。

[图3D]

图3D是按照根据本发明不同实施方式的在语音识别中纠错的方法所执行的步骤的流程图。

[图4]

图4是根据本发明一个实施方式的具有强调的单词的单词序列的示意图。

[图5]

图5是根据本发明一个实施方式的具有两个强调的单词的单词序列的示意图。

[图6]

图6是根据本发明一个实施方式的单词序列和分类的一组单词候选的示意图。

[图7A]

图7A是本发明的示例性实施方式的示意图。

[图7B]

图7B是本发明的示例性实施方式的示意图。

[图7C]

图7C是本发明的示例性实施方式的示意图。

[图8]

图8是根据本发明的一个实施方式的用于识别包括单词序列的语音的方法的框图。

[图9A]

图9A是由输入设备的空间中的坐标位置的序列表示的手势的示例性形状的图。

[图9B]

图9B是由在显示设备的坐标空间中的手势的位置表示的、该手势相对于显示设备的位置的图。

[图9C]

图9C是根据本发明的一些实施方式的用于显示和指定单词序列约束的人机接口的示例。

[图9D]

图9D是根据本发明的一些实施方式的用于显示和指定单词序列约束的人机接口的示例。

[图10]

图10是根据本发明的一些实施方式的一组手势的形状和一组单词序列约束的类型之间的映射的示例。

具体实施方式

图1A示出了根据本发明一些实施方式的能够实现用于识别语音同时使发出语音的用户的认知负担减到最小的方法的系统1的示例。

系统1包括控制整个系统的操作的中央处理单元(CPU)100。系统1与存储器101交互,存储器101包括与该系统的操作系统(OS)1010相关的软件、可由CPU 100执行以向该系统的用户提供特定功能的应用程序1011(诸如听写和纠错)以及与语音识别相关的软件1012。系统1还包括用于接收语音的音频接口(I/F)102,语音可以通过麦克风102记录或者从外部输入部104接收,如从外部系统获取的语音。

系统1还可以包括一个或多个控制器,诸如用于控制显示器106的操作的显示控制器105,显示器106例如可以是液晶显示器(LCD)或其他类型的显示器。显示器106用作系统1的光学用户接口,并且例如允许向系统1的用户呈现单词序列。系统1还可以连接至用于控制音频输出系统112(例如,一个或更多个扬声器)的操作的音频输出控制器111。系统1还可以连接至一个或更多个输入接口,诸如用于接收来自操纵杆108的输入的操纵杆控制器107和用于接收来自小键盘110的输入的小键盘控制器109。容易理解的是,操纵杆和/或小键盘的使用仅仅是示例性的。同样,可以使用轨迹球,或箭头键来实现所需功能。另外,显示器106可以是用作用于接收来自用户的输入的接口的触摸屏显示器。而且,由于执行语音识别的能力,系统1可以完全省去任何非语音相关的接口。音频I/F 102、操纵杆控制器107、小键盘控制器109以及显示控制器105由CPU根据OS 1010和/或CPU 100当前执行的应用程序1011来控制。

如图1B所示,系统1可以被嵌入车辆199的仪表盘150中。可以在方向盘130上设置用于控制系统1的操作的各种控制部131、133。另选或另外地,控制部125可以设置在控制模块120上。系统1被设置成改进用户语音的解释,以减少用户交互的次数,使得用户可以专心于操作车辆。

图2A示意性地示出了根据本发明一些实施方式的具有改进的纠错能力的语音识别系统200的功能。语音识别单元200包括语音识别模块210,语音识别模块210可以通过系统1的CPU 100执行存储在存储器101中的语音识别软件1012来实现。

语音识别模块210接收作为单词序列的口头表示的语音230(例如,完整句子)。在不同实施方式中,语音包括音频信号、语音特征或基于帧的声学分数中的一个或组合。单词序列典型地包括多个单词,例如,三个或更多个单词。

语音识别模块被配置成执行对语音230的语音识别,以确定一组解释,在最佳情况下,该组解释与该语音表示的单词序列相似。该组中的每个解释都包括单词序列。语音识别模块可以使用声学模型201和语言模型202。

声学模型201例如可以存储在系统1的存储器101中,而且在一个实施方式中,考虑到单词序列假设或表示单词的语音学特性的单元的其他序列,描述了声学特征序列的条件概率。声学模型可以包括音素或其他声音单元。在一些实施方式中,声学模型可以包括音素序列模型,子语音状态序列的模型以及考虑到每个子语音状态的声学特征的概率的高斯混和模型。在其他实施方式中,声学模型可以包括从声学特征至语音状态序列概率的变换,例如使用神经网络。

语言模型202也可以存储在系统1的存储器110中,并且可以包括关于包含至少一个单词的单词序列将在语言中出现的概率的统计。语言模型202例如可以是与单个单词的在语言中使用的可能性相关的一元(uni-gram)语言模型,或者表示语言中的两个单词彼此跟随的可能性的二元(bi-gram)语言模型。而且,可以使用考虑较大数量的后续单词的语言模型,例如,三元(tri-gram)语言模型等。

在一些实施方式中,语音识别模块210通过将语言分段成被假定与单个单词相关的多个片段来执行语音识别,并接着识别单个单词,例如通过识别输入的语音序列片段中的音素并且通过将音素与语言模型202的音素至文本映射进行比较。

语音识别模块210通常针对每个输入语言序列片段来识别一组可能的解释,其中,每个解释都包括单词序列。解释还称为识别结果。每个解释都与识别置信度值相关联,例如,在表示单词序列时表示解释的正确性的分数。该分数表示识别结果正确的语音识别的置信度。针对每个输入语音片段,语音识别模块可以确定具有最大识别置信度值的识别结果,例如,单词,从而产生被视为表示输入语音序列的单词序列。

因此,对语音的语音识别还通过考虑语言模型201来细化。接着,除了识别置信度值以外,在使用语言模型和识别词汇来生成语音的一组解释时,将一个或更多个单词的组在语言中出现的概率考虑在内。例如,在二元语言模型的情况下,由于二元语言模型,即使可能的识别结果对于声学空间而言具有高的置信度,例如与“three”相对比的“free”,但语音识别模块210也仍然可以使用例如预期的单词序列“at three o'clock”中的“at”和“o'clock”的上下文,来判定“three”正确。

图2B示出了语音240的一组解释的示例。在一些实施方式中,该组解释被确定或表示为语音的n-最佳列表250或语音的单词点阵260。另外,各种实施方式针对组251中的每个解释确定分数,例如,分数255,其代表受该单词序列约束的解释的正确性。所述分数可以通过许多方式来确定。

例如,该组解释的另选表示是已知为点阵260的图表,其中,节点(例如,节点265和267)表示以语音的特定区域标识的每个假设单词,并且随特定上下文出现。在该表示中,在该n-最佳列表中的许多假设中在同一位置的出现词和单词序列可以被缩减成共用该点阵中的公共子路径。除了单词以外,点阵的弧线可以包括声学和语言模型分数,使得单词序列的总分数可以从沿着穿过该点阵的路径的分数得出。例如,弧线261、262及263可以表示由跟随在单词“I”后面的单词“don’t”、“want”及“went”的相应概率所限定的分数。

在一些实施方式中,该语音识别系统被算式化为概率模型,并且分数基于解释的概率,或在给出所观察声学特征序列的情况下的单词序列的概率。解释可以包括单词序列,而且还可以标识与所假设词相对应的讲话的大概时间区。在一些实施方式中,在给出声学数据的情况下,分数S(W|X)基于单词序列的概率。例如:

S(W|X)∝pθ(W|X)

其中,∝表示比例性(即,S(W|X)=pθ(W|X)c,其中c是正常数),θ是该模型的参数,pθ表示使用参数θ的概率测度,是解释中的假设的单词序列w1,w2,...,wN,而wi是假设在位置i单词(对于具有N个单词的假设而言)。声学特征被表示为其中,xj是讲话的声学特征的第j个矢量(对于具有M个声学特征矢量的讲话而言)。pθ(W|X)已知为在X的情况下的W的后验概率。在另一实施方式中,该分数可以被限定为以下量的对数:

S(W|X)=log pθ(W|X)+k,

其中,k是任意常数。

在一个实施方式中,分数被分成不同的子分数:

其中,是来自具有参数θLM的单词语言模型的分数,并且是来自具有参数θAM的声学模型的分数。此后,除非必要,为简化起见,省略参数θ。

另一实施方式将单词序列与针对各个假设单词的讲话的假设时间区的序列相关联,使得是针对单词wi而假设的位置。在该实施方式中,分数可以基于具有对准项(alignment term)p(R|W)的扩展模型,使得p(W)p(X|W)=maxR p(W)p(R|W)p(X|W,R).。在该实施方式中,通过在该组所有可能的对准上使分数最大化来获取:

并且对应于与假设的单词wi相关联的区域的特征的声学分数为

语言模型分数可以按许多方式来计算,包括使用离散概率模型、神经网络、有区别训练的条件随机场等。例如,一个实施方式将概率模型算式化为

概率以单词较早出现在序列中(称为为上下文)为条件。通常,一般的模型太复杂,并且使用称为为n元(n-gram)模型的较简单模型,其中,上下文被限制为在前的n-1个项:

在一些实施方式中,将各种其他参数化和估计过程与n元模型一起使用,以改进它们从训练数据归纳至测试数据的能力。

在语音识别模型中的推断可以被表征为假设W上的搜索,以寻找最佳评分假设,

另外,通常,确定具有最大分数的n-最佳假设。对每种可能的W的评估会在计算上是大量的,并且一些实施方式使用递归动态编程算法(例如,Viterbi算法)与搜索过程(例如,定向搜索(beam search))的启发式约简(heuristic reduction)相结合来确定n-最佳假设。还存在许多另选搜索算法和试探法(heuristics),并且被各种实施方式所采用。

在一些实施方式中,针对假设的搜索的输出可以是n-最佳列表250,其中包括单词序列的n个解释,连同解释的分数255,例如,声学模型的分数和语言模型的分数中的一个或组合。一些实施方式提供单词与声学信号的时间性区段的最佳评分对准作为输出。

在一些实施方式中,关于假设的搜索的输出可以是点阵260。与使用n-最佳列表相比,在点阵中确定分数通常更有效。然而,出于清楚的目的,一些实施方式使用n-最佳表示来描述。

尽管语言模型和声学模型对搜索予以约束,但产生的识别仍可以具有歧义和错误。例如,具有最高分数的解释251仍可以不准确。然而,请求用户纠正该特定解释251忽视了可能包括正确解释的其他解释。而且,请求纠正特定解释可以需要与用户的多次交互,并且可以使用户从其他任务分心。

本发明的一些实施方式基于这样的总体认知,即,对包括单词序列的大词汇量的连续语音的识别结果的纠正应基于针对整个语音的解释的约束。与仅修改单个单词的纠正相比,这种约束可以提高正确解释整个语音的概率。

因此,语音识别单元200还包括纠错模块220,纠错模块220通过考虑语言模型202和单词序列约束270来重新解释识别结果。具体来说,在一些实施方式中,纠错模块220基于每个解释与约束270的一致性来更新该解释的分数。在更新之后,解释215,例如,具有最高分数的解释,可以被确定为所识别的语音并输出。

一些实施方式基于这样的认知,即,用于解释整个语音的约束可以通过例如由说出该语音的用户所提供的语音的单词序列约束270来补充。例如,单词序列约束可以包括语音中的单词的数量和次序、语音中在特定时间说出的特定单词、语音中缺少该特定单词、语音中的两个特定单词的连接或分离。单词序列约束还可以指定语音输入的主题,例如,语音的主题是污染。

这种认知允许将用户纠正语音的工作减到最小,因为单词序列约束可以得到对语音的整个解释的纠正,而对单词的纠正仅可得到纠正该单词。值得注意的是,约束270可以用于更新整组解释的分数。

由此,在一些实施方式中,与将约束用于后续对语音的一部分的纠正相比,单词序列约束与语音的解释同时使用。整个语音的分数最佳的解释在单词序列约束下确定。具有最高分数的解释可以被确定为识别的语音。实际上,这种方法可以使确定语音序列的正确解释所需的多个交互减到最少。

图3A示出了根据本发明一个实施方式的用于识别用户的语音的方法的流程图。方法300采用上述一些原理和认知并且可以使用处理器301来实现。该方法接收305表示单词序列的语音,并且使用声学模型和语言模型生成310该语音的一组解释。该组解释包括一个或更多个解释,其中,每个解释都是可能已说出的可能的单词序列。各种实施方式接收或生成解释,作为解释的n-最佳列表、词点阵或可能的单词序列的组的其他表示。

针对每个解释,该方法确定315该解释的正确性分数以生成一组分数。例如,分数可以基于根据声学模型和语言模型所给出的概率和/或下述正确性函数来确定。在一些实施方式中,该方法确定320具有最大分数的解释,并且向用户传送325解释的子集。在一个实施方式中,仅将具有最大分数的解释传送给用户。在另选实施方式中,传送多个解释。

各种实施方式使用用户接口组件,以在需要时允许用户提供针对该组解释的约束。该方法基于通过用户接口组件给出的来自用户的输入来判断330是否期望使用单词序列约束的纠正。用户可以使用系统1的任何接口或其组合来提供约束。例如,用户可以使用小键盘110、操纵杆108、显示器106的触摸屏、语音接口103及其组合。

当希望纠正时,该方法接收335针对单词序列的约束。各种实施方式通过诸如选择列表、按钮等的用户接口组件接收或确定基于用户接口动作的单词序列约束。在该系统的一些实施方式中,单词序列约束被表示为各种事件的出现的概率。

在一些实施方式中,单词序列约束包括语音的元数据,诸如语音中的单词的数量或语音中不存在特定单词。与有关单词序列的上下文的信息相比,语音的元数据是有关单词序列的信息。这种单词序列约束可以在任何时间收集。

该方法根据每个解释与约束的一致性来更新340语音的该组解释的分数。在更新分数之后,确定320最高分数,并且该方法迭代地继续,直到用户不再希望进行纠正为止。该组解释可以从该方法输出(例如,存储到存储器中)以供以后使用。

图3B示出了用于在约束下更新解释的分数的方法的流程图。单词序列约束从用户接收350。在一些实施方式中,该单词序列约束被修改以确定360适于解释的约束。例如,一些实施方式基于从用户接收到的单词序列约束来确定约束。

例如,在一些实施方式中,响应于传送解释的子集,从用户接收单词序列约束。实施方式基于单词序列约束来确定361约束的类型,并且基于该类型确定360约束。例如,约束的类型可以是以下中的一种或其组合:语言类型:有关语言概率的约束;声学类型:给定了假设的单词的情况下声学特征的概率分布的约束;以及上下文类型:有关解释内的单词序列的约束。

图3C示出了根据一些实施方式的确定约束的示例,其中,所确定约束的类型基于要更新的分数。那些实施方式更新365语言和/或声学模型的一个或组合。一些实施方式基于从用户接收到的单词序列约束来确定约束的类型。例如,在一些实施方式中,单词序列约束包括语音的元数据,诸如语音中的词的数量、语音的主题、在语音的特定时段内说出的词的数量。那些约束通常是语言或声学类型约束。

在另一实施方式中,单词序列约束更加特定于语音的上下文。例如,单词序列约束可以包括有关语音中特定单词的存在与否的信息。那些约束通常是上下文类型约束。

例如,如果单词序列约束是序列中的单词的数量,则在一个实施方式中,对分数的更新通过重新计算语言模型分数来进行,例如,使用p(W|length(W)=6)。在该实施方式的一个变型例中,声学模型分数和与每个单词相对应的估计区R保持不变。

在一个实施方式中,约束的类型是语言类型,并且对分数的更新通过使用修改的语言模型重新计算语言模型分数来进行。例如,不是原始语言模型,而是使用来对点阵进行重新评分。这里,是原始语言模型参数,而是通过以序列中存在六个词的约束为条件而获取的参数。由此,分数可以通过评估

而更新,其中,S′(W|X)是修改后的分数。

一个实施方式按类似方式施加了主题为“污染”的约束。该实施方式使用具有适于该主题“污染”的单词序列的参数θ′LM的受约束的语言模型由此,该实施方式可以使用受约束的语言模型来更新上述分数函数S′(W|X)。

在给定了每个解释的更新后的分数的情况下,重新评分相当于针对n-最佳列表的每个条目,使用修改后的分数函数来评估分数。另选地,基于点阵或n-最佳列表,可能单词序列的图表可以使用修改后的分数函数,使用诸如前后向算法、Viterbi解码或堆栈解码的各种算法来有效地搜索。在评估分数的处理中,生成修改后的n-最佳列表或点阵。

如果约束仅针对单词序列,则声学模型分数(如上述示例中的)和与每个词相对应的估计区R可以保持不变。然而,在其他实施方式中,约束的类型是声学类型并且声学分数p(X|W)根据约束而改变。例如,在计算单词与声学特征之间的对准的情况下,重新评分可以还取决于该对准。一个实施方式限定模型并且基于针对R的约束来更新分数:

其中,表示加强希望的约束的被允许的对准的子集。例如,一个这样的约束可以是在特定时间区内仅存在一个单词。

图3D示出了用于确定用于更新分数的绝对或相对约束的方法的流程图。在一些实施方式中,如果约束是绝对的,则与该约束不匹配的单词序列的解释用最小可能分数进行重新评分。相反,如果约束是相对的,例如概率性的,则与该约束不匹配的解释用比与该约束匹配的解释小的权重来重新评分,但不匹配的解释可以仍具有比与相对约束一致的解释的分数高的最终分数。

例如,在一些实施方式中,相对约束具有表示不同约束满足程度的连续值。这种约束可以使用表示约束的倍增因子来公式化。在一个实施方式中,约束包括约束因子369,其输出是指示针对声学序列、单词序列以及对准中的一个或更多个的约束满足程度的数字。使用该约束因子,一个实施方式将一般的重新评分函数算式化:

根据约束因子,可以实现许多不同种类的约束,包括使用绝对约束和相对约束的情况。例如,在一些实施方式中,约束因子可以使用指标函数363和权重参数367来确定,该指标函数363将用户指定的单词序列约束与适于更新解释的分数的约束相映射,并且权重参数367指示相对约束的程度(直至使该相对约束变绝对)。

例如,如果约束因子

f(X,W,R)=f(W)=αIlength(W)=6+β,

其中,符号f(W)表示该约束因子不取决于X和R,则在这种情况下,α和β是表示约束满足程度的非负权重参数,而且例如,

是针对序列中存在六个单词的约束的指标函数。如果权重参数α相对于β较大,则约束满足程度较强,否则约束满足程度较弱。绝对约束可以通过将β设置成零以使函数在不希望的所有情况下具有零值来实现。

在另一实施方式中,针对对准的约束可以使用来实现,其中,是针对R处于约束组中的条件的指标函数。

在使用具有参数θ′LM的受约束的语言模型中具体实施的约束的情况下,约束因子为

其中,p(W)是在初始识别中使用的语言模型。这对分数而言具有和用新模型代替旧模型p(W)相同的效果。

注意,在重新评分之后,f的绝对标度不影响不同的单词假设的相对评分,使得与另一约束因子成比例的任何其他约束因子f′(X,W,R)∝f(X,W,R),对得到的n-最佳列表或点阵生成相同的效果。

另外或另选的是,针对解释的多个约束可以基于从用户接收到的单词序列约束来确定。例如,如果用户指示单词序列中的单词正确,则一些实施方式确定该单词左侧或右侧的单词也正确(根据语言模型)。在那些实施方式中,生成针对相邻单词的附加约束。

例如,在一个实施方式中,评分函数测试特定单词的存在。例如,语音的方向可以基于语言模型来确定,并且评分函数使用针对在传送给用户的解释中的特定单词之前和之后(根据该语音的方向)的单词的存在的测试来更新。在这个实施方式中,评分函数不仅测试特定单词,而且根据语音的方向测试与所述特定单词相邻的其他单词。

在确定针对解释的约束之后,基于特定解释与约束的一致性来更新370一些解释的分数。在一些实施方式中,更新每个解释,使得对于每个解释,分数可以增大或减小。这意味着在更新370之后,每个解释的分数可以增大或减小。实施方式的一些变型例允许一些解释的分数保持不变。

在更新分数后,确定380具有最大分数的解释,并且形成390对用户的输出,接着传送给用户。一些实施方式使用可视装置传送解释,诸如在显示器上示出的单词和字符。一些实施方式使用音频反馈传送解释,诸如使用文本至语音(text-to-speech)或录制音频波形从扬声器生成声音。各种实施方式可传送具有最佳分数的一个或多个解释。

图4、图5及图6示出了用于基于传送给语音的用户的解释来选择单词序列约束的接口的示例。解释可以是该语音的初始解释,或者是在更新分数之后选择的随后解释。

单词序列4是包括五个单词的句子,其中,第三个单词(Word3)配有虚线框40。在另一实施方式中,Word3被确定为单词序列的最有效约束。

而且,在图4的示例中,虚线框40不仅表示强调,而且表示选择器(selector),所述选择器可被用户移动以选择被错误识别并因此需要纠正的单词。这种移动例如可以借助于操纵杆或通过箭头键逐个单词地执行,并且接着可以通过按压专用按钮或键(其例如可以集成到操纵杆或触摸屏中或者通过操纵杆或触摸屏实现)来执行选择。

图5示出了另选接口,其中,用户可以选择一个或多个单词,例如,Word3和Word5。在选择单词或单词序列之后,用户可以执行下列动作之一:将所选择的单词或序列标记为正确;将所选择的单词或序列中的一个或更多个标记为不正确;跳过所选择的单词或序列;请求针对所选择的单词或序列的另外选择;或者可能改变某些其他约束,如文本的主题或风格。

在一个实施方式中,在选择单词或单词序列之后,与所选择的单词相关联的时间或时间窗可以被用于检索可能在该时间或时间窗已说出一组单词,并且将这些中的一些或全部显示给用户,优选地按分数从高到低的次序排序。

图6例证了针对单词序列6中的第三个单词(Word3)的向下滚动列表60。滚动列表60包括基于与word3相对应的时间窗选择的四个单词候选。选择器61自动设置在向下滚动列表60中的第一条目上,选择器61可以垂直移动到从向下滚动列表60选择的条目。

示例

图7A示出了根据本发明一个实施方式的用于解释经受单词序列约束的语音710的示例性方法的示意图。在这个示例中,单词序列约束包括针对单词的数量(即,语音具有六个单词)的约束714。值得注意的是,约束714用于更新整组解释711的分数712,以生成解释的具有更新的分数716的更新的组715。如可以从图7A的示例看出,整组解释的分数716被更新。

针对该示例性实施方式,一般的重新评分函数

可以如上所述地使用,具有向具有六个单词序列赋予较高权重的特定约束因子f(X,W,R),诸如:

f(X,W,R)=f(W)=αIlength(W)=6+β,

还可以使用其他约束因子和/或指标函数。

图7B示出了根据本发明一个实施方式的用于解释经受单词序列约束的语音720的示例性方法的示意图。在这个示例中,单词序列约束包括针对该语音的主题(即,该语音与污染有关)的约束724。约束724用于更新整组解释721的分数722,以生成解释的具有更新后的分数716的更新后的组725。

该示例性实施方式使用具有适于主题为“污染”的单词序列的参数θ′LM的受约束的语言模型由此,该实施方式可以使用受约束的语言模型来更新上述分数函数S′(W|X)。

图7C示出了根据本发明一个实施方式的用于解释经受单词序列约束的语音730的示例性方法的示意图。在这个示例中,单词序列约束包括针对语音中的特定单词“Carts”的存在的约束734。约束734被用于更新整组解释731的分数732,以生成解释的具有更新的分数736的更新的组735。

针对该示例性实施方式,一般重新评分函数

可以如上所述地使用,具有向包括单词“Carts”的序列赋予较高权重的特定函数f(X,W,R),诸如:

f(X,W,R)=f(W)=αIcarts∈W+β,

还可以使用其他约束因子和/或指标函数。

确定低认知语音识别的单词序列约束

一些实施方式还基于以下认知,即,为了使系统对用户施加低认知负担,单词序列约束的输入方法应当使得用户选择约束所需的动作最小化。单词序列约束不仅可以具有不同的值,也可以具有不同的类型。例如,单词序列约束的类型可以包括:单词的选择或拒绝、单词序列的选择、时隙的选择、序列中正确单词的踪迹、单词的替换或单词的顺序等。因此,期望提供一种适于选择约束的类型和值两者的同时使对用户的主要任务(例如驾驶)的妨碍最小化的接口。

本发明的一些实施方式基于以下认知,即,可以分析用户的单个手势以确定单词序列约束的类型和值两者。具体地,手势的形状可以用于确定单词序列约束的类型,并且手势相对于接口的路径(例如,该路径在显示设备上的位置)可以用于确定单词序列约束的值。

图8示出了根据本发明的一个实施方式的用于识别包括单词序列的语音的方法的框图。该实施方式确定810手势的形状817和该手势相对于显示所述语音的一组解释的显示设备的位置815。

图9A示出了由用户在输入设备上做出的手势的形状901的示例。例如,输入设备可以将手势的路径表示为在输入设备的坐标空间内的位置坐标904的序列。

在触摸设备中,坐标序列在触摸表面的2D平面内。在3D手绘手势设备中,坐标序列在由设备测量的运动的3D空间内。手势的形状由这些坐标相对于彼此的位置形成,并且可以包括受诸如缩放和/或旋转的变换影响最小的几何图案。在一些实施方式中,位置坐标的序列是有序的,并且手势的形状包括手势的动态的形成,诸如抓握手势或放大手势或缩小手势。

图9B示出了在显示设备902上具有形状901的手势的位置903。手势的位置可以是绝对的位置或相对的位置。例如,绝对位置可以被确定为手势的几何中心的位置,或者环绕手势的形状的圆的位置。在另选实施方式中,手势的位置可以被映射到UI元素的显示的坐标空间中,并且可以相对于在输入设备的UI上显示的元素来确定。例如,可以相对于在设备902上显示的一组解释来确定位置903。在图9B的示例中,手势的位置被确定为最接近元素905。

在一些实施方式中,手势的位置包括手势的形状的几何上重要的点的一组位置,诸如与该手势的方向的改变对应的该形状角。另外地或另选地,重要的点可以包括最接近特定UI元素的点,即,最接近语音的解释的单词的手势中的点。

接下来,该实施方式基于手势的形状和在一组手势的形状和一组单词序列约束的类型之间的映射830来确定850单词序列约束860的类型。在一些实施方式中,映射830是预定的并且存储在存储器中,诸如存储器101。另外地或另选地,映射830可以在语音识别系统的操作期间被确定或被更新。

该实施方式还基于手势的位置815和手势的形状817来确定840单词序列约束860的值845,并使用该单词序列约束860来识别820语音。例如,水平手势可以被映射到选择单词序列的单词序列约束的类型。该手势在输入设备上的路径的位置被映射到用户界面的坐标空间中的位置,其可以用于确定在语音的解释中存在的单词序列。类似地,垂直手势可以被映射到选择单词的时隙的类型,并且该手势在输入设备上的路径的位置可以被映射到用户界面空间中的手势的相应位置,其可以用于确定特定单词的发音的时间和/或顺序。

以类似的方式,可以将不同形状的手势(像划动,环绕,拖动选择和单词路径的迹线)映射到不同类型的约束,并且在UI元素设备的空间中的手势的位置可以用于确定随后对语音的可能解释的重新评分的约束的值。

手势的形状和位置两者都可以表示为单个最佳选择,或者表示为与分数相关联的形状和位置的可能性的概率列表。另外,在一些实施方式中,手势的形状和位置可以基于它们的联合对应的概率来更新816。例如,如果手势的形状可以被解释为移除单词或选择单词序列,但是手势的位置仅涉及单个单词,则与移除单词相对应的手势的形状的概率可以增大。

图9C示出了根据本发明的一个实施方式的用于显示设备902以显示和指定单词序列约束的示例性人机接口(HMI)。在该实施方式中,在多维可视化中示出了具有根据语音输入的相对高的当前正确性分数和当前的单词序列约束的单词。对于所示出的每个候选单词,存在特定的可视界面元素910。界面元素910可以表示单词、字符、音素或单词序列。在该示例中,水平维度表示时间,并且垂直维度表示每个元素的分数,其中,元素具有朝向可视化的顶部的较高分数。

彼此之上/之下的元素是在语音发音的相同部分期间可能已经说过的东西的替代可能性,并且可以跨可视化的顶部读取发音的最佳的(最可能的)解释。图8示出了可以进行以便指定单词序列约束的几种选择。可以向用户显示单词序列中的单个词选择930,例如通过使用颜色、背景阴影或其他视觉信息来突出显示界面元素。单词序列选择940选择单词序列。时间片(time-slice)选择920选择该发音的有时间限制的部分,并且指在该时间部分期间已经说过的所有可能的单词。

可以使用不同种类的显示设备902来实现HMI,诸如具有手势输入设备的头戴式或可穿戴的显示器,或具有直接触摸的显示屏幕(诸如触摸屏)。视觉输出和触摸、鼠标或手势输入的其他组合是可能的。在任何情况下,实施方式将特定手势形状映射到特定种类的约束,或者选择单词830、单词序列840和/或时间片820的动作。在选择特定元素之后,进一步的接口动作对所选择的一个或多个元素施加单词序列约束。

在一些实施方式中,一些手势可以被分割成可以针对形状和位置信息单独分析的单独的手势段。

图9D示出了允许用户偏好发音的一个特定解释并且为该解释提供单词序列约束的特定类型的动作的示例。显示设备902向用户提供跟踪表示正确单词的界面元素的曲线的能力。图9D示出了两个不同迹线的示例。迹线950表示解释“I want to get some rice and beans”,迹线960表示解释“I went to get the same jeans”。

手势和触摸迹线都是模糊的和噪声的,因此触摸/手势迹线可以被转换为概率p(Z|V,W),其中,Z是手势的路径,V是视觉元素在显示设备上的布局,以及W是解释中的单词序列。该公式将迹线与语言模型和声学分数组合以更新正确性分数,使得与迹线和语言模型一致的解释的分数增大。

因此,一些实施方式确定指示与单词序列约束的一致性的约束因子。约束因子可以用于基于该约束因子来确定评分函数,并使用该评分函数来更新该组分数。

例如,给定迹线960,在包括单词{nice,my,slice,…}的时间片处有最佳选择的几种可能性。迹线似乎最接近“slice”,但这将导致“I went to get the same slice jeans”,这是一个很差的语言模型匹配。在这种情况下,在组合跟踪约束和语言模型约束之后的最高分数解释可以是“I went to get the jeans”,以及“I went to get the nice jeans”。

图10示出了在一组手势的类型1020和一组单词序列约束的类型1010之间的映射830的示例。一般来说,触摸/手势动作的位置提供关于要选择什么或在哪施加约束的上下文。例如,在可视化V中的单词上方做出“X”手势可以映射到拒绝单词(将其分数降低到非常低的值)。

在一些实施方式中,单词序列约束的类型确定约束因子的类型。那些实施方式基于单词序列约束的类型确定约束因子。例如,在一个实施方式中,映射830包括水平选择的手势,并且对应的约束因子输出指示与单词序列的一致性的数字。在另一实施方式中,映射830包括正确单词序列的迹线的手势,并且对应的约束因子输出指示与迹线的一致性的数字。

例如,在一个实施方式中,f(X,W,R)=fZ,V(W),其中,fZ,V(W)是输出指示与单词序列迹线和可视化的一致性的约束因子。例如,fZ,V(W)可以与p(Z|V,W)成比例。

给定映射到约束的手势G,则f(X,W,R)=fG,V(W),其中,fG,V(W)是输出指示与单词序列迹线和可视化的一致性的约束因子。例如,fG,V(W)可以与p(G|V,W)成比例。

在拒绝手势的示例中,令wrej是用户已拒绝的单词。则,

另外地或另选的是,在一些实施方式中,映射包括与抓握手势对应的选择约束,与水平手势对应的顺序约束,与环绕手势对应的同义词约束,与迹线路径手势对应的迹线约束,与帽子手势(hat gesture)对应的交叉(intersection)约束,与迹线拖动手势对应的重排约束。

上述实施方式可以按许多方式中的任一种来实现。例如,这些实施方式可以使用硬件、软件或其组合来实现。当按软件来实现时,软件代码可以在任何合适处理器或处理器集合上执行,而不管设置在单一计算机中还是在多个计算机当中分布。这种处理器可以被实现为集成电路,在集成电路组件中具有一个或更多个处理器。然而,处理器可以使用采用任何合适格式的电路来实现。

而且,应当清楚,计算机可以按许多形式中的任一种来具体实施,如机架式计算机、台式计算机、膝上型计算机、微计算机或平板计算机。而且,计算机可以具有一个或更多个输入和输入系统。这些系统尤其可以被用于呈现用户界面。这种计算机可以通过用任何合适形式的一个或更多个网络来互连,包括作为局域网或广域网,如企业网或因特网。这种网络可以基于任何合适技术,并且可以根据任何合适协议来操作,并且可以包括无线网络、有线网络或光纤网络。

而且,在此概述的各种方法或处理可以被编码为可以在采用多种操作系统或平台中的任一种的一个或更多个处理器上执行的软件。另外,这种软件可以使用许多合适编程语言和/或编程或脚本工具中的任一种来编写,而且还可以被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。

术语“程序”或“软件”在此按一般意义来使用,以指可以被采用以编程计算机或其他处理器来实现如上讨论的本发明的各个方面的任何类型的计算机代码或计算机可执行指令集。

计算机可执行指令可以采用通过一个或更多个计算机或其他系统执行的许多形式,如程序模块。一般来说,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件以及数据结构。通常,程序模块的功能可以如在各种实施方式中所希望的组合或分布。

而且,本发明的实施方式可以被具体实施为已经提供了示例的方法。作为该方法的一部分执行的动作可以按任何合适方式来安排。因此,即使在例示性实施方式中被示出为顺序动作,也可以构造按与所例示相比不同的次序来执行动作的实施方式,可以包括同时执行一些动作。

在权利要求书中使用诸如“第一”、“第二”的普通术语来修改权利要求要素本身并不暗示一个权利要求部件相对于另一个要素的任何优先级、优先或次序,或者执行方法的动作的时间次序。而是仅仅被用作用于区分具有特定名称的一个权利要求要素与具有相同名称(供顺序项使用)的另一要素的标记,以区分这些权利要求要素。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1