FedoraにChaSen(CentOSにも)

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

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

ChaSen — 形態素解析器

http://chasen-legacy.sourceforge.jp/

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

■DartsDarts: 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”が単語として認識されていない。

なんとかなるはずだが今回はここまで。