公開日: 2010年08月13日(Fri)
日本語形態素解析ツール『MeCab』を今更ながら使ってみた。
形態素解析は、Wikipediaで下記のように説明されている。
形態素解析(けいたいそかいせき、Morphological Analysis)とは、コンピュータ等の計算機を用いた自然言語処理の基礎技術のひとつ。かな漢字変換等にも応用されている。
対象言語の文法の知識(文法のルールの集まり)や辞書(品詞等の情報付きの単語リスト)を情報源として用い、自然言語で書かれた文を形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの品詞を判別する作業を指す。
要するに、MeCabは日本語を機械的に読むのを手伝ってくれる。
MeCabのインストールは、MeCab本体のインストールと、辞書ファイルのインストールの2段階なようだ。
まずはMeCab本体の方を、ドキュメントのインストールの欄に書かれている手順をベースにインストールしてみる。
今回インストールしたのは、MeCab 0.98。インストール先はVMware Player × Ubunto 8.04。
# wget http://jaist.dl.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz
# tar zxfv mecab-0.98.tar.gz
# cd mecab-0.98
# ./configure --prefix=/usr
# make
# make check
# sudo make install
--prefix=/usr
は、公式のドキュメントの手順では付けられていないが、次の辞書ファイルのインストールの手順で出たエラーの対策のためにつけたもの。
MeCabをインストールしただけでは辞書が内臓されていない。辞書ファイルを別途インストールする必要がある。ここでは推奨されているIPA辞書(バージョン2.7.0-20070801)をインストールしてみる。このページを参考にさせていただいた。
# wget http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
# tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
# cd mecab-ipadic-2.7.0-20070801
# ./configure --with-charset=utf8 --enable-utf8-only
# make
# sudo make install
configureオプションの --with-charset
は文字コードを指定している。これを省略した場合、デフォルトは EUC-JP になるようだ。
--enable-utf8-only
を付けると、UTF-8 しか使えないようになる。通常、他の文字コードとUTF-8との変換テーブルを内部に持つが、このオプションを指定すると変換テーブルは不要になるので、実行ファイルを小さくできるとのこと。
カスタム辞書の登録などもできるようだ。今回はやらないけど、単語の追加方法を参照。
はじめ、MeCab自体のconfigureオプションに --prefix=/usr
を指定せずにインストールしたときは、このようにインストールしたらmake
のところでエラーが出た。
/usr/local/libexec/mecab/mecab-dict-index: error while loading shared libraries: libmecab.so.1: cannot open shared object file: No such file or directory
make: *** [matrix.bin] エラー 127
どうも共有ライブラリ libmecab.so.1 がないといわれているようだ。こちらに同様のエラーへの対処法が記載されていたので、これを参考に対応してみる。
以下のログから推測するに、インストール先が/usr/local/lib/libmecab.soとなっていて、ldの検索パスに入っていないのが原因ではないでしょうか。
環境変数LD_LIBRARY_PATHを設定するか、/etc/ld.so.confに/usr/local/libを追加するか、あるいはmecabのビルド時に--prefix=/usrとかを指定して、/usr/lib配下にlibmecab.soが入るようにすればいいような気がします。
mecabのビルド時に--prefix=/usrとかを指定して
にトライしたら、ちゃんとインストールできた、というわけ。
ドキュメントに載っている使い方のうち、一番基本的な使い方だけやってみる。これ以外の使い方は公式ドキュメントを参照。
まず、mecab
コマンドでMeCabを開く。
# mecab
そしたら、MeCabモード(?)になるので、解析したい日本語を入力。基本的に、1行ずつ解析する仕様なようだ。
すもももももももものうち
すると、画面に下記のように出力される。
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
MeCabを終了したいときは、Ctrl+C
をタイプして抜ければいい。
とりあえず、MeCabのインストールはこれでできたんだろう。
でも、MeCab単体で何か便利になることはあんまりないと思うので、他のシステムと組み合わせたり、プログラムから利用したりということになるんだと思う。
他にダウンロードできるようになっている mecab-ruby
、mecab-python
、mecab-perl
は、それぞれプログラム言語にMeCabを使いやすくする機能か何かを追加するものだろうか。何かの機会に使うことになりそうな気がする。
PHPスクリプトから使ってみたいというのもあるので、これもまた今度やってみることにする。
2013/5/24 追記
Mac OSX 10.8.3 に MeCab をインストールしたメモ。上記のUbuntuのときと同じにしたら上手く行かず、こちらのサイトで説明されている手順をそのままやったら動いた。
↓MeCabのインストール
$ cd ~/Downloads
$ curl -O https://mecab.googlecode.com/files/mecab-0.996.tar.gz
$ tar zxfv mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure
$ make
$ make check
$ sudo make install
↓辞書のインストール
$ cd ~/Downloads
$ curl -O "http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz"
$ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ sudo make install
公開日: 2010年08月13日(Fri)