首页> 中国专利> 基于意图的用户体验

基于意图的用户体验

摘要

提出了有助于在应用程序内完成任务的技术。通过从用户处接收到对关于应用程序(例如,生产力应用程序)的使用的意图的自然语言陈述,基于意图的用户体验是可用的。可以基于用户的意图来配置或重新配置针对用户的图形用户界面;从而创建面向任务的用户界面。通过将对意图的自然语言陈述进行分类和/或映射至特定的任务(这些特定的任务可以接着与可以用于完成任务的一个或多个工具或信息相关联),可以确定用户的意图。所述一个或多个工具或信息可以在图形用户界面中向用户出现。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-26

    授权

    授权

  • 2016-08-31

    实质审查的生效 IPC(主分类):G10L15/18 申请日:20141211

    实质审查的生效

  • 2016-08-03

    公开

    公开

说明书

背景技术

现如今,用户面临着复杂的软件应用程序中的日益增多的特征和功能。当用户希望在应用程序中执行操作时,他们通常被迫搜索长菜单和嵌套的子菜单来查找期望的命令。虽然可以按照功能对命令进行分组,但是特定命令的分组(和位置)可能无法以对用户来说合乎情理的方式进行分组(或定位),并且,无论如何,一些操作需要置于不同的菜单和按钮上的多个命令。

用户有时会借助帮助界面来找到正确的命令,但是用户很难找到不能用言语将其描述表达得足够好以在帮助中进行搜索的命令。此外,无论是在菜单中搜寻命令还是在搜索结果中查找,都不能允许用户发现他们认为有用的新的命令。对于除非应用程序处于特定的状态,否则不出现的命令或菜单也可以是这种情况。例如,除非选择了图像,否则针对对图像进行编辑的某些命令(和菜单)可能不会出现。此外,正当用户开始学习他们经常使用的命令的布置时,可能发布软件应用程序的新版本,其改变了许多命令的用户界面位置并且增加了额外的命令。

发明内容

呈现了有助于完成应用程序中的任务的技术。描述了一种用户体验,其中,用户可以通过使用自然语言陈述来传送与任务有关的目标或意图,并且相关的用户界面元素可以出现以供用户在完成该任务时使用。以这种方式,可针对多种生产力应用程序来提供面向任务的可重新配置的界面。

不同于通过菜单或按钮工具栏搜索应用程序的命令和特征,交互界面使用户能够将意图言语化来完成给定的任务或目标,并且接收用于实现该任务或目标的工具和信息。所述言语化可以是对期望的结果、目标、问题、任务或其它意图的陈述。也就是说,用户的陈述可以有效地作为任何事物,并且不需要与命令的名称(即,命令名或同义词)直接相关的术语。所述陈述可以是自然语言陈述,系统将所述自然语言陈述解析成“意图”,所述意图接着被映射成包括可以经由一个或多个应用程序而对用户可用的命令、特征和信息的元素。

面向任务的可重新配置的界面表现为与可用于生产力应用程序的更加传统的图形用户界面类似,但是具有增加的窗格、窗口、下拉菜单、框或其它图形元素。而在其它情况下,可以完全基于与用户的确定的意图相关的元素来渲染面向任务的可重新配置的界面。

提供了该发明内容以用简化的形式介绍在下文的具体实施方式中所进一步描述的概念的选择。该发明内容不旨在排他性地标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。

附图说明

图1示出了基于意图的用户体验的功能图。

图2A和2B示出了基于意图的用户体验的用户界面元素的呈现的示例表示。

图3A和3B示出了用于实现基于意图的用户体验的面向任务的用户界面的初始视图。

图4A和4B示出了用于接收对意图的自然语言陈述的示例交互元素。

图5A-5G示出了响应于接收到对意图的自然语言陈述而出现的面向任务的用户界面的视图。

图6A示出了其中可以实行基于意图的用户体验的某些实现的操作环境。

图6B示出了使得应用程序的一般化的模型能够发布其可用的意图和界面元素的示例实现。

图7A-7C示出了针对示例场景的面向任务的用户界面的视图。

图8描绘了面向任务的用户界面的另一示例场景。

图9描绘了面向任务的用户界面的另一示例场景。

图10是示出了在一些实施例中所使用的计算设备或系统的组件的框图。

图11示出了其中可以实行实施例的示例系统架构。

具体实施方式

呈现了有助于在应用程序中完成任务的技术。

在本文所描述的示例用户体验中,可以响应于由用户所传送的对目标或意图的自然语言陈述,而呈现相关的用户界面命令。在本文中所描述的实施例允许用户无论是在应用程序内还是在应用程序之间,都能快速找到并利用与他们所预期的目标相关的功能。如在本文中所使用的,“自然语言”陈述是指在任何给定时刻对用户来说都是直觉的术语。所述陈述(字符串、短语或其它表达)可以基于书面或口头语言结构,并且可以包括标准化和非标准化的方面。

本主题技术适用于生产力应用程序。生产力应用程序可以包括能够有助于完成有关生产内容的多种任务的多种工具和信息。

生产力应用程序的示例包括来自微软公司的应用程序套件,其中包括及其Web应用程序组件,其全都是微软公司的注册商标;GoogleDocs(和GoogleDriveTM);可以从Apache软件基金会获得的ApacheOpenOfficeTM;可以从文档基金会获得的应用程序套件,其是文档基金会的注册商标;以及苹果公司的应用程序套件,包括以及其全都是苹果公司的注册商标。

根据某些实施例,以提供面向任务的用户体验的方式呈现了生产力应用程序的用户界面。面向任务的用户体验以适合于解决特定的任务的方式来呈现用户界面组件。示例用户界面组件(或元素)包括但不限于,命令、菜单、输入栏、图标、组合和交互表面、以及对象。

在一些情况下,可以在面向任务的用户体验中出现的用户界面元素包括调用另一应用程序或者与另一应用程序进行通信的元素。

图1示出了基于意图的用户体验的功能图;并且图2A和2B示出了基于意图的用户体验的用户界面元素的呈现的示例表示。

参考图1,用户可以通过使用自然语言陈述(100)来传送与可以在生产力应用程序中完成的任务相关的目标或意图。可以经由任何技术来提供自然语言陈述,所述技术使得用户能够以对用户是直觉的方式对在生产力应用程序中完成给定的任务或目标的意图进行言语化。所述陈述本身可以是对期望的结果、目标、问题、任务、或者关于使用生产力应用程序的其它意图(例如,寻求帮助、重新搜索网络、以及完成任务(例如“预定会议”)的陈述。

对意图的示例自然语言陈述包括“使这更漂亮”、“这看起来太混乱”、“翻页”、“度假计划”、“我要去度假”、“写备忘录”、“整理我的笔记”、以及“制作图片卡”。如这些示例所示,用户的陈述可以有效地是任何事物,其可以用语言表达、可以包含使用应用程序(用于内容的创建和/或组织),并且不需要与应用程序中可以用于完成任务的命令或菜单项的名称直接相关的术语(即命令名或命令名的同义词)。

意图至元素(intent-to-element)引擎110可以接收用户的自然语言陈述100,该意图至元素引擎110可以确定自然语言陈述的“意图”,并且确定对应于该意图的应用程序元素(信息和/或工具)。用户不需要了解用户正在使用的特定应用程序的参数结构。相反,意图至元素引擎110可以在用户与基础应用程序或多个应用程序之间提供层。

意图至元素引擎110可以将自然语言陈述转换成与通过访问意图数据库111由自然语言陈述所表达的意图相对应的用户界面元素,所述数据库111可以包括将与用户的陈述相关的任务映射至特定的用户界面元素112的结构化信息。

通过针对可以对应于自然语言陈述的可能的相关的任务来分析自然语言陈述,并且使用意图数据库111来取回与可能的相关任务相关联的一个或多个用户界面元素,可以将自然语言陈述转换成用户界面元素。作为一种分析技术,可以例如经由聚类技术将对意图的自然语言陈述参数化。

因此,响应于接收到用户的对意图的自然语言陈述100,意图至元素引擎110可以生成可以被呈现给用户120的用户界面元素,以便帮助用户完成与所确定的意图相关联的任务。有利地,某些实现可以包括揭示用户可能不知道的或者可能无法直接访问的基础生产力应用程序的特征。例如,所禁用的命令(基于具体的对象的选择而可用的上下文相关的命令)、新命令、有关的命令、常用命令、以及最近使用的命令都可以作为针对给定的意图的结果的集合的一部分而出现。

可以从单个应用程序中或者从多个应用程序中获得用户界面元素112,所述应用程序包括但不限于文字处理器、电子表格、演示设计应用程序、照片编辑工具、电子邮件应用程序、任务追踪应用程序、个人信息管理器、图形设计程序、桌面出版工具、或网络浏览器。示例应用程序包括以及所述应用程序可以驻留在用户的设备上、驻留在云服务中并远程地渲染到设备显示器上、或其任何组合。也可以在Web浏览器内渲染所述应用程序。

某些实现利用意图映射服务,该意图映射服务可以根据接收到的对意图的自然语言陈述对意图进行分类,并且接着提供可以用于实行该意图的相关的界面元素(包括工具和信息)。当实行其功能时,意图映射服务可以访问来自网站的外部信息、经由收集服务的来自多个用户的使用数据、以及从用户使用习惯、网络位置、或其它来源收集的上下文信息。

由于可以响应于接收到用户的自然语言陈述(或对用户的意图的自然语言陈述的至少一部分)而呈现用户界面元素,因此,生产力应用程序的用户界面可以被认为是面向任务的可重新配置的界面。也就是说,可以基于当前对意图的自然语言陈述来配置和重新配置生产力应用程序的用户界面(例如,图形用户界面)。

随着预测技术变得更加先进,一些生产力应用程序的菜单可以包括预测性命令表面。这种预测性命令表面也可以被包括在面向任务的用户体验中。因此,不仅用户所陈述的任务、目标、或者对意图的其它自然语言陈述可以影响用户界面和可用的命令的呈现,而且还可以考虑用户做出该陈述的上下文以预测用户可以期望的接下来的一个或多个命令或信息。

取决于特定的实现,可以用多种方式将用户界面元素呈现给用户。例如,如在图2A中所示,用户界面元素可以被呈现为生产力应用程序界面211中的下拉菜单或列表210。作为另一示例,如在图2B中所示,映射至意图的用户界面元素(例如,元素220-A、220-B、220-C)可以为用户构成整个生产力界面,以提供诸如组合表面、任务或菜单窗格、以及信息或工具之类的元素。

被提供给用户的用户界面元素(其可以被映射为完成特定的任务或其它确定的意图)可以包括分离的应用程序命令;诸如文本输入框、按钮、菜单、下拉菜单、工具栏、或在本领域中公知的其它控件之类的用户输入设备;或者甚至是包含已经动态布置在用户界面中的控件或菜单的用户输入设备的组合。“信息”可以包括来自应用程序的帮助文件的文章、由应用程序发布的或者位于网站上的教学视频、百科文章、研究结果、搜索结果、来自公司知识管理系统或企业内部网的内容、网站内容、搜索结果、或者已经由意图映射服务确定为与用户意图相关的任何其它内容。

图3A和3B示出了用于实现基于意图的用户体验的面向任务的用户界面的示例初始视图;图4A和4B示出了用于接收对意图的自然语言陈述的示例交互元素;并且图5A-5G示出了响应于接收到对意图的自然语言陈述而出现的面向任务的用户界面的示例视图。

面向任务的可重新配置的界面可以表现为与可用于生产力应用程序的更加传统的图形用户界面类似,但是具有增加的窗格、窗口、下拉菜单、框或其它图形元素。而在其它情况下,可以完全基于与用户的确定的意图相关的元素来渲染面向任务的可重新配置的界面。

参考图3A,初始视图300-A可以包括生产力应用程序的用户界面中所预期的功能,其中,所述生产力应用程序包含用于接收对意图的自然语言陈述的交互元素310。例如,组合表面320和工具栏命令330可以被渲染为用户界面的一部分。

如在图3B中所示出的另一实现中,初始视图300-B可以表现为空白或清晰的画布、或是具有交互元素310的窗口。

可以任何合适的方式来实现交互元素310以指示对意图的自然语言陈述的输入。例如,如在图4A中所示的文本框输入栏交互元素311可以接收经由键盘、小键盘、触摸板、笔/触摸笔、或其它输入设备的文本输入。作为另一示例,如在图4B中所示,可以提供语音输入交互元素312。

一旦接收到对意图的自然语言陈述,就可以出现与实行用户的意图相关的一个或多个用户界面元素。图5A示出了可以出现在生产力应用程序界面之上或旁边的面板501。图5B示出了可以从交互元素310中出现的下拉菜单502。图5C示出了可以出现在生产力应用程序界面中的工具栏元素503(并且其可以提供用于实现所预期的任务的一个或多个工具,其中这些工具也可以通过传统的菜单可用,但非必须在相同的分组中)。

图5D示出了示例,其中菜单504可以从交互元素310中下拉,并且还可以响应于从例如初始视图300-B中接收到对意图的自然语言陈述而渲染交互表面505以用于生成内容。图5E示出了类似的示例,但是其中浮动菜单506可以与交互表面505一起出现。

图5F示出了示例,在该示例中,面向任务的界面是在生产力应用程序界面上打开的分离的窗口(或浮动工具条),并且包括用户界面元素部分507和交互元素310。图5G示出了跨设备实现面向任务的界面的示例。在图5G中所示出的示例中,一个设备509可以用于经由交互元素310来接收输入,而第二设备510可出现用户界面元素。示例用户界面元素包括面板510-A(具有工具和/或信息)、组合/交互表面510-B、以及工具栏或菜单工具和/或信息510-C中的一个或多个。

所公开的系统和技术允许用户表达具有更大或更小的粒度的任务意图,所述意图接着由意图映射服务转换成相关的应用程序特征。在一些情况下,可以包括槽填充范例。例如,可以提供槽或输入栏作为意图提取对话的一部分。还可以包括拼写检查。意图映射服务可以用在本文中所描述的多种方式将意图组织(curate)成特征。在一些实施例中,甚至可以构建更加复杂的用户界面表面以简化对特征的访问。对所有用户而言,所公开的技术使得应用程序的使用更加简单,使得应用程序更易于在具有小显示器或触摸显示器(例如,某些菜单和/或工具栏可能占用太多空间的设备显示器)的设备上使用,并且提高具有多种障碍的用户的可访问性。

图6A示出了在其中可以实行意图映射体验的某些实现的操作环境。在图6A中,可以在用户设备612的显示器611上对用户610正在使用的应用程序605的用户界面(UI)600进行渲染。应用程序605可以直接在用户设备612上运行,或者经由在用户设备612上运行的浏览器而运行。用户设备612可以是但不限于,个人计算机、膝上型计算机、台式计算机、平板计算机、阅读器、移动设备、个人数字助理、智能电话、游戏设备或控制台、带有光学头戴式显示器的可穿戴计算机、计算机手表、或者智能电视,其中,以下将参考图10所讨论的计算系统1000是代表性的。

UI600可以由应用程序605的意图映射组件615配置和/或影响。意图映射组件615可以以可以由应用程序605所调用(或启用)的一个或多个软件模块为形式。意图映射组件615可以提供指令以实行在本文中所描述的有助于基于意图的用户体验的一种或多种方法。

可以通过与应用程序605相关联的交互元素来指示用户的意图或目标。在最简单的层面上,意图或目标的描述可以是所期望的特征的名称的全部或一部分。然而,在大多数实施例中,可预计到对意图更加鲁棒的描述,其通常包括对用户想要完成的跨越多个应用程序命令或特征的任务或目标的自然语言描述。可以用多种方式来描述用户的意图,例如,用文本键入、用语音命令说出、或者从列表中选择。在一些实施例中,意图甚至可以是非言语化的,例如当应用程序识别出用户在几个动作之后反复选择“撤消”时,指示用户对如何执行任务感到困惑。这里,该意图可以被描述为“言语化的”,但应注意的是,该术语的使用不旨在将意图陈述限制为说话。

意图映射组件615可以有助于将对意图的自然语言陈述映射至一个特定的任务(或多个任务)以及在实行该特定的任务(或多个任务)时有用的对应的用户界面元素。

可以使用多种技术来完成对用户的意图的解释并将其与特征和信息进行匹配。在一些实施例中,可以通过UI600将自然语言意图陈述的文本发送至软件层,该软件层执行确定用户的意图并且将用户的意图映射成与完成所预期的任务相关的特征和信息的活动。

该软件层可以是“意图映射服务”620、622。应当注意的是,意图映射服务的全部或一部分可以驻留在用户的计算设备上、跨多个机器分布、或者甚至驻留在云服务上。实际上,单数的“意图映射服务”可以由彼此进行通信的多个子服务组成。意图映射服务或其组成部分的子服务的物理位置将根据实现而变化。

在一些实现中,可以使用远程意图映射服务620。基于意图的用户体验的一些方面在用户设备612上被执行,并且被渲染以用于在用户界面600中显示,同时其它方面可以至少部分由意图映射服务620、622来执行。

诸如服务器计算机、台式计算机、膝上型计算机、平板计算机、智能电话,或者任何其它合适的计算设备之类的各种类型的物理或虚拟计算系统可以用于实现意图映射服务620。当使用服务器计算机来实现时,可以使用多种服务器中的任何一种,包括但不限于,应用程序服务器、数据库服务器、邮件服务器、机架式服务器、刀片服务器、塔式服务器,或者任何其它类型的服务器、服务器的变型、或其组合。

意图映射组件615可以通过网络与意图映射服务620进行交互。所述网络可以包括但不限于,蜂窝网络(例如,无线电话)、点对点拨号连接、卫星网络、互联网、局域网(LAN)、广域网(WAN)、WiFi网络、自组织网络、内联网、外联网、或其组合。这样的网络广泛地用于连接各种类型的网络元件,例如,集线器、桥接器、路由器、交换机、服务器、和网关。网络可以包括一个或多个连接的网络(例如,多网络环境),其包括公共网络(例如,因特网)和/或专用网络(例如,安全的企业专用网络)。如本领域的技术人员可以理解的,可以经由一个或多个有线或无线接入的网络来提供对网络的访问。

在某些实现中,意图映射组件615使用意图映射服务620的应用程序编程界面(API)来促成与UI600进行交互的用户610和意图映射服务620之间的交互。

在一些实现中,可以使用本地意图映射服务622代替远程意图映射服务620。本地意图映射服务622可以在用户设备612上提供层,使得对用户的意图的自然语言陈述能够被解释为来自一个或多个应用程序的用户界面元素。意图映射组件615使用意图映射服务622的API,促成与UI600进行交互的用户610和意图映射服务620之间的交互。

API是由程序代码组件或硬件组件(以下称为“API-实现组件”)实现的界面,其允许不同的程序代码组件或硬件组件(以下称为“API-调用组件”)访问并使用一个或多个功能、方法、步骤、数据结构,类和/或由API-实现组件提供的其它服务。API可以定义在API-调用组件和API-实现组件之间传递的一个或多个参数。

概括而言,API是用于使两个或更多个应用程序彼此进行通信的一组编程命令和标准,并且其通常根据REST(Representationalstatetransfer,代表性状态转移)或SOAP(SimpleObjectAccessProtocol,简单对象访问协议)架构,通过互联网而被实现为一组超文本传输协议(HTTP)请求消息和指定的针对响应消息的格式或结构。

API可以用于访问由API-实现组件所提供的服务或数据,或者发起对由API-实现组件所提供的操作或计算的执行。作为示例,API-实现组件和API-调用组件每个都可以是操作系统、库、设备驱动器、API、应用程序、或其它模块(应当理解的是,API-实现组件和API-调用组件彼此可以是相同或不同类型的模块)中的任何一个。在一些情况下,可以至少部分地在固件、微代码或其它硬件逻辑中实施API-实现组件。

API-调用组件可以是本地组件(即,在与API-实现组件相同的数据处理系统上)或者通过网络、通过API与API-实现组件进行通信的远程组件(即,在与API-实现组件不同的数据处理系统上)。

应当理解的是,API-实现组件还可充当API-调用组件(即,其可以对由不同的API-实现组件所暴露的API进行API调用),并且通过实现暴露给不同的API-调用组件的API,API-调用组件也可用作API-实现组件。

API和相关的组件可以存储在一个或多个机器可读存储介质(例如,诸如硬盘驱动器、磁盘、固态驱动器、随机存取存储器、闪存、CD、DVD等之类的存储介质)中。

响应于接收到与UI600的特定的用户交互,意图映射组件615可以有助于使用意图映射服务620(或622)的API来调用意图映射服务620(或622)。接着,意图映射服务620(或622)可以基于由意图映射组件615所提供的信息,来确定用户的预期目标或任务,并且确定与可以预期目标或任务相关的应用程序用户界面组件。

例如,通过将对意图的陈述与可以已经被调整为可以通过生产力应用程序(和/或其它应用程序)可用的工具和信息的一个或多个可能的任务进行匹配,意图映射服务(620,622)可以确定与对用户的意图的自然语言陈述相关联的任务。由于用户对他所期望任务的描述可以开始于自然语言陈述,因此在一些实施例中,意图映射服务(620,622)可以使用自然语言处理将用户的陈述与各种可能的匹配意图进行匹配。

例如,假设用户在文字处理应用程序中将意图言语化为“使该本文成为法律文件”。意图映射服务则可以确定该用户的预期的任务包括“改变页面尺寸”,其具有可以使能(和/或通知)用户将纸张尺寸从“信纸尺寸”改为“A4”的相关特征。然而,其它相关特征可以为改变页的边缘、将朝向从纵向旋转为横向、以及切换到其中有A4纸的不同的打印机。这些工具全都可以作为面向任务的用户界面的一部分而呈现给用户。

在一些实现中,意图映射服务可以利用互联网搜索引擎或者在线帮助网站的搜索引擎而返回应用程序的常见用户意图或最流行的意图。

在一些实现中,意图映射服务(620,622)可以利用从应用程序的其它用户处所收集的使用数据。意图映射服务620(或622)可以与为一个或多个用户收集并处理使用数据的使用数据服务625进行通信,以便返回可以与所预期的任务相关的额外的用户界面元素。

使用数据记录器可以驻留在用户的设备上或其它地方,并且可以用于记录用户行为的类型和频率,而且在一些情况下,将使用数据上传至将大量用户的使用模式制成表格的中央化处理服务(其可以是使用数据服务625的一部分)。该数据可以作为额外的因素由意图映射服务(620,622)来查询,以解释所陈述的用户的意图并且将该意图与已知的意图进行匹配。

意图映射服务可以使用前述的技术中的任何一种或全部,以将经言语化的用户的意图与应用程序可用的意图进行匹配。额外地,在这些模型的任何一个或全部中,例如通过从权威来源中选择出最完整的意图,后台的个人可以作为编辑而选择可用的意图。在下文中将更加详细地描述的图6B示出了使得应用程序的一般化的模型能够发布其可用的意图和界面元素的示例实现。最终,可以将与任务相匹配的用户界面元素返回至UI并且显示给用户。

可以将所确定的用户界面元素返回至用户设备612(例如,目的地是意图映射组件615)。接着,意图映射组件615可以基于从意图映射服务620中所接收到的信息而在UI600中出现元素。

在一些实现中,可以使用额外的信息以便于确定用户的意图和/或生成可以有用的额外的用户界面元素。额外的信息可以视情况而不同,但是在一些实施例中,可以包括诸如应用程序的状态(包括应用程序中的用户界面的状态)之类的信息。例如,如果应用程序是文字处理器,由于有助于完成给定的用户意图的特征和信息对于词语和段落来说是不同的,因此,相关的用户界面状态可以包括在界面中选择单个词语而不是整个段落的事实。

其它形式的额外的信息可以包括用户之前所请求的意图的历史。其还可以包括用户通常调用的特征和功能的类型的历史。意图可以与社交图或基于OpenGraph标准的其它图进行比较,或者针对社交图或基于OpenGraph标准的其它图进行搜索,甚至是针对在线投票或其它活跃(active)的总体反馈进行搜索。额外的信息还可以包括用户的类型,例如,用户是从企业网络内部还是外部进行工作。在前者的情况下,用户的意图更可能是面向工作的,而后者更多的可能是面向消费者的。例如,基于信是否作为商业信件而不是个人信件被准备,经言语化的用户的意图:“设计一封信的格式”或“准备一封信”可以包括某些信息或工具。例如,商业信件可以遵循固定的格式(并且包括格式信函),因此与生成同一风格或者甚至同一内容的多个信件相关的信息或工具可以是有帮助的。相比之下,个人信件可以从与准备简历的附信相关的工具和信息中获益,或者可替代地从节日或生日贺卡工具中获益。

此外,额外的信息(和/或未提及的其它信息和元数据)中的一些可以用于生成预测性命令和/或元素,其可以与基于对用户的意图的自然语言陈述而选择的用户界面元素一起出现。

如在上文中所提及的,映射服务可以以多种方式将意图映射至特征和信息,这些方法根据实施例而不同。在一些实施例中,可以利用高级的意图至特征映射语言来描述并发布意图及其对应的特征和信息。使用本领域内常用的方法(例如,遵循所定义的XML模式(XSD)的XML数据)可以将各种自然语言意图匹配至应用程序的相关的命令。

如在图6B中所示,意图映射组件625可以从意图映射服务620中接收XML680。在一些实现中,意图映射组件可以可用作标准化的OS特征。意通过读取相关任务描述并且将特征匹配至应用程序内它们的常见的可调用的名称,图映射组件625对XML描述进行处理。

在一些实施例中,应用程序开发者可以使用命令发布界面681的标准化集合来在其应用程序中“发布”命令。通过该方式,内部命令682变得可以由外部调用者访问以进行基于意图的映射。应当注意的是,许多应用程序已经暴露了允许其它应用程序或服务从编程语言、脚本语言、或宏语言中执行或“调用”操作的API或“对象模型”。例如,暴露了其特征中的大部分,以通过Word对象模型来操纵文档文件。

可以根据用于发布对基于意图的用户体验可用的特征的标准化界面模型来定义应用程序开发者希望可用于任务映射的命令和特征。图6B中示出了界面定义模型的示例,其描绘了匹配至其应用程序内部功能名“方向翻转”的简单的命令“改变页面方向”。

在图6B中所示出的示例中应当注意的是,意图映射组件625通常可以通过OS调用而非必须由应用程序来控制。这示出了用于显示意图交互表面的更一般化的模型,其中,意图可以是从给定的应用程序的界面外部被言语化的,但仍然能够调用一个或多个应用程序内的命令。

在更为复杂的用户界面元素将显示在动态界面表面上的实施例中,应用程序开发者可以将命令和界面元素组合成定制的界面元素,并且使用在上文中所描述的基于XML的技术对其进行发布。对针对应用程序特定“定制”的界面元素进行定义的方法在本领域中是公知的,并且可以根据现有的规范来执行。

在一些实施例中,应用程序开发者可以具体定义意图以映射至应用程序功能。然而,使用在上文中所描述的意图至特征映射语言,还可以设想到第三方可以开发意图至特征描述。这些第三方可以包括参与互联网论坛、博客、网站、或者社交媒体环境的个人。这些个人还可以包括供雇佣的网络交换方面的专家,其可以向需要关于复杂任务的帮助的用户出售意图至特征映射描述。这些个人甚至可以是负责针对特定于该公司的商业任务线而定义意图至功能映射的公司雇员。

如上所述,除了应用程序特征,意图映射服务还可以返回用户在完成任务时可以认为是有用的信息。该信息可以包括来自应用程序的帮助文件的描述性帮助文档。其还可以包括更加详细地描述了如何执行复杂操作的网页。其还可以包括网站上可用的视觉上给用户展示如何执行操作的视频文件。可以用映射语言来描述这样的信息来源,或者使用网络搜索或其它方法通过意图映射服务来编译这样的信息来源。

场景

呈现了以下示例场景以提供对本发明的某些实施例及其许多优点的更多的理解。以下示例场景仅仅意在说明应用程序中的一些和实施例的变型。当然,它们无论如何都不被视为是限制性的。

在一些场景中,面向任务的界面可以包含简单的文本窗口,其响应于接收到对意图的陈述而填充可能的意图的列表,所述列表每个都具有相关的应用程序功能和有助于完成用户的目标的其它信息的子列表。

其它场景可以出现使得用户能够对意图进行言语化的更为复杂的交互表面,这可以需要多个应用程序和/或更为复杂的用户输入设备。

示例场景A

在图7A-7B中所描绘的示例中,示出了文字处理应用程序界面700。在应用程序的主菜单区701中,包含文本框的交互元素710允许用户键入表达对意图的陈述的短语。在图7A的示例中,在文本框中单击可以出现选择列表711,其包含常见意图、特征和信息的混合区域。可以基于用户的个体使用数据、关于应用程序的常用的搜索查询、由使用数据收集服务所计算的常用命令、最新版本的应用程序中新发布的命令、或者以上中的任何一个或全部的组合。

如在图7B中所示,当用户开始在文本框中键入时,意图映射服务可以使用字母来缩小意图列表的范围。如图所示,向交互元素710中键入“in”可以开始用可能的相关命令712和信息713来填充列表711。在示例中,“插入表格”和“增加我的边距”可以是文字处理应用程序中的两个可能的感兴趣的特征集合。在示例中还描述了有关的信息提示和条款(信息713)的列表。利用鼠标、触摸手势、或者其它合适的界面方法来点击命令712或信息713的源会从列表中激活项目。

示例场景B

在图7C中所描绘的示例描绘了用户输入对意图的自然语言陈述,其返回一组进一步的意图和特征集合。这里,输入到交互元素710的对意图的自然语言陈述被表述为待解决的“问题”——对文字处理应用程序的用户而言,文字看起来过于拥挤。被分组为特征集合的用于补救用户的“问题”的各种“解决方案”是由意图映射服务所建议的,并且例如作为列表715的一部分而出现。解决方案本身可以用于帮助确定用户的意图,并且,解决方案的选择可以得出可以对完成任务有帮助的命令或信息。

每个特征集合本身是可选择的。在示例中,用户决定使文本更大720,这打开包含具有多种界面元素的命令分组的进一步的交互表面。一个界面元素允许用户使用下拉选择列表来选择更为悦目的新的字体721。另一个输入设备,上/下“旋钮”控制,允许用户增大字体的大小722。第三,本身出现包含命令的进一步的界面允许用户调整文本的“字间距”或各个字符之间的空白723。

示例场景C

个人信息管理(PIM)应用程序(其对电子邮件、任务、日历和联系人进行整理)的用户将去休假。用户向PIM的交互元素(未示出)中键入或说出“我下周将休假”。系统例如通过模糊的日历添加(或模糊的时间关联)可以使用并理解各种时间表达。交互元素可以位于与PIM界面相同或不同的设备上。PIM的面向任务的用户界面800可出现以呈现命令、特征和信息,使得用户能够为休假做准备。

在该场景中,可以响应于接收到对用户的意图的自然语言陈述而出现的用户界面元素包括:用户可以在其中键入不在办公室的消息的方框801、待重新安排或取消的预约的列表(802)、截止日期需要改变的任务的列表(803)、以及用于建立规则(来自某些发件人的电子邮件可以被重新路由至后备人员(804))的用户输入元素。这些应用程序特征中的每个都可以是PIM的一部分,但是在典型的PIM中,只能通过切换到应用程序的完全不同的片段来访问,每个片段都具有其自己的命令结构。在一些情况下,用户界面元素可以包括有助于消除模棱两可的意图或者“模糊的”意图的歧义(例如,“晚餐”可以涉及不胜枚举而难以呈现的特征和任务,并且覆盖了关于晚餐的许多不同的方面)的元素。

在一些实现中,面向任务的用户界面出现在更加传统的PIM用户界面上的窗口中;因此,点击“完成”按钮805可以完成所请求的功能:移除动态用户界面并且使得用户返回至他或她的之前的界面表面。

示例场景D

场景D还示出了多应用程序模型中的所公开的技术的能力。在该场景中,用户从PIM接收重要联系人的生日即将到来的提醒通知。与该提醒相关的任务的一些选项可以被包括在基于意图的用户体验的交互元素中。例如,从生日通知的上下文中预测用户接下来的可能的意图,PIM处理可能的意图并且建议一种回应可以是为该联系人“制作生日贺卡”。

图9示出了实现场景D的示例界面。提醒消息900作为PIM正常的提醒显示模型的一部分而出现。提醒消息可以包括可以由用户选择的任务901,或者可以包括在其中用户可以指示对意图的自然语言陈述的交互元素902。

当用户选择(或输入自然语言陈述)“制作生日贺卡”(903)时,与制作生日贺卡的任务相关的PIM(或者其它可访问的应用程序)的一个或多个用户界面元素可以出现在窗口或窗格905(或其它容器)中。一种可能的用户界面元素包括使能够选择生日贺卡的模板910的特征,其可以通过文字处理或文字发布应用程序来提供。另一种用户界面元素可以使得第二应用程序能够被调用。例如,“挑选鼓舞人心的引文”911可以使用户能够访问不同的应用程序,例如,搜索引擎,该搜索引擎可以通过第一应用程序(文字处理应用程序)与搜索引擎服务之间的通信、或者通过网络浏览器的第三方应用程序来访问。

在一个实现中,选择“挑选鼓舞人心的引文”911可以提供引文(或者与获得鼓舞人心的引文相关的命令)的下拉菜单。在另一实现中,选择“挑选鼓舞人心的引文”911可以弹出网络浏览器920。

示例计算环境

图10示出了框图,该框图示出了在一些实施例中所使用的计算设备(例如,用户设备612)的组件。系统1000可以在单个计算设备内实现,或者跨在执行程序指令时协作的多个计算设备或子系统分布。系统1000可以用于实现各种计算设备,包括但不限于:个人计算机、平板计算机、阅读器、移动设备、个人数字助理、可穿戴计算机、智能电话、膝上型计算机(笔记本或上网本)、游戏设备或控制台、台式计算机、或智能电视。从而,可以包含结合系统1000所描述的更多或更少的元素以实现特定的计算设备。

系统1000,例如包括处理器1005,处理器1005根据与设备操作系统(OS)1015进行交互的一个或多个应用程序1010的指令来对数据进行处理。处理器1005的示例包括通用中央处理单元、专用处理器、逻辑设备、以及任何其它类型的处理装置、其组合或变型。

应用程序1010、OS1015、和其它软件可以被装载到并且存储在存储系统1020中。设备操作系统1015通常控制和协调计算设备中各种组件的功能,以为应用程序提供更为简单的方法以与等较低级接口(例如,网络接口)进行连接。操作系统的非限制性的示例包括,来自微软公司的来自苹果公司的IOSTM、来自谷歌公司的来自微软的以及来自Canonical的多种

应当注意的是,OS1015既可以本地地在计算设备上被实现,也可以在运行于本机设备OS之上的软件虚拟化层上被实现。尽管未在图10中描绘,但虚拟化的OS层可以被认为是OS1015空间内的附加的、嵌套的分组,其每个都包含OS、应用程序、和API。

存储系统1020可以包括由处理器1005可读的并且能够存储软件(例如,应用程序1010和OS1015)的任何计算机可读存储介质。

存储系统1020可以包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块、或其它数据)的任何方法或技术实现的易失性的和非易失性的、可移动的和不可移动的介质。存储介质的示例包括:随机存取存储器、只读存储器、磁盘、光盘、闪速存储器、虚拟存储器和非虚拟存储器、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者任何其它合适的存储介质。存储介质在任何情况下都不是传播信号。在一些实现中,除了存储介质,存储系统1020还可以包括通信介质,软件可以通过所述通信介质在内部或外部进行通信。存储系统1020可以被实现为单个存储设备,但也可以跨相对于彼此处于同一位置或者分布的多个存储设备或子系统而实现。存储系统1020可以包括能够与处理器1005进行通信的额外的元件,例如控制器。

软件可以在程序指令或其它功能中实现,当其由系统1000一般地执行或者由处理器1005特别地执行时,可以引导系统1000或处理器1005如在本文中所描述那样运行。软件可以包括额外的过程、程序、或组件,例如操作系统软件或其它应用程序软件。软件还可以包括固件或者可以由处理器1005执行的一些其它形式的机器可读处理指令。

通常而言,当被载入到处理器1005中并且被执行时,可以将计算系统1000从通用计算系统整体转换成专用计算系统,其被定制为如在本文针对每个实现所描述的那样便于上下文信息查找和导航处理流程。实际上,存储系统1020上的编码软件可以转换存储系统1020的物理结构。具体的物理结构的转换可以取决于该说明的不同的实现中的各种因素。这些因素的示例可以包括但不限于,用于实现存储系统1020的存储介质的技术,以及计算机存储介质的特点是主存储器还是第二存储器。

例如,如果计算机存储介质被实现为基于半导体的存储器,当程序被编码在其中时,软件可以例如通过转换晶体管、电容、或构成半导体存储器的其它分立电路元件的状态来转换半导体存储器的物理状态。类似的转换可以关于磁或光学介质而发生。在不脱离本说明书的范围的情况下,物理介质的其它转换也是可能的,而提供上述实施例仅仅是为了便于该讨论。

应当注意的是,系统1000的许多元件可以被包括在片上系统(SoC)设备中。这些元件可以包括但不限于,处理器1005、通信接口1035、音频接口1040、视频接口1045、甚至存储系统1020的元件。

通信接口1035可以包括支持通过一个或多个通信网络(未示出)与其它计算系统进行通信的通信连接和设备。共同支持系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、RF电路、收发机、和其它通信电路。连接和设备可以通过通信介质(如金属、玻璃、空气或任何其它合适的通信介质)进行通信与其它计算系统或系统的网络交换通信。到和来自通信接口的传输是由OS1015来控制的,当必要时OS1015向应用和API通知通信事件。

接口设备1050可以包括输入设备,例如鼠标1051、轨迹板、键盘1052、麦克风1053、用于从用户处接收触摸手势的触摸设备1054、用于检测用户的非触摸手势和其它运动的运动输入设备1055、以及其它类型的输入设备及其能够接收用户输入的相关联的处理元件。

接口设备1050还可以包括输出设备,例如显示屏幕1056、扬声器1057、用于触觉反馈的触觉设备、以及其它类型的输出设备。在某些情况下,输入设备和输出设备可以被组合在单个设备中,例如既描绘图像又从用户处接收触摸手势输入的触摸屏显示器。可以用各种方式在显示器1051上描绘视觉输出,这呈现了图形用户界面元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、或者能够以视觉形式描绘的任何其它类型的信息。其它种类的用户接口也是可能的。用户接口1050还可以包括由OS1015执行的、支持各种用户输入和输出设备的、相关联的用户接口软件。这样的软件有助于使用所定义的机制将用户接口硬件事件传送给应用程序1010。

应当理解的是,计算系统1000通常旨在表示利用其部署并执行软件,以便利用如在本文中所描述的上下文信息查找和导航处理流程来实现所述应用程序的计算系统。然而,计算系统1000还可以代表其上可以执行软件,并且软件可以从中分配、传输、下载软件、或以其它方式将软件提供给另一计算系统以供部署和执行、或者额外分配的任何计算系统。

图11示出了应用程序环境1100,其中可以利用在系统1000(图10)中所描绘的以及上文中所讨论的原理来实现具有所提出的改进的应用程序。特别地,图11示出了各种程序平台1110、1120、1130和1140,其中每个都可以通过通信网络1101与服务平台1170和1180进行通信,以执行上下文搜索并返回相关的结果。应用程序平台1110、1120、1130和1140可以是采用适用于实现该平台上的应用程序(1111、1121、1131、1141)的计算架构的任何计算装置、设备、系统、或其集合。

在一些实施例中,所描述的界面和处理流程可以在被设计以查看和操纵文本内容的应用程序内实现。在其它实施例中,可以通过OS或者通过可以经由API访问应用程序的分层的组件来实现根据所描述的方法的检测文本选择和非侵入性渲染相关的结果的功能。

应用程序1111可以被认为是本地地安装并执行的完整的或“本机”的版本。在一些情况下,应用程序1111可以以混合的方式操作,从而应用程序的一部分被本地地安装并执行,而其它部分被远程执行,并且接着被流式传输到应用程序平台1110以供本地渲染。应用程序1111的非限制性示例可以包括生产力(和笔记记录)应用程序,例如

在应用程序平台1120上实现的基于浏览器的应用程序1121可以被认为是全部或部分地在浏览器应用程序1122的上下文中被执行的基于浏览器的版本。在该模型中,编程指令的全部或部分被远程执行,并且浏览器1122通过视觉表达语言(例如HTML)将结果渲染至用户的设备。基于浏览器的应用程序1121的非限制性示例是网络应用程序服务和GoogleDriveTM。浏览器应用程序1122的示例包括GoogleChromeTM、MicrosoftInternetExplorerTM和MozillaFirefoxTM

应用程序1131可以被认为是在移动设备上本地安装和执行的移动应用程序的版本。在一些情况下,应用程序1131可以以混合的方式操作,其中,所述应用程序的一部分被本地地安装并执行,而其它部分被远程执行,接着被流传输到应用程序平台1130以供本地渲染。移动应用程序1131的非限制性示例包括GoogleAndroidTM和AppleIOSTM设备上的

在应用程序平台1140上实现的应用程序1141的可以被认为是全部或部分地在移动浏览器应用程序1142的上下文中被执行的基于浏览器的版本。在该模型中,编程指令的全部或部分被远程执行,并且移动浏览器1142通过视觉表达语言(例如HTML)将结果渲染至用户的设备。基于移动浏览器的应用程序1141的非限制性示例包括,通过GoogleDriveTM的增强的移动设备的内容的查看。移动浏览器应用程序1142的示例包括GoogleChromeTM和MozillaFirefoxTM

应用程序平台1110、1120、1130、1140可以与由网络1101所连接的服务平台1170、1180进行通信。服务平台可以传递对应用程序平台有用的多种服务以及用于使能如在本文中所描述的基于意图的、面向任务的用户体验。例如,服务平台1170可以传递如上文所详细描述的意图映射服务1171。服务1171还可以托管远程编程指令,并且将其结果渲染至任何应用程序平台上的应用程序或浏览器。可以使用通过网络进行通信的一个或多个物理和/或虚拟服务器来实现意图映射服务1171。

此外,服务平台1180可递送存储提供商服务1181,其使得可以由应用程序1111、1121、1131、1141以及意图映射服务1171利用的文件或其它数据能够非本地存储。例如,存储提供商服务1181可以是云存储提供商、数据库服务器、或者局域网文件服务器。如在本文中所描述的,意图映射服务可包含在这些存储提供商中搜索意图定义或信息内容并且呈现结果的功能。存储提供商服务的非限制性示例包括,GoogleDriveTM、DropBoxTM、BoxTM、和

本说明书中所提及的“一个实施例”、“实施例”、“示例实施例”等是指结合实施例所描述的特定的功能、结构、和特性被包括在本发明的至少一个实施例中。在说明书中各种地方的出现的这样的短语非必须全都指的是相同的实施例。此外,本文所公开的任何发明或其实施例的任何元素或限制可以与任何一个和/或所有其它元素或限制(单独地或在任意组合中)或在本文中所公开的任何其它发明或其实施例相结合,并且所有这样的组合都可以利用本发明的范围而构想,而不对该范围进行限制。

应当理解的是,在本文中所描述的示例和实施例仅仅是出于说明性的目的,并且根据其的各种修改或变型将被建议给本领域技术人员,并且被包含在该申请的精神和范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号