FedoraにChaSen(CentOSにも)

 スタパクラウドでは、形態素解析にYahoo! APIを使っているのだけど、別にやりたいことが出てきたので自前で用意してみようと思う。
 インストールは少しずつ使えるようになってきたFedora11(LiveUSB)と、CentOSに行う。OSは異なるが手順に差異はない。

 日本語の形態素解析を行うツールは幾つか存在するが、今回はChaSenを選択した。

ChaSen -- 形態素解析器
http://chasen-legacy.sourceforge.jp/

 ChaSenを動作させるには、別途Dartsとivonvが必要となる。

■Darts

Darts: Double-ARray Trie System
http://chasen.org/~taku/software/darts/

$ wget http://chasen.org/~taku/software/darts/src/darts-0.32.tar.gz
$ gtar xvzf darts-0.32.tar.gz
$ cd darts-0.32
$ ./configure
$ make
$ make check
$ su
# make install

 特に難しかったり複雑な事はないけど、configureでエラーがないかよく確認すること(C++コンパイラなど無いと叱られます)。darts.hが/usr/local/include/に格納されます。

■libiconv

$ wget ftp://core.ring.gr.jp/pub/GNU/libiconv/libiconv-1.13.1.tar.gz
$ gtar xvzf libiconv-1.13.1.tar.gz
$ cd libiconv-1.13.1
$ ./configure --with-libconv=/usr/local
$ make
$ make check
$ su
# make install

 ふつうです。ふつうにmake installまでやる。
 インストールが終わったら動作確認。

$ iconv -l | grep UTF
UTF-8
UTF-16
UTF-16BE
UTF-16LE
UTF-32
UTF-32BE
UTF-32LE
UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7

■ChaSen

 いよいよChaSen。ダウンロードはSourceforgeからどうぞ。
http://sourceforge.jp/projects/chasen-legacy/

$ gtar xvzf chasen-2.4.4.tar.gz
$ ./configure --with-libiconv=/usr/local --with-darts=/usr/local/include --disable-shared
$ make
$ make check
$ su
# make install

■辞書(IPAdic)

 ipadicもSourceforgeからよろしくね。
http://sourceforge.jp/projects/ipadic/

$ gtar xvzf ipadic-2.7.0.tar.gz
$ cd ipadic-2.7.0
$ ./configure
$ make

 ChaSenはデフォルトのキャラセットがEUC-JPなので、インストール前に各種ファイルをUTF-8化しておく。
 変換対象となるファイルは、*.dicと*.cha。愛情をもってファイル毎にコマンドを叩いても良いが、数が多いのでバッチファイルか何かで処理するのがベター。
 以下手作業の場合。

$ nkf --utf8 Adj.dic > tmp.dic
$ mv tmp.dic Adj.dic
  :(.dicファイルあるだけ全部)
$ nkf --utf8 Others.dic > tmp.dic
$ mv tmp.dic Others.dic

$ nkf --utf8 cforms.cha > tmp.cha
$ mv tmp.cha cforms.cha
  :(.chaファイルあるだけ全部)
$ nkf --utf8 table.cha > tmp.cha
$ mv tmp.char table.cha

 変換が終わったら、以下のようにしてUTF-8の辞書をつくる。

$ make
$ `chasen-config --mkchadic`/makemat -i w
$ `chasen-config --mkchadic`/makeda -i w chadic *.dic
# su
# make install

 インストール後、chasenrcもUTF-8に変換しておくこと。

# cd /usr/local/etc
# nkf --utf8 chasenrc > tmp
# mv tmp chasenrc

 準備完了。
 さっそく使ってみる。なお、UTF-8で用いるためには、-i wオプションが必要なので忘れずに。

$ chasen -i w
本日もライブUSBで頑張っています。
本日    ホンジツ    本日    名詞-副詞可能       
も    モ    も    助詞-係助詞       
ライブ    ライブ    ライブ    名詞-一般       
U    ユー    U    記号-アルファベット       
S    エス    S    記号-アルファベット       
B    ビー    B    記号-アルファベット       
で    デ    で    助詞-格助詞-一般       
頑張っ    ガンバッ    頑張る    動詞-自立    五段・ラ行    連用タ接続
て    テ    て    助詞-接続助詞       
い    イ    いる    動詞-非自立    一段    連用形
ます    マス    ます    助動詞    特殊・マス    基本形
。    。    。    記号-句点       
EOS

OKだが、"USB"が単語として認識されていない。
なんとかなるはずだが今回はここまで。


関連記事

トラックバック(0)

このブログ記事を参照しているブログ一覧: FedoraにChaSen(CentOSにも)

このブログ記事に対するトラックバックURL: http://www.ivoryworks.com/cgi-bin/weblog/mt-tb.cgi/314

コメントする

書いている人

KUROSAKI Luka
プログラミングを生業としている群馬県高崎市在住の人間。

アーカイブ

あわせて読みたいブログパーツ