专利名称:具有远程服务接口的移动语音平台架构的制作方法
技术领域:
本发明涉及语音接ロ,其具有无线地从蜂窝电话或者其他移动设备获取的基于计算机的服务,以及涉及在诸如客车的车辆中实施的这种接ロ。
背景技术:
针对车辆功能以及蜂窝电话功能和应用的、基于语音的人机交互(Human-MachineInterface, HMI)通常涉及特定于应用或者特定于功能的有限命令集合,该集合需要从句法上被约束的用户和HMI之间的交互。在这些系统中,输入的语音可以转换成特定应用的特定命令,然而,通常只有有限的能力来识别和执行涉及不同应用或服务提供者的不同服务。在车辆内使用的蜂窝电话的领域中,已经建议创建若干系统并且一些系统已被实施,这些系统能够通过提供免提电话体验来帮助減少驾驶员分神,以及帮助执行ー些基本的车辆控制任务,例如选择和控制车辆上的无线电和其他信息娱乐服务。在一些系统中,这可以使用嵌入式蜂窝电话来完成,该蜂窝电话具有与至少一部分车辆电子设备的接入口,从而允许通过语音用户接ロ来控制和报告。在其他车辆中,驾驶员或者其他乘员的个人移动设备(例如,蜂窝电话)可用于此目的,而车辆提供基本声音接ロ,该基本声音接ロ包括麦克风和一个或多个扬声器,以及与移动设备相连的蓝牙或者其他无线连接。这允许在声音接口和移动设备之间沿任一方向发送语音和其他声音。然而,这些系统通常仅限于启用ー些基本的移动设备功能,例如呼叫以及控制音乐选择和回放。它们没有提供与很多其他内置的以及用户添加的、如今通常可用的应用和功能的接入口。例如,现在移动设备-比如智能电话被广泛应用和运用,其允许用户下载和安装相对小型的软件应用程序(app)。无论是通过诸如Android OS的操作系统(OS),还是通过诸如iPhone4STM上可用的Siri 内置app,一些这样的智能电话具有了内置的语音支持。例如參见2011年7月21日公开的W02011088053。在提供更高级别的集成的同时,这些可商购的系统并没有配置成可提供移动设备的完全免提体验,因为它们在语音会话中仍然严重地依赖屏幕来与用户交互。
发明内容
根据本发明的ー个方面,提供ー种使用移动设备给基于计算机的服务提供用户语音接ロ的移动语音平台,该移动设备具有处理器、提供到基于计算机服务的接入的通信电路、操作系统、和使用该操作系统运行并通过通信电路使用一个或多个基于计算机的服务的一个或多个应用程序,该移动语音平台包括:至少ー个非瞬态数字存储媒介,其存储具有计算机指令的程序模块,在被处理器执行时,所述计算机指令接收代表已经使用自动语音识别处理过的用户语音的语音识别结果、基于语音识别结果来确定所需的基于计算机的服务、访问与所需服务关联的远程存储的服务接ロ、使用服务接ロ启动所需服务、从所需服务接收服务结果、以及提供转换为将提供给用户的语音响应的基于文本的服务响应。根据本发明的另ー个方面,提供一种用于在移动设备和一个或多个云服务之间通信的通信系统。该通信系统包括:蜂窝或无线通信系统,其在一个或多个基于计算机的服务和移动设备之间执行无线通信,其中移动设备包括处理器、提供到基于计算机的服务的接入的通信电路、操作系统、使用该操作系统运行并通过通信电路和蜂窝或无线通信系统使用一个或多个基于计算机的服务的ー个或多个应用程序、以及使用设备给基于计算机的服务提供用户语音接ロ的移动语音平台,其中该移动语音平台包括:至少ー个非瞬态数字存储媒介,其存储具有计算机指令的程序模块,在被处理器执行时,所述计算机指令接收代表已经使用自动语音识别处理过的用户语音的语音识别结果、基于语音识别结果确定所需的基于计算机的服务、访问与所需服务关联的远程存储的服务接ロ、使用服务接ロ启动所需的服务、从所需服务接收服务结果、以及提供转换为将提供给用户的语音响应的基于文本的服务响应。
在此将联系附图来描述本发明一个或多个实施例,其中相同的附图标记代表相同的元件,其中:图1图示地描绘了根据本发明的实施例的用于提供语音用户接ロ的部分硬件和方法;图2是一幅框图,描绘了能够利用图1的语音用户接ロ以及在此公开的方法的通信系统的实施例;图3是图1和2中描绘的移动设备的一些硬件和软件组件的框图;图4描绘了在图1-3的移动设备上使用的操作系统和移动语音平台的分层软件结构和程序模块交互;图5描绘了有关图4的应用接ロ组中使用的服务接ロ结构的进ー步细节;图6是方法的流程图,该方法可与图1和2的语音用户接ロ结合使用,以向用户提供完整的免提语音会话;图7是程序表,显示了示例语音会话的消息流;图8包括图8A和SB,并且是另ー个程序表,显示了另ー个示例语音会话的消息流;图9描绘了图4中示出的分层软件结构和程序模块交互的一个替代实施例;以及图10描绘了图9的实施例的改进实施型式。
具体实施例方式下面描述的系统和方法提供了一种移动语音平台,其(I)无需与移动电话物理交互就能在车辆乘员和乘员的蜂窝电话或其他移动设备之间实现免提通信,以及(2)按照ー种方式完成(I),该方式通过移动设备实现对用户可用的ー些或所有基于网络和其他基于计算机的服务的广泛支持。如此处使用的,“服务”通常包括给移动设备用户提供信息、控制、和/或通信辅助。此外,如此处使用的,被移动设备使用或者经由其接入的服务包括通过安装在移动设备上的应用程序提供的服务,以及仅通过与远程服务器通信才可用的基于计算机的服务。后者这些基于计算机的服务也可以被看作是“云服务”,并且可以被任何服务提供者供应,该服务提供者拥有在专用或公用网络-例如内部网或因特网上可用的接入服务器。图1描绘了ー个基于语音的用户接ロ 10的实施例,其可用于以免提方式通过移动设备向车辆驾驶员提供服务。如此处使用的,“免堤”指的是,用户无需与设备的物理交互或者控制就能使用移动设备执行或者已经执行了一些或者所有完整的基于语音的会话。“完全免堤”指的是用户无需与设备的物理交互或者控制就可以使用移动设备执行或者已经执行了所有完整的基于语音的会话。一些实施例能够被实现为提供可能需要一些与移动设备的交互的免提体验,例如将其置于收听模式,而其他实施例能够执行成完全免提的,例如当移动设备在用户的ロ袋、钱包或者公务包中,而无需与设备的身体接触。在所示的实施例中,车辆12的驾驶员与车上已安装的声音用户接ロ 14进行语音交互,该接ロ经由短程无线连接与驾驶员移动设备16通信,本例中移动设备16为ー个蜂窝电话。移动设备16可以是任何可携帯的设备,其能够使用无论是微处理器还是ー些更简单或更复杂的电路来进行无线通信和数字处理。因此,移动设备包括蜂窝电话、PDA、膝上电脑、笔记本、上网本以及其他个人电子设备。图1描绘的蜂窝电话16通常指的是智能电话,假设它允许用户向智能电话增加软件应用程序(app),以实现电话之外的功能。电话16包括触摸屏接ロ、ー个或多个人工按键、麦克风、扬声器、以及包括微处理器以及储存了软件和数据的存储器在内的内部电路(硬件),以及通信电路,该电路包括至少诸如蓝牙(Bluetooth)和/或WiFi的短程无线通信技术、然而还有诸如CDMA、GSM的蜂窝芯片的蜂窝通信技术、或者其他标准化技木。如果期望,移动设备16的这些不同组件可以是传统的,因而此处不再单独示出或者描述。除了移动设备硬件之タト,蜂窝电话16还包括移动语音平台(MobileVoicePlatform, MVP) 18,其包含运行在移动设备上的软件。如下文将描述的,MVP18包括语音平台内核(Speech Platform Kernel, SPK)20 和应用接ロ组(ApplicationlnterfaceSuite, AIS) 22,上述两者都是程序模块,包含了计算机指令,在被设备的处理器执行时,该指令执行各自的模块功能。与在移动设备本身上提供自动语音处理(Automated SpeechProcessing, ASR)不同,此处使用了远程定位(云)语音服务24,尽管在一些实施例中,在接入或者不接入远程定位语音模块、语法和计算设施的情况下,ASR可以在移动设备16上执行。移动设备16还包括操作系统(OS) 26,其提供根一级的功能,包括例如应用程序之间的通信机制以及设备硬件和运行在设备16上的软件模块及应用程序之间的输入/输出(Input/Output, 10)接ロ连接。在OS的这些硬件接ロ功能中,包括了由设备使用的通信协议,以经由因特网或其他网络与语音服务24以及其他可用的云服务28来通信。任何基于计算机的服务可以被包括在云服务28的列表中,然而在图1中显示的是对于蜂窝电话的用户来说最有用的那些服务中的ー些,例如社会媒体、位置服务(比如导航)、交通、天气、新闻、日历、餐饮和电影。也存在着很多其他服务。总体上,使用移动语音平台18的免提接入服务将涉及通过移动设备16执行完整的语音会话,而无需与移动设备有任何实体交互。这广泛地包括接收来自用户的语音输入、从响应于语音输入内容的云服务获取服务结果、以及作为呈现给用户的语音响应而提供服务結果。使用图1的车辆12,驾驶员(用户)可以与移动设备交互,以通过声音接ロ 14执行语音会话。这可以包括在车内声音接ロ 14和移动设备16之间建立短程无线连接,该连接随后允许声音接ロ的麦克风和扬声器被分别用于从驾驶员或其他乘员接收和向其呈现语音。语音输入可以在这种短程无线连接上通过诸如Bluetooth或WiFi的数字通信协议、作为数字化语音被发送。然后数字化语音输入可以经由蜂窝或者其他无线通信系统从移动设备16发送至语音服务24,以执行涉及自动语音识别的语音至文本(Speech-to-Text,STT)服务,或者文本至语音(Text-to-Speech,TTS)服务,该文本至语音服务提供被合成或者被记录的语音或部分语音(例如,phenomes),用于生成声音消息,并且响应于语音输入而提供适当的语音。然后,语音识别结果(例如返回的文本)被SPK20处理,以最终确定合适的(期望的)服务,用于执行用户的请求。如下文将要更详细讨论的,一旦期望的服务被确定,则使用由特定服务所支持的命令和參数形成服务请求,该特定服务使用来自应用接ロ组(AIS) 22的一个或多个服务接ロ而选定。服务请求被发送至期望的服务(已安装的app,和/或云服务),并且服务结果被接收回来。随后,服务结果被用于生成自然语言语音响应,即,使用熟知的以及上下文相关的交谈语言和句子/分句结构。如下文将要更详细讨论的,语音响应可以是声音消息,该消息最初作为来自服务结果中的信息以及诸如会话变量和上下文相关内容的其他可用信息的文本响应而建立。一旦形成文本响应,其被转换成声音语音响应(例如,声音消息),并且这可以在移动设备16本身上或者使用TTS服务24来完成。然后,声音消息可以经由短程无线连接从移动设备发送至声音用户接ロ 14,以便通过车辆扬声器呈现给车辆乘员。现在转至图2,该图显示了操作环境,该环境包括移动车辆通信系统100,该系统集成了基于语音的用户接ロ(Speech-based User Interface, SUI) 10,以及可用于实施此处公开的方法。通信系统100总体上包括车辆12以及它的声音用户接ロ 14、移动设备16、语音服务24、云服务28、以及图1中未示出的一些系统基础设施,包括ー个或多个无线载波系统34和陆地通信网络36。其他可选的设备、设施和系统也可以被包括,例如计算机37、呼叫中心38、住所或其他固定的局域网络设施39、具有固定天线54和一个或多个卫星56的卫星通信系统、以及用于导航的GPS卫星星座58。应当理解的是,可以通过任何数量的不同系统来使用已公开的方法,并且所公开的方法不特别地局限于此处示出的操作环境。而且,此处未被描述的系统100的组件的架构、构造、设置以及操作在现有技术中通常是已知的。因此,下面的段落仅提供了一个这种通信系统10的简短概述,然而,此处未示出的其他系统也可以利用所公开的方法。在示出的实施例中,车辆12被描述成运动型多用途汽车(SportsUtilityVehicle, SUV),但是应当理解的是,任何其他包括客车、卡车、摩托车、旅行车(Recreational Vehicle, RV)、海洋船舶、飞机等的交通工具都可以被使用。图2—般性地示出了 一些车辆电子设备29,其包括远程信息处理或者电话单元30,该单元通过天线32以及本领域技术人员知晓的其他电路与载波系统34无线地通信。车辆电子设备29还包括声音用户接ロ 14,其包括用于短程无线通信的天线40、麦克风42、一个或多个按键或其他控制输入44、以及ー个或多个扬声器46。其他用户接ロ组件也可以包括在车辆12中,或者作为声音用户接ロ 14的一部分,例如图像显示器(未示出)。声音用户接ロ 14可以是仅通过天线40通信的基本独立的组件集合,或者可以被硬连线或以其他方式连接至车辆电子系统的其他模块或者其他部分,例如连接至电话单元30和/或车辆总线。这可以允许例如车辆12能够被编程,从而通过例如降低气候控制风扇速度或保持车辆无线电静音等来減少语音会话过程中的周围噪声。如此处使用的,术语“声音用户接ロ”广泛地包括适当安装在车辆12中的任意麦克风和扬声器,包括硬件和任何软件组件,它们使车辆用户能够与车辆12或者与车辆12中的其他设备ロ头地通信,例如移动设备16。麦克风42提供声音输入,该输入可以使用天线40通过短程无线连接被发送。一个或多个按键44允许向声音用户接ロ中的人工用户输入以开始动作,诸如开始语音会话,在会话中麦克风42和扬声器46被用于在车辆中向用户提供免提服务,从而执行无线电话呼叫或接入数据、提供遥控或者提供消息和通信服务。按键可以处在对于驾驶员来说便利的位置,例如在方向盘的毂或辐条上。扬声器46可以是专用于声音用户接ロ 14的单个扬声器,或者可以与其他组件或系统相集成,例如无线电系统扬声器。在示出的实施例中,电话单元30是不用于执行语音用户接ロ(Sn) 10的操作的可选组件,然而在其他实施例中,其可以被包括以及作为单个功能模块与声音用户接ロ 14集成。电话单元30可以是OEM安装的(嵌入的)或者安装在车辆中的配件市场设备,其通过无线载波系统34并且经由无线网络实现无线语音和/或数据通信。这使得车辆可以与呼叫中心38、其他启用远程信息处理的车辆、或者一些其他实体或设备来通信。电话单元优选地使用无线电传输,以便与无线载波系统34建立通信信道(语音信道和/或数据信道),从而语音和/或数据传输能够通过该信道发送和接收。通过同时提供语音和数据通信,电话単元30使得车辆能够提供许多不同服务,包括那些有关导航、电话、紧急求助、诊断、信息娱乐等的。数据可以通过数据连接被发送,例如通过在数据信道上进行的打包数据传输,或者经由语音通道使用现有技术中已知的技术传输。对于同时涉及语音通信(例如使用呼叫中心38处的实时顾问或语音响应单元)和数据通信(例如向呼叫中心38提供GPS位置数据或车辆诊断数据)的组合服务,系统可以通过语音信道来使用单个呼叫,并且可以通过语音信道根据需要在语音和数据传输之间切換,并且这可以使用本领域技术人员已知的技术来完成。对于位置服务,电话単元可拥有自己的GPS电路,或者可以利用其他可用的GPS设备,例如作为车辆导航系统一部分而安装在车辆上的GPS设备,或者使用移动设备16的GPS设备。无线载波系统34优选地是蜂窝电话系统,其包括多个单元发射塔50 (仅示出一个)、ー个或多个移动交换中心(Mobile Switching Center,MSC) 52、以及将无线载波系统34与陆地网络36相连所需的任何其他网络组件。每个单元发射塔50包括发送和接收天线以及基站,来自不同单元发射塔的基站直接地或者经由诸如基站控制器的中间设备与MSC52相连。蜂窝系统34可以实施任何适当的通信技术,包括例如,诸如AMPS的模拟技术、或者诸如CDMA(例如CDMA2000)或GSM/GPRS的较新的数字技术。本领域技术人员将会理解,各种单元发射塔/基站/MSC的布置都是可能的,并且可以与无线系统34结合使用。例如,基站和单元发射塔可以被共同定位在同一地点,或者它们可以相互间在远处定位,每个基站可以负责单个单元发射塔,或者单个基站可以服务各个单元发射塔,并且各个基站可耦合到单个MSC,所提及的是ー些可能的安排。除了使用无线载波系统34,卫星通信形式的不同的无线载波系统可用于提供与车辆的单向或者双向通信。这可以使用ー个或多个通信卫星56和上行连接传输站54来完成。单向通信可以是例如卫星无线电服务,其中节目内容(新闻、音乐等)通过传输站54被接收,为了上载而打包,井随后发送至卫星52,卫星将该节目广播至订户。双向通信可以是例如使用卫星56的卫星电话服务,以在车辆12和站54之间中继电话通信。如果已经使用,则卫星电话可作为无线载波系统34的补充或者替代而被使用。陆地网络36可以是传统的陆基电信网络,其被连接至ー个或多个陆上线路电话,并且将无线载波系统34连接至诸如语音服务24、云服务28以及其他计算机或者服务器37的事物上,例如位于住所39或其他设施中的个人计算机。例如,陆地网络36可包括公共交换电话网络(Public Switched Telephone Network, PSTN),从而被用于提供硬连线电话、分组交换数据通信、以及因特网基础设施。陆地网络36的ー个或多个部分可以通过使用标准连线网络、光纤或者其他光网络、有线网络、电カ线、诸如无线局域网(Wireless LocalArea Network, WLAN)的其他无线网络、或者提供宽带无线接入(Broadband WirelessAccess,BffA)的网络、或者上述网络的任意组合来实施。而且,图2所示的各种语音和云服务无需通过陆地网络36连接,但是可以包括无线电话设备,从而其可以直接与无线网络通信,例如无线载波系统34。计算机37可以是能够通过诸如因特网的专用或公用网络接入的多种计算机之一。每个这样的计算机37可用于ー个或多个目的,例如一台网络服务器,其能够通过声音用户接ロ 14/移动设备16和/或通过电话単元30在无线载波34上被车辆接入。其他这样可接入的计算机37可以是例如:服务中心计算机,其中诊断信息或者其他车辆信息可以通过电话単元30从车辆上载;客户计算机,其被车辆拥有者或其他远程信息处理服务订户使用,用于存取或接收车辆数据,或者设置或配置订户喜好或控制车辆功能;或者第三方资料档案库,可以提供至其或从其提供车辆数据或其他信息。计算机37还可用于提供因特网连接,例如DNS服务,或者作为网络地址服务器,其使用DHCP或其他适当的协议来向车辆12和/或移动设备16分配IP地址。当被车辆拥有者作为客户计算机37使用时,例如处于住所39内,则可以使用任何适当的短程无线通信技术-例如Bluetooth或任何802.11协议来提供移动设备16和计算机37之间的无线连接。如图2所示,作为ー个云服务的是呼叫中心38,其可用于向车辆操作者和/或车辆电子设备29提供多种不同的与车辆相关的服务和系统后端功能。这些包括诸如路旁或紧急援助、诊断和维护支持、娱乐服务、信息和导航辅助等现有技术中已知的事物。可以提供这些呼叫中心服务以通过语音用户接ロ 10补充对于车辆操作者来说能够接入的那些服务,或者在操作者使用语音用户接ロ有困难的情况下作为ー个备选方案。虽然在图1和2中仅作为示意图显示在车辆外面,然而作为语音用户接ロ 10—部分的移动设备16的典型使用将涉及移动设备位于车内的情形,例如当驾驶员在路面上操作车辆吋。图3中描绘了移动设备16的ー些基本功能硬件或者软件组件。根据所示的实施例,移动设备16是一台智能电话,其依据GSM和/或CDMA标准来使用蜂窝通信,并因此包括用于语音和数据通信的标准蜂窝芯片61和天线62、天线63和64、以及它们各自的与Bluetooth和WiFi无线链接相关的电路、电子处理设备65、ー个或多个数字存储器设备66以及GPS接收机67。处理器65可以是能够处理电子指令的任意一种设备,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器、以及专用集成电路(ApplicationSpecificIntegrated Circuit, ASIC)。处理器65执行各种类型的数字存储指令,例如储存在存储器66中的软件或者固件程序。这包括设备0S26、移动车辆平台18、以及任何已安装的app68、所有这些都可以储存在存储器66中。GPS模块67从GPS卫星的星座58接收无线电信号。模块67可以通过这些信号确定移动设备的位置,该位置用于提供导航和其他位置相关的服务。导航信息可以呈现在设备的显示器69上,或者通过设备自身的扬声器(未示出)或通过声音用户接ロ 14被ロ头地呈现,例如可以通过提供交互式(turn-by-turn)导航来实现。通常,可以使用在设备0S26上运行的、并与已安装的app 68接ロ的移动语音平台18、云服务28、或者以上两者来部分地实现语音用户接ロ 10,以基于它们的语音输入来执行用户的服务。图4和5示出了移动语音平台以及它与移动设备16其他组件之间的交互的进ー步细节。图4示出了不同的程序模块,每个模块都提供计算机指令,在被处理器65执行吋,该指令使用设备0S26执行它们已编程的功能,以与设备16的不同硬件部分进行交互。移动语音平台18包括语音平台内核(Speech Platform Kernel, SPK) 20以及app接ロ组(AppInterface Suite, AIS) 22。SPK20包括用于启动服务呼叫的app启动程序模块21,该服务呼叫从SPK20到设备上的服务(例如app 68的其中之一)或者到云(例如云服务28的其中之一)中的服务。AIS22包括多个独立的应用服务接ロ 23,它们每个都与对移动语音平台18而言可用的ー个不同服务相关联。下文是由不同层执行的独立功能:设备0S26: 提供与Bluetooth的下层通信以及设备连接控制 提供移动设备媒 体播放器功能,用于使声音文件通过扬声器来播放 提供麦克风驱动的语音识别系统,用于将ロ头语音转换成文本等同物 提供应用程序之间的通信机制语音平台内核20: 管理与车辆12的所有高层Bluetooth集成 提供一致的词汇表和机制,用于处理普通的语音交互,例如失败、重复(并没有很理解您)、以及退出 将转换后的语音至文本处理为由app使用的命令结构籲维护与Bluetooth设备相关的高层app偏好,请求管理 提供日志和安全管理 维护对声音和麦克风信道的控制,包括适当时间的声音焦点和增益水平服务接ロ 23: 使用标准化的命令/參数/1/0协议来与SPK交互籲定义其支持的用于初始化的语法 当app激活时定义其支持的语法 处理由SPK20提供的进入的语音至文本命令结构,以及将它们转换成期望的动作 与云服务连接,以便发送和接收处理请求所需的信息
提供任意期望的设备显示器69用户接ロ如图4所示和上面所指出的,SPK20运行在操作系统26的顶端,并且操纵整体控制和路由用于移动语音平台的消息。根据上文联系图1讨论的以及在图6-8中示出的方法,SPK20控制语音会话的基本处理流程。在语音会话期间,其中接收来自用户的输入(例如请求或者命令),SPK20操纵语音识别结果的语音处理,该结果由基于云的自动语音识别(ASR)服务所返回。这可以使用ASR之后的、使用词汇表专门设计的识别语法服务来完成,该词汇表为了从语音识别结果中标识出期望的服务和会话上下文。内置在这个功能内的是错误的处理,以及自然语言响应的建立,用于将语音响应返回给用户。会话上下文(例如,导航V.消息V.餐饮预定)也可在SPK20处使用该第一语法来确定,并且该会话上下文可用于进一歩限制SPK20所选的服务选项,或者辅助语音识别结果的ASR之后的处理。每ー个语音会话具有至少ー个上下文,即,与用户语音输入相关的至少ー个主题领域。图1和2所示的不同云服务指示可以被识别和区分的不同的会话上下文中的ー些。对于任意语音会话,可以具有ー个主会话上下文和ー个或多个副服务上下文。例如,餐饮预定可能激活餐饮会话上下文,其中查找的主消息内容包括餐馆的标识、宴会上的人数、预定时间等。但是,它也会激活导航上下文,其中去往餐馆的方向被期望提供。或者消息上下文,其中预定的通知被分享给其他人。如果合适的话,SPK20不仅确定主会话上下文,而且还确定ー个或多个副会话上下文,并且对于每个上下文都标识ー个合适的云或者已安装服务。在图1和2中标识的语音服务可以各种方式来实施,并且在一些实施例中可以被唯一地设计或者包含设计为用于支持语音用户接ロ 10的特定语法或者模型。在其他实施例中,使用了已普及的云ASR服务,即,在其中的ー个中,虽然允许对于语音识别引擎的特定语言模型和其他常规配置进行參数规定,然而其却并不使用为用户语音会话所期望的会话上下文而定制的语法。来自Google可用的Android语音功能就是已普及的云ASR服务的ー个例子。一旦SPK20已经识别或者已经以其他方式确定了期望的服务,它就通过与该服务相关联的服务接ロ 23来使用APP Init 21启动所选服务。如图4所示,一些服务接ロ 23仅仅与云服务相交互,或者 仅仅与云服务和设备用户接ロ(例如,显示器69)相交互,然而其它接ロ与已安装的app (例如app4)交互,这些app本身可以使用操作系统对云服务的接ロ来接入云服务。这允许每个服务接ロ根据期望执行所选的服务,使得例如如果特定的服务期望使用移动设备的显示器69,则服务接ロ可以定义将被显示的特定用户接ロ。现在转至图5,该图示出了服务接ロ 23的进ー步细节。每个服务接ロ 23包括SPK消息结构接ロ,该接ロ遵循由SPK20使用的标准化I/O协议,用于向服务接ロ发送消息。这为与移动语音平台的交互提供了共同的框架,使得在向SPK20识别呼叫和接收服务结果所需的命令和參数的同时,可以通过创建服务接ロ来接入新的服务,该新的服务接ロ符合SPK20 I/O的规定。服务接ロ包括命令处理,该命令处理使用特定于服务的语法来构建服务请求,井随后通过0S26向云服务或者已安装的app发送该服务请求。服务请求通常将包括来自服务接ロ的任何所需的命令,加上至少一部分已识别的语音结果(例如,特定的餐馆名称)或相关数据(例如,GPS坐标)。特定于服务的语法包括用于初始化和命令服务的词汇表,并且对每ー个不同的基于计算机的服务通常将是不同的。SPK20的App Init模块21可以通过与服务接ロ相同的结构来实现,除了它是ー个特殊用途的接ロ,其被SPK20用于联系已选定的服务接ロ来启动服务以及传递服务所使用的必需命令和參数。图6示出了ー个完整语音会话的流程图,其可用于提供车辆中驾驶员对于移动设备的免提或者甚至是完全免提操作。图7和8提供了完整语音会话的更多的详细例子,其中示出了各种模块间和设备间的呼叫和顺序,以便请求服务、获取結果、以及将其提供给车辆驾驶员,所有这些都通过声音用户接ロ 14进行。图9示出了软件架构设计的ー个替代实施例,其中相同的附图标记代表与图4中相同的元件。移动语音平台的这个实施例118类似于图4,因为其包括第一程序模块(SPK120)以及第二程序模块(AIS 122),然而却使用了単独的服务接ロ 123来定义与服务接ロ相关的特定服务所需的语音流。这使用脚本来完成,该脚本定义了语音识别结果的处理、向云(基于计算机的)服务的呼叫、以及对额外最少必需的信息或者其他期望信息的处理。例如,请求在下午6:00在特定餐馆的一个餐饮预定遗漏了被认为是最少必需的信息;即,宴会的人数。与被请求的餐饮预定服务相关联的服务接ロ 123可包括编程,以确定遗漏的信息以及提供由SPK120所提供的响应消息(例如,“您的宴会上有多少人”),用于通过0S26转换成语音并呈现给用户。服务接ロ 123的操作可以通过app执行引擎125的方式进行,该引擎可以为服务接ロ提供运行时的执行环境。SDK(软件开发商组件,SDK)-定义的协议127提供一组标准的或者共同的输入/输出标签,或者在SPK120和服务接ロ 123之间传递的数据和命令的其他标识。这可以例如使用VXML来完成,其中SPK120使用SDK协议127加标签于已接收的语音识别结果的単独部分,并且在一些实施例中可以将它们转换成更小的词汇表,该词汇表至少部分地在服务接ロ之间分享。例如,“区域内的餐馆”作为语音输入可以分解成被标记为期望的服务或者会话上下文的“餐馆”以及被转换(正如这样的其他普通的位置术语-“在周国”、“我附近”等)成单个术语“附近”的“在区域中”,该术语被所有的服务接ロ所支持,对于这些服务接ロ,位置被用于执行服务。服务接ロ 123中的一个可以是语音会话声音流(Speech Session Voice Flow,SSVF) 121,其可以执行与图4的App Init 21相同或相似的功能。因此,当开始ー个语音会话时(例如通过用户直接对移动设备16的输入,或者通过车辆中按键的按下,其用于经由移动设备16的短程无线通信电路63向移动设备16发送信号),SPK120最初可以激活SSVF脚本,该脚本定义了与用户的语音会话通信的语音流程。例如,它可规定使用“请说出ー个命令”的声明来提示用户,并且随后可以定义一直基于响应所采取的动作,直到标识出期望的服务并且激活了相关的服务接ロ。附图中示出的各种程序模块可以作为计算机指令被储存在移动设备16上的ー个或多个非瞬态存储器66中(例如闪存),在被处理器65执行时,该指令执行上述功能。在其他实施例中,至少ー些程序模块可以被远程储存,例如存储在远程服务器或其他计算机上并且在需要的时候被访问。例如,如图10所示,app接ロ组(AIS) 122可以被储存在远程位置,例如呼叫中心38,或者在一些其他远程设施或计算机上。然后,当SPK120需要任何服务接ロ时,例如在开始语音会话处的SSVF121,它可以通过蜂窝载波系统34远程地访问服务接ロ、下载它、并使用app执行引擎125在移动设备16处本地运行它。类似地,一旦标识出期望的服务,相关服务接ロ 123可以被远程地访问,下载至移动设备,并且再次运行以执行期望的服务,包括生成用干与特定远程的基于计算机的服务(例如,通过服务API)交互所需的服务请求。服务接ロ的这种远程储存的优点是,它们可以按照期望来被维护和更新,然而如果它们被正常地储存在移动设备上,它们将需要被周期地更新,而这对于ー些移动设备平台来说可能毎次需要获取用户的同意。通过远程储存,如果对于服务接ロ做出一个改变(例如因为改善了相关的服务),则仅需要更新呼叫中心或者其他远程位置处的单个版本,并且在毎次使用该服务来提供语音命令或者请求的时候,用户都将接收到最新的版本。这也允许由服务接ロ定义的语音交互可以按照期望被更新,使得比如如果期望将SSVF121从说出“请说ー个命令”改变至“今天我能帮您做什么? ”,那么这将返回至呼叫中心来完成,再次无需用户毎次在他们的移动设备上进行软件更新。应该理解的是,前面的内容是对本发明的一个或多个实施例的描述。本发明并不限于此处公开的特定实施例,而是仅仅由下面的权利要求限定。此外,前面的描述中所包含的声明涉及的是特定实施例,并且不应解释为对本发明的范围的限制,或者对权利要求所使用的术语的定义的限制,除了术语或者短语在上面被明确地定义。各种其他实施例和对所公开的实施例的各种改变或变更对于本领域技术人员来说是显而易见的。所有这些其他实施例、改变和变更将落入所附加权利要求的范围之内。如在本说明书和权利要求书中所使用的,术语“例如”、“比如”、“举例”、“诸如”以及“像”,以及动词“包含”、“具有”、“包括”以及它们的其他动词形式,当其与一系列单个或多个组件或其他零件结合起来使用时,每个都将被解释成开放式的,意指该列举不被认为是排除了其它的、附加的组件或者零件。其他术语也应被解释成使用它们最广泛的合理含义,除非它们用在需要不同解释的上下文中。
权利要求
1.一种使用移动设备给基于计算机的服务提供用户语音接口的移动语音平台,该移动设备具有处理器、提供到基于计算机服务的接入的通信电路、操作系统、和使用该操作系统运行并通过通信电路使用一个或多个基于计算机的服务的一个或多个应用程序,该移动语音平台包括: 至少一个非瞬态数字存储媒介,其存储具有计算机指令的程序模块,在被处理器执行时,所述计算机指令接收代表已经使用自动语音识别处理过的用户语音的语音识别结果、基于语音识别结果来确定所需的基于计算机的服务、访问与所需服务关联的远程存储的服务接口、使用服务接口启动所需服务、从所需服务接收服务结果、以及提供转换为将提供给用户的语音响应的基于文本的服务响应。
2.按权利要求1所述的移动语音平台,其中所述程序模块包括用于通过程序模块访问的服务接口的应用程序执行引擎。
3.按权利要求1所述的移动语音平台,其中所述移动设备包括具有短程无线通信电路和蜂窝无线通信电路的移动电话,并且其中所述程序模块通过短程无线通信电路基于发送到移动设备的语音来接收语音识别结果、通过蜂窝无线通信电路访问服务接口、以及在通过短程无线通信电路发送语音响应之前发送转换为语音的基于文本的服务响应。
4.按权利要求1所述的移动语音平台 ,其中所述程序模块用以使用服务接口、通过与所需的基于计算机的服务关联的应用程序接口来发送服务请求到所需的基于计算机的服务。
5.按权利要求1所述的移动语音平台,进一步包括用于从用户接收语音的声音用户接□。
6.一种用于在移动设备和一个或多个云服务之间通信的通信系统,包括: 蜂窝或无线通信系统,其在一个或多个基于计算机的服务和移动设备之间执行无线通信,其中移动设备包括处理器、提供到基于计算机的服务的接入的通信电路、操作系统、使用该操作系统运行并通过通信电路和蜂窝或无线通信系统使用一个或多个基于计算机的服务的一个或多个应用程序、以及使用设备给基于计算机的服务提供用户语音接口的移动语音平台,其中该移动语音平台包括: 至少一个非瞬态数字存储媒介,其存储具有计算机指令的程序模块,在被处理器执行时,所述计算机指令接收代表已经使用自动语音识别处理过的用户语音的语音识别结果、基于语音识别结果确定所需的基于计算机的服务、访问与所需服务关联的远程存储的服务接口、使用服务接口启动所需的服务、从所需服务接收服务结果、以及提供转换为将提供给用户的语音响应的基于文本的服务响应。
7.按权利要求6所述的通信系统,进一步包括用于接收来自用户的语音的声音用户接□。
8.按权利要求6所述的通信系统,其中所述移动语音平台的程序模块包括用于通过该程序模块访问的服务接口的应用程序执行引擎。
9.按权利要求6所述的通信系统,其中所述移动设备包括具有短程无线通信电路和蜂窝无线通信电路的移动电话,并且其中所述程序模块通过短程无线通信电路基于发送到移动设备的语音来接收语音识别结果、通过蜂窝无线通信电路访问服务接口、以及在通过短程无线通信电路发送语音响应之前发送转换为语音的基于文本的服务响应。
10.按权利要求5所述的通信系统,其中所述程序模块用以使用服务接口、通过与所需的基于计算机的服务 关联的应用程序接口来发送服务请求到所需的基于计算机的服务。
全文摘要
一种给基于计算机的服务提供用户语音接口的移动语音平台包括移动设备,该移动设备具有处理器、提供到基于计算机服务的接入的通信电路、操作系统、和使用该操作系统运行并通过通信电路使用一个或多个基于计算机的服务的一个或多个应用程序。该移动语音平台包括至少一个非瞬态数字存储媒介,其存储具有计算机指令的程序模块,在被处理器执行时,所述计算机指令接收代表已经使用自动语音识别处理过的用户语音的语音识别结果、基于语音识别结果来确定所需的基于计算机的服务、访问与所需服务关联的远程存储的服务接口、使用服务接口启动所需服务、从所需服务接收服务结果、以及提供转换为将提供给用户的语音响应的基于文本的服务响应。
文档编号H04L29/08GK103095325SQ20121055844
公开日2013年5月8日 申请日期2012年10月19日 优先权日2011年10月21日
发明者D·R·伯克, D·古罗维奇, D·E·鲁曼, K·A·弗里, S·M·麦卡钦, M·T·卡内维尔, M·古普塔 申请人:通用汽车环球科技运作有限责任公司