こんにちは、Rumadraです。
密かにあるツール(近日公開予定?)を作りたいと考えているのですが、いきなりは時間がかかりそうなので、
まずはセルフブートキャンプ的なことをやろうかと思います。
具体的には、そのツールを作るのに必要なテクニックやら技術について実際に実装して勉強していき、やってみたシリーズとして当分は投稿していきたいと思います。
(そのため内容には正確性がかなりかけると思いますが、コメント等で教えていただけるとありがたいです…)
記念すべき第一弾は、入力した文章から単語単位に分解してくれるツールを作っていきたいと思います、、、
が、今回はその導入編になります。m(_ _)mスイマセン
形態素解析
知ってる人は知っているであろう、「形態素解析」を使います。
形態素解析とは
形態素解析(morphological analysis)とは、検索エンジンにも用いられている自然言語処理の手法の一つで、ある文章・フレーズを「意味を持つ最小限の単位(=単語)」に分解し、文章やフレーズの内容を判断するために用いられます。
引用元:SEO HACKS様より
というように、単純に文章をN文字ずつ区切っていくようなN-gramの手法とは異なります。
品詞(名詞、動詞、形容詞など)毎に分割してくれるものです。
Mecabを使う
Pythonで実装するには、形態素解析ライブラリが使用できます。
(ここから実装しなきゃいけなかったらと創造じゃなくて想像するだけで恐ろしい…)
形態素解析ライブラリはいくつかあるのですが、精度、実行速度の面で評判がよかったので今回はMeCabを使ってみることにします。
ダウンロードは以下URLからどうぞ。
mecab-64-0.996.2.exeをダウンロードできたらインストールします。
さてインストールすると文字コードを選択するのですが、PythonではデフォルトでUTF-8になっているのでこれに合わせときましょう。
あとはインストーラの指示に従ってポチポチやっていきます。
インストール完了後、環境変数に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でした!
コメント