构建会话理解系统的系统和方法与流程

文档序号:16807448发布日期:2019-02-10 13:11阅读:197来源:国知局
构建会话理解系统的系统和方法与流程

语言理解系统、会话管理器和人工智能正在改变用户与计算机交互的方式。计算机和应用的开发方一直在尝试改进人与计算机之间的交互。然而,构建这样的系统需要大量的专业知识、时间、金钱和其他资源。

关于这些和其他一般性考虑,已经做出了本文公开的多个方面。而且,尽管可以讨论相对特定的问题,但是应当理解,这些方面不应限于解决在

背景技术:
或本公开的其他地方所标识的具体问题。



技术实现要素:

总体而言,本公开一般性地涉及用于构建会话理解系统的系统和方法。更具体地,本文公开的系统和方法提供预构建会话项目,其可以在构建者选择时形成会话理解系统,而不需要来自构建者的任何进一步输入。因此,与利用需要来自构建者的进一步输入的会话项目的系统和方法相比,本文公开的用于构建会话理解系统的系统和方法减少了为应用构建会话理解系统所需的专业知识、时间和资源。

本公开的一个方面针对一种系统。该系统包括至少一个处理器和存储器。存储器编码有计算机可执行指令,该计算机可执行指令在由至少一个处理器执行时可操作用于:

提供预构建会话项目的存储库;

提供用于从所述存储库中选择一个或多个预构建会话项目的用户接口;

接收来自构建者的对至少一个预构建会话项目的选择,以形成所选择的项目集合;

基于所选择的项目集合来形成会话组件;以及

实施所述会话组件以创建所述会话理解系统。

预构建会话项目包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目包括预配置的参数、预配置的约束、预配置的继承和预配置的结构。所选择的项目集合能够在选择时实施,而不需要来自构建者的任何进一步输入。

本公开的另一方面包括计算机可读存储介质。计算机存储介质存储计算机可执行指令。计算机可执行指令在由计算设备执行时使计算设备执行方法。该方法包括:

访问预构建会话项目的存储库;

提供用于从存储库中选择一个或多个预构建会话项目的用

户接口;

接收来自构建者的对至少一个预构建会话项目的选择以形成所选择的项目集合;

经由用户接口从构建者接收实施请求;以及

响应实施请求,实施所选择的项目集合以创建会话理解系统。预构建会话项目包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目可以包括预配置的参数、预配置的约束、预配置的继承和/或预配置的结构。所选择的项目集合能够在选择时实施,而无需来自构建者的任何进一步输入。

本公开的又一方面包括用于构建会话理解系统的方法。该方法包括:

提供预构建会话项目的存储库;

提供用于从存储库中选择预构建会话项目的用户接口;

接收来自构建者的对至少一个预构建会话项目的选择以形成所选择的项目集合;

基于所选择的项目集合来形成会话组件;以及

实施会话组件以创建会话理解系统。

预构建会话项目包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目包括预配置的参数、预配置的约束、预配置的继承和/或预配置的结构。会话组件能够在不需要来自构建者的任何输入的情况下形成和实施。

提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

附图说明

参考以下附图描述非限制性和非穷举性实施例。

图1是示出了根据本公开的方面的由客户端计算设备的用户利用的会话理解系统的示意图。

图2是示出了根据本公开的方面的由构建者经由客户端计算设备利用的会话理解系统构建平台的示意图。

图3是示出了根据本公开的方面的由构建者经由客户端计算设备利用的会话理解系统构建平台的示意图。

图4a是示出了根据本公开的方面的用于会话理解系统构建平台的所选任务特定模板的规范和所选任务特定模板和构建者定制的示意图。

图4b是示出了根据本公开的方面的用于会话理解系统构建平台的如图4a中所示的所选任务特定模板的规范和所选任务特定模板的构建者定制的示意图。

图4c是示出了根据本公开的方面的用于会话理解系统构建平台的如图4a中所示的示出了构建者修改和定制之后的子任务模块的所选择的任务特定模板的规范以及子任务模块仓库的示意图。

图5a是示出了根据本公开的方面的用于会话理解系统构建平台的所选择的子任务模块的规范和所选择的子任务模块的构建者定制的示意图。

图5b是示出了根据本发明的方面的用于cu系统构建平台的如

图5a中所示的所选择的子任务模块的规范以及所选择的子任务模块的构建者定制的示意图。

图6是示出了根据本公开的方面的复杂任务和任务特定模板仓库的示意图。

图7是示出了根据本公开的方面的用于构建会话理解系统的方法的流程图。

图8是示出了根据本公开的方面的用于形成会话组件的方法的流程图。

图9是示出了利用其可以实践本公开的各个方面的计算设备的示例物理组件的框图。

图10a是利用其可以实践本公开的各个方面的移动计算设备的简化框图。

图10b是利用其可以实践本公开的各个方面的图10a中所示的移动计算设备的简化框图。

图11是其中可以实践本公开的各个方面的分布式计算系统的简化框图。

图12示出了利用其可以实践本公开的各个方面的平板计算设备。

具体实施方式

在以下详细描述中,参考形成其一部分的附图,并且其中通过图示的方式示出了特定方面或示例。可以组合这些方面,可以利用其他方面,并且可以在不脱离本公开的精神或范围的情况下进行结构改变。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围由权利要求及其等同物限定。

机器学习、语言理解和人工智能的进步正在改变用户与计算机交互的方式。数字助理应用,诸如siri、googlenow和cortana是人机交互转变的示例。

图1示出了根据本公开的方面的由客户端计算设备104的用户103利用的典型会话理解(cu)系统106。典型的cu系统106包括自动语音识别(asr)系统108、自然语言理解(nlu)系统110、会话管理(dm)系统112和自然语言生成(nlg)系统114。在一些方面,nlg系统可以生成多模式输出,诸如口头文本、书面文本、和其他ux/视觉元素。此外,cu系统106包括知识后端116或与知识后端116通信。cu系统经由客户端计算设备104上的接口从用户103接收用户输入118,诸如语音和/或文本(或自然语言输入)。cu系统还可以从用户选择接收用户输入118,诸如从列表中轻敲项目或在地图上圈出区域。cu系统106利用asr系统108、nlu系统110、dm系统112、nlg系统114和知识后端116处理所接收的用户输入118,以生成对所接收的用户输入118的响应120(其可包括动作)。计算设备104呈现或执行该响应120。cu系统106可以在一个或多个客户端计算设备104上和/或在一个或多个服务器计算设备上实施。

这样,cu系统106促进自然用户接口或会话交换,因此用户103可以以自然方式与其计算设备104上的应用交互。换句话说,cu系统106在多轮场景中提供上下文语言理解。这使得cu系统106成为与诸如数字代理、机器人、消息传送应用、语音代理或任何其他应用类型的各种类型的系统集成的非常自然且有吸引力的选择。

然而,构建cu系统106所需的复杂性和资源是更广泛地采用会话接口的瓶颈。例如创建这些cu系统106的公司之外的开发者通常需要获得大量完全标记的数据。完全标记的数据通常需要大量的时间和资源来开发。此外,会话系统中的大量领域专业知识对于构建、配置和/或训练cu系统106的asr系统108、nlu系统110、dm系统112和nlg系统114是必要的。换句话说,这些cu系统组件的第三方可扩展性通常是资源和专业知识成本过高的。在这些组件中,只有现成的asr系统108可用于不同的应用。然而,如果这些asr系统108已经被训练并且被约束到特定领域或任务,那么即使这些asr系统108也可以实质上更准确。

虽然已经创建了先前的系统和方法以简化构建cu系统106的任务,但是这些先前的平台仍然需要构建者来确定和输入任务、给定任务的结构、参数、任务和/或子任务之间的层级和继承、和/或子任务和/或任务和/或子任务的属性。因此,cu系统106的构建者仍然必须具有大量的领域专业知识、知识、时间和资源以利用这些先前的系统和方法来创建功能性的cu系统106。

通常没有在不需要大量领域专业知识、时间和其他资源的情况下允许第三方开发者为应用构建cu系统106的系统或方法。本文公开的系统和方法针对cu系统构建平台,其提供预构建会话项目,预构建会话项目可以在构建者选择时形成cu系统106,而不需要来自构建者的任何进一步输入。预构建会话项目创建cu系统100,其具有完全训练的任务特定asr系统108、nlu系统110、dm系统112和nlg系统114。因此,本文公开的系统和方法允许第三方开发者构建cu系统106以用于数字代理、机器人、消息应用、语音代理或任何其他应用类型,而无需任何领域专业知识或不需要大量时间和其他资源。换句话说,如本文所公开的系统和方法提供cu构建平台,其使得第三方能够以比先前使用的cu系统构建平台所需的更少的专业知识、更少的时间和更少的资源来构建cu系统106。

本文描述的系统和方法的能力为构建者提供预构建会话项目,其可以在选择时形成cu系统而不需要来自构建者的任何进一步输入,这创建了易于使用且高效的服务或构建平台以用于构建会话系统。此外,本文描述的系统和方法的能力为构建者提供预构建会话项目,其可以在选择时形成cu系统而不需要来自构建者的任何进一步输入,与以前用于cu系统的构建平台相比,这减少了为应用构建cu系统所需的时间和资源。

图2和图3示出了根据本公开的方面的由构建者102(或cu系统构建平台100的用户102)经由客户端计算设备104使用的cu系统构建平台100的不同示例。在一些方面,cu系统构建平台100在客户端计算设备104上实施,如图2所示。在基本配置中,客户端计算设备104是具有输入元件和输出元件两者的计算机。客户端计算设备104可以是用于实施cu系统构建平台100的任何合适的计算设备。例如客户端计算设备104可以是移动电话、智能电话、平板计算机、平板手机、智能手表、可穿戴计算机、个人计算机、游戏系统、台式计算机、膝上型计算机等等。该列举仅是示例性的,不应视为限制。可以使用用于实施cu系统构建平台100的任何合适的客户端计算设备104。

在其他方面,cu系统构建平台100在服务器计算设备105上实施,如图3所示。服务器计算设备105可以通过网络113向客户端计算设备104提供数据和/或从客户端计算设备104接收数据。在一些方面,网络113是分布式计算网络,诸如因特网。在另外的方面,cu系统构建平台100在多于一个服务器计算设备105上实施,诸如多个服务器计算设备105或服务器计算设备105的网络。在一些方面,cu系统构建平台100是具有客户端计算设备104上的cu系统构建平台100的多个部分并且具有服务器计算设备105上的cu系统构建平台100的多个部分的混合系统。

在一些方面,cu系统构建平台100通过网络113与存储库101通信。在其他方面,cu系统构建平台100包括存储库101。存储库101可以包括一个或多个仓库(repository)135。仓库135包括一个或多个预构建会话项目130。预构建会话项目130可以是任务特定模板132或子任务模块134。在一些方面,仓库135包括两种类型的预构建会话项目130。在其他方面,仓库135仅包括一种类型的会话项目130,诸如任务特定模板132,其构成任务特定模板仓库136。在另外的方面,仓库135仅包括诸如子任务模块134类型的会话项目130,子任务模块134构成子任务模块仓库138。一个或多个存储库101可以由提供方更新。可以使用硬件、软件或硬件和软件的组合来实施这些各种组件。在一些方面,利用了cu系统构建平台100的存储库101是利用cu系统构建平台100创建的。

预构建会话项目130针对特定功能。例如任务特定模板132针对执行特定任务,诸如餐馆预留、航班预留、酒店预订、出租车预订、食物外送、订购鲜花等。该列举仅是示例性的并且不意味着限制。如本领域技术人员所知,cu系统的任何合适任务可以用作预构建会话项目130。然而,虽然子任务模块134针对执行特定功能,但是该功能不是任务特定的并且可以用于执行几个不同的任务。子任务模块134可以包括要从用户收集的标准实体,诸如日期/时间、地址、电话号码、支付信息,以及对话操作,诸如称呼、确认、通过列举消歧、已经提供的数据的修改等。该列举仅是示例性的,并不意味着限制。如本领域技术人员已知的,任何子任务模块134可以是预构建会话项目130。例如针对机票预订的航班预留模板(或任务特定模板132)可以包括用于支付预订的机票的支付模块(或子任务模块134)。下面更详细地解释这些不同的任务特定模板132和子任务模块134。

预构建会话项目130被认为是预构建的,因为每个项130被预配置为包括所有必要的参数、约束、模式、模式信息、绑定、规则、继承、层级、结构、段(用户输入的示例话语或选择)、以及为项目的给定功能创建cu系统所需的模型训练。例如,预构建会话项目130在实施时形成cu系统100,其具有完全训练的任务特定或功能特定的asr系统108、nlu系统110、dm系统112和nlg系统114。因此,可以实施每个预构建会话项目130以创建cu系统106,而不需要来自构建者102的任何进一步输入。

cu系统构建平台100包括用于构建cu系统106的用户接口。用户接口由cu系统构建平台100生成并经由客户端计算设备104呈现给构建者102。cu系统构建平台100的用户接口允许构建者102选择一个或多个预构建会话项目130。用户接口将一个或多个预构建会话项目130提供给构建者102以供选择。用户接口可以以诸如列表、图标、细节、瓦片和/或内容等任何已知的合适方式向构建者102提供和/或显示一个或多个预构建会话项目130。cu系统构建平台100经由用户接口通过客户端计算设备104从构建者102接收选择。

在一些方面,用户接口将所有已知的预构建会话项目130从存储库101呈现给构建者102以供选择。在其他方面,用户接口仅将一部分已知的预构建会话项目130从存储库101呈现给构建者102以供选择。在一些方面,用户接口包括搜索功能或搜索接口。搜索功能可以向构建者102提供搜索框,以允许构建者102输入搜索查询。响应于接收到的构建者搜索查询,搜索功能可以基于构建者查询来获取一个或多个预构建会话项目130,并将这些搜索结果呈现给构建者102以供选择。在一些方面,查询包括示例用户输入118或系统话语,诸如自然语言输入。在其他方面,预构建会话项目130被分成类别。在这些方面,用户接口将来自存储库101的已知预构建会话项目130的一部分呈现给构建者102,以基于构建者102的类别选择进行选择。在一些方面,类别包括任务特定模板、子任务模块、旅行、餐馆、购物等。类别的这个列举是示例性的,并不意味着限制。cu系统构建平台100可以使用本领域技术人员已知的用于预构建会话项目130的任何其他合适类别。在其他方面,cu系统构建平台100分析来自构建者102的所选择的会话项目130的列表,用于对构建者102索引并搜索其他相关和/或有关的会话项目130。在这些方面,cu系统构建平台100将这些相关和/或有关的会话项目130提供给构建者102以供在用户接口上选择。

每个预构建会话项目130可以包括在用户接口上呈现的描述性标签206,其向构建者102通知预构建会话项目130的功能。在一些方面,每个预构建会话项目130还包括可以在选择时或悬停在预构建会话项目130上或悬停在预构建会话项目130的特定部分上时可以访问的功能的描述(一个或多个句子)。在其他方面,每个类别可以包括呈现在用户接口上的描述性标签206,其通知构建者102包括在该类别中的预构建会话项目130的功能类型。在一些方面,每个类别还包括对包括在该类别中的预构建会话项目130的功能类型的描述,其可以在选择或悬停在类别上或者悬停在类别的特定部分上时被访问。

构建者102可以选择一个或多个预构建会话项目130以构建具有期望功能的cu系统106。cu系统构建平台100经由用户接口接收一个或多个用户选择。响应于接收到第一选择,cu系统构建平台100的用户接口向构建者102呈现所选择的会话项目130的规范,并向构建者102提供一个或多个选项。例如用户接口可以向构建者102提供和/或呈现实施选项、模拟选项、定制选项和/或另外的选择选项(本文也称为修改选项)。因此,构建者102可以定制模板或创建的规范,选择附加的预构建会话项目130以在模拟中修改模板或创建的规范,测试模板或创建的规范,和/或将模板或创建的规范实施到cu系统106中。

在一些方面,构建者102利用cu系统构建平台100的用户接口选择多个预构建会话项目130。构建者102可以利用cu系统构建平台100的用户接口,选择任何数量的任务特定模板132(例如第一任务特定模板、第二任务特定模板、......第n任务特定模板)和/或任何数量的子任务模块134(例如第一子任务模块、第二子任务模块、第n个子任务模块)。例如构建者102可以选择第一任务特定模板132,然后选择一个或多个子任务模块134以添加或修改所选择的第一任务特定模板的规范,如图4c所示。在其他方面,构建者102可以选择多个任务特定模板132以形成如图6所示的复杂任务205。在这些方面,构建者102可以进一步选择一个或多个附加子任务模块134以添加到或修改复杂任务205的各种规范。

由构建者102选择的一个或多个所选择的会话项目130形成所选择的项目集合。所选择的项目集合准备好实施,而不需要来自构建者102的任何进一步输入。例如一个或多个所选择的会话项目由cu系统构建平台100自动组合。另外,构建者102可以定制所选择的项目集合中一个或多个所选择的会话项目。组合的、定制的和/或修改的一个或多个所选择的会话项目形成会话组件。

通过在各种不同的所选择的会话项目之间集成预配置的继承和预配置的结构来自动组合所选择的项目集合。在一些方面,通过确定任何所选会话项目是否共享任何所需信息来自动组合所选择的项目集合。如果cu系统构建平台100确定了任何共同的要求信息,则将共同的要求信息链接以用于同步数据填充。换句话说,如果所选择的会话项目中不止一个需要名称、地址、支付信息和电话号码,则链接这些预配置的参数202,以便一旦cu系统106的用户103提供该信息,则该信息就被填充在需要相同信息的每个地方。

在其他方面,通过确定任何所选择的会话项目是否共享任何相同的子任务模块134来自动组合所选择的项目集合。如果任何公共子任务模块134由cu系统构建平台100确定,则除了公共子任务模块134之一之外的全部被移除。例如如果组合了两个不同的任务特定模板132,诸如航班预留任务特定模板和租赁汽车预留任务特定模板,则每个模板可以包含其自己的支付子任务模块。本示例中,移除额外支付子任务模块,同时请求支付任务特定模板。在备选方面,如果cu系统构建平台100确定任何公共子任务模块134,则公共子任务模块134被链接用于同步数据填充。

如上所述,在一些方面,构建者102可以选择两个或更多个任务特定模板132以形成复杂任务205。在其他方面,cu系统构建平台100的用户接口呈现或提供复杂任务205,其按标签206在高级别列出所有所选任务特定模板。在这些方面,通过用户接口向构建者102呈现选项,以查看一个或多个所选任务特定模板的规范,以进行进一步的定制和/或修改。响应于接收到构建者选择,cu系统构建平台100的用户接口提供和/或显示所选择的任务特定模板的规范200以用于进一步的定制和/或修改。在其他方面,通过用户接口向构建者102呈现选项,以查看所选择的任务特定模板和/或所选择的子任务模块的自动组合规范,以进行进一步的定制和/或修改。响应于接收到该选项的构建者选择,cu系统构建平台100的用户接口提供和/或显示所选择的任务特定模板和/或子任务模块的自动组合规范,以进行进一步的定制和/或修改。

所选择的会话项目130的规范200包括一个或多个预配置的参数202和一个或多个预配置的约束204。预配置的参数202表示cu系统106将识别的并且为cu系统106收集的信息。参数202被预配置,因为这些参数202所需的模式、实体、插槽和/或绑定是由任务特定模板200提供的。预配置的参数202可以从用户输入118、从在客户端计算设备104上存储的信息、和/或从通过网络113找到的信息收集。预配置的约束204是验证参数值或参数值组合的任何形式。验证包括值的基础。例如值可以基于数据库,使得值变为可操作的。例如使酒店名称基于旅行社数据库中的特定酒店,允许进行与该特定酒店相关的关于特定的夜晚的开放房间的查询。因此,在一些方面,预配置的约束204表示必须为cu系统106呈现或收集哪些预配置的参数202以执行所选择的预构建会话项目的期望功能和/或任务。

如上所述,构建者102可以定制所选择的项目集合中的一个或多个所选择的会话项目。在一些方面,构建者102选择在用户接口中的显示规范200中列出的任何期望的预配置参数202和/或预配置约束204以构建定制规范。在其他方面,构建者102移除在用户接口上的所显示的规范200中列出的任何不期望的预配置参数202和/或预配置约束204,以构建定制规范。cu系统构建平台100经由用户接口接收构建者选择的定制。响应于从构建者102接收的定制,cu系统构建平台100通过移除和/或添加由构建者102选择的预配置参数202和/或预配置约束204来创建定制规范。预配置参数202和/或预配置的约束204由任务特定模板132或子任务模块134的规范200提供。

在进一步的方面,构建者102可以从头开始(scratch)构建非预配置的参数和/或非预配置的约束,并使用cu系统构建平台100的用户接口将未预配置的参数和/或非预配置的约束添加到所选会话项目的规范200中来定制会话项目。非预配置参数和/或非预配置约束未被预构建。这样,构建者102必须提供cu系统106识别和/或收集非预配置的参数所需的模式、实体、插槽、绑定、继承和/或结构,作为cu系统构建平台100的构建者输入。cu系统构建平台100经由用户接口从构建者102接收所创建或构建的非预配置参数和/或非预配置约束作为输入。响应于接收到非预配置的参数和/或非预配置的约束,cu系统构建平台100将非预配置的参数和/或非预配置的约束添加到规范200以形成定制的规范。

在一些方面,定制选项包括参数顺序选项和/或会话项目顺序选项。在这些方面,用户接口向构建者102提供和/或显示参数顺序选项和/或会话项目顺序选项。构建者102可以经由用户接口选择参数顺序选项并输入列出的预配置参数202的期望收集顺序。响应于从构建者102接收参数命令,cu系统构建平台100将该期望的顺序添加到所选择的规范200。构建者102可以经由用户接口选择会话项目顺序选项并输入用于运行所选择的会话项目的期望顺序。响应于从构建者102接收到会话项目顺序,cu系统构建平台100将该期望的顺序添加到所选择的会话项目的规范200。虽然构建者102可以为配置的参数202和/或会话项目130选择期望的顺序,但是在实施之后,cu系统106可以如执行期望的功能所需的,基于接收的用户输入而偏离该顺序。

例如图4a、4b和4c示出了用于cu系统构建平台100的所选任务特定模板132的规范200和所选任务特定模板的构建者定制和/或修改134。在这些示例中,构建者102选择具有“预订出租车”功能的任务特定模板132。因此,预订出租车模板209包括“预订出租车”标签206。如图4a和4b所示,预订出租车模板209的规范200包括用于预订出租车的四个不同的预配置的参数202和四个不同的预配置的约束204。在这些示例中,预配置的参数202包括上车位置210、下车位置212、票价估计214和乘客规模216。这些参数202的模式、实体、插槽、绑定、继承和/或结构是预配置的,并且由预订出租车模板209提供,而不需要来自构建者102的任何进一步输入。预配置的约束204表示必须存在哪些预配置的参数202以供cu系统106执行预订出租车的期望功能或任务。在这些示例中,预配置的约束204包括需要提取位置218,需要下车位置220,需要票价估计222,并且需要乘客规模224。在一些方面,任务特定模板200将需要任何列出的预配置的参数202。在其他方面,任务特定模板200将仅需要所列出的预配置参数202的一部分。

cu系统构建平台100响应于接收到预订出租车模板209的构建者选择而为预订出租车模板209提供规范200。如图4a和4b所示,构建者102可以定制预订出租车模板209形成定制的预订出租车规范(203或230)。例如如图4a所示,构建者102选择移除下车位置参数212、票价估计参数214和除了要求上车位置218形成定制的预订出租车规范203之外的所有预配置的约束204。在另一个示例中,如图4b所示,构建者102选择移除乘客规模参数216、要求乘客规模224的约束,并且添加了驾驶员提示226的非预配置的参数以及要求驾驶员提示228的约束,以形成定制的预订出租车规范230。虽然图4a和4b示出了预订出租车模板209的构建者定制,但是不需要来自构建者102的输入以用于预订出租车模板209的使用。例如构建者102在选择预订出租车模板209之后,可以直接利用cu系统构建平台100将预订出租车模板209实施到cu系统106中,而不需要来自构建者102的任何进一步的输入。

在一些方面,cu系统构建平台100响应于接收到该子任务模块134的构建者选择来显示子任务模块134的规范200。如图5a和5b所示,cu系统构建平台100响应于接收到该支付子任务模块201的构建者选择来显示支付子任务模块201的规范200。在该示例中,支付子任务模块201包括以下预配置的参数202:1)支付类型240;2)名称242;3)地址244;4)电子邮件地址246;以及5)账单确认245。此外,在该示例中,支付子任务模块201包括以下预配置的约束204:1)要求支付类型248;2)要求名称250;3)要求地址252;4)要求电子邮件地址254;以及5)要求账单确认256。如图5a和5b进一步所示,构建者102可以定制支付子任务模块201以形成定制支付子任务规范(260或262)。例如如图5a所示,构建者102选择移除账单确认参数245和要求账单确认约束256,以形成定制支付子任务规范260。在另一个示例中,如图5b所示,构建者102选择移除账单确认参数245和账单确认约束256,并添加指尖验证255的非预配置参数和要求指尖验证257的约束,以形成定制支付子任务规范262。虽然图5a和5b示出支付子任务模块201的构建者定制,不需要来自构建者102的输入以用于支付子任务模块201的使用。例如在支付子任务模块201的选择之后,构建者102可以在不需要来自构建者102的任何进一步输入的情况下直接利用cu系统构建平台100将支付子任务模块201实施到cu系统106中。

在一些方面,任务特定模板132的规范200可以显示任何使用的子任务模块134。构建者102可以添加或移除子任务模块134以形成修改的规范。cu系统构建平台100经由用户接口接收构建者选择,用于从任务特定规范200添加和/或删除子任务模块134。响应于这些选择,cu系统构建平台100从任务特定模板132的规范200移除子任务模块134和/或向任务特定模板132的规范200添加子任务模块134以形成修改的规范。在一些方面,构建者102选择多个子任务模块134以形成或创建唯一的任务特定模板。

例如图4c示出了用于cu系统构建平台100的定制和修改的预订出租车规范221和子任务模块仓库138。在该示例中,构建者102从预订出租车模板209中移除了乘客规模约束224,以定制规范200。另外,在该示例中,构建者102选择将附加子任务模块134添加到预订出租车模板209以修改预订出租车模板209的规范200。这样,图4c示出了定制和修改的预订出租车规范221。

在该示例中,定制和修改的预订出租车规范221显示用于不同预配置参数202和总体任务特定规范200的子任务模块134。例如应用于每个参数或由每个参数共享的子任务模块134都列在共享模块框207中。在预配置的参数202之间不同的子任务模块134在每个预配置的参数202下单独列出。例如上车位置参数210和下车位置参数212每个都使用消歧子任务模块266、地点搜索子任务模块276和地址子任务模块284。此外,票价估计参数214和乘客规模参数216两者均利用修改子任务模块268。

预订出租车模板209不包括称呼子任务模块272或地点搜索子任务模块276。构建者102经由cu系统构建平台100的用户接口从子任务模块仓库138选择添加称呼子任务模块272,并选择该子任务模块134应用于预订出租车模板209中的所有预配置的参数202。另外,在图4c所示的示例中,构建者102经由cu系统构建平台100的用户接口从子任务模块仓库138选择向上车位置参数210和下车位置参数212添加地点搜索子任务模块276。因此,cu系统构建平台100响应于接收到构建者选择,将称呼子任务模块272添加到共享模块框207,并且而将地点搜索子任务模块276添加到上车位置参数210和下车位置参数212,以形成修改的预订出租车规范221。

在该示例中,构建者102从子任务模块仓库138中选择子任务模块。在该示例中,子任务模块仓库138包括以下子任务模块134:1)确认264;2)消歧266;3)修改268;4)取消270;5)称呼272;6)支付274;7)地点搜索276;8)日期/时间278;9)电子邮件地址280;10)电话号码282;和11)地址284。确认子任务模块264可以具有要求用户确认他们准备好执行任务的动作的功能。消歧子任务模块266可以具有确定用户是参考会话中的先前轮、客户端设备上显示的内容、还是列表中的特定项目的功能。修改子任务模块268可以具有允许用户在执行任务之前返回并修改先前提供的输入的功能。取消子任务模块270可以具有允许用户在执行任务之前在会话期间的任何时间取消的功能。称呼子任务模块272可以具有在会话开始时诸如用“嗨”、“早安”、“你好”等等向用户问候,和/或在会话结束时说诸如“再见”、“祝一天愉快”等的再见的功能。支付子任务模块274可以具有获得支付信息和支付任何购买的物品和/或服务的功能。地点搜索子任务模块276可以具有将名称解析为一个或多个匹配项目以及(例如)街道地址、联系信息、纬度或经度坐标、商业类型的分类、所提供的服务、所有者的描述、评级和评论、相关url和其他网络资源的功能。日期/时间子任务模块278可以具有要求为给定参数和/或任务构建日期和时间的功能。电子邮件地址子任务模块280可以具有为给定参数和/或任务要求电子邮件地址的功能。电话号码子任务模块281可以具有为给定参数和/或任务要求电话号码的功能。地址子任务模块284可以具有为给定参数和/或任务要求物理地址的功能。上述子任务模块134的列举仅是示例性的,并不意味着是限制性的。

图6示出了复杂任务205和任务特定模板仓库136。在该示例中,构建者102正在为旅行应用构建cu系统。这样,构建者102从任务特定模板仓库136中选择与不同旅行功能相关的各种不同任务特定模板132。例如由构建者102创建的复杂旅行任务208包括旅馆预订任务特定模板288、飞行预约任务特定模板292、汽车租赁任务特定模板286、和预订出租车模板209。在该示例中,任务特定模板仓库136包括各种不同的任务特定模板132,诸如酒店预订任务特定模板288、航班预留任务特定模板292、汽车租赁任务特定模板286、预订出租车模板209、餐厅预留任务特定模板290、食品外送任务特定模板294、预订电影票务任务特定模板296、账单支付任务特定模板297、以及订购鲜花任务特定模板298。该任务特定模板的列举仅是示例性的,并不意味着是限制性的。

如上所述,模拟选项允许构建者102模拟用于会话组件的cu系统。因此,cu系统构建平台100允许构建者102在实施之前测试会话组件。cu系统构建平台100的用户接口向构建者102呈现或提供模拟选项。响应于接收到模拟选项的构建者选择,cu系统构建平台100模拟用于会话组件的cu系统。在模拟之后,cu系统的用户接口再次向构建者102提供和/或呈现各种选项中的全部,如上所述。例如用户接口可以向构建者102提供和/或呈现实施选项、模拟选项、定制选项和/或修改选项。

实施选项实施会话组件。cu系统构建平台100的用户接口向构建者102呈现或提供实施选项。响应于接收到实施选项的构建者选择,cu系统构建平台100基于会话组件或所选择的项目集合来形成或实施cu系统106并将所创建的cu系统100提供给构建者102。然后,构建者102可以将创建的cu系统106添加到任何期望的数字代理、机器人、消息传递应用、语音代理或任何其他应用类型。

任何构建的cu系统结合在cu系统构建平台100中创建的列表应用(例如机器人、信使服务等)中的任何一个列表应用的使用将生成与真实用户的会话的日志。在某些方面,构建者可以检查和分析这些日志。基于对这些日志的分析,构建者可以再次利用cu系统构建平台100来添加、移除和/或定制构建者的先前构建的cu系统,以便改进和/或解决该实施的cu系统中的任何观察到的问题。

图7示出了概念性地示出用于构建cu系统的方法300的示例的流程图。在一些方面,方法300由cu系统构建平台100执行,如上所述。方法300提供预构建会话项目,其可以在构建者选择时形成cu系统106,而不需要来自构建者的任何进一步输入。这样,方法300提供了用于构建cu系统的方法,该cu系统更易于使用并且需要比先前使用的用于构建cu系统的方法所需的更少的专业知识、更少的时间和更少的资源。

在操作302,访问预构建会话项目的存储库。在一些方面,在方法300期间创建预构建会话项目的存储库。在其他方面,预构建会话项目的存储库先前已创建并且刚提供给构建者。会话项目是任务特定模板或子任务模块。这样,该存储库包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目包括一个或多个预配置的参数、一个或多个预配置的约束、预配置的继承、和/或预配置的结构。

在操作304,提供和/或呈现用户接口,用于从存储库中选择一个或多个预构建会话项目。构建者可以利用所呈现和/或提供的用户接口来从存储库中选择一个或多个预构建会话项目。经由客户端计算设备向构建者呈现和/或提供用户接口。

在操作306,接收对至少一个预构建会话项目的选择以形成所选择的项目集合。基于输入到用户接口的构建者输入接收选择。在这些方面,客户端计算设备可以经由客户端计算设备上的键盘、触摸屏或任何合适类型的输入系统来接收选择。因此,直接从构建者或从客户端计算设备接收构建者选择。在一些方面,所选择的项目集合能够在选择时实施,而不需要来自构建者的任何进一步输入。

在一些方面,方法300包括操作308和310。虽然所选择的项目集合能够在没有进一步的构建者输入的情况下实施,但是在操作308提供定制和/或修改所选择的项目集合的选项。在操作308可以通过允许构建者选择期望的预配置参数和/或预配置的约束来定制所选择的项目集合。在备选方面,可以通过允许构建者从所选择的项目集合的一个或多个会话项目规范中移除任何不期望的预配置参数和/或预配置约束来定制所选择的项目集合。在其他方面,在操作308,可以通过允许构建者构建并将非预配置的参数和/或非预配置的约束添加到所选择的项目集合的一个或多个会话项目规范来定制所选择的项目集合。在另外的方面,在操作308,可以通过允许构建者对如何由所形成的cu系统获取所选择的项目集合的一个或多个会话项目规范中的预配置参数进行排序来定制所选择的项目集合。

在操作308,可以通过允许构建者选择另外的会话项目来修改所选择的项目集合。在备选方面,可以通过允许构建者移除任何不期望的会话项目来修改所选择的项目集合。在其他方面,在操作308,可以通过允许构建者构建非预构建会话项目并将非预构建会话项目添加到所选择的项目集合来修改所选择的项目集合。在另外的方面,在操作308,可以通过允许构建者对如何由形成的cu系统获取会话项目来定制所选择的项目集合进行排序。

在操作310,经由用户接口从构建者接收针对所选择的项目集合的定制和/或修改。在操作310,响应于所接收的定制和/或修改,将定制和/或修改添加到复杂任务或期望的规范。

在其他方面,方法300包括操作312。在操作312,基于所选择的项目集合形成会话组件。在操作312,会话组件能够在不需要来自构建者的任何输入的情况下形成和实施。图8示出了用于在操作312处形成会话组件的方法400。例如如果在所选择的项目集合中存在多于一个会话项目,则通过在操作402处在各种不同的所选择的会话项目之间集成预配置的继承和预配置的结构,可以在操作312期间自动组合各种不同的所选择的会话项目。在其他方面,各种不同的所选择的会话操作项目312的自动组合还包括在操作404处确定在各种不同的所选择的会话项目之间是否存在任何共同的要求信息。如果是,则在操作406期间链接共同的要求信息以用于同步数据填充。换句话说,如果用户的名称和地址是由多个不同的会话项目所要求的,则此信息被链接,以便一旦用户的名称和地址由实施的cu系统获得,该信息将自动填充在要求相同信息的所有地方。在另外的方面,在操作312期间各种不同的所选择的会话项目的自动组合还包括在操作408处确定在各种不同的所选择的会话项目之间是否共享任何子任务模块。在一些方面,如果在操作408期间确定任何共同或共享的子任务模块,在操作410处从所选择的项目集合中移除除了共享或公共子任务模块之一之外的全部共享或公共子任务模块。在备选方面,如果在操作408期间确定任何公共子任务模块134,则公共子任务模块134被链接用于同步操作410处的数据群。

虽然在操作312处能够在不需要来自构建者的任何输入的情况下形成和实施会话组件,但是接收构建者选择的定制和/或修改,在操作312处形成的会话组件除了各种不同会话项目的自动组合之外还可以基于所接收的定制和/或修改。

在一些方面,方法300包括操作314和操作316。在操作314处接收模拟请求。可以经由用户接口从构建者接收模拟请求。用户接口可以向构建者提供和/或显示模拟选项。在操作316,响应于接收到模拟请求,运行会话组件或所选择的项目集合的模拟。模拟允许构建者102模拟或测试当前构建的会话组件或所选择的项目集合如果被实施到cu系统中将如何表现。例如操作316处的模拟可以包括使用由构建者提供的话语集合,或者可以包括自动生成的模拟的用户话语和系统响应,以测试所实施的会话组件或所选择的项目集合。虽然操作314和316列在方法300中的特定点并且仅列出一次,但是方法300可以根据需要并且在操作306之后但在操作320之前的任何时间点执行操作314和316。例如如果构建者对模拟不满意,构建者可能想要自定义或修改会话组件。这样,在执行操作316之后,可以再次执行操作308和310。

在其他方面,方法300包括操作318。在操作318接收实施请求。可以经由用户接口从构建者接收实施请求。用户接口可以向构建者提供和/或显示实施模拟选项。

在操作320,实施会话组件或所选择的项目集合以形成cu系统。在一些方面,响应于在操作318接收实施请求来实施会话组件或所选择的项目集合。在其他方面,会话组件或所选择的项目集合在形成时自动实施。创建的cu系统提供给构建者。然后,构建者可以将创建的cu系统添加到任何期望的数字代理、机器人、消息传递应用、语音代理、和/或任何其他应用类型。

通过方法300对任何构建的cu系统结合任何列表应用(例如bot、信使服务等)的使用将生成与真实用户的会话的日志。在某些方面,构建者可以检查和分析这些日志。基于对这些日志的分析,构建者可以再次利用方法300来添加、移除和/或定制构建者的先前构建的cu系统,以便改进和/或解决该实施的cu系统中的任何观察到的问题。

图9到图12和相关联的描述提供了可以实践本公开的各方面的各种操作环境的讨论。然而,关于图9到图12示出和讨论的设备和系统是出于示例和说明的目的,而不是限制可用于实践本文所述的本公开的各方面的大量计算设备配置。

图9是说明可用于实施本发明的方面的计算设备500的物理组件(例如硬件)的框图。例如cu系统构建平台100可以由计算设备500实施。在一些方面,计算设备500是移动电话、智能电话、平板计算机、平板手机、智能手表、可穿戴计算机、个人计算机、台式计算机、游戏系统、膝上型计算机和/或等等。下面描述的计算设备组件可以包括用于cu系统构建平台100的计算机可执行指令,其可以被执行以采用方法300来创建本文公开的cu系统106。在基本配置中,计算设备500可以包括至少一个处理单元502和系统存储器504。根据计算设备的配置和类型,系统存储器504可以包括但不限于易失性存储(例如随机存取存储器)、非易失性存储器(例如只读存储器)、闪存或这些存储器的任何组合。系统存储器504可以包括操作系统505和适合于运行软件应用520的一个或多个程序模块506。例如操作系统505可以适合于控制计算设备500的操作。此外,本公开的方面可以结合图形存储库、其他操作系统、或任何其他应用来实践,并且不限于任何特定应用或系统。该基本配置在图9中由虚线508内的那些组件示出。计算设备500可以具有附加特征或功能。例如计算设备500还可以包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或磁带。这种附加存储在图9中由可移除存储设备509和不可移除存储设备510示出。例如cu系统构建平台100的预构建会话项目130和/或存储库101可以存储在所示存储设备的任何一个上。

如上所述,多个程序模块和数据文件可以存储在系统存储器504中。当在处理单元502上执行时,程序模块506(例如cu系统构建平台100)可以执行处理,包括但不限于执行如本文所述的方法300和/或方法400。例如处理单元502可以实施cu系统构建平台100。可以根据本公开的方面使用的并且特别是用于生成屏幕内容的其他程序模块可以包括数字助理应用、语音识别应用、电子邮件应用、社交网络应用、协作应用、企业管理应用、消息传送应用、文字处理应用、电子表格应用、数据库应用、演示应用、联系人应用、游戏应用、电子贸易应用、电子商务应用、交易应用、交换应用、设备控制应用、web接口应用、日历应用等。在一些方面,cu系统构建平台100允许构建者构建用于一个或多个上述参考的应用的cu系统。

此外,本公开的各方面可以在包括分立电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或包含电子元件或微处理器的单个芯片的电路中实践。例如可以经由片上系统(soc)来实践本公开的各方面,其中图9中示出的组件中的每个或许多可以集成到单个集成电路上。这样的soc器件可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路集成(或“烧制”)到芯片衬底上。当经由soc操作时,本文描述的关于客户端切换协议的能力的功能可以经由在单个集成电路(芯片)上与计算设备500的其他组件集成的专用逻辑来操作。还可以使用能够执行诸如例如and、or和not的逻辑运算的其他技术来实践本公开的各方面,包括但不限于机械、光学、流体和量子技术。另外,本公开的各方面可以在通用计算机或任何其他电路或系统中实践。

计算设备500还可以具有一个或多个输入设备512,诸如键盘、鼠标、笔、麦克风或其他声音或语音输入设备、触摸或滑动输入设备等。还可以包括输出设备514,诸如显示器、扬声器、打印机等。上述设备是示例,可以使用其他设备。计算设备500可以包括允许与其他计算设备550通信的一个或多个通信连接516。合适的通信连接516的示例包括但不限于rf发射机、接收机和/或收发机电路、通用串行总线(usb)、并行和/或串行端口。

本文使用的术语计算机可读介质或存储介质可以包括计算机存储介质。计算机存储介质可以包括以用于信息的存储的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,诸如计算机可读指令、数据结构或程序模块。系统存储器504、可移除存储设备509、和不可移除存储设备510都是计算机存储介质示例(例如存储器存储)。计算机存储介质可包括ram、rom、电可擦除只读存储器(eeprom)、闪存或其他存储技术、cd-rom、数字通用盘(dvd)或其他光存储器、磁带盒、磁带、磁盘存储器或者其他磁存储设备、或可以用于存储信息并且可以由计算设备500访问的任何其他制品。任何这样的计算机存储介质可以是计算设备500的一部分。计算机存储介质不包括载波或其他传播或调制的数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的调制数据信号中的其他数据来体现,并且包括任何信息传递介质。术语“调制数据信号”可以描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(rf)、红外和其他无线介质的无线介质。

图10a和10b示出了可以用其实践本公开的各方面的移动计算设备600,例如移动电话、智能电话、平板计算机、平板手机、智能手表、可穿戴计算机、个人计算机、台式计算机、游戏系统、膝上型计算机等。参考图10a,示出了适合于实施这些方面的移动计算设备600的一个方面。在基本配置中,移动计算设备600是具有输入元件和输出元件两者的手持式计算机。移动计算设备600通常包括显示器605和允许用户将信息输入到移动计算设备600中的一个或多个输入按钮610。移动计算设备600的显示器605还可以用作输入设备(例如触摸屏显示器)。

如果包括,则可选的侧输入元件615允许进一步的用户输入。侧输入元件615可以是旋转开关、按钮或任何其他类型的手动输入元件。在备选方面,移动计算设备600可以集成更多或更少的输入元素。例如在一些方面,显示器605可以不是触摸屏。在又一备选方面,移动计算设备600是便携式电话系统,诸如蜂窝电话。移动计算设备600还可以包括可选小键盘635。可选小键盘635可以是物理小键盘或在触摸屏显示器上生成的“软”小键盘。

除了与显示器605相关联的触摸屏输入设备和/或小键盘635之外或代替与显示器605相关联的触摸屏输入设备和/或小键盘635,自然用户接口(nui)可以集成在移动计算设备600中。如本文所使用的,nui包括任何使用户能够以“自然”方式与设备交互的接口技术,而不受诸如鼠标、键盘、遥控器等输入设备施加的人为约束。nui方法的示例包括依赖于语音识别、触摸和触控笔识别、在屏幕上和屏幕附近两者的手势识别、空中手势、头部和眼睛跟踪、语音和话音、视觉、触摸、手势和机器智能的那些nui方法。

在各个方面,输出元件包括用于示出图形用户接口(gui)的显示器605。在本文公开的方面中,各种用户信息集合可以显示在显示器605上。其他输出元件可以包括视觉指示器620(例如发光二极管)和/或音频换能器625(例如扬声器)。在一些方面,移动计算设备600集成用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备600集成用于向外部设备发送信号或从外部设备接收信号的输入和/或输出端口,诸如音频输入(例如麦克风插孔)、音频输出(例如耳机插孔)和视频输出(例如hdmi端口)。

图10b是示出移动计算设备的一个方面的架构的框图。也就是说,移动计算设备600可以集成系统(例如架构)602以实施某些方面。在一个方面,系统602被实施为能够运行一个或多个应用(例如浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,系统602被集成为计算设备,诸如集成的个人数字助理(pda)和无线电话。

一个或多个应用程序666和/或cu系统构建平台100在操作系统664上运行或与操作系统664相关联。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传送程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可用于存储如果系统602断电则不应丢失的持久信息。应用程序666可以在非易失性存储区域668中使用和存储信息,诸如电子邮件或电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统602上,并被编程为与驻留在主计算机上的对应同步应用交互,以使在非易失性存储区域668中存储的信息与在主计算机处存储的对应信息保持同步。应当理解,其他应用可以被加载到存储器662中并在移动计算设备600上运行。

系统602具有电源670,其可以实施为一个或多个电池。电源670可以进一步包括外部电源,诸如ac适配器或电源对接支架,其对电池进行补充或重新充电。

系统602还可以包括执行发送和接收射频通信的功能的无线电672。无线电672支持经由通信运营商或服务提供商的系统602与“外部世界”之间的无线连接。在操作系统664的控制下进行去往和来自无线电672的传输。换句话说,无线电672接收的通信可以经由操作系统664传播到应用程序666,反之亦然。

视觉指示器620可以用于提供视觉通知,和/或音频接口674可以用于经由音频换能器625产生可听通知。在所示的方面,视觉指示器620是发光二极管(led),并且音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得它们在被激活时保持开启持续由通知机制指示的持续时间,即使处理器660和其他组件可能关闭以节省电池电量。led可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口674用于向用户提供可听信号并从用户接收可听信号。例如除了耦合到音频换能器625之外,音频接口674还可以耦合到麦克风以接收可听输入。系统602还可以包括视频接口676,其使得车载相机630的操作能够记录静止图像、视频流等。

实施系统602的移动计算设备600可以具有附加特征或功能。例如移动计算设备600还可以包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或磁带。这种附加存储在图10b中由非易失性存储区域668示出。

如上所述,由移动计算设备600生成或捕获并经由系统602存储的数据/信息可以本地存储在移动计算设备600上,或者数据可以存储在可以任何数量的存储介质上,其可以经由无线电台672或经由移动计算设备600和与移动计算设备600相关联的分离的计算设备之间的有线连接来由设备访问,例如诸如因特网的分布式计算网络中的服务器计算机。应当理解,可以经由无线电台672或经由分布式计算网络经由移动计算设备600访问这样的数据/信息。类似地,根据众所周知的数据/信息传送和存储部件,包括电子邮件和协作数据/信息共享系统,可以在计算设备之间容易地传送这样的数据/信息用于存储和使用。

图11示出了用于处理在计算系统处从远程源接收的数据的系统的体系结构的一个方面,诸如通用计算设备704、平板计算机706或移动设备708,如上所述。在服务器设备702处显示和/或利用的内容可以存储在不同的通信信道或其他存储类型中。例如可以使用目录服务722、网络门户724、邮箱服务726、即时消息传送存储728、社交网站730或存储库101来存储各种文档。作为示例,cu系统构建平台100可以在通用计算设备704、平板计算设备706和/或移动计算设备708(例如智能电话)中实施。在一些方面,服务器702被配置为经由如图11所示的网络715实施cu系统构建平台100。

图12示出了可以执行本文公开的一个或多个方面的示例性平板计算设备800。此外,本文描述的方面和功能可以在分布式系统(例如基于云的计算系统)上操作,其中应用功能、存储器、数据存储和获取以及各种处理功能可以通过诸如互联网或内联网的分布式计算网络彼此远程操作。用户接口和各种类型的信息可以经由车载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。例如可以在墙面上显示和交互各种类型的用户接口和信息,在该墙面上投影用户接口和各种类型的信息。与可以实践本发明的各方面的多个计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有用于捕获的检测(例如相机)功能并且解释用于控制计算设备的功能的用户手势等。

本公开的一个方面涉及一种系统。该系统包括至少一个处理器和存储器。存储器编码有计算机可执行指令,该计算机可执行指令在由至少一个处理器执行时可操作用于:

提供预构建会话项目的存储库;

提供用于从存储库中选择一个或多个预构建会话项目的用

户接口;

从构建者接收对至少一个预构建会话项目的选择,以形成所选择的项目集合;

基于所选择的项目集合来形成会话组件;以及

实施所述会话组件以创建所述会话理解系统。

预构建会话项目可以包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目可以包括预配置的参数、预配置的约束、预配置的继承和预配置的结构。所选择的项目集合可以在选择时实施,而不需要来自构建者的任何进一步输入。

至少一个处理器还可操作以提供用以定制所选择的项目集合并且用以接收来自构建者的针对所选择的项目集合的定制的选项。会话组件的形成可以进一步基于定制。自定义选项可以包括以下至少一项:

·选择预配置的参数;

·选择预配置的约束;

·删除预配置的参数;

·删除预配置的约束;

·构建并添加非预配置的参数;

·构建并添加非预配置的约束;

·对参数排序;以及

·对所选择的项目集合排序。

会话组件可以基于所选择的项目集合,并且可以包括通过集成预配置的继承和预配置的结构来自动组合所选择的项目集合中的任何所选择的会话项目。所选择的项目集合可以包括第一任务特定模板和第二任务特定模板。基于所选择的项目对会话组件的形成还可以包括通过在第一任务特定模板和第二任务特定模板之间集成预配置的继承和预配置的结构,自动组合第一任务特定模板和第二任务特定模板;确定第一任务特定模板和第二任务特定模板之间的共同的要求信息;以及链接共同的要求信息以用于同步数据填充。第一任务特定模板与第二任务特定模板的自动组合还可以通过确定第一任务特定模板和第二任务特定模板之间的共享子任务模块并移除共享子任务模块之一来执行。至少一个处理器还可操作用于创建预构建会话项目的存储库。备选地,所选择的项目集合可以包括第一子任务模块和第二子任务模块,并且基于所选择的项目的会话组件可以包括通过在第一子任务模块和第二子任务模块之间集成预配置的继承和预配置的结构,自动组合第一子任务模块和第二子任务模块。确定第一子任务模块和第二子任务模块之间的共同的要求信息,并链接共同的要求信息以用于同步数据填充。在另一备选方案中,所选择的项目集合可包括第一任务特定模板和第一子任务模块。在该备选方案中,基于所选择的项目集合的会话组件的形成可以包括通过在第一任务特定模板和第一子任务模块之间集成预配置的继承和预配置的结构来自动组合第一任务特定模板和第一子任务模块,确定第一任务特定模板和第一子任务模块之间的共同的要求信息,并链接共同的要求信息以用于同步数据填充。在另一备选方案中,所选择的项目集合可包括第一任务特定模板、第二任务特定模板、第一子任务模块和第二子任务模块。在该备选方案中,基于所选择的项目集合的会话组件可以包括通过以下各项来自动组合第一任务特定模板、第二任务特定模板、第一子任务模块和第二子任务模块:在第一任务特定模板、第二任务特定模板、第一子任务模块和第二子任务模块之间集成预配置的继承和预配置的结构;确定第一任务特定模板、第二任务特定模板、第一子任务模块和第二子任务模块的共同的要求信息;链接共同的要求信息以用于同步数据填充;确定第一任务特定模板和第二任务特定模板之间的共享子任务模块;和/或链接共享子任务模块以用于同步数据填充。至少一个处理器还可操作用于接收实施请求。可以响应于实施请求来执行用于创建会话理解系统的会话组件的实施。至少一个处理器还可操作用于为预构建会话项目提供搜索接口,接收对搜索接口的查询,基于查询从存储库中获取一个或多个预构建会话项目,并呈现所获取的一个或多个预构建会话项目以供选择。搜索接口可以是用户接口的一部分。会话理解系统可以为特定应用构建,诸如数字助理应用、语音识别应用、电子邮件应用、社交网络应用、协作应用、企业管理应用、消息传送应用、文字处理应用、电子表格应用、数据库应用、演示应用、联系人应用、游戏应用、电子贸易应用、电子商务应用、交易应用、设备控制应用、web接口应用、交换应用和/或日历应用。该系统可以是服务器或服务器网络。

本公开的另一方面包括计算机可读存储介质。计算机存储介质存储计算机可执行指令。计算机可执行指令在由计算设备执行时使计算设备执行方法。该方法包括:

提供预构建会话项目的存储库;

提供用于从存储库中选择一个或多个预构建会话项目的用户接口;

接收来自构建者的对至少一个预构建会话项目的选择以形成所选择的项目集合;

经由用户接口从构建者接收实施请求;以及

响应实施请求,实施所选择的项目集合,以创建会话理解系统。

预构建会话项目可以包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目可以包括预配置的参数、预配置的约束、预配置的继承和/或预配置的结构。会话组件可以能够在不需要来自构建者的任何输入的情况下形成和实施。该方法还可以包括提供用以定制所选择的项目集合并且用以接收来自构建者的针对所选择的项目集合的定制的选项。形成会话组件还可以基于定制。另外,用以定制的选项可以包括移除预配置的参数和/或移除预配置的约束。备选地,基于所选择的项目集合对会话组件的形成可以包括通过集成预配置的继承和预配置的结构来自动组合所选择的项目集合中的任何所选择的会话项目。该存储库可以包括任务特定模板仓库和子任务模块仓库。

本公开的又一方面包括用于构建会话理解系统的方法。该方法包括:

访问预构建会话项目的存储库;

提供用于从存储库中选择预构建会话项目的用户接口;

接收来自构建者的对至少一个预构建会话项目的选择以形成所选择的项目集合;

基于所选择的项目集合来形成会话组件;以及

实施会话组件以创建会话理解系统。

预构建会话项目可以包括一个或多个任务特定模板和/或一个或多个子任务模块。预构建会话项目可以包括预配置的参数、预配置的约束、预配置的继承和/或预配置的结构。会话组件可以在不需要来自构建者的任何输入的情况下形成和实施。

例如以上参考根据本公开的方面的方法、系统和计算机程序产品的框图和/或操作图示描述了本公开的实施例。框中记录的功能/动作可以不按任何流程图所示的顺序发生。例如取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。

本公开参考附图描述了本技术的一些实施例,其中仅描述了一些可能的方面。然而,其他方面可以以许多不同的形式体现,并且本文公开的特定实施例不应当被解释为限于本文阐述的本公开的各个方面。相反,提供这些示例性方面是为了使本公开透彻和完整,并且向本领域技术人员充分传达其他可能方面的范围。例如在不脱离本公开的范围的情况下,可以修改和/或组合本文公开的各种实施例的各方面。

尽管本文描述了特定方面,但本技术的范围不限于那些具体方面。本领域技术人员将认识到在本技术的范围和精神内的其他方面或改进。因此,仅将特定结构、动作或介质公开为示意性方面。本技术的范围由以下权利要求及其中的任何等同物限定。

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