そろそろUbuntu 10.04 LTSから12.04 LTSに乗り換えるタイミングが迫っていますが、如何お過ごしでしょうか。 最新版のChasenパッケージはみていませんが、とりあえず作業ログをまとめておきます。
cannadicを使っている場合には、これから説明するような問題はないので気にしないでください。 今回の対象はパッケージのchasenとipadicを使っていて、UTF-8に対応させたい場合です。
ipadicパッケージを導入せずにchasen単体を導入すると、naistがまとめているjdicが導入されるはずです。 通常の使用であれば、こちらを使うのがお勧めです。
おすすめの方法
/var/lib/chasen/dic/naist-jdic-utf8 が導入されている事と /etc/chasenrc が /etc/alternatives/chasenrc へのシンボリックリンクになっていて、その先が /usr/share/chasen/chasenrc-utf8 になっている事を確認してください。 これだけで UTF-8 に対応したchasenを利用する事が可能になります。
ここから先は自力でipadic-2.7.0を導入したい人向けです。いまさらそんな需要はないと思いますけどね。
UTF-8対応にする際の課題
公式サイトのFAQをみると、UTF8に乗り換える手順は次のようになっています。
$ tmpfile=/tmp/foo.$$ $ cd /etc $ nkf -w chasenrc > $tmpfile $ cp $tmpfile chasenrc $ cd/usr/share/chasen/dic/ipadic $ for file in *.dic *.cha ; do nkf -w $file > $tmpfile ; sudo cp $tmpfile $file ; done $ sudo `chasen-config --mkchadic`/makemat -i w $ sudo `chasen-config --mkchadic`/makeda -i w chadic *.dic
全体的な流れは設定ファイルと辞書ファイルをUTF-8に変換して、chasenのmakemat,makedaを実行することです。
ここで問題になるのは、*.dicファイルがパッケージに付属してこないことです。
この時点でパッケージのipadicを使ってのUTF-8変換を行なう事は諦めました。
/usr/local/へのipadicの導入
ipadicパッケージは使い物にならないので、このまま残して、/usr/local以下にUTF-8対応のipadicを導入することにします。
ipadicパッケージを削除しようとすると、通常は依存関係にあるchasenも消えてしまうので注意が必要です。
ipadic-2.7.0の取得
ipadic-2.7.0を展開してコンパイルだけしておきます。
$ tar xvzf ipadic-2.7.0.tar.gz $ ./configure $ make
/usr/local以下への展開
場所は /usr/local/share/chasen/dic/ipadic にします。場所は適当にかえてください。 この場所を/etc/chasenrcから指す事になります。
$ sudo mkdir -p /usr/local/share/chasen/dic/ipadic $ sudo cp *.dic *.cha chasenrc /usr/local/share/chasen/dic/ipadic
ここから先は /usr/local/share/chasen/dic/ipadic に移動して実行します。
$ /usr/local/share/chasen/dic/ipadic $ tmpfile=/tmp/foo.$$ $ for file in *; do nkf -w $file > $tmpfile ; sudo cp $tmpfile $file ; done $ sudo `chasen-config --mkchadic`/makemat -i w $ sudo `chasen-config --mkchadic`/makeda -i w chadic *.dic
辞書の置き換え
最後に /etc/chasenrc を置き換えます。
$ sudo cp -ip /etc/chasenrc /etc/chasenrc.backup.$$ $ sudo cp /usr/local/share/chasen/dic/ipadic/chasenrc /etc/chasenrc
最後に /etc/chasenrc の先頭にある辞書を示す行を変更しておきます。
--- /usr/local/share/chasen/dic/ipadic/chasenrc 2012-04-19 14:36:22.935553612 +0900 +++ /etc/chasenrc 2012-04-19 14:39:02.456165344 +0900 @@ -5,8 +5,8 @@ ;;; ;;; grammar.cha/ctypes.cha/cforms.cha location /文法ファイル ;;; -;(文法ファイル /var/lib/chasen/dic/debian/ipadic) -(GRAMMAR /var/lib/chasen/dic/debian/ipadic) +;(文法ファイル /usr/local/share/chasen/dic/ipadic) +(GRAMMAR /usr/local/share/chasen/dic/ipadic) ;;; ;;; dictionary /辞書
稼働確認
/etc/chasenrcはUTF-8に変更してあるので、これを処理させてみます。
$ chasen -i w /etc/chasenrc
この結果を眺めて、名詞やらがちゃんと抜き出されているか確認します。
この流れだとパッケージに含まれているファイルの中で変更する対象は /etc/chasenrc だけになるので、いろいろやりやすいと思います。
0 件のコメント:
コメントを投稿