CN112313741A - 选择性注册到自动助理 - Google Patents

选择性注册到自动助理 Download PDF

Info

Publication number
CN112313741A
CN112313741A CN201880094608.1A CN201880094608A CN112313741A CN 112313741 A CN112313741 A CN 112313741A CN 201880094608 A CN201880094608 A CN 201880094608A CN 112313741 A CN112313741 A CN 112313741A
Authority
CN
China
Prior art keywords
user
registration
automated assistant
assistant
visual
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.)
Pending
Application number
CN201880094608.1A
Other languages
English (en)
Inventor
迭戈·米伦多·卡萨多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112313741A publication Critical patent/CN112313741A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/50Maintenance of biometric data or enrolment thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/60Static or dynamic means for assisting the user to position a body part for biometric acquisition
    • G06V40/67Static or dynamic means for assisting the user to position a body part for biometric acquisition by interactive indications to the user
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文描述了以下技术,该技术用于通过自动助理进行单模式识别和/或多模式识别的个人用户的基于对话的注册,以及基于特定用户已注册和/或识别的事实来确定如何响应该特定用户的请求。与要求操作图形用户界面来进行个人注册不同,基于对话的注册使用户能够通过与自动助理的人机对话来注册其自身(或其它人)。

Description

选择性注册到自动助理
背景技术
人们可以参与和在此称为“自动助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”、“虚拟助理”等)的交互式软件应用的人机对话。例如,人类(其在与自动助理交互时可以称为“用户”)可以使用自由形式的自然语言输入来提供命令、查询和/或请求(本文被统称为“查询”),该自由形式的自然语言输入可以包括被转换成文本然后被处理的有声话语和/或键入的自由形式的自然语言输入。
不同的用户可以经由自动助理控制和/或具有访问不同资源的权限。例如,受信任的用户可能具有使自动助理执行不受信任的用户可能不一定能够执行的各种动作的权限,诸如控制智能家电(例如,灯、恒温器、锁等)。作为另一个示例,自动助理可以具有向用户呈现各种内容的能力。此内容中的一些内容(诸如个人文档、日历数据等)可能受到保护,并且自动助理仅在对请求用户进行识别/验证后才会呈现该内容。自动助理可以拒绝未被识别或未经授权的用户访问相同的受保护内容。其它内容可能不一定受到保护,但对于一些用户来说可能不适当。例如,可以防止儿童要求自动助理发起对于那些建议父母自由裁量权的内容的回放。
配置现有的自动助理以区分不同的个人目前需要与图形用户界面的手动交互,例如,打开“语音匹配(voice match)”特征。因此,可能缺乏足够知识或动力来访问这种界面的其它个人可能永远不会注册到语音匹配特征。此外,尤其是在嘈杂的环境中,或者在多个说话者具有相似的语音/口音的场景中,仅使用语音匹配技术(这里也称为“说话者识别处理(speaker recognition processing)”)以在不同的个人之间进行区分可能不够可靠。
在许多情况下,在自动助理可以解释并响应用户的请求之前,它必须首先例如使用通常被称为“热词”或“唤醒词”的预定义口头调用短语来被“调用”。因此,许多自动助理在本文中称为“有限的热词收听状态”或“默认收听状态”下操作,在该状态下,它们总是“收听”由麦克风针对有限(或受限,或者“默认”)的热词集采样的音频数据。音频数据中捕获的除了默认的热词集以外的任何话语都将被忽略。一旦用默认的热词集中的一个或多个热词调用了自动助理,它就可以在此处称为“语音识别状态”的状态下操作,其中在调用之后的至少一些时间间隔内,自动助理对于由麦克风采样的音频数据进行语音到文本(“STT”)处理以生成文本输入,继而对该文本输入进行语义处理以确定和履行用户的意图。现有的自动助理通常只能使用一个或多个默认热词来调用,无论是否识别出请求用户,这些热词都是相同的。
发明内容
本文描述了通过选择性注册来改进自动助理中的安全性过程的技术,其中,用户注册到自动助理会解锁自动助理的在注册之前对用户不可用的一个或多个特征。特别地,描述了以下技术,该技术用于通过自动助理进行单模式和/或多模式识别的个人用户的基于对话的注册,以及基于特定用户已注册和/或识别的事实来确定如何响应该特定用户的请求。与要求操作图形用户界面来进行个人注册不同,基于对话的注册使用户能够通过与自动助理的人机对话来注册其自身(或其它人)。本文所述的示例实施方式通过将用户置于不同的信任级别来改进安全性,其中基于信任级别限制了对自动助理的可能被认为是敏感的(诸如控制家电和/或访问受保护的数据)功能的访问。
本文所述的技术可以经常(但非排他地)用于本文中称为“助理设备”的设备上。助理设备是被设计成主要用于促进用户与自动助理之间的人机对话的计算设备。许多助理设备采用独立的交互式扬声器的形式,它们变得越来越普遍。独立的交互式扬声器通常放置在人流量大的位置,诸如厨房、客厅、会议室等,并且经常由多个不同的人(例如,家庭成员、同事、访客等)进行交互。
虽然可以注册曾经与助理设备进行交互的任何个人,但是这样做可能具有各种缺点。可用于识别个人的信息(在此称为“用户的区别属性(distinguishing attributes ofa user)”),诸如在本文中描述的“语音简档(voice profiles)”和“视觉简档(visualprofiles)”,可能需要本地存储在助理设备上。在许多情况下,出于经济和/或技术原因,助理设备受到资源限制(例如,相对较小的存储器和/或处理功率)。因此,存储指示大量用户的区别属性的数据可能需要过量的助理设备的有限存储器。此外,如果特定个人与助理设备的交互可能极少,例如,他们是访问助理设备所部署的住户的临时访客,则注册该个人可能会很浪费。另外,这样的临时访客可能不希望被注册,例如,因为他们不希望指示自己的区别属性的数据被保存在其它人的助理设备上。
因此,在各种实施方式中,在使用本文中描述的技术将迄今为止未知的个人被注册到自动助理之前,自动助理可以确定该个人是否满足一个或多个“自动助理注册标准(automated assistant enrollment criteria)”。这些标准可以包括,例如,个人在同一助理设备上或在由“主机”用户(例如,控制/配置设备的生态***的人,诸如所有者、户主等)控制的计算设备的协作生态***上的一个或多个计算设备上与自动助理进行阈值次数的不同的人机对话会话。附加地或可替代地,这些标准可以包括在个人和自动助理之间发生的对话回合的阈值次数。
为了确定个人是否满足自动助理注册标准,可以例如基于由与助理设备集成在一起或以其它方式与该助理设备通信耦合的一个或多个硬件传感器生成的信号来标识该个人的一个或多个区别属性。这些硬件传感器可以包括例如视觉传感器(例如,相机、无源红外传感器等)、压力传感器(例如,麦克风、超声传感器等)或无线接收器,该无线接收器可以检测由个人携带的移动设备发射的无线信号(例如,Wi-Fi、蓝牙、ZigBee、Z波、RFID、视觉标记)。基于所标识的个人的区别属性,可以分析历史交互数据(例如,由自动助理或代表自动助理维护的日志)以标识一个或多个先前的人机对话会话,在所述一个或多个先前的人机对话会话中相同的个人与自动助理交换过对话(例如,使用相同的助理设备或在计算设备的相同协作生态***中的另一个计算设备)。基于该分析,如果满足自动助理注册标准,则自动助理可以发起在此将被称为“人机对话注册例程(human-to-computer dialogenrollment routine)”的例程。
在人机对话注册例程期间,自动助理可以提供自然语言输出,该自然语言输出包括指令,所述指令用于使用户执行各种动作,例如通过捕获和存储指示用户的区别属性的数据来促进将来对用户的识别。例如,在视觉注册例程期间,自动助理可以指示用户将用户的面部重新定位为多个不同的姿态,并使用视觉传感器来捕获处于该多个不同姿态的用户的面部。捕获用户面部的多个多样且不同的图像可以使得能够创建用户的“视觉简档”。此视觉简档可能可用于例如在将来使用面部识别处理来检测/识别用户。在一些实施方式中,用户的视觉简档可以包括该多个图像的一些组合和/或从该多个图像中提取的特征的一些组合。附加地或可替代地,在一些实施方式中,视觉简档可以被“烘焙成”机器学习分类器/模型(例如,卷积神经网络)。将来的图像可以用作输入应用于此类分类器/模型,并且基于模型生成的输出可以指示用户的身份。
除了视觉注册之外或代替视觉注册,在一些实施方式中,配置有本公开的所选方面的自动助理可以触发语音注册例程。在语音注册例程期间,自动助理可以指示用户说出各种单词和/或短语。可以选择这些单词或短语,因为它们适合于生成用户的“语音简档”。用户对这些单词/短语的话语可以用来构建语音简档,并且该语音简档能够例如与随后捕获的音频数据结合使用以执行说话者识别。像视觉简档一样,语音简档可以采用各种形式,诸如指示用户话语的数据、从用户话语中提取的特征、经训练的机器学习分类器/模型的参数等。
在一些实施方式中,一旦用户注册,就可以将用户的身份(例如,唯一标识符、用户名等)与指示用户的一个或多个区别属性的数据相关联地存储在一个或多个数据库中(例如,对于助理设备而言是本地的,或者在远程云基础设施中)。在一些实施方式中,这些区别特征可以被存储为从视觉/压力传感器数据生成的“注册(enrollment)”嵌入,其被用作输入应用于机器学习模型(诸如各种类型的神经网络)。这些区别特征可以稍后例如在用户与自动助理之间的后续人机对话会话期间被检测,并被用于确定用户的身份,从而有效地向自动助理认证用户。
例如,在一些实施方式中,可以将捕获有尚未识别的个人的视觉传感器数据和/或压力传感器数据应用于相同的机器学习模型以生成新的嵌入。可以将该新的嵌入与先前存储的注册嵌入进行比较(例如,确定它们之间的欧几里得距离),以确定接近的个人的嵌入是否与现有的注册嵌入之一足够相似,以可靠地将接近的个人与先前注册的个人进行匹配。
在各种实施方式中,用户的注册可以解锁自动助理的在注册之前对用户不可用的一个或多个特征。在基于用户的注册识别用户后,这些特征可以对该用户可用。例如,在一些实施方式中,可以激活一个或多个动态或自定义热词,使得用户在稍后被识别时(例如,使用说话者识别和/或面部识别)能够除了使用对于未被识别用户也可用的默认热词之外或者替代这种默认热词,还能够使用这些动态热词来调用自动助理。附加地或可替代地,在各种实施方式中,可以将自动助理的其它特征(或与自动助理相关联的特征)解锁给已注册的用户。例如,这些特征可能包括使自动助理执行这样的一个或多个动作的能力,该一个或多个动作在由未注册的用户请求时是不能被执行的,诸如变更智能家电的一个或多个参数、访问受保护的数据、订货和/或订服务、进行支付等等。
在一些实施方式中,对已注册的用户的识别可以生成置信度量。例如,在一些实施方式中,可以要求用户进行说话者识别和面部识别两者来进行注册。后来,当这样的用户接近助理设备时,可能是下述情况,即,助理设备的硬件传感器或与助理设备相关联的硬件传感器无法捕获足够的数据来以高置信度执行说话者识别和面部识别两者,例如,因为相机出故障、计算设备本就没有相机、用户喃喃自语或讲话声音太轻以至于无法启用可信的说话者识别等。在一些此类实施方式中,尽管如此,仍可能以有限的置信度来识别用户。可以授予此类用户有限的权限来访问自动助理的各种特征,而不是授予他们完全的访问权限(如果以更大的置信识别了这些用户的话)。
例如,在一些实施方式中,检测到的用户可以被置于在信任的“级别”或“箱”中。可以将第一或最高信任级别指配给以下用户,针对该用户,面部识别和/或说话者识别(或基于用户发射的无线信号的识别)生成满足第一阈值的置信度量。可以将第二信任级别指配给以下用户,针对该用户,面部识别和/或说话者识别生成满足第二阈值但不满足第一阈值的置信度量。可以将第三信任级别指配给以下用户,针对该用户,面部识别和/或说话者识别生成满足第三阈值但不满足第一阈值或第二阈值的置信度量。依此类推,直到根本无法识别用户为止,在这种情况下,可以为他们指配最低的信任级别(例如“访客”)。在各种实施方式中,每个信任级别可以为用户解锁自动助理的各种特征。例如,指配给第一信任级别的用户(即,语音识别/说话者识别生成相对较高的置信度量)可以获得对于自动助理的可能被视为敏感的功能的无拘无束的访问,诸如控制家电和/或访问受保护的数据。相反,指配给最低信任级别的用户可以被认为是“访客”,并且可能被完全拒绝访问或仅被允许访问自动助理的被认为不敏感的特征(例如,天气预报、体育得分、电影时间表等)。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,所述方法包括:至少部分地在一个或多个计算设备上执行自动助理;处理由与所述计算设备中的一个或多个计算设备集成在一起的一个或多个硬件传感器生成的一个或多个传感器信号;基于所述处理,在所述一个或多个硬件传感器的范围内,标识用户的一个或多个区别属性;基于所述一个或多个区别属性,分析历史交互数据以标识一个或多个先前的人机对话会话,在所述一个或多个先前的人机对话会话中所述用户使用所述计算设备中的一个或多个计算设备与所述自动助理交换了对话;基于所述标识的一个或多个先前的人机对话会话,确定所述用户满足自动助理注册标准;以及响应于确定所述用户满足所述自动助理注册标准,参与人机对话注册例程,所述用户在所述人机对话注册例程中被请求注册到所述自动助理,其中,所述用户的注册包括将所述用户的身份与指示所述用户的所述区别属性中的一个或多个区别属性的数据相关联地存储在一个或多个数据库中,并且其中,所述用户的注册解锁了所述自动助理的在所述注册之前对所述用户不可用的一个或多个特征。
在各种实施方式中,所述一个或多个硬件传感器可以包括视觉传感器,并且所述一个或多个区别属性可以包括所述用户的视觉简档。在各种实施方式中,所述用户的视觉简档能够结合由所述视觉传感器或另一个视觉传感器生成的传感器信号来使用,以使用面部识别处理来标识所述用户。
在各种实施方式中,所述一个或多个硬件传感器可以包括麦克风,并且所述一个或多个区别属性可以包括所述用户的语音简档。在各种实施方式中,所述用户的语音简档能够结合由所述麦克风或另一个麦克风生成的传感器信号来使用,以使用说话者识别处理来标识所述用户。
在各种实施方式中,所述一个或多个区别属性可以包括由所述用户携带的移动设备发射的信号。在各种实施方式中,一个或多个被解锁的特征可以包括激活能够用于调用所述自动助理的一个或多个热词。在各种实施方式中,所述一个或多个被解锁的特征可以包括能够由所述自动助理执行的一个或多个响应动作。在各种实施方式中,所述一个或多个被解锁的特征可以包括对受保护内容的访问。
在各种实施方式中,所述自动助理注册标准可以包括所述用户和所述自动助理之间的使用所述计算设备中的一个或多个计算设备进行的阈值次数的人机对话会话。在各种实施方式中,所述自动助理注册标准可以包括所述用户和所述自动助理之间的使用所述计算设备中的一个或多个计算设备进行的人机对话会话中的阈值次数的对话回合。
在各种实施方式中,人机对话例程可以包括:指示所述用户将所述用户的面部重新定位到多个姿态;以及使用视觉传感器来捕获处于所述多种姿态的所述用户的面部。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,所述一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,所述指令被配置成引起前述方法中的任意一种方法的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,该一个或多个非暂时性计算机可读存储介质存储能够由一个或多个处理器执行以执行所述前述方法中的任意一种方法的计算机指令。
应当理解的是,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的开头处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是其中可以实施本文公开的实施方式的示例环境的框图。
图2描绘了根据各种实施方式的状态机的示例,该状态机可以由配置有本公开的所选方面的自动助理来实施。
图3A、图3B、图4A和图4B描绘了其中可以采用公开的技术的另外的示例情况。
图5示意性地描绘了基于与个人的识别相关联的置信度量来给用户指配信任级别的示例。
图6描绘了图示根据本文公开的实施方式的示例方法的流程图。
图7描绘了图示根据本文公开的实施方式的示例方法的流程图。
图8示出了计算设备的示例架构。
具体实施方式
现在转到图1,图示了其中可以实施本文公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106。每个客户端设备106可以执行自动助理客户端108的相应实例,该自动助理客户端108在本文中也可以被称为自动助理的“客户端部分”。可以在一个或多个计算***(统称为“云”计算***)上实施一个或多个基于云的自动助理部件119(在本文中也可以统称为自动助理的“服务器部分”),其中该一个或多个计算***经由通常以115指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备106。
在各种实施方式中,自动助理客户端108的实例通过其与一个或多个基于云的自动助理部件119的交互的方式可以形成从用户的角度看似乎是自动助理120的逻辑实例的内容,用户可以参与和自动助理120的人机对话。这种自动助理120的一个实例在图1中以虚线示出。因此,应该理解的是,与在客户端设备106上执行的自动助理客户端108进行接洽的每个用户实际上可以与他或她自己的自动助理120的逻辑实例进行接洽。为了简洁和简单起见,本文中用作“服务”特定(例如,主机)用户的“自动助理(术语)”将指在由用户操作的客户端设备106上执行的自动助理客户端108和一个或多个基于云的自动助理部件119(该一个或多个基于云的自动助理部件119可以在多个自动助理客户端108之间共享)的组合。还应该理解的是,在一些实施方式中,自动助理120可以响应于来自任何用户的请求,而不管该用户是否由该自动助理120的特定实例来“服务”。
所述一个或多个客户端设备106可以包括例如以下的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信***、车载娱乐***、车载导航***)、独立的交互式扬声器(在某些情况下可能包括视觉传感器)、诸如智能电视的智能家电(或配备有具有自动助理功能的网络加密狗的标准电视)和/或包括计算设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)的用户可穿戴装置。可以提供附加的和/或可替代的客户端计算设备。一些客户端设备106,例如独立的交互式扬声器(或“智能扬声器”),可以采取助理设备的形式,其主要被设计为促进用户和自动助理120之间的对话。一些这样的助理设备可以采取独立的带显示器的交互式扬声器的形式,该显示器可能是触摸屏也可能不是触摸屏。
在一些实施方式中,客户端设备106可以配备有具有一个或多个视野的一个或多个视觉传感器107,但这不是必需的。一个或多个视觉传感器107可以采用各种形式,例如数字相机、无源红外(“PIR”)传感器、立体相机、RGBd相机等。该一个或多个视觉传感器107可以例如通过图像捕获模块111来用于捕获其中部署了客户端设备106的环境的图像帧(静止图像或视频)。然后可以例如通过视觉提示模块1121来分析这些图像帧,以检测图像帧中包含的用户提供的视觉提示。这些视觉提示可以包括但不限于手势、对特定参考点的凝视、面部表情、用户的预定义运动等。这些检测到的视觉提示可以用于各种目的,例如调用自动助理120和/或使自动助理120采取各种动作。
附加地或可替代地,在一些实施方式中,客户端设备106可以包括一个或多个接近传感器105。一个或多个接近传感器可以采用各种形式,诸如无源红外(“PIR”)传感器、射频识别(“RFID”)、接收从另一个附近电子部件发射的信号的部件(例如,来自附近用户的客户端设备的蓝牙信号、从设备发射的高频或低频声音等)等等。附加地或可替代地,视觉传感器107和/或麦克风109还可以例如通过视觉和/或听觉地检测到用户接近来用作接近传感器。
如本文中更详细描述的,自动助理120经由一个或多个客户端设备106的用户界面输入和输出设备参与和一个或多个用户的人机对话会话。在一些实施方式中,自动助理120可以响应于用户经由客户端设备106中的一个客户端设备的一个或多个用户界面输入设备提供的用户界面输入而参与和用户的人机对话会话。在那些实施方式中的一些中,用户界面输入是明确地指向自动助理120。例如,用户可以口头提供(例如,键入、说出)预定调用短语,例如“OK,Assistant(OK,助理)”或“Hey,Assistant(嘿,助理)”,以使自动助理120主动开始收听或监视键入的文本。附加地或可替代地,在一些实施方式中,可以基于一个或多个检测到的视觉提示,单独地或与口头调用短语相结合地调用自动助理120。
在许多实施方式中,自动助理120可以利用语音识别来将来自用户的话语转换为文本,并且因此例如通过提供搜索结果、一般信息和/或采取一种或多种响应动作(例如,播放媒体、启动游戏、点菜等)来对该文本做出响应。在一些实施方式中,自动助理120可以附加地或可替代地对话语做出响应而无需将话语转换为文本。例如,自动助理120可以将语音输入转换为嵌入、转换为实体表示(指示语音输入中存在的一个或多个实体)和/或其它“非文本”表示,并对这样的非文本表示进行操作。因此,本文描述为基于从语音输入转换的文本来进行操作的实施方式可以附加地和/或可替代地直接对语音输入和/或语音输入的其它非文本表示进行操作。
客户端计算设备106和操作基于云的自动助理部件119的计算设备中的每一个可以包括一个或多个用于存储数据和软件应用的存储器、一个或多个用于访问数据并执行应用的处理器以及其它有助于通过网络进行通信的部件。由客户端计算设备106和/或自动助理120执行的操作可以分布在多个计算机***上。自动助理120可以被实施为例如在通过网络彼此耦合的一个或多个位置中的一台或多台计算机上运行的计算机程序。
如上所述,在各种实施方式中,客户端计算设备106可以操作自动助理客户端108或自动助理120的“客户端部分”。在各种实施方式中,自动助理客户端108可以包括语音捕获模块110、上述图像捕获模块111、视觉提示模块1121和/或调用模块113。在其它实施方式中,语音捕获模块110、图像捕获模块111、视觉提示模块112和/或调用模块113的一个或多个方面可以例如通过一个或多个基于云的自动助理部件119与自动助理客户端108分开地实施。例如,在图1中,还存在可以检测图像数据中的视觉提示的基于云的视觉提示模块1122
在各种实施方式中,可以使用硬件和软件的任何组合来实施的语音捕获模块110可以与诸如麦克风109的硬件介接以捕获用户话语的音频记录。出于各种目的,可以对于此音频记录执行各种类型的处理。在一些实施方式中,可以使用硬件或软件的任何组合来实施的图像捕获模块111可以被配置成与相机107介接以捕获与视觉传感器107的视野相对应的一个或多个图像帧(例如,数字照片)。
在各种实施方式中,视觉提示模块1121(和/或基于云的视觉提示模块1122)可以使用硬件或软件的任何组合来实施,并且可以被配置成分析由图像捕获模块111提供的一个或多个图像帧,以检测在该一个或多个图像帧中和/或跨该一个或多个图像帧捕获的一个或多个视觉提示。视觉提示模块1121可以采用多种技术来检测视觉提示。例如,视觉提示模块1122可以使用一个或多个人工智能(或机器学习)模型,该一个或多个人工智能模型被训练成生成指示图像帧中检测到的用户提供的视觉提示的输出。
语音捕获模块110可以被配置成例如经由麦克风109捕获用户的语音,如前所述的那样。附加地或可替代地,在一些实施方式中,语音捕获模块110可以进一步被配置成例如使用语音到文本(“STT”)处理技术将捕获的音频转换为文本和/或其它表示或嵌入。附加地或可替代地,在一些实施方式中,语音捕获模块110可以被配置成例如使用一个或多个语音合成器将文本转换为计算机合成的语音。但是,在某些情况下,由于客户端设备106可能在计算资源(例如处理器周期、内存、电池等)方面受到相对限制,因此客户端设备106本地的语音捕获模块110可以配置成将有限数量不同的口头短语(尤其是调用自动助理120的短语)转换为文本(或其它形式,例如较低维度的嵌入)。其它语音输入可以被发送到基于云的自动助理部件119,该基于云的自动助理部件可以包括基于云的文本语音转换(“TTS”)模块116和/或基于云的STT模块117。
在各种实施方式中,调用模块113可以被配置成例如基于由语音捕获模块110和/或视觉提示模块1121(该语音捕获模块110和/或视觉提示模块1121在一些实施方式中可以与图像捕获模块111组合在单个模块中)提供的输出来确定是否调用自动助理120。例如,调用模块113可以确定用户的话语是否符合作为应当发起与自动助理120的人机对话会话的调用短语。在一些实施方式中,调用模块113可以单独或与视觉提示模块1121检测到的一个或多个视觉提示相结合来分析指示用户的话语的数据,用户的话语例如是音频记录或从音频记录提取的特征矢量(例如,嵌入)。在一些实施方式中,由调用模块113采用的用于确定是否响应于有声话语来调用自动助理120的阈值可以在还检测到特定视觉提示时或者当说话者被识别为已注册的用户时被降低。因此,即使在用户提供与正确的调用短语“OKassistant”不同但在语音上一定程度相似的有声话语时,该话语在结合视觉提示(例如,说话者挥手、说话者直接注视视觉传感器107等)的情况下被检测或者根据已注册的用户检测到时可以仍然被接受为正确的调用短语。
在一些实施方式中,调用模块113可以使用例如存储在设备上模型数据库114中的一个或多个设备上调用模型来确定话语和/或视觉提示是否符合作为调用。可以训练这样的设备上调用模型以检测调用短语/手势的变化。例如,在一些实施方式中,可以使用训练示例来训练设备上调用模型(例如,一个或多个神经网络),每个训练示例包括来自用户的话语的音频记录(或提取的特征向量)以及指示一个或多个图像帧和/或与该话语同时捕获的检测到的视觉提示的数据。
在图1中,设备上模型数据库114可以存储一个或多个设备上调用模型1141-114N。在一些实施方式中,可以训练默认设备上调用模型1141以在音频记录或指示其的其它数据中检测一个或多个默认调用短语或者热词,例如先前提到的那些短语(例如,“OK,Assistant”、“Hey,Assistant”等)。在一些这样的实施方式中,这些模型可以总是可用的并且可用于将自动助理120转换到一般收听状态,其中在该收听状态下,可以使用自动助理120的如下所述的(例如,在客户端设备106上或通过一个或多个基于云的自动助理部件119)其它部件来处理由语音捕获模块110(至少在调用之后的一段时间内)捕获的任何音频记录。
另外,在一些实施方式中,设备上模型数据库114可以至少临时地存储一个或多个附加“情境调用模型”1142-114N。这些情境调用模型1142-114N可以在特定情境中(诸如当已注册的用户被检测到时)由调用模块113使用和/或可用(例如,激活)。情境调用模型1142-114N可以被训练成例如在音频记录或指示其的其它数据中检测一个或多个情境特定热词。在一些实施方式中,情境调用模型1142-114N可以根据需要从例如形成基于云的自动助理部件119的一部分的动态热词引擎128中选择性地下载,这将在下面更详细地描述。在一些实施方式中,每个情境调用模型114可以可供不同的已注册的用户使用(将说话者识别为已注册的用户可以构成本文所使用的“情境”)。因此,每个已注册的用户都可以自定义他们自己的调用短语库。
在各种实施方式中,当调用模块113使用情境调用模型1142-114N检测到各种动态热词时,它可以将自动助理120转换到前面所述的一般收听状态。附加地或可替代地,调用模块113可以将自动助理120转换到情境特定的状态,其中,在将或不将自动助理120转换到一般收听状态的情况下执行一个或多个情境特定的响应动作。在许多情况下,触发将自动助理120转换到情境特定的状态的音频数据可能不会传送到云。相反,可以完全在客户端设备106上执行一个或多个情境特定的响应动作,这可以减少响应时间和传送到云的信息量,这从隐私的角度来看可能是有益的。
基于云的TTS模块116可以被配置成利用云的实际上无限的资源将文本数据(例如,由自动助理120制定的自然语言响应)转换为计算机生成的语音输出。在一些实施方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器直接输出。在其它实施方式中,可以将由自动助理120生成的文本数据(例如,自然语言响应)提供给语音捕获模块110,语音捕获模块110然后可以将文本数据转换为本地输出的计算机生成的语音。
基于云的STT模块117可配置成利用云的实际上无限的资源将语音捕获模块110捕获的音频数据转换为文本,然后可将其提供给意图匹配器135。在一些实施方式中,基于云的STT的模块117可以将语音的音频记录转换为一个或多个音素,然后将该一个或多个音素转换为文本。附加地或可替代地,在一些实施方式中,STT模块117可以采用状态解码图。在一些实施方式中,STT模块117可以生成用户话语的多个候选文本解释。在一些实施方式中,STT模块117可以取决于是否存在同时检测到的视觉提示来使特定候选文本解释加权或偏置得比其它候选文本解释高。
自动助理120(特别是基于云的自动助理部件119)可以包括意图匹配器135、前述TTS模块116、前述STT模块117以及下面更详细描述的其它部件。在一些实施方式中,可以在与自动助理120分开的部件中省略、组合和/或实施自动助理120的一个或多个模块和/或模块。在一些实施方式中,为了保护隐私,自动助理120的一个或多个部件(诸如自然语言处理器122、TTS模块116、STT模块117等)可以至少部分地在客户端设备106上实施(例如,排除在云之外)。
在一些实施方式中,自动助理120响应于在与自动助理120的人机对话会话期间由客户端设备106中的一个客户端设备的用户生成的各种输入来生成响应内容。自动助理120可以(例如,与用户的客户端设备分开时通过一个或多个网络)提供响应内容以作为对话会话的一部分呈现给用户。例如,自动助理120可以响应于经由客户端设备106提供的自由形式的自然语言输入来生成响应内容。如本文所使用的,自由形式的输入(也被称为“自由形式的自然语言输入”或者“自然语言输入”)是由用户制定的并且不限于呈现给用户进行选择的一组选项的输入。
如本文中所使用的,“对话会话”可以包括在用户与自动助理120之间(在某些情况下,与其它人类参与者之间)的一个或多个消息的逻辑上自洽的对话。自动助理120可以基于各种信号来在与用户的多个对话会话之间进行区分,该各种信号例如是在会话之间的时间流逝、会话之间的用户情境(例如,位置、预定会议之前/之中/之后等)的改变、检测到用户与客户端设备之间的除了用户和自动助理之间的对话之外的一个或多个介入交互(intervening interactions)(例如,用户切换应用一段时间,用户离开、然后稍后返回到独立的语音激活的产品)、客户端设备的在会话之间的锁定/休眠以及用于与自动助理120的一个或多个实例介接的客户端设备的改变等。
意图匹配器135可被配置成基于用户提供的输入(例如,有声话语、视觉提示等)和/或基于其它信号(例如,传感器信号和在线信号(例如,从Web服务获得的数据)等等)来确定用户的意图。在一些实施方式中,意图匹配器135可以包括自然语言处理器122和上述基于云的视觉提示模块1122。在各种实施方式中,除了基于云的视觉提示模块1122可以拥有更多资源以供支配以外,该基于云的视觉提示模块1122可以类似于视觉提示模块1121来操作。特别地,基于云的视觉提示模块1122可以检测可以由意图匹配器135单独或与其它信号结合使用的视觉提示以确定用户的意图。在其中说话者被识别为已注册的用户的一些实施方式中,可以利用已注册的用户与自动助理120之间正在进行的对话的演变情境来响应用户的自然语言输入。例如,可以基于已注册的用户和自动助理120之间的对话历史来自动消除已注册的用户的自然语言输入的歧义。此对话历史记录可能对其它已注册的用户或对其它用户整个不可用。
自然语言处理器122可以被配置成处理由用户通过客户端设备106生成的自然语言输入,并且可以生成注释输出(例如,以文本形式)以供自动助理120的一个或多个其它部件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户界面输入设备所生成的自然语言自由格式输入。所生成的注释输出包括自然语言输入的一种或多种注释和/或自然语言输入中的一个或多个(例如,全部)词语。
在一些实施方式中,自然语言处理器122被配置成识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态学模块,该形态学模块可以将各个单词分成词素和/或例如以词素的类别来注释这些词素。自然语言处理器122还可以包括词性标记器,该词性标记器(speech tagger)被配置成用词语的语法角色来注释词语。例如,词性标记器可以用词语的词性(诸如“名词”、“动词”、“形容词”、“代词”等)来标记每个词语。此外,例如,在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括被配置成确定自然语言输入中的词语之间的句法关系的依赖性解析器(未示出)。例如,依赖性解析器可以确定哪些词语修改了其它词语以及句子的主语和动词等等(例如,解析树),并且可以对这种依赖性进行注释。
在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括共指解析器(coreference resolver)(未示出),该共指解析器被配置成基于一个或多个情境提示来对同一实体的引用进行分组或“聚类”。例如,可以使用共指解析器在自然语言输入“Iliked Hypothetical Cafélast time we ate there(我上次在假想咖啡馆用餐时喜欢那里)”中将术语“there(那里)”解析为“Hypothetical Café”。
在一些实施方式中,自然语言处理器122的一个或多个部件可以依赖于来自自然语言处理器122的一个或多个其它部件的注释。例如,在一些实施方式中,命名实体标记器可以依赖于来自共指解析器和/或依赖解析器的注释来对特定实体的所有提及进行注释。同样,例如,在一些实施方式中,共指解析器可能依赖于来自依赖解析器的注释将对于同一实体的引用聚类。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个部件可以使用相关的先前输入和/或特定自然语言输入之外的其它相关数据来确定一个或多个注释。
意图匹配器135可以例如基于来自自然语言处理器122的输出(该输出可以包括自然语言输入的注释和词语)和/或基于来自视觉提示模块(例如1121和/或1122)的输出,使用各种技术来确定用户的意图。在一些实施方式中,意图匹配器135可以访问一个或多个数据库(未示出),该一个或多个数据库包括例如语法、视觉提示和响应动作(或更一般地,意图)之间的多个映射。在许多情况下,这些语法可能会随着时间的流逝而被选择和/或学习,并且可能代表用户的最常见意图。例如,一个语法“play<artist>(播放<艺术家>)”可以被映射到一种意图,该意图调用以下响应动作,该响应动作使得该<artist>(<艺术家>)的音乐在用户操作的客户端设备106上播放。另一个语法“[weather|forecast]today([天气|天气预报]今天)”可以与用户查询相匹配,例如是“what’s the weather today(今天的天气如何)”和“what’s the forecast for today?(今天的天气预报是什么?)”
除了或代替语法,在一些实施方式中,意图匹配器135可单独地或与一个或多个语法和/或视觉提示相结合地采用一个或多个经训练的机器学习模型。这些经训练的机器学习模型也可以存储在一个或多个数据库中,并且可以通过下述方式被训练以识别意图:例如,通过将指示用户话语和/或任何检测到的用户提供的视觉提示的数据嵌入到降维空间中,然后例如使用诸如欧几里得距离、余弦相似度等技术,确定哪些其它嵌入(以及因此,意图)最接近。
如在“play<artist>”示例语法中所见,一些语法具有可以用槽位值(或“parameters(参数)”)填充的槽(例如,<artist>)。可以以各种方式确定槽值。用户通常会主动提供槽值。例如,对于语法“Order me a<topping>pizza(为我订购<topping>披萨)”,用户可能会说“order me a sausage pizza(为我订购香肠披萨)”这句话,在这种情况下,自动填充槽<topping>。附加地或可替代地,如果用户调用包括要用槽值填充的槽的语法,而无需用户主动提供槽值,则自动助理120可以向用户请求这些槽值(例如,“what type ofcrust do you want on your pizza?(您想要何种硬皮在你的披萨上?)”)。在一些实施方式中,可以基于视觉提示模块1121-2检测到的视觉提示,用槽值填充槽。例如,用户可以在向客户端设备106的视觉传感器107举起三个手指的同时说出“Order me this many catbowls(为我订购这么多的猫碗)”之类的话。或者,用户在拿着特定电影的DVD盒的同时可以说出“Find me more movies like this(给我找更多像这样的电影)”之类的话。
在一些实施方式中,自动助理120可以充当用户与一个或多个第三方计算服务130(或“third party agent(第三方代理)”或“agents(代理)”)之间的中介。这些第三方计算服务130可以是接收输入并提供响应输出的独立软件过程。一些第三方计算服务可以采取第三方应用的形式,该第三方应用可以或可以不在与诸如基于云的自动助理部件119的运行的计算***分开的计算***上运行。意图匹配器135可以识别的一种用户意图是与第三方计算服务130接洽。例如,自动助理120可以向用于控制智能设备的服务提供对应用程序编程接口(“API”)的访问。用户可以调用自动助理120并提供诸如“I’d like to turn theheating on(我想打开暖气)”的命令。意向匹配器135可以将此命令映射到一个语法,该语法触发自动助理120与第三方服务进行接洽,从而使用户的暖气打开。第三方服务130可以向自动助理120提供需要填充的最小槽列表,以实施(或“解决”)打开暖气的命令。在该示例中,槽可以包括暖气将被设定到的温度以及暖气将被接通的持续时间。自动助理120可以生成自然语言输出并(通过客户端设备106)将其提供给用户,该自然语言输出请求槽的参数。
履行模块124可以被配置成接收由意图匹配器135输出的预测/估计的意图以及相关联的槽值(无论是由用户主动提供还是从用户那里请求的)并履行(或“解决”)该意图。在各种实施方式中,用户意图的履行(或“解决”)可以例如通过履行模块124来生成/获得各种履行信息(也称为“响应”信息或“解决信息”)。如下面所描述的,在一些实施方式中,可以将履行信息提供给自然语言生成器(在一些附图中显示为“NLG”)126,该自然语言生成器可以基于履行信息来生成自然语言输出。
履行(或“解决”)信息可以采取各种形式,因为可以以多种方式履行(或“解决”)意图。假设用户要求提供纯粹的信息,例如“Where were the outdoor shots of‘TheShining’filmed?(“闪灵”的户外镜头是在哪里拍摄的?)”可以例如通过意图匹配器135将用户的意图确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,如图1中所示,该履行模块可以与一个或多个被配置成搜索文档和/或其它数据源(例如知识图等)的语料库的搜索模块150通信,以获取响应信息。履行模块124可以向搜索模块150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块150可以提供:响应信息,例如GPS坐标;或其它更明确的信息,例如“Timberline Lodge,Mt.Hood,Oregon(山林小屋,胡德山,俄勒冈州)。”该响应信息可以形成由履行模块124生成的履行信息的一部分。
附加地或可替代地,履行模块124可以被配置成例如从意图匹配器135接收用户的意图以及由用户提供的或使用其它方式确定的任何槽值(例如,用户的GPS坐标、用户偏好等等)并触发响应动作。响应动作可以包括例如订购商品/服务、启动计时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实施方式中,履行信息可以包括与履行、确认响应(在某些情况下该确认响应可以从预定响应中选择)等相关联的槽值。
自然语言生成器126可以被配置成基于从各种来源获得的数据来生成和/或选择自然语言输出(例如,被设计为模仿人类语音的单词/短语)。在一些实施方式中,自然语言生成器126可以被配置成接收与意图的履行相关联的履行信息来作为输入,并基于该履行信息生成自然语言输出。附加地或可替代地,自然语言生成器126可以从诸如第三方应用之类的其它源接收信息(例如,所需的槽),这些信息可以用来为用户编写自然语言输出。
在一些实施方式中,注册引擎132可以被配置成执行本公开内容的选定方面,所述方面涉及用于通过自动助理进行单模式和/或多模式识别的个人用户的基于对话的注册,以及基于特定用户已注册和/或识别的事实来特定如何响应该特定用户的请求。在一些实施方式中,注册引擎132可以与注册数据库133可操作地耦合,该注册数据库133存储关于已注册的用户的信息,该信息可以用于通过自动助理120来认证已注册的用户。
注册数据库133可以包括关于已注册的用户的各种信息,诸如区分已注册的用户的视觉属性和/或听觉属性。例如,注册数据库133可以存储例如已注册的用户的视觉和/或语音简档。在一些实施方式中,注册数据库133可以托管在云中,例如,在与基于云的自动助理部件119相同或不同的计算***上。在一些这样的实施方式中,存储在注册数据库133中的信息可以与特定的客户端设备相关联和/或与已注册的用户被注册的特定用户相关联。附加地或可替代地,在一些实施方式中,可以将注册数据库133(以及在某些情况下,注册引擎132的全部或部分)托管在客户端设备106上,例如使得可以注册用户和/或可以使用客户端设备106本地的资源,而不是基于云的资源来认证已注册的用户。
注册数据库133(或另一个数据库)也可以存储本文中将被称为“历史交互数据”的数据。该信息能够由注册引擎132使用以确定是否使用本文描述的技术来请求特定的个人注册到自动助理120。历史交互数据可以包括指示自动助理120与不同个人之间的过去交互的信息。在一些实施方式中,历史交互数据可以包括指示这些个人的区别属性的数据,诸如临时语音简档和/或视觉简档。
通过随着时间的推移在注册数据库133中保持此信息,注册引擎132能够确定迄今未被标识的个人已满足一个或多个“自动助理注册标准”。自动助理注册标准可以包括,例如,个人在同一客户端设备106上或在客户端设备的生态***中的一个或多个客户端设备上与自动助理120进行阈值次数的不同的人机对话会话。附加地或可替代地,自动助理的注册标准可以包括在个人和自动助理之间发生的阈值次数的对话回合。
一旦确定特定说话者满足自动助理注册标准,则自动助理120可以发起在此称为“人机对话注册例程”的例程。在人机对话注册例程期间,自动助理120可以提供自然语言输出,该自然语言输出包括指令,所述指令用于使用户执行各种动作,例如通过捕获和存储指示用户的区别属性的数据来促进将来对用户的识别。例如,自动助理120可以指示个人将其头部移动到各种姿态,使得注册引擎132例如可以使用由相机107捕获的图像来建立个人的“视觉”简档。附加地或可替代地,自动助理120可以指示个人说出一个或多个单词或短语,例如,使用由麦克风109捕获的音频数据,注册引擎132可以用来建立个人的“听觉”简档。这些视觉和/或听觉简档可以存储在注册数据库133中,并在将来用于认证说话者。
在各种实施方式中,注册引擎132可以被配置成处理由与客户端设备106集成在一起的一个或多个硬件传感器(例如105-109)生成的一个或多个传感器信号。基于该处理,注册引擎132可以被配置成在该一个或多个硬件传感器的范围内标识用户的一个或多个区别属性。基于该一个或多个区别属性,注册引擎132可以分析(例如,存储在注册数据库133中的)历史交互数据以标识其中用户与自动助理120交换了对话的一个或多个先前的人机对话会话。例如,在一些实施方式中,注册数据库133可以包括从与未知的用户的先前交互中收集的语音简档和/或视觉简档信息。此语音简档和/或视觉简档信息可以包括,例如,在与该未知的用户的最后一次交互期间由麦克风109捕获的音频记录、使用相机107捕获的该未知的用户的一个或多个数字图像、两者的组合或从音频记录和/或数字图像生成的一个或多个嵌入。
基于所标识的一个或多个先前的人机对话会话,注册引擎132可以确定用户满足自动助理注册标准。例如,在一些实施方式中,自动助理注册标准可以包括用户与自动助理进行不止一次、多于两次或多于n次的接洽(n为正整数)。另外地或可替代地,自动助理注册标准可以包括在预定时间间隔期间,诸如在一周、十天、一个月、一个季度、一天、一小时等的期间该未知的用户与自动助理进行了超过某些阈值次数的接洽。另外地或可替代地,自动助理注册标准可以包括例如在单个对话会话中和/或跨多个对话会话中,该未知的用户与自动助理120进行某些阈值次数的对话回合。在一些这样的实施方式中,如果在预定时间间隔内没有再次检测到特定的未知的用户的语音和/或面部,则可以将其(例如,从注册数据库133中)擦除。并且在一些实施方式中,注册数据库133的全部或一部分可以仅存储在客户端设备106上,例如,以保护未知的用户的隐私。
在各种实施方式中,一旦注册引擎132确定出用户满足自动助理注册标准,注册引擎132就可以触发和/或参与人机对话注册例程。在人机对话注册例程期间,例如,通过使用音频输出和/或视觉输出,自动助理可以请求迄今未知的用户来注册到自动助理120。在一些实施方式中,用户的注册可以包括将用户身份(在某些情况下可能由用户提供)与指示该用户的一个或多个区别属性(例如,语音简档和/或视觉简档)的数据相关联地存储在一个或多个数据库(例如133)中。在一些实施方式中,新注册的用户可以与预先存在的在线简档匹配,例如,新注册的用户用来与他或她自己的自动助理120的实例进行接洽。
在各种实施方式中,通过注册引擎132进行的用户的注册可以解锁自动助理120的一个或多个在注册之前对用户不可用的特征。例如,已注册的用户可能能够使用在一个或多个情境调用模型114中的一个或多个热词来调用自动助理120。在一些这样的实施方式中,新注册的用户可能能够自定义他们将来可以用来调用自动助理的他们自己的热词库。作为另一示例,可以例如由控制/拥有客户端设备106的控制或“主机”用户来向已注册的用户提供各种信任级别。例如,未知的用户可能能够使用客户端设备106与自动助理120进行接洽,但是不能使自动助理120执行各种动作,诸如访问日历和/或由主机用户控制的其它文档,或控制诸如智能灯和/或恒温器的智能家电。相反,可以将已注册的用户置于一个或多个信任级别中,每个级别都可以使已注册的用户获得对各种资源和/或特征的访问,诸如刚刚提到的那些。
图2示意性地描绘了根据各种实施方式的示例状态机,该示例状态机可以由配置有本公开的所选方面的自动助理(例如120)和/或助理设备(例如106)来实施。左上方是“default inactive state(默认的非活动状态)”,当不被用户接洽时,自动助理120可能驻留在其中。在默认的非活动状态下,可以激活一个或多个客户端设备(106)的一个或多个麦克风,并且可以使用本文描述的技术来分析其捕获的音频数据。响应于例如由调用模块113和/或视觉提示模块112基于默认调用模型1141检测到一个或多个默认调用词(图2中的“DIW”,在本文中也称为“热词”)(例如“OK,Assistant”或“Hey,Assistant”),自动助理120可以转换到“General Listening State(一般收听状态)”。除了默认热词以外的话语(例如,环境对话等)可以被忽略并且不会被处理。
在一般收听状态下,自动助理120可以捕获默认调用词之后说出的音频数据,并转换到“General Processing(一般处理)”状态。在一般处理状态下,自动助理120可以处理指示音频输入的数据,如先前参考图1所述,包括STT处理、自然语言处理、意图匹配、履行等。一旦处理完成,自动助理120可能会转换回到默认的非活动状态。如果在检测到默认调用词之后未接收到音频输入,则超时(图2中的“TO”)可以将自动助理120从一般收听状态转换回到默认的非活动状态,例如,使得不意图用于由自动助理进行处理的后续话语不会被捕获或处理。
如前所述,本文描述的技术促进情境特定热词(该情境特定热词可以激活和检测)将自动助理120转换到各种不同的状态,例如一般收听状态,或其中自动助理120执行各种动作的其它情境特定的状态。在一些实施方式中,在某些情况下,可以被说出以将自动助理120从默认的非活动状态转换到一般收听状态的调用词的词汇可以被至少暂时地(例如,在有限的时间量内、直到情境不再适用等)扩展。
例如,在图2中,第一情境特定的信号CS1可以将自动助理120从默认的非活动状态转换到第一情境特定的收听状态“CSLS1”。在CSLS1中,自动助理120可以收听默认调用词(“DIW”)和第一情境特定热词(“C1热词”)。如果检测到任何一个,则自动助理120可以如上所述转换到一般收听状态。因此,在第一情境特定的收听状态中,将自动助理120转换到一般收听状态的热词词汇被扩展为包括默认调用词和第一情境特定热词。而且,在一些实施方式中,如果在自动助理120处于第一情境特定的收听状态的情况下经过了足够的时间量而没有检测到激活的热词,则超时(“TO”)可以将自动助理120转换回到默认的非活动状态。
附加地或可替代地,在一些实施方式中,在某些情境下,自动助理120可以例如使用热词的扩展词汇而能够转换到一般收听状态,或能够转换到其中一个或多个情境特定的动作可以被执行的情境特定的状态。例如,在图2中,响应于第二情境信号(“CS2”),自动助理120可以从默认的非活动状态转换到第二情境特定的收听状态“CSLS2”。在该第二情境特定的收听状态中,自动助理120可以例如通过检测一个或多个默认调用词和/或在某些情况下检测一个或多个第二情境特定热词(“C2hotword(s)A(C2热词A)”)来转换到一般收听状态,其中该一个或多个第二情境特定热词有效地扩展能够将自动助理120转换到一般收听状态的词汇。
附加地或可替代地,自动助理120可以从第二情境特定的状态(“CSLS2”)转换成一个或多个状态,在该一个或多个状态中,例如,响应于一个或多个另外的第二情境特定热词(“C2hotword(s)B(C2热词B)”)来执行一个或多个第二情境特定的响应动作(“2nd context-specific resp.act.(第二情境特定的响应动作)”)。在一些实施方式中,特定的第二情境特定热词可以被映射到特定的第二情境特定的响应动作,但这不是必需的。尽管为了清楚起见未在图2中示出,但是在一些实施方式中,在执行了这些一个或多个第二情境特定的响应动作之后,自动助理120可以转换回到默认的非活动状态。
在一些实施方式中,在某些情境下,自动助理120可能不再收听默认的热词。相反,自动助理120可能仅收听情境特定热词并执行响应动作。例如,在图2中,响应于第M情境信号(“CSM”),自动助理120可以从默认的非活动状态转换到第M情境特定的收听状态(M为正整数)“CSLSM”。在这种状态下,自动助理120可以收听第M情境特定热词(“CM热词”)。响应于检测到一个或多个第M情境特定热词,自动助理120可执行一个或多个第M情境特定的响应动作(“Mth context-specific resp.act.(第M情境特定的响应动作)”)。
在各种实施方式中,自动助理120可以以各种方式激活情境特定热词。例如,并且参考图1和图2两者,在一些实施方式中,在转换到特定情境中时,自动助理120可以例如从动态热词引擎128下载一个或多个情境特定的机器学习模型或分类器(例如1142、1143、...、114N),例如神经网络、隐马尔可夫模型(hidden Markov models)等,它们经过预训练以检测要在该特定情境中激活的热词。例如,假设在特定情境中,将自动助理120从默认的非活动状态转换到一般收听状态的词汇被扩展为包括单词“howdy”。在各种实施方式中,自动助理120可以例如从动态热词引擎128可用的数据库129中获得分类器,该分类器被训练以生成指示是否检测到单词“howdy”的输出。在各种实施方式中,该分类器可以是二进制的(例如,如果检测到热词,则输出“1”,否则,输出“0”),或者可以生成概率。如果概率满足某个置信度阈值,则可以检测到热词。
图3A和图3B示出了根据本文描述的实施方式的、如何可以在未知的用户101与自动助理实例(图3A至图B中未示出)之间经由客户端计算设备306的麦克风和扬声器(被描绘为独立的交互式扬声器,但这并不意味着是限制性的)发生人机对话会话的一个示例。可以在计算设备306上和/或与在与计算设备306进行网络通信的一个或多个计算设备上实施自动助理120的一个或多个方面。客户端设备306包括相机307,并且也可以包括麦克风(在图3A至图3B中未描绘,参见图1)。
在图3A中,用户101使用默认调用短语“Hey,Assistant”来调用自动助理120。然后,用户提供口头自然语言输入,“What is the capital of Kentucky(肯塔基州的首府是哪里)?”。因为此请求寻求不敏感的公共信息,所以自动助理120执行搜索并做出响应,“Thecapital of Kentucky is Frankfort(肯塔基州的首府是法兰克福)”。接下来,自动助理120例如通过注册引擎132来确定未知的用户101是否已满足自动助理注册标准。例如,自动助理120可以将用户101所说的音频记录与和一个或多个未知的说话者相关联地存储在注册数据库133中的一个或多个语音简档进行比较。另外地或可替代地,自动助理120可以将由相机307捕获的一个或多个数字图像与和一个或多个未知的说话者相关联地存储在注册引擎133中的一个或多个视觉简档(例如,数字图像、其嵌入等)进行比较。
在此示例中,自动助理120确定用户101已满足自动助理标准(例如,因为这是已经检测到用户101第n次与自动助理120进行接洽)。因此,自动助理会请求用户参与注册例程,“...I see you’re a regular here.Would you like to enroll with me to unlockvarious features?...(我看到您是这里的常客。您想和我一起注册以解锁各种特征吗?)”用户101做出肯定的响应。
在图3B中,开始注册例程。自动助理120提示用户如下:“Repeat after me:‘Sallysells seashells on the seashore(跟着我重复:“Sally在海边卖贝壳”)”。用户101的可听响应向注册引擎132提供音频数据,该音频数据可以对其进行分析以形成稳健的语音简档,自动助理120将来可以使用该语音简档来认证用户101。
接下来,自动助理120提示用户(“Great.Now look right at me...good,nowlook to your right...good,now to your left....好。现在直视我...好,向右看...好,现在向左看...)当用户101合作时,自动助理120会操作相机307来捕获一系列数字图像3601-3。这些数字图像360中的每一个数字图像从不同的角度捕获用户101的头部,这是由于音频指令被提供给用户101以向不同的方向看的结果。使用这些多个图像,注册引擎132能够构建稳健的视觉简档,自动助理120可以使用该视觉简档前进以便认证现在已注册的用户101。
图4A和图4B描绘了另一示例场景,该场景图示当用户以被识别为已注册的用户时发生的场景。在图4A中,用户101A未被自动助理120识别,该自动助理120至少部分地在客户端设备406上执行。尽管客户端设备406被描绘为独立的交互式扬声器,但这并不意味着是限制。客户端设备406再次包括相机(视觉传感器)407以及麦克风(未描绘)。
在图4A中,未知的用户101A用调用短语“Hey Assistant”调用自动助理120,然后提供自然语言输入“Please open the garage door(请打开车库门)”。因为未识别用户101,所以自动助理120例如通过注册引擎132确定不允许该未知的用户操作智能车库门。因此,自动助理120回应,“I’m sorry,I’m afraid I’m not authorized to do that forunknown users(很抱歉,我恐怕我无权对未知的用户进行此操作)”。
相反,在图4B中,例如,基于她的视觉和/或可听输入中的一个或多个与注册数据库133中的对应的视觉简档和/或语音简档相匹配,识别出已注册的用户101B。当已注册且被识别的用户101B发出相同的请求时,自动助理120会遵循并响应“OK,opening thegarage door(好的,正在打开车库门)”。
即使面部和语音识别技术不断地演进,它仍然不是完美的。用户的外观可能会随着时间而改变。青少年用户可能会经历语音变化,而其它用户可能会因疾病等而变更自己的语音。而且,为了防止一些助理设备变得太昂贵,可以会使用相对便宜的相机、麦克风和其它部件,它们不如它们的更昂贵的同类设备可靠。因此,通过本文描述的技术,在一些实施方式中,可以部分地识别用户,或者以落入绝对确定性之下的置信的度量来识别他们。在各种实施方式中,不是简单地将部分识别的用户置于完全信任模式或完全不信任的模式中,而是可以将部分识别的用户置于一个或多个中间信任级别(或箱)中,其中可以向他们提供对一些(但不一定是全部)特征进行访问的权限,这些特征将在其它情况下供给完全识别的用户。
图5示意性地示出了基于有多可信地识别出用户从而来如何将该用户置于多个信任级别中的一个信任级别的示例。在图5中,配置有本公开的选定方面的客户端设备506A包括相机107、麦克风109和一个或多个无线接收器566。如前所述,一个或多个无线接收器566可以实施有各种无线通信技术,包括但不限于Wi-Fi、蓝牙、ZigBee、Z波、红外通信、射频(例如,RFID)等。用户101还可以携带他或她自己的客户端设备506B,该客户端设备506B在图5中采用智能电话的形式,尽管这并不意味着是限制。例如,用户可以携带其它计算设备,诸如智能眼镜、智能手表等。
在图5中,客户端设备506A可以在三个域中检测用户101的区别特征。相机107可以捕获一个或多个数字图像。麦克风109可以捕获音频数据。并且无线接收器566可以捕获由客户端设备506B发射的无线信号,该无线信号包括例如能够用于识别用户101的身份的数据。基于一个或多个区别属性,注册引擎132可以确定其中应将用户101放置在多个信任级别中的哪一个信任级别中。
在图5中,存在N个(正整数)信任级别。最高信任级别N使用户实际上无拘无束地访问由自动助理120提供的特征,诸如控制家电(例如,灯、恒温器、智能锁、智能车库门开启器)、访问受保护的文档(例如,日历或主机用户的其它个人文档)、以及访问第三方应用(例如,图1中的150)。对第三方应用的完全访问可以允许用户101使自动助理120在无需用户101每次提供付款信息的情况下例如从第三方应用进行进行购买(例如,订购披萨、预订乘车共享等)。最高级别的信任还向用户提供对增强的热词库的访问,这可以允许信任用户使用除了默认热词以外的热词来调用自动助理120(如参考图2所述)。
下一最高信任级别N-1可以为用户101提供比最高信任级别N少的自动助理120的特征,但是仍然可以允许用户101执行一些动作。例如,用户101可能对家电具有有限的控制,使得用户101可以例如调节灯(灯可能不被认为特别敏感),但是不能调节更敏感的家电,例如智能车库或智能锁。用户101还可能具有对主机用户控制的文档的有限访问权限,诸如只读访问权限,或具有仅对低敏感度的文档的访问权限。用户101也可能能够接洽自动助理120以与第三方应用保持联系,但可能需要在授权购买之前提供付款信息。
如省略号所指示的,可以存在任意数量的信任级别。在底部,存在最低信任级别(“访客”),该最低信任级别可以提供给如果基于用户101的区别属性几乎无法识别或无法识别的用户101。在最低信任级别中,用户101可能无法控制家电,可能无法访问由主机用户控制的任何文档,或者可能无法使自动助理120与第三方应用保持联系。并且,用户101可能仅能够使用默认热词来调用自动助理120。但是,用户101仍然能够使自动助理120执行各种非敏感的操作,例如回答一般问题、执行互联网搜索等。在各种实施方式中,诸如主机用户的已授权的用户可能能够自由地进行信任级别的调节,使得各种信任级别解锁(除了图5中所示的配置以外的)各种特征。
作为示例,假设由注册引擎132分析由相机107捕获的一个或多个数字图像和由无线接收器566检测到的无线信号,从而识别了用户101具有非常高的置信级。进一步假定由注册引擎132分析由麦克风109捕获的音频数据,从而识别了用户101具有稍低的置信级。在图5中,此场景由从注册引擎132到信任级别N的顶部箭头表示。分别对应于视觉匹配、语音匹配和无线检测的三个置信度量(1、0.7、1)用于将用户101映射到信任级别N。在此示例中,置信度量落在0和1之间,但这并不意味着是限制。
作为另一示例,假设由相机107捕获到的一个或多个数字图像产生了稍低的置信度量0.8,由麦克风109捕获的音频数据产生了置信度量0.6,并且无线接收机566未检测到无线信号。在图5中,此场景由从注册引擎132到信任级别N-1的中间箭头表示。分别对应于视觉匹配、语音匹配和无线检测的三个置信度量(0.8、0.6、0.0)用于将用户101映射到信任级别N-1。因为未检测到无线信号,并且其它置信度量稍微低于先前的示例,所以注册引擎132将用户101置于信任级别N-1中,这意味着与先前示例相比用户101对自动助理120的特征的访问较少。
作为又一示例,假设由相机107捕获的一个或多个数字图像产生了非常低的置信度量0.2,由麦克风109捕获的音频数据也产生非常低的置信度量0.1,并且无线接收器566没有检测到无线信号。在图5中,此场景由从注册引擎132到信任级别N-1的底部箭头表示。因为未检测到无线信号并且其它置信度量非常低,所以注册引擎132将用户101置于信任级别0中,这意味着用户101被视为访客,并且可以具有对自动助理120的最少数量的特征的访问。
图5的示例并不旨在是限制性的,而是例示一种将用户指配到箱或信任级别中并基于这些指配来提供对特征的适当访问的可能的方式。例如,主机用户可能不允许所有已注册的用户访问最高信任级别。但是,主机用户可能仅允许自动注册的用户访问例如第二高级别的信任。主机用户可能需要提供明确的指示,以允许任何已注册的用户被指配到最高信任级别。或者,可能仅对主机用户保持最高级别的信任。
图6是示出根据本文公开的实施方式的示例方法600的流程图。为了方便起见,参考执行操作的***来描述流程图的操作。该***可以包括各种计算机***的各种部件,例如自动助理120的一个或多个部件。此外,尽管以特定顺序示出了方法600的操作,但这并不意味着限制。一项或多项操作可能会重新排序、省略或添加。
在框602处,***可以至少部分在计算设备(例如,客户端设备106、306、406、506)上操作自动助理120。例如,并且如上所述,在许多情况下,自动助理120可以部分地在客户端设备106上并且部分地在云(例如,基于云的自动助理部件119)上实施。在框604处,***可以监视由传感器(诸如相机107、麦克风109、接近传感器105和/或无线接收器566)生成的硬件传感器信号,例如,以作为可能打算与自动助理120接洽的用户的证据。
如果在框606处,***检测到一个或多个硬件传感器信号,则在框608处,***例如通过注册引擎132可以处理检测到的硬件信号,以标识触发硬件传感器信号的用户的区别属性。如前所述,这些区别属性可以包括用户的物理外观、语音和/或由用户携带的移动设备发射的无线信号提供的信息的各方面。
如果在框610处没有识别出区别特征,则方法600返回框到604。但是,如果在框610处识别出区别特征,则方法600可以进行到框612。在框612处,***例如通过注册引擎132可以分析历史交互数据,例如,存储在注册数据库133或其它地方(例如,客户端设备106、306、406、506的本地存储器中)的历史交互数据。例如,注册引擎132可以将在框608至框610处标识的区别属性与过去从未知的用户那里捕获到的区别属性进行比较。
在框614处,可以确定在框608至框610处标识的区别属性是否与存储在注册数据库133中的任何属性相匹配。如果答案为否,则在框616处,***可以把在框608至框610处标识的区别属性记录在例如注册数据库133中,例如,使得这些区别属性将来可以用于确定是否注册未知的用户。但是,如果在框614的答案为是,则在框618处,可以进行确定是否满足了自动助理注册标准。例如,可以确定用户是否已经与自动助理120参与过某个阈值次数的对话会话,或者用户是否已经与自动助理120参与过某个阈值次数的对话回合。
如果在框618处的答案为否,则方法600可以前进到框617。在框617处,***可以递增与匹配的区别特征相关联的计数。例如,如果以前曾经遇到过一次该未知的用户,并且自动注册的阈值是三次不同的对话会话,则与区别特征相关联的计数可以递增到二。然后,方法600可以返回到框604。但是,如果在框618处的答案为是,则自动助理120可以参与人机对话注册例程,该人机对话注册例程类似于图3A和图3B以及图7中所描绘的那些。此后,现在可以认为该用户已注册。
图7描绘了根据各种实施方式的用于实践自动助理注册例程的示例方法700。为了方便起见,参考执行操作的***来描述该流程图的操作。该***可以包括各种计算机***的各种部件。此外,尽管以特定顺序示出方法700的操作,但这并不意味着是限制性的。一项或多项操作可能会重新排序、省略或添加。
在框702处,***可以请求用户说出一个或多个单词或短语。在框704处,***可以基于从框702的说出的一个或多个单词或短语生成的音频数据来生成语音简档。在框706处,***可以指示用户将用户的面部重新定位为多个姿态,例如,使得在框708处可以用视觉传感器捕获多个数字图像。在框710处,***可以基于所捕获的数字图像来生成视觉简档。例如,***可以基于所捕获的数字图像来训练一个或多个卷积神经网络。在框712处,***可以将用户的身份与语音简档和/或视觉简档相关联地存储在例如注册数据库133中。
在这里讨论的某些实施方式可能收集或使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息、以及用户的活动和人口统计信息、用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及有关用户的信息将如何收集、存储和使用。即,仅在从相关用户接收到明确的授权后,本文讨论的***和方法才收集、存储和/或使用用户的个人信息。
例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。向要收集其个人信息的每个用户呈现一个或多个选项,以允许控制与该用户有关的信息收集,提供关于是否收集信息以及信息的哪些部分被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或使用某些数据之前,可能会以一种或多种方式处理这些数据,从而删除个人可识别信息。作为一个示例,可以处理用户的身份,从而无法确定个人可识别信息。作为另一个示例,可以将用户的地理位置概括到更大的区域,从而无法确定用户的特定位置。
图8是示例计算设备810的框图,该示例计算设备810可以可选地用于执行本文所述的技术的一个或多个方面。在一些实施方式中,客户端计算设备、用户控制的资源引擎134和/或其它部件中的一个或多个可以包括示例计算设备810的一个或多个部件。
计算设备810通常包括至少一个处理器814,该处理器814通过总线子***812与多个***设备进行通信。这些***设备可以包括:存储子***824,该存储子***824例如包括存储器子***825和文件存储子***826;用户界面输出设备820;用户界面输入设备822;以及,网络接口子***816。输入和输出设备允许用户与计算设备810进行交互。网络接口子***816提供到外部网络的接口并耦合到其它计算设备中的对应的接口设备。
用户界面输入设备822可以包括:键盘;指点设备(诸如鼠标、轨迹球、触摸板或图形输入板);扫描仪;结合到显示器中的触摸屏;音频输入设备(诸如语音识别***、麦克风);和/或其它类型的输入设备。通常,术语“输入设备”的使用意图包括将信息输入到计算设备810中或输入到通信网络上的所有可能类型的设备和方式。
用户界面输出设备820可以包括显示子***、打印机、传真机或非视觉显示器(诸如音频输出设备)。显示子***可以包括:阴极射线管(CRT);平板设备(诸如液晶显示器(LCD));投影设备;或某个其它用于创建可见图像的机制。显示子***还可以例如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用意图包括用于将信息从计算设备810输出到用户或输出到另一机器或计算设备的所有可能类型的设备以及方式。
存储子***824存储提供本文所述的一些或所有模块的功能的程序和数据构造。例如,存储子***824可以包括执行图6至图7的方法的所选方面以及实施图1中描绘的各种部件的逻辑。
这些软件模块通常由处理器814单独或与其它处理器结合执行。存储子***824中使用的存储器825可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)830以及在其中存储固定指令的只读存储器(ROM)832。文件存储子***826可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光盘驱动器或可移除介质盒。实施某些实施方式的功能的模块可以由文件存储子***826存储在存储子***824中,或者存储在能够由处理器814访问的其它机器中。
总线子***812提供了一种机制,该机制使计算设备810的各个部件和子***按预期彼此通信。尽管总线子***812被示意性地示出为单条总线,但是总线子***的替代实施方式可以使用多条总线。
计算设备810可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理***或计算设备。由于计算机和网络的不断变化的性质,出于说明一些实施方式的目的,图8中描绘的对计算设备810的描述仅意图作为特定示例。计算设备810的许多其它配置可能具有比图8所示的计算设备更多或更少的部件。
尽管本文已经描述和示出了若干种实施方式,但是可以利用用于执行功能和/或获得结果的多种其它手段和/或结构和/或本文描述的优点中的一个或多个,并且每个这样的变化和/或修改被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造均意味着是示例性的,并且实际参数、尺寸、材料和/或构造将取决于本教导所用于的具体应用。仅使用常规实验,本领域技术人员将认识到或能够确定本文所述的具体实施方式的许多等同形式。因此,应当理解的是,前述实施方式仅以示例的方式给出,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实施实施方式。本公开的实施方式针对本文所述的每个单独的特征、***、物品、材料、套件和/或方法。另外,如果这样的特征、***、物品、材料、套件和/或方法不是相互矛盾的,则本公开的范围包括两个或更多个这样的特征、***、物品、材料、套件和/或方法的任何组合。

Claims (20)

1.一种使用一个或多个处理器实施的方法,包括:
至少部分地在一个或多个计算设备上执行自动助理;
处理由与所述计算设备中的一个或多个计算设备集成在一起的一个或多个硬件传感器生成的一个或多个传感器信号;
基于所述处理,在所述一个或多个硬件传感器的范围内,标识用户的一个或多个区别属性;
基于所述一个或多个区别属性,分析历史交互数据以标识一个或多个先前的人机对话会话,在所述一个或多个先前的人机对话会话中所述用户使用所述计算设备中的一个或多个计算设备与所述自动助理交换了对话;
基于所述标识的一个或多个先前的人机对话会话,确定所述用户满足自动助理注册标准;以及
响应于确定所述用户满足所述自动助理注册标准,参与人机对话注册例程,所述用户在所述人机对话注册例程中被请求注册到所述自动助理,其中,所述用户的注册包括将所述用户的身份与指示所述用户的所述区别属性中的一个或多个区别属性的数据相关联地存储在一个或多个数据库中,并且其中,所述用户的注册解锁了所述自动助理的在所述注册之前对所述用户不可用的一个或多个特征。
2.根据权利要求1所述的方法,其中,所述一个或多个硬件传感器包括视觉传感器,并且所述一个或多个区别属性包括所述用户的视觉简档。
3.根据权利要求2所述的方法,其中,所述用户的视觉简档能够结合由所述视觉传感器或另一个视觉传感器生成的传感器信号来使用,以使用面部识别处理来标识所述用户。
4.根据前述权利要求中的任一项所述的方法,其中,所述一个或多个硬件传感器包括麦克风,并且所述一个或多个区别属性包括所述用户的语音简档。
5.根据权利要求4所述的方法,其中,所述用户的语音简档能够结合由所述麦克风或另一个麦克风生成的传感器信号来使用,以使用说话者识别处理来标识所述用户。
6.根据前述权利要求中的任一项所述的方法,其中,所述一个或多个区别属性包括由所述用户携带的移动设备发射的信号。
7.根据前述权利要求中的任一项所述的方法,其中,一个或多个被解锁的特征包括激活能够用于调用所述自动助理的一个或多个热词。
8.根据前述权利要求中的任一项所述的方法,其中,所述一个或多个被解锁的特征包括能够由所述自动助理执行的一个或多个响应动作。
9.根据前述权利要求中的任一项所述的方法,其中,所述一个或多个被解锁的特征包括对受保护内容的访问。
10.根据前述权利要求中的任一项所述的方法,其中,所述自动助理注册标准包括所述用户和所述自动助理之间的使用所述计算设备中的一个或多个计算设备进行的阈值次数的人机对话会话。
11.根据前述权利要求中的任一项所述的方法,其中,所述自动助理注册标准包括所述用户和所述自动助理之间的使用所述计算设备中的一个或多个计算设备进行的人机对话会话中的阈值次数的对话回合。
12.根据前述权利要求中的任一项所述的方法,其中,所述人机对话例程包括:
指示所述用户将所述用户的面部重新定位到多个姿态;以及
使用视觉传感器来捕获处于所述多种姿态的所述用户的面部。
13.一种***,包括一个或多个处理器和存储器,所述存储器存储指令,响应于通过所述一个或多个处理器执行所述指令,所述指令使所述一个或多个处理器执行下述操作:
至少部分地在一个或多个计算设备上执行自动助理;
处理由与所述计算设备中的一个或多个计算设备集成在一起的一个或多个硬件传感器生成的一个或多个传感器信号;
基于所述处理,在所述一个或多个硬件传感器的范围内,标识用户的一个或多个区别属性;
基于所述一个或多个区别属性,分析历史交互数据以标识一个或多个先前的人机对话会话,在所述一个或多个先前的人机对话会话中所述用户使用所述计算设备中的一个或多个计算设备与所述自动助理交换了对话;
基于所述标识的一个或多个先前的人机对话会话,确定所述用户满足自动助理注册标准;以及
响应于确定所述用户满足所述自动助理注册标准,参与人机对话注册例程,所述用户在所述人机对话注册例程中被请求注册到所述自动助理,其中,所述用户的注册包括将所述用户的身份与指示所述用户的所述区别属性中的一个或多个区别属性的数据相关联地存储在一个或多个数据库中,并且其中,所述用户的注册解锁了所述自动助理的在所述注册之前对所述用户不可用的一个或多个特征。
14.根据权利要求13所述的***,其中,所述一个或多个硬件传感器包括视觉传感器,并且所述一个或多个区别属性包括所述用户的视觉简档。
15.根据权利要求14所述的***,其中,所述用户的视觉简档能够结合由所述视觉传感器或另一个视觉传感器生成的传感器信号来使用,以使用面部识别处理来标识所述用户。
16.根据权利要求13-15中的任一项所述的***,其中,所述一个或多个硬件传感器包括麦克风,并且所述一个或多个区别属性包括所述用户的语音简档。
17.根据权利要求16所述的***,其中,所述用户的语音简档能够结合由所述麦克风或另一个麦克风生成的传感器信号来使用,以使用说话者识别处理来标识所述用户。
18.根据权利要求13-17中的任一项所述的***,其中,所述一个或多个区别属性包括由所述用户携带的移动设备发射的信号。
19.根据权利要求13-18中的任一项所述的***,其中,一个或多个被解锁的特征包括激活能够用于调用所述自动助理的一个或多个热词。
20.包括指令的至少一种非暂时性计算机可读介质,响应于由一个或多个处理器执行所述指令,所述指令使所述一个或多个处理器执行下述操作:
至少部分地在一个或多个计算设备上执行自动助理;
处理由与所述计算设备中的一个或多个计算设备集成在一起的一个或多个硬件传感器生成的一个或多个传感器信号;
基于所述处理,在所述一个或多个硬件传感器的范围内,标识用户的一个或多个区别属性;
基于所述一个或多个区别属性,分析历史交互数据以标识一个或多个先前的人机对话会话,在所述一个或多个先前的人机对话会话中所述用户使用所述计算设备中的一个或多个计算设备与所述自动助理交换了对话;
基于所述标识的一个或多个先前的人机对话会话,确定所述用户满足自动助理注册标准;以及
响应于确定所述用户满足所述自动助理注册标准,参与人机对话注册例程,所述用户在所述人机对话注册例程中被请求注册到所述自动助理,其中,所述用户的注册包括将所述用户的身份与指示所述用户的所述区别属性中的一个或多个区别属性的数据相关联地存储在一个或多个数据库中,并且其中,所述用户的注册解锁了所述自动助理的在所述注册之前对所述用户不可用的一个或多个特征。
CN201880094608.1A 2018-10-08 2018-10-17 选择性注册到自动助理 Pending CN112313741A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862742687P 2018-10-08 2018-10-08
US62/742,687 2018-10-08
PCT/US2018/056225 WO2020076345A1 (en) 2018-10-08 2018-10-17 Selective enrollment with an automated assistant

Publications (1)

Publication Number Publication Date
CN112313741A true CN112313741A (zh) 2021-02-02

Family

ID=64172586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880094608.1A Pending CN112313741A (zh) 2018-10-08 2018-10-17 选择性注册到自动助理

Country Status (4)

Country Link
US (2) US11289100B2 (zh)
EP (1) EP3794587A1 (zh)
CN (1) CN112313741A (zh)
WO (1) WO2020076345A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180119515A (ko) * 2017-04-25 2018-11-02 김현민 스마트 휴대 기기를 이용한 스마트 기기와 로봇의 개인 맞춤형 서비스 운용 시스템 및 방법
WO2020076345A1 (en) * 2018-10-08 2020-04-16 Google Llc Selective enrollment with an automated assistant
US11238294B2 (en) 2018-10-08 2022-02-01 Google Llc Enrollment with an automated assistant
US11361767B2 (en) * 2018-10-31 2022-06-14 Samsung Electronics Co., Ltd Method and apparatus for capability-based processing of voice queries in a multi-assistant environment
CN111258528B (zh) * 2018-12-03 2021-08-13 华为技术有限公司 语音用户界面的显示方法和会议终端
US11531736B1 (en) * 2019-03-18 2022-12-20 Amazon Technologies, Inc. User authentication as a service
US11243746B2 (en) 2019-07-01 2022-02-08 X Development Llc Learning and using programming styles
US11574034B2 (en) * 2019-07-30 2023-02-07 Microsoft Technology Licensing, Llc Securing displayed data on computing devices
KR20220084359A (ko) * 2019-10-18 2022-06-21 구글 엘엘씨 종단 간 다중-화자 시청각 자동 음성 인식
US11929077B2 (en) * 2019-12-23 2024-03-12 Dts Inc. Multi-stage speaker enrollment in voice authentication and identification
US10916241B1 (en) * 2019-12-30 2021-02-09 Capital One Services, Llc Theme detection for object-recognition-based notifications
US11700226B2 (en) 2020-08-03 2023-07-11 Google Llc Sending messages from smart speakers and smart displays via smartphones
US20220157323A1 (en) * 2020-11-16 2022-05-19 Bank Of America Corporation System and methods for intelligent training of virtual voice assistant
US20220262080A1 (en) * 2021-02-16 2022-08-18 Apple Inc. Interfaces for presenting avatars in three-dimensional environments
US11688220B2 (en) 2021-03-12 2023-06-27 Intellivision Technologies Corp. Multiple-factor recognition and validation for security systems
US11924150B2 (en) 2021-12-14 2024-03-05 Google Llc System(s) and method(s) for enabling a representative associated with an entity to modify a trained voice bot associated with the entity
US20230223031A1 (en) * 2022-01-11 2023-07-13 Google Llc User authentication, for assistant action, using data from other device(s) in a shared environment
CN115062131A (zh) * 2022-06-29 2022-09-16 支付宝(杭州)信息技术有限公司 一种基于多模态的人机交互方法及装置
US20240184867A1 (en) * 2022-12-02 2024-06-06 Google Llc Adaptive Guest Mode for Portable Speakers
WO2024130188A1 (en) * 2022-12-16 2024-06-20 Google Llc Language model assisted human-to-computer interaction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286899B1 (en) * 2012-09-21 2016-03-15 Amazon Technologies, Inc. User authentication for devices using voice input or audio signatures
US20160248768A1 (en) * 2015-02-20 2016-08-25 Sri International Joint Speaker Authentication and Key Phrase Identification
US20170199998A1 (en) * 2016-01-13 2017-07-13 American Express Travel Related Services Company, Inc. Contextual identification and information security
US9990926B1 (en) * 2017-03-13 2018-06-05 Intel Corporation Passive enrollment method for speaker identification systems
US20180232201A1 (en) * 2017-02-14 2018-08-16 Microsoft Technology Licensing, Llc User registration for intelligent assistant computer

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449189A (en) * 1981-11-20 1984-05-15 Siemens Corporation Personal access control system using speech and face recognition
US6111517A (en) * 1996-12-30 2000-08-29 Visionics Corporation Continuous video monitoring using face recognition for access control
US7225338B2 (en) * 2001-06-21 2007-05-29 Sal Khan Secure system for the identification of persons using remote searching of facial, iris and voice biometric templates
US20060261931A1 (en) * 2003-08-15 2006-11-23 Ziyi Cheng Automobile security defence alarm system with face identification and wireless communication function
KR100745981B1 (ko) * 2006-01-13 2007-08-06 삼성전자주식회사 보상적 특징에 기반한 확장형 얼굴 인식 방법 및 장치
US10169646B2 (en) * 2007-12-31 2019-01-01 Applied Recognition Inc. Face authentication to mitigate spoofing
JP5753966B2 (ja) * 2010-08-05 2015-07-22 パナソニックIpマネジメント株式会社 顔画像登録装置および方法
US8897500B2 (en) * 2011-05-05 2014-11-25 At&T Intellectual Property I, L.P. System and method for dynamic facial features for speaker recognition
US10109124B2 (en) * 2011-11-03 2018-10-23 3-East, Llc Method, system and device for securing and managing access to a lock and providing surveillance
US20130286161A1 (en) * 2012-04-25 2013-10-31 Futurewei Technologies, Inc. Three-dimensional face recognition for mobile devices
TWI456515B (zh) * 2012-07-13 2014-10-11 Univ Nat Chiao Tung 融合人臉辨識及語音辨識之身份辨識系統、其方法及其服務型機器人
US9253266B2 (en) * 2013-05-03 2016-02-02 Spayce, Inc. Social interaction using facial recognition
US9900177B2 (en) * 2013-12-11 2018-02-20 Echostar Technologies International Corporation Maintaining up-to-date home automation models
EP3158427B1 (en) * 2014-06-19 2022-12-28 Robert Bosch GmbH System and method for speech-enabled personalized operation of devices and services in multiple operating environments
CA3186147A1 (en) * 2014-08-28 2016-02-28 Kevin Alan Tussy Facial recognition authentication system including path parameters
US10565518B2 (en) * 2015-06-23 2020-02-18 Adobe Inc. Collaborative feature learning from social media
US9747926B2 (en) * 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10884503B2 (en) * 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition
US10491598B2 (en) * 2016-06-30 2019-11-26 Amazon Technologies, Inc. Multi-factor authentication to access services
KR102324468B1 (ko) * 2017-03-28 2021-11-10 삼성전자주식회사 얼굴 인증을 위한 장치 및 방법
US10515640B2 (en) * 2017-11-08 2019-12-24 Intel Corporation Generating dialogue based on verification scores
US10606994B2 (en) * 2017-11-16 2020-03-31 Bank Of America Corporation Authenticating access to a computing resource using quorum-based facial recognition
US10733279B2 (en) * 2018-03-12 2020-08-04 Motorola Mobility Llc Multiple-tiered facial recognition
US10963273B2 (en) * 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US10887351B2 (en) * 2018-05-02 2021-01-05 NortonLifeLock Inc. Security for IoT home voice assistants
US20190355363A1 (en) * 2018-05-16 2019-11-21 Ricoh Company, Ltd. Approach for Deploying Skills for Cognitive Agents Across Multiple Vendor Platforms
US10553119B1 (en) * 2018-10-04 2020-02-04 Allstate Insurance Company Roadside assistance system
US11238294B2 (en) * 2018-10-08 2022-02-01 Google Llc Enrollment with an automated assistant
WO2020076345A1 (en) * 2018-10-08 2020-04-16 Google Llc Selective enrollment with an automated assistant

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286899B1 (en) * 2012-09-21 2016-03-15 Amazon Technologies, Inc. User authentication for devices using voice input or audio signatures
US20160248768A1 (en) * 2015-02-20 2016-08-25 Sri International Joint Speaker Authentication and Key Phrase Identification
US20170199998A1 (en) * 2016-01-13 2017-07-13 American Express Travel Related Services Company, Inc. Contextual identification and information security
US20180232201A1 (en) * 2017-02-14 2018-08-16 Microsoft Technology Licensing, Llc User registration for intelligent assistant computer
US9990926B1 (en) * 2017-03-13 2018-06-05 Intel Corporation Passive enrollment method for speaker identification systems

Also Published As

Publication number Publication date
WO2020076345A1 (en) 2020-04-16
EP3794587A1 (en) 2021-03-24
US11289100B2 (en) 2022-03-29
US20200110864A1 (en) 2020-04-09
US11238142B2 (en) 2022-02-01
US20200342881A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US11289100B2 (en) Selective enrollment with an automated assistant
US11704940B2 (en) Enrollment with an automated assistant
JP7354301B2 (ja) 自動アシスタントによって応答アクションをトリガするためのホットコマンドの検出および/または登録
US11810557B2 (en) Dynamic and/or context-specific hot words to invoke automated assistant
EP3642833B1 (en) Dynamic and/or context-specific hot words to invoke automated assistant
KR101726945B1 (ko) 수동 시작/종료 포인팅 및 트리거 구문들에 대한 필요성의 저감
US11423885B2 (en) Utilizing pre-event and post-event input streams to engage an automated assistant
JP2024510698A (ja) アシスタントコマンドの文脈的抑制

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