読者です 読者をやめる 読者になる 読者になる

MacでMecabをpython3から利用する方法

2016年5月時点で最もカンタンと思われる方法。 python3 はインストール済みという前提で。

インストール

brew install mecab
brew install mecab-ipadic

pip install mecab-python3
>>> import MeCab
>>> m = MeCab.Tagger("-Ochasen")
>>> print(m.parse("すもももももももものうち"))
すもも  スモモ  すもも  名詞-一般
も      モ      も      助詞-係助詞
もも    モモ    もも    名詞-一般
も      モ      も      助詞-係助詞
もも    モモ    もも    名詞-一般
の      ノ      の      助詞-連体化
うち    ウチ    うち    名詞-非自立-副詞可能
EOS

natto

名詞、形容詞、形容動詞だけ抜き出す。 natto を使うと便利。

from natto import MeCab

def tokenize(text):
    tokens = []
    with MeCab('-F%f[0],%f[6]') as nm:
        for n in nm.parse(text, as_nodes=True):
            # ignore any end-of-sentence nodes
            if not n.is_eos() and n.is_nor():
                klass, word = n.feature.split(',', 1)
                if klass in ['名詞', '形容詞', '形容動詞']:
                    tokens.append(word)
    return tokens

print(tokenize('私の名前は太郎です。'))
# ['私', '名前', '太郎']