Python 3.8.10におけるCaboChaの環境構築 windows版


はじめに

初投稿です。
2021/10/30時点でCaboChaの環境を作成したところ、参考になる記事は複数あるものの、かなりの苦労を要した為記事にしました。
記事を書いている途中で、苦労した部分をすべて吹き飛ばす簡単な方法が発見されたので前の記事はボツになりました。
本記事では、MeCabのインストールからCaboChaの環境作成までを扱います。

環境

  • Windows 10
  • Python 3.8.10 (32bit)

Python 64bit版について

MeCabの使用は可能なようですが、CaboChaの使用が不可能なようです。
大人しく32bit版をインストールしてください。
32bit版をインストールする際には、"PATHを通す"のチェックボックスにチェックを入れてください。

MeCabのインストール

MeCab公式より、MeCabのダウンロードを行います。
今回はWindowsなので、自己解凍インストーラを選択してください。
私は、mecab-0.996.exeを選択しました。
インストーラを起動後文字コードを選択する場面がありますが、UTF-8の選択をお勧めします。
インストールが終了した後、MeCabにPATHを通します。
画面右下の吹き出し->すべての設定->システム->詳細情報->システムの詳細設定->環境変数に移動した後、システム環境変数にあるPathを選択し、編集で末尾にPathを追加します。
追加するPathはMeCabをインストールした場所によって異なりますが、恐らくC:\Program Files (x86)\MeCab\binだと思います。

MeCabの動作確認

cmdで今回インストールしたMeCabを実行した場合、文字コードが異なる為に結果が文字化けします。(cmd標準文字コードはcp932)
ただ、今回は動作確認の為動けば良いです。

実行例
> mecab
めかぶスープ
めか    險伜捷,荳闊ャ,*,*,*,*,*
ヤ       蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
X       蜷崎ゥ・荳闊ャ,*,*,*,*,*
        險伜捷,荳闊ャ,*,*,*,*,*
[       蜷崎ゥ・繧オ螟画磁邯・*,*,*,*,*
        險伜捷,荳闊ャ,*,*,*,*,*
v       蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*

この様になれば大丈夫です。

Pythonへのバインディング

MeCabのバインディングはPyPIに公開されている様なので、pipでインストール可能です。

pip insatll mecab

Pythonでの動作確認

以下のコードを実行してみましょう。

import MeCab
t = MeCab.Tagger()
s = "めかぶスープ"
print(t.parse(s))
実行結果
め      名詞,一般,*,*,*,*,め,メ,メ
かぶ    動詞,自立,*,*,五段・ラ行,体言接続特殊2,かぶる,カブ,カブ
スープ  名詞,一般,*,*,*,*,スープ,スープ,スープ
EOS

CaboChaのインストール

CaboCha公式より、最新のCaboChaをダウンロードします。
今回はcabocha-0.69.exeを使用します。
文字コードはMeCabと同様の物を選択します。
今回はUTF-8です。
インストール後に、CaboChaのPATHを通す必要があります。
デフォルトのPATHは恐らくC:\Program Files (x86)\CaboCha\binです。

CaboChaのバインディング

pipを用いてバインディングをインストールします。
pip install cabocha-python
以上、PythonでCaboChaを使用する為の準備でした。
(PyPIは良いなぁ)

テストコード

テストコード
import CaboCha
c = CaboCha.Parser()
s = "シートンの動物好き、動物に目と心とをひかれつくして飽きず観察に我を忘れる姿は全く一種独特である。"
result = c.parseToString(s)
print(result)
実行結果
    シートンの-D
        動物好き、---------------D
              動物に---D         |
            目と心とを-D         |
          ひかれつくして-D       |
                    飽きず-----D |
                      観察に---D |
                          我を-D |
                          忘れる-D
                              姿は---D
                                全く-D
                      一種独特である。

最後に

ここまで読んでいただきありがとうございました。
また、参考となる記事を書いてくださった方々に感謝の意を表します。
何か間違いがありましたらコメントにて教えていただけると幸いです。

参考サイト

CaboCha & Python3の環境構築(Windows版)
非Anaconda環境にCaboChaをインストールする(Win)
AMD製CPUのRyzenでNumpyが遅い問題を解決する方法