Next: Up: Previous:

問題

文脈自由文法の構文解析は, 入力として入力文および文法規則を与えられて, その入力文が, 開始記号から文法規則を繰り返し適用することによって得られ る(導出される)かどうかを検査する問題である. もちろん実際にはその導出の 過程が後から再現できるだけの情報(解析木)を答えとして残さなくてはならな い. 以下のように記号を定める. 文法はチョムスキー標準形とする. すなわち, 文法は辞書規則 句構造規則からなり, 辞書規則は,

displaymath1150

という形をしている. ここで, tex2html_wrap_inline1174 , tex2html_wrap_inline1176 . 句構造規則(生成規則) は,

displaymath1151

という形をしている. ここで, tex2html_wrap_inline1178 .

この記号のもとで, 与えられるのは tex2html_wrap_inline1162 および文法であり, 求めるものは集合 tex2html_wrap_inline1082 らである. もちろん構文解析という目的からは, 「 tex2html_wrap_inline1184 であるかどうかを判定し, そうであれば導出過程(ま たは同じことだが, 解析木)を出力する」ことが問題になるが, CKYアルゴリズ ムにおいては, 結局アルゴリズム中全ての tex2html_wrap_inline1082 を全て求めることになる ため, このようにしておく. 逆に tex2html_wrap_inline1082 が求まってしまえば後はアルゴリ ズムの各過程で用いた文法規則を覚えておくことで, 導出過程は再現でき る. 具体的に蓄える必要があるデータはアルゴリズムの説明をする時に述べる.

さて, tex2html_wrap_inline1082 ( tex2html_wrap_inline1192 )は以下の条件を満たすような最小 の集合である.

  1. tex2html_wrap_inline1194 ならば, tex2html_wrap_inline1196 .
  2. tex2html_wrap_inline1198 , tex2html_wrap_inline1200 , かつ tex2html_wrap_inline1202 ならば, tex2html_wrap_inline1204
1.は, tex2html_wrap_inline1206 は1単語からなる部分単語列 tex2html_wrap_inline1208 を導出可能な非終端記号 の集合であるから, tex2html_wrap_inline1194 となる各sに対して, tex2html_wrap_inline1196 でなければならない, ということを表している. これは図で書け ば, 1単語 tex2html_wrap_inline1208 からなる単語列に対し, 図5.1左のような解 析木が構築可能であることを示している. 一方2.は, s'から単語列 tex2html_wrap_inline1220 が導出可能, s''から単語列 tex2html_wrap_inline1224 が導 出可能で, かつ句構造規則 tex2html_wrap_inline1202 が存在する時は, 結局s から, 両者を結合した部分文字列 tex2html_wrap_inline1230 が導出可能であること を表している. これは解析木の図でいえば, 図5.1右のよう に, tex2html_wrap_inline1220 に対する解析木A, tex2html_wrap_inline1224 に対する 解析木Bがあり, 各々の木の根における記号がs', s''であり, 文法規則 tex2html_wrap_inline1202 存在する時は, tex2html_wrap_inline1230 に対する, より 大きな解析木Cが, A, Bを子供に持つ木として構築可能であることを表し ている.

figure53 figure53

     図5.1: 


Mitsubishi Research Institute,Inc.
Thu Feb 27 10:02:38 JST 1997