イクメンデータアナリストのブログ

コンサルのこと/Pythonのこと/Tableauのこと などを備忘録的に書いていこうと思います。

【環境構築】Windows環境で自然言語処理(python)

1.はじめに

業務で自然言語処理をしますが、環境が変わるたび(PCが変わったり)にいちから調べている気がするので、環境構築を備忘のためにまとめておきます。

2.目的

Windows環境で自然言語処理が自在に出来るようになること。新語に対応する辞書(mecab-ipadic-NEologd)が使えていること。

3.環境(下記既に設定済み)

Anaconda3 64bit

※Anacondaのインストールに関しての手順サイトは他にもたくさんあるのでここでは割愛するが↓から落とせる。

https://www.continuum.io/downloads

4.MeCabインストール

ここから “mecab-0.996-64.exe” をダウンロードします。 これを任意の場所にインストールします。(※インストール場所に対してパスを通しますので、場所は覚えておく)

  • パスを通す

    「ウィンドウズマーク」からスタートメニューを開く "環境変数"などと検索して「環境変数の編集」を開く

    環境変数編集
    環境変数編集
    Anacondaの時と同じく”環境変数の編集”で"Path"を選択し、”編集”の"新規"で
    環境変数追加
    環境変数追加

  • MeCabプログラムをAnaconda3(Python)上で使えるようにする。

pip install ipykernel
pip install mecab-python-windows

必要ファイルのコピー

Anaconda3の環境に、MeCabを認識させるため必要ファイルをコピペします。

(MeCabのインストール先)/bin

にある"libmecab.dll"というファイルを

(Anacondaのインストール先)/Lib/site-packages

にコピー&ペーストしてください。

※Anacondaのインストール先は、コマンドプロンプト

>python
>>> import site
>>> site.getsitepackages()

これで調べられます。

MeCabを使っている状態だと「恋ダンス」は「恋」と「ダンス」で名詞が二つということで分かれます。

>python
>>> import MeCab
>>> m = MeCab.Tagger ("-Ochasen")
>>> print(m.parse ("恋ダンス"))
恋      コイ    恋      名詞-一般
ダンス  ダンス  ダンス  名詞-サ変接続
EOS

ここから「恋ダンス」という形で一つの名詞として扱いたいので辞書を変えます。

NEologd辞書を使えるようにする

基本的にこちらの方の記事を参考にさせて頂きそのまま出来ました。

mecab-ipadic-NEologdをWindowsで使ってみる。 - どん底から這い上がるまでの記録

おわりに

目的がクリア出来ているかどうかを確認してみます。

>python
>>> import MeCab
>>> m = MeCab.Tagger(r"Owakati -d C:\neologd")
>>> print(m.parse("恋ダンス"))
恋ダンス        名詞,固有名詞,一般,*,*,*,恋ダンス,コイダンス,コイダンス
EOS

お~ 恋ダンスぅ 

出来ました!