本研究の目的は、文字読取ソフトウェアであるOCRopusに対しての数式認識システムの組み込みであり、数式認識の各処理のモジュール化が必要となる。21年度においては、(1)OCRopusの仕様とソースコードの調査、(2)数式構造解析部分のモジュール化、(3)認識結果のLateX/MathML出力部のモジュール化を行った。 (1)OCRopusの仕様とソースコードの調査では、OCRopusの認識処理は各フェーズごとに独立して実行できること、および、どのような出力結果が得られるかを把握した。既存の処理の中に新しいモジュールを組み込むためには、インターフェイス部の一致が必須となる。数式認識を組み込む位置は、レイアウト解析、および、文書ライン認識のモジュールの後ろとなり、直前の処理より得られた結果を元に、数式部分の識別と切出しを行う。 (2)数式構造解析部分のモジュール化、および、(3)認識結果のLateX/MathML出力部のモジュール化では、旧Unix用に開発されていた数式認識システムを、OCRopusの開発プラットフォームであるUbuntu Linuxへと移植し、一部手動とはなるが上述した(1)の直前の処理の出力結果を読み込み、数式認識結果を出力できる状態とした。現在は直後のモジュールとの入出力の一致を行っており、数式認識プログラムの出力であるMathMLとOCRopusの入力形式であるHTMLとの整合性を図っている。 その他、認識対象となる数式部分を切り出すために、独立した行で現れるディスプレイ数式と、文章行中に現れるインライン数式に対する手法の文献調査を行った。数式の切り出しでは特にインライン数式の識別は困難となる。先行研究を元にインライン数式を識別するクラス分けアルゴリズムの改良を進めている。
|