汉语拼音数据透视:79,000 多个句子告诉我们什么
我分析了来自 Tatoeba 的 79,704 个中文句子,想弄清哪些拼音音节在实际使用中真正出现。这个语料库包含 1,161 个不重复音节(可能还有一些冷僻音节未被覆盖)。我用 Trie(字典树)数据结构映射每一个音节,发现了声调分布、汉字复杂度和多音字读音方面的规律,它们与教科书给人的印象并不相同。
下面就是数据揭示的内容。
Trie 结构
Trie(前缀树)是一种数据结构,从根到叶的每条路径代表一个完整的字符串。对拼音来说,每个节点是一个字母,沿着 h → a → n → 4 这样的路径走下来就得到音节「han4」。
拼音音节构成一棵树,每个字母都是一个节点。下面是完整的 h 分支,展示音节如何从根节点长到终端节点:
从根节点到所有完整音节(ha、hao、he 等)的 h 分支。虚线表示其他分支。
继续探索:
第 1 层 →
第 2 层 →
第 3 层 →
完整 Trie → (将鼠标悬停在节点上可查看详情)
声调悖论
轻声只占不重复音节的 2.2%,却占实际汉字使用量的 8.4%。为什么?因为极其常用的语法虚词(的、了、吗、么)全都是轻声:
看声调的三个视角:按音节、按汉字、按使用频率
关键发现:第四声在所有统计口径下都占主导(27% 到 34%),而轻声由于虚词频率极高,影响力远超其占比。
音节拥挤程度
大多数拼音音节只对应少数几个汉字。但有几个音节极其拥挤:
每个音节对应的汉字数量:多数为 3 到 4 个,但有些超过 30 个
最拥挤的音节:
- yi4:37 个汉字(意、义、议、异、易、亿、艺、益……)
- shi4:32 个汉字(是、事、市、式、试、视、世、士……)
- ji4:30 个汉字(记、际、计、技、季、继、既、寄……)
另一方面,有些音节只对应唯一一个汉字:wo3(我)、le0(了)、ni3(你)。
多音字的迷思
教科书强调许多汉字有多种读音。但在本语料库出现的 5,002 个汉字中,实际只有 3.8%(199 个字)是多音字。虽然 Unicode 定义了 8 万多个汉字,本次分析关注的是学习者在真实使用中会遇到的部分:
读音最多的前 20 个汉字
即使某个字确实有多种读音,通常也有一个读音占绝对主导:
- 的:4 种读音,但 99.8% 的情况读
de0 - 一:3 种读音,但
yi1是主要形式 - 著:5 种读音(语料库中读音最多的汉字)
音节结构
多数汉语音节在深度 4 处结束(3 个字母加声调,如 ban1 或 mao2):
按深度统计的音节完成情况:41.5% 的音节在深度 4 处完成(1,161 个中有 482 个)
最长的音节(深度 7:6 个字母加声调)全都是 -uang 组合:
- chuang1、chuang2、chuang3、chuang4
- shuang1、shuang3
- zhuang1、zhuang4
音节 × 声调覆盖情况
去掉声调后,1,161 个音节收缩为 401 个基本形式。下面的热力图显示哪些基本音节在全部 5 个声调上都存在:
401 个基本音节 × 5 个声调。单元格数值为汉字数量。有些基本音节在所有声调上都存在,有些只出现在一两个声调上。
观察结果:
- 多数基本音节并不具备全部 5 个声调变体
- 轻声(第 0 列)非常稀疏,只有 25 个基本音节有轻声形式
- 有些基本音节只出现在特定声调(仅出现在 1 到 2 个声调列中)
主要结论
- 79,704 个句子中有 1,161 个不重复音节;去掉声调后为 401 个基本音节(每个基本音节平均 2.9 个声调)
- 91.8% 的汉字在实际使用中只有一个读音,教科书对多音现象的强调在真实语用中被夸大了
- 轻声:占音节的 2.2%,却占使用量的 8.4%,差距来自语法虚词(的、了、吗、么)
- 第四声占主导,在音节、汉字和使用量三个口径下都是如此(27% 到 34%)
- 前 10 个音节占全部汉字出现次数的 18.8%;每个音节平均对应 4.5 个同音字,yi4 高达 37 个
实际意义在于:掌握了前 10% 的高频音节及其主导读音的学习者,就覆盖了大部分阅读负荷。多音问题集中在少量汉字上,并非散布于整个语料库。
技术说明
本次分析基于 Tatoeba 语料库 中的 79,704 个中文句子。我构建了一个字母级的 Trie 数据结构,每个节点代表一个字母或声调数字,终端节点存储汉字元数据和频率数据。
工具:Python 3.9+、matplotlib(图表)、graphviz(树形可视化)
数据流程:
- 从语料库中提取汉字
- 用 jieba + pypinyin 和/或 GPT-4o-mini 计算拼音
- 构建 Trie 结构
- 分析分布、规律和边缘情况
资源
- GitHub 上的 hanzi-flow:完整分析代码与可视化
- Tatoeba:句子语料库