中国語ピンイン徹底分析:79,000文超から見えること
実際に使われるピンイン音節を把握するため、Tatoebaの中国語79,704文を分析した。このコーパスには1,161種類の音節が含まれる(ここに収録されていない珍しい音節はまだあるだろう)。Trie(トライ木)構造で全音節をマッピングしたところ、声調分布、字の複雑さ、多音字の発音について、教科書が示すものとは異なるパターンが見つかった。
データが示すことを見ていく。
Trie構造
Trie(接頭辞木)は、根から葉までの各経路が一つの完全な文字列を表すデータ構造である。ピンインの場合、各ノードは1文字の字母で、h → a → n → 4という経路をたどると音節「han4」になる。
ピンイン音節は、各字母をノードとする木を形成する。以下は、根から終端ノードまで音節がどう作られるかを示したhの枝全体である。
根から完全な音節(ha, hao, heなど)までのhの枝。破線は他の枝を示す。
さらに見る:
レベル1 →
レベル2 →
レベル3 →
Trie全体 → (ノードにカーソルを合わせると詳細が出る)
声調のパラドックス
軽声は音節の種類では2.2%に過ぎないが、実際の字の使用では8.4%を占める。なぜか。極めて頻出する文法助詞(的、了、吗、么)がすべて軽声だからである。
声調を3つの観点から:音節別、字別、頻度別
重要な知見:第4声が優勢であり、どの指標でも27〜34%を占める。一方、軽声は助詞の頻度のおかげで種類数をはるかに上回る存在感を示す。
音節の混雑
ほとんどのピンイン音節は数個の字に対応する。しかし一部は極端に混雑している。
音節あたりの字数。多くは3〜4字だが、30字以上のものもある
最も混雑した音節:
- yi4:37字(意、义、议、异、易、亿、艺、益…)
- shi4:32字(是、事、市、式、试、视、世、士…)
- ji4:30字(记、际、计、技、季、继、既、寄…)
一方で、1字だけに対応する音節もある。wo3(我)、le0(了)、ni3(你)。
多音字という神話
教科書は、多くの漢字が複数の発音を持つことを強調する。しかしこのコーパスに現れる5,002字のうち、実際に多音字なのは3.8%(199字)にすぎない。Unicodeは80,000字以上の漢字を定義しているが、この分析は学習者が実使用で出会うものに焦点を当てている。
複数の発音を持つ字の上位20
複数の発音を持つ場合でも、通常は1つが圧倒的に多い。
- 的:発音は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。セルの値は字数。すべての声調に存在する基本形もあれば、1つか2つだけのものもある。
観察:
- ほとんどの基本音節は5声調すべての変種を持たない
- 軽声(列0)は疎で、これを持つ基本音節は25しかない
- 声調が限定される基本形もある(1〜2列にしか現れない)
主な発見
- 79,704文にわたって1,161種類の音節、声調を除くと401の基本音節(基本形あたり平均2.9声調)
- 字の91.8%は実際には発音が1つだけ。教科書が語る多音性は、実使用に対して過大に語られている
- 軽声:音節では2.2%だが使用では8.4%。この差は文法助詞(的、了、吗、么)による
- 第4声が優勢で、音節・字・使用のいずれでも27〜34%
- 上位10音節が全字出現の18.8%を占める。同音字は1音節あたり平均4.5字で、yi4は37字
実践的な意味はこうだ。上位1割の音節とその主要な発音を習得した学習者は、読解の負荷の大部分をカバーできる。多音の問題は少数の字に集中しており、コーパス全体に散らばっているわけではない。
技術ノート
この分析はTatoebaコーパスの中国語79,704文に基づく。各ノードが1つの字母または声調番号を表す字母単位のTrie構造を構築し、終端ノードには字のメタデータと頻度データを保持させた。
ツール:Python 3.9+、matplotlib(グラフ)、graphviz(木の可視化)
データパイプライン:
- コーパスから字を抽出
- jieba + pypinyinおよび/またはGPT-4o-miniでピンインを算出
- Trie構造を構築
- 分布、パターン、エッジケースを分析
資料
- GitHubのhanzi-flow - 分析コードと可視化の全体
- Tatoeba - 文コーパス