JUMAN京大黒橋研が開発した形態素解析器です。MeCabより歴史が古いので(最新版はJUMANの方が新しいようです)形態素解析器としてはMeCabの方が多機能です。依存構造などを解析できるKNPが使えるというのはMeCabに無い利点です。後継機であるJUMAN++については後で紹介しますが、JUMANはJUMAN++よりもインストールが楽な場合が多く、解析も高速という利点はあります。JUMANでは益岡田窪文法と呼ばれる、とっつきにくい体系を採用しています。これは学校文法が計算機向きではないという仮説に基づいているようです。「ナ形容詞」「イ形容詞」など、(非ネイティブ向け)日本語教育に用いられる体系に似ているのは興味深いです。Wikipedia記事名を辞書に含んでいるので固有表現にもある程度対応しています。Pythonから呼び出したい方はPyKNPを使いましょう(KNPに用が無くてもです)。./juman-7.01/juman/juman太郎が歩いている。"代表表記:いる/いる"。ドメイン:料理・食事"。反義:形容詞:無い/ない"。長音挿入"EOSMeCab+IPAdicと比べてみると、「歩いて」が「歩く」の連用テ形になっているところが違います。このようにIPAdicにおける助詞・助動詞の一部が自立語の活用形に吸収されるのが特徴です。一方でMeCab+IPAdicだと「ぶん殴る」一語ですがJUMANだと「ぶん/殴る」と分かれます。「りんごジュース」は正しく解析できています。-bをつけると黙殺できますが、曖昧性をちゃんと解消したいときはKNPを使います。他の形態素解析器ではあまり意識されていない部分だと思います。最新版では「ビミョーだ」「行きたぁぁい」のようなややくだけた表記を正規化してくれるようです。JUMAN++体系はJUMANのまま、RNN言語モデルを使うことで非常に高精度な形態素解析を実現しています。公式リリースされているバージョン1は解析速度がとても遅いです。開発版であるバージョン2は大分速くなってますが、それでもJUMANより倍遅いそうです。Pythonからは同じくPyKNPで呼び出せます。漢字読み:音"EOS辛いものがあった。「外国/人参/政権」のように間違えないのはJUMAN++くらいでしょう。JUMANでは@まみれになった「辛いものがあった。」もJUMAN++なら解消してくれます。この例はうまくいきましたが、うまくいかずにスコアが同じになった形態素はJUMAN同様(デフォルトでは)@付きで出力されます。真剣に解消したいときも同様でKNPを使います。Sudachiワークスアプリケーションズ徳島人工知能NLP研究所が開発した形態素解析器です。商用利用に耐えうる高品質な解析性能を持つらしいです。これまで紹介したものの中で最も後発の形態素解析器です。企業のバックアップのもと、辞書の継続的なメンテナンスが保証されているのは非常に大きな特徴です。分割の長さをA単位(Unidic相当)、B単位(IPAdic相当)、C単位(NEologd相当)から選べるのも特徴です。Unidicを採用していること、表記を正規化する機能があること、Elasticsearchプラグインが開発されているなど、検索システムでの利用が強く意識されているようです。公式によると、MeCabと精度は同じくらいで、速度はMeCabに劣るが、省メモリの工夫をしているそうです。Python版であるSudachiPyもあります。sudachipy太郎はシュミレーションした。補助記号,句点,*,*,*,*。EOSりんごジュースを飲んだ。補助記号,句点,*,*,*,*。😀EOS「シュミレーション」の基本形が「シミュレーション」になってるのは地味にすごいです。辞書がUnidic辞書ベースなのでりんごジュースにも正解できます。他の形態素解析器では、入力に半角文字や特殊記号があると大抵変な結果になるのですが、Sudachiはその辺の正規化を頑張っているのか、まともな解析をしてくれます。Web上のテキストに対して形態素解析を行うときは前処理をするのが普通ですが、Sudachiを使うときは不要かもしれません。手元にあった(100本ノックからダウンロードしてきた)夏目漱石の「吾輩は猫である」の文章でやってみます。少々少ない気がしますが9964行(空行を除くと9210行)です。初期化の時間を含んでしまっていることは見逃してください。timeコマンドを使ってすべてデフォルトオプションで動作させたときのテキトーな比較です。こちらの記事もご参考に。74.872s使い分けmecab→速度最優先のとき、IPAdicやNEologdを使いたいとき、係り受け解析器Cabochaを使いたいときJUMAN→JUMAN辞書を使いたいとき、KNPで依存構造などを(ほどほどの速度と精度で)解析したいときJUMAN++→精度を優先したいとき、精度を気にしてKNPを使いたいときSudachi→検索システムに使いたいとき、表記正規化機能を使いたいとき、Unidicを使いたいときSudachiPy→GiNZA(spaCy)を使ってUD(単語単位の依存構造)解析したいとき、これを使うしかないので比較に入れました補足(係り受け解析まわり)Cabochaは並列句の係り受けに弱いですKNPは単なる係り受けだけでなく、依存関係の種類、述語項構造や照応関係まで分析してくれます。KNPの依存構造解析は文節ベースなのに対し、GiNZAの依存構造解析は単語ベースです。PythonのspaCyから呼び出せるので非常に使いやすいのですが、バージョン2.2.1には解析のバグ(issue)があるようです。Sudachiと共に今後のアップデートに期待です。upLoginユーザーは見つかりませんでした。