Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ジャストシステムの形態素解析技術 その2 機械学習編

9,979 views

Published on

ジャストシステムの形態素解析技術 その2 機械学習編

Published in: Engineering

ジャストシステムの形態素解析技術 その2 機械学習編

  1. 1. JustTechTalk #02 ジャストシステムの形態素解析技術その2 (機械学習編)
  2. 2.  CPS事業部開発部 NLPチーム  2003年入社、12年目  関わってきた技術  形態素解析、かな漢字変換、情報検索、情報抽出、 レコメンド、etc  関わってきた商品  JMAT、ATOK、ConceptBase、BONNE、 Listing Auto-Flight、ピタジョブ、etc 自己紹介 2
  3. 3. 3 ATOK、ConceptBaseで培ったノウハウと 機械学習を融合した日本語解析エンジン JustSystems Morphological Analysis Technology ”ジャストシステムの形態素解析技術”
  4. 4. その1の復習 4
  5. 5. 辞書追加 >>>>>> 新しい学習手法 5 新規手法開発より辞書 詳細はSlideShareに公開中の前回の資料をご覧ください
  6. 6. 今回のテーマは学習手法 6
  7. 7. 7 辞書 データ 構造 学習手法 日本語 (人手) 知識 便利 モジュール 前回のテーマ 今回のテーマ
  8. 8. 形態素解析の問題設定 8
  9. 9.  教師あり形態素解析  辞書と教師データ(学習コーパス)が必要  精度は高いが辞書と教師データの整備が大変  JMATはこちら  教師なし形態素解析  辞書と教師データ不要  まだ研究段階  半教師あり学習という考え方も存在 教師ありと教師なし 9
  10. 10. 10 教師あり形態素解析 入力文字列中に含まれうる全単語を辞書を使って 列挙しグラフ構造(ラティス構造)を作成 もっともコストが小さい経路を探索
  11. 11.  2つのコストの総和が最小の経路を求める  単語生起コスト  連接コスト  コスト推定方法  人手 → JUMAN  HMM (隠れマルコフモデル) → ChaSen  CRF(条件付き確率場)→ MeCab、JMAT  etc 教師あり形態素解析 11
  12. 12. JMATのCRFの使い方 12
  13. 13.  ベース学習  小規模なコーパスで学習  能動学習  ベース学習では解析できない事例のみ学習  事例を追加し再学習、評価を繰り返す  部分アノテーション学習  一部分だけタグをつけ学習  分野適応 CRFを使った3つ学習手法 13
  14. 14. 1414 ベース学習 Webテキスト コーパス クラスタリング フィルタリング 誤解析しそうな テキスト群 タグ付きコーパス (約1万文) 半自動タグ付け コーパス (約300万文) 能動学習用 コーパス 部分アノテーショ ン学習 フィルタリング能動学習 JMATベース モデル 商品版 JMAT 人手知識
  15. 15. 【今回のテーマ】 ベース学習部分で 「なぜ300万文コーパスがあるのに 1万文しかつかわないのか」 15
  16. 16. 【注意】 ここから先、精度数値がでてきますが 弊社独自のコーパスでの評価となります 他研究との数値比較は意味を持ちません 16
  17. 17. CRFの性能 17 4万文 同じ学習量ならHMMより CRFの方が高精度
  18. 18. 4万文での精度 18 ジャストシステムの 旧エンジンの方が高精度 コーパスを増やせば旧エンジンを超える?
  19. 19. 問題:メモリが足りない 19 4万文で約2.7G必要 300万文だと20G~30G必要 メモリにのらないと 現実的な時間で学習ができない
  20. 20.  メモリを積む  64GBのマシンを買った  けど、まだ複数の実験を同時にまわせない  裏でかな漢字変換の実験もやってる  かな漢字変換はもっとメモリを食う 解決方法その1 20
  21. 21.  オンライン学習を使う  この検証をはじめたのは2000年代後半  オンライン学習が現実的ではなかった  (いまならオンライン学習でやってたかも) 解決方法その2 21
  22. 22.  省メモリなCRF学習器をつくる  ラティス構造の持ち方を工夫  ノードには様々情報を持たせている  同じノードがいっぱい出現する  共有できる情報は全て共有  つくったCRF学習器の性能  OSSのCRF学習器の約25%のメモリ使用量  学習速度はほぼ同じ  スワップにおとさないモードも作成 解決方法その2 22
  23. 23. 300万文の精度 23 旧エンジンの精度を超えた! (10万文あたりで超えました 最高精度は50万文学習時) 商品搭載に向けて本格始動?
  24. 24.  旧エンジンとの詳細な比較検証  大量の差分がでてる  改善も多いが、改悪も多い・・・  難しい事例が解析できている!  簡単な事例を誤解析・・・  なぜ誤解析しているか分からない・・・  コーパスを修正すればいい?  300万文も修正できない・・・  何もしてないのに学習するたびに結果がかわる 辞書チームによる分析 24
  25. 25.  分析・洗練作業ができない  ジャストシステムの得意技  ジャストシステムのクオリティを保てない  ジャストシステムのNLP技術にとっては致命的  この方向での商品化は断念・・・ 辞書チームによる検証 25
  26. 26.  CRFは使う  小規模なコーパスで旧エンジンを超える  旧エンジンからの改悪は極力抑える  洗練できる方法を用意する  (ついでに語彙・品詞体系も見直す) 方向転換 26
  27. 27.  いちから必要なコーパスを検討しなおした  300万文のコーパスの存在はいったん忘れる  タグ付け精度、コンテンツの質  100文ちょっとのコーパスで90%近い精度がでる  必要なコンテンツとは?  言い回しコーパス  標準的な機能表現を網羅したコーパス  徹底的なクロスチェック  高精度なタグ付けコーパス  約1万文の学習コーパスを整備 小規模コーパス 27
  28. 28. 言い回しコーパスでの精度 28 ※ 語彙・品詞体系、評価コーパスの見直して いるため 旧エンジンの精度も前のスライドと異なり ます 旧エンジンの精度を1万文で超えた! (旧コーパスでは10万文必要) ただ、まだ旧エンジンからの改悪を抑える対策が未完・・・
  29. 29.  300万文コーパス  旧エンジンの解析結果を利用  人手修正もしている(旧エンジンより高精度)  このコーパスを旧エンジンの解析結果と仮定  (エセ)能動学習を実施  300万文コーパスから間違い事例を追加し再学習  本当の能動学習はタグなしコーパスから行う  本当の能動学習では精度はあがるが改悪多数・・・ 旧エンジンの長所を継承(概要のみ) 29
  30. 30. 能動学習の精度 30 さらに精度向上を実現! 改悪もかなり抑えられた 使ったコーパスは約3万7千文 残された問題は、洗練手法だけ!
  31. 31.  旧エンジンでの洗練手法  人手でコストを調整  コーパスを直す  (ルールで潰す)  コスト人手調整は職人技が必要(CRFでは不可能)  部分アノテーション学習による洗練  文中の教えたい部分のみアノテーション  洗練・分野適応  (評価コーパスの)精度をさげずに適応可 洗練手法(概要のみ) 31
  32. 32. 3232 ベース学習 Webテキスト コーパス クラスタリング フィルタリング 誤解析しそうな テキスト群 タグ付きコーパス (約1万文) 半自動タグ付け コーパス (約300万文) 能動学習用 コーパス 部分アノテーショ ン学習 フィルタリング能動学習 JMATベース モデル 商品版 JMAT 人手知識 商品版JMATはさらに高精度です!
  33. 33.  JMATはCRFを使っている  ベース学習、能動学習、部分アノテーション学習  教師あり学習のキモはコーパスの質  質の悪い大規模コーパスより小規模でも高品質コーパス  ただし、超大規模になると性質かかわるかも  数値評価のみでは使える商品にならない まとめ 33
  34. 34. 最後に(宣伝) 34
  35. 35. 35 ピタジョブ、始めました! https://lets.pitajob.jp/

×