yusuk****@cheru*****
yusuk****@cheru*****
2002年 11月 16日 (土) 23:55:59 JST
田畑です. Anthyの候補の評価を書き直しているところですが, ちょっと思い立ってanthyのデバッグの仕方を書いておきます. anthy-agentは標準入力でユーザとやりとりすることを 利用して次のようなスクリプトを書きます. -- #! /bin/sh ./anthy-agent <<EOF aho (space) PRINT_CONTEXT EOF -- このスクリプトanthy-agentをコンパイルしたディレクトリで実行すると 手元のanthyでは次のような出力が得られます. -- (2 ((UL) "あほ" -1 -1) cursor) (3 ((UL RV) "アホ" 0 3)) |あほ あほ(アホ:(1N,256)22,485 ,阿呆:(1,256)22,357 ,あほ:(1N,256)22,229 ,): -- これはemacsでahoと入力して変換動作をする(スペースを押す)操作をしたあとで コンテキストを表示するコマンドを入れています. 出力の1行目と2行目はプリエディットの変化を表しています. 3行目と4行目はPRINT_CONTEXTの結果です. 文全体 -> |あほ 一文節目 -> あほ(アホ:(1N,256)22,485 ,阿呆:(1,256)22,357 ,あほ:(1N,256)22,229 ,): 各候補は 変換結果:(候補のタイプ,文節構造のスコア)文節のスコア という形式をしています. anthyのソース中にはanthy_print_*() 系の関数がコメントアウトされている部分が たくさんあるので,それを有効にして同じことをやると変換パイプラインでどんな データが流れるかがわかると思います. ちなみに,デバッグプリントなどを有効にしてmake installすると anthy.elとのプロトコルに反するので注意しませう. -- PUBLISH OR PERISH! Yusuke TABATA (yusuk****@cheru*****)