首页 / 专利库 / 电脑编程 / XML用户界面语言 / 反应型代理开发环境

反应型代理开发环境

阅读:441发布:2020-05-18

专利汇可以提供反应型代理开发环境专利检索,专利查询,专利分析的服务。并且一种用于生成反应型代理定义的方法,可包括通过计算设备的反应型代理开发环境(RADE)工具获取用于定义在该计算设备上运行的数字个人助理的反应型代理的可扩展 标记语言 (XML)模式模板。该RADE工具可接收标识与由该计算设备执行的功能类别相关联的至少一个域‑意图对的输入。可使用该RADE工具的图形 用户界面 生成定义与该域‑意图对相关联的多个状态的多轮对话流。可基于所接收的输入和该多轮对话流更新该XML模式模板以产生专用于该域‑意图对的经更新的XML模式。该反应型代理定义可使用经更新的XML模式来生成。,下面是反应型代理开发环境专利的具体信息内容。

1.一种计算设备,包括:
处理单元;
耦合至所述处理单元的存储器
一个或多个话筒;
一个或多个扬声器;
至少一个显示器;
所述计算设备配置有用于执行用于生成反应型代理定义的操作的反应型代理开发环境(RADE)工具,所述操作包括:
获取可扩展标记语言(XML)模式模板,其中所述XML模式模板含有用于定义在所述计算设备上运行的数字个人助理的反应型代理的多个XML代码段;
接收标识域和针对所述域的至少一个意图的输入,其中:
所述域与由所述计算设备执行的功能类别相关联;以及
所述至少一个意图与被用于执行所标识的域的功能类别的至少一个功能的至少一个动作相关联;
使用所述RADE工具的图形用户界面生成定义针对所述至少一个意图的多个状态的多轮对话流;
基于所接收的输入和所述多轮对话流更新所述XML模式模板以产生专用于被标识的域和所述至少一个意图的经更新的XML模式;
生成使所述计算设备执行所述至少一个动作的编程代码;以及
将所述经更新的XML模式与所述编程代码相组合以生成所述反应型代理定义。
2.如权利要求1所述的计算设备,其特征在于,所述多个XML代码段指定以下的至少一者:
针对所述至少一个意图的多个状态;
在所述多个状态的至少两个状态之间的一个或多个转换;
至少一个语言生成模板,所述至少一个语言生成模板包括与一个或多个本地化响应串相关联的元数据;以及
至少一个用户界面响应模板,所述至少一个用户界面响应模板包括与所述数字个人助理提供的一个或多个响应串相关联的元数据。
3.如权利要求2所述的计算设备,其特征在于,所述一个或多个本地化响应串包括根据基于地理位置的至少一个数据格式化规则动态提供的响应串。
4.如权利要求2所述的计算设备,其特征在于,所述操作还包括:
使用所述RADE工具的所述图形用户界面生成包括用于向所述数字个人助理提供输入的一个或多个预期用户输入短语的短语列表模板,
其中更新所述XML模式模板进一步包括将所述短语列表模板作为所述至少一个语言生成模板的一部分嵌入。
5.如权利要求1所述的计算设备,其特征在于,所述操作还包括:
接收标识与所述域和所述至少一个意图相关联的至少一个时隙的输入,所述至少一个时隙指示用于执行所述至少一个动作的值;以及
使用所述RADE工具生成所述至少一个时隙和所述至少一个意图之间的关联。
6.如权利要求1所述的计算设备,其特征在于,所述操作还包括:
使用与所述RADE工具的所述图形用户界面相关联的多个编辑工具生成所述多轮对话流,其中所述编辑工具包括用于定义所述多轮对话流的多个对话流工具,以及用于定义所述至少一个意图和与所述多轮对话流相关联的所述多个状态的多个意图工具。
7.如权利要求1所述的计算设备,其特征在于,所述XML模式模板是包括以下的数据结构:
表示域选择的信息;
表示与所述域选择相关联的意图选择的信息;
表示与所述意图选择相关联的状态选择的信息;以及
表示与所述域选择和所述意图选择相关联的时隙选择的信息。
8.一种由包括反应型代理定义编辑(RADE)工具的计算设备实现的用于生成反应型代理定义的方法,所述方法包括:
获取用于定义在所述计算设备上运行的数字个人助理的反应型代理的可扩展标记语言(XML)模式模板;
接收标识与由所述计算设备执行的功能类别相关联的至少一个域-意图对的输入;
使用所述RADE工具的图形用户界面生成定义与所述域-意图对相关联的多个状态的多轮对话流;
基于所接收的输入和所述多轮对话流更新所述XML模式模板以产生专用于所述域-意图对的经更新的XML模式;
使用所述经更新的XML模式生成所述反应型代理定义。
9.如权利要求8所述的方法,其特征在于,所述域-意图对包括:
标识与由所述计算设备执行的功能类别相关联的域的域信息;
标识与被用于执行所述功能类别的至少一个功能的至少一个动作相关联的意图的意图信息;以及
接收标识与所述域-意图对相关联的至少一个时隙的输入,所述至少一个时隙指示用于执行所述至少一个动作的值。
10.如权利要求9所述的方法,其特征在于,进一步包括:
使用所述RADE工具生成所述至少一个时隙和所述意图之间的关联,其中更新所述XML模式模板包括生成表示所述至少一个时隙和所述意图之间的关联的至少一个XML代码段。
11.如权利要求8所述的方法,其特征在于,进一步包括:
用指示XML代码类型的至少一个注释来注释经更新的XML模式内的多个XML代码段的至少一个。
12.如权利要求9所述的方法,其特征在于,进一步包括:
生成使所述计算设备执行所述至少一个动作的编程代码;以及
将所述经更新的XML模式与所述编程代码相组合以生成所述反应型代理定义。
13.一种存储用于使计算设备执行用于生成在所述计算设备上运行的数字个人助理的反应型代理定义的操作的计算机可执行指令的计算机可读存储介质,所述操作包括:
使用所述计算设备的反应型代理定义编辑(RADE)工具接收标识域、针对所述域的至少一个意图、以及针对所述至少一个意图的至少一个时隙的输入,其中:
所述域与由所述计算设备执行的功能类别相关联;
所述至少一个意图与被用于执行所标识的域的功能类别的至少一个功能的至少一个动作相关联;以及
所述至少一个时隙与被用来发起对所述至少一个动作的执行的值相关联;
对于所述至少一个意图中的每个意图,使用所述RADE工具的图形用户界面生成定义与所述至少一个意图相关联的多个状态的多轮对话;
使用所述RADE工具用至少一个XML代码段更新可扩展标记语言(XML)模式模板,所述更新基于所接收的输入以及所述多轮对话流,以生成专用于所标识的域、所述至少一个意图和所述至少一个时隙的经更新的XML模式;
生成使所述计算设备执行所述至少一个动作的编程代码;以及
将所述经更新的XML模式和所述编程代码相组合以生成所述反应型代理定义。
14.如权利要求13所述的计算机可读存储介质,其特征在于,所述操作进一步包括获取用于定义所述反应型代理的XML模式模板,其中所述XML模式模板是一种数据结构,所述数据结构包括:
表示域选择的信息;
表示与所述域选择相关联的意图选择的信息;
表示与所述意图选择相关联的状态选择的信息;以及
表示与所述域选择和所述意图选择相关联的时隙选择的信息。
15.如权利要求13所述的计算机可读存储介质,其特征在于,所述操作还包括:
基于所述多轮对话流生成至少一个响应串;以及
基于所生成的响应串更新所述XML模式模板。

说明书全文

反应型代理开发环境

[0001] 背景
[0002] 随着计算技术的发展,越来越强大的移动设备已经变得可用。例如,智能电话以及其他计算设备已经变得普及。此类设备的处理能已导致开发出不同类型的功能性,诸如与数字个人助理相关的功能性。
[0003] 数字个人助理可以被用于执行用于个体的任务或服务。例如,数字个人助理可以是在移动设备或台式计算机上运行的软件。此外,实现在移动设备内的数字个人助理具有交互式和内置会话理解力以能够对用户问题或语音命令作出响应。可以由数字个人助理执行的任务和服务的示例可以包括拨打电话呼叫、发送电子邮件或文本消息和设置日历提醒。
[0004] 尽管数字个人助理可被实现来使用反应型代理执行多个任务,然而编程/定义每个反应型代理可能是耗时的。因此,在与创建和编辑用于实现数字个人助理的反应型代理相关的技术中存在充足的改善机会。
[0005] 概述
[0006] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0007] 根据一个或多个方面,一种计算设备可被配置有反应型代理开发环境(RADE)以执行用于生成反应型代理定义的操作,所述计算设备包括处理单元、耦合至所述处理单元的存储器、一个或多个话筒、一个或多个扬声器、以及至少一个显示器。RADE可包括视觉编辑工具(例如,在图2A-2E中解说的视觉工具,在本文中被称为RADE工具)或替代开发环境。所述操作可包括获得可扩展标记语言(XML)模式模板。XML模式模板可含有用于定义在该计算设备上运行的数字个人助理的反应型代理的多个XML代码段。RADE工具可接收标识域和针对该域的至少一个意图的输入。该域可与由该计算设备执行的功能类别相关联。该至少一个意图可与被用来执行针对所标识的域的该功能类别的至少一个功能的至少一个动作相关联。定义该至少一个意图的多个状态的多轮对话流可使用该RADE工具的图形用户界面来生成。替换地,定义该至少一个意图的一个或多个状态的单轮对话流也可使用该RADE工具来生成。XML模式模板可使用RADE工具基于所接收的输入和多轮对话流来更新,以产生专用于所标识的域和该至少一个意图的经更新的XML模式。使该计算设备执行该至少一个动作的编程代码可被提供并且与经更新的XML模式相组合以生成反应型代理定义。
[0008] 根据一个或多个方面,一种用于生成反应型代理定义的方法可包括通过计算设备的反应型代理开发环境(RADE)工具获得用于定义在计算设备上运行的数字个人助理的反应型代理的可扩展标记语言(XML)模式模板。该RADE工具可接收标识与该计算设备执行的功能类别相关联的至少一个域-意图对的输入。定义与该域-意图对相关联的多个状态的多轮对话流可使用该RADE工具的图形用户界面来生成。XML模式模板可基于所接收的输入和该多轮对话流来更新以产生专用于该域-意图对的经更新的XML模式。反应型代理定义可使用经更新的XML模式来生成。
[0009] 根据一个或多个方面,一种计算机可读存储介质可包括指令,所述指令在执行时使计算设备执行用于生成在该计算设备上运行的数字个人代理的反应型代理定义的操作。所述操作可包括使用该计算设备的反应型代理定义编辑(RADE)工具来接收标识域、针对该域的至少一个意图、以及针对该至少一个意图的至少一个时隙的输入。该域与由该计算设备执行的功能类别相关联。该至少一个意图与被用来执行针对所标识的域的该功能类别的至少一个功能的至少一个动作相关联。该至少一个时隙与被用来发起对该至少一个动作的执行的值相关联。对于该至少一个意图中的每一个,定义与该至少一个意图相关联的多个状态的多轮对话流可使用该RADE工具的图形用户界面来生成。可扩展标记语言(XML)模式模板可使用该RADE工具用该至少一个XML代码段来更新。所述更新可基于所接收的输入和该多轮对话流,以产生专用于所标识的域、该至少一个意图和该至少一个时隙的经更新的XML模式。使该计算设备执行该至少一个动作的编程代码可被生成。经更新的XML模式和编程代码可被组合以生成该反应型代理定义。
[0010] 如本文所述的,各种其它特征和优点可按照需要被结合到所述技术中。
[0011] 附图简述
[0012] 图1是解说根据本公开的示例实施例的反应型代理开发环境(RADE)的示例软件体系结构的框图
[0013] 图2A-2E解说根据本公开的示例实施例的RADE工具的示例用户界面,其可被用来生成反应型代理定义文件。
[0014] 图3A-3B解说根据本公开的示例实施例的示例XML模式模板,其可被用来生成反应型代理定义。
[0015] 图4A-4H解说根据本公开的示例实施例的在反应型代理定义中使用的示例XML模式。
[0016] 图5-7是解说根据一个或多个实施例的反应型代理定义的生成的流程图
[0017] 图8是解说可结合其来实现本文中描述的创新的示例移动计算设备的框图。
[0018] 图9是在其中可实现所描述的一些实施例的示例计算系统的示图。
[0019] 图10是可结合本文中描述的技术来使用的示例计算环境。
[0020] 详细描述
[0021] 如本文所述,各技术和解决方案可被应用于使用反应型代理开发环境(RADE)生成反应型代理定义。更具体而言,RADE可被实现(例如,作为视觉编辑工具(RADE工具)或作为另一替代开发环境)在计算设备上(例如,作为在计算设备上运行的软件)并可使用一个或多个图形用户界面来构建多轮对话流的显式表示,包括域、与该域相关联的一个或多个意图、针对域-意图对的一个或多个时隙、针对意图的一个或多个状态、状态间的转换、响应模板等的表示。域、意图和时隙信息可被提供给RADE作为输入。在用于执行期望代理功能性的多轮对话流完成之后,RADE可使用被提供给RADE工具(或经由RADE工具输入)的信息来更新XML模式模板(或另一类型的计算机可读文档),所述信息诸如是域信息、意图信息、时隙信息、状态信息、状态转换、响应串和模板、本地化信息和经由RADE输入的任何其它信息,以提供反应型代理功能性的视觉/声明式表示。此外,XML模式模板内的XML代码段可被注释,以使得该反应型代理定义的XML部分可被用户(例如程序员)容易地解释,其中每个XML代码段类型均在XML代码列表中被指示。
[0022] 在本文中详细描述了各种方法、进程和过程。尽管特定步骤可能是按照特定序列来描述的,然而这种序列主要是为了方便和清楚。特定步骤可被重复超过一次,可在其它步骤之前或之后发生(即使那些步骤原本是按另一序列描述的),以及可与其它步骤并行发生。仅在第一步骤必须在第二步骤开始之前完成时,才要求第二步骤跟在第一步骤之后。在不能从上下文清楚地看出时,这种情形将被具体指出。特定步骤可被省略;仅当特定步骤的省略将显著影响另一步骤时才需要该特定步骤。
[0023] 在本文中,使用术语“和”、“或”以及“和/或”。这些术语将被解读为具有相同含义;即,是包含性的。例如,“A和B”可指以下至少一项:“A和B两者”、“仅A”、“仅B”、“至少A和B两者”。作为另一示例,“A或B”可指以下至少一项:“仅A”、“仅B”、“A和B两者”、“至少A和B两者”。在想要表达“异或”时,将对其明确注明(例如,“A或B之一”、“A和B中最多一个”)。
[0024] 在本文中描述了各种计算机实现的方法、进程和过程。要理解,各动作(接收、存储、发送、传递、显示等)是由硬件设备执行的,即使动作可被用户授权、发起或触发,或即使硬件设备由计算机程序、软件、固件等控制。而且,要理解,硬件设备对数据进行操作,即使数据可表示概念或现实世界对象,从而如此省略了明确标记为“数据”。例如,在硬件设备被描述为“存储记录”时,要理解硬件设备存储表示该记录的数据。
[0025] 如本文中所使用的,术语“反应型代理”指代可被数字个人助理用来实现与设备功能性相关联的一个或多个响应对话(例如,语音、文本和/或触觉响应)的数据/命令结构。该设备功能性(例如,电子邮件收发、消息收发等)可由到数字个人助理的用户输入(例如,语音命令)来激活。反应型代理(或代理)可使用语音代理定义(VAD)或反应型代理定义(RAD)XML文档(或另一类型的计算机可读文档)以及用于驱动该代理来通过对话的编程代码(例如,C++代码)来定义。例如,电子邮件反应型代理可被用来基于用户语音命令打开新的电子邮件窗口、基于语音输入来创作电子邮件以及向由到数字个人助理的语音输入所指定的电子邮件地址发送电子邮件。反应型代理也可被用来在用数字个人助理发起的对话会话期间基于用户输入提供一个或多个响应(例如,音频/视频/触觉响应)。
[0026] 如本文所使用的,术语“XML模式”指代具有被用来描述和证实XML环境中的数据的XML代码段集合的文档。更具体而言,XML模式可列出被用来描述XML文档中的内容的元素和属性,在哪每个元素被允许,什么类型的内容被允许等等。用户可生成符合XML模式的XML文件(例如,用于在反应型代理定义中使用)。
[0027] 图1是解说根据本公开的示例实施例的反应型代理开发环境(RADE)的示例软件体系结构100的框图。参考图1,客户端计算设备(例如智能电话或其它移动计算设备,诸如图8中的设备800)可执行根据体系结构100组织的软件以提供反应型代理定义的生成和编辑。
[0028] 体系结构100包括设备操作系统(OS)132和反应型代理开发环境(RADE)102。在图1中,设备OS 132包括用于呈现的组件134(例如,向显示器呈现视觉输出、生成扬声器的语音输出等)、用于联网的组件136、以及用户界面(U/I)引擎138。UI引擎138可被用来与RADE 102执行的反应型代理定义编辑功能性相结合地生成一个或多个图形用户界面(例如,如图
2A-2E中所示的)。可使用渲染组件134将用户界面渲染在显示器142上。经由UI引擎138生成的用户界面所接收的输入可被传递至反应型代理生成器104。设备OS 132管理用户输入功能、输出功能、存储访问功能、网络通信功能、以及设备800的其他功能。设备OS 132向RADE 
102提供对这些功能的访问。
[0029] RADE 102可包括适当的逻辑、电路接口、和/或代码并可以可操作以提供与反应型代理定义相关联的功能性(包括生成和编辑这种定义),如本文所述。RADE 102可包括反应型代理生成器104、U/I设计块106、XML模式模板块108、响应/流设计块110、语言生成引擎112、和本地化引擎116。反应型代理开发环境102可包括用于生成和编辑反应型代理的视觉编辑工具(例如,如在图2A-2E中所示)或替代开发环境。关于此,本文中对RADE工具(例如,RADE工具102)的任何指代可指代在结合视觉编辑工具(诸如图2A-2E中解说的视觉编辑工具)使用时的反应型代理开发环境102。然而,作为替代实施例,RADE 102的其它实现也是可能的。例如,该工具可以是可以或可以不使用视觉编辑功能性来在单轮或多轮流中执行编辑的XML编辑器。另一开发环境可具有合在一起捕捉代理定义的不同文档或视图的组合。作为示例,对话流可在一独立文档(基于XML的或另一类型的计算机可读文档)中被捕捉,并随后在一独立文档中捕捉响应。开发环境可通过使这些独立文档在一起而帮助流线化反应型代理定义创作体验。
[0030] XML模式模板块108可以可操作以提供XML模式模板,诸如在图3A-3B中所列的模板。图3A-B解说根据本公开的示例实施例的示例XML模式模板,其可被用来生成反应型代理定义。参考图3A-3B,XML模式模板300可包括多个XML代码段,其可被更新(例如通过反应型代理生成器104)以创建用于反应型代理定义(例如126)的新的/经更新的XML模式(例如128)。例如,XML代码段302可被用来指定域。术语“域”可被用来指示个人知识的一领域或范围并可与计算设备执行的功能类别相关联。示例域包括电子邮件(例如,电子邮件反应型代理可被数字个人助理(DPA)用来生成/发送电子邮件)、消息(例如,消息反应型代理可被DPA用来生成/发送文本消息)、闹钟(闹钟反应型代理可被用来设置/删除/修改闹钟)等。
[0031] XML代码段304可被用来指定一个或多个意图。如本文所使用的,术语“意图”可被用来指示被用于执行所标识域的功能类别的至少一个功能的至少一个动作。例如,“设置闹钟”意图可被用于闹钟域(如在图2A-2E中所见)。
[0032] XML代码段306a-306b和312可被用来指定与意图相关联的一个或多个时隙。如本文所使用的,术语“时隙”可被用来指示被用于完成给定域-意图对的特定动作的特定值或值集合。时隙可与一个或多个意图相关联并可被显式提供(即,注释)在XML模式模板中。通常,域、意图和时隙构成语言理解构造,然而在给定代理场景内,时隙可跨多个意图共享。作为示例,如果域是具有两个不同意图的闹钟-设置一闹钟和删除一闹钟,则这两个意图可共享相同的“alarmTime”(闹钟时间)时隙。关于此,时隙可被连接至一个或多个意图。
[0033] XML代码段308可被用来指定一个或多个状态转换。一个或多个状态可与意图相关联且状态转换可基于条件是否被满足来指示状态之间的转换。状态可表示对话流中的特定点。作为示例,在用于创建闹钟的对话流(例如图2A-2E)中,用户可在“初始”状态开始并随后如果用户没有将时间指定作为其话语的一部分(例如,用户说“我想要设置闹钟”),则对话流将确定所需时隙值“alarmTime”(闹钟时间)之一缺失且因此将转换至“getAlarmTime”(获得闹钟时间)状态。状态通常具有某个处理块(在代理内部),或可具有响应(在该响应之后跟随着监听状态)或可具有其自己的子对话流。
[0034] XML代码段310可被用来指定一个或多个短语列表。如本文所使用的,术语“短语列表”可被用来指定反应型代理在任何给定状态将监听的词语或句子的列表/集合。XML代码段314可被用来指定一个或多个响应串。
[0035] XML代码段316可被用来指定一个或多个语言生成模板,所述语言生成模板可被(例如,被语言生成引擎112)用来生成提示。例如,如果给定条件被满足,则文本到语音(TTS)响应串和/或GUI响应串(即,所显示的文本)可被生成/选择以供输出。
[0036] XML代码段318可被用来填充动态短语列表(例如,在运行时)。XML代码段320可被用来指定一个或多个用户界面模板。用户界面模板可包括用于在用户界面中使用的响应串(或响应串模板)。
[0037] 根据本公开的示例实施例,XML模式模板108内的XML代码段可基于封装XML代码元素的类型被显式注释。例如,一些响应串可基于预期用途被注释——一些响应可被用于语言生成(例如,通过语言生成引擎112),一些响应可被用于对话响应,且一些响应可被用于U/I元素。
[0038] U/I设计模块106可包括适当的逻辑、电路、接口和/或代码并可以可操作以生成用于与反应型代理定义(RAD)126一起使用的一个或多个用户界面并向反应型代理生成器104提供该一个或多个用户界面。U/I设计模块106可从U/I数据库107获取一个或多个用户界面设计并可基于提供有编程规范118的输入来生成新用户界面设计。在示例实施例中,U/I设计模块106可与U/I引擎138一起作为OS 132或RADE工具102的一部分实现。
[0039] 响应/流设计模块110可包括适当的逻辑、电路、接口和/或代码并可以可操作以提供一个或多个响应串以供反应型代理生成器使用。例如,响应串(以及针对响应串的呈现模式)可从响应数据库114中选择。语言生成引擎112可被用来生成一个或多个人类可读响应,所述响应可结合给定域-意图-时隙配置被使用(例如,基于由编程规范118提供的输入120-124)。响应/流设计模块110还可向反应型代理生成器104提供与多轮对话流相结合的流设计(例如,用于执行多轮对话流中的某个动作所需的步骤)。
[0040] 在一示例实现中并且针对由反应型代理生成器104生成的给定RAD(例如126),对响应串和/或针对这些响应的呈现模式的选择可进一步基于其它因素,诸如用户距设备的距离、用户的姿态(例如,躺着、坐着、或站着)、对用户周围的社会环境的知识(例如,是否存在其他用户)、噪声水平、以及当前用户活动(例如,用户处于活跃对话中或正执行一物理活动)。用户距设备的距离可基于例如在用户经由免提与设备通信时接收到的信号强度来确定。如果确定用户超出阈值距离,则该设备可认为该屏幕对用户是不可见的,并且因此不可用。关于此,XML模式模板108可被更新,以使得RAD 126实现以上功能性。
[0041] 在操作中,反应型代理生成器104可接收来自编程规范118的输入。例如,编程规范118可分别经由输入120、122和124指定域、一个或多个意图和一个或多个时隙。反应型代理生成器(RAG)104还可获取XML模式模板108并基于例如经由U/I设计模块106接收的用户输入生成经更新的XML模式128。来自响应/流设计模块110的响应/流输入,以及来自本地化引擎116的本地化输入,可被RAG 104用来进一步更新XML模式模板108并生成经更新的XML模式128。附加编程代码段130(例如C++文件)也可被生成以实现并管理数字个人助理和/或计算设备对一个或多个所请求的功能的执行。经更新的XML模式128和编程代码段130可被组合以生成RAD 126。RAD 126随后可被输出至显示器142和/或存储在存储140中。
[0042] 即使XML模式模板108是XML文档,本公开在这方面可不受限制且其它类型的模板可代替XML文档被使用。根据本公开的示例实施例,其它类型的计算机可读文档(例如,另一类型的模式模板108)可代替本文讨论的XML文档使用。
[0043] 图2A-2E解说根据本公开的示例实施例的RADE工具的示例用户界面,其可被用来生成反应型代理定义文件。参考图2A-2E,解说了示例用户界面200,该用户界面可与RADE工具102结合使用以生成用于“闹钟”域的反应型代理定义。例如,在202,可指定“闹钟”域。用户界面200可包括用户界面对话流工具204和意图工具206,其可被用于进一步指定及限定用于定义“闹钟”反应型代理的反应型代理定义的多轮对话流。此外,对于每个被输入的域(例如202),一个或多个域属性208也可被输入/提供。示例域属性包括域隐私政策、域版本、域所需的连接类型等。
[0044] 对话流工具204可被用来提供用于指定人类和数字个人助理之间的会话/对话的的多轮对话流的状态、转换和转换条件的流图式表示。对话流工具204可包括以下命令:
[0045] “决定”-表示逻辑决定块;
[0046] “对话”-数字个人助理的状态,其中该助理正活跃地寻找特定用户输入(可任选地包括响应);
[0047] “初始”、“最终”、“返回”、“流连接器”-启动/终止对话流的状态以及相关联的中间状态连接(返回状态表示流的非终止地转移回对话状态的调用方);
[0048] “共享模块”-对话流中跨多个意图共享的状态;
[0049] “进程”-其中系统执行操作的状态;以及
[0050] “响应”-其中数字个人助理要么应答要么在UI中显示文本要么通过任何可用模态向用户提供反馈(例如,音频/视觉/触觉输出)的状态。
[0051] 意图工具206可包括以下命令:
[0052] “示例”-每个对话流可具有多个示例(例如,图2E中的222),其可捕捉用户为激活特定对话状态可以说的短语集合(例如,如果用户正尝试设置闹钟,则示例将是“设置闹钟”、“请设置闹钟”、“将闹钟设置为上午7点”、“在上午7点叫醒我”等等);
[0053] “意图”-被用来执行所标识域的功能类别的至少一个功能的至少一个动作。例如,“设置闹钟”意图210和删除闹钟意图212可被用于闹钟域202(如在图2A-2E中所见)。
[0054] “时隙”-用于完成给定域-意图对的特定动作的特定值或值集合。例如,“闹钟时间”时隙214可针对“设置闹钟”意图210被指定。
[0055] “状态”-状态可表示对话流中的特定点。作为示例,在用于创建闹钟的对话流(例如图2A-2E)中,用户可在“初始”状态(在图2D中的216-218处)开始并随后如果用户没有将时间指定作为其话语的一部分(例如,用户说“我想要设置闹钟”),则对话流将确定所需时隙值“alarmTime”(闹钟时间)之一缺失且因此将转换至“getAlarmTime”(获得闹钟时间)状态。状态通常具有某个处理块(在代理内部),或可具有响应(在该响应之后跟随着监听状态)或可具有其自己的子对话流。多轮对话流220可使用对话流工具204和意图工具206来指定。更具体而言,多轮对话流220可被用来指定与意图(例如,设置闹钟意图210)相关联的一个或多个状态之间的一个或多个状态转换,且所述状态转换可基于条件是否已被满足(例如,闹钟时间是否被指定)来指示状态间的转换。
[0056] 图4A-4H解说根据本公开的示例实施例的在反应型代理定义中使用的示例XML模式。参考图4A-4H,XML模式400-407可代表用于“闹钟”反应型代理的RAD 126的经更新的XML模式128。
[0057] 图5-7是解说根据一个或多个实施例的反应型代理定义的生成的流程图。参考图1-5,示例方法500可开始于502处,此时RADE工具102可获取可扩展标记语言(XML)模式模板(例如108)。XML模式模板108可含有用于定义在该计算设备上运行的数字个人助理的反应型代理的多个XML代码段(例如302-320)。在504,RADE工具102可接收标识域120和针对该域
120的至少一个意图122的输入。域120可与由该计算设备执行的功能的一类别相关联。该至少一个意图122可与被用来执行针对所标识的域120的该功能类别的至少一个功能的至少一个动作相关联。在506,RADE工具102可生成(例如使用如在图2A-2E中所见的图形用户界面200)定义针对该至少一个意图(例如,设置闹钟意图210)的多个状态的多轮对话流(例如
220)。在508,XML模式模板108可基于所接收的输入和多轮对话流来被更新,以产生专用于所标识的域(例如120)和该至少一个意图(例如122)的经更新的XML模式(例如128)。在510,RADE工具102可生成使计算设备执行该至少一个动作的编程代码(例如130)(例如,对于闹钟反应型代理,编程代码段130可被用来实现通过该计算设备设置闹钟)。在512,RADE工具
102可将经更新的XML模式128与编程代码段130相组合以生成反应型代理定义126。
[0058] 参考图1-4和6,示例方法600可在602开始,此时RADE工具102可获取用于定义在计算设备上运行的数字个人助理的反应型代理的可扩展标记语言(XML)模式模板(例如108)。在604,RADE工具102可(例如从编程规范118)接收标识与计算设备所执行的功能类别相关联的至少一个域-意图对(例如120-122)的输入。在606,RADE工具102可生成(例如使用如在图2A-2E中所见的图形用户界面200)定义与该域-意图对(例如,设置闹钟意图210)相关联的多个状态的多轮对话流(例如220)。在608,RADE工具120可基于所接收的输入和多轮对话流来更新XML模式模板108,以产生专用于该域-意图对(例如120-122)的经更新的XML模式(例如128)。在610,RADE工具102可使用经更新的XML模式(例如128)生成反应型代理定义(例如126)。
[0059] 参考图1-4和7,示例方法700可开始于702,此时计算设备(例如800)的RADE工具102可接收标识域(120)、针对该域的至少一个意图(122)、以及针对该至少一个意图的至少一个时隙(124)的输入。该域与由该计算设备执行的功能类别相关联(例如闹钟域202)。该至少一个意图(例如,设置闹钟意图210)可与被用来执行针对所标识的域的该功能类别的至少一个功能的至少一个动作相关联。该至少一个时隙(例如,闹钟时隙214)与被用来发起对该至少一个动作的执行的值相关联。在704,针对该至少一个意图的每个意图,RADE工具可生成定义与该至少一个意图相关联的多个状态的多轮对话流(例如,如在图2A-2E中所见)。在706,RADE工具102可用至少一个XML代码段更新可扩展标记语言(XML)模式模板(例如108)(例如,XML代码段302-320可基于针对与域120相关联的一个或多个意图122的所生成的多轮对话流而被更新)。所述更新可基于所接收的输入(例如120-124)和该多轮对话流(例如202-222),以产生专用于所标识的域(120)、该至少一个意图(122)和该至少一个时隙(124)的经更新的XML模式(例如128)。在708,RADE工具102可生成使计算设备执行该至少一个动作的编程代码(例如130)。在710,RADE工具可将经更新的XML模式(128)与编程代码(130)相组合以生成反应型代理定义(例如126)。
[0060] 图8是解说可结合其来实现本文中描述的创新的示例移动计算设备的框图。移动设备800包括各种任选的硬件和软件组件,其通常在802处示出。一般来说,移动设备中的组件802可与该设备的任何其他组件通信,但出于容易说明的目的未示出所有连接。移动设备800可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、膝上型计算机、笔记本计算机、平板设备、上网本、媒体播放器、个人数字助理(PDA)、相机、摄像机等)中的任何一个,并且可允许与诸如无线保真(Wi-Fi)、蜂窝、或卫星网络之类的一个或多个移动通信网络804进行无线双向通信。
[0061] 所解说的移动设备800可包括用于执行如信号编码、数据处理(包括分配权重和对诸如搜索结果之类的数据进行排名)、输入/输出处理、电源控制和/或其他功能等任务的控制器或处理器810(例如,信号处理器、微处理器、ASIC、或其他控制和处理逻辑电路)。操作系统812控制各组件802的分配和使用,并且支持一个或多个应用程序811。操作系统812可包括反应型代理定义编辑(RADE)工具813,该RADE工具可具有与参考图1-7描述的RADE工具120的功能性类似的功能性。
[0062] 所示的移动设备800包括存储器820。存储器820可以包括不可移动存储器822和/或可移动存储器824。不可移动存储器822可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器824可包括闪存或订户身份模块(SIM)卡——其在全球移动通信系统(GSM)等通信系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器820可用于存储运行操作系统812和应用811的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。存储器820可用于存储订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(IMSI),所述设备标识符诸如国际移动设备标识符(IMEI)。这种标识符可以被发射至网络服务器以标识用户和设备。
[0063] 移动设备800可支持一个或多个输入设备830以及一个或多个输出设备850,一个或多个输入设备830为诸如触摸屏832(例如,能够捕捉手指轻击输入、手指姿势输入或虚拟键盘或小键盘的键击输入)、话筒834(例如,能够捕捉语音输入)、相机836(例如,能够捕捉静止图片和/或视频图像)、物理键盘838、按钮和/或跟踪球840,一个或多个输出设备850为诸如扬声器852和显示器854。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以用于多于一个输入/输出功能。例如,触摸屏832和显示器854可以在单个输入/输出设备内被组合。移动设备800可提供一个或多个自然用户界面(NUI)。例如,操作系统812或应用811可包括多媒体处理软件,诸如音频/视频播放器。
[0064] 无线调制解调器860可被耦合至一个或多个天线(未示出),并且可支持处理器810与外置设备间的双向通信,如本领域中充分理解的那样。调制解调器860一般被示为并可包括例如用于通过移动通信网络804进行长程通信的蜂窝式调制解调器、可兼容蓝牙的调制解调器864、或用于通过外置的配备有蓝牙的设备或者本地的无线数据网络或路由器来进行短程通信的可兼容Wi-Fi的调制解调器862。无线调制解调器860一般被配置成与一个或多个蜂窝网络(诸如GSM网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在移动设备和公共交换电话网(PSTN)之间的数据和语音通信。
[0065] 移动设备可进一步包括至少一个输入/输出端口880、电源882、卫星导航系统接收机884(诸如全球定位系统(GPS)接收机)、传感器886(诸如,用于检测设备800的方向和运动并用于接收姿势命令来作为输入的加速度计、陀螺仪或红外邻近传感器)、收发机888(用于无线发射模拟或数字信号)和/或物理连接器890,它可以是USB端口、IEEE 1394(火线)端口、和/或RS-232端口。所示的组件802不是必需的或所有都包括的,因为可删除所示的组件中的任何一个并可添加其他组件。
[0066] 移动设备可基于通过卫星导航系统接收机884(例如,GPS接收机)接收到的信息来确定指示移动设备的位置的位置数据。或者,移动设备可以另一方式来确定指示移动设备的位置的位置数据。例如,可以通过蜂窝网络的各蜂窝塔之间的三测量来确定移动设备的位置。或者,可基于在移动设备附近的Wi-Fi路由器的已知位置来确定移动设备的位置。可以每秒钟或以其他为基础来更新位置数据,这取决于实现和/或用户设置。不管位置数据的源如何,移动设备都可以向地图导航工具提供位置数据以供在地图导航中使用。
[0067] 作为客户端计算设备,移动设备800可以向服务器计算设备(例如,搜索服务器、路由服务器等)发送请求,并且作为回报从服务器计算设备接收地图图像、距离、方向、其他地图数据、搜索结果(例如,基于指定搜索区域内的POI搜索的POI)或其他数据。
[0068] 移动设备800可以是实现环境的一部分,在实现环境中各种类型的服务(例如,计算服务)是通过计算“云”来提供的。例如,云可包括可位于中央或是分布式的计算设备集,其向经由诸如因特网等网络连接的各种类型的用户和设备提供基于云的服务。一些任务(例如,处理用户输入和呈现用户界面)可在本地计算设备(例如,连接的设备)上执行,而其他任务(例如,对将在后继处理中使用的数据的存储、数据的加权和数据的排名)可在云中执行。
[0069] 虽然图8示出了移动设备800,但更一般地本文中描述的创新可以通过具有其他屏幕能力和设备形成因素的设备来实现,诸如台式计算机、电视屏幕或连接到电视机的设备(例如,机顶盒或游戏控制台)。可由云通过服务提供商、或通过其他在线服务的提供商来提供服务。此外,由于本文中描述的技术可涉及音频流传输,可能不需要或使用设备屏幕(在音频/视频内容正被流传输到具有视频回放能力的多媒体端点设备时的实例中,可使用显示器)。
[0070] 图9是可用于实现所描述的一些实施例的示例计算系统的示图。计算系统900并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
[0071] 参考图9,计算环境900包括一个或多个处理单元910、915和存储器920、925。在图9中,该基本配置930被包括在虚线内。处理单元910、915执行计算机可执行的指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或任意其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图9示出中央处理单元910以及图形处理单元或协处理单元915。有形存储器920、925可以是可由(诸)处理单元存取的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或者两者的某一组合。存储器920、925以适合被(诸)处理单元执行的计算机可执行指令的形式,存储实现此处描述的一个或多个发明的软件980。
[0072] 计算系统还可具有附加的特征。例如,计算系统900包括存储940、一个或多个输入设备950、一个或多个输出设备960以及一个或多个通信连接970。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统900的各组件互连。通常,操作系统软件(未示出)为在计算系统900中执行的其它软件提供操作环境,并协调计算系统900的各组件的活动。
[0073] 有形存储940可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统900内访问的任何其他介质。存储器940存储用于软件980的指令,所述软件980实现此处描述的一个或多个发明。
[0074] (诸)输入设备950可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统900提供输入的另一设备。对于视频编码,(诸)输入设备950可以是相机、视频卡、TV调谐卡或接受模拟或数字形式的视频输入的类似设备,或将视频样本读入计算系统900的CD-ROM或CD-RW。(诸)输出设备960可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统900的输出的另一设备。
[0075] (诸)通信连接970允许在通信介质上到另一计算实体的通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
[0076] 各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
[0077] 术语“系统”和“设备”在本文中被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
[0078] 图10是可结合本文中描述的技术来使用的示例云计算环境。云计算环境1000包括云计算服务1010。云计算服务1010可包括各种类型的云计算资源,诸如计算机服务器、数据存储仓库、联网资源等。云计算服务1010可集中式定位(例如,由公司或组织的数据中心提供)或分布式定位(例如,由位于不同位置(诸如不同数据中心)和/或位于不同城市或国家的各计算资源提供)。此外,云计算服务1010可实现RADE工具102和本文描述的与反应型代理定义生成和编辑有关的其它功能性。
[0079] 云计算服务1010被各种类型的计算设备(例如客户端计算设备)(诸如计算设备1020、1022和1024)使用。例如,计算设备(例如1020、1022和1024)可以是计算机(例如台式或膝上型计算机)、移动设备(例如平板计算机或智能电话)、或其它类型的计算设备。例如,计算设备(例如1020、1022和1024)可利用云计算服务1010来执行计算操作(例如,数据处理、数据存储、反应型代理定义生成和编辑等)。
[0080] 出于介绍的目的,本详细描述使用了如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
[0081] 尽管以特定的顺序次序描述所公开方法的一些的操作以便于方便呈现,但应当理解,这一描述方式包含重排,除非以下提出的具体语言要求特定的次序。例如,顺序描述的操作可以在一些情况下并行地重排或同时执行。此外,为简洁起见,附图可能不示出所公开的方法可以结合其他方法使用的各种方式。
[0082] 所公开的方法中的任何方法可被实现为被存储在一个或多个计算机可读存储介质上并在计算设备(例如任何可用计算设备,包括智能电话或其他包括计算硬件的移动设备)上执行的计算机可执行指令或计算机程序产品。计算机可读存储介质是在计算环境内可访问的任何可用的有形介质(例如,诸如DVD或CD之类的一个或多个光学介质盘、易失性存储器组件(诸如DRAM或SRAM)或非易失性存储器组件(诸如闪存或硬件驱动器))。作为示例并参考图9,计算机可读存储介质包括存储器920和925以及存储940。术语“计算机可读存储介质”不包括信号和载波。此外,术语“计算机可读存储介质”不包括通信连接(例如,970)。
[0083] 用于实现所公开技术的计算机可执行指令中的任一个以及在实现所公开的实施例期间创建和使用的任何数据可以被存储在一个或多个计算机可读存储介质上。计算机可执行指令可以是例如专用软件应用或者经由web浏览器或其他软件应用(诸如远程计算应用)访问和下载的软件应用的一部分。这种软件可以例如在单个本地计算机(例如,任何适当的商业可购买计算机)上或者使用一个或多个网络计算机在网络环境(例如,经由互联网、广域网、局域网、客户端-服务器网络(诸如云计算网络)、或者其他这样的网络)中执行。
[0084] 为清楚起见,仅描述了基于软件的实现方式的特定所选方面。省略了本领域公知的其他细节。例如,应当理解,所公开的技术不限于任何具体的计算机语言或程序。例如,所公开的技术可以通过以C++、Java、Perl、JavaScript、Adobe Flash或者任何其他适当的编程语言编写的软件来实现。同样,所公开的技术不限于任何特定的计算机或硬件类型。适当计算机和硬件的特定细节是公知的,并且不需要在本公开中详细提出。
[0085] 而且,基于软件的实施例(包括例如用于使计算机执行所公开方法的任一种的计算机可执行指令)中的任一者可以通过适当的通信手段被上载、下载或远程地访问。这种适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或者其他这样的通信手段。
[0086] 所公开的方法、装置和系统不应以任何方式被限制。相反,本公开针对各种公开的实施例(单独和彼此的各种组合和子组合)的所有新颖和非显而易见的特征和方面。所公开的方法、装置和系统不限于任何具体方面或特征或它们的组合,所公开的实施例也不要求存在任一个或多个具体优点或者解决问题。
[0087] 来自任何示例的技术可以与在任何一个或多个其他示例中所描述的技术相组合。鉴于可应用所公开的本技术的原理的许多可能的实施例,应当认识到,所示实施例仅是所公开的技术的示例,并且不应被用作是对所公开的技术的范围的限制。相反,本公开的技术的范围由后续的权利要求书的范围和精神来覆盖
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈