MecabをUbuntu14.0.4にインストールして実行してみる
前にMeCabをWin7に入れたときの記事でも書きましたが、MeCabは、オープンソースの形態素解析エンジンです。
今回は、Ubuntu14.04にインストールして、Python3で実行してみようと思います。
OS : Ubuntu 14.04 LTS版
MeCab : ver0.996
1. MeCabのインストール
では、さっそくMeCabをインストールします。Windowsでは、インストーラーをDLしてからうんぬんかんぬんとめんどくさかったのですが、さすがはLinuxと言うことで以下のコマンドでインストールできます。
1 2 |
$ sudo apt-get install mecab libmecab-dev mecab-ipadic $ sudo apt-get install mecab-ipadic-utf8 |
インストールが終わったら、以下のコマンドを使ってMeCabのバージョンを確認することで、正しくインストールされているかをチェックしてみてください。
1 |
$ mecab -v |
お手軽万歳!!
Python3へのインストール 2016/12/2 追記
新しく超お手軽な方法が紹介されていたのでこちらにも追記します。というわけで以下のコマンドを実行するだけでインストールできちゃいます。
1 |
$sudo pip3 install mecab-python3 |
これを実行すれば、下記の2と3はやらなくて大丈夫です。
2. Python3で使うための準備
次に、Python3.x系で使えるように、バイディング(?)を作成していきましょう。
せっかくですから、作業用のディレクトリを作っておきましょ。
1 2 |
$ mkdir mecabwork $ cd mecabwork |
では、ここに必要なものをDLアンド展開してきましょう。必要なものはMeCab-pythonとMeCab本体です。
1 2 3 4 5 6 7 |
# MeCab本体 $ wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz $ tar zxvf mecab-0.996.tar.gz # MeCabPython $ wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz $ tar zxvf mecab-python-0.996.tar.gz |
そして、swigを使ってPython用のバイディングを自動生成しちゃいます。
これには、以下のコマンドを使います。
1 2 3 |
$ swig -python -shadow -c++ mecab-0.996/swig/MeCab.i $ mv mecab-0.996/swig/MeCab.py mecab-python-0.996 $ mv mecab-0.996/swig/MeCab_wrap.cxx mecab-python-0.996 |
もし、「swigが不明コマンドです」的なエラーが出たら、swigをインストールしてください。
1 |
$ sudo apt-get install swig |
これで、Python2用のバイディングはできました・・・が、Python3系ではエラーになってしまうので、ちょっと書き換えます。
3. Python3に対応させる
では、実際に書き換えていきましょう。書き換えるファイルはmecab-python-0.996ディレクトリの中にあるsetup.pyです。これを書き換えていきましょう。
1 |
$ vim mecab-python-0.996/setup.py |
別にvimで書き換える必要は無いので、viでもGUIのテキストエディタでもお好きにどうぞ。
で、書き換える箇所は以下のとおりです。
1 2 3 4 5 6 7 |
# ここを・・・・・・ # def cmd2(str): # return string.split(cmd1(str)) # いかのとおりに変更 def cmd2(str): return cmd1(str).split() |
最後にこれを実行することでインストールを行います!!
1 2 3 |
$ cd mecab-python-0.996 $ python3 setup.py build $ sudo python3 setup.py install |
もし、ここで「error trying to exec ‘cc1plus’: execvp: そのようなファイルやディレクトリはありません」と言われたら、必要なものをインストールしてしまいます。
1 |
$ sudo apt-get install g++ |
はい。これで、インストールは終わりです。
4. 起動してみる
テスト用に以下のPythonプログラムを書いて実行してみてください。
1 2 3 |
import MeCab m = MeCab.Tagger("") print(m.parse('さといものだいぼうけん')) |
これの結果、以下のような感じに出力されれば完了です。お疲れ様でした。
1 2 3 4 5 6 |
さとい 形容詞,自立,*,*,形容詞・アウオ段,基本形,さとい,サトイ,サトイ もの 名詞,非自立,一般,*,*,*,もの,モノ,モノ だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ いぼ 名詞,一般,*,*,*,*,いぼ,イボ,イボ うけん 動詞,自立,*,*,一段,体言接続特殊,うける,ウケン,ウケン EOS |
「Ubuntu12.04とPython3でMeCab」