Mecab のインストール(Windows 上)
MeCabのWindowsへのインストール
この記事では、オープンソースの形態素解析エンジンであるMeCabをWindows環境にインストールする手順を解説します。形態素解析は、自然言語処理の基本的なタスクの一つです。
対象環境:
- Windows 10 / 11 (他のバージョンでも同様の手順で可能ですが、適宜読み替えてください)
- 作業には管理者権限が必要です。
注意: この記事で紹介するMeCab本体のWindows向けバイナリパッケージ(バージョン 0.996)は長期間更新されていません(2013年リリース)。基本的なインストール手順は2025年2月時点でも有効ですが、より新しい環境での利用や高精度な解析のためには、後述する新しい辞書の導入や他のインストール方法(WSL利用など)も検討してください。
- MeCab のWebページを開く
- 「Binary package for MS-Windows」セクションから、最新版(通常は `mecab-0.996.exe`)のインストーラーをダウンロードします。
- ダウンロードした実行ファイルを起動する
- インストール時の使用言語はデフォルトのまま「OK」を選択します。
- インストーラーの案内画面で「次へ」を選択します。
- 辞書の文字コードを選択する
MeCabが扱うテキストデータの文字コードを指定します。現代的な開発環境やデータ形式との互換性を考慮し、UTF-8を選択することを強く推奨します。他の文字コード(SHIFT-JIS, EUC-JP)も選択可能ですが、特別な理由がない限りUTF-8を選びましょう。
システムに適した文字コードを選択する.この例では,UTF-8を選択している
UTF-8を選択する利点:
- Python,Java,最新のWebアプリケーションなど,現代のプログラミング環境との互換性が高い
- テキストエディタでの日本語編集時に文字化けが発生しにくい
- クロスプラットフォームでの移植性が高い
UTF-8選択時の注意点:
- Windows標準のコマンドプロンプト(cmd.exe)でMeCabを直接実行すると、結果が文字化けする場合があります。
- この文字化けを避けるためには、以下のいずれかの方法でMeCabを実行してください:
- PowerShell を使用する(推奨)。PowerShellはデフォルトでUTF-8を扱いやすいため、文字化けが発生しにくいです。
- コマンドプロンプト(cmd.exe)を使用する場合は、
chcp 65001
コマンドを実行して文字コードをUTF-8に変更してからMeCabを実行します。(ただし、この変更はコマンドプロンプトを閉じると元に戻ります)
- ライセンス条項を確認し,同意する場合のみインストールを継続します。
- インストール先は特に変更がなければデフォルトのまま「次へ」を選択します。
- プログラムグループもデフォルトのまま「次へ」を選択します。
- 設定を確認し,「インストール」を選択します。
- インストール完了の確認画面を確認します。
- 環境変数 Path の設定
MeCabのコマンド (
mecab.exe
など) をどのディレクトリからでも実行できるように、システム環境変数Path
にMeCabのインストール先にあるbin
フォルダを追加します。この設定変更には管理者権限が必要です。1. Windowsキーを押し、「cmd」と入力します。
2. 表示された「コマンド プロンプト」を右クリックし、「管理者として実行」を選択します。
3. 開いたコマンドプロンプトで、以下のPowerShellコマンドを実行します。(インストール先が異なる場合は、パスを適宜修正してください)
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); $oldpath += ';C:\Program Files (x86)\MeCab\bin'; [System.Environment]::SetEnvironmentVariable('Path', $oldpath, 'Machine')"
4. 「成功: 指定した値は保存されました。」のようなメッセージが表示されれば設定完了です。設定を反映させるため、開いているコマンドプロンプトやPowerShellがあれば一度すべて閉じてから、再度開き直してください。
- 環境変数 MECABRC の設定 (オプション)
MeCabの設定ファイル (
mecabrc
) の場所をシステムに知らせるために、システム環境変数MECABRC
を設定することが推奨される場合があります。**ただし、この設定は多くの場合(特にコマンドラインでの基本的な利用やPython等の一般的なラッパー経由での利用では)必須ではありません。** プログラムからMeCabライブラリを直接利用する際などに問題が発生した場合に、設定を試みる程度で良いでしょう。この設定も管理者権限が必要です。1. 管理者権限でコマンドプロンプトを開きます。
2. 開いたコマンドプロンプトで、以下のPowerShellコマンドを実行します。(インストール先が異なる場合は、パスを適宜修正してください)
powershell -command "[System.Environment]::SetEnvironmentVariable('MECABRC', 'C:\Program Files (x86)\MeCab\etc\mecabrc', 'Machine')"
3. 成功メッセージを確認後、設定を反映させるため、開いているコマンドプロンプトやPowerShellがあれば一度すべて閉じてから、再度開き直してください。
- ヘッダーファイル (mecab.h) の修正について (通常は不要)
**重要:** 過去の資料などには `C:\Program Files (x86)\MeCab\sdk\mecab.h` ファイルへの修正手順が記載されている場合がありますが、これは**現在ではほとんどの場合不要です。** この修正は、特定の古いC++開発環境など、ごく限られた状況でのみ必要とされた過去の回避策でした。
通常のコマンドライン利用や、Python、Java、Rubyなどの一般的なプログラミング言語からラッパーライブラリ経由でMeCabを利用する場合には、**このヘッダーファイルの修正は行わないでください。** もしC++からMeCabライブラリを直接リンクしてコンパイルエラー等が発生し、関連情報を調査した結果この修正が必要だと判断される極めて稀なケース以外では、この手順は無視してください。
- 動作確認
インストールが正常に完了したか確認します。UTF-8でインストールした場合、文字化けを避けるためにPowerShellを使用するのが簡単です。
1. Windowsキーを押し、「powershell」と入力してEnterキーを押し、PowerShellを起動します。
2. PowerShellで
mecab
と入力し、Enterキーを押します。3. カーソルが表示されたら、日本語のテキスト(例:
すもももももももものうち
)を入力し、Enterキーを押します。4. 以下のように形態素解析の結果が文字化けせずに表示されれば成功です。
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS
5.
Ctrl + C
を押してMeCabを終了します。(補足)コマンドプロンプト(cmd.exe)で確認する場合:
前述の通り、cmd.exe
では文字化けすることがあります。確認する場合は、chcp 65001
を実行してUTF-8モードに変更してからmecab
コマンドを実行してください。
次のステップ・関連情報
- より新しい辞書の利用 (推奨): MeCab本体に付属する辞書(IPA辞書)は情報が古いため、解析精度を高めるために新しい辞書の導入を検討してください。代表的なものに **mecab-ipadic-NEologd** があります。導入方法は別途検索して確認してください。(WSL環境などLinux環境の方が導入しやすい場合があります。)
- 各プログラミング言語からの利用:
- **Python:**
pip install mecab-python3[unidic-lite]
のように、ラッパーライブラリと辞書を一緒にインストールするのが一般的です。別途MeCab本体のインストールが不要な場合もあります。利用するライブラリのドキュメントを確認してください。 - Java, Ruby, Perl などにも対応するライブラリが存在します。
- **Python:**
- アンインストール方法: コントロールパネルの「プログラムのアンインストール」からMeCabを選択してアンインストールできます。環境変数の設定は手動で元に戻す必要がある場合があります。
- トラブルシューティング:
mecab
コマンドが見つからない場合: 環境変数Path
の設定が正しいか、設定後にターミナルを再起動したか確認してください。- 文字化けする場合: PowerShellを使用するか、
cmd.exe
でchcp 65001
を実行してください。