Python ディープラーニング

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

-Python, ディープラーニング

執筆者:


  1. […] Windows10環境のPython3でMeCabを使えるようにするまで […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【Python】ベイズの定理を実際に試行して確認

Contents1 ベイズの定理とは2 具体的な問題3 Pythonで実際に確認 ベイズの定理とは ある事象について、その原因となる候補(互いに独立)がいくつかあり、それぞれの原因は発生確率を持ってい …

Pythonの文字列操作

Contents1 目的2 文字列の連結3 文字列の抽出4 文字列の抽出(スライス)5 文字列の繰り返し6 文字数取得7 文字列の分割8 文字列の結合9 文字列の置換 目的 pythonの文字列操作に …

Pythonからデータベース接続(PostgreSQL,Oracle,MySQL)

Contents1 目的2 PostgreSQLの場合3 MySQLの場合4 Oracleの場合 目的 pythonからデータベースに接続するコードをすぐ忘れるので、書き留める PostgreSQLの …

Python smtplibでメール送信

Contents1 目的2 環境3 コード 目的 pythonからSMTPサーバにメールを送信する。 環境 Windows10Python 3.7.3 (Anaconda 4.7.10) コード # …

【Python】銀行口座情報の自動取得

Contents1 目的2 開発環境3 selenium のインストール4 Chrome Driverをインストールする5 Pythonスクリプト6 注意点 目的 銀行口座の預金残高を確認したい。でも …

言語切り替え

カテゴリー