CN110622126A - 通过自动化助理来提供对用户控制资源的访问 - Google Patents

通过自动化助理来提供对用户控制资源的访问 Download PDF

Info

Publication number
CN110622126A
CN110622126A CN201880032296.1A CN201880032296A CN110622126A CN 110622126 A CN110622126 A CN 110622126A CN 201880032296 A CN201880032296 A CN 201880032296A CN 110622126 A CN110622126 A CN 110622126A
Authority
CN
China
Prior art keywords
user
automated assistant
task request
services
natural language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880032296.1A
Other languages
English (en)
Other versions
CN110622126B (zh
Inventor
易卜拉欣·巴德尔
亚里夫·阿丹
胡戈·桑托斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN110622126A publication Critical patent/CN110622126A/zh
Application granted granted Critical
Publication of CN110622126B publication Critical patent/CN110622126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

描述了方法、装置和计算机可读介质,其涉及在本文中描述的技术,用于允许为用户服务的自动化助理访问由其他人控制的数据,所述数据包括对为其他人服务的自动化助理可用的资源。在各种实施方式中,可以从第一用户接收语音输入。可以从所述语音输入中辨识任务请求并分析任务请求。响应于所述分析,可以做出所述任务请求与第二用户有关的确定。可以检查与由所述第二用户接洽的自动化助理有关的访问控制列表以确定所述第一用户对于所述第二用户是否具有适当的访问权限。响应于确定所述第一用户对于所述第二用户具有适当的访问权限,可以对所述任务请求采取行动。

Description

通过自动化助理来提供对用户控制资源的访问
背景技术
人类可以用在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“谈话代理”等)的交互式软件应用来参与人机对话。例如,人类(当他们与自动化助理交互时的人类可以被称为“用户”)可以使用说出的自然语言输入(即话语)和/或通过提供文本(例如,键入的)自然语言输入来提供命令、查询和/或请求(在本文中统称为“查询”),所述说出的自然语言输入可以在一些情况下被转换成文本并然后处理。
在一些情况下,自动化助理可以包括:自动化助理“客户端”,所述自动化助理“客户端”被在本地安装在客户端设备上并由用户直接地与之交互;以及基于云的对应方,所述基于云的对应方利用云的虚拟无限资源来与自动化助理客户端合作以对用户的请求做出响应。例如,自动化助理客户端可以向基于云的对应方提供用户的语音输入(或其文本转换)的音频记录和指示用户的身份(例如,凭证)的数据。基于云的对应方可以对输入执行各种处理以将各种结果返回给自动化助理客户端,所述自动化助理客户端然后可以向用户提供对应的输出(或者采取某个其它行动)。为了简洁和简单起见,术语“自动化助理”当在本文中被描述为“为”特定用户“服务”时,可以指代安装在该特定用户的客户端设备上的自动化助理客户端以及与自动化助理客户端交互以对用户的查询做出响应的任何基于云的对应方。如本文所使用的,术语“任务请求”或“请求”指代要执行任务的请求、搜索查询(针对信息的搜索)、其它查询或来自用户的针对自动化助理以使该自动化助理响应的任何其它命令或语句。
自动化助理可以在由该自动化助理所服务的特定用户的控制下能够访问诸如因特网上可用的文档和其它信息这样的公开可用数据以及“用户控制资源”。用户控制资源可以与用户的“用户账户”相关联,并且可以在本地从由用户操作的客户端设备访问和/或远程地访问(例如,在所谓的“云”中)。用户控制资源可以采取各种形式,诸如用户的日历、电子邮件、文本消息、提醒、购物列表、搜索历史、照片、文档、传感器数据(例如,位置坐标)、过去的人机对话的内容、个人偏好等。
在一些情况下,自动化助理可以通过所关联的用户账户来获得对用户控制资源的访问。例如,当用户在特定客户端设备上安装自动化助理客户端或者首先与之接洽(engage)时,用户可以授予自动化助理访问用户控制资源中的一些或全部的许可。换句话说,用户有效地授予自动化助理对用户控制资源的访问。在一些情况下,这可以包括修改调节对用户控制资源的访问的访问控制列表(或其它类似的安全机制)。
为第一用户服务的自动化助理可能不能够访问另一用户的用户控制资源。例如,第一用户可能无法指示为第一用户服务的自动化助理将项目添加到其他人的购物列表,或者确定其他人是否可在特定时间/位置参加会议。此外,一些任务可能要求多个用户参与。例如,如果为第一位用户服务的自动化助理不能够访问第二位用户的排程表,并且第一用户希望确定第二用户是否能够在特定时间/位置参加会议,则可能要求第一用户(例如,通过电话或者使用文本消息传递)联系第二用户并且第二用户可以确认是否有空。这在第一用户希望排程与多个其它用户的会议的情况下变得更加麻烦。附加地,当前没有用于第一用户指示为第一用户服务的自动化助理使为第二用户服务的自动化助理例如在特定时间或位置主动地与第二用户接洽的方式。
发明内容
在本文中描述了用于允许为用户服务的自动化助理(直接地或间接地)访问由其他人控制的资源的技术,所述资源包括对为其他人服务的自动化助理可用的资源。在各种实施方式中,第一用户可以向在由第一用户操作的第一客户端设备(例如,智能电话、智能手表、独立交互式扬声器等)上执行的自动化助理客户端提供(例如,键入的、说出的)自然语言输入。自然语言输入可以包括寻求对第二用户的用户控制资源的访问的“任务请求”。访问控制列表可以包括为第二用户设备服务的自动化助理能够访问的资源以及为其它用户服务的自动化助理能够访问的那些资源的至少一个或多个子集。为第一用户服务的自动化助理可以检查(或者如下所述可以使一个或多个基于云的“服务”检查)与第二用户相关联的访问控制列表以确定第一用户对于第二用户是否具有适当的访问权限。如果用户具有适当的访问权限,则可以响应于任务请求而采取行动(例如,响应于、承担等)。
可以通过各种组件来以各种方式响应于任务请求而采取行动。在一些实施方式中,为第一用户服务的自动化助理可以访问第二用户的用户控制资源,例如,从第二用户的用户控制资源中读取(例如,获得第二用户的当前位置、检查第二用户的日历等)和/或写入到第二用户的用户控制资源(例如,添加/编辑日历条目、添加提醒、添加购物列表项目等)。在其它实施方式中,为第二用户服务的自动化助理可以响应于任务请求而采取行动。在仍然其它的实施方式中,一个或多个基于云的“服务”可以代表任何一个自动化助理对任务请求采取行动。例如,在一些实施方式中,一个服务可以提供对第二用户的日历的访问,另一服务可以提供对第二用户的购物列表的访问,另一服务可以提供对第二用户的当前位置的访问,另一服务可以提供对第二用户的提醒列表的访问等。
在一些实施方式中,对任务请求采取行动可以例如响应于一个或多个事件而与第一用户的任务请求同时地或在稍后的时间使得为第二用户服务的自动化助理主动地接洽第二用户(例如,而无需第二用户发起人机对话)。例如,假设第一用户给为第一用户服务的自动化助理提供任务请求“remind<second user>to pick up milk on the way homefrom work(提醒<第二用户>在下班回家的路上取牛奶)”。进一步假设第二用户的访问控制列表授予第一用户对第二用户的购物列表的访问。为任何一个用户服务的自动化助理或代表任何一个自动化助理行动的基于云的服务可以使“牛奶”被添加到第二用户的购物列表。附加地,为第二用户服务的自动化助理可以响应于例如由第二用户的客户端设备生成的暗示第二用户下班回家的一个或多个信号而“使”提醒浮现出来给第二用户(例如,通过提供诸如“<第一用户>想要你在你回家的路上取牛奶”这样的可听输出)。例如,如果当前时间对应于工作日的结束并且第二用户的客户端设备上的位置坐标传感器(例如,基于GPS的)提供指示第二用户正在行进回家的信号,则为第二用户服务用户的自动化助理可以例如通过向第二用户说出提醒来使提醒浮现出来。
本文描述的技术可以提供许多技术优点。使得用户能够尤其使用语音命令来与自动化助理交互可以使得用户能够使用较少的输入来执行各种任务,诸如进行民意调查、经由其自动化助理向其它用户发送消息、修改其它用户的购物列表/提醒列表/日历等。这可以使具有提供手动输入的削弱能力的用户受益,所述用户诸如正在开车的用户、具有使手动地键入输入变得困难的肢体残疾的用户等。附加地,在事务另一端的用户可能受益,因为他们的自动化助理可以能够在更适当的时间给他们提供来自其他人的信息。例如,在下面描述的一个示例中,个人可以(从他们的自动化助理)接收来自其他人的要在他们在其回家的路上时从商店取东西的提醒,而不是简单地发送者一发送消息就接收它。这降低个人将无法履行请求的可能性。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,所述方法包括:从第一用户接收语音输入;从所述语音输入中辨识任务请求;分析所述任务请求;响应于所述分析,确定所述任务请求与第二用户有关并且检查与由所述第二用户接洽的自动化助理有关的访问控制列表以确定所述第一用户对于所述第二用户是否具有适当的访问权限;以及响应于确定所述第一用户对于所述第二用户具有适当的访问权限,对所述任务请求采取行动。
本文公开的技术的这些和其它实现方式可以可选地包括以下特征中的一个或多个。
在各种实施方式中,访问控制列表可以指示有关第二用户具有相应的账户的一个或多个服务的访问权限。在各种实施方式中,访问控制列表可以指示有关第二用户具有相应的账户的多个服务的访问权限。在各种实施方式中,访问控制列表可以指示有关从以下各项的组中选择的服务的访问权限:排程服务、自动化助理联络服务、位置服务、购物列表服务和提醒服务。
在各种实施方式中,检查访问控制列表以确定第一用户对于第二用户是否具有适当的访问权限可以包括:确定第一用户是第一组的成员;以及确定第一组具有适当的访问权限。在各种实施方式中,对任务请求采取行动可以包括从第二用户的具有服务的账户读取信息。在各种实施方式中,对任务请求采取行动可以包括将信息写入到第二用户的具有服务的账户。在各种实施方式中,对任务请求采取行动可以包括与第一用户相关联的自动化助理将信息写入到第二用户的具有服务的账户。在各种实施方式中,对任务请求采取行动可以包括与第二用户相关联的自动化助理将信息写入到第二用户的具有服务的账户。
此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作来执行存储在关联的存储器中的指令,并且其中指令被配置成使得前述方法中的任一种的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储可由一个或多个处理器执行来执行前述方法中的任一种的计算机指令。
应该领会的是,在本文中更详细地描述的上述构思和附加构思的所有组合被设想为是本文公开的主题的一部分。例如,在本公开的结尾处出现的要求保护的主题的所有组合被设想为是本文公开的主题的一部分。
附图说明
图1是可以在其中实现本文公开的实施方式的示例环境的框图。
图2A、图2B、图3A、图3B、图4A、图4B、图5、图6、图7A、图7B和图8描绘依照各种实施方式的各种用户与自动化助理之间的示例对话。
图9描绘图示根据本文公开的实施方式的示例方法的流程图。
图10图示计算设备的示例架构。
具体实施方式
现在转向图1,图示了可以在其中实现本文公开的技术的示例环境。该示例环境包括多个客户端计算设备1061-N。每个客户端设备106可以执行自动化助理客户端118的相应的实例。可以在一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动化助理组件119,诸如自然语言处理器122,所述一个或多个计算系统经由通常在1101处指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备1061-N
如背景技术中所指出的,自动化助理客户端118的实例通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度来看似乎为用户可以在人机对话中与之接洽的自动化助理120的逻辑实例。在图1中描绘了这样的自动化助理120的两个实例。通过虚线包含的第一自动化助理120A为操作第一客户端设备1061的第一用户140A服务并且包括自动化助理客户端1181和一个或多个基于云的自动化助理组件119。通过双线点划线包含的第二自动化助理120B为操作另一客户端设备106N的第二用户140B服务并且包括自动化助理客户端118N和一个或多个基于云的自动化助理组件119。因此应该理解的是,与在客户端设备106上执行的自动化助理客户端118接洽的每个用户实际上可以与他或她自己的自动化助理120的逻辑实例接洽。为了简洁和简单起见,如在本文中像“为”特定用户“服务”那样使用的术语“自动化助理”将指代在由用户操作的客户端设备106上执行的自动化助理客户端118和一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端118之间共享)的组合。
客户端设备1061-N可以包括例如以下各项中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。
在一些实施方式中,给定用户可以利用共同地形成计算设备的协调“生态系统”的多个客户端计算设备106来与自动化助理120进行通信。在一些这样的实施方式中,自动化助理120可以被认为“为”给定用户“服务”,例如,赋予自动化助理120对访问由“所服务的”用户控制的用户控制内容(例如,资源、文档等)的增强访问。
例如,在图1中,可以在一个或多个计算设备(其再次可以被统称为“云”)上实现用户控制资源引擎130以控制对由每个用户控制资源的访问。在一些实施方式中,用户控制资源引擎130可以经由通常在1102处指示的一个或多个局域网和/或广域网(例如,因特网)与实现自动化助理120的一个或多个计算系统操作地耦合。附加地或替换地,用户控制资源引擎130可以被整个地或部分地实现在实现自动化助理120的相同的计算系统上。在一些实施方式中,用户控制资源引擎130可以包括统治对用户控制资源128的访问的一个或多个访问控制列表126。在一些实施方式中,访问控制列表126可以指示有关每个用户具有相应的账户的一个或多个服务的访问权限。在各种实施方式中,访问控制列表126可以指示有关每个用户具有相应的账户的多个服务的访问权限。访问控制列表126可以采取各种形式,诸如数据库条目或访问控制条目的列表,其包括针对每个用户的由该用户控制的什么内容对其他人(包括其他人的自动化助理)可访问、如何可访问它(例如,读取、写入等)等的指示。
用户控制资源128可以包括与每个用户相关联的各种数据。此数据可以包括与用户(并在许多情况下,与用户的一个或多个账户)相关联的文档,诸如用户存储在所谓的“云”驱动器上的文档。它还可以包括电子邮件和其它电子对应物(例如,文本消息、社交媒体帖子等)。在一些实施方式中,用户控制资源128可以包括与用户的行为有关的行为,诸如搜索查询历史(例如,搜索日志)、与自动化助理120的过去的谈话等。用户控制资源128还可以包括与用户相关联的其它资源,诸如日历、提醒列表、购物列表、传感器数据(例如,由例如全球定位系统或“GPS”传感器产生的位置坐标数据)等。
如背景技术中所指出的,与特定用户相关联的用户控制资源128可以与该用户的“用户账户”相关联。在一些实例中,用户可以(例如,使用诸如用户名/密码、生物计量等这样的各种凭证)在一个或多个客户端设备上登录到他的或她的账户中,从而给为该用户服务的自动化助理120(包括在本地执行的客户端118和任何在线组件119)赋予对这些资源的访问。在一些情况下,自动化助理120可以通过相关联的用户账户来获得对用户控制资源128的访问。例如,当用户在特定客户端设备106上安装自动化助理客户端118或者首先与之接洽时,用户可以授予自动化助理120访问由用户控制的用户控制资源128中的一些或全部的许可。换句话说,用户有效地授予自动化助理120对用户控制资源128的访问。在一些情况下,这可以包括修改访问控制列表126(或其它类似的安全机制)。
附加地,在一些实施方式中,用户的账户可以与多个服务130-138(其将在下面被更详细地描述)链接(例如,给用户提供对多个服务130-138的访问),使得在客户端设备106处被登录到用户的账户中给予用户的自动化助理120对这些服务的访问。附加地或替换地,用户可以对这些服务中的每一个具有单独的账户,并且在一些情况下这些单独的账户中的一个或多个可以被链接到用户的主要账户(例如,社交网络账户)。或者,用户可以选择修改访问控制列表126以在个人基础上许可与每个对应的个人服务相关联的每个单独的账户对与用户相关联的用户控制资源128的访问。在一些实施方式中,可以为每个服务提供单独的访问控制列表。
虽然用户控制资源128在图1中被描绘为单个数据库,但是这不暗示所有用户控制资源都被存储在单个位置中。相反,在许多实施方式中,用户控制资源可以被部分地存储在客户端设备106上(或者以其它方式可用)(例如,诸如GPS这样的传感器信号),并且/或者可以分布在各种基于云的系统之上,每个基于云的系统可以为不同的目的服务(例如,一个或多个服务器的一个集合可以提供电子邮件功能性,一个或多个服务器的另一集合可以提供日历功能性等)。
客户端计算设备1061-N中的每一个均可以操作各种不同的应用,诸如多个消息交换客户端1071-N中的对应一个。消息交换客户端1071-N可以以各种形式出现并且这些形式可以跨越客户端计算设备1061-N而变化并且/或者多种形式可以在客户端计算设备1061-N中的单个客户端计算设备上操作。在一些实施方式中,消息交换客户端1071-N中的一个或多个可以以以下各项的形式出现:短消息传递服务(“SMS”)和/或多媒体消息传递服务(“MMS”)客户端、在线聊天客户端(例如,即时信使、因特网中继聊天或“IRC”等)、与社交网络相关联的消息传递应用、专用于与自动化助理120进行谈话的个人助理消息传递服务等。在一些实施方式中,可以经由由客户端计算设备106的web浏览器(未描绘)或其它应用所渲染的网页或其它资源来实现消息交换客户端1071-N中的一个或多个。
如本文更详细地描述的,自动化助理120经由一个或多个客户端设备1061-N的用户界面输入和输出设备参与与一个或多个用户的人机对话会话。在一些实施方式中,自动化助理120可以响应于由用户经由客户端设备1061-N中的一个客户端设备的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。在那些实施方式中的一些中,用户界面输入被显式地导向自动化助理120。例如,消息交换客户端1071-N中的一个可以是专用于与自动化助理120进行谈话的个人助理消息传递服务,并且经由该个人助理消息传递服务提供的用户界面输入可以被自动地提供给自动化助理120。另外,例如,可以基于指示自动化助理120将被调用的特定用户界面输入来将用户界面输入显式地导向消息交换客户端1071-N中的一个或多个中的自动化助理120。例如,特定用户界面输入可以是一个或多个键入的字符(例如,@AutomatedAssistant)、用户与硬件按钮和/或虚拟按钮的交互(例如,轻敲、长轻敲)、口头命令(例如,“Hey Automated Assistant(嘿自动化助理)”)和/或其它特定用户界面输入。在一些实施方式中,即便当用户界面输入未被显式地导向自动化助理120时,自动化助理120也可以响应于用户界面输入而参与对话会话。例如,自动化助理120可以检查用户界面输入的内容并且响应于在用户界面输入中存在某些术语和/或基于其它线索来参与对话会话。在许多实施方式中,自动化助理120可以参与交互式语音响应(“IVR”),使得用户可发出命令、搜索等,并且自动化助理可以利用自然语言处理和/或一种或多种语法来将话语转换成文本,并且相应地对该文本做出响应。
客户端计算设备1061-N和自动化助理120中的每一个均可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及便于通过网络通信的其它组件。由客户端计算设备1061-N中的一个或多个和/或由自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以被实现为例如在一个或多个位置中的通过网络彼此耦合的一个或多个计算机上运行的计算机程序。
自动化助理120(以及特别是基于云的自动化助理组件119)可以包括自然语言处理器122和在图1中未描绘的其它组件。在一些实施方式中,可以省略、组合和/或在与自动化助理120分开的组件中实现自动化助理120的引擎和/或模块中的一个或多个。
在一些实施方式中,自动化助理120响应于由客户端设备1061-N中的一个的用户在与自动化助理120的人机对话会话期间生成的各种输入而生成响应内容。自动化助理120(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容以用于作为对话会话的一部分呈现给用户。例如,自动化助理120可以响应于经由客户端设备1061-N中的一个提供的自由形式自然语言输入而生成响应内容。如本文所使用的,自由形式输入是由用户制定并且不局限于被呈现以供由用户选择的一组选项的输入。
如本文所使用的,“对话会话”可以包括一个或多个消息在用户与自动化助理120(以及在一些情况下,线程中的其他人类参与者)之间的逻辑上自包含交换。自动化助理120可以基于各种信号来区分与用户的多个对话会话,所述各种信号诸如会话之间的时间的流逝、会话之间的用户上下文(例如,位置、在排程的会议之前/期间/之后等)的变化、对除用户与自动化助理之间的对话以外的用户与客户端设备之间的一个或多个中间交互的检测(例如,用户暂时切换应用、用户离开然后稍后返回到独立语音激活的产品)、会话之间的客户端设备的锁定/休眠、用于与自动化助理120的一个或多个实例对接的客户端设备的变化等。
在一些实施方式中,当自动化助理120提供恳求用户反馈的提示时,自动化助理120(以及特别是自动化助理客户端118)可以(经由提供提示)抢先地激活客户端设备的一个或多个组件,这些组件被配置成处理要响应于提示而接收的用户界面输入。例如,在将经由客户端设备1061的麦克风提供用户界面输入的情况下,自动化助理120可以提供一个或多个命令以使麦克风被抢先地“opened(打开)”(从而防止要击中接口元素或者说出“hotword(热词)”以打开麦克风的需要),使客户端设备1061的本地语音至文本处理器被抢先地激活,使客户端设备1061与远程语音至文本处理器之间的通信会话被抢先地建立,并且/或者使图形用户界面(例如,包括可以被选择来提供反馈的一个或多个可选元素的界面)被渲染在客户端设备1061上。与在组件未被抢先地激活情况下相比,这可以使得能够更快地提供和/或处理用户界面输入。
自动化助理120的自然语言处理器122处理由用户经由客户端设备1061-N生成的自然语言输入并且可以生成带注释的输出以供由自动化助理120的一个或多个其它组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户界面输入设备生成的自然语言自由形式输入。所生成的带注释的输出包括自然语言输入的一个或多个注释以及可选地自然语言输入的术语中的一个或多个(例如,全部)。
在一些实施方式中,自然语言处理器122被配置成识别并注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括被配置成用其语法角色来注释术语的词性标记器。例如,词性标记器可以用其诸如“名词”、“动词”、“形容词”、“代词”等这样的词性来标记每个术语。另外,例如,在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括被配置成确定自然语言输入中的术语之间的句法关系的依赖性解析器(未描绘)。例如,依赖性解析器可以确定哪些术语修饰其它术语、句子的主语和动词等(例如,解析树)—并且可以对这样的依赖性进行注释。
在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括实体标记器(未描绘),所述实体标记器被配置成注释一个或多个分段中的实体引用,诸如对人们(包括例如文学角色、名人、公众人物等)、组织、位置(真实的和虚构的)等的引用。在一些实施方式中,关于实体的数据可以被存储在一个或多个数据库中,诸如在知识图(未描绘)中。在一些实施方式中,知识图可以包括表示已知实体(以及在某些情况下,实体属性)的节点,以及连接节点并表示实体之间关系的边。例如,“banana(香蕉)”节点可以连接(例如,作为孩子)到“fruit(水果)”节点,其进而可以连接(例如,作为孩子)到“produce(产品)”和/或“food(食物)”节点。作为另一示例,被称作“Hypothetical Café(假想咖啡馆)”的餐馆可以通过还包括诸如其地址、所供食物的类型、营业时间、联系信息等这样的属性的节点来表示。“Hypothetical Café”节点可以在一些实施方式中通过边(例如,表示儿童与父母关系)连接到一个或多个其它节点,诸如“restaurant(餐馆)”节点、“business(企业)”节点、表示餐馆所位于的城市和/或州的节点等。
自然语言处理器122的实体标记器可以以高粒度水平(例如,以使得能够识别对诸如人们这样的实体类的所有引用)和/或较低粒度水平(例如,以使得能够识别对诸如特定人员这样的特定实体的所有引用)注释对实体的引用。实体标记器可以依靠自然语言输入的内容来解析特定实体并且/或者可以可选地与知识图或其它实体数据库进行通信以解析特定实体。
在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括共指解析器(未描绘),所述共指解析器被配置成基于一个或多个上下文线索来对对同一实体的引用进行分组或者“聚类”。例如,可以利用共指解析器来将自然语言输入“I liked HypotheticalCafe last time we ate there(我喜欢上次我们在那里用餐的假想咖啡馆)”的术语“there(在那里)”解析为“Hypothetical Cafe"(假想咖啡馆)”。
在一些实施方式中,自然语言处理器122的一个或多个组件可以依靠来自自然语言处理器122的一个或多个其它组件的注释。例如,在一些实施方式中,命名实体标记器在注释对特定实体的所有提及时可能依靠来自共指解析器和/或依赖性解析器的注释。另外,例如,在一些实施方式中,共指解析器在对对同一实体的引用进行聚类时可能依靠来自依赖性解析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关在先输入和/或在特定自然语言输入之外的其它相关数据来确定一个或多个注释。
在各种实施方式中,用户控制资源引擎130可以包括一个或多个“服务”,其中的每一个均可以使用硬件或软件的任何组合来实现,所述“服务”被配置成为对特定类型的用户控制资源的请求服务。例如,在图1中,用户控制资源引擎130包括提醒服务131、排程服务132、购物列表服务134、位置服务136和自动化助理联络服务138。这些服务仅作为示例被图示,而不意在为详尽的。此外,在各种实施方式中,这些服务中的一个或多个可以被单独地实现(如图1中所示)或者作为单个服务的整体部分被实现。
在各种实施方式中,每个服务可以被配置成为来自自动化助理120的对特定类型的数据事务的请求服务。例如,提醒服务131可以处理要查看和/或编辑与用户的提醒或任务列表(其在一些情况下可以是较大日历系统的整体部分)有关的数据的请求。排程服务132可以处理要查看和/或编辑与用户的日历/排程表有关的数据的请求。购物列表服务134可以处理要查看和/或编辑与用户的购物列表有关的数据的请求。位置服务136可以处理要查看与用户位置有关的数据的请求。图1中未描绘的其它可能的服务包括处理要查看和/或编辑用户的基于云的文档的请求的服务、处理要读取用户的媒体(例如,云存储的照片、音乐、电影等)的请求的服务等。
自动化助理联络服务138可以被配置成便于通过其相应的自动化助理120在个人之间(同步地或异步地)交换数据。例如,在许多场景中,给定用户可能不一定需要访问由另一用户控制的数据。替代地,给定用户可能只是想要使另一用户的自动化助理与另一用户交互,例如,通过参与与另一用户的人机对话、从另一用户(或在民意调查场景中的多个用户)恳求信息等。像数据请求由服务130-136服务的情况一样,访问控制列表126还可以针对为特定用户服务的每个给定自动化助理120定义统治其它用户的自动化助理120是否可触发给定自动化助理120采取某个行动(诸如主动地发起与由给定自动化助理120服务的特定用户的人机对话)的许可。
在各种实施方式中,服务130-138可以依照访问控制列表126中指示的许可来处理来自自动化助理120的请求。例如,假设操作第一客户端设备1061(并且登录到客户端设备1061上的对应账户中)的第一用户140A请求自动化助理120将条目添加到由第一用户140A控制的日历。在各种实施方式中,第一用户的自动化助理120可以请求排程服务132添加日历条目。排程服务132可以基于包含在访问控制列表126中的信息来确定(或者在其它实施方式中,自动化助理120可以确定)它有用于编辑与第一用户140A相关联的日历信息的许可,并且因此可以通过添加条目来对请求采取行动。
除了对用户的与用户自己的资源有关的请求采取行动之外,在各种实施方式中,还在本文中描述用于对用户的与由其它用户控制的资源有关的请求采取行动的技术。例如,假设从第一用户140A接收到请求将提醒添加到与第二用户140B相关联的提醒列表的语音输入。该任务请求可以例如由自然语言处理器122从语音输入辨识。自动化助理120可以例如使用查询处理来分析任务请求。响应于分析,自动化助理120或用户控制资源引擎130的一个或多个组件可以确定任务请求与第二用户140B有关。因此,可以关于由第二用户140B接洽的自动化助理120来检查访问控制列表126以确定第一用户140A对于第二用户140B是否具有适当的访问权限(例如,第一用户140A是否具有将提醒添加到由第二用户140B控制的提醒列表的权限)。响应于确定第一用户140A对于第二用户140B具有适当的访问权限,图1中的一个或多个组件(诸如自动化助理120和/或用户控制资源引擎130的一个或多个组件)可以例如通过将提醒添加到由第二用户140B控制的提醒列表来对任务请求采取行动。
附加地或替换地,在各种实施方式中,第一用户140A可以提供(例如,通过自动化助理联络服务138)使为第二用户140B服务的自动化助理120B(例如,结合一个或多个基于云的自动化助理组件119的自动化助理客户端118N)在某种对话中接洽第二用户140B的请求。继续上述示例,在一些实施方式中,为第二用户140B服务的自动化助理120可以例如应自动化助理联络服务138的请求而将第一用户140A正在将提醒添加到与第二用户140B相关联的提醒列表的指示主动地并入到与第二用户140B的人机对话中(即,通过第二用户140B直接地与自动化助理客户端118N交互)。在一些实施方式中,自动化助理120可以例如通过可听或可视提示来简单地向第二用户140B通知添加。在其它实施方式中,例如,在访问控制列表126尚未给第一用户140A提供添加提醒的许可的情况下,自动化助理120可以首先从第二用户140B恳求让第一用户140A添加提醒的许可。
图2A图示根据本文描述的实施方式的用户101与自动化助理(图1中的120A或120B,在图2中未描绘)的实例之间的人机对话会话的示例,所述人机对话会话可以经由客户端计算设备206A的(多个)麦克风和(多个)扬声器(被描绘为独立交互式扬声器但是这不意在为限制性的)而发生。可以在计算设备206A上和/或在与计算设备206A进行网络通信的一个或多个计算设备上实现自动化助理120的一个或多个方面。
在图2A中,用户101(“Dave”)在用户101与自动化助理120之间的人机对话会话中提供“Is Sarah available for lunch on Tuesday(Sarah在星期二有空吃午餐吗)?”的自然语言输入280。响应于自然语言输入280,自动化助理120与用户控制资源引擎130交互以确定访问控制列表126是否许可Dave以及更具体地为Dave服务的自动化助理120从Sarah的排程表读取数据。例如,Dave的自动化助理120可以与排程服务132交互,所述排程服务132可以确定Dave对于Sarah是否具有适当的访问权限。假定Dave具有这样的权限,排程服务132可以许可Dave的自动化助理分析Sarah的日历,或者可以分析Sarah的日历它本身。无论哪种方式,都可以例如通过Dave的自动化助理120和/或排程服务132来做出Sarah在星期二下午1点有空吃午餐。因此,(在客户端设备206A上执行的)Dave的自动化助理120可以提供“Let me check...Sarah appears to be available for lunch at 1PM(让我检查一下…Sarah似乎在下午1点有空吃午餐)”的响应自然语言输出282。在284处,Dave然后回答“Great.Book us a reservation at Hypothetical Cafe(太好了。为我们在假想咖啡馆预订餐位)”。Dave的自动化助理120执行预订餐位所需要的任何处理(例如,通过与和餐馆相关联的预定系统交互)并回答“Done.I'll let you know if Sarah needs to rescheduleor cancel(完成。如果Sarah需要重新排程或者取消我会告诉你)”。
图2B描绘除从由Sarah操作的客户端设备206B(形式为平板或智能电话但不限于此)的角度来看之外与图2A中描绘的相同的场景。客户端设备206B包括触摸屏240、Sarah与(例如,在消息交换客户端107中渲染的)她的自动化助理120之间的人机对话的转录242以及可以从Sarah接收文本、语音至文本或其它类型的输入(例如,图像)的输入字段244。在此示例中,Sarah的自动化助理120(图2B中的“AA”且在本文中别处)响应于Dave通过向她的日历添加条目成功地排程与Sarah共进午餐的尝试而提供以下自然语言输出:“Dave hasscheduled a lunch with you on Tuesday at 1PM at Hypothetical Cafe.Do you needto cancel or reschedule(Dave已排程在星期二下午1点在假想咖啡馆与你共进午餐。你需要取消或者重新排程吗)?”Sarah回答“No,that works(不用,那就行)”,这时Sarah的自动化助理120可以不采取进一步行动。然而,在Sarah否定地回答后,Sarah的自动化助理120能从她的日历中取消由Dave的自动化助理所添加的日历条目。附加地,Sarah的自动化助理120可能已(例如,通过自动化助理联络服务138)使Dave的自动化助理120例如经由客户端设备206A的扬声器提供Sarah取消了午餐的输出。附加地或替换地,Sarah能试图使用与由Dave在它原先排程午餐时使用的技术类似的技术来重新排程午餐。
在一些实施方式中,本文描述的技术可以由单个用户使用来对多个其它个人进行民意调查,例如,通过自动化助理联络服务138协调与其它个人的自动化助理120的通信并收集结果。图3A描绘不同会话期间的用户“Dave”101与在计算设备206A上操作的自动化助理120之间的另一示例对话。在380处,Dave 101说出短语“Can you ask my coworkerswhether they'd like to have chicken or beef at the company picnic?(你能问我的同事他们愿意在公司野餐时吃鸡肉还是牛肉吗?)”在382处,Dave的自动化助理120回答“Sure.I'll let you know what they say(好的。我会让你知道他们说什么)”。这时,Dave的自动化助理120可以与用户控制资源引擎130的各种组件(诸如自动化助理联络服务138)交互,所述各种组件进而可以与为称为Dave的同事(其可以例如由Dave设置为Dave的联系人的组,或者可以包括全部为同一雇主工作的Dave的社交网络联系人的组)的个人服务的自动化助理120交互,以便从其他同事恳求回答。例如,自动化助理联络服务138可以检查访问控制列表126以确定对于每个同事来说(或者在一些情况下,对于同事的预定义组来说)Dave的自动化助理120是否具有用于触发这些同事的相应的自动化助理与这些同事接洽的许可。假定回答为是,自动化助理联络服务138可以触发这些同事的自动化助理以从这些同事恳求对Dave的问题的响应。
在图3B中描绘了其他同事中的一位(来自前一个示例的Sarah)可以看到的东西的示例。在Sarah的客户端设备206B上,Sarah的自动化助理120例如在自动化助理联络服务138命令下提供以下自然语言输出:“Dave would like to know whether you would likechicken or beef at the company picnic(Dave想要知道你在公司野餐时想要鸡肉还是牛肉)”。Sarah(“YOU(你)”)回答:“Chicken(鸡肉)”。在各种实施方式中,可以例如通过自动化助理联络服务138和/或通过Dave的自动化助理120来收集Sarah的响应以及来自Dave的同事的其他人的响应。在一些实施方式中,自动化助理联络服务138和/或Dave的自动化助理120可以等待直到它具有来自所有其他同事的响应为止,或者直到某个预定截止时间(例如,如根据Dave的排程表所确定的公司野餐之前的一天)为止,直到Dave被呈现结果为止。这被示出在图3A中,当Dave的自动化助理120在384(其像通过椭圆所指示的那样在以后某个时间发生)处输出民意调查结果:“Sarah,Marshall,Ed,and Stan would preferchicken.Sally and Ernest would prefer beef(Sarah、Marshall、Ed和Stan更喜欢鸡肉。Sally和Ernest更喜欢牛肉)”。虽然每个同事接收到Dave的恳求作为自然语言输出,但是这不旨在为限制性的。在一些实施方式中,Dave的同事中的一位或多位可能已以不同的形式接收到恳求,所述不同的形式诸如文本消息、电子邮件(例如,其链接到对选择“chicken(鸡肉)”和“beef(牛肉)”的调查)等。
能够经由个人相应的自动化助理对多个个人进行民意调查的一个技术优点是不是Dave接收到多个响应(如将会发生的那样,例如,使Dave以问题“鸡肉或牛肉”简单地给他的同事发短信),而是Dave从他的自动化助理120接收汇总民意调查的结果的单个通信(在384处)。Dave未被多个响应所淹没,这保存客户端设备206A的网络和计算资源并减少干扰。它还减少Dave必须与客户端设备一起参与的交互的数目,这在Dave正在开车或者以其它方式无法提供许多输入的情况下可以是有益的。
图4描绘不同会话期间的用户Dave 101与他的在计算设备206A上操作的自动化助理120之间的另一对话,并且示出用户如何可接洽自动化助理120以触发为另一用户服务的自动化助理主动地接洽该其它用户的另一示例。在此示例中,在480处,Dave 101提供自然语言输入“Please remind Sa rah to buy milk on her way home(请提醒Sarah在她回家的路上买牛奶)”。Dave的自动化助理120回答“sure(确定)”。此时,Dave的自动化助理120可以接洽自动化助理联络服务138和/或为Sarah服务的另一自动化助理,例如通过Sarah的客户端设备206B,并且使Sarah的自动化助理提供输出“Dave would like you to buy milkon your way home(Dave想要你在你回家的路上买牛奶)”。在一些实施方式中,可以在例如基于如通过位置服务136追踪到的Sarah的位置确定了Sarah在她回家的路上时通过Sarah的自动化助理在Sarah的客户端设备206B上提供此输出。在其它实施方式中,可以立即将它提供给Sarah。在一些实施方式中,如果Dave的自动化助理通过访问控制列表126具有从位置服务136获得Sarah的位置的许可,则可以在Sarah在她回家的路上时自动地通知Dave的自动化助理120,例如通过位置服务136触发Dave自己的自动化助理。在一些这样的实施方式中,Dave的自动化助理可以在484处提供诸如“Sarah is on her way home now.I havereminded her to buy milk(现在Sarah在她回家的路上。我已提醒她要买牛奶)”这样的输出。
图5描绘用户Dave 101与在Dave的客户端设备206A上操作的自动化助理120的实例之间的另一示例人机对话。Dave在580处问“Has Yaris left work yet?(Yaris已经下班了吗?)”Dave的自动化助理120可以与用户控制资源引擎130进行通信,并且特别地与位置服务136进行通信。可以例如基于访问控制列表126来确定Dave的自动化助理120具有获得Yaris的当前位置的许可。因此,位置服务136可以将Yaris的当前位置(其可以例如根据从Yaris的客户端设备中的一个或多个接收到的最后位置坐标来确定)提供给Dave的自动化助理120。Dave的自动化助理可以执行例如对来自地图服务的当前交通状况的进一步搜索和处理,并且可以在582处制订响应,诸如“Yes,it looks like he'll hit some trafficon the 405but should be home in approximately 20minutes(是的,看起来他在405上碰到交通堵塞,但是应该在约20分钟内到家)”。
图6描绘形式为智能电话或平板(但这不意在为限制性的)的客户端设备606包括触摸屏640的示例。在触摸屏640上在视觉上渲染的是客户端设备606的用户(图6中的“You(你)”)与(至少部分地)在客户端设备606上执行的自动化助理120(“AA”)的实例之间的人机对话的转录642。还提供了输入字段644,其中用户能够提供自然语言内容以及诸如图像、声音等这样的其它类型的输入。
在图6中,用户以问题“Please add milk to Yaris'shopping list(请将牛奶添加到Yaris的购物列表)”来发起人机对话会话。为用户服务的自动化助理120然后与用户控制内容引擎并且特别地与购物列表服务134接洽,以基于访问控制列表126确定用户的自动化助理120是否具有向Yaris的购物列表添加项目的许可。在此示例中,用户的自动化助理120确定它没有许可。因此,用户的自动化助理120回答:“Unfortunately I don't havepermission to do that.Would you like me to add milk to your shopping list(很遗憾我没有那样做的许可。你想要我将牛奶添加到你的购物列表吗)?”用户回答“Yes,andplease share the list with Yaris(是的,并请与Yaris分享列表)”。用户的自动化助理然后可以与购物列表服务134交互以将牛奶添加到用户自己的购物列表。用户的自动化助理120和/或购物列表服务134还可以更新访问控制列表126,使得为Yaris服务的自动化助理现在能够访问用户的购物列表。虽然未示出,但是在一些实施方式中,这可以触发Yaris的自动化助理120以通知Yaris他现在能够访问用户的购物列表。用户的自动化助理然后问“Would you like me to ask Yaris for permission to add items to his shoppinglist(你想要我向Yaris要求将项目添加到他的购物列表的许可吗)?”如果用户肯定地响应,则用户的自动化助理120可以与自动化助理联络服务138接洽以触发Yaris的自动化助理120来问Yaris用户是否可具有将项目添加到Yaris的购物列表的许可。
图7A和图7B描绘用户如何可以通过他们各自的自动化助理来交换信息的另一示例。在图7A中,Dave 101再次与至少部分地在客户端设备206A上执行的自动化助理120交互。在此示例中,Dave 101提供自然语言输入“Please ask Sarah what she thinks of<movie>(请问Sarah她对<电影>的看法)”。Dave的自动化助理120回答“OK,I'll ask her(好的,我会问她)”。Dave的自动化助理120然后与自动化助理联络服务138交互,所述自动化助理联络服务138基于访问控制列表126确定Dave的自动化助理120具有触发Sarah的自动化助理120以与Sarah主动地接洽的许可。
图7B描绘Sarah如何可以在此示例中通过她的自动化助理120被接洽的一个示例。Sarah的自动化助理可能正在至少部分地在Sarah的另一客户端设备206C上执行,所述另一客户端设备206C在图7B中采取独立交互式扬声器的形式。Sarah的自动化助理120可听见地输出以下自然语言语句:“Dave would like to know what you think of<movie>(Dave想要知道你对<电影>的看法)”。Sarah然后回答“The cinematography is beautiful,butotherwise it is indulgent and insists upon itself(电影摄影很美,但是在其他方面它是放纵的并坚持自己)”。Sarah的自动化助理120然后说“OK,I'll pass that along(好的,我会把那传递出去)”。
回到图7A,在经过一段时间并且Sarah提供她对电影的意见之后,Dave的自动化助理120向Dave通知Sarah的意见。在此示例中,Dave用于发起事务的同一客户端设备206A也给Dave提供此信息。然而,这不意在为限制性的。Dave可能不再在客户端设备206A附近,而是可能正在操作执行Dave的自动化助理120的至少一部分的另一客户端设备(未描绘)(例如,车辆计算系统)。在这样的场景中,Dave的其它客户端设备可以实际地在听觉上或在视觉上输出Sarah的意见。
如上面所指出的,服务130-138不是详尽列表。还设想了便于其它类型的事务(诸如资金的支付)的其它类型的服务。图8再次描绘Dave 101参与与他的至少部分地在客户端设备206A上执行的自动化助理的人机对话。在此示例中,Dave 101提供自然语言输入“Canyou send Allison$50towards my contribution for Bill's retirement gift(你能向Allison发送50美元作为我为Bill的退休礼物的捐款吗)?”响应于此输入,Dave的自动化助理120可以参与与Dave的银行账户连接的资金支付服务(在图1中未描绘)以将所请求的资金发送给另一用户Allison。在一些实施方式中,资金支付服务可以例如基于访问控制列表126来确定Dave的自动化助理是否具有将资金存入由Allison控制的银行账户。在其它实施方式中,Dave的自动化助理可以例如经由与用户相关联的电子邮件地址简单地使用便于资金的转账的各种常规在线支付系统来实现资金转账。
图9是图示根据本文公开的实施方式的示例方法900的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括各种计算机系统的各种组件,诸如自动化助理120的一个或多个组件。此外,虽然方法900的操作被以特定次序示出,但是这不意在为限制性的。可以对一个或多个操作进行重新排序、省略或添加。
在块902处,系统可以从第一用户接收自然语言输入。例如,第一用户可以提供例如在自动化助理客户端118处和/或通过一个或多个基于云的自动化助理组件119被转换为文本的语音输入。附加地或替换地,第一用户可以例如通过消息交换客户端107或另一类似的应用来以文本形式提供自然语言输入。
在块904处,系统可以从在块902处接收的语音输入中辨识任务请求,并且在块906处,系统例如通过自然语言处理器122和/或其它基于云的自动化助理组件119可以分析任务请求(例如,添加注释、代词解析、实体识别等)。
在块908处,并且响应于分析,系统可以确定任务请求与第二用户有关并且检查访问控制列表126(其如上面所指出的那样与由第二用户接洽的自动化助理有关)以针对要对任务请求的至少一部分采取的行动来确定第一用户对于第二用户是否具有适当的访问权限。在一些实施方式中,可以在个别用户基础上检查许可。在一些实施方式中,系统可以通过确定第一用户是第一组的成员并确定第一组对于第二用户具有适当的访问权限来确定第一用户对于第二用户是否具有适当的访问权限。在各种实施方式中,任务请求可以包括多个子任务或查询,对于其中的一些来说许可通过访问控制列表126来控制而对于其它子任务或查询来说不要求许可。例如,假设用户提交任务查询“Please add a Tuesday lunchmeeting on Ruby's calendar,and then send her a text message about the meeting(请在Ruby的日历上添加星期二午餐会议,然后向她发送关于该会议的文本消息)”。将条目添加到Ruby的日历可能要求经由访问控制列表126的许可,但是发送通用文本消息可能不要求许可。因此,在一些实施方式中,自动化助理120可以确定任务请求的要求许可的部分和不要求许可的部分,并且可以仅在必要时查阅访问控制列表126。
在块910处,系统可以响应于在块908处确定第一用户对于第二用户具有适当的访问权限而对任务请求采取行动。例如,在一些实施方式中,对任务请求采取行动可以包括从第二用户的具有服务(例如,服务130-138中的一个或多个)的账户(例如,从用户控制资源128)读取信息。在一些实施方式中,对任务请求采取行动可以包括将信息写入到第二用户的具有服务的账户。在一些实施方式中,这种读取和/或写入可以由与第一用户相关联(例如,为之服务)的自动化助理和/或与第二用户相关联(例如,为之服务)的自动化助理来执行。
图10是可以可选地被利用来执行本文描述的技术的一个或多个方面的示例计算设备1010的框图。在一些实施方式中,客户端计算设备、用户控制资源引擎130和/或其它组件中的一个或多个可以包括示例计算设备1010的一个或多个组件。
计算设备1010通常包括经由总线子系统1012与许多外围设备进行通信的至少一个处理器1014。这些外围设备可以包括存储子系统1024,包括例如存储器子系统1025和文件存储子系统1026、用户界面输出设备1020、用户界面输入设备1022和网络接口子系统1016。输入和输出设备允许用户与计算设备1010交互。网络接口子系统1016提供到外部网络的接口并且耦合到其它计算设备中的对应的接口设备。
用户界面输入设备1022可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板这样的指点设备、扫描器、并入到显示器中的触摸屏、诸如语音辨识系统、麦克风这样的音频输入设备和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1010中或者输入到通信网络上的所有可能类型的设备和方式。
用户界面输出设备1020可以包括显示子系统、打印机、传真机,或诸如音频输出设备这样的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)这样的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统还可以例如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备1010输出到用户或者到另一机器或计算设备的所有可能类型的设备和方式。
存储子系统1024存储提供本文描述的模块中的一些或全部的功能性的程序和数据构造。例如,存储子系统1024可以包括用于执行图9的方法的所选方面以及实现图1中描绘的各种组件的逻辑。
这些软件模块通常由处理器1014单独或者与其它处理器相结合地执行。在存储子系统1024中使用的存储器1025可包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1030以及存储有固定指令的只读存储器(ROM)1032。文件存储子系统1026可为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统1026存储在存储子系统1024中,或者存储在可由处理器1014访问的其它机器中。
总线子系统1012提供用于让计算设备1010的各种组件和子系统如预期相互通信的机制。尽管总线子系统1012被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
计算设备1010可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图10中描绘的计算设备1010的描述仅作为具体示例意在供图示一些实施方式的目的使用。计算设备1010的许多其它配置可能具有比图10中描绘的计算设备更多或更少的组件。
在本文讨论的某些实施方式可以收集或者使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据、关于用户的社交网络、用户的位置、用户的时间的信息、用户的生物计量信息以及用户的活动和人口统计信息、用户之间的关系等)的情形下,用户被提供有一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息、以及信息如何关于用户被收集、存储和使用。也就是说,本文讨论的系统和方法仅在从相关用户接收到要这样做的显式授权后才收集、存储和/或使用用户个人信息。
例如,用户被提供有对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。将收集个人信息的每个用户被呈现有用于允许控制与该用户相关的信息收集以提供关于是否收集信息以及关于将收集信息的哪些部分的许可或授权的一个或多个选项。例如,可通过通信网络给用户提供一个或多个这样的控制选项。此外,某些数据可以在它被存储或者使用之前被以一种或多种方式处理,使得个人可识别的信息被去除。作为一个示例,可以处理用户的身份,使得可确定个人可识别的信息。作为另一示例,可使用户的地理位置一般化为较大的区域,使得不能确定用户的特定位置。
虽然已在本文中描述和图示了若干实现方式,但是可以利用用于执行功能和/或获得结果的各种其它手段和/或结构和/或本文描述的优点中的一个或多个,并且这样的变化和/或修改中的每一个均被视为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造意在为示例性的并且实际的参数、尺寸、材料和/或构造将取决于教导被用于的一个或多个具体应用。本领域的技术人员将认识到或者能够使用不超过一个例行实验来确定本文描述的具体实施方式的许多等同物。因此,应当理解的是,上述实施方式仅通过示例来呈现,并且在所附权利要求及其等同物的范围内,可以不像具体地描述和要求保护的那样实践本公开的实施方式。本公开的实施方式致力于本文描述的每个单独的特征、系统、项目、材料、套件和/或方法。此外,如果这样的特征、系统、项目、材料、套件和/或方法不是相互不一致的,则两个或更多个这样的特征、系统、项目、材料、套件和/或方法的任何组合被包括在本公开的范围内。

Claims (20)

1.一种方法,所述方法包括:
在经由一个或多个网络与自动化助理通信地耦合的至少两个客户端计算设备中的每一个上执行相应的自动化助理客户端,其中所述自动化助理并且其中所述自动化助理进一步通信地耦合到用户控制资源引擎,所述用户控制资源引擎包括所述自动化助理的多个用户能够访问的多个服务,所述多个用户中的每一个均具有一个或多个账户,所述一个或多个账户具有所述多个服务中的一个或多个;
在由所述多个用户中的第一用户操作的第一客户端计算设备的输入设备处从所述第一用户接收自由形式自然语言输入;
从所述自由形式自然语言输入中辨识任务请求;
分析所述任务请求以识别所述任务请求寻求对所述多个用户中的第二用户的用户控制资源的访问,所述第二用户与移动第二客户端计算设备相关联;
分析所述任务请求以识别通过所述任务请求施加的地理约束;
检查与所述用户控制资源引擎的所述多个服务有关的访问控制列表以针对要对所述任务请求的至少一部分采取的行动来确定所述第一用户对于所述第二用户是否具有适当的访问权限;
针对要对所述任务请求的所述部分采取的行动来确定所述第一用户对于所述第二用户具有适当的访问权限;
从所述第一用户具有适当的访问权限的所述第二用户的一个或多个账户中读取包括所述第二用户的具有位置服务的账户的信息,所述位置服务在请求时使由所述移动第二客户端计算设备提供的所述第二用户的位置可用;
从所述第二用户的具有所述位置服务的账户获得所述第二用户的当前位置;
验证所述第二用户的所述当前位置满足所述地理约束;
使得所述自动化助理在所述当前位置处经由在所述移动第二客户端计算设备上操作的所述自动化助理客户端参与与所述第二用户的自然语言人机对话;以及
经由所述移动第二客户端计算设备的输出组件将所述任务请求的所述部分传达给所述第二用户。
2.根据权利要求1所述的方法,其中,所述访问控制列表进一步指示有关从以下各项的组中选择的服务的访问权限:排程服务、自动化助理联络服务、购物列表服务和提醒服务。
3.根据权利要求1所述的方法,其中,检查所述访问控制列表包括确定所述第一用户是第一组的成员并且确定所述第一组具有适当的访问权限。
4.根据权利要求1所述的方法,进一步包括分析所述任务请求以识别通过所述任务请求施加的时间约束。
5.根据权利要求4所述的方法,进一步包括验证当前时间满足所述时间约束。
6.根据权利要求5所述的方法,其中,所述使得包括使得所述自动化助理在所述当前时间经由所述自动化助理客户端参与与所述第二用户的所述自然语言人机对话。
7.根据权利要求1所述的方法,其中,所述自由形式自然语言输入包括语音输入,并且所述方法进一步包括对所述语音输入执行自动语音辨识,其中,所述辨识包括来自所述自动语音辨识的输出的所述任务请求。
8.一种系统,所述系统包括一个或多个处理器以及与所述一个或多个处理器操作地耦合的存储器,其中,所述存储器存储指令,所述指令响应于由一个或多个处理器对所述指令的执行而使得所述一个或多个处理器执行自动化助理,至少两个客户端计算设备中的每一个上的相应的自动化助理客户端经由一个或多个网络通信地耦合到所述自动化助理,其中,所述自动化助理进一步通信地耦合到用户控制资源引擎,所述用户控制资源引擎包括所述自动化助理的多个用户能够访问的多个服务,所述多个用户中的每一个均具有一个或多个账户,所述一个或多个账户具有所述多个服务中的一个或多个,其中,所述自动化助理被配置成执行以下操作:
在由所述多个用户中的第一用户操作的第一客户端计算设备的输入设备处从所述第一用户接收自由形式自然语言输入;
从所述自由形式自然语言输入中辨识任务请求;
分析所述任务请求以识别所述任务请求寻求对所述多个用户中的第二用户的用户控制资源的访问,所述第二用户与移动第二客户端计算设备相关联;
分析所述任务请求以识别通过所述任务请求施加的地理约束;
检查与所述用户控制资源引擎的所述多个服务有关的访问控制列表以针对要对所述任务请求的至少一部分采取的行动来确定所述第一用户对于所述第二用户是否具有适当的访问权限;
针对要对所述任务请求的所述部分采取的行动来确定所述第一用户对于所述第二用户具有适当的访问权限;
从所述第一用户具有适当的访问权限的所述第二用户的一个或多个账户中读取包括所述第二用户的具有位置服务的账户的信息,所述位置服务在请求时使由所述移动第二客户端计算设备提供的所述第二用户的位置可用;
从所述第二用户的具有所述位置服务的账户获得所述第二用户的当前位置;
验证所述第二用户的所述当前位置满足所述地理约束;
使得所述自动化助理在所述当前位置处经由在所述移动第二客户端计算设备上操作的所述自动化助理客户端参与与所述第二用户的自然语言人机对话;以及
经由所述移动第二客户端计算设备的输出组件将所述任务请求的所述部分传达给所述第二用户。
9.根据权利要求8所述的系统,其中,所述访问控制列表进一步指示有关从以下各项的组中选择的服务的访问权限:排程服务、自动化助理联络服务、购物列表服务和提醒服务。
10.根据权利要求8所述的系统,其中,检查所述访问控制列表包括确定所述第一用户是第一组的成员并且确定所述第一组具有适当的访问权限。
11.根据权利要求8所述的系统,进一步包括用于分析所述任务请求以识别通过所述任务请求施加的时间约束的指令。
12.根据权利要求11所述的系统,进一步包括用于验证当前时间满足所述时间约束的指令。
13.根据权利要求12所述的系统,其中,所述使得包括使得所述自动化助理在所述当前时间经由所述自动化助理客户端参与与所述第二用户的所述自然语言人机对话。
14.根据权利要求8所述的系统,其中,所述自由形式自然语言输入包括语音输入,并且所述系统进一步包括用于对所述语音输入执行自动语音辨识的指令,其中,所述辨识包括来自所述自动语音辨识的输出的所述任务请求。
15.至少一种非暂时性计算机可读介质,所述至少一种非暂时性计算机可读介质包括指令,所述指令响应于由一个或多个处理器对所述指令的执行而使得所述一个或多个处理器执行自动化助理,所述自动化助理通过在相应的自动化助理客户端在经由一个或多个网络与自动化助理通信地耦合的至少两个客户端计算设备中的每一个上执行的环境中执行以下操作来为第一用户服务,其中,所述自动化助理通信地耦合到用户控制资源引擎,所述用户控制资源引擎包括所述自动化助理的多个用户能够访问的多个服务,所述多个用户中的每一个均具有一个或多个账户,所述一个或多个账户具有所述多个服务中的一个或多个:
在由所述多个用户中的第一用户操作的第一客户端计算设备的输入设备处从所述第一用户接收自由形式自然语言输入;
从所述自由形式自然语言输入中辨识任务请求;
分析所述任务请求以识别所述任务请求寻求对所述多个用户中的第二用户的用户控制资源的访问,所述第二用户与移动第二客户端计算设备相关联;
分析所述任务请求以识别通过所述任务请求施加的地理约束;
检查与所述用户控制资源引擎的所述多个服务有关的访问控制列表以针对要对所述任务请求的至少一部分采取的行动来确定所述第一用户对于所述第二用户是否具有适当的访问权限;
针对要对所述任务请求的所述部分采取的行动来确定所述第一用户对于所述第二用户具有适当的访问权限;
从所述第一用户具有适当的访问权限的所述第二用户的一个或多个账户中读取包括所述第二用户的具有位置服务的账户的信息,所述位置服务在请求时使由所述移动第二客户端计算设备提供的所述第二用户的位置可用;
从所述第二用户的具有所述位置服务的账户获得所述第二用户的当前位置;
验证所述第二用户的所述当前位置满足所述地理约束;
使得所述自动化助理在所述当前位置处经由在所述移动第二客户端计算设备上操作的所述自动化助理客户端参与与所述第二用户的自然语言人机对话;以及
经由所述移动第二客户端计算设备的输出组件将所述任务请求的所述部分传达给所述第二用户。
16.根据权利要求15所述的至少一种非暂时性计算机可读介质,其中,所述访问控制列表进一步指示有关从以下各项的组中选择的服务的访问权限:排程服务、自动化助理联络服务、购物列表服务和提醒服务。
17.根据权利要求15所述的至少一种非暂时性计算机可读介质,其中,检查所述访问控制列表包括确定所述第一用户是第一组的成员并且确定所述第一组具有适当的访问权限。
18.根据权利要求15所述的至少一种非暂时性计算机可读介质,进一步包括用于分析所述任务请求以识别通过所述任务请求施加的时间约束的指令。
19.根据权利要求18所述的至少一种非暂时性计算机可读介质,进一步包括用于验证当前时间满足所述时间约束的指令。
20.根据权利要求19所述的至少一种非暂时性计算机可读介质,其中,所述使得包括使得所述自动化助理在所述当前时间经由所述自动化助理客户端参与与所述第二用户的所述自然语言人机对话。
CN201880032296.1A 2017-05-15 2018-05-14 通过自动化助理来提供对用户控制资源的访问 Active CN110622126B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/595,004 US10127227B1 (en) 2017-05-15 2017-05-15 Providing access to user-controlled resources by automated assistants
US15/595,004 2017-05-15
PCT/US2018/032519 WO2018213167A1 (en) 2017-05-15 2018-05-14 Providing access to user-controlled resources by automated assistants

Publications (2)

Publication Number Publication Date
CN110622126A true CN110622126A (zh) 2019-12-27
CN110622126B CN110622126B (zh) 2024-03-01

Family

ID=62599690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880032296.1A Active CN110622126B (zh) 2017-05-15 2018-05-14 通过自动化助理来提供对用户控制资源的访问

Country Status (4)

Country Link
US (2) US10127227B1 (zh)
EP (1) EP3607444A1 (zh)
CN (1) CN110622126B (zh)
WO (1) WO2018213167A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022088964A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 一种电子设备的控制方法和装置
TWI802163B (zh) * 2021-12-22 2023-05-11 竹陞科技股份有限公司 基於腳本的控制系統和控制方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101769423B1 (ko) * 2016-11-08 2017-08-22 최재호 대화방 기반의 리마인더 방법 및 장치
KR102650135B1 (ko) * 2016-11-18 2024-03-21 구글 엘엘씨 대화형 어시스턴트 컨텍스트 포함하여 사후 검색 결과를 자율적으로 제공
US11348475B2 (en) * 2016-12-09 2022-05-31 The Boeing Company System and method for interactive cognitive task assistance
US10127227B1 (en) * 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants
US11436417B2 (en) 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
US10708268B2 (en) * 2017-07-31 2020-07-07 Airwatch, Llc Managing voice applications within a digital workspace
KR102619621B1 (ko) * 2018-02-07 2023-12-29 삼성전자주식회사 챗봇과 대화하기 위한 전자 장치 및 그의 동작 방법
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11307880B2 (en) * 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11158310B2 (en) * 2018-05-01 2021-10-26 Dell Products, L.P. Intelligent assistance for handling usage modes
US10198877B1 (en) 2018-05-23 2019-02-05 Google Llc Providing a communications channel between instances of automated assistants
WO2020032927A1 (en) 2018-08-07 2020-02-13 Google Llc Assembling and evaluating automated assistant responses for privacy concerns
US10885079B2 (en) * 2018-09-19 2021-01-05 Salesforce.Com, Inc. Voice-activated events management system
US10853398B2 (en) 2018-11-13 2020-12-01 Adobe Inc. Generating three-dimensional digital content from natural language requests
US11227592B1 (en) * 2019-06-27 2022-01-18 Amazon Technologies, Inc. Contextual content for voice user interfaces
KR20210045241A (ko) * 2019-10-16 2021-04-26 삼성전자주식회사 전자 장치 및 전자 장치의 음성 명령어 공유 방법
US11227583B2 (en) * 2019-11-05 2022-01-18 International Business Machines Corporation Artificial intelligence voice response system having variable modes for interaction with user
US11461417B2 (en) 2020-03-05 2022-10-04 Kore.Ai, Inc. Methods for managing automated discovery and knowledge sharing in one or more networks and devices thereof
US11665118B2 (en) * 2020-06-25 2023-05-30 Kpn Innovations, Llc. Methods and systems for generating a virtual assistant in a messaging user interface
CN112184469B (zh) * 2020-10-23 2023-07-11 腾讯科技(深圳)有限公司 群组互动方法、装置、设备以及存储介质
US11687633B2 (en) 2020-11-05 2023-06-27 International Business Machines Corporation Access authentication in AI systems
US11908473B2 (en) * 2022-05-10 2024-02-20 Apple Inc. Task modification after task initiation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230689A1 (en) * 2000-02-11 2004-11-18 Microsoft Corporation Multi-access mode electronic personal assistant
US7945470B1 (en) * 2006-09-29 2011-05-17 Amazon Technologies, Inc. Facilitating performance of submitted tasks by mobile task performers
EP2528360A1 (en) * 2011-05-23 2012-11-28 Apple Inc. Identifying and locating users on a mobile network
US20140081633A1 (en) * 2012-09-19 2014-03-20 Apple Inc. Voice-Based Media Searching
US20140172953A1 (en) * 2012-12-14 2014-06-19 Rawles Llc Response Endpoint Selection
US8782136B1 (en) * 2011-03-28 2014-07-15 Google Inc. System and method for providing access to data objects based on proximity
US20150186154A1 (en) * 2013-12-31 2015-07-02 Next It Corporation Virtual assistant team customization
US9147054B1 (en) * 2012-12-19 2015-09-29 Amazon Technolgies, Inc. Dialogue-driven user security levels

Family Cites Families (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047053A (en) 1990-02-27 1991-09-10 Smith & Nephew Richards Inc. Permanent middle ear vent tube and method of insertion
US5375244A (en) 1992-05-29 1994-12-20 At&T Corp. System and method for granting access to a resource
US5533102A (en) 1993-09-22 1996-07-02 Active Voice Telephone auto attendant system for delivering chosen greetings to callers while on the phone
US5493692A (en) * 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US5652789A (en) 1994-09-30 1997-07-29 Wildfire Communications, Inc. Network based knowledgeable assistant
US5928325A (en) * 1997-02-24 1999-07-27 Motorola, Inc. Method of dynamically establishing communication of incoming messages to one or more user devices presently available to an intended recipient
JP3195752B2 (ja) 1997-02-28 2001-08-06 シャープ株式会社 検索装置
JP3740281B2 (ja) 1997-06-30 2006-02-01 キヤノン株式会社 通信システム、通信制御装置、その制御方法および記憶媒体
US5982863A (en) 1997-08-27 1999-11-09 Phytel, Inc. Communications system for a service provider
US8380796B2 (en) 1997-11-02 2013-02-19 Amazon Technologies, Inc. Social networking system
IL140805A0 (en) * 1998-10-02 2002-02-10 Ibm Structure skeletons for efficient voice navigation through generic hierarchical objects
US6938256B2 (en) 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US6751621B1 (en) 2000-01-27 2004-06-15 Manning & Napier Information Services, Llc. Construction of trainable semantic vectors and clustering, classification, and searching using trainable semantic vectors
US7236976B2 (en) * 2000-06-19 2007-06-26 Aramark Corporation System and method for scheduling events and associated products and services
US7308484B1 (en) * 2000-06-30 2007-12-11 Cisco Technology, Inc. Apparatus and methods for providing an audibly controlled user interface for audio-based communication devices
AU2002243913A1 (en) * 2001-02-09 2002-08-28 Personal Genie, Inc. Calendaring systems and methods
US7289522B2 (en) 2001-03-20 2007-10-30 Verizon Business Global Llc Shared dedicated access line (DAL) gateway routing discrimination
US7028074B2 (en) 2001-07-03 2006-04-11 International Business Machines Corporation Automatically determining the awareness settings among people in distributed working environment
US7206559B2 (en) * 2001-10-16 2007-04-17 Hewlett-Packard Development Company, L.P. System and method for a mobile computing device to control appliances
US7210163B2 (en) 2002-07-19 2007-04-24 Fujitsu Limited Method and system for user authentication and authorization of services
US7333798B2 (en) 2002-08-08 2008-02-19 Value Added Communications, Inc. Telecommunication call management and monitoring system
US7120635B2 (en) 2002-12-16 2006-10-10 International Business Machines Corporation Event-based database access execution
US8607280B2 (en) * 2003-01-08 2013-12-10 Intel Corporation Resource and capability borrowing
US8661079B2 (en) 2003-02-20 2014-02-25 Qualcomm Incorporated Method and apparatus for establishing an invite-first communication session
US20050065995A1 (en) * 2003-09-23 2005-03-24 Microsoft Corporation Content and task-execution services provided through dialog-based interfaces
US7460652B2 (en) 2003-09-26 2008-12-02 At&T Intellectual Property I, L.P. VoiceXML and rule engine based switchboard for interactive voice response (IVR) services
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US9015239B2 (en) 2003-12-22 2015-04-21 International Business Machines Corporation System and method for integrating third party applications into a named collaborative space
US20060031510A1 (en) 2004-01-26 2006-02-09 Forte Internet Software, Inc. Methods and apparatus for enabling a dynamic network of interactors according to personal trust levels between interactors
KR101163083B1 (ko) 2004-06-09 2012-07-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 위치 집합 사이의 대응성을 결정하는 시스템 및 방법, 및 컴퓨터 판독가능 매체
WO2006018041A1 (de) 2004-08-13 2006-02-23 Swiss Reinsurance Company Sprach- und textanalysevorrichtung und entsprechendes verfahren
US7359496B2 (en) 2004-12-17 2008-04-15 Alcatel Lucent Communications system and method for providing customized messages based on presence and preference information
US20060210033A1 (en) 2005-03-17 2006-09-21 Lucent Technologies, Inc. Context sensitive ring back service
US7653648B2 (en) 2005-05-06 2010-01-26 Microsoft Corporation Permissions using a namespace
WO2007058900A2 (en) 2005-11-10 2007-05-24 Alexander Eugene J Calibrating an imaging device for generating three dimensional suface models of moving objects
US7873584B2 (en) 2005-12-22 2011-01-18 Oren Asher Method and system for classifying users of a computer network
US20070271453A1 (en) 2006-05-19 2007-11-22 Nikia Corporation Identity based flow control of IP traffic
US20080046369A1 (en) 2006-07-27 2008-02-21 Wood Charles B Password Management for RSS Interfaces
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7886334B1 (en) 2006-12-11 2011-02-08 Qurio Holdings, Inc. System and method for social network trust assessment
US20080183811A1 (en) * 2007-01-25 2008-07-31 Kotras Timothy W Collaborative Multi-User Method and System
JPWO2008114811A1 (ja) 2007-03-19 2010-07-08 日本電気株式会社 情報検索システム、情報検索方法及び情報検索用プログラム
US9275247B2 (en) 2007-09-24 2016-03-01 Gregory A. Pearson, Inc. Interactive networking systems with user classes
US9247398B2 (en) 2007-11-02 2016-01-26 Sonim Technologies, Inc. Methods for barging users on a real-time communications network
EP2631822A1 (en) 2007-12-21 2013-08-28 Thomson Reuters Global Resources Systems, methods, and software for entity relationship resolution
US8700310B2 (en) * 2008-02-05 2014-04-15 Madhavi Jayanthi Mobile device and server for facilitating GPS based services
US9483883B2 (en) * 2008-02-05 2016-11-01 Madhavi Jayanthi Vehicle installed mobile device and server for GPS services based adhoc task assignments
US8010902B2 (en) 2008-02-14 2011-08-30 Oracle America, Inc. Method and system for tracking social capital
US20090216859A1 (en) 2008-02-22 2009-08-27 Anthony James Dolling Method and apparatus for sharing content among multiple users
US8732246B2 (en) * 2008-03-14 2014-05-20 Madhavi Jayanthi Mobile social network for facilitating GPS based services
US8166119B2 (en) * 2008-04-25 2012-04-24 T-Mobile Usa, Inc. Messaging device for delivering messages to recipients based on availability and preferences of recipients
US20100005518A1 (en) 2008-07-03 2010-01-07 Motorola, Inc. Assigning access privileges in a social network
ES2337437B8 (es) 2008-10-22 2011-08-02 Telefonica S.A. S de red seguros basado en el contextoprocedimiento y sistema para controlar el acceso inalambrico a recurso.
US8311824B2 (en) 2008-10-27 2012-11-13 Nice-Systems Ltd Methods and apparatus for language identification
US20100180218A1 (en) * 2009-01-15 2010-07-15 International Business Machines Corporation Editing metadata in a social network
US9195739B2 (en) 2009-02-20 2015-11-24 Microsoft Technology Licensing, Llc Identifying a discussion topic based on user interest information
US20120002008A1 (en) 2010-07-04 2012-01-05 David Valin Apparatus for secure recording and transformation of images to light for identification, and audio visual projection to spatial point targeted area
JP5533868B2 (ja) 2009-07-14 2014-06-25 ソニー株式会社 コンテンツ推薦システム、コンテンツ推薦方法、コンテンツ推薦装置及び情報記憶媒体
US8620929B2 (en) 2009-08-14 2013-12-31 Google Inc. Context based resource relevance
US9043877B2 (en) 2009-10-06 2015-05-26 International Business Machines Corporation Temporarily providing higher privileges for computing system to user identifier
US8995423B2 (en) 2009-10-21 2015-03-31 Genesys Telecommunications Laboratories, Inc. Multimedia routing system for securing third party participation in call consultation or call transfer of a call in Progress
US8868427B2 (en) * 2009-12-11 2014-10-21 General Motors Llc System and method for updating information in electronic calendars
US20130036455A1 (en) 2010-01-25 2013-02-07 Nokia Siemens Networks Oy Method for controlling acess to resources
US8483738B2 (en) * 2010-03-25 2013-07-09 T-Mobile Usa, Inc. Chore and rewards tracker
JP5751251B2 (ja) 2010-03-26 2015-07-22 日本電気株式会社 意味抽出装置、意味抽出方法、および、プログラム
WO2011116528A1 (en) 2010-03-26 2011-09-29 Nokia Corporation Method and apparatus for providing a trust level to access a resource
US9356790B2 (en) * 2010-05-04 2016-05-31 Qwest Communications International Inc. Multi-user integrated task list
US8270684B2 (en) 2010-07-27 2012-09-18 Google Inc. Automatic media sharing via shutter click
US20120130771A1 (en) 2010-11-18 2012-05-24 Kannan Pallipuram V Chat Categorization and Agent Performance Modeling
US8559926B1 (en) 2011-01-07 2013-10-15 Sprint Communications Company L.P. Telecom-fraud detection using device-location information
US9483751B2 (en) 2011-02-18 2016-11-01 Google Inc. Label privileges
US9183514B2 (en) 2011-02-25 2015-11-10 Avaya Inc. Advanced user interface and control paradigm including contextual collaboration for multiple service operator extended functionality offers
US20120222132A1 (en) 2011-02-25 2012-08-30 Microsoft Corporation Permissions Based on Behavioral Patterns
US8479302B1 (en) 2011-02-28 2013-07-02 Emc Corporation Access control via organization charts
US8576750B1 (en) 2011-03-18 2013-11-05 Google Inc. Managed conference calling
US8868636B2 (en) * 2011-04-04 2014-10-21 Lansing Arthur Parker Apparatus for secured distributed computing
US20120275450A1 (en) 2011-04-29 2012-11-01 Comcast Cable Communications, Llc Obtaining Services Through a Local Network
US8656465B1 (en) 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
US20120309510A1 (en) 2011-06-03 2012-12-06 Taylor Nathan D Personalized information for a non-acquired asset
US8873814B2 (en) 2011-11-18 2014-10-28 Ca, Inc. System and method for using fingerprint sequences for secured identity verification
US9489472B2 (en) 2011-12-16 2016-11-08 Trimble Navigation Limited Method and apparatus for detecting interference in design environment
US8914632B1 (en) 2011-12-21 2014-12-16 Google Inc. Use of access control lists in the automated management of encryption keys
US8769676B1 (en) 2011-12-22 2014-07-01 Symantec Corporation Techniques for identifying suspicious applications using requested permissions
JP5785869B2 (ja) 2011-12-22 2015-09-30 株式会社日立製作所 行動属性分析プログラムおよび装置
US9177168B2 (en) 2012-03-19 2015-11-03 Alcatel Lucent Method of modifying access control for web services using query languages
TWI475412B (zh) 2012-04-02 2015-03-01 Ind Tech Res Inst 數位內容次序調整方法和數位內容匯流器
US8925106B1 (en) 2012-04-20 2014-12-30 Google Inc. System and method of ownership of an online collection
US20140328570A1 (en) 2013-01-09 2014-11-06 Sri International Identifying, describing, and sharing salient events in images and videos
US9117444B2 (en) 2012-05-29 2015-08-25 Nuance Communications, Inc. Methods and apparatus for performing transformation techniques for data clustering and/or classification
US9531607B1 (en) * 2012-06-20 2016-12-27 Amazon Technologies, Inc. Resource manager
JP5949272B2 (ja) 2012-07-25 2016-07-06 株式会社リコー 通信システムおよびプログラム
US8786662B2 (en) 2012-08-11 2014-07-22 Nikola Vladimir Bicanic Successive real-time interactive video sessions
US8990329B1 (en) 2012-08-12 2015-03-24 Google Inc. Access control list for a multi-user communication session
US20140074545A1 (en) 2012-09-07 2014-03-13 Magnet Systems Inc. Human workflow aware recommendation engine
JP2014067154A (ja) 2012-09-25 2014-04-17 Toshiba Corp 文書分類支援装置、方法及びプログラム
JP6051782B2 (ja) 2012-10-31 2016-12-27 株式会社リコー 通信システムおよびプログラム
US20140171133A1 (en) * 2012-12-18 2014-06-19 Google Inc. Query response
US9374327B2 (en) 2013-01-08 2016-06-21 Vmware, Inc. Intelligent chat system
US9058470B1 (en) 2013-03-04 2015-06-16 Ca, Inc. Actual usage analysis for advanced privilege management
JP6379496B2 (ja) 2013-03-12 2018-08-29 株式会社リコー 管理装置、通信システム及びプログラム
US20140280223A1 (en) 2013-03-13 2014-09-18 Deja.io, Inc. Media recommendation based on media content information
WO2014153528A2 (en) 2013-03-21 2014-09-25 The Trusteees Of Dartmouth College System, method and authorization device for biometric access control to digital devices
JP6221489B2 (ja) 2013-08-09 2017-11-01 株式会社リコー 通信システム、管理装置、通信方法およびプログラム
US20150056951A1 (en) 2013-08-21 2015-02-26 GM Global Technology Operations LLC Vehicle telematics unit and method of operating the same
US9729592B2 (en) * 2013-08-27 2017-08-08 Persais, Llc System and method for distributed virtual assistant platforms
US9386148B2 (en) 2013-09-23 2016-07-05 Ooma, Inc. Identifying and filtering incoming telephone calls to enhance privacy
CN105580026B (zh) 2013-10-01 2018-06-29 邦克英沃斯株式会社 信息处理装置及访问权限赋予方法
CN105378699B (zh) 2013-11-27 2018-12-18 Ntt都科摩公司 基于机器学习的自动任务分类
CN106716402B (zh) 2014-05-12 2020-08-11 销售力网络公司 以实体为中心的知识发现
JP5644977B1 (ja) 2014-05-16 2014-12-24 富士ゼロックス株式会社 文書管理装置及び文書管理プログラム
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9509799B1 (en) 2014-06-04 2016-11-29 Grandios Technologies, Llc Providing status updates via a personal assistant
US8995972B1 (en) 2014-06-05 2015-03-31 Grandios Technologies, Llc Automatic personal assistance between users devices
US9282447B2 (en) 2014-06-12 2016-03-08 General Motors Llc Vehicle incident response method and system
KR20150144031A (ko) 2014-06-16 2015-12-24 삼성전자주식회사 음성 인식을 이용하는 사용자 인터페이스 제공 방법 및 사용자 인터페이스 제공 장치
US20150370272A1 (en) 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
US20150378997A1 (en) 2014-06-26 2015-12-31 Hapara Inc. Analyzing document revisions to assess literacy
US9712571B1 (en) 2014-07-16 2017-07-18 Sprint Spectrum L.P. Access level determination for conference participant
WO2016033333A1 (en) 2014-08-27 2016-03-03 Contentguard Holdings, Inc. Multi-mode protected content wrapper
US20160099949A1 (en) 2014-10-03 2016-04-07 Clique Intelligence Systems and Methods for Document-Level Access Control in a Contextual Collaboration Framework
JP5962736B2 (ja) 2014-10-30 2016-08-03 日本電気株式会社 情報処理システム、分類方法、及びそのためのプログラム
US10089364B2 (en) 2014-10-31 2018-10-02 Kabushiki Kaisha Toshiba Item recommendation device, item recommendation method, and computer program product
US10192549B2 (en) * 2014-11-28 2019-01-29 Microsoft Technology Licensing, Llc Extending digital personal assistant action providers
US20160170970A1 (en) 2014-12-12 2016-06-16 Microsoft Technology Licensing, Llc Translation Control
US9959129B2 (en) * 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US9979732B2 (en) 2015-01-15 2018-05-22 Microsoft Technology Licensing, Llc Contextually aware sharing recommendations
US9769208B2 (en) 2015-05-28 2017-09-19 International Business Machines Corporation Inferring security policies from semantic attributes
US9807094B1 (en) 2015-06-25 2017-10-31 Symantec Corporation Systems and methods for dynamic access control over shared resources
US9584658B2 (en) 2015-07-07 2017-02-28 Teltech Systems, Inc. Call distribution techniques
US20170054661A1 (en) * 2015-08-18 2017-02-23 Ipg Incremento De Productividad Global S.A. De C.V. Instant messaging system to integrate devices and people
US10679141B2 (en) 2015-09-29 2020-06-09 International Business Machines Corporation Using classification data as training set for auto-classification of admin rights
US20170091778A1 (en) * 2015-09-30 2017-03-30 Microsoft Technology Licensing, Llc Context-aware support integration
US20170098192A1 (en) 2015-10-02 2017-04-06 Adobe Systems Incorporated Content aware contract importation
US11573678B2 (en) 2016-09-26 2023-02-07 Faraday & Future Inc. Content sharing system and method
CN106683661B (zh) 2015-11-05 2021-02-05 阿里巴巴集团控股有限公司 基于语音的角色分离方法及装置
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
CN108885870A (zh) 2015-12-01 2018-11-23 流利说人工智能公司 用于通过将言语到文本系统与言语到意图系统组合来实现声音用户接口的系统和方法
US20180046986A1 (en) 2016-01-05 2018-02-15 Linkedin Corporation Job referral system
US10757079B2 (en) 2016-01-12 2020-08-25 Jens Schmidt Method and system for controlling remote session on computer systems using a virtual channel
JP6607061B2 (ja) 2016-02-05 2019-11-20 富士通株式会社 情報処理装置、データ比較方法、およびデータ比較プログラム
US10095876B2 (en) 2016-02-09 2018-10-09 Rovi Guides, Inc. Systems and methods for allowing a user to access blocked media
US20170262783A1 (en) 2016-03-08 2017-09-14 International Business Machines Corporation Team Formation
US10945129B2 (en) 2016-04-29 2021-03-09 Microsoft Technology Licensing, Llc Facilitating interaction among digital personal assistants
US10268683B2 (en) 2016-05-17 2019-04-23 Google Llc Generating output for presentation in response to user interface input, where the input and/or the output include chatspeak
US10216954B2 (en) 2016-06-27 2019-02-26 International Business Machines Corporation Privacy detection of a mobile application program
US10956586B2 (en) 2016-07-22 2021-03-23 Carnegie Mellon University Personalized privacy assistant
US10154539B2 (en) 2016-08-19 2018-12-11 Sony Corporation System and method for sharing cellular network for call routing
US10523814B1 (en) 2016-08-22 2019-12-31 Noble Systems Corporation Robocall management system
US10185840B2 (en) 2016-08-30 2019-01-22 Google Llc Conditional disclosure of individual-controlled content in group contexts
US11232101B2 (en) 2016-10-10 2022-01-25 Microsoft Technology Licensing, Llc Combo of language understanding and information retrieval
US10346625B2 (en) 2016-10-31 2019-07-09 International Business Machines Corporation Automated mechanism to analyze elevated authority usage and capability
US20180129960A1 (en) 2016-11-10 2018-05-10 Facebook, Inc. Contact information confidence
US20190207946A1 (en) 2016-12-20 2019-07-04 Google Inc. Conditional provision of access by interactive assistant modules
US10257241B2 (en) * 2016-12-21 2019-04-09 Cisco Technology, Inc. Multimodal stream processing-based cognitive collaboration system
JP6805885B2 (ja) 2017-02-28 2020-12-23 富士通株式会社 情報処理装置、アクセス制御方法、及びアクセス制御プログラム
US10127227B1 (en) * 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230689A1 (en) * 2000-02-11 2004-11-18 Microsoft Corporation Multi-access mode electronic personal assistant
US7945470B1 (en) * 2006-09-29 2011-05-17 Amazon Technologies, Inc. Facilitating performance of submitted tasks by mobile task performers
US8782136B1 (en) * 2011-03-28 2014-07-15 Google Inc. System and method for providing access to data objects based on proximity
EP2528360A1 (en) * 2011-05-23 2012-11-28 Apple Inc. Identifying and locating users on a mobile network
US20140081633A1 (en) * 2012-09-19 2014-03-20 Apple Inc. Voice-Based Media Searching
US20140172953A1 (en) * 2012-12-14 2014-06-19 Rawles Llc Response Endpoint Selection
US9147054B1 (en) * 2012-12-19 2015-09-29 Amazon Technolgies, Inc. Dialogue-driven user security levels
US20150186154A1 (en) * 2013-12-31 2015-07-02 Next It Corporation Virtual assistant team customization
US20150185996A1 (en) * 2013-12-31 2015-07-02 Next It Corporation Virtual assistant team identification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022088964A1 (zh) * 2020-10-31 2022-05-05 华为技术有限公司 一种电子设备的控制方法和装置
CN114449110A (zh) * 2020-10-31 2022-05-06 华为技术有限公司 一种电子设备的控制方法和装置
CN114449110B (zh) * 2020-10-31 2023-11-03 华为技术有限公司 一种电子设备的控制方法和装置
TWI802163B (zh) * 2021-12-22 2023-05-11 竹陞科技股份有限公司 基於腳本的控制系統和控制方法

Also Published As

Publication number Publication date
CN110622126B (zh) 2024-03-01
EP3607444A1 (en) 2020-02-12
US20180329889A1 (en) 2018-11-15
US20190042564A1 (en) 2019-02-07
WO2018213167A1 (en) 2018-11-22
US10127227B1 (en) 2018-11-13
US10685187B2 (en) 2020-06-16

Similar Documents

Publication Publication Date Title
CN110622126B (zh) 通过自动化助理来提供对用户控制资源的访问
JP7443407B2 (ja) 会議能力を有する自動アシスタント
KR102337820B1 (ko) 사용자 프로그래머블 자동화 어시스턴트
US11941420B2 (en) Facilitating user device and/or agent device actions during a communication session
US10635832B2 (en) Conditional disclosure of individual-controlled content in group contexts
US11436417B2 (en) Providing access to user-controlled resources by automated assistants
KR102243994B1 (ko) 액션에 대한 엔티티를 결정하고 그리고 액션 및 엔티티에 관련된 하나 이상의 컴퓨터 액션들을 수행하기 위해 촉구들에 대한 사용자 응답들의 촉진 및 분석의 자동화된 생성을 위한 방법 및 장치
CN112262381A (zh) 汇编和评估对隐私问题的自动助理响应
KR20190080938A (ko) 이전 자동 대화 세션의 선택된 컨텐츠에 기초한 자동 대화 세션에서의 프롬프트 제공
CN111316276A (zh) 将分布式状态机与自动助手用于人机对话以保护隐私数据

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant