natto を anaconda,jupyter labで利用する【Mac】


Macでjupyter lab でnattoからMeCabを使うのに苦労した話

Macです。OSは、Big Sur。

実行したいコードは、

from natto import MeCab

mc = MeCab()
print(mc.parse('今年の夏はとても暑かったですね。'))

これだけ。

とりあえず、はじめにMeCab周りをインストールします。

ターミナルから、

$brew install mecab
$brew install mecab-ipadic

mecabはANACONDA.NAVIGATORでインストールする方がいいかもしれません。

natto-py も pip で

pip install natto-py

python から MeCab を使えるようにするため、

pip install mecab-python3

以下は有効かどうかは分かりませんが、とりあえず。

python -c "import MeCab"

これで、~/.bash_profile に以下を入れれば、

export MECAB_PATH=/usr/local/Cellar/mecab/0.996/lib/libmecab.dylib
export MECAB_CHARSET=utf8

ターミナルでpythonとして実行することができるようになりますが、jupyter labでは実行できませんでした。

以下が必要でした。(なので、~/.bash_profileの変更は不要かもしれません。)

import os

os.environ['MECAB_PATH']='/usr/local/Cellar/mecab/0.996/lib/libmecab.dylib'
os.environ['MECAB_CHARSET']='utf-8'

これで、

from natto import MeCab

mc = MeCab()
print(mc.parse('今年の夏はとても暑かったですね。'))

# 今年    名詞,副詞可能,*,*,*,*,今年,コトシ,コトシ
# の   助詞,連体化,*,*,*,*,の,ノ,ノ
# 夏   名詞,一般,*,*,*,*,夏,ナツ,ナツ
# は   助詞,係助詞,*,*,*,*,は,ハ,ワ
# とても 副詞,助詞類接続,*,*,*,*,とても,トテモ,トテモ
# 暑かっ 形容詞,自立,*,*,形容詞・アウオ段,連用タ接続,暑い,アツカッ,アツカッ
# た   助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
# です    助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
# ね   助詞,終助詞,*,*,*,*,ね,ネ,ネ
# 。   記号,句点,*,*,*,*,。,。,。
# EOS

これも、

from natto import MeCab

# 表層形、品詞、原形を抽出してfeatureに格納
with MeCab('-F%m,%f[0],%f[6]') as mc:
    text = '今年の夏はとても暑かったですね。'
    for w in mc.parse(text, as_nodes=True):
        print(w.feature) 

# 今年,名詞,今年
# の,助詞,の
# 夏,名詞,夏
# は,助詞,は
# とても,副詞,とても
# 暑かっ,形容詞,暑い
# た,助動詞,た
# です,助動詞,です
# ね,助詞,ね
# 。,記号,。
# EOS

以上です。

参考文献

これをよく読めば良い!
https://pypi.org/project/natto-py/