仅用3%训练数据实现文本归一化技术突破
在语音合成系统中,文本归一化(Text Normalization, TN)通常是文本转语音过程的第一步。该技术将原始文本(如字符串"6-21-21")转换为可朗读的形式(如"twenty first of June twenty twenty one"),以供后续语音合成模型使用。
传统TN算法依赖硬编码规则,存在跨语言泛化能力差和维护困难的问题:单个语言的典型规则系统可能包含数千条需要语言学家持续维护的规则。
机器学习方法的局限性
近年来,学界和工业界开始开发基于机器学习的TN模型,但这些方法也存在明显缺陷:
- 序列到序列模型可能产生不可接受错误(如将"$5"转换为"five pounds")
- 符号分类模型需要语言专家定义特定领域信息类别(如表情符号或电话号码类别)
- 两类模型都需要大量训练数据,难以跨语言扩展
Proteno模型创新方案
在某计算语言学会议(NAACL)上提出的Proteno模型通过以下方式解决这些挑战:
核心创新特性
- 精简预定义类别:仅使用少量底层归一化类别(如序数、基数、罗马数字),这些类别具有良好的跨语言泛化能力
- 自动类别生成:从数据中自动学习大量细粒度类别。在英语实验中,使用8个预定义类别的同时自动生成了2,658个附加类别
- 高效分词机制:在空格和Unicode类别转换处(如字母、数字、标点符号之间的转换)进行简单但有效的文本分割
技术实现细节
训练流程架构
Proteno将TN处理为序列分类问题,其训练流程包含以下步骤:
分词处理
- 采用与语言无关的粒度分词机制
- 首先在空格处分割文本,然后在Unicode类别变化处进一步分割
- 例如字符串"6-21-21"被分割为五个令牌
标注与分类
- 对分词后的未归一化文本进行逐令牌标注
- 建立未归一化令牌与真实归一化结果的一对一映射
- 每个令牌被映射到特定类别,防止模型产生不可接受错误
类别生成机制
- 预定义类别:包含8-10个基本归一化规则类别,其中3-5个包含语言特定规则
- 自动生成类别:通过分析数据集中的未归一化到归一化令牌映射自动创建新类别
- 当现有类别无法生成目标归一化时,自动创建新类别(如"12_to_December_AG")
分类模型 实验使用了四种分类器:
- 条件随机场(CRFs)
- 双向长短期记忆模型(bi-LSTMs)
- bi-LSTM-CRF组合
- Transformer模型
多语言性能评估
在英语、西班牙语和泰米尔语三种语言上的评估显示:
类别生成统计
语言 | 总预定义类别 | 语言特定预定义类别 | 自动生成类别 |
---|---|---|---|
西班牙语 | 10 | 5 | 279 |
泰米尔语 | 8 | 3 | 74 |
英语 | 8 | 4 | 2,658 |
性能表现
- 英语:仅需3%的训练数据即可达到与最先进模型相当的性能
- 西班牙语:达到99.1%的准确率
- 泰米尔语:达到96.7%的准确率
- 英语:达到97.4%的准确率
技术优势与应用价值
Proteno模型通过以下技术优势解决了TN领域的关键挑战:
- 数据效率:大幅减少训练数据需求,仅需传统方法3%的数据量
- 错误控制:通过类别约束机制有效防止不可接受错误的产生
- 跨语言泛化:简化的预定义类别设计和语言无关的分词机制支持多语言应用
- 自动化程度:自动类别生成机制减少了对手动规则设计的依赖
该技术为多语言文本转语音系统提供了高效、可扩展的解决方案,特别适用于训练数据稀缺的语言环境。