ちょっと必要に迫られて、日本語係り受け解析器CaboChaのインストール
形態素解析器は、Mecabにしようかと思ったのですが、故あってChasenを選択。
Dartsのインストール
Casenに必要です。機能は、以下の通り。
Darts は, Double-Array [Aoe 1989]を構築するための シンプルな C++ Template Library です.
インストールは以下の通り。簡単。
#wget http://chasen.org/~taku/software/darts/src/darts-0.3.tar.gz #./tar xzvf darts-0.3.tar.gz #cd darts-0.3 #./configure #make #make check #make install
Chasenのインストール
gccのバージョンが、3.4.3以上だとコンパイルが上手く通りません。
多少、ソースに手を加える必要があります。
詳しく解説して、パッチまで作っておられる方がいました。
ミクロトーク
#wget http://chasen.aist-nara.ac.jp/stable/chasen/chasen-2.3.3.tar.gz #tar xzvf chasen-2.3.3 #cd chasen-2.3.3 #./configure #vi lib/dartsdic.cpp #make #make check #make install
180c180,181 < (const char*)keys[size] = key.data(); --- > // (const char*)keys[size] = key.data(); > keys[size] = (char*)key.data(); 71c71,72 < darts->setArray(cha_mmap_map(da->da_mmap)); --- > // darts->setArray(cha_mmap_map(da->da_mmap)); > darts->set_array(cha_mmap_map(da->da_mmap));
TinySVMのインストール
TinySVMのインストール。TinySVMとは、所謂Support Vector Machinesです。
ベクトル空間に単語を配置して、その境界を定めます。
機械学習の道具として使われることが多いです。
まぁ、こんな物を次から次へと作る、工藤拓さんってホント凄いなぁ。
#wget http://chasen.org/~taku/software/TinySVM/src/TinySVM-0.09.tar.gz #tar xzvf TinySVM-0.09.tar.gz #cd TinySVM-0.09 #./configure #make #make check #make install
YamChaのインストール
YamChaのインストール。もう少し。。
#http://chasen.org/~taku/software/yamcha/src/yamcha-0.33.tar.gz #tar xzvf yamcha-0.33.tar.gz #cd yamcha-0.33 #./configure #make #make check #make install
CaboChaのインストール
いよいよCacoChaのインストールです。これも簡単。
でも、コンパイルに結構時間がかかります。
#wget http://chasen.org/~taku/software/cabocha/src/cabocha-0.53.tar.gz #tar xzvf cabocha-0.53.tar.gz #cd cabocha-0.53 #./configure #make #make install
早速、試してみる
$cabocha cabocha: error while loading shared libraries: libcabocha.so.2: cannot open shared object file: No such file or directory
どうやら、ライブラリがロード出来ていないようなので、rootになってロード
#ldconfig
再度、試してみる
chasenrcが無いよとのことです。仰る通り。
$cabocha chasen: can't open .chasenrc, .jumanrc, or /usr/local/etc/chasenrc chasen: ./grammar.cha: No such file or directory
Chasenの設定
ようやくChasenの設定。
辞書を作ります。ついでに、後々のことを考えて、辞書をUTF-8に変換しておきます。
ipadicの*.dic、*.chaファイルを全てnkfを使って変換すれば大丈夫です。
簡単なシェルを作りました。chasenrcも変換します。
何故か、*.dicファイルがコピーされなかったのので、手動でコピー。
#wget http://chasen.naist.jp/stable/ipadic/ipadic-2.7.0.tar.gz #tar xzvf ipadic-2.7.0.tar.gz #cd ipadic-2.7.0 #vi utf_conv.sh #chmod 755 utf_conv.sh #./configure #make #make install #cd /usr/local/lib/chasen/dic/ipadic/ #cp /usr/local/src/ipadic-2.7.0/*.dic ./ #`chasen-config --mkchadic`/makemat -i w #`chasen-config --mkchadic`/makeda -i w chadic *.dic # cp /usr/local/src/ipadic-2.7.0/chasenrc /usr/local/etc/ # cd /usr/local/etc/ # nkf -w chasenrc > tmp # mv tmp chasenrc
utf_conv.sh #!/bin/sh for file in `ls *.dic *.cha` do echo $file nkf -w $file > tmpfile mv tmpfile $file done exit
Chasenを使ってみる
cat hoge.txt | chasen -iw
おっけい。
CaboChaを使ってみる
$cabocha chasen: /usr/local/lib/chasen/dic/ipadic/cforms.cha:9-21: no basic form
しまった。CaboCha経由で使う場合、chasenにUTFオプションが送れない。どないしましょう。