【Python】入力した文章を単語単位に分解してくれるプログラムを作りたい1【MeCab導入編】

mecab Python

こんにちは、Rumadraです。

 

密かにあるツール(近日公開予定?)を作りたいと考えているのですが、いきなりは時間がかかりそうなので、

まずはセルフブートキャンプ的なことをやろうかと思います。

 

具体的には、そのツールを作るのに必要なテクニックやら技術について実際に実装して勉強していき、やってみたシリーズとして当分は投稿していきたいと思います。

(そのため内容には正確性がかなりかけると思いますが、コメント等で教えていただけるとありがたいです…)

 

記念すべき第一弾は、入力した文章から単語単位に分解してくれるツールを作っていきたいと思います、、、

 

 

が、今回はその導入編になります。m(_ _)mスイマセン

 

 

形態素解析

知ってる人は知っているであろう、「形態素解析」を使います。

形態素解析とは

形態素解析(morphological analysis)とは、検索エンジンにも用いられている自然言語処理の手法の一つで、ある文章・フレーズを「意味を持つ最小限の単位(=単語)」に分解し、文章やフレーズの内容を判断するために用いられます。
                                                                                                                                                                                      引用元:SEO HACKS様より

 

というように、単純に文章をN文字ずつ区切っていくようなN-gramの手法とは異なります。

品詞(名詞、動詞、形容詞など)毎に分割してくれるものです。

 

Mecabを使う

Pythonで実装するには、形態素解析ライブラリが使用できます。
(ここから実装しなきゃいけなかったらと創造じゃなくて想像するだけで恐ろしい…)

 

形態素解析ライブラリはいくつかあるのですが、精度実行速度の面で評判がよかったので今回はMeCabを使ってみることにします。

ダウンロードは以下URLからどうぞ。

Release MeCab 0.996 64bit version · ikegami-yukino/mecab
公式ではなくいわゆる野良ビルドの64bit版MeCabです。 CaboChaを使う場合は、こちらではなく公式の32bit版MeCabをインストールしてください。 以前のインストーラとの変更点は以下の通りです。 公式インストーラと同じくインストーラでIPA辞書のエンコーディングを変更可能にした 公式インストーラと同じく...
毎度のことですが、今回もWindows 1064bit環境で構築します。

 

mecab-64-0.996.2.exeをダウンロードできたらインストールします。

 

さてインストールすると文字コードを選択するのですが、PythonではデフォルトでUTF-8になっているのでこれに合わせときましょう。

 

あとはインストーラの指示に従ってポチポチやっていきます。

どこにMeCabをインストールしたかメモしてとおくと後で幸せになれます。

 

インストール完了後、環境変数にMeCabを追加します。

 

ここからのやり方は人によって変わりますが、

エクスプローラを開く、左メニューのPC右クリック -> プロパティ

システムが開いたら左側にあるシステムの詳細設定 -> 環境変数 

 

そしてシステム環境変数にあるPathに次のように追加しましょう。

C:\自分がMeCabをインストールしたディレクトリ\MeCab\bin

 

ここで正しく指定できていれば、mecabコマンドが実行できるはずです。

あれ、このまま何もでないんだけど!?

 

となっているのであればOKです!

そのまま適当な文章を入れて、Enter を押してください。

文字化けしてますが、単純にコマンドプロンプト側の文字コードが合ってないだけです。ご安心を。

MeCabの導入は以上です。

 

MeCabをPythonで使えるようにする

えっ、さっきやったのでもうできるんじゃないの??

と思うでしょう。私も思ってました。笑

 

 

 

あくまで先ほどはMeCab本体を入れただけであって、それをPythonで操作するためのライブラリが必要なようです。

 

pipコマンドを使って次の2つのパッケージをインストールしましょう!

pip install ipykernel
pip install mecab-python-windows

 

それぞれインストールが完了したら、pip check を実行して、モジュール間の依存関係が壊れてないかチェックします。

 

 

特に問題がなければ、最後はMeCabがちゃんとPythonで使えるかチェックします。

 

コマンドプロンプトで、pythonコマンドを実行して対話モードに入ります。

import MeCab と実行して特にエラーを吐かなければ終わりです!

 

 

今回は導入までとなってしまいましたが、次回からはこれを使って実際に形態素解析ができるのかやってみたいと思います!

 

以上、Rumadraでした!

コメント

タイトルとURLをコピーしました