MeCabはインストール済みだと仮定します。
手順
- igo-pythonをインストールする
pip install igo-python
- igo-0.4.5.jarをダウンロードする
- mecab-ipadic-neologdをダウンロードする(git clone)
-
mecab-ipadic-neologd
に移動して./bin/install-mecab-ipadic-neologd
を実行。するとbuildディレクトリができる。 -
mecab-ipadic-neologd/build/mecab-ipadic-2.7.0-20070801-neologd-20150401
にigo-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にするとエラーが無くなりました。
参考
下記の記事を参考にさせていただきました。ありがとうございます。