首页> 中国专利> 上下文感知导航语音助手

上下文感知导航语音助手

摘要

为了提供上下文感知音频导航指令,服务器设备获得先前提供给用户的音频导航指令的集合,以及描述在其中提供了音频导航指令的上下文的传感器数据以及驾驶员是否正确响应音频导航指令的指示。服务器设备使用该数据训练机器学习模型,其中机器学习模型为特定上下文识别音频导航指令参数。响应于针对导航方向的请求,服务器设备从生成请求的客户端计算设备接收指示客户端计算设备周围的环境的传感器数据。然后,服务器设备将传感器数据和导航指令应用于机器学习模型,以生成响应于请求的一组音频导航指令。服务器设备向客户端计算设备提供该组音频导航指令。

著录项

  • 公开/公告号CN112368547A

    专利类型发明专利

  • 公开/公告日2021-02-12

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201880095260.8

  • 发明设计人 M.帕德吉梅特;S.E.加扎尔;

    申请日2018-11-02

  • 分类号G01C21/36(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:52:39

说明书

技术领域

本公开涉及上下文感知音频导航指令,更具体地,涉及使用机器学习技术基于上下文识别用于音频导航指令的最优参数。

背景技术

这里提供的背景描述是为了概括地呈现本公开的上下文的目的。在本背景部分中描述的程度内的当前命名的发明人的作品以及另外在提交时可能不具有作为现有技术的资格的描述的方面,对于本公开,既不明确地也不暗示地承认为现有技术。

今天,在计算机、智能电话等或嵌入式设备中运行的软件应用一步步生成导航方向。通常,用户指定起始点和目的地,并且软件应用立即和/或随着用户从起始点行进到目的地以音频格式显示和/或呈现方向。

这些软件应用通常利用距离、街道名称、建筑编号的指示,基于路线生成导航方向。例如,这些系统可以向驾驶员提供如“继续前进四分之一英里,然后右转进入枫树街”这样的指令。

发明内容

为了生成上下文感知音频导航指令,上下文感知音频导航生成系统利用机器学习技术,基于用户过去的对给定上下文的音频导航方向的体验生成机器学习模型。例如,在一个实例中,当收音机播放得太大声或卡车经过时,用户可能不能够遵循音频导航指令。在另一个实例中,当由于夜晚的时间和/或天气条件,用于即将到来的机动的路标难以看到或能见度很差时,用户可能不能够遵循音频导航指令。

因此,上下文感知音频导航生成系统收集提供给用户的音频导航指令的集合以及来自其中提供了音频导航指令的车辆中的传感器的上下文数据。对于提供给用户的每个音频导航指令,上下文感知音频导航生成系统收集用户是否正确遵循音频导航指令的指示。然后将该信息用作训练机器学习模型的训练数据,以为特定上下文识别最优音频导航指令参数。例如,当车辆中的噪声是低的、交通是通畅的、由于白天的时间或天气条件能见度是差的时,机器学习模型可以确定应该以低音量并且以高级别的细节将音频导航指令呈现两次,诸如“在500英尺内,在刚经过主街道上的红绿灯时立即左转”以及“在100英尺内,在刚经过主街道上的红绿灯时立即左转”。

当用户请求导航方向时,上下文感知音频导航生成系统生成一组逐段(turn-by-turn)导航指令,并从用户的车辆获取指示上下文的传感器数据。对于每个基于文本的导航指令,上下文感知音频导航生成系统将传感器数据和基于文本的导航指令应用于机器学习模型以生成音频导航指令参数,诸如用于呈现音频导航指令的细节的级别、定时和/或音量。然后,上下文感知音频导航生成系统根据所确定的音频导航指令参数向用户呈现每个音频导航指令。

本公开的技术的一个示例实施例是用于在车辆中生成上下文感知音频导航指令的方法。该方法包括使用(i)车辆中的多个传感器信号(多个传感器信号描述在其中提供了音频导航指令的上下文)以及(ii)驾驶员是否正确地响应音频导航指令的指示,来训练机器学习模型,以及确定要提供给驾驶员的导航指令。该方法还包括基于所确定的导航指令来生成音频导航指令,包括接收一个或多个传感器信号,并将机器学习模型应用于所确定的导航指令和所接收的一个或多个传感器信号,以生成以下中的至少一个:(i)音频导航指令的细节的级别,(ii)提供音频导航指令的定时,或(iii)音频导航指令的音量。此外,该方法包括经由扬声器向驾驶员提供用于呈现的音频导航指令。

另一示例实施例是用于在车辆中生成上下文感知音频导航指令的服务器设备,其中服务器设备包括一个或多个处理器和耦合到一个或多个处理器并在其上存储指令的非暂时性计算机可读存储器。当由一个或多个处理器运行指令时,所述指令使得服务器设备使用(i)车辆中的多个传感器信号(所述传感器信号描述在其中提供了音频导航指令的上下文)以及(ii)驾驶员是否正确地响应音频导航指令的指示,来训练机器学习模型。指令还使得服务器设备确定要提供给驾驶员的导航指令,基于所确定的导航指令生成音频导航指令,包括接收一个或多个传感器信号,并将机器学习模型应用于所确定的导航指令和所接收的一个或多个传感器信号,以生成以下中的至少一个:(i)音频导航指令的细节的级别,(ii)提供音频导航指令的定时,或(iii)音频导航指令的音量。此外,指令还使得服务器设备经由扬声器向驾驶员提供用于呈现的音频导航指令。

又一个示例实施例是用于在车辆中呈现上下文感知音频导航指令的客户端设备,其中客户端设备包括一个或多个处理器和耦合到一个或多个处理器并在其上存储指令的非暂时性计算机可读存储器。当由一个或多个处理器运行指令时,所述指令在第一实例中使得客户端设备:提供对从第一起始位置到第一目的地的导航方向的请求,提供车辆中的第一组传感器信号,接收包括将以特定定时或音量呈现的具有特定级别的细节的第一音频导航指令的第一组音频导航指令,并经由扬声器呈现第一组音频导航指令。在第二实例中,指令使得客户端设备提供对从第二起始位置到第二目的地的导航方向的请求,提供车辆中的第二组传感器信号,接收包括第一音频导航指令的第二组音频导航指令,该第一音频导航指令具有与在第一实例中相同的朝向、位置或机动,并且具有与在第一实例中不同的细节的级别或其中第一音频导航指令将以与在第一实例中不同的定时或音量呈现,并且经由扬声器呈现第二组音频导航指令。

附图说明

图1示出其中本公开的技术可以用于生成上下文感知音频导航指令的示例车辆;

图2是其中可以实施用于使用机器学习技术生成上下文感知音频导航指令的技术的示例系统的框图;

图3是示例导航指令数据表,图2的上下文感知音频导航生成系统可以利用其生成用于为特定上下文识别音频导航指令参数的机器学习模型;

图4是示出使用机器学习模型生成上下文感知音频导航指令的组合的框图和逻辑图;

图5是用于在车辆中生成上下文感知音频导航指令的示例方法的流程图,该方法可以在操作于上下文感知音频导航生成系统中或与上下文感知音频导航生成系统协作的计算设备中实施;以及

图6是用于在车辆中呈现上下文感知音频导航指令的示例方法的流程图,该方法可以在操作于上下文感知音频导航生成系统中或与上下文感知音频导航生成系统协作的计算设备中实施。

具体实施方式

概述

车载导航系统提供的音频指令通常必须是信息性的,并为要遵循的路线提供足够的指示,但不必分散收听者的注意力,特别是驾驶员。随着环境的变化,然后用于这种音频指令的最优参数也可能变化。环境可以在相对短的时间范围上变化,因此参数可以变化的速度可能是重要的。此外,用户,特别是驾驶员,可能被限制在他们可以执行的手动输入操作的范围内,使得音频参数的手动调整可能是不期望的。因此,改进的系统用户音频接口可以是有益的。

在一些实施例中,可以利用传感器来提供在其中供应了音频导航指令的上下文的指示。作为示例,用于检测噪声的音频传感器可以用于以背景噪声(诸如交通噪声、谈话、音乐播放等)的形式提供上下文。作为另一个示例,可以获得交通数据和/或确定天气条件以及一天中的时间以提供关于车辆周围的交通和天气的上下文,这可以指示驾驶员现在必须给予驾驶的注意力,这反过来可以影响驾驶员可以给予音频导航指令的注意力。在一些实施例中,可以应用机器学习模型以根据从传感器导出的上下文确定音频导航指令的参数来适配由扬声器或其他音频系统输出的音频指令。这可以导致扬声器或其他音频系统输出的音频导航指令动态地并且自动地适配用于动态变化的当前上下文,而不会给用户带来不适当的负担和/或没有不适当的滞后。

在实施例中,可以确定驾驶员是否正确地响应音频导航指令的指示(例如,基于车辆相对于根据导航方向的预期的位置的位置),该指示可与相关联的传感器信号一起用于训练机器学习模型。这可以允许动态地更新模型,这可以改进音频导航指令的参数的自动适配,特别是涉及其中曝光了特定导航系统的上下文。

示例硬件和软件组件

参考图1,可以实施上面概述的技术的示例环境1包括便携式设备10和具有头部单元(head unit)14的车辆12。例如,便携式设备10可以是智能电话、平板计算机或车载导航系统。便携式设备10经由通信链路16与车辆12的头部单元14通信,该通信链路16可以是有线的(例如,通用串行总线(USB))或无线的(例如,蓝牙、Wi-Fi直连)。便携式设备10还可以经由诸如第四代或第三代蜂窝网络(分别为4G或3G)的无线通信网络与各种内容提供商、服务器等通信。

头部单元14可以包括显示器18,用于显示诸如数字地图的导航信息。在一些实施方式中,显示器18是触摸屏幕,并且包括用于输入文本输入的软件键盘,文本输入可以包括目的地的名称或地址、原点等。在头部单元14和方向盘上的硬件输入控件20和22分别可用于输入字母数字字符或执行用于请求导航方向的其他功能。例如,头部单元14还可以包括诸如麦克风24和扬声器26的音频输入和输出部件。扬声器26可用于播放从便携式设备10发送的音频指令。

图2示出了其中可以实施上下文感知音频导航生成系统的示例通信系统100。通信系统100包括被配置为运行地理应用122的客户端计算设备10,该地理应用122也可以被称为“地图应用122”。根据实施方式,应用122可以显示交互式数字地图,请求和接收路线数据以提供驾驶、行走、或包括音频导航方向的其它导航方向,提供各种地理定位内容等。客户端计算设备10可以在导航到各种位置时由用户(这里也指代为“驾驶员”)操作显示数字地图。

除了客户端计算设备10之外,通信系统100包括服务器设备60,服务器设备60被配置成向客户端设备10提供上下文感知音频导航指令。服务器设备60可以通信地耦合到数据库80,在示例实施方式中,数据库80除了用于训练机器学习模型的训练数据之外存储用于生成音频导航指令的机器学习模型。训练数据可以包括提供给用户的音频导航指令的集合,音频导航指令的集合包括用于每个音频导航指令的参数,诸如用于音频导航指令的细节的级别、音频导航指令的定时、音频导航指令的音量等。此外,对于每个音频导航指令,训练数据可以包括来自接收到音频导航指令的用户的车辆的传感器数据。传感器数据可以描述在其中提供了音频导航指令的上下文。传感器数据可包括围绕用户的车辆的区域的交通数据、能见度数据(诸如一天中的时间)、围绕用户的车辆的区域的天气数据和/或当呈现音频导航指令时指示用户的当前位置的位置数据、指示车辆中或车辆周围的噪声级别的音频数据(诸如车辆内的背景音乐或谈话、街道噪声、喇叭声、电话铃声等)。此外,对于每个音频导航指令,训练数据可以包括用户是否正确地遵循或响应音频导航指令的指示和/或关于用户对音频导航指令的满意度的自我报告指示。下面参考图3进一步详细描述训练数据。

更一般地,服务器设备60可以与一个或若干数据库通信,该一个或若干个数据库存储任何类型的合适的地理空间信息或可以链接到地理上下文的信息。通信系统100还可以包括导航数据服务器34,例如,导航数据服务器34提供驾驶、行走、骑自行车或公共运输方向。另外,通信系统100可以包括地图数据服务器50,地图数据服务器50向服务器设备60提供地图数据用于生成地图显示。在通信系统100中操作的设备可以经由通信网络30互连。

在各种实施方式中,客户端计算设备10可以是智能电话或平板计算机。客户端计算设备10可以包括存储器120、一个或多个处理器(CPU)116、图形处理单元(GPU)112、包括麦克风和扬声器的I/O模块14、用户接口(UI)32以及包括全球定位服务(GPS)模块的一个或多个传感器19。存储器120可以是非瞬时性存储器,并且可以包括一个或若干合适的存储器模块,诸如随机存取存储器(RAM)、只读存储器(ROM)、闪存、其它类型的持久存储器等。例如,I/O模块114可以是触摸屏。在各种实施方式中,客户端计算设备10可以包括比图2中所示的更少的组件,或者相反地,包括附加组件。在其它实施例中,客户端计算设备10可以是任何合适的便携式或非便携式计算设备。例如,客户端计算设备10可以是膝上型计算机、桌上型计算机、诸如智能手表或智能眼镜的可穿戴设备等。

存储器120存储操作系统(OS)126,操作系统(OS)126可以是任何类型的合适的移动或通用操作系统。OS 126可以包括应用编程接口(API)函数,其允许应用检索传感器读数。例如,被配置为在计算设备10上运行的软件应用可以包括调用OS 126API用于在那一时刻检索客户端计算设备10的当前位置的指令。API还可以返回API对估计的确定程度的定量指示(例如,作为百分比)。

存储器120还存储地图应用122,其被配置成生成交互式数字地图和/或执行其它地理功能,如上面指示的。地图应用122可以接收导航指令、音频导航指令和/或音频导航指令参数,并根据音频导航指令参数经由导航显示器124呈现音频导航指令。地图应用122还可以显示驾驶、行走或运输方向,并且通常经由导航显示器124提供与地理、地理位置、导航等相关的功能。

注意,尽管图2将地图应用122示出为独立的应用,地图应用122的功能还可以以可经由运行在客户端计算设备10上的web浏览器访问的在线服务的形式提供,如用于运行在客户端计算设备10上的另一软件应用的插件或扩展等。通常可以以不同的版本为不同的相应操作系统提供地图应用122。例如,客户端计算设备10的制造商可以提供包括用于Android

在一些实施方式中,服务器设备60包括一个或多个处理器62和存储器64。存储器64可以是有形的、非瞬时性存储器,并且可以包括任何类型的合适的存储器模块,包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、其它类型的持久存储器等。存储器64存储可以在组成上下文感知音频导航生成器68的处理器62上运行的指令,上下文感知音频导航生成器68可以生成用于为特定上下文识别音频导航指令参数的机器学习模型。上下文感知音频导航生成器68还可以接收针对用户从起始位置到目的地的导航方向的请求以及描述围绕用户的外部环境的上下文的传感器数据。上下文感知音频导航生成器68然后可以检索基于文本的导航指令,并将基于文本的导航指令和传感器数据应用于机器学习模型以生成音频导航指令。此外,上下文感知音频导航生成器68可以向客户端计算设备10提供音频导航指令,然后音频导航指令通过导航显示器124经由扬声器26呈现。在一些实施例中,上下文感知音频导航生成器68包括下面更详细描述的机器学习引擎。

上下文感知音频导航生成器68和导航显示器124可以作为上下文感知音频导航生成系统的组件来操作。可替代地,上下文感知音频导航生成系统可以仅包括服务器端组件,并且仅仅向导航显示器124提供指令以呈现音频导航指令。换句话说,这些实施例中的上下文感知音频导航生成技术可以对导航显示器124透明地实施。作为另一替代,上下文感知音频导航生成器68的整个功能可以在导航显示器124中实施。

为了简单,图2将服务器设备60示出为服务器的仅仅一个实例。然而,根据一些实施方式的服务器设备60包括一个或多个服务器设备的组,每个服务器设备配备有一个或多个处理器,并且能够独立于其他服务器设备操作。在这样的组中操作的服务器设备可以以分布式方式或者根据任何其他合适的技术单独地(例如,基于可用性)处理来自组织/广告商计算设备10的请求,在分布式方式中在一个服务器设备上执行与处理请求相关联的一个操作,而同时在另一个服务器设备上执行与处理相同请求相关联的另一个操作。为了这个讨论的目的,术语“服务器设备”可以指代单独的服务器设备或两个或更多个服务器设备的组。

在操作中,在客户端计算设备10中操作的导航显示器124接收并将数据发送到服务器设备60。因此,在一个示例中,客户端计算设备10可以向上下文感知音频导航生成器68(在服务器设备60中实施的)发送通信,该通信包括指示围绕客户端计算设备10的环境的传感器数据以及请求从起始位置到目的地的导航方向。因此,上下文感知音频导航生成器68可以将请求中包括的数据应用于机器学习模型以生成一组音频导航指令,该机器学习模型用于为特定上下文识别音频导航指令参数。

例如,用户可以请求从用户的当前位置到特定餐馆的导航方向。客户端计算设备10还可以向服务器设备60提供传感器数据,传感器数据包括具有通畅交通的白天、晴朗的天气和由于街道噪声的高噪声级别的指示。结果,上下文感知音频导航生成器68可以确定第一音频导航指令应该具有低级别的细节,并且应该以高音量呈现三次。上下文感知音频导航生成器68然后可以生成第一音频导航指令,如“在X英尺内,在主街道上右转”,随着用户接近主街道,该第一音频导航指令被呈现三次(每次以高音量),X是从用户的当前位置到主街道的更新距离。

上下文感知音频导航生成器68可以向客户端计算设备10提供第一音频导航指令和/或音频导航指令参数。客户端计算设备10然后可以经由扬声器26呈现第一音频导航指令。在一些实施例中,上下文感知音频导航生成器68单独地生成并向客户端计算设备10提供每个音频导航指令。在其他实施例中,上下文感知音频导航生成器68生成并向客户端计算设备10提供一组基于文本的导航指令。然后,对于每个基于文本的导航指令,上下文感知音频导航生成器68从客户端计算设备10接收传感器数据,以及生成并向客户端计算设备10提供用于基于文本的导航指令的音频导航指令参数。结果,客户端计算设备10根据音频导航指令参数生成并呈现音频导航指令。

同样在一些实施例中,上下文感知音频导航生成器68生成并向客户端计算设备10提供包括相同导航指令的多个版本的一组基于文本的导航指令(例如,处于低级别的细节的导航指令的第一版本,处于中级别的细节的导航指令的第二版本,处于高级别的细节的导航指令的第三版本)。然后,对于每个导航指令,上下文感知音频导航生成器68生成并向客户端计算设备10提供用于导航指令的音频导航指令参数。结果,客户端计算设备10呈现对应于音频导航指令参数的导航指令的版本。

为了生成用于为特定上下文识别音频导航指令参数的机器学习模型,上下文感知音频导航生成器68获得训练数据,训练数据包括先前提供给用户的音频导航指令的集合和/或用于先前提供给用户的每个音频导航指令的音频导航指令参数。

例如,选择共享位置数据和/或其他用户数据的选项的用户可以发送由他们的相应客户端计算设备10呈现的音频导航指令集合\以及当呈现音频导航指令时收集的来自他们的相应客户端计算设备10的传感器数据。对于每个音频导航指令,传感器数据可以包括当呈现音频导航指令时的交通量、当呈现音频导航指令时的一天中的时间、当呈现音频导航指令时的天气条件、当呈现音频导航指令时的噪声级别、当呈现音频导航指令时用户的当前位置等。在一些实施例中,客户端计算设备10分别经由包括在客户端计算设备10中的时钟和麦克风来确定一天中的时间和噪声级别。为了确定天气,客户端计算设备10可以包括雨水传感器,或者可以与诸如国家气象局的外部服务通信。例如,客户端计算设备10可以与GPS模块通信以获得当前位置,并向国家气象局发送对包括当前位置的区域的天气数据的请求。同样地,为了确定交通量,客户端计算设备10可以与GPS模块通信以获得当前位置,并向交通局发送对包括当前位置的区域的交通数据的请求。

在任何情况下,对于呈现的每个音频导航指令,上下文感知音频导航生成器68获取传感器数据和用户是否正确地遵循了音频导航指令的指示。例如,如果地图应用122因为在音频导航指令被呈现之后用户的当前位置不同于原始路线的路径而生成新路线,上下文感知音频导航生成器68可以接收用户没有正确地遵循音频导航指令的指示。同样在一些实施例中,上下文感知音频导航生成器68可以获得关于用户对音频导航指令的满意度的自报告指示作为附加训练数据。例如,地图应用122可以包括用于指示对音频导航指令不满意的用户控件和/或用于用户解释其不满意的文本栏。以这种方式,机器学习模型可以生成更容易被遵循而不太可能烦扰或干扰用户的音频导航指令。

音频导航指令的集合、音频导航指令参数、传感器数据以及用户是否正确地遵循了音频导航指令和/或是否对音频导航指令满意的指示可以被提供作为用于使用机器学习技术生成机器学习模型的训练数据。在一些实施例中,可以为每个音频导航指令参数生成单独的机器学习模型。例如,可以生成一个机器学习模型用于确定音频导航指令的细节的级别。可以生成另一机器学习模型用于确定提供音频导航指令的定时。还可以生成另一个机器学习模型用于确定音频导航指令的音量。

用于生成机器学习模型的示例训练数据

图3示出可以用于生成机器学习模型的示例训练数据300。在一些实施例中,训练数据300可以存储在数据库80中。训练数据300可以包括三部分:音频导航指令参数310、来自传感器数据的上下文信号320以及驾驶员对音频导航指令的响应330。音频导航指令参数310可以包括音频导航指令的细节的级别302、音频导航指令的定时304以及导航指令的音量306。细节的级别可以是高、中或低,其中处于低级别的细节的音频导航指令包括,例如,机动(例如,“左转”)和作为用于机动的位置的街道名称(例如,州立大街)。在一些实施例中,处于低级别的细节的音频导航指令不包括描述从用户的当前位置到用于机动的位置的距离的组件(例如,“在500英尺内”)。处于中级别的细节的音频导航指令包括,例如,机动(例如,“左转”)、作为用于机动的位置的街道名称或交叉口(例如,州立大街)、以及描述从用户当前的位置到用于机动的位置的距离的组件(例如,“在500英尺内”)。处于高级别的细节的音频导航指令包括,例如,作为用于机动的位置的地标(例如,“在乔餐厅右转”)、与用于机动的位置相关的交通信号的描述(例如,“在1000英尺内,经过两个红绿灯后,左转进入州立大街”,“在靠近吉姆修理厂的下一个停车标志处稍微向右拐”)、描述直到用户到达用于机动的位置的估计时间量的组件(例如,“在500英尺内或大约30秒后,左转”)、这些的任何合适的组合或包括比中级别的细节更多细节的任何合适的音频导航指令。

音频导航指令304的定时可以指示音频导航指令304的多个实例(例如,类似的音频导航指令304的多个实例,其包括相同的机动和位置、但随着驾驶员接近该位置会发生变化的到该位置的距离或估计时间量)被呈现的次数或频率。音频导航指令304的定时还可以指示何时呈现(多个)音频导航指令304,诸如当用户处于前一个机动的位置和下一个机动的位置的中间时。音量306可以以分贝(dB)指示或分类为低音量(例如,低于第一阈值分贝量)、中音量(例如,在第一阈值分贝量和高于第一阈值分贝量的第二阈值分贝量之间)、高音量(例如,高于第二阈值分贝量)等。

来自传感器数据320的上下文信号可以包括可见度数据,诸如在其中提供音频导航指令的位置308、天气条件314以及一天中的时间316。在某些位置,一个路标可能被遮挡,可能在一个难以看到的位置,或者可能被紧密接近另一路标放置,因此导致用户以为用于机动的街道较远。尽管数据表300中的位置列308包括GPS坐标,位置可以是交叉口、街道地址或任何其他合适的位置。此外,一天中的时间316可以包括提供音频导航指令的确切时间(例如,下午9:15),或者可以包括时间范围,诸如上午、下午、晚上和夜间。

来自传感器数据320的上下文信号还可以包括分类为通畅交通、中等交通或拥堵交通的交通数据312。例如,道路的通畅交通可以指示道路上的车辆正在以或高于速度限制行进。道路的中等交通可以指示道路上的车辆正在在低于速度限制的临界速度(例如,在速度限制的5-10mph内)内行进。道路的拥堵交通可以指示道路上的车辆正在低于临界速度(例如小于5-10mph)行进。

此外,来自传感器数据320的上下文信号可以包括指示车辆中或周围的噪声级别的音频数据318,诸如车辆中的背景音乐或谈话、街道噪声、喇叭声、电话铃声等。噪声318可以以分贝(dB)指示或分类为安静(例如,低于第一阈值分贝量)、中等(例如,在第一阈值分贝量和高于第一阈值分贝量的第二阈值分贝量之间)、喧闹(例如,高于第二阈值分贝量)等。在一些实施例中,音频数据318还可以包括噪声源的指示,诸如无线电或其他音乐播放、街道噪声等。尽管示例训练数据300包括位置数据308、交通数据312、天气数据314、一天中的时间316以及音频数据318作为上下文信号320,这些只是仅仅为了说明的方便的上下文信号的一些示例。指示围绕客户端计算设备10的环境的任何合适的传感器数据可以被用作上下文信号320。

除了音频导航指令参数310和来自传感器数据320的上下文信号之外,训练数据300还可以包括指示驾驶员的对音频导航指令的响应的数据330。指示驾驶员的对音频导航指令的响应的数据330可以包括驾驶员是否正确地遵循了音频导航指令320的指示。例如,如果地图应用122因为在音频导航指令被呈现之后用户的当前位置不同于原始路线的路径而生成新路线,上下文感知音频导航生成器68可以接收用户没有正确地遵循音频导航指令的指示。指示驾驶员的对音频导航指令的响应的数据330还可以包括关于对音频导航指令的满意度的自报告指示322。例如,地图应用122可以包括用于指示对音频导航指令不满意的用户控件和/或用于用户解释其不满意的文本栏。

为了生成机器学习模型,上下文感知音频导航生成器68可以将训练数据300的子集分类为对应于驾驶员正确响应/满意的音频导航指令,或者对应于驾驶员没有正确响应或不满意的音频导航指令。例如,训练数据300的第一行(在喧闹环境中的具有晴朗天气的上午期间在拥堵交通中提供,具有高级别的细节,该高级别的细节在具有GPS坐标8.501、47.363的位置以低音量播放一次)可以被分类为对应于驾驶员正确响应/满意的音频导航指令。训练数据300的第四行(在安静环境中的具有阴天条件的夜间在通畅交通中提供,具有低级别的细节,该低级别的细节在具有GPS坐标8.524、47.365的位置以高音量播放三次)可被分类为对应于驾驶员没有正确响应的音频导航指令。

然后,上下文感知音频导航生成器68可以分析第一和第二子集以生成机器学习模型。可以使用各种机器学习技术(诸如回归分析(例如,逻辑回归、线性回归或多项式回归)、k-最近邻、决策树、随机森林、提升、神经网络、支持向量机、深度学习、强化学习,贝叶斯网络等)来生成机器学习模型。在一些实施例中,上下文感知音频导航生成器68可以生成用于为音频导航指令确定细节的级别的第一机器学习模型。上下文感知音频导航生成器68可以生成用于确定提供音频导航指令的定时的第二机器学习模型和用于为音频导航指令确定音量的第三机器学习模型。

例如,用于确定提供音频导航指令的定时的机器学习模型可以是使用普通最小二乘法生成的线性回归模型。基于对第一和第二子集的分析,上下文感知音频导航生成器68可以确定用于音频导航指令的频率与交通量是负相关的,并且与诸如雨、雪或雾的恶劣天气条件是正相关的。此外,用于确定音频导航指令的音量的机器学习模型也可以是使用普通最小二乘法生成的线性回归模型。

在另一示例中,用于为音频导航指令确定细节的级别的机器学习模型可以是支持向量机。在又一示例中,用于为特定上下文识别音频导航指令参数的单个机器学习模型可以是具有通过分支连接的若干节点的决策树,其中每个节点表示对传感器数据的测试(例如,一天中的时间是上午还是下午?),每个分支表示测试的结果(例如,是),每个叶表示用于上下文的音频导航指令参数(例如,低级别的细节、三次、高音量)。

更具体地,上下文感知音频导航生成器68可以生成决策树,其中第一节点对应于交通是否拥堵。如果交通不拥堵,第一分支可以连接到对应于一天中的时间是否为夜间的第二节点。如果一天中的时间是夜间,第二分支可以连接到对应于外部环境是否喧闹的第三节点。如果外部环境是喧闹的,第三分支可以连接到叶节点,该叶节点可以指示音频导航指令应该以中等级别的细节、以高音量呈现两次。尽管决策树包括一个叶节点和三个分支,这只是仅仅为了说明的方便的一个示例。每个决策树可以包括任意数量的节点、分支和叶,具有对传感器数据的任何合适数量和/或类型的测试。

用于使用机器学习技术生成音频导航指令的示例逻辑

图4示意地示出了在示例场景中图2的上下文感知音频导航生成器68如何为每个音频导航指令确定音频导航指令参数。图4中的块中的一些表示硬件和/或软件组件(例如,块402),其他块表示数据结构或存储这些数据结构的存储器、寄存器或状态变量(例如,块404、412、420),以及其他块表示输出数据(例如,块406-410)。输入信号通过标记有相应信号名称的箭头表示。

图4的机器学习引擎402可以包括在上下文感知音频导航生成器68中以生成机器学习模型420。为了生成机器学习模型420,机器学习引擎402接收训练数据,该训练数据包括先前提供给用户的第一音频导航指令422以及当第一音频导航指令被提供时的第一组传感器数据,和用户是否正确地遵循了第一音频导航指令的第一指示。训练数据还包括先前提供给相同或不同用户的第二音频导航指令424以及当第二音频导航指令被提供时的第二组传感器数据,和用户是否正确地遵循了第二音频导航指令的第二指示。此外,训练数据包括先前提供给相同或不同用户的第三音频导航指令426以及当第三音频导航指令被提供时的第三组传感器数据,和用户是否正确地遵循了第三音频导航指令的第三指示。此外,训练数据包括先前提供给相同或不同用户的第n音频导航指令428,以及当第n音频导航指令被提供时的第n组传感器数据,以及用户是否正确地遵循了第n音频导航指令的第n指示。

尽管示例训练数据包括提供给相同或不同用户的四个音频导航指令422-428,但这只是仅仅为了说明的方便的示例。训练数据可以包括来自任意数量用户的任意数量的音频导航指令。

然后,机器学习引擎402分析训练数据以生成用于为特定上下文识别音频导航指令参数的机器学习模型420。在一些实施例中,机器学习引擎402为每个音频导航指令参数生成单独的机器学习模型。例如,机器学习引擎402可以生成用于为音频导航指令确定细节的级别的第一机器学习模型、用于确定提供音频导航指令的定时的第二机器学习模型以及用于为音频导航指令确定音量的第三机器学习模型。尽管机器学习模型420被示出为线性回归模型,机器学习模型可以是另一类型的回归模型,诸如逻辑回归模型、决策树、神经网络、超平面或任何其他合适的机器学习模型。

在任何情况下,例如,响应于用户对导航方向的请求,图4的系统从导航服务器34接收在文件中的用于路线404的一组基于文本的导航指令。在该示例中,该组基于文本的导航指令404包括机动1-3的描述,但是通常该组基于文本的导航指令404可以包含任意数量的机动。对于每个基于文本的导航指令,系统接收指示围绕用户的客户端计算设备10的外部环境412的传感器数据。传感器数据可以包括围绕用户的车辆的区域的交通数据、能见度数据(诸如一天中的时间)、围绕用户的车辆的区域的天气数据和/或指示用于呈现音频导航指令的位置的位置数据、指示车辆中或周围的噪声级别的音频数据,诸如车辆内的背景音乐或谈话、街道噪声、喇叭声、电话铃声等。

然后,机器学习引擎402可以将基于文本的导航指令和指示外部环境412的传感器数据应用到机器学习模型420,以为音频导航指令识别音频导航指令参数。在其他实施例中,机器学习引擎402可以将基于文本的导航指令和指示外部环境412的传感器数据应用到第一机器学习模型以识别用于音频导航指令的细节的级别,应用到第二机器学习模型以确定提供音频导航指令的定时,应用到第三机器学习模型以为音频导航指令确定音量。例如,对于第一机动,机器学习模型420确定音频导航指令406应该以低级别的细节生成并以高音量播放两次。对于第二机动,机器学习模型420确定音频导航指令408应该以高级别的细节生成并以低音量播放四次。对于第三机动,机器学习模型420确定音频导航指令410应该以低级别的细节生成并以低音量播放一次。

在一些实施例中,上下文感知音频导航生成器68向用户的客户端计算设备10提供该组基于文本的导航指令以及用于呈现每个导航指令的音频导航指令参数。在其他实施例中,对于每个基于文本的导航指令,上下文感知音频导航生成器68基于确定的音频导航指令参数为该导航指令生成相应的音频导航指令。然后,上下文感知音频导航生成器68向用户的客户端计算设备10提供该组音频导航指令以经由扬声器呈现。

同样在一些实施例中,上下文感知音频导航生成器68首先向用户的客户端计算设备10提供整组基于文本的导航指令。在一些场景中,上下文感知音频导航生成器68向用户的客户端计算设备提供相同导航指令的多个版本(例如以不同级别的细节)。更具体地,对于导航指令“在主街道上右转”,上下文感知音频导航生成器68可以提供导航指令“在主街道上右转”作为处于低级别的细节的导航指令的第一版本。上下文感知音频导航生成器68还可以提供导航指令“在X英尺内,在主街道上右转”作为处于中等级别的细节的导航指令的第二版本。而且,上下文感知音频导航生成器68可以提供导航指令“在X英尺和大约Y秒内,在靠近乔餐馆的停止标志处右转到主街道”作为高级别的细节的导航指令的第三版本。

然后,对于每个基于文本的导航指令,上下文感知音频导航生成器68接收指示外部环境412的传感器数据并将其应用到机器学习模型420。反过来,机器学习模型420为基于文本的导航指令生成音频导航指令参数,并且上下文感知音频导航生成器68向用户的客户端计算设备10提供音频导航指令参数。用户的客户端计算设备10然后通过例如,选择对应于包括在音频导航指令参数中的细节的级别的导航指令的版本,将音频导航指令参数应用到导航指令。用户的客户端计算设备10还可以基于音频导航指令参数为音频导航指令调整音量和定时。然后,用户的客户端计算设备10经由扬声器26向用户呈现生成的(多个)音频导航指令。

用于呈现上下文感知音频导航指令的示例方法

图5示出用于在车辆中生成上下文感知音频导航指令的示例方法500的流程图。该方法可以在存储在计算机可读存储器上并且在服务器设备60的一个或多个处理器处可运行的一组指令中实施。例如,该方法可以由上下文感知音频导航生成器68实施。

在块502处,在训练时段期间获得包括先前呈现给用户的音频导航指令的集合的训练数据,以训练机器学习模型以为特定上下文识别音频导航指令参数。对于每个音频导航指令,上下文感知音频导航生成器68还在音频导航指令被呈现时获得传感器数据,作为指示围绕用户的客户端计算设备10的外部环境的上下文信号(块504)。此外,对于每个音频导航指令,上下文感知音频导航生成器68获得用户是否正确地遵循了音频导航指令和/或对音频导航指令是否满意的指示(框506)。

上下文感知音频导航生成器68,更具体地,上下文感知音频导航生成器68中包括的机器学习引擎402分析训练数据以生成机器学习模型(框508),诸如如图4所示的机器学习模型420。更具体地,机器学习引擎402可以将训练数据分类为用于被用户正确地遵循了的音频导航指令以及相应的传感器数据的第一子集和用于没有被用户正确地遵循的音频导航指令以及相应的传感器数据的第二子集。然后可以使用各种机器学习技术(诸如回归分析(例如,逻辑回归、线性回归或多项式回归)、k-最近邻、决策树、随机森林、提升、神经网络、支持向量机、深度学习、强化学习、贝叶斯网络等)来分析这两个子集,以生成用于为特定上下文识别音频导航指令参数的机器学习模型。

在一些实施例中,机器学习引擎402为音频导航指令参数中的每一个生成若干机器学习模型420。例如,机器学习引擎402可以生成用于为音频导航指令确定的细节的级别的第一机器学习模型、用于确定提供音频导航指令的定时的第二机器学习模型,以及用于为音频导航指令确定音量的第三机器学习模型。

在任何情况下,一旦机器学习模型420已经被训练和生成,响应于来自用户对导航方向的请求,上下文感知音频导航生成器68利用机器学习模型420来生成音频导航指令。更具体地,在块510处,上下文感知音频导航生成器68接收用户的客户端计算设备10的针对从起始位置到目的地的导航方向的请求。起始位置可以是客户端计算设备10的当前位置。在任何情况下,响应于该请求,上下文感知音频导航生成器68生成一组导航指令(块512)。该组导航指令可以以文本格式生成。此外,上下文感知音频导航生成器68可以通过将请求转发到导航数据服务器34并从导航数据服务器34接收该组导航指令来生成该组导航指令。

除了从用户的客户端计算设备10接收对导航方向的请求之外,上下文感知音频导航生成器68还接收指示围绕用户的客户端计算设备10的外部环境的传感器数据。对于在块514处的每个导航指令,机器学习引擎402将传感器数据应用于机器学习模型420以为导航指令生成音频导航指令参数。上下文感知音频导航生成器68然后将音频导航指令参数应用于导航指令以生成音频导航指令(块516),并将音频导航指令提供给用户的客户端计算设备10(块518)。因此,用户的客户端计算设备10经由扬声器26呈现音频导航指令。

在其他实施例中,上下文感知音频导航生成器68向用户的客户端计算设备10提供该组基于文本的导航指令以及用于呈现每个导航指令的音频导航指令参数。然后,用户的客户端计算设备10根据相应的基于文本的导航指令和音频导航指令参数生成每个音频导航指令。

同样在一些实施例中,上下文感知音频导航生成器68首先向用户的客户端计算设备10提供整组基于文本的导航指令。在一些场景中,上下文感知音频导航生成器68向用户的客户端计算设备提供相同导航指令的多个版本(例如以不同级别的细节)。然后,对于每个基于文本的导航指令,上下文感知音频导航生成器68接收指示外部环境412的传感器数据并将其应用到机器学习模型420。反过来,机器学习模型420为导航指令生成音频导航指令参数,并且上下文感知音频导航生成器68将音频导航指令参数提供给用户的客户端计算设备10。然后,用户的客户端计算设备10通过例如,选择对应于音频导航指令参数中包括的细节的级别的导航指令的版本,将音频导航指令参数应用于基于文本的导航指令。用户的客户端计算设备10还可以基于音频导航指令参数来为音频导航指令调整音量和定时。然后,用户的客户端计算设备10经由扬声器26向用户呈现生成的(多个)音频导航指令。

在一些实施例中,用户的客户端计算设备10确定用户是否正确地响应了音频导航指令中的每一个。然后,对于每个音频导航指令,客户端计算设备10将音频导航指令、传感器数据以及用户是否正确响应音频导航指令的指示提供给服务器设备60作为附加训练数据。上下文感知音频导航生成器68然后可以使用附加训练数据来因此更新机器学习模型420。

图6示出用于在车辆中呈现上下文感知音频导航指令的示例方法600的流程图。该方法可以在存储在计算机可读存储器上并且在客户端计算设备10的一个或多个处理器处可运行的一组指令中实施。例如,该方法可以由导航显示器124实施。

在块602处,在第一实例中,客户端计算设备10提供针对从第一起始位置到第一目的地的第一导航方向的请求。可以将该请求提供给服务器设备60。此外,该请求可以包括指示围绕客户端计算设备10的外部环境的第一组传感器数据(块604)。

响应于该请求,上下文感知音频导航生成器68生成第一组音频导航指令,该第一组音频导航指令包括具有相应的第一基于文本的导航指令的第一音频导航指令。第一基于文本的导航指令包括特定的机动(例如左转)、用于机动的位置(例如,在州立大街和主街道的交叉口处)和/或用户从其接近用于特定机动的位置的方向(例如,沿着州立大街向南)。此外,第一音频导航指令包括一组音频导航指令参数,诸如用于音频导航指令的细节的级别、提供音频导航指令的定时以及用于音频导航指令的音量。

在任何情况下,上下文感知音频导航生成器68将第一组提供给客户端计算设备10(块606),客户端计算设备10接下来经由扬声器26将第一组呈现给用户(块608)。在一些实施例中,上下文感知音频导航生成器68通过将请求转发到导航数据服务器34并从导航数据服务器34接收该组基于文本的导航指令来生成第一组音频导航指令。对于每个基于文本的导航指令,上下文感知音频导航生成器68将第一组传感器数据应用于机器学习模型420,以为导航指令生成音频导航指令参数。上下文感知音频导航生成器68然后将音频导航指令参数应用于导航指令以生成音频导航指令。

在块610处,在第二实例中,客户端计算设备10提供针对从第二起始位置到第二目的地的第二导航方向的请求。可以将该请求提供给服务器设备60。此外,该请求可以包括指示围绕客户端计算设备10的外部环境的第二组传感器数据(块612)。

响应于该请求,上下文感知音频导航生成器68生成第二组音频导航指令,该第二组音频导航指令包括具有与第一实例中相同的第一基于文本的导航指令的第二音频导航指令。更具体地,第二实例中的第一基于文本的导航指令包括与第一实例中的第一基于文本的导航指令相同的机动、用于机动的位置和/或用户从其接近用于特定机动的位置的方向。然而,对应于第一基于文本的导航指令的第二音频导航指令包括与在第一实例中的第一音频导航指令不同的音频导航指令参数。例如,第二实例中的第二音频导航指令可以包括与第一实例中的第一音频导航指令不同的细节的级别、定时或音量。

在任何情况下,上下文感知音频导航生成器68将第二组提供给客户端计算设备10(块614),客户端计算设备10接下来经由扬声器26将第二组呈现给用户(块616)。在一些实施例中,上下文感知音频导航生成器68通过将请求转发到导航数据服务器34并从导航数据服务器34接收该组基于文本的导航指令来生成第二组音频导航指令。对于每个基于文本的导航指令,上下文感知音频导航生成器68将第二组传感器数据应用于机器学习模型420,以为导航指令生成音频导航指令参数。上下文感知音频导航生成器68然后将音频导航指令参数应用于导航指令以生成音频导航指令。

附加考虑

以下附加考虑适用于前述讨论。贯穿本说明书,复数实例可以实施被描述为单个实例的组件、操作或结构。尽管将一个或多个方法的单个的操作示出并描述为单独的操作,可以并发地执行单独的操作中的一个或多个,并且不要求以示出的顺序执行这些操作。在示例配置中作为单独组件呈现的结构和功能可以实施为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以实施为单独的组件。这些和其他变化、修改、添加和改进属于本公开的主题的范围之内。

此外,这里将某些实施例描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,存储在机器可读介质上的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以通过软件(例如,应用或应用的部分)配置为硬件模块,该硬件模块操作以执行如这里描述的某些操作。

在各种实施例中,可以机械地或电子地实现硬件模块。例如,硬件模块可以包括被永久地配置(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))以执行某些操作的专用电路或逻辑。硬件模块还可以包括通过软件暂时地配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器中的)。应当理解,在专用和永久地配置的电路中,或者在暂时地配置的电路(例如,通过软件配置)中机械地实施硬件模块的决定可以由成本和时间考虑来驱动。

因此,术语硬件应理解为包含有形的实体,即被物理地构造、永久地配置(例如,硬接线)或暂时地配置(例如,编程)以便以某种方式操作或以便执行这里描述的某些操作的实体。如这里使用的,“硬件实施的模块”指代硬件模块。考虑到其中硬件模块被暂时地配置(例如,编程)的实施例,不需要在任何一个时间实例配置或实例化硬件模块中的每一个。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同的硬件模块。软件可以相应地配置处理器,例如,在时间的一个实例中构成特定的硬件模块,并在时间的不同实例中构成不同的硬件模块。

硬件模块可以向其他硬件提供信息并从其他硬件接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在这样的硬件模块的多个同时存在的情况下,可以通过连接硬件模块的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件模块的实施例中,可以,例如,通过存储和检索多个硬件模块可以访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行一个操作,并将该操作的输出存储在与之通信耦合的存储器设备中。然后,另一硬件模块可在稍后访问存储器设备以检索和处理所存储的输出。硬件模块也可以启动与输入或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。

方法500和600可以包括以有形的计算机可运行的指令的形式的一个或多个功能块、模块、单个功能或例程,该有形的计算机可运行的指令存储在非瞬时性计算机可读存储介质中并使用计算设备(例如,如这里所述的服务器设备、个人计算机、智能电话、平板计算机、智能手表、移动计算设备或其他客户端计算设备)来运行。方法500和600可以被包括为任何后端服务器(例如,如这里所述的地图数据服务器、导航服务器或任何其他类型的服务器计算设备)、示例环境的客户端计算设备模块的部分,例如,或作为这样的环境的外部的模块的部分。尽管为了便于解释,可以参考其他图来描述这些图,方法500和600可以与其他对象和用户接口一起利用。此外,尽管上面的说明描述了由特定设备(诸如服务器设备60或客户端计算设备10)执行的方法500和600的步骤,这样做只是为了说明目的。方法500和600的块可以由一个或多个设备或环境的其他部分执行。

这里所描述的示例方法的各种操作可以至少部分地由暂时地配置(例如,通过软件)或永久地配置以执行相关操作的一个或多个处理器来执行。无论是暂时地配置或是永久地配置,这样的处理器可以构成操作以执行一个或多个操作或功能的处理器实施的模块。在一些示例实施例中,这里提及的模块可以包括处理器实施的模块。

类似地,这里描述的方法或例程可以至少部分地是处理器实施的。例如,方法的操作中的至少一些可以由一个或多个处理器或处理器实施的硬件模块执行。操作中的某些的执行可以分布在一个或多个处理器之间,该一个或多个处理器不仅驻留在单个机器内,还跨许多机器部署。在一些示例实施例中,处理器或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境中或作为服务器机群),而在其他实施例中,处理器可以跨许多位置分布。

一个或多个处理器还可以操作以支持“云计算”环境中的或作为SaaS的相关操作的执行。例如,如上面指示的,操作中的至少一些可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)和经由一个或多个适当的接口(例如API)来访问。

此外,图中仅出于说明的目的描绘了示例环境的一些实施例。本领域技术人员将容易地从下面的讨论中认识到,在不偏离这里所描述的原理的情况下,可以采用这里示出的结构和方法的替代实施例。

当阅读本公开时,本领域技术人员将理解用于通过这里所公开的原理提供上下文感知音频导航指令的附加的可替代的结构和功能设计。因此,尽管已经示出和描述了特定的实施例和应用,应当理解,所公开的实施例不限于这里公开的精确结构和组件。在不脱离所附权利要求所限定的精神和范围的情况下,可以对这里公开的方法和装置的布置、操作和细节进行对本领域技术人员来说明显的各种修改、改变和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号