watson活用事例~watsonハッカソンの例を通じて~

52
実実 Watson ~IBM Watson 実実実実実実実実実実実実実実実 TIS 株株株株 株株株株株株株株 AI 株株株株株 実実実実

Upload: hiroki-nakayama

Post on 21-Apr-2017

4.476 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Watson活用事例~Watsonハッカソンの例を通じて~

実践 Watson~IBM Watson ハッカソンでの取り組みを通じて~

TIS 株式会社 戦略技術センター AI 技術推進室

中山光樹

Page 2: Watson活用事例~Watsonハッカソンの例を通じて~

自己紹介( 1/2)名前:中山 光樹(なかやま ひろき)所属: TIS 株式会社

戦略技術センター    AI 技術推進室業務:アプリケーション開発

機械学習

2

Facebook:中山光樹Qiita : HironsanGithub : Hironsan

Page 3: Watson活用事例~Watsonハッカソンの例を通じて~

自己紹介( 2/2)最近は自然言語処理・機械学習を利用した

アプリケーションの開発・検証を行っています。

3

対話型の販促キャンペーンアプリケーション

自然言語処理ツール(固有表現抽出)の開発 技術記事執筆

Page 4: Watson活用事例~Watsonハッカソンの例を通じて~

本日のプログラム 4

• Watson とは?

• Watson 活用事例

• Watson ハッカソン

• Watson について得られた知見

Page 5: Watson活用事例~Watsonハッカソンの例を通じて~

WATSONとは? 5

• What’s Watson ?

• サービスの種類

• NLC と R&R の紹介

Page 6: Watson活用事例~Watsonハッカソンの例を通じて~

WHAT’S WATSON?Watson とは?IBM が提供する、自然言語 ( テキスト ) から意味を抽出するための

サービス郡

※ ただし、日本語は勉強中

Watson のここがすごい

● 仮説生成

○ 未来や未知のものに関する問いに対して、知識から予測して返答できる

● 自然言語

○ 話し言葉などの柔軟な入力でも解釈できる

● ダイナミックな学習

○ 用途に合うよう学習させることができ、データを与えるほど賢くなる

6

Page 7: Watson活用事例~Watsonハッカソンの例を通じて~

Watsonサービスサービスの種類 BluemixカタログのWatsonサービスは全 17種類

文章の分類を予測する

質問に関連する文書を提案する

Page 8: Watson活用事例~Watsonハッカソンの例を通じて~

②NLC-概要

■ 利用方法 ①文章とクラスの組み合わせを定義した CSVファイルを作成して、 APIで登録  → NLCが機械学習によって分類の基準を習得 ② NLCに新たな文章を渡すと、習得済みの基準に従ってクラス分類が行われ、  クラス名と確度が返される

サービス名称 アイコン 正式対応言語

機能・用途Natural Language Classifier(NLC)

英語、ポルトガル語、スペイン語、アラビア、フランス、イタリア

文章をクラスに振り分ける分類器。文章⇔クラスの組み合わせを与えると機械学習により法則を習得する。話題の絞込みや対応の分岐に利用可能

Page 9: Watson活用事例~Watsonハッカソンの例を通じて~

<学習データ例> 

②NLC-仕組み

気温天候

■ 分類器( classifier)の作成• 学習用データ(文章+クラスの組み合わせ)を CSV形式で登録。→与えたデータから分類方法を学習した、新しい分類器が作られる。

■ 分類器の利用• 分類器に新しい文章を与えると、先に学習した基準で分類が行われる

text class

外は暑いですか? 気温今日の最低気温は何度ですか? 気温雪は降りそうですか? 天候雨はいつごろ止みそうですか? 天候

text class confidence今日はぬくい。 気温 89.9%今日はしばれる。 気温 80.5%台風が来そうだ。 天候 92.3%

一般的な語の関係は NLCがあらかじめ習得済みなので、学習データにない語が含まれていても分類できる

Page 10: Watson活用事例~Watsonハッカソンの例を通じて~

③R&R-概要

■ 利用方法 ① Apache Solrの設定を行う ②コレクションを作成 ③コレクションに検索対象文書を登録する ④{質問、回答、関連度}の組み合わせ情報を Rankerに与えて学習させる  → Rank API(Watson独自の検索)が利用可能になる

サービス名称 アイコン 正式対応言語

機能・用途Retrieve and Rank(R&R)

多言語に対応 検索に対して、関連性の高い情報を抽出して返す。機械学習でデータの「サイン」を検出することで、全文検索よりも的確なランク付けが行える。

Page 11: Watson活用事例~Watsonハッカソンの例を通じて~

R&Rの構成図 11

Solrクラスタ Rankers

Configs

Collections

Config

Collection

Doc Doc Doc

ランカー

ランカー

ランカー

Page 12: Watson活用事例~Watsonハッカソンの例を通じて~

文書番号 関連度 文書番号 関連度 文書番号 関連度図書館は誰でも使えますか? 1 3 2 1私はアメリカ人ですが、本を借りられますか? 1 3 2 2隣の市から通学していますが、本は借りられますか?

1 3 2 2

5歳の子供がいますが、ひとりでも本を借りられますか?

2 2 15 1

小さい子を連れていても利用できますか。 2 3 45 3 15 3最近引っ越してきたので、図書館の利用方法を教えてください。

1 2 2 3 5 1

利用カードをなくしました。 3 2 41 3 40 2

質問文3回答になる文書の文書番号と、関連度(ここでは 段階)

③R&R-仕組み■Rankerのトレーニング

• 代表的な質問を抽出して{質問文、回答となる文書の ID、関連度}の組み合わせを学習させる• 組み合わせと関連度は、人間が判断してデータ化する

• 学習した Rankerは単純な全文検索よりも人間に近い判断をする(はず)<学習用データ( ground truth)の形式>

<検索対象文書>

ID文書 本文1 XXX図書館のご案内

この図書館は、市内在住または在勤の方ならどなたでも無料でご利用になれます。資料を借りる場合は、図書館利用カード が必要です。・・・・・

2 利用カードは、XXX図書館の受付カウンターで作成できます。利用登録申込書に記入し、ご本人が住所を確認できる身分証明書を持ってカウンターへお越しください。小学生未満のお子さんは、親御さんの同伴をお願いします。

「住所を確認できる身分証明書」の例 ・健康保険証運転免許証 ・学生証 ・パスポート ・住基カード ・・・・

3 △ △利用カードはXXX図書館の全館と、提携している 図書館でもご利用になれます。住所や電話番号等が変更になった場合は、変更手続きをしてください。電話番号、メールアドレスの変更は、ホームページの利用者メニューからご自身で行うことができます。住所の変更は、上記の住所を確認できる身分証明書をお持ちになって、最寄りの図書館カウンターで手続きをしてください。カードを紛失した時は、なるべく早く図書館にご連絡ください。有効期限は1年間です。期限が切れた場合、次回貸出時に登録内容変更の有無を確認させていただきます。・・・・

例えば「図書館は誰でも使えますか?」という質問に対しては文書 1は非常に関連度が強い、文書 2は多少関連がある、いった判断をしながらトレーニングデータを作成していく

Page 13: Watson活用事例~Watsonハッカソンの例を通じて~

本日のプログラム 13

• Watson とは?

• Watson 活用事例

• Watson ハッカソン

• Watson について得られた知見

Page 14: Watson活用事例~Watsonハッカソンの例を通じて~

事例:銀行のコールセンター内容顧客サポート業務に Watson を活用目的オペレータの回答品質のばらつきを抑えて、応答を速くす

14

顧客 オペレーター①質問④回答 Watson

②テキスト入力③解答候補 を提示

Page 15: Watson活用事例~Watsonハッカソンの例を通じて~

世の中でのWatson活用事例活用事例

コールセンターレシピ提案医療

15

Page 16: Watson活用事例~Watsonハッカソンの例を通じて~

本日のプログラム 16

• Watson とは?

• Watson 活用事例

• Watson ハッカソン

• Watson について得られた知見

Page 17: Watson活用事例~Watsonハッカソンの例を通じて~

Watsonハッカソン 17

• Watson ハッカソンについて

• Watson ハッカソン成果物の紹介

• デモンストレーション

Page 18: Watson活用事例~Watsonハッカソンの例を通じて~

WATSONハッカソンとは?( 1/2)Watson 日本語版ハッカソン

Watson 日本語 API(ベータ版 )を使って技術とアイデアを競い合うイベント

公開された日本語 API

NLCR&R

18

Page 19: Watson活用事例~Watsonハッカソンの例を通じて~

WATSONハッカソンとは?( 2/2)期間

[開発 ]2015年 12月 5日 -6日[決勝 ]2015年 12月 16日

参加チーム数11 チーム(企業)参加

19

Page 20: Watson活用事例~Watsonハッカソンの例を通じて~

ソフトバンク賞受賞!(2位相当)

Page 21: Watson活用事例~Watsonハッカソンの例を通じて~

Re:Genekintone と Watson を連携させて作った、災害対策用のソリューショ

21

情報の収集・分類

収集した情報の管理 対策の立案 対策の進捗管理

被害状況は?

対策マニュアルどこ?

誰が何をしてる?

Re:Gene 危機発生時のベストプラクティスとなるワークフローサービス

Page 22: Watson活用事例~Watsonハッカソンの例を通じて~

作成したアプリ『 Re:Gene 』コンセプト

迅速かつ効率的に災害対策を行う

22

Page 23: Watson活用事例~Watsonハッカソンの例を通じて~

災害時の問題点鬼怒川氾濫時に起きていた問題

情報共有のための頻繁な会議話が進まない

防災計画の理解が浸透していない対応が遅れる

23

http://www.dri.ne.jp/wordpress/wp-content/uploads/DRIno.44.pdfhttp://ibarakinews.jp/news/newsdetail.php?f_jun=14445733647311&sai=1

Page 24: Watson活用事例~Watsonハッカソンの例を通じて~

ソリューションRe:Gene の機能① 情報の自動収集

収集の効率化② 情報の自動分類( Watson 使用)

分類 & 視覚化による情報共有の効率化③ 防災対策の提案( Watson 使用)

対策立案のサポート

24

Page 25: Watson活用事例~Watsonハッカソンの例を通じて~

25処理の流れテキスト カテゴリ 緊急度助けて! 支援要請 高い無事です 安否確認 低い

順位 アクション1 ○○ 地区消防への連携2 ○○ 地区への職員派遣3 ○○ 地区へのボランティア派遣※ 既存の災対マニュアル等をもとに提案

②NLC でカテゴリと緊急度に分類

③R&R で次のアクションを提案

① 災害情報を収集

④受付状況をフィードバック

助けて!

無事です

受け付けました

Page 26: Watson活用事例~Watsonハッカソンの例を通じて~

Re:Gene システム構成 26

•災害情報は AWS上に構築したサーバーで収集し、 Watson NLC によって分類

•災害対策はユーザーの質問を API Gateway/Lambdaで Watson R&R へ中継・回答

•対策の承認・通知等のワークフローはkintone上で管理

Page 27: Watson活用事例~Watsonハッカソンの例を通じて~

27

デモンストレーション

Page 28: Watson活用事例~Watsonハッカソンの例を通じて~

DEMO BACKUP(1/6)

収集した情報をカテゴリ、優先度ごとにまとめ

対策の対応状況

Page 29: Watson活用事例~Watsonハッカソンの例を通じて~

DEMO BACKUP(2/6)

情報一覧画面で、対策を Watson に相談

Page 30: Watson活用事例~Watsonハッカソンの例を通じて~

DEMO BACKUP(3/6)

Page 31: Watson活用事例~Watsonハッカソンの例を通じて~

DEMO BACKUP(4/6)

提案された対策に OK を出すと、対策が登録され関連する情報に自動的にひもつけられる

Page 32: Watson活用事例~Watsonハッカソンの例を通じて~

DEMO BACKUP(5/6)

対策のステータスを更新すると・・・

Page 33: Watson活用事例~Watsonハッカソンの例を通じて~

DEMO BACKUP(6/6)

ダッシュボード上で対応された情報が増えたのがわかる

Page 34: Watson活用事例~Watsonハッカソンの例を通じて~

本日のプログラム 34

• Watson とは?

• Watson 活用事例

• Watson ハッカソン

• Watson について得られた知見

Page 35: Watson活用事例~Watsonハッカソンの例を通じて~

Re:Gene システム構成 35

災害対策ワークフロー

災害情報管理 情報収集の実行

ユーザー質問の中継

Natural Language Classifier

Retrieve and Rank

EC2 Python製 API サーバー

Lambda

カテゴリ・優先度分類

対策提案

SNS ・メール etc

API Gateway

Page 36: Watson活用事例~Watsonハッカソンの例を通じて~

NLCの検証NLC の精度を検証40 クラス分類データ数 400 件データソースは Twitter のテキスト

量は少なく、質は悪い

36

Page 37: Watson活用事例~Watsonハッカソンの例を通じて~

結論各クラスの学習データ 10 件、クラス数 40 でもかなり良い精度

(おそらく)一般知識を利用して分類しているので、データ数が少なくても良い精度が出た

データ数が少なくてカテゴリ数が多い時に使うと効果的

37

Page 38: Watson活用事例~Watsonハッカソンの例を通じて~

Re:Gene システム構成 38

災害対策ワークフロー

災害情報管理 情報収集の実行

ユーザー質問の中継

Natural Language Classifier

Retrieve and Rank

EC2 Python製 API サーバー

Lambda

カテゴリ・優先度分類

対策提案

SNS ・メール etc

API Gateway

Page 39: Watson活用事例~Watsonハッカソンの例を通じて~

今回の R&Rの構成 39

コレクションR&Rユーザ

被災地のニーズを教えて

Watsonのコレクションから回答

Page 40: Watson活用事例~Watsonハッカソンの例を通じて~

検討すべき R&Rの構成 40

コレクション

ユーザ

被災地のニーズを教えて

Watsonのコレクションから回答

NLC R&R

コレクション

コレクション

カテゴリ分類 NLC の結果に応じて選択

Page 41: Watson活用事例~Watsonハッカソンの例を通じて~

Watson 良いところ

データ数が少なくても賢く学習する。分類数が多くても割と大丈夫

機械学習などの難しい知識がなくても利用可能。使うのが簡単

使いにくいところまだ環境が不安定でたまにメンテナンスで止まったりする

41

Page 42: Watson活用事例~Watsonハッカソンの例を通じて~

本日のまとめBluemix 上には Watson と呼ばれる 17 個のサービ

スがある

銀行や医療などではすでに活用されている

短時間で多くの情報をさばかないといけないケースや、

災害対策のようにいざというとき忘れていたりする知

識を学習させておくのは有用

42

Page 43: Watson活用事例~Watsonハッカソンの例を通じて~

参考文献Watson 活用事例http://cookpad.com/pr/tieup/index/694http://healthcare.itmedia.co.jp/hc/articles/1506/1

6/news038.html人工知能ビジネスhttp://techon.nikkeibp.co.jp/article/COLUMN/

20150727/429583/?P=2

43

Page 44: Watson活用事例~Watsonハッカソンの例を通じて~

THANK YOU FOR YOUR ATTENTION

44

Page 45: Watson活用事例~Watsonハッカソンの例を通じて~

おまけ

45

Page 46: Watson活用事例~Watsonハッカソンの例を通じて~

NLCに関する検証 46

• 検証目的

• 検証条件

• 検証結果

• 結論

Page 47: Watson活用事例~Watsonハッカソンの例を通じて~

検証の目的 47

NLCの精度検証のためよくわかっていなかった

Page 48: Watson活用事例~Watsonハッカソンの例を通じて~

検証の条件( 1/2)評価指標

F 値

データソース40キーワードで Twitterを検索して得たテキスト

48

Page 49: Watson活用事例~Watsonハッカソンの例を通じて~

検証の条件( 2/2)カテゴリ数: 40

学習データ数: 400 件(各カテゴリ 10 件 × カテゴリ数40 )テストデータ数: 4000 件データ例

49

テキスト カテゴリ真面目に社畜してろってことか 社畜社長ってゴリラなの? 社長ハンターに転職したい 転職電験三種、電気工事士の資格をとるなら、まずはこの↓サイトをチェック。

資格

Page 50: Watson活用事例~Watsonハッカソンの例を通じて~

検証結果( F 値)学習データをテストデータとしたときの F 値F 値: 0.986 (分類器の潜在的な限界値)

4000 件のテストデータのときの F 値F 値: 0.8471

50

各カテゴリの学習データ 10件かつカテゴリ数 40でF値 0.8471は驚異的

Page 51: Watson活用事例~Watsonハッカソンの例を通じて~

検証結果(誤りの例)「研修」のラベルが付いたデータ

51

今日は相方が新人研修してくれるかなぁ…と淡い期待をしてたけど、やっぱり私がやることになり。午後から出勤するつもりだったのが、朝からになりやる気が出ない ( ;∀; )

Watsonが出した結果:「うつ」間違えてても良い結果を出しているケースもある

Page 52: Watson活用事例~Watsonハッカソンの例を通じて~

結論(おそらく)一般知識を利用して分類しているので、データ数が少なくても良い精度

各カテゴリの学習データ 10 件かつカテゴリ数 40 で F 値0.8471 は驚異的

データ数が少なくてカテゴリ数が多い時に使うと(おそらく)効果的

52