一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

完全监督的说话者日志化的制作方法

2021-08-17 13:49:00 来源:中国专利 TAG:说话 监督 公开 日志 speakerdiarization
完全监督的说话者日志化的制作方法

本公开涉及完全监督的说话者日志化(speakerdiarization)。



背景技术:

说话者日志化是根据说话者身份将输入音频流分成同质分段(segment)的过程。在具有多个说话者的环境中,说话者日志化回答了“谁在何时说话”的问题,并且具有各种应用,包括多媒体信息检索、说话者轮次分析和音频处理,以上仅举几个例子。特别地,说话者日志化系统能够产生说话者边界,其具有显著改善声学语音识别准确性的潜力。



技术实现要素:

本公开的一个方面提供了一种说话者日志化的方法,所述方法包括:在数据处理硬件处接收语音话语以及由所述数据处理硬件将所述语音话语分段成多个分段。对于所述语音话语的每个分段,该方法还包括:由所述数据处理硬件从所述分段提取说话者判别嵌入;以及由所述数据处理硬件使用被配置成接收所提取的说话者判别嵌入作为特征输入的概率生成模型来预测关于所述分段的可能说话者的概率分布。所述概率生成模型在训练语音话语的语料库上被训练,其中每个训练语音话语被分段成多个训练分段。每个训练分段包括对应的说话者判别嵌入和对应的说话者标签。

本公开的实现方式可以包括以下可选特征中的一个或多个。在一些实现方式中,概率生成模型通过应用与距离相关的中国餐馆过程来预测关于每个分段的可能说话者的概率分布。所述概率生成模型还可以被配置成,针对在所述多个分段中的初始分段之后出现的每个分段,接收从先前相邻分段提取的所述说话者判别嵌入以及指配给所述先前相邻分段的所述说话者标签作为以下特征输入,所述特征输入用于预测说话者将不会针对该对应的分段而改变的概率。在一些示例中,将所述说话者标签指配给所述语音话语的每个分段包括通过对关于对应的分段的可能说话者的概率分布执行贪婪搜索来将所述说话者标签指配给所述语音话语的每个分段。

在一些示例中,预测关于所述分段的可能说话者的概率分布包括当所述分段出现在所述多个分段中的初始分段之后时:(1)预测与指配给先前相邻分段的所述说话者标签相关联的当前说话者对于所述分段将不改变的概率;(2)针对与先前指配给一个或多个先前分段的对应说话者标签相关联的每个现有说话者,预测与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为所述现有说话者的概率;以及(3)预测与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为新说话者的概率。在一些情况下,与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为所述现有说话者的所述概率与先前指配了与所述现有说话者相关联的所述对应说话者标签的实例的数量成比例。附加地或可替代地,与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为所述新说话者的所述概率与说话者指配概率参数α成比例。

在一些实现方式中,从所述分段提取所述说话者判别嵌入包括从所述分段提取d向量。在其它实现方式中,从所述分段提取所述说话者判别嵌入包括从所述分段提取i向量。在一些配置中,所述概率生成模型包括递归神经网络(rnn)。在这些配置中,所述rnn可以包括具有n个门控递归单元(gru)单体的隐藏层;以及两个完全连接层,每个完全连接层具有n个节点并且被配置成应用所述隐藏层的整流线性单元(relu)激活。每个gru单体被配置成应用双曲正切(tanh)激活。附加地或可替代地,所述方法还可以包括:由所述数据处理硬件将所述语音话语转录成对应的文本(152);以及由所述数据处理硬件基于指配给所述语音话语的每个分段的所述说话者标签来注释所述文本。将所述语音话语分段成多个分段包括:将所述语音话语分段成多个固定长度分段或者将所述语音话语分段成多个可变长度分段。

本公开的另一方面提供了一种用于说话者日志化的系统,所述系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件。存储器硬件存储指令,所述指令在由所述数据处理硬件执行时使所述数据处理硬件执行包括接收语音话语以及将语音话语分段成多个分段的操作。对于所述语音话语的每个分段,所述操作还包括:从所述分段提取说话者判别嵌入以及使用被配置成接收所提取的说话者判别嵌入作为特征输入的概率生成模型来预测关于所述分段的可能说话者的概率分布。所述概率生成模型在训练语音话语的语料库上被训练,其中每个训练语音话语被分段成多个训练分段。每个训练分段包括对应的说话者判别嵌入和对应的说话者标签。

这个方面可以包括以下可选特征中的一个或多个。在一些实现方式中,概率生成模型通过应用与距离相关的中国餐馆过程来预测关于每个分段的可能说话者的概率分布。所述概率生成模型还可以被配置成,针对在所述多个分段中的初始分段之后出现的每个分段,接收从先前相邻分段提取的所述说话者判别嵌入以及指配给所述先前相邻分段的所述说话者标签作为以下特征输入,所述特征输入用于预测说话者将不会针对该对应的分段而改变的概率。在一些示例中,将所述说话者标签指配给所述语音话语的每个分段包括通过对关于对应的分段的可能说话者的概率分布执行贪婪搜索来将所述说话者标签指配给所述语音话语的每个分段。

在一些示例中,预测关于所述分段的可能说话者的概率分布包括当所述分段出现在所述多个分段中的初始分段之后时:(1)预测与指配给先前相邻分段的所述说话者标签相关联的当前说话者对于所述分段将不改变的概率;(2)针对与先前指配给一个或多个先前分段的对应说话者标签相关联的每个现有说话者,预测与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为所述现有说话者的概率;以及(3)预测与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为新说话者的概率。在一些情况下,与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为所述现有说话者的所述概率与先前指配了与所述现有说话者相关联的所述对应说话者标签的实例的数量成比例。附加地或可替代地,与指配给所述先前相邻分段的所述说话者标签相关联的所述当前说话者将改变为所述新说话者的所述概率与说话者指配概率参数α成比例。

在一些实现方式中,从所述分段提取所述说话者判别嵌入包括从所述分段提取d向量。在其它实现方式中,从所述分段提取所述说话者判别嵌入包括从所述分段提取i向量。在一些配置中,所述概率生成模型包括递归神经网络(rnn)。在这些配置中,所述rnn可以包括具有n个门控递归单元(gru)单体的隐藏层;以及两个完全连接层,每个完全连接层具有n个节点并且被配置成应用所述隐藏层的整流线性单元(relu)激活。每个gru单体被配置成应用双曲正切(tanh)激活。附加地或可替代地,所述操作还可以包括:将所述语音话语转录成对应的文本以及基于指配给所述语音话语的每个分段的所述说话者标签来注释所述文本。将所述语音话语分段成多个分段包括:将所述语音话语分段成多个固定长度分段或者将所述语音话语分段成多个可变长度分段。

在附图和以下描述中阐述了本公开的一个或多个实现方式的细节。从说明书和附图以及从权利要求书中,其它方面、特征和优点将是显而易见的。

附图说明

图1a示意性地示出了用于将说话者标签指配给语音话语的示例系统。

图1b示意性地示出了使用监督训练来训练图1a的系统的概率生成模型的示例。

图2示意性地示出了使用概率生成模型的说话者日志化的示例过程。

图3a至图3d示意性地示出了被配置成预测关于语音话语的固定长度分段的可能说话者的概率分布的示例递归神经网络模型。

图4是示出在各种说话者识别模型的无监督数据集和监督数据集上训练的日志化系统的日志化误差率(der)的表。

图5是用于将说话者标签指配给语音话语的方法的操作的示例布置的流程图。

图6是可用于实现本文所述的系统和方法的示例计算设备的示意图。

在各个附图中相同附图标记表示相同元件。

具体实施方式

自动语音识别(asr)系统通常依赖于假定在给定输入音频信号中仅存在一个说话者的语音处理算法。包括多个说话者的存在的输入音频信号可以潜在地破坏这些语音处理算法,从而导致由asr系统输出的语音识别结果不准确。这样,说话者日志化是这样一种过程,其在更大会话中对来自相同说话者的语音进行分段以便不特别地确定谁正在讲话(说话者识别/标识)而是确定某人何时正在说话。换句话说,说话者日志化包括一系列具有短话语的说话者识别任务,并且确定给定会话的两个分段是否是由同一个人说出,并且对于会话的所有部分重复。

现有说话者日志化系统通常包括多个相对独立组件,诸如但不限于语音分段模块、嵌入提取模块以及聚类模块。语音分段模块通常被配置成从输入话语中移除非语音部分并且将输入话语划分成小的固定长度分段,而嵌入提取模块被配置成从每个固定长度分段中提取对应的说话者判别嵌入。说话者判别嵌入可以包括i向量或d向量。现有说话者日志化系统所采用的聚类模块负责确定输入话语中存在的说话者的数目,并且将说话者标识(例如,标签)指配给每个固定长度分段。这些聚类模块可以使用流行聚类算法,该流行聚类算法包括高斯混合模型、均值偏移聚类、凝聚分层聚类、k均值聚类、链接聚类以及谱聚类。说话者日志化系统还可以使用附加重新分段模块,以用于通过强制附加约束来进一步细化从聚类模块输出的日志化结果。

聚类模块以无监督的方式运行,使得所有说话者都被假定为未知的,并且聚类算法需要产生新“集群”,以便为每个新输入话语容纳新的/未知的说话者。这些无监督框架的缺点是它们不能通过从包括带时间戳的说话者标签和地面实况的大组的带标签训练数据中学习来改进。由于在许多特定领域的应用中,这种带标签训练数据是容易获得的,因此说话者日志化系统可以通过在产生日志化结果时变得更稳健且更准确而从带标签训练数据中受益。此外,现有的现有技术的聚类算法绝大部分都是离线执行,从而使得难以通过在实时情况下聚类来产生日志化结果。

本文的实现方式针对以下说话者日志化系统,该说话者日志化系统实现用于在线(例如,实时)产生日志化结果的完全监督的概率生成模型。该日志化结果包括为从输入音频信号所分段的多个分段中的每一个分段预测的说话者标签。通过用完全监督的概率生成模型来代替依赖于无监督聚类算法(例如,k均值、谱聚类、分层聚类等)的常用聚类模块,说话者日志化系统能够通过从容易获得的带时间戳的说话者标签和地面实况中学习来提高说话者标签预测准确性。这些分段可以是固定长度或可变长度。

具体地,概率生成模型包括无界交织状态递归神经网络(uis-rnn),其自然地合并有带时间戳的说话者标签以用于训练,使得模型通过与其它实例共享相同参数的对应实例来对每个说话者进行建模,生成无界数量的rnn实例,并且在时域中交织不同rnn实例(即,不同说话者)的状态。这种完全监督的框架使得模型能够经由贝叶斯非参数过程自动学习每个话语内的许多说话者并且经由rnn随时间携带信息。

参考图1a和图1b,在一些实现方式中,系统100包括用户设备110,该用户设备从一组说话者(例如,用户)10、10a-n捕获语音话语120并且经由网络130与远程系统140通信。远程系统140可以是具有可扩展/弹性资源142的分布式系统(例如,云计算环境)。资源142包括计算资源144(例如,数据处理硬件)和/或存储资源146(例如,存储器硬件)。在一些实现方式中,用户设备110和/或远程系统140执行日志化系统200,该日志化系统被配置成从用户设备110接收与所捕获的话语120相对应的音频数据122,将音频数据122分段成多个分段220、220a-n,每个分段与从其提取的对应的说话者判别嵌入240相关联,并且使用概率生成模型300来生成日志化结果280,该日志化结果包括被指配给每个分段220的对应的说话者标签250。因此,由于每个分段220指示针对输入音频数据122的对应时间窗口的对应的说话者判别嵌入240,因此日志化结果280为接收到的音频数据122提供带时间戳的说话者标签250,该带时间戳的说话者标签不仅标识在给定分段220期间谁在说话,而且还标识在相邻分段220之间何时发生说话者改变。下面更详细地描述,在带标签训练数据202上训练概率生成模型,其中该带标签训练数据包括用于训练语音话语的语料库的带时间戳的说话者标签250t。分段220、220a-n可以包括固定长度分段或可变长度分段。虽然本公开可以将一个或多个分段称为“固定长度”,但是在不脱离本公开的范围的情况下,对应的一个或多个分段可以类似地是可变长度的。此外,在不脱离本公开的范围的情况下,日志化系统200可以在用户设备110或远程系统140中的任一个上执行。

在一些示例中,远程系统140还执行自动语音识别(asr)模块150,该自动语音识别模块被配置成接收音频数据122并且将其转录成对应的asr结果152。用户设备110可以类似地在设备上而不是在远程系统140上执行asr模块150,这在网络连接不可用或者在快速(虽然保真度较低)转录是优选的时可能是有用的。附加地或可替代地,用户设备110和远程系统140两者可以都执行对应的asr模块150,使得可以将音频数据122在设备上、经由远程系统或者它们的某种组合转录。在一些实现方式中,asr模块150和日志化系统200两者都完全在用户设备110上执行并且不需要到远程系统140的任何网络连接。asr结果152也可以被称为“转录”或简单地称为“文本”。asr模块150可以与日志化系统200通信以利用与音频数据122相关联的日志化结果280以用于改善对音频数据122的语音识别。例如,asr模块150可以针对从日志化结果280标识出的不同说话者应用不同语音识别模型(例如,语言模型、韵律模型)。附加地或可替代地,asr模块150和/或日志化系统200(或一些其它组件)可以使用针对从日志化结果280获得的每个固定长度分段220所预测的带时间戳的说话者标签250来索引音频数据122的转录152。例如,在商务会议期间多个同事(例如,说话者10)之间的对话的转录可以由说话者索引,以将转录的部分与相应说话者相关联,以用于标识每个说话者说了什么。

用户设备110包括数据处理硬件112和存储器硬件114。用户设备110可以包括音频捕获设备(例如,麦克风),以用于捕获来自说话者10的语音话语120并且将其转换成音频数据122(例如,电信号)。在一些实现方式中,数据处理硬件112被配置成本地执行日志化系统200的一部分,而日志化系统200的剩余部分在远程系统140上执行。可替代地,数据处理硬件112可以执行日志化系统200,以代替在远程系统140上执行日志化系统200。用户设备110可以是能够通过网络130与远程系统140通信的任何计算设备。用户设备110包括但不限于台式计算设备和移动计算设备,诸如膝上型计算机、平板计算机、智能电话和可穿戴计算设备(例如,头戴式耳机和/或手表)。用户设备110可以可选地执行asr模块150以将音频数据122转录成对应文本152。例如,当网络通信中断或不可用时,用户设备110可以本地执行日志化系统200和/或asr模块150以产生音频数据122的日志化结果和/或生成音频数据122的转录152。

在所示的示例中,说话者10和用户设备110可以位于用户设备110被配置成捕获由说话者10说出的语音话语120并且将其转换成音频数据122(也称为音频信号122)的环境(例如,房间)内。例如,说话者10可以对应于在会议期间进行对话的同事,并且用户设备110可以记录语音话语120并且将其转换成音频数据122。进而,用户设备110可以将音频数据122提供给日志化系统200,以用于将带时间戳的说话者标签250指配给音频数据122的各个固定长度分段220。因此,日志化系统200负责处理音频数据122以确定何时有人正在说话,而没有经由说话者识别/标识来具体确定谁正在说话。在一些示例中,用户设备110可以远离说话者10的位置。例如,用户设备110可以包括远程设备(例如,网络服务器),该远程设备从作为电话呼叫或视频会议的参与者的说话者捕获语音话语120。在这种情况下,每个说话者10将对其自己的设备(例如,电话、无线电、计算机、智能手表等)说话,该设备捕获语音话语120并且将其提供给远程用户设备110以用于将语音话语120转换成音频数据122。当然,在这种情况下,话语120可以在用户设备中的每一个处经历处理并且被转换成传送到远程用户设备110的对应音频信号,其中该远程用户设备可以另外处理被提供给日志化系统200的音频数据122。

在所示的示例中,日志化系统200包括分段模块210、嵌入模块230以及说话者标签预测器260。分段模块210被配置成接收与语音话语120(也称为“语音的话语”)相对应的音频数据122,并且将音频数据122分段成多个固定长度分段220。分段模块210还可以例如通过应用话音活动检测器来从音频数据122中去除非语音部分。

嵌入模块230被配置成从每个固定长度分段220中提取说话者判别嵌入240。此后,嵌入模块230向说话者标签预测器260提供嵌入的观察序列x=(x1,x2,...,xt),其中序列中的条目xt表示与原始话语120的音频数据122中的对应固定长度分段220相关联的带实值的说话者判别嵌入240。说话者判别嵌入240可以包括说话者因子,例如d向量或i向量。有利地,由于神经网络生成d向量并且可以利用大数据集来训练的事实,d向量可以改善日志化性能,其中该大数据集在不同使用情况下对于变化的说话者口音和声学条件足够稳健。

在一些实现方式中,说话者标签预测器260接收嵌入的观察序列x,并且使用概率生成模型300来生成/预测关于序列中的每个条目xt的可能说话者262的概率分布。换句话说,对于每个固定长度分段220,说话者标签预测器260可以接收从嵌入模块230提取的相关联的说话者判别嵌入240,作为概率生成模型300的特征输入,以用于生成关于固定长度分段220的可能说话者262的概率分布。说话者标签预测器260可以基于关于固定长度分段220的可能说话者262的概率分布,将说话者标签250指配给音频数据122的每个固定长度分段220。在一些示例中,将说话者标签250指配给每个固定长度分段220包括关于固定长度分段220的可能说话者262的概率分布执行贪婪搜索。

在所示的示例中,说话者标签预测器260输出指示指配给音频数据122的对应固定长度分段220的说话者标签250的日志化结果280。这里,说话者标签250可以被表示为说话者标签序列y=(y1,y2,...,yt),其中序列中的条目yt表示在时间t被指配给嵌入条目xt的说话者标签250。例如,在时间t=4,说话者标签条目y4=3对应于将第三说话者“3”指配给第四嵌入条目x4。另外,日志化结果280可以预测每个固定长度分段220的说话者改变值255。在所示的示例中,说话者改变值255可以被表示为改变点指示符的序列z=(z1,z2,...,zt),其中条目zt指示在时间t时在对应的嵌入条目xt处是否发生说话者改变。在一些实现方式中,每个改变点指示符zt是二进制指示符,其中zt=1指示在时间t的改变点,而zt=0指示说话者在时间t时没有从指配给紧挨的前一相邻嵌入条目xt-1的说话者标签250改变。在图1a所示的示例日志化结果280中,当y=(1,1,2,3,2,2,...,yt)时,则z=(0,1,1,1,0)。因此,改变点指示符的序列z由说话者标签序列y唯一地确定,但是说话者标签的序列y不能由改变点指示符的序列z唯一地确定。

参考图1b,在一些实现方式中,在包括训练语音话语的语料库的完全带标签训练数据202上训练概率生成模型300,其中每个训练语音话语被分段成多个训练固定长度分段220t,其中,每个训练固定长度分段220t包括对应的说话者判别嵌入240t(例如,d向量或i向量)以及对应的说话者标签250t。训练语音话语的语料库中的每个训练语音话语可以被表示为嵌入的训练序列x*=(x*1,x*2,...,x*t),其中序列中的条目x*t表示与对应的训练固定长度分段220t相关联的带实值的说话者判别嵌入240t和对应的说话者标签250t。另外,完全带标签训练数据202可以包括在初始训练固定长度分段220t之后的每个训练固定长度分段220t的说话者改变值255t。说话者改变值255t和说话者标签250t可以被手动指配给每个训练固定长度分段220t。如上所述,说话者标签250t可以表示为训练说话者标签的序列y*=(y*1,y*2,...,y*t),其中序列中的条目yt表示在时间t指配给嵌入条目xt的说话者标签250t,并且说话者改变值255t可以表示为训练改变点指示符的序列z*=(z*1,z*2,...,z*t),条目zt是指示在时间t在对应的训练固定长度分段条目x*t处是否发生说话者改变的二进制指示符。

在所示的示例中,所述多个训练固定长度分段220t(每个包括对应的说话者判别嵌入240t(例如,d向量或i向量)和对应的说话者标签250t传递到日志化训练器204,以用于训练概率生成模型300。基于完全带标签训练数据202,日志化训练器204能够对日志化参数206进行建模以训练概率生成模型300。一旦被训练,如上文参考图1a所讨论的,概率生成模型(例如,经训练的模型)300就被说话者标签预测器260用于在推断期间生成对应的原始音频数据122的日志化结果280。因此,在训练数据202包括指配给从每个训练话语中分段的对应的训练固定长度分段220t的已知说话者标签250t的情况下,经训练的概率生成模型300负责仅基于从音频数据122中分段的对应的固定长度分段220中提取的对应的说话者判别嵌入240来预测指配给该对应的固定长度分段220的说话者标签250。

概率生成模型300可以包括神经网络。日志化训练器204将训练数据202映射到输出数据以生成神经网络模型300。通常,日志化训练器204生成隐藏节点、隐藏节点和对应于训练数据202的输入节点之间的连接权重、隐藏节点和输出节点之间的连接权重以及隐藏节点本身的层之间的连接权重。此后,可以针对输入数据(例如,原始音频数据122)采用完全训练的神经网络模型300,以生成未知输出数据(例如,说话者标签250)。

图2示出了用于从接收到的音频数据122生成日志化结果280的图1a和图1b的日志化系统200的示例过程。在所示的示例中,时间从左到右增加,并且日志化系统200处理音频数据122以提供具有固定大小和固定重叠的滑动窗口215。例如,每个窗口215的大小可以是240毫秒(ms),并且每个滑动窗口215之间的固定重叠可以是百分之50(50%)。嵌入模块230(图1a)可以包括与文本无关的说话者识别网络,该说话者识别网络被配置成从重叠的滑动窗口215中提取窗口级别嵌入,并且对窗口级别嵌入求平均以生成分段级别d向量,例如说话者判别嵌入240。在所示的示例中,与文本无关的说话者识别网络包括三个长短期记忆(lstm)层和一个线性层,并且被训练为广义端到端丢失。在其它示例中,嵌入模块230生成分段级别i向量。在一些实现方式中,分段模块210(图1a)使用具有两个全协方差高斯函数的话音活动检测器(vad)来从音频数据122中移除非语音部分,并且将音频数据122分割/分段成不重叠的固定长度分段220。在一些示例中,每个固定长度分段220是400ms。然后,说话者标签预测器260(图1a)接收每个固定长度分段220和对应的说话者判别嵌入240,并且使用概率生成模型300来生成日志化结果280。这里,日志化结果280包括说话者标签250,如表示为说话者标签序列y=(y1,y2,...,yt),这些说话者标签250被指配给每个固定长度分段220,如表示为嵌入的观察序列x=(x1,x2,...,xt)。

图3a至图3d示出了概率生成模型300的示例。在所示的示例中,该模型300包括递归神经网络(rnn)。虽然一般神经网络在处理输入数据以生成输出数据时不存储任何中间数据,但是rnn确实持久存储数据/状态,这可以允许rnn相对于不持久存储数据/状态的一般神经网络来说改进分类能力。更具体地说,概率生成模型300包括由日志化训练器204在训练数据202上训练的无界交织状态递归神经网络(uis-rnn),以通过以下对应实例来对测试话语120的音频数据122中的每个说话者10进行建模,其中该对应实例与为其它说话者10建模的其它实例共享相同记日志化参数206。关于图3a至图3d,时间从左到右增加。uis-rnn300能够生成无界数量的rnn实例并且在时域中交织不同rnn实例(即,不同说话者)的状态ht。因此,uis-rnn300维持多个实例,其中每个实例建模对应的说话者,并且与其它实例共享日志化参数206的相同集合。日志化参数206可以包括rnn参数θ、说话者指配概率参数α、高斯模型参数σ2以及说话者改变参数λ。

在一些示例中,uis-rnn300包括具有n个门控递归单元(gru)单体的隐藏层和两个完全连接层,其中所述gru单体具有双曲正切(tanh)激活,所述两个完全连接层各自具有n个节点并且被配置成应用隐藏层的整流线性单元(relu)激活。每个gru单体可以由对应的隐藏标准rnn状态ht表示,而该两个完全连接层可以由图3a至图3d所示的rnn输出层表示,每个输出节点mt对应于隐藏标准rnn状态ht和rnn参数θ的函数。这里,每个输出节点mt提供rnn状态ht到更适于生成说话者改变的实际观察的状态的非线性变换。在所示的示例中,mt等于ht,但是更复杂的函数是可能的。

对于(由音频数据122表示的)给定测试话语120,话语120(例如,使用分段模块210)被分段成多个固定长度分段220,并且说话者判别嵌入240(例如,使用嵌入模块230)从每个固定长度分段220提取,以提供嵌入的对应观察序列x=(x1,x2,x3,x4,x5,x6,x7)。这里,序列中的每个嵌入条目x1-7表示与给定固定长度分段220相关联的说话者判别嵌入240。在一般意义上,序列中的每个条目x1-7对应于给定话语的带时间戳的说话者判别嵌入240。例如,条目x3表示与从测试话语120的音频数据122中提取的第三固定长度分段220相关联的说话者判别嵌入240。下面更详细地描述,uis-rnn模型300对无界数量的说话者的说话者指配和说话者改变进行建模,以预测要指配给每个对应的固定长度分段220的说话者标签250,由此说话者标签250被表示为说话者标签序列y=(y1,y2,y3,y4,y5,y6,y7)。

第一嵌入条目x1(即,从第一固定长度分段220提取的说话者判别嵌入240)将总是被指配与第一说话者相关联的第一说话者标签250(y1=1)。对于在嵌入的观察序列的数据序列中的第一条目x1之后的每个嵌入条目x2-x7,uis-rnn300被配置成预测关于条目xt(即,相应的固定长度分段220和相关联的说话者判别嵌入240)的可能说话者262的概率分布,并且基于关于可能说话者262的概率分布将说话者标签250指配给对应的条目xt。在一些示例中,通过对关于可能说话者262的概率分布执行贪婪搜索来指配说话者标签250。贪婪搜索可以在实现波束搜索的解码过程期间执行。为了对说话者指配和说话者改变进行建模,或者更具体地,对说话者转向行为进行建模,uis-rnn300可以使用与距离相关的中国餐馆过程,该中国餐馆过程包括被配置成对无界数量的说话者进行建模的贝叶斯非参数模型。例如,当对序列中的下一个条目xt的说话者指配进行建模时,uis-rnn300预测直到紧挨的前一个条目xt-1为止的每个现有说话者指配的概率以及预测下一个条目xt的新说话者标签的概率。

在时间t=1,与第一说话者y1=1相关联的第一说话者标签被指配给第一嵌入条目x1,并且对应的第一rnn状态h1实例化与具有初始隐藏状态h0的第一说话者相对应的新rnn。这里,第一rnn状态h1没有对于第一说话者的先验知识。

在时间t=2,与第一说话者相关联的第一说话者标签y2=1被指配给第二嵌入条目x2,并且对应的第二rnn状态h2利用与第一说话者相对应的先前第一rnn状态h1和先前第一嵌入条目x1来更新与第一说话者相对应的rnn的实例。因此,基于从先前rnn状态h1和先前嵌入条目x1获得的先验知识,能够改善与第一说话者对应的更新的rnn。先前嵌入条目x1帮助预测说话者标签y2。

在时间t=3,与第二说话者相关联的第二说话者标签y3=2被指配给第三嵌入条目x3,并且对应的第三rnn状态h3实例化具有相同初始隐藏状态h0的与第二说话者相对应的新rnn。由于第二说话者是新的(例如,先前未出现),因此第三rnn状态h3没有对于第二说话者的先验知识。此外,来自第一和第二rnn状态h1、h2的信息不传递到与第二说话者相对应的rnn或为除第一说话者之外的说话者实例化的任何其它rnn中。

在时间t=4,与第三说话者相关联的第三说话者标签y4=3被指配给第四嵌入条目x4,并且对应的第四rnn状态h4实例化具有相同初始隐藏状态h0的与第三说话者相对应的新rnn。由于第三说话者是新的(例如,先前未出现),因此第四rnn状态h4没有对于第三说话者的先验知识。此外,来自与对应于第一说话者的rnn相关联的第一和第二rnn状态h1、h2和与对应于第二说话者的rnn相关联的第三rnn状态h3的信息不传递到对应于第三说话者的rnn中。虽然rnn的实例建模单独的说话者,但是rnn共享日志化参数206的相同集合,并且都用相同的初始隐藏状态h0来初始化。

在时间t=5,与第二说话者相关联的第二说话者标签y5=2被指配给第五嵌入条目x5,并且对应的第五rnn状态h5利用先前第三rnn状态h3和对应于第二说话者的先前第三嵌入条目x3来更新对应于第二说话者的rnn的实例。因此,基于从先前rnn状态h3和先前嵌入条目x3获得的先验知识,能够改善与第二说话者相对应的更新的rnn。对应于第二说话者的先前嵌入条目x3帮助预测说话者标签y5。

在时间t=6,与第二说话者相关联的第二说话者标签y6=2被指配给第六嵌入条目x6,并且对应的第六rnn状态h6利用与第二说话者相对应的先前第五rnn状态h5和先前第五嵌入条目x5来更新与第二说话者相对应的rnn的实例。因此,基于从先前rnn状态h5和先前嵌入条目x5获得的先验知识,能够改善与第二说话者相对应的更新的rnn。先前嵌入条目x5帮助预测说话者标签y6。

因此,在直到时间t=6的当前阶段,图3a至图3d示出了具有预测的说话者标签250的uis-rnn300,如表示为y[6]=(1,1,2,3,2,2)的说话者标签序列,该说话者标签序列被指配给嵌入的观察序列x=(x1,x2,x3,x4,x5,x6)中的对应的那些。在所示的示例中,表示条目x1、x2的框包括指示与第一说话者相关联的第一说话者标签的指配的水平线,表示条目x3、x5、x6的框包括指示与第二说话者相关联的第二说话者标签250的指配的竖直线,并且表示第四条目x4的框包括指示与第三说话者相关联的第三说话者标签250的指配的对角线。

在所示的示例中,uis-rnn负责预测将被指配给序列中的下一个嵌入条目x7的下一个说话者标签y7。为此,uis-rnn应用与距离相关的中国餐馆过程。在这种情况下,y7有四种选择:(1)第一说话者;(2)第二说话者,(3)第三说话者,或(4)第四说话者。选项1-3都包括现有说话者,其中每个现有说话者的概率与关联于该现有说话者的连续固定长度分段的数量成比例。另一方面,选项4包括与说话者指配概率参数α成比例的概率。因此,uis-rnn300基于先前说话者标签序列y[6]和嵌入的先前观察序列x[6]两者来预测关于可能说话者的概率分布,即,第一说话者y7=1,第二说话者y7=2,第三说话者y7=3以及第四说话者y7=4。

参考图3a,预测y7等于第一说话者的概率是基于与第一说话者相对应的最后嵌入条目x2和先前状态h2。在这种情况下,根据与第一说话者的先前rnn状态和先前嵌入条目相对应的第二rnn状态h2和第二嵌入条目x2为第一说话者建模当前rnn状态h7。当前rnn状态h7的输出可以与rnn输出的对应节点m7互连,由此m7将标准rnn状态h7的非线性变换层应用于用来生成实际观察的状态(例如,更好地变换h7中的特征)。y7=1的概率与关联于第一说话者的连续固定长度分段220的数目成比例。

参考图3b,预测y7等于第二说话者的概率是基于与第二说话者相对应的最后嵌入条目x6和先前状态h6。在这种情况下,将不会发生说话者改变,并且根据与第二说话者的先前rnn状态和先前嵌入条目相对应的第六rnn状态h6和第六嵌入条目x2为第二说话者建模当前rnn状态h7。当前rnn状态h7的输出可以与rnn输出的对应节点m7互连,由此m7将标准rnn状态h7的非线性变换层应用于用来生成实际观察的状态(例如,更好地变换h7中的特征)。y7=2的概率与关联于第二说话者的连续固定长度分段220的数目成比例。

参考图3c,预测y7等于第三说话者的概率基于与第三说话者相对应的最后嵌入条目x3和先前状态h3。在这种情况下,根据与第三说话者的先前rnn状态和先前嵌入条目相对应的第三rnn状态h3和第三嵌入条目x3为第三说话者建模当前rnn状态h7。当前rnn状态h7的输出可以与rnn输出的对应节点m7互连,由此m7将标准rnn状态h7的非线性变换层应用于用来生成实际观察的状态(例如,更好地变换h7中的特征)。y7=3的概率与关联于第三说话者的连续固定长度分段220的数目成比例。

参考图3d,y7等于第四新说话者的概率与说话者指配概率参数α成比例。在这种情况下,uis-rnn300为第四说话者实例化新rnn,其中当前rnn状态h7根据相同初始隐藏状态h0为第四说话者建模。这里,第四说话者的新rnn实例与第一、第二和第三说话者中每一个说话者的rnn实例共享日志化参数的相同集合。

在一些实现方式中,日志化系统200采用在线解码方法,该方法针对对应的固定长度分段x7的可能说话者262的概率分布(y7:1,2,3,4)顺序地执行贪婪搜索,以将计算复杂度从o(t!)降低到o(t2)。基于大多数场景下每个话语的说话者的最大数目由常数c界定的观察,计算复杂度可以进一步降低到o(t)。在一些示例中,日志化系统对解码算法执行波束搜索,并且调整多个前瞻条目以实现更好解码结果。

图4是示出对于k均值聚类、谱聚类、uis-rnnpure5-fold、uis-rnndick-6和uis-rnnpure5-fold加上用于各种说话者识别模型v1、v2、v3的额外训练数据的日志化误差率(der)的表格400。第一说话者识别模型v1可以包含来自18,000个美国英语说话者的三千六百万个话语,第二说话者识别模型v2可以包含来自138,000个非美国英语说话者的三千四百万个话语,并且第三说话者识别模型v3通过使用可变长度窗口来更新第二说话者识别模型v2。结果表明der的最大改进来自于将说话者识别模型从v2升级到v3。当使用相同的说话者识别模型时,uis-rnn执行明显好于谱离线聚类。同样重要的是注意到uis-rnn在推断期间以在线方式预测说话者标签。当在线执行无监督聚类算法时,它们通常比诸如谱聚类之类的离线聚类算法执行的明显更差。另外,当在额外训练数据上训练时,der对于uis-rnn改善,从而指示uis-rnn模型受益于从更多的示例学习。

图5是对接收到的语音话语120执行说话者日志化的方法500的操作的示例布置的流程图。数据处理硬件112、144可以通过执行存储在存储器硬件114、146上的指令来执行方法500的操作。在操作502处,方法500包括将语音话语120分段成多个分段220。分段220可以包括固定长度分段或可变长度分段。对于语音话语的每个分段,方法500包括,在操作504处,从分段220提取说话者判别嵌入240,并且在操作506处,使用被配置成接收说话者判别嵌入240作为特征输入的概率生成模型300来预测关于分段220的可能说话者262的概率分布。在一些示例中,说话者判别嵌入240可以包括d向量。在其它示例中,说话者判别嵌入240包括i向量。在操作508处,方法500包括基于对应分段220的可能说话者262的概率分布,将说话者标签250指配给语音话语120的每个分段220。

概率生成模型300是在训练语音话语的语料库上训练的,其中,每个话语被分段成多个训练分段220t。每个训练固定长度分段220t包括对应的说话者判别嵌入240t和对应的说话者标签250t。概率生成模型300可以通过应用与距离相关的中国餐馆过程来预测针对每个分段220的可能说话者262的概率分布。概率生成模型300可以包括递归神经网络(rnn),其中每个说话者由不与其它说话者的rnn实例共享信息的对应rnn实例来建模。

软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息收发应用、媒体流应用、社交网络应用和游戏应用。

非暂时性存储器可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪存存储器和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及盘或带。

图6是可以用于实现本文档中描述的系统和方法的示例计算设备600的示意图。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。这里所示的组件、它们的连接和关系以及它们的功能仅是示例性的,而不是要限制在本文档中描述和/或要求保护的本发明的实现。

计算设备600包括处理器610、存储器620、存储设备630、连接到存储器620和高速扩展端口650的高速接口/控制器640、以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一个使用各种总线互连,并且可以安装在公共主板上或以其它适当的方式安装。处理器610可以处理用于在计算设备600内执行的指令,包括存储在存储器620中或存储设备630上的指令,以在外部输入/输出设备(诸如耦合到高速接口640的显示器680)上显示图形用户界面(gui)的图形信息。在其它实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。而且,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器库、刀片服务器组或多处理器系统)。

存储器620在计算设备600内非暂时地存储信息。存储器620可以是计算机可读介质、(一个或多个)易失性存储器单元、或(一个或多个)非易失性存储器单元。非暂时性存储器620可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备600使用的物理设备。非易失性存储器的示例包括但不限于闪存存储器和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及盘或带。

存储设备630能够为计算设备600提供大容量存储。在一些实现方式中,存储设备630是计算机可读介质。在各种不同的实现方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其它类似的固态存储器设备、或设备阵列,包括存储区域网络或其它配置中的设备。在另外实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,当执行所述指令时,执行一个或多个方法,例如上面描述的那些方法。信息载体是计算机或机器可读介质,例如存储器620、存储设备630或处理器610上的存储器。

高速控制器640管理用于计算设备600的带宽密集型操作,而低速控制器660管理较低带宽密集型操作。这种职责的分配仅是示例性的。在一些实现方式中,高速控制器640耦合到存储器620、显示器680(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口650。在一些实现方式中,低速控制器660耦合到存储设备630和低速扩展端口690。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或诸如交换机或路由器的联网设备。

如图所示,计算设备600可以以多种不同的形式来实现。例如,它可以被实现为标准服务器600a或在一组这样的服务器600a中被实现多次,被实现为膝上型计算机600b,或被实现为机架服务器系统600c的一部分。

本文描述的系统和技术的各种实现方式可以在数字电子和/或光学电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,所述可编程系统包括至少一个可编程处理器、至少一个输入设备以及至少一个输出设备,其中所述可编程处理器可以是专用或通用的,被耦合以从存储系统接收数据和指令以及向存储系统传送数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,所述可编程处理器也称为数据处理硬件,其执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(专用集成电路)。适于执行计算机程序的处理器包括例如通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器,以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据或向其传送数据,或者两者。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cdrom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本公开的一个或多个方面可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏)以及可选地键盘和指示设备(例如,鼠标或跟踪球)的计算机上实现,用户可以通过该键盘和指示设备向计算机提供输入。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如通过响应于从用户的客户端设备上的web浏览器接收到的请求而向该web浏览器发送网页。

已经描述了许多实现。然而,将理解的是,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实现方式在所附权利要求的范围内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜