CN109154899A - 用于利用在线服务执行用户指令的交互框架 - Google Patents
用于利用在线服务执行用户指令的交互框架 Download PDFInfo
- Publication number
- CN109154899A CN109154899A CN201780029975.9A CN201780029975A CN109154899A CN 109154899 A CN109154899 A CN 109154899A CN 201780029975 A CN201780029975 A CN 201780029975A CN 109154899 A CN109154899 A CN 109154899A
- Authority
- CN
- China
- Prior art keywords
- domain
- user
- instruction
- agency
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
为了完成超出用户自己的计算设备上提供的服务范围的用户指令,提供了用于利用在线服务执行用户指令的交互框架的框架。该框架包括指令处理代理,该指令处理代理与计算机用户的计算设备上的用户代理交互,以执行被提供至用户代理的指令。指令处理代理维护域代理的列表,每个域代理对应于域。在接收到用户指令(来自用户代理)时,指令处理代理识别用于完成用户指令的合适域和对应域代理,并将该指令提供至域代理。域代理识别适合于完成用户指令的在线服务,并且经由针对该在线服务的代理器而与该在线服务对接以执行用户指令。
Description
背景技术
越来越多的人使用他们的移动设备来执行任务。很多时候,虽然不是唯一的,经由语音/音频指令来递送从设备用户到在设备上操作的数字助理的指令。例如,一个人可能(经由语音)请求在移动设备上操作的数字助理为第二天早晨设置警报,或者向特定的人发出电话呼叫。不幸的是,数字助理可以代表设备用户采取的动作的范围受到移动设备上的数字助理可用的功能性的限制。在设置警报的示例中,通常数字助理可以访问移动设备上的警报功能性,并且可以与该功能性通信以设置警报。类似地,在进行呼叫的示例中,数字助理知道并且可以访问移动设备上的呼叫功能性(并且甚至可以访问地址簿功能性),并且可以代表该人发出所请求的呼叫。
在人们指示数字助理订购比萨并将其递送的那些场景中,除非计算设备上存在可用于订购比萨的某种功能性并且数字助理知道此功能性,否则不会订购比萨。在功能性未驻留在移动设备上请求的那些情形中,典型的折衷可以是识别其中人(即,设备用户)可以订购比萨的在线位置并提供到那个位置的参考(例如,超链接)。一些数字助理甚至可以将浏览器导航到该位置,使得设备用户可以下订单,但是执行订购和递送比萨所需的任务/动作留给了设备用户。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
为了完成超出用户自己的计算设备上提供的服务范围的用户指令,提供了用于利用在线服务执行用户指令的交互框架的框架。该框架包括指令处理代理,该指令处理代理与计算机用户的计算设备上的用户代理交互以执行提供至用户代理的指令。指令处理代理维护域代理的列表,每个域代理对应于域。在接收到用户指令(来自用户代理)时,指令处理代理识别用于完成用户指令的合适域和对应域代理,并将该指令提供至域代理。域代理识别适合于完成用户指令的在线服务,并且经由针对该在线服务的代理器而与该在线服务对接以执行用户指令。
根据所公开的主题的各方面,提出了一种用于代表计算机用户处理一个或多个用户指令的计算机实现的框架。所实现的计算机包括托管指令处理代理的第一计算设备和一个或多个域代理计算设备。第一计算设备托管指令处理代理,其中指令处理代理被配置为从在用户计算设备上执行的用户代理接收用户指令,并代表计算机用户执行指令。一个或多个域代理计算设备托管多个域代理。在域代理计算设备上执行的每个域代理对应于域,并且被配置为从指令处理代理接收可以在域内执行的用户指令,并且代表计算机用户利用在线服务执行指令。
根据所公开主题的其他方面,提出了一种代表计算机用户提供指令处理代理服务以用于处理用户指令的计算机***。该计算***包括处理器和存储器,其中处理器执行从存储器获得的计算机可执行指令以提供指令处理代理服务。除了处理器和存储器之外,计算机***还包括可执行指令处理代理。在执行中,指令处理代理被配置为代表计算机用户从用户代理接收用户指令,并识别适合于执行用户指令的域。另外,指令处理代理根据域选择器选择多个域代理中的域代理,所选择的域代理对应于所识别的域,并且将用户指令提交至所选择的域代理以代表计算机用户执行。
根据所公开主题的其他方面,提出了一种用于代表计算机用户提供域代理服务以用于处理用户指令的计算机***。该计算机***至少包括处理器和存储器,其中处理器执行从存储器获得的计算机可执行指令以提供域代理服务。计算机***还包括多个在线服务代理器,其中每个在线服务代理器被配置为将域代理与对应的在线服务对接,以便代表域代理利用在线服务执行用户指令。在执行中,域代理从指令处理代理接收用户指令以用于执行。作为响应,域代理从多个在线服务中识别用于完成用户指令的在线服务,并且经由多个在线服务代理器的对应的在线服务代理器,利用所识别的在线服务执行用户指令。然后,域代理将关于用户指令的执行的结果信息返回至指令处理代理。
附图说明
正如通过结合以下附图参考以下描述可以更好地理解那样,所公开的主题的前述方面和许多伴随的优点将更容易理解,其中:
图1是例示出适合于实现所公开主题的各方面的框架元件的示例性布置的框图;
图2是例示出由指令处理代理实现的用于通过根据所公开的主题的各方面来处理用户指令的示例性例程的流程图;
图3是例示出由域代理实现的用于处理用户指令的示例性例程的流程图;
图4是例示出特别是关于用户代理的、适合于实现所公开主题的一个或多个方面的示例性用户计算设备的元件的框图;
图5是例示出特别是关于指令处理代理的、适合于实现所公开主题的一个或多个方面的示例性计算设备的框图;
图6是例示出特别是关于域代理的、适合于实现所公开主题的一个或多个方面的示例性计算设备的框图;
图7是例示出根据所公开主题的各方面形成的示例性计算机可读介质的框图;以及
图8是例示出适合于实现所公开主题的各方面的示例性网络环境800的示意图,包括用于利用第三方在线服务执行用户指令的框架。
具体实施方式
为了清楚和定义的目的,本文档中使用的术语“示例性”应被解释为用作某事物的例示或示例,并且不应将其解释为该事物的理想或主要的例示。在风格上,当一个词或术语前有“(一个或多个)”时,该含义应被解释为表明该词或术语的单数或复数形式,这取决于存在术语/项目的一个实例还是存在术语/项目的多个实例。例如,术语“(一个或多个)用户”应该被解释为一个或多个用户。
与数字助理被约束到在计算设备上布置/可用的功能性相反,并且根据所公开主题的各方面,向用户代理提供一组域代理。每个域代理都被实现为在线服务,该在线服务可以接收与域代理所关联的特定域有关的用户指令。根据所公开主题的各方面,根据与域代理相关联的域相对应的域本体,将用户指令从用户代理提供至域代理。
根据所公开主题的各种实施例,用户代理与域代理进行通信的本体包括用于描述域代理将代表设备用户执行的指令/动作的一组名词和动词,其中名词对应于项目/主题,动词对应于要采取的动作。
根据所公开主题的其他方面,域代理维护一组在线服务并与之交互,以用于在域代理的域内执行设备用户的指令/请求。当每个在线服务经由一组特定的API(应用编程接口)与外部方(诸如域代理)交互时,域代理将维护与每个在线服务相对应的代理器接口,其中代理器(proxy)接口根据对应的在线服务的API将从用户代理接收的指令映射到一个或多个特定的在线服务调用和参数中,以及从各种API调用返回数据。
现在转向附图,图1是例示出适合于实现所公开主题的各方面的框架元件的示例性布置100的框图。示例性组件包括用户计算设备,诸如计算设备102。根据所公开主题的第一实施例,作为计算设备102上的可执行过程操作的是用户代理104。如上所讨论,设备用户,诸如用户101,向用户代理104发出暗示未安装在计算设备上的服务的命令。作为示例和例示,可以发出诸如“订购奶酪比萨并将其递送”或者“叫出租车”的指令。
响应于(一个或多个)指令并且根据第一例示性实施例,用户代理104可以翻译或使得所接收的指令翻译为公共格式,例如,将(一个或多个)指令的音频文件转录(transcribe)为文本表示。在替代实施例中,用户代理104不翻译所接收的指令,而是简单地将指令传递至在(一个或多个)远程计算设备116(或云服务)上作为在线服务执行的指令处理代理118。在后一个实施例中,在接收时,指令处理代理118翻译或使得所接收的指令翻译为公共格式。
在指令处理代理118处,一旦指令为公共格式,就对指令(或者如果存在多个,则为多个指令)进行分析以识别用户的意图。基于指令的意图,识别/选择指令的域。域的选择/识别通常(但不是排他地)根据域的目录112来进行。例如,如果接收到的用户指令是“订购奶酪比萨并将其递送”,则分析可以确定该域与域“食品服务”有关。可替代地,分析可以确定域对应于更具体的域(假设域的目录112中存在更具体的域,诸如“食品服务/比萨”,或者更简单的“比萨”。无论是广泛还是狭窄地识别了域并且根据所公开主题的各种方面,所接收的用户指令的意图被用来基于描述多个域的一般本体来根据域的目录112识别域。
在指令处理代理118处并且利用所识别的域,基于与所识别的域相对应的名词和动词的域本体114,将所接收的用户指令转录或映射到一个或多个域指令中。根据所公开主题的各方面,对于可由指令处理代理118用于选择的每个域,存在域本体,诸如域本体114。
除了根据所选择的域的域本体将所接收的指令(从公共格式)转录到域指令之外,还识别诸如域代理106之类的域代理并且由指令处理代理118将(一个或多个)域指令发送到所选择的域代理(或多个域代理,因为可能存在与给定域相关联的多个域代理,并且所接收的用户指令可以暗示或暗指多个域代理可以或应当处理指令)以供执行。
如上所指出,提供一组域代理(诸如域代理106-110),每个域代理对应于一个或多个域,并且域代理可用于指令处理代理118。如将理解的,每个域代理被配置为在其对应的域内代表设备用户处理(一个或多个)所接收的指令。
根据所公开主题的其他方面,诸如域代理106-110之类的每个域代理被配置为代表设备用户(根据对应的域本体114)执行域特定的指令。为了执行各种指令,每个域代理维护诸如在线服务120-124之类的一组外部在线服务并与之交互,用于在对应的域代理的域内执行设备用户的指令。当然,应当理解,诸如在线服务120-124之类的每个在线服务经由其自己的一组API来与外部方(诸如域代理106)交互。因此,为了与在线服务交互(其中每个在线服务维护其自己的一组API),每个域代理106-110将维护一组代理器接口130-134,每个代理器接口对应于特定的在线服务,其中代理器接口根据对应在线服务的API而将域指令映射到一个或多个特定的在线服务调用和参数中,以及从各种API调用返回数据。例如,域代理106包括代理器130-134,其将域代理与对应的在线服务120-124对接。
通过用户代理104、指令处理代理118、域代理106-110和代理器接口130-134的这个框架,设备用户101能够发布针对未在用户的计算设备102上安置或可用的服务的命令/指令并且使得执行该命令,而不是将其留给用户以手动执行具有特定在线服务的指令。
关于图1的各种组件的布置,虽然用户代理104和指令处理代理118被例示为在分开的计算设备上实现,但是应当理解,这是例示性表示并且不应被视为作为对所公开主题的限制。实际上,在各种实施例中,可以在用户代理上完成和/或部分地实现指令处理代理118的元素。类似地,可以在托管到用户的计算设备102的远程计算设备上实现很多(如果不是全部)用户代理104。
现在转向图2,图2是例示出根据所公开主题的各方面的由诸如指令处理代理118的指令处理代理实现的、用于处理用户指令的示例性例程的框图。作为例程200的一部分,在块202处,由(或为)指令处理代理维护一组域代理。如上所指出,诸如域代理106之类的每个域代理与一个或多个域相关联,并被配置为处理根据用于域代理操作在其中的域的域本体所拟定的用户指令。虽然域代理可以由指令处理代理的同一服务提供商提供,但是它们可以可替代地由外部方提供至指令处理代理并向其注册。如上所指出,域的目录112列出了域,并且还包括与域相关联的域代理的列表,诸如域代理106-110。根据所公开主题的一个实施例,以诸如查找表的方式维护该组域代理,对于给定的识别域,一个或多个域代理被识别。
在块204处,从在用户的计算设备102上操作的用户代理104中接收用户指令。如上所指出,虽然可以以公共格式提供用户指令,即,已经由在用户设备102上的用户代理104转录,但是用户指令可以可替代地以诸如表示口头命令或文本命令的音频文件之类的“如接收那样”的形式被接收。因此,在块206处,如果从用户代理104中未以公共格式接收到用户指令,则可选地将用户指令转录为公共格式。
在块208处,分析所接收的用户指令(以用于处理的公共格式)以识别/确定用户关于(一个或多个)指令的意图,并且还识别用户可能提供的任何参数或限定符。虽然指令处理代理118可以包括用于分析和识别用户关于所接收指令的意图的一个或多个可执行组件,但是根据所公开主题的各方面,识别和/或确定用户的(一个或多个)指令的意图可以通过使用诸如Microsoft的语言理解情报服务(LUIS)之类的外部服务来完成。在这些请求中,外部服务(诸如LUIS)根据从基础(即用户指令)中辨别包括地点、时间、数字、温度在内的实体的模型,以及辨别用户请求和/或指令来识别用户指令的意图。此外,基于对所提交的主题的分析,外部服务以易于计算机可用的形式(诸如JSON(JavaScript对象表示法)数据)用所识别的意图进行响应。当然,虽然所公开主题的一个或多个实施例可以利用诸如LUIS和JSON之类的外部服务和技术来识别用户的(一个或多个)指令的意图,并将那些转换为易于消费的格式,包括LUIS和JSON,但是应该将其视为例示***和/或技术,并且不应该被解释为限制所公开的主题。
参考前面的示例,在块208处“订购奶酪比萨并将它递送”,如上所讨论的,无论是通过指令处理代理118的元素还是通过外部服务,分析都识别出用户的意图/指令为指示(1)订购比萨,(2)它应该是奶酪比萨,以及(3)比萨应该被递送至用户。
在块210处,可选地根据用户偏好更新指令和对应参数。如果指令处理代理118不维护偏好,则根据用户偏好更新指令和参数可以涉及从用户获得用户偏好。关于根据用户偏好和通过例示更新指令和/或参数,用户可能已经建立了对来自特定卖家的比萨的偏好,并且更新指令/参数(“订购奶酪比萨并将其递送”)反映出该特定偏好的卖家。除了偏好来源之外,还可以通过用户偏好和对应数据提供关于购买工具(例如,***、在线支付服务、账户信息等)、尺寸、运送方法等的信息。
除了用户偏好之外,在块212处,则可以生成或获得(如果已经存在)用户上下文,并将用户上下文使用来更新指令的意图和/或参数。与获得用户偏好一样,获得用户上下文可以包括与用户的计算设备102上的用户代理104通信以便获得用户上下文数据。例如,在指令“订购奶酪比萨并将其递送”中,省略了比萨将被递送的位置。因此,作为分析的结果,必须确定用户的递送位置。虽然该位置可能来自用户偏好,但是它可以可替代地来自用户上下文。例如,如果用户的当前上下文建议用户前往他/她的住所,则用户代理104可以确定递送位置应该是用户的住所,并且将该信息提供至指令处理代理118。
在根据显式和隐式用户偏好和用户上下文数据更新用户的(一个或多个)指令的(一个或多个)意图和参数之后,在块214处,根据域的目录112识别用户意图的域。识别域可以涉及所识别的用户意图(如块208中所确定的)与来自域的目录112的一个或多个意图之间的匹配过程。实际上,域的目录112可以包括将域与可以在该域内被满足的各种意图相关联的信息。还可以利用模糊匹配来将域映射/选择到特定意图。
一旦识别了域,则在块216处识别(一个或多个)域代理。如上所指出,域的目录112可以包括关于针对对应域的域代理的信息。可替代地,可以将这些信息保存在单独的列表/目录中。
在块218处,根据与所识别的域相对应的域本体114,将用户的意图和参数以及来自用户偏好和/或用户上下文的数据映射为用于域代理的指令。此后,在块220处,将映射的(一个或多个)指令和参数(如果有的话)发送到所识别的域代理。根据所公开主题的各种实施例,将用户的意图和参数映射为到域本体114的指令,作为根据特定域本体所形成或组织的REST样式(代表性状态转移)对象和/或通信。
如下面将讨论的,当诸如域代理106之类的域代理接收指令和参数时,域代理然后从可用的在线服务中进行选择并与该在线服务交互以执行来自设备用户的(一个或多个)指令。
在块222处,接收来自域代理的响应,通常响应于从在线服务接收到其自己的响应。可以根据执行指令的任何结果或效果来更新关于用户动作的上下文数据。此后,在块224处,关于通过在线服务执行(一个或多个)指令的通信经由用户代理104被发送至用户101。此后,例程200终止。
应当理解,在各个方面简化了例程200。最重要的是,在通常情况下,在线服务可能会请求初始请求未提供的其他信息。这些请求可能引起与设备用户的通信(通过指令处理代理118和用户代理)以提供附加信息。例如并继续上面订购比萨的例示性指令,来自在线服务的请求可能希望知道要递送的奶酪比萨的大小或递送时间。虽然用户代理104可以以用户偏好和/或用户上下文的形式访问这样的信息,但是在某些场景下,在线服务和设备用户之间的通信信道可能是必要的,并且将由包括用户代理104、指令处理代理118和域代理106的框架来促进。
如上所指出并且根据所公开主题的各方面,可以选择多于一个域代理来执行用户的特定指令。此外,任何给定的域代理可以选择多于一个在线服务来处理用户请求。当用户指令是关于确定信息时,可能出现域代理和/或在线服务的多个选择的一个示例。例如,用户指令可以是“谁可以在接下来的30分钟内递送奶酪比萨?”在这种场景和其他场景下,可以将聚集、呈现甚至从对用户指令的各种响应中进行选择留给指令处理代理118。
应当理解,作为聚集信息的一部分,关于一个或多个用户指令的上下文信息可以由域代理和/或指令处理代理118维护。例如,在线购物领域中的域代理可以维护代表隐喻“购物车”的针对设备用户的上下文,从而提供向在线购物车添加物品、删除物品、创建购物中物品的子总数、查看/盘存购物车中的物品、确定针对购物车中的单个物品和/或所有物品的运费和税费、将物品移动到用户愿望清单和/或等待清单等等的能力。正如可以看出的,当前上下文或状态被确定为域代理的一个或多个活动的函数。可以由域代理和/或由指令处理代理118代表用户保持这些状态,包括在会话之间和在用户指令的接收之间。例如,在若干指令的过程中,用户可以(经由用户代理104)向购物域代理提交一系列命令,以将各种物品添加到购物车、比较物品、获得购买价格、并最终购买一些或所有的物品。此外,可以由域代理从多个在线服务获得各种物品,使得由域代理维护的上下文/状态对于完成用户的多个指令非常有用。当然,每个域代理将关于一个或多个用户指令维护用于用户的各种上下文信息,每个信息取决于对应的域的需要。
虽然关于指令处理代理118描述了图2,但是图3是例示出由域代理实现的用于处理用户的指令的示例性例程300的流程图。从块302开始,维护用于对应的一组在线服务的一组代理器。在块304处,接收如上所讨论的域指令形式的用户指令。
块306-310对应于确定用于执行用户指令的执行上下文。在判定块306处,确定所接收的指令是否对应于针对用户的现有执行上下文,或者指令是否关于新的执行上下文而做出。如果确定指令对应于现有执行上下文,则例程300前进到块308,其中取回现有执行上下文以供使用。可替代地,如果指令对应于新的执行上下文,则例程300前进到块310,其中创建针对用户的新执行上下文以供使用。
在块312处,基于所接收的要执行的指令,选择在线服务。根据所公开的主题的各个方面,可以根据关于所接收的指令而提供至域代理的执行上下文、用户偏好、用户上下文以及参数来从该组在线服务中选择在线服务。
在块314处,经由为所选在线服务维护的对应代理器向在线服务发出指令和参数(如果有的话)。如上所讨论,发出指令可能需要经由用于在线服务的代理器而将在线指令映射到在线服务上的一个或多个API服务调用。
在块316处,经由用于在线服务的代理器接收关于所接收指令的执行的信息。在块318处,如果任何更新适用,则对执行上下文进行更新。在块320处,将执行的结果返回/传送至指令处理代理118。此后,例程300终止。
关于上面描述的例程200和300,以及这里描述的其他过程,虽然关于离散的步骤来表达这些例程/过程,但是这些步骤本质上应该被视为具有逻辑性,并且可以对应于或可以不对应于给定实现的任何特定的实际和/或离散的步骤。此外,除非另外指出,否则在各种例程和过程中呈现这些步骤的顺序不应被解释为可以执行这些步骤的唯一顺序。此外,在某些情况下,可以组合和/或省略这些步骤中的一些。本领域技术人员将认识到,步骤的逻辑表示对于执行所要求保护的主题的各方面是充分有益的,而与对逻辑指令/步骤进行编码的任何特定开发或编码语言无关。
当然,虽然这些例程包括所公开主题的各种新颖特征,但是在执行这些例程中阐述的主题时也可以执行其他步骤(未列出)。本领域技术人员将理解,这些例程的逻辑步骤可以被组合在一起或者由多个步骤组成。可以并行或串行执行上述例程的步骤。通常但非排他地,各种例程的功能性体现在诸如在下面关于图4-图6所描述的计算设备之类的计算设备的一个或多个处理器上执行的软件(例如,应用、***服务、库等)中。另外,在各种实施例中,也可以将各种例程中的全部或一些体现在可执行硬件模块中,包括但不限于在计算机***上的片上***(SoC)、编解码器、专门设计的处理器和/或逻辑电路等。
如上所建议的,通常将这些例程/过程体现在包括例程、函数、循环结构、选择器和切换的可执行代码模块内,诸如if-then(如果-那么)和if-then-else(如果-那么-否则)语句、赋值、算术计算等。然而,如上所建议的,每个例程的可执行语句中的确切实现基于各种实现配置和决策,包括编程语言、编译器、目标处理器、操作环境以及链接或绑定操作。本领域技术人员将容易理解,在这些例程中识别的逻辑步骤可以以任何数量的方式实现,因此,上面阐述的逻辑描述足以实现类似的结果。
虽然所公开的主题的许多新颖方面在应用(也被称为计算机程序)、app(小的、通常是单一或狭窄目的的应用)和/或方法中体现的例程中表达,但是这些方面也可以被体现为作为制品的由计算机可读介质存储的计算机可执行指令,也被称为计算机可读储存介质。如本领域技术人员将认识到的,计算机可读介质可以托管、存储和/或再现计算机可执行指令和数据以供稍后取回和/或执行。当托管或存储在计算机可读储存设备上的计算机可执行指令由计算设备的处理器执行时,它的执行引起、配置和/或调整执行计算设备以执行各种步骤、方法和/或功能性,包括上面关于各种所例示的例程描述的那些步骤、方法和例程。计算机可读介质的示例包括但不限于:光学储存介质诸如蓝光盘、数字视频盘(DVD)、压缩盘(CD)、光盘盒等;磁储存介质包括硬盘驱动器、软盘、磁带等;存储器储存设备诸如随机存取存储器(RAM)、只读存储器(ROM)、存储卡、拇指驱动器等;云储存器(即在线储存服务);等等。虽然计算机可读介质可以再现和/或引起经由各种传输装置和介质(包括载波和/或传播信号)将计算机可执行指令和数据递送到计算设备,以供一个或多个处理器执行,但是出于本公开的目的,计算机可读介质明确地排除载波和/或传播信号。
现在转向用于执行用户指令的整体框架的各种元件,图4是例示出适合于实现所公开主题的一个或多个方面的示例性用户计算设备400的元件的框图。虽然关于各种例示性元件和/或组件描述了示例性用户计算设备400,但是可以用来实现这些方面的各种用户计算设备包括——作为例示而非限制——移动电话、平板计算设备、所谓的“平板手机”计算设备(混合的电话/平板设备)、个人数字助理、智能手表和其他可穿戴计算设备、膝上型计算机等。
示例性用户计算设备400包括诸如处理器402之类的一个或多个处理器(或处理单元)以及诸如存储器404之类的一个或多个存储器。处理器402和存储器404以及其他组件通过***总线410互连。存储器404通常(但不总是)包括易失性存储器406和非易失性存储器408。只要向存储器供电,易失性存储器406就保留或存储信息。相反,非易失性存储器408即使在电源不可用时也能够存储(或保持)信息。一般而言,RAM和CPU高速缓存存储器是易失性存储器406的示例,而ROM、固态存储器设备、存储器储存设备和/或存储卡是非易失性存储器408的示例。
如本领域技术人员将了解的,在执行用户代理104的各种功能时处理器402执行从存储器404(和/或从计算机可读介质,诸如图7的计算机可读介质700)中取回的指令,如上所阐述。处理器402可以包括许多可用处理器中的任何一个,诸如单处理器、多处理器、单核单元和多核单元。
此外,所例示出的用户计算设备400包括网络通信组件412,用于通过计算机网络将该计算设备与其他设备和/或服务互连,包括托管指令处理代理118的计算***,诸如计算***116。网络通信组件412有时被称为网络接口卡或NIC,经由物理/有形(例如,有线、光学等)连接、无线连接或两者使用一个或多个通信协议通过网络(诸如图8的网络808)进行通信。如本领域技术人员将容易理解的,网络通信组件诸如网络通信组件412通常包括通过传输介质(即网络)发送和接收数字和/或模拟信号的硬件和/或固件组件(并且还可以包括或包含可执行软件组件)。
所例示出的用户计算设备400还包括操作***414。如本领域技术人员将理解的,操作***是计算设备软件,其管理设备的硬件和软件资源,并且为在计算设备上执行的计算机程序提供有时被称为***服务的公共服务。操作***414的一个元件是I/O(输入/输出)子***416。I/O子***416提供用于计算设备400和“外部世界”——例如人或其他信息计算设备和/或***之间的通信的信道。对于I/O子***416,输入是由计算设备接收的信号或数据,并且输出是从其发送的信号或数据。I/O子***416通常包括一个或多个用户接口,诸如输出设备和输入设备。作为例示而非限制,输出设备可以包括显示屏、触觉输出设备、音频设备等。作为例示而非限制,输入设备包括文本输入设备、触摸设备、鼠标和其他指示设备、NUI(自然用户接口)设备诸如音频捕获设备、视频设备等。作为例示而非限制,诸如用户101的用户可以经由音频捕获设备(例如麦克风)向用户代理104发出命令。
例示出的用户计算设备400中还包括设备可执行用户代理104。在执行中,用户代理104作为用于通过服务(该服务在用户计算设备400上不可用和/或安置)执行各种用户指令的框架的一部分,接收用户指令并与指令处理代理118通信以便使指令被执行。结合用户代理104,或者可替代地作为用户代理的一部分,包括设备可执行用户上下文生成器420,其提供关于用户的上下文信息,如上面关于图2的块212所讨论的那样。此外,结合用户代理104,或者可替代地作为用户代理的一部分,可选地包括设备可执行转录模块418,以提供音频文件到公共格式的转录。在各种实施例中,转录模块418通过计算机网络来与在线服务通信以获得音频文件的转录。可替代地,转录模块418(如果作为用户计算设备400的元件被包括)可以被配置为在没有外部辅助的情况下执行转录。
更进一步地,用户计算设备400包括数据存储装置422,其中可以存储用户偏好424。如上面关于块210所讨论的,在一些实施例中,指令处理代理118可以通过网络从用户代理104请求用户的用户偏好424。当然,在替换实施例中,用户偏好可以由指令处理代理118或另一个第三方服务来维护。
图5是例示出特别是关于上面所讨论的指令处理代理118的适合于实现所公开主题的一个或多个方面的示例性计算设备500的框图。通常对于计算设备而言,示例性计算设备500包括诸如处理器502之类的一个或多个处理器(或处理单元)以及诸如存储器504之类的一个或多个存储器。处理器502和存储器504,以及其他组件通过***总线510互连。存储器504通常(但不总是)包括易失性存储器506和非易失性存储器508。如上所阐述,在执行指令处理代理118的各种功能时,处理器502执行从存储器504(和/或从计算机可读介质)取回的指令。处理器502可以包括许多可用处理器中的任何一个,诸如单处理器、多处理器、单核单元和多核单元。
所例示出的示例性计算设备500还包括网络通信组件512,用于通过计算机网络将该计算设备与其他设备和/或服务互连,包括托管用户代理104的示例性用户计算设备400,以及其他网络计算设备和/或***,包括托管域代理的那些。如上所讨论的,网络通信组件512有时被称为网络接口卡或NIC,经由物理/有形(例如,有线、光学等)连接、无线连接或两者使用一个或多个通信协议通过网络(诸如图8的网络808)进行通信。如本领域技术人员将容易理解的,网络通信组件诸如网络通信组件512通常包括通过传输介质(即网络)发送和接收数字和/或模拟信号的硬件和/或固件组件(并且还可以包括或包含可执行软件组件)。
示例性计算设备500还包括操作***514,用于管理设备的硬件和软件资源,并且为在计算设备上执行的计算机程序和包括指令处理代理118的其他可执行过程提供公共服务,有时被称为***服务。操作***514的一个元件是I/O(输入/输出)子***516,包括指令处理代理118的各种可执行过程通过该子***与驻留在计算***上的其他设备和服务以及计算***外部的设备和服务进行通信。
如所指出的,示例性计算设备500包括设备可执行指令处理代理118。如上所讨论的并且在执行中,指令处理代理118代表设备用户从用户代理104接收一个或多个指令,并且经由诸如域代理106-110之类的域代理执行(一个或多个)指令。包括在指令处理代理118中(或者可替代地作为其协作可执行组件)的是转录模块520、意图识别模块522、域选择器524和指令生成器526。
在执行中,关于转录模块520,提供音频文件到公共格式的转录。通常但非排他地,指令处理代理118实施来自自然用户接口(NUI)的数据的转录,数据诸如是由用户的计算设备上的音频记录设备所捕获的音频命令/指令。根据各种实施例,转录模块520通过计算机网络来与外部服务通信,以获得音频或其他形式的NUI文件的转录。可替代地,转录模块520(如果作为示例性计算设备500的元件被包括)可以被配置为在没有外部辅助的情况下执行转录。
顾名思义,意图识别模块522被执行以识别用户指令的意图。如上面关于图2的块208所讨论的,意图识别模块522是识别和/或确定用户关于(一个或多个)指令的意图的组件,以及用户可以提供的任何参数或限定符。根据所公开主题的各个方面,意图识别模块522利用诸如Microsoft的语言理解情报服务(LUIS)之类的外部服务来确定用户的意图和参数。
当然,在确定关于用户指令的特定意图时,有时候用户可能对指令处理代理的结果不满意,这是因为意图被错误地识别的情况下,在转换为域指令时有失去保真度,或者域代理失败(或无法)完全满足域指令。在这些情况下,可能经由意图识别模块522向指令处理代理118提供关于用户满意度(或不满意度)的用户反馈,以向诸如机器学习过程之类的改进机制提供输入,该改进机制可以更新意图识别过程和/或更新用户上下文信息。
基于用户的意图,执行域选择器524以将所识别的用户的意图映射到由域的目录112指定的特定域,如所示由示例性计算设备500存储在数据存储装置528中。此外,基于所识别的域,域选择器524识别诸如域代理106之类的域代理,其被注册为与所识别的域一起操作。虽然域选择器524通常可以仅选择一个域代理来处理用户的指令,但是所公开的主题不限于此。实际上,当用户指令的场景建议选择多个域代理可能是有用的或有利的时,域选择器524可以识别用于处理用户指令的多个域代理。
指令生成器526根据与所识别的域相对应的域本体114将用户指令映射到域指令。如上所指出,根据所公开主题的各方面,域本体114可以包括与所识别的域相对应的名词和动词,其中名词表示项目或主题或事件等,并且其中动词表示关于各种名词要被执行的动作。实际上,根据各种实施例,将用户的意图和参数映射为到域本体114的指令,作为根据所识别的域本体形成或组织的REST样式(代表性状态转移)对象和/或通信。
关于域代理,图6是例示出特别是关于诸如域代理106的域代理的适合于实现所公开主题的一个或多个方面的示例性计算设备600的框图。通常如计算设备典型的那样,示例性计算设备600包括诸如处理器602之类的一个或多个处理器(或处理单元)以及诸如存储器604之类的一个或多个存储器。处理器602和存储器604以及其他组件通过***总线610互连。存储器604通常(但不总是)包括易失性存储器606和非易失性存储器608。如上所阐述,在经由代理器执行域指令时,处理器602执行从存储器604(和/或从计算机可读介质)取回的指令。处理器602可以包括许多可用处理器(诸如单处理器、多处理器、单核单元和多核单元)中的任何一个。
所例示出的示例性计算设备600还包括网络通信组件612,用于通过计算机网络将该计算设备与其他设备和/或服务互连,包括托管指令处理代理118的计算设备500,以及其他网络计算设备和/或***。如上所讨论的,网络通信组件612有时被称为网络接口卡或NIC,经由物理/有形(例如,有线、光学等)连接、无线连接或两者使用一个或多个通信协议通过网络(诸如图8的网络808)进行通信。如本领域技术人员将容易理解的,网络通信组件诸如网络通信组件612通常包括通过传输介质(即网络)发送和接收数字和/或模拟信号的硬件和/或固件组件(并且还可以包括或包含可执行软件组件)。
示例性计算设备600还包括操作***614,用于管理设备的硬件和软件资源,并且为在包括域代理106的计算设备上执行的计算机程序和其他可执行过程提供公共服务(有时被称为***服务)。操作***614的一个元件是I/O(输入/输出)子***616,包括域代理106在内的各种可执行过程通过该子***与驻留在计算***上的其他设备和服务以及计算***外部的设备和服务进行通信。
示例性计算设备600还包括设备可执行域代理106。如上所讨论并且在执行中,域代理106从指令处理代理118接收一个或多个域指令,并经由一个或多个代理器130-134利用诸如在线服务120-124之类的在线服务执行(一个或多个)指令。包括在域代理106中(或者作为其协作可执行组件)的是各种其他设备可执行组件,包括服务选择模块620、指令执行器622以及包括代理器626在内的一个或多个代理器624。在执行中,服务选择模块选择一个或多个在线服务,用于执行用户的指令(如从指令处理代理118接收的),并且指令执行器622经由与所选择的在线服务相对应的诸如代理器626之类的代理器来执行指令。
关于示例性计算设备400、500和600的各种组件,本领域技术人员将理解,可以将这些组件中的许多组件实现为存储在计算设备的存储器中的可执行软件模块、实现为硬件模块和/或组件(包括SoC——片上***)或两者的组合。实际上,组件可以根据包括执行本文档中描述的过程的一个或多个逻辑元件的可执行软件模块在内的各种可执行实施例而被实现,或者被实现为包括执行本文档中描述的过程的一个或多个逻辑元件的可执行逻辑的硬件和/或固件组件。作为例示而非限制,这些可执行硬件组件的示例包括ROM(只读存储器)设备、可编程逻辑阵列(PLA)设备、PROM(可编程只读存储器)设备、EPROM(可擦除PROM)设备等等,其每个都可以用指令和/或逻辑来编码,这些指令和/或逻辑在执行时执行本文所描述的功能。
此外,在某些实施例中,各种计算设备400、500和600的各种组件中的每一个可以被实现为与一个或多个计算机***和/或计算设备一起操作或在其上操作的独立的协作过程或设备。当然,应当进一步理解,上述各种组件应被视为用于执行各种所述功能的逻辑组件。如本领域技术人员将容易理解的,逻辑组件和/或子***可以或可以不以一对一的方式直接对应于实际的分立组件。在实际实施例中,每个计算设备的各种组件可以组合在一起或分布在多个实际组件上和/或被实现为诸如图8的网络808之类的计算机网络上的协作过程。
转到图7,图7是例示出根据所公开主题的各方面形成的编码有指令的示例性计算机可读介质的框图,指令诸如是在例程200和/或300中找到的那些指令。更具体地,实现700包括计算机可读介质708(例如CD-R、DVD-R或硬盘驱动器的盘片),在其上编码计算机可读数据706。该计算机可读数据706又包括一组计算机指令704,其被配置为根据本文所阐述的一个或多个原理进行操作。在一个这样的实施例702中,处理器可执行指令704可以被配置为执行诸如上面的示例性方法200和300中的至少一些的方法。在另一个这样的实施例中,处理器可执行指令704可以被配置为实现诸如示例性***400、500或600中的至少一些的***,如上所述。本领域普通技术人员可以设想许多这样的计算机可读介质,其被配置为根据本文所给出的技术进行操作。
图8是例示出适合于实现所公开主题的各方面的示例性网络环境800的示意图,包括用于利用第三方在线服务执行用户指令的框架。如图8中所示,示例性网络环境800包括诸如用户计算设备102的一个或多个用户计算设备(包括移动用户计算设备),每个用户计算设备与计算机用户即用户101相关联。包括用户计算设备102和诸如计算设备810-816之类的其他计算设备在内的用户计算设备通过网络808互连。如本领域技术人员将理解的,计算机网络或数据网络(在整个文档中通过简写描述被称为“网络”)是一种电信网络,其允许联网的计算设备(可通信地连接到网络的计算设备)交换数据。在计算机网络中,联网的计算设备沿着网络链路(数据连接)彼此交换数据。使用有线和/或无线连接建立节点之间的连接。尽管可能最知名的计算机网络是因特网,有时也被称为“Web”,但是所公开的主题不限于仅在因特网上的操作。
示例性网络环境800包括用于托管如上面关于图1描述的指令处理代理118的计算设备116。示例性网络环境800中还包括诸如计算设备820和816之类的托管域代理的计算设备以及诸如计算设备810-814之类的托管在线服务的计算设备。
虽然已经描述了所公开主题的各种新颖方面,但是应该理解,这些方面是示例性的并且不应该被解释为限制。在不脱离所公开主题的范围的情况下,可以对各个方面进行变化和改变。
Claims (15)
1.一种用于代表计算机用户处理一个或多个用户指令的计算机实现的框架,所述框架包括:
第一计算设备,所述第一计算设备托管指令处理代理,其中所述指令处理代理在所述第一计算设备上执行中被配置为从在用户计算设备上执行的用户代理接收用户指令,并代表所述计算机用户执行所述指令;以及
一个或多个域代理计算设备,所述一个或多个域代理计算设备托管多个域代理,其中每个域代理在所述一个或多个域代理计算设备中的域代理计算设备上执行中对应于域,并且被配置为从所述指令处理代理接收可以在所述域内被执行的用户指令,并且代表所述计算机用户执行所述指令;
其中在执行中,所述指令处理代理:
从用户代理接收所述用户指令;
识别适合执行所述用户指令的域;
选择所述多个域代理中的域代理,选择的所述域代理对应于识别的所述域;以及
将所述用户指令发送至选择的所述域代理以用于执行;以及其中在执行中,选择的所述域代理:
维护用于与对应的多个在线服务对接的多个代理器;
从所述指令处理代理接收用户指令;
从所述多个在线服务中识别用于完成所述用户指令的在线服务;以及
经由识别的所述在线服务的对应的代理器来利用所述在线服务执行所述用户指令。
2.根据权利要求1所述的计算机实现的框架,其中在识别域和选择域代理中,所述指令处理代理:
关于所述用户指令确定所述计算机用户的意图;以及
根据域的目录选择所述域代理,所述域的目录利用域的对应的一个或多个对应的域代理识别多个域。
3.根据权利要求2所述的计算机实现的框架,其中所述指令处理代理在执行中还根据选择的所述域的域本体来将所述用户指令映射到域可执行指令。
4.根据权利要求2所述的计算机实现的框架,其中所述指令处理代理在执行中还获得所述计算机用户的用户上下文,并将所述用户上下文与所述用户指令一起提交至选择的所述域代理以用于执行。
5.根据权利要求4所述的计算机实现的框架,其中选择的所述域代理:
识别用于完成来自所述多个在线服务的所述用户指令的第二多个在线服务;以及
经由识别的所述第二多个在线服务的对应的多个代理器,利用识别的所述第二多个在线服务执行所述用户指令。
6.根据权利要求4所述的计算机实现的框架,其中选择的所述域代理:
确定针对计算机用户的执行上下文以用于执行所述用户指令;以及
经由识别的所述在线服务的所述对应的代理器,根据所述执行上下文,利用所述在线服务执行所述用户指令。
7.根据权利要求6所述的计算机实现的框架,其中所述域代理还:
经由所述对应的代理器从所述在线服务接收关于所述用户指令的所述执行的结果信息;以及
将所述结果信息返回至所述指令处理代理。
8.一种代表计算机用户提供指令处理代理服务以用于处理用户指令的计算机***,所述计算***包括处理器和存储器,其中所述处理器执行从存储器获得的计算机可执行指令以提供所述指令处理代理服务,所述计算机***还包括:
可执行指令处理代理,其中在执行中所述指令处理代理:
维护域代理的列表;
代表计算机用户从用户代理接收用户发起的域指令;
识别适合于执行所述用户指令的域;
根据域选择器来选择所述多个域代理中的域代理,选择的所述域代理对应于识别的所述域;以及
向选择的所述域代理发出所述用户指令以用于执行。
9.根据权利要求8所述的计算***,还包括可执行的转录模块,所述转录模块在所述计算***上执行中,将音频用户指令转录为公共格式;以及
其中所述指令处理代理还:
确定所述用户指令包括音频用户指令;
经由所述转录模块将所述用户指令转录为公共格式。
10.根据权利要求8所述的计算***,还包括意图识别模块,所述意图识别模块在所述计算***上执行中,确定所述用户指令的意图;以及
其中所述指令处理代理根据域的目录选择所述域代理,所述域的目录利用域的对应的一个或多个对应的域代理识别多个域。
11.根据权利要求10所述的计算***,还包括指令生成器,所述指令生成器在所述计算***上执行中,根据识别的所述域的域本体将所述用户指令映射到域可执行用户指令;以及
其中将所述用户指令提交至选择的所述域代理以用于执行包括将所述域可执行用户指令提交至所述域代理以用于执行。
12.根据权利要求10所述的计算***,其中所述指令处理代理还:
确定所述计算机用户的用户上下文;以及
利用所述用户指令将所述用户上下文提交至选择的所述域代理以用于执行。
13.根据权利要求10所述的计算***,其中所述指令处理代理还:
从选择的所述域代理接收响应信息;以及
经由所述用户代理将所述响应信息传递至所述计算机用户。
14.根据权利要求10所述的计算***,其中所述指令处理代理:
根据域选择器从所述多个域代理中选择第二多个域代理,选择的所述第二多个域代理对应于识别的所述域;以及
将所述用户指令提交至选择的所述第二多个域代理以用于执行。
15.一种代表计算机用户提供域代理服务以用于处理用户指令的计算机***,所述计算机***包括处理器和存储器,其中所述处理器执行从存储器获得的计算机可执行指令以提供所述域代理服务,所述计算机***还包括:
多个在线服务代理器,每个在线服务代理器被配置为代表域代理与对应的在线服务对接以用于利用所述对应的在线服务执行用户指令;
其中在执行中,所述域代理:
从所述指令处理代理接收用户发起的域指令以用于执行;
从多个在线服务中识别用于完成所述域指令的在线服务;
确定针对计算机用户的执行上下文以用于执行所述用户指令;以及
经由所述多个在线服务代理器的对应的在线服务代理器,根据所述执行上下文,利用所述在线服务执行所述用户指令;以及
将关于所述用户指令的执行的结果信息返回至所述指令处理代理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/160,399 US10248452B2 (en) | 2016-05-20 | 2016-05-20 | Interaction framework for executing user instructions with online services |
US15/160,399 | 2016-05-20 | ||
PCT/US2017/032577 WO2017200890A1 (en) | 2016-05-20 | 2017-05-15 | Interaction framework for executing user instructions with online services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109154899A true CN109154899A (zh) | 2019-01-04 |
CN109154899B CN109154899B (zh) | 2021-11-12 |
Family
ID=58772655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780029975.9A Active CN109154899B (zh) | 2016-05-20 | 2017-05-15 | 用于利用在线服务执行用户指令的交互框架 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10248452B2 (zh) |
EP (1) | EP3458961A1 (zh) |
CN (1) | CN109154899B (zh) |
WO (1) | WO2017200890A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022089546A1 (zh) * | 2020-10-28 | 2022-05-05 | 华为云计算技术有限公司 | 标签生成方法、装置及相关设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11321104B2 (en) * | 2020-03-30 | 2022-05-03 | Bank Of America Corporation | Cognitive automation platform for customized interface generation |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003107646A1 (en) * | 2002-06-18 | 2003-12-24 | Redback Networks Inc. | Domain-less service selection |
US20040006653A1 (en) * | 2002-06-27 | 2004-01-08 | Yury Kamen | Method and system for wrapping existing web-based applications producing web services |
US20090150156A1 (en) * | 2007-12-11 | 2009-06-11 | Kennewick Michael R | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US20100161724A1 (en) * | 2008-10-03 | 2010-06-24 | Infosys Technologies Limited | System, wireless communication device and method for combining compatible services |
WO2013095485A1 (en) * | 2011-12-22 | 2013-06-27 | Hewlett-Packard Development Company, L.P. | Enabling execution of remotely-hosted applications using application metadata and client updates |
CN105183495A (zh) * | 2014-05-29 | 2015-12-23 | 黑莓有限公司 | 跨操作***域来协调活动视图 |
US20160004870A1 (en) * | 2014-07-01 | 2016-01-07 | At&T Intellectual Property I, L.P. | Personal Security Agent |
CN105264841A (zh) * | 2013-06-26 | 2016-01-20 | 华为技术有限公司 | 报文转发***、设备和方法 |
CN105516308A (zh) * | 2015-12-09 | 2016-04-20 | 国网福建省电力有限公司 | 基于服务管理中心的广域面向服务的数据交互***及方法 |
WO2016073917A1 (en) * | 2014-11-06 | 2016-05-12 | Gliknik Inc. | Molecules with bimodal activity depleting target at low dose and increasing immunosuppression at higher dose |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757362B1 (en) | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
US7216080B2 (en) | 2000-09-29 | 2007-05-08 | Mindfabric Holdings Llc | Natural-language voice-activated personal assistant |
US7350211B2 (en) | 2002-09-23 | 2008-03-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Middleware application environment |
US7472184B2 (en) | 2003-09-19 | 2008-12-30 | International Business Machines Corporation | Framework for restricting resources consumed by ghost agents |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7752152B2 (en) | 2006-03-17 | 2010-07-06 | Microsoft Corporation | Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US9177551B2 (en) | 2008-01-22 | 2015-11-03 | At&T Intellectual Property I, L.P. | System and method of providing speech processing in user interface |
US20100070360A1 (en) | 2008-09-13 | 2010-03-18 | At&T Intellectual Property I, L.P. | System and method for creating a speech search platform for coupons |
EP2702473A1 (en) | 2011-04-25 | 2014-03-05 | Veveo, Inc. | System and method for an intelligent personal timeline assistant |
US20130166565A1 (en) | 2011-12-23 | 2013-06-27 | Kevin LEPSOE | Interest based social network system |
CN105190607B (zh) | 2013-03-15 | 2018-11-30 | 苹果公司 | 通过智能数字助理的用户培训 |
US9646606B2 (en) * | 2013-07-03 | 2017-05-09 | Google Inc. | Speech recognition using domain knowledge |
US9015730B1 (en) | 2013-12-17 | 2015-04-21 | International Business Machines Corporation | Natural language access to application programming interfaces |
US9654581B2 (en) * | 2014-05-30 | 2017-05-16 | Apple Inc. | Proxied push |
US9865280B2 (en) * | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) * | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
-
2016
- 2016-05-20 US US15/160,399 patent/US10248452B2/en active Active
-
2017
- 2017-05-15 CN CN201780029975.9A patent/CN109154899B/zh active Active
- 2017-05-15 WO PCT/US2017/032577 patent/WO2017200890A1/en unknown
- 2017-05-15 EP EP17725828.2A patent/EP3458961A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003107646A1 (en) * | 2002-06-18 | 2003-12-24 | Redback Networks Inc. | Domain-less service selection |
US20040006653A1 (en) * | 2002-06-27 | 2004-01-08 | Yury Kamen | Method and system for wrapping existing web-based applications producing web services |
US20090150156A1 (en) * | 2007-12-11 | 2009-06-11 | Kennewick Michael R | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US20100161724A1 (en) * | 2008-10-03 | 2010-06-24 | Infosys Technologies Limited | System, wireless communication device and method for combining compatible services |
WO2013095485A1 (en) * | 2011-12-22 | 2013-06-27 | Hewlett-Packard Development Company, L.P. | Enabling execution of remotely-hosted applications using application metadata and client updates |
CN105264841A (zh) * | 2013-06-26 | 2016-01-20 | 华为技术有限公司 | 报文转发***、设备和方法 |
CN105183495A (zh) * | 2014-05-29 | 2015-12-23 | 黑莓有限公司 | 跨操作***域来协调活动视图 |
US20160004870A1 (en) * | 2014-07-01 | 2016-01-07 | At&T Intellectual Property I, L.P. | Personal Security Agent |
WO2016073917A1 (en) * | 2014-11-06 | 2016-05-12 | Gliknik Inc. | Molecules with bimodal activity depleting target at low dose and increasing immunosuppression at higher dose |
CN105516308A (zh) * | 2015-12-09 | 2016-04-20 | 国网福建省电力有限公司 | 基于服务管理中心的广域面向服务的数据交互***及方法 |
Non-Patent Citations (2)
Title |
---|
XUEJING GU; ZHILIANG WANG; SIYI ZHENG; WEI WANG: ""Design and Implementation of the Emotional Pedagogical Agent"", 《2009 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND COMPUTATIONAL INTELLIGENCE》 * |
吕林: ""***增值业务集中管理***的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022089546A1 (zh) * | 2020-10-28 | 2022-05-05 | 华为云计算技术有限公司 | 标签生成方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109154899B (zh) | 2021-11-12 |
US10248452B2 (en) | 2019-04-02 |
US20170337079A1 (en) | 2017-11-23 |
WO2017200890A1 (en) | 2017-11-23 |
EP3458961A1 (en) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11887595B2 (en) | User-programmable automated assistant | |
RU2745632C1 (ru) | Серверное устройство автоматизированного ответа, оконечное устройство, система ответа, способ ответа и программа | |
US11056107B2 (en) | Conversational framework | |
US10922360B2 (en) | Ancillary speech generation via query answering in knowledge graphs | |
CN103927321B (zh) | 使用众包改进情感分析的方法和*** | |
WO2019203880A1 (en) | Intent identification for agent matching by assistant systems | |
CN111670435A (zh) | 使用交流话语树来检测对解释的请求 | |
US11645567B2 (en) | Machine-learning models to facilitate user retention for software applications | |
Oguntosin et al. | Development of an E‐Commerce Chatbot for a University Shopping Mall | |
CN108415710B (zh) | 在智能对话开发平台上发布、调用api的方法和*** | |
CN107430517A (zh) | 用于增强对话***的插件的在线市场 | |
US9697057B2 (en) | Automated transfer of user data between applications utilizing different interaction modes | |
CN107741976A (zh) | 智能应答方法、装置、介质和电子设备 | |
CN110083455A (zh) | 图计算处理方法、装置、介质及电子设备 | |
US11874865B2 (en) | Intelligent digital assistant that provides end-user with information from firm databases to assist end-user in performing job functions | |
CN109392309A (zh) | 建立与非注册资源的基于音频的网络会话 | |
CN109154899A (zh) | 用于利用在线服务执行用户指令的交互框架 | |
JP2022091904A (ja) | ミニプログラムページのスキン切り替え方法、装置及び電子機器 | |
WO2022056172A1 (en) | Interactive communication system with natural language adaptive components | |
CN114239604A (zh) | 在线咨询处理方法、装置及计算机设备 | |
CN108431813A (zh) | 用于范围化自然语言结果聚焦选项的专用数字助理 | |
US11776068B1 (en) | Voice enabled content tracker | |
JP2023001577A (ja) | アバター提供装置、アバター提供方法、およびプログラム | |
Chowdhury et al. | E-system for public health in India: towards an architectural framework incorporating illiteracy and linguistic diversity | |
CN118265981A (zh) | 用于为预训练的语言模型处置长文本的***和技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |