アルの備忘録

本棚が足りずにいいものを探しているがなかなか見つからないので困ってる系ブロガーの雑記ブログ

【導入手順】MeCabをインストールして形態素解析をしてみた!

 

形態素解析とは

形態素解析は自然言語処理のひとつで自然言語の文章を形態素(品詞や単語ごと)に分解する処理です。

 

もっと簡単に言うと、文章を品詞ごとに分解します。

例文をMeCabに与えて形態素解析をしてみると以下のように品詞ごとに分解されます。

 

例:私はMeCabを使って形態素解析の処理を実施した。

私/は/MeCab/を/使っ/て/形態素/解析/の/処理/を/実施/し/た/。

MeCabを使って形態素解析の処理を実施した。

 

MeCabとは

オープンソースの形態素解析エンジンのひとつで形態素解析や分かち書きの処理が行えます。

開発者の好物の「和布蕪」に由来しているそうです。

みんな食べ物の名前にするの面白いですね。

MeCabのほかにもcabochasudachiなどの形態素解析エンジンがあります。

MeCabはPythonでも使えるので機械学習などの分野でも活躍しています。

 

今回はMeCabを導入して、いろんな文章を形態素解析してみたいと思います!

 

 

MeCabの導入手順

MeCab 64bit版の導入

こちらのサイトにアクセスして、「mecab-64-0.996.2.exe」をクリックします。

github.com

 

 

MeCab 64bit版をインストール

ダウンロードできたらダブルクリックしてインストールします。

基本的には「次へ」を押していきます。

ここからは重要な部分だけピックアップします。

 

辞書の文字コードの設定では「UTF-8」を選択します。

MeCabのインストールでUTF-8を選択

 

プログラムグループを作成しない」にチェックを入れます。

MeCabのインストールでプログラムグループを作成しない

 

それ以外は画面を進めてインストールまで実施します。

 

 

Pathを通す

「sysdm.cpl」をWindowsの検索バーに入れて、「システムのプロパティ」画面が表示されます。

「詳細設定」のタブをクリックして、「環境変数」のボタンをクリックします。

MeCabのPathを通す

 

一覧から「Path」を選択して「編集」ボタンをクリック。

「環境変数名の編集」画面で「新規」ボタンをクリックしてインストールしたMeCabのbinまでを指定します。

「~¥MeCab¥bin」を入力して「OK」をクリックします。

 

 

cmdで動作確認

Windowsの検索バーで「cmd」と打ってコマンドプロンプトを開きます。

開いたら「mecab -v」と入力して画像のようにバージョン情報が表示されます。

MeCabのバージョン確認

 

早速、MeCabで形態素解析をしてみましょう!

echo "私はMeCabを使って形態素解析の処理を実施した。"  | mecab

cmdでMeCabのテスト

 

文字化けしていますが、動いていますね!

これでインストールの手順は完了なので、Pythonで動かしてみます。

 

 

PythonでMeCabを使う手順

仮想環境に入ったら、次のコマンドでPython用のライブラリを導入します。

pip install mecab-python3

 

私は以下のようにmecab.pyを作成しました。

import MeCab
 
mecab = MeCab.Tagger()
sample = "私はMeCabを使って形態素解析の処理を実施した。"
print(mecab.parse(sample ))

 

mecab.pyがある階層まで移動して、次のコマンドで実施したら動きました!

python mecab.py run

品詞や音なども表示されていますね。

MeCabを使って形態素解析の処理を実施した。

 

MeCabも一単語として認識されてたり、「形態素解析」も「形態素」「解析」

と単語ごとに分かれていますね!

 

 

MeCabで形態素解析をしてみた

いろんな文章を試してみたいですね。

 

まずはメロスの一文をしてみると綺麗に形態素解析されていますね。

「メロスは激怒した。必ず、かの邪智暴虐の王を除かなければならぬと決意した。メロスには政治がわからぬ。メロスは、村の牧人である。笛を吹き、羊と遊んで暮して来た。」

メロスの一文をMeCabで形態素解析してみた

 

 

MeCabを導入してみて

記事には載せていませんがいろんな文章を試してみて、最初から精度がいいように感じます。

 

まだ辞書を加えていない状態なので辞書を入れた時にどれだけ変化があるかも気になります!

 

さらに他の形態素解析エンジンを取り入れて、同じ文章を実施したときに同じような解析結果になるかもみたいですね!

 

MeCabの辞書である、NEologdも入れておいていいですね。

www.matematetea.com