Hatena::ブログ(Diary)

データマイニング・機械学習事始め

2012-06-18

MeCab Python導入で詰まったこと

Windows環境にMeCab-Pythonを導入することが出来ました。
今までは形態素解析Yahoo!形態素解析APIを用いていたのですが如何せん速度が非常に遅く、
またAPIの利用制限など、制約事項が多いことからMeCabを導入することにしました。
とりあえず非常にしょうもないところで詰まってしまったので今後のために手順のメモを残します

1.mecab-0.994.exeをダウンロード、以下手順に従ってインストール(辞書形式はUTF-8)
2.mecab-python-0.994.tar.gzをダウンロード解凍する
3.フォルダの中のsetup.pyを書き換える必要がある必要があります
※ IndexError: list index out of range のエラーで悩まされます

setup(name = "mecab-python",
    version = '0.99', # 自分のインストールしたMeCabのバージョンに書換え
    py_modules=["MeCab"],
    ext_modules = [
        Extension("_MeCab",
            ["MeCab_wrap.cxx",],
            include_dirs=[r'C:\Program Files\Mecab\sdk'], # 自分のインストールしたパスに書換え
            library_dirs=[r'C:\Program Files\Mecab\sdk'], # 自分のインストールしたパスに書換え
            libraries=['libmecab'])
            ])


4.コマンドプロンプトを起動して所定のフォルダに移動
python setup.py build
python setup.py install

を実行することによって自動的にpython27/Lib/site-packages以下に実行環境が保存される。
この際buildしたとき
error: Unable to find vcvarsall.bat
と出たときはVisual C++ 2008 Express Editionを非常にめんどくさいですがインストールする必要があります。

5.サンプルプログラムのtest.pyを実行してみる
import _MeCab
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

ここでかなり詰まりました。
結果的にはC:\Program Files\Mecab\binにあったlibmecab.dllをpython27/Lib/site-packages以下にコピペするだけで実行することができます。
※後から知りましたがlibmecab.dllがあるフォルダまでPATHを通しておけば問題ないようです。

6.もう一度test.pyを実行してみる
太郎	名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
この	連体詞,*,*,*,*,*,この,コノ,コノ
本	名詞,一般,*,*,*,*,本,ホン,ホン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
二	名詞,数,*,*,*,*,二,ニ,ニ
郎	名詞,一般,*,*,*,*,郎,ロウ,ロー
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
見	動詞,自立,*,*,一段,連用形,見る,ミ,ミ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
女性	名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
渡し	動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。	記号,句点,*,*,*,*,。,。,。

無事に実行できました、お疲れ様です。
とりあえず今回は環境を構築するだけで何時間も使ってしまったので後日遊んでみます。
こんなしょうもないことで悩まされる人はいないと思いますが役に立てば幸いです。

scabbersscabbers 2017/09/12 14:38 libmecab.dllの配置の件、助かりました! ありがとうございます。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/mahan/20120618/1340040589