助理服务的智能设置的制作方法

文档序号:15615104发布日期:2018-10-09 21:10阅读:280来源:国知局

本申请涉及助理服务的智能设置。



背景技术:

一些计算平台可以提供用户界面,用户能够从所述用户界面与虚拟的计算助理(例如,还被称为“智能数字助理”、“数字助理”、或简称为“助理”)聊天、说话、或以其它方式通信,以使助理输出有用信息、对用户的需求作出响应,或以其它方式执行某些操作以帮助用户完成各种的现实世界任务或虚拟任务。为了确定有用信息,助理可以与第三方(第三方)代理服务器系统一起工作。例如,计算装置利用麦克风从用户接收语音输入(例如,音频数据)。至少部分地在计算装置处执行的助理将语音输入的指示输出到第三方代理服务器系统。在从第三方代理服务器系统接收到基于语音输入的有用信息之后,至少部分地在计算装置处执行的助理将有用信息输出到用户。



技术实现要素:

一般来说,本发明的技术可以使数字助理能够推荐用于对用户输入作出响应(例如,满足用户话语或文本输入)的代理(还被称为“软件代理”)。例如,在数字助理的初始设置期间,利用来自用户的许可,计算装置可以确定数字助理的用户使用数字助理以外的、由特定供应商提供的服务。在此示例中,计算装置可以进一步确定特定供应商与可用于使用特定供应商的服务的代理相关联。代理可以指当通过处理器执行时,自主地与数字助理、其它代理、和/或系统交互以代表数字助理的用户而完成任务的软件。代理可以被配置成利用自然语言(例如,“您能够使用此代理预约一辆出租车”、“您能够使用此代理寻找食谱”)与用户交互。代理可以与数字助理分离。例如,代理可以在与数字助理不同的处理器或服务器处操作。代理可以能够提供除了由数字助理提供的服务之外的服务。例如,代理可以提供数字助理未被配置成提供的第三方供应商的服务。代理的示例可以包括第一和第三方数字代理,所述第一和第三方数字代理被配置成提供与(例如,但不限于)新闻媒体(例如,新闻供应、体育得分)、订餐(例如,配送订购的食物)、电视(例如,电视节目中讨论的食谱)、交通运输(例如,请求汽车运输或任何其它类型的运输)、医疗(例如,医学术语的描述、安排处方再配药)相关联的服务,以及其它服务。数字助理可以输出对用于使用特定供应商的服务的代理的推荐。

数字助理可以推荐要由用户可能使用的代理,而不是要求用户搜遍代理的列表。例如,数字助理可以利用用户许可确定用户已使用的服务以及用于使用用户已使用的服务的推荐代理。在另一示例中,数字助理可以确定用户已设置用于从特定服务提供商获得服务的用户账户。以此方式,数字助理可以向代理推荐要由用户可能使用的数字助理。

在一个示例中,本发明涉及一种方法,所述方法包括由数字助理装置确定针对数字助理服务的一组候选第三方代理。所述一组候选第三方代理能够经由数字助理装置访问。所述方法进一步包括由数字助理装置从与用户相关联的计算装置接收指示用户的一个或多个兴趣的信息,以及基于所述信息由数字助理装置确定一组相关评分。所述一组相关评分中的每个相关评分指示用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务。所述方法进一步包括由数字助理装置从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理;以及输出用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐的指示。所述数字助理服务的用户账户是与用户相关联的。响应于接收到用户输入的指示,所述指示接受用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐,所述方法进一步包括由数字助理装置来配置数字助理服务的用户账户,用于利用一个或多个候选第三方代理进行操作。

在另一示例中,本发明涉及一种包括至少一个处理器和至少一个存储器的数字助理装置。至少一个存储器包括指令,当执行所述指令时,使至少一个处理器提供数字助理,所述数字助理被配置成确定针对数字助理服务的一组候选第三方代理。所述一组候选第三方代理能够经由数字助理装置访问。数字助理进一步被配置成从与用户相关联的计算装置接收指示用户的一个或多个兴趣的信息,以及基于所述信息确定一组相关评分。所述一组相关评分中的每个相关评分指示用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务。数字助理进一步被配置成从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理,其中输出用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐的指示,并且其中所述数字助理服务的用户账户是与用户相关联的。响应于接收到用户输入的指示,所述指示接受用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐,所述数字助理进一步被配置成配置数字助理服务的用户账户,用于利用一个或多个候选第三方代理进行操作。

在另一示例中,本发明涉及一种计算机可读存储介质,所述计算机可读存储介质包括指令,当执行所述指令时,使至少一个处理器提供数字助理的指令,所述数字助理被配置成确定针对数字助理服务的一组候选第三方代理。所述一组候选第三方代理能够经由数字助理装置访问。所述指令进一步使至少一个处理器从与用户相关联的计算装置接收指示用户的一个或多个兴趣的信息,以及基于所述信息确定一组相关评分。所述一组相关评分中的每个相关评分指示用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务。所述指令进一步使至少一个处理器从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理,其中输出用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐的指示,并且其中所述数字助理服务的用户账户是与用户相关联的。响应于接收到用户输入的指示,所述指示接受用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐,所述指令进一步使至少一个处理器配置数字助理服务的用户账户,用于利用一个或多个候选第三方代理进行操作。

在另一示例中,本发明涉及一种系统,所述系统包括用于确定用于数字助理服务的一组候选第三方代理的装置。所述一组候选第三方代理能够经由数字助理装置访问。所述系统进一步包括用于从与用户相关联的计算装置接收指示用户的一个或多个兴趣的信息的装置,以及用于基于所述信息确定一组相关评分的装置。所述一组相关评分中的每个相关评分指示用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务。所述系统进一步包括用于从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理的装置;以及用于输出用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐的指示的装置。数字助理服务的用户账户是与用户相关联的。响应于接收到用户输入的指示,所述指示接受用于利用一个或多个候选第三方代理配置数字助理服务的用户账户的推荐,所述系统进一步包括用于配置数字助理服务的用户账户,用于利用一个或多个候选第三方代理进行操作的装置。

附图说明

图1是根据本公开的一个或多个方面的说明执行示例数字助理的示例系统的概念图。

图2是根据本公开的一个或多个方面的说明被配置成执行示例数字助理的示例计算装置的框图。

图3是根据本公开的一个或多个方面的说明由执行示例数字助理的一个或多个处理器执行的示例操作的流程图。

图4是根据本公开的一个或多个方面的说明被配置成执行示例数字助理的示例服务器系统的框图。

具体实施方式

一般来说,在初始地设置数字助理以对用户输入作出响应(例如,满足用户话语或文本输入)时,本发明的技术使能够改进的开箱经验(out-of-boxexperience)。在一些系统中,开箱经验可以要求用户从可用代理的列表中选择用户可能使用其服务的一个或多个代理。例如,在初始地接通计算装置以执行数字助理之后,用户可以在与数字助理相关联的图形用户界面处提供输入,以选择或不选择用户将使用或将不使用的从数字助理可获得的服务的代理。

数字助理可以推荐用户可能要使用的特定代理,而不是要求用户识别他或她可能感兴趣的每个代理。例如,在数字助理的初始设置期间,在明确已从用户获得许可之后,计算装置可以确定数字助理的用户使用数字助理以外的由特定供应商提供的服务。计算装置可以确定特定供应商与用于使用特定供应商的服务的可用代理相关联,并且数字助理可以输出对用于使用特定供应商的服务的推荐。例如,响应于确定与数字助理的用户相关联的电子邮件账户指示用户最近从披萨店x订购披萨,数字助理可以推荐特定代理从披萨店x订购披萨。以此方式,数字助理可以向用户指示用户将可能使用的代理,而不是将一大堆对用户有用的代理以及对用户无用的代理都扔给他而使其无所适从。

为了识别由数字助理以外的用户使用的服务,数字助理可以利用用户许可确定用于用户的在计算装置上安装的应用是否具有用于利用数字助理进行使用的相对应的代理。例如,数字助理可以从计算装置接收指示用户已安装用于与特定航空公司调度航班的应用的信息。在此示例中,响应于识别用于与特定航空公司调度航班的代理,数字助理可以推荐用户允许数字助理启用用于与特定航空公司调度未来航班的代理。

此外,为了识别服务,数字助理可以确定可用于局域网(例如,lan)上的连接的计算装置是否具有用于利用数字助理进行使用的相对应的代理。例如,数字助理可以接收具有与智能照明系统相关联的介质访问控制地址(mac地址)的计算装置可用于使用lan连接的指示。在此示例中,响应于识别用于使用数字助理控制智能照明系统的代理,数字助理推荐用于控制智能照明系统的代理。

在第一次从用户接收到执行此操作的明确许可之后,数字助理可以仅保持或具有对与用户相关联的信息的访问。因此,用户已完成对助理如何收集和使用关于用户的信息的控制。在数字助理存储个人信息之前,数字助理可以加密或以其它方式处理所述信息以清除用户的实际身份,使得在存储时清除个人可识别的信息。数字助理可以为用户提供一种修改或清除由数字助理保持的信息的方式。以此方式,用户可以已完成对通过数字助理维持信息的控制。

一旦在数字助理已接收到用于利用所推荐代理配置数字助理服务的用户账户的许可,数字助理就可以立即配置用户账户以通过所推荐代理操作。例如,该助理能够检索用于操作所推荐代理所需的数据。另外,为了进一步减少设置时间,数字助理可以通过用户许可自动地设置用于所推荐代理的第三方用户账户。以此方式,在不需要使具有对用户信息的平凡和重复请求的用户淹没的情况下,用户可以通过所推荐代理配置数字助理模块。

图1是根据本公开的一个或多个方面的说明执行示例数字助理的示例系统100的概念图。图1的系统100包括计算装置110a-c(被统称为计算装置110),所述计算装置110a-c经由网络130与数字助理服务器160和第三方(第三方)代理服务器系统170a-n(被统称为“第三方代理服务器系统170”)通信。尽管系统100被示出为分布在数字助理服务器160、第三方代理服务器系统170、与计算装置110之间,但是在其它示例中,归因于系统100的特征和技术可以通过计算装置110的本地组件内部地执行。类似地,数字助理服务器160和/或第三方代理服务器系统170可以包括某些组件并且执行在以下描述中以其它方式归因于计算装置110的各种技术。

网络130表示用于在计算系统、服务器、与计算装置之间传输数据的任何公共或专用通信网络,诸如,蜂窝、wi-fi、和/或其它类型的网络。数字助理服务器160可以经由网络130与计算装置110交换数据,以在将计算装置110连接到网络130时提供可用于计算装置110a的虚拟助理服务。类似地,第三方代理服务器系统170可以经由网络130与计算装置110交换数据,以在将计算装置110连接到网络130时提供可用于计算装置110的虚拟代理服务。

网络130可以包括可操作地相互耦合的一个或多个网络集线器、网络交换机、网络路由器、或任何其它网络设备,由此提供用于交换服务器系统160和170与计算装置110之间的信息。计算装置110、数字助理服务器160、和第三方代理服务器系统170可以使用任何合适的通信技术跨越网络130传输和接收数据。计算装置110、数字助理服务器160、和第三方代理服务器系统170可以使用相应网络链路各自可操作地被耦合到网络130。耦合计算装置110、数字助理服务器160、和第三方代理服务器系统170的链路可以是以太网或其它类型的网络连接,并且此类连接可以是无线和/或有线连接。

数字助理服务器160和第三方代理服务器系统170表示能够将信息发送到诸如网络130的网络以及从所述网络接收信息二者的诸如一个或多个台式计算机、膝上型计算机、大型计算机、服务器、云计算系统等的任何合适的远程计算系统。数字助理服务器160托管数字助理服务(或至少提供对数字助理服务的访问)。第三方代理服务器系统170托管虚拟语言代理(或至少提供对虚拟语言代理的访问)。在一些示例中,数字代理服务器160和第三方代理服务器系统170表示经由云提供对其相应服务的访问的云计算系统。

计算装置110表示个人移动或非移动计算装置。计算装置110的示例包括被配置成执行或访问数字助理以及经由例如网络130的网络接收信息的移动电话、平板计算机、膝上型计算机、台式计算机、服务器、大型计算机、机顶盒、电视机、可穿戴装置(例如,计算机化手表、计算机化眼镜、计算机化手套等)、家用自动化装置或系统(例如,智能恒温器或家用辅助装置)、个人数字助理(pda)、游戏系统、媒体播放器、电子阅读器、移动电视平台、汽车导航或娱乐系统,或任何其它类型的移动、非移动、可穿戴和非可穿戴计算装置。

计算装置110中的每个可以执行系统100的不同功能。例如,计算装置110a可以执行移动装置的功能。在此示例中,计算装置110b可以执行数字助理装置的功能以配置数字助理装置。在此示例中,计算装置110c可以执行第三方代理系统的功能。例如,计算装置110c可以是与第三方代理服务器系统170a的第三方代理128ab相关联的智能照明系统。

计算装置110a包括用户界面装置(uid)112、用户界面(ui)模块120、辅助模块122a、第三方代理模块128aa-na、代理推荐模块182a、和第三方代理列表124a。模块120、122a、128aa-na、和182a可以使用在相应计算装置110a中驻留和/或在相应计算装置110a处执行的软件、硬件、固件或硬件、软件和固件的混合件所描述的操作。计算装置110a可以利用多个处理器或多个装置执行模块120、122a、128aa-na和182a。计算装置110a可以作为在底层硬件上执行的虚拟机执行模块120、122a、128aa-na和182a。模块120、122a、128aa-na和182a可以作为操作系统或计算平台的一个或多个服务执行。模块120、122a、128aa-na和182a可以作为计算平台的应用层处的一个或多个可执行程序执行。

类似地,模块182b可以使用在相应计算装置110b中驻留和/或在相应计算装置110b处执行的软件、硬件、固件或硬件、软件和固件的混合所描述的操作。计算装置110b可以利用多个处理器或多个装置执行模块182b。计算装置110b可以作为在底层硬件上执行的虚拟机执行模块182b。模块182b可以作为操作系统或计算平台的一个或多个服务执行。模块182b可以作为计算平台的应用层处的一个或多个可执行程序执行。此外,模块128ac-128nc可以执行使用在相应计算装置110c中驻留和/或在相应计算装置110c处执行的软件、硬件、固件或硬件、软件和固件的混合所描述的操作。计算装置110c可以利用多个处理器或多个装置执行模块128ac-128nc。计算装置110c可以作为在底层硬件上执行的虚拟机执行模块128ac-128nc。模块128ac-128nc可以作为操作系统或计算平台的一个或多个服务执行。模块128ac-128nc可以作为计算平台的应用层处的一个或多个可执行程序执行。

计算装置110中的每个可以包括计算装置110a的一个或多个模块。例如,计算装置110b可以包括基本上与计算装置110a的代理推荐模块182a相类似的代理推荐模块以及基本上与计算装置110a的第三方代理列表124a相类似的第三方代理列表。在另一示例中,计算装置110c可以包括基本上与计算装置110a的第三方代理模块128aa-128na相类似的第三方代理模块。应当理解的是,计算装置110可以包括图1中未示出的附加模块。例如,计算装置110b可以进一步包括基本上与计算装置110a的uid112相类似的uid以及基本上与计算装置110a的ui模块120相类似的ui模块。

计算装置110a可以经由网络130与数字助理服务器160和/或第三方代理服务器系统170通信,以访问由数字助理服务器160提供的数字助理服务和/或由第三方代理服务器系统170提供的虚拟语言代理。在提供数字助理服务的过程中,数字助理服务器160可以经由网络130与第三方代理服务器系统170通信,以占用由第三方代理服务器系统170提供的虚拟语言代理中的一个或多个,从而为数字助理服务的用户提供附加帮助。

在图1的示例中,数字助理服务器160包括辅助模块122b、代理推荐模块182c、和第三方代理列表124c。辅助模块122b可以访问第三方代理列表124c,作为数字助理服务器160经由网络130提供(例如,到计算装置110a)的数字助理服务的部分。代理列表124c可以包括用于数字助理服务的所注册代理的列表。计算装置110a包括用户界面装置(uid)112、用户界面(ui)模块120、辅助模块122a、第三方代理模块128aa-na、代理推荐模块182a、和第三方代理列表124a。计算装置110b包括代理推荐模块182b和第三方代理列表124b。计算装置110c包括第三方代理模块128ac-nc。代理推荐模块182a可以维持第三方代理列表124a,作为在计算装置110a处本地地执行的数字助理服务的部分。代理推荐模块182b可以维持第三方代理列表124b,作为在计算装置110b处本地地执行的数字助理服务的部分。代理推荐模块182a-c可以被统称为代理推荐模块182。辅助模块122a-b可以被统称为辅助模块122。第三方代理列表124a和b可以被统称为第三方代理列表124。

模块122和182可以执行使用在数字助理服务器160中驻留和/或分别在数字助理服务器160处执行的软件、硬件、固件或硬件、软件和固件的混合所描述的操作。类似地,模块128可以执行使用在第三方代理服务器系统170中驻留和/或分别在第三方代理服务器系统170处执行的软件、硬件、固件或硬件、软件和固件的混合所描述的操作。数字助理服务器160和第三方代理服务器系统170可以作为在底层硬件上执行的虚拟机,或作为操作系统或计算平台的一个或多个服务分别利用多个处理器、多个装置来执行模块122b和182c以及模块128a-n。在一些示例中,模块122b和182c以及模块128a-n可以分别作为数字助理服务器160和第三方代理服务器系统170的计算平台的应用层处的一个或多个可执行程序执行。

计算装置110a的uid112可以用作用于计算装置110a的输入和/或输出装置。uid112可以使用各种技术实施。例如,uid112可以用作使用存在敏感输入屏幕,诸如电阻式触摸屏幕、表面声波触摸屏幕、电容式触摸屏幕、投射电容式触摸屏幕、压敏屏幕、声学脉冲识别触摸屏幕,或可以用作使用另一存在敏感显示技术的输入装置。另外,uid112可以包括用于接收用户输入的麦克风技术、红外传感器技术,或其它输入装置技术。

uid112可以用作使用任何一个或多个显示装置,诸如能够将可见信息输出到计算装置110a的用户的液晶显示器(lcd)、点矩阵显示器、发光二极管(led)显示器、有机发光二极管(oled)显示器、电子油墨显示器,或类似单色或彩色显示器的输出(例如,显示器)装置。另外,uid112可以包括用于将信息输出到用户的扬声器技术、触觉反馈技术,或其它输出装置技术。

uid112可以包括可以从计算装置110a的用户接收触觉输入的存在敏感显示器。uid112可以通过检测来自用户的一个或多个手势(例如,用户利用手指或触控笔触摸或指向uid112的一个或多个位置)来接收触觉输入的指示。uid112可以例如在存在敏感显示器处向用户呈现输出。uid112可以将输出呈现为图形用户界面,所述图形用户界面可以与由计算装置110a提供的功能性和/或由计算装置110a访问的服务相关联。

例如,uid112可以呈现与由辅助模块122提供的数字助理有关的用户界面,ui模块120就代表计算装置110a来访问所述辅助模块122。uid112可以呈现与在计算装置110a(例如,电子邮件、聊天软件或其它电子消息应用、互联网浏览器应用、电话应用、移动或桌面操作系统等)处执行或可从所述计算装置访问的计算平台、操作系统、应用、和/或服务的其它特征有关的用户界面。

ui模块120可以管理与uid112和计算装置110a的其它组件的用户交互,包括与数字助理服务器160交互,以便在uid112处提供自动搜索结果。在计算装置110a的用户查看输出和/或在uid112处提供输入时,ui模块120可以使uid112输出用于显示的用户界面。在用户在不同时间处与用户界面交互时以及在用户和计算装置110a处于不同位置时,ui模块120和uid112可以从用户接收输入的一个或多个指示。ui模块120和uid112可以解释在uid112处检测到的输入,并且可以将关于在uid112处检测到的输入的信息中继转发到在计算装置110a处执行的一个或多个相关联平台、操作系统、应用、和/或服务,例如以使计算装置110a执行功能。

ui模块120可以从在计算装置110a处执行的一个或多个相关联平台、操作系统、应用、和/或服务,和/或一个或多个远程计算系统,诸如服务器系统160和180接收信息和指令。另外,ui模块120可以充当在计算装置110a处执行的一个或多个相关联平台、操作系统、应用和/或服务,以及计算装置110a的各个输出装置(例如,扬声器、led指示器、音频或触觉输出装置等)之间的中间部件,以利用计算装置110a产生输出(例如,图形、闪光、声音、触觉响应等)。

计算装置110a的辅助模块122a和数字助理服务器160的辅助模块122b可以各自执行本文所描述的类似功能,以自动地执行被配置成选择代理以满足从计算装置的用户接收的用户输入(例如,所说话语、文本输入等)的助理。辅助模块122b以及第三方代理列表124b表示示例数字助理的服务器侧或云实施方案,而辅助模块122a和b以及第三方代理列表124a和b表示示例数字助理的客户端侧或本地实施方案。

辅助模块122可以各自包括相应软件代理(例如,还被称为“代理”),所述软件代理被配置成执行为能够执行用于个人,诸如,计算装置110a的用户的任务或服务的智能个人助理。辅助模块122可以基于用户输入(例如,在uid112处检测到的)、位置感知(例如,基于情景的),和/或从各种信息源(例如,本地存储在计算装置110a、数字助理服务器160处,或经由搜索服务获得的)访问其它信息(例如,天气或交通情况、新闻、股票价格、体育得分、用户时间表、交通运输时间表、零售价格等)的能力来执行这些任务或服务。辅助模块122可以执行人工智能和/或机器学习技术来代表用户而自动地识别和完成一个或多个任务。

在一些示例中,由辅助模块122提供的助理能够被称为第一方(1p)助理和/或第一方代理。例如,由辅助模块122表示的代理可以与计算装置110a的操作系统和/或数字助理服务器160的拥有者共享公共发布者和/或公共开发者。因此,在一些示例中,由辅助模块122表示的代理可以具有对诸如第三方代理的其它代理不可获得的能力。在一些示例中,由辅助模块122表示的代理可以都不是第一方代理。例如,由辅助模块122a表示的代理可以是第一方代理,而由辅助模块122b表示的代理可以是第三方代理。

如上所述,辅助模块122a可以表示软件代理,所述软件代理被配置成执行为能够执行用于个人,诸如,计算装置110a的用户的任务或服务的智能个人助理。在一些示例中,辅助模块122a可以利用其它代理来执行用于个人的任务或服务。

在图1的示例中,第三方代理服务器系统170包括第三方代理模块128b。第三方代理模块128ab-nb(被统称为“第三方代理模块128b”)和第三方代理模块128ac-nc(被统称为“第三方代理模块128c”)可以执行下文相对于第三方代理模块128aa-na(被统称为“代理模块128a”)描述的类似功能,以自动地执行被配置成满足从计算装置(例如,计算装置110a)的用户接收的话语的代理。换句话说,第三方代理模块128b表示示例第三方代理的服务器侧或云实施方案,而第三方代理模块128a和128c表示示例第三方代理的客户端侧或本地实施方案。

在一些示例中,模块128a-c(被统称为“模块128”)中的每个可以表示软件代理,所述软件代理被配置成执行为能够执行用于个人,诸如,计算装置110a的用户的任务或服务的智能个人助理。在一些示例中,模块128中的每个可以表示由模块122提供的助理利用的软件代理。在一些示例中,由模块128提供的助理和/或代理被称为第三方助理和/或第三方代理。例如,由模块128表示的助理和/或代理可以与计算装置110a的操作系统和/或数字助理服务器160的拥有者共享公共发布者。因此,在一些示例中,由模块128表示的助理和/或代理可以不具有对诸如第三方助理和/或代理的其它助理和/或代理可获得的能力。

第三方代理模块128可以与任何合适服务相关联。第三方代理模块128可以提供的服务的示例种类包括,例如但不限于,商业、金融、汽车、教育、参考书、食品、饮料、游戏、问答游戏、健康、健身、生活方式、本地服务、电影、电视、音乐、音频、新闻、新奇事物、幽默、生产力、购物、智能家居、社会、体育、旅游、交通运输、公共事业以及其它种类的服务。更具体来说,第三方模块128可以提供与(例如,但不限于)新闻媒体(例如,新闻内容、体育得分)、订餐(例如,配送订购的食物)、电视(例如,电视节目中讨论的食谱)、交通运输(例如,请求汽车运输或任何其它类型的运输)、医疗(例如,医学术语的描述、安排处方再配药)相关联的服务,以及其它服务。

在操作时,代理推荐模块182可以确定用于数字助理服务的第三方代理模块128。例如,代理推荐模块182可以确定第三方代理模块128作为可经由计算装置110a访问的第三方代理模块。例如,当第三方代理服务器系统170中的每个可以由计算装置110经由网络130访问时,代理推荐模块182可以包括第三方代理列表124a中的第三方代理模块128。

代理推荐模块182可以基于所述代理的知名度来推荐第三方代理模块128的选择,或者可以提供用户界面,用户能够从所述用户界面浏览第三方代理模块128的完整列表。代理推荐模块182可以与计算装置110一起工作,以识别指示用户的兴趣的信息,而不是仅基于知名度来推荐第三方代理模块128的选择,或要求用户浏览第三方代理模块128的完整列表。以此方式,代理推荐模块182可以警告到有用的第三方代理模块128的用户,这样避免利用有用的和不可行的第三方代理模块128的融合来使用户应接不暇。

更具体来说,代理推荐模块182可以从计算装置110接收指示用户的一个或多个兴趣的信息。用户的此类兴趣可以包括主观兴趣(例如,作为运动队a的爱好者)。另外地或可替选地,用户的兴趣可以包括客观兴趣(例如,控制家用恒温器)。例如,在不需要与家用恒温器交互的情况下,用户可能对控制家用恒温器以简单完成降低家中的温度的任务有兴趣。指示用户的一个或多个兴趣的信息的示例可以包括但不限于,指示用户的一个或多个兴趣的在计算装置110处的安装的应用、与用户的用户帐户链接的第三方帐户、计算装置110处的网站浏览器历史、与用户的用户帐户相关联的电子邮件、连接到网络130的装置(例如,计算装置110)的可用性,计算装置110处的用户交互、以及其它信息。在一些示例中,代理推荐模块182可以基于指示用户的一个或多个兴趣的信息来将第三方代理列表124确定为第三方代理模块128中的一个或多个第三方代理模块的子集。例如,响应于确定指示用户的一个或多个兴趣的信息与第三方代理模块128a-c有关,代理推荐模块182可以将第三方代理列表124确定为第三方代理模块128a-c。

代理推荐模块182可以基于指示用户的兴趣的信息来确定一组相关评分。例如,当信息指示用户利用与第三方代理模块128a相关联的特定供应商的服务时,代理推荐模块182可以增加第三方代理模块128a的相关评分。例如,响应于接收到以下指示:用户已从用于从第一特定供应商订购产品的特定网站订购消费者产品以及第三方代理模块128a被配置成许可用户从第一特定供应商订购消费者产品,代理推荐模块182可以增加针对第三方代理模块128a的相关评分。然而,响应于从指示用户的兴趣的信息确定用户尚未利用第二特定供应商的服务以及第三方代理模块128b被配置成许可用于从第二特定供应商订购消费者产品,代理推荐模块182可以禁止增加(例如,不改变)或可以减小针对第三方代理模块128b的相关评分。以此方式,所述一组相关评分中的每个相关评分指示用户是否将发起需要第三方代理模块128的相应第三方代理的至少一个任务。

代理推荐模块182可以选择第三方代理模块128中的一个或多个第三方代理以向用户推荐。更具体来说,例如,代理推荐模块182可以选择第三方代理模块128中的具有满足阈值的相应相关评分的一个或多个第三方代理。阈值可以指示用户的最小兴趣阈值。阈值可以是基于用户输入的预定义的(例如,由计算装置110中的一个或多个选择的)用户选择、或动态可配置(例如,在用户接受推荐时减小以及在用户拒绝推荐时增加)。在一些示例中,增加相关评分可以指示更高用户兴趣。在此类示例中,满足阈值的相应相关评分可以大于阈值。例如,在用户使用计算装置110a的浏览器从用于服装公司y的网站购物的情况下,代理推荐模块182可以增加针对用于使能够从服装公司y购物的第三方代理模块128a的相关评分。在这种情况下,因为第三方代理模块128a的相关评分大于阈值,所以代理推荐模块182推荐用于从服装公司y购物的第三方代理模块128a。然而,在一些示例中,增加相关评分可以指示更高用户兴趣。在此类示例中,满足阈值的相应相关评分可以小于阈值。尽管在以上示例中,代理推荐模块182推荐单个第三方代理模块,但是在其它示例中,代理推荐模块182可以推荐第三方代理模块128中的两个或更多个。

代理推荐模块182可以使用相关评分对第三方代理模块128的推荐进行分类。例如,当第三方代理模块128中的两个或更多个具有满足阈值的相应相关评分时,代理推荐模块182可以通过相关评分对第三方代理模块128中的两个或更多个进行分类。例如,当第三方代理模块128a-c具有满足阈值75的相关评分97、80和90时,代理推荐模块182可以对推荐进行分类以提出开始于第三方代理模块128a、随后第三方代理模块128c、以及随后第三方代理模块128b的排序列表。

为了将辅助模块122与有用第三方代理模块128连接并且防止个人或敏感信息的无意共享,代理推荐模块182可以引起到用户的信令,所述信令指示用于利用第三方代理模块128配置数字助理服务的用户账户的推荐。例如,代理推荐模块182可以使uid112输出可见通知“您希望我利用运输公司x链接到您的数字助理账户吗?”。如进一步论述的是,在一些示例中,代理推荐模块182可以使uid112输出关于第三方代理模块128的保密信息。例如,代理推荐模块182可以使uid112输出可见通知“您希望看到与运输公司x共享的什么信息?”。以此方式,数字助理的用户可以接受用于利用第三方代理模块128配置数字助理的用户账户的推荐,所述推荐许可用户容易地控制与第三方代理模块128的个人或敏感信息的共享。

为了甚至进一步减少设置时间,代理推荐模块182可以引起到用户的信令,所述信令指示用于利用第三方代理模块128中的多于一个第三方代理模块配置数字助理服务的用户账户的推荐。例如,代理推荐模块182可以输出所有所选择的代理推荐模块182。例如,代理推荐模块182可以使uid112输出可见通知“您希望我利用运输公司x、新闻公司y以及评论服务z链接到您的数字助理账户吗?”。在一些示例中,代理推荐模块182可以输出一组所选择的代理推荐模块182中的两个或更多个代理。例如,代理推荐模块182可以使uid112输出可见通知“您希望我通过新闻公司y和评论服务z链接到您的数字助理账户吗?”,以及在从用户接收到同意的指示之后,输出另一可见通知“您还希望我利用运输公司x链接到您的数字助理账户吗?”。

响应于从用户接收到同意的指示(例如,uid112的触敏表面确定指示“是,链接我的数字助理账户”的选择、uid112的麦克风捕获指示用户响应“是,链接我的数字助理账户”的语音输入的音频等),代理推荐模块182可以配置数字助理服务的用户账户以利用所选择第三方代理模块128进行操作。

为了在不需要使具有平凡的请求用户淹没的情况下加快配置辅助模块122,代理推荐模块182可以利用用户许可自动地从第三方代理服务器系统170请求用户数据,以支持所选择第三方代理模块128。此外,在其中用户已授予用于与第三方代理模块128共享个人或敏感信息的许可情况下,代理推荐模块182可以在不具有进一步用户输入的情况下自动地将认证信息的指示输出到第三方代理服务器系统170以及共享关于已通过用户在数字助理服务器160处设置的用户账户的信息。以此方式,在不必要使具有对用户信息的平凡和重复请求的用户淹没的情况下,代理推荐模块182可以简化用于利用第三方代理模块128配置辅助模块122的设置。

代理推荐模块182可以在计算装置110b的设置(诸如,启动数字助理服务的用户账户、首先接通计算装置110b、开箱经验、或另一设置)期间推荐一个或多个第三方代理模块128。另外地或可替选地,代理推荐模块182可以通过响应于指示用户的兴趣的信息而推荐一个或多个第三方代理模块128来重新吸引用户。例如,响应于接收到指示用户先前已在周五下午5:00订购披萨的电子邮件收据,代理推荐模块182可以推荐第三方代理模块128a在周五下午4:45从披萨店x订购披萨。以此方式,代理推荐模块182可以推荐在用户可能利用所推荐的一个或多个第三方代理模块128的服务的时间处是有用的一个或多个第三方代理模块128。

上述方法提供的若干益处是:(1)可以通过将用户引导到有用第三方代理,而不是依赖于来自用户的特定查询来减小针对用于动作的装置的处理复杂度和时间;(2)可以本地存储代理信息,从而减小对用户的装置上的、用于私有数据的复杂和消耗内存的传输安全协议的需求;(3)因为示例助理将用户引导到第三方代理,所以可以由用户请求较少特定查询,由此减少对用于查询重写和其它计算复杂的数据检索的用户装置的需求;以及(4)随着特定查询量减少,网络使用率可以减少,因为可以减少本地代理推荐模块需要对特定查询作出响应的数据。

图2是根据本公开的一个或多个方面的说明被配置成执行示例数字助理的示例计算装置的框图。图2的计算装置210在下文描述为图1的计算装置110a的示例。图2仅说明计算装置210的一个特定示例,并且计算装置210的许多其它示例可以用于其它情况中且可以包括示例计算装置210中所包括的组件的子集,或可以包括图2中未示出的附加组件。

如图2的示例中所示,计算装置210包括用户界面装置(uid)212、一个或多个处理器240、一个或多个通信单元242、一个或多个输入组件244、一个或多个输出组件246、以及一个或多个存储组件248。uid212包括显示组件202、存在敏感输入组件204、麦克风组件206和扬声器组件208。计算装置210的存储组件248包括ui模块220、辅助模块222、一个或多个应用模块226、第三方代理模块228a-n(被统称为第三方代理模块228)、代理推荐模块282、以及第三方代理列表224。

通信信道250可以将组件212、240、242、244、246、和248中的每个互连,用于组件间通信(物理地、通信地、和/或可操作地)。在一些示例中,通信信道250可以包括用于传送数据的系统总线、网络连接、进程间通信数据结构,或任何其它方法。

计算装置210的一个或多个通信单元242可以通过传输和/或接收一个或多个网络(例如,图1的系统100的网络130)上的网络信号、经由一个或多个有线和/或无线网络与外部装置(例如,图1的系统100的计算装置110b-c、数字助理服务器160、和/或第三方代理服务器系统170)通信。通信单元242的示例包括能够发送和/或接收信息的网络接口卡(例如,以太网卡)、光学收发器、射频收发器、gps接收器,或任何其它类型的装置。通信单元242的其它示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电、以及通用串行总线(usb)控制器。

计算装置210的一个或多个输入组件244可以接收输入。输入的示例是触觉、文本、音频、图像、和视频输入。在一个示例中,计算装置210的输入组件244包括用于检测来自人或机器的输入的存在敏感输入装置(例如,触敏屏幕、psd)、鼠标、键盘、语音响应系统、相机、麦克风、或任何其它类型的装置。在一些示例中,输入组件244可以包括一个或多个传感器组件、一个或多个位置传感器(gps组件、wi-fi组件、蜂窝组件)、一个或多个温度传感器、一个或多个运动传感器(例如,加速计、陀螺仪)、一个或多个压力传感器(例如,气压计)、一个或多个环境光传感器、以及一个或多个其它传感器(例如,红外接近传感器、湿度计传感器等)。仅举几个其它非限制性示例,其它传感器可以包括心率传感器、磁力计、葡萄糖传感器、嗅觉传感器、指南针传感器、计步器传感器。

计算装置210的一个或多个输出组件246可以生成输出。输出的示例是触觉、音频、和视频输出。在一个示例中,计算装置210的输出组件246包括用于生成到人或机器的输出的存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(crt)监视器、液晶显示器(lcd),或任何其它类型的装置。

计算装置210的uid212可以与计算装置110a的uid112相类似,并且包括显示组件202、存在敏感输入组件204、麦克风组件206、和扬声器组件208。显示组件202可以是其处由uid212显示信息的屏幕,而存在敏感输入组件204可以检测显示组件202处和/或附近的物体。扬声器组件208可以是由uid212从其播放可听信息的扬声器,而麦克风组件206可以检测在显示组件202和/或扬声器组件208处和/或附近提供的可听输入。

尽管说明为计算装置210的内部组件,但是uid212还可以表示与计算装置210共享数据路径以传输和/或接收输入和输出的外部组件。例如,在一个示例中,uid212表示位于计算装置210的外部封装内并且物理连接到计算装置210的外部封装的计算装置210的内置组件(例如,移动电话上的屏幕)。在另一示例中,uid212表示位于计算装置210的封装或外壳外部并且与计算装置210的封装或外壳分离的计算装置210的外部组件(例如,与计算装置210共享有线和/或无线数据路径的监视器、投影器等)。

作为一个示例范围,存在敏感输入组件204可以检测到在显示组件202的两英寸或更少距离内的物体,诸如,手指或触控笔。存在敏感输入组件204可以确定其处检测到物体的显示组件202的位置(例如,[x,y]坐标)。在另一示例范围中,存在敏感输入组件204可以检测到距显示组件202六英寸或更小距离的物体,并且其它距离也是可能的。存在敏感输入组件204可以确定使用电容、电感、和/或光学识别技术、由用户的手指选择的显示组件202的位置。在一些示例中,存在敏感输入组件204还使用如相对于显示组件202描述的触觉、音频、或视频刺激将输出提供到用户。在图2的示例中,存在敏感输入组件204可以呈现用户界面。

扬声器组件208可以包括内置到计算装置210的外壳中的扬声器,并且在一些示例中,所述扬声器组件可以是内置到、可操作地耦合到计算装置210的一组有线或无线耳机的扬声器。麦克风组件206可以检测在uid212处或附近发生的可听输入。麦克风组件206可以执行各种噪声消除技术,以清除背景噪声并且将用户语音与检测到的音频信号隔离。

计算装置210的uid212可以检测二维和/或三维手势作为来自计算装置210的用户的输入。例如,uid212的传感器可以检测在uid212的传感器的阈值距离内的用户运动(例如,移动手、手臂、笔、触控笔等)。uid212可以确定运动的二维或三维向量表示,并且使所述向量表示与具有多维的手势输入(例如,挥手、捏合、鼓掌、笔划等)相关。换句话说,在不需要用户在其处uid212输出信息以供显示的屏幕或表面处或附近作手势的情况下,uid212能够检测多维手势。替代地,uid212能够检测在传感器处或附近执行的多维手势,所述多维手势可以或不可以位于其处uid212输出信息以供显示的屏幕或表面附近。

一个或多个处理器240可以实施功能和/或执行与计算装置210相关联的指令。处理器240的示例包括被配置成用作处理器、处理单元或处理装置的应用处理器、显示器控制器、辅助处理器、一个或多个传感器集线器,以及任何其它硬件。模块220、222、226、228、和282可以由处理器240操作以执行计算装置210的各种动作、操作或功能。例如,计算装置210的处理器240可以检索和执行由存储组件248存储的指令,所述指令使处理器240执行操作模块220、222、226、228和282。当由处理器240执行时,所述指令可以使计算装置210将信息存储在存储组件248内。

计算装置210内的一个或多个存储组件248可以存储信息以在计算装置210的操作期间进行处理(例如,在计算装置210处执行期间,计算装置210可以存储由模块220、222、226、228和282访问的数据)。在一些示例中,存储组件248是临时存储器,这意旨存储组件248的主要目的不是长期存储的。计算装置210上的存储组件248可以被配置用于作为易失性存储器短期存储信息,因此如果断电,则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram),以及本领域中已知的其它形式的易失性存储器。

在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非暂时性计算机可读存储介质。存储组件248可以被配置成存储比通常由易失性存储器存储的信息更大量的信息。存储组件248可以进一步被配置用于作为非易失性存储器空间长期存储信息,并且在通电/断电循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪速存储器,或电可编程存储器(eprom)或电可擦除和可编程(eeprom)存储器的形式。存储组件248可以存储与模块220、222、226、228、和282以及第三方代理列表224相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括存储器,所述存储器被配置成存储与模块220、222、226、228和282以及第三方代理列表224相关联的数据或其它信息。

ui模块220可以包括图1的计算装置110a的ui模块120的所有功能,并且可以执行与ui模块120类似的操作以管理计算装置210在uid212处提供的用户界面,例如以促进计算装置110a的用户与辅助模块222之间的交互。例如,计算装置210的ui模块220可以从辅助模块222接收信息,所述信息包括用于输出(例如,显示或播放音频)辅助用户界面的指令。ui模块220可以通过通信信道250从辅助模块222接收信息并且使用数据来产生用户界面。ui模块220可以通过通信信道250传输显示器或可听输出命令和相关联数据,以使uid212在uid212处呈现用户界面。

在一些示例中,ui模块220可以接收在uid212处检测到的一个或多个用户输入的指示,并且将关于用户输入的信息输出到辅助模块222。例如,uid212可以检测从用户产生的语音输入并且将关于语音输入的数据发送到ui模块220。

ui模块220可以将语音输入的指示发送到辅助模块222以进一步进行解释。辅助模块222可以基于语音输入确定检测到的语音输入表示对辅助模块222执行一个或多个任务的用户请求。

应用模块226表示在计算装置210处执行以及可从计算装置210访问的所有各种个别应用和服务,所述应用和服务可以由助理,例如辅助模块222访问以向用户提供信息和/或执行任务。计算装置210的用户可以与同一个或多个应用模块226相关联的用户界面交互,以使计算装置210执行功能。应用模块226的数个示例可以存在并且包括可以在计算装置210处执行的健身应用、日历应用、搜索应用、地图或导航应用、运输服务应用(例如,公交车或火车追踪应用)、社交媒体应用、游戏应用、电子邮件应用、聊天或消息传递应用、互联网浏览器应用,或任何和所有其它应用。

在操作时,代理推荐模块282可以识别要由辅助模块222发起的一个或多个任务。例如,响应于接收到用户指示用于请求对汽车运输的任务的兴趣的指示,代理推荐模块282可以确定第三方代理列表224以指示能够提供与请求汽车运输有关的服务的第三方代理模块228。

ui模块220可以将指示在计算装置210处执行的应用模块226中的一个或多个的信号输出到代理推荐模块282。在此示例中,应用模块226中的一个或多个中的每个与第三方代理列表224中的特定第三方代理相关联。例如,ui模块220可以输出指示与特定供应商相关联的开发者账户的唯一应用标识符。在此示例中,基于指示在计算装置210处执行的应用模块226中的特定应用模块的信号以及特定应用模块与第三方代理模块228a相关联,代理推荐模块282可以增加用于以指示用户将发起需要第三方代理模块228a的任务的第三方代理模块228a的相应相关评分。例如,响应于从ui模块220的包管理器接收指示与特定供应商相关联的开发者账户的唯一应用标识符以及确定特定供应商与第三方代理模块228a相关联,代理推荐模块282可以增加针对第三方代理模块228a的相应相关评分。

基于指示在计算装置210处执行的应用模块226中的特定应用模块的活动水平的信号以及特定应用模块与第三方代理模块228a相关联,代理推荐模块282可以增加用于以指示用户将发起需要第三方代理模块228a的任务的第三方代理模块228a的相应相关评分。针对特定应用的活动水平的示例可以包括自最后一次执行特定应用以来的持续时间、自预定阈值(例如,日、周、月、年等)以来执行特定应用的次数,或针对特定应用的另一活动水平。例如,响应于从ui模块220的应用索引api、联系人管理器等接收指示与特定供应商相关联的开发者账户的唯一应用标识符、今天执行应用的指示、以及确定特定供应商与第三方代理模块228a相关联,代理推荐模块282可以增加针对第三方代理模块228a的相应相关评分。然而,响应于确定应用未在上个月内执行,代理推荐模块282可以减少针对第三方代理模块228a的相应相关评分。在另一示例中,响应于确定应用在上个月内执行十次以上,代理推荐模块282可以增加针对第三方代理模块228a的相应相关评分。

ui模块220可以将指示与计算装置210的用户相关联的第三方账户的信号输出到代理推荐模块282。在此示例中,第三方账户与第三方代理模块228中的第三方代理模块相关联。例如,ui模块220可以输出指示与特定供应商相关联的开发者账户的唯一供应商标识符。在此示例中,基于指示与计算装置210的用户相关联的第三方账户的信号以及第三方账户与第三方代理模块228b相关联,代理推荐模块282可以增加用于以指示用户将发起需要第三方代理模块228b的任务的第三方代理模块228b的相应相关评分。例如,响应于从ui模块220接收指示与特定供应商相关联的开发者账户的唯一供应商标识符以及确定特定供应商与第三方代理模块228b相关联,代理推荐模块282可以增加针对第三方代理模块228b的相应相关评分。

ui模块220可以将指示用户已使用计算装置210访问特定网站的信号输出到代理推荐模块282。在此示例中,特定网站与第三方代理模块228中的第三方代理模块相关联。例如,ui模块220可以输出指示特定供应商的统一资源定位符(url)。在此示例中,基于指示用户已使用计算装置210访问特定网站的信号以及特定网站与第三方代理模块228c相关联,代理推荐模块282可以增加用于以指示用户将发起需要第三方代理模块228c的任务的第三方代理模块228c的相应相关评分。例如,响应于从ui模块220接收用户最近在urlwww.companyx.com处浏览网站的指示以及确定第三方代理模块228c与识别urlwww.companyx.com的供应商账户相关联,代理推荐模块282可以增加针对第三方代理模块228c的相应相关评分。

通信单元242可以将指示计算装置110c可用于与计算装置210连接的信号输出到代理推荐模块282。在此示例中,计算装置110c与第三方代理模块228中的第三方代理模块相关联。指示计算装置的信号的示例可以包括但不限于,媒体访问控制(mac)地址、主机名、通用即插即用(upnp)名、upnp装置、零配置网络域名系统服务(dnssrv)记录、名、地址解析(arp)协议,或另一信号。例如,通信单元242可以从计算装置110c接收指示针对智能照明系统的特定供应商的upnp名。在一些情况下,通信单元242可以输出请求指示计算装置的信号的广播消息(例如,mac地址和mac供应商)。在此示例中,基于指示计算装置110c可用于与计算装置210连接的信号以及特定供应商与第三方代理模块228d相关联,代理推荐模块282可以增加用于以指示用户将发起需要第三方代理模块228d的任务的第三方代理模块228d的相应相关评分。例如,响应于从通信单元242接收计算装置110c可用于与计算装置210连接并且具有指示针对智能照明系统的特定供应商的upnp名的指示以及确定特定供应商与第三方代理模块228d相关联,代理推荐模块282可以增加针对第三方代理模块228d的相应相关评分。

代理推荐模块282可以选择第三方代理模块128中的一个或多个第三方代理以推荐给用户。更具体来说,例如,代理推荐模块182可以基于用于生成第三方代理列表224的所述一组相关评分来将第三方代理模块128排序。在此示例中,代理推荐模块282可以选择第三方代理列表224中最高排名的一个或多个第三方代理以推荐给用户。例如,代理推荐模块282可以选择第三方代理列表224中的是最高排名且满足阈值的一个或多个第三方代理以推荐给用户。在另一示例中,代理推荐模块282可以选择第三方代理列表224中的是最高排名的第三方代理的特定量以推荐给用户。第三方代理的特定量可以是基于用户输入的预定义的(例如,由计算装置110中的一个或多个选择)用户选择或动态可配置(例如,在用户接受推荐时减小以及在用户拒绝推荐时增加)。

代理推荐模块282可以引起到用户的信令,所述信令指示用于利用第三方代理模块128配置数字助理服务的用户账户的推荐。例如,代理推荐模块182可以使显示组件202输出可见通知“您希望我利用披萨店xyz设置您的数字助理账户吗?”。如进一步论述的是,在一些示例中,代理推荐模块282可以使显示组件202输出关于第三方代理模块228的保密信息。例如,代理推荐模块282可以使显示组件202输出可见通知“您希望看到与披萨店xyz共享的什么信息?”。

响应于从用户接收到同意的指示(例如,存在敏感输入组件204的触敏表面确定指示“是,链接我的数字助理账户”的选择、麦克风组件206捕获指示用户响应“是,链接我的数字助理账户”的语音输入的音频等),代理推荐模块282可以配置数字助理服务的用户账户以利用所选择第三方代理模块228进行操作。代理推荐模块182可以利用用户许可自动地请求用于支持用户批准用于利用针对辅助模块222的用户账户配置的第三方代理228的用户数据。例如,响应于从用户接收同意的指示,代理推荐模块282可以从第三方代理服务器系统170a检索用于支持第三方代理228a的用户数据,从第三方代理服务器系统170b检索用于支持第三方代理228b的用户数据,……,以及从第三方代理服务器系统170n检索用于支持第三方代理228n的用户数据。

推荐模块282可以输出向用户通知一个或多个所推荐的第三方代理模块228中的每个的能力的指示。例如,代理推荐模块282可以使显示组件202输出可见通知“利用披萨店xyz代理,您能够订购披萨并查看特价商品。您希望利用披萨店xyz设置您的数字助理账户吗?”。在一些示例中,代理推荐模块282可以基于用户信息输出向用户通知一个或多个所推荐的第三方代理模块228中的每个的能力的指示。例如,响应于基于在与用户相关联的电子邮件账户处接收到的电子邮件而确定用户正计划使用航空公司abc预订航班,以及第三方代理模块228a能够使用航空公司abc预订航班,代理推荐模块282可以使显示组件202输出可见通知“利用航空公司abc代理,您能够预订航班并确认您的预订。您希望利用航空公司abc代理设置您的数字助理账户吗?”。

图3是根据本公开的一个或多个方面的说明由执行示例数字助理的一个或多个处理器执行的示例操作的流程图。下文在图1的系统100的上下文中描述图3。例如,根据本公开的一个或多个方面,当在计算装置110a的一个或多个处理器处执行时,辅助模块122a可以执行操作302至312。并且在一些示例中,根据本公开的一个或多个方面,当在计算装置110和/或数字助理服务器160的一个或多个处理器处执行时,代理推荐模块182可以执行操作302至312。仅出于说明的目的,下文在图1的计算装置110a的上下文内描述图3。

在操作时,代理推荐模块182确定用于数字助理服务的一组候选第三方代理(302)。例如,响应于接收到用户指示对请求天气信息的任务的兴趣的指示,代理推荐模块182可以确定第三方代理列表124以指示能够提供天气信息的第三方代理模块128。在一些示例中,代理推荐模块182可以确定第三方代理列表124,以指示可以被配置用于利用辅助模块122操作的每个第三方代理模块128。

代理推荐模块182从与用户相关联的计算装置接收指示用户的一个或多个兴趣的信息(304)。例如,代理推荐模块182从图2的计算装置210接收在图2的计算装置210处执行的应用模块226的特定应用模块的指示。在一些示例中,代理推荐模块182可以基于指示用户的一个或多个兴趣的信息来将第三方代理列表124任选地确定为第三方代理模块128中的一个或多个第三方代理模块的子集。例如,响应于确定指示用户的一个或多个兴趣的信息与第三方代理模块128a-c有关,代理推荐模块182可以将第三方代理列表124确定为第三方代理模块128a-c以执行操作306至312。

代理推荐模块182基于所述信息来确定一组相关评分(306)。例如,响应于接收到应用模块226的特定应用模块在图2的计算装置210处执行的指示以及确定特定应用模块与第三方代理模块128a相关联,代理推荐模块182增加与第三方代理模块128a相关联的相关评分。代理推荐模块182选择具有满足阈值的相应相关评分的候选第三方代理中的一个或多个(308)。例如,当与第三方代理模块128a相关联的相关评分大于阈值时,代理推荐模块182选择第三方代理模块128a。在另一示例中,当与第三方代理模块128a-n相关联的相应相关评分大于阈值时,代理推荐模块182选择第三方代理模块128a-n。

代理推荐模块182输出用于利用一个或多个相关第三方代理配置数字助理服务的用户账户的推荐的指示(310)。例如,代理推荐模块182使uid112的扬声器组件输出语音通知“您希望我利用新闻公司123链接到您的数字助理账户吗?”。响应于接收到接受推荐的用户输入的指示,代理推荐模块182配置用户账户以利用一个或多个候选第三方代理进行操作(312)。例如,uid112的麦克风组件检测从用户产生的可听输入“是,请链接我的账户”。在此示例中,响应于检测到可听输入,代理推荐模块182检索对操作第三方代理模块128a所需的数据。

图4是根据本公开的一个或多个方面的说明被配置成执行示例数字助理的示例计算系统的框图。图4的数字助理服务器460在下文描述为图1的数字助理服务器160的示例。图4仅说明数字助理服务器460的一个特定示例,并且数字助理服务器460的许多其它示例可以用于其它情况中且可以包括示例数字助理服务器460中所包括的组件的子集,或可以包括图4中未示出的附加组件。

如图4的示例中所示,数字助理服务器460包括一个或多个处理器440、一个或多个通信单元442、以及一个或多个存储组件448。存储组件448包括辅助模块422、代理推荐模块482、和第三方代理列表424。

处理器440类似于图2的计算系统210的处理器240。通信单元442类似于图2的计算系统210的通信单元242。存储组件448类似于图2的计算系统210的存储组件248。通信信道450类似于图2的计算系统210的通信信道250,并且因此将组件440、442和448中的每个互连以进行组件间通信。在一些示例中,通信信道450可以包括用于传送数据的系统总线、网络连接、进程间通信数据结构,或任何其它方法。

辅助模块422可以包括图1的辅助模块122以及图2的计算装置210的辅助模块222的所有功能。辅助模块422可以执行与辅助模块122b类似的功能,以提供可经由数字助理服务器460访问的助理服务。也就是说,辅助模块422可以充当到远程助理服务的接口,所述远程助理服务可通过经由网络与数字助理服务器460通信的计算装置访问。例如,辅助模块422可以是到图1的计算装置110a的辅助模块122a的接口或api。

代理推荐模块482可以包括图1的代理推荐模块182以及图2的计算装置210的代理推荐模块282的所有功能。代理推荐模块482可以执行与代理推荐模块182c类似的功能,以提供可经由数字助理服务器460访问的助理服务。也就是说,代理推荐模块182可以充当到远程代理推荐服务的接口,所述远程代理推荐服务可通过网络与数字助理服务器460通信的计算装置访问。例如,代理推荐模块482可以是到图1的计算装置110a的代理推荐模块182a的接口或api。

类似于图2的第三方代理列表224,第三方代理列表424可以存储与代理,例如第三方代理有关的信息。除了由辅助模块422提供的任何信息之外,辅助模块422和/或代理推荐模块482可以依赖于存储在第三方代理列表424处的信息,以执行助理任务和/或推荐代理用于话语满足。

一般来说,数字助理服务器460可以提供用户可以浏览的代理目录以发现/找到用户可能使用的代理。目录可以具有每个代理的描述、能力的列表(以自然语言;例如,“您能够使用此代理预约一辆出租车”、“您可以使用此代理寻找食谱”)。如果用户在目录中找到用户想要使用的代理,则用户可以选择代理并且用户可以获得代理。例如,代理推荐模块482可以将代理添加到第三方代理列表224和/或第三方代理列表424中。因此,代理推荐模块482可以选择所添加的代理来满足未来话语。在一些示例中,在不需要用户选择的情况下,一个或多个代理可以被添加到第三方代理列表224和/或第三方代理列表424中。在此类示例的一些示例中,代理推荐模块482可以能够选择和/或提示尚未由用户选择用于满足用户话语的代理。在一些示例中,代理推荐模块482可以基于代理是否由用户选择而进一步将代理排序。

附于本说明书的是针对所公开主题的各个实施例的多个权利要求。将会显而易见的是,所公开主题的实施例还可以在所述权利要求,诸如,其间的附属权利要求和多个附属权利要求的各个组合的范围内。因此,通过参考,所有此类附属权利要求和多个附属权利要求明确地或以其他方式形成本说明书的一部分。

以下编号条款可以说明本公开的一个或多个方面:

条款1.一种方法,其包括:通过数字助理装置确定针对数字助理服务的一组候选第三方代理,所述一组候选第三方代理能够经由所述数字助理装置访问;通过所述数字助理装置,从与用户相关联的计算装置接收指示所述用户的一个或多个兴趣的信息;基于所述信息,通过所述数字助理装置确定一组相关评分,所述一组相关评分中的每个相关评分指示所述用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务;通过所述数字助理装置,从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理;输出用于利用所述一个或多个候选第三方代理配置所述数字助理服务的用户账户的推荐的指示,其中,所述数字助理服务的所述用户账户是与所述用户相关联的;以及响应于接收到用户输入的指示,所述指示接受用于利用所述一个或多个候选第三方代理配置所述数字助理服务的所述用户账户的所述推荐,通过所述数字助理装置来配置所述数字助理服务的所述用户账户,用于利用所述一个或多个候选第三方代理进行操作。

条款2.根据条款1所述的方法,其中:所述信息包括指示在所述计算装置处执行的软件应用的信号,其中,所述软件应用是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及确定所述一组相关评分包括:基于指示在所述计算装置处执行的所述软件应用的所述信号以及所述软件应用与所述特定候选第三方代理相关联,通过所述数字助理装置增加用于以指示所述用户将发起需要所述特定候选第三方代理的任务的所述特定候选第三方代理的相应相关评分。

条款3.根据条款1至2中任一项条款所述的方法,其中:所述信息包括指示与所述用户相关联的第三方账户的信号,其中,所述第三方账户是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及确定所述一组相关评分包括:基于指示所述第三方账户的所述信号以及所述第三方账户与所述特定候选第三方代理相关联,由所述数字助理装置增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款4.根据条款1至3中任一项条款所述的方法,其中:所述信息包括:指示所述用户已使用所述计算装置访问特定网站的信号,其中,所述特定网站是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及确定所述一组相关评分包括:基于指示所述用户已使用所述计算装置访问所述特定网站的所述信号以及所述特定网站与所述一组候选第三方代理中的所述特定候选第三方代理相关联,由所述数字助理装置增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款5.根据条款1至4中任一项条款所述的方法,其中:所述计算装置是第一计算装置;所述信息包括指示可用于与所述第一计算装置连接的第二计算装置的信号,其中,所述第二计算装置是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及确定所述一组相关评分包括:基于指示可用于与所述第一计算装置连接的所述第二计算装置的所述信号以及所述第二计算装置与所述特定候选第三方代理相关联,由所述数字助理装置增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款6.根据条款1至5中任一项条款所述的方法,其中,从所述一组候选第三方代理中选择所述一个或多个候选第三方代理包括:基于所述一组相关评分,由所述数字助理装置将所述一组候选第三方代理排序以生成候选第三方代理的排序列表;以及由所述数字助理装置选择在候选第三方代理的所述排序列表中的、具有最高排序的所述一个或多个候选第三方代理作为所述一个或多个候选第三方代理。

条款7.根据条款1至6中任一项条款所述的方法,其中,配置所述数字助理服务的所述用户账户包括:将与所述数字助理服务的所述用户账户相关联的认证信息的指示输出到第三方服务器,所述第三方服务器被配置成利用所述一个或多个候选第三方代理的至少一个第三方代理进行操作。

条款8.根据条款1至7中任一项条款所述的方法,其中,配置所述数字助理服务的所述用户账户包括:由所述数字助理装置输出向所述用户通知所述一个或多个候选第三方代理中的每个的能力的指示。

条款9.根据条款1至8中任一项条款所述的方法,其中:所述一个或多个候选第三方代理是多个候选第三方代理;以及配置所述数字助理服务的所述用户账户包括:由所述数字助理装置请求用于支持所述多个候选第三方代理的用户数据。

条款10.根据条款1至9中任一项条款所述的方法,其中,确定所述一组候选第三方代理是对发起所述数字助理服务的所述用户账户作出响应的。

条款11.根据条款1至10中任一项条款所述的方法,其中,确定所述一组候选第三方代理是对所述数字助理装置首先被接通作出响应的。

条款12.根据条款1至11中任一项条款所述的方法,其进一步包括:由所述数字助理装置识别要由所述数字助理发起的一个或多个任务,其中,确定所述一组候选第三方代理是基于所述一个或多个任务的。

条款13.一种数字助理装置,其包括:至少一个处理器;以及至少一个存储器,其所述至少一个存储器包括指令,当执行所述指令时,使所述至少一个处理器提供数字助理的指令,所述数字助理被配置成:确定针对数字助理服务的一组候选第三方代理,所述一组候选第三方代理能够经由所述数字助理装置访问;从与用户相关联的计算装置接收指示所述用户的一个或多个兴趣的信息;基于所述信息,确定一组相关评分,所述一组相关评分中的每个相关评分指示所述用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务;从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理,其中,输出用于利用所述一个或多个候选第三方代理配置所述数字助理服务的用户账户的推荐的指示,并且其中,所述数字助理服务的所述用户账户是与所述用户相关联的;以及响应于接收到用户输入的指示,所述用户输入接受用于利用所述一个或多个候选第三方代理配置所述数字助理服务的所述用户账户的所述推荐,配置所述数字助理服务的所述用户账户,用于利用所述一个或多个候选第三方代理进行操作。

条款14.根据条款13所述的数字助理装置,其中:所述信息包括指示在所述计算装置处执行的软件应用的信号,其中所述软件应用是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及为了确定所述一组相关评分,所述数字助理被配置成基于指示在所述计算装置处执行的所述软件应用的所述信号以及所述软件应用与所述特定候选第三方代理相关联,增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款15.根据条款13至14中任一项条款所述的数字助理装置,其中:所述信息包括指示与所述用户相关联的第三方账户的信号,其中所述第三方账户是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及为了确定所述一组相关评分,所述数字助理被配置成基于指示所述第三方账户的所述信号以及所述第三方账户与所述特定候选第三方代理相关联,增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款16.根据条款13至15中任一项条款所述的数字助理装置,其中:所述信息包括:指示所述用户已使用所述计算装置访问特定网站的信号,其中,所述特定网站是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及为了确定所述一组相关评分,所述数字助理被配置成基于指示所述用户已使用所述计算装置访问所述特定网站的所述信号以及所述特定网站与所述一组候选第三方代理中的所述特定候选第三方代理相关联,增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款17.根据条款13至16中任一项条款所述的数字助理装置,其中:所述计算装置是第一计算装置;所述信息包括指示可用于与所述第一计算装置连接的第二计算装置的信号,其中,所述第二计算装置是与所述一组候选第三方代理中的特定候选第三方代理相关联的;以及为了确定所述一组相关评分,所述数字助理被配置成基于指示可用于与所述第一计算装置连接的所述第二计算装置的所述信号以及所述第二计算装置与所述特定候选第三方代理相关联,由所述数字助理装置增加所述特定候选第三方代理的相应相关评分,以指示所述用户将发起需要所述特定候选第三方代理的任务。

条款18.根据条款13至17中任一项条款所述的数字助理装置,其中为了从所述一组候选第三方代理中选择所述一个或多个候选第三方代理,所述数字助理被配置成:基于所述一组相关评分将所述一组候选第三方代理排序,以生成候选第三方代理的排序列表;以及选择在候选第三方代理的所述排序列表中的、具有最高排序的所述一个或多个候选第三方代理作为所述一个或多个候选第三方代理。

条款19.根据条款13至18中任一项条款所述的数字助理装置,其中,为了配置所述数字助理服务的所述用户账户,所述数字助理被配置成将与所述数字助理服务的所述用户账户相关联的认证信息的指示输出到第三方服务器,所述第三方服务器被配置成利用所述一个或多个候选第三方代理的至少一个第三方代理进行操作。

条款20.根据条款13至19中任一项条款所述的数字助理装置,其中,为了配置所述数字助理服务的所述用户账户,所述数字助理被配置成输出向所述用户通知所述一个或多个候选第三方代理中的每个的能力的指示。

条款21.根据条款13至20中任一项条款所述的数字助理装置,其中:所述一个或多个候选第三方代理是多个候选第三方代理;以及为了配置所述数字助理服务的所述用户账户,所述数字助理被配置成请求用于支持所述多个候选第三方代理的用户数据。

条款22.根据条款13至21中任一项条款所述的数字助理装置,其中,所述数字助理被配置成响应于发起所述数字助理服务的所述用户账户而确定所述一组候选第三方代理。

条款23.根据条款13至22中任一项条款所述的数字助理装置,其中,所述数字助理被配置成响应于所述数字助理装置首先被接通而确定所述一组候选第三方代理。

条款24.根据条款13至23中任一项条款所述的数字助理装置,其中,所述数字助理进一步被配置成识别要由所述数字助理发起的一个或多个任务,并且其中,所述数字助理被配置成基于所述一个或多个任务来确定所述一组候选第三方代理。

条款25.一种计算机可读存储介质,其包括指令,当执行所述指令时,使至少一个处理器提供数字助理,所述数字助理被配置成:确定数字助理服务的一组候选第三方代理,所述一组候选第三方代理能够经由数字助理装置访问;从与用户相关联的计算装置接收指示所述用户的一个或多个兴趣的信息;基于所述信息确定一组相关评分,所述一组相关评分中的每个相关评分指示所述用户是否将发起需要所述一组候选第三方代理中的相应候选第三方代理的至少一个任务;从所述一组候选第三方代理中选择具有满足阈值的相应相关评分的一个或多个候选第三方代理,其中,输出用于利用所述一个或多个候选第三方代理配置所述数字助理服务的用户账户的推荐的指示,并且其中,所述数字助理服务的所述用户账户是与所述用户相关联的;以及响应于接收到用户输入的指示,所述用户输入接受用于利用所述一个或多个候选第三方代理配置所述数字助理服务的所述用户账户的所述推荐,配置所述数字助理服务的所述用户账户,用于利用所述一个或多个候选第三方代理进行操作。

条款26.一种计算装置,其包括至少一个处理器和至少一个存储器,所述至少一个存储器包括指令,在执行所述指令时,使所述至少一个处理器执行条款1至12的任一项条款所述的方法的指令。

条款27.一种计算机可读存储介质,其包括在执行时使计算装置的至少一个处理器执行根据条卵1至12中任一项条款所述的方法的指令。

条款28.一种包括用于执行根据条款1至12中任一项条款所述的方法的装置的计算装置。

在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,则功能可以作为一个或多个指令或代码存储于计算机可读介质上或通过计算机可读介质传输并且通过基于硬件的处理单元执行。计算机可读介质可以包括与有形介质(例如,数据存储介质)相对应的计算机可读存储介质,或通信介质,所述通信介质包括例如根据通信协议促进计算机程序从一处传送到另一处的任何介质。以此方式,计算机可读介质通常可以与(1)是非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质相对应。数据存储介质可以是能够由一个或多个计算机或一个或多个处理器访问以检索用于实施本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。

借助于示例且非限制性地,此类计算机可读存储介质能够包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置,或其它磁盘存储装置、闪速存储器,或能够用于以指令或数据结构形式存储所需程序代码并且能够由计算机访问的任何其它介质。而且,任何连接适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl),或诸如红外线、无线电、和微波的无线技术从网站、服务器、或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、dsl,或诸如红外线、无线电和微波的无线技术被包括在介质的限定中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号、或其它暂时性介质,但替代地涉及非暂时性有形存储介质。本文中使用的磁盘和光盘包括压缩光盘(cd)、激光光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述项的组合也应当包括在计算机可读介质的范围内。

指令可以通过一个或多个处理器,诸如,一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga),或其它等效集成或离散逻辑电路执行。因此,本文使用的术语“处理器”可以指前述结构或适用于实施本文所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所描述的功能可以提供于专用硬件和/或软件模块内。而且,所述技术可以完全在一个或多个电路或逻辑元件中实施。

本公开的技术可以在包括无线手持机、集成电路(ic)或一组ic(例如,芯片组)的各种各样的装置或设备中实施。在本公开中描述了各种组件、模块、或单元以强调被配置成执行所公开技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。相反,如上所述,可以将各个单元组合在硬件单元中或通过包括如上所述的一个或多个处理器的互操作硬件单元的集合结合合适的软件和/或固件提供。

已描述各个示例。这些和其它示例在所附权利要求书的范围内。

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