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

3,681 views

Published on

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

Published in: Engineering
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,681
On SlideShare
0
From Embeds
0
Number of Embeds
589
Actions
Shares
0
Downloads
55
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide
  • Solrクラスタの中にコレクションがあり、コレクションの中にドキュメント集合がある。
    そして検索時にはコレクションとトレーニング済みのランカーを結びつけることで、
    単なる全文検索ではなくて機械学習を利用した順位づけが可能になる
  • テキスト入力せずに済む分速い
    育成コスト削減

    内容
    顧客サポート業務にWatsonを活用
    あらかじめQA集、業務マニュアル等を登録
    問い合わせた音声をテキストに変換し、Watsonに尋ねる
    Watsonは回答を表示

    目的
    オペレータの回答品質のばらつきを抑えて、応答を速くする
  • ソフトバンク賞を頂いた。
  • コンセプト、トラブル、ソリューションの順に話すとわかりやすい。ここに画像はいらないか?後で持ってきた方が。
  • 対応者による品質のばらつきを抑える
  • 左上から始まる方が良い。
  • カテゴリ分類には効果的。
    重要度とかだと、これだけ少ないデータではいまいち。
    今回のようなケースではカテゴリ数が多いほうが良い。一般知識を使ってるのでフィットする対象が増えた。
    短い文章は通常は難しい。口語的。

    話の流れ
    ○○と××を検証するため、以下の条件で検証を行った
    条件

    各実験について説明と考察

    評価指標に関しても説明する必要があるかな?
    本当は普通の分類器と比較する必要がある。
  • 今回の場合
    R&Rに直接質問を放り込まないほうがよかったかも
    R&RのコレクションをNLCで分類するカテゴリごとに作成
    NLC→R&Rの順に聞く
    NLCで確信度が低ければ質問を聞き直す
    実際大賞取ったチームはそうして精度を上げていた
  • カテゴリを絞る→検索時に絞ったカテゴリドメインのコレクションとランカーを指定して検索&順位付けする。
    よく考えればランカー作るときにコレクションに結びつけるのはない。その時点で結合してしまうから。検索時に指定できた方が柔軟。
  • お金の話があると面白い。興味があるところ。
  • http://japan.zdnet.com/article/35070557/
    http://techon.nikkeibp.co.jp/article/COLUMN/20150727/429583/?P=2
    http://cloud.watch.impress.co.jp/docs/event/20141029_673586.html
  • キーワードだけじゃない。
  • カテゴリ分類には効果的。
    重要度とかだと、これだけ少ないデータではいまいち。
    今回のようなケースではカテゴリ数が多いほうが良い。一般知識を使ってるのでフィットする対象が増えた。
    短い文章は通常は難しい。口語的。

    話の流れ
    ○○と××を検証するため、以下の条件で検証を行った
    条件

    各実験について説明と考察

    評価指標に関しても説明する必要があるかな?
    本当は普通の分類器と比較する必要がある。
  • 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

    ×