文脈対応ふりがな:日本語の読みの曖昧さを解決する

日本語の読解は学習者にとって大きなハードルです。なぜなら、単一の漢字や熟語が文脈に応じて複数の読み方を持つことがあるからです。基本的な辞書ベースの変換ツールは存在しますが、周囲のテキストによって意味や読みが変わる一般的な語に対してはしばしば失敗します。EZFuriganaは、単純な参照表を超える文脈対応システムを実装することでこの問題を解決しようとしています。

日本語の同形語の課題

日本語学習者なら誰でも、"\u00a5\u00a5\u00a5"(市場/株式市場)のような語に出くわしたときのフラストレーションを経験したことがあるでしょう。文脈によっては ichiba または shijou と読むことができます。同様に、"\u00a5\u00a5\u00a5"(大分県/かなり)は Oita または daibu と読むことができます。

このような曖昧さのため、正確な音声ガイドが必要な学習者にとって従来のふりがな生成ツールは信頼できません。これに対処するため、EZFuriganaの開発者は文脈依存の対象語を処理できるハイブリッドエンジンを開発しました。

技術アーキテクチャ:ハイブリッドアプローチ

単一のモデルに依存するのではなく、EZFuriganaは正しい読みを決定するために多層システムを使用します:

1. Sudachiによるトークン化

Sudachiは基盤として機能し、トークン化、基本形、品詞(POS)タグ付け、初期候補読みを提供します。これにより、読みを割り当てる前にテキストが意味のある単位に分割されます。

2. 拡張辞書とカスタムルール

言語のニュアンスに対応するため、システムは以下を組み込みます:

  • 拡張辞書カバレッジ:複雑な熟語や固定表現に対応。
  • カスタムルール:助数詞、接尾辞、そして rendaku(連濁)パターンに特化。
  • フレーズ上書き:標準ルールに当てはまらない一般的な慣用句を処理。

3. ModernBERTフォールバック

最も難しいケース、特に文脈依存が高度な144語に対しては、システムはModernBERTを利用します。これにより、辞書ルールや品詞タグだけでは不十分な場合に、周囲の意味的文脈を分析して正しい読みを選択できます。

パフォーマンスとベンチマーク

正確性を確保するため、開発者は7,500行の日本語テキストを用いたLLM支援ベンチマークでシステムをテストしています。著者によれば、現在のシステムは1,000トークンあたり約12件の誤読が平均です。

これは正式な学術研究というより実用的なリグレッションベンチマークとして扱われていますが、開発者がエンジンを継続的に改良し、新バージョンでのリグレッションを検出するのに役立ちます。残された最も難しい領域は人名、稀な語彙、ドメイン固有の用語、そして複雑な rendaku ケースです。

コミュニティのフィードバックとエッジケース

Hacker Newsの初期ユーザーは、現在の実装の長所と短所の両方を指摘しています。ツールが難しい地名を正しく読める点に感心したユーザーもいれば、具体的な失敗を指摘したユーザーもいます:

  • 文脈誤読: あるユーザーは、"\u00a5\u00a5\u00a5"(今日)が日本社会に関する文で誤って読まれ、一般的な kyou ではなく konnichi と読むべきだったと指摘しました。
  • トークン化エラー: 別のユーザーは、"\u00a5\u00a5\u00a5"(今何) が誤って konna ni(こんなに) と読まれたと観察しました。
  • 読みのニュアンス: ユーザーは、"\u00a5\u00a5\u00a5"(どの程度)が dou-hodo ではなく ika-hodo と読まれたことを見つけました。

これらの例はタスクの難しさを強調しています。日本語は「正しい」読みが文の微妙な意図に結びつくことが多い言語です。

学習者向け機能

技術エンジンに加えて、EZFuriganaは言語学習者のワークフロー向けに設計された複数のユーティリティ機能を提供します:

  • マルチフォーマット対応: テキスト、PDF、画像(OCR経由)、EPUB電子書籍、SRT字幕を処理します。
  • JLPTフィルタリング: ユーザーはJLPTレベル(N5〜N1)でふりがなをフィルタリングできます。例えば、フィルタをN3に設定すると、より易しいN5/N4の漢字の読みが非表示になり、学習者は練習を強いられつつ、上級語彙の安全ネットが提供されます。
  • エクスポートオプション: 結果はHTML、TXT、PDF、EPUB、SRT、またはAnki対応のフラッシュカードとしてエクスポートでき、ツールを間隔反復学習システムに直接統合できます。

Sources