Python
mecab
Yum
CentOS6.x
形態素解析

python3からmecabを使ってみる

python3からmecabを使ってみた備忘録

こんにちは。
新卒マイナス1年目エンジニアの和尚です。

今日はpython3から形態素解析に用いられるmecabを使っていこうと思います。
centOS6(Linux)を使用しているので、yumからインストールします。

centOS6の導入方法はこちら
ドットインストール大先生:ローカル開発環境の構築(windows編)
ドットインストール大先生:ローカル開発環境の構築 [macOS編]

※macOSやwindowsを使用して開発する方はHomebrewなどをご自身の環境に応じてお好きな方法でmecabを導入してください。僕の場合(centOS)はyumが一番楽でした。

開発環境

  • centOS6
  • python 3.6.2
  • pip 10.0.1

目的

python3からmecabを使用できるようになる。

想定読者

  • (pythonを使用して)自然言語処理を始めたばかりの方
  • エンジニアの卵および雛

Mecabのインストール

参考資料
yumでMeCabをインストール
CentOSにMeCabをインストールして使う
mecab公式ドキュメント

Groongaリポジトリを導入

  1. yumでmecabをインストールするために、まずgroongaを入れます。
  2. パッケージ更新
$ sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
$ sudo yum makecache

Mecab本体+その他諸々のインストール

  1. Mecab、Mecabの辞書をインストールします。
  2. Mecabの開発バージョンもインストールします。 (mecab-configが見つからずエラーを吐いたため)
  3. python3のmecabパッケージをインストールします。
$ sudo yum -y install mecab mecab-ipadic
$ sudo yum -y install mecab-devel
$ pip install mecab-python3

インストール完了です。

pythonからmecabを使ってみる

動作確認

mecabとmecab-python3がインストールできているかを確認します。

$ mecab --version
mecab of 0.996

$ pip list
~
mecab-python3
~

このように表示されていたらOKです。

コードを書く

mecab公式サイトにあるpythonのサンプルプログラムを実装してみます。
サンプルプログラムはpython2の書き方なので、python3の書き方に変更し、標準入力から形態素解析するように変更しました。

main.py
import sys
import MeCab
#sysとmecab-python3を呼び出します。

m = MeCab.Tagger ("-Ochasen")
'''
mecabインスタンスの生成(出力フォーマットはchasen)
ヨミ:("-Oyomi")
全情報:("-Odump")
わかち書き:("-O wakati")
etc... 公式ドキュメント見てください。
'''

text = input(">>")
print(m.parse (text))
#標準入力をtextに代入し、表示させます。

結果

python3からmecabを使用してみました。
次回はcabochaです。