Chasen辞書を作る(辞書追加追加ではない)

Chasenの辞書を作るのに結構てこずったのでメモにしておく。

1.オリジナル辞書の準備
辞書の元となるファイル(ここではmydic.chaとして)の作成。改行コードは(LF), 文字コードは(EUC-JP) 、Chasenの環境に合わせる(echo $LANGなどで確認)

辞書ファイルフォーマットは(例):

(品詞 (名詞 固有名詞 地域 一般)) ((見出し語 (清川町 1)) (読み 石川県金沢市清川町) (発音 イシカワケンカナザワシキヨカワマチ) )

フォーマットが分かりにくいのですが:

(品詞 (名詞 *1)) ((見出し語 (*2 *3)) (読み *4) (発音 *5) )

この品詞名はgrammar.chaに書かれているものを選ぶ必要。サンプルをいくつかあげておくので参考にしてください。

(品詞 (名詞 固有名詞 地域 一般)) ((見出し語 (金沢市泉 1)) (読み 石川県金沢市泉) (発音 イシカワケンカナザワシイズミ) )
(品詞 (名詞 一般)) ((見出し語 (お正月 3641))  (読み オショウガツ) (発音 オショーガツ))
(品詞 (動詞 自立)) ((見出し語 (あきらめる 2377))  (読み アキラメル) (活用型 一段))
(品詞 (名詞 一般)) ((見出し語 (天文学 3556))  (読み テンモンガク)

見出し語:
これは分かりますね。登録したい語です。

形態素生起コスト:
この数値が小さいほど出現しやすくなります。

読み情報:
見出しをカナにしたものが適当です。

発音情報:
これも分かりますね。発音情報です。

[参考]

2.ファイルコンパイル
mydic.chaをmakedaコマンドでコンパイルします。makedaは/usr/lib/chasen/makedaなどに入っていてPATHが通ってないことがありますので注意してください。

yourhost:~$ /usr/lib/chasen/makeda mydic mydic.cha

makedaコマンドは
makeda 辞書名 辞書ファイルのパス
として利用します。

makeda実行時には正しくgrammar.cha, cforms.cha, table.chaなどがインストールされている必要があります。
コンパイルが終わるとishikawa.cha ishikawa.lex ishikawa.da の3つのファイルが出来上がります。これを /home/chasen/mydic (例)などに保存してください。

3.chasenrcの準備
chasenを実行する際にどの辞書ファイルを読み込むかを明確に指定するファイルがchasenrcファイルです。このファイルを手直しし、mydicを読み込ませます。サーバ内にchasenrcがどこかにあると思います。
/usr/share/chasen/chasenrc や /etc/chasenrc などを探してみてください。
仮に/etc/chasenrcにあるとしておきます。

このファイルの
(GRAMMAR {PATH})
(DADIC {DICNAME})

{PATH}の部分にコンパイルした際に出来た3つのファイルのパスを記入。
{DICNAME}の部分には辞書名(makedaの際に指定した名前)を記入します。

4.chasenの実行
ここまで出来たらchasennを実行できます。chasen -r /etc/chasenrc でchasenを実行すると作成した辞書を込みこますことが出来ます。