研究概要 |
本年度は,文脈自由言語より広いクラスの構文解析のアルゴリズムについて研究を行なった.主な内容としては,文脈自由言語より広いクラスでも,帰納的に可算な言語のクラスでも構文解析できる構文解析アルゴリズムの開発(1.に示す)と,確率文脈自由文法を拡張した構文解析法を提案し部分解析木の出現頻度を計算する手法を提案した(2.に示す). 1.文脈自由言語の部分クラスを構文解析する方法としてLR構文解析法が知られているが,そのLR構文解析の拡張として,文法規則の導出のとき,先読み文字列を非終端記号とし,導出する文法規則より右側の非終端記号列を部分木の親とする構文解析法(unrestricted LR(k)構文解析)を提案した.加えて,この構文解析法は,先読み文字列数k>1となるような複数個必要な文法でも,先読み文字列をk=1に削減する文法規則の変換法ついても示した. また,変換法から,LR構文解析法が解析できる言語は,文脈自由言語の部分クラスしか解析できなかったのに対して,帰納的に加算な言語であれば,先読み文字列が1つで十分であることも示した. 2.確率文脈自由文法では,文法規則に生起確率が付属するのに対して,部分構文木の生起確率を求める手法が知られているが,そのなかでも一般化LR構文解析の状態遷移の中からreduce動作が連続する状態の組を計算することによってより正確な部分解析木を計算できることを示した.また,連続する状態の組の数が多い場合は,状態数を減らすことによって,部分解析木の生起確率を近似する手法についても示した.
|