基于用户语音风格的自然语言生成的制作方法

文档序号:17735240发布日期:2019-05-22 03:08阅读:250来源:国知局
基于用户语音风格的自然语言生成的制作方法

本发明涉及基于用户语音的特征或风格而生成自然语言生成(nlg)输出。

可以使用自动语音识别(asr)在客户端设备上控制各种设备功能。例如,车辆包括能够从车辆乘员接收语音、处理该语音以理解语音内容,并然后基于所述语音内容执行某些动作的硬件和软件。车辆或其他客户端设备可以使用硬件和软件来处理在车辆处接收的语音。可以在车辆或客户端设备处生成对asr输入的响应。



技术实现要素:

根据本发明的一个方面,提供了一种生成自然语言生成(nlg)输出的方法,其中该方法包括:在客户端设备的麦克风处从用户接收语音信号;基于接收的语音信号确定所请求的通信目标和至少一个输入的通信值;确定使用静态自然语言生成(nlg)模板或者动态nlg模板来生成nlg输出,其中使用神经网络nlg模板选择过程来确定是使用静态nlg模板还是动态nlg模板;在确定是使用静态nlg模板还是动态nlg模板之后选择nlg模板;并根据所选择的nlg模板生成nlg输出。

根据各种实施例,该方法可以进一步包括以下特征中的任何一个或这些特征的任何技术上可行的组合:

·识别发送语音信号的用户或可能的用户的步骤;

·基于所识别的用户或可能的用户的历史和/或所识别的用户或可能的用户的档案来执行神经网络nlg模板选择过程;

·基于所识别的用户或可能的用户的历史和/或所识别的用户或可能的用户的档案来选择所选择的nlg模板;

·基于所接收的语音信号、所识别的用户或可能的用户的历史,和/或所识别的用户或可能的用户的档案来识别风格的步骤,并且其中所识别的风格被用在神经网络nlg模板选择过程中;

·当确定将要使用动态nlg模板生成nlg输出时,然后使用nlg模板生成过程生成动态nlg模板的步骤;

·动态nlg模板基于通信目标和一个或多个获得的通信值生成;

·识别发送语音信号的用户或可能的用户的步骤,其中基于与用户或可能的用户相关联的用户信息生成动态nlg模板,并且其中用户信息包括用户历史信息或用户档案信息中的任一个或两者;

·nlg模板生成过程是基于规则的nlg模板生成过程;

·nlg模板生成过程是神经网络nlg模板生成过程;

·步骤:向远程服务器发送通信值请求,其中通信值请求是获得将在nlg输出中使用的并且基于通信目标和输入的通信值的响应通信值的请求;并且接收来自远程服务器的通信值响应,其中通信值响应包括将用于生成nlg输出的响应通信值;

·基于神经网络nlg模板选择过程的先前迭代来调整神经网络nlg模板选择过程的步骤;和/或

·调整步骤还包括基于成组的输入、nlg输出和神经网络nlg模板选择过程的测量成功来调整神经网络nlg模板选择过程,其中该成组的输入包括通信目标、输入的通信值,以及与发送语音信号的用户或可能的用户有关的信息。

根据本发明的另一方面,提供了一种生成自然语言生成(nlg)输出的方法,其中该方法包括:在客户端设备的麦克风处从用户接收语音信号;识别发送语音信号的用户或可能的用户;基于接收的语音信号确定通信目标和至少一个输入的通信值;确定是使用静态nlg模板还是动态nlg模板用于生成nlg输出,其中使用神经网络nlg模板选择过程来确定是使用静态nlg模板还是动态nlg模板,其中神经网络nlg模板选择过程使用人工神经网络来解析成组的输入以选择是使用静态nlg模板还是动态nlg模板来用于生成nlg输出,并且其中该成组的输入包括通信目标、输入的通信值,以及与用户相关联的用户历史或与用户相关联的用户档案;在确定使用静态nlg模板的情况下,然后选择静态nlg模板;当确定使用动态nlg模板时,则生成动态nlg模板;并使用所选择的nlg模板生成nlg输出。

根据各种实施例,该方法可以进一步包括以下特征中的任何一个或这些特征的任何技术上可行的组合:

·成组的输入包括与用户相关联的用户历史和与用户相关联的用户档案;

·神经网络nlg模板选择过程包括成组的潜在的输出,所述输出包括第一nlg模板输出值和第二nlg模板输出值,其中第一nlg模板输出值对应于将使用静态nlg模板来生成nlg输出的概率,并且其中第二nlg模板输出值对应于将使用动态nlg模板来生成nlg输出的概率;

·识别步骤包括使用接收的语音信号来识别用户,并且其中基于所接收的语音信号的所识别的风格、情绪和/或方言确定使用静态nlg模板或动态nlg模板;

·生成动态nlg模板和/或基于所接收的语音信号的所识别的风格、情绪和/或方言来选择静态nlg模板;

·使用机器学习nlg模板生成过程来生成动态nlg模板,并且其中机器学习nlg模板生成过程使用与在神经网络nlg模板选择过程中使用的机器学习技术不同的机器学习技术;和/或

·不同的机器学习技术是一种基于规则的方法,该方法包括在生成动态nlg模板时需要遵循的成组的预定义规则。

附图说明

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

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

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

图3是生成自然语言生成(nlg)输出的方法的实施例的流程图;以及

图4是描绘可以在机器学习nlg过程或应用中使用的神经网络模型的实施例的框图。

具体实施方式

下面描述的系统和方法提供使用机器学习nlg过程来生成自然语言生成(nlg)输出,该机器学习nlg过程至少在一些实施例中可以在使用静态(或预定义)nlg模板和使用动态nlg模板之间进行选择。可以选择nlg模板,使得所选择的nlg模板适合于特定用户、特定asr输入和/或其组合。自然语言生成(nlg)是指生成自然语言输出的过程,该输出将来自机器的语句、查询或问题和/或其他意图传达给用户。在许多情况下,nlg模板用于生成nlg输出。机器学习nlg模板选择过程可以作为机器学习nlg过程的一部分来执行。nlg模板选择过程是使用机器学习技术选择使用静态或动态nlg模板的过程。可以基于某些用户信息、通信目标或意图和/或各种其他信息来选择nlg模板,如下所述。

如本文所使用的那样,“nlg模板”是包括一个或多个输入字段的预制或预定义短语、句子和/或语句的集合,其中可以基于期望或预期输出来放置特定值或词。此外,如本文所使用的那样,“nlg输出”是基于自然语言的任何输出,并且至少在一些情况下,可以使用扬声器(即,可听nlg输出)可听地发送或者以视觉方式呈现、诸如呈现包括文本字符(例如,字母数字字符)的文本表示的方式。并且,如本文所使用的那样,机器学习nlg过程是使用机器学习技术来选择nlg模板、生成nlg模板和/或生成nlg输出的过程,因此,至少在一些实施例中,可以包括机器学习nlg模板选择过程。当使用神经网络模型时,nlg过程可以被称为神经网络nlg过程(对于机器学习nlg子过程也是如此)。

如下面将更详细讨论的那样,机器学习nlg过程可以包括各种过程(或“子过程”),其包括nlg模板选择过程、nlg模板生成过程和/或nlg输出生成过程。nlg模板选择过程是选择用于生成nlg输出的nlg模板的过程,其可以包括基于通信目标、接收的语音的风格、用户档案、用户历史和/或各种其他因素在静态模板和动态模板之间进行选择。当确定动态模板用于生成nlg输出时,可以执行nlg生成过程。nlg输出生成过程是使用所选择的和/或生成的nlg模板生成nlg输出的过程。

在一些情况中,nlg模板选择过程可以确定使用静态nlg模板,该静态nlg模板是预定义的nlg模板,使得某些通信目标被映射到预定义的nlg模板化输出。并且,在其他实施例中,nlg模板选择过程可以确定使用动态nlg模板,其是在nlg模板选择过程之后的时间使用机器学习nlg模板生成过程至少部分地生成的nlg模板,并且至少在一些实施例中,可以基于从各种预定义或静态nlg模板导出某些模板化输出。当选择静态nlg模板时,可以立即执行nlg输出生成过程(即,使用nlg模板生成nlg输出的过程)。当确定将在nlg输出生成过程中使用动态nlg模板时,则可以使用nlg模板生成过程来生成动态nlg模板。可以基于从接收的语音信号识别的通信目标、接收的语音信号的风格(或其他属性)、接收的语音信号的情绪、接收的语音的特征和/或基于用户档案或历史来生成动态nlg模板。这允许生成动态nlg模板,其适合于匹配通信风格以便改善用户体验。

例如,动态nlg模板可以适合于特定用户和/或可以基于来自给定用户的asr输入来生成、更新或修改。并且,在某些实施例中,当用户重复使用相同的通信目标和相同或相似的风格或情绪来查询asr系统时,可以保存动态nlg模板以加速未来的nlg过程。例如,代替生成相同的动态nlg模板,可以保存动态nlg模板,并且稍后,当确定使用时,可以从存储器中调用动态nlg模板,从而避免重新生成动态nlg模板。应当理解,当以这样的方式保存动态nlg模板时,使其成为静态nlg模板。此外,机器学习nlg过程(和子过程)可以使用各种机器学习技术(包括人工神经网络)来在nlg模板之间进行选择和/或更新或修改nlg模板。

在一个实施例中,神经网络自然语言生成(nlg)模板选择过程可用于基于所接收的语音信号的风格(或情绪)和基于所接收的语音信号识别的通信目标来选择nlg模板。在一种情况下,第一用户可以以啰嗦的和拉长的方式进行说话,并且因此,可以使用神经网络nlg模板选择过程来选择详细的nlg模板,当用于nlg时该模板导致啰嗦或拉长的响应。例如,当用户或用户的语音被识别为健谈的或详细的时,可以使用nlg模板来生成nlg输出,该输出导致健谈的的或详细的输出;在一个情况中,当用户说:“你好,asr系统,请告诉我当前位置的天气”,系统可能会回应:“你好,用户1,今天天气阴天,最高温度43华氏度和最低温度31华氏度”。在另一种情况下,第二个用户可以使用非常少的词,因此,nlg模板将被定制得更直接并且达到可以通过神经网络nlg模板选择过程来选择的程度。在此,可以选择产生以下输出的nlg模板:“阴天,高43,低31”。神经网络nlg模板选择过程可以基于用户语音的风格或情绪选择静态模板或者可以选择使用动态nlg模板。在后一种情况下,可以执行nlg模板生成过程以基于用户语音的风格或情绪生成动态nlg模板。

继续参考前两个示例,第一个nlg模板(详细的nlg模板)使用了一个模板化的句子,该句子适合于提供天气信息:“今天的天气具有最高温度的华氏度和最低温度的华氏度。”第二个nlg模板(直接nlg模板)使用模板化短语,该短语也适用于提供天气信息:“,高,低。”在此,“”是整体天气状况的占位符或输入字段,例如阴天、晴天、部分阴天等,“”是白天的高温,“”是白天的低温。此外,第一个用户说“你好,asr系统”,并且因此,使用第一个nlg模板的机器学习nlg过程在nlg输出的开头附加了“你好”语句以匹配asr输入。占位符或输入字段可以在短语或句子中保留可以插入响应通信值的位置。例如,low_temp的响应通信值可以是“31”,并且使用任一模板,可以将响应通信值插入到输入字段中。在一个实施例中,第一模板可以是静态模板,其被配置为当通信目标提供本地天气时以及当用户或用户的语音是详细的时候使用。在另一个实施例中,nlg过程可以确定不存在用于响应第一用户的适当静态模板,并且因此,可以基于来自第一用户的接收语音信号的详细的性质和/或其他信息、例如通信目标来形成动态模板。

包括上面讨论的子过程的机器学习nlg过程可以被实现为可以在各种不同的客户端设备上执行的计算机可执行应用,所述设备包括手持式移动设备(例如,智能电话)、家庭自动化设备(例如,诸如amazontmalexatm和googletmhome之类的智能个人助理)、车辆和/或可以接收语音、连接到远程计算机网络并且被配置为实现本文所讨论的机器学习nlg过程或应用的任何设备。在特定实施例中,车辆可以用作客户端设备以接收和执行机器学习nlg过程。在其他实施例中,机器学习nlg过程可以在远程设施处执行,该远程设施可以访问更多资源(例如,更多数据)和/或可以具有更高的处理能力。机器学习nlg过程(包括机器学习nlg模板选择过程)可以基于许多输入,所述输入包括用户历史、用户档案、通信目标和通信值。

参考图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连接或将无线载波系统与用户设备(例如,可包括车辆12中的远程信息处理设备的ue)连接所需的任何其他网络组件。载波系统70可以实现任何合适的通信技术,所述通信技术包括gsm/gprs技术、cdma或cdma2000技术、lte技术等。通常,无线载波系统70、它们的组件、它们的组件的布置、组件之间的交互等在本领域中通常为已知的。

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

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

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

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

远程设施80还可以包括一个或多个数据库,所述数据库可以存储帐户信息,例如用户认证信息、车辆标识符、档案记录、行为模式、语音识别和/或nlg信息(包括nlg模板数据库中的nlg模板),以及其他相关的用户信息。如本文所使用的那样,语音识别和/或nlg信息包括可用于训练语音识别或nlg系统的信息,例如下面详细讨论的机器学习nlg过程。在一些实施例中,远程设施80可以执行nlg过程的一个或多个步骤和/或可以通过例如向正在执行nlg过程的客户端设备提供有用信息来补充nlg过程。数据传输也可以由无线系统进行,例如ieee802.11x、gprs等。本领域技术人员将理解,尽管在所示实施例中仅描绘了一个远程设施80和一个计算机78,但是可以使用许多远程设施80和/或计算机78。

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

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

在所示实施例中,车辆12被描绘为乘用车,但是应当理解,所述车辆包括摩托车、卡车、运动型多用途车辆(suv)、休闲车(rv)、海洋船只、飞机等也可以使用的任何其他车辆。一些车辆电子设备20总体上在图1中示出并且包括全球导航卫星系统(gnss)模块22、发动机控制单元(ecu)24、车身控制模块(bcm)26、可被配置为执行机器学习nlg过程和/或语音识别处理的无线通信设备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,该无线通信设备然后可以使用该数据来识别已知位置、例如车辆操作者的家或工作场所。另外,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)通信。bcm26的处理器和存储器可用于指导或执行一个或多个车辆操作,所述车辆操作包括例如控制中央锁定、空调、电动后视镜,控制车辆点火或主原动机(例如,发动机、主推进系统),和/或控制各种其他车辆模块。bcm26可以从无线通信设备30接收数据,并且随后将数据发送到一个或多个车辆模块。

另外,bcm26可以提供与车辆状态或某些车辆部组件或系统相对应的信息。例如,bcm可以向无线通信设备30提供指示车辆点火装置是否打开的信息、车辆当前所处的档位(即档位状态),和/或关于车辆的其他信息。bcm26可用于确定一个或多个车辆状态,例如车辆是否通电、车辆电池的电池电量和/或其他车辆状态。这些各种车辆状态可以通过无线通信设备30获得并且用作机器学习nlg过程中的输入。例如,车辆可以识别出现在车辆内或附近的某些移动设备90,并且基于先前的用户设置或配置,车辆可以确定特定移动设备的存在指示特定用户靠近或在车辆处的高概率。该指示可以用于识别特定用户,使得车辆可以生成、选择和/或使用nlg模板来生成nlg输出。

无线通信设备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、蓝牙tm、蓝牙tm低功耗(ble)或近场通信(nfc)中的任何一种。如本文所使用的那样,蓝牙tm指的是任何蓝牙tm技术,诸如蓝牙低功耗tm(ble)、蓝牙tm4.1、蓝牙tm4.2、蓝牙tm5.0和可以开发的其他蓝牙tm技术。如本文所使用的那样,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可以执行程序或处理数据以执行本文所讨论的方法的至少一部分,其可以包括使用神经网络模型执行nlg模板选择和/或生成。存储器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系统可用于执行机器学习nlg过程的至少一部分,其包括基于所选择的nlg模板选择nlg模板和/或生成nlg输出。

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

系统210还可以从任何其他合适的音频源31接收语音,该语音可以如实线所示直接与预处理器软件模块212通信,或者通过声学接口33与其间接通信。音频源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系统还可以与自然语言生成(nlg)系统合并,该系统可以执行本文所讨论的机器学习nlg过程。在其他实施例中,机器学习nlg过程可以是单独模块的一部分和/或可以使用不同的组件或系统来执行。而且,nlg过程可以在不同位置和/或使用不同组件来执行。在一个实施例中,车辆或其他客户端设备可用于执行整个nlg过程,或者在另一实施例中,远程服务器或设施可用于执行整个nlg过程。在其他实施例中,客户端设备和远程服务器或设施的组合可用于执行nlg过程。例如,可以在远程设施80处执行nlg模板的选择,而可以在车辆或其他客户端设备处执行nlg模板的生成和/或使用nlg模板生成nlg输出。如本领域技术人员根据下面的讨论将理解的那样,存在各种其他实施例。

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

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

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

现在转向图3,示出了生成自然语言生成(nlg)输出的方法300的实施例。方法300通常可用于接收语音信号,使用机器学习nlg模板选择过程确定是使用静态nlg模板还是动态nlg模板,并使用选定的nlg模板生成nlg输出。机器学习nlg模板选择过程可以导致确定使用动态模板,并且在这种情况下,可以执行nlg模板生成过程以创建动态nlg模板。然后,在根据需要选择和/或生成nlg模板之后,至少在一些实施例中,可以使用所选择的nlg模板生成nlg输出。关于方法300的特定实施例,讨论了神经网络nlg过程,其是使用人工神经网络来执行nlg模板选择过程、nlg模板生成过程和/或nlg输出生成过程的机器学习nlg过程。本领域技术人员将理解,可以使用其他机器学习技术来执行机器学习nlg过程,其包括决策树学习、关联规则学习、深度学习、归纳逻辑编程、聚类、贝叶斯网络以及各种其他。

机器学习nlg过程可以在车辆12中的无线通信设备30的处理器36上实现和/或可以在车辆12的另一个vsm上实现。通过用机器学习nlg应用程序配置设备30,可以在无线通信设备30(或其他vsm)上实现机器学习nlg过程,该应用程序可以是软件和/或固件指令的形式或者是计算机程序产品的一部分。机器学习nlg应用程序可以在远程设施(例如,远程设施80)初始配置和/或编译,并且可以通过使用设置过程或可以在车辆12(或其他客户设备)的销售之前、期间或之后进行的初始制造过程安装在无线设备30(或其他客户端设备)上。在一些实施例中,机器学习nlg模板选择过程可以在远程设施处实现,并且机器学习nlg输出生成过程可以在客户端设备处实现;然而,这仅是一个示例,因为本领域技术人员将根据下面的讨论认识到各种其他实施方式。

至少在一个实施例中,机器学习nlg应用程序最初可以包括成组的计算机指令和成组的初始nlg信息、例如包括包括多个预定义或静态nlg模板的nlg模板信息。机器学习nlg模板选择过程可以以计算机应用程序的形式在客户端设备上实现,因此可以称为机器学习nlg模板选择应用程序。另外,可以为特定用户生成动态nlg模板,并且基于从该用户接收的语音信号和/或基于用户档案,可以更新动态nlg模板以更好地反映适合于特定用户的nlg模板。当客户端设备或通信系统首先识别新用户时,可以基于用户设置选择预定义模板。在随后的机器学习nlg过程迭代期间,nlg模板选择过程可以基于用户的档案和/或用户的历史为用户选择模板,其可以在包括nlg过程的asr过程期间被保存。可以使用用户的历史选择静态nlg模板或动态nlg,并且当选择动态nlg模板时,可以基于使用的历史、用户的档案和设置、接收的语音信号以及通信目标来来生成动态nlg模板。用户的历史可以包括关于先前机器学习nlg过程迭代(包括与机器学习nlg过程迭代相关联的输入、输出和性能度量)、先前接收的语音信号,以及对先前使用的语音信号(包括风格、情绪、方言和/或语音的特征)的分析的信息。用户的档案可以包括用户先前发送的一种或多种语音信号风格、由用户选择的一种或多种风格,或者与用户的语音有关的其他信息。在一个实施例中,用户的档案可以包括用户倾向于与其他人交谈的典型语音风格。例如,第一用户可以详细地说话,因此,用户档案可以包括对此的指示。

另外,可以为不同类型的用户设计和/或预定义各种nlg模板,所述模板包括:使用完整句子和/或更多啰嗦的短语的详细的nlg模板:使用短语和/或减少量的词的直接nlg模板;正式的nlg模板,其包含使用正式语言的预定义语句或短语;非正式的nlg模板,其包括使用非正式或随意的语言的预定义语句或短语;清晰说话的nlg模板,其可以产生被设计为如此清晰的nlg音频输出,使得例如听力或理解能力受损或低于平均水平的人更有可能解释nlg输出;和/或使用流行的(hip)措辞的新潮nlg模板。可以选择这些预定义模板中的一个用作新用户的起点。用户可以配置他们的用户档案和/或设置以选择起始模板,或者系统可以自动选择其确定最适合用户的模板。

可以使用各种训练信息生成和/或初始训练机器学习nlg应用程序,所述信息包括从机器学习nlg过程的先前迭代收集的信息。在一些实施例中,可以使用各种统计算法来训练神经网络nlg应用程序。可以周期性地更新和/或训练机器学习nlg应用程序,以便改进nlg输出的生成。这可以包括使用先前nlg过程迭代的输入和输出(以及性能指标)作为机器学习nlg过程的训练信息。另外,其他训练信息(例如,输入组及其对应或期望的输出)以及更新的软件/固件指令可以从远程服务器(例如,远程设施80)发送到客户端设备。在一个实施例中,机器学习nlg模板选择过程可以选择静态nlg模板,直到机器学习nlg过程被充分训练,使得可以生成准确反映对应于接收到的语音信号或用户的档案/历史的响应的风格或类型的动态模板。

可以在机器学习nlg应用程序安装在客户端设备上之前和/或在机器学习nlg应用程序被配置为在客户端设备中使用之前执行机器学习nlg过程或应用程序的训练。此外,初始训练可以是使用从先前的nlg模型获得的训练信息(输入、输出和输出的准确性)的监督训练。在其他实施例中,初始训练可以是无监督训练。初始训练可以在远程设施(例如远程设施80)处执行,并且当初始训练完成并且客户端设备准备好配置使用时,可以安装机器学习nlg应用程序。机器学习nlg应用程序可以作为语音识别应用程序的一部分或模块包括在内,并且可以以与上述asr系统类似的方式执行和/或集成。

在将神经网络用于机器学习nlg过程的实施例中,浅层神经网络或深度神经网络可以用于神经网络nlg过程。如本文所使用的那样,浅层神经网络包括单个隐藏层,而深度神经网络包括多个隐藏层。神经网络的每个层可以包括一个或多个节点,每个节点可以映射到同一隐藏层内的一个或多个其他节点,映射到另一个隐藏层内的一个或多个其他节点,或映射到一个或多个输出节点。

例如,图4描绘了可以在神经网络nlg模板选择过程或应用程序中使用的示例神经网络模型。神经网络模型100包括成组的输入节点102-108、神经网络(或机器学习)输出节点122-124,以及包括节点110-118的隐藏层。该成组的输入节点102-10可以各自对应于不同的输入,其包括通信目标(102)、通信值(104)、用户档案(106)和用户历史(108)。隐藏层(包括节点110-118)可用于将输入映射到适当的输出。神经网络nlg模板选择节点122-124可以对应于nlg模板、诸如静态或预定义nlg模板或动态nlg模板。在一个实施例中,输出122和124可以各自与指示用于使用静态nlg模板(输出122)的后验概率以及用于使用动态nlg模板(输出124)的后验概率的概率或统计度量相关联。模板生成选择过程可以选择具有最高概率的模板。可以在机器学习nlg模板选择过程中使用各种统计模型。另外,尽管参考神经网络nlg模板选择过程讨论了神经网络模型100,但神经网络模型也可以用于其他过程,所述过程包括神经网络nlg模板生成过程和神经网络nlg输出生成过程。

方法300开始于步骤310,其中在客户端设备处接收语音信号。如上所述,客户端设备可以是各种设备之一,所述设备包括车辆12、移动设备90和/或计算机78;然而,使用车辆12作为客户端设备来讨论方法300。车辆12可以使用无线通信设备30处的麦克风56接收语音信号。可以对语音信号进行采样,以便可以由处理器36获得并使用语音信号的数字表示。采样可以在麦克风56、无线通信设备30或车辆12的另一个vsm处执行。一旦接收并采样了语音信号,方法300就继续到步骤320。

在步骤320中,识别发送语音信号的用户或可能的用户。在一个实施例中,根据各种用户的历史来处理所接收的语音信号,并且基于该处理,可以将特定用户识别为发送语音。或者,系统可以确定特定用户发送语音信号的概率,并且当概率高于特定阈值或高于关于其他用户的所有其他概率时,于是系统可以确定用户可能发送了语音信号。这些概率可以基于用户的历史和/或档案,其可以包括与用户的先前的语音信号有关的信息。在特定实施例中,可以生成用于特定用户的语音的指纹并将其用于识别特定用户。

替代性地或另外地,客户端设备(例如车辆)的状态可以用于确定发送了语音信号的用户或可能的用户。在一种情况下,客户端设备可以是属于单个用户的智能手机,并且因此,系统可能倾向于确定用户或可能的用户是智能手机的单个用户并因此发送语音信号。在另一个实施例中,车辆可以通过例如确定哪个钥匙用于启动车辆,车辆的哪个座位被占用,和/或哪个个人移动设备位于车辆中或处于车辆附近来确定车辆中存在哪些用户当前在车辆处。也可以使用其他各种车辆状态。一旦识别出特定用户,方法300就继续到步骤330。

在步骤330中,基于接收的语音信号确定通信目标。如本文所使用的那样,通信目标表示尝试使用所接收的语音信号传送到asr系统的意图。如上所述,可以通过使用asr系统210来确定意图。这可以包括执行各种语音识别技术,并且然后使用后处理技术来确定寻求由用户传达的意图。这些后处理技术可以包括使用自然语言理解(nlu)处理技术或可以解释接收的语音信号的对话管理器。一旦通信目标由nlu系统或对话管理器确定,就可以保存通信目标并将其与所识别的用户相关联。

在一些实施例中,可以从接收的语音获得通信值。从接收的语音获得的这些通信值可以称为输入的通信值。如本文所使用的那样,通信值是特定于接收的语音或nlg输出或响应的值/诸如作为nlg输出的主题的那些值(例如,当前温度、用户或商店的地址和名称)。适当的名词、情境或用户特有的特征以及其他动态信息可被视为通信值。例如,用户可能会问“密歇根州的罗亚尔奥克的天气怎么样?”城市名称“罗亚尔奥克”和州名“密歇根”可以被视为通信值,而通信目标是接收与输入的通信值(或密歇根州的罗亚尔奥克)有关的天气信息。可以使用自然语言理解(nlu)系统将通信值识别为包含在接收的语音信号中的独特的或动态的信息。至少在一些实施例中,这些通信值可以用作神经网络nlg模板选择过程的输入,如下面在步骤350中所讨论的那样。另外,如下面将更详细讨论的那样,可以获得通信值用于插入到nlg模板的输入字段中。为插入到nlg模板的输入字段中而获得的这些通信值可以称为响应通信值。方法300继续到步骤340。

在步骤340中,确定是否要生成nlg输出或响应。在一些情况中,asr系统可以接收语音信号并执行操作,但是可能不需要生成和发送nlg输出,因为例如操作的执行本身就说明了一切-即,执行操作将导致充分地向用户传达了语音被准确地解释的指示和/或导致用户的期望操作。可以通过分析在步骤330中确定的通信目标来确定是否要生成响应。然而,一些通信目标可能需要或由nlg输出或响应补充,例如用户使用语音信号查询系统的那些,并且基于用户使用他们的语音询问问题的事实,可以确定应该或者优选地使用语音将查询结果传达给用户。因此,如果确定要生成nlg输出或响应,则方法300继续到步骤350;否则,方法300结束。

在步骤350中,选择用于生成nlg输出的自然语言生成(nlg)模板。在一些实施例中,使用神经网络nlg模板选择过程来选择nlg模板,其中神经网络nlg模板选择过程使用人工神经网络来解析成组的输入以选择用于生成nlg输出的nlg模板。在执行神经网络nlg模板选择过程之前,可以获得将在神经nlg模板选择过程中使用的成组的输入。该成组的输入可以包括通信目标、与用户相关联的用户历史,或与用户相关联的用户档案。

根据一个实施例,该成组的输入包括通信目标(例如,在步骤330中确定的通信目标),通信值、来自用户的档案的信息和/或来自用户的历史的信息。这些度量中的任何一个或多个可以在到达步骤350时确定,或者可以在先前时间确定并保存在位于客户端设备处的存储器、例如无线通信设备30的存储器38。根据后一种情况,在到达步骤350之后,可以从存储器设备调用将在机器学习nlg过程的成组的输入中使用的一个或多个度量。在一个实施例中,用户的历史可以包括识别先前风格、方言或与先前使用来自用户的语音有关的特征信息的信息。另外,基于从用户接收的语音或由用户配置的其他设置,与用户相关联的风格档案可以用作神经网络模板选择过程的输入。

一旦获得了神经网络nlg模板选择过程的所有输入,就可以执行神经网络nlg模板选择过程。在一些实施例中,神经网络nlg模板选择过程可用于:(i)确定是使用静态nlg模板还是动态nlg模板;(ii)当确定将使用静态nlg模板时,则从多个静态nlg模板中选择静态nlg模板;以及(iii)当确定将使用静态nlg模板时,然后生成动态nlg模板,其可以使用nlg模板生成过程来执行(步骤360)。这些步骤中的任何一个或全部可以在客户端设备、例如车辆12处执行。或者,这些步骤中的任何一个或全部可以在远程服务器(例如,包括在远程设施80处的那些远程服务器)处执行。在一个实施例中,客户端设备可以向位于远程设施80的nlg模板数据库查询与特定用户的交互风格(例如,正式的、非正式的、详细的、直接的和讲话到点的)匹配的预定义或静态nlg模板。可以使用通信目标、用户的风格、来自所接收的语音的通信值和/或将在nlg输出中使用的通信值来查询nlg模板数据库。

在许多实施例中,选择与用户的词汇表、风格、措辞和/或特征匹配的模板。当预定义或静态nlg模板不足以匹配用户的这些属性时,模板选择过程可确定生成并使用动态nlg模板。如果选择使用动态nlg模板,则方法300继续到步骤360;否则,如果将使用预定义或静态nlg模板,则方法300继续到步骤370。

在步骤360中,当确定将使用动态nlg模板来生成nlg输出时,则生成动态nlg模板。这可以包括生成特别是用于通信目标的nlg模板并使用将在nlg输出中使用的确定的风格。在一些实施例中,用于神经网络nlg模板选择过程的成组的输入可以用于用于生成动态nlg模板的神经网络nlg模板生成过程。动态模板可以基于可以根据用户的风格或特征进行修改的预定义或静态nlg模板。例如,如果用户被认为是详细的并且使用特定类型的方言或措辞,则该过程可以以详细的静态nlg模板开始。此后,可以根据用户的特定风格来修改详细的静态nlg模板,以便生成更好地符合用户的风格的动态nlg模板。在其他实施例中,可以使用基于规则的方法而不是神经网络方法来生成动态模板。基于规则的方法可以使用关于某些预定义模板、语音的风格或情绪、用户历史、用户档案、通信目标和/或通信值的成组的预定义规则。可以遵循这些规则以开发动态nlg模板。一旦生成动态nlg模板,方法300就继续到步骤370。

在步骤370中,生成基于所选择的nlg模板的nlg输出。可以通过使用来自所选择的nlg模板的模板化短语或句子来生成nlg输出,并且然后将要传达的通信值插入到所述模板化短语和句子内的某些指定输入字段中。可以获得通信值,并且可以基于用户的风格和/或情绪。可以基于向可以处理请求并返回通信值的远程服务器发送通信值请求来获得通信值。例如,通信值请求可以包括通信目标的指标和包括在所接收的语音信号中的通信值。然后可以查询远程服务器,以便提供满足在接收的语音信号中传达的用户的请求或意图的适当响应(即,通信值响应)。可以接收通信值响应并与所选择的nlg模板一起使用以生成nlg输出。一旦生成nlg输出,就可以使用例如扬声器或其他音频回放设备(例如,车辆12的音频系统54)将nlg输出传送给用户。在其他实施例中,nlg输出可以包括显示在屏幕(例如,车辆12的触摸屏58)上的文本。

如上所述,至少在一些实施例中,神经网络nlg过程和/或应用程序(以及子过程)可以基于先前的迭代进行调整。在一个实施例中,神经网络nlg模板选择过程可以通过保留给定迭代的成组的输入和给定迭代的nlg输出来进行调整。另外,客户端设备可以基于一个或多个性能指标来确定给定迭代的测量成功。性能指标可以包括用于执行语音识别或机器学习nlg过程所花费的时间、将nlg输出的风格或情绪与接收的语音信号的风格或情绪进行匹配的准确性,和/或nlg模板选择和/或生成过程的准确性和/效率的其他指示。在一些实施例中,该成组的输入中的任何一个或多个可以用作性能指标。然后方法300结束。

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

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

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