Hatena::ブログ(Diary)

へにゃぺんて@日々勉強のまとめ

2011-02-01

Ubuntu 10.04にMeCabをインストール

Ubuntu 10.04(Lucid)に日本語の形態素解析ツール『MeCab』をインストールしてみました。


その際に、詰まった点がひとつだけあったので、

(主に自分用メモとして)インストール方法を書いときます。



ダウンロード

no title

こちらから次の2つのファイルをダウンロードします。

  • mecab-0.98.tar.gz -- 本体
  • mecab-ipadic-2.7.0-20070801.tar.gz -- 辞書ファイル


そして、ダウンロードしたものを展開

$ tar zxf mecab-0.98.tar.gz
$ tar zxf mecab-ipadic-2.7.0-20070801.tar.gz


インストール

MeCab
$ cd mecab-0.98
$ ./configure
$ make
$ sudo make install


IPA辞書】
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure
$ make
$ sudo make install


ここで、make の実行時に次のようなエラーが発生した場合は、

$ make
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
/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

これから説明することを試してみてください。




《/etc/ld.so.conf を編集》

mecabインストールしただけの状態では、IPA辞書のインストール時に libmecab.so.1 が見つからないというエラーが発生する。 libmecab.so.1 は /usr/local/lib/libmecab.so.1 にインストールされているが、標準設定では /usr/local/lib/ 配下のライブラリが読み込まれないようになっている。

と、こちらの記事で紹介されている通りの事態になっちゃってます。



なので、同じく上記の記事で紹介されていた方法ですが、

/etc/ld.so.conf

に、この1行を追加します。

/usr/local/lib


私の環境では結果的に /etc/ld.so.conf は次のようになりました。

$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/lib


そして、ldconfig コマンドを実行してライブラリ読み込みのパスを更新してください。

$ sudo ldconfig




再び make

以上がうまく行けば、先程の make が通るはず・・です。

$ make
$ sudo make install


また、makeの際にこんなことを言われるかもしれませんが、

echo To enable dictionary, rewrite /usr/local/etc/mecabrc as \"dicrc = /usr/local/lib/mecab/dic/ipadic\"
To enable dictionary, rewrite /usr/local/etc/mecabrc as "dicrc = /usr/local/lib/mecab/dic/ipadic"

既に /usr/local/etc/mecabrc には相応の設定がなされているため、問題ないようです。

参考までに私の環境のものを晒しておきます。

cupnes@endo:~$ cat /usr/local/etc/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/lib/mecab/dic/ipadic

; userdic = /home/foo/bar/user.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n


動作確認

インストールまでがうまくいけば、

こんな感じで実行できるはずです。

$ echo "これはテストです。" | mecab
これ    名詞,代名詞,一般,*,*,*,これ,コレ,コレ
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
テスト  名詞,サ変接続,*,*,*,*,テスト,テスト,テスト
です    助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。      記号,句点,*,*,*,*,。,。,。
EOS

mecabコマンドのコマンドラインオプションについてはこちらが詳しいです。



参考