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.

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

6,870 views

Published on

Watsonハッカソンで作成した災害対策サービスの紹介

Published in: Engineering
  • Be the first to comment

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

  1. 1. 実践Watson ~IBM Watsonハッカソンでの取り組みを通じて~ TIS株式会社 戦略技術センター AI技術推進室 中山光樹
  2. 2. 自己紹介(1/2) 名前:中山 光樹(なかやま ひろき) 所属:TIS株式会社 戦略技術センター AI技術推進室 業務:アプリケーション開発 機械学習 2 Facebook:中山光樹 Qiita :Hironsan Github :Hironsan
  3. 3. 自己紹介(2/2) 最近は自然言語処理・機械学習を利用した アプリケーションの開発・検証を行っています。 3 対話型の販促キャン ペーン アプリケーション 自然言語処理ツール (固有表現抽出)の開発 技術記事執筆
  4. 4. 本日のプログラム 4 • Watsonとは? • Watson活用事例 • Watsonハッカソン • Watsonについて得られた知見
  5. 5. WATSONとは? 5 • What’s Watson? • サービスの種類 • NLCとR&Rの紹介
  6. 6. WHAT’S WATSON? Watsonとは? IBMが提供する、自然言語(テキスト)から意味を抽出するための サービス郡 ※ただし、日本語は勉強中 Watsonのここがすごい ● 仮説生成 ○ 未来や未知のものに関する問いに対して、知識から予測して返答できる ● 自然言語 ○ 話し言葉などの柔軟な入力でも解釈できる ● ダイナミックな学習 ○ 用途に合うよう学習させることができ、データを与えるほど賢くなる 6
  7. 7. Watsonサービス サービスの種類  BluemixカタログのWatsonサービスは全17種類 文章の分類を予測 する 質問に関連する 文書を提案する
  8. 8. ②NLC-概要 ■利用方法 ①文章とクラスの組み合わせを定義したCSVファイルを作成して、APIで登録 →NLCが機械学習によって分類の基準を習得 ②NLCに新たな文章を渡すと、習得済みの基準に従ってクラス分類が行われ、 クラス名と確度が返される サービス名称 アイコン 正式対応 言語 機能・用途 Natural Language Classifier (NLC) 英語、ポルト ガル語、スペ イン語、アラ ビア、フラン ス、イタリア 文章をクラスに振り分ける分類器。 文章⇔クラスの組み合わせを与えると 機械学習により法則を習得する。 話題の絞込みや対応の分岐に利用可能
  9. 9. <学習データ例> ②NLC-仕組み 気温 天候 ■分類器(classifier)の作成 • 学習用データ(文章+クラスの組み合わせ)をCSV形式で登録。 →与えたデータから分類方法を学習した、新しい分類器が作られる。 ■分類器の利用 • 分類器に新しい文章を与えると、先に学習した基準で分類が行われる text class 外は暑いですか? 気温 今日の最低気温は何度ですか? 気温 雪は降りそうですか? 天候 雨はいつごろ止みそうですか? 天候 text class confidence 今日はぬくい。 気温 89.9% 今日はしばれる。 気温 80.5% 台風が来そうだ。 天候 92.3% 一般的な語の関係はNLCがあらかじめ習得済みなので、 学習データにない語が含まれていても分類できる
  10. 10. ③R&R-概要 ■利用方法 ①Apache Solrの設定を行う ②コレクションを作成 ③コレクションに検索対象文書を登録する ④{質問、回答、関連度}の組み合わせ情報をRankerに与えて学習させる →Rank API(Watson独自の検索)が利用可能になる サービス名称 アイコン 正式対応 言語 機能・用途 Retrieve and Rank (R&R) 多言語に対応 検索に対して、関連性の高い情報を抽 出して返す。機械学習でデータの「サ イン」を検出することで、全文検索よ りも的確なランク付けが行える。
  11. 11. R&Rの構成図 11 Solrクラスタ Rankers Configs Collections Config Collection Doc Doc Doc ランカー ランカー ランカー
  12. 12. 文書番号 関連度 文書番号 関連度 文書番号 関連度 図書館は誰でも使えますか? 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は多少関連がある、いった判 断をしながらトレーニングデー タを作成していく
  13. 13. 本日のプログラム 13 • Watsonとは? • Watson活用事例 • Watsonハッカソン • Watsonについて得られた知見
  14. 14. 事例:銀行のコールセンター 内容  顧客サポート業務にWatsonを活用 目的  オペレータの回答品質のばらつきを抑えて、応答を速く する 14 顧客 オペレーター ①質問 ④回答 Watson ②テキスト入力 ③解答候補 を提示
  15. 15. 世の中でのWatson活用事例 活用事例 コールセンター レシピ提案 医療 15
  16. 16. 本日のプログラム 16 • Watsonとは? • Watson活用事例 • Watsonハッカソン • Watsonについて得られた知見
  17. 17. Watsonハッカソン 17 • Watsonハッカソンについて • Watsonハッカソン成果物の紹介 • デモンストレーション
  18. 18. WATSONハッカソンとは?(1/2) Watson日本語版ハッカソン Watson日本語API(ベータ版)を使って 技術とアイデアを競い合うイベント 公開された日本語API NLC R&R 18
  19. 19. WATSONハッカソンとは?(2/2) 期間 [開発]2015年12月5日-6日 [決勝]2015年12月16日 参加チーム数 11チーム(企業)参加 19
  20. 20. ソフトバンク賞受賞! (2位相当)
  21. 21. Re:Gene kintoneとWatsonを連携させて作った、災害対策用のソリューション 21 情報の収集・ 分類 収集した情報の 管理 対策の立案 対策の進捗管理 被害状況は? 対策マニュアルど こ? 誰が何をして る? Re:Gene 危機発生時のベストプラクティスとなるワークフローサービス
  22. 22. 作成したアプリ『Re:Gene』 コンセプト 迅速かつ効率的に災害対策を行う 22
  23. 23. 災害時の問題点 鬼怒川氾濫時に起きていた問題 情報共有のための頻繁な会議  話が進まない 防災計画の理解が浸透していない  対応が遅れる 23 http://www.dri.ne.jp/wordpress/wp-content/uploads/DRIno.44.pdf http://ibarakinews.jp/news/newsdetail.php?f_jun=14445733647311&sai=1
  24. 24. ソリューション Re:Geneの機能 ① 情報の自動収集  収集の効率化 ② 情報の自動分類(Watson使用)  分類 & 視覚化による情報共有の効率化 ③ 防災対策の提案(Watson使用)  対策立案のサポート 24
  25. 25. 処理の流れ 25 テキスト カテゴリ 緊急度 助けて! 支援要請 高い 無事です 安否確認 低い 順位 アクション 1 ○○地区消防への連携 2 ○○地区への職員派遣 3 ○○地区へのボランティア派遣 ※既存の災対マニュアル等をもとに提案 ②NLCでカテゴリと緊急度に分類 ③R&Rで次のアクションを提案 ①災害情報を収集 ④受付状況をフィードバック 助けて! 無事です 受け付けました
  26. 26. Re:Gene システム構成 26 •災害情報はAWS上 に構築したサーバー で収集し、Watson NLCによって分類 •災害対策はユーザー の質問をAPI Gateway/Lambdaで Watson R&Rへ中 継・回答 •対策の承認・通知等 のワークフローは kintone上で管理
  27. 27. デモンストレーション 27
  28. 28. DEMO BACKUP(1/6) 収集した情報をカ テゴリ、優先度ご とにまとめ 対策の対応状況
  29. 29. DEMO BACKUP(2/6) 情報一覧画面で、 対策をWatsonに相 談
  30. 30. DEMO BACKUP(3/6)
  31. 31. DEMO BACKUP(4/6) 提案された対策にOKを出すと、 対策が登録され関連する情報 に自動的にひもつけられる
  32. 32. DEMO BACKUP(5/6) 対策のステータス を更新する と・・・
  33. 33. DEMO BACKUP(6/6) ダッシュボード上 で対応された情報 が増えたのがわか る
  34. 34. 本日のプログラム 34 • Watsonとは? • Watson活用事例 • Watsonハッカソン • Watsonについて得られた知見
  35. 35. Re:Gene システム構成 35 災害対策ワークフロー 災害情報管理 情報収集の実行 ユーザー質問の中継 Natural Language Classifier Retrieve and Rank EC2 Python製APIサーバー Lambda カテゴリ・優先度分類 対策提案 SNS・メールetc API Gateway
  36. 36. NLCの検証 NLCの精度を検証  40クラス分類  データ数400件  データソースはTwitterのテキスト 量は少なく、質は悪い 36
  37. 37. 結論 各クラスの学習データ10件、クラス数40でも かなり良い精度 (おそらく)一般知識を利用して分類しているので、 データ数が少なくても良い精度が出た データ数が少なくてカテゴリ数が多い時に使うと 効果的 37
  38. 38. Re:Gene システム構成 38 災害対策ワークフロー 災害情報管理 情報収集の実行 ユーザー質問の中継 Natural Language Classifier Retrieve and Rank EC2 Python製APIサーバー Lambda カテゴリ・優先度分類 対策提案 SNS・メールetc API Gateway
  39. 39. 今回のR&Rの構成 39 コレクション R&Rユーザ 被災地のニーズを 教えて Watsonのコレクションから回答
  40. 40. 検討すべきR&Rの構成 40 コレクション ユーザ 被災地のニーズを 教えて Watsonのコレクションから回答 NLC R&R コレクション コレクション カテゴリ 分類 NLCの結果に 応じて選択
  41. 41. Watson  良いところ データ数が少なくても賢く学習する。分類数が多くても 割と大丈夫 機械学習などの難しい知識がなくても利用可能。 使うのが簡単  使いにくいところ まだ環境が不安定でたまにメンテナンスで止まったりする 41
  42. 42. 本日のまとめ  Bluemix上にはWatsonと呼ばれる17個のサービスが ある  銀行や医療などではすでに活用されている  短時間で多くの情報をさばかないといけないケースや、 災害対策のようにいざというとき忘れていたりする知識 を学習させておくのは有用 42
  43. 43. 参考文献 Watson活用事例  http://cookpad.com/pr/tieup/index/694  http://healthcare.itmedia.co.jp/hc/articles/1506/1 6/news038.html  人工知能ビジネス  http://techon.nikkeibp.co.jp/article/COLUMN/2015 0727/429583/?P=2 43
  44. 44. THANK YOU FOR YOUR ATTENTION 44
  45. 45. おまけ 45
  46. 46. NLCに関する検証 46 • 検証目的 • 検証条件 • 検証結果 • 結論
  47. 47. 検証の目的 47 NLCの精度検証のため よくわかっていなかった
  48. 48. 検証の条件(1/2) 評価指標 F値 データソース 40キーワードでTwitterを検索して得たテキスト 48
  49. 49. 検証の条件(2/2) カテゴリ数: 40 学習データ数: 400件(各カテゴリ10件 × カテゴリ数40) テストデータ数: 4000件 データ例 49 テキスト カテゴリ 真面目に社畜してろってことか 社畜 社長ってゴリラなの? 社長 ハンターに転職したい 転職 電験三種、電気工事士の資格をとるなら、まずはこの↓サ イトをチェック。 資格
  50. 50. 検証結果(F値) 学習データをテストデータとしたときのF値 F値: 0.986(分類器の潜在的な限界値) 4000件のテストデータのときのF値 F値: 0.8471 50 各カテゴリの学習データ10件かつカテゴリ数40で F値0.8471は驚異的
  51. 51. 検証結果(誤りの例) 「研修」のラベルが付いたデータ 51 今日は相方が新人研修してくれるかなぁ…と淡い期待をしてたけど、 やっぱり私がやることになり。午後から出勤するつもりだったのが、 朝からになりやる気が出ない( ;∀;) Watsonが出した結果:「うつ」 間違えてても良い結果を出しているケースもある
  52. 52. 結論 (おそらく)一般知識を利用して分類しているので、 データ数が少なくても良い精度 各カテゴリの学習データ10件かつカテゴリ数40でF値 0.8471は驚異的 データ数が少なくてカテゴリ数が多い時に使うと (おそらく)効果的 52

×