经由插件市场增强虚拟助理和对话系统的功能性的制作方法

文档序号:13518288阅读:213来源:国知局
经由插件市场增强虚拟助理和对话系统的功能性的制作方法

本公开一般地涉及对话系统和虚拟助理以及允许对话系统的终端用户定制或者改进终端用户用来工作的对话系统或虚拟助理的在线平台。更具体地,本公开涉及用于在线平台的在线插件市场,其中与对话系统相关联的终端用户可扩展对话系统的功能性。



背景技术:

当前,对话系统被广泛地用在信息技术行业中,尤其形式为用于手机和平板计算机的移动应用。对话系统可包括具有用于访问、处理、管理并递送信息的以人为中心的接口的基于计算机的代理。对话系统也被称为聊天信息系统(chatinformationsystem)、口语对话系统(spokendialogsystem)、会话代理(conversationalagent)、聊天机器人(chatterrobot)、饶舌机器人(chatterbot)、聊天机械人(chatbot)、聊天代理(chatagent)、数字个人助理(digitalpersonalassistant)、自动在线助理(automatedonlineassistant)等。所有这些术语都在本公开的范围内并且为了简单被称为“对话系统”。

传统上,对话系统以自然语言与其用户交互以模拟智能会话并向用户提供个性化协助。例如,用户可以以会话问题的形式生成对话系统的请求,诸如“whatistheweatherlikeinpaloalto?(帕洛阿尔托的天气怎么样?)”并且以音频和/或可显示消息的形式从对话系统接收对应的回答。用户也可以向对话系统提供请求执行某些功能的话音(voice)命令,所述某些功能包括例如生成电子邮件、打电话、搜索特定信息、获取数据、导航、请求通知或提醒等。这些和其它功能性使对话系统变得非常受欢迎,因为对话系统尤其对于诸如智能电话、蜂窝电话、平板计算机、游戏控制台等的便携式电子装置的持有者来说是很有帮助的。

尽管对用于第三方移动应用和web服务的对话系统的需求在不断增长,然而创建良好操作的对话系统不是一件容易的事情。每个对话系统可以具有对话系统接口和对话系统引擎。对话系统接口可以负责接收用户输入并且向用户递送对话系统响应。对话系统引擎可以负责将话音用户输入变换成文本输入、解释文本输入并且生成对文本输入的对应响应。在对话系统引擎上运行的过程也被称为“自然语言处理”(nlp)。nlp模型的开发不仅非常费时,而且也是一项高度技术性的任务。因此,当前现有的对话系统在能力方面可以是非常不同的。例如,对话系统可适当地适用于生成电子邮件并搜索互联网上的信息,但是该对话系统可能未被适当地配置成处理与对事件进行调度或者旅馆房间订房有关的用户请求。附加地,一些对话系统可以很好地处理订房请求,但是也许不能够解决由终端用户生成电子邮件请求。因此,许多终端用户可能想要扩展他们用来工作的对话系统的功能性。



技术实现要素:

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

提供的是用于增强对话系统的功能性的系统。所述系统可以包括至少一个处理器和存储器。所述存储器可以可操作来维护可以包括多个对话系统扩展元件的在线市场。所述多个对话系统扩展元件可以包括对话系统插件、对话系统附件、对话系统更新和对话系统升级中的至少一个。所述处理器可以可操作来从终端用户接收对所述多个对话系统扩展元件中的一个的选择。所述终端用户可以使对话系统与所述终端用户相关联。所述处理器可以进一步可操作来使由所述终端用户选择的所述多个对话系统扩展元件中的所述一个与所述终端用户的所述对话系统相关联。

提供的是用于增强对话系统的功能性的方法。所述方法可以包括维护可以包括多个对话系统扩展元件的在线市场。所述多个对话系统扩展元件可以包括对话系统插件、对话系统附件、对话系统更新和对话系统升级中的至少一个。所述方法还可以包括从终端用户接收对所述多个对话系统扩展元件中的一个的选择。所述终端用户可以与对话系统相关联。所述方法可以继续使由所述终端用户选择的所述多个对话系统扩展元件中的所述一个与所述终端用户的所述对话系统相关联。

附加目的、优点和新颖特征将部分地在下面的具体实施方式中阐述,并且部分地在检查以下具体实施方式和附图后将变得对于本领域的技术人员而言显而易见或者可以通过对示例实施例的生产或操作来习得。概念的目的和优点可以借助于所附权利要求中特别指出的方法学、手段和组合来实现和获得。

附图说明

实施例被作为示例而非限制图示在附图的图中,在附图中相同的附图标记指示类似的元件,并且在附图中:

图1图示根据一些实施例的可在里面实现用于增强对话系统的功能性的系统和方法的环境。

图2是示出根据示例实施例的用于创建对话系统引擎的方法的过程流程图。

图3是示出根据示例实施例的对话系统引擎的各种模块的框图。

图4示出根据示例实施例的用于创建对话系统实体的图形用户接口(gui)。

图5示出根据示例实施例的用于创建对话系统意图的gui。

图6示出根据示例实施例的用于创建对话系统意图的gui。

图7是根据示例实施例的用于增强对话系统的功能性的系统的框图。

图8是图示根据示例实施例的用于增强对话系统的功能的方法的流程图。

图9是图示适合于实现本文中所描述的方法的示例用户装置的概要性框图。

具体实施方式

以下具体实施方式包括对附图的引用,所述附图形成具体实施方式的一部分。附图示出根据示例实施例的图示。在本文中也被称为“示例”的这些示例实施例被足够详细地描述以使得本领域的技术人员能够实践本主题。

可组合实施例,可利用其它实施例,或者可在不脱离所要求保护的范围的情况下作出结构、逻辑和操作改变。因此,以下具体实施方式将不在限制性意义上进行,并且范围由所附权利要求及其等同物来限定。

可以使用各种技术来实现本教导。例如,本文中所描述的方法可以用在计算机系统上执行的软件或者用利用微处理器或其它专门设计的专用集成电路、可编程逻辑器件的组合或其各种组合的硬件加以实现。特别地,本文中所描述的方法可以通过驻留在诸如磁盘驱动器或计算机可读介质的暂时性或非暂时性存储介质上的一系列计算机可执行指令来实现。应该注意的是,本文中所公开的方法可由计算机(例如,桌面型计算机、平板计算机、膝上型计算机)、游戏控制台、手持式游戏装置、蜂窝电话、智能电话、智能电视系统等来实现。

术语“应用开发者”、“插件开发者”和“软件开发者”或简单地“开发者”指代以下中的一个或多个:软件开发者、移动应用开发者、软件工程师、软件所有者、移动应用所有者、软件管理者、移动应用管理者、对话系统所有者等。应用开发者开发和/或管理对话系统引擎、对话系统接口和/或插件。

术语“对话系统”指代以下中的一个或多个:聊天信息系统、口语对话系统、会话代理、聊天机器人、饶舌机器人、聊天机械人、聊天代理、数字个人助理、自动在线助理等。每个对话系统包括“对话系统接口”和“对话系统引擎”。这些元件中的每一个可由应用开发者定制。

术语“对话系统接口”指代人机接口,所述人机接口被配置成以音频消息或文本消息的形式获取用户输入,并且以音频消息或可显示消息的形式向用户递送对话系统响应。在示例实施例中,对话系统接口可以被软件应用、移动应用、中间件应用、固件应用、网站和web服务采用或者与软件应用、移动应用、中间件应用、固件应用、网站和web服务集成以提供人机接口以用于获取用户请求并且向用户递送对话系统输出的微件(widget)来实现。

术语“对话系统引擎”指代软件应用,所述软件应用被配置成处理用户输入并且生成对其的响应。在一个示例实施例中,对话系统引擎指代用于通过处理用户请求并且生成与其相对应的响应来支持相关对话系统接口的计算机使能或处理器使能的系统。

术语“插件”指代以下中的一个或多个:用于对话系统引擎的软件插件、附件(add-on)、软件扩展、更新、升级或软件代码。术语“插件”在本文中也被称为“对话系统扩展元件”。

本技术提供了用于为对话系统接口维护用作后端服务的多个对话系统引擎的平台。本技术也提供可以包括多个对话系统扩展元件的在线市场,诸如作为网站或web服务实现的在线市场,所述多个对话系统扩展元件包括允许增强由平台维护的对话系统的功能性的各种插件、附件、扩展、更新或软件代码。为了简单,“对话系统扩展元件”在本文中被称为“插件”。特别地,平台可以维护作为核心对话系统引擎的一个或若干对话系统引擎并且可以维护可以用来扩展核心对话系统引擎的功能性的多个插件。

对话系统接口可至少作为软件应用、移动应用、中间件应用、固件应用、网站、web服务等的一部分来实现。换句话说,对话系统接口可以在客户端侧并且可以提供被配置成至少获取用户输入并向终端用户递送对话系统输出的人机接口。另一方面,对话系统引擎可以通过处理用户输入并且生成对用户输入的对应响应来支持对话系统接口。因此,对话系统引擎以及用于对话系统引擎的插件和对话系统接口在相互交互时形成对话系统。一个人可以将在客户端装置上运行或者从客户端装置访问的对话系统接口称为“前端”用户接口,而支持这种对话系统接口的操作的对话系统引擎可被称为“后端”服务。

一般而言,在线市场可以维护用于可定制对话系统应用和可定制对话系统的对话系统扩展元件。在线市场可以是用于创建可定制对话系统的开发者在线平台的一部分。

本公开的技术使得终端用户易于且快速地为各式各样的使命和任务而改进和定制对话系统。使用对话系统的终端用户可以具有通过安装插件并将插件集成到对话系统中来扩展对话系统的功能性或能力的可能性。插件可以在由终端用户购买时或者在免费基础上提供。在一个示例实施例中,终端用户可以访问与在线市场相关联的网站或web服务并且审查可用插件和插件的功能。每个插件可用元数据补充,所述元数据包括描述、价格、条款、发布者的信息、排名、评论等。在另一示例实施例中,对话系统可以允许终端用户在退出对话系统的功能性不允许对话系统以由终端用户所期望的方式处理终端用户的用户请求时安装某些插件。

一旦插件被安装,该插件就可以至少部分地帮助对话系统引擎解释和处理用户请求。在更多的实施例中,对话系统引擎可以向终端用户提供用于安装或者购买特定插件的推荐或提示。

更具体地,一旦插件被特定终端用户购买或者选择,该插件就可以自动地与终端用户的对话系统集成。另外,所有或某些用户请求可以由已安装的插件来处理,这可以以预定方式最终扩展或者更改终端用户的对话系统的功能性。例如,对话系统的默认功能性可以允许搜索互联网上的信息,但可能不允许向用户请求提供满足响应。换句话说,对话系统可能无法利用软件或移动应用、网站和web服务执行某些动作,诸如在日历应用中对事件进行调度或者在电子邮件代理的协助下生成电子邮件。在此示例中,终端用户可以通过允许对话系统进行在线预约来购买可以扩展对话系统的功能性的插件。终端用户也可以添加可以通过将对话系统配置成例如与导航移动应用交互来扩展对话系统的功能性的另一插件。在又一个示例中,可通过添加可处理外语用户请求的插件来扩展对话系统功能性。

在另外的示例实施例中,终端用户可以从应用商店(诸如与用户装置的操作系统(例如,android、ios、windowsphone等)相关联的应用商店)安装应用。用户装置的操作系统可能已经具有对话系统。一旦应用被用户下载,用户装置的对话系统就可以用特定于应用的对话系统扩展元件来扩展。

在示例实施例中,例如,当对话系统与用户装置的操作系统一起安装时,对话系统可以为用户装置提供核心功能性(例如,amazonecho)。在其它示例实施例中,对话系统可以与安装在用户装置上的仅一个应用的对话接口相关联。

本技术也可以允许软件开发者在单独的开发环境中(即,在无需对对话系统功能进行编码的情况下)在软件应用的源代码中给要由对话系统扩展元件执行的某些功能作注解。注解在被调用时可以导致与软件应用相关联的对话系统扩展元件的下载和安装,使得对话系统接口可以相对于某些用户输入实现期望的对话系统功能并且向终端用户递送对话系统响应。注解可以显著地简化软件应用的设计过程,从而允许软件开发者在无需致力用于开发和维护具有嵌入式对话系统扩展元件的对话系统的时间和资源的情况下将对话系统扩展元件集成到软件应用中。

根据本公开的各种实施例,软件开发者可以在对话系统的设计时间期间将注解以元数据的形式插入在源代码内。

一般而言,多个终端用户可以使用相同的对话系统。该对话系统可以驻留在多用户环境中,例如在服务器上,使得所述多个终端用户可访问该对话系统。可以在每用户基础上启用或者购买插件(即,每个用户可以通过购买插件并使所述插件与对话系统相关联来扩展对话系统的功能性)。由插件提供的对话系统的功能性可能仅可用于购买了插件或者安装了与插件相关联的应用的终端用户。一旦对话系统从终端用户接收到用户请求,对话系统就可以判定该用户请求将由对话系统它本身还是由已启用的插件中的任一个来处理。

插件通常可由与对话系统相关联的开发者或第三方开发者来创建并提供给市场。在任何一种情况下,可在免费基础上或者在购买时提供插件,从而允许开发者通过与市场合作来产生利润。

根据本公开的实施例,对话系统引擎可以与移动应用链接。移动应用进而可以在终端用户的用户装置上运行并且可以仅具有对话系统接口,然而与对话系统接口相关联的对话系统引擎可以驻留在网络环境中。因此,对话系统引擎可以支持对话系统接口的操作。在此示例中,当终端用户与移动应用交互时对话系统接口可由终端用户激活。终端用户可以话音输入或文本输入的形式查询对话系统接口。在接收到用户查询后,对话系统接口可以很少或无预处理地将用户查询转移到链接至对话系统接口的已链接的定制对话系统引擎。对话系统引擎可以处理所接收到的用户查询,解释用户查询,并且基于预定规则和设置来生成对用户查询的响应。然后可以将该响应递送到对话系统接口以供进一步视觉或音频呈现给终端用户。在一些实施例中,响应可以包括要递送到终端用户的响应文本和/或具有终端用户装置要执行(例如,打开浏览器、在线访问某些数据、运行特定应用等)的指令的元数据。在其它实施例中,响应可以包括对话系统接口或用户装置需要访问以获得响应文本和/或元数据的回调统一资源标识符(uri)。

一般而言,对话系统接口可被集成或者是在客户端装置(诸如个人计算机(pc)或蜂窝电话)上或在服务器上运行的各式各样的软件应用的一个整体部分,使得对话系统成为网站或web服务的一部分。对话系统可被实现在服务器上,使得它们的功能性对于对话系统接口来说可以可通过互联网、蜂窝网络或任何其它通信手段访问。在线市场也可被实现在“云”中,意味着它可在服务器上运行并且可通过特定网站或web接口被软件开发者利用。

现在参考附图,图1示出适合于实践本技术的示例系统环境100的概要性框图。如图1上所示,可以提供用于创建并维护定制对话系统引擎的平台110。平台110可以包括用于创建定制对话系统引擎的平台接口112和用于维护并运行定制对话系统引擎120的后端服务114。

平台接口112可以包括嵌入到网页中并可由开发者116经互联网访问的gui。然而,在一些其它实施例中,平台接口112可以作为软件应用被实现,所述软件应用例如可下载软件应用或在诸如计算机的电子装置上运行或者可从诸如计算机的电子装置访问的任何其它软件、中间件或固件。在图1所示的示例中,平台接口112可以作为如将在下面所描述的web可访问gui被实现。为了简单,本公开描述平台接口112是基于服务器的解决方案使得它可经由互联网访问的实施例。不管特定实施方式,平台接口112可以使得开发者116能够通过许多gui工具来创建一个或多个定制对话系统引擎120。

仍然参考图1,平台110的后端服务114可以负责维护并运行例如由平台接口112或者借助于平台接口112所创建的定制对话系统引擎120。后端服务114可以作为通过使得对话系统接口130能够与在平台110的后端服务114处维护的定制对话系统引擎120交互来向定制对话系统提供功能性的web服务来操作。

如上面简要地讨论的,可在与对话系统终端用户118相关联的客户端侧140上提供对话系统接口130。对话系统接口130可以和gui一样简单,所述gui使得对话系统终端用户118能够作出查询,所述查询然后可以被递送给后端服务114以供由所对应的对话系统引擎120处理,并且能够接收对由话系统引擎120生成的查询的响应。对话系统接口130可以作为独立软件应用被实现,或者对话系统接口130可以是软件应用、移动应用、web服务、网站等的整体部分。

仍然参考图1,客户端侧140可以指代但不限于用户装置、终端、计算装置(例如,膝上型计算机、平板计算机、桌面型计算机、pc)、蜂窝电话、智能电话、游戏控制台、遥控器、多媒体系统、智能电视装置、机顶盒、信息娱乐系统、车载计算装置、信息亭、机器人等。在这些实施例中,对话系统接口130可以作为安装在此类装置上的软件、中间件或固件被实现。

在附加实施例中,客户端侧140可以指代联网或在线解决方案,诸如服务器、托管服务、web服务、web站点、云服务等。例如,对话系统接口130可以是在一个或多个web页面上提供的使得终端用户能够作出查询并且得到对查询的响应的微件或gui。此选项可以适合于当开发者例如想要将对话系统集成到开发者的网站中以提供增强客户服务时的那些情况。

如可在图1中看到的,可以经由通信网络150执行对话系统接口130与所对应的对话系统引擎120之间的交互。通信网络150可以包括互联网、内部网、蜂窝网络、局域网(lan)、广域网(wan)、基于ieee802.11的网络等中的一个或多个。

图1也示出经由一个或多个web服务器提供的各种第三方web资源/web服务160。这些第三方web资源/web服务160可向对话系统引擎120或对话系统接口130提供各种类型的信息作为对用户请求的响应的一部分。例如,web资源/web服务160可以指代电子邮件服务、天气服务、导航服务等。因此,如果用户作出查询“whatistheweatherliketoday?(今天天气怎么样?)”,则这种信息可以由对话系统引擎120从一个或多个第三方web资源/web服务160自动地获取,然后被集成到对话系统响应中以被递送给对话系统终端用户118。

仍然参考图1,示例系统环境100可以包括作为市场170而示出的用于维护多个可选插件的在线插件市场。市场170可被实现在服务器上,使得它可与插件开发者、对话系统开发者和终端用户进行通信。然而,在一些实施例中,市场170可与平台110集成。

市场170可以包括用于存储插件和相应元数据的数据库172。市场170也可以包括用于使得开发者能够审查、选择、购买和/或可选地定制可选插件的市场接口174。元数据可以伴随每个插件并且包括与其相关联的内容。例如,元数据可以包括以下中的一个或多个:插件的描述、示例图像、示例音频消息、标签、开发者注释、排名、发布者信息、支付信息、统计信息(例如,下载/安装次数)、滥用报告链接/按钮、法律声明、到第三方web资源的超链接等。

市场接口174可以包括嵌入到网页中并可由插件开发者和终端用户经由互联网访问的gui。然而,在一些其它实施例中,市场接口174可以作为软件应用被实现,所述软件应用例如可下载软件应用、客户端侧/对话系统接口应用或装置的一部分或者在诸如计算机的电子装置上运行或者可从诸如计算机的电子装置访问的任何其它软件、中间件或固件。在图1所示的示例中,市场接口174可以作为web可访问gui被实现。为了简单,本公开描述了市场170是基于服务器的解决方案使得它可经由互联网访问的此类实施例。不管特定实施方式,市场接口174使得终端用户能够通过许多gui工具来选择一个或多个插件并且使它们与它们的定制对话系统引擎120相关联。

如上面所提及的,插件可作为货币考虑的交换或者在免费基础上被提供给终端用户。在一个示例实施例中,终端用户可能需要进行一次性支付或者预订需要定期支付的预订计划。因此,可以使得市场170能够使用货币或非货币资金来进行金融交易。例如,市场170可以具有信用卡处理代理、自动结算所代理等。预订计划可能需要取决于对话系统用户的数目、使用插件的时段(例如,定期性计划,诸如月度预订计划、年度计划)、插件副本的数目、复杂性、由插件提供的功能的数目等的金额支付。

可以在免费基础上提供一些插件。在一个示例中,插件可在预定时段(例如,一个月的测试时段)期间免费提供,但是然后可能需要支付。在另外的示例实施例中,插件可以在试用期内被提供给终端用户。更具体地,即使终端用户尚未预订、购买或者安装插件,终端用户的用户请求也可以在默认情况下由插件来处理。基于由插件处理而接收到的回答可以被提供给终端用户。插件到终端用户的这种免费提供可以出于预览目的或者作为终端用户购买插件的难题或激励来完成。可以用具有购买插件的链接的文本(诸如“resultsprovidedbytheplugin(插件提供的结果)…”等)扩增响应的呈现。在另外的实施例中,可以向终端用户提供两个响应,其中可以基于由对话系统在没有插件的情况下处理对户请求而获得一个响应,并且可以基于由对话系统使用插件来处理用户请求而获得另一个响应。当查看两个响应时,终端用户可以比较在有和没有插件的情况下处理用户请求的结果以判定是否购买插件。

如果从市场170出售插件,则插件的原始所有者可以由市场170从自购买者收集的资金来补偿。例如,出售插件的所有者可按在购买时收集的资金的百分比被补偿。

为让终端用户通过市场170购买插件并且使所购买的插件与终端用户的对话系统相关联,可能需要终端用户向市场170注册并且建立用户简档。

因此,市场170可以是指允许终端用户审查、选择和购买他们感兴趣的插件并且将所述插件与由终端用户使用的对话系统引擎集成的多用户web平台/web服务。

出于说明性目的,现在将参考图1至图3描述创建并操作定制对话系统引擎120的过程。特别地,平台接口112可以提供具有使得开发者能够开发插件以便创建和定制一个或多个对话系统元件的许多工具的一个或多个gui,所述一个或多个对话系统元件用作对话系统引擎120的基础。

根据各种实施例,对话系统元件可以包括实体、意图、对话系统树以及其它对话系统数据和元数据。每个实体可以指代具有相同或类似的特性的许多对象。换句话说,实体可以包括定义一个类的对象的词项和/或关键词的列表。在一个示例实施例中,实体可以指代关键词和该关键词的一组同义词。在另一示例实施例中,实体可以指代关键词和一组其定义。在又一个示例实施例中,实体可以指代列表(例如,城市的列表、名称的列表、标题的列表、品牌的列表、街道名称的列表等)。

在一些实施例中,每个实体可具有标题。例如,一个实体可被称为“city(城市)”并且可以包含诸如亚历山大、阿林顿、波士顿等的城市的列表。在其它实施例中,实体可被称为关键词并且可包含此关键词的同义词和/或定义。在一个示例实施例中,被称作“music(音乐)”的实体可以包括歌曲、歌手、歌唱、音乐家等的词项。在另一示例实施例中,被称作“artist(艺术家)”的实体可以包括音乐乐队、乐团或音乐艺术家的列表。在另一示例实施例中,被称作“beatles(披头士)”的实体可以包括可能的同义词(诸如“thebeatles”、“beatles”、“fabfour”、“liverpoollegends”、“johnlennon”等)的列表。在又一个示例实施例中,可以存在可以包括各种艺术家名字、艺术家名字同义词、音乐乐队名称等的被称作“artist”的实体。

在一些实施例中,对话系统引擎可以包括许多默认预配置的实体和/或意图。这些可包括与如时间、日期、定位等这样的概念有关的常见类型的实体或意图。例如,当开发者创建新对话系统引擎时,它可能已经具有几个常见类型的实体,诸如“@system.date”实体。此实体可以涵盖与特定日期有关的语言构造并且可以包括以下词项:“今天”、“明天”、“下星期”、“1月1日”、“下一年的1月1日”、“下星期一”、“接下来的星期一”等。

另外,对话系统规则的每个意图可以包括对话系统交互方案,所述对话系统交互方案可以提供至少一个用户请求与至少一个对话系统语言响应或满足响应之间的特定关系。该对话系统交互方案可通过基于特定动作与至少一个实体之间的关系的规则来表示。动作通常涉及形式化软件对象,诸如使至少一个处理器生成与至少一个实体相关联的语言或满足响应的json(javascript对象表示法)对象。因此,可将每个意图表示为至少一个动作与至少一个实体对象之间的逻辑关系,例如如下:

a)[action]@[entity]

b)[action]@[entities]

c)[actions]@[entity]

d)[actions]@[entities]

e)text@[entity]

f)text@[entities]

g)text@[entity]text

h)[action]text@[entity]

过程a)至d)意味着将由客户端侧140和/或对话系统接口130相对于预定实体或若干实体执行特定动作或若干动作。例如,一个意图可以被表示为“play@artist”,其中@artist是包含一组艺术家的开发者定义的实体。在此示例中,意图命令定制对话系统引擎120根据上下文激活至少一首披头士歌曲的重放。

过程e)至h)意味着相对于特定实体提供形式为文本的特定信息。例如,用户请求“createameetingwithjohnat1p.mtomorrow,please(请创建在明天下午1点与约翰的会议)”可以被呈现为以下模式:[action]text@[sys.date-time]text。这里,@[sys.date-time]指代与时间和日期相关联的实体,而短语“createameeting(创建会议)”指代要由对话系统接口130或定制对话系统引擎120与某个移动应用、软件应用或web服务一起执行的预定动作。元素“text(文本)”指代内容而不是实体或意图。

意图也可具有用于生成响应文本、呼叫外部服务等的满足能力。意图也可具有用于允许对话树的更简单定义的子目的。附加地,动作可以用于定义在对话会话中需要收集什么(当终端用户提供用户请求并且对话系统提供对用户请求的响应时)。

如上面所提及的,对话系统规则可以导致作为对用户请求的回答的语言响应和/或满足响应的生成。语言响应的一个示例可以包括可作为音频消息或可显示消息递送的特殊内容。满足响应可以指代导致特定动作的实现的一个或多个软件应用、中间件、固件、web服务等的特定处理器可执行指令。满足响应的一些示例可以包括在日历移动应用中对事件进行调度、编写并发送文本消息或电子邮件、在web搜索服务处搜索内容、在导航软件应用中构建路线等。在某些实施例中,至少一些语言响应和/或满足响应可由开发者配置。在其它实施例中,至少一些语言响应和/或满足响应可被预配置并且可作为默认响应而可获得。

在某些附加实施例中,开发者可不提供实体和意图,而仅提供示例请求来图示意图和实体。在这些实施例中,平台110可以使用机器学习技术来自动地确定什么实体和意图被隐含在示例用户请求中并且创建对应的规则。例如,开发者可以简单地提供诸如“playbeatles(播放披头士)”和“i’dliketolistentomadonna(我想听麦当娜)”的示例请求,并且平台110可以使“beatles(披头士)”和“madonna(麦当娜)”与现有实体(系统的或用户的)相匹配并自动地生成对应的“[action]@[entity]”规则。

因此,开发者可使用平台接口112来生成特定于特定应用或行业的多个对话系统规则。这多个实体和意图形成对话系统规则(也被称为对话系统元件)并且使得定制对话系统引擎能够响应于各式各样的终端用户输入而执行某些动作或者生成某些输出。

图2是示出用于使用在图1上作为平台110示出的平台来创建定制对话系统引擎并且用于操作根据示例实施例的平台的方法200的过程流程图。方法200可以由可以包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑和微码)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合的处理逻辑来执行。在一个示例实施例中,处理逻辑指代平台的一个或多个组件。值得注意的是,可以按照与图2中所描述且示出的不同的顺序来实现方法200的下面记载的步骤。此外,方法200可以具有本文中未示出但对于本领域的技术人员来说可以从本公开明显的附加步骤。方法200也可以具有比在下面概述且在图2中示出的更少的步骤。

在操作205处,可以使得应用开发者能够向平台注册。为此,开发者可能需要与平台接口交互。注册可以包括创建开发者简档,所述开发者简档可由平台维护。开发者简档可以使此开发者的定制对话系统引擎和部署在客户端侧上的一个或多个对话系统接口链接起来(即,关联)。链接可以包括规定应用编程代码、交互的规则、目的地地址等。

在操作210处,平台可以从开发者接收一个或多个实体并且将所接收到的实体存储在本地数据库处。在一些实施例中,可以不接收实体,而是由开发者使用平台接口的web工具来创建实体。

在操作215处,平台可以从开发者接收一个或多个意图并且将所述意图存储在本地数据库处。在一些实施例中,可以不接收意图,而是由开发者使用平台接口的工具来创建意图。如上所述,意图可以与实体相关联,并且意图和实体一起可以形成对话系统元件(使得对话系统引擎能够生成为特定需要而定做的响应的定制规则)。

在操作220处,平台可以使一个或多个实体与一个或多个意图相关联以创建(即,形成)定制对话系统引擎。定制对话系统引擎可以与开发者的一个或多个对话系统接口相关联。

操作205至220图示定制对话系统引擎的设置过程,然而以下操作225至245图示定制对话系统引擎的操作。一旦定制对话系统引擎的所有对话系统元件被创建,对话系统元件就可以作为后端服务被维护并且使得相关对话系统接口中的任意相关对话系统接口能够根据预定设置向用户提供对话系统的全部功能性。

在操作225处,平台可以从未识别的对话系统接口接收用户请求。用户请求可以是话音输入或文本输入。在一些实施例中,对话系统接口可例如通过辨识口语单词并且将话音输入变换成文本输入来预处理用户输入。然而,在其它实施例中,不通过对话系统接口130执行预处理。

在操作230处,平台可以处理用户请求并且识别对话系统接口以及与经识别的对话系统接口相关联的对话系统引擎。特别地,当用户请求被从对话系统接口发送到平台时用户请求可伴随有识别符。

在操作235处,基于在操作230处的识别的结果,平台可激活与经识别的对话系统接口相关联的定制对话系统引擎。在同一操作处,平台也可以基于在该操作处的识别的结果来检索或者识别一个或多个对话系统元件(诸如一个或多个实体、一个或多个意图、一个或多个关键词、关键词的同义词、关键词的定义、参考值、对话系统树、词项的列表等)。

在操作240处,对话系统引擎可以使用如在操作235处所检索到的识别的对话系统元件(诸如一个或多个实体、一个或多个意图、一个或多个关键词、关键词的同义词、关键词的定义、参考值、对话系统树、词项的列表等)来选择适当的对话系统元件并处理用户请求。

在操作245处,对话系统引擎可以生成响应并且将该响应发送到与定制对话系统引擎120相关联的对话系统接口。对话系统接口然后可以取决于预定设置而将响应显示和/或重放给终端用户。

图3示出根据示例实施例的示例性对话系统引擎300的概要性架构。应该注意的是,对话系统引擎300或相关架构的每个模块包括硬件组件、软件组件或其组合。对话系统引擎300可以被嵌入或者安装在用户装置或服务器中,或者可以作为云计算模块和/或分布式计算模块被呈现。

在所示的实施例中,对话系统引擎300可以包括被配置成接收并将基于语音(speech)的用户输入305处理成参数向量的序列的自动语音辨识器(asr)310。asr310还可以将参数向量的序列转换成所辨识的输入(即,具有一个或多个词、短语或句子的文本输入)。asr310可以包括一个或多个语音辨识器,诸如基于模式的语音辨识器、自由听写辨识器、基于地址簿的辨识器、动态创建的辨识器等。

另外,对话系统引擎300可以包括用于理解口语语言输入的nlp模块320。具体地,nlp模块320可以分解并解析经辨识的输入以生成话语,所述话语然后利用例如构形分析、词性标签、浅层解析等来分析。nlp模块320然后可以将所辨识的输入或其部分映射为有意义的表示。

对话系统引擎300还可以包括对话管理器330,所述对话管理器330可以协调所有组件的活动,控制对话流,并且与外部应用、装置、服务或资源进行通信。对话管理器330可以起许多作用,其包括谈话分析、知识数据库查询以及基于谈话上下文的系统动作预测。在一些实施例中,对话管理器330可以联系可能了解特定任务域的一个或多个任务管理器(未示出)。在一些实施例中,对话管理器330可以与各种计算或存储资源340进行通信,所述各种计算或存储资源340可以包括例如内容存储、规则数据库、推荐数据库、推送通知数据库、电子地址簿、电子邮件或文本代理、对话历史数据库、不同的知识数据库、地图数据库、兴趣点数据库、地理定位确定器、时钟、无线网络检测器、搜索引擎、社交网络网站、博客网站、新闻馈送服务等。在一些实施例中,计算或存储资源340可以包括如在图1上示出且在上面讨论的一个或多个web资源/web服务160。

返回参考图3,对话管理器330可以采用多个不同的方法来响应于所辨识的输入而生成输出。一些方法包括使用统计分析、机器学习算法(例如,神经网络)、启发式分析等。对话管理器330可以是对话系统引擎的中心组件中的一个。对话管理器330的主要作用可以是根据nlp的结果(例如,对话行为、用户目标和谈话历史)基于观察到的证据和推理的对话状态来选择正确的系统动作。此外,当用户输入具有由噪声或意外输入所导致的asr和nlp错误时对话管理器330可以能够处理错误。

对话系统引擎300还可以包括用于将对话管理器330的输出360变换成适合于提供给用户的形式的输出渲染器350。例如,输出渲染器350可以采用文本到语音引擎或者可以联系预先记录的音频数据库以生成与对话管理器330的输出360相对应的音频消息。在某些实施例中,输出渲染器350可以将对话管理器330的输出360呈现或者使得呈现为文本消息、图像或视频消息以供进一步显示在用户装置的显示屏幕上。在一些示例实施例中,输出渲染器350可构成在图1上作为对话系统接口130示出的对话系统接口的至少一部分。

仍然参考图3,对话系统引擎300可以包括在至少一个规则数据库360中维护的一个或多个对话系统规则。对话系统引擎300也可以包括或者与一个或多个上下文数据库370相关联,所述上下文数据库370可以维护多个上下文描述元件,诸如与一个或多个对话系统规则相关联的词项、关键词、短语、表达、上下文变量、上下文参数(例如,地理定位、系统速率、gui等)的列表。换句话说,上下文数据库370可以包括支持针对特定用户请求确定会话或环境上下文的过程的信息。

对话系统引擎300也可以包括或者与一个或多个统计和使用数据库380相关联,所述统计和使用数据库380可以被配置成聚合与对话系统引擎300和/或相关对话系统接口和/或相关移动或软件应用的操作相关联的统计或使用信息。例如,统计和使用数据库380可以累积对话系统日志,所述对话系统日志可被稍后用于对话系统规则、对话系统响应方案、在由对话系统引擎采用的情况下训练机器学习算法等的优化。

图4-6图示平台接口的各种屏幕截图,其示出由开发者手动地创建实体(参见图4)并手动地创建意图(参见图5和图6)的过程。

图4示出用于像上面所讨论的那样创建新对话系统实体的平台接口的示例gui400。当开发者期望创建定制对话系统引擎时,开发者可以使用平台接口的web工具(诸如gui400)来定义对话系统实体和意图。使用gui400,开发者可键入关键词的参考值410(或针对给定实体值的规范值)并且在由gui400提供的对应字段中键入针对所提供的参考值410的同义词420或同义词420的列表。对话系统实体可以包括关键词(或参考值)和关键词的同义词、关键词和关键词的定义、定义一个类的对象的关键词的列表等。带有其同义词和/或定义的关键词或参考值可以组成对话系统实体。

图5示出用于像上面所讨论的那样创建新对话系统意图的平台接口的示例gui500。对话系统意图可以定义用户请求与对话系统响应之间的关系并且可以与基于特定动作与实体之间的关系的规则相关联。一般而言,每个意图可被表示为以下计算机可读过程“[action]@[entity]”或“[action]@[entities]”。使用gui500,开发者可以添加用户表达式502(例如,“weather@city”)来说明意图和实体。每个表达式可以具有别名(即,变量名称)。基于用户表达式502,平台可以使用机器学习技术来自动地确定什么实体和意图被隐含在示例性请求中并且创建对应的规则。例如,开发者可以简单地提供示例请求,诸如“weatherforecastforlosangeles(洛杉矶的天气预报)”。平台可以使“losangeles”与现有实体(系统或用户定义的)相匹配并自动地生成对应的“[action]@[entity]”规则。附加地或可替选地,开发者可以提供一个或多个实体被显式地呈现的示例请求,诸如“whatistheweatherin@say.geo-city:geo-city-us”。在图5的示例中,与动作504(可以在动作中引用别名)相关联的“weather”和参数是“geo-city-us”和“geo-city”。开发者可进一步修改动作504并且提供动作504的满足506。别名也可以是满足506的语音串中的参考。

所创建的规则可以意味着特定动作需要由客户端侧相对于实体或若干实体来执行。例如,一个意图可以被表示为“lookingupforecastfor$geo-city-us(查阅$geo-city-us的预报)”。在此示例中,意图可以命令对话系统引擎寻找洛杉矶的预报。

图6示出用于创建新对话系统意图的平台接口的示例gui600。图6示出处理用户请求的执行的结果602可以在测试控制台中被示出给开发者。附加地,可以示出作为参数传递的参考值604。

图7是图示用于增强本文中所描述的对话系统的功能性的示例系统700的概要性框图。特别地,系统700可以是适合于运行图1上示出的平台110和/或市场170的基于服务器的解决方案。

注意的是,图7上示出的系统700的所有组件可以包括逻辑元件、硬件组件、软件(固件)组件、虚拟组件或其组合。系统700可以包括、关系到或者构成诸如通用计算机、服务器、web服务器、网络服务、云计算服务等的各种类型的装置和系统中的一个或多个的一个整体部分。另外,图7中所示的所有模块可以使用任何适合的有线、无线、无线电、电或光学标准来在操作上耦合。

如图7所示,系统700包括以下硬件组件:至少一个处理器702、存储器704、可选地一个或多个存储装置706和可选地网络接口708。系统700也可以可选地包括以下软件或虚拟组件:操作系统710、一个或多个软件应用720和接口730(诸如图1上示出的平台接口112和/或市场接口174)。接口730可以提供用于像本文中所讨论的那样访问并管理信息的以人为中心的接口。

在一些实施例中,处理器702可以被配置成实现在系统700内执行的功能性和/或过程指令。例如,处理器702可以处理存储在存储器704中的指令和/或存储在存储装置706上的指令。此类指令可以包括操作系统710、软件应用720和/或接口730的组件。

根据一个示例实施例,存储器704可以被配置成在操作期间存储系统700内的信息。在一些示例实施例中,存储器704可以指代非暂时性计算机可读存储介质或计算机可读存储装置。在一些示例实施例中,存储器704可以是临时存储器,意味着存储器704的主要目的可能不是长期存储。存储器704也可以指代易失性存储器,意味着当存储器704不在接收电力时存储器704可以不维护存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)以及本领域中已知的易失性存储器的其它形式。在一些示例中,存储器704可以用于存储由处理器702执行的程序指令。在一个示例实施例中,存储器704可以用于在程序执行期间临时地存储信息。

一个或多个存储装置706也可包括一个或多个暂时性或非暂时性计算机可读存储介质和/或计算机可读存储装置。在一些实施例中,存储装置706可以被配置成存储比存储器704更大量的信息。存储装置706还可被配置用于信息的长期存储。在一些示例中,存储装置706包括非易失性存储元件。此类非易失性存储元件的示例包括磁硬盘、光盘、固态盘、闪速存储器、电可编程存储器(eprom)或电可擦且可编程存储器(eeprom)的形式以及本领域中已知的非易失性存储器的其它形式。在一个示例中,存储装置706可包括在图1上作为数据库172示出的数据库(即,存储装置706可存储并维护多个对话系统扩展元件,其包括插件、附件、扩展等)。在其它实施例中,存储装置706可存储并维护用户简档和定制对话系统引擎。

仍然参考图7,系统700可以包括网络接口708。可利用网络接口708来经由一个或多个通信网络与外部装置、服务器和联网系统进行通信,所述通信网络诸如一个或多个有线、无线或光网络,包括例如互联网、内部网、lan、wan、蜂窝电话网络(例如,全球移动通信系统(gsm)通信网络、分组交换通信网络、电路交换通信网络)、蓝牙无线电以及基于ieee802.11的射频网络等。网络接口708可以是网络接口卡(诸如以太网卡)、光收发器、射频收发器,或者可发送并接收信息的任何其它类型的装置。此类网络接口的其它示例可以包括移动计算装置中的3g、4g和无线电以及通用串行总线。

操作系统710可以控制系统700或系统700的组件的一个或多个功能性。例如,操作系统710可以与接口730交互,并且可以进一步方便软件应用720与处理器702、存储器704、存储装置706和/或网络接口708之间的一个或多个交互。操作系统710可以与接口730和接口730的组件交互或者以其它方式耦合到接口730和接口730的组件。值得注意的是,系统700及其组件也可以与一个或多个远程存储或计算资源交互,所述远程存储或计算资源包括例如web资源、web站点、社交网络网站、博客网站、新闻馈送、电子邮件服务器、web日历、事件数据库、票务聚合器、地图数据库、兴趣点数据库等。软件应用720实质上可以向平台和/或市场提供功能性并且使得能实现它们的操作。可替选地,软件应用720可以是对平台和/或市场的添加。

图8是示出根据示例实施例的用于增强对话系统的功能性的方法800的过程流程图。方法800可以由处理逻辑来执行,所述处理逻辑可以包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑和微码)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。在一个示例实施例中,处理逻辑指代图1上示出的市场170和/或平台110的一个或多个组件。值得注意的是,可以按照与图8中所描述和示出的不同的顺序来实现方法800的下面叙述的步骤。此外,方法800可以具有本文中未示出但是对于本领域的技术人员来说可以从本公开明显的附加步骤。方法800也可以具有比在下面概述且在图8中示出的更少的步骤。

方法800可以在操作810处以维护在线市场开始。在线市场可以由存储器维护,并且可以包括多个对话系统扩展元件(例如,对话系统插件、对话系统附件、对话系统更新、对话系统升级等)。终端用户可以通过市场接口来查看并选择(购买)特定对话系统扩展元件。市场接口可在与对话系统相关联的网站或移动应用处对终端用户可用(即,可以作为对话系统接口被实现)。终端用户可通过市场接口以及注释、排名、评级、评论、发布者的信息、描述、手册、图像、视频、法律信息等来查看与对话系统扩展元件相关联的元数据。在一些实施例中,终端用户可能不需要访问市场接口,而是可能仅需要与对话系统进行通信以了解某些对话系统扩展元件。在更多的实施例中,对话系统可以监视终端用户与对话系统之间的交互。此外,基于监视,对话系统可以鉴于终端用户与和该终端用户相关联的对话系统之间的交互的历史数据向终端用户提供用于安装特定对话系统扩展元件的推荐。安装可以意指使对话系统扩展元件与对话系统相关联。例如,终端用户可以请求对话系统提供特定响应。然而,对话系统的现有功能性可能不允许对话系统以由终端用户所期望的方式处理用户请求。在这种情况下,对话系统可以向终端用户建议这时不可对用户请求进行寻址,除非终端用户购买被专门设计来处理这种类型的用户请求的附加插件。终端用户可以遵循对话系统的建议并进行购买。

更具体地,在操作820处,处理器可以从终端用户接收对所述多个对话系统扩展元件中的至少一个的选择。终端用户可以与对话系统相关联。换句话说,终端用户可以使对话系统接口被安装在终端用户的用户装置上。因此,可以从对话系统接口接收对对话系统扩展元件的选择。对话系统接口可以与可以在网络环境中(例如,与在线平台相关联的服务器上)维护的对话系统相关联。在另外的示例实施例中,可以在用户装置处维护对话系统。对对话系统扩展元件的选择可以由终端用户基于以下中的一个或多个来作出:对话状态、用户偏好、对话系统启发法、连接性状态、对话系统状态、所述多个对话系统扩展元件中的每一个在在线市场中的排名、由终端用户设置的设置、指派给所述多个对话系统扩展元件中的每一个的权重、由所述多个对话系统扩展元件中的一个所支持的用户请求的类型等。

在一些示例实施例中,对对话系统扩展元件的选择可以包括激活一个或多个注解。可以将注解嵌入到安装在用户装置上的软件应用中。更具体地,注解可以包括软件应用内的代码。注解可以与对话系统扩展元件相关联。当注解被激活时,即当与注解相关联的代码被调用时,可以发起对话系统扩展元件与对话系统的关联。

在另一个示例实施例中,对话系统扩展元件可以由对话系统基于安装在用户装置上或在在线平台上的软件应用或者基于其它因素来自动地识别,所述其它因素诸如用户装置的状态、用户装置的地理定位(诸如与用户装置相关联的全球定位系统数据)以及关于用户和用户装置的其它个人和上下文信息。

在另一个示例实施例中,对话系统可以与虚拟助理相关联。可以将虚拟助理至少部分地安装在与终端用户相关联的用户装置上(即,可以将虚拟助理安装在用户装置上或在线平台上,同时可以为虚拟助理的两种类型的安装而在用户装置上运行与虚拟助理相关联的gui)。

在一些实施例中,选择可能需要进行金融交易,使得插件可与和终端用户相关联的特定对话系统引擎集成。在这些情况下,终端用户可能需要预订预订计划或者进行一次性支付以得到使用所选择的插件的权限。更具体地,在接收到对对话系统扩展元件的选择时,处理器可以从终端用户接收对与对话系统扩展元件相关联的预订计划的选择。此外,处理器可以接收针对对话系统扩展元件的支付。该支付可以由终端用户根据预订计划来提供。

在操作830处,处理器可以使由终端用户选择(或购买)的对话系统扩展元件与对话系统相关联。特别地,处理器可能需要识别终端用户或与终端用户相关联的对话系统。识别可通过授权过程(即,请求终端用户登录到市场)来实现。更具体地,处理器可以接收来自终端用户的授权请求。授权请求可以至少包括与终端用户相关联的授权数据。基于该授权数据,处理器可以与平台进行通信并且访问与终端用户和对话系统相关联的记录,诸如与终端用户的用户简档相关联的记录,其中所述记录被存储在存储器中。基于记录,可以识别终端用户和与终端用户相关联的对话系统。基于识别,处理器可以授权终端用户访问在线市场。一旦终端用户和/或对话系统被识别,处理器就可以继续将对话系统与由终端用户选择的对话系统扩展元件链接。在示例实施例中,链接过程可以意味着对话系统扩展元件被集成或者嵌入到对话系统中,或者可替选地,某些链接或元数据与对话系统集成。在另一个示例实施例中,所述多个对话系统扩展元件中的每一个可以与元数据相关联,所述元数据可以被提供用于供终端用户审查。在此实施例中,对话系统扩展元件与对话系统的关联可以包括将与对话系统扩展元件相关联的元数据集成到对话系统中。在任何一种情况下,对话系统扩展元件可以与对话系统相结合地操作。

另外,当对话系统扩展元件成功地与对话系统相关联时,对话系统的操作可以如下。在操作840处,处理器可以从对话系统接口接收用户请求。在示例实施例中,可以将对话系统接口安装在用户装置或第三方服务器上。对话系统接口可以与在在线平台处维护的对话系统相关联。在操作850处,处理器可以识别与对话系统接口和/或终端用户相关联的对话系统引擎。在操作860处,处理器可以识别与对话系统引擎相关联并且与和用户请求匹配的用户偏好相关联的对话系统扩展元件或若干对话系统扩展元件。在操作870处,用户请求可以由对话系统扩展元件单独或者与对话系统相结合地进行处理以生成对用户请求的响应或满足动作。在一些实施例中,对话系统引擎可以试图在没有任何对话系统扩展元件的情况下处理用户请求。更具体地,在处理期间,可以激活对话系统并且可以检索一个或多个对话系统实体、一个或多个对话系统意图、一个或多个关键词、关键词的同义词、关键词的定义、参考值、对话系统树、词项的列表等。可以通过应用一个或多个对话系统实体和一个或多个对话系统意图来处理用户请求以生成响应。如果通过对话系统(在没有对话系统扩展元件的情况下)对用户请求的处理成功,则响应在操作880处经由对话系统接口被递送给用户。如果通过对话系统单独对用户请求的处理不成功,则可以使用对话系统扩展元件来处理用户请求以生成对用户请求的替代响应。可以将替代响应递送给用户。响应或替代响应的递送可以包括向对话系统接口或用户装置递送文本、视频、音频和/或元数据,诸如用户装置可获得用于递送给终端用户的数据的回调uri。

在另一示例实施例中,对话系统引擎可以用对话系统扩展元件处理用户请求。更具体地,处理器可以从对话系统接口接收用户请求。基于用户请求,处理器可以识别对话系统接口与对话系统相关联。处理器可以进一步识别与对话系统相关联并且适用于处理用户请求的至少一个对话系统扩展元件。处理器可以使用对话系统扩展元件处理用户请求以生成对用户请求的响应。可以将响应递送给用户。

在另一示例实施例中,对话系统引擎可以向终端用户提供在有和没有对话系统扩展元件的情况下获得的响应。更具体地,处理器可以从对话系统接口接收用户请求。处理器可以识别对话系统接口与对话系统相关联。基于用户请求,处理器可以激活对话系统并且使用该对话系统来处理用户请求以生成第一响应。此外,处理器可以识别在线市场上的可以适用于处理用户请求的至少一个对话系统扩展元件。处理器可以使用对话系统扩展元件来进一步处理用户请求以生成对用户请求的第二响应。处理器可以进一步导致第一响应和第二响应到终端用户的递送。第二个响应可以伴随有用于终端用户购买用来处理用户请求的对话系统扩展元件的激励。

图9是图示适合于实现本文中所描述的方法的示例用户装置900的概要性框图。值得提及的是,用户装置900的所有组件可以包括逻辑元件、硬件组件、软件(固件)组件、虚拟组件或其组合。

用户装置900可以包括诸如通用计算机、桌面型计算机、服务器、计算机网络、网络服务、云计算服务等的各种类型的装置和系统中的一个或多个的至少一个整体部分。另外,图9中所示的所有模块可以使用任何适合的有线、无线、无线电、电或光学标准来在操作上耦合。如上面已经概述的,用户装置900可以指代智能电话、无线电话、计算机(诸如平板计算机或桌面型计算机)、信息娱乐系统、车载计算装置等。

如图9所示,用户装置900可以包括以下硬件组件:至少一个处理器902、存储器904、一个或多个存储装置906、一个或多个输入模块908、一个或多个输出模块910、网络接口912和地理定位确定器914。用户装置900也可以包括以下软件或虚拟组件:操作系统920、一个或多个软件(移动)应用930和对话系统接口130,所述对话系统接口130可以是独立软件应用或者被集成到一个或多个软件应用930中。对话系统接口130可以提供用于像本文中所讨论的那样访问并管理信息、与对话系统引擎进行通信并且与web资源/web服务进行通信的以人为中心的接口。根据各种实施例,对话系统接口130可以是虚拟的。

处理器902可以被配置成实现在用户装置900内执行的功能性和/或过程指令。例如,处理器902可以处理存储在存储器904中的指令和/或存储在存储装置906上的指令。此类指令可以包括操作系统920和软件应用930的组件。用户装置900也可以包括图9中未示出的一个或多个附加组件,诸如外壳、电源、通讯总线等。这些元件被省略以便不烦扰本实施例的描述。

根据一个示例实施例,存储器904可以被配置成在操作期间存储用户装置900内的信息。存储器904可以指代非暂时性计算机可读存储介质或计算机可读存储装置。在一些示例中,存储器904可以是临时存储器,意味着存储器904的主要目的可能不是长期存储。存储器904也可以指代易失性存储器,意味着当存储器904不在接收电力时存储器904可以不维护存储的内容。易失性存储器的示例包括ram、dram、sram以及本领域已知的易失性存储器的其它形式。在一些示例中,存储器904可以用于存储由处理器902执行的程序指令。在一个示例实施例中,存储器904可以由在用户装置900上执行的软件(例如,操作系统920)或对话系统接口130使用来在程序执行期间临时地存储信息。存储装置906也可包括一个或多个暂时性或非暂时性计算机可读存储介质和/或计算机可读存储装置。在一些实施例中,存储装置906可以被配置成存储比存储器904更大量的信息。存储装置906还可被配置用于信息的长期存储。在一些示例中,存储装置906可以包括非易失性存储元件。此类非易失性存储元件的示例包括磁硬盘、光盘、固态盘、闪速存储器、eprom或eeprom的形式以及本领域中已知的非易失性存储器的其它形式。

仍然参考图9,用户装置900可以包括一个或多个输入模块908。输入模块908可以被配置成接收用户输入。输入模块908的示例可以包括麦克风、键盘、小键盘、鼠标、轨迹球、触摸屏、触摸板,或者能够以语音、音频或触觉动作的形式检测来自用户或其它来源的输入并且将该输入中继到用户装置900或其组件的任何其它装置。

在一些示例实施例中,输出模块910可以被配置成通过视觉或听觉通道来向用户提供输出。输出模块910可以包括视频图形适配器卡、液晶显示监视器、发光二极管监视器、声卡、扬声器,或者能够生成用户可以理解的输出的任何其它装置。

在一些实施例中,用户装置900可以包括网络接口912。可利用网络接口912来经由一个或多个通信网络与外部装置、服务器和联网系统进行通信,所述通信网络诸如一个或多个有线、无线或光网络,包括例如互联网、内联网、lan、wan、蜂窝电话网络(例如,gsm通信网络、分组交换通信网络、电路交换通信网络)、蓝牙无线电以及基于ieee802.11的射频网络等。网络接口912可以是网络接口卡(诸如以太网卡)、光收发器、射频收发器,或者可发送并接收信息的任何其它类型的装置。此类网络接口的其它示例可以包括移动计算装置中的3g、4g和无线电以及通用串行总线。

用户装置900还可以包括用于确定用户装置的当前地理定位的地理定位确定器914。地理定位确定器914可以利用用于确定地理定位的许多不同的方法,包括例如接收并处理全球定位系统、glonass卫星导航系统或伽利略卫星导航系统的信号;利用无线电塔(基站)之间的无线电信号的多路化;或者利用与网际协议地址、媒体访问控制地址、射频标识或其它技术相关联的地理定位方法。

操作系统920可以控制用户装置900或其组件的一个或多个功能性。例如,操作系统920可以与对话系统接口130交互并且可以进一步方便软件应用930与处理器902、存储器904、存储装置906、输入模块908及输出模块910中的一个或多个之间的一个或多个交互。如图9所示,操作系统920可与软件应用930、对话系统接口130及其组件交互或者以其它方式耦合到软件应用930、对话系统接口130及其组件。在一些实施例中,可将对话系统接口130包括到操作系统920和/或软件应用930中。值得注意的是,用户装置900及其组件(诸如对话系统接口130)也可以与一个或多个远程存储或计算资源交互,所述远程存储或计算资源包括例如web资源、网站、社交网络网站、博客网站、新闻馈送、电子邮件服务器、web日历、事件数据库、票务聚合器、地图数据库、兴趣点数据库等。

因此,已经对用于由终端用户增强对话系统的功能性的方法和系统进行了描述。尽管已经参考特定示例实施例描述了实施例,然而将显而易见的是,在不脱离本申请的较广精神和范围的情况下,可对这些示例实施例作出各种修改和改变。因此,将在说明性而不是限制性意义上考虑本说明书和附图。

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