文本归一化与语音合成
在类似某中心语音助手等服务中,文本归一化通常是文本到语音转换过程的第一步。文本归一化将原始文本(如字符串"6-21-21")扩展为语音合成模型可以使用的口语化形式("twenty first of June twenty twenty one")。
传统方法的局限性
历史上,文本归一化算法依赖硬编码规则,这些规则难以跨语言泛化且维护困难:典型的基于规则的文本归一化系统可能包含数千条规则,需要语言学专业知识开发。
机器学习方法的挑战
最近,学术界和工业界研究者开始开发基于机器学习的文本归一化模型,但这些方法也存在缺点:
- 序列到序列模型偶尔会产生不可接受的错误
- 符号分类模型需要语言学专家创建的特定领域信息类
- 两种模型都需要大量训练数据,难以跨语言扩展
Proteno解决方案
在某机构计算语言学北美分会会议上,我们提出了名为Proteno的新文本归一化模型,解决了这些挑战。
核心创新
精简的分类体系:Proteno仅指定少量低级别归一化类别(如序数、基数或罗马数字),这些类别能很好地跨语言泛化。然后从数据中学习大量额外的细粒度类别。
高效的标记化方案:Proteno的标记化技术简单地在空格和Unicode类别转换处拆分文本,无需语言学知识或数据密集型训练。
性能表现
我们在英语、西班牙语和泰米尔语上评估了Proteno:
- 英语:使用8个预定义类别,Proteno自动生成另外2,658个类别
- 数据效率:在英语实验中,Proteno仅需3%的训练数据即可达到先前最先进技术的相当性能
- 多语言表现:西班牙语准确率99.1%,泰米尔语96.7%,英语97.4%
技术方法
处理流程
Proteno将文本归一化视为序列分类问题,大部分类别是学习得到的:
- 标记化:基于空格和Unicode类别变化的粒度标记化机制
- 标注:对标记化文本进行逐标记标注
- 类别生成:
- 预定义类别:8-10个包含基本归一化规则的类别
- 自动生成类别:通过分析数据集中的未归一化到归一化标记映射自动创建
分类器实验
我们试验了四种不同类型的分类器:
- 条件随机场
- 双向长短期记忆模型
- Bi-LSTM-CRF组合
- Transformer模型
数据集分析
| 语言 | 总预定义类别 | 语言特定预定义类别 | 自动生成类别 |
|---|---|---|---|
| 西班牙语 | 10 | 5 | 279 |
| 泰米尔语 | 8 | 3 | 74 |
| 英语 | 8 | 4 | 2,658 |
英语生成的自动类别显著多于其他语言,因为书面英语倾向于使用更多缩写。
结论
Proteno是在数据标注要求较低的情况下进行文本归一化的强有力候选方案,同时能遏制不可接受的错误,使其成为生产文本到语音模型的稳健且可扩展的解决方案。