编者按:本文来自微信大众号“量子位”(ID:QbitAI),作者 栗子。36氪经授权转载。
其实,从多人对话的音频里,分辨出哪段话是哪个人说的,早就不是新鲜问题了。
不过,能够有新鲜解法啊 (究竟早年的效果不够好) 。
谷歌AI团队说,最近这20年套路都没变过,就分两步:
一是检测声谱的改变,确认说话人什么时分换了。
二是辨认对话里的每个说话人。
他们不想被传统做法困住,开发了新办法:使用语音辨认,把语言学头绪和声学头绪调配食用,协助区别。
团队还发现,要有机结合这两种头绪,RNN-Transducer(RNN-T) 是最合适的架构。
终究效果,谷歌新模型把单词级的过错率 (WDER) ,从15.8%降到了2.2%。且多种过错状况皆有显着改进。
推特已有500多人点赞。
论文还中选了INTERSPEECH 2019。
传统办法缺点在哪
谷歌团队总结了四个首要的限制:
榜首,对话先要被拆解成单人片段。否则就没办法精确传达一个说话人的特征。
但事实上,现有的说话人改换检测办法不完美,会导致拆分出的片段里,仍是有多个说话人。
第二,聚类的时分,有必要要知道总共有多少个说话人。这个信息假如不精确,就会严重影响模型的体现。
第三,体系需要在拆分片段的巨细上面,做一个困难的权衡。
片段越长,嗓音手刺的质量就越好,由于每个说话人的信息多了。但危险在于,时刻短的插嘴 (Short Interjections) 简略被判别过错。
这在医疗或金融范畴的对话上,都或许发生很严重的效果。
比方,医师问患者:“你有没有准时吃药?”
患者答复“有 (Yes.) ”,和医师问“有么 (Yes?) ”,差别是很大的。
第四,传统办法没有一个简略的机制,来使用好语言学头绪。
比方,“你用药多长时刻了?”通常是医师问的,不是患者问的。
所以,这些坑要怎样填呢?
得天独厚的RNN-T
RNN-T这个架构,原本是在语音辨认上大展拳脚。
而团队发现,它最合适用来把声学和语言学的头绪整合到一同。留意,语音辨认和说话人区别,不是暴力结合,是高雅地整组成了一个简略体系。
RNN-T模型,由三个不同的网络组成:
一是转录网络,或许叫编码器,把音频的每一帧映射到一个潜在表征上;
二是猜测网络,担任依据前面的方针标签 (Target Labels) ,猜测下个方针标签。RNN-T能猜测的符号 (Symbol) 更丰厚,如说话人人物 (Speaker Role) ,如发音 (Pronunciation) 。
三是联合网络,把前两个网络的输出结合起来,在输出标签的集合上,生成一个当时时刻步的概率散布。
划要点,架构里有一个反应循环(Feedback Loop) 。在这里,从前辨认出的单词都会作为输入,反应回去。
这样,RNN-T模型就能使用语言学的头绪了:比方一个问句完毕,很或许是要换人了。
谷歌说,这个模型能够像练习语音辨认体系那样练习:
练习样本,是一个人说的话加上一个标签 (Tag) ,用来界说说话人的人物。比方:
“作业什么时分交?”<学生>
“明日上课之前交。”<教师>
练习完结,就能够输入一段语音,得到每个字的分类效果了。
那么,和基线比照一下,来看效果怎么。
主角是把语音辨认 (Speech Recognition) 和说话人区别 (Speech Diarization) 结组成一个体系,基线是把两者分隔再适配:
效果,说话人区别的单词级过错率 (Word Diarization Error Rate) ,从基线的15.8%,下降到了新办法的2.2%。
除此之外,多种原因形成的过错,RNN-T都能有用防止,包含:
说话人在很短的时刻里发生改变,单词鸿沟 (Word Boundaries) 处的切分,语音堆叠形成的数据集说话人标示过错,以及音频质量差的问题。
赤色是RNN-T,蓝色是传统办法。每一种过错状况都大幅削减。
团队还弥补说,RNN-T体系在各种不同的对话里,均匀过错率比传统办法更安稳:方差更小。
传送门
论文在这里:https://arxiv.org/abs/1907.05337
博客在这里:https://ai.googleblog.com/2019/08/joint-speech-recognition-and-speaker.html