首页> 中国专利> 在集成语言导航服务环境中提供自然语言语音用户界面

在集成语言导航服务环境中提供自然语言语音用户界面

摘要

本发明提供一种会话式的、自然语言语音用户界面,其可以提供集成语音导航服务环境。该语音用户界面允许用户以自然语言提出关于各种导航服务的请求,并且还可以按照合作的、会话的对话方式与用户交互,来解析该请求。除其他以外,通过动态的上下文的认识、可用的信息源、域知识、用户行为和偏好、以及外部系统和设备,该语音用户界面可以提供集成的环境,在该环境中用户能够使用自然语言会话式地进行讲话,以发出查询、命令、或与该环境中提供的与导航服务有关的其他请求。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-21

    授权

    授权

  • 2016-10-12

    专利申请权的转移 IPC(主分类):G06F17/27 登记生效日:20160921 变更前: 变更后: 申请日:20080709

    专利申请权、专利权的转移

  • 2011-03-02

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20080709

    实质审查的生效

  • 2011-01-05

    公开

    公开

说明书

技术领域

本发明涉及一种自然语言语音用户界面,该语音用户界面能够促进在集成语音导航服务环境中的合作的、会话式交互,并且具体而言,本发明涉及一种其中用户能够使用会话式、自然语言查询或命令来请求导航服务的自然语言语音用户界面。

背景技术

随着技术进步,消费电子产品在日常生活中有扮演越来越重要的角色的趋势。从而,用户倾向于期望他们的电子设备(例如,现代移动电话、导航设备、个人数字助理、便携式媒体播放器、以及提供了核心应用以外的大量功能的其他设备)具有更大的功能性、可移动性以及方便性。然而,更大的功能性通常倾向于伴随有显著的学习曲线和阻碍用户充分开发设备能力的其他障碍(例如,功能通常被隐藏在难以导航的菜单或界面之中)。此外,尽管日益增加的对于移动性的需求放大了对于简单的正在进行中(on-the-go)设备交互机制的需要,但是现有的系统通常具有复杂的人机界面。例如,现有的人机界面倾向于主要利用键盘、按键、点选式(point and click)技术、触摸屏显示器、或其他界面机制的各种组合。然而,这些界面会通常不适合于移动设备或车辆设备(例如,导航设备),这是因为在交互的速度和精力不集中的危险会引起重大问题的环境中,这些界面是不方便的。因而,现有的系统通常达不到提供简单并直观的交互机制的目的,潜在地抑制了采用某些技术的巨大市场。因而,对于以直观方式开发技术的方法有日益增长的需求。

为了解决这些和其他问题,各种现有的系统已经转向语音识别软件以简化人机交互。例如,语音识别软件可以使用户能够开发设备的那些另外可能是不熟悉的、未知的或者难于使用的应用和特征。然而,当现有语音用户界面实际工作时,它们还需要在用户的这部分上进行有效的学习。例如,现有的语音用户界面(例如,命令和控制系统)通常需要用户记住句法、词汇、短语或其他关键字或限定词以发出查询或命令。类似地,当用户可能不确定所需要的确切内容,或者设备能够提供的内容时,现有的系统不能以产生的、合作的、自然语言对话的方式来应答用户,以解析需求并推进会话。相反,很多现有的语言界面强迫用户使用预定的命令或关键字来以这些系统能够理解的方式传送请求。与之相反,对于人类交互的认知研究表明,提问或给出命令的人通常在很大程度上依赖于上下文和解答人的共有知识。类似地,解答人也倾向于依赖上下文和共有知识来告知什么会是合适的响应。然而,现有的语音用户界面没有充分地利用上下文、共有知识或其他类似信息来提供这样一种环境,在这种环境中用户和设备能够合作,通过会话的、自然语言的交互来满足互相之间的目的。

此外,在近些年中,对于全球定位系统和能够导航的设备的需求显著地增长。导航设备通常倾向于当用户在驾驶、正在进行或者在具有无需用手的界面就能够提供关键优势的其他环境中时使用。例如,用户会希望避免由于将视线离开公路而造成分心,用户还会希望与导航设备进行交互,例如,计算到目的地的路线、响应于交通状况而重新计算路线、找到本地的餐馆、加油站或其他感兴趣的地点、或者执行其他的与导航相关的任务。在这些和其他情况中,有效地处理基于自然语言语音的输入能够使得用户以更安全、更简单和更有效的方式与导航设备进行交互。然而,现有的系统通常不能够提供能够在导航和其他移动环境中提供这些优势的集成的、会话式的、自然语言语音用户界面。

现有的系统受到这些和其他的问题的影响。

发明内容

根据本发明的各个方面,与现有系统相关的各种问题都可以通过提供集成语音导航服务环境的会话式的、自然语言语音用户界面来解决。

根据本发明的各个方面,自然语言语音用户界面能够解析与导航相关的语音请求(例如,计算路线、识别位置、显示地图等)。导航应用能够向用户提供交互的、到目的地或旅途基准点的数据驱动指示,其中用户能够使用自由形式的自然语言来指定目的地或旅途基准点(例如,用户能够识别全部或部分目的地,包括具体地址、大概的附近区域、城市、地点的名称或类型、商业的名称或类型、人的姓名等)。由于自由形式的语音目的地输入会以多种不同的形式来提供,所以可以对全部或部分语音目的地输入执行后处理,以识别合适的目的地地址用于计算路线(例如,“有意义”的最近似的地址)。例如,对包含全部或部分目的地的话语进行分析,以识别一个或多个可能的地址(例如,目的地的N最佳列表)。可以对该N最佳列表进行后处理,来为可能的目的地分配权重或排序(例如,基于对应于所期望的目的地的给出的可能目的地的确定程度)。因此,可以计算从用户的当前位置到N最佳列表中的可能目的地中的权重最高的一个目的地的路线。此外,当语音目的地条目包括局部目的地时,会在一个或多个随后的语言目的地条目之上逐次提炼最终目的地。导航应用还可以提供到目的地的动态的、数据驱动的指示或路线。例如,导航应用可以访问与各种用户指定以及环境数据源相关的数据,以提供沿路线的个性化数据驱动指示,该路线可以基于从数据源取得的信息重新计算或修改。因而,可以动态地获取数据以识别可替换的路线、重新计算路线或者另外提供路线服务。此外,可以根据当前路线过滤对于给定话语的可能的答复或响应。

根据本发明的各个方面,自然语言语音用户界面会动态地产生和/或加载用于解释在话语中说了什么(例如,话语的内容)的识别语法。在动态识别语法中包含的信息可以为导航代理、自动语音识别器(Automatic Speech Recognizer)、上下文堆栈或语音用户界面中使用语法信息的各种其他部件使用。基于各种因素,通过有效地产生、更新、加载、扩展或另外构建动态语法能够避免处理瓶颈、能够减少冲突、并且能够优化使用识别语法解释话语的其他方面。例如,所产生的语法的大小会受系统中可用资源量的限制(例如,嵌入式设备或具有少量动态存储器的其他设备,受限制的语法大小会限制要占据的资源量)。在另一个示例中,动态语法的大小可以通过消除在上下文堆栈、共有知识,或其他本地资源中可用的冗余关键字、标准或其他信息来减少。因此,能够通过减少语法中的复杂状态来改进正确解释的有利程度(例如,当两个或多个元素可能会被混淆时,会消除这些元素中的一个或多个元素来减少混淆)。

根据本发明的各个方面,自然语言语音用户界面可以使用地理组块(geographical chunking)技术产生动态识别语法。可以在给定时刻确定用户的位置,以确定一个或多个地理近似(geographic proximity),该地理近似可用于为语法形成适当的拓扑域。例如,该拓扑域可以反映物理上的近似(例如,距离当前位置的距离)、民间组织(civil organization)上的近似(例如,区、州、城市、附近地区、分支、地区等)、时间上的近似(例如,从当前位置起的行进时间量)、方向上的近似(例如,基于方向行进向量)、或它们的各种组合。从而,通过将用户的地理近似映射到一个或多个拓扑域,可以在存储器中或在存储器之外剪除、扩展或交换或者另外产生和/或加载动态语法,以提供基于位置、时间、行程或其他因素的最优识别(例如,当用户从一个区域移动到另一个区域时,可以在语法中或语法之外交换信息,保证系统资源利用当前关于给定位置的信息)。

根据本发明的各个方面,自然语言语音用户界面可以包括由一个或多个拓扑域形成的动态语法,拓扑域可以被细分为多个瓦区(tile),该瓦区还可以被细分为多个子瓦区(subtile)。因此,用于构建动态语法的信息可以按照各种方式细分或加权,以确定应当在语法中包括什么信息。此外,可以将基于物理上的、民间组织上的、时间上的、方向上的或其他近似的地理组块扩展到能够设置拓扑分类的其他域中。从而,除在导航或其他依赖位置的系统中具有相关性之外,地理组块技术能够被应用在地理或位置可以是相关的其他上下文或域中。此外,被操作地耦接到语音用户界面的服务器可以分析各种形式的信息,以建立或提炼语法信息的资源。例如,当各种设备与服务器通信时,信息被传送到服务器可以用于更新近似、拓扑域、瓦区、子瓦区、对等相似性(peer-to-peer affinity)或其他语法信息。

根据本发明的各个方面,自然语言语音用户界面可以计算路线、提供到目的地的动态的数据驱动指示、提供到目的地的动态路线、执行全部或部分目的地条目的后处理、或另外提供各种语音导航服务。此外,可以使用对语音目的地条目进行逐次提炼的技术来识别目的地和/或路线,其中,除其他以外,上下文、代理自适应(agent adaptation)和共有知识都能够帮助用户使用语音命令、多模式命令或其各种组合来缩小最终目的地。然而,很显然,可以将该逐次提炼技术应用于能够通过语音或多模式命令对概括估计进行逐次提炼以缩小用户所要寻找的信息,包括各种其他的域、上下文、应用、设备或采用在此说明的技术的其他部件。

根据本发明的各个方面,自然语言语音用户界面可以通过逐渐地缩小最终目的地来允许对最终目的地的进行逐次提炼。例如,逐次提炼目的地可以模仿人类交互的方式,在人类交互方式中,可以通过交互的过程来缩小或提炼路线或目的地。例如,用户可以大致近似一个目的地,这可以导致沿着到该近似的目的地的优选路线计算路线。当在到该近似的目的地的途中时,用户和语音用户界面可以通过一个或多个随后的交互来合作提炼最终目的地。因此,用户可以使用自由形式的自然语言(例如,包括语音命令和/或多模式命令)提供全部或部分目的地输入。对应于语音目的地输入的一个或多个可能的目的地的解释可以以目的地的N最佳列表的方式进行组织。可以对该可能的目的地的列表进行后处理,以向其中的一个或多个条目分配权重或排序,从而根据全部或部分语音目的地输入确定最可能感兴趣的目的地。因此,后处理操作可以根据关于用户的共有知识、域指定的知识、对话历史、或其他因素来对可能的目的地进行排序或加权。从而,可以分析全部或部分目的地输入以识别能够计算到其路线的地址(例如,通过解析关于输入的目的地的“有意义”的最近似的地址)。随后的输入可以提供关于目的地的其他信息,并且可以反复地提炼加权的N最佳列表,直到通过逐次提炼能够识别最终目的地。从而,当已经识别出了适当的最终目的地时,就可以完成到该最终目的地的路线。

根据本发明的各个方面,自然语言语音用户界面可以包括一个或多个广告模型,用于产生和/或检测与导航系统的位置依赖广告有关的事件(例如,通过本地或远程广告引擎或经由数据信道或以其他方式产生)。例如,导航系统通常包括用于确定当前位置的各种机制(例如,全球定位系统、射频识别系统、基于到可识别的无线电天线塔或接入点的距离计算位置的系统等)。从而,位置检测系统可以在商人用来提供广告所使用的数据信道上检测与射频标识符有关的信息。商人可以经由数据信息对广告进行广播,从当导航系统处于RFID的适当附近区域之中时触发事件。从而,可以根据当前路线信息或其他上下文参数过滤与该事件有关的信息,以确定应当对其做何反应。在其他实例中,可以通过一个或多个广告合作者将广告上载到服务器,其中上载的广告可以与元数据或识别识别目标听众、位置依赖信息、或其他标准的其他描述信息相关联。在另一示例中,可以在语音用户界面处本地存储多个广告,并且推理引擎可以确定应当产生事件以向用户传送一个或多个广告的适当环境。从而,很显然,广告事件可以以多种方式产生,并且可以本地地、远程地、通过检测RFID或以其他方式产生和/或检测所述广告事件。

根据本发明的各个方面,自然语言语音用户界面可以跟踪用户与所传送的广告的交互。以此方式,可以产生基于相似性的模型,例如,以保证宣传或广告将被传送给可能的目标听众。从而,当关于用户的行为、偏好或其他特征的共有知识与和关于广告的对等相似性相关联的一个或多个标准匹配时,可以产生和/或检测到与给定广告相关的事件。在其他示例中,广告模型可以包括移动每次使用付费系统、对等本地指南或推荐、或其他形式的广告。另外,可以根据应用于各种拓扑域的映射产生各个方面的广告模型(诸如本地指南或推荐)。例如,一些类型的广告可以依赖于地理或拓扑特征,并且这种广告可以与基于地理组块的拓扑分类相关联。从而,可以根据物理上的近似、时间上的近似、方向上的近似、民间组织上的近似、或它们的各种组合来产生和/或检测各种广告事件。

根据本发明的各个方面,自然语言语音用户界面可以允许用户使用自然语言向导航设备提出请求(例如,查询、命令或其他请求)。因而,用户和导航设备可以进行合作的、会话式的对话方式接合,以解析该请求。例如,除其他事情以外,语音用户界面可以使用现有的上下文、对话历史、域知识、关于用户行为和偏好的短期和长期共有知识、噪声容忍、和认知模型,来提供集成的环境,在该环境中用户能够使用自然的语言会话地讲话,来发出能够被机器理解并处理的查询、命令或其他请求。从而,语音用户界面可以理解自由形式的人类话语,使用户不再受关于如何表达命令、查询或其他类型的请求的限制。替代地,用户能够使用自然的或不经意的讲话方式在集成环境中请求各种语音服务,其中在该集成环境中,可以使用自然语言以会话的方式控制各种设备。例如,语音用户界面可以知道与导航设备、媒体设备、个人计算机、个人数字助理、移动电话或在该环境中可用的各种其他计算设备或系统有关的数据和服务。

根据本发明的各个方面,自然语言语音用户界面可以包括接收基于语音的输入的输入机构,该基于语音的输入至少包括用户讲的话语或语言表达。输入机构可以包括能够接收基于语音的输入的适当的设备或设备组合(例如,定向麦克风、麦克风阵列、或对语音进行编码的其他设备)。可以将输入机构优化为在用户的方向中增益最大化、取消回波、零点(null point)噪声源、执行可变速率的采样、滤除背景谈话或噪音、或者另外优化编码语音的保真度。从而,输入机构可以以容忍会干扰对语音进行解释的噪音或其他因素的方式来产生编码语音。此外,在各种实现中,输入机构可以包括一个或多个其他(非语音的)输入模式,这些模式能够被处理和/或与一个或多个以前的、当前的、或随后的话语或其他基于语音的输入相关联。从而,用户能够利用,例如,触摸屏界面、尖笔/写字板界面、小键盘或键盘、或者其他输入界面来提供其他形式的输入以澄清话语,或使用其他的输入模式来提供关于话语的附加信息。例如,用户可以将尖笔或其他指示设备触摸到在触摸屏界面上显示的地图的一部分,同时还提供关于所触摸部分的话语(例如,“向我显示在这儿周围的餐馆。”)。在此示例中,可以将输入相互关联来将“在这儿周围”解释为很可能是指所触摸的地图部分,与用户当前的位置不同或具有一些其他含义。

根据本发明的各个方面,自然语言语音用户界面可以包括自动语音识别器,其处理编码语音以产生一个或多个在话语中说了什么(例如,话语的内容)的初步解释。例如,自动语音识别器可以基于动态自适应识别语法使用语音听写(phonetic dictation)来识别音素流以产生初步的解释。动态自适应识别语法可以基于字典或来自各种输入域(例如,针对语言、导航、音乐、电影、天气、各种时间或地理近似的域、或者各种其他域)的短语。因此,自动语音识别器可以产生话语的一个或多个解释,该话语可以表示为一系列的音素或音节。可以对一个或多个解释(例如,利用人类语言的语言规则或模型)进行分析来产生关于用户说了什么的初步解释的N最佳列表。然后,可以将初步解释提供给会话语言处理器,其利用共有知识、上下文信息、和各种其他信息源来产生关于实际含意、用户的意图、或话语的其他方面的智能假定。通过使用模仿人与人的日常对话的各种特征和部件对该假定进行明确地叙述,会话语言处理器可以产生关于话语的含意和意图的假定,其可以通知解析包含在话语中的一个或多个请求的处理器。

根据本发明的各个方面,除其他以外,自然语言语音用户界面可以包括上下文跟踪引擎,其针对给定的话语的创建含意。例如,上下文跟踪引擎能够管理在创建含意的一个或多个特定上下文的域代理(例如,对于给定上下文、域、系统、或应用提供功能性的可重新分配的、自适应引擎或模块)之间的竞争。域代理可以对话语的初步解释进行分析,以产生特定域的可能解释。例如,一个或多个代理可以包括自适应词汇表、概念、可得到的任务、或指定用于各域或上下文的其他形式的信息。另外,代理能够使用语音搜索引擎来针对系统中没有的信息搜索网络。可以为可能的解释分配加权排序或分数,这可用于选择代理中的“获胜的”一个代理。因此,除其他代理外,可以将代理中的获胜的一个代理指定为负责建立或推理进一步的信息(例如,基于域或特定上下文的信息)、更新共有知识、或解析话语中的请求。上下文跟踪引擎还可以保持上下文堆栈以跟踪对话主题、跟踪以前调用的引擎、评价标准、加权参数、或保持关于会话上下文的信息(例如,可以按照最近的上下文、经常使用的上下文、或在其中包括的其他信息来回移动上下文堆栈,以确定用户最有可能的意图)。通过识别上下文,或相关联地,通过识别容量、任务、词汇表、或上下文中的其他信息,上下文跟踪引擎能够提供除与话语有关的语音线索(例如,可以基于词汇在给定上下文中的含意、在对话中以前的使用情况等,消除具有多个可能含意的词汇的歧义)之外的用于建立意图的相关信息。

根据本发明的各个方面,自然语言语音用户界面可以利用各种形式的信息来允许共享关于给定话语、会话、或其他人机交互的假定和预期。例如,为了通知在语音用户界面中作出的决定,语音用户界面可以包括信息源,该信息源包含关于用户行为、偏好、或其他特征的短期和长期共有知识(例如,特定用户、全球用户、对等用户等的短期和长期简档)。短期共有的知识可以在当前的会话期间积累信息,来动态地建立语音用户界面的状态的认识(例如,以前的话语的识别文本、跨模式的用户界面操作历史、以前选择的任务或调用的查询的列表、或者其他信息)。短期知识的存储会模仿人类交互,从而在心理地适当的时间量之后某些信息会过期(例如,擦除陈旧的数据),反之可以将具有长期意义的信息添加到长期共有知识(例如,建立很可能随着时间的过去而保持不变的数据的持久稳固的认识)。从而,长期共有知识会基于随着时间积累的信息对各种特征、偏好、行为、或者关于用户的其他信息(例如,特定用户的专用语、人口状况、认知方式、经常请求的任务、喜好的主题或概念等)进行建档或建模。从而,语音用户界面可以利用各种形式的可经由上下文跟踪引擎、域代理、语音搜索引擎、共有知识、内部或外部数据库、与其他设备关联的数据、或其他的知识源得到的信息。因此,能够识别会话类型或与话语有关的目的。基于可得到的信息和会话的类型或目的,语音用户界面会尝试解析话语(例如,通过调用代理,该代理利用一个或多个应用来执行请求的任务、检索请求的信息等)。

根据本发明的各个方面,自然语言语音用户界面可以产生对句法、语法、和上下文敏感的跨模式(cross-modal)智能响应,其可以向系统产生的响应提供会话的感觉。当可用时,所产生的智能响应可以提供所解析的请求的结果(例如,关于任务的反馈、所检索到的作为查询结果的信息等)。此外,例如使用口头和/或非口头输出(例如,信息可以在显示设备上、经由听得见的警报、语言表示的输出、其他输出机构、或它们的各种组合来呈现)的结合,可以跨模式提供智能响应。此外,跨模式响应的语言表示部分(例如,通过改变音调、速度、定时、或其他变量)可以适应于用户的讲话方式,从而建立具有自然变化和个性的口头响应。还可以明确地表达智能响应来提供输出,该输出将用户引导向更可能被识别的后续响应(例如,后续的话语)。例如,当因为不明确的上下文、不能识别的词汇或短语、或者会导致不明确的或不能识别的解释的其他因素而不能解析话语时,能够制定智能响应消除上下文的歧义或从用户请求另外的信息,以澄清话语的含意。此外,当后续信息表明给定的解释或假定不正确时,会重新解释一个或多个以前的话语,来提炼上下文并更新短期或长期会话模型(例如,“不,我的意思是……”这样的话语可以表明对以前的话语解释得不正确,在此情况中,可以基于正确的解释对各种以前的话语重新进行解释,因此建立更精确的会话上下文)。从而,通过自适应机制,语音用户界面可以容忍全部或部分失败。

根据本发明的各个方面,自然语言语音用户界面可以在基于代理的架构之内提供语音导航服务。该架构可以包括多个自适应代理(例如,专门的软件、数据、内容、或其他信息,其在多个各自上下文域中提供功能、行为、服务、数据、和其他信息),其中至少一个代理提供导航服务(例如,路线计算、地图控制、位置敏感信息、数据驱动指示等)。当代理处理请求时,该代理可以自治地进行反应、自适应、和重新配置,以在各自域中提供最佳的语音服务。例如,通过随着时间建立上下文(例如,通过产生短期和长期的用户简档、与用户的会话、频繁的主题或偏好等),代理会自动地结合知识、自适应偏好、移除冲突、或执行其他自适应来提炼或优化其操作结构。响应于解析基于语音请求的各种代理,例如,代理(至少包括导航代理)的自适应可以跨越多个代理而发生。从而,自适应可以作为提供语音服务、产生推理、识别相似性(例如,在用户、对等人、团体等之间)、从外部源接收更新(例如,使用更新管理器)、或其他方式的代理的副产品会自治地发生将是显而易见的。

根据本发明的各个方面,自然语言语音用户界面可以包括用于提供语音导航服务的基于代理的架构。例如,该基于代理的架构可以包括一个或多个域或上下文指定的代理,其中至少包括导航代理。除其他以外,导航代理可以包括各种导航指定内容分组(例如,字典、可用查询、任务、命令、动态语法等)、响应列表(例如,对命令、查询、或其他请求的适当响应)、个性简档(例如,用于为系统产生的语音建立自然的感觉)、置换列表(例如,将数据置换或转换成能够被目标信息源理解的结构形式)、或各种其他形式的导航指定信息。此外,导航代理还可以与指向本地或远程数据源的指示器、与该架构中其他服务相关联提供的参数和操作数据、或者各种其他形式的信息进行关联。例如,导航代理使用的数据源可以包括与导航相关的数据、感兴趣的地点、交通、事件、停车、个人数据、对等相似性、或各种其他信息源。此外,可以通过自适应、各种模型的分析、与数据服务的通信、或其他方式来组装(populate)、扩展、剪除、或构造数据源将将是显而易见的。

根据本发明的各个方面,自然语言语音用户界面可以包括导航代理,其可以与各种信息源耦接,并且可以利用上下文、与各种其他自适应代理以及其他系统部件进行通信来提供应用导航服务。例如,导航代理可以使用与导航域有关的上下文信息,包括跟踪的主题、用户位置、行进路线、之前请求、用户界面状态、用户行为、偏好、人口统计状况、或其他特征、或者各种其他类型的上下文信息。从而,导航代理可以具有各种知识源和对解析语音导航请求可用的资源。例如,导航代理可以使用可用的知识和资源应用各种规则、策略、或其他推理技术来产生推理(例如,使用推理引擎),以产生话语的解释(例如,语音失真匹配、归纳逻辑、贝叶斯概率分析、单调或非单调推理等)。从而,导航代理能够推理在话语中没有明确提供的关键词或标准、确定对于主观的或不确定的话语的适当响应、产生事件、识别对等相似性、或者产生对解析与导航相关请求的推理。

根据本发明的各个方面,自然语言语音用户界面可以包括一个或多个推理引擎,其能够通过以前的上下文的认识、短期或长期共有知识、命令历史、车辆系统的状态、用户界面状态、和各种其他数据源产生各种推理。在各种实现中,一个或多个代理可以与各自的推理引擎相关联,所述推理引擎能够使用域指定知识、规则、策略、或其他标准产生推理。例如,推理引擎可以识别话语中没有的关键词或标准、推理意图的含意、自治地建议可用任务、或辅助相关联的代理来识别在话语中包含的查询、命令、或其他请求。另外,当使用与导航代理相关的信息源或通过产生推理不能够适当地解析信息时,可以从一个或多个其他代理、其他设备、网络信息源(例如,经由语音搜索引擎)、或以其他方式来请求该信息将是显而易见的。一旦通过一个或多个其他源识别了该信息,请求代理会适合于使得该信息随后可用。因此,架构中的不同设备、应用、系统、和其他部件可以合作地共享可用信息和服务(例如,上下文、对话历史、共有知识、地图、感兴趣的地点、联系人列表、用户或对等相似性、动态语法、可用应用、命令历史等)。从而,该架构可以提供集成语音导航服务环境,在该环境中用户能够讲出关于各种可用上下文、域、应用、设备、信息源、或它们的各种组合的自然语言请求。

根据本发明的各个方面,自然语言语音用户界面可以接受基于自然语言语音的输入来控制除与语音用户界面在其中进行操作的环境所关联的各种其他设备外的能够提供导航信息的电子设备。此外,该语音用户界面的各种功能方面可以存在于客户设备、服务器、或它们的各种组合中。

根据本发明的各个方面,自然语言语音用户界面可以支持多模式语音输入。因此,除一个或多个非语音输入部分(例如,经由小键盘、触摸屏、尖笔/书写板组合、鼠标、键盘、或其他输入模式提供的输入)外,给定的多模式语音输入至少还可以包括语音部分(例如,话语)。从而,非语音输入部分能够提供附加信息或关于话语的澄清,添加到处理语音时的可用输入信息量。例如,用户可以使用其他输入模式来澄清话语的含意、提供关于话语的附加信息、减少做出给定请求所需的设备交互数量、或者提供关于给定话语的附加信息。

根据本发明的各个方面,自然语言语音用户界面可以利用各种认知模型、上下文模型、用户指定模型、或其他模型来识别语音输入中的查询、命令、或其他请求。例如,给定的输入可以包括关于一个或多个上下文域的信息,域中的一个或多个可以被调用来解释和/或推理包含在输入中的关键词、概念、或其他信息。另外,可以在还考虑了语义分析和上下文推理的混合识别模型中使用关于用户行为和偏好的短期和长期共有知识。例如,某些音节、词汇、短语、请求、查询、命令、或其他信息会更有可能在给定的上下文中发生。因此,混合识别模型会分析语义模式来解析话语所说的内容,并且会进一步依赖上下文历史或其他信息来解析话语意味着什么。混合识别模型可以与对等识别模型联合使用或单独使用。例如,识别模型可以包括对全球使用方式、偏好、或者同等用户的其他特征的认识,其中同等用户会在上下文中采用某些关键字、概念、查询、命令、或上下文结构的其他方面。

基于下列附图和详细说明,本发明的其他目的和优点将得以呈现。

附图说明

图1示出了根据本发明各个方面的用于提供具有会话式的自然语言语音用户界面的导航设备的示例性系统的框图。

图2示出了根据本发明各个方面的用于提供具有会话式的自然语言语音用户界面的导航设备的示例性的基于代理的架构的框图。

图3示出了根据本发明各个方面的用于动态产生用于具有会话式的自然语言语音用户界面的导航设备的识别语法的示例性方法的流程图。

图4示出了根据本发明各个方面的用于处理提供到具有会话式的自然语言语音用户界面的导航设备的多模式基于语音的输入的示例性方法的流程图。

图5示出了根据本发明各个方面的用于根据提供到具有会话式的自然语言语音用户界面的导航设备的基于语音的输入来计算路线的示例性方法的流程图。

图6示出了根据本发明各个方面的用于根据当前的导航路线提供语音服务的示例性方法的流程图。

具体实施方式

根据本发明的各个方面,图1示出了用于提供具有会话式的自然语言语音用户界面的导航设备的示例性系统100的框图。如图1所示,该系统100可以允许用户与能够进行语音导航的设备采用自然语言的、合作的、会话式对话进行接合(engage)。例如,系统100可以理解自由形式的人类话语,使用户不再受应该如何表达命令、查询或其他类型请求的限制。替代地,除各种其他语音服务(例如,与电信息业务、通讯、媒体、消息、外部系统、市场、信息检索、或各种其他计算服务有关的服务)之外,用户可以使用随意或自然的讲话方式来请求各种语音导航服务。从而,用户可以使用系统100以使用自然语言的对话方式来控制导航设备、媒体设备、个人计算机、个人数字助理、无线电话、或者其他计算设备或系统。除其他以外,通过使用上下文、现有的信息、域知识、短期或长期共有知识、噪声容忍、和认知模型,系统100可以提供集成环境,在该环境中用户可以使用自然的语言以对话方式讲话来发出能过被机器理解并处理的查询、命令或其他请求。例如,在各种实现中,系统100可以利用如于2003年6月3日提交的题为“Systems and Methods for Responding to Natural Language Speech Utterance”的同时待审的美国专利申请10/452,147和于2003年6月15日提交的题为“Mobile System and Methods for Responding to Natural Language Speech Utterance”的同时待审的美国专利申请10/618,633中所说明的一种或多种技术,因此通过引用将其全部内容并入本文。

根据本发明的各个方面,系统100可以包括输入机构105,其接收基于语音的输入,该基于语音的输入至少包括用户讲的一句话语或语言表达。输入机构105可以包括用于接收基于语音的输入的适当的设备或这些设备的组合(例如,定向麦克风、麦克风阵列或对语音进行编码的其他设备)。在各种实现中,例如,可以通过最大化用户方向中的增益、取消回波、零点(null point)噪声源、执行各种速率的采样、对背景谈话或环境噪音进行过滤、或者执行用于最大化编码语音的保真度的各种其他技术来优化输入机构105,以接收基于语音的输入。从而,由输入机构105产生的编码语音可以高度地容忍可能干扰解释人的讲话的噪声或者其他因素。

此外,在各种实现中,输入机构105可以被耦接到其他输入模式,其中除语音外的各种形式的输入都可以被处理和/或与一个或多个以前的、当前的、或随后的基于语音的输入相关联。例如,输入机构105可以被耦接到触摸屏界面、尖笔/书写板界面、小键盘或键盘、或者其他设备或系统界面将是显而易见的。从而,可以最大化对于系统100处理语音潜在可用的输入信息量,这是因为用户可以使用其他输入模式来澄清话语或提供关于话语的附加信息。例如,用户可以将尖笔或其他指示设备触摸到在触摸屏界面上显示的地图的一部分,同时还提供关于所触摸部分的话语(例如,“向我显示在这儿周围的餐馆。”)。在此示例中,系统100可以将输入相互关联,以将“在这儿周围”解释为很可能是指所触摸的地图部分,以和用户当前的位置或其他含义进行区分。

系统100还可以包括自动语音识别器110,其接收编码语音输入并产生其一个或多个初步解释。例如,自动语音识别器110可以使用语音听写来识别基于语音的输入,以基于动态自适应识别语法来识别音素流。从而,自动语音识别器110可以提供词汇表之外的能力,其可以容忍用户的错误讲话、讲话信号的一部分被减弱、或会干扰对话语进行解释的其他因素。动态自适应识别语法可以基于字典或来自各种输入域(例如,不同语言、导航、音乐、电影、天气、各种时间或地理近似的域、或者各种其他域)的短语。此外,可以通过剪除与识别语法相关的搜索空间(例如,语法可以包括诸如schwa的链接元素,来表示经常被讲的无重音的中央元音,甚至不需用户有意识的认识)来改进自动语音识别器110的性能。因此,使用这些和其他技术,自动语音识别器110可以分析输入的编码话语,以将话语的各部分表示为一系列的音素或音节,除其他子种类以外,这些音素或音节可以被进一步分解为开始、中心、和结尾的核心部分。然后可以分析该一系列的音素或音节,以识别关于用户说了什么的多个初步解释或最佳猜测(例如,N最佳列表)。然而,很显然,自动语音识别器110可以使用各种技术来产生编码话语的初步解释,这些技术包括,例如,于2006年8月31日提交的题为“Dynamic Speech Sharpening”的同时待审的美国专利申请第11/513,269号中所说明的技术,通过引用将其全部内容并入本文。

可以将由自动语音识别器110产生的多个初步解释提供给会话语言处理器120,其利用共有知识产生真实含意、用户意图、或基于语音的输入的其他方面的智能假定。会话语言处理器120可以使用共同地操作以模仿人与人的日常对话的各种特征和部件对该假定进行明确地表达。

例如,会话语言处理器120可以包括上下文跟踪引擎140,除其他以外,上下文跟踪引擎140建立针对给定的话语的含意,管理在一个或多个上下文指定域代理125(例如,为给定上下文、域、系统、或应用提供功能性的可重新分配的、可自适应的分组或模块)中的竞争。例如,自动语音识别器110可以对初步解释进行排序,代理125可以进一步分析初步解释,以产加权的排序或得分,排序或得分可用于选择代理125中的“获胜的”一个代理。然后,代理125中的获胜的一个代理可以负责建立或推理进一步的信息、更新共有知识、或者执行其他任务来辅助产生智能的假定。此外,上下文跟踪引擎140可以使用上下文堆栈来跟踪会话主题、评价标准、加权参数、或者保持用于基于会话的上下文产生假定的上下文信息(例如,可以按照最近的上下文、经常使用的上下文、或在其中包括的其他信息来回移动上下文堆栈,以确定用户最有可能的意图)。通过识别上下文,或相关地,通过识别容量、任务、词汇表、或上下文中的其他信息,除了不足的语音线索之外,上下文跟踪引擎140还可以提供用于建立意图的高度相关信息。

此外,会话式语言处理器120可以利用各种其他形式的知识来通知智能假定的产生。例如,各种代理125可以自适应地包括域指定或上下文指定的词汇表、概念、可用任务、或与各域或上下文相关的其他形式的信息。另外,与会话式语言处理器120关联的各种部件能够调用语音搜索引擎135(例如,针对信息搜索网络的引擎)来解析不是内部可得到的信息(例如,当外部知识源会有助于澄清话语的特定词汇、命令、查询对象、或其他方面背后的意图时)。

系统100还可以使用户和该系统100共享关于给定话语、会话、或其他交互的假定和预期。例如,会话语言处理器120可以耦接到存储短期和长期共有知识的一个或多个数据存储库160,这些共有知识用于通知在会话语言处理器120中作出的决定。短期共有知识可以在当前会话期间积累信息(例如,以前话语的识别文本、跨模式用户界面操作历史、以前选择的任务或调用查询的列表、或者其他信息),从而动态地建立语音用户界面的跨模式状态的认识。短期知识的存储可以模仿人类交互,从而某些数据会在心理适当时间量之后过期(例如,擦出陈旧的数据),而可以将具有长期意义的信息添加到长期共有知识(例如,用户的长期联系人的新地址)。从而,长期共有知识可以基于随着时间积累的信息对用户的环境的、认知的、历史的、人口的、或其他方面建档或建模(例如,用户指定的专用语、经常请求的任务、感兴趣的主题或概念等)。

从而,会话语言处理器120包括可用于针对用户在给定话语中的意图来产生智能假定的各种特征。例如,假定可以基于经由上下文跟踪引擎140、代理125、语音搜索引擎135、共有知识、或其他的知识源提供的信息。从而,会话式语言处理器120尝试识别会话类型或话语目的(例如,用于检索离散信息片段的查询、用于澄清由语音用户界面提供的信息的教导式交互、或者随着会话过程可以在其中临时提供会话目的的探索交互等)。基于可用的信息和会话的类型或目的,可以为所产生的假定指定某一等级,其可以通知会话语言处理器120要如何解析话语。例如,当某一等级表明已经识别了足够的信息时,会话式语言处理器可以调用一个或多个代理125,代理125然后可以进一步利用一个或多个应用150来执行所请求的任务(例如,关于导航应用、广告应用、音乐应用、电子交易应用的任务、或者其他适当的应用或任务)。在另一个示例中,一个或多个代理125可以查询数据存储库160或语音搜索引擎135去检索所请求的信息,或另外采取动作解析包含在话语中的信息的请求。

另外,会话语言处理器120可以产生跨模式的智能响应,该智能响应可以对句法、语法、和上下文敏感,从而为系统产生的响应提供会话的感觉。当可用时,智能响应可以向用户呈现所执行的任务或所执行的查询的结果,并且可以跨越各个模式提供该响应。例如,可以分离地或共同地使用口头和/或非口头输出180(例如,通过使用显示设备、听得见的警报、语言话输出、另外的输出机构、或它们的各种组合来呈现信息)。此外,跨模式输出180的语言部分(例如,通过改变音调、速度、定时、或其他变量)可以适应于用户的讲话方式,从而建立具有自然变化和个性的口头响应。

还可以明确地表达智能响应以提供输出180,该输出180引导用户朝向对识别可能更有利的随后的响应。例如,当特定的级别反映出不明确的上下文时(例如,当竞争导致各个代理125之间的死锁时),自适应的错误识别引擎130可以将该话语识别为不明确的或未被识别的,可以制定智能响应消除上下文的歧义,或请求来自用户的随后请求澄清话语的含意。此外,当会话语言处理器120或错误识别引擎130确定给定的解释或假定不正确时,会重新解释一个或多个以前的话语,来提炼上下文并建立更精确的短期或长期会话模型(例如,“不,我的意思是……”这样的话语可以表明对以前的话语解释得不正确,在此情况中,可以基于正确的解释对各种以前的话语重新进行解释,从而建立更精确的会话上下文)。从而,会话语言处理器120可以恢复全部或部分失败。可以包括用于自适应地响应于错误识别或不明确的其它技术,诸如那些于2005年8月10日提交的题为“System and Method of Supporting Adaptive Misrecognition in Conversational Speech”的同时待审的美国专利申请第11/200,164号中所说明的技术,通过引用将其全部内容并入本文。

关于在此说明的各种技术的附加信息,以及系统100用于提供会话式的、自然语言的交互的其他技术会被提供在,例如,于2005年8月5日提交的题为“Systems and Methods for Responding to Natural Language Speech Utterance”的同时待审的美国专利申请第11/197,504号、于2005年8月29日提交的题为“Mobile Systems and Methods of Supporting Natural Language Human-Machine Interactions”的同时待审的美国专利申请第11/212,693号、以及于2006年10月16日提交的题为“System and Method for a Cooperative Conversational Voice User Interface”的同时待审的美国专利申请第11/580,926号中,因此通过引用将其全部内容并入本文。

因此,系统100可以提供在用户和该系统100之间能够进行会话式的自然语言的交互环境。此外,如将在下面更详细说明的那样,可以将系统100实现为会话式的自然语言的交互,作为到一个或多个电子设备或应用(包括导航设备)的语音用户界面。通过在此提供的进一步说明将还显而易见的是,该系统100具有跨设备和跨模式认知的能力,从而系统100提供一种环境,用户能够在其中采用合作的、自然语言的对话的方式进行接合,来请求关于多种不同设备或应用的语音服务。

根据本发明的各个方面,图2示出了示例性基于代理的架构200的框图,该架构200能够为导航设备提供会话式的、自然语言语音用户界面。架构200可以包括多个代理225a-n,其包括专门的软件、数据、内容、或其他信息,这些信息在多个各自上下文域中提供功能、行为、服务、数据、和其他信息。架构200可以是集成的并且动态自适应的环境,代理225在其中自治地进行反应、自适应、并重新配置,以便该环境中提供最佳的服务。例如,通过建立随着时间变化的上下文(例如,通过产生短期和长期的用户简档、与用户的会话、经常的主题或偏好等),导航代理225a会自动地结合知识、自适应偏好、去除冲突、或执行其他适应来提炼或优化其操作结构。

例如,至少包括导航代理225a的代理225可以通过正在使用的关于用户行为、偏好、或其他特征的短期共有知识270和长期共有知识275来进行自适应。此外,例如,响应于解析基于语音的请求的各代理(例如,通过调用一个或多个应用250、查询一个或多个数据源260、与一个或多个其他代理225合作、或通过错误识别引擎230、语音搜索引擎235、上下文跟踪引擎24等进行学习),可以跨越多个代理225进行代理自适应。在各种实现中,自适应可以自治进行作为代理225提供语音服务、产生推理、识别相似性(例如,在用户、同等人、团体等之间等)、从外部源接收更新(例如,更新管理器能够为一个或多个代理25更新内容、行为、数据、命令、域知识、关键词、概念、字典、或其他信息)的副产品,或自适应可以以其他方式进行都是显而易见的。

如图2所示,架构200至少利用导航代理225a向导航设备提供会话式的、自然语言语音用户界面。除其他以外,导航代理225a可以包括各种导航指定的内容分组(例如,字典、可用查询、任务、命令、动态语法等)、响应列表(例如,对命令、查询、或其他请求的适当的响应)、个性简档(例如,用于为系统产生的语音建立自然的感觉)、置换列表(例如,将数据置换或转换成能够被目标信息源理解的结构形式)、或各种其他形式的导航指定的信息。此外,除各种其他形式的信息外,导航代理225a还可以与架构200中其他服务(例如,可用设备、应用250、代理225等)提供的参数和操作数据、本地或远程数据源的指示器(例如,短期共有知识270、长期共有知识275、数据源260、语音搜索引擎235等)进行关联。

除其他以外,由导航代理225a使用的数据源260可以包括与导航相关的数据(例如,地图、地址、街道名称、通讯录、可替换的路线等)、感兴趣的地点(例如,餐馆、旅馆、博物馆、游览胜地、加油站等)、交通(例如,动态道路状况、交通、便道、或与交通相关的其他信息)、事件(例如,体育事件、音乐会、抗议等)、停车(例如,停车场、限制的区域或时间、街道地段(street lot)、路边停车等)、个人数据(例如,与用户的联系人列表相关联的电话号码和地址)、对等相似性(例如,基于具有相似的偏好、人口统计的简档、或其他特征的用户的相似性的推荐)。此外,可以通过诸如基于一个或多个模型提供数据源260、经由数据服务器接收数据源260、通过自适应、或其他方式来扩展或提炼数据源260将是显而易见的。

此外,除其他以外,可以经由上下文跟踪引擎240、短期共有知识270、和长期共有知识275维护关于导航域的上下文信息。例如,除其他类型的上下文信息以外,上下文信息可以涉及跟踪的主题、用户位置、行进的路线、以前的请求、用户界面状态、用户行为、偏好、人口统计、或其他特征。例如,可以使用如上参考图1、或如上参考的同时待审的美国专利申请、或者其各种结合进行更详细说明的技术建立并利用上下文。此外,当导航代理225a不能在架构200以内找到本地的信息,并且不能推理该信息时,则可以从一个或多个其他代理225b-n(例如,请求特定域的信息)、其他设备、语音搜索引擎235(例如,搜索网络)、外部源(例如,可以调用更新管理器来下载可能会具有该信息的可用更新)、或其他源请求该信息将是显而易见的。如果能够通过一个或多个其他源定位该信息,则可以对导航代理225a进行自适应、扩展、或更新,以使得该信息随后可得到。

因此,当导航代理225a与各种其他自适应代理225b-n或其他系统部件进行通信以提供语音导航服务时,导航代理225a可以与该信息的不同源进行耦接,并且可以使用上下文。因此,上下文、共有知识、地图、感兴趣的位置、联系人列表、用户或对等相似性、动态语法、可用应用、或导航架构200的各种其他方面能够为该架构200的各种部件、设备、或方面共享或为其所用。从而,包括在导航代理255a中的推理引擎255可以耦接各种知识源和可用于提供集成语音导航服务环境的其他源。例如,推理引擎255可以通过应用一个或多个规则、策略、或其他推理机制来从可用的知识和资源产生推理,以产生所述环境中的话语的可能解释(例如,语音失真匹配、归纳逻辑、贝叶斯概率分析、单调或非单调推理等)。

例如,如上更详细的说明,导航代理225a和一个或多个其他代理225b-n可以在分析话语的一个或多个初步解释中进行竞争,以产生话语的一个或多个各自可能解释。然后,一旦被识别为竞争代理中的“获胜的”一个代理,导航代理225a就可以被调用来处理该可能的解释(例如,通过解析包含在话语中的信息)。例如,竞争代理中的哪个获胜会取决于上下文或包含在话语中的其他信息,从而响应于话语“这个交通太糟糕了,试试支路”,导航代理225a获胜并重新计算路线,而响应于话语“交通太糟糕了,试试来些老歌吧”,音乐代理会获胜并改变无线电频道,而响应于话语“交通很糟糕,试试喜剧吧”,电影代理会获胜并搜索电影放映时间。因此,当导航代理225a产生导致成为代理225中获胜的一个代理的可能解释时,导航代理225a可以管理用于搜索、推理、或根据上下文来识别信息的处理,来使用一个或多个应用250(例如,导航、语法产生、位置确定、响应产生、广告、设备控制、或在架构200中可用的其他应用)提供语音导航服务。

例如,导航代理225a可以利用推理引擎255来推理没有在话语中明确提供的关键词或标准、确定对于主观的或不确定的话语的适当响应(例如,选择对于查询最可能的回答、向用户请求更多信息等)、产生事件、识别对等相似性、或者产生用于解析与导航相关的请求的推理。推理引擎255能够通过以前的上下文的认识(例如,通过有上下文跟踪引擎240提供的信息)、短期或长期共有知识270、命令历史、车辆系统的状态、用户界面、或者其他设备、数据源260、或其他可用的信息产生这种推理。例如,在示例性说明中,以前的上下文、共有知识、和其他信息源可以与推理引擎255和/或架构200中的各种其他部件一起使用,以允许会产生如下的人机交互:

  用户  “向我显示在这儿周围的餐馆。”  语音用户界面  “我能找到的都是你不喜欢的快餐。”

  用户  “好吧,那附近的旅馆如何?”  语音用户界面  “找到一个评价不错的印度餐厅。要我给他们打  电话吗?”  用户  “好,打吧,听起来不错。”

在上述说明性的示例中,第一个话语建立了“餐馆”的上下文,并且语音用户界面根据表明该用户不喜欢快餐的共有知识推理对该话语进行响应。此外,尽管第二个话语没有明确涉及餐馆,但可以使用在第一个话语中建立的上下文来推理没有提及的信息,从否则可能是不明确的请求中形成明确的请求。进一步,关于用户的长期共有知识275(例如,用户常去印度餐厅)和关于用户的短期共有知识(例如,与当前路线关联的旅馆)可以缩小用于解析第二个话语的搜索空间。此外,语音用户界面可以调用响应产生应用来促进会话解析(例如,通过提示用户给餐馆打电话)。因为该集成环境具有跨设备的认识,因此该用户随后的响应会导致明确表达适当命令结构的设备控制应用拨通用户的移动电话,该移动电话可以同于或不同于该导航导航设备。因此,如在此示例中所说明的那样,除其他以外,健全的上下文认识、共有知识、可用应用、和可用系统或设备使得用户能够使用自然语言来定位沿着当前路线与用户偏好匹配的餐馆,同时还允许用户拨打电话给该餐馆,而无需用户与设备手动地进行交互或与麻烦的人机界面交互。

然而应当理解,上述示出的对话仅提供了在用户与包括上述架构200的系统之间发生的合作会话的一个示例。因为该架构200支持自由形式的交互,并且能够容忍在人类讲话、词汇使用中偶然发生的变化、或其他因素,因此应当理解,不需要用户与该系统之间没有两个会话的交互是相似的。从而,用户能够在各上下文之中无接缝地切换,这允许随后的话语发生在各种可用域中(例如,与导航相关的话语“带我到Seahawks体育场”会跟随有跨域的话语,诸如“还有票吗?”或“什么时候开始?”)。因此,尽管各种说明示出了基于代理的架构200能够被用于语音导航服务的示例性方式,但显而易见的是,在给定的话语中,用户可以提供关于各种可用上下文、域、应用、设备、信息源、或它们的各种组合的基于自然语言的语音请求。

架构200内可用的导航应用会解析自然语言、关于导航的基于语音的请求(例如,计算路线、识别位置、显示地图等)。该导航应用能够为用户提供交互的、数据驱动的到目的地或旅途基准点的指示,其中用户可以使用自由形式的自然语言来指定目的地或旅途基准点(例如,用户可以识别全部或部分目的地,包括具体地址、大概的附近地区、城市、地点的名称或类型、商业的名称或类型、人的姓名等)。从而,在各种实现中,导航应用会对全部或部分目的地执行后处理,以识别合适的地址用于计算路线(例如,“有意义”的最近似的地址)。例如,可以对包含全部或部分目的地的话语进行分析,以识别一个或多个可能的目的地(例如,目的地的N最佳列表),可以对这些可能的目的地进行基于各种因素为识别的可能的目的地进行加权的后处理。因此,可以从N最佳列表中识别出的最可能的目的地以提供合适的(初步或完全的)路线。

例如,在示出的用户与语音用户界面之间的会话中,用户可以发出基于语音的输入“带我到西雅图”。基于用户的当前位置(例如,使用一个或多个导航传感器、射频识别器、本地或远程地图数据库等所确定的那样),导航应用可以选择西雅图中的一个地址,提供从当前位置到西雅图的路线(例如,对于长途旅行会选择西雅图的中心点,而对于当前位置近似北西雅图的就会选择西雅图北部的一个地址)。此外,当所请求的目的地未指定最终目的地时(例如,如上述示例那样),用户可以在随后的请求中逐次提炼最终目的地,并且后处理可以连续基于当前位置、当前路线、或其他因素选择另外的地址。例如,继续上述示例,随后的输入“带我到Pike大街”会导致后处理分析当前路线以确定Pike大街的适当地址,并根据需要有可能重新计算路线。从而,当前路线会使得用户驶往Interstate-5的北边界,使得可以在Pike大街上选择与Interstate-5的北边界道路同侧的地址(例如,保留当前路线信息)。结合后处理,继续逐次提炼最终目的地会。从而,只知道目的地沿着Pike大街的500街区向下的用户可以指定“Pike大街501”,并且即使这样的地址不存在,后处理也会找到有意义的最近似的地址,从而指引用户到Pike大街的500街区。

另外,除其他以外,导航应用可以提供动态的、数据驱动的到目的地的指示,或动态地提供路线信息。此外,响应产生应用可以与导航应用和/或一个或多个其他应用一起工作,以产生用户的个性化系统响应。例如,导航应用可以访问与不同用户指定的以及环境数据源相关的数据,以提供沿着路线的个性化的数据驱动指示,可以基于来自数据源的信息对路线进行重新计算或修改。从而,在一个示例中,响应产生应用可以如下产生个性化的数据驱动的指示:

在如上示出的示例中,通过根据一个用户的联系人(即,Bob)形成指示来使得响应个性化,同时使用可用的交通数据源来提供数据驱动的指示。在另一个示例中,能够识别并使用会影响路线的数据来重新计算或识别可替换的路线(例如,会使用天气信息来避免积雪的道路,或使用事件数据来避免会发生抗议的路线)。从而,可以动态地获得数据来识别可替换的路线、重新计算路线、或者提供最佳的路线服务。在各种实现中,数据源可以基于永久的模式、动态地接收的数据(例如,在高峰时段或体育事件期间,给定的高速公路会有规律地具有高流量)、或其他信息。可以自动地重新计算路线(例如,用户偏好会表明要避免交通拥堵,或当用户具有某体育事件的票时不应当避免该体育事件),或者用户可以通过另外的话语请求重新计算(例如,“我不想被堵着,能走别的路吗?”)。此外,对于给定话语可能的答复或响应会根据当前路线进行过滤(例如,可以根据给定的路附近中的那些加油站对话语“帮我找个加油站”所提供的可能的结果进行过滤)。此外,继续上述提供的示例,用户稍后会返回到起点,并且个性化的响应会包括返回指示,诸如“回到你上14大街时的道路”。从而,个性化的响应也可以为指示建立自然的感觉,并且可以基于随时间建立的上下文。

导航架构200可以与能够接收基于语音输入并且提供导航有关信息的电子设备结合使用。例如,架构200可以在手持设备中实现(例如,个人导航设备、移动电话等)、远程通信处理设备(例如,车辆导航系统)、或各种其他合适的设备中。此外,架构200的各种功能方面可以存在于客户设备处、服务器处、或它们的各种组合。例如,可以通过客户设备(例如,个人导航设备)接收基于语音的输入,该客户设备可以与服务器进行通信以检索信息、执行任务、处理出入、或用于其他原因。服务器随后将信息返回到客户设备以对请求进行响应。然而在各种实现中,可以在系统中处理基于语音的输入(例如,通过将与服务器的通信最小化来减少处理延迟)。可以使用其他合适的布置是显而易见的,而且除其他以外,关于信息如何被处理、检索、或返回到用户的具体布置在很大程度上取决于上下文或特定的实现(例如,什么信息能够被本地、远程获得、或用户定制了什么服务等)。

根据本发明的各个方面,图3示出了用于在会话式的、自然语言语音用户界面中动态产生和/或加载识别语法的示例性方法300的流程图。例如,语法生成器应用(例如,如图2所示)可以动态地产生和/或加载识别语法为导航代理、自动语音识别器、上下文堆栈、或语音用户界面中结合识别语法的其他部件使用。虽然语法产生方法300可以被用于自然语言语音用户界面中的各种部件,但该方法300对于减少处理开销和减少混乱或混淆特别有用。例如,通过基于各种因素有效地产生、更新、加载、扩展、或构建动态语法(将在此详细说明),能够避免瓶颈、减少冲突、以及能够优化使用语法对话语进行解释的其他方面。

例如,在各种实现中,语法生成对于包括语音用户界面的系统中的可用资源量来说是很重要的。因此,在操作310处,可以计算系统可用资源量,并且随后的操作320可以基于所计算的资源限制动态语法的尺寸。例如,在嵌入式设备或具有较少动态存储器容量的其他设备中,受限的语法尺寸可以保证只占用必要的资源。因此,大列表(large-list)过分占用处理器能力不会降低小存储器设备中的吞吐量。在另一个示例中,可以通过消除上下文堆栈、共有知识,或其他本地资源中可用的冗余关键字、标准或其他信息,来减少动态语法的尺寸。然而显而易见的是,可以使用各种其他技术来限制语法尺寸,以及有效考虑可用系统资源可以提供各种环境中的处理改进。

在其中用户位置随时改变的导航上下文中,可以使用地理组块技术进一步优化语法产生。例如,可以在给定的时刻确定用户的位置(例如,通过导航传感器、全球定位系统等),并且操作330可以利用所确定的位置来确定与该位置相关的一个或多个地理近似。随后,在操作340处,所确定的地理近似可以被用于识别适合于该确定的近似的一个或多个拓扑域。

因此,可以以各种方式对在操作330中确定的近似进行加权或分析,以确定如何在产生动态语法中使用在操作340中识别的拓扑域。例如,这些拓扑域可以反映物理上的近似(例如,距离当前位置的距离,诸如五英里半径内的所有物体)、民间组织上的近似(例如,区、州、城市、附近地区、分支、地区等)、时间上的近似(例如,从当前位置起的行进时间量,其中公路等级或其他信息可被用于估计最快/最安全的路线,诸如高速公路和洲际公路会比城市或表面公路更快)、方向上的近似(例如,基于方向行进向量,其中基于行进的方向、掉头的时间量等可以认为前方十英里的地点比后方一英里的地点“更近”)、或它们的各种组合。从而,通过将用户的地理近似映射为一个或多个拓扑域,可以对动态语法进行剪除、扩展、或换入或换出存储器、或者产生和/或加载,以基于位置、时间、行进或其他因素提供优化的识别(例如,当用户从一个区域驾驶到另一个区域时,可以将信息换入以及换出语法,沿着驾驶优化信息,以保证系统资源利用与给定位置当前相关的信息)。

此外,可以将这些拓扑域细分为多个瓦区,这些瓦区还可以被细分为多个子瓦区。例如,民间组织拓扑域可以包括表示州的语法信息的瓦区,且该瓦区可以包括该州之内的各郡的一个或多个子瓦区。此外,郡子瓦区可以包括各个城市、附近地区、或者在各个郡之内的其他组织边界的子瓦区。因此,用于构建动态语法的地理近似和拓扑域可以基于各种因素,并且可以以各种方式进行细分或加权,以确定应当在语法中包括什么信息。此外,可以将基于物理上的、民间组织上的、时间上的、方向上的或其他的近似的地理组块扩展到能够设置拓扑分类的各其他域中。从而,地理组块技术在导航或其他依赖位置的语音识别系统中特别具有实用性,而且该技术能够被适当地应用在各种上下文或其中地理或位置相关的域中。

由于各种实现动态地产生识别语法(例如)以保留系统资源,因此可以远程地存储(例如,在服务器上)可用于扩展、更新、或更新语法的信息。因此,各种实现可以包括具有网络连接、数据服务、或用于建立到远程源的链路的另一通信机制的系统。基于对于给定位置所识别的近似和/或拓扑域,可以在操作350从远程资源下载上下文、话语、或一个或多个语法瓦区和/或子瓦区。此外,可以使远程资源适于存储、分析、或处理一定的信息,以提炼在其中存储的语法信息。例如,当给定设备在操作350处与远程源进行通信时,该远程源可以接收关于该设备用户的识别信息(例如,用户偏好、用户特征、请求特征等)、所请求的信息、或者其他信息。基于所接收的信息,该远程源可以动态地更新各种瓦区和/或子瓦区、建立相似性(例如,在用户、同等人、团体等之间)、或执行其他动作以提炼能够识别有关信息的处理(例如,该远程源可以确定共享了某些公共人口统计的各不同用户会对特定事件、位置等感兴趣)。

从而,在操作350下载的语法信息可以基于各种因素,除其他以外,这些因素包括当前基于语音的输入中的信息、用户当前的地理近似、与当前地理近似相关的拓扑域或地理组块、或各种相似性。基于这些和其他因素,可以从本地或远程数据源检索适当的信息(例如,本地存储库可以包含大量语法信息,动态语法会使用其中的一部分来解释话语)。然后,在操作360处,将所接收的信息会用于产生动态语法。从而,可以使动态语法适合于包括对于正确地解释给定话语有利的信息。此外,在操作370处,还可以通过使用一个或多个优化技术(诸如减少语法中的混乱)对所产生的语法进行后处理来进一步改进正确解释的有利性。例如,当在操作360处产生的语法包括两个或多个可能被混淆的元素(例如,具有相同名称的两条或多条街道)时,优化操作370会排除这些元素中的一个或多个以减少混淆(例如,选择与用户当前位置最近似的元素,或者其他标准)。在另一个示例中,当解释根本不正确时(例如,随后的话语是“不对,西北14大街,不是东北”),会剪除该动态语法以消除与该不正确的解释相关的信息(例如,可以去除关于东北的信息)。从而,除其他以外,优化操作370能够减少开销、保证不会重复错误、和/或改进解释的正确性。

尽管针对动态地扩展、剪除、加载、或产生识别语法已经进行了各种示例性说明,但显而易见的是,在操作中,自然语言语音用户界面可以使用各种形式的信息或技术来确定最优的语法。例如,除了基于可用系统资源、混淆的可能性、地理近似、或用户相似性以外,该语法还可以响应于会话的上下文、关于用户的共有知识、和/或自适应的代理行为来产生。从而,可以基于与话语最可能相关的信息,以最小不明确性来构造动态语法以识别查询、命令、或话语中的其他信息。此外,当使用语法中当前的信息不能解析话语时,各种信息源或技术可以以对识别有利的方式用于更新语法。因此,应当将语法产生方法300的上述方面和特征看作仅是示例性的,同时多种变化将不会背离所述发明构思。

根据本发明的各个方面,图4示出了用于使用会话式的、自然语言语音用户界面处理多模式语音输入的示例性方法400的流程图。根据上述图1所述,可以在具有用于接收语音输入的机构(例如,定向麦克风、麦克风阵列、或对语音进行编码的其他设备)的语音用户界面中执行方法400,其中语音输入至少包括语音部分(例如,话语)。使用自然的语言或其他自由形式的表达方式提供在操作410处接收的话语。

此外,为了允许对多模式语音输入进行处理,语音用户界面可以具有用于接收非语音部分的一个或多个输入机构(例如,经由小键盘、触摸屏、尖笔/书写板组合、鼠标、键盘、或其他输入模式提供的输入)。从而,在操作410中,所接收的语音输入可以包括除话语以外的非语音输入部分,从而通过实用多模式输入可以使输入信息量最大化。例如,用户可以使用其他输入方式来澄清话语的含意、提供关于话语的附加信息、减少进行给定请求所需的设备交互数量、或者将就给定话语所提供的信息量最大化。例如,多模式语音输入可以用于与在导航设备上显示的地图进行有效地交互(例如,话语“我只需要看这个区域”可以与圈定地图的给定区域的尖笔输入相耦接,并且输入的组合可以导致显示所圈定的地图部分)。

从而,对于给定的语音输入,判定操作420可以确定语音输入中的话语是否伴随有非语音部分。例如,在各实现中,与语音用户界面相关联的各输入机构可以耦接至交变语音和数据(AVD)系统。因此,输入数据可以在语音和数据之间交变,或者输入数据可以在单个流中复合在一起,以分配在给定时刻所需的处理资源。

当判定操作420确定接收到非语音输入部分时,可以在操作430中将语音和非语音部分进行关联。例如,可以使用精确语音识别技术来处理语音部分,并且如上所详述的那样,除其他以外,可以依据上下文、共有知识、和可用数据源对语音部分进行进一步解析和解释。从而,关联操作430可以产生可以通知上下文、共有知识、或用于处理该语音输入的其他信息的附加信息。例如,如上所述,短期共有知识可以包括会受非语音部分影响的各种用户界面状态的认识。因此,例如通过将话语中的信息关联到非语音输入中的信息(或反之亦然),关联操作430可以辅助语音用户界面开发话语的一个或多个初步解释。例如,多模式输入可以包括用户将尖笔触摸到在触摸屏界面上显示的多个餐馆列表中的一个,同时还提供关于所触摸的列表的话语(例如,“给这个打电话。”)。在此示例中,关联操作430可以将“这个”解释为指的是所触摸的电话列表,提供用于处理该语音输入的附加信息。

但显而易见的是,语音输入不一定要包括非语音部分。从而,当语音输入只包括话语、语言表达、或其他说出来的部分时,判定操作420会将方法400直接前进至操作440。例如,如通过在本说明书的其他部分提供的进一步说明将变得显而易见的那样,自然语言语音用户界面可以有效地解析只包括语音的多种请求。从而,所接收的语音输入能够包括独立的话语,使得能够使用语音在一个步骤中控制导航设备、车辆系统、移动电话、或其他设备。例如,使用现有的导航系统或其他导航界面,即使对于相对简单的任务,用户也必须经常采取多个步骤来配置所显示的地图(例如,需要多个按钮和/或尖笔输入来显示所期望的地图部分)。与之相反,使用自然语言语音用户界面,用户可以使用一步式的语音控制来简化对设备的控制(例如,可以使用话语“向上移动地图”、“向东北方向移动地图”、“向我显示西雅图市区”、或者提供以一步式方式对设备进行控制所必需的全部信息的其他话语来控制地图),这可以显著减少控制设备所需的设备交互量。

在各种示例中,(例如,在操作410中接收的输入是否包括语音、非语音部分、或其各种组合),可以在操作440中识别包含在语音输入中的一个或多个查询和/或命令。一旦产生了多模式输入的一个或多个初步解释,就可以使用适当的上下文信息、共有知识、外部知识源、或其他信息来识别包含在话语中的查询和/或命令。所依赖的信息源可以与各种设备、系统、或集成语音用户界面环境中的其他部件相关联。因此,可以分发与导航设备相关联的信息(例如,地图、感兴趣的位置等),以便和环境中的其他设备共享(例如,能够呈现地图的个人数字助理可以显示与导航设备关联的地图,或者移动电话可以拨打与导航设备关联的感兴趣的位置的电话号码等)。此外,可以以双向方式来共享信息,从而可以与集成环境中的其他设备共享与各种设备有关的信息源。

信息可以永久相关(例如,在通过在服务器、在线数据备份系统、或其他数据存储库上存储所有信息),或者可以将其动态地创建为处理多模式语音输入的功能。例如,用户可以利用商业服务提供商(例如,GMail、Yahoo Mail、或其他能够存储地址簿的服务提供商)来维护联系人的地址簿、电子邮件地址、街道地址、电话号码、或其他信息。当用户(例如,经由语音输入、非语音输入、或多模式输入)进行请求时,其中服务提供商管理用于解析该请求所需的信息,该信息可以被提取并与将用于解析该请求的设备共享。例如,移动电话可以与导航语音用户界面集成(例如,具有GPS接收器的移动电话),并且该移动电话最初(例如,第一次使用)可以没有本地的联系人、地址、电话号码、或其他信息。因此,用户话语“我到Jane家参加宴会有些晚了,给她打电话告诉她我在路上了”会导致向服务提供商的明确表达请求,以为移动电话检索与Jane家相关的地址和电话号码以进行相应的处理。此外,可以处理关于“有些晚了”的信息,以产生避免交通拥堵、使用高速公路、或缩短交通时间的路线。

可以使用多种认知模型、上下文模型、用户指定的模型、或其他模型来在操作440中识别查询和/或命令。例如,给定输入可以包括与一个或多个上下文域有关的信息,这些上下文域中的一个或多个可被调用来解释和/或推理某些关键词、概念、或包含在输入中的其他信息。此外,可以在涉及导航请求和/或命令的混合识别模型中使用关于用户的行为和偏好的短期和长期共有知识。可以使用混合识别模型(使用语义分析和上下文推理的组合)来产生话语的大概或很可能的解释。例如,可以基于给定的上下文历史,将某些音节、词汇、短语、请求、查询、命令、或话语的其他可识别方面识别为更可能出现的情况。上下文历史可以基于关于用户的短期或长期共有知识、当前会话中的以前的话语、给定环境中的共同请求(例如,导航设备大多经常会被用于显示地图、计算路线、和识别位置),或其他信息。因此,除了依赖上下文历史来解析话语意味着什么的各种处理以外,用于操作440的混合识别模型还可以包括用于分析语义方式来解析话语中所说的内容的各种处理。

另外,混合识别模型可以与对等识别模型联合使用或单独使用。例如,除了基于使用或行为的方式提供推理关于用户的信息的基础以外,上下文历史还可以包括各种偏好或用户特征。从而,识别模式可以包括关于全球使用方式、偏好、或者基于全球的对等用户的其他特征的附加认识。例如,在上下文中的所有用户都可以共同地采用某些关键词、概念、查询、命令、或上下文架构的其他方面。在另一示例中,某些人口统计的用户可以共享公共的专用语、俚语、或其他语义语音方式。从而,操作440可以利用在各个方面考虑上下文和语义的各种识别模型来识别查询或命令。例如,除了在给定的环境或上下文中通常可用的信息以外,可以基于特定用户、全球用户、对等用户、或其他有含义的用户抽象的短期或长期行为或偏好,使用上下文和语义来识别语音输入。

因此,一旦识别了包含在话语中的适当的查询和/或命令,则会在操作450中产生适当的响应或执行任务。通过已经提供的说明显而易见的是,所产生的响应和/或所执行的任务会高度上依赖于包含在给定语音输入中的上下文和信息。从而,当某些语音输入不清晰、不明确、或不清楚时,所产生的响应会提示用户进行另外的输入,并且该响应会以有利于识别的方式构成(例如,用户在纽约城时提供话语“Joe’s Pizza在哪里”会返回许多有意义的结果,从而为这些结果加权并显示给用户来选择结果中正确的一个)。

此外,可以使用语音输入来执行复合请求,而使用单一的手动输入是不可能来执行这种复合请求的。例如,单一的基于语音的输入可以包括复合地图控制请求,诸如“向我显示西雅图市区”。从而,操作450会执行检索西雅图地图的任务,并且自动地在西雅图地图的市区部分上放大。此外,可以产生一个或多个响应或其他输出,除其他以外,诸如推荐去往经常目的地的路线、识别用户可能感兴趣的位置、或搜索交通或事件通知。很多其他变体是显而易见的,除其他以外,包括所接收的输入的特征(例如,话语、非语音输入等)、所请求的查询或命令、所产生的响应、以及所执行的任务。从而,显而易见的是,在此示出的方法400可以允许用户以口头、非口头、或其各种组合的方式请求多个不同的与导航相关的任务,从而用户可以请求环境(例如,关于各种设备、信息源等)中可用的各种类型的信息或任务。因此,方法400可以在其中自然语言语音用户界面已经与提供导航服务的一个或多个设备相关联的环境中进行操作。

根据本发明的各个方面,图5示出了用于从被提供到具有会话式的、自然语言语音用户界面的导航设备的语音目的地条目来计算导航路线的示例性方法的流程图。如前所述,语音用户界面可以计算路线、提供去往目的地的动态数据驱动指示、提供去往目的地的动态路线、对全部或部分目的地条目执行后处理、或提供各种语音导航服务。因此,如图5所示,用于计算路线的方法可以支持语音目的地条目的逐次提炼,其中除其他以外,上下文、代理自适应、和共有知识可以使用语音命令、多模式命令、或其各种组合来帮助用户缩小最终目的地。然而,尽管图5具体示出了针对语音目的地条目进行逐次提炼的示例性实现,但显而易见的是,在此说明的技术可以用来执行各种任务,其中能够通过连续的语音或多模式命令在各种域、上下文、应用、设备或采用在此说明的技术的其他部件中缩小用户所要寻找的信息来适当地提炼所概括的近似。从而,可以在各种域中实现逐次提炼,这些域允许用户通过指定关于所要寻找的信息越来越具体的标准来“向下钻入(drill down)”到特定的信息片或数据。

例如,如图5所示,最终目的地的逐次提炼可以包括其中用户以单一的话语、通过多个话语(例如,连续缩小目的地的近似)指定目的地的实例,以及其中系统(例如,通过使用上下文、或共有知识等产生推理)识别目的地的实例。例如,最终目的地的给定近似可以与有限数量的可能目的地相关联,并且该系统能够通过产生推理,通过依赖上下文、共有知识、和其他信息,或者通过其他方式从有限可能的目的地中明确地识别最终目的地将是显而易见的。此外,在另一示例中,逐次提炼目的地可以模仿出租车中的乘客间的人类交互方式,或者其中可以通过一连串交互缩小或提炼路线或目的地的其他类似情况。例如,出租车中的乘客有时会指定一个目的地的大概近似(例如,在弗吉尼亚阿灵顿搭载的乘客会说“我要去华盛顿特区的雾谷(美国国务院的谑称)”),这会导致出租车司机开始沿着优选的路线开车到近似的目的地(例如,司机可能会知道当从阿灵顿开车到雾谷时,要朝着Rock Creek Parkway方向前进)。在去往近似目的地的途中时,乘客和/或司机可以通过一个或多个随后的交互合作来提炼最终目的地(例如,出租车司机会问“你要去雾谷的什么地方?”,乘客会指明“McFadden’s”,这会为司机提供足够的信息来确定到目的地的路线)。

但显而易见的是,两个交互的顺序不必须是相似的。例如,乘客可以提供关于最终目的地的附加信息而无需司机提醒,或者司机直到确认了最终目的地之后才开始开车(例如,当有多条路线可选并且最终目的地对将要选择的路线有影响时)。从而,合作的、会话式的交互可以具有计算到达最终目的地的路线的一般目的,但交互可以以许多不同的方式进行,其中除许多其他因素以外,给定的交互很可能在很大程度上依赖于上下文、共有知识、代理自适应、起点和/或当前位置、用户偏好、动态数据(例如,关于交通、事件、外部系统等)。

因此,如在此的进一步说明,图5所示的方法可以允许语音目的地条目通过使用前述因素(除其他以外)的逐次提炼来通知基于全部或部分目的地输入的路线计算。例如,在与上述出租车司机的示例类似的方式中,语音用户界面(例如,出租车司机)可以具有关于从当前位置到某一目的地的某些优选路线的知识(例如,从阿灵顿经由Rock Creek Parkway到雾谷)。此外,如在图6中将要详细说明的,可以根据当前路线、上下文、或其他知识限制与随后的交互相关联的搜索空间(例如,可以排除位于雾谷的一定近似之外的叫做“McFadden’s”的位置)。

因此,在操作510中,用户可以使用自由形式的自然语言提供全部或部分目的地输入,例如,包括语音命令和/或多模式命令(例如,输入可以包括话语“我要去这里”并伴随有在显示器上的触摸点)。可以以各种方式(包括通过具体地址、地点的名称、人的姓名、商业的名称、附近地区、城市、区域)、或各种其他方式(例如,可以以探索的方式来提供语音目的地条目,诸如当用户希望参观博物馆但还没有决定要参观哪一个时)来指定全部或部分目的地。此外,因为逐次提炼能够容忍不完整的或部分地址,所以可以以使用与逐次提炼相反的方式来提供语音目的地输入,例如,通过缩小地指定所期望的目的地以计算去往所期望目的地的更宽邻近地区的路线(例如,可以通过话语“费城中的Pat’s Steaks”来识别到费城南部的路线,即使Pat’s Steaks有可能不是用户实际的目的地)。

可以使用一个或多个动态自适应识别语法来解析或分析语音目的地输入,例如,如参照图3所说明的那样。例如,可以基于各种因素加载、产生、扩展、剪除或改变识别语法将是显而易见的,各种因素包括到用户当前位置的近似(例如,当用户从一个区域移动到另一个区域时,可以基于当前位置、行进的方向、时间约束等来优化识别语法)、上下文历史(例如,当用户与语音用户界面交互时,可以基于字典、关键词、概念、或与其他上下文、域、设备、应用等有关的其他信息改变语法)、或其他因素。从而,操作520可以包括产生语音目的地输入的一个或多个解释,可以使用各种数据源对其进行分析,以产生可能的目的地的N最佳列表(例如,导航代理可以查询通信录、语音搜索引擎、或其他部件来识别与包含在语音目的地输入中的标准至少部分地匹配的一个或多个目的地)。

可以在操作530中对所产生的可能目的地的列表进行后处理,以为N最佳列表中的条目分配权重或排序。后处理可以包括根据各种因素分析在操作520中产生的目的地列表,以从全部或部分语音目的地输入中确定最可能想要的目的地。例如,后处理操作530可以根据关于用户的共有知识、域指定的知识、对话历史、或其他因素对可能的目的地进行排序或加权。此外,后处理操作530可以分析全部或部分目的地输入,以通过解析关于输入目的地的“有意义”的最近似的地址来识别能够计算至其路线的地址。例如,用户可以指定识别了广阔并且近似的区域(例如,“带我到马萨诸塞州”)的部分目的地,并且根据用户当前的位置、行进的方向、偏好、或其他信息,后处理操作530可以选择对于计算路线有意义的地址(例如,对于有住在德科角的亲戚的用户可以选择德科角中的地址,而对于要旅行到各个流行观光区的用户可以选择波士顿中的地址等)。

因此,可以在操作540中对加权的N最佳目的地列表进行评估,来确定该列表中存在的适当地可识别的目的地。例如,全部或部分语音目的地条目可能是不明确的、或者语音目的地条目中的某一标准或关键词是不能识别的,从而加权列表中的最高排序的目的地没有超过识别目的地所需的最小置信水平。例如,位于俄克拉荷马州的用户可以说出部分目的地,如“我要去华盛顿”,而当语音用户界面不能在华盛顿州、华盛顿特区、圣路易的华盛顿大学、和位于俄克拉荷马城稍微偏南的华盛顿镇之间消除歧义时,判定操作540会返回否定的指示。在另一示例中,从圣路易出发的用户可以提供语音目的地条目“带我到斯普林菲尔德”,即使多个目的地可能都满足最小置信水平,这也会导致不能识别的目的地。在此示例中,因为伊利诺伊州的斯普林菲尔德与密苏里州的斯普林菲尔德都位于到圣路易的合理的距离之内,但是到这两个目的地的行进方向是完全相反的(例如,到伊利诺伊州的斯普林菲尔德的路线包括在Interstate-55上向北行进,而到密苏里州的斯普林菲尔德的路线包括在Interstate-44上向西南行进),所以不能将“斯普林菲尔德”识别为目的地。因此,为了避免将用户指引到与所期望目的地相反的方向上,处理会替代地分支到操作550来产生用于解析该目的地的提示。

例如,该提示会向用户询问问题或要求用户提供能够澄清所接收的语音目的地输入的期望含意的信息。例如,在上面给出的述华盛顿的示例中,多模式用户提示可以在显示设备上显示四个可能的目的地(即,华盛顿州、华盛顿特区、华盛顿大学、和俄克拉荷马州华盛顿)。多模式提示还可以包括系统产生的语音,例如,声明“我找到了多个可能的华盛顿,你是指其中的一个还是别的?”从而,处理然后会进行返回到操作510,其中用户能够通过另外的输入来消除所期望目的地中的歧义(例如,当显示设备包括触摸屏时通过触摸所显示的目的地中的一个,或者说出目的地中的一个、或者通过提供指明所显示的目的地中没有所期望的目的地的另外信息)。在此之后,随后的N最佳列表更有可能得出可识别的目的地,这是因为能够在考虑对话历史的情况下来解释原始的语音目的地输入。

可替换地,当至少一个可能的目的地被明确地识别,同时满足最小置信水平时,肯定的指示会导致处理进入另一个判定操作560,该判定操作控制如何计算去往所识别的目的地(例如,目的地的加权N最佳列表中的最高排序的条目)的路线。判定操作560可以确定所识别的目的地是否提供全部或完整的目的地。例如,通过逐次提炼,部分语音目的地条目会导致可识别但不完整的目的地。从而,操作570可以计算去往所识别的部分目的地的初步路线。在此之后,随后的处理返回到操作510,在这里语音用户界面会等候对部分目的地进行提炼的其他语音目的地输入。此外,在各种实现中,可以产生一个或多个系统提示来请求其他语音目的地输入(例如,当用户近似该部分目的地并且需要其他信息来提供进一步路线时,或者当用户近似初步路线中的地点,在该地点处走不同的路线会到部分目的地之内的不同的拓扑子瓦区或地点时,等)。

因此,处理操作510-570可以迭代地进行重复,直到能够通过使用一个或多个多模式语音目的地条目进行逐次提炼来识别最终目的地。从而,当已经识别了合适的最终目的地时,在操作560后执行操作580,来完成到最终目的地的路线。例如,可以通过将去往部分目的地的路线推理成去往最终目的地的完整路线来完成路线。此外,显而易见的是,可以在途中(例如,当用户沿着初步路线行进时逐次提炼最终目的地)、预先(例如,用户可以选择在识别出去往最终目的地的完整路线时开车)、或以其他方式将语音目的地条目逐次提炼成最终目的地。

此外,如在此进行的详细说明那样,可以基于随后的输入、产生的推理、动态数据、或各种其他信息源来动态地调整或重新引导已经计算的路线(例如,可以响应于关于交通状况、绕路、事件、天气状况、或用户偏好、或者其他因素的动态数据产生会导致动态路线的推理)。因此,图6示出了根据本发明的各个方面的用于基于当前导航路线提供语音服务的示例性方法的流程图。语音用户界面可以使用如图6所示的方法,以动态的、数据驱动的方式提供语音服务,其中可以基于上下文、关于用户的共有知识、或其他信息源来以定制的方式提供该语音服务。

因此,基于当前路线提供语音导航服务包括在操作610中识别当前导航路线。可以从初步路线或完整路线中识别该路线,如根据上述参照图5进行说明的技术所计算的那样。因此,当前路线信息可用于各种系统部件,以处理事件或语音输入、产生响应、明确说明查询、解析命令、或执行在语音导航服务环境中可用的其他处理服务。从而,除其他以外,当前路线信息可以提供关于解释语音输入、朝着解析输入采取行动、或响应于事件的进一步上下文。因此,尽管没有在图6中示出,但是也可以根据当前路线利用各种其他上下文信息源来提供语音导航服务。例如,除其他以外,用户的偏好会限制车辆能够行进到的位置,或者车辆能够行进的长度(例如,用于保证运输或乘客在规定路线上前进,或用于对年轻司机设置父母控制等)。在另一示例中,语音用户界面可以具有一个或多个外部系统或设备的认识、动态数据源、或其他信息,可以利用这些来确定如何最好地提供语音导航服务。

因此,一旦在操作610中识别出了当前路线,连同其他关于上下文、共有知识、或另外适当的信息一起,判定操作620可以确定所识别的信息是否导致会产生和/或检测的事件。当没有事件能够被产生和/或检测到时,处理进入到判定操作630,其确定是否已从用户接收到了语音输入。从而,在此示出的方法会在判定操作620和630中循环,直到检测到一个或多个事件和/或接收到语音输入。

能够在判定操作620中被检测到和/或产生的一种类型事件涉及导航系统的位置依赖的广告(例如,由本地或远程广告引擎、或经由数据信道、或者以其他方式所产生的)。例如,在各种实现中,可以使用如于2007年2月6日提交的题为“System and Method for Selecting and Presenting Advertisements Based on Natural Language Processing of Voice-Based Input”的同时待审的美国专利申请11/671,526中所说明的技术来产生和/或检测广告事件,通过引用将上述专利申请的全部内容并入本文。例如,显而易见的是,导航系统将必要地包括用于确定导航系统当前位置的一个或多个系统或机构(例如,全球定位系统、射频识别系统、基于到可识别的天线塔或接入点的距离确定位置的系统等)。此外,自然语言语音用户界面可以以附加至或独立于位置检测系统的多种其他方式来确定位置(例如,显而易见的是,在位置检测系统故障时,自适应的提示肯定会从用户请求位置信息,或者可以使用利用共有知识或上下文的其他技术)。

因此,在一个示例中,操作620可以包括检测和/或产生关于位置依赖的广告的事件。商人或其他设法到达目标听众的实体可以沿着道路两旁、或者系统可以检测射频标识符(RFID)的其他位置简单地散布射频识别器(RFID)。然后,商人或其他实体可以经由与该RFID相关联的数据信道广播一个或多个广告,从而当导航系统位于RFID合适的邻近之中时触发事件。因此,处理将进行到操作650,其中可以根据当前路线信息或其他上下文参数对与事件相关的信息进行过滤。如应用到此示例的那样,过滤操作650可以包括监视数据信道以分析与检测到的RFID相关的信息,从而在该数据信道上接收广播的广告。因此,例如,可以以如何分析用户语言的类似方式对包括语音的广告进行分析(例如,保持涉及广告的语音的认识)。

因此,可以考虑到当前路线、个人信息(例如,以前的查询、偏好、历史等)、或其他因素对广告事件数据进行过滤,来确定在操作660中应当采取什么动作。例如,广告可以与设法到达个人导航设备的本地餐馆相关,该个人导航设备不必需具有完整的商业数据库。因此,在一个示例中,当共有知识表明用户愿意尽早到达目的地而不做没有必要的停留时,过滤操作650会丢弃广告。在此情况中,操作660可以有效地为空操作,或可以仅包括显示与广告相关的图片,以允许用户对是否要停一下进行独立的选择。然而,在不同的示例中,用户可能已经提供了之前的语音输入,表示希望停止驾驶并在沿途的某个地方吃午餐。因此,在此示例中,操作660可以包括讲出来的输出,引起用户对于该餐馆的关注,有可能询问用户是否要临时转移路线以便在该餐馆停车吃午餐。

然而,应该理解,上述基于RFID的广告仅提供了可以在操作620中检测到的可能广告事件的一个示例。例如,可以由一个或多个广告合作商将广告上载到服务器,其中上载的广告可以关联有元数据或识别目标听众的其他描述信息、位置依赖的信息、或其他标准。在另一示例中,可以在语音用户界面处本地存储多个广告,并且推理引擎可以确定应当产生事件的适当的环境,来向用户传送一个或多个广告。从而,显而易见的是,可以以多种方式产生广告事件,并且可以本地地、远程地、通过检测RFID或以其他方式产生和/或检测广告事件。

此外,当向用户传送广告时(例如,在操作660中),可以跟着用户与所传送的广告的随后交互。以此方式,可以产生基于模型的相似性,例如,以保证向可能的目标听众传送宣传或广告。从而,当关于用户的行为、偏好或其他特征的共有知识与关于与广告的对等相似性相关的一个或多个标准匹配时,在操作620中可以产生和/或检测与给定广告相关的事件。例如,商人可以为特定的人口统计的听众提供奖励优惠券,并且可以使用对等相似性来保证只向有可能成为有意向的听众提供这些优惠券(例如,避免向包括没有可能的顾客的整个市场提供这些优惠券)。因此,当用户落入特定的人口统计听众时,会由广告引擎在服务器上本地产生、或以其他方式产生一个或多个事件,来向用户传送一个或多个奖励优惠券。

在其他示例中,广告模型可以包括移动每次使用付费系统(例如,基于每次使用付费通过无线接入点提供的网络接入)、对等本地指南或推荐(例如,可以表明各种对等用户分类的相似性,这些对等用户会对相似的感兴趣的位置、事件、本地餐馆、商店、活动、游览胜地、或本地区域的其他方面感兴趣)。另外,如上参照图3详细说明的那样,可以根据应用于各种拓扑域的映射产生广告模型的各个方面(诸如本地指南或推荐)。例如,本地指南或推荐可以依赖于拓扑特征(例如,对于各个城市、社区、位置等的不同指南)。从而,本地指南、推荐、或广告模型的其他方面可以与基于地理组块的拓扑分类相关联。从而,可以根据物理上的近似、时间上的近似、方向上的近似、民间组织上的近似、或它们的各种组合来产生和/或检测各种广告事件(例如,对等推荐可以依赖于用户的位置、行进的方向、时间约束等进行改变)。

除了在操作620中可以产生和/或检测与广告相关的事件以外,自然语言语音用户界面还可以通过上下文的认识、关于用户的共有知识、外部系统和设备、或其他信息来产生另外的事件。例如,如上参照图2说明的那样,语音用户界面可以在基于代理的架构中实现,其中多个代理中的一个或多个代理可以包括推理引擎。但显而易见的是,该推理引擎可以以各种其他方式被布置在语音用户界面之中。例如,语音用户界面可以在会话语言处理器之中包括推理引擎,在这种实现中,该推理引擎可以产生、检测、并向语音用户界面的各个部件分发事件。在另一示例中,在与各代理相关联的推理引擎之中,管理推理引擎可以协调事件产生和/或检测。从而,显而易见的是,语音用户界面可以包括一个或多个推理引擎的适当的布置,从而使得当事件和推理产生时,他们可以被检测、产生、并分发给各个系统部件。

因此,除其他以外,该一个或多个推理引擎可以利用上下文的认识、关于用户的共有知识、动态数据源、与外部系统或设备有关的数据和服务,来产生和/或检测在操作620中识别的事件或其他推理。当存在当前导航路径的时候发生事件或其他推理时,在操作660中产生响应和/或执行任务之前,会在操作650中对这些事件或其他推理进行过滤。

例如,推理引擎可以利用个人信息(诸如在用户的地址簿中的用户经常拜访的特定人)来产生建议对当前路线进行改变的事件。因此,在此示例中,在当前路线或当前位置信息反映处到与地址簿中的人所关联的地址的某一近似时,推理引擎可以产生事件(其可在操作620中被检测到)。然后,操作650可以通过确定可能的响应或一系列动作对该事件进行过滤,用于以和当前路线一致的方式处理该事件。例如,与当前路线相关联的信息可以表明用户已经完成使命并在回家途中。此外,用户地址簿中的日历可以表明该用户在当天晚些时候有个约会,但在接下来的几小时中没有日历项。因此,操作660中产生的示例性响应可以包括基于话语的输出“你离Jane家很近,你想要顺便拜访一下吗?”

尽管上述示例示出了使用个人信息产生的事件,但显而易见的是,可以利用各种可用信息源来产生和/或检测事件。例如,事件可以基于关于社区、交通、天气、和/或许多其他数据源的暂时的或动态的数据(例如,所产生的事件会导致输出“今晚的足球比赛在你家附近的体育场进行,你想去吗?”,其中足球比赛可以是本地社区事件)。

在又一个示例中,各种类型的外部系统认识会触发事件并从语音用户界面产生语音响应。例如,可以将语音用户界面耦接到各种车辆或远程通讯业务系统,提供基于这些系统的状态的认识。因此,当车辆系统表明车辆将很快缺油时,可以产生事件,导致提示用户停车加油的语音响应。此外,可以根据当前路线信息对外部系统认识进行过滤(例如,结合推理引擎),其中会进行计算,表明汽油量足以沿该路线到达下一个加油站,但不足以到沿该路线的再下一个加油站。从而,基于路线的过滤操作650会导致在操作660中产生的响应,该响应提供用户必须在下一个加油站停车加油的语音警告。

回到操作630,还可以考虑到当前路线信息对用户提供的语音输入进行处理。如前所述,在语音输入中说了什么的解释(例如,话语的内容)可以基于各种语音模型、字典、上下文历史、对话历史、以及能够形成识别语法的其他信息。此外,除其他以外,上下文、共有知识、以及可用数据和服务可以被用于解释语音输入的含意(例如,话语的意图)。从而,使用在此进行说明的各种技术以及并入的同时待审的美国专利申请中的技术,可以在操作640中识别包含在话语中的查询、命令、或其他请求。当存在当前路线时,可以根据当前路线对可能的任务域、命令、查询结果、响应、和/或其他系统动作进行过滤。例如,可以考虑到当前路线对语音输入“最近的卫生间在哪里”进行分析。然后可以考虑当前路线利用各种近似(例如,行进的方向、物理的距离、时间的距离等)来确定哪个卫生间是合适的。因此,当使得用户行进更长距离的路线,例如,在前面二十英里休息区的卫生间会比高速公路下十英里处的餐馆的卫生间更合适(例如,以避免用户离开当前路线)。

此外,在许多示例中,代理或其他处理部件会需要明确地表述到各个不同数据源的多个查询,以对请求进行解析。从而,用于执行任务的操作660会确定需要什么推理、元数据、或其他信息来向数据源明确地表述查询,以对请求进行解析。从而,关于导航的语音请求可以包括不必被连接到导航,或者不必在导航信息的数据库或其他数据源中的信息。虽然如此,但是通过与各种可用信息源相耦接,负杂或复合的查询会被明确地表述以从各种数据源检索信息,以解析给定的请求。此外,给定的话语可以包括多个请求、查询、或命令,从而响应于该话语所执行的给定的响应或任务可以包括与各种不同的系统部件进行的交互。因此,在示出的示例中,话语“找到离林地公园动物园最近的7-11便利店”会包括:第一个查询,识别林地公园动物园的位置;第二个查询,找到在林地公园动物园一定的半径以内的一个或多个7-11便利店;第三个查询,确定用户当前的位置;以及第四个查询,调用推理引擎来基于各种用户近似以确定哪个7-11便利店是“最近的”。因此,假定存在两个7-11便利店到林地公园动物园的距离相等,一个在动物园的东边一个在动物园西边,则可以利用用户的当前位置来确定选择哪个7-11便利店;与之相反,单纯基于到动物园的物理的近似会导致不明确的结果。

尽管上述提供的说明使得自然语言语音用户界面如何提供语音导航服务的具体示例和举例说明更加显著,但应当理解,如上提供的说明、示例、和操作模式仅仅应当被看作是示例性的。自然语言语音用户界面可以高度容忍人类口头交互中的变化,并且可以利用上下文、共有知识、和可用数据和系统,与任何给定的用户以改进相互目的的会话方式有效地进行交互。从而,用户与语音用户界面之间的交互可以被看作唯一发生的事情,这是因为用户在给定的交互中可以以自由的形式说出关于各种可用数据源、应用、或设备的请求。因此,语音用户界面可以动态地自适应、学习、以及提炼可操作的架构,以在语音导航服务环境中提供最佳的服务。

本发明可以实现在硬件、固件、软件、或其各种组合中。本发明还可以被实现为在机器可读介质上存储的可以被一个或多个处理器读出并执行的指令。机器可读介质可包括以机器(例如,计算设备)可读形式存储或传递信息的机构。例如,机器可读存储介质可以包括只读存储器、随机存取存储器、磁盘存储介质、光存储介质、闪存设备等,以及机器可读传递介质可以包括传播信号的各种形式,诸如载波、红外信号、数字信号等。此外,根据本发明的具体示例和实现在上述公开中说明了固件、软件、程序、或指令,并且这些固件、软件、程序、或指令执行一定的动作。但是,本领域技术人员应当认识到,这种说明仅仅是出于方便的目的,实际上这些动作由计算设备、处理器、控制器、或者执行固件、软件、程序、或指令的其他设备产生。

将各个方面和实现说明为包括特定的特征、结构、或特性,但每个方面或实现并不必须包括所述特定的特征、结构、或特性。此外,当结合方面或实现对特定的特征、结构、或特性进行说明时,应当理解,本领域技术人员能够结合其他方面或实现来实现这些特征、结构、或特性,而无论是否进行了明确地说明。因此,在不背离本发明的范围或精神的条件下,可以对所提供的说明进行各种改变和修改。从而,应当将说明书和附图看作仅是示例性的,而本发明的范围只由所附权利要求书进行限定。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号