next up previous
Next: 残された課題 Up: 一般化 LR 法を用いた頑健な並列構文解析に関する研究 Previous: 研究の成果

ソフトウェアとしての成果

以下では本研究で開発中のソフトウェアについて述べる.本研究で開発中のソ フトウェアは主に 3 つの部分に分けられ,以下に示す図のような構成をなす. ここで,{}で囲まれた箇所は入出力データであり,それ以外はプログラムを 表す.


       {文脈自由文法}
              ↓
    LR 表作成モジュール(1)
              ↓
{文脈自由文法に対応する LR 表}
              ↓
Prolog/KL1 節生成モジュール(2)
              ↓
       {Prolog/KL1 節}          LR パーザのメインプログラム(3)
              |                                |

                ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                               ↓
       −−−−−−−−−→ LR パーザ −−−−−−→{解析結果}
      ↑
{タグ付き文}
      ↑
Brill's Tagger
      ↑
  {入力文}

                     図1 ソフトウェアの構成
LR 表作成モジュール(1)は,文脈自由文法を入力データとし,その文法に対応 する LR 表を自動作成する.この LR 表は Canonical LR 表という,もっ とも制約の強いものである.Prolog/KL1 節生成モジュール(2)は LR 表に対応す るProlog 節および KL1 節を生成する.LR 表を直接利用するよりもこのような コンパイルした節を用いることでパーザの解析速度を向上できる.ここで得ら れた節を LR パーザのメインプログラム(3)と合わせて LR パーザと して利用する.現状では本研究の LR パーザは Prolog の処理系上で動作して いる.KL1 プログラムとしての本手法の実装に関しては,図中の (2) の文法 から KL1 節に変換するモジュールが開発済みである.(1) の LR 表作成モジュー ルは,並列実装においても Prolog 版のものと同じものを利用できるので,変 更の必要がない.また,(3) の LR パーザのメインプログラムは大きく,適格 文を解析する部分と不適格性を検出し修正をほどこす部分に分けられるが,そ のうち,適格文を解析する部分は KL1 プログラムとして構築済みである.後 者の部分を今後作成する予定である.

本ソフトウェアの特徴は以下の通りである.

  1. 本ソフトウェアは,予め与えられた文脈自由文法のもとで,入力文(自然言 語)に対する構文解析結果を出力する.この解析結果が,それに続く意味解析, 文脈解析,推論などの処理プロセスの入力となる.また,一般化 LR 法に基づい た構文解析アルゴリズムを採用しているので,高速な解析が実現できる.
  2. 本ソフトウェアは,これまでの構文解析ツールのように,システムの文法 に適合する文だけでなく,不適格文をも受理できる頑健な構文解析ツールである. その際,文法に適合する文に対しては,不必要な誤り解析は行なわないので,無 用な効率の低下を引き起こさない.
  3. 従来の構文解析プログラムは,解析結果が複数得られる場合,それらをた だ任意の順にすべて出力するものが多い.本ソフトウェアでは,解析結果にスコ アをつけ,スコアの低い結果を妥当でないものとして排除し,妥当な結果のみを, その妥当性の順に出力する機能を提供する.スコア付けの手法としては,誤りの 位置,誤りのタイプ,誤りの数を予め用意し提供するが,ユーザがスコア付けの 手法を自由に設定する機能を追加することも検討する.


www-admin@icot.or.jp