使用基于传感器的验证的车辆功能控制的制作方法

文档序号:20166681发布日期:2020-03-24 21:38阅读:196来源:国知局
使用基于传感器的验证的车辆功能控制的制作方法



背景技术:

计算设备之间的网络业务数据基于分组或其他方式的过多网络传输会妨碍计算设备正确地处理网络业务数据、完成与网络业务数据有关的操作或及时响应网络业务数据。如果响应计算设备达到或超过其处理能力时,网络业务数据的过多网络传输也会使数据路由复杂化或降低响应质量,这可能导致带宽利用效率低下。过量网络传输的一部分可以包括对为无效请求的请求的传输。



技术实现要素:

根据本公开的方面,一种用于验证车辆功能的系统可以包括数据处理系统。该系统可以包括由该数据处理系统执行的自然语言处理器组件。自然语言处理器组件可以经由数据处理系统的接口接收输入音频信号。自然语言处理器组件可以解析输入音频信号以识别请求、与请求相关联的车辆以及与请求和车辆相关联的履行接口。该系统可以包括直接动作应用编程接口,用于基于请求生成第一动作数据结构。该系统可以包括验证引擎,用于基于第一传感器数据集合确定与请求相关联的车辆的车辆状态。该车辆状态可以包括第一多个属性。验证引擎可以基于请求和第二传感器数据集合确定请求状态。该请求状态可以包括第二多个属性。验证引擎可以将请求状态的第二多个属性与车辆状态的第一多个属性进行比较。验证引擎可以基于请求状态的第二多个属性中的一个与车辆状态的第一多个属性中的一个匹配,将第一动作数据结构发送到履行接口以执行与第一动作数据结构相关联的功能。

根据本公开的方面,一种验证车辆功能的方法可以包括由数据处理系统执行的自然语言处理器组件并且经由数据处理系统的接口接收输入音频信号。该方法可以包括由自然语言处理器解析输入音频信号以识别请求、与请求相关联的车辆以及与请求和车辆相关联的履行接口。该方法可以包括由直接动作应用编程接口基于请求生成第一动作数据结构。该方法可以包括由验证引擎基于第一传感器数据集合确定与请求相关联的车辆的车辆状态。该车辆状态可以包括第一多个属性。该方法可以包括由验证引擎基于该请求和第二传感器数据集合,确定请求状态。该请求状态包括第二多个属性。该方法可以包括由验证引擎将请求状态的第二多个属性与车辆状态的第一多个属性进行比较。该方法可以包括由验证并且基于请求状态的第二多个属性中的一个与车辆状态的第一多个属性中的一个匹配,将第一动作数据结构发送到履行接口以执行与第一动作数据结构相关联的功能。

在下文中,详细讨论这些和其他方面以及实施方式。前述信息和以下详细描述包括各种方面和实施方式的示例性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,以及包含在本说明书中并构成本说明书的一部分。

附图说明

附图不旨在按比例绘制。各附图中相似的附图标记和名称指示相似的元件。为清楚起见,可以并非在每个附图中标记每个组件。在附图中:

图1示出了通过基于传感器的验证来认证和控制车辆功能的示例系统。

图2示出了车辆的俯视图,并且示出了图1中所示的车辆的内饰。

图3示出了使用图1中示出的示例系统来验证车辆功能的示例方法。

图4是示例计算机系统的框图。

具体实施方式

以下是与在基于语音激活的数据分组的计算机网络环境中的分组数据的多模式传输的方法、装置和系统有关的各种概念以及其实施方式的更详细描述。可以以许多方式中的任何一种来实现上文介绍的和下文将更详细讨论的各种概念。

本公开一般地针对一种数据处理系统,以在语音激活的计算机网络环境中验证打包音频信号内的请求。数据处理系统可以通过例如在通过网络传输之前丢弃或以其他方式禁用无效的请求(及其相关联的动作数据结构),提高通过一个或多个计算机网络的听觉数据分组传输的效率和有效性。本解决方案还可以通过防止数据处理系统对无效且应当被丢弃的动作数据结构执行进一步的计算操作来提高计算效率。通过禁用无效请求的传输,系统可以通过不在网络上传输携带无效动作数据结构的数据分组来减少带宽利用。处理自然语音音频信号可能是计算密集的任务。通过检测可能无效的请求,系统可以使系统能够跳过、临时跳过、丢弃或修改可能无效的请求,从而减少计算浪费。

本文描述的系统和方法可以包括接收音频输入查询、也可以被称为音频输入信号的数据处理系统。输入音频信号可以包括执行车辆设置中的功能的请求,例如打开窗户或启动汽车。数据处理系统可以从该输入音频信号可以识别请求。该系统可以基于音频输入查询生成动作数据结构。动作数据结构可以包括指示履行请求的要求的属性。该系统可以确定车辆状态以及与该车辆状态相关联的属性。系统可以将动作数据结构的属性与车辆状态的属性进行比较和分析,以确定是否应当履行该请求。如果车辆状态和动作数据结构的属性不匹配,则系统可以禁用或丢弃该动作数据结构(以及相关联的请求),并且阻止履行接口履行该请求,从而节省了网络带宽、减少了处理器利用,并且省电。

图1示出了示例系统100,其利用基于传感器的验证来认证和控制车辆功能。系统100可以包括至少一个数据处理系统102、一个或多个客户端设备128以及一个或多个车辆140。

数据处理系统102可以包括接口104。数据处理系统102可以包括自然语言处理器(nlp)组件106以解析基于音频的输入。数据处理系统102可以包括接口管理组件108,以检测和管理系统100中的其他设备的接口。数据处理系统102可以包括音频信号生成器组件110,以生成基于音频的信号。数据处理系统102可以包括直接动作应用编程接口(api)112。数据处理系统102可以包括响应选择器组件114,以选择对基于音频的输入信号的响应。数据处理系统102可以包括验证引擎116,以验证由数据处理系统102接收的基于音频的输入。数据处理系统102可以包括数据储存库118,数据处理系统102可以在其中存储参数120、策略122、响应数据124和模板126。客户端设备128和车辆140可以包括并执行数据处理系统102的组件的实例。在一些实施方式中,客户端设备128和车辆140可每个包括并执行数据处理系统102的实例。

系统100还可以包括一个或多个客户端设备128。客户端设备128可以包括传感器130、扬声器132、接口104和换能器136。客户端设备128可以执行nlp组件106的实例。系统100还可以包括一个或多个数据提供者138。系统100可以包括一个或多个车辆140。车辆140可以包括传感器130、扬声器132、接口104和换能器136。车辆140可以执行nlp组件106的实例。系统100的组件可以通过网络142进行通信。在一些实施方式中,一个或多个客户端设备128可以位于车辆140的实例内。例如,客户端设备128可以是驾驶车辆140的驾驶员的移动电话。在一些实施方式中,一个或多个客户端设备128可以远离车辆140。例如,在驾驶员停车并离开车辆140进行工作之后,驾驶员的移动电话远离车辆140。

网络142可以包括诸如互联网、局域网、广域网、城域网或其他局域网的计算机网络、内联网、卫星网络、诸如语音或数据移动电话通信网络的其他计算机网络及其组合。数据处理系统102、客户端设备128和车辆140可以使用网络142来访问信息资源,诸如网页、网站、域名、统一资源定位符或数据提供者138。例如,数据处理系统102可以经由网络142访问数据提供者138,该数据提供者138提供特定位置的天气数据,诸如与车辆140相关联的位置。

网络142可以包括例如点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、atm(异步传输模式)网络、sonet(同步光网络)网络、sdh(同步数字体系)网络、无线网络或有线网络及其组合。网络142可以包括无线链路,诸如红外信道或卫星频带。网络142的拓扑可以包括总线、星形或环形网络拓扑。网络142可以包括使用用于在移动设备之间进行通信的任何一种或多种协议的移动电话网络,包括高级移动电话协议(amps)、时分多址(tdma)、码分多址(cdma)、全球移动通信系统(gsm)、通用分组无线服务(gprs)或通用移动电信系统(umts)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。

客户端设备128和车辆140可以每个包括至少一个逻辑设备,诸如具有处理器的计算设备,经由网络142与数据处理系统102相互通信。客户端设备128和车辆140可以包括关于数据处理系统102描述的任何组件的实例。客户端设备128和车辆140可以包括数据处理系统102的实例。客户端设备128可以包括桌面型计算机、手提计算机、平板计算机、个人数字助理、智能电话、移动设备、便携式计算机、瘦客户端计算机、虚拟服务器、基于扬声器的数字助理或其他计算设备。车辆140可以包括手动或自动驾驶汽车、卡车、公共汽车、工业车辆、摩托车或其他运输机器。车辆140可以包括可以执行数据处理系统102或其任何组件的实例的一个或多个处理器。处理器可以是车辆的头部单元(headunit)的组件。

客户端设备128和车辆140可以包括至少一个传感器130、至少一个换能器136、至少一个音频驱动器和至少一个扬声器132。传感器130可以包括麦克风或音频输入传感器。传感器130还可以包括gps传感器、接近传感器、环境光传感器、温度传感器、运动传感器、加速度计或陀螺仪中的至少之一。该传感器可以包括占用或重量传感器。换能器136可以将音频输入转换成电子信号。音频驱动器可以包括由客户端设备128或车辆140的一个或多个处理器执行的脚本或程序以控制扬声器132。扬声器132可以通过将电信号转换为可听波来渲染音频信号。

客户端设备128和车辆140可以与终端用户相关联,该终端用户将语音查询作为输入音频信号(经由传感器130)输入到客户端设备128或车辆140中,并且接收以可以从数据处理系统102提供的计算机生成的语音形式的音频输出。响应于输入音频信号,客户端设备128和车辆140还可以接收动作数据结构以执行预定功能或动作。接口104可以接收数据消息或向数据处理系统102的直接动作api112提供数据消息,并且实现系统100的组件之间的通信。客户端设备128和车辆140还可以包括用户界面,该用户界面使用户能够与系统100的组件进行交互。

该系统的数据处理系统102可以包括具有至少一个处理器的至少一个服务器。例如,数据处理系统102可以包括位于至少一个数据中心或服务器场中的多个服务器。数据处理系统102可以从音频输入信号确定请求和与该请求相关联的触发关键字。基于请求和触发关键字,数据处理系统102可以生成或选择响应数据。响应数据可以基于音频或基于文本。例如,响应数据可以包括一个或多个音频文件,这些音频文件在被渲染时提供音频输出或声波。响应数据内的数据也可以被称为内容项。除了音频内容之外,响应数据还可以包括其他内容(例如,文本、视频或图像内容)。

数据处理系统102可以包括多个逻辑上分组的服务器,并且有助于分布式计算技术。服务器的逻辑组可以被称为数据中心、服务器场或机器场。服务器还可以在地理位置上分散。数据中心或机器场可以被管理为单个实体,或者机器场可以包括多个机器场。每个机器场内的服务器可以是异构的——一个或多个服务器或机器可以根据一种或多种操作系统平台操作。数据处理系统102可以包括存放在一个或多个高密度机架系统中的、数据中心中的服务器以及例如位于企业数据中心中的相关联的存储系统。以这种方式,具有整合的服务器的数据处理系统102可以通过在本地化的高性能网络上定位服务器和高性能存储系统,提高系统的可管理性、数据安全性、系统的物理安全性和系统性能。包括服务器和存储系统并且将它们与高级系统管理工具耦合在一起的所有或一些数据处理系统102组件的集中化允许更有效地利用服务器资源,从而节省了功率和处理需求并且减少了带宽使用。数据处理系统102的每个组件可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、设备或其他逻辑设备,诸如被配置为与数据储存库118以及其他计算设备通信的可编程逻辑阵列。

数据处理系统102可以包括数据储存库118。数据储存库118可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理系统。数据储存库118可以包括计算机数据存储或存储器,并且可以存储一个或多个参数120、一个或多个策略122、响应数据124和模板126等。参数120、策略122和模板126可以包括诸如关于客户端设备128、数据处理系统102和车辆140之间的基于语音的会话的规则的信息。响应数据124可以包括用于音频输出或关联的元数据的内容项,以及可以是与客户端设备128的一个或多个通信会话的一部分的输入音频消息。

可以在客户端设备128或车辆140处安装与数据处理系统102相关联的应用、脚本、程序或其他组件。该应用可以使客户端设备128或车辆140能够将输入音频信号(和其他数据)传送到数据处理系统102的接口104。该应用可以使客户端设备128和车辆140驱动客户端设备128和车辆140的组件以渲染输出音频信号。

数据处理系统的nlp组件106可以接收输入音频信号。数据处理系统102可以从客户端设备128或车辆140接收输入音频信号。第一设备可以执行nlp组件106,并且nlp组件106可以从第二设备接收输入音频信号。例如,车辆140可以执行nlp组件106并且可以从客户端设备128接收输入音频信号。

nlp组件106可以通过将输入音频信号与所存储的代表性音频波形集进行比较并选择最接近的匹配,将输入音频信号转换为识别的文本。可以跨大的输入音频信号集生成代表性波形。一旦输入音频信号被转换成识别的文本,则nlp组件106可以将文本与例如经由学习阶段与动作或输出音频信号相关联的词匹配。

nlp组件106可以从输入音频信号识别至少一个请求或与该请求相对应的至少一个触发或热门关键字。该请求可以指示输入音频信号的意图或主题。该触发关键字可以指示可能采取的动作类型。例如,nlp组件106可以解析输入音频信号以识别打开车窗或跳到音乐播放列表中的下一音频文件的至少一个请求。该触发关键字可以包括指示要采取的动作的至少一个单词、短语、词根或部分单词,或派生词。例如,触发关键字“go”或“ok”或“hey”。"

响应选择器组件114可以从数据储存库118中获取信息,该信息可以存储为响应数据124的一部分。响应选择器组件114可以查询数据储存库118以例如从响应数据124中选择或以其他方式识别响应短语或内容项。

音频信号生成器组件130可以生成或以其他方式获得包括内容项的输出信号。数据处理系统102可以执行音频信号生成器组件110以生成或创建对应于内容项或请求的输出信号。例如,一旦履行请求,信号生成器组件110就可以生成包括短语“theactionwascompleted(动作已完成)”的音频输出信号。

接口104可以是使系统100的组件能够彼此通信的数据接口或网络接口。数据处理系统102的接口104可以经由网络142向客户端设备128或车辆140提供或发送包括动作数据结构、音频信号或其他数据的一个或多个数据分组。例如,数据处理系统102可以将来自数据储存库118或音频信号生成器组件110的输出信号提供给客户端设备128。数据处理系统102还可以经由数据分组传输来指示客户端设备128或车辆140执行动作数据结构中指示的功能。可以从数据处理系统102(或其他计算设备)获得或生成输出信号,或该输出信号变换为一个或多个数据分组(或其他通信协议),或将该输出信号作为一个或多个数据分组(或其他通信协议)从数据处理系统102(或其他计算设备)传送到客户端设备128或车辆140。

数据处理系统102的直接动作api112可以基于例如请求来生成动作数据结构。动作数据结构可以包括用于执行指定动作以满足请求的数据或指令。在一些实施方式中,动作数据结构可以是json格式的数据结构或xml格式的数据结构。

取决于请求中指定的动作,直接动作api112可以执行识别履行该请求所需的参数的代码或对话框脚本。可以响应于请求来生成动作数据结构。动作数据结构可以被包括在发送到客户端设备128或车辆140或由客户端设备128或车辆140接收的消息中。基于由nlp组件106解析的请求,直接动作api112可以确定消息应当被发送到客户端设备128或车辆140中的哪一个。例如,如果输入音频信号包括“openawindow(打开窗户)”,则nlp组件106可以识别动作词“openawindow”。直接动作api112可以将请求打包成用于传送到车辆140的动作数据结构。动作指示api112可以从响应数据124访问车辆id,以确定哪一车辆与生成该请求的用户相关联。一旦接收到,车辆140就可以处理动作数据结构并且打开该车的窗户。

动作数据结构可以包括用于完成该请求的信息。例如,动作数据结构可以是xml或json格式的数据结构,其包括用在完成或以其他方式履行请求中的属性。属性可以包括车辆140的位置、客户端设备128的位置、与客户端设备128相关联的用户的授权级别、车辆标识符、接口标识符、车辆状态或请求状态。在一些实施方式中,请求状态包括在履行动作之前应当满足的一个或多个属性。例如,利用请求“ok,changethesong(好,换首歌曲)”,请求状态可以具有属性{请求者:[授权,乘客]},指示该请求应当是车辆中的明确授权的用户或乘客。

直接动作api112可以从储存库118检索模板126,以确定哪些字段或属性要包括在动作数据结构中。直接动作api112可以确定必要的参数,并且可以将信息打包成动作数据结构。直接动作api112可以从储存库118检索内容以获得关于数据结构的属性的信息。

直接动作api112可以用来自输入音频信号的数据填充字段。直接动作api112还可以用来自数据提供者138、客户端设备128或车辆140的数据填充字段。在一些实施方式中,当填充字段时,直接动作api112可以提示用户提供其他信息。模板126可以针对不同类型的动作标准化,诸如通过车辆的头部单元播放媒体文件、响应消息以及执行车内的功能。在一些实施方式中,动作数据结构可以最初由远程数据处理系统102执行的直接动作api112来生成。远程数据处理系统102可以将动作数据结构发送到车辆140的数据处理系统102,车辆140的数据处理系统102可以向动作数据结构添加字段和属性。

例如,直接动作api112可以从数据储存库118获取响应数据124(或参数120或策略122),以及在终端用户许可下,从客户端用户128接收的数据,以确定位置、时间、用户账户以及逻辑或其他信息,以便从汽车共享服务预订汽车。响应数据124(或参数120或策略122)可以被包含在动作数据结构中。当动作数据结构中包括的内容包括用于认证的终端用户数据时,可以在将数据存储在数据储存库118中之前通过哈希函数传递该数据。

数据处理系统102(或其硬件、处理器或存储器组件)可以包括、接口通信、或以其他方式与验证引擎116通信。验证引擎116可以验证或以其他方式确定是否应当执行或实现与动作数据结构相关联的动作和功能。当验证通过时,验证引擎116可以使请求被履行。验证引擎116可以确定请求者是否有权履行该动作、履行该动作是否安全,或者是否应该履行其他功能来代替所请求的功能或动作。

例如,响应于接收到输入音频信号“ok,openthetrunk(好的,打开后备箱)”,验证引擎116可以确定不打开后备箱,因为车辆140正在沿着道路行驶并且打开后备箱将是不安全的。在另一示例中,响应于接收到输入音频信号“ok,nextsong(好的,下一首歌曲)”,验证引擎116可以确定用户具有改变歌曲的权限并跳到下一首歌曲。验证引擎116可以由客户端设备128、车辆140或其组件执行。例如,当车辆140时,车辆140可以执行验证引擎116的本地实例。在一些实施方式中,当验证引擎116具有与网络142的连接时,车辆140可以将计算工作卸载到远程验证引擎116,并且当车辆140不具有与网络142的连接时,通过验证引擎116的本地实例处理请求。

验证引擎116可以基于来自外部传感器数据的数据,诸如从数据提供者138、客户端设备128的传感器130以及车辆140的传感器130接收的数据来验证动作。验证引擎116还可以基于生成输入音频信号的用户的管理权限来验证动作。验证引擎116可以基于车辆140的车辆状态来验证动作。

验证引擎116可以基于一组传感器数据来确定车辆140的车辆状态。车辆状态可以指示要履行请求的车辆140的当前状态。车辆状态可以指示车辆140是行驶中、停车中还是空转。车辆状态可以指示车辆140的速度。验证引擎116可以使用传感器数据的组合来确定车辆状态。传感器数据的组合可以被用来区分可能具有相似条件的不同状态。例如,在红灯处停车、在停车场中停止、在交通中停止以及在停车场中停放的不同状态可能具有一些相似的条件(例如,车速为0mph),但是可能在每个不同的状态授权不同的功能。例如,当车辆140停放在停车场中时,打开后备箱可能是安全的,但是当车辆140在红灯处停止时,则打开后备箱是不安全的。车辆状态可以包括多个子状态,诸如运动状态、外部环境状态、内部环境状态和设备状态。

运动子状态可以包括诸如当前和平均速度、当前和平均加速度、驾驶模式状态和档位状态的属性。外部环境子状态可以包括诸如外部天气状况(例如,下雨、晴天或下雪)、外部温度、外部天气状况预测和外部温度预测的属性。内部环境子状态可以包括诸如内部温度和内部区域温度的属性。设备子状态可以包括诸如hvac状态(例如,空调打开、空调关闭、加热等)、窗户状态、锁状态、后备箱状态、车门半开状态、天窗状态、加热座椅状态、加热方向盘状态、前灯状态和车内灯状态。

验证引擎116可以基于传感器数据集合来确定车辆状态,该传感器数据可以包括来自客户端设备的传感器130的传感器数据、来自车辆的传感器130的传感器数据、来自数据提供者138的数据或其任意组合。可以从单个传感器确定车辆状态内的属性中的一些(例如,车门半开状态),以及可以从传感器信号的组合确定其他属性(例如,可以从速度数据和档位数据的组合确定运动状态)。

来自客户端设备128的传感器数据可以包括由客户端设备128中的蜂窝塔三角测量或gps接收器确定的位置数据、通过整合位置数据确定的速度数据、加速度数据、账户数据、授权数据或其任意组合。传感器数据可以包括来自一个或多个数据提供者138的数据。数据提供者138可以是基于互联网的数据储存库。数据提供者138可以通过例如api来使其数据可用。数据提供者138可以向验证引擎116提供天气数据、位置数据、事件数据、位置评论数据、预报数据或其任何组合。

验证引擎116可以基于从输入音频文件解析的请求来确定请求状态。验证引擎116可以基于第二传感器数据集合来确定请求状态。可以将第一传感器数据集合和第二传感器数据集合中的数据接收为更新数据信号、向量、数据阵列、标量值或其他格式的数据。请求状态可以包括多个属性,在这些属性下可以执行请求的动作或为履行请求需要这些属性。请求状态可以是动作数据结构的组成部分或从动作数据结构导出。例如,请求“ok,openthetrunk”可以包括具有指示仅当处于停放状态时以及在驾驶员或授权乘客请求时才可以后备箱的属性的请求状态。例如,请求状态可以是{运动状态:停放,请求者:授权乘客}。

用于确定请求状态的第二传感器数据集合可以包括来自第一传感器数据集合的验证引擎116用来确定车辆状态的传感器数据。第二数据集合还可以包括车辆140内的客户端设备128(或与其相关联的用户)的位置。

验证引擎116可以将请求状态与车辆状态进行比较,以确定是否应当执行、实现或进一步处理动作数据结构的动作。例如,车辆状态可以指示车辆140被停放在停车场中、窗户关闭并且外部条件为下雨(例如,{运动状态:停车,窗户:关闭,外部条件:下雨})。例如,在输入音频信号是“ok,openthewindows”的情况下,验证引擎116可以确定该请求的请求状态要求该请求来自授权用户,驾驶属性可以是驾驶或停车,以及天气属性必须是非雨天(例如,{请求者:授权,移动状态:[行驶,停放],外部条件:[晴天,阴天,多云]})。将车辆状态与请求状态进行比较,验证引擎116可以确定车辆状态的外部条件属性与请求状态的外部条件属性不匹配(或不是其元素)。因为状态不匹配,所以验证引擎116可以确定不应该履行请求,因为车辆140的外面正在下雨,并且在下雨时不应当打开窗户。

例如,当验证引擎116确定不应当履行该功能时,验证引擎116可以生成用于确认的请求,该请求经由客户端设备128或车辆140的接口104呈现给用户。确认请求可以询问用户,用户是否要推翻验证引擎的不履行该请求的决定。当验证引擎116确定不应当履行该功能时,验证引擎116可以提出修改动作数据结构。继续上述示例,验证引擎116可以生成基于音频的提示,询问用户是否要展开天窗。

图2示出了车辆140的俯视图,并且示出了车辆140的内饰。车辆140的内饰可以包括多个座椅200。每个座椅200可以包括一个或多个传感器130。传感器130可以是重量或占用传感器。车辆140的内饰可以包括多个扬声器132。车辆140还可以包括头部单元202,其可执行关于数据处理系统102或车辆140描述的一个或多个组件。例如,在用户同意的情况下,扬声器132可以生成亚音频音调204。亚音频音调204可以是由扬声器132渲染的、不在用户可检测的正常频率范围内的音调。系统100可以使用可听音调代替亚音频音调204。头部单元202可以包括车辆140内的数据处理系统的所有组件。例如,主机单元202可以包括被配置为数字音频助手应用的数据处理系统102。

验证引擎116可以确定车辆140内的客户端设备128的相对位置。客户端设备128的位置可以被合并到请求状态或车辆状态的一个或多个属性中。客户端设备128的位置或定位是相对位置,并且可以包括不同级别的分辨率。例如,相对位置可以是与座椅200中的一个有关的区域(例如,客户端设备128(1)与乘客座椅200相关联)、与不同区有关的区域(例如,客户端设备128(1)和128(2)在前区中,而没有客户端设备128在后区中)。

可以使用亚音频音调204来确定车辆140内的客户端设备128的相对位置。还可以基于来自传感器130的传感器数据来确定车辆140内的客户端设备128的相对位置。可以基于亚音频音调和来自传感器130的传感器数据的组合来确定车辆140内的客户端设备128的相对位置。

验证引擎116可以通过确定传输亚音频音调204和由客户端设备128接收亚音频音调204之间的时间差来确定客户端设备128的相对位置。例如,主机单元202可以使扬声器132之一产生亚音频音调204。扬声器132可以在第一时间产生亚音频音调204。离产生亚音频音调204的扬声器132相对更近的客户端设备128将在离产生亚音频音调204的扬声器132相对较远的客户端128之前接收亚音频音调204。例如,如图2所示,客户端设备128(1)将在客户端设备128(2)之前接收亚音频音调204。

一旦客户端设备128接收到或以其他方式检测到亚音频音调204,客户端设备128可以生成接收通知,客户端设备128将该接收通知发送到头部单元202或数据处理系统102。接收通知可以指示扬声器132接收到亚音频音调204的第二时间。可以经由蜂窝网络、车辆140本地的wifi网络或经由蓝牙将接收通知发送到数据处理系统102。验证引擎116可以确定产生亚音频音调204与客户端设备128接收到亚音频音调204时之间的时间长度(例如,在上述示例中,第一时间与第二时间之间的时间差)。不同的扬声器132可以在不同的时间生成不同的亚音频音调204,以使数据处理系统102可以三角测量车辆140内的客户端设备128的位置。

验证引擎116可以基于来自传感器130的数据来确定客户端设备128的位置。传感器130可以是可以确定座椅200是否被占用的重量传感器。例如,当传感器130记录到大于预定阈值的重量时,验证引擎116可以确定座椅200被占用。在一些实施方式中,验证引擎116可以使用亚音频音调204确定客户端设备128在座椅200之一附近。验证引擎116可以基于接收到所确定座椅200的传感器130正在检测重量的传感器数据来确认用户与客户端设备128相关联。传感器数据可以被用来防止用户访问仅对某些区或用户可用的功能。例如,文本消息传送可以在与驾驶员相关联的客户端设备128上被禁用,但是对于与车辆140的其他座椅200中的乘客相关联的客户端设备128被启用。如果驾驶员打算俯身并将其客户端设备128移至乘客座椅200的区域中,则基于亚音频音调204,验证引擎116可以确定客户端设备128与乘客座椅200相关联,并且应该允许生成使用文本消息程序的请求。验证引擎116可以从乘客座椅200中的传感器130接收0磅的重量数据并且确定用户实际上不在乘客座椅200中,并且可能阻止驾驶员的客户端设备128访问文本消息功能。在一些实施方式中,仅在检测到车辆140的门打开和关闭之后,验证引擎116才可以更新车辆140中的客户端设备128的相对位置。

图3示出了用于验证车辆功能的示例方法300。方法300可以包括接收音频信号(框302)。方法300可以包括解析音频信号(框304)。方法300可以包括生成动作数据结构(框306)。方法300可以包括确定车辆状态(框308)。方法300可以包括确定请求状态(框310)。方法300可以包括发送动作数据结构(框312)。

方法300可以包括接收输入音频信号(框302)。数据处理系统可以接收输入音频信号。例如,由数据处理系统执行的nlp组件可以接收输入音频信号。数据处理系统(和nlp组件)可以是客户端设备、车辆的组件或以其他方式由客户端设备、车辆执行,或者可以是独立设备。客户端设备或车辆上的传感器诸如麦克风可以检测输入音频信号,然后相应的客户端设备或车辆可以将输入音频信号发送到数据处理系统。例如,在客户端设备上执行的应用可以检测到用户说“ok,openthesunroof(好的,打开天窗)”。可以将检测到的话语编码为输入音频信号,然后传送到数据处理系统或车辆的nlp组件。

方法300可以包括解析输入音频信号(框304)。nlp组件可以解析输入音频信号,以识别输入音频信号中的请求。nlp组件可以识别与该请求相关联的车辆。nlp组件可以识别与请求和车辆相关联的履行接口。履行接口可以是将执行动作数据结构以履行输入音频信号的请求的客户端设备或车辆中的一个的接口。

在上述示例中,请求可以是打开天窗。在该示例中,履行接口可以是包括天窗的车辆的接口。在一些实施方式中,可以在输入音频信号中明确规定车辆。例如,用户可以给他的车辆指定昵称(例如,用户可以将他的红色toyotacamry命名为“redcar(红色汽车)”)。当明确指出时,输入音频信号可以是“ok,openthesunroofofmyredcar(好的,打开我的红色汽车的天窗)”。在一些实施方式中,数据处理系统可以确定与用户账户关联的哪些车辆可以执行该动作。例如,用户的红色汽车可能包括天窗,而用户的蓝色汽车可能没有。在接收到输入音频信号“ok,openthesunroof.”后,数据处理系统可以自动选择用户的红色汽车。在一些实施方式中,数据处理系统可以要求用户确认车辆。

方法300可以包括生成动作数据结构(框306)。直接动作api可以生成可以由客户端设备或车辆传送和处理的数据结构,以履行输入音频信号的请求。例如,继续以上示例,直接动作api可以生成用于打开用户汽车的天窗的第一动作数据结构。直接动作api可以使用从数据处理系统的数据储存库中检索到的模板来生成动作数据结构。动作数据结构可以包括用于履行请求的字段。例如,对于打开天窗的请求,动作数据结构可以包括用于如果动作数据结构被准许动作数据结构应当被发送至的车辆id的字段(或属性)。

方法300可以包括确定车辆状态(框308)。车辆状态可以包括多个属性。该属性可以识别车辆的当前状态。车辆状态可以包括多个子状态,诸如运动状态、外部环境状态、内部环境状态和设备状态。运动子状态可以包括诸如当前和平均速度、当前和平均加速度、驾驶模式状态和档位状态的属性。外部环境子状态可以包括诸如外部天气状况(例如,下雨、晴天或下雪)、外部温度、外部天气状况预测和外部温度预测的属性。内部环境子状态可以包括诸如内部温度和内部区域温度的属性。设备子状态可以包括诸如hvac状态(例如,空调打开、空调关闭、加热等)、窗户状态、锁状态、后备箱状态、车门半开状态、天窗状态、加热座椅状态、加热方向盘状态和灯光状态。验证引擎可以使用由车辆、客户端设备生成或从数据提供者获取的传感器数据来确定车辆状态。在一些实施方式中,在一个位置处执行的验证引擎可以确定车辆状态并将车辆状态传输到第二验证引擎。例如,在车辆处执行的验证引擎可以确定车辆状态的全部或一部分,然后将车辆状态传输到在远程数据处理系统处执行的验证引擎。

方法300可以包括确定请求状态(框310)。该请求状态可以包括多个属性。请求状态的属性可以指示在完成与动作数据结构相关联的动作完成之前应当履行或满足的一个或多个条件。属性(和请求状态)可以是动作数据结构的组成部分或由动作数据结构导出的。例如,用于打开天窗的请求的动作数据结构可以包括指示应当在哪种外部环境条件下打开天窗的字段。验证引擎可以将外部环境条件合并到请求状态的属性中。请求状态可以包括用户属性。用户属性可以包括与用户相关联的客户端设备的位置或授权状态。该位置可以是车辆内的位置或地理位置(例如,客户端设备位于用户的办公室)。

验证引擎可以使用亚音频音调来确定用户在车辆上的位置。例如,验证引擎可以使车辆内的一个或多个扬声器产生亚音频音调。验证引擎可以通过确定何时在扬声器处播放亚音频音调与客户端设备检测到亚音频音调之间的延迟来确定客户端设备在车辆中的相对位置。可以基于放置在车辆座椅中的重量或占用传感器读数来确定车辆中用户(和客户端设备)的相对位置。

方法300可以发送动作数据结构(框312)。动作数据结构可以被发送到履行接口,该履行接口被配置为执行与动作数据结构相关联的功能。在一些实施方式中,仅当请求状态的一个或多个属性与车辆状态的一个或多个属性匹配时,才将动作数据结构发送到履行接口。例如,确认引擎可以将指示执行功能的要求的请求状态的属性与车辆状态的属性进行比较。例如,打开天窗的请求可以具有外部环境属性要求{外部环境:[晴天,阴天,多云]}。除其他属性外,车辆状态可以包括{外部环境:下雨}。在该示例中,验证引擎可以确定请求状态属性不是车辆状态属性的元素,并且不应当打开天窗,因为车辆位置处正在下雨。当验证引擎确定请求状态属性和车辆状态属性之间存在不匹配时,验证引擎可以修改动作数据结构。例如,响应于确定由于下雨不应当打开天窗,验证引擎可以修改动作数据结构以打开车辆的hvac。验证引擎可以生成提示,询问用户是否希望修改动作数据结构。例如,数据处理系统可能会生成提示“ididnotopenthesunroofbecauseitisraining.wouldyoulikemetoturnontheacinstead?(由于下雨,我没有打开天窗。您想让我代替地打开ac吗?)"

验证引擎可以确定请求状态属性和车辆状态属性之间存在不匹配。数据处理系统可以生成通知,通知用户该请求尚未完成。该通知可以包括请求未完成的原因。在一些实施方式中,如果验证引擎未找到匹配,则验证引擎丢弃动作数据结构,并且不将动作数据结构传输到履行接口。

例如,当验证引擎确定请求状态属性和车辆状态属性之间存在匹配时,验证引擎可以将动作数据结构传输到履行接口以执行与动作数据结构相关联的功能。例如,为了打开天窗,可以将动作数据结构发送到车辆的头部单元,其可以执行应用来控制电动机,该电动机控制天窗的位置。在一些实施方式中,数据处理系统可以发送功能已完成的确认。例如,可以将基于文本或基于音频的输出信号发送到客户端设备以指示天窗被打开。

图4是示例计算机系统400的框图。计算机系统或计算设备400可以包括或用于实现系统100或其组件,诸如数据处理系统102。计算系统400包括总线405或用于传送信息的其他通信组件以及耦合到总线405以处理信息的处理器410或处理电路。计算系统400还可以包括耦合到总线的一个或多个处理器410或处理电路以处理信息。计算系统400还包括主存储器415,诸如随机存取存储器(ram)或其他动态存储设备,其耦合到总线405以存储信息,以及要由处理器410执行的指令。主存储器415可以是或包括数据储存库118。主存储器415还可以被用于在处理器410执行指令期间存储位置信息、临时变量或其他中间信息。计算系统400可以进一步包括只读存储器(rom)420或者其他静态存储设备,其耦合到总线405以存储用于处理器410的静态信息和指令。存储设备425诸如固态设备、磁盘或光盘可以耦合到总线405以持久存储信息和指令。存储设备425可以包括数据储存库118或者是数据储存库118的一部分。

计算系统400可以经由总线405耦合到显示器435诸如液晶显示器或有源矩阵显示器以向用户显示信息。输入设备430诸如包括字母数字键和其他键的键盘可以耦合到总线405,用于将信息和命令选择传送到处理器410。输入设备430可以包括触摸屏显示器435。输入设备430还可以包括光标控制,诸如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择传送到处理器410并用于控制显示器435上的光标移动。例如,显示器435可以是图1的数据处理系统102、客户端计算设备128或其他组件的一部分。

本文描述的过程、系统和方法可以由计算系统400响应于处理器410执行包含在主存储器415中的指令的布置来实现。这样的指令可以从另一计算机可读介质诸如存储设备425读入主存储器415中。执行包含在主存储器415中的指令的布置使得计算系统400执行本文描述的示例性过程。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器415中的指令。可以使用硬连线电路,代替软件指令或与软件指令连同本文所述的系统和方法结合。本文描述的系统和方法不限于硬件电路和软件的任何特定组合。

尽管图4中已经描述了示例计算系统,但是包括本说明书中描述的操作的主题可以以其他类型的数字电子电路,或者以计算机软件、固件或硬件包括本说明书中公开的结构及其结构等同物或者它们中的一个或多个的组合实现。

对于本文讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况,可以向用户提供机会以控制程序或功能部件是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)或控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更相关的内容。另外,某些数据可以在存储或使用之前以一种或多种方式匿名化,以便在生成参数时移除个人可识别信息。例如,用户的身份可以匿名化,以便不能确定用户的个人可识别信息,或者可以概括获得位置信息的用户的地理位置(例如,到市、邮政编码或州级),以便不能确定用户的具体位置。因此,用户可以控制内容服务器如何收集并且使用关于他或她的信息。

本说明书中描述的主题和操作可以以数字电子电路,或者以计算机软件、固件或硬件包括本说明书中公开的结构及其结构等同物或者它们中的一个或多个的组合实现。本说明书中描述的主题可以实现为一个或多个计算机程序,例如编码在一个或多个计算机存储介质上的计算机程序指令的一个或多个电路,用于由数据处理装置执行或控制数据处理装置的操作。替选或附加地,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或可以被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备,或者它们的一个或多个的组合中。虽然计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是或可以被包括在一个或多个单独的组件或介质(例如,多个cd、磁盘或其他存储设备)中。本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。

术语“数据处理系统”“计算设备”“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,包括举例来说,可编程处理器、计算机、片上系统、或多个片上系统,或前述的组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所述的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。系统100的组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。

计算机程序(也称为程序、软件、软件应用、应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其他单元。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、存储在专用于所述的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序(例如,数据处理系统102的组件)的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和cdrom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

本文描述的主题可以在包括后端组件(例如作为数据服务器)或者包括中间件组件(例如应用服务器)或者包括前端组件(例如,具有通过其用户可以与本说明书中描述的主题的实施方式进行交互的图形用户界面或web浏览器的客户端计算机)或者一个或多个这样的后端、中间件或前端组件的组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网络间(例如,互联网)和对等网络(例如,adhoc对等网络)。

诸如系统100或系统400的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络(例如,网络142)进行交互。客户端和服务器的关系通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而生成。在一些实施方式中,服务器将数据(例如,表示内容项的数据分组)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据或从其接收用户输入)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统102从客户端计算设备128或车辆140接收)。

虽然在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或按顺序执行这些操作,并且不需要执行所有示出的操作。本文描述的动作可以以不同的顺序执行。

各种系统组件的分离不需要在所有实施方式中均要求分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,nlp组件106和验证引擎116可以是单个组件、应用或程序,或具有一个或多个处理电路的逻辑设备,或者数据处理系统102的一个或多个服务器的一部分。

现在已经描述了一些示例性实施方式,显而易见的是,前述内容是示例性的而非限制性的,已经通过示例呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是这些动作和那些元件可以以其他方式组合以实现相同的目标。结合一个实施方式讨论的动作、元件和特征不旨在从其他实施方式中的类似角色中排除。

本文使用的措辞和术语是出于描述的目的,不应当被视为限制。使用“包括”、“包含”、“具有”、“含有”、“涉及”、“特征在于”、“表征为”及其变形意味着涵盖其后列出的项、其等同物和附加项,以及由其后列出的项组成的替代实施方式。在一个实施方式中,本文描述的系统和方法包括一个、多于一个的每个组合或所有所描述的元件、动作或组件。

以单数形式提及的对本文的系统和方法的实施方式、元件或动作的任何引用也可以涵盖包括多个这些元件的实施方式,并且对本文的任何实施方式、元件或动作的以复数形式的任何引用也可以涵盖仅包括一个元件的实施方式。以单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限定到单个或多个配置。对基于任何信息、动作或元件的任何动作或元件的引用可以包括动作或元件至少部分地基于任何信息、动作或元件的实施方式。

本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用不一定是相互排斥的并且旨在指示结合实施方式描述的特定特征、结构或特性可以包括在至少一个实施方式或实施例中。本文使用的这些术语不一定都指的是相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含或排他地与任何其他实施方式组合。

对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所描述的术语中的任何一个。对“a”和“b”中的至少一个的引用可以仅包括“a”、仅包括“b”、以及“a”和“b”。与“包括”或其他开放术语结合使用的此类引用可以包括另外的项。

在附图、详细说明或任何权利要求中的技术特征之后是附图标记的情况下,已经包括附图标记以增加附图、详细说明和权利要求的可懂度。因此,附图标记和它们的缺失都不会对任何权利要求元素的范围具有任何限制作用。

在不脱离其特性的情况下,本文描述的系统和方法可以以其他特定形式实现。前述实施方式是示例性的而不是限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述指示,并且在此涵盖在权利要求的等同物的含义和范围内的变化。

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