always one step forward

「JustTechTalk#02 形態素解析のあれやこれや」に参加した

photo by adstream

先日、ジャストシステム主催の技術寄りトークセッションを聴いた。形態素解析器の(いろいろな言語での)開発者が複数集まり、タイトル通りあれやこれやと語る会だった。

justsystems.doorkeeper.jp

以下、参加したときのメモを発掘できたので(1ヶ月経ちもはや断片的なメモでしかないが)思い出しがてら:

ジャストシステムJMAT

  • 教師あり、教師なし形態素解析
    • 教師あり=ラティス構造を使用
  • CRFはHMMより高精度。ただしメモリをかなり食う
  • 小メモリで済むCRF学習器をつくった
  • 辞書チームの解析
  • 文中の教えたい部分だけアノテーション学習
  • 分野適応も実施
  • ベース学習、能動学習、部分アノテーション学習
  • 辞書チーム 20-30人
    • JMAT開発 5-6人

教師あり学習の肝は‥

  • 小規模でも高品質なコーパス
  • 人手による基準揺れが少ない=高品質

ピタジョブつくりました

  • NLP技術使ってます

はてな 浅野さん @takuya_a

stop-the-world: ブラウザで自然言語処理 - JavaScriptの形態素解析器kuromoji.jsを作った

なぜJavaScript

  • どこでも動く
  • Typed arraysサポートしているから
  • バイト配列
    • 高速、高効率なデータ構造
  • Browserify いいですよ
    • サーバサイドNode.jsを、クライアントサイドで動くコードに変換できる
  • JavaScriptしんどいところ
    • △基本的なデータ構造がないといっていい
    • 文字コードutf16
      • 「1文字なのに2文字に見える」

@ikawaha さん @ikawaha

業を煮やしてGoをはじめる

  • Go はbetter C
  • △辞書のバイナリ化が大変だった

@moco_beta さん @moco_beta

http://mocobeta.github.io/janome/

http://mocobeta-backup.tumblr.com/post/115843098157/pure-python-janome

Pythonいいところ・しんどいところ

  • ライブラリ豊富
  • 3系だと文字列やバイト配列が扱い楽
  • ウィンドウズにmecabいれるの大変、に助け
  • 2系のサポートが大変
    • パフォーマンス工夫しないと遅い

高岡一馬さん @klmquasi

  • sssla 茶筅ruby clone
  • Ruby1.6時代に開発

小筌(Sssla) は Ruby で書かれた茶筌(ChaSen)互換の形態素解析器です。

小筌は「さささら」と読みます。

形態素解析器の歴史

  • 1990 松本先生 カスタマイズ可能な形態素解析
  • 1991 黒橋先生 JUMAN Cでリライト
  • 1996 茶筅がフォーク
  • 2001 工藤拓さん chasentng
  • 2006 Mecabリリース

Q&A

  • Mecabでなくkuromoji選んだ理由?
    • 辞書を実行環境とそろえたかった
    • 両者は未知語処理が異なる

感じたこと

  • この分野ではおそらく常識であろう、形態素解析器発展の歴史が語られ(高岡さん)、知らない点も多く、いろいろ改めて知ることができた
  • 一般的に「日本語の形態素解析は難しい」とされ、歴史的にさまざまな手法やツール(解析器)が開発されてきたことを知った。ここまで開発が進むのは、やっぱり日本語圏ならではだろう
  • 形態素解析は、機械翻訳や意味解析をはじめとして「日本語テキストを相手に何かする」場合は必須の処理であり、いまや機械学習の文脈でトピックとしては華やか
    • 課題も多いだろうけれど、5年後10年後にこの技術がどの程度まで成熟しているのだろう、という点にはとても興味がある
  • そもそも日本語をネイティブに話せる人の脳であれば、必要に応じて形態素解析を頭の中で(おそらく)ぱぱっと行えている。この能力を計算機に与えることは高等な研究テーマだろうと思っていた
    • しかし最近になり、能力ある人々によって、いろんな言語で実装が行われ始めている、ということがわかった
    • つまり、完全なるブラックボックスの時代から、それなりに「こなれてきた」技術とも言えそうだ
  • ジャストシステム
    • これまでは何となく一太郎ATOKのイメージが強かった
    • 改めて考えれば、日本語入力を司るIME形態素解析なくして機能するものでもなく、自然言語処理に力を入れてきたのは自然な流れだよなと感じた
  • ピタジョブの実例は、あらためて考えると面白い。たくさん集まる求人情報が、NLP技術の対象になり始めているということ
    • 住宅賃貸情報、中古自動車情報、Web検索クエリ、医療カルテ、などもそのうち(orすでに?)対象になり始めるのだろうな
    • 昨今話題のAIの発展とはまた少し違う軸で、着実に世の中を便利にする技術であることは間違いなさそう