Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

igo-pythonでmecab-ipadic-neologdをつかう

More than 5 years have passed since last update.

MeCabはインストール済みだと仮定します。

手順

  1. igo-pythonをインストールするpip install igo-python 
  2. igo-0.4.5.jarをダウンロードする
  3. mecab-ipadic-neologdをダウンロードする(git clone)
  4. mecab-ipadic-neologdに移動して./bin/install-mecab-ipadic-neologdを実行。するとbuildディレクトリができる。
  5. mecab-ipadic-neologd/build/mecab-ipadic-2.7.0-20070801-neologd-20150401igo-0.4.5.jarをコピーして次のコマンドを実行 java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic neologd . "utf-8"

以上で終わりです。
うまく行ったかどうか試してみます。

Python 2.7.8 (default, Mar 31 2015, 12:51:47)
Type "copyright", "credits" or "license" for more information.

IPython 3.0.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import igo

In [2]: t  = igo.tagger.Tagger('neologd')  # 先ほどjava ~ で作成したディレクトリへのパス

In [3]: for i in t.parse(u'アップルは Apple Watchを4月24日に国内発売します。'):
   ...:     print i.surface
   ...:
アップル
は
Apple Watch
を
4月24日
に
国内
発売
し
ます
。

Apple Watchは通常のMeCabではまとめて取得できませんが、mecab-ipadic-neologdのお陰で取得できていますね。今回はneologdを作成したディレクトリで実行したので問題ありませんでしたが、コメントにも書いたように実際に利用するときは作成したneologディレクトリにパスを通す必要があります。

これでMeCabをインストールしなくても柔軟に形態素解析できるので便利です。

注意点

igo用辞書コンパイルのコマンドの解説

igo-0.4.5.jarがあるディレクトリで、
java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic 辞書保存ディレクトリのパス mecab-ipadic-neologd内のbuidディレクトリへのパス 文字コード

igo用の辞書コンパイル時のエラー

Exception in thread "main" java.lang.OutOfMemoryError: Java heap spaceというようなエラーが出た場合、オプションに-Xmx1024mを追加してやってください。詳細は把握していませんが、ヒープが足りないらしいのでサイズ指定して足りるようにしている見たいです。

java -Xmx1024m -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic neologd . "utf-8"

こちらを参考にさせていただいたのですが、僕は1024では同様のエラーが出たのでなんとなく倍の2048にするとエラーが無くなりました。

参考

下記の記事を参考にさせていただきました。ありがとうございます。
* メモ
* BackedMemo

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