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”が単語として認識されていない。
なんとかなるはずだが今回はここまで。