自然言語処理の過程で「形態素解析」が必要になります。ここでは、MacにMeCab(形態素解析エンジン)をインストールして、Python(3系)で利用する方法について紹介します。
目次
MeCab本体をインストール
まず、MeCab本体をインストールします。
$ brew install mecab
Updating Homebrew...
^C==> Downloading https://homebrew.bintray.com/bottles/mecab-0.996.high_sierra.bottle.3.tar.gz
######################################################################## 100.0%
==> Pouring mecab-0.996.high_sierra.bottle.3.tar.gz
???? /usr/local/Cellar/mecab/0.996: 20 files, 4.2MB
早速、実行してみます。
$ mecab
param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc
mecabの辞書がないというエラーが発生しました。
辞書のインストール
辞書をダウンロードして、展開します。
$ wget -O mecab-ipadic-2.7.0-20070801.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM'
$ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ sudo make install
今度は、mecabを実行することができました。
$ mecab
明日、スカイツリーに行く予定です。
明日 名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
、 記号,読点,*,*,*,*,、,、,、
スカイ 名詞,一般,*,*,*,*,スカイ,スカイ,スカイ
ツリー 名詞,一般,*,*,*,*,ツリー,ツリー,ツリー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
行く 動詞,自立,*,*,五段・カ行促音便,基本形,行く,イク,イク
予定 名詞,サ変接続,*,*,*,*,予定,ヨテイ,ヨテイ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。 記号,句点,*,*,*,*,。,。,。
EOS
Pythonライブラリをインストール
3系の場合、mecab-python3 をインストールします。
pipenv install mecab-python3
サンプルプログラムで動作確認
下記プログラムで動作確認してみます。
import MeCab
text = "明日、スカイツリーに行く予定です。"
print(text)
print("----------------------")
m1 = MeCab.Tagger()
print(m1.parse(text))
print("----------------------")
m2 = MeCab.Tagger('-Owakati')
print(m2.parse(text))
明日、スカイツリーに行く予定です。
----------------------
明日 名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
、 記号,読点,*,*,*,*,、,、,、
スカイ 名詞,一般,*,*,*,*,スカイ,スカイ,スカイ
ツリー 名詞,一般,*,*,*,*,ツリー,ツリー,ツリー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
行く 動詞,自立,*,*,五段・カ行促音便,基本形,行く,イク,イク
予定 名詞,サ変接続,*,*,*,*,予定,ヨテイ,ヨテイ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。 記号,句点,*,*,*,*,。,。,。
EOS
----------------------
明日 、 スカイ ツリー に 行く 予定 です 。