1 / 25

IDS による 漢字情報処理

IDS による 漢字情報処理. 川幡  太一. IDS とは何か?. 「漢字の構造」の表現 Ideographic Description Sequence の略 ISO/IEC 10646:2003 Annex F にて用法を規定. 構. ⿰. ⿰木冓. 木. 冓. ⿰木⿱

meli
Télécharger la présentation

IDS による 漢字情報処理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IDSによる漢字情報処理 川幡 太一

  2. IDSとは何か? • 「漢字の構造」の表現 • Ideographic Description Sequenceの略 • ISO/IEC 10646:2003 Annex Fにて用法を規定 構 ⿰ ⿰木冓 木 冓 ⿰木⿱𠀎冉 ⿱ ⿱𠀎冉 𠀎 冉

  3. IDSの意義 • 漢字構造情報の電子的表現 • 漢字字形の定義・検索に利用可能。 • 漢字が7万文字を超えると、従来の方法では検索は困難に。 • 異体字の照合や判定・フォント合成・文字認識・OCR等にも応用可能。 • IDSの問題 • 同じ漢字を複数の方法で表現できる。 • 同じ符号で包摂可能な漢字を異なる符号で表現できる。

  4. 漢字データベースプロジェクト • http://kanji-database.sourceforge.net/ • 様々な漢字情報を収集/整理 • 漢字字形はIDSでデータ化 • UCS漢字 • GB 7589/7590の漢字 • チュノム • 拡張漢字E候補漢字 • 日本の国字(和製漢字の辞典) • ある「漢字」が符号化されているか、または上記データにあるかをIDSで判別できるか?

  5. IDSの課題 • I. 必ずしも漢字部品の全てが、符号化されているとは限らない • 例:乌 → ⿹乌一(乌は符号文字にない) • この問題については、台湾 CDP (Chinese Document Processing) の作成した「漢字部品外字フォント」が豊富な部品バリエーションがあり、多くの漢字の分解に利用可。 • II. 特定の漢字符号に対して、IDSは必ずしもユニークにならない • → 「正規化」による「比較可能性」が必要

  6. IDSの多様性(1) • 分割点によるIDSの相違 例 傾 傾 傾 ⿰ ⿰ ⿲ 匕 亻 頃 化 頁 亻 頁 ⿰亻頃  ⿰化頁  ⿲亻匕頁

  7. IDSの多様性(2) • 分割レベルによるIDSの相違 例: 峠 峠 ⿰ ⿰ ⿱ 山 𠧗 山 上 下 ⿰山𠧗   ⿰山⿱上下

  8. IDSの多様性(3) • 垂/繞のかかる範囲の違い ⿰ ⿺ ⿸ ⿱ 麥 面 麥 面 鹿 射 鹿 射 ⿸鹿射 ⿱鹿射 ⿰麥面 ⿺麥面

  9. IDSの多様性(4) • 統合可能な字形の違い ⿰ ⿰ ⿱ ⿱ 忄 青 忄 靑 衛 心 衞 心 同じ符号が異なるIDSで表記できる場合の他にも、同じIDSが複数の符号に対応する、「重複符号化」の問題もある。

  10. IDSの多様性(5) • 「意味的」IDSと「表示的」IDSの違い 旗 旗 街 街 ⿰ ⿲ ⿸ ⿴ VS. VS. ⿱ 方 彳圭亍 㫃 其 行 圭 𠂉 其 説文解字などを重視して意味的に漢字を分解しよう、という意識が働くとき、実際の物理的な分解方法とは異なるIDSが構成される可能性がある。

  11. IDSの正規化 • 現実のIDSは、上記の5つの問題が複雑に絡み合い、「同一性」の判定をIDS文字列の単純な比較だけで行うのは困難。 • 解決に向けての4つの手段 • IDS入力ルールの明確化 • IDCの統合 • IDS木構造の「正規化」 • 統合可能な漢字部品 (DC)の「正規化」または「同一視化」 • 過去に、IRG N1154として分解アルゴリズムを提案したことがあったが、処理が重すぎた。

  12. IDS入力ルールの明確化 • 入力時のルールを、Annex F.3 に追加。 • 重ね合わせIDSは極力避ける • 「意味論的」ではなく「表現的」なIDSのみ • 例:辧(説文「判也。从刀。辡聲。」)は「⿴辡刀」とせず「⿲辛刀辛」とする。 辧 辧 ⿴ ⿰ 刀 辡 刀 辛 辛

  13. IDCの統合 • IDSの比較の際、⿵⿸⿹は⿱に、⿺⿶⿷は⿰に統合し、また⿶はノードの左右を入れ替えて、⿱に統合する。 凶 凶 ⿶ ⿱ 凵 㐅 㐅 凵

  14. IDS木構造の正規化(1) • IDSの「⿲/⿳」と「⿰/⿱」の曖昧さを避けるため、⿲ABCは⿰A⿰BC等に置き換える。 傾 傾 ⿰ ⿲ ⿰ 亻 亻匕頁 匕 頁

  15. IDS木構造の正規化(2) • IDSの「分割点」の曖昧さを避けるため、木のノードのIDCと、その左枝のIDCが同じ場合は、当該IDCを右側に移動する。 儲 儲 ⿰ ⿰ ⿰ ⿰ 者 亻 亻 言 言 者

  16. IDS木構造の正規化(3) • 前ページのルールは、ノードのIDCの左下の漢字が、当該ノードのIDCと同じIDCで分解可能な場合にも、分解して適用する。 (儲) (儲) (儲) ⿰ ⿰ ⿰ 信 ⿰ ⿰ 者 者 亻 亻 言 言 者 「信」は「⿰亻言」と展開でき、右上ノードとIDCが一致する。

  17. IDS木構造の正規化(4) • IDSの縮約 • IDS木の正規化後、IDS木の葉が符号化漢字(DC)の場合は、ノードのIDSをデータベースから検索、該当漢字があれば置換を行う。 (儲) (儲) (儲) ⿰ ⿰ 儲 ⿰ 諸 亻 亻 言 者

  18. IDS木構造の正規化(5) • IDS木構造の正規化例(1) ⿰ ⿰ ⿰ ⿲ ⿰ ⿰ ⿰ ⿰ A ⿰ A1 B C B C B C A1 A2 A3 A3 A2 ⿲ 処理ノードのIDCが横方向に分解でき、かつその左側の文字Aが、IDSデータベース上は⿲A1A2A3と横方向に分解できる場合、Aはいったん、正規化のために分解する。 ノード左の漢字をIDS木構造に分解した場合は、そのノードに対しても正規化処理を再帰反復実行する。 A1 A2 A3

  19. IDS木構造の正規化(6) • IDS木構造の正規化例(2) ⿰ ⿰ ⿰ 一致 ⿰ ⿰ ⿰ ⿰ A1 A1 一致 ⿰ ⿰ ⿰ A1 ⿰ B C A2 A2 A3 A3 B C A2 ⿰ A3 B C 処理ノードの左側が同じIDCの場合、当該IDCの左側を処理ノードの左側(A1)に、右側を新設した処理ノード右側ノードの左側に、処理ノード右側を新設ノードの右側に移動する。 移動後、処理ノードを右側ノードに移動し、同様の処理を再帰反復する。

  20. IDS木構造の正規化(6) • IDS木構造の正規化例(3) ⿰ ⿰ ⿰ ⿰ ⿰ ⿰ A1 A1 A1 ⿰ ⿰ A2 A2 A2 X ⿰ ⿰BC A3 A3 B C ⿰BCがIDSデータベースに存在していなくても、⿰A3⿰BCに対して、Xがデータベースに存在する場合がある。 処理ノードの左右がDCの場合、IDCとの組み合わせで、IDSのデータベース(ハッシュまたはトライ木)を検索する。該当漢字が検索できない場合は文字列を上ノードに返す。

  21. DC部品の正規化(1) • 漢字の構成部品として「同等」と考えられるものが存在する。 • 異符号を持つ同等な部品の判定には2つの方法がある。 • IDSデータの格納時に「片寄せ」正規化 • メリット:単純/高速 • デメリット:硬直的/片寄せ処理の無限ループ化を防止する方法が必要 • IDSデータ比較時に全「同等パターン」組み合わせを生成、全比較 • メリット:柔軟性/応用性が高い • デメリット:比較処理が複雑で遅くなる。

  22. DC部品の正規化(2) • 片寄せ時の無限ループ問題 • 「犬/大」のような部品は、同等とみなして「犬」に寄せると、「大」と「丶」に分解され、分解がループする。 • 対策として、同等と考えられる部品のうち、「画数がもっとも小さいもの」に寄せる。 • 「漢字画数データベース」を整備 臭 犬 分解 分解 ⿱ ⿺ 片寄せ正規化 自  大 片寄せ正規化 大  丶 無限ループ化

  23. IDS正規化アルゴリズムのまとめ • IDS木構造の最上位ノードから正規化処理を行う • 対象ノードのIDCが⿵⿶⿷⿸⿹⿺/⿲⿳ならばIDCを正規化する。 • 対象ノードのIDCと、左側IDCが一致したら、木の組み替えを行う。(⿰⿰ABC → ⿰A⿰BC) • 対象ノードのIDCと、左側文字の潜在IDCが同じならば、左側ノード文字のIDS分解と正規化を行う。 • 対象ノードの左側DCを(片寄せの場合は)正規化し、右側ノードを対象ノードにして再起的に処理を行う。 • 左右のノードがDCのノードに到達したら終了。 • IDS木構造の最上位ノードから文字合成処理を行う。 • 対象ノードの全子ノードがDC/IDSならば、ノード全体でIDSを構築してIDSデータベースを検索する。 • 符号化漢字がヒットしたらその文字列を返す。 • 符号化漢字がヒットしない場合は、IDSをそのまま返す。 • 対象ノードの子ノードが木構造なら再帰処理を行う • 処理終了時には正規化IDSが完成

  24. 本アルゴリズムの特徴 • アルゴリズムが単純 (全分解して、可能性のある全パターンを検索する方法※に比較した場合) • 再帰を使えば非常に短いコードで記述可能。 • 高速動作 • 低メモリ消費 ※ IRG N1154で発表し、IRGにおける重複漢字チェックに使用したアルゴリズム

  25. まとめ • IDSは漢字構造を記述。(部品としてはCDP外字が便利) • IDSは漢字の検索/照合/フォント合成/OCRなど、様々な応用が考えられる。 • IDSによる照合処理には正規化が必要。 • IDSの正規化には、「意味的 vs. 表示的IDS」「分割点」「IDCの正規化」「DCの正規化」の問題がある。 • 本発表で提案するアルゴリズムは、上記の課題を高速・低メモリで解決することを可能にする。

More Related