Windows10にMeCabをインストールする
投稿日:2019/04/04
なぜ書いた?
一応同様の内容で既存記事はあります.
が,そのままの書き方ではうまくいかず,自分なりに解決した部分があったので自分メモとして記事を書きます.
環境
●Windows10 Home(64bit)
●Python3.6/pip(64bit)
●Ubuntu18.04.1 LTS on WSL
MeCabのインストール
①MeCabのダウンロード
今回はWindows10やPythonに合わせるため64bit版が必要になるので,公式ページからではなく,こちらのGitHubから「mecab-64-?.???.?.exe」をダウンロードします.
そしてインストールしますが,Pythonに合わせるため文字コードではUTF-8を選択します.(個人的に理由関係なくUTF-8に統一したさある)
②環境変数に登録
"スタート>設定>システム>ハージョン情報>システム情報>システムの詳細設定>環境変数"から,システム環境変数のPathにインストール先である「C:\Program Files\Mecab\bin」を追加する.
③動作確認
コマンドプロンプト(PowerShell)を再起動し,以下コマンドで実行して何か文章を打って正常に動作するか確認する.
ただしアプリケーションの文字コードをUTF-8に設定しているので,Shift-JIS環境であるコマンドプロンプトでは文字化けしますがとりあえず最後に「EOS」と出れば大丈夫だと思います.
Pythonでの実行
①Pythonパッケージのインストール
「mecab-python3」があるらしいが,Windows上で実行するので「mecab-python-windows」の方が良さそうです.
ということで,pipでそれをインストールします.
②動作確認
以下コードで動作するか・文字コードが大丈夫か確認しましょう.
上記の結果になれば大丈夫です.次に進みます.
mecab-ipadic-NEologdのインストール
単語辞書はインストール当初のままでは最新の単語が含まれていません.
上の例では「キンタロー。」と「恋ダンス」で正しく区切りを付けられていません.
そのため最新の単語も含めた単語辞書であるmecab-ipadic-NEologdをインストールし,新しい単語の区切りができるようにします.
ここでWSLを使います.インストールにあたりビルドが必要であり,LinuxOS上でないとできない現状にあるためです.
①WSLの導入
【Crystal】環境構築(Windows Subsystem for Linux)の環境構築①でまとめてあります.
②MeCab関連のインストール
Ubuntu on WSLを管理者として起動し,以下コマンドでMeCab関連をインストールする.
③mecab-ipadic-NEologdのインストール
以下コマンドでmecab-ipadic-NEologdをダウンロード・ビルドする.
①で共有フォルダの設定を済ませていれば,そこに「mecab-ipadic-neologd」がクローンされているとこを確認できます.
ビルドでできたファイルは恐らく,
上記ディレクトリのlib,tmpフォルダのいずれかにあると思われますが,確認できていません.(多分tmpだろうなぁ)
コマンドによってコピーしているので気にしない人はそのまま進めましょう.
④WindowsのMeCabに反映させる
ビルドで生成されたファイルをWindowsのインストール済みMeCabの辞書フォルダに移すことで反映させることができます.
下記コマンドでWindowsのMeCabフォルダにある辞書フォルダにコピーし,WSLのビルドしたファイルを削除しています.
これでひとまずmecab-ipadic-NEologdのインストールは終わりです.
次章でPythonで動作確認しましょう.
Pythonで新辞書を使う
上記コードで実行して結果の「キンタロー。」と「恋ダンス」が正しく認識できていれば成功です.
また上記コードではMeCab.Taggerをインスタンス化する際に引数の「-d」オプションで先程インストールした新辞書を指定しています.
ここで「$(rcpath)\」を書かなくても実行できるらしい参考記事が多かったのですが,エラーになっちゃったので上記のように追記して実行できるようにしました.
まとめ
自然言語処理も頑張って学んでいきたい.
というか,Windows64bit版の野良MeCab作るってすげぇな….