CN104704797B - Virtual protocol communication for electronic equipment - Google Patents
Virtual protocol communication for electronic equipment Download PDFInfo
- Publication number
- CN104704797B CN104704797B CN201380052414.2A CN201380052414A CN104704797B CN 104704797 B CN104704797 B CN 104704797B CN 201380052414 A CN201380052414 A CN 201380052414A CN 104704797 B CN104704797 B CN 104704797B
- Authority
- CN
- China
- Prior art keywords
- user
- virtual agent
- communication
- virtual
- outgoing
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
背景技术Background technique
近年来,诸如智能电话和平板计算机的电子设备常常包括被称为虚拟代理或虚拟助理的应用,它们帮助用户执行诸如在网络(例如,因特网)上搜索内容和与其它应用交互的功能。用户可以利用录入或触摸与虚拟代理交互,以执行这些功能。此外,一些设备包括语音接口,以便使用户能够利用语音输入与虚拟代理交互。这些虚拟代理一般是特定于平台的并且与使用特定操作系统的设备一起工作。例如,可以从Apple Computer公司获得的助理被配置为与运行iOS移动操作系统的设备一起工作,可以从Bulletproof公司获得的EVA助理被配置为与运行可以从Google公司获得的Android移动操作系统的设备一起工作。In recent years, electronic devices such as smartphones and tablet computers have often included applications known as virtual agents or assistants that help users perform functions such as searching for content on a network (eg, the Internet) and interacting with other applications. Users can interact with the virtual agent using typing or touch to perform these functions. Additionally, some devices include voice interfaces to enable users to interact with virtual agents using voice input. These virtual agents are generally platform-specific and work with devices using a particular operating system. For example, available from Apple Computer Inc. The Assistant is configured to work with devices running the iOS mobile operating system, and the EVA Assistant, available from Bulletproof, is configured to work with devices running the Android mobile operating system, available from Google.
发明内容Contents of the invention
一些实施例针对通过便利在联网系统中与不同用户关联的虚拟代理之间的通信来改进虚拟代理的功能。所改进的功能可以包括但不限于诸如找出另一用户的位置、协调会议地点、访问另一用户的日历、安排会议和共享联系人信息之类的功能。Some embodiments are directed to improving the functionality of virtual agents by facilitating communication between virtual agents associated with different users in a networked system. Improved functionality may include, but is not limited to, functionality such as finding out another user's location, coordinating meeting locations, accessing another user's calendar, scheduling meetings, and sharing contact information.
一些实施例针对可以在运行不同操作系统的至少两个设备上操作的独立于平台的虚拟代理,从而允许这至少两个设备之间的通信来执行至少一个协调的动作。Some embodiments are directed to a platform-independent virtual agent operable on at least two devices running different operating systems, thereby allowing communication between the at least two devices to perform at least one coordinated action.
一些实施例针对在虚拟代理之间通信的方法,其中每个虚拟代理与用户关联,该方法包括:从第一用户接收输入;由与第一用户关联的第一虚拟代理确定是否调用和与第二用户关联的第二虚拟代理的通信会话;以及响应于确定调用该通信会话而向第二虚拟代理发送传出(outgoing)通信。Some embodiments are directed to a method of communicating between virtual agents, each virtual agent associated with a user, the method comprising: receiving input from a first user; determining, by the first virtual agent associated with the first user, whether to invoke and communicate with the first user a communication session with a second virtual agent associated with the two users; and sending an outgoing communication to the second virtual agent in response to determining to invoke the communication session.
其它实施例针对编码有多条指令的计算机可读介质,当指令被至少一个计算机执行时,执行在虚拟代理之间通信的方法,其中每个虚拟代理与用户关联,该方法包括:从第一用户接收输入;由与第一用户关联的第一虚拟代理确定是否调用和与第二用户关联的第二虚拟代理的通信会话;以及响应于确定调用该通信会话而向第二虚拟代理发送传出通信,其中传出通信包括让第二虚拟代理为了第一用户执行至少一个动作的请求。Other embodiments are directed to a computer-readable medium encoding a plurality of instructions that, when executed by at least one computer, perform a method of communicating between virtual agents, each virtual agent associated with a user, the method comprising: from a first A user receives an input; determines, by a first virtual agent associated with the first user, whether to invoke a communication session with a second virtual agent associated with a second user; and sends an outgoing message to the second virtual agent in response to determining to invoke the communication session. Communications, wherein the outgoing communication includes a request for the second virtual agent to perform at least one action on behalf of the first user.
其它实施例针对电子设备,包括:配置为从第一用户接收输入的通信接口;以及第一虚拟代理,配置为:确定是否调用和与第二用户关联的第二虚拟代理的通信会话;以及响应于确定调用该通信会话而向第二虚拟代理发送传出通信,其中传出通信包括让第二虚拟代理为了第一用户执行至少一个动作的请求。Other embodiments are directed to an electronic device comprising: a communication interface configured to receive input from a first user; and a first virtual agent configured to: determine whether to invoke a communication session with a second virtual agent associated with a second user; and respond An outgoing communication is sent to the second virtual agent upon determining to invoke the communication session, wherein the outgoing communication includes a request for the second virtual agent to perform at least one action for the first user.
其它实施例针对在不从第一用户接收输入的情况下由与第一用户关联的第一虚拟代理管理任务的方法,该方法包括:由第一虚拟代理确定是否发生了与该任务关联的条件;以及响应于确定条件已发生而向第一用户发送提醒,或者向与第二用户关联的第二虚拟代理发送传出通信。Other embodiments are directed to methods of managing a task by a first virtual agent associated with a first user without receiving input from the first user, the method comprising: determining, by the first virtual agent, whether a condition associated with the task has occurred ; and sending an alert to the first user, or sending an outgoing communication to a second virtual agent associated with the second user, in response to determining that the condition has occurred.
其它实施例针对编码有多条指令的计算机可读介质,当指令被至少一个计算机执行时,执行在不从第一用户接收输入的情况下由与第一用户关联的第一虚拟代理管理任务的方法,该方法包括:由第一虚拟代理确定是否发生了与该任务关联的条件;以及响应于确定条件已发生而向第一用户发送提醒,或者向与第二用户关联的第二虚拟代理发送传出通信。Other embodiments are directed to a computer readable medium encoding a plurality of instructions that, when executed by at least one computer, perform tasks managed by a first virtual agent associated with a first user without receiving input from the first user A method comprising: determining, by a first virtual agent, whether a condition associated with the task has occurred; and sending a reminder to the first user in response to determining that the condition has occurred, or sending a reminder to a second virtual agent associated with the second user. outgoing communication.
其它实施例针对电子设备,包括:与第一用户关联的第一虚拟代理,其中第一虚拟代理配置为:确定是否发生了与指定给第一虚拟代理的任务关联的条件;以及响应于确定条件已发生而向第一用户发送提醒,或者向与第二用户关联的第二虚拟代理发送传出通信。Other embodiments are directed to an electronic device comprising: a first virtual agent associated with a first user, wherein the first virtual agent is configured to: determine whether a condition associated with a task assigned to the first virtual agent occurs; and respond to determining the condition An alert is sent to the first user as has occurred, or an outgoing communication is sent to a second virtual agent associated with the second user.
其它实施例针对便利虚拟代理之间通信的方法,其中每个虚拟代理与用户关联,该方法包括:由与第二用户关联的第二虚拟代理从与第一用户关联的第一虚拟代理接收通信;以及响应于接收到该通信而执行至少一个动作。Other embodiments are directed to methods of facilitating communication between virtual agents, each virtual agent associated with a user, the method comprising: receiving, by a second virtual agent associated with a second user, a communication from a first virtual agent associated with a first user ; and performing at least one action in response to receiving the communication.
其它实施例针对编码有多条指令的计算机可读介质,当指令被至少一个计算机执行时,执行便利虚拟代理之间通信的方法,其中每个虚拟代理与用户关联,该方法包括:由与第二用户关联的第二虚拟代理从与第一用户关联的第一虚拟代理接收通信;以及响应于接收到该通信而执行至少一个动作。Other embodiments are directed to a computer readable medium encoding a plurality of instructions that, when executed by at least one computer, perform a method of facilitating communication between virtual agents, each virtual agent associated with a user, the method comprising: A second virtual agent associated with the second user receives a communication from a first virtual agent associated with the first user; and performs at least one action in response to receiving the communication.
其它实施例针对电子设备,包括:配置为从与第一用户关联的第一虚拟代理接收通信的通信接口;以及与第二用户关联的第二虚拟代理,其中第二虚拟代理配置为:响应于接收到该通信而执行至少一个动作。Other embodiments are directed to an electronic device comprising: a communication interface configured to receive communications from a first virtual agent associated with a first user; and a second virtual agent associated with a second user, wherein the second virtual agent is configured to: respond to At least one action is performed upon receipt of the communication.
应当认识到,上述概念和以下更详细讨论的附加概念的所有组合(假定此类概念不相互矛盾)都被预期作为本文所公开的发明性主题的部分。It should be appreciated that all combinations of the above concepts and additional concepts discussed in more detail below (provided such concepts are not mutually inconsistent) are contemplated as part of the inventive subject matter disclosed herein.
附图说明Description of drawings
附图并不旨在按比例绘制。在附图中,在各个图中说明的每个完全相同或几乎完全相同的部件用相同的标号表示。为了清晰,不是每个部件在每个图中都会被标记。在附图中:The figures are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every figure. In the attached picture:
图1是根据本发明一些实施例、包括用来便利用于电子设备的虚拟代理之间通信的部件的示例性系统;1 is an exemplary system including components for facilitating communication between virtual agents for electronic devices, according to some embodiments of the invention;
图2示出了根据本发明一些实施例、用于响应于用户输入而从虚拟代理生成传出通信的说明性过程;2 shows an illustrative process for generating outgoing communications from a virtual agent in response to user input, according to some embodiments of the invention;
图3示出了根据本发明一些实施例、用于在无需用户交互的情况下在后台提供代理到代理通信的说明性过程;3 shows an illustrative process for providing agent-to-agent communication in the background without user interaction, according to some embodiments of the invention;
图4示出了根据本发明一些实施例、用于由虚拟代理管理传入(incoming)通信的说明性过程;Figure 4 shows an illustrative process for managing incoming communications by a virtual agent, according to some embodiments of the invention;
图5示出了根据本发明一些实施例、用于响应于从虚拟代理接收到传入通信而执行至少一个动作的说明性过程;以及5 shows an illustrative process for performing at least one action in response to receiving an incoming communication from a virtual agent, according to some embodiments of the invention; and
图6是可以结合本发明一些实施例来使用的说明性计算机系统。Figure 6 is an illustrative computer system that may be used in conjunction with some embodiments of the invention.
具体实施方式Detailed ways
发明人认识并理解到,虽然常规的虚拟代理对于帮助用户诸如发起呼叫或搜索万维网上的内容的各种任务是有用的,但是常规虚拟代理的功能可以通过使与一个用户关联的虚拟代理和与其它用户关联的虚拟代理交互来进行改进,以执行协作动作,诸如找出另一用户的位置、安排与另一用户的会议以及在用户之间共享联系人信息或其它数据。为此,本发明的一些实施例用于通过使代理到代理的通信能够执行一个或多个动作来改进虚拟代理的功能。The inventors have recognized and appreciated that while conventional virtual agents are useful for assisting users in various tasks such as initiating calls or searching for content on the World Wide Web, the functionality of conventional virtual agents can be achieved by having a virtual agent associated with a user and associated It can be improved by interacting with virtual agents associated with other users to perform collaborative actions, such as finding out another user's location, scheduling a meeting with another user, and sharing contact information or other data between users. To this end, some embodiments of the present invention serve to improve the functionality of a virtual agent by enabling agent-to-agent communication to perform one or more actions.
根据本发明一些实施例使用的示例性系统100在图1中说明。系统100包括电子设备102,其可以实现为(但不限于)手机、智能电话、平板计算机和膝上型电脑。系统100可以包括任何数量的电子设备。例如,系统100还包括手机130和平板计算机140。虽然下面描述了电子设备102的各种部件,但是应当理解,包括手机130和/或平板计算机140的系统100中的其它设备可以包括至少一些与结合电子设备102所描述的部件相类似的部件。An exemplary system 100 used in accordance with some embodiments of the invention is illustrated in FIG. 1 . System 100 includes electronic device 102, which may be implemented as, but not limited to, a cell phone, smartphone, tablet computer, and laptop computer. System 100 may include any number of electronic devices. System 100 also includes cell phone 130 and tablet computer 140 , for example. While various components of electronic device 102 are described below, it should be understood that other devices in system 100 including cell phone 130 and/or tablet computer 140 may include at least some similar components to those described in connection with electronic device 102 .
电子设备102可以配置为从用户接收输入,以执行一个或多个功能。为了接收用户输入,电子设备102可以包括输入接口104,输入接口104包括但不限于键盘接口(例如,QWERTY键盘)、触摸屏接口和诸如麦克风的语音接口。在包括语音接口的实施例中,所接收的语音输入可以发送到自动语音识别(ASR)引擎(未示出),以识别所接收的语音输入的内容。ASR引擎可以作为电子设备102的一部分而被包括和/或ASR引擎可以与电子设备102远程定位并且可以利用任何合适的通信介质(例如,一个或多个网络)来与电子设备102通信。在一些实施例中,电子设备102可以与一个或多个本地ASR引擎以及一个或多个远程定位的ASR引擎关联,由此至少一些接收到的语音输入被这一个或多个本地ASR引擎处理,并且至少一些接收到的语音输入被这一个或多个远程定位的ASR引擎处理。这种分布式ASR系统的例子是本领域技术人员已知的。利用连接电子设备102和ASR引擎的一个或多个通信介质(例如,一个或多个网络)发送到这一个或多个远程ASR引擎的、用于识别的语音输入可以利用相同或不同的通信介质从远程定位的ASR引擎返回到电子设备102。Electronic device 102 may be configured to receive input from a user to perform one or more functions. To receive user input, the electronic device 102 may include an input interface 104 including, but not limited to, a keyboard interface (eg, a QWERTY keyboard), a touch screen interface, and a voice interface such as a microphone. In embodiments including a voice interface, received voice input may be sent to an automatic speech recognition (ASR) engine (not shown) to recognize the content of the received voice input. The ASR engine may be included as part of the electronic device 102 and/or the ASR engine may be located remotely from the electronic device 102 and may communicate with the electronic device 102 using any suitable communication medium (eg, one or more networks). In some embodiments, the electronic device 102 may be associated with one or more local ASR engines and one or more remotely located ASR engines, whereby at least some of the received speech input is processed by the one or more local ASR engines, And at least some of the received speech input is processed by the one or more remotely located ASR engines. Examples of such distributed ASR systems are known to those skilled in the art. Voice input for recognition sent to the one or more remote ASR engines using one or more communication media (e.g., one or more networks) connecting the electronic device 102 and the ASR engine may utilize the same or different communication media Returns to the electronic device 102 from the remotely located ASR engine.
在一些实施例中,ASR引擎可以配置为利用一个或多个固定的或动态生成的语法和/或词汇来识别语音输入。另选地,一些实施例可以允许自由形式的输入来使用户能够以更自然的方式向虚拟代理讲话并且ASR引擎可以利用例如自然语言理解(NLU)模型来识别用户在说的任何事情。在包括基于NLU模型的语音识别的实施例中,虚拟代理可以基于NLU结果尝试推断用户想要执行的动作。应当认识到,实现语音输入识别的特定方式不限制本发明的实施例,因为任何合适的语音识别实现都可以使用。In some embodiments, the ASR engine may be configured to recognize speech input using one or more fixed or dynamically generated grammars and/or vocabularies. Alternatively, some embodiments may allow free-form input to enable the user to speak to the virtual agent in a more natural manner and the ASR engine may utilize, for example, a Natural Language Understanding (NLU) model to recognize whatever the user is saying. In embodiments that include NLU model-based speech recognition, the virtual agent may attempt to infer the action the user intends to perform based on the NLU results. It should be appreciated that the particular manner in which voice input recognition is implemented does not limit embodiments of the invention, as any suitable voice recognition implementation may be used.
电子设备102还包括用户界面106,以便使用户能够与设备交互,以执行各种动作。例如,在一些实施例中,用户界面106可以显示与多个应用关联的多个图标并且用户可以与这些图标当中的一个或多个交互,以启动关联的应用。任何合适的用户界面都可以使用,因为本发明的实施例在这方面没有限制。The electronic device 102 also includes a user interface 106 to enable a user to interact with the device to perform various actions. For example, in some embodiments, user interface 106 may display a plurality of icons associated with a plurality of applications and a user may interact with one or more of these icons to launch the associated application. Any suitable user interface may be used, as embodiments of the invention are not limited in this respect.
电子设备102可以包括一个或多个被配置为在设备上执行的应用108。一些应用可以是主要在电子设备102上执行的本地应用。例如,排程应用(例如,日历应用)可以在电子设备上执行,以使用户能够存储关于事件和/或预约的排程信息。与此类应用相关联的数据可以本地存储在电子设备上或者数据的至少一部分可以被远程存储,如在下面更详细讨论的。其它应用(例如,基于web的应用)可以被配置为经一个或多个网络与一个或多个计算机进行交互。例如,基于web的电子邮件应用可以由一个或多个web服务器托管,使得当用户想利用电子邮件应用来检查电子邮件时,请求将从电子设备发送到一个或多个托管该电子邮件应用的远程定位的服务器。Electronic device 102 may include one or more applications 108 configured to execute on the device. Some applications may be native applications that execute primarily on the electronic device 102 . For example, a scheduling application (eg, a calendar application) may execute on an electronic device to enable a user to store scheduling information regarding events and/or appointments. Data associated with such applications may be stored locally on the electronic device or at least a portion of the data may be stored remotely, as discussed in more detail below. Other applications (eg, web-based applications) may be configured to interact with one or more computers via one or more networks. For example, a web-based email application may be hosted by one or more web servers, so that when a user wants to check email using the email application, a request will be sent from the electronic device to one or more remote servers hosting the email application. The located server.
在一些实施例中,电子设备102可以包括被配置为确定电子设备的位置的位置传感器110。例如,位置传感器可以是被配置为确定设备的位置坐标的全球定位系统(GPS)传感器。一些实施例可以包括与位置传感器110交互以便在地图上显示电子设备102的位置的应用。位置传感器110可以以任何合适的方式实现,并且本发明的实施例在这方面没有限制。In some embodiments, electronic device 102 may include a location sensor 110 configured to determine the location of the electronic device. For example, the location sensor may be a Global Positioning System (GPS) sensor configured to determine location coordinates of the device. Some embodiments may include an application that interacts with the location sensor 110 to display the location of the electronic device 102 on a map. Position sensor 110 may be implemented in any suitable manner, and embodiments of the invention are not limited in this regard.
如上面简要讨论的,电子设备102可以存储用户数据112,该数据描述特定于特定用户或电子设备的信息。例如,用户数据112可包括(但不限于)联系人信息、日历信息、用户偏好信息、行为历史信息和位置信息。在一些实施例中,用户数据112还可以包括媒体内容信息,诸如与特定用户帐户或设备关联的音乐或图片数据。在一些实施例中,至少一些用户数据112可以在电子设备102可经由至少一个网络访问的位置相对电子设备102远程存储。例如,至少一些用户数据112可以存储在电子设备102可经由网络160访问的网络存储装置150中。相对电子设备远程存储的数据常常被称为存储“在云中”的数据,并且这种数据常常可由同一用户从多个设备访问。用户数据112被存储的特定方式不是本发明实施例的限制方面,因为用户数据112可以存储在电子设备102可访问的任何合适的位置。As discussed briefly above, electronic device 102 may store user data 112 that describes information specific to a particular user or electronic device. For example, user data 112 may include, but is not limited to, contact information, calendar information, user preference information, behavior history information, and location information. In some embodiments, user data 112 may also include media content information, such as music or picture data associated with a particular user account or device. In some embodiments, at least some user data 112 may be stored remotely from electronic device 102 at a location accessible to electronic device 102 via at least one network. For example, at least some user data 112 may be stored in network storage 150 accessible by electronic device 102 via network 160 . Data stored remotely from an electronic device is often referred to as data stored "in the cloud," and such data is often accessible by the same user from multiple devices. The particular manner in which user data 112 is stored is not a limiting aspect of embodiments of the present invention, as user data 112 may be stored in any suitable location accessible by electronic device 102 .
电子设备102还包括被配置为经网络160向其它电子设备(例如,手机130和平板计算机140)和网络存储装置150发送通信以及从它们接收通信的通信接口120。通信可以利用任何合适的协议和任何适合的消息格式经网络160发送,因为本发明的实施例不受所采用的特定网络实现细节的限制。Electronic device 102 also includes communication interface 120 configured to send and receive communications to and from other electronic devices (eg, cell phone 130 and tablet computer 140 ) and network storage 150 via network 160 . Communications may be sent over network 160 using any suitable protocol and any suitable message format, as embodiments of the invention are not limited by the particular network implementation details employed.
在一些实施例中,电子设备102还包括虚拟代理114。用户可以与虚拟代理114交互,以执行多种功能,诸如控制电子设备(例如,发送消息、拨打电话、打开应用),或者访问内容和应用(例如,web搜索、在网站上发布信息)。在一些实施例中,虚拟代理114可以被实现为与其它应用108和用户数据112通信以便执行上述功能以及如下面更详细描述的其它功能的应用。不是系统100中的所有设备都可以与虚拟代理关联并且本发明的实施例在这方面没有限制。如以下更详细讨论的,不与虚拟代理相关联的电子设备可以以常规格式(例如,文本消息、电子邮件、电话呼叫等)接收通信,而与虚拟代理相关联的电子设备可以能够利用根据本发明一些实施例的增加的通信功能和增强的用户体验。In some embodiments, the electronic device 102 also includes a virtual agent 114 . Users can interact with the virtual agent 114 to perform functions such as controlling electronic devices (eg, sending messages, making calls, opening applications), or accessing content and applications (eg, web searching, posting information on websites). In some embodiments, virtual agent 114 may be implemented as an application that communicates with other applications 108 and user data 112 in order to perform the functions described above, as well as other functions as described in more detail below. Not all devices in system 100 may be associated with a virtual agent and embodiments of the invention are not limited in this regard. As discussed in more detail below, electronic devices not associated with a virtual agent may receive communications in conventional formats (e.g., text messages, emails, phone calls, etc.), while electronic devices associated with a virtual agent may be able to utilize Increased communication functionality and enhanced user experience of some embodiments of the invention.
虚拟代理可以以任何合适的方式与特定用户和/或设备相关联。在一些实施例中,虚拟代理可以是在用户的电子设备上执行的应用,如上面所描述的。在这种实施例中,虚拟代理与虚拟代理安装在其上的设备的用户相关联。在其它实施例中,虚拟代理可以不安装在用户的电子设备上,而是可以主要在位于用户的电子设备通过一个或多个网络可访问的远程位置的计算机上执行。在虚拟代理与用户的电子设备远程定位的实施例中,虚拟代理可以包括至少一个识别与用户相关联的一个或多个电子设备的标识符和/或至少一个识别用户的标识符。基于这一个或多个标识符,虚拟代理可以被认为“与用户相关联”,如该术语在本文中所使用的。A virtual agent can be associated with a particular user and/or device in any suitable manner. In some embodiments, the virtual agent may be an application executing on the user's electronic device, as described above. In such embodiments, a virtual agent is associated with a user of the device on which the virtual agent is installed. In other embodiments, the virtual agent may not be installed on the user's electronic device, but may execute primarily on a computer at a remote location accessible to the user's electronic device through one or more networks. In embodiments where the virtual agent is located remotely from the user's electronic device, the virtual agent may include at least one identifier identifying one or more electronic devices associated with the user and/or at least one identifier identifying the user. Based on the one or more identifiers, the virtual agent may be considered "associated with" the user, as that term is used herein.
在一些实施例中,虚拟代理114可以被配置为至少部分地基于用户数据(诸如用户的联系人信息或排程信息)执行一个或多个动作。例如,不是自己向其它设备发送或接收通信(例如,就像电子邮件或文本消息应用),虚拟代理可以响应于解释用户输入或者在发生与虚拟代理被配置为执行的任务关联的条件时为了用户指示其它应用向另一设备发送一个或多个通信。In some embodiments, virtual agent 114 may be configured to perform one or more actions based at least in part on user data, such as the user's contact information or scheduling information. For example, instead of sending or receiving communications to other devices itself (e.g., like email or text messaging applications), the virtual agent can respond to interpreting user input or for the user when a condition occurs that is associated with the task that the virtual agent is configured to perform. Instructs other applications to send one or more communications to another device.
在一些实施例中,为了便利与用户数据的交互,虚拟代理114可以被配置为聚集与该虚拟代理关联的特定用户的用户数据。例如,用户的排程信息可以存在于多个来源中,包括基于web的日历、本地应用日历和任务列表。虚拟代理114可以被配置为跨这多个来源(并且可能还有其它来源)聚集排程信息并且聚集的用户数据可以被存储,供虚拟代理查询。通过聚集来自多个来源的用户数据,虚拟代理可以能够快速确定用户的用户数据的更全面视图,而不必单独地查询不同的来源。但是,应当理解,不是所有实施例都需要聚集用户数据。更确切地说,在一些实施例中,虚拟代理可以在分配给虚拟代理的特定任务(例如,管理排程信息)期间查询多个来源。在还有的其它实施例中,只有一些用户数据可被聚集,而其它用户数据不被聚集。此外,另选地,除排程数据之外的其它用户数据可以被聚集,并且排程数据仅仅是作为可以被聚集的数据类型的例子提供的。In some embodiments, to facilitate interaction with user data, virtual agent 114 may be configured to aggregate user data for a particular user associated with the virtual agent. For example, a user's scheduling information may exist in multiple sources, including web-based calendars, native application calendars, and task lists. Virtual agent 114 may be configured to aggregate scheduling information across these multiple sources (and possibly other sources) and the aggregated user data may be stored for query by the virtual agent. By aggregating user data from multiple sources, a virtual agent may be able to quickly determine a more comprehensive view of a user's user data without having to individually query different sources. However, it should be understood that not all embodiments require aggregation of user data. More specifically, in some embodiments, a virtual agent may query multiple sources during a particular task assigned to a virtual agent (eg, managing scheduling information). In still other embodiments, only some user data may be aggregated while other user data is not aggregated. Furthermore, other user data than schedule data may alternatively be aggregated, and schedule data is provided only as an example of the types of data that may be aggregated.
用户数据可以以任何合适的方式被聚集和存储。例如,至少一些聚集的用户数据可以被本地存储在用户的电子设备上和/或聚集的用户数据可以被至少部分地存储在用户的虚拟代理可以经一个或多个网络访问的一个或多个网络连接的数据存储上。在一些实施例中,用户数据“在云中”存储是优选的,因为用户数据接着可以让用户所使用的多个电子设备和/或另一用户的虚拟代理访问,假定该另一用户的虚拟代理被准许访问所述用户数据的话。由特定用户的虚拟代理聚集的数据可被周期性地更新和/或用户数据可以响应于用户请求而被更新。用户数据被更新的特定方式不是本发明实施例的限制。User data may be aggregated and stored in any suitable manner. For example, at least some of the aggregated user data may be stored locally on the user's electronic device and/or the aggregated user data may be stored at least in part on one or more networks accessible by the user's virtual agent via one or more networks on the connected data store. In some embodiments, user data storage "in the cloud" is preferred because the user data can then be accessed by multiple electronic devices used by the user and/or by another user's virtual proxy, assuming that other user's virtual Proxy is granted access to said user data. Data aggregated by a virtual agent for a particular user may be updated periodically and/or user data may be updated in response to user requests. The particular manner in which user data is updated is not a limitation of embodiments of the invention.
在一些实施例中,与一个用户相关联的虚拟代理可以调用和与另一用户相关联的虚拟代理的通信会话,以执行一个或多个动作。虚拟代理之间的通信会话可以响应于用户输入而被调用以便在前台执行一个或多个动作,和/或虚拟代理之间的通信会话可以在没有用户输入的情况下被自动调用以便在后台无需用户输入地执行一个或多个动作。在本文的公开内容中,与调用通信会话的虚拟代理相关联的用户被称为“发送方”,与从发送方的虚拟代理接收通信的虚拟代理相关联的用户被称为“接收方”。此外,发送方的电子设备在本文中常常被称为“发送设备”,而接收方的电子设备在本文中常常被称为“接收设备”。但是,应当认识到,任何电子设备都可以发送和接收通信并且这个术语不限制任何特定设备的功能。In some embodiments, a virtual agent associated with one user may invoke a communication session with a virtual agent associated with another user to perform one or more actions. A communication session between virtual agents may be invoked in response to user input to perform one or more actions in the foreground, and/or a communication session between virtual agents may be invoked automatically without user input so as to be performed in the background without User input to perform one or more actions. In this disclosure, a user associated with a virtual agent invoking a communication session is referred to as a "sender," and a user associated with a virtual agent receiving a communication from the sender's virtual agent is referred to as a "receiver." Additionally, the sender's electronic device is often referred to herein as a "sending device," and the recipient's electronic device is often referred to herein as a "receiving device." However, it should be recognized that any electronic device can send and receive communications and this term does not limit the functionality of any particular device.
用于响应于用户输入而调用代理通信会话的示例性过程在图2中说明。在动作210,从电子设备的用户接收用户输入。如以上所讨论的,在包括语音接口的一些实施例中,用户输入可以包括语音输入,该语音输入包括让虚拟代理执行一个或多个动作的请求,其中动作包括由用于另一用户的至少一个其它虚拟代理的参与。例如,用户(即,发送方)可以问虚拟代理“John在哪里?”。响应于这个问题,虚拟代理可以确定发送方想要关于名叫John的另一用户(即,接收方)的位置的信息,并且虚拟代理可以与用户数据(例如,所存储的联系人、排程信息等等)交互,以尝试确定预期接收方用户John的联系人信息。An exemplary process for invoking an agent communication session in response to user input is illustrated in FIG. 2 . In act 210, user input is received from a user of the electronic device. As discussed above, in some embodiments that include a voice interface, user input may include voice input that includes a request for the virtual agent to perform one or more actions, where the actions include at least one action for another user. The participation of one other virtual agent. For example, the user (ie, the sender) may ask the virtual agent "Where is John?". In response to this question, the virtual agent can determine that the sender wants information about the location of another user named John (i.e., the recipient), and the virtual agent can communicate with user data (e.g., stored contacts, schedules, etc.) information, etc.) to try to determine the contact information of the intended recipient user John.
响应于接收到用户输入,过程前进到动作210,在那里确定与另一虚拟代理的通信会话是否应当被调用。这种确定可以至少部分地基于所接收的用户输入并且这种确定可以以任何合适的方式做出。在一些实施例中,是否与另一虚拟代理进行通信的确定是通过评估用户输入的内容以便识别用于调用与另一用户关联的虚拟代理的通信会话的一个或多个触发词来做出的。例如,诸如结合人名使用的“在哪里”、“家里”和“在路上”的触发词可以指示用户调用与位置信息相关的通信会话的意图。响应于接收到对应于以上所讨论的例子的用户输入(即,“John在哪里”),用于发送方的虚拟代理可以识别出触发词“在哪里”之后跟着人名“John”并且可以确定发送方想知道John的位置信息。虚拟代理还可以结合其它的上下文数据,诸如时间、位置、用户历史或者某种组合,来确定意图。如果在联系人中存在“John”的多个列表,则代理可以查看用户最经常或者通常从那个位置或时间与哪个“John”通信。在另一个例子中,发送方可以说“告诉John我在路上并且我在二十分钟后应当在那里。”响应于接收到这个输入,虚拟代理可以识别出结合名叫John的用户所使用的触发词“在路上”并且可以确定发送方想通知John该用户的当前位置和估计的到达时间。In response to receiving user input, the process proceeds to act 210, where it is determined whether a communication session with another virtual agent should be invoked. Such a determination may be based at least in part on received user input and may be made in any suitable manner. In some embodiments, the determination of whether to communicate with another virtual agent is made by evaluating user input to identify one or more trigger words for invoking a communication session with a virtual agent associated with another user . For example, trigger words such as "where," "at home," and "on the way" used in conjunction with a person's name may indicate a user's intent to invoke a communication session related to location information. In response to receiving user input corresponding to the example discussed above (i.e., "Where is John"), the virtual agent for the sender may recognize the trigger word "Where" followed by the person name "John" and may determine to send Fang wants to know John's location information. The virtual agent can also incorporate other contextual data, such as time, location, user history, or some combination, to determine intent. If there are multiple listings for "John" in the contacts, the agent can see which "John" the user communicates with most often or usually from that location or time. In another example, the sender can say "tell John I'm on my way and I should be there in twenty minutes." Responsive to receiving this input, the virtual agent can identify a trigger used in conjunction with a user named John The word "on the way" and may determine that the sender wants to inform John of the user's current location and estimated time of arrival.
在一些实施例中,信息可以通过向接收方的电子设备发送包括这个信息的消息(例如,文本消息)被发送到用户(即,接收方)的电子设备。例如,在上面的例子中,如果John不与虚拟代理关联(例如,因为他的电子设备不包括虚拟代理应用),则John的电子设备可以从发送方接收包括内容“我在路上并且我在二十分钟后应当在那里。”的文本消息。但是,如果John的电子设备与虚拟代理关联,则传入通信可以被John的虚拟代理解释,以提供更丰富的用户体验,如以下更详细讨论的。因为发送方可能事先不知道接收方是否具有在接收方的设备上执行的兼容虚拟代理,所以发送方的设备可以向接收方的设备提供传出通信,以便在发送消息之前确定第二代理是否在接收方的设备上存在。基于接收方设备的响应,第一代理可以解释要发送的消息的适当类型。如果接收方不与虚拟代理关联,则来自发送方的被接收通信中的至少一些内容可以仍然在接收方的设备上显示(例如,作为文本消息)。因而,本发明的一些实施例允许与此类(带或不带虚拟代理的)设备的用户关联的带或不带虚拟代理的电子设备之间的通信,不与虚拟代理关联的用户接收常规类型的消息(例如,文本消息、即时消息、电子邮件消息、基于web的应用,等等),与虚拟代理关联的用户以可以被他们的虚拟代理解释的方式接收内容,以提供丰富的用户体验,包括提供与发送方虚拟代理的响应性通信。In some embodiments, the information may be sent to the user's (ie, recipient's) electronic device by sending a message (eg, a text message) including this information to the recipient's electronic device. For example, in the example above, if John is not associated with a virtual agent (e.g., because his electronic device does not include a virtual agent application), John's electronic device may receive from the sender a message that includes "I am on the road and I am on the 2nd." Should be there in ten minutes." text message. However, if John's electronic device is associated with a virtual agent, the incoming communication may be interpreted by John's virtual agent to provide a richer user experience, as discussed in more detail below. Because the sender may not know in advance whether the recipient has a compatible virtual agent executing on the recipient's device, the sender's device can provide outgoing communications to the recipient's device to determine whether the second agent is running on the recipient's device before sending the message. exists on the receiver's device. Based on the recipient device's response, the first agent can interpret the appropriate type of message to send. If the recipient is not associated with a virtual agent, at least some of the content of the received communication from the sender may still be displayed on the recipient's device (eg, as a text message). Thus, some embodiments of the invention allow communication between electronic devices with or without virtual proxies associated with users of such devices (with or without virtual proxies), users not associated with virtual proxies receiving conventional type messages (e.g., text messages, instant messages, email messages, web-based applications, etc.), users associated with virtual agents receive content in a manner that can be interpreted by their virtual agents to provide a rich user experience, Including providing responsive communication with sender virtual agents.
虽然以上的例子描述了关于位置信息的通信,但是其它类型的信息也可以利用根据本发明实施例的代理到代理的通信而被请求和/或共享。例如,可以被请求或传送的其它类型的信息包括(但不限于)排程信息、用户内容信息(例如,联系人信息或其它用户数据)以及位置信息、排程信息和用户内容信息的任意组合。在一些实施例中,每种类型的信息可以与由虚拟代理识别的触发用词关联,以通知虚拟代理用户的意图。例如,当结合接收方用户的名字使用时,诸如“安排”、“何时”和“可用”的触发词可以指示要执行的动作是关于排程信息的,诸如“共享”或“联系人”的触发词可以指示要执行的动作是关于请求或提供用户内容信息的。应当认识到,这些触发词仅仅是为了示例而提供的并且任何合适的词、短语或上下文数据(例如,位置、时间、行为历史等)都可以被根据本发明实施例的虚拟代理用来确定发送方的意图。While the above examples describe communication regarding location information, other types of information may also be requested and/or shared using agent-to-agent communication in accordance with embodiments of the present invention. For example, other types of information that may be requested or transmitted include, but are not limited to, scheduling information, user content information (e.g., contact information or other user data), and any combination of location information, scheduling information, and user content information . In some embodiments, each type of information may be associated with a trigger word identified by the virtual agent to inform the virtual agent of the user's intent. For example, trigger words such as "Schedule," "When," and "Available" when used in conjunction with the recipient user's name may indicate that the action to be performed is with respect to scheduling information, such as "Share" or "Contact" The trigger word for may indicate that the action to be performed is about requesting or providing user content information. It should be appreciated that these trigger words are provided for example only and that any suitable word, phrase, or contextual data (e.g., location, time, behavior history, etc.) party's intentions.
返回到图2的过程,如果在动作220中确定用户不打算调用与另一虚拟代理的通信会话,则过程前进到动作222,在那里基于用户输入执行动作。例如,如果用户输入是“电影院在哪里?”,则用户的虚拟代理可以确定,虽然输入包括触发词“在哪里”,但是词“电影院”不涉及另一用户。因而,虚拟代理可以确定与另一虚拟代理的通信会话不是要执行的适当动作,并且作为代替,虚拟代理可以执行诸如对用户位置附近的电影院的web搜索的另一动作,或者某个其它合适的动作。Returning to the process of FIG. 2, if in act 220 it is determined that the user does not intend to invoke a communication session with another virtual agent, then the process proceeds to act 222 where an action is performed based on user input. For example, if the user input is "Where is the movie theater?", the user's virtual agent may determine that although the input includes the trigger word "Where is," the word "Movie theater" does not refer to another user. Thus, the virtual agent may determine that a communication session with another virtual agent is not an appropriate action to perform, and instead the virtual agent may perform another action such as a web search for movie theaters near the user's location, or some other suitable action. action.
如果在动作220中确定与另一用户的虚拟代理的通信会话应当被调用,则过程前进到动作230,在那里确定到接收方的虚拟代理的传出通信的内容。虚拟代理可以以任何合适的方式确定传出通信的内容。在一个例子中,如果用户输入是“John在哪里?”,则虚拟代理可以确定传出通信应当包括对接收方John的位置的请求,并且这个请求可以被发送到使用与John关联的虚拟代理的电子设备,如以下更详细讨论的。If in act 220 it is determined that a communication session with another user's virtual agent should be invoked, then the process proceeds to act 230 where the content of the outgoing communication to the recipient's virtual agent is determined. A virtual agent may determine the content of outgoing communications in any suitable manner. In one example, if the user input is "Where is John?", the virtual agent can determine that the outgoing communication should include a request for recipient John's location, and this request can be sent to a user using the virtual agent associated with John. Electronic devices, as discussed in more detail below.
在一些情况下,传出通信的内容可以包括包含多于一种类型信息的请求。例如,如果用户输入是“预期John何时到达比赛?”,则发送方的虚拟代理可以理解,为了确定John到达比赛的预期到达时间,发送方的虚拟代理将需要知道John的位置、“比赛”的位置以及基于例如John的当前速度知道John在其当前位置和比赛位置之间要行进多长时间。在这个例子中,发送方的虚拟代理可以尝试通过识别用户有可能通过用户输入中的一个或多个词指什么来确定发送方的意图。例如,虚拟代理可以通过与发送方的用户数据(例如,发送方的联系人信息)交互来尝试识别预期的接收方John。如果虚拟代理不可以识别预期的接收方,则虚拟代理可以提示用户提供更多信息。虚拟代理还可以至少部分地基于发送方的用户数据尝试发现“比赛”的预期意义。例如,虚拟代理可以与发送方的排程信息交互,以确定是否存在对应于一类比赛(例如,棒球比赛、足球比赛,等等)的所安排事件。基于这种调查,虚拟代理可以确定“比赛”的标识并且比赛的对应位置也有可能由虚拟代理基于所安排事件中的信息来推断。In some cases, the content of outgoing communications may include requests containing more than one type of information. For example, if the user input is "When is John expected to arrive at the race?", the sender's virtual agent can understand that in order to determine John's expected arrival time for the race, the sender's virtual agent will need to know John's location, "race" and knowing how long John has to travel between his current position and the race position based on, for example, John's current speed. In this example, the sender's virtual agent may attempt to determine the sender's intent by identifying what the user is likely to mean by one or more words in the user input. For example, the virtual agent may attempt to identify John, the intended recipient, by interacting with the sender's user data (eg, the sender's contact information). If the virtual agent cannot identify the intended recipient, the virtual agent can prompt the user to provide more information. The virtual agent may also attempt to discover the intended meaning of the "match" based at least in part on the sender's user data. For example, the virtual agent may interact with the sender's scheduling information to determine whether there is a scheduled event corresponding to a type of game (eg, baseball game, football game, etc.). Based on this investigation, the virtual agent can determine the identity of the "match" and the corresponding location of the game may also be inferred by the virtual agent based on information in the scheduled event.
在一些实施例中,发送方的虚拟代理可能不能确定用户输入中某些词的意义,但是接收方的虚拟代理可以能够确定。在这种情况下,传出通信可以包括对发送方的虚拟代理不能解释某些词的指示和对查看接收方的虚拟代理是否可以解释那些词的到接收方的虚拟代理的请求。在一些实施例中,所有用户输入可以发送到接收方虚拟代理并且接收方的虚拟代理可以提供发送方虚拟代理的解释的确认(例如,基于接收方的用户数据)。在其它实施例中,只有一部分用户输入可以被发送到接收方的虚拟代理并且本发明的实施例不受虚拟代理之间传送的数据量的限制。In some embodiments, the sender's virtual agent may not be able to determine the meaning of certain words in the user input, but the recipient's virtual agent may be able to. In this case, the outgoing communication may include an indication that the sender's virtual agent cannot interpret certain words and a request to the recipient's virtual agent to see if the recipient's virtual agent can interpret those words. In some embodiments, all user input may be sent to the recipient virtual agent and the recipient's virtual agent may provide confirmation of the sender's virtual agent's interpretation (eg, based on the recipient's user data). In other embodiments, only a portion of the user input may be sent to the recipient's virtual agent and embodiments of the invention are not limited by the amount of data transferred between virtual agents.
如果用于预期接收方的联系人信息是基于发送方的用户数据识别的,则虚拟代理可以至少部分地基于识别出的联系人信息产生传出通信。在一些实施例中,如果虚拟代理没有从发送方的用户数据唯一地识别出预期的接收方,则虚拟代理可以提示用户提供更多信息来解决歧义。If contact information for the intended recipient is identified based on the sender's user data, the virtual agent can generate the outgoing communication based at least in part on the identified contact information. In some embodiments, if the virtual agent does not uniquely identify the intended recipient from the sender's user data, the virtual agent may prompt the user to provide more information to resolve the ambiguity.
在确定传出通信中要包括的合适内容之后,图2的过程前进到动作240,在那里传出通信被发送到接收用户(receiving user)的电子设备。在一些实施例中,用户数据可以包括用于把通信发送到用户联系人列表中的一个或多个联系人的偏好信息并且传出通信可以利用对于特定用户的优选通信方法发送到接收方的用户设备。在上面的例子中,发送方的用户数据可以指示发送方一般偏好利用文本消息向预期的接收方“John”发送通信。因而,响应于确定预期的接收方是John,发送方的虚拟代理可以作为文本消息产生并向John的电子设备发送传出通信。一经接收到传入文本消息,并且假定接收方的电子设备与虚拟代理关联,则虚拟代理可以解释文本消息中的信息,以执行至少一个动作,如以下更详细讨论的。如果John的设备不与虚拟代理关联,则该设备可以以常规格式显示传入文本消息。After determining suitable content to include in the outgoing communication, the process of FIG. 2 proceeds to act 240, where the outgoing communication is sent to the receiving user's electronic device. In some embodiments, user data may include preference information for sending communications to one or more contacts in the user's contact list and outgoing communications may be sent to the recipient's user using the preferred communication method for the particular user equipment. In the above example, the sender's user data may indicate that the sender generally prefers to send communications to the intended recipient "John" using text messages. Thus, in response to determining that the intended recipient is John, the sender's virtual agent can generate and send the outgoing communication to John's electronic device as a text message. Upon receiving the incoming text message, and assuming the recipient's electronic device is associated with the virtual agent, the virtual agent can interpret the information in the text message to perform at least one action, as discussed in more detail below. If John's device is not associated with a virtual agent, the device can display the incoming text message in a conventional format.
在一些实施例中,虚拟代理可以学习与虚拟代理关联的用户的用户偏好。虚拟代理可以以任何合适的方式学习用户偏好。例如,虚拟代理可以通过跟踪一个或多个指示用户何时偏好发送特定类型的通信的行为变量来学习用户偏好。为了学习用户偏好而可以被跟踪的行为变量可以包括(但不限于)使用频率、时间以及星期几。此外,用户偏好可以特定于特定的预期接收方。在一些实施例中,用户偏好可以作为与特定用户关联的用户数据存储,但是存储用户偏好的特定方式不是本发明实施例的限制方面。In some embodiments, the virtual agent may learn user preferences of users associated with the virtual agent. A virtual agent may learn user preferences in any suitable manner. For example, a virtual agent can learn user preferences by tracking one or more behavioral variables that indicate when a user prefers to send a particular type of communication. Behavioral variables that may be tracked for learning user preferences may include, but are not limited to, frequency of use, time of day, and day of the week. Additionally, user preferences may be specific to a particular intended recipient. In some embodiments, user preferences may be stored as user data associated with a particular user, although the particular manner of storing user preferences is not a limiting aspect of embodiments of the invention.
在动作240中发送传出通信之后,过程前进到动作250,在那里可选地由发送电子设备从传出通信发送到其的电子设备接收响应通信。响应通信可以包括对应于发送到接收设备的传出通信的任何合适的信息。例如,响应通信可以包括传出通信由接收电子设备接收的确认。响应通信还可以包括对传出通信中所包括的一个或多个请求进行响应的信息(例如,对接收用户的位置的请求进行响应的接收用户的位置)。响应通信还可以包括来自接收用户的虚拟代理的一个或多个请求,以便在执行传出通信中的请求中所指定的一个或多个动作之前提供附加的信息。通信可以在发送方和接收方的虚拟代理之间继续,直到动作已经被执行或者其中一个用户取消了通信。After sending the outgoing communication in act 240, the process proceeds to act 250, where a response communication is optionally received by the sending electronic device from the electronic device to which the outgoing communication was sent. The response communication may include any suitable information corresponding to the outgoing communication sent to the receiving device. For example, a responsive communication may include an acknowledgment that the outgoing communication was received by the receiving electronic device. The responsive communication may also include information in response to one or more requests included in the outgoing communication (eg, the location of the receiving user in response to a request for the location of the receiving user). The responsive communication may also include one or more requests from the receiving user's virtual agent to provide additional information prior to performing one or more actions specified in the request in the outgoing communication. Communication can continue between the sender's and receiver's virtual agents until an action has been performed or one of the users cancels the communication.
虽然虚拟代理之间的通信可以不需要来自一个或双方用户的交互来执行动作(例如,基于用户的日历安排预约),但是在一些实施例中,一个或双方用户可以在实际执行动作之前被提示确认该动作。例如,在一些实施例中,提供可以被认为是私有信息(例如,用户的位置)的信息可以在向另一用户提供该信息之前要求用户的确认。关于在虚拟助理之间共享信息的约束可以以任何合适的方式实现并且本发明的实施例在这方面没有限制。While communication between virtual agents may not require interaction from one or both users to perform an action (e.g., schedule an appointment based on the user's calendar), in some embodiments one or both users may be prompted before actually performing the action Confirm the action. For example, in some embodiments, providing information that may be considered private information (eg, a user's location) may require a user's confirmation before providing that information to another user. Constraints on sharing information between virtual assistants may be implemented in any suitable manner and embodiments of the invention are not limited in this regard.
在一些实施例中,一个或多个任务可以委托给虚拟代理,使得一个用户的虚拟代理与一个或多个其它用户的虚拟代理之间的通信在后台发生,有或没有来自与虚拟代理关联的用户的中间输入。在图3中说明用于管理任务的示例性过程,而无需用户输入来开始该过程。在动作310中,代理监视用户数据,以确定与指定任务关联的条件是否已发生。In some embodiments, one or more tasks may be delegated to a virtual agent such that communications between one user's virtual agent and one or more other user's virtual agents occur in the background, with or without input from a virtual agent associated with the virtual agent. Intermediate input from the user. An exemplary process for managing tasks is illustrated in FIG. 3 without requiring user input to initiate the process. In act 310, the agent monitors the user data to determine whether a condition associated with the specified task has occurred.
在一个说明性例子中,指定给虚拟代理的任务可以是管理包括在用户的排程信息中的用户事件和预约,并且虚拟代理可以被配置为监视的条件可以是用户是否有可能对所安排的事件迟到。虚拟代理可以以任何合适的方式做出这种确定。例如,与第一用户关联的虚拟代理可以与用于第一用户的用户数据交互,以确定第一用户与第二用户有安排在12:00pm在特定饭馆的午餐会。虚拟代理还可以利用例如包括在第一用户的电子设备中的位置传感器确定第一用户的位置。当时间接近所安排的事件时(例如,所安排的事件之前15分钟),虚拟代理可以比较第一用户的位置与饭馆的位置,以确定第一用户是否有可能按时到达饭馆进行所安排的会议。这种确定可以以任何合适的方式做出并且本发明的实施例不受虚拟代理确定两个位置之间估计的行进时间的特定方式的限制。In one illustrative example, the task assigned to the virtual agent may be to manage user events and appointments included in the user's scheduling information, and the condition the virtual agent may be configured to monitor may be whether the user is likely to respond to the scheduled Event late. The virtual agent can make this determination in any suitable manner. For example, a virtual agent associated with a first user may interact with user data for the first user to determine that the first user has a lunch meeting with the second user scheduled at a particular restaurant at 12:00pm. The virtual agent may also determine the location of the first user using, for example, a location sensor included in the first user's electronic device. When the time is close to the scheduled event (e.g., 15 minutes before the scheduled event), the virtual agent can compare the first user's location to the restaurant's location to determine whether the first user is likely to arrive at the restaurant on time for the scheduled meeting. This determination may be made in any suitable manner and embodiments of the invention are not limited to the particular manner in which the virtual agent determines the estimated travel time between two locations.
响应于确定条件已发生(例如,确定了用户不可能参加所安排的事件),过程前进到动作312,在那里确定用户是否应当被提醒该条件的发生。是否提醒用户的确定可以以任何合适的方式做出,包括将该确定至少部分地基于委托给虚拟代理的任务类型。在上述例子中,当虚拟代理确定用户对所安排的事件将迟到时,虚拟代理可以提醒用户他们有可能晚到会议并且过程前进到动作314,在那里用户被提示是否应当向第二用户的设备发送传出通信,以通知他们第一用户对于该所安排的事件会迟到。如以下进一步描述的,委托给虚拟代理的其它任务可以在不需要来自用户的交互或确认的情况下执行并且实施例在这方面没有限制。In response to determining that a condition has occurred (eg, it is determined that the user is unlikely to attend the scheduled event), the process proceeds to act 312 where it is determined whether the user should be reminded of the occurrence of the condition. The determination of whether to alert the user may be made in any suitable manner, including basing the determination at least in part on the type of task entrusted to the virtual agent. In the example above, when the virtual agent determines that the user will be late for a scheduled event, the virtual agent may alert the user that they may be late for the meeting and the process proceeds to act 314, where the user is prompted whether they should report to the second user's device An outgoing communication is sent to inform them that the first user will be late for the scheduled event. As described further below, other tasks delegated to the virtual agent may be performed without interaction or confirmation from the user and the embodiments are not limited in this regard.
响应于用户对动作314中的提醒的响应,或者如果在动作312中确定委托给虚拟代理的任务类型不需要用户提醒,过程前进到动作316,在那里确定是否有至少一个其它用户应当被提醒条件的发生。如果在动作316中确定传出通信应当发送到至少一个其它用户,则过程前进到动作318,在那里通信被发送到所述至少一个其它代理。In response to the user's response to the reminder in act 314, or if it is determined in act 312 that the type of task entrusted to the virtual agent does not require user reminders, the process proceeds to act 316, where it is determined whether there is at least one other user who should be reminded of the condition happened. If in act 316 it is determined that the outgoing communication should be sent to at least one other user, then the process proceeds to act 318 where the communication is sent to the at least one other agent.
在以上的例子中,响应于确定第一用户将晚到所安排的会议,虚拟代理可以向第二用户的电子设备发送传出通信,以通知第二用户第一用户将迟到。在一些实施例中,传出通信可以还包括其它信息,包括但不限于第一用户的当前位置,以及关于第一用户到达所安排的会议的估计到达时间。在一些实施例中,第一用户的虚拟代理和第二用户的虚拟代理可以继续传送关于第一用户的位置和/或第二用户的位置的信息,以提供用户到达所安排的会议的估计到达时间的实时更新。例如,如果第一用户的虚拟代理确定第一用户有可能晚到所安排的会议三十分钟,则当第一用户到达所安排的会议地点时和/或在预期第一用户到达之前很短时间,第一用户的虚拟代理可以向第二用户的虚拟代理发送跟随通信。In the above example, in response to determining that the first user will be late for a scheduled meeting, the virtual agent may send an outgoing communication to the second user's electronic device to notify the second user that the first user will be late. In some embodiments, the outgoing communication may also include other information including, but not limited to, the current location of the first user, and an estimated time of arrival regarding the first user's arrival at the scheduled meeting. In some embodiments, the first user's virtual agent and the second user's virtual agent may continue to communicate information about the first user's location and/or the second user's location to provide an estimated arrival of the users to the scheduled meeting Time updates in real time. For example, if the first user's virtual agent determines that the first user is likely to be thirty minutes late for a scheduled meeting, when the first user arrives at the scheduled meeting location and/or shortly before the first user's expected arrival , the virtual agent of the first user may send a follow-through communication to the virtual agent of the second user.
一旦接收到,与第二用户关联的虚拟代理就可以解释传出通信中的信息,以提醒第二用户条件的发生。如上面所描述的,被接收的通信可以包括诸如到识别第一用户的当前位置的地图应用的链接的附加信息。响应于从第一用户接收到通信,第二用户的虚拟代理可以解释该通信,以便在第二用户的电子设备上显示地图,从而示出第一用户的当前位置和/或估计的到达时间。如以上所讨论的,如果第二用户的电子设备不包括能够解释所接收的通信以便例如显示第一用户位置的地图的兼容虚拟代理,则仍然可以利用常规通信应用提醒第二用户,所述常规通信应用诸如基于文本的应用(例如,电子邮件或文本消息传输应用)。Once received, a virtual agent associated with the second user can interpret the information in the outgoing communication to alert the second user of the occurrence of the condition. As described above, the received communication may include additional information such as a link to a map application that identifies the first user's current location. In response to receiving a communication from the first user, the second user's virtual agent can interpret the communication to display a map on the second user's electronic device showing the first user's current location and/or estimated time of arrival. As discussed above, if the second user's electronic device does not include a compatible virtual agent capable of interpreting received communications to display, for example, a map of the first user's location, the second user can still be alerted using conventional communication applications that Communication applications such as text-based applications (eg, email or text messaging applications).
在一些实施例中,虚拟代理可以被指定监视不需要响应于特定条件的发生而提醒用户的事件的任务。当用户的电子设备被置为特定的模式(例如,静音模式或振动模式)时或者如果电子装置被关闭,与该用户相关联的虚拟代理可以被指定监视到该设备的传入通信和向传入消息的发送方发送该用户当前不可用的响应通信的任务。在本发明的一些实施例中,响应通信可以包括可以由与发送传入通信的用户相关联的虚拟代理解释的附加信息。例如,响应消息可包括描述何时接收用户将可用的信息或者响应消息可以包括要利用不同格式(例如,文本消息而不是电话呼叫)发送通信的信息。In some embodiments, a virtual agent may be tasked with monitoring events that do not require the user to be alerted in response to the occurrence of a particular condition. When a user's electronic device is placed in a particular mode (e.g., silent mode or vibrate mode) or if the electronic device is turned off, a virtual agent associated with the user can be assigned to monitor incoming and outgoing communications to the device. The sender of the incoming message sends a task for the response communication that the user is currently unavailable. In some embodiments of the invention, the response communication may include additional information that may be interpreted by a virtual agent associated with the user who sent the incoming communication. For example, the response message may include information describing when the receiving user will be available or the response message may include information that the communication is to be sent using a different format (eg, a text message rather than a phone call).
在一些实施例中,虚拟助理可以基于与电子设备的用户的用户数据的交互来改变该电子设备的行为。例如,虚拟助理可以基于用户的排程信息确定该用户被安排从下午1-2点在会议中。当虚拟代理确定该用户在会议中时(例如,因为时间是下午1点),虚拟代理可以指示电子设备自动进入静音或振动模式,由此防止该电子设备干扰会议中的其它人。虚拟代理还可以确定何时会议结束(例如,因为时间是下午2点),虚拟代理可以指示电子设备退出静音/振动模式。在一些实施例中,在退出静音/振动模式之前,用户可以被提示,以确认是否期望退出静音/振动模式。In some embodiments, the virtual assistant may alter the behavior of the electronic device based on interactions with user data of a user of the electronic device. For example, the virtual assistant may determine based on the user's scheduling information that the user is scheduled to be in a meeting from 1-2 pm. When the virtual agent determines that the user is in the meeting (for example, because the time is 1 pm), the virtual agent can instruct the electronic device to automatically go into silent or vibrate mode, thereby preventing the electronic device from disturbing others in the meeting. The virtual agent can also determine when the meeting is over (for example, because the time is 2 pm), the virtual agent can instruct the electronic device to exit silent/vibrate mode. In some embodiments, prior to exiting silent/vibrate mode, the user may be prompted to confirm whether exiting silent/vibrate mode is desired.
根据本发明一些实施例的用于监视用户的电子设备的传入通信的示例性过程在图4中说明。在动作410中,传入通信(诸如文本消息或电话呼叫)被用户的电子设备接收。接着,该过程前进到动作412,在那里由与接收电子设备相关联的虚拟代理确定用户当前是否可用。用户当前是否可用的确定可以以任何合适的方式作出。例如,如果电子设备当前处于诸如静音模式或振动模式的特定模式,如以上所讨论的,则虚拟代理可以确定该用户不可用并且过程可以前进到动作414,在那里向发送传入通信的电子设备发送传出通信。An exemplary process for monitoring incoming communications of a user's electronic device according to some embodiments of the invention is illustrated in FIG. 4 . In act 410, an incoming communication, such as a text message or a phone call, is received by the user's electronic device. The process then proceeds to act 412, where it is determined by the virtual agent associated with the receiving electronic device whether the user is currently available. The determination of whether a user is currently available may be made in any suitable manner. For example, if the electronic device is currently in a particular mode, such as silent mode or vibrate mode, as discussed above, the virtual agent can determine that the user is unavailable and the process can proceed to act 414, where an electronic device sending an incoming communication Send outgoing communications.
不是仅仅指示用户不可用,在一些实施例中,传出通信还可以包括附加的信息,以通知发送传入消息的用户何时不可用的用户可用于通信。例如,响应于确定用户不可用于接收传入通信,用户的虚拟代理可以与用户的用户数据(例如,排程信息)交互,以确定用户何时下次可用于通信。在咨询用户数据之后,虚拟代理可以在传出消息中包括指示重新安排通信的一个或多个时间偏好的信息。通过建议重新安排通信的时间,发送传入通信的用户可以能够选择对双方用户都方便的时间。在发送传出通信之后,过程前进到动作316,在那里两个用户的虚拟代理可以发送一个或多个进一步的通信,以便基于他们的排程信息协商双方用户都相互可接受的时间。Rather than merely indicating that a user is unavailable, in some embodiments, an outgoing communication may include additional information to inform the user sending the incoming message when an unavailable user is available for communication. For example, in response to determining that the user is unavailable to receive incoming communications, the user's virtual agent may interact with the user's user data (eg, scheduling information) to determine when the user is next available for communication. After consulting the user data, the virtual agent may include in the outgoing message information indicating one or more time preferences for rescheduling the communication. By suggesting a rescheduled communication, the user sending the incoming communication may be able to choose a time that is convenient for both users. After sending the outgoing communication, the process proceeds to action 316, where the virtual agents of both users may send one or more further communications to negotiate a mutually acceptable time for both users based on their scheduling information.
在一些实施例中,用户可以配置虚拟代理以与其它传入消息不同的方式对某些传入消息做出响应。例如,如果传入消息是来自被虚拟代理识别为接收用户的一个联系人的用户,则虚拟代理可以被指示与发送用户(sending user)的虚拟代理通信,以便在相互可接受的时间重新安排通信。但是,如果传入消息是来自不在接收用户联系人当中的用户,则虚拟代理可以被指示不重新安排通信。根据一些实施例的用于修改虚拟代理的通信行为的偏好可以以任何合适的方式实现并且本发明的实施例在这方面没有限制。In some embodiments, a user can configure a virtual agent to respond to certain incoming messages differently than other incoming messages. For example, if an incoming message is from a user identified by the virtual agent as one of the receiving user's contacts, the virtual agent may be instructed to communicate with the sending user's virtual agent to reschedule the communication at a mutually acceptable time . However, if the incoming message is from a user who is not in the receiving user's contacts, the virtual agent may be instructed not to reschedule the communication. Preferences for modifying a virtual agent's communication behavior according to some embodiments may be implemented in any suitable manner and embodiments of the invention are not limited in this respect.
在一些实施例中,当电子设备从虚拟代理接收到传入通信时,与接收设备的用户关联的虚拟代理可以解释传入通信中的信息,以执行一个或多个动作。根据本发明一些实施例的用于处理由电子设备接收的传入通信的示例性过程在图5中说明。在动作510中,来自第一用户的虚拟代理的通信被第二用户的电子设备接收。通信可以以电子设备能够接收传入通信的任何格式被接收。例如,通信可以被格式化为(但不限于)基于文本的消息、即时消息、电话呼叫或者视频聊天会话。如果接收设备与虚拟代理关联,则该虚拟代理被配置为至少部分地基于被接收通信中信息的内容而执行至少一个动作。In some embodiments, when an electronic device receives an incoming communication from a virtual agent, the virtual agent associated with the user of the receiving device may interpret information in the incoming communication to perform one or more actions. An exemplary process for processing incoming communications received by an electronic device according to some embodiments of the invention is illustrated in FIG. 5 . In act 510, a communication from the virtual agent of the first user is received by the electronic device of the second user. Communications may be received in any format in which an electronic device is capable of receiving incoming communications. For example, communications may be formatted as, but are not limited to, text-based messages, instant messages, phone calls, or video chat sessions. If the receiving device is associated with a virtual agent, the virtual agent is configured to perform at least one action based at least in part on the content of the information in the received communication.
虚拟代理可以以任何合适的方式解释所接收的通信,以确定通信的内容,并且本发明的实施例在这方面没有限制。例如,当传入消息包括文本时,虚拟代理可以确定是否有任何文本对应于指示通信中所包括的请求类型的一个或多个触发用词。触发用词可以与以上结合调用代理通信会话和确定传出通信的内容所讨论的触发用词相同或不同。通过确定传入通信是否包括特定的触发用词,虚拟代理可以确定如何继续处理传入通信中的请求。例如,如果关于位置信息的触发用词包括在传入信息中,则虚拟代理可以执行关于基于位置的请求的一个或多个动作,包括如以下所描述的提示用户对共享用户的位置做出确认。其它类型的请求包括(但不限于)安排请求、用户内容交换请求、以及包括多种类型信息(例如,位置信息和排程信息)的请求。A virtual agent may interpret received communications in any suitable manner to determine the content of the communications, and embodiments of the invention are not limited in this regard. For example, when an incoming message includes text, the virtual agent can determine whether any text corresponds to one or more trigger words indicative of the type of request involved in the communication. The triggering terms may be the same as or different from those discussed above in connection with invoking an agent communication session and determining the content of an outgoing communication. By determining whether an incoming communication includes a particular trigger word, the virtual agent can determine how to proceed with the request in the incoming communication. For example, if a trigger word for location information is included in the incoming message, the virtual agent may perform one or more actions with respect to the location-based request, including prompting the user for confirmation of sharing the user's location as described below . Other types of requests include, but are not limited to, scheduling requests, user content exchange requests, and requests that include multiple types of information (eg, location information and scheduling information).
应当认识到,基于传入通信中的触发用词识别传入通信的类型只是虚拟代理可以确定关于传入通信中内容类型的信息的一种方式并且其它方式也是预期的。例如,在一种实现中,在虚拟代理之间发送的通信可以与提供通信中内容类型的指示的元数据关联并且虚拟代理可以能够至少部分地基于与通信关联的元数据来确定内容的类型。It should be appreciated that identifying the type of incoming communication based on triggering words in the incoming communication is only one way in which a virtual agent may determine information about the type of content in an incoming communication and that other ways are also contemplated. For example, in one implementation, communications sent between virtual agents may be associated with metadata providing an indication of the type of content in the communication and the virtual agent may be able to determine the type of content based at least in part on the metadata associated with the communication.
响应于确定传入通信的内容,过程前进到动作514,在那里确定是否需要用户交互作用于传入通信中的一个或多个请求。如果确定在作用于传入通信中的请求之前需要用户交互,则过程前进到动作516,在那里用户被提示提供用户输入以便继续。可能需要用户输入的例子是如果传入通信包括对用户位置信息的请求的话。例如,如果传入通信包括“你在哪里?”,则虚拟代理可以确定发送传入消息的用户想知道接收用户的位置。一些用户可能认为他们的位置是一般不应当与其它用户共享的私有信息。因而,响应于确定传入通信包括对用户位置的请求,接收用户的虚拟代理可以在电子设备的用户界面上向用户显示发送用户想知道接收用户的位置并且确认这个信息可以与发送用户共享的指示。另选地,或者除在用户界面上显示提示之外,电子设备还是可以以包括语音输出的某种其它形式提供提示。In response to determining the content of the incoming communication, the process proceeds to act 514, where it is determined whether user interaction is required for one or more requests in the incoming communication. If it is determined that user interaction is required before acting on the request in the incoming communication, the process proceeds to act 516 where the user is prompted to provide user input to continue. An example of where user input may be required is if the incoming communication includes a request for user location information. For example, if the incoming communication includes "Where are you?", the virtual agent can determine that the user sending the incoming message wants to know the location of the receiving user. Some users may consider their location to be private information that generally should not be shared with other users. Thus, in response to determining that the incoming communication includes a request for the location of the user, the virtual agent of the receiving user may display to the user on the user interface of the electronic device an indication that the sending user wants to know the location of the receiving user and confirms that this information can be shared with the sending user . Alternatively, or in addition to displaying the prompt on the user interface, the electronic device may provide the prompt in some other form including voice output.
除对位置信息的请求之外的其它传入通信也可能要求用户交互。例如,来自用户虚拟代理的传入通信可以包括把联系人信息添加到接收用户的联系人的请求并且响应于确定该请求是要修改接收用户的用户数据,接收用户的虚拟代理可以提示用户来指示发送用户想把联系人信息添加到该接收用户的联系人。响应于接收到该提示,接收用户可以确认或不理睬添加包括在传入通信中的联系人信息的请求。Other incoming communications besides requests for location information may also require user interaction. For example, an incoming communication from a user's virtual agent may include a request to add contact information to the receiving user's contacts and in response to determining that the request is to modify the receiving user's user data, the receiving user's virtual agent may prompt the user to indicate The sending user wants to add contact information to the receiving user's contacts. In response to receiving the prompt, the receiving user may confirm or dismiss the request to add contact information included in the incoming communication.
在一些实施例中,用户可以能够设置许可和隐私许可,用户的虚拟代理可以咨询该许可和隐私许可来确定对于特定类型的请求是否需要用户交互和/或什么信息可以与请求该信息的特定用户或所有用户共享。在一些实施例中,至少一些许可或隐私许可可以由虚拟代理的应用设计人员设置并且用户可能不能够改变这些许可。例如,虚拟代理的应用设计人员可以确定对于共享位置信息总是需要用户提示,但是关于对共享用户内容数据显示用户提示的许可是用户可配置的。应当认识到,这些例子仅仅是为了说明而提供的并且不限制本发明的实施例。In some embodiments, a user may be able to set permissions and privacy permissions that a user's virtual agent may consult to determine whether user interaction is required for a particular type of request and/or what information may be shared with the particular user requesting that information or shared by all users. In some embodiments, at least some permissions or privacy permissions may be set by the virtual agent's application designer and the user may not be able to change these permissions. For example, an application designer of a virtual agent may determine that user prompts are always required for sharing location information, but permission to display user prompts for sharing user content data is user configurable. It should be appreciated that these examples are provided for illustration only and do not limit embodiments of the invention.
返回图5,如果在动作514中确定不需要用户交互或者响应于从动作516中给出的提示接收到用户输入,则过程前进到动作518,在那里由虚拟代理执行一个或多个动作,以便对传入通信中所包括的请求做出响应。例如,如果传入通信包括“你在哪里?”并且接收用户已经对共享用户位置给出了许可,则虚拟代理可以查询电子设备的位置传感器,以确定用户的位置。接着,过程可以前进到动作520,在那里,响应通信被发送到发送传入通信的虚拟代理。在对用户位置的请求中,响应通信可以包括例如到显示接收用户位置的地图应用的网页的链接。响应于接收到响应通信,发出对位置信息的请求的代理可以在接收用户的设备上显示示出另一用户位置的地图。这可以例如由接收用户的虚拟代理指示web浏览器应用导航到响应通信中的链接来实现。Returning to Figure 5, if in act 514 it is determined that no user interaction is required or user input is received in response to a prompt given in act 516, the process proceeds to act 518 where one or more actions are performed by the virtual agent to Respond to requests included in incoming communications. For example, if the incoming communication includes "Where are you?" and the receiving user has given permission to share the user's location, the virtual agent can query the electronic device's location sensors to determine the user's location. Next, the process may proceed to act 520, where the response communication is sent to the virtual agent that sent the incoming communication. In the request for the user's location, the responsive communication may include, for example, a link to a web page displaying a map application that received the user's location. In response to receiving the response communication, the agent that issued the request for location information may display a map showing the location of the other user on the receiving user's device. This can be accomplished, for example, by the receiving user's virtual agent instructing the web browser application to navigate to a link in the responsive communication.
在一些实施例中,传入通信可以包括多个请求并且接收用户的虚拟代理可以根据这些请求执行多个动作。例如,传入通信可以包括“告诉Dave会议将推迟并且当他读到该信息时让我知道。”响应于这个传入通信,接收用户(即,Dave)的虚拟代理被指示来执行两个动作。第一个动作是指示接收用户所安排的会议将推迟,第二个动作是监视接收用户的行为,以确定接收用户何时阅读了关于会议被推迟的消息。响应于确定接收用户已经访问了该消息,接收用户的虚拟代理可以向发出请求的虚拟代理发送响应消息,以履行传入通信中的第二个请求。因而,在这个例子中,第一用户的虚拟代理可以为了第一用户控制第二用户的虚拟代理的行为以执行动作(在这种情况下,是监视接收用户的行为)。In some embodiments, an incoming communication may include multiple requests and the receiving user's virtual agent may perform multiple actions in accordance with the requests. For example, an incoming communication may include "Tell Dave that the meeting will be postponed and let me know when he reads the information." In response to this incoming communication, the virtual agent of the receiving user (i.e., Dave) is instructed to perform two actions . The first action is to indicate to the receiving user that the meeting scheduled will be postponed, and the second action is to monitor the receiving user's behavior to determine when the receiving user has read the message that the meeting has been postponed. In response to determining that the receiving user has accessed the message, the receiving user's virtual agent may send a response message to the requesting virtual agent to fulfill a second request in the incoming communication. Thus, in this example, a virtual agent of a first user may control the behavior of a virtual agent of a second user to perform an action for the first user (in this case, monitoring the behavior of the receiving user).
处理包括多个请求的传入通信的另一个例子是诸如“我妻子已经离开办公室了吗?请让我知道她何时将到家并且当她离家还有五分钟时告诉我”的传入通信。这个传入通信包括与用户的妻子关联的虚拟代理必须执行的三个动作。响应于接收到这个传入通信,妻子的虚拟代理将确定妻子的位置(例如,通过查询妻子的电子设备上的位置传感器),以确定她是否处于对应于其办公室的位置。假设用户的妻子同意共享她的位置,则妻子的虚拟代理可以通知用户的虚拟代理他的妻子已经离开办公室并且在回家的路上。接着,用户的虚拟代理可以在用户的电子设备上给出这个信息。在一些实施例中,这个响应消息还可以包括关于妻子的当前位置的信息,这个信息可以被用户的虚拟代理用来在地图上显示她的位置。Another example of handling an incoming communication that includes multiple requests is an incoming communication such as "Has my wife left the office yet? Please let me know when she will be home and let me know when she is five minutes away" . This incoming communication includes three actions that the virtual agent associated with the user's wife must perform. In response to receiving this incoming communication, the wife's virtual agent will determine the wife's location (eg, by querying a location sensor on the wife's electronic device) to determine if she is in a location corresponding to her office. Assuming the user's wife agrees to share her location, the wife's virtual agent may notify the user's virtual agent that his wife has left the office and is on his way home. The user's virtual agent can then present this information on the user's electronic device. In some embodiments, this response message may also include information about the wife's current location, which may be used by the user's virtual agent to display her location on a map.
要执行的第二个动作是估计何时妻子将到家。妻子的当前位置也可以被用来确定预期她何时到家的估计到达时间。这个确定可以以任何合适的方式做出并且该确定可以在妻子虚拟代理或用户的虚拟代理的指导下做出。例如,该确定可以包括各种因素,包括但不限于通常妻子花多长时间从其当前位置驱车到家、当前的交通条件以及妻子的当前位置和家之间道路的速度限制。The second action to perform is to estimate when the wife will be home. The wife's current location may also be used to determine an estimated time of arrival when she is expected to arrive home. This determination may be made in any suitable manner and may be made under the direction of the wife's virtual agent or the user's virtual agent. For example, the determination may include various factors including, but not limited to, how long it typically takes the wife to drive home from her current location, current traffic conditions, and the speed limit of the road between the wife's current location and home.
传入通信中的第三个动作是让妻子的虚拟代理在妻子离家五分钟时通知用户的虚拟代理。在一些实施例中,妻子的虚拟代理可以向用户的虚拟代理提供描述妻子当前位置的周期性更新。在其它实施例中,妻子的虚拟代理可以仅仅监视妻子的行程并且估计她何时离家五分钟。当满足这个条件时,妻子的虚拟代理可以接着向用户的代理发送她快要到家的通信。The third action in the incoming communication is to have the wife's virtual agent notify the user's virtual agent when the wife is away from home for five minutes. In some embodiments, the wife's virtual agent may provide the user's virtual agent with periodic updates describing the wife's current location. In other embodiments, the wife's virtual agent may simply monitor the wife's travel and estimate when she is five minutes away from home. When this condition is met, the wife's virtual agent may then send a communication to the user's agent that she will be home soon.
在一些实施例中,根据本发明一些实施例的代理到代理的通信可以被用来便利需要不同用户的多个虚拟代理之间协调的任务。例如,用户可能想与他的朋友Megan和Ben在对所有三个用户都方便的时间共进晚餐。不是利用向Megan和Ben当中每一个人的独立请求进行通信,用户可以如下指示用户的虚拟代理:“如果Megan和Ben在周六晚上有时间的话,请安排与他们的晚餐。”作为响应,用户的虚拟代理可以基于用户的联系人信息确定Megan和Ben的联系信息并且向Megan和Ben的虚拟代理发送传出通信,以便基于他们当中每个人的所存储的用户数据确定他们在周六晚上是否以及何时有时间吃晚饭。在传出通信中,用户的虚拟代理可以基于虚拟代理可以在发送传出通信之前访问的用户的排程信息包括一个或多个建议的时间。响应于向Megan和Ben的虚拟代理发送传出通信,用户的虚拟代理可以从Megan和Ben的虚拟代理接收指示他们的可用性(可以参加)的响应通信并且虚拟代理可以继续协商对所有用户都相互可接受的时间。在确定了可接受的时间之后,每个用户的虚拟代理可以更新对应用户的排程信息并且向用户发送晚餐已经安排好的通知。In some embodiments, agent-to-agent communication according to some embodiments of the invention may be used to facilitate tasks that require coordination between multiple virtual agents of different users. For example, a user may want to have dinner with his friends Megan and Ben at a time that is convenient for all three users. Rather than communicating with separate requests to each of Megan and Ben, the user may instruct the user's virtual agent as follows: "If Megan and Ben are free on Saturday night, please arrange dinner with them." In response, the user may determine Megan and Ben's contact information based on the user's contact information and send an outgoing communication to Megan and Ben's virtual agent to determine based on each of their stored user data whether they were on Saturday night and When will there be time for dinner. In an outgoing communication, the user's virtual agent may include one or more suggested times based on the user's scheduling information that the virtual agent may access prior to sending the outgoing communication. In response to sending an outgoing communication to Megan and Ben's virtual agents, the user's virtual agents may receive a response communication from Megan and Ben's virtual agents indicating their availability (available to attend) and the virtual agents may proceed to negotiate mutual availability to all users. accepted time. After determining an acceptable time, each user's virtual agent can update the corresponding user's scheduling information and send the user a notification that dinner has been scheduled.
如从以上描述应当清楚的是,本发明的提供与访问用户数据关联的代理到代理的通信以及许可和隐私偏好的实施例允许进行常规虚拟代理实现不会预期并通常不可以实现的功能。本文所提供的例子仅仅是作为由本发明实施例提供的功能的例子讨论的,并且可以受益于至少两个虚拟代理之间协调的任何其它功能也是可能的。As should be clear from the above description, embodiments of the present invention that provide agent-to-agent communication and permissions and privacy preferences associated with accessing user data allow for functionality that would not be expected and often impossible with conventional virtual agents. The examples provided herein are discussed merely as examples of functionality provided by embodiments of the present invention, and any other functionality that may benefit from coordination between at least two virtual agents is also possible.
可以结合本文所描述的本发明任何实施例使用的客户端计算机系统600的说明性实现在图6中示出。计算机系统600可以包括一个或多个处理器610和一个或多个计算机可读非暂态存储介质(例如,存储器620和一个或多个非易失性存储介质630)。处理器610可以控制以任何合适的方式把数据写入存储器620和非易失性存储设备630以及从它们读数据,因为本文所描述的本发明的各方面在这方面没有限制。为了执行本文所描述的任何功能,处理器610可以执行存储在一个或多个计算机可读存储介质(例如,存储器620)中的一条或多条指令,其中计算机可读存储介质可以充当存储用于由处理器610执行的指令的非暂态计算机可读存储介质。An illustrative implementation of a client computer system 600 that may be used in conjunction with any of the embodiments of the invention described herein is shown in FIG. 6 . Computer system 600 may include one or more processors 610 and one or more computer-readable non-transitory storage media (eg, memory 620 and one or more non-volatile storage media 630 ). Processor 610 may control the writing of data to and reading data from memory 620 and nonvolatile storage device 630 in any suitable manner, as the aspects of the invention described herein are not limited in this respect. To perform any of the functions described herein, processor 610 may execute one or more instructions stored in one or more computer-readable storage media (e.g., memory 620), which may serve as storage for A non-transitory computer-readable storage medium for instructions executed by the processor 610 .
应当认识到,客户端计算机600不受任何特定类型的计算机的限制并且可以包括(但不限于)手持式计算机、膝上型计算机、平板计算机、台式计算机、智能电话以及任何其它类型的能够在web浏览器中呈现web应用的计算设备。It should be appreciated that client computer 600 is not limited to any particular type of computer and may include, but is not limited to, handheld computers, laptop computers, tablet computers, desktop computers, smartphones, and any other type of web-enabled A computing device that renders web applications in a browser.
本发明的上述实施例可以以任意的多种方式实现。例如,实施例可以利用硬件、软件或者其组合实现。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,不管是在单个计算机中提供还是在多个计算机中分布的。应当认识到,执行上述功能的任何部件或部件集合可以一般性地被认为是控制以上讨论的功能的一个或多个控制器。这一个或多个控制器可以以多种方式实现,诸如利用专用硬件,或者利用通过用微代码或软件被编程为执行上述功能的通用硬件(例如,一个或多个处理器)。The above-described embodiments of the present invention can be implemented in any number of ways. For example, embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. It should be appreciated that any component or collection of components that perform the functions described above can be generally considered to be one or more controllers that control the functions discussed above. The one or more controllers can be implemented in a variety of ways, such as with dedicated hardware, or with general purpose hardware (eg, one or more processors) programmed with microcode or software to perform the functions described above.
在这点上,应当认识到,本发明实施例的一个实现包括至少一个利用计算机程序(即,多条指令)编码的非暂态计算机可读存储介质(例如,计算机存储器、软盘、紧凑盘、带,等等),当指令在处理器上执行时,执行本发明实施例的以上讨论的功能。计算机可读存储介质可以是可运输的,使得存储在其上的程序可以加载到任何计算机资源上,以实现本文讨论的本发明的各方面。此外,应当认识到,对在被执行时执行以上讨论的功能的计算机程序的引用不限于在主机计算机上运行的应用程序。更确切地说,术语“计算机程序”在本文中在一般性的意义上用来指任何类型可以被用来把处理器编程为实现本发明以上讨论的各方面的计算机代码(例如,软件或微代码)。In this regard, it should be appreciated that an implementation of an embodiment of the invention includes at least one non-transitory computer-readable storage medium (e.g., computer memory, floppy disk, compact disk, belt, etc.), when the instructions are executed on the processor, perform the above-discussed functions of the embodiments of the present invention. The computer readable storage medium may be transportable, such that the program stored thereon can be loaded onto any computer resource to implement the aspects of the present invention discussed herein. Furthermore, it should be appreciated that references to computer programs which when executed perform the functions discussed above are not limited to application programs running on a host computer. Rather, the term "computer program" is used herein in a generic sense to refer to any type of computer code (e.g., software or microprocessor) that can be used to program a processor to implement the above-discussed aspects of the present invention. code).
本发明的各种方面可以单独地或者组合地或者以前面所描述的实施例中未具体讨论的各种布置使用,并且因此其应用不限于前面描述中所阐述或附图中所说明的部件的细节和布置。例如,一个实施例中所描述的各方面可以以任何方式与其它实施例中所描述的各方面组合。The various aspects of the invention may be used alone or in combination or in various arrangements not specifically discussed in the previously described embodiments, and thus their application is not limited to those set forth in the preceding description or illustrated in the drawings. details and arrangements. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
而且,本发明的各实施例可以实现为一个或多个方法,其例子已经提供。作为方法的部分执行的动作可以以任何合适的方式排序。因而,可以构造其中动作以与所说明的次序不同的次序执行的实施例,这可以包括同时执行一些动作,尽管在说明性的实施例中被示为顺序动作。Furthermore, various embodiments of the invention may be implemented as one or more methods, examples of which are provided. Acts performed as part of a method may be ordered in any suitable manner. Thus, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, although shown as sequential acts in illustrative embodiments.
权利要求中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要求元素本身不意味着一个权利要求元素优于另一个的任何优先级、优先次序或次序或者方法的动作被执行的时间次序。这些词仅仅是作为区分具有某个名称的一个权利要求元素与具有相同名称(要不是使用了序数词的话)的另一元素的标记来使用的。The use of ordinal numerals such as "first," "second," "third," etc., in a claim modifying a claim element does not, in itself, imply any priority, priority, or order, or method, of one claim element over another The chronological order in which the actions are executed. These words are used merely as a marker to distinguish one claim element bearing a certain name from another element bearing the same name, but for an ordinal number.
本文所使用的短语和术语是为了描述的并且不应当被认为是限制。“包括”、“包含”、“具有”、“涉及”及其变体的使用是要涵盖在其后列出的项以及附加的项。Phrases and terms used herein are for the purpose of description and should not be regarded as limiting. The use of "including," "comprising," "having," "involving" and variations thereof is intended to cover the items listed thereafter as well as additional items.
已经详细描述了本发明的几个实施例,各种修改和改进将是本领域技术人员很容易想到的。这种修改和改进旨在落在本发明的精神和范围内。因而,以上描述仅仅是作为例子,而不是要作为限制。本发明只能由权利要求及其等同物来限定。Having described several embodiments of the invention in detail, various modifications and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to fall within the spirit and scope of the invention. Accordingly, the above description is by way of example only, and is not intended to be limiting. The present invention is to be limited only by the claims and the equivalents thereof.
Claims (15)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261682061P | 2012-08-10 | 2012-08-10 | |
| US61/682,061 | 2012-08-10 | ||
| PCT/US2013/054121 WO2014025990A1 (en) | 2012-08-10 | 2013-08-08 | Virtual agent communication for electronic devices |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104704797A CN104704797A (en) | 2015-06-10 |
| CN104704797B true CN104704797B (en) | 2018-08-10 |
Family
ID=50067000
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201380052414.2A Expired - Fee Related CN104704797B (en) | 2012-08-10 | 2013-08-08 | Virtual protocol communication for electronic equipment |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US10154070B2 (en) |
| EP (1) | EP2883204B1 (en) |
| KR (1) | KR20150046100A (en) |
| CN (1) | CN104704797B (en) |
| WO (1) | WO2014025990A1 (en) |
Families Citing this family (195)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
| US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
| US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
| US10176827B2 (en) | 2008-01-15 | 2019-01-08 | Verint Americas Inc. | Active lab |
| US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
| US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
| US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US10489434B2 (en) | 2008-12-12 | 2019-11-26 | Verint Americas Inc. | Leveraging concepts with information retrieval techniques and knowledge bases |
| US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
| US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
| US8943094B2 (en) | 2009-09-22 | 2015-01-27 | Next It Corporation | Apparatus, system, and method for natural language processing |
| US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
| US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
| US9122744B2 (en) | 2010-10-11 | 2015-09-01 | Next It Corporation | System and method for providing distributed intelligent assistance |
| US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
| US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
| US9836177B2 (en) | 2011-12-30 | 2017-12-05 | Next IT Innovation Labs, LLC | Providing variable responses in a virtual-assistant environment |
| US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
| US9223537B2 (en) | 2012-04-18 | 2015-12-29 | Next It Corporation | Conversation user interface |
| US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
| CN104704797B (en) | 2012-08-10 | 2018-08-10 | 纽昂斯通讯公司 | Virtual protocol communication for electronic equipment |
| US9536049B2 (en) | 2012-09-07 | 2017-01-03 | Next It Corporation | Conversational virtual healthcare assistant |
| US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
| US10074078B2 (en) * | 2012-11-12 | 2018-09-11 | At&T Intellectual Property I, L.P. | System and method of managing meeting invitations |
| US9560089B2 (en) | 2012-12-11 | 2017-01-31 | Nuance Communications, Inc. | Systems and methods for providing input to virtual agent |
| US9659298B2 (en) | 2012-12-11 | 2017-05-23 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
| US9262175B2 (en) | 2012-12-11 | 2016-02-16 | Nuance Communications, Inc. | Systems and methods for storing record of virtual agent interaction |
| US9276802B2 (en) | 2012-12-11 | 2016-03-01 | Nuance Communications, Inc. | Systems and methods for sharing information between virtual agents |
| US9148394B2 (en) * | 2012-12-11 | 2015-09-29 | Nuance Communications, Inc. | Systems and methods for user interface presentation of virtual agent |
| US9679300B2 (en) | 2012-12-11 | 2017-06-13 | Nuance Communications, Inc. | Systems and methods for virtual agent recommendation for multiple persons |
| DE112014000709B4 (en) | 2013-02-07 | 2021-12-30 | Apple Inc. | METHOD AND DEVICE FOR OPERATING A VOICE TRIGGER FOR A DIGITAL ASSISTANT |
| US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
| US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
| US10445115B2 (en) | 2013-04-18 | 2019-10-15 | Verint Americas Inc. | Virtual assistant focused user interfaces |
| WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
| WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
| KR101959188B1 (en) | 2013-06-09 | 2019-07-02 | 애플 인크. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| KR20140144104A (en) * | 2013-06-10 | 2014-12-18 | 삼성전자주식회사 | Electronic apparatus and Method for providing service thereof |
| KR101749009B1 (en) | 2013-08-06 | 2017-06-19 | 애플 인크. | Auto-activating smart responses based on activities from remote devices |
| US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
| US10534623B2 (en) | 2013-12-16 | 2020-01-14 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
| US20150180816A1 (en) * | 2013-12-20 | 2015-06-25 | Apple Inc. | Customized Location Notification |
| US10057123B1 (en) | 2013-12-27 | 2018-08-21 | Alarm.Com Incorporated | Network topology backup |
| US9672717B1 (en) * | 2013-12-27 | 2017-06-06 | Alarm.Com Incorporated | Contextual communication of events |
| US9823811B2 (en) * | 2013-12-31 | 2017-11-21 | Next It Corporation | Virtual assistant team identification |
| US20150339784A1 (en) * | 2014-05-23 | 2015-11-26 | International Business Machines Corporation | Avatar Service for Multi-Channel Systems With Full-Scale Business Context Sensitivity |
| WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
| US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
| US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
| US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
| US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US20160071517A1 (en) | 2014-09-09 | 2016-03-10 | Next It Corporation | Evaluating Conversation Data based on Risk Factors |
| US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
| US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US9571649B2 (en) | 2014-10-23 | 2017-02-14 | Teletech Holdings, Inc. | Method for connecting users with agents based on user values dynamically determined according to a set of rules or algorithms |
| US9350865B2 (en) | 2014-10-23 | 2016-05-24 | Teletech Holdings, Inc. | Method for connecting a user with an agent based on user interaction of a link of a prior message exchanged between the user and the agent |
| US9924033B2 (en) * | 2014-10-23 | 2018-03-20 | Teletech Holdings, Inc. | Method for collecting data using a user interaction event-driven data collection system |
| KR102217220B1 (en) | 2015-02-02 | 2021-02-18 | 삼성전자주식회사 | Device for Performing Call Reservation and Method Thereof |
| US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
| US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
| US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
| US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
| EP3101919B1 (en) | 2015-06-02 | 2020-02-19 | Oticon A/s | A peer to peer hearing system |
| US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
| US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
| US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
| US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
| US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
| US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
| US10140146B2 (en) * | 2015-10-22 | 2018-11-27 | Genband Us Llc | Network management for elastic virtual network functions |
| US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US10956666B2 (en) * | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US20250265283A1 (en) * | 2015-11-20 | 2025-08-21 | Voicemonk, Inc. | System to assist users of a software application |
| US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US10757048B2 (en) | 2016-04-08 | 2020-08-25 | Microsoft Technology Licensing, Llc | Intelligent personal assistant as a contact |
| US10158593B2 (en) | 2016-04-08 | 2018-12-18 | Microsoft Technology Licensing, Llc | Proactive intelligent personal assistant |
| US10945129B2 (en) | 2016-04-29 | 2021-03-09 | Microsoft Technology Licensing, Llc | Facilitating interaction among digital personal assistants |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
| US12223282B2 (en) | 2016-06-09 | 2025-02-11 | Apple Inc. | Intelligent automated assistant in a home environment |
| US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
| US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
| DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
| DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
| US11709833B2 (en) | 2016-06-24 | 2023-07-25 | Dremio Corporation | Self-service data platform |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| JP6605151B2 (en) * | 2016-09-20 | 2019-11-13 | グーグル エルエルシー | Bot interaction |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US10194025B2 (en) * | 2016-09-30 | 2019-01-29 | T-Mobile Usa, Inc. | Sending notifications based on an active mode of operation of a mobile device |
| US10547743B2 (en) | 2016-09-30 | 2020-01-28 | T-Mobile Usa, Inc. | Sending notifications based on a busy mode of operation of a mobile device |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
| DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
| DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | Low-latency intelligent automated assistant |
| DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
| DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
| DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| US11282528B2 (en) * | 2017-08-14 | 2022-03-22 | Lenovo (Singapore) Pte. Ltd. | Digital assistant activation based on wake word association |
| CN115016708B (en) | 2017-09-15 | 2024-11-12 | 三星电子株式会社 | Electronic device and control method thereof |
| KR102489914B1 (en) * | 2017-09-15 | 2023-01-20 | 삼성전자주식회사 | Electronic Device and method for controlling the electronic device |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| US10574598B2 (en) * | 2017-10-18 | 2020-02-25 | International Business Machines Corporation | Cognitive virtual detector |
| US10679156B1 (en) | 2017-11-22 | 2020-06-09 | Wells Fargo Bank, N.A. | Voice enabled assistant for community demand fulfillment |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US10930278B2 (en) * | 2018-04-09 | 2021-02-23 | Google Llc | Trigger sound detection in ambient audio to provide related functionality on a user interface |
| US11545153B2 (en) * | 2018-04-12 | 2023-01-03 | Sony Corporation | Information processing device, information processing system, and information processing method, and program |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US11049076B2 (en) * | 2018-05-07 | 2021-06-29 | Microsoft Techology Licensing, Llc | Routing of meeting requests and follow-up queries by digital assistants |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
| DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
| US11568175B2 (en) | 2018-09-07 | 2023-01-31 | Verint Americas Inc. | Dynamic intent classification based on environment variables |
| US11509659B2 (en) * | 2018-09-18 | 2022-11-22 | At&T Intellectual Property I, L.P. | Context-based automated task performance for user contacts |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11232264B2 (en) | 2018-10-19 | 2022-01-25 | Verint Americas Inc. | Natural language processing with non-ontological hierarchy models |
| US11196863B2 (en) | 2018-10-24 | 2021-12-07 | Verint Americas Inc. | Method and system for virtual assistant conversations |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| GB2582129B (en) * | 2019-02-05 | 2022-08-17 | Meizhou Guo Wei Electronics Co Ltd | DECT portable device base station |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| US11211056B1 (en) * | 2019-04-19 | 2021-12-28 | Amazon Technologies, Inc. | Natural language understanding model generation |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
| DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
| US10789040B1 (en) | 2019-06-05 | 2020-09-29 | International Business Machines Corporation | Interaction between two virtual assistants |
| US11121987B1 (en) * | 2019-09-03 | 2021-09-14 | Octane AI, Inc. | Conversational support for user journey |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| KR20210052972A (en) | 2019-11-01 | 2021-05-11 | 삼성전자주식회사 | Apparatus and method for supporting voice agent involving multiple users |
| US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
| US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
| US12301635B2 (en) | 2020-05-11 | 2025-05-13 | Apple Inc. | Digital assistant hardware abstraction |
| US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
| US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
| US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
| US11115502B1 (en) * | 2020-08-25 | 2021-09-07 | Bank Of America Corporation | System for real-time management of session objects and for application programming interface (API) mocking |
| US11336605B1 (en) * | 2021-01-04 | 2022-05-17 | Servicenow, Inc. | Sending actionable notifications to users |
| GB2610163B (en) * | 2021-08-12 | 2023-12-13 | Netriver Systems Ltd | Secure online exchange of digital identification |
| US12381979B2 (en) | 2023-03-03 | 2025-08-05 | Comcast Cable Communications, Llc | Method and apparatus for processing requests from voice bots |
| US12284317B2 (en) | 2023-05-01 | 2025-04-22 | Bank Of America Corporation | System and method for generating an expandable pool of virtual agents to provide solutions in a metaverse |
| US12524809B1 (en) | 2024-11-27 | 2026-01-13 | Alpha Deal Llc | Evaluating tokenized entities using an artificial intelligence (AI) model |
| US12361220B1 (en) | 2024-11-27 | 2025-07-15 | Alpha Deal Llc | Customized integrated entity analysis using an artificial intelligence (AI) model |
| US12406084B1 (en) | 2024-11-27 | 2025-09-02 | Alpha Deal Llc | Providing access to composite AI-generated data |
| US12572551B1 (en) | 2024-11-27 | 2026-03-10 | Alpha Deal Llc | User interaction within a data analysis system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101681491A (en) * | 2007-06-08 | 2010-03-24 | 微软公司 | Reducing unsolicited instant messages by tracking communication threads |
| CN102521019A (en) * | 2010-10-15 | 2012-06-27 | 微软公司 | Providing information to users based on context |
Family Cites Families (134)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5911129A (en) | 1996-12-13 | 1999-06-08 | Intel Corporation | Audio font used for capture and rendering |
| US6493428B1 (en) | 1998-08-18 | 2002-12-10 | Siemens Information & Communication Networks, Inc | Text-enhanced voice menu system |
| US6298348B1 (en) | 1998-12-03 | 2001-10-02 | Expanse Networks, Inc. | Consumer profiling system |
| US9076448B2 (en) * | 1999-11-12 | 2015-07-07 | Nuance Communications, Inc. | Distributed real time speech recognition system |
| US7062510B1 (en) | 1999-12-02 | 2006-06-13 | Prime Research Alliance E., Inc. | Consumer profiling and advertisement selection system |
| US6598018B1 (en) | 1999-12-15 | 2003-07-22 | Matsushita Electric Industrial Co., Ltd. | Method for natural dialog interface to car devices |
| US7286990B1 (en) * | 2000-01-21 | 2007-10-23 | Openwave Systems Inc. | Universal interface for voice activated access to multiple information providers |
| US6907571B2 (en) | 2000-03-01 | 2005-06-14 | Benjamin Slotznick | Adjunct use of instant messenger software to enable communications to or between chatterbots or other software agents |
| US6466654B1 (en) * | 2000-03-06 | 2002-10-15 | Avaya Technology Corp. | Personal virtual assistant with semantic tagging |
| US6757362B1 (en) * | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
| US6920425B1 (en) | 2000-05-16 | 2005-07-19 | Nortel Networks Limited | Visual interactive response system and method translated from interactive voice response for telephone utility |
| US6804668B1 (en) | 2000-09-26 | 2004-10-12 | Rockwell Electronic Commerce Corp. | Natural language agent for monitoring a threaded discussion |
| CN1351459A (en) * | 2000-10-26 | 2002-05-29 | 安捷伦科技有限公司 | Hand communication and processing device and operation thereof |
| US20020142844A1 (en) | 2001-02-06 | 2002-10-03 | Kerr Michael A. | Biometric broadband gaming system and method |
| US6834264B2 (en) | 2001-03-29 | 2004-12-21 | Provox Technologies Corporation | Method and apparatus for voice dictation and document production |
| US6853716B1 (en) | 2001-04-16 | 2005-02-08 | Cisco Technology, Inc. | System and method for identifying a participant during a conference call |
| US20060064739A1 (en) * | 2004-09-17 | 2006-03-23 | Guthrie Paul D | Relationship-managed communication channels |
| EP1309147A1 (en) | 2001-10-30 | 2003-05-07 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for managing profile information in a heterogeneous or homogeneous network environment |
| US20030167167A1 (en) | 2002-02-26 | 2003-09-04 | Li Gong | Intelligent personal assistants |
| US20030163311A1 (en) | 2002-02-26 | 2003-08-28 | Li Gong | Intelligent social agents |
| EP1488646B1 (en) | 2002-03-19 | 2017-05-03 | Mapinfo Corporation | Location based service provider |
| US7599852B2 (en) | 2002-04-05 | 2009-10-06 | Sponster Llc | Method and apparatus for adding advertising tag lines to electronic messages |
| US7236931B2 (en) | 2002-05-01 | 2007-06-26 | Usb Ag, Stamford Branch | Systems and methods for automatic acoustic speaker adaptation in computer-assisted transcription systems |
| US7324633B2 (en) | 2002-05-30 | 2008-01-29 | At&T Delaware Intellectual Property, Inc. | Web integrated interactive voice response |
| US20040064704A1 (en) * | 2002-09-27 | 2004-04-01 | Monis Rahman | Secure information display and access rights control |
| JP4218336B2 (en) * | 2002-12-12 | 2009-02-04 | ソニー株式会社 | Information processing system, service providing apparatus and method, information processing apparatus and method, and program |
| US7761386B2 (en) | 2003-06-15 | 2010-07-20 | Mordechai Teicher | Method and apparatus for arranging social meetings |
| JP2005043666A (en) | 2003-07-22 | 2005-02-17 | Renesas Technology Corp | Voice recognition device |
| US7450567B1 (en) * | 2003-09-08 | 2008-11-11 | Avaya Inc. | Web-based personal assistant |
| US20050114191A1 (en) | 2003-11-20 | 2005-05-26 | International Business Machines Corporation | Method and apparatus for a calendar system with a location functionality |
| US7606772B2 (en) | 2003-11-28 | 2009-10-20 | Manyworlds, Inc. | Adaptive social computing methods |
| US7398061B2 (en) * | 2004-02-26 | 2008-07-08 | Research In Motion Limited | Method and apparatus for changing the behavior of an electronic device |
| US7912904B2 (en) | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
| EP1681651A1 (en) * | 2004-12-22 | 2006-07-19 | Sap Ag | Virtual calendar |
| US7603413B1 (en) | 2005-04-07 | 2009-10-13 | Aol Llc | Using automated agents to facilitate chat communications |
| JP2006301972A (en) * | 2005-04-20 | 2006-11-02 | Mihatenu Yume:Kk | Electronic secretary system |
| US20060259555A1 (en) | 2005-05-16 | 2006-11-16 | Imlogic, Inc. | Systems and methods for creating and/or utilizing virtual automated agents |
| WO2006129968A1 (en) | 2005-05-30 | 2006-12-07 | Daumsoft, Inc. | System and method of analysing a conversation using conversational agent |
| US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
| US20070043687A1 (en) * | 2005-08-19 | 2007-02-22 | Accenture Llp | Virtual assistant |
| KR100644814B1 (en) | 2005-11-08 | 2006-11-14 | 한국전자통신연구원 | A method of generating a rhyme model for adjusting the utterance style and an apparatus and method for dialogue speech synthesis using the same |
| US20070106931A1 (en) | 2005-11-08 | 2007-05-10 | Nokia Corporation | Active notes application |
| US20090043627A1 (en) | 2005-11-23 | 2009-02-12 | Mihir Vaidya | System and method for calendar presence retrieval |
| EP1989639A4 (en) | 2006-02-28 | 2012-05-02 | Buzzlogic Inc | SOCIAL ANALYSIS SYSTEM AND METHOD FOR ANALYZING CONVERSATIONS ON SOCIAL MULTIMEDIA CONTENT |
| US20070226034A1 (en) * | 2006-03-23 | 2007-09-27 | Kyocera Wireless Corp. | Wireless communication device meeting scheduler |
| US7720681B2 (en) | 2006-03-23 | 2010-05-18 | Microsoft Corporation | Digital voice profiles |
| US20070233635A1 (en) | 2006-04-04 | 2007-10-04 | Craig Burfeind | Systems and methods for organizing an event and tracking attendance status |
| US7889851B2 (en) | 2006-04-20 | 2011-02-15 | Cisco Technology, Inc. | Accessing a calendar server to facilitate initiation of a scheduled call |
| WO2007138741A1 (en) | 2006-05-26 | 2007-12-06 | Nec Corporation | Voice input system, interactive robot, voice input method, and voice input program |
| US20070282621A1 (en) | 2006-06-01 | 2007-12-06 | Flipt, Inc | Mobile dating system incorporating user location information |
| US8139752B2 (en) | 2006-07-28 | 2012-03-20 | Ubiquity Software Corporation Limited | Voice conference control from an instant messaging session using an automated agent |
| US20080240379A1 (en) | 2006-08-03 | 2008-10-02 | Pudding Ltd. | Automatic retrieval and presentation of information relevant to the context of a user's conversation |
| US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
| CA3119868A1 (en) | 2006-10-06 | 2008-04-17 | Rovi Guides, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
| US8972268B2 (en) | 2008-04-15 | 2015-03-03 | Facebook, Inc. | Enhanced speech-to-speech translation system and methods for adding a new word |
| US20090144143A1 (en) | 2006-12-06 | 2009-06-04 | Iyer G V | System, Method, And Apparatus For Data-Driven Interactive Wayfinding And Associated Services |
| JP2008191748A (en) | 2007-02-01 | 2008-08-21 | Oki Electric Ind Co Ltd | Inter-user communication method, inter-user communication program and inter-user communication device |
| US8983051B2 (en) * | 2007-04-03 | 2015-03-17 | William F. Barton | Outgoing call classification and disposition |
| TW200841691A (en) * | 2007-04-13 | 2008-10-16 | Benq Corp | Apparatuses and methods for voice command processing |
| GB0710845D0 (en) | 2007-06-06 | 2007-07-18 | Crisp Thinking Ltd | Communication system |
| US8060227B2 (en) | 2007-09-10 | 2011-11-15 | Palo Alto Research Center Incorporated | Digital media player and method for facilitating social music discovery through sampling, identification, and logging |
| EP2206327B1 (en) * | 2007-10-02 | 2012-05-23 | Ascendent Telecommunications, Inc. | Method, apparatus and system for intelligent call routing |
| US8504621B2 (en) | 2007-10-26 | 2013-08-06 | Microsoft Corporation | Facilitating a decision-making process |
| US8930815B2 (en) * | 2007-11-07 | 2015-01-06 | At&T Intellectual Property I, L.P. | Methods, systems and computer readable media for creating a virtual agent |
| US8077156B2 (en) * | 2007-12-13 | 2011-12-13 | Nokia Corporation | Apparatus, method and computer program product for using multi-touch to transfer different levels of information |
| US8850569B1 (en) | 2008-04-15 | 2014-09-30 | Trend Micro, Inc. | Instant messaging malware protection |
| WO2009130605A2 (en) | 2008-04-21 | 2009-10-29 | Vaka Corporation | Methods and systems for customizing and embedding widgets in instant messages |
| KR101552147B1 (en) | 2008-04-24 | 2015-09-11 | 삼성전자주식회사 | Method for recommending broadcasting contents and apparatus thereof |
| US8949377B2 (en) | 2008-05-21 | 2015-02-03 | The Delfin Project, Inc. | Management system for a conversational system |
| US8494854B2 (en) | 2008-06-23 | 2013-07-23 | John Nicholas and Kristin Gross | CAPTCHA using challenges optimized for distinguishing between humans and machines |
| US20100094678A1 (en) * | 2008-10-10 | 2010-04-15 | Embarq Holdings Company, Llc | System and method for providing delay notifications |
| US8271509B2 (en) | 2008-11-20 | 2012-09-18 | Bank Of America Corporation | Search and chat integration system |
| US8443411B2 (en) | 2008-11-26 | 2013-05-14 | At&T Intellectual Property I, Lp | System and method to distribute video-on-demand content |
| US9015322B2 (en) | 2008-12-30 | 2015-04-21 | Avaya Inc. | Access to resources in a virtual environment |
| US9106749B2 (en) | 2009-03-05 | 2015-08-11 | Verizon Patent And Licensing Inc. | Virtual call center manager |
| US20100281427A1 (en) | 2009-04-30 | 2010-11-04 | Riddhiman Ghosh | Selecting one of plural user profile personae based on context |
| US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
| US10013489B2 (en) | 2009-08-12 | 2018-07-03 | Oath Inc. | System and method for providing recommendations |
| US8161063B2 (en) | 2009-09-11 | 2012-04-17 | Eastman Kodak Company | Multimedia object retrieval from natural language queries |
| US8279779B2 (en) | 2009-12-10 | 2012-10-02 | Verizon Patent And Licensing Inc. | Method and system for virtual agent session monitoring and barge-in |
| US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
| US9747604B2 (en) | 2010-01-22 | 2017-08-29 | Google Inc. | Automated agent for social media systems |
| US8473493B2 (en) | 2010-01-26 | 2013-06-25 | International Business Machines Corporation | System and method for selective information and resource sharing |
| EP2537272A4 (en) | 2010-02-19 | 2013-07-03 | Osumus Recommendations Oy | Method for providing a recommendation to a user |
| US9081973B2 (en) | 2010-04-23 | 2015-07-14 | Psion Inc. | Restricting user access on shared computer |
| US8234111B2 (en) | 2010-06-14 | 2012-07-31 | Google Inc. | Speech and noise models for speech recognition |
| US20120136572A1 (en) * | 2010-06-17 | 2012-05-31 | Norton Kenneth S | Distance and Location-Aware Reminders in a Calendar System |
| US20110313803A1 (en) | 2010-06-22 | 2011-12-22 | Microsoft Corporation | Social Task Lists |
| KR101631618B1 (en) * | 2010-07-06 | 2016-06-27 | 삼성전자주식회사 | Method of generating virtual private community and network including communication apparautus and hub of using the virtual private community |
| US8370157B2 (en) | 2010-07-08 | 2013-02-05 | Honeywell International Inc. | Aircraft speech recognition and voice training data storage and retrieval methods and apparatus |
| US20120150598A1 (en) | 2010-09-02 | 2012-06-14 | Alfred William Griggs | Social retail referral control apparatuses, methods and systems |
| US8239366B2 (en) | 2010-09-08 | 2012-08-07 | Nuance Communications, Inc. | Method and apparatus for processing spoken search queries |
| US8000454B1 (en) | 2010-09-10 | 2011-08-16 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
| KR20120042006A (en) * | 2010-10-22 | 2012-05-03 | 한국전자통신연구원 | Method for managing schedule and apparatus for performing the same |
| US9183843B2 (en) | 2011-01-07 | 2015-11-10 | Nuance Communications, Inc. | Configurable speech recognition system using multiple recognizers |
| US8819729B2 (en) | 2011-02-25 | 2014-08-26 | Avaya Inc. | Advanced user interface and control paradigm for multiple service operator extended functionality offers |
| US8849931B2 (en) | 2011-03-15 | 2014-09-30 | Idt Messaging, Llc | Linking context-based information to text messages |
| WO2012135226A1 (en) | 2011-03-31 | 2012-10-04 | Microsoft Corporation | Augmented conversational understanding architecture |
| US8705363B2 (en) | 2011-04-05 | 2014-04-22 | Telefonaktiebolaget L M Ericsson (Publ) | Packet scheduling method and apparatus |
| US20120278736A1 (en) | 2011-04-30 | 2012-11-01 | Samsung Electronics Co., Ltd. | Collaborative decision-making for deriving micro-recommendations for offsite users |
| CA2835218A1 (en) | 2011-05-26 | 2012-11-29 | Google Inc. | Providing contextual information and enabling group communication for participants in a conversation |
| US8566394B2 (en) | 2011-06-17 | 2013-10-22 | Microsoft Corporation | Mobile social interaction |
| US9317834B2 (en) | 2011-06-30 | 2016-04-19 | Microsoft Technology Licensing, Llc | User computing device with personal agent program for recommending meeting a friend at a service location based on current location, travel direction, and calendar activity |
| US20130031476A1 (en) * | 2011-07-25 | 2013-01-31 | Coin Emmett | Voice activated virtual assistant |
| US8787553B2 (en) * | 2011-09-22 | 2014-07-22 | At&T Intellectual Property I, L.P. | Implementing a network of intelligent virtual service agents to provide personalized automated responses |
| US9146115B2 (en) | 2011-10-18 | 2015-09-29 | Microsoft Technology Licensing, Llc | Location enhanced meetings and collaboration |
| US9082402B2 (en) | 2011-12-08 | 2015-07-14 | Sri International | Generic virtual personal assistant platform |
| US20130332521A1 (en) | 2012-06-07 | 2013-12-12 | United Video Properties, Inc. | Systems and methods for compiling media information based on privacy and reliability metrics |
| US9648369B2 (en) | 2012-06-11 | 2017-05-09 | Verizon Patent And Licensing Inc. | Cross-platform schedule management interface |
| US20140013240A1 (en) | 2012-07-03 | 2014-01-09 | Google Inc. | Creating social group events |
| KR101909141B1 (en) | 2012-07-27 | 2018-10-17 | 엘지전자 주식회사 | Electronic device and method for controlling electronic device |
| CN104704797B (en) | 2012-08-10 | 2018-08-10 | 纽昂斯通讯公司 | Virtual protocol communication for electronic equipment |
| US8983836B2 (en) | 2012-09-26 | 2015-03-17 | International Business Machines Corporation | Captioning using socially derived acoustic profiles |
| US9148394B2 (en) | 2012-12-11 | 2015-09-29 | Nuance Communications, Inc. | Systems and methods for user interface presentation of virtual agent |
| US9679300B2 (en) | 2012-12-11 | 2017-06-13 | Nuance Communications, Inc. | Systems and methods for virtual agent recommendation for multiple persons |
| US9276802B2 (en) | 2012-12-11 | 2016-03-01 | Nuance Communications, Inc. | Systems and methods for sharing information between virtual agents |
| US9560089B2 (en) | 2012-12-11 | 2017-01-31 | Nuance Communications, Inc. | Systems and methods for providing input to virtual agent |
| US20140164532A1 (en) | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for virtual agent participation in multiparty conversation |
| US9659298B2 (en) | 2012-12-11 | 2017-05-23 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
| US20140164953A1 (en) | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for invoking virtual agent |
| US9262175B2 (en) | 2012-12-11 | 2016-02-16 | Nuance Communications, Inc. | Systems and methods for storing record of virtual agent interaction |
| US9117451B2 (en) | 2013-02-20 | 2015-08-25 | Google Inc. | Methods and systems for sharing of adapted voice profiles |
| US9113208B2 (en) | 2013-03-18 | 2015-08-18 | Squaredon Co Ltd | Personalized video channel control |
| US20150058129A1 (en) | 2013-08-23 | 2015-02-26 | Marshall Feature Recognition Llc | System and method for electronic interaction with merchandising venues |
| US10134395B2 (en) | 2013-09-25 | 2018-11-20 | Amazon Technologies, Inc. | In-call virtual assistants |
| US20150106394A1 (en) | 2013-10-16 | 2015-04-16 | Google Inc. | Automatically playing audio announcements in music player |
| US9698999B2 (en) | 2013-12-02 | 2017-07-04 | Amazon Technologies, Inc. | Natural language control of secondary device |
| US9479931B2 (en) | 2013-12-16 | 2016-10-25 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
| US10534623B2 (en) | 2013-12-16 | 2020-01-14 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
| EP3063646A4 (en) | 2013-12-16 | 2017-06-21 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
| US9804820B2 (en) | 2013-12-16 | 2017-10-31 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
| US9571645B2 (en) | 2013-12-16 | 2017-02-14 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
| US9823811B2 (en) | 2013-12-31 | 2017-11-21 | Next It Corporation | Virtual assistant team identification |
| US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
-
2013
- 2013-08-08 CN CN201380052414.2A patent/CN104704797B/en not_active Expired - Fee Related
- 2013-08-08 KR KR20157006135A patent/KR20150046100A/en not_active Withdrawn
- 2013-08-08 EP EP13827951.8A patent/EP2883204B1/en not_active Not-in-force
- 2013-08-08 WO PCT/US2013/054121 patent/WO2014025990A1/en not_active Ceased
- 2013-08-09 US US13/963,316 patent/US10154070B2/en active Active
-
2018
- 2018-12-07 US US16/212,826 patent/US10999335B2/en active Active
-
2021
- 2021-04-14 US US17/229,938 patent/US11388208B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101681491A (en) * | 2007-06-08 | 2010-03-24 | 微软公司 | Reducing unsolicited instant messages by tracking communication threads |
| CN102521019A (en) * | 2010-10-15 | 2012-06-27 | 微软公司 | Providing information to users based on context |
Also Published As
| Publication number | Publication date |
|---|---|
| US11388208B2 (en) | 2022-07-12 |
| WO2014025990A1 (en) | 2014-02-13 |
| CN104704797A (en) | 2015-06-10 |
| EP2883204B1 (en) | 2020-10-07 |
| KR20150046100A (en) | 2015-04-29 |
| US20140047001A1 (en) | 2014-02-13 |
| EP2883204A1 (en) | 2015-06-17 |
| US10154070B2 (en) | 2018-12-11 |
| EP2883204A4 (en) | 2016-04-13 |
| US20190109880A1 (en) | 2019-04-11 |
| US10999335B2 (en) | 2021-05-04 |
| US20210306388A1 (en) | 2021-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11388208B2 (en) | Virtual agent communication for electronic device | |
| US8433805B2 (en) | Method and system for facilitating contacting people using electronic devices | |
| CN104335205B (en) | Actionable reminder entries | |
| US10454870B2 (en) | Location-based notification | |
| CN110232489B (en) | Generating and processing task items representing tasks to be performed | |
| US9560089B2 (en) | Systems and methods for providing input to virtual agent | |
| US20220391772A1 (en) | Automatic generation and transmission of a status of a user and/or predicted duration of the status | |
| CN105229565A (en) | The automatic establishment of calendar item | |
| US11750543B2 (en) | Method, device and system for providing input suggestion | |
| US9224134B2 (en) | Arranging a conversation among a plurality of participants | |
| WO2010122381A1 (en) | Scheduling events with location management | |
| JP7644164B2 (en) | Contact control program, terminal and contact control method | |
| KR102049460B1 (en) | Synchronous Communication Coordination and Processing | |
| US20250139589A1 (en) | Offline scheduling of online meetings |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180810 Termination date: 20210808 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |