PythonでMeCabを使って形態素解析

  • このエントリーをはてなブックマークに追加

今回は、形態素解析エンジンのMeCabをPythonと一緒に使ってみます。本記事は、Pythonで形態素解析やってみたいなぁと思った方が取り敢えず使いはじめることが出来る状態になることをゴールとしています。

参考にした記事はこちら
Python で Mecabを利用する【mac】

ところで、MeCabの読み方は「ミーキャブ」?「めかぶ」?

MeCab (和布蕪)とは
(中略)
ちなみに和布蕪(めかぶ)は, 作者の好物です。

MeCab: Yet Another Part-of-Speech and Morphological Analyzerにこのように書かれているので、読み方は「めかぶ」が正解でしょう。

では、本題。

環境

  • Mac OSX El Capitan
  • Homebrew 0.9.9
  • Python 3.5.0
  • pip 8.0.2

Python2.7系でも動きますが、Unicodeの扱いが面倒なのでPython3系をおすすめします。

インストール

MeCabのインストール

※brew install mecabと打たなくても、依存関係にあるmecabをちゃんとインストールしてくれます。

インストールされたMeCabのバージョンが表示されたら成功です。

試しにTerminal上で使ってみましょう。適当な文章を打ってreturnキーを押します。

残念ながら「めかぶ」が名詞であることは理解出来なかったようですが、動いていることを確認できます。

終了したいときはcontrol + cで終わってください。

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

PythonでMeCabを使うにはnatto-pyが必要です。メカブに納豆にとにかく食べ物の名前が出てきますがインストールしましょう。

環境によってはpip3 install natto-pyと打つ必要があります。

インストールの際に下記のようなエラーメッセージが出るかもしれません。

その際は、次のコマンドを打って再度pip installしてください。(参考:pip cffi package installation failed on osx

では、PythonでMeCabが使えるようになったか確認しましょう。

特にエラーが出なければ成功です。

Pythonコードを書いてみよう

Python の MeCab バインディング natto-py を使うのサンプルコードをそのまま使います。

このファイルを実行すると以下の様な内容で出力されます。

名詞だけを抽出してみる

形態素解析を使う理由の一つとしてこのようなことがあるのではないでしょうか。長い文章の中にどのような言葉がよく使われているのか。よく使われている言葉は、「人気のキーワード」としてサジェストに加えたい。キーワードといえば名詞なので、MeCabを使って長い文章から名詞だけを抽出するプログラムを書いてみます。

サンプルコードはGistに上げましたのでご自由にお使いください。

これで名詞だけを抽出することができました。あとはDBに入れるなりして頻出ワードを解析することができます。

以上、思ったよりも簡単に形態素解析ができました。使ってみたいけどPythonがよくわからない場合は、teratailなんかで、質問しながら進めてもいいと思います。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*