CN107957776B - 主动虚拟助理 - Google Patents

主动虚拟助理 Download PDF

Info

Publication number
CN107957776B
CN107957776B CN201710915581.5A CN201710915581A CN107957776B CN 107957776 B CN107957776 B CN 107957776B CN 201710915581 A CN201710915581 A CN 201710915581A CN 107957776 B CN107957776 B CN 107957776B
Authority
CN
China
Prior art keywords
user
assistant
computing device
conversation
content
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.)
Active
Application number
CN201710915581.5A
Other languages
English (en)
Other versions
CN107957776A (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 CN202110325476.2A priority Critical patent/CN113010016B/zh
Publication of CN107957776A publication Critical patent/CN107957776A/zh
Application granted granted Critical
Publication of CN107957776B publication Critical patent/CN107957776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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
    • 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
    • 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/903Querying
    • G06F16/9038Presentation of query results
    • 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/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种主动虚拟助理。公开了在至少一个处理器处执行的助理,所述助理确定用于与计算装置的用户对话的内容,基于所述内容和与所述用户相关联的信息来选择用于用信号发起与所述用户对话的模态。所述助理进一步描述了使在所述模态下给与所述用户的对话发信号。

Description

主动虚拟助理
技术领域
本申请涉及主动虚拟助理。
背景技术
一些计算平台可以提供用户界面,用户可用该用户界面与虚拟计算助理(例如,还称为“智能个人助理”或简称为“助理”)进行聊天、说话或以其他方式通信,以使助理输出有用信息,响应用户的需要,或以其他方式执行某些操作来帮助用户完成各种现实世界或虚拟的任务。例如,计算装置可用麦克风接收与用户话语对应的语音输入(例如,音频数据)。至少部分地在计算装置处执行的助理可分析语音输入并且试图通过以下步骤来满足话语:基于话语输出有用信息,响应于话语所指示的用户需要或以其他方式执行某些操作来帮助用户基于话语完成各种现实世界或虚拟的任务。
发明内容
在一个示例中,本公开涉及一种方法,所述方法包括由在一个或多个处理器处执行的助理,确定用于与计算装置的用户对话的内容;由所述助理,基于所述内容和与所述用户相关联的信息来选择用于用信号发起与所述用户对话的模态(modality);以及由所述助理,使在所述模态下给与所述用户的对话发信号。
在另一个示例中,本公开涉及一种***,所述***包括一个或多个处理器和存储器,所述存储器包括指令,当所述指令被执行时,使所述一个或多个处理器确定用于与计算装置的用户对话的内容,基于所述内容和与所述用户相关联的信息,选择用于用信号发起与所述用户对话的模态,并且使在所述模态下给与所述用户的对话发信号。
在另一个示例中,本公开针对一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令被执行时使***的一个或多个处理器确定与计算装置的用户对话的内容,基于所述内容和与所述用户相关联的信息来选择用于用信号发起与所述用户对话的模态,并且使在所述模态下给与所述用户的对话发信号。
在一个示例中,本公开涉及一种***,所述***包括:用于由在一个或多个处理器处执行的助理,确定与计算装置的用户的对话的内容的装置;用于由所述助理基于所述内容和与所述用户相关联的信息来选择用于用信号发起与所述用户对话的模态的装置;以及用于由所述助理使在所述模态下给与所述用户的对话发信号的装置。
在附图和以下描述中阐述了一个或更多个示例的细节。根据说明书和附图和权利要求书,本公开的其他特征、目的和优点将清楚。
附图说明
图1是例示了根据本公开的一个或多个方面的执行示例虚拟助理的示例***的概念图。
图2是例示了根据本公开的一个或多个方面的被配置成执行示例虚拟助理的示例计算装置的框图。
图3是例示了根据本公开的一个或多个方面的通过执行示例虚拟助理的一个或多个处理器执行的示例操作的流程图。
图4是例示了根据本公开的一个或多个方面的被配置成执行示例虚拟助理的示例计算装置的框图。
具体实施方式
通常,本公开的技术可以使虚拟的计算助理(例如,还称为“智能助理”或简称为“助理”)能够在没有用户提示的情况下通知令用户感兴趣的信息。即使在其中不存在对该信息的明确的用户请求的情况下,该助理也可以向用户主动地引导感兴趣的信息。例如,响应于助理,确定了针对用户的航班预订指示该航班延误,助理可以在用户没有请求助理提供关于航班状态的信息的情况下通知用户。
助理可以确定将对用户有意义的信息通知用户的正确模态。模态的示例可以包括语音或听觉通知、文本通知、触发装置上的灯指示器、突出显示助理应用内的内容(例如,在仪表板视图中)或其他模态。在需要用户明确许可的情况下,助理可以自动维持或具有对与用户相关联的信息的访问。使用这样的信息,助理可以识别值得主动向用户输出的信息。例如,助理可以主动地通知用户航班延误,但是被禁止主动通知用户关于平常的包裹递送,而是等待直到用户选择与助理交互才将包裹递送通知用户。
助理可以以可用方式确定适当表面(例如,计算装置)来传达信息。表面的示例可以包括移动装置、平板电脑、膝上型计算机、台式计算机、多媒体装置(例如,电视、屏幕、投影仪等)、扬声器装置、汽车平台、或其他表面。例如,助理可以基于装置使用历史、用户位置、用户装置的状态、和其他信号来确定当用户处于家的位置用户可能正在使用或者访问的家用计算装置。在该示例中,助理可以在用户可能在家的一天时间期间,在家庭计算装置上通知用户。
助理可以自动选择用户体验(例如,语音用户体验、视觉用户体验等),以以可用方式将信息通知用户。例如,助理可以基于正传递到用户的通知或内容的重要性来选择提供通知的长度或细节级别的用户体验。例如,助理可以生成较长的通知(例如,“Jon,你的飞往Topeka的航班延误了四小时。新的出发时间是晚上7点。”)作为用于一种类型重要通知的用户体验,并且可以生成较短的消息(例如,“您的包裹明天到达”)作为用于平凡通知的不同类型的用户体验。
基于通知的重要性,助理可以生成表示多个通知和多种类型的用户体验的单个通知。例如,助理可以将多个通知折叠成单个通知(例如,“Jon,你有四个警告。您的包裹准时到达,您的航班仍然准点,您的***已付款。”)用于平凡通知。在该示例中,如果助理确定一个特定通知比其他通知更重要,则助理可以可选地使用一种类型的用户体验(例如,较长消息),以表示与和通过折叠其他通知的、其他不太重要的通知相关联的用户体验相比更重要的通知。例如,助理可以输出“您的包裹准时到达”,以响应于确定包裹递送通知不太重要而向用户引导关于包裹递送的信息,并且当助理确定关于包裹递送的通知比较重要时,助理可以输出“您的包含牙签的包裹准时到达,并且应该将于明天下午2点准时到达”。
在第一次接收到用户对于这样做的明确许可之后,助理可以仅维持或具有对与用户相关联的信息的访问。因此,用户可以完全控制助理如何收集和使用关于用户的信息。在助理存储个人信息之前,助理可以加密或以其他方式处理信息以去除用户的实际身份,使得在存储的同时删除个人验证信息。助理可以为用户提供以修改或去除由助理维持的信息的方式。以这种方式,用户可以完全控制助理所保留的信息。
一旦助理已经接收到维持或具有对与用户相关联的信息的许可的访问,助理就能够立即使用该信息,以确定将对用户有意义的信息通知用户的正确模态。如果不存在正在进行的任务,则助理可以将该用户引导未来对用户有帮助的信息。例如,助理可以为通过助理安排的餐厅预约创建信息。在该示例中,助理可以向用户引导关于预约改变的信息(例如,重新安排预约、取消预约等)。以这种方式,可以使用户获悉可能使助理认为对用户看起来更有用和期望的有意义的信息。以这种方式,即使用户从未向助理请求或提示该信息,示例助理也可以主动地向用户引导示例助理推导将有可能对于用户来说是有用和期望的有意义信息。
在整个公开中,描述了以下示例:只有计算装置从计算装置的用户接收到以分析该信息的许可,其中计算装置和/或计算***才分析与计算装置和计算装置的用户相关联的信息(例如,场境、位置、通信、联系人、聊天对话、语音对话等)的示例。例如,在下面讨论的情形中,在计算装置或计算***处执行的助理能够收集或者可以利用与用户相关联的信息之前,可以为用户提供有提供输入以控制助理(或计算装置和/或计算***的其他程序或特征)是否能够收集和使用用户信息或者以指示计算装置和/或计算***可以是否和/或如何接收可以与用户相关的内容的机会。另外,某个数据可以在它被助理或基础计算装置和/或计算***存储或使用之前以一种或更多种方式进行加密和/或处理,使得个人可识别信息被去除。例如,可以对用户身份进行处理,使得不能够确定关于用户的个人可识别信息,或者可以在获得位置信息(诸如,与坐标位置或物理地址形成对照的城市、邮政编码或州级)的情况下一般化用户的地理位置,使得用户的具***置不能够被确定。因此,用户可以对如何收集关于用户的信息并由助理和执行该助理的基础计算装置和计算***如何使用的关于该用户的信息来控制。
图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表示经由云提供对其各自服务的访问的云计算***。在一些示例中,搜索服务器***180可以被配置成访问和/或存储公共信息。公共信息的示例可以包括但不限于天气或交通状况、新闻、股票价格、体育比分、用户时间表、交通时间表、零售价格、公共情况信息(例如,某个地点处的温度、店铺开放时间和关闭时间等)或其他公共信息。
计算装置110表示个体的移动或非移动计算装置。计算装置110的示例包括被配置成执行或访问虚拟助理并经由网络(诸如网络130)接收信息的移动电话、平板计算机、膝上型计算机、台式计算机、服务器、大型机、机顶盒、电视、可穿戴装置(例如,计算机化手表、计算机化眼镜、计算机化手套等)、家用自动化装置或***(例如,智能恒温器或家用助理装置)、个人数字助理(PDA)、游戏***、媒体播放器、电子书阅读器、移动电视平台、汽车导航或信息娱乐***,或任何其他类型的移动、非移动、可穿戴和不可穿戴的计算装置。
助理服务器***160和/或搜索服务器***180可以经由网络130与计算装置110通信,以给出计算装置110访问由助理服务器***160提供的虚拟助理服务和/或以提供计算装置110访问由搜索服务器***180提供的搜索服务。在提供虚拟助理服务的过程中,助理服务器***160可以经由网络130与搜索服务器***180通信,以获得向用户提供虚拟助理服务信息以完成任务的搜索结果。
在图1的示例中,助理服务器***160包括远程助理模块122B和用户信息数据存储124B。远程助理模块122B可以将用户信息数据存储124B维持为助理服务器***160经由网络130提供(例如,提供到计算装置110A)的虚拟助理服务的部分。计算装置110A包括用户接口装置(UID)112、用户接口(UI)模块120、本地助理模块122A、和用户信息数据存储124A。计算装置110B可以包括类似的装置和/或模块。本地助理模块122A可以将用户信息数据存储124A维持为在计算装置110A处本地执行的虚拟助理服务的部分。远程助理模块122B和本地助理模块122A可以被统称为助理模块122。本地数据存储124A和远程数据存储124B可以被统称为数据存储124A和124B。
模块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可以作为计算平台的应用层处的一个或多个可执行程序而执行。
计算装置110A的UID 112可以用作计算装置110A的输入和/或输出装置。UID 112可以使用各种技术来实现。例如,UID 112可以用作使用存在敏感输入屏幕(诸如,电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投影式电容触摸屏、压敏屏幕、声学脉冲识别触摸屏或另一存在敏感显示器技术)的输入装置。
UID 112可以用作使用麦克风技术、红外传感器技术、或用于接收用户输入的其他输入装置技术的输入装置。例如,UID 112可以使用内置麦克风技术来检测UI模块120和/或本地助理模块122A对其进行处理以完成任务的语音输入。作为另一个示例,UID 112可以包括可以从计算装置110A的用户接收触觉输入的压力敏感显示器。UID 112可以通过检测来自用户的一个或多个手势(例如,用户用手指或触控笔触摸或指向UID 112的一个或多个位置)来接收触觉输入的指示。
UID 112可以用作输出(例如,显示)装置并且向用户呈现输出。UID 112可以用作使用任何一个或多个显示装置(诸如,液晶显示器(LCD)、点阵显示器、发光二极管(LED)显示器、有机发光二极管(LED)显示器、电子墨水、或类似单色或彩色显示器中)的、能够向计算装置110A的用户输出可见信息的输出装置。UID 112可以用作使用扬声器技术、触觉反馈技术、或用于向用户输出信息的其他输出设备技术的输出设备。UID 112可以呈现与由本地助理模块122A和/或远程助理模块122B提供的虚拟助理相关的用户界面(例如,用户界面114)。UID 112可以呈现与计算平台、操作***、应用和/或在计算装置110A处执行和/或可以从计算装置110A可访问的服务(例如,电子邮件、聊天、在线服务、电话、游戏等)的其他特征相关的用户界面。
UI模块120可以管理与UID 112和计算装置110A的其他组件的用户交互(包括与助理服务器***160交互),以便经由UID 112提供助理服务。当计算装置110A的用户在UID112处查看输出和/或提供输入时,UI模块120可以使UID 112输出诸如用户界面114(或其他示例用户界面)的用户界面。UI模块120和UID 112可以在用户在不同时间与用户界面交互时以及当用户和计算装置110A处于不同位置时,从用户接收输入(例如,语音输入、手势输入等)的一个或多个指示。UI模块120和UID 112可以解释在UID 112处检测到的输入,并且可以将关于在UID 112处检测到的输入的信息中继到本地助理模块122A和/或在计算装置110A处执行的例如以使计算装置110A执行功能的一个或多个其他相关联的平台、操作***、应用和/或服务。
UI模块120可以从在计算装置110A和/或一个或多个远程计算***(诸如,服务器***160和180)处执行的一个或多个相关联的平台、操作***、应用、和/或服务接收信息和指令。另外,UI模块120可以充当在计算装置110A处执行的一个或多个相关联的平台、操作***、应用、和/或服务与计算装置110A的各种输出设备(例如,扬声器、LED指示器、音频或触觉输出装置等)之间的中间媒介,以用计算装置110A产生输出(例如,图形、闪光、声音、触觉响应等)。
搜索模块182可以执行对确定是与搜索模块182自动生成的或者搜索模块182从助理服务器***160或计算装置110A接收(例如,作为虚拟助理代表计算装置110A的用户完成的任务的部分)的搜索查询相关的信息(例如,基于与计算装置110A相关联的场境信息)的搜索。搜索模块182可以基于搜索查询进行因特网(Internet)搜索,以识别从各种信息源(例如,在搜索服务器***180的本地或远程存储的)中的、与搜索查询相关的信息(例如,天气或交通状况、新闻、股票价格、体育比分、用户时间表、交通时间表、零售价格等)。在执行搜索之后,搜索模块182可以将从搜索返回的信息(例如,搜索结果)输出到助理服务器***160或计算装置110A。
在图1的示例中,用户界面114是与由计算装置110A访问的虚拟助理服务相关联的图形用户界面(例如,由助理服务器***160的本地助理模块122A和/或远程助理模块122B提供的)。在一些示例中,用户界面114可以是可听的用户界面。如图1所示,用户界面114示出计算装置110A的用户和在计算装置110A处执行的或对计算装置110A可访问的虚拟助理之间的对话的文本。用户界面114可以包括诸如可听声音、振动、文本、图形、内容卡、图像等各种形式的虚拟助理信息。UI模块120可以使UID 112经由网络130从助理服务器***160输出基于数据UI模块120的用户界面114。UI模块120可以从助理服务器***160和/或本地助理模块122A接收作为输入的、用于呈现用户界面114的信息(例如,音频数据、文本数据、图像数据等),同时从助理服务器***160和/或本地助理模块122A接收用于在UID 112处的用户界面114内呈现信息的指令。
计算装置110A的本地助理模块122A和助理服务器***160的远程助理模块122B可以各自执行本文中描述的、用于执行助理的类似功能,该助理被配置成自动地在不需要用户交互的情况下将计算装置的用户主动引导用户在当时可能感兴趣的有意义或者或有用的信息。远程助理模块122B和用户信息数据存储124B表示示例虚拟助理的服务器端或云实现方式,而本地助理模块122A和用户信息数据存储124A表示示例虚拟助理的客户端或本地实现方式。
模块122A和122B可以各自包括被配置成作为智能个人助理执行的相应软件代理,该智能个人助理能够为诸如计算装置110A的用户的个体执行任务或服务。模块122A和122B可以基于用户输入(例如,在UID 112处检测到的)、位置感知(例如,基于场境的)、和/或访问来自各种信息源的(例如,本地存储在计算装置110A、助理服务器***160处,或者经由由搜索服务器***180提供的搜索服务而获得的)其他信息(例如,天气或交通状况、新闻、股票价格、体育比分、用户时间表、交通时间表、零售价格等)的能力来执行这些任务或服务。模块122A和122B可以执行人工智能和/或机器学习技术,以出于用户的利益来自动识别和完成一个或多个任务。
由远程助理模块122B和本地助理模块122A提供的相应助理可以例如在执行操作以支持与计算装置110A的用户的对话的过程中,自动维持与用户相关联的信息,或指向与用户相关联的信息的位置(例如,由位于计算装置110、服务器***160或180处的信息源,或由位于网络130上其他地方的任何其他服务器或装置存储的)。模块122B和122A可以将与用户相关联的信息或信息指针分别维持为用户信息数据存储124B和用户信息数据存储124A。例如,与用户相关联的信息可以是在用户和助理之间的对话期间、在获得用户许可的情况下获得的信息,这些信息是可以由模块122用于主动向用户引导有意义信息的与用户相关联的日历信息、联系人信息、用户兴趣、用户偏好和任何其他信息。与用户相关联的信息源的示例能够包括但不限于内置于电子邮件***中的智能部分、与助理模块122A和122B的用户交互、与用户相关联的装置(例如,110)上的使用、或其他信息来源。
助理模块122A和122B可以将用户信息数据存储124A和124B维持为助理模块122A和122B一起或单独地提供给计算装置110A的虚拟助理服务的部分。数据存储124A和124B可以使由助理模块122A和122B执行的助理能够快速访问个人信息,以完成响应计算装置110A的用户的即时和/或未来的需要的真实世界的任务,虚拟的任务、或其他。为了便于描述,本公开的技术主要是从由本地助理模块122A执行的角度来描述的。
作为在本说明书中通篇使用的术语“对话”与在初始设置、安装、第一次使用等期间可能发生的交互形成对照,是指计算装置的用户和在计算装置处执行或可从计算装置访问的助理之间的常规交互。换句话说,在由用户每天使用助理期间,在用户正在执行除了设置助理之外的任务时,发生对话。作为本文中使用的对话不是指用户回答问题,而作为设置应用的或提供在用户界面的预设字段中的部分。
在操作中,本地助理模块122A可以主动地确定与计算装置110A的用户对话的内容。例如,助理模块122可以自动地(而不需要用户交互)从与用户相关联的信息(例如,电子邮件确认、文本消息确认、来自确认航班预订的第三方应用的数据等)和/或公共信息(例如,使用网络130可访问的航班数据)中识别由于恶劣天气而导致用户的航班预订已经被取消。
在不是使用给平凡和感兴趣信息二者的合并发信号的单一模态(例如,可见通知)的情况下,助理模块122可以基于与用户相关联的内容和信息来选择用于给与用户的对话发信号的特定模态,所述特定模态在没有过度或令人不悦的情况下最有可能得到用户的关注。在其中内容指示航班预订已经被取消并且与用户相关联的信息指示用户不知道的示例(例如,尚未读取指示航班预订已被取消的电子邮件)中,助理模块122可以选择特定模态作为比可见通知更紧迫的可听通知。以这种方式,助理模块122可以选择适当的模态用于向用户提示信息,该信息避免了用户受针对平凡和有意义的信息的通知的合并而积压。
为了主动向用户提供有用信息并且防止无意中输出个人或敏感信息,助理模块122可以在没有由用户提示的情况下以该模态给与用户对话发信号,以在实际上没有提供具体内容(例如,可能是个人的或隐私的)的情况下,向用户提供该内容。例如,助理模块122可以使UID 112输出“我有一些东西给你。你在这吗?”的可听通知,以用信号发起与用户的对话,以向用户提供内容。可附加地,或可替选地,助理模块122可以使UID 112输出用于显示的“我有一些东西给你。你在这吗?”的可见通知,以用信号发起与用户的对话,以向用户提供内容。在任何情况下,由UID 112的输出可以主动地给用户发信号有意义的信息是可用的。
在一些示例中,助理模块122可以确定用户是否已经接收到对话的信令(例如,可听通知、可见通知等)。例如,当助理模块122从用户接收到同意的指示(例如,UID 112的麦克风确定指示“是的,我在这里”的话语)时,助理模块122可以确定用户已经收到可听通知。在另一种情形下,当助理模块122接收到用户已经启动了UID 112的显示和/或已经与UID112交互以指示同意的指示(例如,扫动或轻敲同意指示符)时,助理模块122可以确定用户已经接收到可见通知。
响应于从用户接收到同意的指示(例如,UID 112的麦克风确定指示“是的,我在这里”的话语),助理模块122可以使UID 112输出可听通知“由于天气恶劣,你今晚的航班已取消。要我重新安排吗?”,以主动发起与用户的对话以向用户提供内容(例如,取消航班的信息),并且可选地,在没有用户提示的情况下,推荐动作(例如,重新安排飞往Topeka的航班)。以这种方式,助理模块122可以主动地向用户引导有意义的信息,而不必使用户被平凡的信息淹没。
助理模块122可以将内容的信令限制于特定内容,以确保用户找到内容中的价值。例如,基于在用户信息数据存储124中存储的信息,助理模块122可以确定特定包裹递送是平凡的。例如,响应于助理模块122确定了特定包裹递送被频繁下订单,与通过用户的其他订单相比具有低价值,或者基于在信息数据存储124中存储的其他信息,助理模块122可以被配置成减少与特定包裹递送相关的通知的个性化排名。换句话说,助理模块122可以避免使UI模块120经由UID 112通知输出关于平凡包裹递送的通知的音频,因为用户不太可能没有发现该通知将是有用的。然而,助理模块122可以选择向用户通知高价值包裹的状态。例如,助理模块122可以使UI模块120经由UID 112输出关于相机运送延迟的可听通知,该相机与由用户购买的先前物品相比相对贵重。
助理模块122可以确定用于适当地用信号向用户发出通知的表面(例如,计算装置110的计算装置)。例如,助理模块122可以维持与用户相关联并且被配置成操作助理模块122的表面(例如,计算装置110)的列表。在该示例中,助理模块122可以基于在用户信息数据存储124中存储的信息来识别来自表面列表中的表面。换句话说,助理模块122可以基于与用户的对话内容以及与用户相关联的信息(例如,存储在用户信息数据存储124中的信息)来选择用于在该模态下用信号与用户对话的表面。例如,助理模块122可以通过检查每个装置上的使用、一天中的时间、用户的最佳已知位置、以及装置的能力、或其他信息来识别表面。更具体地,例如,当助理模块122确定用户有可能离开了家时(例如,基于日历上,或者在电子邮件中,或用户通常离开家的时的上下班时间期间的航班预订),助理模块122可以选择不在基于家的装置上通知用户。可附加地,或可替选地,当因为用户没有经常与装置进行交互(例如,用户几个月了还未刷新装置上的广播)所以助理模块122确定用户不太可能注意到装置上的指示时,助理模块122可以选择不在装置上通知用户。换句话说,当助理模块122确定计算装置110B是最近使用的计算装置110时,助理模块122可以在计算装置110B上通知用户。以这种方式,助理模块122可以在适当表面处用信号向用户发起对话,使得与助理模块122的交互似乎对用户来说更有用且更期望。
助理模块122可以根据表面的能力来从表面列表中识别表面。也就是说,助理模块122可以确定表面是否被配置成在该模态下用信号发起对话,并且基于确定了特定表面被配置成在该模态下用信号发起对话,助理模块122可以选择该特定表面用于在该模态下用信号向用户发送通知。例如,当助理模块122确定计算装置110B具有输出需要在屏幕上示出像素的通知的能力时,助理模块122可以选择在计算装置110B上通知(例如,用信号通知)用户(例如,“这是你的航班预订)。助理模块122可以根据表面的可用性从表面列表中识别表面。例如,当助理模块122确定用户处于用户的工作位置时,助理模块122可以避免选择与用户的家相关联的扬声器表面。
助理模块122可以被配置成选择模态(例如,可听通知、文本或可视通知、光指示器等)以适当地用信号发起与用户的对话。例如,助理模块122可以基于表面的能力来选择模态。例如,当使用不能够输出文本或视觉通知的特定装置时,助理模块122可以将模态选择为可听通知。可附加地,或可替选地,助理模块122可以基于内容的排名来选择模态。例如,助理模块122可以针对低排名内容,使用音频表面的闪烁光来选择供音频表面输出的模态。在该示例中,响应于闪烁的光,用户可以查询装置“好的,助理,有什么事情?”或者“好的,助理,你要为我做什么?”或者轻击装置来收听内容。然而,在该示例中,助理模块122可以针对高排名内容,使用用于音频表面的扬声器来选择用于由音频表面输出的模态,作为可听通知。
在输出对查询(例如,在可用信息的反应交互结束处)的反应性响应之后,助理模块122可以给用户发信号。例如,助理模块122可以从用户接收查询的指示(例如,指示查询的数据或信息)。例如,UI模块120可以从用户接收音频或文本输入,以“设置下午5点的闹钟”。在该示例中,助理模块122可以响应于从用户接收到查询的指示而输出指示对用户查询的反应性响应的初始对话。在该示例中,在从用户输出指示对查询的反应性响应的初始会话之后,助理模块122可以使用信号发起与用户的后续对话,以向用户提供内容。例如,响应助理模块122可以使UI模块120经由UID 112输出音频或文本“我已经设置了明天下午5点的闹钟。我有个通知给你。你想要收听它吗?”用户可以说出词语“是”,并且计算装置110A可以经由UID 112接收说出的词语“是”作为附加语音输入。基于附加输入的指示,本地助理模块122A可以通过使UI模块120经由UID 112输出音频或文本来用信号发送内容“你的航班已经延误了四小时。新的出发时间是晚上11点。”以这种方式,助理模块122可以确保用户主动地和在正常对话过程期间获得有意义的信息。
助理模块122可以提示用户该信息可用而***漏内容。例如,助理模块122可以使UI模块120使用闪烁灯来输出该信息可用的指示。响应于持续时间(例如,1分钟)内没有用户输入,助理模块122可以使UI模块120经由UID 112输出音频或文本“Viki,我有东西给你。你在这吗?”。用户能够陈述“是,我在这里”。响应助理模块122可以使UI模块120经由UID112输出音频或文本“由于天气恶劣,你今天晚上飞往Topeka的航班被取消。你要我重新安排吗?”。在一些示例中,助理模块122可以基于通知的排名来提示用户该信息可用而***漏内容。例如,助理模块122可以仅用信号发送具有高度个性化和/或一般化排名的内容。
助理模块122可以确定是否内联地(例如,在用户正在使用的聊天UI中)或通过其他通知机制(例如,遮挡平台中的通知、窗件等)输出内容的通知。例如,助理模块122可以基于通知的排名来内联地或通过其他通知机制输出通知。例如,当通过通知用信号发送内容的排名高时,助理模块122可以在移动客户端上输出通知。可附加地,或可替选地,助理模块122可以基于用户信息数据存储124A中的信息来内联地或通过其他通知机制输出通知。
助理模块122可以自动选择语音用户体验,以可用方式将内容通知用户。例如,助理模块122可以基于内容的排名来选择内容的通知的长度或细节级别。例如,当通过通知用信号发送的内容的排名是低且更长和/或更详细的通知(例如,“运动队X击败了运动队Y,运动员A得分2分,运动员B得分C分,运动员D受伤”)时,助理122可以产生较短通知(例如,“体育队X赢了”)。可附加地,或可替选地,助理模块122可以基于针对通知的集合中的每个通知的内容的排名来用信号发送通知的集合。例如,当该通知所指示的每个内容的排名是低的时,助理模块122可以将多个通知折叠成单个消息(例如,“体育队X赢了。您的包裹准时到达,您的航班仍然准时,您的***已付款”)。虽然其他助理可以需要使用特定查询来引导有意义信息,但是在不必引导信息的情况下,根据本公开的示例助理可以能够基于与用户相关联的信息来确定什么信息对用户是有意义的。因为示例助理主动地向用户引导有意义的信息,所以用户不需要花时间使用特定查询来引导助理。与其他助理相比,根据本公开的示例助理因此可以更快地完成任务和/或响应用户。通过主动向用户引导有意义的信息,助理可能对于用户来说看起来是自然的、不太尴尬的、并且更期望的。
在由以上提到的方法提供的若干益处中的是:(1)通过主动地向用户引导有意义的信息而不是依赖于来自用户的特定查询,可以减少针对装置进行动作的处理复杂度和时间;(2)有意义的信息和与用户相关联的信息可以被本地存储,从而减少对用户装置上的针对私有数据的复杂和内存消耗的传输安全协议的需求;(3)因为示例助理向用户引导信息,用户会请求较少的特定查询,由此减少对用户设备进行查询重写和其他计算复杂数据检索的需求;(4)因为随着特定查询数量的减少,还可以减少本地助理模块需要对特定查询的响应的数据,所以可以减少网络使用。
图2是例示了根据本公开的一个或多个方面的被配置成执行示例虚拟助理的示例计算装置的框图。下面,描述图2的计算装置210作为图1的计算装置110A和/或110B的示例。图2仅示出了计算装置210的一个特定示例,并且计算装置210的许多其他示例可以在其他情形下使用,并且可以包括在示例计算装置210中包括的组件的子集或者可以包括图2中未示出的附加组件。
如图2的示例中示出的,计算装置210包括用户接口装置(USD)212、一个或多个处理器240、一个或多个通信单元242、一个或多个输入组件244、一个或多个输出组件246、和一个或多个存储组件248。USD 212包括显示组件202、存在敏感输入组件204、麦克风组件206和扬声器组件208。计算装置210的存储组件248包括UI模块220、助理模块222、一个或多个应用模块226、用户信息数据存储224、和场境模块230。
一个或多个处理器240可以实现功能和/或执行与计算装置210相关联的指令,以主动的向用户引导感兴趣信息。处理器240的示例包括被配置成用作处理器、处理单元或处理装置的应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器、和任何其他硬件。模块220、222、226、和230可以由处理器240操作,以执行计算装置210的各种动作、操作或功能。例如,计算装置210的处理器240可以检索和执行由存储组件248存储的指令,这些指令使处理器240执行操作模块220、222、226和230。这些指令当由处理器240执行时,可以使计算装置210主动地向用户引导感兴趣信息。
UI模块220可以包括图1的计算装置110A的UI模块120的所有功能,并且可以执行与UI模块120类似的操作,用于管理计算装置210在USD 212处提供的用户界面(例如,用户界面114),例如,用于促进计算装置110A的用户与助理模块222之间的交互。例如,计算装置210的UI模块220可以从助理模块222接收包括用于输出(例如,显示或播放音频)助理用户界面(例如,用户界面114)的指令的信息。UI模块220可以通过通信通道250从助理模块222接收信息并且使用数据来生成用户界面。UI模块220可以通过通信信道250发送显示或可听输出命令和相关联的数据,以使UID 212在UID 212处呈现用户界面。
助理模块222可以包括图1的计算装置110A的本地助理模块122A的所有功能,并且可以执行与用于提供助理的本地助理模块122A类似的操作。在一些示例中,助理模块222可以本地执行(例如,在处理器240处)以提供助理功能。在一些示例中,助理模块222可以充当计算装置210可访问的远程助理服务的接口。例如,助理模块222可以是与图1的助理服务器***160的远程助理模块122B的接口或应用编程接口(API)。
一个或多个应用模块226表示可以由助理(诸如,助理模块222)访问的可以从计算装置210执行并可访问的所有各种个体应用和服务,以向用户提供有信息和/或执行任务。应用模块226的众多示例可以存在并且包括可以在计算装置210处执行的健身应用、日历应用、搜索应用、地图或导航应用、运输服务应用(例如,巴士或列车跟踪应用)、社交媒体应用、游戏应用、电子邮件应用、聊天或发消息应用、互联网浏览器应用或任何和所有其他应用。
场境模块230可以收集与计算装置210相关联的场境信息,以定义计算装置210的场境。具体地,场境模块210可以被助理模块222用于定义计算装置210的场境,该场境在特定时间处指定计算装置210的物理和/或虚拟环境以及计算装置210的用户的特性。助理模块222可以基于与计算装置210和所定义的计算装置210的场境相关联的场境信息,主动地向计算装置210的用户提供信息或者出于计算装置210的用户的利益来执行任务。
如本公开通篇使用的是,术语“场境信息”用于描述能够由场境模块230用于定义计算装置和计算装置的用户可以在特定时间处经历的虚拟和/或物理环境特性的任何信息。场境信息的示例众多,并可以包括:由计算装置210的传感器(例如,位置传感器、加速度计、陀螺仪、气压计、环境光传感器、接近传感器、麦克风、和任何其他传感器)获得的传感器信息、由计算装置210的通信模块发送和接收的通信信息(例如,基于文本的通信、可听通信、视频通信等)以及与在计算装置210处执行的应用相关联的应用使用信息(例如,与应用相关联的应用数据、Internet搜索历史、文字通信、语音和视频通信、日历信息、社交媒体帖子和相关信息等)。场境信息的其他示例包括从计算装置210外部的发送装置获得的信号和信息。例如,场境模块230可以经由无线电或计算装置210的通信单元接收从位于商店的物理位置处或附近的外部信标发送的信标信息。
计算装置210内的一个或多个存储组件248可以存储用于在计算装置210操作期间处理的信息(例如,计算装置210可以在计算装置210处执行期间存储由模块220、222、226和230访问的数据)。在一些示例中,存储组件248是暂时性存储器,这意味着存储组件248的主要目的不是长期存储的。计算装置210上的存储组件248可以被配置用于作为易失性存储器对信息的短期存储,因此如果断电则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、以及本领域已知的其他形式的易失性存储器。
在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非暂时性计算机可读存储介质。与通常由易失性存储器相比,存储组件248可以被配置成存储更大量的信息。存储组件248还可以被配置用于作为非易失性存储器空间对信息进行长期存储并且在通电/断电周期之后保持信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪速存储器或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。存储组件248可以存储与模块220、222、226和230以及数据存储224相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括被配置成与模块220、222、226和230以及数据存储224相关联的数据或其他信息。
通信信道250可以将组件212、240、242、244、246和248中的每个互连,以便组件间通信(物理地、通信地和/或操作性地)。在一些示例中,通信信道250可以包括用于数据通信的***总线、网络连接、进程间通信数据结构、或任何其他方法。
计算装置210的一个或多个通信单元242可以经由一个或多个有线和/或无线网络,通过在一个或多个网络(例如,图1的***100的网络130)上发送和/或接收网络信号来与外部装置(例如,图1的***100的助理服务器***160和/或搜索服务器***180)通信。通信单元242的示例包括能够发送和/或接收信息的网络接口卡(例如,诸如以太网卡)、光学收发器、射频收发器、GPS接收器、或任何其他类型的装置。通信单元242的其他示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电、以及通用串行总线(USB)控制器。
计算装置210的一个或多个输入组件244可以接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,计算装置210的输入组件244包括用于检测来自人或机器的输入的存在敏感输入装置(例如,触摸敏感屏幕、PSD)、鼠标、键盘、语音响应***、相机、麦克风、或任何其他类型的装置。在一些示例中,输入组件244可以包括一个或多个传感器组件、一个或多个位置传感器(GPS组件、Wi-Fi组件、蜂窝组件)、一个或多个温度传感器、一个或多个移动传感器(例如,加速度计,陀螺仪)、一个或多个压力传感器(例如,气压计)、一个或多个环境光传感器、和一个或多个其他传感器(例如,红外接近传感器、湿度计传感器等)。其他传感器(仅仅举几个其他非限制示例)可以包括心率传感器、磁力计、葡萄糖传感器、嗅觉传感器、罗盘传感器,步进计数器传感器。
计算装置210的一个或多个输出组件246可以在所选择的模态下产生输出。模态的示例可以包括触觉通知、可听通知、可见通知、机器产生的语音通知、或其他模态。在一个示例中,计算装置210的输出组件246包括用于在所选择模态下生成对于人或机器的输出的存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或任何其他类型的装置。
计算装置210的UID 212可以类似于计算装置110A的UID 112,并且包括显示组件202、存在敏感输入组件204、麦克风组件206和扬声器组件208。显示组件202可以是由USD212其此处显示信息(例如,可视指示)的屏幕,同时存在敏感输入组件204可以检测显示组件202处和/或附近的对象。扬声器部件208可以是扬声器,可以由UID 212从其播放可听信息(例如,诸如机器生成的语音通知的可听指示),同时麦克风组件206可以检测在显示组件202处和/或扬声器组件208附近提供的可听输入。
尽管被例示为计算装置210的内部组件,但是UID 212还可以表示与计算装置210共享用于发送和/或接收输入和输出的数据路径的外部组件。例如,在一个示例中,UID 212表示位于计算装置210的外部封装(例如,移动电话上的屏幕)内并且与其物理连接的计算装置210的内置组件。在另一个示例中,UID 212表示计算装置210的外部组件,其位于与计算装置210的封装或外壳(例如,与计算装置210共享有线和/或无线数据路径的监视器、投影仪等)外部并且与其物理分开。
扬声器组件208可以包括内置到计算装置210的外壳内的扬声器,并且在一些示例中,可以是内置到有线或无线耳机的集合中的、与计算装置210可操作联接的扬声器。麦克风组件206可以检测在UID 212处或附近发生的可听输入。麦克风组件206可以执行各种噪声消除技术,以去除背景噪声并且将用户语音与检测到的音频信号隔离。
计算装置210的UID 212可以检测作为来自计算装置210的用户的输入的二维和/或三维手势。例如,UID 212的传感器可以在UID 212的传感器的阈值距离内检测用户的移动(例如,移动手、手臂、笔、触控笔等)。UID 212可以确定移动的二维或三维向量表示,并且将向量表示与具有多个维度的手势输入(例如,手波、捏合、拍击、笔划等)相关联。换句话说,UID 212能够检测多维手势,而不需要用户在此UID 212输出用于显示的信息的屏幕或表面处或附近有手势。替代地,UID 212能够检测在传感器处或附近执行的多维手势,该传感器可以或不可以位于在此UID 212输出用于显示的信息的屏幕或表面附近。
在操作中,助理模块222可以接收与计算装置110A的用户对话的内容。例如,助理模块222可以从一个或多个应用模块226接收内容。例如,一个或多个应用模块226的购物应用可以向助理模块222输出指示包裹被递送到用户的内容。在一些示例中,助理模块222可以从由计算装置210接收的文本、由一个或多个应用模块226接收的电子邮件、或计算装置210的另一个模块接收内容。在一些示例中,助理模块222可以从计算装置210外部的源接收内容。例如,助理模块222可以经由网络130从图1的搜索服务器***180、图1的计算装置110B、图1的助理服务器***160、或另一设备接收内容。
响应于接收到内容,助理模块222可以确定被配置成用信号发送内容的表面列表。例如,计算装置210的助理模块222可以确定与用户相关联并与助理模块222兼容的一个或多个其他计算装置(例如,图1的计算装置110)是否可访问。更具体地,当计算装置响应于计算装置是可用的的请求确认查询时,计算装置210的助理模块222可以确定计算装置是可访问的。例如,计算装置210的助理模块222可以向图1的计算装置110B输出查询,并且响应于从计算装置110B接收到计算装置110B可用于用信号发送内容的响应,确定计算装置110B是可用的。类似地,图1的远程助理模块122B可以确定一个或多个其他计算装置(例如,图1的计算装置110)是否可访问。
助理模块222可以从表面的列表中选择用于用信号发送内容的表面。例如,助理模块222可以基于表面与用户的接近度(例如,最靠近用户设置)来选择表面。例如,当计算装置210是由用户携带的移动装置或与用户在从上班到家的上下班路中用户正在驾驶的车辆相关联的基于汽车的计算装置时,助理模块222可以选择计算装置210来替代在家的平板计算机或工作计算机。在一些示例中,助理模块222可以选择最近被用户访问的表面。例如,当计算装置210是当前正被用户访问(例如,显示电影)的多媒体装置(例如,平板计算机)时,助理模块222可以选择计算装置210。在一些示例中,助理模块222可以选择被配置用于用信号发送内容的通知的表面。例如,当计算装置210是具有能够示出航班预订的显示器的多媒体装置(例如,与电视可操作联接的电视或内容流装置)时,助理模块222可以选择计算装置210来替代只包括扬声器和/或灯阵列的计算装置。
助理模块222可以针对所选择的表面而选择用信号发起与用户对话的模态。在一些示例中,助理模块222可以基于所选择的表面的能力来选择用于所选择的表面的模态。例如,因为多媒体装置当前正在输出用于多媒体的声音(例如,电影、电视节目、体育赛事等),所以助理模块222可以确定作为多媒体装置(例如,电视)的所选择表面可以只支持视觉通知。
助理模块222可以基于内容的排名来选择针对所选择表面的模态。例如,助理模块222可以将内容的排名与模态相关联的阈值进行比较。例如,当内容的排名满足使可见通知叠加在视频内容上的阈值(例如,指示比阈值更高的重要性)时,助理模块222可以选择叠加在当前正由多媒体装置(例如,电视)输出的视频内容上的可见通知。也就是说,当内容的排名指示比可见通知叠加在视频内容上的阈值的重要性较高时,助理模块222可以将用于贵重递送的可见通知叠加在多媒体装置(例如,电视)所输出的视频内容上。然而,当内容的排名指示比用于可见通知叠加在视频内容上的阈值的重要性较低时,助理模块222可以避免将用于平凡包裹递送的可见通知叠加在由多媒体装置(例如,电视)输出的视频内容上。
助理模块222可以使用可以值得主动通知的、与用户相关联的信息类型的个性化排名。也就是说,助理模块222可以基于与用户相关联的信息来确定内容的排名。例如,基于在用户信息数据存储224中存储的信息,助理模块222可以确定用户将体育内容评价为高排名类型的信息。在该示例中,助理模块222可以被配置成响应于确定用户评价体育内容而增加体育内容的个性化排名。以这种方式,与和用户相关联的其他类型的信息形成对照,助理模块222可以向用户引导有意义的体育内容(例如,附近的游戏、对喜爱队伍评分、队伍选择)。除了体育内容之外,与用户相关联的其他类型的信息可以包括天气信息、新闻、旅行信息(例如,航班、交通、火车、公共汽车等)、来自软件应用的通知、包裹递送、或其他类型信息。
助理模块222可以针对值得提示的信息使用一般化排名。也就是说,助理模块222可以基于公共信息来确定内容的排名。例如,基于在图1的搜索服务器***180中存储的公共信息,助理模块222可以确定常见用户对特定术语正在查询。例如,响应于助理模块222确定常见用户对该区域中的音乐事件正在查询的信息,助理模块222可以增加该区域中的音乐事件的一般化排名。以这种方式,助理模块222可以基于其他用户向用户引导有意义的通知。应当理解,助理模块222可以基于公共信息和与用户相关联的信息的组合来确定内容的排名。
响应于选择模态,助理模块222可以以该模态用信号发送通知。例如,助理模块222可以使UID 212以所选择的模态给用户的对话发信号。例如,显示组件202可以通过将消息“你的公司X的包裹已经被递送”叠加在当该模态被选择作为可视指示时正在显示的视频内容上,以可视方式用信号发送内容。
助理模块222可以使用可能值得主动通知的、与用户相关联的信息类型的场境排名。例如,基于从场境模块230接收的信息,助理模块222可以确定可能值得主动通知的、与用户相关联的信息类型的场境排名。例如,基于从场境模块230接收到的信息,助理模块222能够确定用户在家,因此更有可能比用户在工作时找到有价值的新闻内容。
应当理解,在一些示例中,助理模块222可以使用内容的排名的组合。例如,助理模块222可以使用一般化排名、个性化排名和场境排名,以选择模态和/或表面。在一些示例中,助理模块222可以使用一般化排名和个性化排名,以选择模态和/或表面。在一些示例中,助理模块222可以使用一般化和场境排名,以选择模态和/或表面。在一些示例中,助理模块222可以使用个性化排名和场境排名,以选择模态和/或表面。
在一些示例中,助理模块222可以以该模态用信号发送通知,而在***露内容。例如,助理模块222可以使UID 212将消息“我有通知给你,如果你想收听通知,就暂停电影”叠加在正在显示的视频内容上,而不是将“您的公司X的包裹已经被递送”的消息叠加在正在显示的视频内容上。响应于从用户接收到确认(例如,暂停电影),助理模块222可以用信号发送内容。例如,助理模块222可以使扬声器组件208输出“您的公司X的包裹已经被递送”。
助理模块222可以自动选择语音用户体验,以可用方式将信息通知用户。例如,助理模块222可以基于内容的排名来选择内容的通知的长度或细节级别。例如,助理模块222可以在通过通知用信号发出的内容的排名高时产生较长的消息(例如,John,你的飞往Topeka的航班延误了四小时。新的出发时间是晚上7点)。当通过通知用信号发出的内容排名低时产生较短的消息(例如,您的包裹明天到达)。可附加地,或可替选地,助理模块222可以基于针对通知的集合中的每个通知的内容的排名来用信号发送通知的集合。例如,当通过通知用信号发送的每个内容的排名低时,助理模块222可以将多个通知折叠成单个通知(例如,Jon,你有四个警告。您的包裹准时到达,您的航班仍然准时,您的***已付款”)。在该示例中,响应于助理模块确定了内容具有高排名,与助理模块222将通知与其他通知折叠的情况相比,助理模块222可以可选地使用较长的消息来表示通知。例如,当助理模块222确定包裹比较重要和/或被与其他通知一起折叠成单个消息时,助理模块222可以输出“包含牙签的包裹将准时到达,应该是明天下午2点到达”,而非助理模块222输出“您的包裹准时到达”以向用户引导关于包裹递送的信息。
助理模块222可以自动地出于用户的利益来推荐动作。例如,助理模块222可以使用与用户相关联的信息和/或***息来确定所推荐的动作。例如,响应于指示安排的航班预订被取消的内容,助理模块222可以推荐取消现有的餐厅预约。在其中公共信息指示存在风暴警告的情况下,如果是周末的晚上,则助理模块222可以推荐适合于家庭的电影来观看。
图3是例示了根据本公开的一个或多个方面的通过执行示例虚拟助理的一个或多个处理器执行的示例操作的流程图。以下,在图1的***100的背景下描述图3。例如,本地助理模块122A在计算装置110A的一个或多个处理器处执行时,可以根据本公开的一个或多个方面执行操作300-308。并且,在一些示例中,本地助理模块122B在助理服务器***160的一个或多个处理器处执行时,可以根据本公开的一个或多个方面执行操作300-308。仅仅出于例示的目的,下面在图1的计算装置110的场境内描述图3。
在操作中,计算装置110可以从用户接收使用并存储个人信息的同意(300)。例如,响应于识别潜在的个人信息,本地助理模块122A可以使UI模块120请求来自用户的、以存储和使用在与本地助理模块122A和用户交互期间获得的个人信息的许可。应当理解,在每次本地助理模块想要使用或存储个人信息之前,计算装置110可以不需要用户的同意。例如,如果计算装置110每年接收一次,每天接收一次,或甚至仅接收一次(例如,在初始产品购买、设置等之后),则计算装置110可以将该先前的同意当作对未来使用和存储个人信息的同意。作为用户可以如何提供同意的一个示例,用户可以提供语音输入“是的,能够存储关于我的信息”,并且响应于语音输入,本地助理模块122A可以开始将关于用户的个人记录维持在数据存储122A处。
计算装置110A可以确定针对与计算装置的用户对话的内容(302)。例如,计算装置110A的本地助理模块122A可以确定计算装置110A的用户的航班已被重新安排。计算装置110A可以基于与用户相关联的信息来选择以给用户的对话发信号的模态(304)。例如,本地助理模块122A可以响应于确定指示针对用户的航班具有比对应于可听通知的阈值大的排名的内容而选择可听通知作为用信号发起与用户对话的模态。在一些示例中,本地助理模块122A可以基于与用户相关联的信息(例如,进行航班预订的助理模块122的记录,确认航班预订的电子邮件等)和/或公共信息(例如,指示航班已被重新安排的公共航班信息)来对指示针对用户航班的内容进行排名。
计算装置110A可以可选地选择以给与用户的对话发信号的表面(306)。例如,当表面被配置成输出可听见通知作为模态信号时以及当表面有可能靠近用户时(例如,当用户在家时的家用计算装置、当用户在工作时的工作计算装置、用户通常携带的移动计算装置等),本地助理模块122A可以从表面列表中选择表面。
计算装置110A可以使在该模态下给与用户的对话发送信号(308)。例如,本地助理模块122A可以通过使UI模块120经由UID112输出音频或文本“我有个通知给你。你想要收听它吗?”用信号向用户发送可获得对话同意。
图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输出搜索结果。
助理模块422可以包括图1的本地助理模块122A和远程助理模块122B的所有功能以及图2的计算装置210的助理模块222。助理模块422可以执行与远程助理模块122B类似的操作,用于提供经由助理服务器***460可访问的助理服务。也就是说,助理模块422用作对通过网络与助理服务器***460通信的计算装置可访问的远程助理服务的接口。例如,助理模块422可以是与图1的助理服务器***160的远程助理模块122B的接口或API。例如,助理模块422可以选择用于用信号发送内容的表面和/或模态。
用户信息数据存储424类似于图2的用户信息数据存储224,并且被配置成在用户和由助理模块422提供的助理之间的对话期间存储由用户相关联的助理模块422已经了解关于计算装置的用户的信息。助理模块422可以依赖于在数据存储424处存储的信息来选择用于用信号发送内容的表面和/或模态。
在操作中,助理模块422可以接收与计算装置110A的用户对话的内容。例如,助理模块422可以从搜索模块482接收内容。响应于接收到内容,助理模块422可以从表面列表中选择用于用信号发送内容的表面。例如,助理模块422可以选择最近被用户访问的表面。
助理模块422可以为所选择表面选择模态。例如,助理模块422可以基于内容的排名来为所选择表面选择模态。例如,助理模块422可以将内容的排名与和模态相关联的阈值进行比较。例如,当内容的排名满足(例如,指示比阈值高的重要性)用于可听通知的阈值时,助理模块422可以选择可听通知。也就是说,例如,当内容的排名指示比用于可听通知的阈值较高的重要性时,助理模块422可以为贵重包装递送选择可听通知。然而,当内容的排序指示比可听通知的阈值较低的重要性时,助理模块422可以选择可见通知(例如,使灯指示器闪光)以进行平凡的包裹递送。以这种方式,可以使用户获悉可能使助理模块422认为对用户看起来更有用和期望的有意义的信息。
例如,下面表示图1的计算装置110的用户和由助理模块422提供的助理之间的各种场景。对于每种场景,在用户和助理之间存在一些初始信息交换,并且提供了指示这将会如何影响用户体验的一个或多个示例。
条款1.一种方法,所述方法包括:由在一个或多个处理器处执行的助理,确定用于与计算装置的用户对话的内容;由所述助理,基于所述内容和与所述用户相关联的信息来选择用于用信号发起与所述用户对话的模态;以及由所述助理,使在所述模态下给与所述用户的对话发信号。
条款2.根据条款1所述的方法,所述方法还包括:由所述助理,基于与所述用户相关联的信息,确定用于所述内容的排名,其中,选择用于用信号发起与所述用户的对话的模态是进一步基于所述排名的。
条款3.根据条款1至2中的任一项所述的方法,其中,确定用于所述内容的排名是进一步基于公共信息的。
条款4.根据条款1至3中的任一项所述的方法,所述方法还包括:由所述助理,基于所述内容和与所述用户相关联的信息,选择用于在所述模态下给与所述用户的对话发信号的表面,其中,给所述对话发信号是处于所述表面处的。
条款5.根据条款1至4中的任一项所述的方法,所述方法还包括:由所述助理,确定所述表面是否被配置成在所述模态下用信号发起所述对话,其中,选择用于在所述模态下给与用户的对话发信号的表面进一步是基于所述表面被配置成在所述模态下用信号发起对话的确定。
条款6.根据条款1至5中的任一项所述的方法,其中,所述模态包括可听输出。
条款7.根据条款1至6中的任一项所述的方法,其中,与所述用户的对话是与所述用户的后续会话,所述方法还包括:由所述助理,从所述用户接收查询的指示;以及响应于从所述用户接收到查询的指示,输出指示对来自所述用户的查询的反应性响应的初始对话的指示,其中,在输出指示对来自所述用户的查询的反应性响应的所述初始对话的指示之后,使用信号发起与所述用户的所述后续对话出现。
条款8.根据条款1至6中的任一项所述的方法,其中,在接收到来自所述用户的输入的任何指示之前,所述助理使给与所述用户的对话发信号。
条款9.根据条款1至8中的任一项所述的方法,其中,所述计算装置包括所述一个或多个处理器,或计算***包括所述一个或多个处理器,。
条款10.一种计算装置,所述计算装置包括:至少一个处理器;以及至少一个存储器,所述至少一个存储器包括指令,当所述指令被执行时,使所述至少一个处理器提供被配置成以下操作的助理:确定用于与所述计算装置的用户的对话内容;基于所述内容和与所述用户关相联的信息,选择用于用信号发起与所述用户的对话的模态;以及使在所述模态下给与所述用户的对话发信号。
条款11.根据条款10所述的方法,其中,所述助理被进一步配置成:基于与所述用户相关联的信息,确定所述内容的排名,其中,所述助理被进一步配置成基于所述排名来选择以用信号发起与所述用户的对话的模态。
条款12.根据条款10至11中的任一项所述的计算装置,其中,所述助理被进一步配置成:基于公共信息来确定用于所述内容的所述排名。
条款13.根据条款10至12中的任一项所述的计算装置,其中,所述助理被进一步配置成:基于所述内容和与所述用户相关联的信息,选择用于在所述模态下给与所述用户的对话发信号的表面,其中,所述助理被进一步配置成使在所述表面处给所述对话的发信号。
条款14.根据条款10至13中的任一项所述的计算装置,其中,所述助理被进一步配置成:确定所述表面是否被配置成在所述模态下用信号发起所述对话,其中,所述助理被进一步配置成基于确定所述表面被配置成在所述模态下用信号发起所述对话,选择用于在所述模态下给与用户的对话发信号的表面。
条款15.根据条款10至14中的任一项所述的计算装置,其中,所述模态包括可听输出。
条款16.根据条款10-15中的任一项所述的计算装置,其中,与所述用户的对话是与所述用户的后续会话,所述助理被进一步配置成:从所述用户接收查询的指示;以及响应于从所述用户接收到所述查询的指示,输出指示对来自所述用户的查询的反应性响应的初始对话的指示,其中,所述助理进一步被配置成在输出指示对来自所述用户的所述查询的反应性响应的所述初始对话的所述指示之后,使给与所述用户的所述后续响应发信号。
条款17.根据条款10至16中的任一项所述的计算装置,其中,所述助理被进一步配置成在从所述用户接收到输入的任何指示之前,使给起与所述用户的对话发信号。
条款18.根据条款10至17中的任一项所述的计算装置,其中,所述计算装置包括移动电话、平板计算机、计算机化手表、家用助理装置、电视、服务器、膝上型计算机、游戏***或汽车***。
条款19.一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令被执行时,使助理服务器***的至少一个处理器进行:确定用于与所述计算装置的用户的对话内容;基于所述内容和与所述用户关相联的信息,选择用于用信号发起与所述用户的对话的模态;以及使在所述模态下给与所述用户的对话发信号。
条款20.根据条款19所述的计算机可读存储介质,其中,当所述指令被执行时,进一步使所述至少一个处理器以:基于与所述用户相关联的信息,确定用于所述内容的排名,其中,当所述指令被执行时,进一步使所述至少一个处理器选择用于用信号发起与所述用户的对话的模态是进一步基于所述排名的。
条款21.根据条款19至20中的任一项所述的计算机可读存储介质,其中,当所述指令被执行时,进一步使所述至少一个处理器:进一步基于公共信息确定用于所述内容的排名。
条款22.根据条款19至21中的任一项所述的计算机可读存储介质,其中,当所述指令被执行时,进一步使所述至少一个处理器:基于所述内容和与所述用户相关联的信息,选择用于在所述模态下给与所述用户的对话发信号的表面,其中,当所述指令被执行时,进一步使所述至少一个处理器在所述表面处给所述对话发信号。
条款23.根据条款19至21中的任一项所述的计算机可读存储介质,其中,所述指令当被执行时进一步使所述至少一个处理器:确定所述表面是否被配置成在所述模态下用信号发起所述对话,其中,当所述指令被执行时进一步使所述至少一个处理器基于确定所述表面被配置成在所述模态下用信号发起对话来选择用于在所述模态下用信号发起与用户的对话的表面。
条款24.根据条款19至23中的任一项所述的计算机可读存储介质,其中,所述模态包括可听输出。
条款25.根据条款19至24中的任一项所述的计算机可读存储介质,其中,与所述用户的对话是与所述用户的后续会话,并且当所述指令被执行时,还使所述至少一个处理器:从所述用户接收查询的指示;并且响应于从用户接收到查询的指示,输出指示对来自所述用户的查询的反应性响应的初始对话的指示,其中,所述指令当被执行时进一步使所述至少一个处理器在输出指示对来自所述用户的查询的反应性响应的所述初始对话的指示之后,使用信号发起与所述用户的后续对话。
条款26.根据条款19至25中的任一项所述的计算机可读存储介质,其中,当所述指令被执行时,进一步使所述至少一个处理器在从所述用户接收到输入的任何指示之前,给与所述用户的对话发信号。
条款27.一种计算装置,所述计算装置包括至少一个处理器和包括指令的至少一个存储器的,当所述指令被执行时,使所述至少一个处理器执行条款1至9中的任一项所述的方法。
条款28.一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令被执行时,使计算装置的至少一个处理器执行根据条款1至9中的任一项所述的方法。
条款29.一种计算装置,所述计算装置包括用于执行根据条款1至9中的任一项所述的方法的装置。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合被实现。如果以软件来实现,则功能可以被作为一个或多个指令或代码存储在计算机可读介质上或由基于硬件的处理单元来执行。计算机可读介质可以包括与诸如数据存储介质的有形介质相对应的计算机可读存储介质,或包括便于例如根据通信协议将计算机程序从一个地方传递到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是能够由一个或多个计算机或一个或多个处理器访问的检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
作为示例而非限制性地,这种计算机可读存储介质能够包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储装置、闪速存储器或能够用于以指令或数据结构的形式存储所期望的程序代码并且可以由计算机访问的任何其他存储介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(诸如,红外线、无线电和微波)从网站、服务器或其他远程源发送指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如,红外线、无线电和微波)被包括在介质的定义中。然而,应当理解,计算机可读存储介质(一个和多个)和数据存储介质不包括连接、载波、信号或其他暂时性介质,而是替代地涉及非暂时性有形存储介质。如本文所使用的是,磁盘和光盘包括光盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光光学再现数据。以上的组合也应该被包括在计算机可读介质的范围内。
指令可以由诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路的一个或多个处理器执行。因此,如本文所使用的术语“处理器”能够指适于实现本文所述技术的前述结构或任何其他结构中的任一个。另外,在一些方面,本文中描述的功能能够设置在专用硬件和/或软件模块内。另外,这些技术能够在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在各种各样的装置或设备中实现,这些装置或设备包括无线手机、集成电路(IC)或IC集(例如,芯片集)。在本公开中描述了各种组件、模块或单元,以强调被配置成执行所公开技术的装置的功能方面,但不一定需要由不同硬件单元实现。确切地,如上所述,各种单元可以被组合在硬件单元中,或者由包括如上所述的一个或多个处理器的协作的硬件单元的集合结合适当的软件和/或固件来提供。
已经描述了各种实施例。因此,这些和其他实施例在随附权利要求书的范围内。

Claims (18)

1.一种使用虚拟助理来提供用户交互的方法,包括:
由在一个或多个处理器处执行的助理,确定用于与计算装置的用户的对话的内容;
由所述助理,维持计算装置的列表,所述计算装置与所述用户相关联并且均操作对应的本地助理模块;
由所述助理,基于与所述用户的所述对话的所述内容来选择用于用信号发送与所述用户的所述对话的发起的模态;
由所述助理,基于所选择的模态并且基于所述计算装置的所述列表中的计算装置中的每个计算装置的能力,从所述列表中选择给定计算装置来在所选择的模态下用信号发送与所述用户的所述对话的发起;以及
由所述助理,促使在所选择的模态下经由所述给定计算装置来为与所述用户的所述对话发信号。
2.根据权利要求1所述的方法,进一步包括:
由所述助理,基于与所述用户相关联的信息,确定所述内容的排名;以及
由所述助理,基于所述内容的所述排名,选择用于与所述用户的所述对话的所述内容的长度。
3.根据权利要求2所述的方法,进一步包括:
由所述助理,基于所述内容的排名,选择用于所述对话的所述内容的细节级别。
4.根据权利要求1所述的方法,其中,选择所述给定计算装置来在所选择的模态下用信号发送与所述用户的所述对话的发起包括:
由所述助理,确定所述给定计算装置是否被配置成在所选择的模态下用信号发送所述对话的发起。
5.根据权利要求1至4中的任一项所述的方法,其中,所选择的模态包括以下中的一者或两者:光指示器和可听输出。
6.根据权利要求1至4中的任一项所述的方法,其中,与所述用户的所述对话是与所述用户的后续会话,所述方法还包括:
由所述助理,从所述用户接收查询的指示;以及
响应于从所述用户接收到所述查询的指示,输出指示对来自所述用户的查询的反应性响应的初始对话的指示,
其中,使得为与所述用户的所述对话发信号是在输出所述初始对话的所述指示之后出现的。
7.根据权利要求1至4中的任一项所述的方法,其中,在接收到来自所述用户的输入的任何指示之前,所述助理使得为与所述用户的所述对话发信号。
8.根据权利要求1至4中的任一项所述的方法,其中,所述给定计算装置包括所述一个或多个处理器或计算***包括所述一个或多个处理器。
9.一种计算装置,包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器包括指令,所述指令在被执行时使所述至少一个处理器提供助理,所述助理被配置成:
确定用于与所述计算装置的用户的对话的内容;
维持计算装置的列表,所述计算装置与所述用户相关联并且均操作对应的本地助理模块;
基于所述对话的所述内容,选择用于用信号发送与所述用户的所述对话的发起的模态;
基于所选择的模态并且基于所述计算装置的列表中的计算装置中的每个计算装置的能力,从所述列表中选择给定计算装置来在所选择的模态下用信号发送与所述用户的所述对话的发起;以及
使得在所选择的模态下经由所述给定计算装置来为与所述用户的所述对话发信号。
10.根据权利要求9所述的计算装置,其中,所述助理被进一步配置成:
基于与所述用户相关联的信息,确定所述内容的排名;以及
基于所述内容的所述排名来选择用于与所述用户的所述对话的所述内容的长度。
11.根据权利要求10所述的计算装置,其中,所述助理被进一步配置成:
基于所述内容的所述排名来选择用于所述对话的所述内容的细节级别。
12.根据权利要求9所述的计算装置,其中,在选择所述给定计算装置来在所选择的模态下用信号发送与所述用户的所述对话的发起时,所述助理被进一步配置成:
确定所述给定计算装置是否被配置成在所选择的模态下用信号发送所述对话的发起。
13.根据权利要求9至12中的任一项所述的计算装置,其中,所选择的模态包括以下中的一者或两者:光指示器和可听输出。
14.根据权利要求9至12中的任一项所述的计算装置,其中,与所述用户的对话是与所述用户的后续会话,所述助理被进一步配置成:
从所述用户接收查询的指示;以及
响应于从所述用户接收到所述查询的所述指示,输出指示对来自所述用户的查询的反应性响应的初始对话的指示,
其中,所述助理进一步被配置成在输出所述初始对话的所述指示之后,使得为与所述用户的所述对话发信号。
15.根据权利要求9至12中的任一项所述的计算装置,其中,所述助理被进一步配置成在从所述用户接收到输入的任何指示之前,使得为与所述用户的对话发信号。
16.根据权利要求9至12中的任一项所述的计算装置,其中,所述列表中的所述计算装置中的每个计算装置是移动电话、平板计算机、计算机化手表、家用助理装置、电视、服务器、膝上型计算机、游戏***或汽车***中的一个。
17.一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令被执行时使助理服务器的至少一个处理器执行根据权利要求1至8中的任一项所述的方法。
18.一种计算装置,所述计算装置包括用于执行根据权利要求1至8中的任一项所述的方法的装置。
CN201710915581.5A 2016-10-14 2017-09-30 主动虚拟助理 Active CN107957776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110325476.2A CN113010016B (zh) 2016-10-14 2017-09-30 使用虚拟助理来提供用户交互的方法和***

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662408105P 2016-10-14 2016-10-14
US62/408,105 2016-10-14
US15/381,544 US10552742B2 (en) 2016-10-14 2016-12-16 Proactive virtual assistant
US15/381,544 2016-12-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110325476.2A Division CN113010016B (zh) 2016-10-14 2017-09-30 使用虚拟助理来提供用户交互的方法和***

Publications (2)

Publication Number Publication Date
CN107957776A CN107957776A (zh) 2018-04-24
CN107957776B true CN107957776B (zh) 2021-04-02

Family

ID=60081323

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110325476.2A Active CN113010016B (zh) 2016-10-14 2017-09-30 使用虚拟助理来提供用户交互的方法和***
CN201710915581.5A Active CN107957776B (zh) 2016-10-14 2017-09-30 主动虚拟助理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110325476.2A Active CN113010016B (zh) 2016-10-14 2017-09-30 使用虚拟助理来提供用户交互的方法和***

Country Status (8)

Country Link
US (3) US10552742B2 (zh)
EP (1) EP3526748A1 (zh)
CN (2) CN113010016B (zh)
DE (2) DE102017120732B4 (zh)
GB (1) GB2556998A (zh)
IE (1) IE20170177A1 (zh)
SG (2) SG10201708331VA (zh)
WO (1) WO2018071198A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552742B2 (en) 2016-10-14 2020-02-04 Google Llc Proactive virtual assistant
US11140116B2 (en) * 2017-01-31 2021-10-05 Samsung Electronics Co., Ltd Method for providing notification to uncover execution screen and electronic apparatus for performing same
US11010601B2 (en) 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US11100384B2 (en) * 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
KR102126207B1 (ko) * 2017-08-21 2020-06-24 주식회사 마인드웨어Ÿp스 지능형 메시지 처리 시스템
US11176437B2 (en) * 2018-01-11 2021-11-16 Microsoft Technology Licensing, Llc Controlling conversational digital assistant interactivity
EP3590036B1 (en) * 2018-05-07 2022-10-26 Google LLC Determining whether to automatically resume first automated assistant session upon cessation of interrupting second session
US11132681B2 (en) 2018-07-06 2021-09-28 At&T Intellectual Property I, L.P. Services for entity trust conveyances
US10802872B2 (en) 2018-09-12 2020-10-13 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants
US11481186B2 (en) * 2018-10-25 2022-10-25 At&T Intellectual Property I, L.P. Automated assistant context and protocol
US11489956B2 (en) * 2018-11-30 2022-11-01 Dish Network L.L.C. Systems and methods for notification forwarding
US11427216B2 (en) * 2019-06-06 2022-08-30 GM Global Technology Operations LLC User activity-based customization of vehicle prompts
CN110297617B (zh) * 2019-06-28 2021-05-14 北京蓦然认知科技有限公司 一种主动对话的发起方法和装置
CN110392446B (zh) * 2019-08-22 2021-03-12 珠海格力电器股份有限公司 一种终端和虚拟助手服务器进行交互方法
US11657811B2 (en) 2020-09-21 2023-05-23 International Business Machines Corporation Modification of voice commands based on sensitivity
US11782569B2 (en) * 2021-07-26 2023-10-10 Google Llc Contextual triggering of assistive functions
DE102022130792A1 (de) * 2022-11-22 2024-05-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Betreiben eines digitalen Assistenten eines Fahrzeugs, computerlesbares Medium, System, und Fahrzeug

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043391A (zh) * 2006-03-22 2007-09-26 张万明 家庭数字助理***
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理
CN104335234A (zh) * 2012-05-15 2015-02-04 苹果公司 用于将第三方服务与数字助理相结合的***和方法
CN105122353A (zh) * 2013-05-20 2015-12-02 英特尔公司 用于虚拟个人助理***的自然人-计算机交互
CN105247511A (zh) * 2013-06-07 2016-01-13 苹果公司 智能自动化助理
CN105264524A (zh) * 2013-06-09 2016-01-20 苹果公司 用于实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面
CN105830048A (zh) * 2013-12-16 2016-08-03 纽昂斯通讯公司 用于提供虚拟助理的***和方法

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804332B1 (en) 1994-09-30 2004-10-12 Wildfire Communications, Inc. Network based knowledgeable assistant
US7844666B2 (en) 2000-12-12 2010-11-30 Microsoft Corporation Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system
US20020178226A1 (en) 2001-05-24 2002-11-28 Anderson Andrew V. Method and apparatus for message escalation by digital assistants
CN1578951A (zh) 2001-05-24 2005-02-09 英特尔公司 通过数字助理的消息升级的方法和装置
US20030167167A1 (en) 2002-02-26 2003-09-04 Li Gong Intelligent personal assistants
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US7124123B1 (en) 2003-06-30 2006-10-17 America Online, Inc. Intelligent processing in the context of away and offline instant messages
US20050054381A1 (en) 2003-09-05 2005-03-10 Samsung Electronics Co., Ltd. Proactive user interface
US7257200B2 (en) * 2005-04-26 2007-08-14 Xerox Corporation Automated notification systems and methods
US20080055049A1 (en) 2006-07-28 2008-03-06 Weill Lawrence R Searching methods
US9251521B2 (en) * 2006-05-12 2016-02-02 At&T Intellectual Property I, L.P. Location-based alerting
US20080224883A1 (en) * 2007-03-15 2008-09-18 Motorola, Inc. Selection of mobile station alert based on social context
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US8943094B2 (en) * 2009-09-22 2015-01-27 Next It Corporation Apparatus, system, and method for natural language processing
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) * 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10692020B2 (en) * 2011-04-29 2020-06-23 Crestron Electronics, Inc. Real-time automatic meeting room reservation based on the number of actual participants
DE102012019178A1 (de) * 2011-09-30 2013-04-04 Apple Inc. Verwendung von Kontextinformationen zum Erleichtern der Verarbeitung von Befehlen bei einem virtuellen Assistenten
US20160205253A1 (en) 2012-04-13 2016-07-14 Virtual Hold Technology, Llc System and method for client interaction application integration
US9015099B2 (en) 2012-08-14 2015-04-21 Sri International Method, system and device for inferring a mobile user's current context and proactively providing assistance
US10163058B2 (en) * 2012-08-14 2018-12-25 Sri International Method, system and device for inferring a mobile user's current context and proactively providing assistance
US9042540B2 (en) 2012-10-30 2015-05-26 Teletech Holdings, Inc. Method for providing support using answer engine and dialog rules
US9171092B2 (en) 2012-12-07 2015-10-27 Empire Technology Development Llc Personal assistant context building
US9442693B2 (en) 2013-01-23 2016-09-13 Nuance Communications, Inc. Reducing speech session resource use in a speech assistant
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
WO2014168730A2 (en) * 2013-03-15 2014-10-16 Apple Inc. Context-sensitive handling of interruptions
US9922642B2 (en) 2013-03-15 2018-03-20 Apple Inc. Training an at least partial voice command system
US10445115B2 (en) 2013-04-18 2019-10-15 Verint Americas Inc. Virtual assistant focused user interfaces
KR20140137509A (ko) * 2013-05-22 2014-12-03 삼성전자주식회사 알림 기능 운용 방법 및 이를 지원하는 전자 장치
US20150123898A1 (en) * 2013-10-31 2015-05-07 Lg Electronics Inc. Digital device and control method thereof
US9084082B2 (en) * 2013-11-18 2015-07-14 Aol Inc. Systems and methods for optimizing message notification timing based on geographic location
US8738723B1 (en) 2013-12-10 2014-05-27 Google Inc. Predictive forwarding of notification data
US9766959B2 (en) * 2014-03-18 2017-09-19 Google Inc. Determining user response to notifications based on a physiological parameter
US9794355B2 (en) * 2014-04-08 2017-10-17 Samsung Electronics Co., Ltd. Systems and methods for adaptive notification networks
US9807559B2 (en) * 2014-06-25 2017-10-31 Microsoft Technology Licensing, Llc Leveraging user signals for improved interactions with digital personal assistant
SG11201702029PA (en) 2014-09-14 2017-04-27 Speaktoit Inc Platform for creating customizable dialog system engines
WO2016047902A1 (ko) * 2014-09-23 2016-03-31 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US20160173631A1 (en) * 2014-12-11 2016-06-16 Facebook, Inc. Disambiguation of notification delivery
US10509829B2 (en) 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10133613B2 (en) 2015-05-14 2018-11-20 Microsoft Technology Licensing, Llc Digital assistant extensibility to third party applications
US20170091612A1 (en) 2015-09-30 2017-03-30 Apple Inc. Proactive assistant with memory assistance
US10884503B2 (en) 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition
US9866927B2 (en) 2016-04-22 2018-01-09 Microsoft Technology Licensing, Llc Identifying entities based on sensor data
US11416212B2 (en) 2016-05-17 2022-08-16 Microsoft Technology Licensing, Llc Context-based user agent
US20180096072A1 (en) 2016-10-03 2018-04-05 Google Inc. Personalization of a virtual assistant
US10552742B2 (en) 2016-10-14 2020-02-04 Google Llc Proactive virtual assistant

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043391A (zh) * 2006-03-22 2007-09-26 张万明 家庭数字助理***
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理
CN104335234A (zh) * 2012-05-15 2015-02-04 苹果公司 用于将第三方服务与数字助理相结合的***和方法
CN105122353A (zh) * 2013-05-20 2015-12-02 英特尔公司 用于虚拟个人助理***的自然人-计算机交互
CN105247511A (zh) * 2013-06-07 2016-01-13 苹果公司 智能自动化助理
CN105264524A (zh) * 2013-06-09 2016-01-20 苹果公司 用于实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面
CN105830048A (zh) * 2013-12-16 2016-08-03 纽昂斯通讯公司 用于提供虚拟助理的***和方法

Also Published As

Publication number Publication date
CN113010016B (zh) 2024-06-18
DE102017120732A1 (de) 2018-04-19
SG10202101489WA (en) 2021-03-30
US20200175386A1 (en) 2020-06-04
GB2556998A (en) 2018-06-13
DE202017105445U1 (de) 2017-12-14
GB201715898D0 (en) 2017-11-15
US11823068B2 (en) 2023-11-21
EP3526748A1 (en) 2019-08-21
CN107957776A (zh) 2018-04-24
WO2018071198A1 (en) 2018-04-19
US20180107930A1 (en) 2018-04-19
US10552742B2 (en) 2020-02-04
IE20170177A1 (en) 2018-06-13
DE102017120732B4 (de) 2022-08-18
US20240037414A1 (en) 2024-02-01
SG10201708331VA (en) 2018-05-30
CN113010016A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN107957776B (zh) 主动虚拟助理
US11790207B2 (en) Delayed responses by computational assistant
US11641535B2 (en) Cross-device handoffs
US11087765B2 (en) Virtual assistant identification of nearby computing devices
US20180096072A1 (en) Personalization of a virtual assistant
US20220100540A1 (en) Smart setup of assistant services
US20190020761A1 (en) Computational assistant extension device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant