来自清华大学语音处理与机器智能实验室(THU-SPMI),入选语音顶会(ASRU 2021)


Multilingual and crosslingual speech recognition using phonological-vector based phone embeddings.

Chengrui Zhu, Keyu An, Huahuan Zheng, Zhijian Ou
(朱程睿、安柯宇、郑华焕、欧智坚)

IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), 2021.


01、背景介绍及研究动机

世界上有超过7000种语言,但绝大多数语言对语音识别来讲是低资源的,即缺乏语音识别所需的大量标注数据。多语言(Multilingual)和跨语言(Crosslingual)语音识别技术,旨在借助多个语言的语音数据,利用语言间发音的相通性,更好地建立低资源的目标语言的语音识别系统。


多语言语音识别,指将若干语言的数据混合在一起,共同训练一个声学模型。

跨语言语音识别,则是先训练一个多语言模型,然后针对一个新的语言进行语音识别。如果不使用任何目标语言的语音进行微调(finetune),就是零样本(zero-shot)情形;如果使用少量目标语言的语音对多语言模型进行微调,则是小样本(few-shot)情形。


不同语言在发音方面或多或少都有一定的相似性,这是因为无论哪种人类语言,都是人类的一套发音器官发出来的音嘛,此处省略一千字:)


多语言和跨语言语音识别的方法,本质上就是希望尽可能利用语言发音间的这些相似信息,促进多语言信息共享!如何在多语言语音识别中最大程度地实现这种信息共享呢?现有研究大多采用共同音素集的方法。1888年国际语音学会编制出一套国际音标(International Phonetic Alphabet, IPA),来表示所有语言的音。根据音素的发音方法、发音位置来区分音素,不同语种间发音相似的音素,可以用同一个IPA符号表示。IPA表见图1所示,这张表上的音素可以表示世界上各种语言。懂了这些音标的读法,就能念出它标出的任意语言的词语,也能在听到一个词后用音标来转写该词。


图1 国际音标表(IPA)

通常人们认为音素就是语音的基本单元,不可拆分。但是近来的音系学(Phonology)研究表明,音素可以进一步由区别特征(又称音位特征、发音特征)来进行微观表示。


来看看图2的类比,帮助我们更好地理解音素的微观表示。

• 物质的组成基本单元是元素,语音的组成基本单元则是音素,我们耳朵听到的就是一个个的音素组成的单词、句子。

• 元素周期表上记录了所有的元素;相应地,IPA表包含了所有的音素。

• 元素原子在微观上由原子核和电子组成,电子的数目和排布方式决定了元素的性质;相应地,音素也可以继续拆分,由音位特征来表示,而音素的发音则由这些音位特征决定。


图2 物质构成与语音构成的类比

图3向我们展示了部分IPA音素的24维音位特征,每一维代表一种发音特征,可以用“+”、“-”或“0”表示。“+”表示具备该特征,比如【lateral +】就代表该音素为边音,发音时气流会从舌头两侧流过;“-”代表不具备该特征;“0”则代表该特征与该音素无关,比如辅音是不会表现元音特征的。


图3 部分音素的音位特征

如果我们将音素拆分为音位特征的表示,就可以在多语言训练中更好地共享信息!

图4给出了西班牙语和意大利语的部分音素。在传统方法中,两个语言之间共享信息只能靠中间那些在两个语言都出现的音素来实现。但音素被拆分为音位特征表示以后,分别在两个语言中出现的西班牙音素ð和意大利语音素ɛ在音位特征的层面上有很多相似,他们仍然可以在这一层面上共享信息,这实在是太妙了!


图4 西语、意语的音素集的联系

为了方便声学神经网络模型的训练,24维的音位特征将被编码为51维的比特矢量,这就得到了音位矢量,有了它,我们就可以开始模型训练啦!


02、JoinAP方法

本文提出JoinAP(Joining of Acoustics and Phonology)方法,意为结合了声学(Acoustics)和音系学(Phonology)的方法。图5(b)是传统的基于音位特征的方法。这种方法存在两个不足:

1、自低而上的音位特征提取,本身就难以保证提取性能;

2、在跨语言语音识别中,目标语言如果包含在训练集语言中的未见音素(unseen phones),模型将无法对这些未见音素进行识别。


图5 JoinAP方法与传统方法

图5 (a)是我们的JoinAP方法。从顶往下,将音素的音位矢量经过变换(phonological transformation),得到音素嵌入(phone embedding);自底向上,声学深度神经网络(Deep Neural Network、DNN)提取出高层声学特征。将音素的phone embedding与声学特征做内积,计算出时刻下音素的匹配得分(logit):


之后通过softmax计算音素的后验概率,便可送往CTC或CTC-CRF模型进行语音识别。
关于phonological transformation,有线性和非线性两种方法:
• 线性:用线性变换将音位矢量映射为phone embedding,

这里,为DNN最后一层输出(即)的维度。
• 非线性:可以引入多层神经网络来进行phonological transformation,加入更多隐藏层,

这里都是大小合适的矩阵,代表非线性激活函数

03、实验结果


Table 3: Word error rate (WER) results (%) for German, French, Spanish and Italian in the multilingual experiments

我们利用CAT工具包(https://github.com/thu-spmi/CAT),搭建基于CTC-CRF的端到端语音识别模型。在德语、法语、意大利语、西班牙语上训练多语言模型。

多语言训练方法,包括了基于音素的flat-phone方法、JoinAP线性方法和JoinAP非线性方法,并分别在finetune前和finetune后测试了目标语言的识别效果,具体结果见Table 3。从Average的角度来看,三种多语言训练方法都比单语种的结果有所提升,JoinAP-Nonlinear效果整体最佳。

基于四种语言训练出的多语言模型,对于波兰语和汉语普通话进行crosslingual实验,结果见Table 5、6,可以看到JoinAP-Nonlinear仍然发挥最好。波兰语在zero-shot情况下词错误率(WER)约为30%,注意这是在没有用任何波兰语语音训练的情况下取得的不错效果!汉语普通话与四种训练集中语言差异较大,所以zero-shot时WER较大。

在few-shot情况下,用少量目标语言数据进行finetune后,可以看出JoinAP整体仍然比flat-phone的效果更好,使用8分钟波兰语音进行finetune,错误率下降到约8%,JoinAP-Nonlinear对JoinAP-Linear的优势有所削减。

Table 7展示了在德、法、意、西四种语言上训练多语言模型,对波兰语和汉语普通话进行跨语言语音识别时,unseen phones(即在四种训练集语言中的未见音素)的数量情况。可以看出波兰语与四种训练集语言相似度很高,因此它的crosslingual效果比汉语普通话好很多。


最后,我们用t-SNE的方法将phone-embedding画在了二维平面上,比较了波兰语的46个音素在flat-phone、JoinAP-Linear和JoinAP-Nonlinear三种方法中得到的phone embedding分布情况,如Fig.3。


我们用不同颜色的圈将有相似特征的音素圈了起来,红色代表有相同发音方法的辅音,绿色代表有相同发音部位的辅音,黄色代表发音时舌位高度相近的元音。看起来(b)(c)的圈圈很多,表明JoinAP方法使得音素在特征空间中更好地聚在了一起,这或许能够解释JoinAP方法的优越性。


04、结论和展望

本文提出了将自顶而下的phone embedding与自底而上的声学特征提取相结合的JoinAP方法,与基于IPA的传统多语言训练方法进行了比较。在多语言和跨语言实验中,JoinAP非线性方法总体上表现优于JoinAP线性方法与flat-phone方法。

JoinAP提供了一种实现多语言与跨语言语音识别的新方法,促进了多语言训练时信息共享以及跨语言语音识别时信息迁移。未来可以继续探索基于更深层神经网络的phonological transformation,以及可以在更大规模的多语言语音数据上进行多语言模型训练。

论文链接:https://arxiv.org/abs/2107.05038

本论文工作将在CAT工具包(https://github.com/thu-spmi/CAT)开源,敬请期待!