いっきのblog

技術とか色々

形態素解析ツールについてのまとめのまとめ

以前、形態素解析を行う際にMeCabをインストールした。

kzkohashi.hatenablog.com

恥ずかしながら、僕は日本語の形態素解析 = MeCabと思っていたが、実は他にも結構あったのでメモがてらまとめてみる(随時)。

正直、僕の知識ではほとんどまとめられなかったので、先に感謝も込めて参考URLを紹介する。

qiita.com

↑ ツールごとの特徴をわかりやすくまとめてくださっていて、すごく勉強になりました。形態素解析にも設計思想などがあり、ここらへんは用途ごとにしっかり見極めないとなと思いました。

udemy.benesse.co.jp

↑ 海外のもの(TREE TAGGERとかNLTKなど)をまとめてくれてるやつは貴重だったのでありがたいです。

自然言語処理ツール

形態素解析以外にも幅広くツールを紹介してくださってたので、色々広がりました。

lab.astamuse.co.jp

↑ 海外の方で便利なツールを紹介してくださっていて、割とそろそろ日本語以外も使いそうなので参考になりました。

日本でよく使われているツールたち

MeCab

MeCab: Yet Another Part-of-Speech and Morphological Analyzer

おそらく、日本でよく使われている形態素解析ツールの一つ。速度と精度のバランスが良さそうな記事が多く見られた。
僕は日本語のみだと思っていたが、実は外国語にも対応しているらしく、辞書の設定で変更できるのかな?ここらへんは少し深掘りしていきたい。

JUMAN

JUMAN - KUROHASHI-KAWAHARA LAB

研究室から生まれた日本語専用のツール。
利用者ごとのチューニングがしやすいっぽいのかな。

JUMAN++

JUMAN++ - KUROHASHI-KAWAHARA LAB

同じ研究室で開発された、JUMANの後継。RNN言語モデルを採用しており、JUMANより高精度となっている。
しかしながら、以下の速度比較だと驚く結果となっている。

1秒間に処理できる文の数
MeCab, 53000
KyTea, 2000
JUMAN, 8800
Juman++ v1, 16
Juman++ v2, 4800

https://qiita.com/sugiyamath/items/69047b6667256034fa5e#juman

MeCab優秀やん・・・そりゃあみんな使うw
もちろん、いいところも多く存在しこちらの記事では以下が強みと述べている。

qiita.com

# 特徴
1.表記揺れ
2.話し言葉
3.未定義語

語彙数自体はNEologdのほうが多いぽいが、話し言葉や未定義語に強いのはいいな。
うちではSNSの言葉などを解析しているので、相性良さそうな気する。

Kuromoji

www.atilika.com

Javaで作られたのが売りのツール。
形態素解析ツール内での特徴はパッと調べた感じだと知ることはできなかったが、主にJavaで作られているシステムにとってはかなり組み込みやすいっぽい。

Sudachi

github.com

ワークスアプリケーションズが作ってるJava製のツール。特徴はちょっと理解できてないのであとでまた・・。
ElasticSearchプラグインの記事が多く目立った。

KeyTea

www.phontron.com

日本語専用の形態素解析ツール。
特徴としては、アノテーションされたデータを元にモデルを生成することができるらしく、つまり・・・?!(勉強します)
結構興味あるので深掘り対象。

ChaSen

chasen-legacy.osdn.jp

奈良先端科学技術大学院大学によって開発されたツール。
Wikipediaによると

ベースとなった形態素解析ツールは JUMAN であるが、統計的な手法を用いており、解析速度と使い勝手の向上を目指している。現在はIPA品詞体系を使用しており、JUMAN とはその方向性が異なっている。

ChaSen - Wikipedia

気持ちMeCabよりになってるってこと?(だんだん後回し増えて来た)

英語メインツールたち

軽く英語メインっぽいのもまとめた。

TreeTagger

↑ 鉄板的なやつに近いだろう。

Natural Language Toolkit — NLTK 3.3 documentation

↑ こちらも鉄板的なやつっぽいが、形態素解析以外にもいくつか機能が同梱されている。
日本語でやってみた記事などもあるため、これは別途紹介したいと思う。ポジネガ判断もできるようになってる(NLTK に Sentiment Analysis がやってきた)

Welcome to polyglot’s documentation! — polyglot 16.07.04 documentation

↑ 紹介した記事によると、サクッとためせるのでいいらしい。

終わりに

形態素解析だけでもこんなにあるなんて正直驚いた。ツールごとの特徴があって、その上でバランスが取られているMeCabがよく使われているんだなとやんわり納得感がでてきた。
本来は、自分たちのサービスに合わせたツールを使うべきなので、いくつか深掘りして実際に使って見たいと思う。

あと紹介していないツールだったり、僕のオツムが足りずに詳細がまだ書けてないもあるので随時更新していく。