Help us understand the problem. What is going on with this article?

Python3からMeCabを使う

More than 1 year has passed since last update.

日本語の形態素解析エンジン"MeCab"をMacにインストールしてPython3から利用する方法をまとめました。

MeCabと辞書をインストール

まずHomebrewでMeCabと辞書をインストールします。

$ brew install mecab
$ brew install mecab-ipadic

mecab-ipadic-NEologdをインストール

mecab-ipadic-NEologdをインストールします。
これはWeb上の新語をデフォルトの辞書に追加したものです。
必須ではありませんが便利なので入れておきます。
以下のコマンドでインストールできます。
詳しくはGitHubページをみてください。

$ brew install git curl xz
$ git clone --depth 1 git@github.com:neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd
$ ./bin/install-mecab-ipadic-neologd -n

mecab-python3をインストール

次にpipでmecab-python3をインストールします。

$ brew install swig
$ pip install mecab-python3

追記(2018/11/27)
コメントで『「unable to execute 'swig': No such file or directory」となりエラー終了する』との指摘をいただいたので修正しました

これで、Python3からMeCabが使えるようになりました。
以下に、サンプルコードを載せておきます。
MeCab.Taggerで指定するパスは

$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"

で調べられます。

import MeCab

mecab = MeCab.Tagger ('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')

text = '解析したいテキスト'
mecab.parse('')#文字列がGCされるのを防ぐ
node = mecab.parseToNode(text)
while node:
    #単語を取得
    word = node.surface
    #品詞を取得
    pos = node.feature.split(",")[1]
    print('{0} , {1}'.format(word, pos))
    #次の単語に進める
    node = node.next

出力結果

 , *
解析 , サ変接続
し , 自立
たい , *
テキスト , 一般
 , *

参考

https://github.com/neologd/mecab-ipadic-neologd
http://shogo82148.github.io/blog/2015/12/20/mecab-in-python3-final/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした