唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

日本語形態素解析器のイメージ

前にこんなツイートをしたけどもうちょっとちゃんとメモっておく
ゆるふわカジュアル勢()なので内容に間違ってる点があったら教えてくださると嬉しいです

大雑把に言うと形態素解析では文章を単語+品詞の列に分解する
いわゆる学校でならった文法とは違う文法を使っているので注意が必要
ただし形態素解析器によって品詞体系や辞書に載っている単語が異なる

形態素解析器では単語や品詞の列にコストが計算できるようになっていて、そのコストが最小になる形態素の分け方を計算して出力する

MeCab

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

  • 一番よく使われている形態素解析器で情報が多い
  • 高速
  • Javaなどの他の言語による実装が多くあるためいろいろな環境で使いやすい
  • 多くの辞書が公開されている
    • IPADic, NAIST jdic, UniDic
    • 最近の単語にはあまり強くない感じ
    • 辞書に単語を追加しやすくWikipediaの単語などを追加するのもそこそこ簡単
  • CRFによる機械学習でコストを学習している
  • 訓練データを用意すれば追加で学習できる

JUMAN

JUMAN - KUROHASHI-KAWAHARA LAB
JUMAN メモ - murawaki の雑記 - rekkenグループ

  • 出力が詳細(単語のカテゴリやドメインなども出る)
  • 代表表記があるので、表記ゆれを正規化できる
  • Wikipediaの単語を辞書に取り入れている
  • 連濁や、長音「ー」小さな母音「ぁぃぅぇぉ」の挿入などがあっても解析できる
  • 人手によってコストを割り当てている
  • KNP構文解析や格解析、照応解析をしたいなら、形態素解析部分はJUMANが必要になる

KyTea

KyTea (京都テキスト解析ツールキット)

  • 比較的新しい形態素解析器で頻繁に更新されているイメージがある
  • 読みの推定もできる
  • 追加の学習による分野適応
  • 点推定による学習

Rakuten MA

rakuten-nlp/rakutenma · GitHub

  • 今年公開されてちょっと話題になってたのでメモ
  • JavaScriptでできていてブラウザ上でも動くらしい
  • Soft Confidence Weightedによる学習
  • 追加で学習できる

Kuromoji(追記)

kuromoji - japanese morphological analyzer
Kuromojiの日本語のドキュメント
はてなブックマークのコメントで「Kuromojiはないの?」的なコメントがついていたので一応追加(あまり詳しくないので一般的な説明だけ

  • 主にLuceneやSolrなどの全文検索エンジンで使われていることが多い
  • 辞書込みで一つのjarファイルになっているので扱いやすい
  • Apache License v2.0
  • 検索でヒットしやすいように複合語を分割するようにするモードがある
  • 辞書はMeCabと同様にIPADicやUniDicを使う
  • 学習などどういう手法を使っているかはあまりドキュメント化されていない(下記の記事参照)

Kuromojiは何で研究にあまり使われないのか? - Topics Related to Computers and NLP