[NeurIPS 2022] 将新华字典融入语音合成系统
背景
多音字在自然语言中普遍存在,对于语音合成(text-to-speech, TTS)系统来说,从文本中获取准确的发音是一项巨大的挑战。多音字的具体发音必须根据其上下文的句法、词性、语义等来推断,因此多音字消歧算法往往要求语言学家提供大量的语言学知识并需要大量的人工标注数据,构建一个高性能的多音字消歧模块(如:pypinyin、g2pM等)需要大量的人力物力。
挑战
当前的多音字消歧算法仍然面临着几个挑战:
- 基于规则的方法往往需要语言学家提供大量的语言学知识,但人工列举的规则很难穷尽所有的情况;基于神经网络的方法需要大量的人工标注数据,但人工标注数据往往价值昂贵,在有限数据上训练的神经网络模型的泛化能力往往不高。因此上述两种常见算法在训练集所属域外文本数据集上的性能往往显著下降;
- 神经网络模型以端到端的方式学习多音字消歧的映射,而没有显式地理解语义,这降低了它们在实际应用中的发音准确度;
- 目前,可靠的多音消歧模块通常是手工规则、特制结构化词典和神经模型的复杂组合,这需要海量的人工标签和语言专家提供的大量专业知识,高昂的成本使得这项技术难以运用于世界上的每一种自然语言中。
本文思路
与基于规则或基于神经网络的算法不同,本文利用人类社会中的结构化先验知识——字典来解决上述挑战。例如新华字典(中文)、デジタル大辞泉(日语)、粤音韵汇(粤语),日常生活中使用的任意字典都可以被视为先验知识数据库。这些字典往往都以(字,发音,释义,词组或例句)的形式为组织结构,显然,这包含了自然语言中多音字消歧所需要的知识。当一个人对某个多音字的具体发音感到困惑时,往往会求助于字典,根据语义上下文推断其准确的读音。
我们在语音合成系统设计中模拟了这种情况,并提出了 DictTTS,这是一种无监督的多音字消歧框架,它显式地理解文本语义并与字典中的内容相匹配来识别多音字的准确发音。具体而言,如图 3 所示,我们设计了语义到发音注意力(semantics-to-pronunciation attention,S2PA)模块,将输入文本序列与字典中的先验语义之间的语义模式进行匹配,并获得相应的发音;S2PA 模块可以使用端到端语音数据轻松训练,无需任何人工拼音标签。在三种语言上的实验结果表明,我们的模型在发音准确性方面优于几种baseline,并改进了baseline的韵律建模。
论文链接: https://arxiv.org/pdf/2206.02147 (Accepted by NeurIPS 2022)
代码链接: https://github.com/Zain-Jiang/Dict-TTS,麻烦各位朋友们点个star,谢谢了!