用于范围化自然语言结果聚焦选项的专用数字助理的制作方法

文档序号:15235244发布日期:2018-08-21 20:26阅读:150来源:国知局

人机交互正在从其中人命令机器执行特定任务的交互转变为包括主动交互和被动交互两者的更机器智能的交互。例如,用户可以表达意图(例如,“我想喝咖啡”),该意图导致机器呈现针对与该意图有关的任务的命令(例如,获取到最近的咖啡店的路线;搜索站点以购买咖啡)。然后可以基于看起来对人更自然的交互来进行复杂任务的执行,如同人正在与另一个人交互以实现期望的意图一样。当今,在各种计算设备上包括个人数字助理形式的应用以提供人机交互接口。

个人数字助理包括提示用户执行动作、提供建议并执行包括向用户提供信息的特定任务的软件。当今,个人数字助理已经成为个性化的数字助理,例如,google公司的注册商标googlenow、apple公司的注册商标siri、amazon公司的注册商标alexa以及microsoft公司的注册商标cortana。这些助理了解特定用户,并且能够通过在一些情况下在用户明确要求之前显现或表述对用户而言可能重要的信息来以主动的方式与用户进行交互。这些助理可以进一步访问互联网并获得网络或地图搜索的答案。



技术实现要素:

专用数字助理(“专家”)被描述为提供范围化(scoped)自然语言、结果聚焦(focused)选项。还提供了用于生成专家的技术和系统,使得专家可以嵌入其他软件应用或由其他软件应用使用。

可以将专家直接添加到网站或应用,以使得网站或应用的访问者可以更容易地与网站或应用进行交互并获得期望的结果。网站或应用中可以包括多于一个专家。例如,在电子邮件应用中,可以从电子邮件应用的主图形用户接口/窗口(例如,其中邮箱视图可以以电子邮件项目的列表示出)获得一个专家,并且可以从撰写窗口(例如,响应于从主窗口接收到新电子邮件命令而打开的图形用户接口)获得另一专家。用于主窗口的专家可以基于从主窗口中通常期望的动作来提供信息和工具;而用于撰写窗口的专家可以提供专门针对内容创建和消息撰写范围化的信息和工具。

专家受范围化到网站或应用的特定方面的后端专用数字助理服务(“服务平台”)支持。因此,网站或网络应用开发者或网站的个人或组织可以提供范围化自然语言、结果聚焦选项,而无需具有计算机编程背景。在一个实现方式中,开发者或网站创建者可以针对网站或应用开发程序获得添加专家的软件组件。例如,插件、附加件或扩展可以用于网站和应用创建工具或内容管理系统。

专家前端可以是网页/应用的一部分,并且专家后端可以由服务平台执行。该服务平台包括服务层,并且对于每个专家包括意图映射处理器,该意图映射处理器可以包括分类器和分类器用于针对目标进行分类并识别选项的词袋。

通过在接收到对专用数字助理组件被包括在应用或网页中的指示时针对该组件建立专用数字助理,服务平台可以提供开发者辅助。建立涉及使用接收到的信息对专用数字助理组件进行初始化,该接收到的信息包括与至少一个目标相对应的至少结果聚焦选项的初始集合。初始化可以包括根据接收到的信息形成初始词袋并且在初始词袋上训练分类器。词袋和分类器可以形成专用数字助理的后端,并且被分配唯一标识符。

服务平台还可以:接收目标;对目标进行分类;以及针对由唯一标识符标识的专用数字助理提供至少一个结果聚焦选项。在一些情况下,可以提供附加的信息,例如,用于提示网站的特定部分、工具、功能、特征或内容。此外,服务平台可以接收对与目标相对应的选定的结果聚焦选项的指示;以及使用与目标相对应的选定的结果聚焦选项来更新词袋。其他分析和过程可以在服务平台处执行。

专家前端可以通过以下操作来进行操作:接收输入,其中输入是目标;向服务平台发送目标;接收至少一个结果聚焦选项;以及提供至少一个结果聚焦选项以供显示。在一个实施例中,专家可以接收对选定的结果聚焦选项(或缺少选择)的指示;以及向服务平台发送对选定的结果聚焦选项(或缺少选择)的指示。在另一实施例中,专家可以接收对选定的结果聚焦选项(或缺少选择)的指示;以及向在一段时间内收集选定的结果聚焦选项的网页或应用发送对选定的结果聚焦选项(或缺少选择)的指示。

提供该发明内容以便以简化的形式引入在下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在识别所要求保护的主题的关键特征或特征,也不旨在用于限定所要求保护的主题的范围。

附图说明

图1示出了用于范围化自然语言结果聚焦选项的专用数字助理的示例表示。

图2a示出了用于生成专用数字助理的过程流程。

图2b示出了所生成的专用数字助理的过程流程。

图3示出了其中可以执行用于范围化自然语言结果聚焦选项的专用数字助理的各种实现方式的操作环境。

图4a-4c示出了用于范围化自然语言结果聚焦选项的专用数字助理的附加过程的示例过程流程图。

图5a-5b示出了用于范围化自然语言结果聚焦选项的专用数字助理的示例场景。

图6示出了可以用于实现本文描述的技术的系统的组件的框图。

具体实施方式

描述了提供范围化自然语言、结果聚焦选项的专用数字助理(“专家”)。还提供了用于生成专用数字助理的技术和系统,使得专家可以嵌入其他软件应用或由其他软件应用使用。

尽管个人数字助理不断改进并且包括附加特征和复杂性,但是这些类型的助理面临的挑战之一是生产力和其他专用应用。目前的个人数字助理倾向于作为并不专用于特定的生产力应用或其他专用应用的一般性助理。个人数字助理倾向于作为一般性助理的一个原因是,如果软件包括编程以支持、提供信息并针对所有可能在设备上执行的程序建议命令,则存储在该设备上的文件的大小可能过高。相反,专家可以用来支持特定的应用或任务。例如,如果用户希望辅助文字处理或电子表格相关任务,则例如可以从特定生产力应用的开发者获得的专用助理可以提供识别有用命令或生成帮助信息的辅助。

可以将专家直接添加到网站或应用,使得网站或应用的访问者可以更容易地与网站或应用进行交互并获得期望的结果。专家受范围化到网站或应用的特定方面的后端服务平台支持。因此,网站或应用的开发者或个人或组织可以提供范围化自然语言、结果聚焦选项,而无需具有计算机编程背景。在一个实现方式中,开发者或网站创建者可以获得将专家添加到网站开发程序的软件组件。例如,插件、附加件或扩展可以用于wordpress或其他网站创建工具或网站内容管理系统。在另一实现方式中,专家可以是在开发网页/网站时作为工具集包括的嵌入式控件。

“网页”是指使用网页浏览器查看的html网页。如本文所使用的,术语网页也可以指博客页面。其中博客是一种专门类型的网页,其典型地由其条目通常以反向时间顺序显示的个体维护。除了html之外,网页可以包括客户端侧脚本代码。

“网站”是指在使用互联网协议的网络中利用公共域名进行寻址的静态或动态生成的网页的集合。网站托管在至少一个web服务器上,该web服务器是一种专门类型的服务器计算机,其向运行web浏览器应用的客户端计算机提供网页。如本文所使用的,术语网站还指向web浏览器提供博客页面的博客站点。

“应用”是指任何计算机程序或计算机程序组,其被设计为针对最终用户的利益执行一组经协调的功能、任务或活动。应用的示例包括但不限于文字处理器,诸如facebook之类的社交媒体应用、媒体播放器、电子邮件应用以及诸如愤怒的小鸟之类的移动游戏。

提供开发者辅助平台以辅助开发专用数字助理并支持这些专用数字助理的使用。通过这个平台,网站或应用的开发者可以在网站或应用中包括一个或多个专家,因此可以使范围化自然语言结果聚焦选项可用于用户。一旦开发者在网页或应用中包括专家,则该平台可以支持专家并提供后端处理。利用专家,用户不必了解应用如何作用(例如,可用的特定命令),而是聚焦于结果。通过专家,用户可以自我表达,而无需了解应用或网页中可用的内容。当用户在应用中或在网页上时,用户可以使用自然语言与专家前端进行交互。该平台可以执行意图映射以提供最佳可能的获知的信息和功能。

专家使得网站或应用的用户能够指示期望的结果并接收针对特定网站或应用范围化的选项。这些选项被认为是“范围化的”,因为它们高度适应于特定的网站或应用(或者甚至仅仅是网站或应用的一部分)。选项可以是表单/模板、动作或功能(例如,命令)。响应于接收到特定用户输入(例如,与短语、关键词、主题等相关联)而可用的选项可以由开发者在针对开发者辅助平台的登载过程期间初始地建立。随着时间的推移,实际使用数据可以用于调整分类器。当然,开发者可以包括附加的选项(或加权的选项),使得开发者请求的选项可用于用户。

图1示出了用于范围化自然语言结果聚焦选项的专用数字助理的示例表示。参考图1,专用数字助理可以包括接受输入(“目标”)并确定结果的后端100。后端100提供意图映射处理器并且可以包括分类器102和“词袋”104,以及用于参数意图的槽填充符。词袋104指代用于训练分类器102使得后端100可以执行意图映射以从目标识别作为结果可能相关的一个或多个选项的一组词。在一些情况下,可以使用状态机来代替分类器。槽填充符可以用于提取信息并且甚至关系以用于对结果聚焦意图进行分类和/或识别。

除后端100之外,专用数字助理还包括前端110。前端110是嵌入式控件,其可以嵌入网页或应用120中。前端110实现网页/应用120与后端100之间的通信,使得用户在网页或应用120处的交互可以被传送到后端100以执行意图映射。如所描述的,专家涉及嵌入式组件(前端110)和处理组件(后端100)。后端100可以通过提供开发者辅助平台以辅助对专家的开发和支持的专用数字助理服务130实现。专用数字助理服务130和网页/应用120可以由不同设备的处理系统执行并且通过网络140进行通信。

图2a示出了用于生成专用数字助理的过程流程。在图2a的示例过程流程中,示出了开发应用200与专用数字助理平台202(提供开发辅助并且还可以提供专用数字助理服务)之间的通信。网站或应用开发者可以使用实现网站或应用的开发的任何软件应用200。例如,可以使用wordpress来开发网站,并且专用数字助理可以是用于使用wordpress创建的博客或网站的插件。通过指示包括专家“插件”,向导或其他用户接口可以出现以促进与专用数字助理服务平台202(充当开发者辅助平台)的通信。

参考图2a,当开发应用200向服务平台202发送对专家(专用数字助理组件)被包括在应用或网页中的指示时,过程流程可以开始(204)。在一个实现方式中,在应用或网页中可以包括多于一个专家。例如,对于公司的网站,可以在公司站点的销售页面上关于访问者的意图和动作对一个专家进行训练,并且可以在公司的员工和管理的信息页面上关于访问者的意图和动作对另一专家进行训练。

服务平台202可以接收对专家被包括在应用或网站中的指示(206)。在一个实现方式中,通信可以是开发者/创建者执行向开发程序中的内容添加专用数字助理组件的软件组件的结果。例如,插件、附加件或扩展可用于开发程序。在另一实现方式中,专家可以是可用的嵌入式控制工具,其作为工具集包括在开发应用200中。

为了建立特定专家(因为可以针对网站或应用包括多于一个专家),可以执行登载过程。用于创建专家的信息从开发应用200发送到服务平台202(208)。该信息可以包括与至少一个目标相对应的至少结果聚焦选项的初始集合。可以包括内容、短语和其他信息。

服务平台202接收该信息(210),并且使用该信息对专家初始化(212)。作为初始化过程的一部分,服务平台使用关于应用/网站的页面的信息、可用的响应以及其他类似信息来支持从专家前端接收的输入的意图映射。该初始化可以包括创建词袋并训练分类器。关于实际使用的数据可以被反馈并用于更新词袋、可能的意图、可用的选项等。例如,专家的初始化可以通过形成具有结果聚焦选项的一个或多个初始集合的初始词袋来完成。在一些情况下,网站的页面被放入词袋中。一旦形成了初始词袋,则分类器可以在初始词袋上进行训练。

每个专用数字助理组件可以被分配标识符(214)。这可以在接收到对专用数字助理被包括在应用或网页中的指示时执行。在一些情况下,指示专用数字助理被包括在应用或网页中的通信包括标识符。

随着专用数字助理组件的建立,可以在站点(或应用)与服务平台之间建立桥梁。作为登载过程的一部分,开发者可以选择允许应用/网页与服务平台之间的通信。这个桥梁可以类似于当前可用的搜索嵌入功能(可以使开发者在其站点上包括简单的搜索工具)。该桥梁支持共享数据。关于用户与站点或应用的交互的数据可以是在许可的情况下与服务平台202共享的。当然应该理解,在未经用户的明确同意的情况下,机密或私人信息将不被共享,并且这种信息不是必要或要求使用的。关于要发送到服务平台202的用户交互的数据不要求关于用户的信息,相反,由服务平台202使用的数据包括用户的命令和/或活动历史。该历史信息可以包括关于嵌入式专家采取的行动以及与页面上其他事物的交互两者。一旦初始化,则专家可以准备好以起作用。

图2b示出了所生成的专用数字助理的过程流程。图2b所示的过程可以在操作212的初始化完成之后开始。参考图2b,随着网站或应用的发布,专家(经由专用数字助理前端216)可以准备好以接收输入(218)。输入可以经由专用数字助理前端216接收(220)。在各种实现方式中,输入可以是但不限于键入输入、手写输入、音频数据/语音输入或触摸屏输入。输入(意图的自然语言表达)被认为是范围化选项的目标。一些处理可以在前端216处执行以分析或者简单地格式化输入以用于传送到服务平台202,并且作为目标的输入与适当的专家标识符一起被发送到服务平台202(222)。

然后,服务平台可以接收目标(和标识符)(224),并且将目标分类以识别至少一个结果聚焦选项(226)。槽填充符评估可以作为分类步骤的一部分或在分类步骤期间执行(操作226)。在服务平台处,标识符可以使得服务在对目标分类时能够使用适当的分类器。在一些情况下,服务无法识别合适的选项(或适当地对目标分类)。该信息可以由服务的分析特征使用,以对专家进行改进并向网站/应用的开发者/所有者提供见解。图4c中示出了示例过程流程。在识别一个或多个结果聚焦选项后,服务平台可以向应用或网站提供至少一个结果聚焦选项(228)。

然后专家可以从服务平台接收至少一个结果聚焦选项(230)并且提供至少一个结果聚焦选项以供显示(232)。在一些情况下,专家接收到结果聚焦选项的列表。结果聚焦选项可以是表单/模板、动作或功能。用户能够从结果聚焦选项的列表中进行选择,并且专家将其引导至适当的信息。在一些情况下,不呈现结果聚焦选项的列表,而是提供模板/表单或可能发生动作。例如,专家(或者应用或网页)开始播放视频或显示注册表单。

在一些情况下,专用数字助理组件的前端的软件指令可以使得系统能够与专用数字助理服务进行通信以提供对专用数字助理组件被包括在应用或网页中的指示;并且与专用数字助理服务进行通信以提供包括至少结果聚焦选项的初始集合的信息,该结果聚焦选项的初始集合与预期经由专用数字助理组件的前端的图形用户接口接收的至少一个目标相对应。可以针对专用数字助理组件的前端提供图形用户接口,使得网页或应用的用户可以访问专用数字助理的功能。响应于经由专用数字助理组件的前端的图形用户接口接收到用户输入,专用数字助理组件的前端可以将作为目标的用户输入与专用数字助理组件的标识符(专家标识符)一起传送到专用数字助理服务;从专用数字助理服务接收至少一个结果聚焦选项;并且提供至少一个结果聚焦选项中的一个或多个结果聚焦选项以供显示。

图3示出了其中可以执行用于范围化自然语言结果聚焦选项的专用数字助理的各种实现方式的操作环境。如图3所示,专用数字助理服务可以支持多个专家(具有对应的后端和前端),以及提供针对各种分析特征的分析软件。

参考图3,示例操作环境可以包括服务平台320,该服务平台320支持针对多个网站(例如,具有专家前端328的网站324)和多个应用(例如,具有专家前端330的应用326)的多个专家。专家通过网络322上的通信起作用。服务平台320可以体现为例如关于图6所描述的计算系统600。

网络322可以是但不限于蜂窝网络(例如,无线电话)、点对点拨号连接、卫星网络、互联网、局域网(lan)、广域网(wan)、wifi网络、自组织网络或其组合。这样的网络广泛用于连接各种类型的网络元件,例如,集线器、网桥、路由器、交换机、服务器以及网关。网络322可以包括一个或多个连接的网络(例如,多网络环境),其包括诸如互联网之类的公共网络和/或诸如安全企业专用网之类的专用网络。如本领域技术人员将理解的,可以经由一个或多个有线或无线接入网络来提供对网络322的接入。

通过服务平台320,可以将专家添加到任何网站(或具有内容和可执行代码的其他互联网可访问位置)或应用。网站或应用可以包含多于一个专家。服务平台320包括针对每个专家前端的服务层336和专家后端。例如,可以针对每个专家前端提供关于专家特定的词袋332-1、332-2、332-3、332-4、332-5训练的分类器334-1、334-2、334-3、334-4、334-5(并且通过分配给专家的标识符来识别)。

在一个示例实现方式中,在专家的操作期间,专家前端(例如,328)经由应用编程接口(api)与服务336通信。即,服务层336可以被实现为可以通过api访问或“调用”的编程函数。服务平台320可以进一步包括分析组件338(例如,提供各种分析特征的软件)。分析组件338可以例如通过到服务平台320的图形用户接口被访问或者通过api可用,以提供关于特定专家(针对网站/应用的所有者/开发者)的使用的见解。

api是由这样的程序代码组件或硬件组件(以下称为“api实现组件”)实现的接口:其允许不同的程序代码组件或硬件组件(以下称为“api调用组件”)访问并使用由api实现组件提供的一个或多个功能、方法、过程、数据结构、类和/或其他服务。api可以定义在api调用组件与api实现组件之间传递的一个或多个参数。

api通常是用于使得两个或更多个应用能够彼此通信的一组编程指令和标准,并且通常根据rest(表示性状态传输)或soap(简单对象访问协议)架构在互联网上实现为一组超文本传输协议(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等之类的存储介质)中。

因此,当专家前端328将目标传送到服务336时,服务336可以识别适当的分类器(例如,334-1)并且使用分类器来识别与目标相对应的范围化结果。

可以通过服务层336将来自具有专家前端的应用和网页的数据(包括目标和选定的结果)引导至适当的分类器334-1、334-2、334-3、334-4、334-5和词袋332-1、332-2、332-3、332-4、332-5。服务层336还可以用于将这些输入流传送到分析组件338。服务层336可以接收结果聚焦选项并将它们发送到包括在网页324和应用326中的专家328、330以供显示。

专家前端(例如,328、330)可以是其对应的网页(例如,324)或应用(例如,326)中的嵌入式组件。网页324或应用326内的嵌入式组件可以具有智能实现方式、“非智能”实现方式、智能实现方式和非智能实现方式的组合。智能实现方式包括至少具有高速缓存的嵌入式组件。智能实现方式还可以具有其他服务或可以与其他服务进行通信,以用于但不限于工作轮替、拼写更正、翻译、手写识别、语音转文本。例如,智能嵌入可以在将输入的意图数据发送到服务平台320中的服务层336之前首先将输入的意图数据发送到翻译。

非智能嵌入式组件被包括在网页324或应用326中以帮助保持反馈循环运转以及提供由此开发者不需要进行编程的功能。非智能嵌入式组件向服务平台320中的服务层336发送数据并且从服务平台320中的服务层336接收数据,而无需在网页或应用处提供附加功能。

图4a-4c示出了用于范围化自然语言结果聚焦选项的专用数字助理的附加过程的示例过程流程图。

参考图4a和图4b,例如关于图2所描述的,一旦接收到至少一个结果聚焦选项(230)并且专家/应用/网站提供至少一个结果聚焦选项以供显示(232),则专家前端400可以接收对与目标相对应的选定的结果聚焦选项的指示(402)。使用数据可以直接由服务平台404(如图4a所示)或首先由应用或网站406(如图4b所示)收集(在许可的情况下)。应该理解,使用数据不要求个人信息,并且预期在存储或使用被认为是个人的或私人的任何信息之前由用户明确许可这些信息。

参考图4a,响应于接收到对与目标相对应的选定的结果聚焦选项的指示,专家前端400可以向服务平台404发送对与目标相对应的选定的结果聚焦选项的指示(408)。

服务平台404可以接收对与目标相对应的选定的结果聚焦选项的指示(410),并且在一些情况下存储该信息。服务平台404然后能够使用与目标相对应的选定的结果聚焦选项来更新词袋(412)。更新的词袋用于训练分类器(作为机器学习操作)。可以通过识别网站的访问者或应用的用户在特定场景下在进行查询后做什么来随时间推移执行训练。此外,该数据或使用数据可以进一步用于对结果聚焦选项进行精细调整。例如,应用可以从大量的人接收针对“答案”的查询(即,目标),或者该查询可能是趋势(例如,请求数量增加)。开发者可能不知道这个查询是关于什么的;然而,日志可以指示该请求的数量以及在进行查询之后做出了什么动作,并且因此服务平台可以基于该特定搜索查询来识别可能期望的动作(即,识别最终意图)。使用数据可以由服务的分析组件进行分析,以完成上述对度量、趋势等的分析。

参考图4b,响应于接收到对与目标相对应的选定的结果聚焦选项的指示,应用/网站406可以在一段时间内收集数据(414)。收集的数据可以被称为使用数据。应用/网页服务器406可以收集关于与目标/意图相对应的选定的结果聚焦选项以及用户关于应用/网页执行的其他活动的信息。对数据的分析可以在服务处执行。另外,收集的数据可以用于训练分类器。对分类器可以完成的训练越多,结果聚焦选项越范围化/聚焦。例如,应用可以从大量的人接收针对“答案”的自然语言查询(提供目标),或者该查询可能是趋势(例如,请求数量增加)。开发者可能不知道这个查询是关于什么的;然而,日志可以指示该请求的数量以及在查询后做出了什么动作,并且因此服务平台可以基于该特定搜索查询来识别可能期望的动作(以识别最终意图)。

在收集数据之后,应用/网页服务器406可以将收集的数据发送到服务平台404(416)。在一个实施例中,数据可以由网页的站点主机在一段时间内收集并且在服务进行请求时或者在特定时间提供给服务。在另一实施例中,使用数据可以由网页的站点主机在一段时间内收集并且周期性地提供给服务。应该理解,使用数据不要求个人信息,并且预期在存储或使用被认为是个人的或私人的任何信息之前由用户明确许可这些信息。

服务平台可以从应用/网页接收收集的数据(418),使得服务平台然后可以使用收集的数据来更新词袋(420)。然后使用更新的词袋来训练分类器,以便获得更加高度适应的结果聚焦选项。

参考图4c,其示出了收集用于分析的数据的过程,输入流可以在专家行为期间的多个点处被处理以用于分析。通过收集数据,服务可以促进分析以及对分类器的自动分类器训练和操纵,以引导用户达到特定目标。

一个数据收集点可以是在从专用数字助理400初始接收到目标时。这些目标输入(和其他数据)可以被认为是意图流422。专用数字助理服务404可以接收(424)意图流422(例如,提供目标的数据),例如,关于图2b中的操作224所描述的。所接收的意图流(具有目标)被处理(426)以确定是否存在至少一个结果聚焦选项,例如,关于图2b的操作226所描述的。然而,有时没有合适的成果。例如,因为所确定的意图不具有可从网页或应用获得的对应特征,或者因为专家尚未将目标连接到结果(但经由机器学习是可以的)。因此,如图4c所示,当服务处的专家后端执行过程(426)以确定结果聚焦选项(成果)时,可以确定(427)是否存在要提供回到专家前端的成果。如果存在成果,则可以向专家前端提供(428)一个或多个结果聚焦选项的成果,例如,关于图2b所描述的。如果没有成果,则可以存储(430)该信息以供稍后分析(例如,由分析组件使用432)。

另一数据收集点可以在接收434关于是否选择了基于用户的输入提供给用户的结果聚焦选项之一的信息436时发生。例如,如关于图4a和图4b所描述的,可以收集该信息。在信息436指示选择了结果聚焦选项438的情况下,可以使用指示选定的结果聚焦选项的信息来更新分类器(440)。在信息436指示没有选择结果选项442的情况下,至少可以存储目标(来自意图流)的信息(444)并且在分析期间使用该信息(432)。

因此,关于以下的信息可以被存储并且提供或以其他方式由分析特征访问以便执行分析432(例如,利用图3的分析组件338):无法与来自用户是否选择使用响应于经由专家的请求而提供的结果聚焦选项中的一个(或多个)的反馈数据一起提供的意图。分析可以包括用于生成度量和/或识别数据中的模式的任何合适的工具。应该理解,尽管该特定实现方式聚焦于目标不能被分类或者不使用成果的情况的分析,但可以执行分析以生成关于被提供的目标(以及其产生的选定选项)的度量和其他分析。

图5a-5b示出了用于范围化自然语言结果聚焦选项的专家的示例场景。

参考图5a,健身中心网站500的开发者可以在其网站500中包括专用数字助理组件,因此如果访问者经由用户接口504将期望的结果(或目标)502输入到专用数字助理组件(前端),则专用数字助理(“专家”)可以通过与服务平台的通信来提供范围化选项。在该示例中,范围化选项以列表505的形式提供。列表505可以将用户引导至特定选项。不是花时间来学习健身中心的网站500的内容,访问者使用数字助理接口504来输入意图的自然语言陈述语句502。陈述语句502表示访问者期望的结果,在该示例中为“我想要穿进我的裙子”。其他示例可能是“减肥”或“增肌”。

访问者的陈述语句504返回高度适应的选项的列表505,其包括访问者可以在健身中心的网站500上做什么来帮助实现其期望的结果。在一些情况下,选项的列表505可以包括将用户引导至用户填写的表单或模板的选项。这个选项的示例可以包括专家编制用于婚礼预算的电子表格。在其他情况下,选项的列表可以包括引导网站执行动作的选项,例如,播放视频或歌曲。在又一示例中,选项的列表可以包括引导网站执行功能的选项,例如,计算该区域中的婚礼的平均成本。在一些情况下,不呈现选项的列表,而是提供模板或表单或者可能发生动作。

示出的示例选项包括查看锻炼课程计划表506、查看样本锻炼计划器508、查看训练类型510、安排与教练的咨询512、查看会员页面514、请求会员价格516或完成表单518。访问者然后可以选择选项506、508、510……518中的一个并且被引导至网站500中的正确位置,或者该站点可以显现适当的项目。

参考图5b,乘车共享应用530的开发者可以包括具有前端接口532的专家,因此如果用户输入期望的结果,则专家可以将用户引导至特定的选项。流行的乘车共享应用的示例包括lyft公司的注册商标lyft和ubertechnologies公司的注册商标uber。基于开发者在专家建立期间提供的选项,可以使特定选项可用。功能/选项的示例包括即使用户处于拥挤或嘈杂的环境中也帮助用户快速启动应用530,并且高效且直观地产生用户期望的结果并且立即进行处理。例如,添加专家接口532消除了对多个步骤以及点击多个按钮的需要。此外,专家还允许用户节省学习如何使用和导航通过应用530花费的时间。

乘车共享应用530的用户可以使用专家接口532来输入自然语言陈述语句534。陈述语句534表示用户期望的结果,在该示例中为“呼叫车辆”。作为进一步的示例,用户的陈述语句534可以指示期望的结果“在特定时间安排接取”或“安排suv在特定时间接取去往特定目的地”。在一个实施例中,开发者可以建立专家来识别来自乘车共享应用530的用户的前五个意图或目标。这将允许开发者确保如果用户输入来自前五列表的意图或期望的结果,则不管输入如何陈述都不会被应用530和专家错过。

访问者的陈述语句534可以返回高度适应的选项,其在一些情况下可以包括用户可以在乘车共享应用530上执行的帮助实现其期望的结果的选项的列表535。针对该示例的所示的选项包括输入目的地536、预订特殊运送538、挑选车辆尺寸540以及安排接取时间542。用户然后可以选择选项536、538、540、542中的一个并且可以立即进行处理。

第二专家(以及具有接口544的对应前端)可以包括在该应用中,例如,在乘车共享应用530内的地图中。该专家可以提供特定于该页面的范围化的结果,例如,以允许用户搜索地图内的特定地点,这可以进一步用于选择接取位置或安排行程。

图6示出了可以实现本文描述的服务平台的计算系统的框图。参考图6,系统600可以在单个计算设备内实现,或者跨协作执行程序指令的多个计算设备或子系统分布。系统600可以包括一个或多个刀片服务器设备、独立服务器设备、个人计算机、路由器、集线器、交换机、网桥、防火墙设备、入侵检测设备、大型计算机、网络附接存储设备以及其他类型的计算设备。系统硬件可以根据任何合适的计算机架构进行配置,例如,对称多处理(smp)架构或非均匀存储器存取(numa)架构。

系统600可以包括处理系统620,处理系统620可以包括从存储系统615取回并执行软件605的一个或多个处理器和/或其他电路。处理系统620可以在单个处理设备内实现,但是也可以跨协作执行程序指令的多个处理设备或子系统分布。

处理系统620的示例包括通用中央处理单元、专用处理器和逻辑器件以及任何其他类型的处理设备、其组合或变体。一个或多个处理设备可以包括多处理器或多核处理器,并且可以根据一个或多个合适的指令集进行操作,包括但不限于精简指令集计算(risc)指令集、复杂指令集计算(cisc)指令集或其组合。在特定实施例中,代替通用cpu或除通用cpu之外,可以包括一个或多个数字信号处理器(dsp)作为系统的计算机硬件的一部分。

(多个)存储系统615可以包括能够由处理系统620读取并且能够存储软件605的任何计算机可读存储介质。存储系统665可以包括以任何方法或技术实现用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的易失性和非易失性、可移除和不可移除的介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、cd、dvd、闪速存储器、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储设备或其他磁存储设备、或者任何其他合适的存储介质。存储系统的存储介质在任何情况下都不是传播信号或载波。

除了存储介质之外,在一些实现方式中,存储系统615还可以包括通信介质,通过该通信介质可以在内部或外部传送软件。存储系统615可以实现为单个存储设备,但是也可以跨位于一处或相对于彼此分布的多个存储设备或子系统实现。存储系统615可以包括能够与处理系统620通信的附加元件,例如,控制器。

在一些情况下,存储系统615包括用于专家的数据630。在其他情况下,用于专家的数据630是系统600与其通信的单独系统(例如,远程存储提供方)的一部分。例如,诸如用户输入或选定的结果聚焦选项之类的数据可以存储在系统600可以经由通信接口625通过通信网络访问的任何数量的远程存储平台上。这样的远程存储提供方可能包括例如分布式计算网络(例如,互联网)中的服务器计算机。这样的远程存储提供方还可以包括“云存储提供方”,其数据和功能能够由应用通过os功能或api进行访问。

软件605可以在程序指令以及其他功能中实现,其在通常由系统600或特别地由处理系统620执行时,引导系统600或处理系统620如本文所描述地进行操作以用于生成并支持用于范围化自然语言结果聚焦选项的专用数字助理(具有服务610)。

软件605还可以包括附加的进程、程序或组件,例如,操作系统软件或其他应用软件。应该注意,操作系统可以在计算设备上本机地以及在本机设备操作系统(os)上运行的软件虚拟化层上实现。虚拟化的os层虽然未在图6中描述,但是可以被认为是操作系统空间内的附加嵌套分组,每个分组包含os、应用程序和api。

软件605还可以包括能够由处理系统620执行的固件或一些其他形式的机器可读处理指令。

系统600可以代表任何计算系统,包括专用数字服务610的软件605可以在该计算系统上驻存,并且软件605可以从其分发、传输、下载或以其他方式提供给另一计算系统以用于部署和执行或者其他附加的分发。

在系统600包括多个计算设备的实施例中,服务器可以包括促进计算设备之间的通信的一个或多个通信网络。例如,一个或多个通信网络可以包括促进计算设备之间的通信的局域网或广域网。计算设备之间可以包括一个或多个直接通信链路。另外,在一些情况下,计算设备可以安装在地理上分布的位置。在其他情况下,多个计算设备可以安装在单个地理位置,例如,服务器群或办公室。

可以包括通信接口625,提供允许在系统600与其他计算系统(未示出)之间通过通信网络或网络集合(未示出)或在空中进行通信的通信连接和设备。一起允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、rf电路、收发器以及其他通信电路。连接和设备可以通过通信介质(例如,金属、玻璃、空气或任何其他合适的通信介质)进行通信以交换与其他计算系统或系统网络的通信。去往和来自通信接口的传输可以由os进行控制,os在必要时向应用通知通信事件。

可替代地或另外,本文描述的功能、方法和过程可以至少部分地由一个或多个硬件模块(或逻辑组件)来实现。例如,硬件模块可以包括但不限于专用集成电路(asic)芯片、现场可编程门阵列(fpga)、片上系统(soc)系统、复杂可编程逻辑器件(cpld)以及现在已知或以后开发的其他可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块内的功能、方法和过程。

实施例可以实现为计算机进程、计算系统或者诸如计算机程序产品或计算机可读介质之类的制品。本文描述的特定方法和过程可以体现为可以存储在一种或多种存储介质上的软件、代码和/或数据。本发明的特定实施例设想使用计算机系统形式的机器,其中一组指令在被执行时可以使得系统执行上面讨论的方法中的任何一种或多种方法。特定计算机程序产品可以是计算机系统可读并且编码指令的计算机程序用于执行计算机进程的一种或多种计算机可读存储介质。

通过示例而非限制的方式,计算机可读存储介质可以包括以任何方法或技术实现用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的易失性和非易失性、可移除和不可移除的介质。计算机可读存储介质的示例包括诸如随机存取存储器(ram、dram、sram)的易失性存储器;诸如闪速存储器、各种只读存储器(rom、prom、eprom、eeprom)、相变存储器、磁和铁磁/铁电存储器(mram、feram)以及磁和光存储设备(硬盘驱动器、磁带、cd、dvd)的非易失性存储器。如本文所使用的,术语“存储介质”在任何情况下都不由载波或传播信号组成。

应该理解,本文描述的示例和实施例仅用于说明性目的,并且根据其进行各种修改或改变对于本领域技术人员将是显而易见的并且被包括在本申请的精神和权限内。

尽管已经用特定于结构特征和/或动作的语言描述了主题,但是应该理解,在所附权利要求中限定的主题不一定限于上述特定特征或动作。相反,上述特定特征和动作是作为实现权利要求的示例而公开的,并且其他等同特征和动作旨在落入权利要求的范围内。

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