# unimaker: unigram 確率モデル作成ツール

English version

unigram probability model のためのイベントファイルを作るツールです．

unimaker モデル名 イベント抽出モジュール lexicon template lexbank イベントファイル
モデル名 | 確率モデルの名前(構文解析の時にも使います)
イベント抽出モジュール | イベント抽出 predicate が実装されている lilfes module
lexicon | 文法獲得で得た lexicon (lildb 形式)
template | 文法獲得で得た template (lildb 形式)
lexbank | 文法獲得で得た lexbank (lildb 形式)
イベントファイル | unfiltered event を出力するファイル (テキスト形式または gz/bz による圧縮形式)
オプション
-ff | Feature forest 形式でイベントを出力します．
-n 閾値 | イベントを抽出する文の数
-v | デバッグ用メッセージを表示します．
-vv | デバッグ用メッセージをたくさん表示します．

確率モデルの名前は，一つのイベントファイルに対して一つ割り当てます．違 う名前を割り当てれば，複数のイベントファイルを同時に用いることができま す．

文法および lexbank を入力として，lexical entry の出力確率(unigram probability)の最大エントロピーモデルを作成するためのツールです．このツー ルでは，確率モデルの学習に必要な unfiltered event を作成します．

unfiltered event とは，以下のように // で区切られたフィールドを持つ文字 列です．

>     in//IN//vp[PPnp]//uni

最後のフィールド(uni)はこのイベントのカテゴリを表しています． カテゴリは，後のステップでこのイベント形式にフィルタをかける時などに利 用します．カテゴリが同じイベントに対しては同じフィルタをかけるので， フィールドの数が同じである必要があります．つまり，フィールドの数が違う イベントを使いたい時は，カテゴリ名を分けて下さい．

各 unfiltered event は，対象となるイベントを文字列で表したものです．こ れは，amismodel.lil で定義された extract_lexical_event/4 の第４引数で 得られるリストの要素をつなげたものです．

`extract_lexical_event(+$ModelName, -$Category, +$LexEntry, -$Event)`
$ModelName | 確率モデルの名前
$Category | カテゴリ名
$LexEntry | 語彙項目
$Event | イベントを表す文字列リスト
語彙項目のイベントを取りだします．

確率モデルの名前は，`unimaker`の第一引数で与えたものと同じもの を指定してください．

素性関数の値(integer または float)を指定したい時は，以下のインタフェー スを使って下さい．

`extract_lexical_event_feature_value(+$ModelName, -$Category, +$LexEntry, -$Event, -$Val)`
$ModelName | 確率モデルの名前
$Category | カテゴリ名
$LexEntry | 語彙項目
$Event | イベントを表す文字列リスト
$Val | 素性関数の値
語彙項目のイベントとその値を取りだします．

MAYZツールキットマニュアル MAYZホームページ 辻井研究室