(2013年12月)VMware Player上のCentOSにChaSenとCabochaをインストールした
環境構築って意外と時間がかかるのよね。
大学の自然言語処理で、形態素解析器ChaSenと係り受け解析器CaboChaを使う課題が出たので、そのための環境構築をしました。
要件
- VMware Player上でCentOSを動かす
- 設定変更やインストールに失敗したりしておかしくなったときに無かったことにできるようにスナップショット機能を導入する
- ホストマシン(Windows)とファイルを共有できるようにする
- 文字コードはUTF-8とする(本当はEUC-JPにしたかったんだけど、CentOSのデフォルト文字コードをそれにするとVMware Playerが強制終了するからやむを得ず…)
- CentOSでChaSenとCabochaを使えるようにする
バージョン
- VMware Player : 6.0.1 build-1379776
- CentOS : 6.4
- ChaSen : 2.4.5
- ipadic : 2.7.0
- iconv : 2.12
- Darts : 0.32
- CaboCha : 0.66
- CRF++ : 0.58
- MeCab : 0.996
- MeCab-ipadic : 2.7.0-20070801
CentOS 6.4を仮想マシンにインストール
VMware Player上へのCentOSのインストールを参考に。
仮想マシンとホストマシンのファイル共有設定
VM上のCentOSとホストOS(Windows7)とでファイル共有したメモ - MofuMofuFarmを参考に。 VMware Toolsのインストールは必要なし。
共有フォルダには次のコマンドで移動できる。
cd /mnt/hgfs/share
Virtual Machineフォルダをまるごとコピーしてバックアップしておく
NHM(次のステップで導入)も不安定で、何かおかしくなったときにOSのインストールからやり直すのは嫌だから。
VMware Playerにスナップショット機能を付ける
VMware Playerへの簡易的なスナップショット機能を追加する方法についてのまとめ 【NHMのインストール方法及び使い方について】 : ネットセキュリティブログを参考にNHMのダウンロードと設定を済ます。以下、各ステップ終了毎にスナップショットを保存しておく。
CentOSの日本語化(UTF-8)
Server World - ネットワークサーバー構築を参考に。
形態素解析器ChaSenのインストール
ChaSenのインストールにはiconvとDartsが必要なので、まずはそれから。そしてChaSenと辞書ファイルをインストールする。
libiconvのインストール
下記コマンドでシステムに既にインストールされていることを確認。
$ which iconv /usr/bin/iconv $ iconv -V iconv (GNU libc) 2.12 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. これはフリーソフトウェアです。利用許諾についてはソースをご覧ください。 商業性や特定の目的への適合性の如何に関わらず、無保証です。 作者: Ulrich Drepper.
Darts 0.32 のインストール
Acchannel あっチャンネル: 茶筌chasen-2.4.2, Darts 0.31, UniDic1.3.5のインストールを参考に。
$ cd /tmp $ wget http://chasen.org/~taku/software/darts/src/darts-0.32.tar.gz $ cd darts-0.32 $ ./configure
ここで次のエラーが出たので
checking how to run the C++ preprocessor... /lib/cpp configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details.
$ su # yum install gcc-c++
Dartsのコンパイルとインストールを再開。
# ./configure # make # make install
ChaSen 2.4.5 のインストール
wgetだとダメだったので、Firefoxでhttp://sourceforge.jp/projects/chasen-legacy/downloads/56305/chasen-2.4.5.tar.gz/を開いてchasen-2.4.5.tar.gzをダウンロードしておく。
$ cd $ cd Downloads/ $ cp chasen-2.4.5.tar.gz /tmp $ cd /tmp $ tar xvzf chasen-2.4.5.tar.gz $ cd chasen-2.4.5 $ ./configure $ make check $ su # make install
ChaSen用の辞書を作成
インストール/Chasenのインストール | GETAssocを参考に日本語辞書ipadic-2.7.0をインストールする。
ChaSenの動作確認
ChasenをUTF-8環境で使いたい。 - 日常のメモ帳やCentOSにChaSenをインストール - Scrap tmpcによれば、UTF-8の場合は毎回-iwオプションをつけなきゃいけないらしい。
$ vi test.txt
今日は雨でしたね。
$ chasen -iw test.txt 今日 キョウ 今日 名詞-副詞可能 は ハ は 助詞-係助詞 雨 アメ 雨 名詞-一般 でし デシ です 助動詞 特殊・デス 連用形 た タ た 助動詞 特殊・タ 基本形 ね ネ ね 助詞-終助詞 。 。 。 記号-句点 EOS
日本語係り受け解析器CaboChaのインストール
cabocha - Yet Another Japanese Dependency Structure Analyzer - Google Project Hostingに従ってインストールする。まずCRF++、MeCab、mecab-ipadicをインストールしてからCaboChaをインストールする。
CRF++のインストール
CRF++: Yet Another CRF toolkitの'Installation'を参考に。
$ cd /tmp $ wget https://crfpp.googlecode.com/files/CRF%2B%2B-0.58.tar.gz $ tar xzf CRF++-0.58.tar.gz $ cd CRF++-0.58 $ ./configure $ make $ su # make install
MeCabのインストール
MeCab: Yet Another Part-of-Speech and Morphological Analyzerを参考に。
$ cd /tmp $ wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz $ tar zxfv mecab-0.996.tar.gz $ cd mecab-0.996 $ ./configure --with-charset=utf8 --enable-utf8-only $ make $ make check $ su # make install
mecab-ipadicのインストール
$ cd /tmp $ wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz $ tar xzf mecab-ipadic-2.7.0-20070801.tar.gz $ cd mecab-ipadic-2.7.0-20070801 $ ./configure --with-charset=utf8 $ make $ su # make install
CaboChaのインストール
$ cd /tmp $ wget https://cabocha.googlecode.com/files/cabocha-0.66.tar.bz2 $ bzip2 -dc cabocha-0.66.tar.bz2 | tar xvf - $ cd cabocha-0.66 $ ./configure --with-charset=UTF-8 $ make $ make check $ su # make install
でやったら次のエラーが出たので、
$ cabocha morph.cpp(179) [charset() == decode_charset(dinfo->charset)] Incompatible charset: MeCab charset is utf8, Your charset is EUC-JP
いったん/tmp/cabocha-0.66フォルダを削除してから simplenlp/simplenlp/ja_cabocha/README.txt at master · commonsense/simplenlp · GitHubを参考に以下のようにインストールしたら成功した。
$ cd /tmp $ bzip2 -dc cabocha-0.66.tar.bz2 | tar xvf - $ cd cabocha-0.66 $ ./configure --with-mecab-config=`which mecab-config` --with-charset=UTF8 $ make $ make check $ su # make install
使い方
$ chasen -iw -o outputfile inputfile $ cabocha -n1 -o outputfile inputfile $ cabocha -f1 -n1 -o outputfile inputfile