语音识别仲裁逻辑的制作方法

文档序号:18669832发布日期:2019-09-13 20:49阅读:374来源:国知局
语音识别仲裁逻辑的制作方法

本公开涉及语音仲裁,并且更具体地,涉及实现组合来自不同语音识别引擎或算法的结果的语音仲裁过程。



背景技术:

传统上,使用多个语音算法或引擎需要在数值上使用归一化结果,例如,使用置信度分数。然而,语音识别置信度分数的归一化高度依赖于每种算法中采用的特定方法,并且因此可能无法准确地比较来自不同算法的语音识别置信度结果。另外,基于较低置信度分数反映识别语音中的问题的预期,或者否则无助于确定语音的内容,语音识别置信度分数的归一化可导致与相对较低的数值置信度分数相关联的结果被完全丢弃。

因此,需要一种用于组合来自不同语音识别引擎或算法的语音识别结果的改进方法。



技术实现要素:

根据本发明的一个方面,提供了一种使用第一和第二语音识别算法识别语音的方法。一种方法可以包括:在安装在车辆中的麦克风处接收语音,使用第一算法确定语音结果,包括第一语音主题和第一语音时隙值,确定第一语音主题的第一语音主题置信水平,以及确定第一语音时隙值的第一语音值置信水平。该方法还可以包括在车辆处接收利用与第一算法不同的第二算法确定的第二语音结果,包括第二语音主题和第二语音时隙值,接收第二语音主题的第二语音主题置信水平,以及接收第二语音时隙值的第二语音时隙值置信水平。该方法还可以包括:使用所确定的第一语音主题和所接收的第二语音主题中的至少一个来确定与所接收的语音相关联的主题,即使在第一语音主题的第一语音主题置信水平和第二语音主题的第二语音主题置信水平都是低置信水平时也是如此。

在至少一些示例中,第一语音识别算法是使用嵌入在车辆中的电子设备中的自然语言理解启发法确定的局部语音识别算法。在其他示例中,第二语音识别算法是在车辆处从远程设施接收的远程语音识别算法。

在一些示例方法中,该方法还包括:当第一语音主题与第二语音主题匹配时,请求用户确认与所接收的语音相关联的语音主题。

在一些情况下,示例方法可以包括当用户确认第一语音主题时请求与第一语音主题相关联的用户输入。

在其他示例中,当确定的第一语音主题不同于第二语音主题时,该方法可以包括请求用户对语音主题进行主题选择。在这些示例中,响应于用户主题选择,可以提供用户菜单选择,其包括与用户主题选择相关联的多个时隙值。在一些方法中,该方法可以包括:响应于用户主题选择,丢弃与用户主题选择不相关联的第一语音时隙值或第二语音时隙值中的至少一个。

在至少一些示例中,一种方法可以包括仅确定包括高水平、中水平和低置信水平的本地语音主题置信水平级别和本地语音值置信级别,并且不确定本地语音主题置信水平和本地语音值置信水平的数值。

在至少一些示例中,一种包含用于识别车辆中的语音的程序指令的非暂时性计算机可读介质,其中由安装到车辆的一个或多个处理器执行程序指令使得一个或多个处理器执行本文公开的方法。例如,计算机可读介质可以使得一个或多个处理器在安装到车辆的麦克风处接收语音,使用安装在车辆中的电子设备确定本地语音结果,包括本地语音主题和本地语音时隙值,以及确定本地语音主题的本地语音主题置信水平,并且确定本地语音时隙值的本地语音值置信水平。处理器还可以在车辆处接收远程语音结果,包括远程语音主题和远程语音时隙值,并且接收远程语音主题的远程语音主题置信水平,并且接收远程语音时隙值的远程语音时隙值置信水平。处理器还可以使用所确定的本地语音主题和所接收的远程语音主题中的至少一个来确定与所接收的语音相关联的主题,即使本地语音主题的本地语音主题置信水平和远程语音主题的远程语音主题置信水平都是低置信水平时也是如此。

在至少一些示例中,由安装到车辆的一个或多个处理器执行程序指令使得一个或多个处理器实施以下步骤:当本地语音主题与远程语音主题匹配时,请求用户确认与所接收的语音相关联的语音主题。在这些示例中的至少一些示例中,由安装到车辆的一个或多个处理器执行程序指令使得一个或多个处理器实施以下步骤:当用户确认本地语音主题时,请求与本地语音主题相关联的用户输入。

在其他示例方法中,由安装到车辆的一个或多个处理器执行程序指令使得一个或多个处理器实施以下步骤:当确定的本地语音主题与远程语音主题不同时请求用户对语音主题进行主题选择,并且响应于用户主题选择,提供包括与用户主题选择相关联的多个时隙值的用户菜单选择。

附图说明

在下文中将结合附图描述本发明的一个或多个实施例,其中相同的标号表示相同的元件,并且其中:

图1是描绘能够利用本文公开的示例性方法的通信系统的实施例的框图;

图2是描绘自动语音识别(asr)系统的实施例的框图;

图3是说明在语音识别算法之间进行仲裁的示例性方法的过程流程图;以及

图4是示出根据一个示例说明的语音识别仲裁方法的表。

具体实施方式

下面提供用于例如在车辆中,在两个单独或不同的语音识别引擎或算法之间进行仲裁的方法和系统的示例性说明。语音识别引擎或算法通常可以解释语音输入,并确定语音输入的内容。仅作为示例,语音识别算法可以使用有限状态语法(fsg)、自然语言理解(nlu)或两者的组合。

多个语音识别引擎或算法的使用允许结合远程语音识别算法在车辆中使用嵌入或本地语音识别算法。在一些示例中,第一语音识别算法是本地算法,例如,通过嵌入在车辆电子设备中,而第二语音识别算法通过远程服务器或设施提供。

远程语音识别算法可以通过依赖于不受安装到车辆限制的远程系统而具有优于车辆中存在的处理能力。然而,远程语音识别可能具有缺点,例如需要向远程设施发送语音,这可能涉及无线载波系统用于从车辆向远程设施发送语音的使用费。每当车辆发送要由远程设施分析的语音时,车辆或远程信息处理服务提供商就会收取费用。该费用可以基于发送语音所需的时间长度,语音包括的数据量或两者。另一方面,从车辆接收语音的远程设施可以利用比车辆上可用的语言模型更复杂的语言模型来维持更强大的计算机处理能力。

基于车辆的语音处理可能具有其自身的缺点。虽然识别车辆处接收到的语音可以最小化无线载波系统收取的费用,但是车辆的计算机处理能力可能不如远程设施处可用的那样强大,并且车辆可以使用更简单的语言模型,其可以包括比远程设施可用的内容更少的内容,这可能意味着不太准确的结果。

因此,组合本地和远程算法可以允许混合每种方法的益处,同时减少缺点。

在至少一些示例方法中,语音识别仲裁方法通过至少部分地基于置信水平选择结果之一来选择从不同语音识别引擎输出的结果。用于这些确定的置信水平与置信度分数形成对比,置信度分数在先前的方法中通常将例如从0到100的数值确定为结果置信度的指示。另一方面,如本文所使用的置信“水平”不依赖于数值或标准化值,而是有利于相对少量的类别,例如“低”、“中”和“高”。可以根据便于所采用的特定语音识别引擎/算法的任何度量来确定低/中/高置信水平。

在一些示例中,可以在某些情况下使用具有相对低置信水平的语音识别结果。相反,在先前的方法中,具有低于某个基线或阈值的低置信度分数的语音识别结果通常将被完全丢弃。如此丢弃低置信度分数通常会导致语音识别会话在某些情况下被终止或重新开始,从而降低了用户成功完成语音识别会话的可能性。丢弃低置信度分数通常在预期较低置信度分数指示语音识别分析的不准确结果或其他问题的情况下进行。然而,在下面进一步描述的一些示例情况中,已经发现具有相对低置信水平的语音识别结果可能是有用的。此外,在这些示例中,使用具有低置信水平的结果可以增加语音识别任务的完成率,即以成功识别的命令结束的语音会话的百分比。

在示例方法中,语音识别通常可以分为识别(1)与语音输入相关联的主题(例如,导航命令、无线电命令、电话命令等)和(2)命令本身(例如,呼叫联系人、获取兴趣点的指示、将无线电调谐到给定的电台等等)。如下面进一步讨论的,语音输入中的命令的识别在下面被称为识别与语音输入相关联的“时隙值”或“时隙”。对与语音输入相关联的主题和时隙值的识别可以彼此独立。换句话说,可以采用单独的分析或甚至专用的语音识别算法来确定与给定语音输入相关联的主题和时隙值。

在一些示例方法中,采用自然语言理解(nlu)方法来识别与语音输入相关联的主题和时隙值。自然语言理解方法与有限状态语法(fsg)形成对比,有限状态语法使用有限数量的已识别命令。因此,如本文所使用的,自然语言理解(nlu)方法或启发式通常不受有限数量的识别命令的限制,并且因此通常被配置为响应包括在接收的语音输入中的语音命令。然而,一些示例可以至少部分地依赖于有限状态语法(fsg)方法,即,其中有限数量的命令可用于用户,并且该方法或启发式因此寻求将语音输入与一个可用命令匹配。

如本领域技术人员将理解的,除了嵌入在车辆电子设备中之外,示例语音仲裁过程或应用可以被实现到各种不同的客户端设备中,包括手持移动设备(例如,智能电话)、家庭自动化设备(例如,诸如amazontmalexatm和googletmhome的智能个人助理)、车辆和/或可以接收语音、连接到远程计算机网络并且被配置为实现本文所讨论的语音仲裁过程或应用的任何设备。

在一些示例中,第一和第二自动语音识别(asr)算法分别表示本地或车载嵌入式语音识别算法和远程语音识别算法。在这些方法中,来自每个的结果可以用于根据与语音主题结果和每个的语音时隙值结果相关联的置信水平(例如,低、中和高)来确定语音内容。

通讯系统-

参考图1,示出了包括通信系统10并且可以用于实现本文公开的方法的操作环境。通信系统10通常包括具有车身控制模块(bcm)26和无线通信设备30的车辆12、全球导航卫星系统(gnss)卫星60的星座、一个或多个无线载波系统70,陆地通信网络76、计算机78、远程设施80和个人移动设备90。应当理解,所公开的方法可以与任何数量的不同系统一起使用,并且不特别限于这里所示的操作环境。而且,系统10及其各个组件的架构、构造、设置和一般操作在本领域中通常是已知的。因此,以下段落仅简要概述了一个这样的通信系统10;然而,这里未示出的其他系统也可以采用所公开的方法。

无线载波系统70可以是任何合适的蜂窝电话系统。载体系统70被示出为包括蜂窝塔72;然而,载波系统70可以包括以下组件中的一个或多个(例如,取决于蜂窝技术):蜂窝塔,基站收发信台,移动交换中心,基站控制器,演进节点(例如,enodeb),移动性管理实体(mme),服务和pgn网关等,以及将无线载波系统70与陆地网络76连接或将无线载波系统与用户设备(ue,例如,可包括车辆12中的远程信息处理设备)连接所需的任何其他网络组件。载波系统70可以实现任何合适的通信技术,包括gsm/gprs技术、cdma或cdma2000技术、lte技术等。通常,无线载波系统70、它们的组件、它们的组件的布置、组件之间的交互等等在本领域中通常已知。

除了使用无线载波系统70之外,可以使用卫星通信形式的不同无线载波系统来提供与车辆的单向或双向通信。这可以使用一个或多个通信卫星(未示出)和上行链路发送站(未示出)来完成。单向通信可以是例如卫星无线电服务,其中节目内容(新闻、音乐等)由上行链路发送站接收,打包以便上载,然后发送到卫星,卫星向用户广播节目。双向通信可以是,例如,使用一个或多个通信卫星以中继车辆12和上行链路发送站之间的电话通信的卫星电话服务。如果使用的话,除了无线载波系统70之外或代替无线载波系统70,可以使用该卫星电话。

陆地网络76可以是传统的陆基电信网络,其连接到一个或多个陆线电话并且将无线载波系统70连接到远程设施80。例如,陆地网络76可以包括公共交换电话网络(pstn),例如用于提供硬连线电话,分组交换数据通信和因特网基础设施的那些。陆地网络76的一个或多个段可以通过使用标准有线网络、光纤或其他光网络、有线网络、电力线、诸如无线局域网(wlan)的其他无线网络或提供宽带无线接入(bwa)的网络或其任何组合来实现。

计算机78(仅示出一个)可以是通过诸如因特网的私人或公共网络可访问的多个计算机中的一些。每个这样的计算机78可以是可以执行语音处理和/或语音仲裁的客户端设备,或者可以用于一个或多个目的的客户端设备,例如车辆12可访问的远程服务器(例如,远程语音处理服务器)。其他这样的可访问计算机78可以是,例如:可用于提供位置服务的第三方服务器;服务中心计算机,其中可以从车辆上载诊断信息和其他车辆数据;车辆所有者或其他订户用于访问或接收车辆数据或建立或配置订户偏好或控制车辆功能等目的的客户计算机;汽车共享服务器,其协调来自请求使用车辆作为汽车共享服务的一部分的多个用户的登记;或者第三方存储库,通过与车辆12、远程设施80或两者通信来向或自第三方存储库提供车辆数据或其他信息。计算机78还可以用于提供诸如dns服务之类的因特网连接,或者用作使用dhcp或其他合适协议来为车辆12分配ip地址的网络地址服务器。

远程设施80可以被设计为通过使用一个或多个电子服务器向车辆电子设备20和移动设备90提供许多不同的系统后端功能。例如,远程设施80可以部分地用于促进或协调在车辆12与一个或多个客户端设备(例如移动设备90或计算机78)之间发送的信息。在一个实施例中,远程设施80可以提供语音识别服务,这可以包括从客户端设备接收语音信号并使用语音识别系统处理接收的语音信号。另外或替代地,远程设施80可以包括一个或多个交换机、服务器、数据库、现场顾问、以及自动语音响应系统(vrs),所有这些都是本领域已知的。远程设施80可以包括这些各种组件中的任何一个或全部,并且优选地,各种组件中的每一个通过有线或无线局域网彼此耦合。远程设施80可以通过连接到陆地网络76的调制解调器接收和发送数据。

远程设施80还可以包括一个或多个数据库,其可以存储帐户信息,例如订户认证信息、车辆标识符、简档记录、行为模式、语音识别和/或仲裁信息、以及其他相关订户信息。如本文所使用的,语音识别和/或仲裁信息包括可用于训练语音识别或语音仲裁系统的信息,例如下面详细讨论的神经网络语音仲裁过程。数据传输也可以由无线系统进行,例如ieee802.11x,gprs等。本领域技术人员将理解,尽管在所示实施例中仅描绘了一个远程设施80和一个计算机78,但是可以使用许多远程设施80和/或计算机78。

个人移动设备90是移动设备,并且可以包括:支持蜂窝电信和srwc以及其他移动设备应用的硬件、软件和/或固件。如本文所使用的,个人移动设备是能够srwc的移动设备,其可由用户携带,并且其中设备的便携性至少部分地取决于用户,例如可穿戴设备(例如,智能手表),可植入设备或手持设备(例如,智能手机、平板电脑、笔记本电脑)。如本文所使用的,短程无线通信(srwc)设备是能够进行srwc的设备。个人移动设备90可以是客户端设备,并且可以包括处理器和存储器(例如,被配置为与处理器一起操作的非暂时性计算机可读介质),用于存储软件、固件等。个人移动设备的处理器和存储器可以启用各种软件应用程序92,可以由用户(或制造商)预先安装或安装(例如,具有软件应用程序或图形用户界面(gui))。

移动设备应用92的一个实现可以使用语音识别技术来接收语音和处理所接收的语音,其中一些技术可以包括根据本文所讨论的方法的各种实施例的语音仲裁。例如,移动设备可以包括麦克风,该麦克风使得能够接收由一个或多个用户产生的语音波。可以根据下面讨论的神经网络语音仲裁过程在移动设备上执行语音仲裁。在一些实施例中,应用程序92或另一移动设备应用程序可包括图形用户界面,其允许用户输入凭证、提交用于授权和/或认证的凭证、连接到车辆12、查看车辆状态信息、请求实施车辆功能和/或配置一个或多个车辆设置。移动设备90可以根据一种或多种srwc技术或有线连接(例如使用通用串行总线(usb)电缆的连接)与无线通信设备30通信。尽管示出了单个移动设备90,但是通信10可以包括多个移动设备90。

在所示实施例中,车辆12被描绘为乘用车,但是应该理解的是,也可以使用包括摩托车、卡车、运动型多功能车(suv)、休闲车(rv)、船舶、飞机等任何其他车辆。一些车辆电子设备20总体上在图1中示出并且包括全球导航卫星系统(gnss)模块22、发动机控制单元(ecu)24、车身控制模块(bcm)26、可被配置为执行神经网络语音仲裁和/或语音识别处理的无线通信设备30,其他车辆系统模块(vsm)42以及许多其他组件和设备。可以连接一些或所有不同的车辆电子设备以通过一个或多个通信总线(例如总线44)彼此通信。通信总线44使用一个或多个网络协议为车辆电子设备提供网络连接。合适的网络连接的示例包括控制器区域网络(can)、面向媒体的系统传输(most)、本地互连网络(lin)、局域网(lan)以及诸如以太网或其他符合已知的iso、sae和ieee标准和规范的其他适当连接,仅举几例。

车辆12可以包括作为车辆电子设备20的一部分的多个车辆系统模块(vsm),例如gnss模块22、ecu24、bcm26、无线通信设备30和车辆用户界面52-58,如将在下文中描述的。车辆12还可以包括位于整个车辆中的电子硬件组件形式的其他vsm42,其可以从一个或多个传感器接收输入并使用所感测的输入来执行诊断、监视、控制、报告和/或其他功能。每个vsm42可以通过通信总线44连接到其他vsm,并且可以编程为运行车辆系统和子系统诊断测试。一个或多个vsm42可以周期性地或偶尔地更新其软件或固件,并且在一些实施例中,这种车辆更新可以是通过陆地网络76和通信设备30从计算机78或远程设施80接收的无线(ota)更新。如本领域技术人员所理解的,上述vsm仅是可以在车辆12中使用的一些模块的示例,因为许多其他模块也是可能的。

全球导航卫星系统(gnss)模块22从gnss卫星星座接收无线电信号。在一个实施例中,gnss模块22可以是全球定位系统(gps)模块,其可以从gps卫星星座60接收gps信号。从这些信号,模块22可以确定车辆位置,该车辆位置可以使车辆确定其是否处于已知位置,如家庭或工作场所。此外,gnss模块22可以将该位置数据(例如,地理坐标)提供给无线通信设备30,无线通信设备30然后可以使用该数据来识别已知位置,例如车辆操作者的家或工作场所。另外,gnss模块22可用于向车辆操作者提供导航和其他位置相关服务。导航信息可以在显示器58(或车辆内的其他显示器)上呈现,或者可以口头呈现,例如在提供逐向导航时完成。可以使用专用车载导航模块(其可以是gnss模块22的一部分)来提供导航服务,或者可以通过安装在车辆中的远程信息处理单元来完成一些或所有导航服务,其中将位置信息发送远程位置,用于向车辆提供导航地图、地图注释(兴趣点,餐馆等)、路线计算等目的。位置信息可以提供给远程设施80或其他远程计算机系统,例如计算机78,用于其他目的,例如车队管理和/或用于汽车共享服务。而且,新的或更新的地图数据可以通过车辆远程信息处理单元从远程设施80下载到gnss模块22。

车辆电子设备20还包括多个车辆用户界面,其为车辆乘员提供提供和/或接收信息的装置,包括按钮52、音频系统54、麦克风56和视觉显示器器58。在本文中所使用的,术语“车辆用户界面”广泛地包括任何合适形式的电子设备,包括硬件和软件组件,其位于车辆上并且使车辆用户能够与车辆的组件通信或通过车辆的组件进行通信。按钮52允许手动用户输入通信设备30以提供其他数据、响应或控制输入。音频系统54向车辆乘员提供音频输出,并且可以是专用的独立系统或主要车辆音频系统的一部分。根据这里所示的特定实施例,音频系统54可操作地耦合到车辆总线44和娱乐总线(未示出),并且可以提供am、fm和卫星无线电、cd、dvd和其他多媒体功能。该功能可以与信息娱乐模块一起提供或独立于信息娱乐模块提供。麦克风56向无线通信设备30提供音频输入,以使驾驶员或其他乘员能够通过无线载波系统70提供语音命令和/或进行免提呼叫,并且可以使用语音仲裁和识别技术来处理,正如下文所述。麦克风56可以利用本领域已知的人机接口(hmi)技术连接到机载自动语音处理单元。视觉显示器或触摸屏58优选地是图形显示器,例如仪表板上的触摸屏或从挡风玻璃反射的抬头显示器,并且可用于提供多种输入和输出功能。还可以使用各种其他车辆用户界面,图1的界面仅是一个特定实现的示例。

车身控制模块(bcm)26在图1的示例性实施例中示出为电耦合到通信总线44。在一些实施例中,bcm26可以与中央堆栈模块(csm)集成或者是其一部分和/或与无线通信设备30集成。或者,bcm和csm可以是通过总线44彼此连接的独立设备。bcm26可以包括处理器和/或存储器,其可以类似于无线通信设备30的处理器36和存储器38,如下所述。bcm26可以与无线通信设备30和/或一个或多个车辆系统模块(例如gnss22、音频系统54或其他vsm42)通信。bcm36的处理器和存储器可以用于指导或实施一个或多个车辆操作,包括例如控制中央锁定、空调、动力镜、控制车辆点火或主动机(例如,发动机、主推进系统)、和/或控制各种其他车辆模块。bcm26可以从无线通信设备30接收数据,并且随后将数据发送到一个或多个车辆模块。

另外,bcm26可以提供与车辆状态或某些车辆部件或系统相对应的信息。例如,bcm可以向无线通信设备30提供指示车辆的点火装置是否打开,车辆当前所处的挡位(即挡位状态)的信息,和/或关于车辆的其他信息。bcm26可用于确定一个或多个车辆状态,例如车辆是否通电,车辆电池的电池电量和/或其他车辆状态。这些各种车辆状态可以通过无线通信设备30获得并且用作神经网络语音仲裁过程中的输入。

无线通信设备30能够通过短距离无线通信(srwc)传送数据,并且在一些实施例中,能够通过蜂窝网络通信传送数据。如图1的示例性实施例中所示,无线通信设备30包括srwc电路32、蜂窝芯片组34、处理器36、存储器38、以及天线40和50。在一些实施例中,无线通信设备30可以被具体配置为实施至少部分本文公开的方法。在一个实施例中,无线通信设备30可以是独立模块,或者在其他实施例中,设备30可以作为一个或多个其他车辆系统模块的一部分并入或包括在内,例如中央堆栈模块(csm)、bcm26、信息娱乐模块、远程信息处理单元、主机单元和/或网关模块。在一些实施例中,设备30可以实现为安装在车辆中的oem安装(嵌入式)或售后市场设备。

无线通信设备30可以被配置为根据一个或多个无线协议进行无线通信,包括短距离无线通信(srwc),诸如ieee802.11协议、wi-fitm、wimaxtm、zigbeetm、wi-fidirecttm、bluetoothtm、bluetoothtm低功耗(ble)或近场通信(nfc)中的任何一种。如本文所使用的,bluetoothtm指的是任何bluetoothtm技术,诸如bluetoothlowenergytm(ble)、bluetoothtm4.1、bluetoothtm4.2、bluetoothtm5.0和可以开发的其他bluetoothtm技术。如本文所使用的,wi-fitm或wi-fitm技术指的是任何wi-fitm技术,例如ieee802.11b/g/n/ac或任何其他ieee802.11技术。短距离无线通信电路32使无线通信设备30能够发送和接收srwc信号,例如ble信号。srwc电路可以允许设备30连接到另一个srwc设备。另外,在一些实施例中,无线通信设备可以包含蜂窝芯片组34,从而允许设备通过一个或多个蜂窝协议进行通信,例如蜂窝载波系统70所使用的协议。

无线通信设备30可以使车辆12能够通过分组交换数据通信与一个或多个远程网络通信。可以通过使用通过路由器或调制解调器连接到陆地网络的非车辆无线接入点来实施该分组交换数据通信。当用于诸如tcp/ip的分组交换数据通信时,通信设备30可以配置有静态ip地址,或者可以被设置为从网络上的另一设备(例如路由器)或从网络地址服务器自动接收分配的ip地址。

分组交换数据通信也可以通过使用可以由设备30访问的蜂窝网络来实施。通信设备30可以通过蜂窝芯片组34通过无线载波系统70传送数据。在这样的实施例中,无线电传输可以用于与无线载波系统70建立通信信道(例如语音信道和/或数据信道),以便可以通过信道发送和接收语音和/或数据传输。数据可以通过数据连接发送,例如通过数据信道上的分组数据传输,或者使用本领域已知的技术通过语音信道发送。对于涉及语音通信和数据通信的组合服务,系统可以通过语音信道利用单个呼叫,并根据需要在语音信道上的语音和数据传输之间进行切换,这可以使用本领域技术人员已知的技术来完成。应当理解,移动设备90可以包括蜂窝芯片组和/或可以用于分组交换数据通信的其他通信装置。

处理器36可以是能够处理电子指令的任何类型的设备,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器和专用集成电路(asic)。它可以是仅用于通信设备30的专用处理器,或者可以与其他车辆系统共享。处理器36执行各种类型的数字存储指令,例如存储在存储器38中的软件或固件程序,这使得设备30能够提供各种各样的服务。例如,在至少在一个实施例中,处理器36可以执行程序或处理数据以实施本文所讨论的方法的至少一部分,其可以包括使用神经网络模型执行语音仲裁。存储器38可以包括ram、其他临时供电存储器、任何非暂时性计算机可读介质(例如,eeprom)、或存储实施本文所讨论的各种外部设备功能所需的一些或全部软件的任何其他电子计算机介质。

在一个实施例中,无线通信设备30在车辆处于通电状态时和车辆处于断电状态时均可以操作。如本文所使用的,“通电状态”是车辆的点火或主推进系统通电的状态,并且如本文所使用的,“断电状态”是车辆的点火或主推进系统未通电的状态。无线通信设备30的操作或状态可以由另一车辆系统模块控制,例如通过bcm26或由信息娱乐模块控制。在通电状态下,无线通信设备30可以始终保持“接通”或从车辆电池或其他电源供电。在断电状态下,无线通信设备30可以保持在低功率模式或者可以周期性地供电,使得设备30可以唤醒并执行操作。

现在转向图2,示出了asr系统210的说明性架构,其可用于实现当前公开的方法。尽管下面关于车辆12的无线通信设备30讨论asr系统210,但是asr系统210可以合并到任何客户端设备中,例如上面讨论的那些客户端设备,包括移动设备90和计算机78。与asr系统210类似或相同的asr系统可以合并到一个或多个远程语音处理服务器中,包括位于远程设施80的一个或多个服务器。通常,车辆乘员与自动语音识别(asr)系统进行声音交互,用于以下一个或多个基本目的:训练系统理解车辆乘员的特定声音;存储离散语音,例如口头名称标签或口头控制词,如数字或关键字;或者为任何合适的目的识别车辆乘员的语音,例如语音拨号、菜单导航、转录、服务请求、车辆设备或设备功能控制等。通常,asr从人类语音中提取声学数据,将声学数据与存储的子词数据进行比较和对比,选择可以与其他所选子词串连的适当的子词,并输出串连的子词或单词用于后处理,例如听写或转录、地址簿拨号、存储到存储器、训练asr模型或适配参数等。

asr系统通常是本领域技术人员已知的,并且图2仅示出了一个特定说明性asr系统210。系统210包括用于接收语音的设备,例如车辆麦克风56,以及声学接口33,例如,具有将语音数字化为声学数据的模数转换器的无线通信设备30的声卡。系统210还包括诸如车辆存储器38的存储器,用于存储声学数据并存储语音识别软件和数据库,以及诸如车辆处理器36的处理器,以处理声学数据。处理器与存储器一起工作并结合以下模块:一个或多个前端处理器或预处理器软件模块212,用于将语音的声学数据流解析为诸如声学特征的参数表示;一个或多个解码器软件模块214,用于解码声学特征,以产生对应于输入语音发声的数字子词或单词输出数据;以及一个或多个后处理器软件模块276,用于使用来自解码器模块214的输出数据用于任何合适的目的。

系统210还可以从任何其他合适的音频源31接收语音,该语音可以直接与预处理器软件模块212通信,如实线所示或者通过声学接口与其间接通信。音频源31可以包括例如电话音频源,例如语音邮件系统,或任何类型的其他电话服务。

一个或多个模块或模型可以用作解码器模块214的输入。首先,语法和/或词典模型278可以提供管理哪些单词可以在逻辑上跟随其他单词以形成有效句子的规则。从广义上讲,语法可以定义系统210在任何给定asr模式中的任何给定时间所期望的词汇量的范围。例如,如果系统210处于用于训练命令的训练模式,则语法模型278可以包括系统210已知和使用的所有命令。在另一个示例中,如果系统210在主菜单中模式,然后活动语法模型278可以包括系统210期望的所有主菜单命令,例如呼叫、拨号、退出、删除、目录等。其次,声学模型280帮助选择对应于来自预处理器模块212的输入的最可能的子词或单词。第三,单词模型222和句子/语言模型224提供将所选子词或单词放入单词或句子上下文中的规则、语法和/或语义。此外,句子/语言模型224可以定义系统210在任何给定的asr模式中,在任何给定时间期望的句子范围,和/或可以提供规则等,管理哪些句子在逻辑上可以跟随其他句子形成有效的扩展语音。

根据替代的说明性实施例,asr系统210中的一些或全部可以驻留在远离车辆12的位置(例如计算机78或远程设施80)中的计算设备上并且使用计算设备进行处理。例如,语法模型、声学模型等可以存储在远程设施80中的服务器和/或数据库之一的存储器中,并且被传送到车辆无线通信设备30以进行车内语音处理。类似地,可以使用远程设施80中的远程服务器之一的处理器来处理语音识别软件。换句话说,asr系统210可以驻留在无线通信设备30中,以任何期望的方式分布在计算机78/远程设施80和车辆12上,和/或驻留在计算机78或远程设施80处。

首先,从人类语音中提取声学数据,其中车辆乘员对着麦克风56说话,麦克风56将发声转换成电信号并将这些信号传送到声学接口33。麦克风56中的声音响应元件将乘员的语音发声捕获为气压的变化,并将发声转换为模拟电信号(例如直流电流或电压)的相应变化。声学接口33接收模拟电信号,其首先被采样,使得模拟信号的值在离散的时刻被捕获,然后被量化,使得模拟信号的幅度在每个采样时刻被转换成连续的数字语音数据流。换句话说,声学接口33将模拟电信号转换为数字电子信号。数字数据是二进制位,其被缓冲在无线通信设备30的存储器38中,然后由无线通信设备30的处理器36处理,或者可以在它们最初由处理器36实时接收时进行处理。

第二,预处理器模块212将连续的数字语音数据流变换为离散的声学参数序列。更具体地,处理器36执行预处理器模块212以将数字语音数据分段成重叠的语音或声学帧,例如10-30毫秒(ms)的持续时间。这些帧对应于声学子词,例如音节、半音节、音素、双音素、音位等。预处理器模块212还执行语音分析以从每个帧内从乘员的语音中提取声学参数,例如时变特征向量。乘员语音中的发声可以表示为这些特征向量的序列。例如,并且如本领域技术人员所知,可以提取特征向量,并且可以包括例如可以通过执行帧的傅里叶变换和使用余弦变换去相关的声谱获得的声音音调、能量分布、频谱属性和/或倒谱系数。将覆盖特定语音持续时间的声学帧和相应参数串连成要解码的未知语音测试模式。

第三,处理器执行解码器模块214以处理每个测试模式的输入特征向量。解码器模块214也称为识别引擎或分类器,并使用存储的已知语音参考模式。与测试模式一样,参考模式被定义为相关声学帧和相应参数的串连。解码器模块214将要识别的子词测试模式的声学特征向量与存储的子词参考模式进行比较和对比,评估其间的差异或相似性的大小,并最终使用判定逻辑来选择最佳匹配子词段作为已识别的子词。通常,最佳匹配子词是对应于存储的已知参考模式的子词,该存储的已知参考模式与通过本领域技术人员已知的用于分析和识别子词的各种技术中的任何技术确定的测试模式具有最小不相似性或具有最高概率是该测试模式。这些技术可以包括动态时间扭曲分类器、人工智能技术、神经网络、自由音素识别器和/或概率模式匹配器,例如隐马尔可夫模型(hmm)引擎。

hmm引擎对于本领域技术人员而言是已知的,用于产生声学输入的多个语音识别模型假设。在最终识别和选择识别输出时考虑这些假设,该识别输出表示通过语音的特征分析对声学输入的最可能的正确解码。更具体地,hmm引擎以“n个最佳”子词模型假设列表的形式产生统计模型,所述子词模型假设列表根据hmm计算的置信度值或给定一个或另一个子词的观察到的声学数据序列(例如通过应用贝叶斯定理)的概率排序。

贝叶斯hmm过程针对给定的声学特征向量的观察序列识别对应于最可能的发声或子词序列的最佳假设,并且其置信度值可取决于多种因素,包括与输入声学数据相关联的声学信噪比。hmm还可以包括称为对角高斯混合的统计分布,其产生每个子词的每个观察到的特征向量的似然分数,该分数可以用于对n个最佳假设列表重新排序。hmm引擎还可以识别和选择模型似然分数最高的子词。

以类似的方式,可以串连用于子词序列的各个hmm以建立单个或多个单词hmm。此后,可以产生并进一步评估单个或多个单词参考模式和相关联参数值的n个最佳列表。

在一个示例中,语音识别解码器214使用适当的声学模型、语法和算法来处理特征向量,以产生n个最佳参考模式列表。如本文所使用的,术语参考模式可与模型、波形、模板、富信号模型、范例、假设或其他类型的参考互换。参考模式可以包括表示一个或多个单词或子词的一系列特征向量,并且可以基于特定的说话者、说话风格和可听的环境条件。本领域技术人员将认识到,参考模式可以通过asr系统的适当参考模式训练产生并存储在存储器中。本领域技术人员还将认识到,可以操纵存储的参考模式,其中参考模式的参数值基于参考模式训练和asr系统的实际使用之间的语音输入信号的差异来调整。例如,基于来自不同车辆乘员或来自不同的声学条件的有限量的训练数据,可以调整并保存针对一个车辆乘员或某些声学条件训练的一组参考模式作为针对不同车辆乘员或不同声学条件的另一组参考模式。换句话说,参考模式不一定是固定的,并且可以在语音识别期间进行调整。

使用词汇表语法和任何合适的解码器算法和声学模型,处理器从存储器访问解释测试模式的若干参考模式。例如,处理器可以产生n个最佳词汇结果或参考模式的列表以及相应的参数值,并将其存储到存储器。说明性参数值可以包括n个最佳词汇列表中的每个参考模式的置信度分数和相关联的片段持续时间、似然分数、信噪比(snr)值等。可以通过参数值的下降量来排序n个最佳词汇列表。例如,具有最高置信度分数的词汇参考模式是第一最佳参考模式,依此类推。一旦建立了一串识别的子词,它们就可以用于构造具有来自单词模型222的输入的单词,并用来自语言模型224的输入构造句子。

最后,出于任何合适的目的,后处理器软件模块276从解码器模块214接收输出数据。在一个示例中,后处理器软件模块276可以从单个或多个单词参考模式的n个最佳列表中识别或选择参考模式之一作为识别的语音。在另一示例中,后处理器模块276可用于将声学数据转换成文本或数字,以与asr系统或其他车辆系统的其他方面一起使用。在另一示例中,后处理器模块276可用于向解码器214或预处理器212提供训练反馈。更具体地,后处理器276可用于训练解码器模块214的声学模型,或训练用于预处理器模块212的适配参数。

并且,从下面的讨论中可以明显看出,asr系统可以包括在客户端设备中,例如车辆12或移动设备90,和/或包括在服务器设备中,例如位于远程设施80的服务器。至少根据一些实施例,位于远程服务器的asr系统可以包括更多的处理能力,以及可以用于提供比位于客户端设备的asr系统更强大的asr系统的更多语音识别信息;然而,如本领域技术人员将理解的,存在其他实施例。

asr系统或其部分可以实现在计算机可读介质中包含的计算机程序产品中,并且包括可由一个或多个系统的一个或多个计算机的一个或多个处理器使用的指令,以使系统能够实现神经网络语音仲裁过程。该计算机程序产品可以包括一个或多个软件程序,该软件程序包括源代码、目标代码、可执行代码或其他格式的程序指令;一个或多个固件程序;或硬件描述语言(hdl)文件;以及任何程序相关的数据。数据可以包括数据结构、查找表或任何其他合适格式的数据。程序指令可以包括程序模块、例程、程序、对象、组件和/或类似物。计算机程序可以在一台计算机上或在彼此通信的多台计算机上执行。

程序可以体现在计算机可读介质上,计算机可读介质可以是非暂时性的并且可以包括一个或多个存储设备,制品等。示例性计算机可读介质包括计算机系统存储器,例如ram(随机存取存储器)、rom(只读存储器);半导体存储器,例如eprom(可擦除、可编程rom)、eeprom(电可擦除、可编程rom),闪存;磁盘或光盘或磁带;以及/或类似物。计算机可读介质还可以包括计算机到计算机的连接,例如,当通过网络或另一通信连接(有线、无线或其组合)传输或提供数据时。上述示例的任何组合也包括在计算机可读介质的范围内。因此,应该理解,该方法可以至少部分地由能够执行与所公开方法的一个或多个步骤相对应的指令的任何电子物品和/或设备来执行。

语音识别仲裁-

如上所述,在一些示例中,两种不同的自动语音识别(asr)算法可以包括(1)本地或车载嵌入式语音识别算法,以及(2)远程语音识别算法。仅作为一个示例,车辆12的远程信息处理单元30可以具有asr算法作为本地asr引擎,而远程设施80提供远程asr引擎。在这些方法中,来自车辆12和远程设施80的结果均可用于根据与语音主题结果和每个的语音时隙值结果相关联的置信水平(例如,低、中和高)来确定语音内容。

现在参考图4,提供了用于从两种不同asr方法(例如,本地asr和远程asr)选择asr结果的示例。使用自然语言理解(nlu)启发式,可以使用本地和远程asr引擎两者为给定语音输入确定主题值(例如,导航、音频、电话命令、电子邮件/sms消息命令等之一)和时隙值。然后可以分析与本地和远程asr结果引擎中每个相关联的置信水平以确定是否应该选择结果之一,如果是,则应该选择两个结果中的哪一个。

通常,如果本地asr结果和远程/服务器asr结果对于主题或时隙值具有高置信水平,则在“服务器至上”方法下应由车辆12确定远程asr结果(或呈现给用户以进行确认)。另一方面,在“嵌入式至上”方法中,在与每个相关联的置信水平相同的情况下使用嵌入或本地asr结果。

通常,图4中所示的示例方法将在本地和远程asr结果之间进行比较,选择与较高置信水平结果相关联的结果,只要较高置信水平结果至少是中置信水平。在本地和远程结果具有相同置信水平的情况下,例如,远程和服务器asr结果都是低、中或高置信水平,可以选择远程和服务器asr算法中的默认算法,这样就解决了任何平局,转而采用默认的asr算法。此外,如上所述,在远程和服务器asr结果都具有低置信水平的情况下,在某些情况下,低置信水平结果(对于与语音输入相关联的主题或时隙值)可用于确定语音输入中的预期命令。

在几个示例性方法中可以发生低置信水平结果的使用。在一种方法中,远程和本地asr引擎都以低置信水平确定主题,但是只要远程和本地asr结果匹配,就可以使用这些结果。例如,如果嵌入/本地和服务器/远程结果都以低置信水平确定相同主题,则该主题可以由车辆12呈现给用户以进行确认,例如,车辆12可以询问用户“您是否说<主题>命令?”。示例主题可以包括导航、音频命令、电话命令、或任何其他方便的车辆相关主题或功能。以这种方式,确认的请求可以令用户确信。在来自用户的主题确认后,车辆12可以请求用户在给定主题中提供后续命令。在一个示例中,在用户确认主题是“导航”的情况下,车辆12可请求用户“请说出兴趣点或目的地的名称”。以这种方式,用户可能更有可能继续讲话会议,确认一般主题,尽管该主题的初步结果的置信水平较低。

在本地和服务器asr每个以低置信水平确定主题但是主题不匹配的情况下(例如,一个确定导航主题,而另一个确定音频系统的主题),主题结果仍可以用于确定语音命令的内容。例如,如果由本地或服务器asr确定的时隙值具有至少阈值置信水平(例如,中置信水平),则车辆12可以询问用户进一步的帮助。更具体地,车辆12可以通过提供可用语音命令主题的菜单来请求用户选择适用于该命令的主题。仅作为一个示例,车辆12可以向寻求菜单输入的用户显示请求或播放音频,例如,“我正在努力理解您的请求,请从显示的列表中选择适当的请求。”可以向用户呈现可用主题的列表,诸如导航、音乐、无线电调谐器、电子邮件/sms消息等。一旦用户选择与他们的命令相关联的主题,则车辆12和/或远程设施80可以呈现与用户确认的主题相关联的时隙值。换言之,可以使用从用户接收的对主题输入的选择来解析适当的主题,并识别与该主题相对应的一个或多个时隙值。例如,如果用户指示主题是导航,则车辆12可以向用户说出或向用户显示与时隙值相对应的兴趣点列表,例如,“您说的是,1)bigapplebagels2)appleretailstore3)appletonrealtors?”,以这种方式,用户可能更有可能继续完成语音会话,通过车辆12的请求,通过用户确认相关联主题的请求获得与命令相关的更多信息。

方法-

现在转向图3,示出了表示显示来自车辆中的一个或多个移动设备的内容的示例方法的过程流程图。可以使用图1和图2的系统来实施过程300。它开始于框305,其中在安装到车辆的麦克风处接收语音;例如,通过作为车辆电子设备20的一部分的安装在车辆12中的麦克风56。例如,车辆12的乘员可以发起语音会话并提供命令。然后,过程300可以进行到框310。

在框310处,可以使用第一算法来确定语音结果,第一算法包括第一语音主题和第一语音时隙值。在一些示例中,第一算法可以是本地算法,例如,在安装到车辆12的处理器或计算系统上运行,例如远程信息处理单元30。

进行到框315,确定第一语音主题的第一语音主题置信水平,以及第一语音时隙值的第一语音值置信水平。在一个示例中,每个置信水平都是在不使用数字分数或归一化的情况下确定的。而是,在这些示例中,本地语音主题置信水平和本地语音值置信水平被确定为高水平、中水平或低水平之一。然后,过程300可以进行到框320。

在框320处,可以使用与第一算法不同的第二算法来确定语音结果。语音结果可以包括第二语音主题和第二语音时隙值。在一些示例中,可以在远程服务器处确定第二算法,例如,在远离车辆12的处理器或计算系统上运行,例如在远程设施80处。在这些示例中,第二语音识别算法或引擎是不受车辆电子设备的限制,车辆电子设备由于空间、重量和其他车辆设计因素而相对受限。

进行到框325,确定第二语音主题的第二语音主题置信水平,以及第二语音时隙值的第二语音值置信水平。在一些示例方法中,与框310和315中的第一语音识别步骤的结果一样,在不使用数值分数或归一化的情况下确定每个置信水平。例如,第二/远程语音主题置信水平和第二语音值置信水平可以被确定为高水平、中水平或低水平之一。然后,过程300可以进行到框330。

在框330处,过程300可以查询第一语音主题的第一语音主题置信水平(即,如框315所确定的)和第二语音主题的第二语音主题置信水平(即,如框325所确定的),都是低置信水平。在第一语音主题的第一语音主题置信水平或第二语音主题的第二语音主题置信水平不是低置信水平的情况下,过程300可以进行到框335。在框335,可以使用第一和第二语音主题结果中的一者或两者来确定语音识别。

如果框330中的结果为是,即第一语音主题的第一语音主题置信水平和第二语音主题的第二语音主题置信水平均为低,则过程300可以进行到框340。在框340处,使用所确定的第一语音主题和所接收的第二语音主题中的至少一个来确定与所接收的语音相关联的主题。例如,如上所述,由第一和第二asr算法确定的语音主题匹配,它们可用于确定预期命令。或者,如果主题不匹配,则可以请求用户输入来确认主题,然后可以向用户呈现与确认的主题相对应的时隙值。然后,过程300可以终止。

因此,车辆12和远程设施80对低置信度结果的使用通常可以提供改进的任务完成率。如上所述,通过在必要时使用来自用户的附加输入来解析本地和远程结果之间的主题分类,可以从低置信度结果中提取一些智能。任务完成率的这种改进可以反过来改善用户体验,但是增加语音会话的成功完成率。

应理解,前述内容是对本发明的一个或多个实施方案的描述。本发明不限于本文公开的特定实施例,而是仅由下面的权利要求限定。此外,前面描述中包含的陈述涉及特定实施例,并且不应被解释为对本发明范围的限制或权利要求中使用的术语的定义,除非以上明确定义术语或短语。对于本领域技术人员来说,各种其他实施例以及对所公开的实施例的各种改变和修改将是显而易见的。所有这些其他实施例、改变和修改旨在落入所附权利要求的范围内。

如在本说明书和权利要求中所使用的,术语“例”、“例如”、“比如”、“诸如”和“如”、以及动词“包含”、“具有”、“包括”和它们的其他动词形式,当与一个或多个组件或其他项目的列表结合使用时,每个都被解释为开放式的,这意味着该列表不被视为排除其他附加部件或项目。其他术语应使用其最广泛的合理含义来解释,除非它们用于需要不同解释的上下文中。

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