MeCabをPythonで使ってみる
MeCabって?
形態素解析をするためのツールです
じゃあその形態素解析ってなに?
コマンドラインで実行した結果です.
$ mecab 君の名は ← 入力 君 名詞,代名詞,一般,*,*,*,君,キミ,キミ の 助詞,連体化,*,*,*,*,の,ノ,ノ 名 名詞,一般,*,*,*,*,名,ナ,ナ は 助詞,係助詞,*,*,*,*,は,ハ,ワ EOS
こんな感じで,文書を単語ごとに分割することです.
そういえば,君の名はがテレ朝で1月3日に公開されますね!(今は関係ない)
やり方
- まずはMeCabとその関連パッケージをインストールします
$ sudo apt-get install mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8
- MeCabがインストールできたか確認
$ mecab (入力待になります)
これで,コマンドライン上での実行は完了です.
PythonでMeCabを実行
- 環境に合わせて選択してください ↓
Python 2の場合
$ pip install mecab-python
Python 3の場合
$ pip3 install mecab-python3
- 確認
以下のソースコードをコピペして実行してみてください.
import sys import MeCab m = MeCab.Tagger() text = m.parse("君の名前は") print(text)
これができれば,PythonでMeCabを使うことができるようになります!
ですが,インストールした時の辞書は固有名詞などの形態素解析に弱いです.
というわけで! 辞書を変えていきましょう
辞書を変更する
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git $ cd mecab-ipadic-neologd $ ./bin/install-mecab-ipadic-neologd -n -a
これで辞書の取得は完了です.
確認のため,以下のコードを実行してみてください.
import sys import MeCab # Taggerの引数に-dオプションとmecab-ipadic-neologdの場所を指定する m = MeCab.Tagger("-d ../mecab-ipadic-neologd") text = m.parse("君の名は") print(text)
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
以上です!