こんにちは。研究室合宿の準備に追われてる人です。
今回は環境構築の延長で、日本語の形態素解析を行ってくれる
mecab及びmecab-pythonの導入について書きます。 

簡単にmecabの機能を紹介すると、
「すももももももものうち」という文章をmecabにかけると
baito1024:python baito1024$ mecab
すももももももものうち
すもも	名詞,一般,*,*,*,*,すもも,スモモ,スモモ
もも	名詞,一般,*,*,*,*,もも,モモ,モモ
も	助詞,係助詞,*,*,*,*,も,モ,モ
もも	名詞,一般,*,*,*,*,もも,モモ,モモ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
うち	名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
以上のように分けてくれるものです。
自然言語処理においては単語ごとにスペース区切りされていると
データとして扱い易いです。
英語はそもそもスペース区切りされているんですが、
日本語はそういう訳には行かないのでmecabを利用します。
作業環境は次の通り
Windows8 64bit
Python 2.7(64bit)
mecab 0.996

mecabの導入

まずは下記URLから「mecab-0.996.exe」をDL及びインストール。
途中で文字コードの指定があるので「utf-8」を推奨します。
インストール終了後に「C:\Program Files (x86)\MeCab\bin」をPathに追加です。
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html


mecab-pythonの導入

ここからが今回の難所、本番です。
まずは下記URLから「mecab-python-0.996.tar.gz」をDL。
https://code.google.com/p/mecab/downloads/list
前回「1:環境構築 自然言語処理@Python-Win8」で導入した、7zipを用いて解凍。
手に入れた「mecab-python-0.996」を¥C直下に移動。
mecab-python-0.996内の「setup.py」を下記のように書き換えました。
#!/usr/bin/env python
from distutils.core import setup,Extension
dir = 'C:/Program Files (x86)/MeCab/sdk'
setup(name = 'mecab-python',
    version = 0.996,
    py_modules=['MeCab'],
    ext_modules = [
        Extension('_MeCab',
            ['MeCab_wrap.cxx',],
            include_dirs=[dir],
            library_dirs=[dir],
            libraries=['libmecab'])])
さて、この時点ではインストール時にエラーがありました。

Visual Studio の導入

まず最初のエラーは以下のようなものでした。
error: Unable to find vcvarsall.bat
原因はpython2.7上で拡張Cを用いたsetupをするときにVisual Studio 2008が求めているからです。
対処法として下記URLから「Microsoft Windows SDK for Windows 7 and .NET Framework 4」をDLしインストールしました。
http://www.microsoft.com/en-us/download/details.aspx?id=8279 その後Visual Studio 2012を使うことにし「C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC」をPathに追加。
以下のようにsetup.pyを実行する前にSETすると解消されます。
SET VS90COMNTOOLS=%VS110COMNTOOLS%
python setup.py install


すると、次に新しいエラーが発生しました。
ValueError: [u'path']
原因は64bit版pythonにMeCab(32bit)をインストールしようとしているからです。
対処法としては以下のようにsetup.pyを実行する前にcallすると解消されます。
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat" X64
python setup.py install


そして最後のエラーです。
error: command '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.exe"' failed with exit status 1120
これは原因がよくわかりません。とりあえず mecab-pythonをPython(amd64)にインストールする覚書を参考にして、対処しました。 下記のURLから「mecab-python-0.993.win-build.zip」をDLして解凍。
Windows での mecab 0.993 python バインディングモジュール(32/64ビット)の作り方メモ
そのフォルダ内のlibmecab.dlllibmecab.libsetup.pyと同じフォルダに移せばOK。
まとめるとlibmecab.dlllibmecab.libを移した状態で
SET VS90COMNTOOLS=%VS110COMNTOOLS%
call "%PROGRAMFILES(x86)%\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat" X64
python setup.py install
を行えば、install成功です。

参考サイト

mecab-pythonをPython(amd64)にインストールする覚書
Windows での mecab 0.993 python バインディングモジュール(32/64ビット)の作り方メモ
Windowsにmecab-pythonを導入