形態素解析に便利なMecabライブラリですが、私のWindows10環境で使おうとした際にひと手間必要だったので、記事として共有します。
1.今回実行しようとするプログラム
「すもももももももものうち」、日本人ならば一度は聞いたことのあるフレーズかと思いますが、これの品詞分解が正常に動作すれば成功です。
# ライブラリのインポート
import MeCab
# 分かち書き用のパーサーの設定
tagger = MeCab.Tagger("-Owakati")
# 文言の設定
test_string = "すもももももももものうち"
# 文言の形態素解析
print(tagger.parse(test_string))
2.Mecabのpip install
私の環境ではMecabは入っていなかったので、pip install してみました。
pip install MeCab
3.再実行とエラーの発生
エディターを再起動して0のコードを実行したら以下のエラーとなってしまいました。
—————————————————————————
RuntimeError Traceback (most recent call last)
Cell In[6], line 5
2 import MeCab
4 # 分かち書き用のパーサーの設定
—-> 5 tagger = MeCab.Tagger(“-Owakati”)
7 # 文言の設定
8 test_string = “すもももももももものうち”
File c:\Users\ochim\anaconda3_2\lib\site-packages\MeCab.py:355, in Tagger.__init__(self, *args)
354 def __init__(self, *args):
–> 355 _MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args))
RuntimeError:
4.MeCabラッパーのインストール
調べたところMeCabラッパー(mecab-python3)なるものが必要そうだったので追加でpip install。
pip install mecab-python3
5.再実行後のさらなるエラー
再起動ごに再実行したところ、次は以下のエラーに…。でもエラー内容を見る限りはさっきよりは一歩前進?
—————————————————————————
RuntimeError Traceback (most recent call last)
File ~\anaconda3_2\lib\site-packages\MeCab\__init__.py:133, in Tagger.__init__(self, rawargs)
132 try:
–> 133 super(Tagger, self).__init__(args)
134 except RuntimeError as ee:
RuntimeError:
The above exception was the direct cause of the following exception:
RuntimeError Traceback (most recent call last)
Cell In[2], line 5
2 import MeCab
4 # 分かち書き用のパーサーの設定
—-> 5 tagger = MeCab.Tagger(“-Owakati”)
7 # 文言の設定
8 test_string = “すもももももももものうち”
File ~\anaconda3_2\lib\site-packages\MeCab\__init__.py:135, in Tagger.__init__(self, rawargs)
133 super(Tagger, self).__init__(args)
134 except RuntimeError as ee:
–> 135 raise RuntimeError(error_info(rawargs)) from ee
RuntimeError:
———————————————————-
Failed initializing MeCab. Please see the README for possible solutions:
https://github.com/SamuraiT/mecab-python3#common-issues
If you are still having trouble, please file an issue here, and include the
ERROR DETAILS below:
https://github.com/SamuraiT/mecab-python3/issues
issueを英語で書く必要はありません。
——————- ERROR DETAILS ————————
arguments: -Owakati
[ifs] no such file or directory: c:\mecab\mecabrc
———————————————————-
6.MeCab本体のダウンロードとインストール
エラーの内容から調べたら、どうやらMeCab本体のダウンロードしてからインストールが必要だったようなので、MeCabのダウンロードページから以下のIPA辞書つきのパッケージファイルをダウンロードしました。
ダウンロードしたファイルを実行します。
途中で文字コードを聞かれますが、「通常はSHIFT-JIS」とのことのでそのまま選択。
が、Pythonで使用する場合はここはUTF-8が正解でした。この後に示すようにSHIFT-JISでインストールすると文字化けするのでUTF-8を選択するようにしてください。
インストール先は、後にPATHの設定とかあると面倒なので、私はデフォルトの場所にインストールしました。
MeCabを直接起動することは想定していないため(Pythonからの使用のみ)、私はプログラムグループを作成しないのチェックは外しました。
(プログラムグループを作成するとスタートメニューとかに追加されるはずです)
以下は個人で使う場合に「はい」でいいでしょう。
ほどなく完了しました。
7.エディタを再起動して実行
正常終了!と思ったら文字化けしてしまいました…。
インストール時の文字コード指定をSHIFT-JISにしてしまったせいですね。
8.文字コードをUTF-8にして再度インストール
一度MeCabをアンインストールして、文字コードのみUTF-8に変えて再度インストールしました。
9.正常動作を確認
無事に目的のプログラムが動きました。
それにしてもこのようなわかりにくい文章を、モジュール1つで品詞分解してくれるのは凄いしありがたいですよね。
以上が私のWindows10環境でMeCabを使うまでの手順でした。
この記事を通じて、MeCabのインストールと設定に関する一部の問題を解決する手助けができれば幸いです。
形態素解析は自然言語処理の基本的なステップであり、MeCabはその強力なツールだと思います。
インストールにはここに書いたようにいくつかのステップが必要ですが、その労力はその後の分析の精度と効率を大幅に向上させることで報われると思います。