CN110603552A - 在促成现有会话时对推荐动作配置的虚拟助理 - Google Patents

在促成现有会话时对推荐动作配置的虚拟助理 Download PDF

Info

Publication number
CN110603552A
CN110603552A CN201880029807.4A CN201880029807A CN110603552A CN 110603552 A CN110603552 A CN 110603552A CN 201880029807 A CN201880029807 A CN 201880029807A CN 110603552 A CN110603552 A CN 110603552A
Authority
CN
China
Prior art keywords
event
assistant
user
notification
computing device
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
CN201880029807.4A
Other languages
English (en)
Other versions
CN110603552B (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
Priority to CN202311161022.1A priority Critical patent/CN117252233A/zh
Publication of CN110603552A publication Critical patent/CN110603552A/zh
Application granted granted Critical
Publication of CN110603552B publication Critical patent/CN110603552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了一种系统,该系统基于与计算设备的用户相关联的信息来确定用于发起用户与在计算设备处执行的助理之间的交互的事件。该系统基于该事件从由助理执行的多个动作中选择与该事件相关联的至少一个动作。该系统基于至少一个动作来确定是否输出事件的通知,该事件的通知包括事件的指示以及执行与事件相关联的至少一个动作的请求。响应于确定输出事件的通知,系统向助理发送事件的通知以供在用户与助理之间的交互期间输出。

Description

在促成现有会话时对推荐动作配置的虚拟助理
背景技术
一些计算平台可以提供用户界面,用户可以通过该用户界面与虚拟计算助理(例如,也称为“智能个人助理”或简称为“助理”)聊天、说话或以其他方式沟通,以使该助理输出信息、响应用户的需要,或以其他方式执行某些操作来帮助用户完成任务。尽管一些助理可能非常复杂,并且被配置为执行各种现实世界或虚拟任务,但用户可能并不总是知道助理提供的所有功能。用户只能请求信息或使助理执行用户知道助理可以处理的某些任务。
发明内容
通常,本公开的技术可以使助理能够输出关于助理可以在促成与用户的现有会话时发起的一个或多个附加动作的信息,而不需要用户向助理请求这样的信息。也就是说,即使在没有对这些信息的明确用户请求的情况下,助理也可以将用户主动地引导到与用户的现有会话相关的助理的附加能力。例如,一旦助理已经接收到对维持或访问与用户相关联的信息的许可,则助理可以基于用户信息,确定用户的航班预订的出发时间被延迟。除了生成告知用户有关航班延误的输出以外,无需接收用户输入,助理就可以生成附加输出,该附加输出提供重新排程晚餐预订或地面交通以调整该延误。以这种方式,助理被配置为输出发起会话、输出附加信息或输出相关提议以执行附加动作(例如,重新排程晚餐或地面交通),以便促成与用户的现有会话。因此,所述的技术可以通过减少用户发现各种动作并且使助理执行所需的用户输入量来提高助理的可用性。
在一个示例中,本公开涉及一种方法,包括基于与计算设备的用户相关联的信息,确定用于发起用户和在计算设备上执行的助理之间的交互的事件,其中,助理被配置为执行多个动作;基于事件,从多个动作中选择与事件相关联的至少一个动作;以及基于至少一个动作,确定是否输出事件的通知,其中,通知包括事件的指示以及执行与事件相关联的至少一个动作的请求。该方法进一步包括响应于确定输出事件的通知,向助理发送事件的通知以供在用户和助理之间的交互期间输出。
在另一示例中,本公开涉及一种计算设备,包括输出设备;至少一个处理器;以及至少一个存储器。存储器包括当被执行时,使至少一个处理器执行助理的指令,该助理被配置为:基于与计算设备的用户相关联的信息,确定用于发起用户和助理之间的交互的事件,其中,助理被配置为执行多个动作;基于事件,从多个动作中选择与事件相关联的至少一个动作;基于至少一个动作,确定是否输出事件的通知,其中,通知包括事件的指示以及执行与事件相关联的至少一个动作的请求;以及响应于确定输出事件的通知,经由输出设备,在用户和助理之间的交互期间输出事件的通知。
在另一示例中,本公开涉及一种包括指令的计算机可读存储介质,指令当被执行时,使数字助理系统的至少一个处理器:基于与计算设备的用户相关联的信息,确定用于发起用户和在计算设备上执行的助理之间的交互的事件,其中,助理被配置为执行多个动作;基于事件,从多个动作中选择与事件相关联的至少一个动作;以及基于至少一个动作,确定是否输出事件的通知,其中,通知包括事件的指示以及执行与事件相关联的至少一个动作的请求。指令当被执行时,进一步使数字助理系统的至少一个处理器响应于确定输出事件的通知,向助理发送事件的通知以供在用户和助理之间的交互期间输出。
在另一示例中,本公开涉及一种系统,包括用于基于与计算设备的用户相关联的信息,确定用于发起用户和在计算设备上执行的助理之间的交互的事件的装置,其中,助理被配置为执行多个动作;用于基于事件,从多个动作中选择与事件相关联的至少一个动作的装置;以及用于基于至少一个动作,确定是否输出事件的通知的装置,其中,通知包括事件的指示以及执行与事件相关联的至少一个动作的请求。该系统进一步包括用于响应于确定输出事件的通知,向助理发送事件的通知以供在用户和助理之间的交互期间输出的装置。
在附图和以下描述中阐述了一个或多个示例的细节。根据说明书和附图以及权利要求书,本公开的其他特征、目的和优点将显而易见。
附图说明
图1是图示了根据本公开的一个或多个方面,执行示例性虚拟助理的示例性系统的概念图。
图2是图示了根据本公开的一个或多个方面,被配置成执行示例性虚拟助理的示例性计算设备的框图。
图3是图示了根据本公开的一个或多个方面,由执行示例性虚拟助理的一个或多个处理器执行的示例性操作的流程图。
图4是图示了根据本公开的一个或多个方面,被配置成执行示例性虚拟助理的示例性数字助理的框图。
具体实施方式
图1是图示了根据本公开的一个或多个方面,执行示例性虚拟助理的示例性系统的概念图。图1的系统100包括经由网络130与搜索服务器系统180以及计算设备110A和110B(统为计算设备110)通信的数字助理服务器160。虽然系统100被示出为分布于数字助理服务器160、搜索服务器系统180和计算设备110之间,但是在其他示例中,归属于系统100的特征和技术可以由计算设备110的本地组件在内部执行。类似地,数字助理服务器160可以包括某些组件并且执行以其他方式在下述描述中归属于搜索服务器系统180和/或计算设备110的各种技术。虽然图1图示了两个计算设备110,但是可以使用任何合适数量的一个或多个计算设备110。
网络130表示用于在计算系统、服务器和计算设备之间传输数据的任何公共或私有通信网络,例如,蜂窝、Wi-Fi,和/或其他类型的网络。数字助理服务器160可以经由网络130与计算设备110交换数据,以当计算设备110与网络130连接时提供计算设备110可访问的虚拟助理服务。数字助理服务器160可以经由网络130与搜索服务器系统180交换数据,以访问由搜索服务器系统180提供的搜索服务。计算设备110可以经由网络130与搜索服务器系统180交换数据,以访问由搜索服务器系统180提供的搜索服务。
网络130可以包括可操作地相互耦接、由此提供服务器系统160和180与计算设备110之间的信息交换的一个或多个网络集线器、网络交换机、网络路由器、或任何其他网络设备。计算设备110、数字助理服务器160和搜索服务器系统180可以使用任何合适的通信技术来通过网络130发送和接收数据。计算设备110、数字助理服务器160,和搜索服务器系统180可以各自使用相应的网络链路与网络130可操作地耦接。将计算设备110、数字助理服务器160,和搜索服务器系统180与网络130耦接的链路可以是以太网或其他类型的网络连接,并且这些连接可以是无线和/或有线连接。
数字助理服务器160和搜索服务器系统180表示能够向网络(诸如,网络130)发送信息和从网络接收信息的任何合适的远程计算系统(诸如,一个或多个台式计算机、膝上型计算机、大型机、服务器,云计算系统等)。数字助理服务器160托管虚拟助理服务(或至少提供对虚拟助理服务的访问)。助理服务器系统180托管搜索服务(或至少提供对搜索服务的访问)。在一些示例中,数字助理服务器160和搜索服务器系统180表示经由云提供对其各自服务的访问的云计算系统。
计算设备110表示被配置为访问经由网络130提供的虚拟助理服务的个人的移动或非移动计算设备。计算设备110的示例包括被配置成执行或访问虚拟助理并且经由网络(诸如网络130)接收信息的移动电话、平板电脑、膝上型计算机、台式计算机、服务器、大型机、机顶盒、电视、可穿戴设备(例如,计算机化手表、计算机化眼镜、计算机化手套等)、家用自动化设备或系统(例如,智能恒温器或安全系统)、个人数字助理(PDA)、游戏系统、媒体播放器、电子书阅读器、移动电视平台、汽车导航或信息娱乐系统,或任何其他类型的移动、非移动、可穿戴和不可穿戴的计算设备。
计算设备110可以经由网络130与数字助理服务器160和/或搜索服务器系统180通信,以访问由数字助理服务器160提供的虚拟助理服务和/或访问由搜索服务器系统180提供的搜索服务。在提供虚拟助理服务的过程中,数字助理服务器160可以与搜索服务器系统180通信以获得完成任务所需的信息。
在图1的示例中,数字助理服务器160包括助理模块122B和用户信息数据存储124B。计算设备110A包括用户界面组件(UIC)112、用户界面(UI)模块120、助理模块122和用户信息数据存储124A。搜索服务器系统180包括搜索模块182。尽管未示出,但是计算设备110B可以包括与计算设备110A相似的组件和/或模块。
模块120、122A、122B和182可以执行使用驻留在计算设备110A、数字助理服务器160或搜索服务器系统180中的一个或者在其处执行的软件、硬件、固件或硬件、软件和固件的混合描述的操作。计算设备110A、数字助理服务器160和搜索服务器系统180可以执行具有多个处理器或多个设备的模块120、122A、122B和182。计算设备110A、数字助理服务器160和搜索服务器系统180可以将模块120、122A、122B和182执行为在基础硬件上执行的虚拟机。模块120、122A、122B和182可以执行为操作系统或计算平台的一个或多个服务。模块120、122A、122B和182可以执行为计算平台的应用层处的一个或多个可执行程序。
计算设备110的UIC 112可以用作计算设备110A的输入和/或输出设备。UIC 112可以使用各种技术来实现。例如,UIC 112可以使用存在敏感的输入屏幕、麦克风技术、红外传感器技术、相机或用在接收用户输入时的其他输入设备技术来充当输入设备。UIC 112可以充当输出设备,其被配置为使用任何一种或多种显示设备、扬声器技术、触觉反馈技术或用在向用户输出信息时的其他输出设备技术来向用户呈现输出。
UI模块120可以管理用户与UIC 112和计算设备110A的其他组件的交互,并且可以与数字助理服务器160交互,以便经由UIC 112提供助理服务。当计算设备110A的用户在UIC112处观看输出和/或提供输入时,UI模块120可以使UIC 112输出用户界面。例如,如图1所示,UI模块120可以向UIC 112发送指令,该指令使UIC 112在UIC 112的显示屏上显示用户界面114。
用户界面114包括计算设备110A的用户与由助理模块122A提供的助理之间的会话的文本。在图1的示例中,用户界面114是图形用户界面。在一些示例中,用户界面114可以是可听用户界面。用户界面114可以包括各种形式的虚拟助理信息,诸如可听声、振动、文本、图形、内容卡、图像等。
当用户在不同时刻并且在用户和计算设备110A处于不同位置时与用户界面114交互时,UI模块120和UIC 112可以从用户接收输入(例如,语音输入、触摸输入、非触摸输入或存在敏感输入、视频输入、音频输入等)的一个或多个指示。UI模块120和UIC 112可以解释在UIC 112处检测到的输入,并且可以将关于在UIC 112处检测到的输入的信息中继到助理模块122A和/或在计算设备110A处执行的例如以使计算设备110A执行功能的一个或多个其他相关联的平台、操作系统、应用和/或服务。
UI模块120可以从在计算设备110A和/或一个或多个远程计算系统(诸如,服务器系统160和180)处执行的一个或多个相关联的平台、操作系统、应用,和/或服务接收信息和指令。另外,UI模块120可以充当在计算设备110A处执行的一个或多个相关联的平台、操作系统、应用和/或服务与计算设备110A的各种输出设备(例如,扬声器、LED指示器、音频或触觉输出装置等)之间的媒介,以通过计算设备110A产生输出(例如,图形、闪光、声音、触觉响应等)。例如,UI模块120可以基于UI模块120经由网络130从数字助理服务器160接收到的数据使UIC 112输出用户界面114。UI模块120可以接收作为来自数字助理服务器160和/或助理模块122A的输入的信息(例如,音频数据、文本数据、图像数据等)和指令以用于呈现为用户界面114。
助理模块122A和助理模块122B可以共同维护用户信息数据存储124A和124B,作为经由计算设备110访问的虚拟助理服务的一部分。助理模块122B和用户信息数据存储124B代表示例性助理的服务器侧或云实现,而助理模块122A和用户信息数据存储124A代表示例性助理的客户端侧或本地实现。在一些示例中,归属于助理模块122A的一些或全部功能可以由助理模块122B执行,反之亦然。
统称为助理模块122,助理模块122A和助理模块122B可以执行被配置为自动且不需要用户交互地将计算设备的用户主动地引导到用户当前可能感兴趣的有意义的或其他有用的信息。助理模块122可以被配置为输出关于助理被配置为在促成与用户的现有会话时执行的一个或多个附加动作的信息,无需用户向助理请求此类信息。例如,即使在对此类信息没有明确的用户请求的情况下,由助理模块122提供的助理也可以主动地将用户引导到与用户的现有会话有关的助理的附加能力。
助理模块122可以各自包括被配置为执行为可以为诸如计算设备110的用户的个人执行任务或服务的智能个人助理的软件代理。助理模块122可以基于下述内容来执行这些任务或服务:(例如,在UIC 112处检测到的)用户输入、场境(context)意识(例如,基于位置等)和/或访问来自各种信息源(例如,在计算设备110本地存储的、数字助理服务器160或经由搜索服务器系统180提供的搜索服务获得的,包括推送通知服务)的其他信息(例如,天气或交通状况、新闻、股票价格、运动分值、用户排程表、交通排程表、零售价格等)的能力。助理模块122可以执行人工智能和/或机器学习技术,以代表用户自动识别并完成一个或多个任务。助理模块122可以依赖于其他应用(例如,第三方应用)、服务或其他设备(例如,电视、包括自动驾驶汽车的汽车、手表、家庭自动化系统、娱乐系统等)来执行一个或多个任务。
在接收到明确的用户同意之后,助理模块122可以例如在执行支持与计算设备110的用户的会话的操作的过程中,自动地维护与用户相关联的信息,或指向(例如,由位于计算设备110、服务器系统160或180处的信息源或由位于网络130上的其他位置的任何其他服务器或设备存储的)与用户相关联的信息的位置的指针。助理模块122可以将与用户相关联的信息或指向信息的指针维护为用户信息数据存储124A和124B(统称为“用户信息数据存储124”)。数据存储124可以使由助理模块122执行的助理能够快速访问由助理所需的用户信息,以完成现实世界任务、虚拟任务或以其他方式响应计算设备110的用户的即时和/或未来需求。
例如,与用户相关联的信息可以是在用户与助理之间的会话期间,在用户许可的情况下获得的信息、日历信息,联系人信息、用户兴趣、用户偏好以及与用户相关联的、可以由助理模块122使用来将用户主动地引导到有意义的信息的任何其他信息。与用户相关联的信息源的示例可以包括但不限于电子邮件系统中内置的智能、与助理模块122的用户交互、与用户相关联的设备(例如,计算设备110)上的用户交互和应用使用情况或其他信息源。
如在整个说明书中使用的术语“会话”是指与在初始设置、安装、第一次使用等期间可能发生的交互相比,在计算设备的用户和在计算设备处执行或可从计算设备访问的助理之间的常规交互。换句话说,在用户正在执行除了设置助理之外的任务时,在用户每天使用助理期间产生会话。如本文使用的会话不是指用户回答作为设置应用或提供填充用户界面的预设字段信息的一部分的问题。
在操作中,助理模块122可以提供在计算设备110上执行或从计算设备110可访问的助理。助理可以被配置为发起与用户的会话或开始与用户的对话、向用户询问信息,以及建议助理可以代表用户执行的动作,即使用户不知道这些动作。助理可以被配置为向用户推荐与用户的现有会话有关的有价值的动作,而无需用户明确地请求它。例如,助理模块122B可以确定是否开始与用户的对话并且选择该对话开始。助理模块122B可以使助理模块122A发起对话并为助理模块122A获得用户授权,以执行与该对话有关的动作。
助理模块122可以基于与计算设备110的用户相关联的信息来确定用于触发计算设备110的用户与在计算设备110处执行的助理之间的交互(例如,会话或对话)的事件。助理模块122可以仅分析与计算设备110和/或计算设备110的用户相关联的信息,如果用户肯定地同意使用或收集这样的信息的话。助理模块122可以进一步提供用户撤回同意的机会,并且在这种情况下,助理模块122可以停止收集或以其他方式保留与计算设备110或计算设备110的用户相关联的信息。助理模块122可以分析用户的个人信息(例如,数据存储124),包括但不限于:搜索历史和在线交互、与助理的先前交互(例如,“call mom(给妈妈打电话)”、“call Kathy(呼叫Kathy)”)以及与在计算设备110处执行或从计算设备110可访问的其他应用和第三方实体的交互。助理模块122B可能知道用户在任何给定时间更可能从哪个“表面”或设备与助理交互,并且向该特定表面发送事件通知。
例如,在助理模块122已经从用户接收到同意维护与该用户相关联的信息或具有与该用户相关联的信息的访问之后,助理模块122B可以在数据存储124B中维护用户信息,该信息包括有关计算设备110的用户的即将到来的旅行计划的信息。旅行计划可以指示用户已经预订了特定航班上的座位,该航班原本排程在距当前时间约十二小时内起飞。在助理模块122B处执行的代理可以被配置为从搜索服务器系统180获得与旅行计划相关联的更新。例如,助理模块122B的代理可以向搜索模块182发送对有关特定航班的状态信息的查询,作为响应,助理模块122B的代理可以接收指示该特定航班从其原本排程的起飞时间延迟了三十分钟的信息。
搜索模块182可以实施从(例如,搜索服务器系统180本地或远程存储的)各种信息源中,搜索(例如,互联网搜索)与搜索查询有关的信息(例如,天气或交通状况、新闻、股票价格、运动分值、用户排程表、交通排程表、无人驾驶车辆预订、零售价格等)。在执行搜索之后,搜索模块182可以将从搜索返回的信息(例如,搜索结果、搜索结果的链接等)输出到数字助理服务器160或计算设备110。搜索模块182可以执行对(例如,基于与计算设备110A相关联的场境信息)被确定为与由搜索模块182生成的搜索查询有关的信息的搜索。搜索模块182可以基于搜索模块182从数字助理服务器160或计算设备110A接收到的搜索查询来执行搜索(例如,作为虚拟助理代表计算设备110的用户正在完成的任务的一部分)。
助理模块122B可以确定飞行延迟是用于发起与计算设备110的用户的交互的事件。助理模块122B可以向助理模块122A发送信息以触发该事件的通知。
响应于从助理模块122B接收到事件触发,助理模块122A可以基于该事件并且从助理模块122A被配置为执行的多个动作中,选择与该事件相关联或相关的至少一个动作。例如,助理模块122A可以被配置为执行多个动作,包括但不限于:排程服务(例如,交通,包括无人驾驶车辆预订、家庭或汽车相关的维修/保养、食品配送、宠物看护、带宠物散步、房屋看守、保姆、配送、旅行预订以及任何或所有其他服务)、交换通信(例如日历邀请、电子邮件、基于文本的消息、社交媒体网络消息、电话或视频通话,以及任何或所有其他通信)、采购商品(例如,在线购物、鲜花递送、购买活动门票以及任何或所有其他采购有关的动作),以及其他动作。助理模块122A可以依赖于在计算设备110A处执行或由计算设备110A可访问的其他应用或代理来执行多个动作。助理模块122A可以依赖于在计算设备110A处执行或从计算设备110A可访问的其他应用或代理来执行多个动作。
助理模块122A可以将多个动作中的任何一个或多个动作选择为与事件有关。例如,助理模块122A可以基于关于其他助理针对特定类型的事件代表其他计算设备的用户执行的哪种类型的动作获得的反馈来对特定类型的事件的助理模块122A的能力或动作评分。助理模块122A可以对多个动作中的每个动作评分,并且将一个或多个较高评分的动作选择为可能与事件有关。例如,基于存储在数据存储124A处的信息,助理模块122A可以确定除了航班预定之外,用户还已经在航班的最终目的地处预订了地面交通,诸如无人驾驶车辆。助理模块122A可以基于其他用户如何与其他助理交互来确定排程或重新排程地面交通的动作是通常由助理执行的与飞行延迟事件有关的动作。
并非所有事件可能都是值得通知用户的事件。因此,在当前时间输出事件的通知之前,助理模块122A可以确定是否输出事件的通知。助理模块122A可以限制某些事件的通知或对特定场境定制某些事件的通知,以确保用户将在该通知中找到价值。作为一个示例,助理模块122A可以至少部分地基于发生在用户和助理之间的先前交互在时间上有多近以及用户和助理之间的先前交互的频率的组合来确定是否输出事件的通知。
例如,基于存储在用户信息数据存储124A中的信息,助理模块122A可确定当用户醒来时,用户平均以阈值间隔或阈值频率(例如,每天大约每小时一次)与助手交互。由于用户和助理之间的最后会话发生在当前时间之前的阈值间隔以内(例如,仅十五分钟前),助理模块122A可以确定禁止对没有排程在另一十二小时或更长时间内起飞的航班输出半小时航班延迟的通知。在一些示例中,因为用户和助理之间的最后会话发生在大于或等于当前时间之前的阈值间隔(例如,一小时前),助理模块122A可以确定对没有排程在另一十二小时或更长时间内起飞的航班,输出该半小时航班延误的通知。
响应于确定输出事件的通知,助理模块122A可以输出事件的通知。该通知可以包括事件的指示以及执行与事件相关联的、上面选择的至少一个动作的请求。例如,助理模块122B可以经由UIC 212,在用户与助理之间的交互期间,将事件的通知发送到助理模块122A以输出。助理模块122A可以将通知输出为用户界面114的一部分,并且包括图1所示的会话文本的一部分。助理模块122A可以使通知包括代表用户执行与该事件有关的一个或多个动作的请求的指示。例如,事件的指示可以对应于显示或说出的文本“Your flight tonightto Topeka was cancelled due to bad weather(由于天气恶劣,您今晚飞往托皮卡的航班已取消)”,并且执行至少一个动作的请求的指示可以对应于显示或说出的文本“Wouldyou like me to reschedule the ground transportation you had reserved?(您希望我重新安排您预定的地面交通吗?)”。
为了防止无意输出个人或敏感信息,助理模块122A可以产生通知的信令,而不是实际输出通知。例如,响应于从助理模块122B接收到通知,助理模块122A可以使UIC 112输出警报以指示助理有给你的信息。该警报可能对应于用户界面114中示出的文本“I havesomething for you.Are you here?(我有事告知。您在吗?)”。UIC 112的输出可以主动地告知用户有意义的信息可用。
在一些示例中,助理模块122可以禁止输出通知,直到助理模块122确定用户已经接收并同意这种信令为止。例如,当助理模块122A从用户接收到同意的指示(例如,UIC 112的麦克风确定指示“Yes,I'm here(是,我在这里)”的话语)、接收到用户已经激活UIC 112的显示器的指示,和/或接收到指示用户已经以一些其他方式(例如,抬起设备、按下按钮等)与计算设备110A交互以指示同意的数据时,助理模块122B可以确定用户已经同意会话。
在任何情况下,在输出事件的通知和执行至少一个动作的请求之后,助理模块122A可以在用户响应该请求时检测到用户输入。在图1的示例中,助理模块122A可以经由UIC 112的相机或麦克风来接收对应于文本“Yes,please reschedule my ride(是的,请重新安排我的行程)”的所说的或写下的用户输入。响应于确定所说或所写的用户输入对应于请求的确认,助理模块122A的代理可以重新安排排程地面交通预约以调整航班延误。
在一些示例中,动作可以与不同于执行助理模块122中的任一个的设备的第三设备相关联。助理模块122A可以通过向第三设备发送信息以使得第三设备完成该动作来实现或执行动作。例如,地面交通服务可以与在计算设备110B处执行的应用相关联。助理模块122A可以经由网络130向应用发送消息,该消息具有重新排程服务的请求。响应于应用确认已经排程地面交通,计算设备110B可以输出指示地面交通的新时间的通知。
以这种方式,助理模块122可以将用户主动地引导到助理的其他动作或能力,而不必用琐碎的信息淹没用户或要求用户提供与这种动作或能力有关的输入。由于示例性助理会将用户主动地引导至有意义的信息,因此用户无需花费时间使用特定查询来引导助理。因此,根据本公开的示例性助理可以比其他助理更快地完成任务和/或更快地对用户做出响应。通过将用户主动地引导到有意义的信息,助理可能看起来自然、不那么笨拙,并且令用户更合意。
上述方法所提供的若干益处中包括:(1)通过将用户主动地引导到助理的动作或能力,而不依赖于来自用户的特定查询或用户经由资料或其他方式花费时间学习动作或能力,可以减少设备动作的处理复杂度和时间。可以避免例如通过语音输入,对有关助理的能力的信息的明确的用户请求。这可能导致不需要在其上实现了助理的计算机装置来处理这样的请求,因此,特别是随着时间和多次会话,该计算装置受益于与实现该助理相关的计算机资源的大量节省;(2)有意义的信息和与用户相关联的信息可以本地存储,从而减少了用户设备上对隐私数据的复杂且消耗内存的传输安全协议的需要;(3)因为示例性助理将用户引导到动作或能力,所以用户可以请求更少的特定查询,从而减少了对用户设备进行查询重写和其他计算复杂的数据检索的需求;以及(4)由于当减少了特定查询的数量时,所以也减少了助理模块响应特定查询所需的数据,因此可以减少网络使用。例如,可以减少助理可以从其输出信息的客户端计算设备110与客户端设备可以从其寻求信息的远程服务器180之间的数据流量。除了由较少的特定查询引起的这种减少或作为其替代,网络数据流量的减少可能源自特定客户端设备110与远程服务器180之间的通信信道保持开放以便于特定的会话所需的时间量的总体减少。本领域技术人员将意识到,通过在不要求用户向助理请求信息的情况下提供信息,自动地促成与用户的会话,从技术资源的角度,可以提高会话的整体效率,因为不需要用户通过单独的会话操作来明确地查找信息。此外,可以减少会话的持续时间,这可以比其他情况更早地关闭通信信道,从而释放网络资源。
图2是图示了根据本公开的一个或多个方面,被配置成执行示例性虚拟助理的示例性计算设备的框图。在下文中,将图2的计算设备210描述为图1的计算设备110A和/或110B的示例。图2仅示出了计算设备210的一个特定示例,并且在其他实例中,可以使用计算设备210的许多其他示例,并且可以包括在示例性计算设备210中包含的组件的子集或者可以包括图2中未示出的附加组件。
如图2的示例中所示,计算设备210包括用户界面组件(UIC)212、一个或多个处理器240、一个或多个通信单元242、一个或多个输入组件244、一个或多个输出组件246和一个或多个存储组件248。UIC 212包括输出组件202和输入组件204。计算设备210的存储组件248包括UI模块220、助理模块222、用户信息数据存储224、一个或多个应用模块226和场境模块230。
通信信道250可以将组件212、240、242、244、246和248中的每个互连,以便组件间通信(物理地、通信地和/或操作性地)。在一些示例中,通信信道250可以包括系统总线、网络连接、进程间通信数据结构、或用于传送数据的任何其他方法。
计算设备210的一个或多个通信单元242可以经由一个或多个有线和/或无线网络,通过在一个或多个网络上发送和/或接收网络信号来与外部设备通信。通信单元242的示例包括网络接口卡(例如,诸如以太网卡)、光学收发器、射频收发器、全球定位卫星(GPS)接收器,或能够发送和/或接收信息的任何其他类型的设备。通信单元242的其他示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电以及通用串行总线(USB)控制器。
计算设备210的一个或多个输入组件244可以接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,计算设备210的输入组件244包括存在敏感输入设备(例如,触敏屏、PSD)、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自人或机器的输入的任何其他类型的设备。在一些示例中,输入组件244可以包括一个或多个传感器组件、一个或多个位置传感器(GPS组件、Wi-Fi组件、蜂窝组件)、一个或多个温度传感器、一个或多个运动传感器(例如,加速度计,陀螺仪)、一个或多个压力传感器(例如,气压计)、一个或多个环境光传感器和一个或多个其他传感器(例如,麦克风、相机、红外接近传感器、湿度计等)。其他传感器(仅举几个其他非限制示例)可以包括心率传感器、磁力计、葡萄糖传感器、嗅觉传感器、罗盘传感器,计步器传感器。
计算设备110的一个或多个输出组件246可以生成输出。输出的示例是触觉、音频和视频输出。在一个示例中,计算设备210的输出组件246包括PSD、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或用于生成对人或机器的输出的任何其他类型的设备。
计算设备210的UIC 212可以类似于计算设备110的UIC 112,并且包括输出组件202和输入组件204。输出组件202可以是显示组件,诸如由UIC 212在其上显示信息的屏幕,以及输入组件204可以是检测到显示组件202处和/或附近的对象的存在敏感输入组件。输出组件202和输入组件204可以是扬声器和麦克风对或一个或多个输入和输出组件的任何其他组合,诸如输入组件244和输出组件244。在图2的示例中,UIC 212可以呈现用户界面(诸如图1的用户界面114)。
尽管被图示为计算设备210的内部组件,但是UIC 212还可以表示与计算设备210共享用于发送和/或接收输入和输出的数据路径的外部组件。例如,在一个示例中,UIC 212表示位于计算设备210的外包装内并且与其物理连接的计算设备210的内置组件(例如,移动电话上的屏幕)。在另一个示例中,UIC 212表示位于计算设备210的包装或外壳外部并且与其物理分离的计算设备210的外部组件(例如,与计算设备210共享有线和/或无线数据路径的监视器、投影仪等)。
计算设备210内的一个或多个存储组件248可以存储用于在计算设备210的操作期间进行处理的信息(例如,计算设备210可以存储由模块220、222、230和226以及数据存储224在计算设备210处执行期间所访问的数据)。在一些示例中,存储组件248是临时存储器,这意味着存储组件248的主要目的不是长期存储。计算设备210上的存储组件248可以被配置用于作为易失性存储器,短期存储信息,因此如果断电则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。
在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非瞬时性计算机可读存储介质。存储组件248可以被配置为存储比通常由易失性存储器存储的信息更多的信息量。存储组件248可以进一步被配置为作为非易失性存储空间,长期存储信息,并且在通电/断电周期之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦可编程存储器(EEPROM)的形式。存储组件248可以存储与模块220、222、230和226以及数据存储224相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括被配置为存储与模块220、222、230和226以及数据存储224相关联的数据或其他信息的存储器。
一个或多个处理器240可以实现与计算设备210相关联的功能和/或执行指令。处理器240的示例包括应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器以及被配置为充当处理器、处理单元或处理设备的任何其他硬件。模块220、222、230和226可以由处理器240操作以执行计算设备210的各种动作、操作或功能。例如,计算设备210的处理器240可以检索并执行由存储组件248存储的使处理器240执行操作模块220、222、230和226的指令。指令当由处理器240执行时,可以使计算设备210将信息存储在存储组件248内,例如,存储在数据存储224处。
UI模块220可以包括图1的UI模块120的所有功能,并且可以执行与UI模块120类似的操作以将助理执行为计算设备210的一部分。UI模块220可以管理用户与计算设备210的UIC 212和其他组件的交互。当计算设备210的用户在UIC 212处查看输出和/或提供输入时,UI模块220可以使UIC 212输出用户界面。
用户信息数据存储224是图1的用户信息数据存储124A的示例。助理模块222可以包括图1的助理模块122的所有功能,并且可以执行与助理模块122类似的操作以将助理执行为计算设备210的一部分以及维护和访问用户信息数据存储224中的用户信息。在一些示例中,助理模块222可以在本地(例如,在处理器240处)执行以提供助理功能。在一些示例中,助理模块222可以充当计算设备210可访问的远程辅助服务的接口。例如,助理模块222可以是图1的数字助理服务器160的助理模块122B的接口或应用编程接口(API)。
一个或多个应用模块226表示在计算设备210处执行并且从计算设备210可访问的所有各种单独的应用和服务,其可以由助理访问以向用户提供信息和/或执行任务或动作。应用模块226的许多示例可以存在并且包括健身应用、日历应用、搜索应用、地图或导航应用、旅行应用(例如,计划、预订、票务等)、社交媒体应用、游戏应用、电子邮件应用、聊天或消息传递应用、Internet浏览器应用或可以在计算设备210上执行的任何其他应用。在计算设备210上执行的助理(诸如助理模块222)可能使得应用226执行用于进行与助理相关联的多个动作的指令。换句话说,助理可以依赖于应用模块226来代表助理执行多个动作。
在从用户接收到明确同意存储和利用个人信息(例如,存储在数据存储224中的信息)之后,场境模块230可以处理和分析与计算设备210相关联的场境信息以定义计算设备210的场境210或计算设备210的用户的场境。场境模块230可以加密或以其他方式处理正被分析和/或存储的信息,以在存储或利用个人之前去除用户的真实身份。例如,该信息可以由场境模块230处理,从而任何个人可识别信息当被存储或发送到远程计算设备(例如,数字助理服务器160)以处理时被移除。如果用户肯定地同意使用或收集这样的信息,则场境模块230可以仅分析与计算设备210和/或计算设备210的用户相关联的信息。场境模块230可以进一步提供用户撤回同意的机会,并且在这种情况下,场境模块230可以停止收集或以其他方式保留与计算设备210或计算设备210的用户相关联的信息。
计算设备210的场境可以指定在各个位置和时间,与计算设备210和/或计算设备210的用户相关联的一个或多个特性以及他或她的物理和/或虚拟环境。例如,场境模块230可以从特定时间基于与计算设备210相关联的场境信息,将在该特定时间的与计算设备210相关联的物理位置确定为计算设备210的场境的一部分。当场境信息(例如,基于指示随着时间的运动的传感器信息)改变时,场境模块230可以更新计算设备210的所确定的场境中的物理位置。
定义特定位置和/或时间的计算设备的场境的信息类型太多,无法列出。作为一些示例,计算设备的场境可以指定:不同的位置和时间的声学指纹、视频指纹、位置、运动轨迹、方向、速度、机构名称、街道地址、地点类型、建筑物、天气状况和交通状况。计算设备的场境可以进一步包括限定与各个位置和时间相关联的会议或事件的日历信息、在各个位置和时间观看的网页地址、在各个位置和时间观看的网页的数据字段中进行的文本输入(例如,搜索或浏览历史)以及与各个位置和时间相关联的其他应用使用情况数据。计算设备的场境可以进一步包括:有关在各个位置和时间在存在计算设备时被访问或广播的音频和/或视频流的信息、在各个位置和时间在存在计算设备时被访问或广播的电视或有线/卫星广播,以及有关在各个位置和时间由计算设备访问的其他服务的信息。
场境模块230可以与助理模块222共享计算设备210的场境,助理模块222可以从该场境确定是否输出事件的通知。场境模块230可以通过将数据输出到指定用户的当前状态或场境的助理模块222,响应来自助理模块222的、对与计算设备210相关联的当前场境或当前状态的请求。
在操作中,助理模块222可以基于与计算设备的用户相关联的信息来确定用于发起用户和助理之间的交互的事件。例如,助理模块222可以监视数据源,诸如数据存储224,以检测信息的变化,其可以表示值得通知用户的事件。数据源的示例包括消息帐户、日历、社交媒体帐户和其他信息源。事件的示例包括约会增加、取消或更改(例如,邀请、会议、周年纪念日等)、事件(例如,运送通知、航班延误)、公告(例如,游览日期等)和其他类型的事件。
数据存储224可以包括对私人或公共日历的引用。当添加、删除、修改、满足或错过日历上的约会时,助理模块222可以检测与日历有关的事件。例如,助理模块222可以响应于基于私人日历,确定牙医发送了取消通知以取消日历上的约会来确定事件。助理模块222可以响应于基于公共日历确定假期、生日或周年纪念日即将到来以确定事件。
数据存储224可以包括对电子邮件或文本消息、语音消息、视频消息等的引用。助理模块222可以基于包括在这样的通信中的信息来确定事件。例如,助理模块222可以响应于基于来自服务提供商(例如,航空公司、有线提供商等)的电子邮件确定已经取消或延迟了已排程约会来确定事件。或者,助理模块222可以响应于基于来自零售商的电子邮件来确定包裹已经邮寄来确定事件。
助理模块222可以基于事件并且从多个动作中选择与事件相关联的至少一个动作。例如,助理模块222的模型可以将事件或事件类型接收为输入,并且输出与该事件相关联的一个或多个动作。该模型可以是机器学习类型模型(例如,神经网络)、基于规则的模型或将动作与事件匹配的其他类型的模型。
该模型可以分配指示动作与事件之间的关系和/或可以相对于该事件执行该动作的密切程度的可能性程度(例如,分值、概率等)。例如,可以在关于各种事件和用户使计算设备响应于事件执行的动作的用户活动的观察结果上训练模型。在获得用户明确同意的情况下,模型可以分析用户设备交互以开发规则,其对特定事件或事件类型指示用户将要采取何种动作以及应当何时采取此类动作。
例如,可以在指示用户接收到航班延误通知,在90%的情况下,用户会向密友发送消息的用户交互数据上训练模型。可以进一步在指示用户在80%的情况下,会使设备发送消息的用户交互数据上训练模型,该消息被发送给配偶或重要他人。因此,该模型可以创建指示每当要输出航班延误通知时值得推荐的动作可能是向配偶或重要他人发送消息的动作的规则。
作为另一个示例,可以在指示在接收到当前进行中的游戏的评分更新之后,其他设备的大多数用户检查梦幻体育分值的用户交互数据上训练模型。可以进一步在指示在80%的情况下,作为用户检查梦幻分值的主要方式,用户使设备打开流行的梦幻运动应用的用户交互数据上训练模型。因此,模型可以创建指示每当要输出体育分值通知并且在计算设备上安装流行的梦幻体育应用时,值得推荐的动作可以是在显示了分值后,运行梦幻体育应用的动作的规则。
在一些情况下,模型可以基于依赖图。例如,模型的依赖图可以包括可以是航班的根节点。根据根节点的不同,可以是交通节点、住宿节点、会议节点、用餐节点等。根节点与这些节点中的每个节点之间的边可以是依存关系,诸如到达时间、可用预订等。如果无法遍历边,则该模型可以触发建议的动作。在一些示例中,建议的动作本身可以是依赖图的节点,该依赖图具有各种依赖关系(例如,有多晚、没有备选等)和权重,并且可以向用户提供最高加权的可能路径(以及如果合适,还可以提供备选的较低权重的动作)。可以将模型的图形首先呈现为可以向其添加用户数据的模板,并且可以由系统(例如,使用机器学习,来自用户的手动输入等)对其进行修改。存在该模型的许多其他示例。
在任何情况下,当助理模块222生成此类规则时,规则的输入可以是事件或事件类型,以及每个规则的输出可以指示每个可用动作与特定事件相关联的可能性程度。助理模块222可以基于分配给每个动作的可能性程度来对它执行的多个动作进行排名,以确定最高排名的(多个)动作。换句话说,助理模块222可以基于事件对多个动作中的每个动作进行排名,并且选择具有最高排名的至少一个动作。
在一些示例中,如果所有动作的可能性程度不满足阈值,则助理模块222可以确定不存在与事件有关的动作。例如,如果助理模块222可以执行的多个动作中的任何一个都不具有50%以上的可能性程度与特定事件相关联,则助理模块222可以确定在特定事件的通知期间,没有值得建议的动作。
在一些示例中,如果单个动作的可能性程度满足阈值,则助理模块222可以确定存在与事件有关的单个动作。例如,如果可以由助理模块222执行的多个动作中只有一个动作具有大于90%的可能性程度与特定事件相关联,则助理模块222可以确定在特定事件的通知期间,存在值得建议的单个动作。
在一些示例中,如果两个或以上动作的可能性程度满足阈值,则助理模块222可以确定存在与事件有关的多个动作。例如,如果可以由助理模块222执行的多个动作中的两个或以上动作分别具有大于95%可能性程度与特定事件相关联,则助理模块222可以确定在特定事件的通知期间,存在值得建议的多个动作。
在一些示例中,助理模块222用于基于事件并从多个动作中选择与事件相关联的至少一个动作的模型可以是基于表或图的。例如,助理模块222可以在表或图上查找事件或事件类型,并且确定与事件关联的哪一个或多个动作被包括在该表或图中。
一些助理可以提供仅语音的界面、可能附带很少的文档,或者可能以其他方式受到限制,以教导用户助理可以做什么。对一些用户来说,发现助理的动作或能力可能很困难。助理模块222可以被配置为当动作或能力可能对用户有益或以其他方式有利时,向用户传授其能力。助理模块222可以确定是否输出包括建议动作的事件的通知,以便提高不仅该通知是令人感兴趣的而且用户很可能授权助理建议的推荐动作的可能性。以这种方式,助理模块222可以在用户可能拒绝该建议的可能性低的情况下建议真正有用的动作。即使用户未授权动作,助理模块222也将已经向用户教导了新动作。
例如,助理模块222可以至少部分地基于用户将接受执行与事件相关联的动作的请求的可能性程度来确定是否输出事件的通知。助理模块222可以基于用户的场境、计算设备222的场境、存储在用户信息数据存储224处的信息,或其组合以及助理模块222可访问的任何其他信息来确定可能性程度。
例如,助理模块222可以至少部分地基于在用户和助理之间发生的先前交互在时间上有多近来确定是否输出事件的通知。如果先前交互发生在阈值时间段(例如,五分钟)内,则助理模块222可以确定用户将接受执行动作的请求的可能性程度较低,相反,更有可能驳回该请求。如果先前交互发生在阈值时间段之外,则助理模块222可以确定用户将接受执行动作的请求的可能性程度高,因此更有可能接受该请求。
助理模块222可以至少部分地基于计算设备210的场境来确定是否输出事件的通知。例如,如果场境指示用户正在与计算设备210交互(例如,观看UIC 212和/或向UIC 212提供输入),则助理模块222可以确定用户将接受执行动作的请求的可能性程度高,因此更有可能接受该请求。如果场境指示用户未与计算设备210交互(例如,计算设备210耦接到移动车辆的无线通信单元、计算设备210平放在桌子上或用户的口袋中、计算设备210处于电影院中等),助理模块222可以确定用户将接受执行动作的请求的可能性程度低,因此,更有可能不输出具有该请求的通知。
在一些示例中,助理模块222可以将严重性级别分配给事件,并且基于严重性级别来增加或减小用户将接受执行动作的请求的可能性程度。例如,如果事件是航班被延迟少于阈值时间量(例如,1小时、半小时等),则助理模块222可以基于确定事件的严重性级别低,确定该事件不是严重事件。但是,如果航班被延误大于或等于阈值时间量(例如,1小时、半小时等),则助理模块222可以基于确定该事件的严重性级别为中或高级别,确定该事件为严重事件。
在一些示例中,阈值时间量可以是基于实际事件。例如,阈值时间量可以是总飞行时间(即,航班本身的持续时间)的百分比。如果航班被延迟1小时,但是航班是10小时,则助理模块222可以分配低或中等严重性等级。而如果航班被延误了半小时,并且航班仅1个小时,则助理模块222可以为事件分配高严重性级别,以便当前更有可能输出包括建议的动作(例如,通知朋友或配偶晚点回家)的通知。
响应于确定输出事件的通知,助理模块222可以经由UIC 212,在用户与助理之间的交互期间输出事件的通知。该通知可以包括事件的指示以及执行与该事件相关联的至少一个动作的请求。
例如,如果助理模块222确定取消了日历上的牙医约会(例如,通过推送给用户的电子邮件或通知),则助理模块222可以确定输出取消通知。输出可以是语音通知,其包括呼叫牙医重新排程的请求。响应于在UIC 212处接收到指示用户希望助理呼叫牙医的用户输入,助理模块222可以从应用模块226调用电话应用以代表用户拨打牙医办公室。
作为另一示例,如果助理模块222确定航班延误了五个小时,则助理模块222可以确定输出取消通知。输出可以是语音通知,其包括取消或重新排程在目的地预订的地面交通(诸如无人驾驶汽车)的请求。响应于在UIC 212处接收到指示用户希望助理取消或重新排程地面交通的用户输入,助理模块222可以向地面交通服务发送取消或重新排程预订的消息。
作为另一示例,航班被延误五个小时,助理模块222可以确定输出取消通知。输出可以是语音通知,包括电话请求、文本消息、电子邮件或以其他方式联系用户的妻子。响应于在UIC 212处接收到指示用户希望助理联系用户妻子的用户输入,助理模块222可以确定用户妻子的联系信息,并且向妻子发送告知她该延误的消息。
作为另一示例,如果助理模块222确定还有不至一周就是情人节,则助理模块222可以确定输出事件的通知。输出可以是语音通知,该语音通知包括为用户的女友订购鲜花的请求。响应于在UIC 212接收到指示用户希望助理订购鲜花的用户输入,助理模块222可以确定该用户的女朋友的联系信息,并且在线上订购鲜花以配送到女朋友的地址。
以这种方式,助理模块222可以提高助理模块222可以执行的特征、能力或动作的可发现性,从而计算设备210的用户可以从现有特征中获得更多的利益或用途。助理模块222以用户的母语的语法教导动作。在一些示例中,通过通知建议多个动作,或者建议单个动作。响应于接收到用户希望助理采取动作的确认,助理模块222可以执行动作和/或将用户引导到可以从其执行动作的诸如应用模块226之一的配套应用。
图3是图示了根据本公开的一个或多个方面,通过执行示例性虚拟助理的一个或多个处理器执行的示例性操作的流程图。在下文中,在图1的计算设备100的场景中描述图3。例如,可以根据本公开的一个或多个方面,助理模块122A在计算设备110A的一个或多个处理器处执行的同时,可以执行操作300-308。
在操作中,计算设备110A可以从用户接收利用并且存储个人信息的同意(300)。例如,响应于识别潜在的个人信息,助理模块122A可以使UI模块120请求来自用户的、存储和利用在助理模块122A和用户之间的交互期间获得的个人信息的许可。应当理解到,在每次助理模块122A想要利用或存储个人信息之前,计算设备110A可以不要求用户同意。例如,如果计算设备110A每年接收一次、每天接收一次或甚至仅接收一次同意(例如,在初始产品购买、设置等之后),则计算设备110A可以将先前的同意视为未来利用和存储个人信息的同意。作为用户可以如何提供同意的一个示例,用户可以提供由UIC 212检测的语音输入“yeah that's ok to store information about me(是的,可以存储关于我的信息)”,并且响应于该语音输入,助理模块122A可以开始在数据存储122A处维护关于用户的个人记录。
计算设备110A可以至少部分地基于个人信息来确定用于发起交互的事件(302)。例如,助理模块122A可以从数字助理服务器160接收指示用于发起计算设备110A的用户和助理之间的交互的事件的通知(例如,数据)。该通知可以包括由用户的消息帐户从朋友接收的消息。该消息可以包括询问用户他或她是否想去欢乐时光的问题。
计算设备110A可以基于事件来选择与事件相关联的至少一个动作(304)。例如,助理模块122A的模型可以确定欢乐时光是事件的迟到类型,因此发送消息回家以使家人知道迟到是与欢乐时光相关联的动作。另外,助理模块122A的模型可以确定记录用户通常在下班后观看的直播新闻广播是与欢乐时光相关联的动作。
计算设备110A可以基于至少一个动作来确定是否输出事件的通知(306)。例如,助理模块122A可以禁止生成事件的通知,直到当助理模块122A认为用户最有可能希望助理执行至少一个动作时的计算设备110A的场境(例如,时间)为止。助理模块122A可以基于关于计算设备110A的场境信息来确定用户处于会议室中准备开始开会。助理模块122A可以确定欢乐时光事件是低严重性事件,并且因为用户不太可能希望助理现在执行动作,而不是输出事件的通知,所以助理模块122A应该禁止输出通知直到稍后时间为止(308,否)。
在稍后时间,例如在会议之后,助理模块122A可以基于关于计算设备110A的场境信息来确定用户处于他或她的办公室中。助理模块122A可以确定尽管欢乐时光事件是低严重性事件,并且当用户独自在他或她的办公室中时,用户更有可能希望助理现在执行动作。因此,助理模块122A可以确定当前时间是生成事件通知的好时间(308,是)。
计算设备110A可以输出通知(310)。例如,助理模块122A可以确定用户在他或她的办公室中时正在与计算设备110B(例如,膝上型计算机)交互。计算设备110A可以发送包括对以下两个的建议的欢乐时光的通知:发送消息回家以家人知道迟到,以及录制用户通常在下班后观看的直播新闻广播。计算设备110B可以显示通知的图形指示,其提醒用户欢乐时光邀请,以及可选择的按钮,以供用户选择是否让助理发送消息回家和/或在家庭数字录像机上录制新闻。
在输出通知之后(310),计算设备110A可从计算设备110B接收指示用户已经同意助理模块122A执行通过事件通知所建议的一个或两个动作的数据(312)。例如,计算设备110B可以共享从用户接收到的、指示用户希望助理发送消息回家和/或录制新闻的语音命令的指示。
响应于接收到用户输入,助理模块122A可以执行用户同意的动作(314)。例如,助理模块122A可以调用在被配置为执行动作的至少一个处理器上执行的应用,该应用不同于助理。例如,为了发送消息回家,助理模块122A可以将数据发送到消息传递应用,该消息传递应用经由用户的消息传递帐户向用户的家人发送消息。
在一些示例中,助理模块122A可以执行该动作。例如,为了控制数字录像机,助理模块122A可以将数据发送到被配置为控制数字录像机的远程控制应用的API。助理模块122A可以通过向API发送输入而直接配置录像机来录制新闻广播。
图4是图示了根据本公开的一个或多个方面,被配置成执行示例性虚拟助理的示例性计算系统的框图。在下文中,将图4的数字助理服务器460描述为图1的数字助理服务器160的示例。图4仅示出了数字助理服务器460的一个特定示例,并且在其他实例中,可以使用数字助理服务器460的许多其他示例,以及可以包括在示例性数字助理服务器460中包含的组件的子集或者可以包括图4中未示出的附加组件。
如图4的示例中所示,数字助理服务器460包括一个或多个处理器440、一个或多个通信单元442和一个或多个存储设备448。存储设备448包括助理模块422、用户信息数据存储424和搜索模块482。
处理器440类似于图2的计算系统210的处理器240。通信单元442类似于图2的计算系统210的通信单元242。存储设备448类似于图2的计算系统210的存储设备248。通信信道450类似于图2的计算系统210的通信信道250,因此可以互连组件440、442和448中的每一个以用于组件间通信。在一些示例中,通信信道450可以包括系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他方法。
数字助理服务器460的搜索模块482类似于搜索服务器系统180的搜索模块182,并且可以代表数字助理服务器460执行集成搜索功能。也就是说,搜索模块482可以代表助理模块422执行搜索操作。在一些示例中,搜索模块482可以与外部搜索系统(诸如,搜索系统180)连接,以代表助理模块422执行搜索操作。当被调用时,搜索模块482可以执行搜索功能(诸如,生成搜索查询并且基于在各种本地和远程信息源上生成的搜索查询来执行搜索)。搜索模块482可以向调用组件或模块提供所执行的搜索的结果。也就是说,搜索模块482可以向助理模块422输出搜索结果。
用户信息数据存储424类似于图2的用户信息数据存储224,并且被配置成在用户和由助理模块422提供的助理之间的会话期间,存储由用户相关联的助理模块422已经了解关于计算设备的用户的信息。助理模块422可以依赖于在数据存储424处存储的信息来确定事件并且选择与事件有关的动作以包含在由助理模块422发送的通知中。
助理模块422可以包括图1的助理模块122和图2的计算设备210的助理模块222的一些或全部功能。助理模块422可以执行与助理模块122和222类似的操作,用于提供可以经由诸如网络130的网络访问的助理服务。也就是说,助理模块422可以充当在网络上与数字助理服务器460通信的计算设备可访问的远程助理服务的接口。例如,助理模块422可以是图1的数字助理服务器160的助理模块122B的接口或API。
在操作中,助理模块422可以对值得通知用户的事件分析包含在用户信息数据存储库424中的信息以及从搜索模块482接收的信息。当助理模块422检测到事件并选择与该事件有关的推荐动作时,助理模块422可以基于各种因素的组合来选择触发事件的通知,这些因素包括助理模块422多久开始与用户交互一次以及交互成功的可能性。
助理模块422可以生成更可能引起用户注意的“surface-appropriate way(表面适当的方式)”通知。例如,如果用户与家庭助理设备相关联并且最近已经与家庭助理交互,则助理模块422可以使家庭助理生成基于发泄的语音通知。可以以家庭助理设备的语言来生成语音通知。例如,语音通知可以被发送到家用设备,以生成如“Hello Viki,yourflight has been delayed by three hours.Should I cancel the limo reservation?您好,Viki,您的航班已经延误了三个小时。应当取消房车预订吗?”。如果用户与移动电话相关联并且经由移动电话与助理交互,则助理模块422可以向移动电话发送在屏幕上以图形方式显示有取消房车预订的“取消按钮”的通知。在一些情况下,例如,对高价值事件或具有高严重性级别的事件,助理模块422可以将带有动作的通知同时发送到多个表面。
条款1.一种方法,包括:基于与计算设备的用户相关联的信息,确定用于发起所述用户和在所述计算设备处执行的助理之间的交互的事件,其中,所述助理被配置为执行多个动作;基于所述事件,从所述多个动作中选择与所述事件相关联的至少一个动作;基于所述至少一个动作,确定是否输出所述事件的通知,其中,所述通知包括所述事件的指示以及执行与所述事件相关联的所述至少一个动作的请求;以及响应于确定输出所述事件的通知,向所述助理发送所述事件的通知以供在所述用户和所述助理之间的交互期间输出。
条款2.如条款1所述的方法,进一步包括:基于所述事件,对所述多个动作中的每个动作进行评分;以及选择具有满足阈值的相应分值的至少一个动作。
条款3.如条款1至2中的任一项所述的方法,其中,确定是否输出所述事件的通知包括至少部分地基于最近在所述用户和所述助理之间发生的先前交互,确定是否输出所述事件的通知。
条款4.如条款1至3中的任一项所述的方法,其中,确定是否输出所述事件的通知包括:确定所述用户将接受执行与所述事件相关联的至少一个动作的请求的可能性程度;以及至少部分地基于所述用户将接受执行与所述事件相关联的至少一个动作的请求的可能性程度,确定是否输出所述事件的通知。
条款5.如条款4所述的方法,进一步包括:确定所述事件的严重性级别;以及进一步基于所述事件的严重性级别,确定是否输出所述事件的通知。
条款6.如条款1至5中的任一项所述的方法,其中,确定是否输出所述事件的通知包括至少部分地基于在所述用户和所述助理之间发生的先前交互在时间上有多近以及所述用户和所述助理之间的先前交互的频率的组合,确定是否输出所述事件的通知。
条款7.如条款1至6中的任一项所述的方法,其中,与所述事件相关联的所述至少一个动作与被配置为执行所述至少一个动作的应用相关联,该应用不同于所述助理。
条款8.如条款1至7中的任一项所述的方法,其中,所述至少一个动作是单个动作。
条款9.如条款1至8中的任一项所述的方法,其中,所述至少一个动作包括多个动作。
条款10.一种计算设备,包括:输出设备;至少一个处理器;以及包括指令的至少一个存储器,所述指令当被执行时,使所述至少一个处理器执行助理,所述助理被配置为:基于与所述计算设备的用户相关联的信息,确定用于发起所述用户和所述助理之间的交互的事件,其中,所述助理被配置为执行多个动作;基于所述事件,从所述多个动作中选择与所述事件相关联的至少一个动作;基于所述至少一个动作,确定是否输出所述事件的通知,其中,所述通知包括所述事件的指示以及执行与所述事件相关联的所述至少一个动作的请求;以及
响应于确定输出所述事件的通知,经由所述输出设备,在所述用户和所述助理之间的交互期间输出所述事件的通知。
条款11.如条款10所述的计算设备,进一步包括输入设备,其中,所述助理被进一步配置为:
经由所述输入设备,接收命令所述助理执行所述至少一个动作的用户输入;
响应于接收到所述用户输入,执行所述至少一个动作。
条款12.如条款10或11所述的计算设备,其中,所述助理被进一步配置为通过调用在所述至少一个处理器处执行的被配置为执行所述至少一个动作的应用来执行所述至少一个动作,该应用不同于所述助理。
条款13.如条款10至12中的任一项所述的计算设备,其中,所述至少一个动作包括多个动作。
条款14.如条款13所述的计算设备,进一步包括输入设备,其中,所述助理被进一步配置为:经由所述输入设备,接收命令所述助理执行多个动作中的特定动作的用户输入;以及响应于接收到所述用户输入,执行所述特定动作。
条款15.如条款10至14中的任一项所述的计算设备,其中,所述助理被进一步配置为从远程计算系统接收事件,所述远程计算系统被配置为确定用于发起所述用户和所述助理之间的交互的事件。
条款16.如条款10至15中的任一项所述的计算设备,其中,所述输出设备被配置为输出音频,并且所述通知是语音通知。
条款17.一种包括指令的计算机可读存储介质,所述指令当被执行时,使数字助理系统的至少一个处理器:基于与计算设备的用户相关联的信息,确定用于发起所述用户和在所述计算设备上执行的助理之间的交互的事件,其中,所述助理被配置为执行多个动作;基于所述事件,从所述多个动作中选择与所述事件相关联的至少一个动作;基于所述至少一个动作,确定是否输出所述事件的通知,其中,所述通知包括所述事件的指示以及执行与所述事件相关联的所述至少一个动作的请求;以及响应于确定输出所述事件的通知,向所述助理发送所述事件的通知以供在所述用户和所述助理之间的交互期间输出。
条款18.如条款17所述的计算机可读存储介质,其中,所述指令在由所述至少一个处理器执行时,使所述数字助理系统通过至少部分地基于在所述用户和所述助理之间发生的先前交互在时间上有多近,至少确定是否输出所述事件的通知来确定是否输出所述事件的通知。
条款19.如条款17至18中的任一项所述的计算机可读存储介质,其中,所述指令当由所述至少一个处理器执行时,使所述数字助理系统至少通过确定所述用户将接受执行与所述事件相关联的至少一个动作的请求的可能性程度;以及至少部分地基于所述用户将接受执行与所述事件相关联的至少一个动作的请求的可能性程度,确定是否输出所述事件的通知来确定是否输出所述事件的通知。
条款20.如条款17至19中任一项所述的计算机可读存储介质,其中,所述至少一个动作与不同于所述计算设备和所述数字助理系统的第三设备相关联。
条款21.一种计算设备,所述计算设备包括至少一个处理器和包括指令的至少一个存储器,所述指令当被执行时,使所述至少一个处理器执行如条款1至9中的任一项所述的方法。
条款22.一种包括指令的计算机可读存储介质,所述指令当被执行时,使计算设备的至少一个处理器执行如条款1至9中的任一项所述的方法。
条款23.一种系统,包括用于执行如条款1至9中的任一项所述的方法的装置。
在一个或多个示例中,所述的功能可以以硬件、软件、固件或其任何组合实现。如果以软件来实现,则功能可以被作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并且由基于硬件的处理单元来执行。计算机可读介质可以包括与诸如数据存储介质的有形介质相对应的计算机可读存储介质,或包括便于例如根据通信协议将计算机程序从一个地方传递到另一个地方的任何媒介的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非瞬时的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是能够由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制性地,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、闪存或可以被用来以指令或数据结构的形式存储所期望的程序代码并且可以由计算机访问的任何其他存储介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(诸如,红外线、无线电和微波),从网站、服务器或其他远程源发送指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如,红外线、无线电和微波)被包括在介质的定义中。然而,应当理解到,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时性介质,而是针对非瞬时性有形存储介质。如本文所使用的,磁盘和光盘包括光盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘,其中,磁盘通常磁性地再现数据,而光盘利用激光光学再现数据。以上的组合也应当被包括在计算机可读介质的范围内。
指令可以由诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路的一个或多个处理器执行。因此,如本文所使用的术语“处理器”可以指适于实现本文所述的技术的前述结构或任何其他结构中的任何一个。另外,在一些方面,本文所述的功能可以在专用硬件和/或软件模块内提供。另外,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(IC)或IC集(例如,芯片集)。本公开中描述了各种组件、模块或单元,以强调被配置成执行所公开技术的设备的功能方面,但不一定需要由不同硬件单元实现。相反,如上所述,各种单元可以被组合在硬件单元中,或者结合适当的软件和/或固件,由包括如上所述的一个或多个处理器的互操作硬件单元的集合来提供。
已经描述了各个实施例。这些和其他实施例在随附权利要求书的范围内。

Claims (20)

1.一种方法,包括:
基于与计算设备的用户相关联的信息,确定用于发起所述用户和在所述计算设备处执行的助理之间的交互的事件,其中,所述助理被配置为执行多个动作;
基于所述事件从所述多个动作中选择与所述事件相关联的至少一个动作;
基于所述至少一个动作,确定是否输出所述事件的通知,其中,所述通知包括所述事件的指示以及执行与所述事件相关联的所述至少一个动作的请求;以及
响应于确定输出所述事件的通知,向所述助理发送所述事件的通知以供在所述用户和所述助理之间的交互期间输出。
2.如权利要求1所述的方法,进一步包括:
基于所述事件,对所述多个动作中的每个动作进行评分;以及
选择具有满足阈值的相应分值的至少一个动作。
3.如权利要求1或2所述的方法,其中,确定是否输出所述事件的通知包括至少部分地基于在所述用户和所述助理之间发生的先前交互在时间上有多近,确定是否输出所述事件的通知。
4.如权利要求1至3中的任一项所述的方法,其中,确定是否输出所述事件的通知包括:
确定所述用户将接受执行与所述事件相关联的至少一个动作的请求的可能性程度;以及
至少部分地基于所述用户将接受执行与所述事件相关联的至少一个动作的请求的可能性程度,确定是否输出所述事件的通知。
5.如权利要求4所述的方法,进一步包括:
确定所述事件的严重性级别;以及
进一步基于所述事件的严重性级别,确定是否输出所述事件的通知。
6.如权利要求1至5中的任一项所述的方法,其中,确定是否输出所述事件的通知包括至少部分地基于在所述用户和所述助理之间发生的先前交互在时间上有多近以及所述用户和所述助理之间的先前交互的频率的组合,确定是否输出所述事件的通知。
7.如权利要求1至6中的任一项所述的方法,其中,与所述事件相关联的所述至少一个动作与被配置为执行所述至少一个动作的应用相关联,该应用不同于所述助理。
8.如权利要求1至7中的任一项所述的方法,其中,所述至少一个动作是单个动作。
9.如权利要求1至8中的任一项所述的方法,其中,所述至少一个动作包括多个动作。
10.一种计算设备,包括:
输出设备;
至少一个处理器;以及
包括指令的至少一个存储器,所述指令当被执行时,使所述至少一个处理器执行助理,所述助理被配置为:
基于与所述计算设备的用户相关联的信息,确定用于发起所述用户和所述助理之间的交互的事件,其中,所述助理被配置为执行多个动作;
基于所述事件从所述多个动作中选择与所述事件相关联的至少一个动作;
基于所述至少一个动作,确定是否输出所述事件的通知,其中,所述通知包括所述事件的指示以及执行与所述事件相关联的所述至少一个动作的请求;以及
响应于确定输出所述事件的通知,经由所述输出设备,在所述用户和所述助理之间的交互期间输出所述事件的通知。
11.如权利要求10所述的计算设备,进一步包括输入设备,其中,所述助理被进一步配置为:
经由所述输入设备,接收命令所述助理执行所述至少一个动作的用户输入;
响应于接收到所述用户输入,执行所述至少一个动作。
12.如权利要求10或11所述的计算设备,其中,所述助理被进一步配置为通过调用在所述至少一个处理器处执行的被配置为执行所述至少一个动作的应用来执行所述至少一个动作,该应用不同于所述助理。
13.如权利要求10至12中的任一项所述的计算设备,其中,所述至少一个动作包括多个动作。
14.如权利要求13所述的计算设备,进一步包括输入设备,其中,所述助理被进一步配置为:
经由所述输入设备,接收命令所述助理执行所述多个动作中的特定动作的用户输入;以及
响应于接收到所述用户输入,执行所述特定动作。
15.如权利要求10至14中的任一项所述的计算设备,其中,所述助理被进一步配置为从远程计算系统接收事件,所述远程计算系统被配置为确定用于发起所述用户和所述助理之间的交互的事件。
16.如权利要求10至15中的任一项所述的计算设备,其中,所述输出设备被配置为输出音频,并且所述通知是语音通知。
17.如权利要求10至16中的任一项所述的计算设备,其中,所述助理被进一步配置为:
输出所述事件的通知以发起所述交互;以及
在输出所述事件的通知之后,经由所述输入设备接收命令所述助理执行所述至少一个动作的用户输入;以及
响应于接收到所述用户输入,执行所述至少一个动作。
18.一种包括指令的计算机可读存储介质,所述指令当被执行时,使数字助理系统的至少一个处理器:
基于与计算设备的用户相关联的信息,确定用于发起所述用户和在所述计算设备处执行的助理之间的交互的事件,其中,所述助理被配置为执行多个动作;
基于所述事件从所述多个动作中选择与所述事件相关联的至少一个动作;
基于所述至少一个动作,确定是否输出所述事件的通知,其中,所述通知包括所述事件的指示以及执行与所述事件相关联的所述至少一个动作的请求;以及
响应于确定输出所述事件的通知,向所述助理发送所述事件的通知以供在所述用户和所述助理之间的交互期间输出。
19.如权利要求18所述的计算机可读存储介质,其中,所述指令在由所述至少一个处理器执行时,使所述数字助理系统至少通过以下来确定是否输出所述事件的通知:至少部分地基于在所述用户和所述助理之间发生的先前交互在时间上有多近,确定是否输出所述事件的通知。
20.如权利要求18或19所述的计算机可读存储介质,其中,所述至少一个动作与不同于所述计算设备和所述数字助理系统的第三设备相关联。
CN201880029807.4A 2017-05-05 2018-05-02 在促成现有会话时对推荐动作配置的虚拟助理 Active CN110603552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311161022.1A CN117252233A (zh) 2017-05-05 2018-05-02 在促成现有会话时对推荐动作配置的虚拟助理

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/588,055 US11170285B2 (en) 2017-05-05 2017-05-05 Virtual assistant configured to recommended actions in furtherance of an existing conversation
US15/588,055 2017-05-05
PCT/US2018/030635 WO2018204488A1 (en) 2017-05-05 2018-05-02 A virtual assistant configured to recommended actions in furtherance of an existing conversation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311161022.1A Division CN117252233A (zh) 2017-05-05 2018-05-02 在促成现有会话时对推荐动作配置的虚拟助理

Publications (2)

Publication Number Publication Date
CN110603552A true CN110603552A (zh) 2019-12-20
CN110603552B CN110603552B (zh) 2023-09-26

Family

ID=62223266

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311161022.1A Pending CN117252233A (zh) 2017-05-05 2018-05-02 在促成现有会话时对推荐动作配置的虚拟助理
CN201880029807.4A Active CN110603552B (zh) 2017-05-05 2018-05-02 在促成现有会话时对推荐动作配置的虚拟助理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311161022.1A Pending CN117252233A (zh) 2017-05-05 2018-05-02 在促成现有会话时对推荐动作配置的虚拟助理

Country Status (6)

Country Link
US (2) US11170285B2 (zh)
EP (1) EP3602442A1 (zh)
JP (3) JP6911151B2 (zh)
KR (2) KR20230006025A (zh)
CN (2) CN117252233A (zh)
WO (1) WO2018204488A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113171608A (zh) * 2020-01-27 2021-07-27 电子技术公司 用于基于网络的视频游戏应用程序的系统和方法
CN113497748A (zh) * 2020-04-06 2021-10-12 丰田自动车株式会社 控制装置、非暂时性计算机可读记录介质和信息处理方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11699039B2 (en) 2017-06-28 2023-07-11 Microsoft Technology Licensing, Llc Virtual assistant providing enhanced communication session services
US10585991B2 (en) * 2017-06-29 2020-03-10 Microsoft Technology Licensing, Llc Virtual assistant for generating personalized responses within a communication session
US11307764B2 (en) * 2017-08-07 2022-04-19 Microsoft Technology Licensing, Llc Contextually inferred talking points for improved communication
CN112136124B (zh) 2018-04-19 2024-02-20 谷歌有限责任公司 用于与计算机实现的自动助理进行人机对话会话的依赖图谈话建模
US11113595B2 (en) * 2018-05-21 2021-09-07 The Travelers Indemnify Company On-demand intelligent assistant
US11158312B2 (en) * 2018-09-25 2021-10-26 International Business Machines Corporation Presenting contextually appropriate responses to user queries by a digital assistant device
US11637792B2 (en) * 2019-04-19 2023-04-25 Oracle International Corporation Systems and methods for a metadata driven integration of chatbot systems into back-end application services
US11012384B2 (en) * 2019-04-26 2021-05-18 Oracle International Corporation Application initiated conversations for chatbots
US10872168B1 (en) 2019-06-07 2020-12-22 Piamond Corp. Method and system for providing user notification when personal information is used in voice control device
WO2021033886A1 (en) 2019-08-22 2021-02-25 Samsung Electronics Co., Ltd. A system and method for providing assistance in a live conversation
US11121987B1 (en) * 2019-09-03 2021-09-14 Octane AI, Inc. Conversational support for user journey
US11803400B2 (en) * 2020-06-25 2023-10-31 International Business Machines Corporation Method and system for asynchronous notifications for users in contextual interactive systems
CN113297359B (zh) * 2021-04-23 2023-11-28 阿里巴巴新加坡控股有限公司 交互信息的方法以及装置
US11782569B2 (en) * 2021-07-26 2023-10-10 Google Llc Contextual triggering of assistive functions
US11734502B1 (en) * 2022-12-01 2023-08-22 Suki AI, Inc. Systems and methods to maintain amends to an annotation as discrete chronological events

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1405690A (zh) * 2001-08-13 2003-03-26 鸿富锦精密工业(深圳)有限公司 用于无线设备中资料和动作同步的方法及资料存储系统
CN1578951A (zh) * 2001-05-24 2005-02-09 英特尔公司 通过数字助理的消息升级的方法和装置
US20130005405A1 (en) * 2011-01-07 2013-01-03 Research In Motion Limited System and Method for Controlling Mobile Communication Devices
EP2672441A1 (en) * 2012-06-06 2013-12-11 Apple Inc. Generating context-based options for responding to a notification
CN104584096A (zh) * 2012-09-10 2015-04-29 苹果公司 由智能数字助理进行的中断的上下文相关处理
US20150358414A1 (en) * 2014-06-10 2015-12-10 Microsoft Corporation Inference Based Event Notifications
CN106408252A (zh) * 2012-06-22 2017-02-15 谷歌公司 呈现针对当前位置或时间的信息

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444383B2 (en) * 2000-06-17 2008-10-28 Microsoft Corporation Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20100280892A1 (en) * 2009-04-30 2010-11-04 Alcatel-Lucent Usa Inc. Method and system for targeted offers to mobile users
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9008629B1 (en) * 2012-08-28 2015-04-14 Amazon Technologies, Inc. Mobile notifications based upon sensor data
CN107112013B (zh) 2014-09-14 2020-10-23 谷歌有限责任公司 用于创建可定制对话系统引擎的平台
US10133613B2 (en) 2015-05-14 2018-11-20 Microsoft Technology Licensing, Llc Digital assistant extensibility to third party applications
US10097973B2 (en) * 2015-05-27 2018-10-09 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160379105A1 (en) * 2015-06-24 2016-12-29 Microsoft Technology Licensing, Llc Behavior recognition and automation using a mobile device
US20170091612A1 (en) * 2015-09-30 2017-03-30 Apple Inc. Proactive assistant with memory assistance
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US20170357480A1 (en) * 2016-06-12 2017-12-14 The HintBox!, Inc. Proactive deep-analysis virtual assistant application and integration
US10506055B2 (en) * 2016-07-08 2019-12-10 Facebook, Inc. Automatic recipient targeting for notifications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1578951A (zh) * 2001-05-24 2005-02-09 英特尔公司 通过数字助理的消息升级的方法和装置
CN1405690A (zh) * 2001-08-13 2003-03-26 鸿富锦精密工业(深圳)有限公司 用于无线设备中资料和动作同步的方法及资料存储系统
US20130005405A1 (en) * 2011-01-07 2013-01-03 Research In Motion Limited System and Method for Controlling Mobile Communication Devices
EP2672441A1 (en) * 2012-06-06 2013-12-11 Apple Inc. Generating context-based options for responding to a notification
CN106408252A (zh) * 2012-06-22 2017-02-15 谷歌公司 呈现针对当前位置或时间的信息
CN104584096A (zh) * 2012-09-10 2015-04-29 苹果公司 由智能数字助理进行的中断的上下文相关处理
US20150358414A1 (en) * 2014-06-10 2015-12-10 Microsoft Corporation Inference Based Event Notifications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113171608A (zh) * 2020-01-27 2021-07-27 电子技术公司 用于基于网络的视频游戏应用程序的系统和方法
CN113171608B (zh) * 2020-01-27 2024-03-05 电子技术公司 用于基于网络的视频游戏应用程序的系统和方法
CN113497748A (zh) * 2020-04-06 2021-10-12 丰田自动车株式会社 控制装置、非暂时性计算机可读记录介质和信息处理方法
CN113497748B (zh) * 2020-04-06 2023-03-24 丰田自动车株式会社 控制装置、非暂时性计算机可读记录介质和信息处理方法

Also Published As

Publication number Publication date
CN117252233A (zh) 2023-12-19
KR102481909B1 (ko) 2022-12-27
EP3602442A1 (en) 2020-02-05
KR20230006025A (ko) 2023-01-10
US11170285B2 (en) 2021-11-09
JP2023083283A (ja) 2023-06-15
JP7250853B2 (ja) 2023-04-03
JP6911151B2 (ja) 2021-07-28
KR20190135521A (ko) 2019-12-06
US20180322380A1 (en) 2018-11-08
US20220027703A1 (en) 2022-01-27
JP2020522776A (ja) 2020-07-30
CN110603552B (zh) 2023-09-26
JP2021170362A (ja) 2021-10-28
WO2018204488A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
CN110603552B (zh) 在促成现有会话时对推荐动作配置的虚拟助理
CN110651325B (zh) 计算助理的延迟响应
US11893311B2 (en) Virtual assistant configured to automatically customize groups of actions
CN107957776B (zh) 主动虚拟助理
US10446009B2 (en) Contextual notification engine
US9710546B2 (en) Explicit signals personalized search
US10945129B2 (en) Facilitating interaction among digital personal assistants
JP2020514834A (ja) 非要請型コンテンツの人間対コンピュータダイアログ内へのプロアクティブな組込み
US20170228240A1 (en) Dynamic reactive contextual policies for personal digital assistants
EP3449612B1 (en) Context-aware digital personal assistant supporting multiple accounts
US20180197099A1 (en) User state predictions for presenting information

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