ぬぬん!

やってみたこと,思ったこと

macにchasenを入れる

形態素解析が出来るchasenを研究室のmacさんに入れてみよう

今回は先生から以前もらったマニュアルがあるから
ひとりでできるもん!と思っていた

しかし
程よく躓いて
程よく力がついた
そんなお話とメモ

理由もわからずやってる感があるのはご愛嬌


まず
chasenのインストールには、
chasen自体ももちろんだけど、あと2つ準備しなきゃいけないらしい
それは以下の2つ

  • Darts

 Double-Arrayつくるためのry

  • ipadic

 語彙表

らしいよ!なるほどわからん!
とりあえず動くものを入れれたら上等だと言い聞かせた


用意したもの

  • darts-0.31.tar.gz
  • ipadic-2.7.0.tar.gz

ちなみに、dartsとchasenのバージョンが古かったり新しかったりすると以下のような事が起きる
というか起きた、めんどいので変な修正がいらない上記3つでインストールした。
darts 0.32 + chasen 2.3.3 のインストールでエラーになる件 :: drk7jp


ではでは早速

darts-0.31.tar.gz

$ tar zxf darts-0.31.tar.gz
$ cd darts-0.31
$ ./configure
$ make
$ make check
$ sudo make install

最後の所でこんなことを言われる

make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.

え、なに、いってんの、するべきことがない?
google先生に聞いたところ
あんまり気にしなくていい雰囲気
よしわかった、何もしない

chasen-2.4.2.tar.gz

$ tar zxf chasen-2.4.2.tar.gz
$ cd chasen-2.4.2
$ ./configure
$ make
$ make check
$ sudo make install

ここまでは普通。

ここからperlchasenを使えるようにする

$ cd perl
$ vi Makefile.PL

以下のように、ちょっと書き換えて保存

'LIBS' => ['-L/usr/local/lib -lchasen']

んでもって実行する。

$ perl Makefile.PL
$ make
$ sudo make install

これでperl内でも呼び出して使えるようになりました

ipadic-2.7.0.tar.gz

$ tar zxf ipadic-2.7.0.tar.gz
$ cd ipadic-2.7.0
$ ./configure

ここまでは普通な感じ。
次にUTF8にも対応のchasenにするため
ipadic内のファイルをUTF8に変換しなくてはならないそうだ
シェルファイルで一気に変換しよう

$ vi concert.sh

以下を書き込んで保存

#!/bin/sh
for file in *
do
if [ -f $file ]; then
echo $file
        nkf -w $file > tmpfile
        mv tmpfile $file
fi
done
exit

あとは実行と辞書のインストール

$ chmod a+x convert.sh
$ ./convert.sh
$ `chasen-config --mkchadic`/makemat -i w
$ `chasen-config --mkchadic`/makeda -i w chadic *.dic
$ sudo make install

できたヽ(=´▽`=)ノ

やったあああああさっそくchasenを使ってみよう!!
実行!!

$ chasen -iw
chasen: /usr/local/etc/chasenrc:20: POS `̾��' is undefined

無情に吐き出されるエラー
....え?


何やら文字化けしてる
どうせutf8に変換すれば動くんだろう!!
とりゃあ

$ nkf -Luw /usr/local/etc/chasenrc > aaa
$ mv aaa /usr/local/etc/chasenrc
overwrite /usr/local/etc/chasenrc? (y/n [n]) y

今度こそできた(;´∀`)

よっしゃ!実行だ!!

$ chasen -iw
変態王子と笑わない猫。
変態	ヘンタイ	変態	名詞-サ変接続
王子	オウジ	王子	名詞-一般
と	ト	と	助詞-格助詞-一般
笑わ	ワラワ	笑う	動詞-自立	五段・ワ行促音便	未然形
ない	ナイ	ない	助動詞	特殊・ナイ	基本形
猫	ネコ	猫	名詞-一般
。	。	。	記号-句点
EOS

完璧っす

これで形態素解析ができる!
あとはRubyで出来る環境を作らなければ><
ちょっとggったらなんだかそれっぽいのが出てきたので
今度やる。今やれる余裕ない(;´Д`)



p.s.
chasenによると「変態」はサ変接続らしい
「変態しようよ」
はありらしい。そうか(・∀・)