在诸如Alexa这类使用合成语音输出的服务中,文本归一化通常是文本转语音转换过程的第一步。文本归一化接收原始文本输入(例如字符串“6-21-21”),并将其扩展为可供文本转语音模型用于生成最终语音的口语化形式(例如“twenty first of June twenty twenty one”)。
历史上,文本归一化算法依赖于硬编码规则,这些规则无法跨语言泛化且难以维护:一个典型的基于规则的单语言文本归一化系统可能包含数千条规则,这些规则会随着时间演变,其开发需要语言学专业知识。
最近,学术界和工业界的研究人员开始开发基于机器学习的文本归一化模型。但这些模型也有缺点。序列到序列模型偶尔会犯下不可接受的错误,例如将“$5”转换为“five pounds”。符号分类模型需要由语言学专家创建的特定领域信息类别(例如表情符号或电话号码),这限制了其泛化能力。这两种类型的模型都需要大量的训练数据,使得跨语言扩展变得困难。
在本年度北美计算语言学协会会议上,介绍了一种名为Proteno的新型文本归一化模型,旨在应对这些挑战。
研究在英语、西班牙语和泰米尔语三种语言上评估了Proteno。关于英语的文本归一化研究已有大量成果,但西班牙语和泰米尔语此前没有公开的文本归一化数据集。因此,创建了新的数据集,并已公开发布供其他文本归一化研究人员使用。
Proteno仅指定了少数低级别的归一化类别(例如序数、基数或罗马数字),这些类别能很好地跨语言泛化。然后,Proteno从数据中学习大量额外的细粒度类别。例如,在英语实验中,使用了8个预定义类别,而Proteno自动生成了另外2658个。相比之下,符号分类模型通常只有大约20个类别。
Proteno还使用了一种简单但有效的令牌化方案,即将文本分割成更小的片段。先前的令牌化技术需要语言学知识或数据密集型训练;而Proteno的令牌化技术只是在空格处以及Unicode类别(如字母、数字或标点符号)之间的转换处进行分割。因此,它能够跨语言泛化,使大部分归一化规则能够从数据中学习,并减少了不可接受错误的发生率。
这些技术结合在一起,也使得Proteno所需的训练数据比之前的机器学习方法少得多。在实验中,Proteno在英语上提供了与先前最先进技术相当的性能,而所需的训练数据仅为后者的3%。
由于之前没有在西班牙语和泰米尔语上训练的文本归一化模型,因此实验没有基准数据可供比较。但在可比的训练数据量下,在泰米尔语和西班牙语上训练的Proteno模型达到了与英语训练模型相当的准确率(西班牙语99.1%,泰米尔语96.7%,英语97.4%)。
Proteno将文本归一化视为一个序列分类问题,其中大多数类别是学习得到的。下图说明了Proteno的训练和运行时处理流程,它们的顺序略有不同。
训练流程包括以下步骤:
由于Proteno的目标是适用于多种语言,因此在英语、西班牙语和泰米尔语三种语言上对其进行了评估。英语的自动生成类别数量显著多于泰米尔语或西班牙语,因为书面英语倾向于使用比另外两种语言更多的缩写。
语言 | 预定义类别总数 | 语言特定预定义类别 | 自动生成类别 |
|---|---|---|---|
西班牙语 | 10 | 5 | 279 |
泰米尔语 | 8 | 3 | 74 |
英语 | 8 | 4 | 2,658 |
为了基准测试Proteno在英语上的性能,只能在现有数据集中13个预定义类别中的11个上与早期模型进行比较;令牌化方案的差异意味着另外两个类别没有逻辑映射。这些结果表明,Proteno是在低数据标注需求下进行文本归一化的有力候选方案,同时能抑制不可接受的错误,这将使其成为生产级文本转语音模型的稳健且可扩展的解决方案。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。