形態素解析ツールについて

これまでに用いた形態素解析ツールについて考察してみる。

MeCab

言わずと知れた代表的な形態素解析ツール。

mecab
僕は卒論を頑張っている。
僕 名詞,代名詞,一般,*,*,*,僕,ボク,ボク
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
卒論 名詞,一般,*,*,*,*,卒論,ソツロン,ソツロン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
頑張っ 動詞,自立,*,*,五段・ラ行,連用タ接続,頑張る,ガンバッ,ガンバッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
いる 動詞,非自立,*,*,一段,基本形,いる,イル,イル
。 記号,句点,*,*,*,*,。,。,。
EOS

こんな感じ。

Python, Ruby, Perl, Java用のバインディングあり。

MeCab - Browse Files at SourceForge.net からダウンロードできる。

Igo

Javaで作られた、MeCabと互換性のある形態素解析ツール。

以前Twitterbotを作成する時に用いた。(TwitterBotの作成② - Hello World !)

この時Igoを用いたのは、Mecabが重すぎてGAEに載らなかったから。

Python版あり → メモ: 形態素解析器IgoのPython版作った

JUMAN

これが地味に今回のメイン。

juman
僕は卒論を頑張っている。
僕 ぼく 僕 名詞 6 普通名詞 1 * 0 * 0 "代表表記:僕/ぼく 漢字読み:音 カテゴリ:人"
は は は 助詞 9 副助詞 2 * 0 * 0 NIL
卒論 そつろん 卒論 名詞 6 普通名詞 1 * 0 * 0 "代表表記:卒論/そつろん カテゴリ:抽象物 ドメイン:教育・学習"
を を を 助詞 9 格助詞 1 * 0 * 0 NIL
頑張って がんばって 頑張る 動詞 2 * 0 子音動詞ラ行 10 タ系連用テ形 14 "代表表記:頑張る/がんばる 補文ト"
いる いる いる 接尾辞 14 動詞性接尾辞 7 母音動詞 1 基本形 2 "代表表記:いる/いる"
。 。 。 特殊 1 句点 1 * 0 * 0 NIL
EOS

こんな感じ。文字コードEUCであることに注意。

個人的に1番のメリットは、代表表記があること。

これにより表記揺れを緩和(いわゆる正規化)できる。

しかし形態素解析自体はMeCabの方が精度が高いようなので、MeCabとJumanをうまく組み合わせて用いるのがベストかな…

ちなみにこちらもcJumanというPythonバインディングあり → python-cjuman: A Python (SWIG) bindings of JUMAN, A Japanese Morphological Analyzer

しかしインストール手順がかなりめんどくさい…

とか思ってたら、こんなの発見 → cJumanのインストールをちょっと簡単にするcJuman-installer | once upon a time,

これのおかげで一瞬でインストールできた。作ってくれた人に感謝。