Python3 で MeCab を使う

他のブログにも情報が載ってるけどメモ代わりに。

友人の研究を手伝う可能性が出てきたので、OSXMeCabを入れましょう。 Pythonのバージョンは以下です。

$ python
Python 3.4.2 (default, Oct 19 2014, 17:52:17)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Homebrewならサクッと入りますね。

$ brew install mecab mecab-ipadic

MeCab が入ったので、mecab-pythonをPython3に入れましょう。

$ pip install https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz

()
IndexError: list index out of range
----------------------------------------
Cleaning up...

あれ、入らない。

どうやらsetup.pyを書き換える必要があるようです。 tarballをソースからwgetして書き換えましょう。

$ wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz
$ tar -zxvf mecab-python-0.996.tar.gz
$ cd mecab-python-0.996
$ vim setup.py

変更点はこのように。 参考→ Python3でMeCab

def cmd2(str):  
    return string.split (cmd1(str))  
#を以下に変更  
def cmd2(str):  
    return cmd1(str).split()  

変更後に、pipでインストール。

$ pip install -e .

入ったかな

$ pip freeze
mecab-python==0.996
$ python -c "import MeCab

入ったようです。

参考

入門 自然言語処理

入門 自然言語処理