Setting up Linux
Since 2001/10/13
kakasi
Namazu に必要な分かち書きを行なうソフトウェアとして標準の位置を占めていると思いますが、職場の性質上専門用語が数多くあり、辞書に物足りなさを感じて用語の追加をしようとしたら、早速つまずいてしまいました。
kanwadict 辞書の拡張ができない
添付されているドキュメントの JISYO ファイルを読んでも、mkkanwa コマンドを使う事が必要と言う事ぐらいしか判りません。kakasi-ML を参照しても詳しく辞書を拡張する方法は見当たりませんでした。
一般的な情報としては、mkkanwa kanwadict 追加辞書1 追加辞書2.... とコマンドを入れるという事しか判りませんでした。で、その通りやってみると見事今までの辞書より小さくなってしまいました。
いろいろなサイトを検索して断片的に判った事は kakasi にある辞書に追加するには、どうやらソースに添付されている kakasidict が必要らしいと言う事です。この kakasidict と自分の辞書を指定してコマンドを実行すれば良いのかなと考えました。
そこでまず、自分で辞書データを作成します。私は Windows アプリの IME 一太郎附属の ATOK からユーザー辞書等をテキストで抽出しました。ちなみに出来たファイルは、よみ、語、品詞... とそれぞれが TAB で区切られています。
そのデータを /tmp 等に windic.sjis の名前で持って来て次のように処理しました。
nkf -S -e -d windic.sjis > windic.euc
cat windic.euc | awk '{print $1 " " $2}' > localdict
この状態で、localdict を見てみれば通常のエディタでも作成できるのが判ります。
この作成した辞書と、kakasi のソースに添付されている kakasidict を用意し、両方を /usr/share/kakasi/ の中に入れ、次のように処理します。
cd /usr/share/kakasi
cp /tmp/localdict .
cp [%KAKASISOURCEDIR]/kakasidict .
mv kanwadict kanwadict.org
mkkanwa kanwadict kakasidict localdict
一応、出来た kanwadict のサイズを見てみると、やっと大きくなりました。