Windows10環境のPython3でMeCabを使えるようにするまで
概要
自然言語処理に欠かせない日本語の形態要素解析を行うことができるエンジンとしてMeCabがあります。今回はWindows10にMeCabをインストールしてPythonで使用するところまでの流れをメモります。
環境
- Windows10 64bit
- Python3.8.7
Pythonの環境はこちらで作ったvenvの仮想環境を使用します。
Step1 : MeCabのインストール
まずはMeCabをWindows10にインスト-ルしていきます。環境が64bitのため、以下からインストーラをダウンロードさせて頂きました。ありがたや。
https://github.com/ikegami-yukino/mecab/releases/tag/v0.996.2
mecab-64-0.996.2.exeをダウンロードしたら、右クリックから管理者として実行します。
あとは基本的にポチポチしていくだけですが、注意点は文字コードをデフォルトをShift-JISからUTF-8にしておくことです。理由はPyhton3で使用するときに楽なため。
以下がインストールの流れです。
日本語を選択

UTF-8を選択して次へ


デフォルトで次へ

デフォルトで次へ

インストール

両方はい(ユーザ毎に管理したい場合は全ユーザへの実行許可は[いいえ]を選択してください)


最後にMeCabのインストールディレクトリのbinフォルダを環境変数のPathに追加しておきます。
C:\Program Files\MeCab\bin
以上でMeCabの準備は完了です。
Step2 : mecab-python3のインストール
pipでmecab-python3をインストールします。
pip install mecab-python3
ちなみに、python3.8環境ではC++のビルド環境がそろっていないとエラーがでたことがあります。(mecab-python-windowsをpipした時だったかもしれません)この場合、Microsoft のC++ビルダツールをインストールしてから改めてpipし直したら上手くいきました。入手先:https://visualstudio.microsoft.com/ja/downloads/
Step3 : 動作確認
Jupyter Labを立ち上げ、Consoleから以下を実行します。
import MeCab
tagger = MeCab.Tagger("-Odump")
print(tagger.parse("私の名前はMeCabです"))
結果
0 BOS BOS/EOS,*,*,*,*,*,*,*,* 0 0 0 0 0 0 2 1 0.000000 0.000000 0.000000 0
1 私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ 0 3 1306 1306 59 2 0 1 0.000000 0.000000 0.000000 2737
6 の 助詞,連体化,*,*,*,*,の,ノ,ノ 3 6 368 368 24 6 0 1 0.000000 0.000000 0.000000 3105
15 名前 名詞,一般,*,*,*,*,名前,ナマエ,ナマエ 6 12 1285 1285 38 2 0 1 0.000000 0.000000 0.000000 4757
23 は 助詞,係助詞,*,*,*,*,は,ハ,ワ 12 15 261 261 16 6 0 1 0.000000 0.000000 0.000000 4777
26 MeCab 名詞,一般,*,*,*,*,* 15 20 1285 1285 38 5 1 1 0.000000 0.000000 0.000000 18212
41 です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス 20 26 460 460 25 6 0 1 0.000000 0.000000 0.000000 19525
49 EOS BOS/EOS,*,*,*,*,*,*,*,* 26 26 0 0 0 0 3 1 0.000000 0.000000 0.000000 18284
もしエラーが出る場合
- MeCabへのPathが通っていない可能性があるため、環境変数Pathに正しくC:\Program Files\MeCab\binが追加されているかを確認する
- 環境によっては環境変数としてMECABRCを用意してC:\Program Files\MeCab\etcを設定しておく必要があるかもしれない
参考にしたサイト:https://qiita.com/fu23/items/34f55f0b7aaa7e2205b8
1件の返信
[…] Windows10環境のPython3でMeCabを使えるようにするまで […]