CN112927683A - 用于语音使能设备的动态唤醒词 - Google Patents

用于语音使能设备的动态唤醒词 Download PDF

Info

Publication number
CN112927683A
CN112927683A CN202011343264.9A CN202011343264A CN112927683A CN 112927683 A CN112927683 A CN 112927683A CN 202011343264 A CN202011343264 A CN 202011343264A CN 112927683 A CN112927683 A CN 112927683A
Authority
CN
China
Prior art keywords
wake
word
new
detector
speech
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
CN202011343264.9A
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.)
SoundHound Inc
Original Assignee
SoundHound Inc
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 SoundHound Inc filed Critical SoundHound Inc
Publication of CN112927683A publication Critical patent/CN112927683A/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
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • 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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • 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
    • G10L2015/088Word spotting
    • 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
    • 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/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

本公开涉及用于语音使能设备的动态唤醒词。公开了一种能够将口头话语解析成自然语言请求和语音音频段的系统和方法,其中所述自然语言请求指示所述系统使用所述语音音频段作为新唤醒词。响应于此唤醒词指派指令,所述系统和方法进一步能够立即构建新唤醒词侦测器,以在与输入音频中的所述新唤醒词匹配时激活所述设备。描述了用于迅速地构建新唤醒词侦测器的不同方法。唤醒词指派指令的变型可使新唤醒词成为公用的或私有的。它们也可将新唤醒词添加到较早的唤醒词,或者替换较早的唤醒词。

Description

用于语音使能设备的动态唤醒词
技术领域
本技术涉及用于语音使能设备的唤醒词,并且具体涉及使用自然语言查询来指派动态唤醒词,并且立即为用于用户的语音使能设备中的一个或多个的唤醒词构建唤醒词侦测器(spotter)。
背景技术
识别人类语音的自动语音识别(ASR)系统以及提取语音的含义的自然语言理解(NLU)能力一起提供了巨大的潜力作为用于与语音使能设备交互的一种简单自然的方式。此类系统部分地由现代设备中可用的大量计算和通信资源来实现。已经开发了能够识别各式各样的语音并且处理不同语言和方言的复杂请求的高级语音理解系统,诸如虚拟助理。
虚拟助理在空闲时不对口头请求做出响应。它们在接收到激活信号时唤醒或激活,并且将状态从空闲切换为活动,激活信号诸如轻敲、按钮按压或被称为唤醒词(或唤醒短语)的口头激活短语。唤醒词的使用是语音使能设备的关键免手和免眼操作。在活动状态下,虚拟助理对用户请求做出响应。它们在对请求做出响应之后通常返回到空闲状态。当空闲时,语音使能设备连续地监视传入音频以检测唤醒词。为了降低功耗,当虚拟助理空闲时,一些设备可以在低功率模式下操作;当被激活时,它们返回到全功率模式。
唤醒词通常是词或简短短语。监视传入音频以检测唤醒词的连续操作模块被称作唤醒词侦测器。用于语音使能设备的唤醒词的各种商业实现方式包括“Hey,Siri(嘿,Siri)”、“OK,Google(好的,谷歌)”和“Alexa”。语音使能设备可以与工厂安装的唤醒词和准备好检测预定义唤醒词的唤醒词侦测器一起被出售。
唤醒词侦测器是被专门设计来在连续音频流中检测一个指派的唤醒词或一组指派的唤醒词的音频处理算法。该算法通常以固定帧速率连续地运行,并且它必须是高度有效的。在处于低功率模式的设备上,侦测器能够连续地运行而不汲取过多电力,从而节省电池寿命。
有时可能期望在一个或多个语音使能设备上定制工厂安装的唤醒词。例如,在家庭或办公室环境中,可能存在使用相同工厂安装的唤醒词作为激活短语的多个设备。这可能导致错误的设备激活,或者导致多个设备在感测到公用唤醒词时激活的冲突。取决于跟在唤醒词之后的请求的类型,多个设备激活可能导致各种问题。例如,播放音乐的请求可导致多个设备同时播放相同的歌曲(不同步)或不同的歌曲。发送消息的请求可导致消息的多个副本被发送。这些和其他冲突场景导致较差的用户体验。
提供动态唤醒词时的关键挑战是在非常短的时间内训练新唤醒词侦测器。通常使用音频样本的大型数据集来训练工厂安装的唤醒词侦测器,这些音频样本包括针对一个或多个给定唤醒词专门记录的肯定实例,并且可能包括一些否定实例。此类标记样本用于训练分类器算法,诸如递归神经网络,以将给定唤醒词(或多个唤醒词)与音频流中的非唤醒词语音区分开。遗憾的是,用于收集音频样本数据的传统方法不可用于动态唤醒词,动态唤醒词需要在不用收集动态唤醒词的音频样本的大型数据集的情况下立即构建侦测器。
发明内容
根据本公开的一方面,提供了一种修改语音使能设备的一个或多个唤醒词的集合的方法。该方法包括:从用户接收口头请求;将所述口头请求解析成自然语言请求和语音音频段,其中所述自然语言请求指示所述设备接受所述语音音频段作为新唤醒词;以及构建新唤醒词侦测器,以识别所述新唤醒词作为激活触发器。
根据本公开的另一方面,提供了一种修改语音使能设备的一个或多个唤醒词的集合的方法。该方法包括:接受口头话语;将所述话语解析成自然语言请求和语音音频段,其中所述自然语言请求指示所述设备接受所述语音音频段作为新唤醒词;使用自动语音识别来将所述新唤醒词映射到新唤醒词音素序列;以及通过以下步骤来构建新唤醒词侦测器以识别所述新唤醒词音素序列作为激活触发器:将所述新唤醒词音素序列划分成两个或多个连续部分音素段的序列;对于每个部分音素段,提供对应的部分唤醒词侦测器;以及依次将所提供的部分唤醒词侦测器组装成用于整个新唤醒词音素序列的所述新唤醒词侦测器。
根据本公开的又一方面,提供了一种修改语音使能设备的一个或多个唤醒词的集合的方法。该方法包括:接收口头请求;将所述口头请求解析成自然语言请求和语音音频段,其中所述自然语言请求指示所述设备接受所述语音音频段作为新唤醒词;以及通过以下步骤来定义新唤醒词侦测器以识别所述新唤醒词作为激活触发器:确定所述语音音频段的附加语音音频样本,将所述语音音频段和所述附加语音音频样本转换为音素序列,以及基于所述音素序列中的一个或多个音素序列定义所述新唤醒词侦测器。
附图说明
图1是根据本技术的实施例的语音使能设备的示意性表示。
图2是根据本技术的实施例的服务器的示意性表示。
图3是根据本技术的实施例的语音使能设备和服务器在处理用户查询时的操作的流程图。
图4是用于使唤醒词成为公用的、私有的、加性的或排他的系统的操作的流程图。
图5是提供了基于唤醒词采样方法的侦测器构建器的实施例的进一步细节的流程图。
图6是提供了基于连续转录方法的侦测器构建器的实施例的进一步细节的流程图。
图7是提供了基于唤醒词分段方法的侦测器构建器的实施例的进一步细节的流程图。
图8是用于处理动态唤醒词的唤醒词分段方法的图示。
图9是根据本技术的实施例的计算环境的示意性框图。
具体实施例
识别人类语音的自动语音识别(ASR)系统以及提取语音的含义的自然语言理解(NLU)能力一起提供了巨大的潜力作为用于与语音使能设备交互的一种简单自然的方式。此类系统部分地通过现代设备中可用的大量计算和通信资源来实现。已经开发了能够处理复杂话语以识别不同语言和方言的各式各样的语音的高级语音理解系统。
现在将参考图描述本技术,在实施例中,这些图涉及能够将接收到的话语解析成自然语言请求和语音音频段的系统,其中请求指示系统使用语音音频段作为新唤醒词。这种类型的请求将被称作唤醒词指派指令(WAD)。响应于这样的请求,系统进一步能够构建新唤醒词侦测器以识别新唤醒词,并且侦测器的构建足够快,以致可在系统对WAD做出响应之后立即使用新唤醒词。
在语音使能系统的上下文中,术语话语、查询和请求是紧密相关的并且有时可被互换地使用。来自用户的口头自然语言请求同时作为语音音频(话语)且(在正确地转录的情况下)作为词(查询)被传达。设备可以响应于一般查询而执行各种动作。
唤醒词指派指令或简称为指令或WAD是对设备通过添加或替换来改变其唤醒词集的请求。
一个这种动作可以是以唤醒词指派指令的形式指派新唤醒词的自然语言请求。在识别这样的唤醒词指派指令时,本技术可以立即为动态唤醒词构建新唤醒词侦测器。如此上下文中所使用的,术语“立即”意味着可以在接收到新唤醒词的几秒钟内构建新唤醒词侦测器,如在下面更详细地描述的。在不借助于新唤醒词的音频实例的大型数据集的情况下,动态唤醒词的使用要求其他方法来快速地构建新唤醒词侦测器。这些方法包括至少以下三种及其变型:
1.唤醒词分段方法;
2.唤醒词采样方法;和
3.连续转录方法。
在下面对这些方法中的每一个进行详细的描述。紧接在完成新唤醒词侦测器的构建之后(例如,在几秒钟内),动态唤醒词及其侦测器可以被存储并准备好来激活设备。
解析器可以将定义指令的变型的可选参数进一步标识为预定义唤醒词指派指令模板的一部分;这些参数可以是动态唤醒词的属性(即,如何识别它)或指令的属性(即,如何履行WAD)。例如,用户可以指定新唤醒词是公用的,意味着其他用户可以使用同一动态唤醒词来唤醒设备,或者指定新唤醒词是私有的,意味着新唤醒词仅对那个用户有效,而把其他人排除在外。作为另一个示例,用户可以指定新唤醒词是将替换较早的唤醒词还是将作为较早的唤醒词的补充而被使用。
指令参数具有自然语言措词,这些自然语言措词传达指令中可找到的具体参数值。当缺少可选参数时,该参数可以具有与实现方式相关的隐式默认值,或者系统可以提示用户输入值。在本公开中,可选指令参数将被简称为参数。
应理解,本发明可以被以许多不同的形式体现,而不应该被解释为限于本文阐述的实施例。相反,提供这些实施例,使得本公开将是透彻且完整的并且会将本发明充分地传达给本领域的技术人员。实际上,本发明旨在涵盖这些实施例的被包括在如由所附权利要求所限定的本发明的范围和精神内的替代方案、修改和等同物。此外,在本发明的以下详细描述中,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域的普通技术人员将清楚的是,可以在没有此类具体细节的情况下实践本发明。
图1是可以在其内实现本技术的示例语音使能设备100的示意性框图。设备100可以是或包括具有被配置为接受话音请求的各种电子或机电组件中的任一个的代理,包括例如蜂窝电话、数字助理、平板和其他计算设备、汽车控制系统及其他设备。
在下面参考图9描述示例语音使能设备100的更详细说明,但是通常,设备100可以包括处理器102,该处理器被配置为控制设备100内的操作以及促进设备100内的各种组件之间的通信。处理器102可以包括可以执行指令以便控制设备100的标准化处理器、专用处理器、微处理器等。
处理器102可以接收并处理来自包括一个或多个麦克风106的各种输入设备的输入。麦克风106可以包括可以接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,麦克风106可以用于接收到设备100的作为请求被处理的音频信号、请求和输入,如在下面所说明的。
如所指出的,设备100当不在使用中时可以在低功率模式下运行以保存能量。可以提供电源电路108以用于在处理器102的指导下控制设备100内的功率水平。在低功率模式下,大多数设备100系统被关闭并且仅几个组件由处理器102运行。一个这种组件是在下面说明的唤醒词侦测器112。麦克风106也在低功率模式下操作以连续地监视设备100周围的环境以得到音频输入。
在实施例中,设备100当处于低功率模式时可以以0.3瓦至0.5瓦运行,而当处于其全功率模式时在5瓦与10瓦之间运行,但是应理解,在另外的实施例中设备100可以在空闲或活动状态下以不同的功率水平运行。在一个示例中,当唤醒词侦测器检测到在输入流中出现一个或多个当前唤醒词120中的任一个时,处理器102可以退出低功率模式并指示电源电路108给设备加电。在完成用户请求时,可能后面经过预定义时间段(例如,2-10秒),设备可以返回空闲,并且处理器102可以指示电源电路108切换回到低功率模式。在诸如设备100被插入电源插座或者具有大型电池的实施例的一些实施例中,可以省略电源电路108,并且不存在低功率模式。然而,仍然需要侦测唤醒词来激活设备,使得该设备可以准备好来侦听查询。
在所示的实施例中,唤醒词侦测器112存在于设备100上。在本地运行唤醒词侦测器可能是优选的实施例。词侦测器的操作由包含一个或多个当前唤醒词、一个或多个唤醒词侦测器及其关联参数的数据结构120驱动。对任何唤醒词的检测触发到活动状态的转变。
用于唤醒词的唤醒词侦测器可以由具有2个结果(唤醒词匹配或不匹配)的分类器实现。在一些实施例中,同时使用多个唤醒词。对N个唤醒词中的任何一个的并行检测可以由具有N+1个结果的整体式分类器(monolithic classifier)实现,针对每个唤醒词各有一个结果,并且针对未能与任何唤醒词匹配有一个结果。在此类实施例中,得分最高的唤醒词可以是激活设备的唤醒词。在其他实施例中,可以通过从同一传入音频流以并行方式运行多个唤醒词侦测器来实现对多个唤醒词的并行检测。在此类实施例中,最早匹配的唤醒词将是激活设备的唤醒词。以这种方式使用并行侦测器的可能性对于使用动态唤醒词而言是一大优点,因为可在不考虑预先存在的侦测器的情况下实现新唤醒词侦测器的添加。
在所提及的侦测器实施例中的任一个中,应记住,私有唤醒词在可激活设备之前需要肯定的说话者验证。说话者验证引擎114可以连续地运行,以功率为代价实现低等待时间。如果只有当私有唤醒词匹配时才触发说话者验证引擎114,则功耗可以是较低的。
语音使能设备100可以进一步包括存储器104,该存储器可以存储可以由处理器102执行的算法。根据一个示例实施例,存储器104可以包括随机存取存储器(RAM)、只读存储器(ROM)、缓存、闪速存储器、硬盘和/或任何其他合适的存储组件。如图1中所示,在一个实施例中,存储器104可以是与处理器102通信的单独的组件,但是在另外的实施例中,存储器104可以被集成到处理器102中。
存储器104可以存储由处理器102执行以便控制设备100的操作的各种软件应用程序。此类应用程序可以例如包括用于在接收到的话语中检测唤醒词的唤醒词侦测器112以及用于验证说话者的说话者验证引擎114。当匹配的唤醒词为私有的时,需要说话者验证引擎114来验证说话者的ID。稍后对此进行更详细的说明。
存储器104也可以存储各种数据记录,包括例如一个或多个唤醒词120和一个或多个用户声纹122。对这些中的每一个也将进行更详细的说明。
设备100可以进一步包括通信电路,诸如用于经由因特网连接到各种云资源130的网络接口124。一个这种资源可以是一个或多个语音识别和侦测器构建服务器150,在本文中也简称为服务器150。现在将参考图2说明服务器150的示例。
图2是服务器150的实施例的示意性框图。如所指出的,在另外的实施例中,服务器150可以包括多个服务器,并置的或别样的。在下面参考图9描述示例服务器150的更详细说明,但是通常,服务器150可以包括被配置为控制服务器150的操作以及促进服务器150内的各种组件之间的通信的处理器152。处理器152可以包括可执行指令以便控制服务器150的标准化处理器、专用处理器、微处理器等。
服务器150可以进一步包括存储器154,该存储器可以存储可以由处理器152执行的算法。根据一个示例实施例,存储器154可以包括RAM、ROM、缓存、闪速存储器、硬盘和/或任何其他合适的存储组件。如图2中所示,在一个实施例中,存储器154可以是与处理器152通信的单独的组件,但是在另外的实施例中,存储器154可以被集成到处理器152中。
存储器154可以存储由处理器152执行以便控制服务器150的操作的各种软件应用程序。此类应用程序可以例如包括用于转录语音的语音识别引擎162。应用程序可以进一步包括用于处理一般(非WAD)查询的一般解析器155和一般查询履行引擎157。应用程序可以进一步包括用于处理动态唤醒词指派请求的唤醒词指派指令处理器(WAD处理器164)。语音识别是复杂的,但是许多技术是完善的,并且无需在这里进行任何详细的描述。知道以下内容就够了:在大多数实施例中,语音识别引擎162具有能够产生其输入的音素(phonetic)转录的前端,而全ASR引擎162产生输入的文本转录。当本公开提到ASR引擎162时,取决于是需要音素输出还是文本输出,这可以是指ASR前端或整个ASR引擎。
WAD处理器164可以具有软件组件,包括WAD解析器166、侦测器构建器168和注册引擎170。在下面更详细地说明WAD处理器164的组件。具体地,侦测器构建器168可以根据下面说明的方法中的一种来构建唤醒词侦测器。注册引擎170将表示设备100所使用的唤醒词的唤醒词数据记录120与其关联侦测器和参数一起读取并写入。
服务器150可以进一步包括通信电路,诸如用于经由包括到客户端设备100的因特网连接到云资源130的网络接口156。如所指示的,服务器150可以与多个客户端设备100进行通信,每个客户端设备如图1中所示的那样并且如在下文中所描述的那样被配置。
现在将参考图3的流程图描述客户端设备100和服务器150识别唤醒词的操作和交互以及对设置新唤醒词的专用查询的履行。该图在示出在设备100上本地运行的模块的左列与示出在所图示的实施例中在远程服务器150上运行的模块的右列之间分开。在其他实施例中,右列中所示的组件中的一些或全部可以实际上在设备100上本地运行。
在步骤200处,设备100处于空闲状态,并且不能处理语音请求。在这种状态下,它连续地设法使用唤醒词侦测器112来识别唤醒词。设备在处于空闲状态时可以处于低功率模式以保存能量。设备100保持空闲直到唤醒词侦测器112在传入音频流中识别唤醒词。可以使用一个或多个侦测器来对照音频输入连续地测试一个或多个唤醒词。在设备本地的唤醒词数据结构120中查找到当前唤醒词(和所对应的侦测器)。
回想一下,如果说话者验证测试失败,则不认为私有唤醒词在音频输入中匹配。当唤醒词匹配时,设备退出空闲状态并进入活动状态。以匹配的唤醒词的结束为开始并且以话语结束(EOU)为结束的音频输入是口头查询。EOU可以是语音暂停、或轻敲、按钮按压或释放。口头查询被作为输入给予语音识别引擎162,该语音识别引擎在步骤216中创建口头查询的转录。在实施例中,ASR引擎162可以在设备100上本地运行,或者在服务器150上远程地运行。在一些情况下,语音识别引擎162可以生成唤醒词或查询的一个或多个音素和/或文本转录、以及指示每个转录的置信水平的每个转录的分数。ASR算法可以采用信号处理、隐马尔可夫模型、维特比搜索、音素词典和(可能为递归)神经网络的任何组合来生成转录及其置信分数。
通常,虚拟助理可以处理各式各样的查询,包括对信息的请求和指示客户端设备100执行某个动作的命令。虚拟助理理解查询的方式在已知实施例之间有很大变化。在所图示的实施例中,当非WAD查询由一般查询解析器155解析和解释时,在步骤218中识别非WAD查询。具体地,在语音识别引擎162生成查询的转录之后,一般查询解析器155确定查询的结构(语法)和含义(语义)。在实施例中,可以在服务器150上远程地或在设备100上在本地完成此任务。对口头查询的解析和处理可以采用已知算法来处理查询。此类系统例如公开于标题为“Virtual Assistant Configured by Selection of Wake-Up Phrase”的美国专利号10,217,453和标题为“Natural Language Grammar Enablement by SpeechCharacterization”的美国专利号10,347,245中,这些专利都被转让给总部位于加利福尼亚州圣塔克拉拉的SoundHound公司,这些专利通过引用整体地并入本文。
与本技术相关的一种特定类型的查询是请求向设备100指派新唤醒词的查询。出于图3的目的,在本文中称为唤醒词指派指令或WAD的这些具体查询由专用解析器-WAD解析器166在步骤218中处理(解析)。如所指出的,语音识别引擎162递送音素转录和文本转录两者。WAD解析器166可以根据已知NLU算法来使用文本转录,以标识指令的语法。NLU算法可以采用一种或多种语法模式来标识查询的指示部分的含义,并且在一些情况下,还标识唤醒词部分的含义。然而,通常,唤醒词可以是任意词或短语。在特殊情况下,唤醒词也可能是常见词或短语或已知名称。在一些实施例中,语音识别引擎162可以使用语言模型来增加可能被使用的唤醒词的转录分数。NLU算法也可以在解析唤醒词时发挥作用。然而,唤醒词可以是任意语音段,即音素通配符,并且它们最终由围绕唤醒词的词的指令语法来界定(分段)。应理解,可以使用各种方案来确定唤醒词的存在以及在唤醒词之前或之后的指令词(措词)的存在和含义。值得注意的是在所有此类方案中,随着唤醒词段被确定,其音素转录变得可用于由侦测器构建器168进一步处理。
在图3中,由一般查询解析器155识别的查询被处理以用于由一般查询履行引擎157在步骤220中进一步处理(即,履行),该一般查询履行引擎157以具体虚拟助理期望的方式行动。不需要改变“主机”虚拟助理即可实现动态唤醒词。在图3中所示的典型实施例中,在常规查询由一般查询履行引擎157在步骤220中处理之后,设备返回到空闲状态。在未示出的变型实施例中,设备在返回到空闲状态之前保持活动(即,它不需要唤醒词即可接受查询)持续一定时间(即,几秒钟)。实现此变型的一个方式是返回到活动状态,但是确保当进入活动状态时设置了超时时间,在超时时间结束时设备返回到空闲状态。
当查询是WAD时,一般查询解析器155未能在步骤218中识别它。替代地,WAD解析器166能够在步骤224中解析它以确定与指令相关联的新唤醒词和任何可选参数。在变型实施例中,可以在一般查询解析器155之前执行WAD解析器166,或者替代地,解析器155和166两者可以是单个统一解析器的一部分。这些是图3中所示的控制流程的细微变化。
关于失败的插入语:如果解析器155和166都未能识别查询,则设备将返回到空闲状态—最可能在发出适当的错误消息之后。例如,如果语音识别器162不能可靠地确定查询的转录,则可能发生失败。当系统允许具有不同分数的多个转录假设时,这是不可能的。如果查询不符合语法,则在获得查询的良好转录之后也可能发生失败:当解析器155和166均不能识别查询时,查询可能由于句法的原因而失败。如果查询在语法上是正确的,但是不能可靠地确定其解释(含义),则可能发生其他失败:查询由于语义的原因而失败。此外,被正确解释的查询可能在其执行(被称为查询的履行)期间失败。对常规查询的履行由常规查询履行引擎157执行。对WAD的履行由侦测器构建器和注册引擎170构成,两者都可能表现出它们自己的失败。
WAD解析器166收集来自查询的信息,包括指令及其参数。除了添加唤醒词之外,还存在其他与唤醒词相关的动作,例如删除唤醒词、列举唤醒词、将唤醒词恢复到在唤醒词记录120中记住的在先状态等。本公开集中于唤醒词添加,因为它在技术上是最困难的部分;其他相关动作容易描述。参数(例如,公用的/私有的、和排他的/包容的)和唤醒词也由WAD解析器166确定。侦测器构建器168检查唤醒词是否可接受以供使用。例如,如果所请求的唤醒词太短、或太含糊、或太接近不想要的唤醒词(诸如攻击性词)的列表的成员、或者是用于设备100的预先存在的唤醒词,则可能不构建新唤醒词侦测器。在此类情况下,侦测器构建器168因失败而退出,并且可以经由设备100向用户输出消息以传达不能履行请求的事实。
如果新唤醒词被接受,则侦测器构建器168在步骤226中继续为唤醒词构建侦测器。在下面参考图5-8说明用于由侦测器构建器168构建新唤醒词侦测器的不同实施例的进一步细节。在侦测器构建器成功时,将唤醒词、其唤醒词侦测器和关联参数移交给注册引擎170。当侦测器构建器在服务器150上运行时,此数据(包括新侦测器)被下载到设备100。所注册的侦测器、唤醒词和参数在设备100上被存储在包含一个或多个唤醒词和关联数据的数据结构120中。
作为图3的流程图的操作的示例,客户端设备100可以接收话语:
“OK AGENT,RESPOND TO OK JARVIS(好的代理,对好的贾维斯做出响应)”
其中“OK AGENT”是当前唤醒词。跟在唤醒词“OK AGENT”之后的话语的其余部分是查询“RESPOND TO OK JARVIS”。可以将查询上传到服务器150,并且在步骤216中使用语音识别引擎162来转录它。WAD解析器166在步骤224中将查询识别为指令并提取唤醒词。在此示例中,查询“Respond to OK Jarvis”是请求将唤醒词语音音频段“OK Jarvis”指派为新唤醒词的唤醒词指派指令。在步骤224中将此唤醒词指派指令成功解析成其唤醒词和参数之后,唤醒词侦测器构建器168必须通过构建全新唤醒词侦测器或者通过为唤醒词定位预先存在的侦测器来在步骤226中为新唤醒词产生侦测器。如将稍后描述的,可以用许多方式来实现这一操作。然后由注册引擎170在步骤228中注册新唤醒词侦测器、新唤醒词和关联参数,该注册引擎170修改保持当前唤醒词、侦测器和关联参数的唤醒词120数据结构。
图3示出了在客户端设备100上或在服务器150上执行的过程的一个实施例。在所示的实施例中,在设备100上执行左列(标记为“客户端设备”)中的所有过程,并且在服务器150上执行右列(标记为“服务器”)中的所有过程。在替代实施例中,可以实际上替代地在客户端侧执行右列中所示的过程中的一些或全部。例如,可以在设备100上在本地执行步骤216和224(在本地识别WAD),而可以在服务器150上执行步骤218中的一般查询解析和步骤220中的一般查询处理。在此类情况下,WAD解析器166在一般查询解析器155之前运行。在这些情况下,侦测器构建器被设置为部分地或全部在设备100上运行。在第一实施例中,侦测器构建器在构建侦测器时能够访问服务器100的计算能力和标记音频数据库。这通过稍后描述的用于侦测器构建的分段方法来举例说明。在第二实施例中,侦测器构建器是完全本地的;这将通过稍后描述的用于侦测器构建的转录方法来举例说明。
如所指出的,唤醒词指派涉及指令、新唤醒词语音音频段以及控制对新唤醒词的处理的可选参数。在一个示例中,参数可以与新指派的唤醒词是公用的还是私有的有关。公用唤醒词可以由任何人使用来唤醒设备100并且获得对设备100的资源的访问。另一方面,私有唤醒词对创建它的用户而言是个人的,使得设备100将仅在唤醒词由唤醒词创建者说出时激活,而在由其他人说出时保持在空闲状态下。在另一示例中,参数可以与是将新唤醒词添加到现有唤醒词的唤醒词集中还是将替换现有唤醒词中的一些或全部有关。
现在参考图4的流程图,在步骤260中,WAD处理器164可以检查唤醒词指派指令是否包括声明新唤醒词是公用还是私有的参数。以下是可以向WAD处理器164指示唤醒词将是公用唤醒词的参数的一些示例。在唤醒词指派指令的以下示例中,已省略了唤醒词本身,仅留下话语的查询部分。
“RESPOND TO OK VICTORIA(对好的维多利亚做出响应)”(假定默认值为“公用”)
“RESPOND TO PUBLIC WAKEWORD OK MADELINE(对公用唤醒词好的玛德琳做出响应)”
“RESPOND TO OK MADELINE PUBLIC WAKEWORD(对好的玛德琳公用唤醒词做出响应)”
“WE WILL CALL YOU HEY JACKSON(我们会叫你嘿杰克逊)”
在第一示例中,未提供参数,使得WAD处理器164默认将新唤醒词“OK Victoria”指派为公用唤醒词。在第二示例中,在语音音频段之前或之后明确地声明参数措词“publicwakeword”并设置所对应的属性。WAD解析器166可以寻找此类预定义参数措词,以便不将它们视为语音音频段的一部分。在第四示例中,“public”参数设置不是显式的,但是可以从唤醒词指派指令中的复数主语“we”(与单数“I”相对)的使用来推理,该唤醒词指派指令巧妙地将新唤醒词“Hey Jackson”指明为公用唤醒词。可以想象唤醒词指派句法的各式各样的其他示例,其中,口头唤醒词指派指令中的参数的显式或隐式措词指示新唤醒词将是公用的。
或者,唤醒词指派指令可以包括指示唤醒词将是私有唤醒词的参数。以下是几个示例。
“RESPOND TO OK VICTORIA(对好的维多利亚做出响应)”(假定默认值为“私有”)
PRIVATELY RESPOND TO OK JOSEPHINE(私下对好的约瑟芬做出响应)”
“RESPOND TO OK JOSEPHINE PRIVATELY(私下对好的约瑟芬做出响应)”
“RESPOND TO PRIVATE WAKEWORD HEY CHRISTOPHER(对私有唤醒词嘿克里斯多夫做出响应)”
I WILL CALL YOU TABATHA(会叫你塔芭瑟)”
YOUR NICKNAME IS PENELOPE(您的昵称是佩内洛普)”
第一示例示出默认值可以替代地是在未提供任何参数时使唤醒词成为私有的。在接下来的四个示例中,在语音音频段之前或之后,参数措词“privately”或“privatewakeword”或“nickname”被用作查询的一部分,以传达私有参数设置。在最后的示例中,可以根据在查询开始时使用第一人称单数主语代词“I”来推理私有设置。能够创建各式各样的其他示例,其中,口头唤醒词指派指令内的显式措词或者上下文参数指示新唤醒词旨在为私有的。
如果在步骤260中检测到公用/私有参数,则WAD处理器164可以在步骤262检查是否存在私有参数。如果否,则WAD处理器164可以将新唤醒词视为当被存储时为公用的。另一方面,如果在步骤262中参数指示唤醒词是私有的,则WAD处理器164可以执行步骤264,创建说话者的话音的声纹以及可能的附加说话者验证数据。用户声纹信息可以在设备100上被存储在声纹数据结构122中,或者可由设备100从云用户记录获得,以用于以后的说话者验证。
在步骤268中,WAD处理器164可以通过计算声纹来使说话者验证数据与新唤醒词和侦测器相关联。WAD处理器164可以将新唤醒词视为私有的,并且存储说话者验证数据。可以将这种验证数据(诸如声纹)存储在个体用户的存储器104中的用户声纹122中。
在操作中,在接收到话语并且确认私有唤醒词的存在之后,处理器102可以进一步使用来自与私有唤醒词相关联的用户声纹122的数据来检查说话者是否与创建了私有唤醒词的说话者相同。如果存在匹配,则处理器102可以用信号通知电源电路108给设备100加电。如果不存在匹配,则处理器可以忽视唤醒词并保持在空闲状态下。
代替公用/私有参数,或者除了公用/私有参数之外,唤醒词指派指令还可以包括关于是将新唤醒词添加到一个或多个现有唤醒词的唤醒词集还是替换唤醒词集中的一个或多个现有唤醒词的参数。在步骤272中,WAD处理器164检查唤醒词指派指令是否包括关于是将新唤醒词添加到现有唤醒词还是替换现有唤醒词的参数。以下是可以向WAD处理器164指示要向现有唤醒词添加唤醒词的参数的几个示例。
“RESPOND TO OK FREDERICK(对好的弗雷德里克做出响应)”
“RESPOND TO ADDED WAKEWORD ESTEBAN(对添加的唤醒词伊斯特班做出响应)”
“ALSO RESPOND TO OK SAMUEL(也对好的塞缪尔做出响应)”
在第一示例中,未提供参数,使得WAD处理器164默认将新唤醒词“Frederick”添加到其他现有唤醒词120。因此,除了存储器104中的一个或多个先前存在的唤醒词120之外用户还可用唤醒词“OK Frederick”唤醒设备100。在这里,新唤醒词被说成是对现有唤醒词为加性的。在第二示例中,参数“added wakeword”可以是预定义短语,该预定义短语在语音音频段之前或之后被明确地声明为使新唤醒词对于现有唤醒词而言是加性。当解析所接收到的唤醒词指派指令时,WAD处理器164可以寻找此类预定义参数以便不将它们视为语音音频段的一部分。在第三个示例中,参数“also”(“also respond to”或“respond also to”的一部分)显式地请求将新唤醒词添加到现有唤醒词。设想了各式各样的其他示例,其中在口头唤醒词指派指令内的表达和/或上下文参数指示新唤醒词对于一个或多个现有唤醒词的唤醒词集而言为加性的。
或者,唤醒词指派指令可以包括指示唤醒词将替换当前唤醒词中的一个或多个的参数。以下是几个示例(为了强调参数而加了下划线):
“RESPOND TO OK BRITTANY(对好的布里塔尼做出响应)”
“RESPOND TO OK BRITTANY EXCLUSIVELY(排他性地对好的布里塔尼做出响应)”
“RESPOND ONLY TO MARLENA(对马琳娜做出响应)”
第一示例示出默认值可以替代地是在未提供参数时使唤醒词成为排他性的并移除先前的唤醒词。在第二示例中,参数“exclusively”可以是跟在语音音频段之后明确声明的预定义短语。在第三示例中,参数“only to”可以是在语音音频段之前明确声明的预定义短语。代替第二示例和第三示例中指示新唤醒词的排他性的预定义短语,可以根据唤醒词指派指令中的参数的上下文推理新唤醒词的排他性。设想了各式各样的其他示例,其中,在口头唤醒词指派指令内的表达和/或上下文参数指示新唤醒词将是私有的。
如果在步骤272中检测到排他或加性参数,则WAD处理器164可以在步骤274中检查参数是否指示新唤醒词是加性的。如果是,则当存储新唤醒词时,可以在步骤276中设置标志以作为对现有唤醒词的附加而存储新唤醒词。另一方面,如果在步骤274中参数指示唤醒词正在替换一个或多个现有唤醒词,则WAD处理器164可以在步骤280中检查是否存储了多个唤醒词。如果是,则处理器102可以生成关于多个唤醒词中的哪些唤醒词将被替换的查询。或者,可以跳过步骤280和282,并且默认情况下可以替换所有现有唤醒词。
在正在替换一个或多个唤醒词的情况下,可以在步骤286中设置标志,该标志指示当存储新唤醒词时正在替换所存储的唤醒词中的哪一个/哪些。可能发生用户无权替换唤醒词中的一个或多个,这可以例如根据存储在存储器104中的用户声纹122中的数据来确定。在这种情况下,处理器可以仅替换用户有权替换的那些唤醒词。
应进一步理解,可以在单个唤醒词指派指令中提供与私有的/个人的和加性的/排他的两者有关的参数。以下是几个示例。
“I WILL ONLY CALL YOU OK ROBERT(我会仅叫你好的罗伯特)”
“WE WILL ALSO CALL YOU OK NATALIA(我们也会叫你好的娜塔莉亚)”
在第一示例中,在唤醒词指派指令开始时使用第一人称单数主语代词“I”将新唤醒词“OK Robert”指明为私有唤醒词,并且词“only”的使用使它成为排他唤醒词。在第二示例中,在唤醒词指派指令开始时使用第一人称复数主语代词“we”将新唤醒词“OK Natalia”指明为公用唤醒词,并且短语“also”的使用使它成为加性唤醒词。虽然以上示例中的唤醒词是针对人们的常用名字,但是应理解,唤醒词120可以包括任何词或短语、无意义的或别样的。在另外的实施例中,可以构想新唤醒词由除话音以外的声音形成,诸如例如门铃、警报或鼓点节拍等几种可能性的声音。
虽然对参数的以上讨论涉及两个特定方面(私有的/个人的和加性的/排他的),但是应理解,除了以上示例之外或代替以上示例,因此还可以提供与生成新唤醒词和侦测器的其他方面有关的参数。
此外,在以上示例中,在包括唤醒词指派指令的单个话语中提供参数。在另外的实施例中,可以在用户与设备100之间的情态对话(modal discourse)中建立参数。具体地,用户可以最初发出没有参数的唤醒词指派指令。此后,WAD处理器164可以通过以下方式来提示用户提供附加参数和信息,所述方式为由处理器102生成文本,该文本通过TTS算法被转换为语音并且通过扬声器136来播放。以下提供了如何针对这样的情态对话提示参数和如何在这样的情态对话中提供参数的示例。
(U)RESPOND TO JARVIS(对贾维斯做出响应)
(D)GOT IT.CAN YOU SAY THAT THREE TIMES?(明白了。你能将那说三次吗?)
(U)JARVIS…JARVIS...JARVIS(贾维斯…贾维斯…贾维斯)
(D)OK,I NOW RESPOND TO JARVIS(好的,我现在对贾维斯做出响应)
(D)SHOULD JARVIS BE PRIVATE OR PUBLIC?(贾维斯应该是私有的还是公用的?)
(U)PUBLIC(公用的)
(D)SHOULD I SAVE PREVIOUS WAKEWORDS?(我应该保存先前的唤醒词吗?)
(U)NO(不)
(D)ARE YOU SURE YOU WANT TO FORGET THE DEFAULT PUBLIC WAKEWORD OKAGENT?(您确定想要忘记默认公用唤醒词好的代理吗?)
(U)NO,TELL ME THE WAKEWORDS(不,告诉我唤醒词)
(D)SURE.JARVIS IS A PUBLIC WAKEWORD AND OK AGENT IS A PUBLICWAKEWORD.(可以。贾维斯是公用唤醒词并且好的代理是公用唤醒词。)
(U)DISABLE THE PREVIOUS WAKEWORDS(禁用先前的唤醒词)或
(U)DISABLE OK AGENT(禁用好的代理)
(D)OK AGENT IS NOW DISABLED(好的代理现在被禁用)
以上是用户(U)与设备100(D)之间的示例情态对话。如所看见的,设备100可以接收唤醒词指派指令,并且提示用户重复唤醒词几次。然后,设备100可以提示用户指定新唤醒词是公用的还是私有的,以及是加性的还是排他的。
对于由单个所有者控制的设备100,该设备可以使其(私有或公用)唤醒词由该设备所有者设置,而其他用户对此没有控制权。然而,在设备100是由多个用户控制的共享设备的情况下,可能期望在替换公用唤醒词之后保存它们。具体地,当指令替换设备上所有先前的唤醒词时,存在用户(可能甚至是发出指令的用户)将被反锁(locked out)而无法激活或访问设备100的资源的危险。
因此,可以提供恢复程序以避免来自这种反锁的不良后果。在这种情况下,可以将设备100恢复到先前状态,在该先前状态下先前唤醒词访问权被恢复。这为如下用户提供最低级别的默认功能性,所述用户未发出针对新唤醒词的指令并且可能甚至不知道他们正在使用的唤醒词被新唤醒词替换了。在一些系统中,这可以通过硬重置来实现—要么重置为工厂设置,要么重置为先前保存的唤醒词集的工作配置。
在实施例中,通过使用单个指令和/或情态对话,可以一起支持唤醒词替换策略、唤醒词添加策略和/或用于保存并恢复唤醒词集配置的程序的复杂混合。对于除了音频之外还具有GUI的设备,诸如专用重置按钮,这些其他接口可以代替音频信号或者作为对音频信号的补充被用于唤醒词恢复。对于除了音频之外没有GUI的设备,能够经由音频接口(麦克风和扬声器)和/或通过电源周期性通电来实现对设备状态的完全重置。
以下是用于设置动态唤醒词(包括恢复替换的唤醒词)的情态对话的另一个示例。
(U)RESPOND TO PUBLIC NAME BUTLER3(对公用名字BUTLER3做出响应)
(D)OK,BUTLER THREE,IS THAT RIGHT?(好的,BUTLER三,对吗?)
(U)YES
(D)SHALL I KEEP MY PRIVATE NAME,JARVIS?(我应保留我的私有名字吗,贾维斯?)
(U)NO(不)
(D)AND KEEP MY PUBLIC WAKEWORD OK AGENT?(并且保留我的公用唤醒词好的代理吗?)
(U)PLEASE DISABLE IT(请禁用它)
...时间流逝...
(U)BUTLER3,WHAT ARE THE WAKEWORDS?(BUTLER3,唤醒词是什么?)
(D)BUTLER THREE IS AN ACTIVE PUBLIC WAKEWORD,AND OK AGENT IS ADISABLED PUBLIC ONE.(BUTLER三是激活公用唤醒词,并且好的代理是禁用公用唤醒词。)
...时间流逝...
(U)BUTLER3,RESTORE PREVIOUS WAKEWORDS(BUTLER3,恢复先前的唤醒词)
(D)OK AGENT IS NOW A PUBLIC WAKEWORD(好的代理现在是公用唤醒词)。
同样,设想了情态对话的其他示例。
上文描述了用于经由一个或多个麦克风106使用音频指令来设置新唤醒词的过程。在替代实施例中,设备100可以具有其他接口,诸如被配置为整个地或部分地实现唤醒词指派指令的GUI或物理(触摸)接口。例如,设备可具有保留按钮,该保留按钮可被按下以输入新唤醒词并在语音音频段结束时被释放。此外,按钮按下后立即释放可能使设备说出其当前唤醒词和对应状态(例如,公用的或私有的)。
如以上所阐述的,步骤226(图3)涉及为动态唤醒词构建唤醒词侦测器。如“背景技术”部分中所指出的,可以通过收集与预定义唤醒词有关的大型数据集、然后使用该大型数据集来训练诸如神经网络的声学模型,来为工厂安装的唤醒词设计有效的唤醒词侦测器。此技术对于动态唤醒词是不可行的,因为对于动态地选择的唤醒词通常将不存在此类数据集。
本技术通过使用立即为任何有效的动态唤醒词构建唤醒词侦测器的一种或多种方法来克服此问题。如以上所指出的,在这里使用术语“立即”意味着可以在用户已说完唤醒词指派指令之后的几秒钟(例如,2至5秒)内构建新唤醒词侦测器。在另一示例中,应用于构建侦测器所花费的时间的术语“立即”可以意指完成对WAD的确认响应所花费的时间。例如,在以下情况下侦测器将被认为是被“立即”构建的,所述情况是在提供以下响应以前该侦测器被构建:“I will now respond to Jarvis(我现在将对贾维斯做出响应)”或“Josephine is now a public wakeword(约瑟芬现在是公用唤醒词)”等。
在实施例中,用于新唤醒词的唤醒词侦测器由WAD处理器164(图2)的侦测器构建器168构建。如以上所指出的,虽然图2示出了服务器150上的侦测器构建器168,但是侦测器构建器168的组件可以驻留并被实现在服务器150、设备100或服务器150和设备100的组合上。
用于侦测器构建的唤醒词采样方法
在一个实施例中,侦测器构建器168可以使用在本文中被称为唤醒词采样方法的方法来构建唤醒词侦测器。在此方法中,新唤醒词的多个样本话语被从用户收集,然后用于通过在本地训练分类器来构建新唤醒词侦测器。现在将参考图5的流程图描述该方法。
在步骤290和292中,侦测器构建器168使用情态对话来要求用户提供新唤醒词的附加音频样本。一些实施例可以一次请求一个唤醒词;其他实施例可以保持开放,所以用户可提供多个样本。可以在步骤292中确认接收到新唤醒词的足够数量的样本(例如,四个或更多个)。在另外的实施例中该数量可以少于四个。唤醒词的初始音频样本与通过步骤290和292收集的附加音频样本一起将在步骤296中用于构建分类器(诸如神经网络(NN)分类器),该分类器将用作唤醒词侦测器。所收集的样本用作唤醒词的肯定实例。为了避免误肯定,在训练期间添加否定实例可能是有用的。当被使用时,否定实例可以用许多方式来生成。在一个实施例中,唤醒词的音频样本可以由ASR前端转录为音素序列;这些序列然后可以被稍微扰乱以引起相近差错(near miss)。可以使用语音合成来从相近差错音素序列获得否定音频样本。在先前的实施例的更简单变型中,使用了单个音素序列,即来自语音识别步骤162的音素序列。在此变型中,不需要附加转录步骤。当在服务器上执行步骤162时,这是特别方便的,因为设备100不必支持ASR功能162。
总之,唤醒词采样方法分三步进行:
1.收集唤醒词的肯定音频样本;
2.可选地生成唤醒词的一些否定音频样本;并且
3.训练将作为所期望的唤醒词侦测器的分类器。
可以在设备100上在本地执行这些步骤,或者可以在服务器上执行这些步骤。因为训练样本集非常小,所以在具有有限资源的设备上本地实现唤醒词采样方法在计算上是可行的。小型训练数据集提供有限的可靠性。因为肯定样本来自单个说话者,所以唤醒词采样方法当与仅由创建私有唤醒词的具体用户使用的私有唤醒词一起使用时可以证明是最可靠的。因此,设备100可以使用说话者验证引擎114来验证当前说话者的话音与创建了私有唤醒词的说话者的话音匹配。设备100存储用户声纹122以与说话者验证引擎114相结合地支持此功能。
用于侦测器构建的连续转录方法
在另一实施例中,侦测器构建器168可以使用在本文中被称为连续转录方法的方法来实现侦测器。在此方法中,侦测器算法依靠嵌入式语音识别引擎162(或更准确地说,ASR前端)来生成输入音频的连续音素转录。为了实现侦测器所需要的低等待时间,语音识别前端可以在设备100上本地运行。图6的流程图描述了这样的实施例。在步骤310中,语音识别前端将传入音频流映射到音素流,该音素流是输入的连续音素转录。在步骤312中,唤醒词侦测器试图使传入音素流的连续段与活动唤醒词的音素序列匹配。针对唤醒词的音素序列相对于音素流的每个可能的对齐,连续地执行该操作。当对齐假设开始时,只要音素匹配被维持,该假设就保持有效。如果在存储在存储器104中的唤醒词120数据结构中存在若干个活动的唤醒词,则并行地将传入音素流以这种方式与每个存储的唤醒词进行比较。每当在传入音素流中出现新音素时,可以递增地应用以上步骤。在步骤316中检测到的第一匹配(在匹配中完成的对齐假设)将在步骤318中触发唤醒词侦测器。如果在对齐假设期间的任何时候音素匹配失败,则流程返回到步骤312以寻找新音素序列。
在实施例中,可以例如使用音素格(phoneme lattice)数据结构来并行地考虑传入音频流的多个音素转录。类似地,在实施例中,可以例如使用音素格数据结构来并行地考虑唤醒词的多个语音转录。无论何时考虑多个假设,它们都可以具有关联的概率或分数。在实施例中,唤醒词音素序列与每个音素的时间分量相关联,并且音素对齐接收与唤醒词音素和传入音素之间的时间延展量相关联的分数。在实施例中,替代假设的低对齐分数、或低概率或分数可能导致丢弃对齐假设。
提供唤醒词侦测器的这种方法是有利的,因为它不需要基于存储的数据集进行训练—无论数据集是服务器上的大型远程数据集还是在有需要时收集的动态唤醒词的小样本集。该方法非常适合于由不同人使用公用唤醒词,并且适合于对噪声的鲁棒性,因为从传入音频流生成音素流的语音识别引擎162或者是其ASR前端针对各式各样的说话者和情况而被预先训练。取决于电池技术,此方法可能最适合于被插入电源插座或者可汲取执行连续语音转录所需的电池电力的设备100,但是在另外的实施例中不必如此。可相当高效地执行连续音素转录输入与存储的唤醒词音素序列的匹配。
刚刚描述的方法的主要变型是使用连续文本转录而不是连续音素转录。全语音识别模块162通常可能涉及大型音素词典和大型语言模型,这两者都消耗大量的存储器。在当前情形下,能够完全忽视语言模型(从而大大减少空间)以及使用缩减的音素词典—不考虑例外的默认音素到文本转换器。
转录方法本身不涉及训练,例如训练NN,但是它确实“构建”侦测器,由音素序列匹配算法和一个或多个目标音素序列构成。
用于侦测器构建的唤醒词分段方法
在再一个实施例中,侦测器构建器168可以使用在本文中被称为唤醒词分段方法的方法来构建唤醒词侦测器。此方法从新唤醒词的音素转录开始,该音素转录可从在步骤226之前的语音识别步骤216获得。现在将参考图7的流程图和图8的图示来描述这种方法。
在由WAD解析器166解析接收到的话语之后,可以在步骤320中测试经解析的话语的音素唤醒词转录以查看是否存在已经针对整个唤醒词训练和缓存的唤醒词侦测器。这样的侦测器可以被缓存在服务器150上,但是可能可替代地被缓存在设备100或第三方服务器上。
例如,图8示出了来自WAD的唤醒词的音素转录。在此示例中,可以使用CMU音素字母表来将唤醒词“HEY CHRISTOPHER”按照发音拼写为“HH EY1 K R IH1 S T AH0 F ER0”。CMUP是用于英语的标准音素字母表。其他音素字母表(诸如IPO、国际音素字母表)可以用于为英语或其他语言的唤醒词侦测器定义音素序列。步骤320测试是否存在已经针对该整个音素序列训练的缓存的侦测器。如果是,则在步骤322中下载该缓存的侦测器并且将其用作用于新唤醒词“HEY CHRISTOPHER”的新唤醒词侦测器。
当整个新唤醒词不存在缓存的侦测器时,可以在步骤326中将唤醒词划分成多个音素段。可以以各种方式中的任一种来实现将唤醒词部分划分成音素段的序列,包括将唤醒词部分分段成词或音节组、单独的音节或更精细的划分。作为简单示例,图8示出了根分段,即整个唤醒词是单个段的分段1;第二分段,即唤醒词被从单独的词“HEY”和“CHRISTOPHER”分解成音素段的分段2。
在步骤328中,侦测器构建器168针对当前分段中的每个音素段检查是否已经存在并缓存了侦测器。如果是,则在步骤348中以逐次连续音素段的次序将针对每个音素段的这些侦测器组装在一起。然后,这些连续侦测器被下载并用作新唤醒词侦测器。
如果在任何时候侦测器构建器168确定给定分段中的音素段不具有对应缓存的侦测器,则引擎168接下来在步骤330中检查是否存在将唤醒词变成音素段的进一步可能的划分。例如,图8示出了另一种分段,即唤醒词被进一步划分成音节的分段3。存在将有效的音素序列自动地分段成音节的音节化算法。如稍后所讨论的,进一步的划分是可能的。如果在步骤330中另一这种分段是可能的,则在步骤334中采取新划分步骤,从而产生新分段,其在步骤328中被再次测试以查看在新实例中是否有针对每个段缓存的侦测器。
每当对唤醒词音素序列的划分(分段)已完成时,唤醒词分段方法就为不具有缓存在存储器中的侦测器的任何音素段构建新侦测器。为了为音素段构建新侦测器,此技术依靠对服务器150上的存储器154中的标记音频数据库的访问。具体地,能够从通过音频段的音素转录标记的音频段的数据库中检索与特定音素序列相对应的音频样本的合集。在一些实施例中,可以通过使用预先计算的索引(诸如节点与音频段语料库中的对应位置相关联的树状结构)来优化这种搜索。
然后可以基于将所检索到的匹配段用于唤醒词的肯定示例来训练侦测器。可以用许多方式来得到对于训练是/否分类器而言有用的否定示例。“接近匹配”可用于避免误报;可扰乱分段音素序列(例如通过使用紧密相关的音素序列)来获得误报。也可以使用随机音频样本,这将有助于提高分类器的输出概率。
因为构建尽可能少的侦测器是最高效的,所以侦测器构建器168可以在步骤336中为其音素段选择已经具有最多缓存的侦测器的实例。然后,在步骤338中,侦测器构建器168如上所述从存储器154中的数据库中检索数据的子集,以在针对不具有缓存的侦测器的音素段训练侦测器时使用。在步骤340中使用数据的子集来训练用于此音素段的侦测器。一旦针对此音素段训练了侦测器,可以在步骤344中将侦测器添加到缓存。
在步骤346中,侦测器构建器168可以检查在所选择的实例中是否存在尚未具有缓存的侦测器的附加音素段。如果是这样的话,则选择新音素段,并且在该新音素段上重复步骤338、340和344。此过程继续直到在步骤346中所有音素段都具有缓存的侦测器为止。在那时,在步骤348中以逐次连续音素段的次序将针对每个音素段的所有缓存的侦测器组装在一起。然后,这些连续侦测器被下载并用作新唤醒词侦测器。
在实施例中,由于计算原因,或者由于标记音频数据库和/或段侦测器缓存所需要的存储量,可以在服务器150上执行此方法中用于音素段的侦测器的训练(步骤338和340)。在唤醒词侦测器中组装针对不同音素段的侦测器的步骤348可以在服务器150上完成并下载到设备100,或者在设备100本身上执行。
在实施例中,可以将在步骤348中针对每个连续音素段组装的连续侦测器视为是/否分类器,在给定输入流的情况下,该是/否分类器确定是(与其音素段匹配)和否(匹配失败)的概率。侦测器的成功路径是全是路径:如果每一分类器步骤具有高于阈值的概率,并且路径的总概率(遍及路径的概率的乘积、或对数概率之和)高于阈值,则侦测器成功。侦测器以许多连续对齐的方式被应用于音频,诸如在给定帧速率的每一帧处对齐。
在以上示例中,该方法在各种级别下针对新唤醒词的音素段测试在缓存中是否存在侦测器。图7的算法执行渐进加深,其中来自唤醒词的音素段被连续地划分。这允许该方法利用大型预先存在的唤醒词段侦测器。但是存在更简单的算法,其中假定了具体级别的音素分段。在一个变型中,可以将唤醒词划分成词—假定除了音素序列之外还可获得唤醒词的词分段。在另一变型中,可以将唤醒词音素序列分段成音节。因此可以根据需要构建音节级侦测器并进行缓存。但是人们可能想象能针对每一可能的音节预先计算侦测器。在实施例中,可以针对所有需要的音素段的定义枚举(例如,针对所有音节)在服务器150上预定义并存储唤醒词侦测器。这在原则上是可行的并且应该性能很好,从而允许在不必在步骤340中训练任何新段侦测器的情况下完成任务。但是在英语中或在其他语言中有非常多可能的音节。
音节由三个簇形成:节首音(onset)、核(nucleus)和尾音(coda),其中核簇由元音组成,并且节首音和尾音簇由辅音组成。例如,使用CMU音素字母表,音节“S T R EE T S”(“streets街道”)在单元音簇“EE”和2辅音尾音“T S”之前具有3辅音簇“S T R”。
另一个变型是执行子音节分段作为另一种音素段分类,对于该分类而言,可以训练所有唤醒词侦测器。例如,可以将每个元音分割成包括初始辅音簇和至少初始元音的初始部分,以及包括最终元音和最终辅音簇的最终部分。当元音簇具有长度1时,元音既是初始也是最终的。当元音簇具有长度2时,它由初始元音和最终元音构成。当元音簇具有长度3时,可以采用一些另外的规则来决定如何分割辅音簇。
在上述实施例中的任一个中,一旦唤醒词侦测器已被创建,即使在针对该侦测器的唤醒词已发生改变之后,注册引擎170也可以注册该侦测器,包括将唤醒词和唤醒词侦测器存储或缓存在存储器中。以那种方式,如果再次使用旧唤醒词,则可以立即拉起所缓存的唤醒词侦测器。
在上述实施例中,即使当唤醒词是包含多个词的短语时,也可以使用单个侦测器来侦测唤醒词。在另外的实施例中,可以使用“多侦测器”来侦测包含多个词的唤醒词。当在唤醒词中涉及N个词时,激活模块可以依赖于针对唤醒词中的多个词并行地运行N个侦测器(N个侦测器中的每一个均具有二进制输出-匹配或失败),或者可以训练联合侦测器(诸如具有N+1个结果的分类器,每个可能的匹配各对应一个结果并且失败对应一个结果),或两者的组合。
图9图示了可以作为用于实现本技术的实施例的设备100或服务器的示例性计算系统900。图9的计算系统900包括一个或多个处理器910和主存储器920。主存储器920部分地存储由处理器单元910执行的指令和数据。当计算系统900在操作中时,主存储器920可存储可执行代码。图9的计算系统900可以进一步包括大容量存储设备930、便携式存储介质驱动器940、输出设备950、用户输入设备960、显示系统970和其他外围设备980。
图9中所示的组件被描绘为经由单条总线990连接。可以通过一个或多个数据传输手段来连接组件。处理器单元910和主存储器920可以经由本地微处理器总线连接,而大容量存储设备930、外围设备980、便携式存储介质驱动器940和显示系统970可以经由一个或多个输入/输出(I/O)总线连接。
可以用磁盘驱动器或光盘驱动器实现的大容量存储设备930是用于存储由处理器单元910使用的数据和指令的非易失性存储设备。大容量存储设备930可出于将用于实现本发明的实施例的系统软件加载到主存储器920中的目的而存储该软件。
便携式存储介质驱动器940与诸如软盘、紧致盘或数字视频盘的便携式非易失性存储介质相结合地操作,以向图9的计算系统900输入数据和代码并从图9的计算系统900输出数据和代码。用于实现本发明的实施例的系统软件可以被存储在这样的便携式介质上并经由便携式存储介质驱动器940输入到计算系统900。
输入设备960提供用户接口的一部分。输入设备960可以包括用于输入字母数字和其他信息的字母数字键区(诸如键盘)、或指点设备(诸如鼠标、轨迹球、触针或光标方向键)。附加地,如图9中所示的系统900包括输出设备950。合适的输出设备包括扬声器、打印机、网络接口和监视器。在计算系统900是机械客户端设备的一部分的情况下,输出设备950可以进一步包括用于机械设备内的电机的伺服控件。
显示系统970可以包括液晶显示器(LCD)或其他合适的显示设备。显示系统970接收文本和图形信息,并且处理该信息以输出到显示设备。
外围设备980可以包括任何类型的计算机支持设备以向计算系统添加附加功能性。外围设备980可以包括调制解调器或路由器。
图9的计算系统900中包含的组件是通常在计算系统中找到的可能适合于与本发明的实施例一起使用的那些组件,并且旨在表示本领域中公知的广泛的一类这种计算机组件。因此,图9的计算系统900可以是个人计算机、手持计算设备、电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或任何其他计算设备。计算机也可包括不同的总线配置、联网平台、多处理器平台等。可使用各种操作系统,包括UNIX、Linux、Windows、Macintosh OS、Palm OS和其他合适的操作系统。
上述功能中的一些可以由被存储在存储介质(例如,计算机可读介质)上的指令组成。指令可以由处理器检索和执行。存储介质的一些示例是存储器设备、磁带、磁盘等。指令在由处理器执行时可操作来指导处理器依照本发明操作。本领域的技术人员熟悉指令、处理器和存储介质。
值得注意的是,适合于执行本文描述的处理的任何硬件平台适合于与本发明一起使用。如本文所使用的术语“计算机可读存储介质”是指参与向CPU提供指令以供执行的任一个或多个介质。此类介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,诸如固定盘。易失性介质包括动态存储器,诸如系统RAM。传输介质包括同轴电缆、铜线和光纤等,包括包含总线的一个实施例的电线。传输介质也可采取声波或光波的形式,诸如在射频(RF)和红外(IR)数据通信期间生成的声波或光波。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁性介质、CD-ROM盘、数字视频盘(DVD)、任何其他光学介质、具有标记或孔图案的任何其他物理介质、RAM、PROM、EPROM、EEPROM、FLASHEPROM、任何其他存储器芯片或盒、载波或计算机可从中读取的任何其他介质。
在将一个或多个指令的一个或多个序列运送到CPU以供执行时,可以涉及各种形式的计算机可读介质。总线将数据运送到系统RAM,CPU从系统RAM中检索并执行指令。系统RAM接收到的指令可选地在由CPU执行之前或之后被存储在固定盘上。
总之,本技术涉及一种修改语音使能设备的一个或多个唤醒词的集合的方法,包括:从用户接收口头请求;将该请求解析成自然语言请求和语音音频段,其中自然语言请求指示设备接受语音音频段作为新唤醒词;以及定义新唤醒词侦测器以识别新唤醒词作为激活触发器。
在另一示例中,本技术涉及一种修改语音使能设备的一个或多个唤醒词的集合的方法,包括:从用户接收口头请求;将该请求解析成自然语言请求和语音音频段,其中自然语言请求指示设备接受语音音频段作为新唤醒词;通过以下步骤来定义新唤醒词侦测器以识别新唤醒词作为激活触发器:将语音音频段划分成连续的音素段,将经解析的音频段与用于训练现有ASR算法的段数据集进行比较以在经解析的音频段与段数据集中的段之间找到匹配,并且使用来自现有ASR算法的一个或多个匹配的音素段来训练侦测器。
在另一示例中,本技术涉及一种修改语音使能设备的一个或多个唤醒词的集合的方法,包括:从用户接收口头请求;将请求解析成自然语言请求和语音音频段,其中自然语言请求指示设备接受语音音频段作为新唤醒词;通过以下步骤来定义新唤醒词侦测器以识别新唤醒词作为激活触发器:获得语音音频段的附加语音音频样本,将语音音频段和附加语音音频样本转换成音素序列,基于音素序列中的一个或多个音素序列定义唤醒词侦测器。
以上描述是说明性的而不是限制性的。在回故本公开后,本发明的许多变型对于本领域的技术人员而言将变得显而易见。因此,不应该参考以上描述来确定本发明的范围,而替代地应该参考所附权利要求及其等同物的完全范围来确定本发明的范围。虽然已经连同一系列实施例一起描述了本发明,但是这些描述不旨在将本发明的范围限于本文阐述的特定形式。应进一步理解,本发明的方法不一定限于所描述的离散步骤或步骤的次序。相反地,目前的描述旨在涵盖如可以被包括在如由所附权利要求所限定的本发明的精神和范围内并且由本领域的普通技术人员以其他方式领会的替代方案、修改和等同物。
本领域的技术人员将认识到,因特网服务可以被配置为向耦合到因特网服务的一个或多个计算设备提供因特网访问,并且计算设备可以包括一个或多个处理器、总线、存储器设备、显示设备、输入/输出设备等。此外,本领域技术人员可以领会,因特网服务可以耦合到可以被利用以便实现如本文所描述的本发明的实施例中的任一个实施例的一个或多个数据库、储存库、服务器等。

Claims (34)

1.一种修改语音使能设备的一个或多个唤醒词的集合的方法,包括:
从用户接收口头请求;
将所述口头请求解析成自然语言请求和语音音频段,其中所述自然语言请求指示所述设备接受所述语音音频段作为新唤醒词;以及
构建新唤醒词侦测器,以识别所述新唤醒词作为激活触发器。
2.根据权利要求1所述的方法,其中所述新唤醒词侦测器被立即构建。
3.根据权利要求1所述的方法,包括:给予所述用户对所述自然语言请求的口头响应,所述口头响应确认所述新唤醒词,其中所述新唤醒词侦测器在所述口头响应结束之前被构建。
4.根据权利要求1所述的方法,其中,所述口头请求在所述用户与所述设备之间的口头对话期间的任何时间被接收。
5.根据权利要求1所述的方法,进一步包括:定义所述新唤醒词侦测器,其中,所述新唤醒词侦测器在所述设备上本地构建。
6.根据权利要求1所述的方法,进一步包括:训练所述新唤醒词侦测器,其中,所述新唤醒词侦测器的训练在通过网络连接到所述设备的服务器上远程地执行。
7.根据权利要求1所述的方法,进一步包括:将所述新唤醒词添加到至少包括较早的唤醒词的较早唤醒词集合中,所述新唤醒词侦测器在接收到包括所述新唤醒词或来自所述较早唤醒词集合的唤醒词的语音音频段时激活所述设备。
8.根据权利要求1所述的方法,进一步包括:用所述新唤醒词替换一个或多个较早的唤醒词,使得在所述替换之后,所述设备在接收到与所述新唤醒词匹配的语音音频段时激活,而在接收到与较早的唤醒词匹配的语音音频段时不激活。
9.根据权利要求8所述的方法,进一步包括以下步骤:稍后将所述设备的唤醒词集合重置为包括所述较早的唤醒词,使得所述新唤醒词侦测器在接收到包括所述较早的唤醒词的语音音频段时激活所述设备。
10.根据权利要求8所述的方法,进一步包括:稍后将所述设备的唤醒词集合重置为出厂设置。
11.根据权利要求1所述的方法,其中基于所述语音音频段训练所述新唤醒词侦测器,并且所述训练是说话者相关的,使得当所述新唤醒词由创建了所述新唤醒词的所述用户说出时,设备将激活,而当所述新唤醒词由其他人说出时,所述设备将不激活。
12.根据权利要求11所述的方法,进一步包括:生成所述用户的话音的模型,以用于说话者验证的目的。
13.根据权利要求1所述的方法,其中基于所述语音音频段训练所述新唤醒词侦测器,并且所述训练是说话者无关的,使得当所述新唤醒词由创建了所述新唤醒词的所述用户和并未创建所述新唤醒词的其他人说出时,所述设备将激活。
14.根据权利要求1所述的方法,其中所述设备从所述用户索求针对所述新唤醒词的附加语音音频样本,并且使用所述语音音频段和所述附加语音音频样本来训练所述新唤醒词侦测器。
15.根据权利要求14所述的方法,其中所述新唤醒词侦测器的训练在所述设备上本地执行。
16.根据权利要求1所述的方法,其中构建新唤醒词侦测器的步骤包括以下步骤:使用针对所述新唤醒词的音素段的至少一些部分的缓存的侦测器来训练所述新唤醒词侦测器。
17.根据权利要求1所述的方法,其中构建新唤醒词侦测器的步骤包括以下步骤:将所述新唤醒词划分成音素段,并且使用针对所述音素段的至少一些部分的缓存的侦测器。
18.根据权利要求1所述的方法,其中构建新唤醒词侦测器的步骤包括以下步骤:将所述新唤醒词划分成音素段,并且为所述音素段构建侦测器。
19.根据权利要求1所述的方法,其中所述新唤醒词侦测器根据从远程服务器流式传输的音素段而被形成,并且被与存储在所述设备上的唤醒词的音素段进行比较。
20.一种修改语音使能设备的一个或多个唤醒词的集合的方法,包括:
接受口头话语;
将所述话语解析成自然语言请求和语音音频段,其中所述自然语言请求指示所述设备接受所述语音音频段作为新唤醒词;
使用自动语音识别来将所述新唤醒词映射到新唤醒词音素序列;以及
通过以下步骤来构建新唤醒词侦测器以识别所述新唤醒词音素序列作为激活触发器:
将所述新唤醒词音素序列划分成两个或多个连续部分音素段的序列;
对于每个部分音素段,提供对应的部分唤醒词侦测器;以及
依次将所提供的部分唤醒词侦测器组装成用于整个新唤醒词音素序列的所述新唤醒词侦测器。
21.根据权利要求20所述的方法,其中将所述新唤醒词音素序列划分成音素段的步骤包括:将所述新唤醒词音素序列划分成词的步骤。
22.根据权利要求20所述的方法,其中将所述新唤醒词音素序列划分成音素段的步骤包括:将所述新唤醒词音素序列划分成单独的音节的步骤。
23.根据权利要求20所述的方法,其中将所述新唤醒词音素序列划分成音素段的步骤包括:将所述新唤醒词音素序列划分成比音节更小的音素段的步骤。
24.根据权利要求20所述的方法,其中为部分音素段提供部分唤醒词侦测器包括:
标识按音素标记的音频段的数据集;
搜索所述数据集,以收集音素标记与所述部分音素段匹配的音频段,以及
基于所收集到的音频段,训练所述部分唤醒词侦测器。
25.根据权利要求20所述的方法,其中为部分音素段提供部分唤醒词侦测器包括:
标识通过唤醒词索引的缓存的唤醒词侦测器的合集;
针对所述部分音素段检索缓存的唤醒词侦测器。
26.根据权利要求20所述的方法,其中对于每个音素段提供对应的部分唤醒词侦测器的步骤包括以下步骤:从唤醒词侦测器的缓存中检索针对所述新唤醒词音素序列的连续音素段的部分唤醒词侦测器,并且将所述部分唤醒词侦测器组装成所述新唤醒词侦测器。
27.根据权利要求20所述的方法,其中对于每个音素段提供对应的部分唤醒词侦测器的步骤包括以下步骤:
检查存储器是否有针对音素段的缓存的唤醒词侦测器,以及
当所述音素段不具有缓存在所述存储器中的唤醒词侦测器时,为所述音素段构建唤醒词侦测器。
28.根据权利要求20所述的方法,进一步包括:将所述新唤醒词添加到至少包括较早的唤醒词的较早唤醒词集合中,所述新唤醒词侦测器在接收到包括所述新唤醒词或来自所述较早唤醒词集合的唤醒词的语音音频段时激活所述设备。
29.一种修改语音使能设备的一个或多个唤醒词的集合的方法,包括:
接收口头请求;
将所述口头请求解析成自然语言请求和语音音频段,其中所述自然语言请求指示所述设备接受所述语音音频段作为新唤醒词;以及
通过以下步骤来定义新唤醒词侦测器以识别所述新唤醒词作为激活触发器:
确定所述语音音频段的附加语音音频样本,
将所述语音音频段和所述附加语音音频样本转换为音素序列,以及
基于所述音素序列中的一个或多个音素序列定义所述新唤醒词侦测器。
30.根据权利要求29所述的方法,其中所述新唤醒词是对于提供了所述口头请求的人而言的私有唤醒词,使得所述设备在从所述人而非其他人接收到所述新唤醒词时激活。
31.根据权利要求29所述的方法,进一步包括:从用户接收反馈,以在所述音素序列中的两个或更多个音素序列彼此不相同时验证音素序列的正确性。
32.根据权利要求29所述的方法,进一步包括:将所述新唤醒词添加到至少包括较早的唤醒词的较早唤醒词集合,所述新唤醒词侦测器在接收到包括所述新唤醒词或来自所述较早唤醒词集合的唤醒词的语音音频段时激活所述设备。
33.根据权利要求29所述的方法,进一步包括:用所述新唤醒词替换较早的唤醒词,使得所述唤醒词侦测器在接收到包括所述新唤醒词的语音音频段时激活所述设备,而在接收到包括所述较早的唤醒词的语音音频段时不激活所述设备。
34.根据权利要求29所述的方法,进一步包括以下步骤:将所述设备的唤醒词集合重置为包括所述较早的唤醒词,使得所述新唤醒词侦测器在接收到包括所述较早的唤醒词的语音音频段时激活所述设备。
CN202011343264.9A 2019-12-05 2020-11-26 用于语音使能设备的动态唤醒词 Pending CN112927683A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/704,944 US11295741B2 (en) 2019-12-05 2019-12-05 Dynamic wakewords for speech-enabled devices
US16/704,944 2019-12-05

Publications (1)

Publication Number Publication Date
CN112927683A true CN112927683A (zh) 2021-06-08

Family

ID=73698732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011343264.9A Pending CN112927683A (zh) 2019-12-05 2020-11-26 用于语音使能设备的动态唤醒词

Country Status (4)

Country Link
US (2) US11295741B2 (zh)
EP (1) EP3832643A1 (zh)
JP (1) JP2021089432A (zh)
CN (1) CN112927683A (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022043675A2 (en) * 2020-08-24 2022-03-03 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
US11557278B2 (en) * 2020-12-10 2023-01-17 Google Llc Speaker dependent follow up actions and warm words
US11862155B2 (en) * 2020-12-11 2024-01-02 Google Llc Group hotwords
US11948565B2 (en) * 2020-12-11 2024-04-02 Google Llc Combining device or assistant-specific hotwords in a single utterance
US11977854B2 (en) 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989527B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989507B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
CN114333799B (zh) * 2022-03-09 2022-08-02 深圳市友杰智新科技有限公司 相近音误识别的检测方法、装置和计算机设备
US20240013782A1 (en) * 2022-07-11 2024-01-11 Google Llc History-Based ASR Mistake Corrections

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720683B1 (en) 2003-06-13 2010-05-18 Sensory, Inc. Method and apparatus of specifying and performing speech recognition operations
US8452597B2 (en) 2011-09-30 2013-05-28 Google Inc. Systems and methods for continual speech recognition and detection in mobile computing devices
US9117449B2 (en) 2012-04-26 2015-08-25 Nuance Communications, Inc. Embedded system for construction of small footprint speech recognition with user-definable constraints
US9275637B1 (en) 2012-11-06 2016-03-01 Amazon Technologies, Inc. Wake word evaluation
US9373321B2 (en) 2013-12-02 2016-06-21 Cypress Semiconductor Corporation Generation of wake-up words
US9953632B2 (en) 2014-04-17 2018-04-24 Qualcomm Incorporated Keyword model generation for detecting user-defined keyword
US9697828B1 (en) * 2014-06-20 2017-07-04 Amazon Technologies, Inc. Keyword detection modeling using contextual and environmental information
CN105575395A (zh) 2014-10-14 2016-05-11 中兴通讯股份有限公司 语音唤醒方法及装置、终端及其处理方法
CN104575504A (zh) 2014-12-24 2015-04-29 上海师范大学 采用声纹和语音识别进行个性化电视语音唤醒的方法
US9875081B2 (en) 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
US9965247B2 (en) * 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9870521B1 (en) * 2016-03-29 2018-01-16 Amazon Technologies, Inc. Systems and methods for identifying objects
CN106098059B (zh) 2016-06-23 2019-06-18 上海交通大学 可定制语音唤醒方法及系统
US10115400B2 (en) * 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US10580404B2 (en) * 2016-09-01 2020-03-03 Amazon Technologies, Inc. Indicator for voice-based communications
US10217453B2 (en) 2016-10-14 2019-02-26 Soundhound, Inc. Virtual assistant configured by selection of wake-up phrase
US10347245B2 (en) 2016-12-23 2019-07-09 Soundhound, Inc. Natural language grammar enablement by speech characterization
US11164570B2 (en) * 2017-01-17 2021-11-02 Ford Global Technologies, Llc Voice assistant tracking and activation
CN107134279B (zh) * 2017-06-30 2020-06-19 百度在线网络技术(北京)有限公司 一种语音唤醒方法、装置、终端和存储介质
US10504511B2 (en) * 2017-07-24 2019-12-10 Midea Group Co., Ltd. Customizable wake-up voice commands
KR102411766B1 (ko) 2017-08-25 2022-06-22 삼성전자주식회사 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치
US20190149987A1 (en) * 2017-11-10 2019-05-16 Amazon Technologies, Inc. Secondary device setup
US10102858B1 (en) 2017-11-29 2018-10-16 International Business Machines Corporation Dynamically changing audio keywords
US10796563B1 (en) * 2018-06-26 2020-10-06 Amazon Technologies, Inc. Configuring a secondary device
US10991364B1 (en) * 2018-09-18 2021-04-27 Amazon Technologies, Inc. Obtaining context data
CN109767763B (zh) 2018-12-25 2021-01-26 苏州思必驰信息科技有限公司 自定义唤醒词的确定方法和用于确定自定义唤醒词的装置
CN109887505A (zh) * 2019-03-11 2019-06-14 百度在线网络技术(北京)有限公司 用于唤醒设备的方法和装置
KR20200111853A (ko) * 2019-03-19 2020-10-05 삼성전자주식회사 전자 장치 및 전자 장치의 음성 인식 제어 방법
US11328717B2 (en) * 2019-04-18 2022-05-10 Lg Electronics Inc. Electronic device, operating method thereof, system having plural artificial intelligence devices
US11282500B2 (en) * 2019-07-19 2022-03-22 Cisco Technology, Inc. Generating and training new wake words
US11217245B2 (en) * 2019-08-29 2022-01-04 Sony Interactive Entertainment Inc. Customizable keyword spotting system with keyword adaptation
CN113051199A (zh) * 2019-12-26 2021-06-29 阿里巴巴集团控股有限公司 数据传输方法及装置

Also Published As

Publication number Publication date
US11948571B2 (en) 2024-04-02
US20220223155A1 (en) 2022-07-14
JP2021089432A (ja) 2021-06-10
EP3832643A1 (en) 2021-06-09
US11295741B2 (en) 2022-04-05
US20210174794A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
US11948571B2 (en) Wakeword selection
US11887604B1 (en) Speech interface device with caching component
US11380330B2 (en) Conversational recovery for voice user interface
US10917758B1 (en) Voice-based messaging
US10027662B1 (en) Dynamic user authentication
US11594215B2 (en) Contextual voice user interface
US10365887B1 (en) Generating commands based on location and wakeword
WO2017071182A1 (zh) 一种语音唤醒方法、装置及系统
US20210304759A1 (en) Automatic speech recognition with filler model processing
JP4542974B2 (ja) 音声認識装置、音声認識方法および音声認識プログラム
Reddy et al. A model and a system for machine recognition of speech
US7249019B2 (en) Method and apparatus for providing an integrated speech recognition and natural language understanding for a dialog system
US10163436B1 (en) Training a speech processing system using spoken utterances
JP2019514045A (ja) 話者照合方法及びシステム
JP2018523156A (ja) 言語モデルスピーチエンドポインティング
US11024298B2 (en) Methods and apparatus for speech recognition using a garbage model
KR20070047579A (ko) 주제 영역 검출을 이용한 대화체 음성 인식 장치 및 방법
US11302329B1 (en) Acoustic event detection
US11195522B1 (en) False invocation rejection for speech processing systems
US10417345B1 (en) Providing customer service agents with customer-personalized result of spoken language intent
JP2022110098A (ja) 音声処理
US20170270923A1 (en) Voice processing device and voice processing method
US11693622B1 (en) Context configurable keywords
US11735178B1 (en) Speech-processing system
US10854196B1 (en) Functional prerequisites and acknowledgments

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