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

35
JustTechTalk #02 ジジジジジジジジジジジジジジジジジジジジジジジジ () ジジジジ

Upload: justsystems-corpration

Post on 18-Aug-2015

5.113 views

Category:

Engineering


5 download

TRANSCRIPT

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

JustTechTalk #02

ジャストシステムの形態素解析技術その2

(機械学習編)

内田佳孝

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

CPS 事業部開発部 NLP チーム 2003 年入社、 12 年目

関わってきた技術 形態素解析、かな漢字変換、情報検索、情報抽出、

   レコメンド、 etc

関わってきた商品 JMAT 、 ATOK 、 ConceptBase 、 BONNE 、   Listing Auto-Flight 、ピタジョブ、 etc

自己紹介

2

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

3

ATOK 、 ConceptBase で培ったノウハウと機械学習を融合した日本語解析エンジン

JustSystems Morphological Analysis Technology” ジャストシステムの形態素解析技術”

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

その1の復習

4

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

辞書追加 >>>>>> 新しい学習手法

5

新規手法開発より辞書

詳細は SlideShare に公開中の前回の資料をご覧ください

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

今回のテーマは学習手法

6

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

7

辞書

データ構造

学習手法

日本語(人手)

知識

便利モジュール

前回のテーマ 今回のテーマ

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

形態素解析の問題設定

8

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

教師あり形態素解析 辞書と教師データ(学習コーパス)が必要 精度は高いが辞書と教師データの整備が大変 JMAT はこちら

教師なし形態素解析 辞書と教師データ不要 まだ研究段階 半教師あり学習という考え方も存在

教師ありと教師なし

9

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

10

教師あり形態素解析

入力文字列中に含まれうる全単語を辞書を使って

列挙しグラフ構造(ラティス構造)を作成

もっともコストが小さい経路を探索

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

2つのコストの総和が最小の経路を求める 単語生起コスト 連接コスト

コスト推定方法 人手 → JUMAN HMM (隠れマルコフモデル) → ChaSen CRF (条件付き確率場)→ MeCab 、 JMAT etc

教師あり形態素解析

11

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

JMAT の CRF の使い方

12

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

ベース学習 小規模なコーパスで学習

能動学習 ベース学習では解析できない事例のみ学習 事例を追加し再学習、評価を繰り返す

部分アノテーション学習 一部分だけタグをつけ学習 分野適応

CRF を使った3つ学習手法

13

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

1414

ベース学習

Web テキストコーパス

クラスタリング

フィルタリング

誤解析しそうなテキスト群

タグ付きコーパス(約 1 万文) 半自動タグ付け

コーパス(約 300 万

文)

能動学習用コーパス

部分アノテーション学習

フィルタリング

能動学習

JMAT ベースモデル

商品版JMAT

人手知識

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

【今回のテーマ】

ベース学習部分で

「なぜ300万文コーパスがあるのに1万文しかつかわないのか」

15

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

【注意】ここから先、精度数値がでてきますが

弊社独自のコーパスでの評価となります他研究との数値比較は意味を持ちません

16

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

CRF の性能

17

4 万文同じ学習量なら HMM よりCRF の方が高精度

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

4 万文での精度

18

ジャストシステムの旧エンジンの方が高精度

コーパスを増やせば旧エンジンを超える?

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

問題:メモリが足りない

19

4 万文で約 2.7G 必要300 万文だと 20G~ 30G 必

メモリにのらないと現実的な時間で学習ができな

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

メモリを積む 64GB のマシンを買った

けど、まだ複数の実験を同時にまわせない 裏でかな漢字変換の実験もやってる かな漢字変換はもっとメモリを食う

解決方法その1

20

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

オンライン学習を使う

この検証をはじめたのは 2000 年代後半 オンライン学習が現実的ではなかった (いまならオンライン学習でやってたかも)

   

解決方法その2

21

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

省メモリな CRF 学習器をつくる ラティス構造の持ち方を工夫 ノードには様々情報を持たせている 同じノードがいっぱい出現する 共有できる情報は全て共有

つくった CRF 学習器の性能 OSS の CRF 学習器の約 25% のメモリ使用量 学習速度はほぼ同じ スワップにおとさないモードも作成

解決方法その2

22

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

300 万文の精度

23

旧エンジンの精度を超えた!( 10 万文あたりで超えました最高精度は 50 万文学習時)

商品搭載に向けて本格始動?

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

旧エンジンとの詳細な比較検証 大量の差分がでてる 改善も多いが、改悪も多い・・・

難しい事例が解析できている! 簡単な事例を誤解析・・・

なぜ誤解析しているか分からない・・・ コーパスを修正すればいい? 300 万文も修正できない・・・ 何もしてないのに学習するたびに結果がかわる

辞書チームによる分析

24

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

分析・洗練作業ができない ジャストシステムの得意技 ジャストシステムのクオリティを保てない ジャストシステムの NLP 技術にとっては致命的

この方向での商品化は断念・・・

辞書チームによる検証

25

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

CRF は使う

小規模なコーパスで旧エンジンを超える

旧エンジンからの改悪は極力抑える

洗練できる方法を用意する

(ついでに語彙・品詞体系も見直す)

方向転換

26

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

いちから必要なコーパスを検討しなおした 300 万文のコーパスの存在はいったん忘れる タグ付け精度、コンテンツの質 100 文ちょっとのコーパスで 90%近い精度がでる 必要なコンテンツとは?

言い回しコーパス 標準的な機能表現を網羅したコーパス 徹底的なクロスチェック 高精度なタグ付けコーパス 約 1 万文の学習コーパスを整備

小規模コーパス

27

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

言い回しコーパスでの精度

28

※ 語彙・品詞体系、評価コーパスの見直しているため

  旧エンジンの精度も前のスライドと異なります

旧エンジンの精度を 1 万文で超えた!(旧コーパスでは 10 万文必要)

ただ、まだ旧エンジンからの改悪を抑える対策が未完・・・

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

300 万文コーパス 旧エンジンの解析結果を利用 人手修正もしている(旧エンジンより高精度) このコーパスを旧エンジンの解析結果と仮定

(エセ)能動学習を実施 300 万文コーパスから間違い事例を追加し再学習 本当の能動学習はタグなしコーパスから行う 本当の能動学習では精度はあがるが改悪多数・・・

旧エンジンの長所を継承(概要のみ)

29

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

能動学習の精度

30

さらに精度向上を実現!改悪もかなり抑えられた

使ったコーパスは約 3 万 7千文

残された問題は、洗練手法だけ!

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

旧エンジンでの洗練手法 人手でコストを調整 コーパスを直す (ルールで潰す) コスト人手調整は職人技が必要( CRF では不可

能)

部分アノテーション学習による洗練 文中の教えたい部分のみアノテーション 洗練・分野適応 (評価コーパスの)精度をさげずに適応可 

洗練手法(概要のみ)

31

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

3232

ベース学習

Web テキストコーパス

クラスタリング

フィルタリング

誤解析しそうなテキスト群

タグ付きコーパス(約 1 万文) 半自動タグ付け

コーパス(約 300 万

文)

能動学習用コーパス

部分アノテーション学習

フィルタリング

能動学習

JMAT ベースモデル

商品版JMAT

人手知識

商品版 JMAT はさらに高精度です!

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

JMAT は CRF を使っている ベース学習、能動学習、部分アノテーション学習

教師あり学習のキモはコーパスの質 質の悪い大規模コーパスより小規模でも高品質コーパス ただし、超大規模になると性質かかわるかも

数値評価のみでは使える商品にならない

まとめ

33

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

最後に(宣伝)

34

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

35

ピタジョブ、始めました!https://lets.pitajob.jp/