システム構成

English version

Enju ユーザマニュアルの「Enju 文法の構造」 で説明されているとおり,Enju は MAYZ ツールキットの汎用パーザ up を利用しています.up のインタフェースについては up のマニュアルを参照 して下さい.

以下の図のように,up に渡す情報が作られ,また up の出力を利用して最終 出力を作成します.

文法のアーキテクチャ

以下では,各処理について簡単に説明します.詳しくは,各処理について説明 した節を参照して下さい.

前処理

入力文字列に品詞タグ付けや stemming を行い,extent のリストに変換します. "grammar/grammar.lil" の sentence_to_word_lattice/2 で実装されています.

詳しくは,前処理の節を見て下さい.

辞書引き,語彙項目

MAYZ ツールキットで作成した辞書とテンプレートデータベースを使って,語 彙項目を作成します.語彙項目の名前は lexical_entry/2 で,そ の sign は lexical_entry_sign/2 で up に渡されます.両方とも "grammar/grammar.lil" で実装されています.

詳しくは,辞書とテンプレートデータベースの 節を参照して下さい.

文法規則

HPSG の文法規則,すなわちスキーマとプリンシプルは, "grammar/schema.lil" で実装されています.詳しくは,スキーマとプリンシプルの節を参照して下さ い.

また,構文木のルート条件を規定する root_sign/1 は, "grammar/grammar.lil" で実装されています.実体は,"grammar/macro.lil" で定義されている is_root_sign/1です.

確率モデル

曖昧性解消のための確率モデルは,"grammar/synmodel.lil" で実装されてい ます.パラメタのデータを読み込むのもここで行われます.

確率値を計算するプログラムは "grammar/forestprob.lil" で,素性を取り出 すためのプログラムは "grammar/forestevent.lil" で,素性にかけるマスク は "synmask.lil" で実装されています."grammar/synmodel.lil" は,これら のモジュールを読み込み,組み合わせて,up に渡すデータを作っています.

詳しくは,確率モデルの節を参照して下さ い.

出力

up の出力は,enju のエンドユーザが使いやすい形(依存構造や XML)に加工 されて最終出力とします.依存構造は,"grammar/outputdep.lil" で,XML 出 力は "grammar/outputxml.lil" で作成しています.

詳しくは,出力の節を参照して下さい.

また,up の出力や文法の詳細をグラフィカルにブラウズするために,MoriV を 使うことができます.詳しくは,MoriV を使う を参照して下さい.


Enju 開発者用マニュアル Enju ホームページ 辻井研究室
MIYAO Yusuke (yusuke@is.s.u-tokyo.ac.jp)