语音用户接口的制作方法

文档序号:16808232发布日期:2019-02-10 13:17阅读:227来源:国知局
语音用户接口的制作方法

本文所描述的实施方案涉及用于在语音用户接口(voiceuserinterface)中使用的方法和系统,例如用于允许用户使用言语(speech)来控制设备的操作。



背景技术:

提供语音用户接口以允许用户使用他们的语音与系统交互。这样的一个优点(例如在诸如智能手机、平板计算机等的设备中)是它允许用户以免手持方式操作设备。

在一个典型的系统中,用户通过说出触发短语来将语音用户接口从低功率待机模式唤醒。言语识别技术被用来检测已经说出了触发短语,并且单独地,说话人识别过程被用来确认触发短语是由设备的注册用户说出的。

然后,语音用户接口可以向用户提供提示,以确认系统是活动的(active),然后用户可以说出命令,该命令可以由语音用户接口使用言语识别技术识别。

然后,语音用户接口可以对说出的命令起作用。例如,如果说出的命令要求公开可得的信息,则说出的命令可以被识别,并且被用来生成对因特网搜索引擎的查询,以能够将信息提供给用户。

然而,在其他情况下,例如如果说出的命令涉及个人信息,则由说话人识别过程提供的认证级别可能被认为不足以使语音用户接口对该命令起作用。在这样的情况下,可能要求用户提供附加形式的认证,例如通过设备的小键盘输入pin号码或密码,或通过提供附加的生物认证,诸如指纹扫描。

这意味着用户不再能够以免手持方式操作设备。



技术实现要素:

根据本文描述的实施方案,提供了减少或避免上文所提及的缺点中的一个或多个的方法和系统。

根据本发明的第一方面,提供了一种认证说话人的方法,包括:

接收言语信号;

将该言语信号分成多个段;

在每个段之后基于所述段和先前接收的段获得认证得分,其中该认证得分表示该言语信号来自特定的注册说话人的可能性;以及

响应于认证请求,基于该认证得分输出认证结果。

可以通过将该言语信号的特征与在登记该注册说话人期间生成的模型进行比较来获得该认证得分。

该言语信号可以表示多个离散的言语片段。

第一段可以表示触发短语。然后该方法可以包括响应于检测到该触发短语已经被说出执行获得认证得分的步骤和输出认证结果的步骤。

该方法可以包括在该触发短语之后,将该言语信号划分成多个长度相等的段。例如,该方法可以包括在该触发短语之后,将该言语信号划分成多个覆盖相等长度的时间周期的段,或可以包括在该触发短语之后,将该言语信号划分成多个包括相等持续时间的净言语的段。

该方法可以包括将该认证得分与第一阈值得分进行比较,并且如果该认证得分超过该第一阈值得分,则确定肯定的认证结果。

可以响应于从一个单独的过程接收的信号来设定该第一阈值得分。

该方法可以包括从该单独的过程接收信号,以及从多个可用的阈值得分选择该第一阈值得分。

从该单独的过程接收的信号可以指示请求的安全级别。

该单独的过程可以是一个言语识别过程。

该方法可以包括将该认证得分与第二阈值得分进行比较,并且如果该认证得分在该第二阈值得分以下,则确定否定的认证结果。

可以响应于从一个单独的过程接收的信号来设定该第二阈值得分。

该方法可以包括从该单独的过程接收信号,并从多个可用的阈值得分选择该第二阈值得分。

从该单独的过程接收的信号可以指示请求的安全级别。

该单独的过程可以是一个言语识别过程。

该方法可以包括响应于确定已经说出触发短语来启动该方法。

该方法可以包括从一个言语识别过程接收认证请求。

该认证请求可以请求当该认证得分超过阈值时输出该认证结果,或请求当该言语信号结束时输出该认证结果。

在每个段之后基于所述段和先前接收的段获得认证得分的步骤包括:

基于第一段获得第一认证得分;

基于每个后续段获得相应的后续认证得分;以及

通过合并该第一认证得分和所述或每个后续认证得分,基于所述段和先前接收的段获得该认证得分。

合并该第一认证得分和所述或每个后续认证得分的步骤可以包括形成该第一认证得分与所述或每个后续认证得分的加权和。

该方法可以包括通过应用取决于适用于相应的段的相应的信噪比的加权或通过应用取决于在相应的段中存在的言语的量的加权来形成该第一认证得分和所述或每个后续认证得分的加权和。

该方法可以包括通过忽视一些或所有异常值得分来形成该第一认证得分和所述或每个后续认证得分的加权和。例如,该方法可以包括通过忽视低异常值得分同时保留高异常值得分来形成该第一认证得分和所述或每个后续认证得分的加权和。

在每个段之后基于所述段和先前接收的段获得认证得分的步骤可以包括:

基于该言语信号的第一段获得第一认证得分;以及

在该言语信号的每个新段之后,将该言语信号的新段与该言语信号的所述或每个先前接收的段组合,以形成新的组合言语信号;以及

基于所述新的组合言语信号获得认证得分。

在每个段之后基于所述段和先前接收的段获得认证得分的步骤可以包括:

从每个段提取特征;

基于该言语信号的第一段的提取特征获得第一认证得分;以及

在该言语信号的每个新段之后,将该言语信号的新段的提取特征与该言语信号的所述或每个先前接收的段的提取特征组合;以及

基于所述组合提取特征获得认证得分。

该方法可以包括:在确定肯定的认证结果之后:

启动一个运行一预定时间周期的定时器;并且

只要该定时器正在运行,就将该特定的注册说话人视为已认证。

该方法可以包括:如果在该定时器运行时确定新的肯定的认证结果,则重新启动该定时器。

根据本发明的一个方面,提供了一种用于处理表示用户言语的接收信号、用于执行说话人识别的设备,其中该设备被配置为:

接收言语信号;

将该言语信号分成多个段;

在每个段之后基于所述段和先前接收的段获得认证得分,其中该认证得分表示该言语信号来自特定的注册说话人的可能性;以及

响应于认证请求,基于该认证得分输出认证结果。

该设备可以包括移动电话、音频播放器、视频播放器、移动计算平台、游戏设备、遥控器设备、玩具、机器或家庭自动化控制器或家用电器。

该设备还可以被配置为对该接收信号的至少一部分执行言语识别。

该设备还可以被配置为用于将该接收信号的至少一部分转移到一个远程设备以进行言语识别,在此情况下,该设备还可以被配置为接收言语识别的结果。

根据本发明的一个方面,提供了一种用于处理表示用户言语的接收信号、用于执行说话人识别的集成电路设备,其中该集成电路设备被配置为:

接收言语信号;

将该言语信号分成多个段;

在每个段之后基于所述段和先前接收的段获得认证得分,其中该认证得分表示该言语信号来自特定的注册说话人的可能性;以及

响应于认证请求,基于该认证得分输出认证结果。

可以使用存储在所述设备中的至少一个用户模型或背景模型来获得认证得分。

本发明还提供了一种非暂时性计算机可读存储介质,具有存储在其上的计算机可执行的指令,当由处理器电路系统执行时,所述计算机可执行的指令导致该处理器电路系统执行上文阐述的方法中的任何一个。

附图说明

为了更好地理解本发明,并且为了更清楚地示出如何有效实施本发明,现在将仅通过实施例的方式参考附图,在附图中:

图1是电子设备的示意性视图;

图2是电子设备的另一个示意性图解;

图3是例示一种方法的流程图;

图4是例示处理系统的块图;以及

图5是例示了该处理系统的操作的时间历史(timehistory)。

具体实施方式

为清楚起见,在此将注意到,此描述涉及说话人识别和言语识别,它们意在具有不同的含义。说话人识别是指提供关于说话的人的身份信息的技术。例如,说话人识别可以从一组先前注册的个体之中确定说话人的身份,或可以提供指示说话人是否是特定个体的信息,用于识别或认证的目的。言语识别是指用于确定所说的内容和/或所说的内容的含义的技术,而不是识别说话的人。

图1示出了根据本发明的一个方面的设备。该设备可以是任何合适类型的设备,诸如移动计算设备(例如膝上型计算机或平板计算机)、游戏控制台、远程控制设备、包括家用温度或照明控制系统的家庭自动控制器或家用电器、玩具、机器(诸如机器人)、音频播放器、视频播放器等,但是在此例示性实施例中,该设备是移动电话,并且具体地是智能手机10。智能手机10可以通过合适的软件被用作用于控制任何其他另外的设备或系统的控制接口。

智能手机10包括用于向用户显示信息的屏幕12、用于允许声音被麦克风到检测的声音入口14、以及用于允许附件连接到该设备的插座插孔(jacksocket)16或其他端口或容座(receptacle)。

图2是示出了智能手机10的示意性图解。在此实施例中,智能手机10包括麦克风20,该麦克风可以例如靠近图1中示出的声音入口14定位。由麦克风20生成的电子信号被传递到信号处理块22,该信号处理块执行信号的初始信号处理,例如将从麦克风20接收的模拟信号转换为数字信号。

智能手机10还包括附件接口24,该附件接口可以例如靠近图1中示出的插座插孔16定位。插座插孔16和接口24可以适合于允许头戴式送受话器(headset)附件与其连接,并且从这样的附件上的麦克风接收的信号也被传递到信号处理块22,该信号处理块执行信号的初始信号处理。

信号处理块22被连接到处理器26,该处理器基于存储在存储器28中的数据和程序指令执行如本文所描述的方法。具体地,可以在处理器26上通过执行以非暂态形式存储在存储器28中的指令来执行本文所描述的方法,其中程序指令是在设备10制造期间存储的或在设备10在使用时上传的。

处理器26被连接到接口30,该接口本身被连接到天线32,允许通过外部网络将信号传输到远程设备和从远程设备接收信号。

在其他实施例中,执行本文所描述的方法的设备可以以合适的形式接收所要求的输入信号,而不需要执行任何在前的信号检测或信号处理,并因此不要求该设备包括信号处理块22。

在一些实施例中,可以在经由外部网络与例如远程计算服务器或家庭网络中的服务器通信的外部设备上执行下文所描述的一些处理。在其他实施例中,可以在单个设备中执行下文所描述的所有处理,而不要求该设备包含到任何外部设备或网络的任何接口。

图3是例示了根据一个实施方案的语音用户接口的操作方法的流程图。

如下文更详细描述的,在用户已经在系统注册之后执行图3中示出的过程,用户在系统注册例如是通过提供可以被用来形成用户言语的一个或多个模型的一个或多个语音样本集合。典型地,注册或登记过程要求用户提供言语输入,然后使用这些言语输入来形成用户言语的模型,从在先开发阶段中定义的特定背景模型开始。因此,该背景模型和言语输入是用来形成用户言语的模型的登记过程的输入。随后,在验证期间,如下文更详细描述的,将另外的言语输入与用户言语的模型进行比较,以及与背景模型进行比较,以提供输出。此比较的输出可以例如是指示在验证阶段期间接收的言语输入是由在登记期间提供所述言语输入的相同用户提供的似然性的数值。指示该似然性的数值可以是例如对数似然比(llr)或可以是某个更间接的指示,例如言语样本的提取特征与某个一维或多维阈值的距离的度量(metric)。

语音用户接口可以将其大部分时间花费在待机状态,以节省功率。可以提供语音活动检测块,用于确定由麦克风检测到的声音何时表示言语。在一些实施方案中,存储从麦克风接收的信号。然后,当该语音活动块确定由麦克风检测到的声音表示言语时,分析那些存储的信号,如下文所描述的。

被确定表示言语的信号可以被发送到言语识别块,以确定言语的内容。可以响应于确定已经说出预定的触发短语而启动下文所阐述的方法。

在步骤50中,语音用户界面接收言语信号。该言语信号可以例如由与虚拟助理的交互造成。例如,在一个典型的交互中,用户可以首先说出触发短语以唤醒虚拟助理,然后可以说出初始查询,响应于此,该虚拟助理提供一些信息,然后用户说出另外的命令。因此,该言语信号可以表示言语的多个离散的片段。在其他情况下,该言语信号可以表示来自用户的连续言语。

在步骤52中,接收的言语信号被划分成多个段。此划分可以在正在接收该言语信号时进行。

例如,当该言语信号含有触发短语、加上一个或多个后续说出命令或查询时,该触发短语可以被视为第一段。

该言语信号的在该触发短语之后的部分可以被划分成多个长度相等的段。更具体地,该言语信号的在该触发短语之后的部分可以被划分成多个覆盖相等长度的时间周期的段。替代地,该言语信号的在该触发短语之后的部分可以被划分成多个包括相等持续时间的净言语的段。

也就是说,该言语信号可以覆盖几秒的周期。在一些情况下,用户将在整个这个周期内说话。在其他情况下,将存在虚拟助理正在提供输出的周期,并且将存在沉默周期。在这样的情况下,该言语信号的在该触发短语之后的部分可以被划分成多个覆盖相等长度的时间周期(例如1秒)的段,即使不同的段将含有不同量的用户的言语。替代地,该言语信号的在触发短语之后的部分可以被划分成多个包括相等持续时间的用户的言语的段,即使这些段然后可以覆盖不同的持续时间。

在步骤54中,识别到一个言语段已经完成。例如,这可以是在相等长度的时间周期中的一个已经到期时,或在预定持续时间的用户的言语已经被接收时。

在步骤56中,基于新完成的言语段和先前接收的段获得认证得分。该认证得分表示该言语信号来自特定的注册说话人的可能性。

在步骤58中,响应于认证请求,基于该认证得分输出认证结果。例如,可以从言语识别过程接收认证请求。

可以通过将该认证得分与阈值得分进行比较来生成该认证结果,并且如果该认证得分超过该阈值得分,则确定肯定的认证结果。可以根据接收的请求的安全级别来设定该阈值得分。例如,系统可以从外部系统接收信号,然后可以响应于请求的安全级别从多个可用的阈值得分选择该阈值得分。可以从言语识别过程接收请求的安全级别。

因此,例如,该言语信号可以被发送到言语识别系统,该言语识别系统确定用户的言语的内容和含义。然后可以基于言语的内容来确定该阈值得分。例如,可以响应于言语的内容从多个可用的阈值得分选择该阈值得分。

例如,当该言语识别系统识别到用户的言语含有命令时,只有在获得肯定的认证结果时才可以执行该命令。如果命令是对信息的请求,例如对关于两个城市之间的飞行时间的信息的请求,则可以设定低阈值得分,因为错误决定接受来自登记用户的言语的后果不严重。然而,例如,如果命令是提供个人信息的请求或授权金融交易的请求,则错误决定接受来自登记用户的言语的后果要严重得多,因此可以设定高阈值得分,以使得仅当系统高度确定言语信号确实表示登记用户的言语时才输出肯定的认证结果。

如上文所提及的,响应于认证请求来输出认证结果。当认证得分超过该阈值得分时,该认证请求可以请求输出认证结果。这可能遇到超时,使得如果在预定的时限内不能够认证用户,则拒绝该用户并且过程结束。

替代地,该认证请求可以请求立即输出认证结果。

替代地,该认证请求可以请求在某个将来时间(例如当言语信号结束时)输出认证结果。

如果在步骤56之后确定不需要输出认证结果,例如,因为认证得分尚未超过阈值得分并且言语信号尚未结束,则该过程可以返回步骤54。

步骤56——其包括在每个段之后,基于所述段和先前接收的段获得认证得分——然后可以包括:基于第一段获得第一认证得分;基于每个后续段获得相应的后续认证得分;通过合并该第一认证得分和所述或每个后续认证得分,基于所述段和先前接收的段获得认证得分。

因此,对于每个段获得一个单独的得分,并且合并这些单独的得分。例如,合并该第一认证得分和所述或每个后续认证得分的步骤可以包括形成该第一认证得分和所述或每个后续认证得分的加权和。该加权和可以例如基于相应的段中的信号/噪声比或基于相应的段中的用户的言语的量或基于其他因素来为来自不同的段的得分赋予不同的加权。

此对得分进行加权的过程也可以被用来移除明显异常值的影响,其中一个段的得分与从先前处理的段获得的得分非常明显地不同。例如,所有异常值可以被赋予零加权,即在合并认证得分时被有效地丢弃。替代地,可以保留高认证得分(即表示肯定的认证决定),而异常低认证得分可以被赋予零加权,即在合并认证得分时被有效地丢弃。在此情况下,应注意,例如在说话人改变的情况下,对于一个段可能获得低认证得分,并且可能这最初被视为异常值并且被忽视,但是随后可以被视为典型的得分,然后将被充分考虑。

替代地,中值过滤器可以被应用于认证得分,从而为更新的得分提供稳定性。

替代地,步骤56——其包括在每个段之后,基于所述段和先前接收的段获得认证得分——然后可以包括:基于言语信号的第一段获得第一认证得分;并且,在言语信号的每个新的段之后,将言语信号的新的段与言语信号的所述或每个先前接收的段组合,以形成新的组合言语信号;并基于所述新的组合言语信号获得认证得分。

因此,针对第一段获得一个得分,但是在每个新的段之后,对于该新的段不存在单独的得分,而是对于迄今为止的整个信号仅存在一个新的得分。

作为另一替代方案,可以针对一个或多个第一段获得第一得分。然后,可以针对一个或多个第二段获得单独的第二得分。然后该第一得分和该第二得分可以被合并以获得总体认证得分。此替代方案例如可以在言语的第一段是触发短语而第二段表示说出的命令的情形下有用。因为该触发短语是预先已知的,所以系统可以由说出该已知的触发短语的用户训练,允许使用与文本相关的说话人识别技术来获得第一认证得分。然而,可能存在大量可能的命令,使将由说出这些命令的用户训练系统不切实际的。因此,需要使用与文本无关的说话人识别技术来获得单独的第二认证得分。

图4是例示了在一个实施方案中用于在虚拟助理系统中使用的说话人识别系统80的一般形式的块图。可以在智能手机10的处理器26中执行图4中例示的功能,如图2中示出的,或可以在单独的系统中(例如在云计算环境中)执行这些功能。通常,有利地可以远程地执行计算密集的任务以节省便携式设备中的功率,并且类似地,可以远程地执行将对便携式设备施加不切实际的数据存储要求的任务,而有利地可以在用户的智能手机中执行计算不太密集的任务和涉及私有数据的任务。例如,可以远程地执行言语识别,而在智能手机本身中执行说话人识别,但是可以设想许多不同的任务分配。

在此实施例中,假设用户已经在登记阶段期间通过向系统提供说出的输入来向该系统登记,以训练该系统。此进一步描述则涉及验证阶段,在该验证阶段期间确定说话人是否可以被认为是登记用户。

在此实施例中,系统80包括用于确定是否已经检测到触发短语的块82。此块典型地将含有一个缓冲器,该缓冲器将连续地存储言语信号的最近接收的部分。在此情况下,缓冲器应足够长以存储至少预期触发短语的持续时间的言语。然后,当块82确定已经说出了触发短语时,块82向分离触发/命令块84发送信号,而没有做出关于该触发短语是否是由登记用户说出的任何确定。此信号是从该缓冲器提取的,并且含有存储的言语信号的包括存储的触发短语的部分。

触发短语的检测可以使用语音活动检测器(vad)和/或言语识别过程。

在此例示的实施例中,假设用户的言语含有触发短语(例如“ok电话”等),然后是命令。分离触发/命令块84确定触发短语何时已经结束和命令即将开始。

仅仅通过将已知的触发之后的所有内容视为命令的一部分,就可以识别命令的开始。替代地,可以使用言语识别过程来确定用户在触发之后已经开始说话。

触发/命令块84将言语信号的表示触发短语的那部分发送到处理触发块86,该处理触发块对触发短语执行说话人识别过程。因为触发短语是预先已知的,所以可以在登记期间由说出该已知的触发短语的用户训练说话人识别系统。这允许在验证阶段期间由处理触发块86使用与文本相关的或受文本约束的说话人识别技术,以获得第一认证得分。第一认证得分指示在验证阶段期间接收的言语输入由在登记期间提供该言语输入的相同用户提供的似然性。

试图检测诸如登记用户的重放记录或恶意软件攻击之类的攻击的反欺骗方法可以被包括在处理触发块86中,以提供关于第一认证得分的稳健性的信息。

然后,触发/命令块84将输入言语信号的表示命令短语的部分流式传输到新命令段块88。

尽管到目前为止已经参考触发短语的使用描述了该系统,但是应注意,在其他实施例中,可能不存在触发短语,并且系统可以由用户的某个其他动作(诸如按下按钮或执行某个其他形式的认证)激活。在该情况下,整个言语信号被传递到新命令段块88。

新命令段块88还接收指示虚拟助理何时正在说话的信息。例如,虚拟助理可以响应于命令向用户说话以从用户套出另外的信息,并且因此在该情况下用户的言语可以被说话的虚拟助理中断。

新命令段块88将接收的言语信号划分成用户的言语的多个段,除去了由虚拟助理生成的任何语音。

在此实施例中,在触发短语之后的用户的言语被划分成多个长度相等的段。更具体地,在此实施例中,言语信号的在触发短语之后的部分被划分成多个覆盖相等长度的时间周期(例如1秒)的段。如上文所提及的,新命令段块88可以将在触发短语之后的接收的言语信号划分成多个覆盖相等长度的时间周期的段,或例如被划分成包括多个相等持续时间的净语音的段。

命令的每个新段一被完全接收就被传递到处理命令段块90。此块对命令的内容执行说话人识别。典型地,说话人识别的过程涉及提取言语信号的相关特征,例如梅尔频率倒频谱系数(mfcc),并且使用这些特征作为统计说话人识别过程的基础。

当接收到命令的第一段时,它由块90中的语音生物测定系统处理,以获得表示说话人是先前登记的说话人的可能性的得分。此得分被存储在更新命令得分块92中。

块90中的语音生物测定系统通常将是与文本无关的或不受约束的系统,因为通常不会预先知道用户会说什么。在块90中执行的说话人识别过程可以与用于在块86中处理触发短语的系统完全相同,或它可以共享该系统的某些方面(例如,它可以使用相同的算法但使用不同的背景模型),或它可以是完全不同的。

当命令的第一段已经被处理时,与该段有关的一些信息被提取。

提取的信息被存储在累积评分信息块94中。

在一个实施例中,此信息仅包括第一段的认证得分。然后,当接收到命令的第二段时,完全独立于第一段,通过语音生物测定块90处理第二段,以获得第二段的认证得分。

然后,更新命令得分块92将来自第一段和第二段的得分组合,以获得命令的更新得分。例如,该组合可以是个体得分的加权和。作为其一个实施例,可以通过每个段中用户的言语的持续时间来将得分加权。例如,如果第一段含有600毫秒的用户的言语而第二段含有300毫秒的用户的言语,则在组合得分中赋予第一段的得分的加权是第二段的加权的两倍。

为了允许使用此加权,存储在累积评分信息块94中的信息包括在计算相关得分时考虑的用户的言语的持续时间。

然后,当接收到命令的第三段时,也完全独立于第一段和第二段,通过语音生物测定块90处理第三段,以获得第三段的认证得分。

然后,更新命令得分块92将来自第三段的得分与第一段和第二段的组合得分组合,以获得命令的更新得分。同样,该组合可以是个体得分的加权和,并且得分可以通过在形成每个得分时使用的用户的言语的持续时间来加权。

下文参考融合块96讨论用于融合在不同的段上获得的得分的其他技术。例如,赋予认证得分的加权可以取决于与每个段相关联的某个质量量度(qualitymeasure),诸如在该段期间测量的相应的噪音比。

作为另一个实施例,存储在累积评分信息块94中的信息可以包括在命令中接收的整个音频信号。

在该情况下,当接收到新的命令段时,处理命令段块90可以对包括新接收的段的整个命令音频执行新的认证过程。然后,更新命令得分块92用新计算的认证得分替换先前获得的认证得分。

作为另一个实施例,存储在累积评分信息块94中的信息可以包括言语信号的提取的相关特征,诸如先前提及的mfcc。

在该情况下,当接收到新的命令段时,处理命令段块90可以对从整个命令音频(包括新接收的段)提取的特征执行新的认证过程。然后,更新命令得分块92用新计算的认证得分替换先前获得的认证得分。

每次通过更新命令得分块92更新命令的认证得分时,融合块96基于处理触发块86和更新命令得分块92的输出来计算新的认证得分。

在此实施例中,融合块96因此将对触发和命令执行的说话人识别过程的结果进行组合,以获得指示用户是登记用户的似然性的组合认证得分。指示该似然性的组合认证得分可以是例如对数似然比(llr)或可以是某个更间接的指示,例如,言语样本的提取特征与多维言语参数空间中的某个一维或多个阈值或标称点或体积的距离的度量。

可以从单独的认证得分(即通过任何合适的方法对触发和命令执行的说话人识别过程的结果)获得组合认证得分。例如,该组合认证得分可以是分别从触发和命令获得的认证得分st和sc的加权和sf。也就是说,一般地说:

sf=αst+βsc+γ

加权因数α、β和γ可以是恒定的和预先确定的。

替代地,将对第一语音段和第二语音段执行的说话人识别过程的结果进行组合以获得组合认证得分的步骤可以使用质量量度来确定应如何将所述结果进行组合,以改善决定的可靠性。也就是说,对于触发段和命令段获得单独的质量量度,然后将这些质量量度用作将认证得分进行组合的过程的另外的输入。

这些质量量度可以例如基于触发短语和命令的属性。某些触发将比其他触发更适合于在语音生物测定中使用,因为它们的持续时间更长,或因为它们含有更多的语音可变性并且因此它们提供更多信息来区分说话人。由于相同的原因,某些命令将比其他命令更适合于在语音生物测定中使用。其他方面(诸如在第一语音段或第二语音段中存在非平稳(no-stationary)噪声)可以使一个语音段比另一个语音段更可靠。

在一个实施方案中,定义了一个质量量度集合,即用于触发的质量量度qt的集合和用于命令的质量量度qc的集合,并且基于所述质量量度来设定加权因数α、β和γ的值。然后将获得作为这些质量量度的函数的加权和sf:

sf=α(qt,qc)st+β(qt,qc)sc+γ(qt,qc)

将质量量度qt、qc映射到加权因数α、β和γ的函数是系统设计的一部分,并且因此在系统被部署用于用户登记或验证之前,在开发阶段期间被获得和被定义。因为质量量度qt、qc对于不同样本是不同的,所以在开发阶段之后由在使用中的这些函数返回的值将对于不同样本是不同的。

可以在开发阶段期间基于用大量的言语样本锻炼该系统来获得所述函数,所述言语样本被布置为具有一定范围的不同值的质量量度。

可以在开发阶段之前定义函数的形式,并且可以优化系数以提供最佳拟合。在一些实施方案中,函数可以不是代数函数,而是可以包括查找表的形式,该查找表含有在质量量度的值的范围上优化的优化系数或应用于质量量度的优化范围的固定值。更一般地,函数可以是某个更复杂的算法的结果,所述更复杂的算法由一些系数表征并且递送取决于质量量度的值。

在一些实施方案中,组合得分可以是得分sf和sc的非线性组合,其可以例如以以下形式表示:

sf=α(qt,qc,st)st+β(qt,qc,sc)sc+γ(qt,qc)

其中每个加权因数α或β可以连续地或非连续地取决于相应的得分。

更一般地,组合得分可以是从对第一语音段和第二语音段执行的说话人识别过程获得的得分st和sc和应用于上述语音段的质量量度qt和qc的任何函数。也就是说:

sf=f(st,sc,qt,qc)

其中f可以是任何函数。

得分st和sc的值以及质量量度qt和qc的值可以被应用于神经网络,该神经网络则产生组合得分sf的值。

当确定将被赋予第一说话人识别过程和第二说话人识别过程的结果的加权时,可以考虑不同的质量量度。

一种合适的质量量度是信噪比(snr),信噪比可以例如在输入的触发和输入的命令中分别测量到。在非平稳噪声的情况下,其中snr快速变化,较高的加权可以被赋予从具有较高snr的输入言语段获得的结果。

另一种合适的质量量度是净言语量度。如关于所例示实施方案讨论的,可以根据命令中的言语的量来增大赋予从命令获得的得分的加权。也就是说,命令中(排除非言语段)实际含有言语的片段的总长度被测量,例如以时间单位(诸如秒),并且这被用来形成相对于应用于触发的加权、将被应用于命令的加权。

由融合块96响应于音频输入的新段生成的新认证得分被传输到决定更新块98,该决定更新块产生认证结果,在此实施例中,该认证结果是具有两个可能值(即“用户被认证”和“用户未被认证”)的认证标记。通过将认证得分与阈值进行比较获得认证结果。该阈值可以是固定的,或可以取决于某个可变标准。例如,该阈值可以由安全级别确定。对于低安全性系统或系统内的低安全性命令,可以容忍相对高的错误接受率(far),并因此可以设定低阈值。在该情况下,表示用户是登记用户的相对低置信度的相对低的认证得分可能仍然超过阈值。对于高安全性系统或系统内的高安全性命令,可能要求相对较低的错误接受率(far),并因此可以设定高阈值,使得仅表示用户是登记用户的高置信度的高认证得分将超过阈值。

可以从外部过程(例如从确定用户言语的内容的言语识别过程)接收指示所要求的安全级别的输入,并因此这可以被用来设定阈值。决定更新块98可以存储多个阈值,其中响应于从外部过程接收的信号来选择这些阈值中的一个,然后通过将认证得分与所选择的阈值进行比较来获得认证结果。

在一些实施方案中,可以将认证得分与多个阈值进行比较,以给出多个临时认证结果。在此实施例中,系统可以包括多个寄存器,以存储对应的认证标记,所述认证标记指示将认证得分与相应的阈值进行比较的结果。

然后可以响应于认证请求输出认证结果。例如,当要求认证时,可以由外部过程(例如,移动设备中的应用程序处理器,ap)咨询该认证标记,或可以在每一个段已经被处理之后,或当认证结果改变时,或当满足结束过程的预定义条件时,由决定更新块98推送认证结果。认证请求可以设定用于输出认证结果的条件。

因此,决定更新块98可以仅基于融合块96的最近输出来设定认证标记。

在一些实施例中,决定更新块98以意在在提出的系统内提供附加稳定性的方式设定认证标记,在此情况下,每当认证得分在相关阈值以上时,认证标记被设定为“用户被认证”。一个定时器(被称为认证定时器)被启动并且运行一预定时间周期。如果计算出在相关阈值以上的新认证得分,则重新启动该定时器。

然后,在认证定时器的持续时间内,无论在该周期期间认证得分发生什么,认证标记被维持处于“用户被认证”状态。这保证了在认证定时器的持续时间内用户保持认证,并且在命令结束之后发生的沉默或外来噪声不影响认证过程。此定时器的持续时间应足够长,使得在命令结束之后认证标记保持设定为“用户被认证”足够长的时间,以使得外部(可能是远程)语音处理系统可以解译该命令并且可以通过相关的通信网络请求认证标记状态。然而,定时器的持续时间不应被设定得太长,以使得其他说话人能够在登记用户说出的命令之后发出命令修改,并且默认情况下会自动认证这些命令修改。因此,定时器持续时间可以短至几十毫秒或长达几秒。

在决定更新块98已经设定了认证标记之后,结束条件块100确定该过程是应结束还是应继续。

因此,每次更新决定时,都会检查一个结束条件集合。控制虚拟助理的过程可以指示不再期望命令,并且因此音频过程应完成。作为响应,结束对输入音频的处理,并且系统返回到等待新触发的状态。这典型地伴随着来自请求当前认证标记值的主要过程的认证请求。替代地,决定更新块98可以在此时将当前认证标记值推送到主要应用程序。

图5是例示了在一个实施例中系统80的操作的时序图。

在此实施例中,用户发出2秒的触发短语120(“ok电话”),接着是6秒的命令122(“发送文本消息至john,说我会到,在三十分钟以后”)。在其他实施例中,用户可以用多个离散言语片段来执行与虚拟助理系统的更复杂的交互,例如选择要订购的商品,然后响应于来自虚拟助理的第一查询指示递送地址,然后响应于来自虚拟助理的第二查询来授权支付方法,在这样的情况下,系统在形成用于在语音生物测定处理中分析的言语段时排除虚拟助理的言语。

图5沿着说出的话语下方的水平线以分和秒为单位示出了时间(00:00,00:01,00:02,00:12)。

图5还示出了语音生物测定处理。

在触发短语已经完成时,触发检测系统可以检测它。在一些情况下,只有在检测到触发时才会激活语音生物测定处理系统。

因此,在此实施例中,通过语音生物测定处理系统中的处理触发块88对触发短语的处理可以在时间00:02开始。

处理言语块所花费的时间通常将比言语的持续时间少。因此,在此情况下,触发短语被处理,并且触发的认证得分在时间00:03.2是可得的。

图5还示出了认证得分和认证结果的演变,在此实施例中,通过将认证得分124与中等高的阈值126进行比较来获得认证结果。

在触发短语已经被处理之前,没有可得的身份认证得分,因此系统不能够产生任何认证结果。

当触发短语已经被处理时,认证得分将是可得的,但是触发短语含有的信息相对少,因此认证得分不足够高到超过阈值,这是因为基于此有限的信息不可能确定用户是系统的登记用户。

因此,认证结果被设定为“用户未被认证”。

图5示出了命令短语122,该命令短语其被划分成六个段128、130、132、134、136、138,每个段具有1秒的持续时间。

一旦语音生物测定系统已经完成了触发短语的处理,它就处理命令的第一段128。这在时间00:03.8完成,此时认证得分可以被更新以产生新的组合认证得分。

在此实施例中,基于触发和1秒的命令的更新的认证得分不超过阈值126。因此,认证结果保持设定为“用户未被认证”。

语音生物测定系统然后处理命令的第二段130。这在时间00:04.7完成,此时认证得分可以被更新以产生新的组合认证得分。在此实施例中,基于触发和2秒的命令的更新的认证得分不超过阈值126。因此,认证结果保持设定为“用户未被认证”。

然后,语音生物测定系统处理命令的第三段132。这在时间00:05.7完成,此时认证得分可以被更新以产生新的组合认证得分。

在此实施例中,基于触发和3秒的命令的更新的认证得分确实超过阈值126。

因此,认证结果现在被设定为“用户被认证”。此时,系统可以将认证结果“用户被认证”作为输出推送,但是在此情况下,已经设定的结束条件是系统应等待认证请求。

然后,语音生物测定系统处理命令的第四段134。这在时间00:06.7完成,此时认证得分可以被更新以产生新的组合认证得分。

在此实施例中,基于触发和4秒的命令的更新的认证得分仍然超过阈值126,因此认证结果保持设定为“用户被认证”。

语音生物测定系统然后处理命令的第五段136。这在时间00:07.7完成,此时认证得分可以被更新以产生新的组合认证得分。

在此实施例中,基于触发和5秒的命令的更新的认证得分仍然超过阈值126,因此认证结果保持设定为“用户被认证”。

图5还示出语音生物测定系统然后处理命令的第六段138。这在时间00:08.7完成,此时认证得分可以被更新以产生新的组合认证得分。在此实施例中,基于触发和整个6秒的命令的更新的认证得分仍然超过阈值126,因此认证结果保持设定为“用户被认证”。

然而,图5还示出,在此实施例中,外部过程在时间00:08.2请求认证。例如,这可能发生,因为外部过程已经识别出命令122已经结束。

系统能够在时间00:08.2以结果“用户被认证”立即响应,这是因为基于触发和5秒的命令的更新的认证得分超过阈值126。因此系统能够以非常小的延迟响应,原因是认证结果先前已经被计算并且已经是可用的,而无需完成对整个命令的语音生物测定处理。

图5示出了了一个实施例,其中认证结果可以是“用户被认证”或“用户未被认证”,其中在系统已经获取了足以以所要求的确定度认证用户的信息之前,典型地最初输出“用户未被认证”结果。

在其他实施例中,可以将认证得分与第一阈值和第二阈值进行比较。在该情况下,该第一阈值可以被设定到如下的水平,该水平意味着,当超过第一阈值时,高度确定说话人是登记用户,因此认证结果可以指示用户被认证。第二阈值可以被设置为如下的水平,该水平意味着,如果认证得分在第二阈值以下,则高度确定说话人不是登记用户。认证结果则可以指示这。如果认证得分在第一阈值和第二阈值之间,则不确定说话人是否是登记用户,并且认证结果可以指示用户尚未被认证。

因此,可以连续地执行认证说话人的过程。

因此,技术人员将认识到,上文提及的仪器和方法的一些方面(例如由处理器执行的计算)可以被具体化为处理器控制代码,例如在非易失性载体介质(诸如磁盘、cd-或dvd-rom)、被编程的存储器(诸如只读存储器(固件)上,或在数据载体(诸如光信号载体或电信号载体)上。对于许多应用,本发明的实施方案将在dsp(数字信号处理器)、asic(专用集成电路)或fpga(现场可编程门阵列)上实施。因此,代码可以包括常规的程序代码或微代码,或例如用于设置或控制asic或fpga的代码。代码还可以包括用于动态地配置可重新配置的仪器(诸如可重新编程的逻辑门阵列)的代码。类似地,代码可以包括用于硬件描述语言(诸如verilogtm或vhdl(超高速集成电路硬件描述语言))的代码。如技术人员将理解的,代码可以被分布在彼此通信的多个耦合的部件之间。在适当的情况下,还可以使用现场可(重新)编程的模拟阵列或类似设备上运行以配置模拟硬件的代码来实现实施方案。

本发明的实施方案可以被布置为音频处理电路(例如可以被设置在主机设备中的音频电路)的一部分。根据本发明的一个实施方案的电路可以被实施为集成电路。

各实施方案可以被实施在主机设备中,例如,该主机设备尤其是便携式的和/或电池供电的主机设备,诸如移动电话、音频播放器、视频播放器、pda、移动计算平台(诸如膝上型计算机或平板计算机)和/或游戏设备。本发明的实施方案还可以被全部地或部分地实施在可附接到主机设备的附件中,例如被实施在有源扬声器或头戴式送受话器等中。实施方案可以以其他形式的设备(诸如远程控制器设备、玩具、机器(诸如机器人)、家庭自动化控制器等)来实施。

应注意,上文所提及的实施方案例示而不是限制本发明,并且在不脱离所附权利要求的范围的前提下,本领域技术人员将能够设计许多替代实施方案。“包括”一词不排除权利要求中列出的元件或步骤之外的元件或步骤的存在,“一”或“一个”不排除多个,并且单个特征或其他单元可以实现权利要求中所记载的若干单元的功能。权利要求中的任何附图标记不应被解释为限制其范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1