TellWorldAI 世界档案
问档案English

首页›产品

产品

NETtalk 语音合成网络

NETtalk 是 Terrence Sejnowski 与 Charles Rosenberg 构建的人工神经网络,学会把英文文本转换成音素并合成可听的语音,说明只靠样例训练的网络也能泛化到没见过的单词。

发布日期

NETtalk 是什么

NETtalk 是一个学会把英文朗读出来的人工神经网络。它以英文文本为输入、以音素转写为输出,靠监督学习(supervised learning)从单词与发音的配对中掌握拼写与读音之间的对应关系,而不是依赖人手写下的发音规则[1]。网络输出的一串音素被送进 DECtalk,合成出真正能听见的语音[1]。

由来

NETtalk 出自 Terrence Sejnowski(特里·塞诺夫斯基)和 Charles Rosenberg(查尔斯·罗森伯格)在 1980 年代中期完成的研究,原始论文发表于 1987 年[1]。论文题为《Parallel networks that learn to pronounce English text》,刊登在 Complex Systems 第 1 卷第 145 至 168 页[2]。作者署名分别是约翰斯·霍普金斯大学生物物理系的 Terrence J. Sejnowski 和普林斯顿大学认知科学实验室的 Charles R. Rosenberg[3]。

网络是怎么搭的

网络有三层、18,629 个可调权重,按 1986 年的标准这已经算大[1]。输入层有 203 个单元,分成 7 组、每组 29 个,对字符做独热编码(one-hot encoding):网络每次看的是目标字符,以及它前面三个和后面三个字符[1]。隐藏层有 80 个单元。输出层 26 个单元分两类,其中 21 个编码发音特征,5 个编码重音和音节边界[1]。

训练集是 Brown 语料库中 20,008 个单词的子集,音素和重音由人工标注。制作这份数据花了三个月,约合 250 人时,而训练网络本身只用几天[1]。训练方法是反向传播(backpropagation),喂给网络的是英文单词及其发音,训练好的网络能对没见过的单词给出准确率较高的发音[1]。

实现上有两个版本被记录下来:最初在 Ridge 32 上跑,每一步学习耗时 0.275 秒;后来在拥有 16,384 个处理器的 Connection Machine-1 上实现,加速 52 倍[1]。

实验看到了什么

Sejnowski 发现,发音相似的音素会在网络的表示空间里聚到一起;去掉一部分隐藏神经元后,输出会变差,但仍然听得懂[1]。论文摘要把 NETtalk 描述为一类大规模并行网络系统,学习把英文文本转换成语音,发音的记忆表示通过练习学得,并由许多处理单元共享[2]。摘要还指出,网络学的单词越多,泛化并正确读出没见过的单词的能力就越好;当网络中的连接被损坏时,性能下降得非常缓慢[2]。

反响与它在领域中的位置

NETtalk 获得了大众层面的关注,曾登上《今日秀》(Today show)节目[1]。它对后来研究的意义在于设计本身展示的东西:一组被众多处理单元共享的权重[2],就足以让一种通用的学习程序仅凭样例学会拼写到读音这种不规则映射,并把它用到训练中从未出现过的单词上[1]。摘要在损伤条件下描述的那种平缓退化也指向同一件事:分布式存储的知识会把损失摊开,而不是一次性全部失去[2]。

注释与来源

  1. NETtalk (artificial neural network)https://en.wikipedia.org/wiki/NETtalk_(artificial_neural_network)
  2. Parallel Network Learns to Pronounce Englishhttps://cnl.salk.edu/Research_2011/ParallelNetsPronounce
  3. Parallel Networks that Learn to Pronounce English Texthttps://papers.cnl.salk.edu/PDFs/Parallel%20Networks%20That%20Learn%20to%20Pronounce%20English%20Text%201987-3351.pdf

引用本页: NETtalk 语音合成网络. TellWorld, https://www.tellworld.net/zh/products/nettalk. 更新于 2026-11-07