なぜ日本語ふりがなアプリは日本の本のように見えないのか

形態素駆動と文字駆動:日本語ふりがなの二つの道筋

日本語学習者が初めて furigana に触れるとき、それを「漢字の読みを上に置くもの」だと考えがちです。その理解は間違いではありませんが、すぐに疑問が出てきます。

同じ 昨日、学校へ行った。 でも、自動ツールは 昨日きのう学校がっこう行ったいった と出すかもしれません。一方、児童書、教科書、丁寧に組まれた出版物では 昨日きのうがっこうった。 のような形が自然に見えます。

どちらも読む助けですが、答えている問いが違います。前者は「この文はどう発音されるか」、後者は「紙面上の漢字を読者がどう認識すべきか」を答えています。

ルビを二つの判断として見る

組版の分野では furigana は ruby と呼ばれます。横書きでは親文字の上、縦書きでは右に置かれるのが一般的で、W3C の資料も ruby を日本語組版の重要な要素として説明しています。[1]

しかし「どの文字に付けるか」と「どの単位に対応させるか」は別問題です。すべての漢字に付けるのか、難しい字だけにするのか。読みは一字に付くのか、熟語内の各漢字に付くのか、それとも語全体に付くのか。

JLREQ は日本語の ruby 関係を、モノルビ、熟語ルビ、グループルビに分けます。これは文字駆動の注音を理解する鍵です。[2]

第一の道筋:形態素駆動

形態素駆動は言語解析から始まります。文を語や形態素単位に分け、それぞれに読み、品詞、原形、活用などの情報を与えます。

MeCab は表層形、品詞、原形、読み、発音などを出力できます。UniDic も形態素解析のための辞書で、短単位、語彙素、語形、書字形、発音形などの階層を持ちます。[3] [4]

学校へ行った なら、自然に 学校がっこう行ったいった になります。学校 という語は がっこう、活用形 行ったいった と読む、という判断です。

この方式は自動化に向いています。学習アプリ、ブラウザ拡張、TTS、検索索引、電子辞書、NLP は、文脈に応じた語の読みを必要とします。たとえば 生物 は文脈により せいぶつ にも なまもの にもなります。

盲点:語の読みと紙面のルビは同じではない

行った という語形の読みは いった です。しかし出版物ではしばしば った と書きます。った は本文に見えている送り仮名なので、漢字の上にもう一度載せる必要はありません。

学校がっこう は音読には十分です。しかし漢字学習では がっこう のほうが、熟語内でどの漢字がどの読みの部分を担うかを示せます。ここでの がっ は孤立した がく ではなく、熟語内部の音変化を反映した対応部分です。

今日きょう大人おとな小豆あずき のような語は、無理に一字ずつ分けるとかえって誤解を生みます。ここでは語全体にルビを付けるのが自然です。

第二の道筋:文字駆動 / kanji-unit driven

文字駆動は書かれた形から始まります。どこに漢字があるか、どんな熟語を作っているか、対象読者にとってどの字に助けが必要か、そしてルビを一字ごとに付けるのか語全体に付けるのかを判断します。

JLREQ は総ルビとパラルビも区別します。全漢字に付ける場合もあれば、一部の難読字だけ、あるいは初出だけに付ける場合もあります。[2]

熟語ルビとグループルビ

熟語ルビは見落とされやすい中間形です。がっこう は単なる二つのモノルビではありません。学校 を熟語全体として扱いつつ、内部の漢字と読みの対応も残します。

読みを自然に各漢字へ配れない場合はグループルビになります。今日きょう明日あした大人おとな一昨日おととい などです。常用漢字表でも、当て字や熟字訓の多くは語として扱われます。[5]

違い

観点形態素駆動文字 / kanji-unit 駆動
主な問いこの文や語はどう読むか紙面上のどの漢字にどの読みを付けるか
基本単位形態素、語、短単位、活用形親文字、漢字、熟語、語全体
典型出力学校がっこう行ったいったがっこうった
強み自動化、文脈判断、TTS、語彙学習紙面の明確さ、漢字学習、児童書、正式な組版
弱み各漢字が担う読みを示せないことがある自動化が難しく、規則や校正が必要

なぜ教科書や児童書は文字駆動に寄るのか

それらは発音を助けるだけでなく、漢字を教えるためでもあります。日本の学校教育では学年別漢字配当があり、音訓の扱いも発達段階、学習負担、生活上の必要性、意味理解などを考慮します。[6] [7]

学校がっこう で読めますが、がっこう の役割を見せます。行ったいった で発音は分かりますが、った は漢字と送り仮名の関係を見せます。

四つの例

学校。 形態素駆動は 学校がっこう、文字駆動は がっこう。前者は語彙、後者は漢字と出版物の読み方に向きます。

行った。 形態素駆動は 行ったいった、文字駆動は った。送り仮名は本文に残ります。

今日。 多くの場合どちらも 今日きょう です。きょ と分けると誤った直感を与えます。

生物。 文脈が重要です。研究の文脈では せいぶつ、食品の文脈では なまもの です。文字駆動では前者を せいぶつ、後者を 生物なまもの と扱うことがあります。

学習者にはどちらがよいのか

文を滑らかに読みたいだけなら形態素駆動は便利です。音声ナビのように、語と文の読みを直接示します。

漢字を学ぶ、児童書を読む、精読する、教材を作るなら文字駆動が役立ちます。語の読みだけでなく、読みが紙面上の文字へどう付くかを見せるからです。

アプリや教材では二段階の混合が理想

高品質なふりがなシステムは、まず形態素解析で候補読みを得て、次に出版組版に近い規則で親文字の範囲を決めるべきです。難しいのは第二段階で、そこには言語学、漢字教育、日本語組版、読者設計が関わります。

二つの眼鏡

形態素駆動は聴覚の眼鏡です。日本語を音の流れとして見て、「この文はどう読むか」と問います。

文字駆動は書字の眼鏡です。漢字、仮名、熟語、行、版面を見て、「このページは読者が読み、文字を学ぶことをどう助けるか」と問います。

OCAT について:OCAT の「設定」-「試験的オプション」では、文字(orthographic / kanji-unit)駆動と形態素(morphological)駆動を自由に選べます。標準は文字素モードです。この方式をサポートする日本語学習アプリは、ほとんど他にないかもしれません。

参考資料

  1. Rules for Simple Placement of Japanese Ruby
  2. Requirements for Japanese Text Layout 日本語組版処理の要件
  3. MeCab: Yet Another Part-of-Speech and Morphological Analyzer
  4. UniDic glossary
  5. 文化庁 常用漢字表
  6. 学年別漢字配当表
  7. 文部科学省 音訓の小・中・高等学校段階別割り振り表

OCAT

AIとの会話を通じて、自然な日本語とフレーズを学びましょう。

OCATは、AIとの会話を通じて日本語、中国語、広東語、英語の会話力を向上させるアプリです。

読み仮名付き、再生可能、お気に入り登録可能なネイティブフレーズを簡単に収集し、自分だけの日常会話フレーズ集を素早く構築できます。繰り返し再生して耳を慣らし、自然に口から出るようになります。

単語よりもフレーズで覚えよう!

OCATという名前は日本語の「おしえてoshiete」に由来しています。

主な機能