形態素解析 『MeCab』 をインストールしてみる。

日本語形態素解析ツール『MeCab』を今更ながら使ってみた。

形態素解析は、Wikipediaで下記のように説明されている。

形態素解析(けいたいそかいせき、Morphological Analysis)とは、コンピュータ等の計算機を用いた自然言語処理の基礎技術のひとつ。かな漢字変換等にも応用されている。
対象言語の文法の知識(文法のルールの集まり)や辞書(品詞等の情報付きの単語リスト)を情報源として用い、自然言語で書かれた文を形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの品詞を判別する作業を指す。

要するに、MeCabは日本語を機械的に読むのを手伝ってくれる。

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
  • ※configureオプションの --prefix=/usr は、公式のドキュメントの手順では付けられていないが、次の辞書ファイルのインストールの手順で出たエラーの対策のためにつけたもの。

MeCabへの辞書ファイルのインストール

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との変換テーブルを内部に持つが、このオプションを指定すると変換テーブルは不要になるので、実行ファイルを小さくできるとのこと。

カスタム辞書の登録などもできるようだ。今回はやらないけど、単語の追加方法を参照。

make時にエラーが起きたら

はじめ、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-rubymecab-pythonmecab-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

プロフィール

コヤナギ トモヤ

ウェブ系エンジニアしてます。ウェブデザイナー、ウェブディレクターとしてウェブ制作の仕事に携わり、今はエンジニア職に流れ着きました。誰かのお仕事をちょっとだけ効率化するような支援ツールの開発が好き。オープンソースとMITライセンス大好き。人生後半は自由と民主主義のコントリビューターとして過ごす予定。

ウェブ制作支援ツール Pickles 2 をオープンソースで開発しています。

PHP/JavaScript/NodeJS/nwjs/Laravel/Pickles2/オープンソース/心理学/倫理/自由と民主主義

RSSフィード

ページの先頭へ戻る