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.

[Gree] dialogflowを利用したチャットボット導入事例

4,746 views

Published on

Google Cloud Dialogflow Meet-upでの登壇スライドです。

グリーにおけるチャットボット導入事例をご紹介します。

Published in: Data & Analytics
  • Be the first to comment

[Gree] dialogflowを利用したチャットボット導入事例

  1. 1. Dialogflowを利用した チャットボット 導入事例 Google Cloud Dialogflow Meet-up 2017/12/12 グリー株式会社 開発本部 応用人工知能チーム 鈴木 隆史
  2. 2. 自己紹介 ■氏名:鈴木隆史 (@t24kc) ■所属:開発本部 応用人工知能チーム JapanGame事業本部 ENチーム ■業務:Webプロダクト ENマネジメント 大規模データ活用した機械学習ツール開発 これまでに機械学習を利用したPUSH通知の最適化、 バナーのレコメンデーション、チャットボットなどを担当 2
  3. 3. 1. はじめに 2. システム紹介 3. 会話精度向上 4. まとめ はじめに 3
  4. 4. グリーのサービスと 応用人工知能チームの取り組みについて はじめに 4
  5. 5. ■2017年 上半期リリースタイトル セールスランキング グリーのサービスについて 5※ランキングは、App StoreまたはGoogle Playのセールスランキングより7月31日時点までの最高順位を採用
  6. 6. 分析データ基盤 Hadoopベース 数TB / 1日 自社の大規模分析基盤を活用 6
  7. 7. 利用している機械学習技術 ■Deep Learning関連 CNN:美容メディア画像タグ付け、不適切な画像識別 RNN:レコメンデーション ■Machine Learning関連 分類:PUSH通知最適化、離脱ユーザ予測 クラスタリング:画像の領域抽出、ユーザセグメント分析 7
  8. 8. ■Dialogflowとクラウドサービスのシステム連携 ・導入したチャットボットを例に ・実際にDialogflowで利用しているシステム紹介 ・Dialogflowでカバーできない範囲のクラウド連携部分 ■会話精度向上のための取り組み ・ログ分析一例と会話精度向上のために実施したこと 本日のテーマ 8
  9. 9. システム紹介 1. はじめに 2. システム紹介 3. 会話精度向上 4. まとめ 9
  10. 10. プロジェクト紹介 10 2017年11月 本リリース済 http://orario-rapsodia.com/ 事前登録ページのチャットボット ©大森藤ノ・SBクリエイティブ/ソード・オラトリア製作委員会 ©GREE,Inc ©Super Appli,Inc
  11. 11. デモ ※開発段階のものです ※現在はクローズしています 11 ※開発段階のも のです ※現在はク ローズし ています 11
  12. 12. チャットボット仕様 12 概要 詳細 感情 投げられた会話により喜怒哀楽が変化 親密度 ユーザとの会話内容によりキャラクター親密度が変化 クイズ 会話が続くとキャラクターからクイズを出題 報酬 親密度が閾値を超えたタイミングで報酬イベント発火 NGワード 公序良俗に反することには適切に返答
  13. 13. チャットボットの仕様から システムに落とし込む システム検討 13
  14. 14. システム概要 14 プロダクション サーバ クライアント チャットボット API
  15. 15. システム概要 15 プロダクション サーバ クライアント チャットボット API 作成した部分を もう少し詳細に
  16. 16. チャットボットAPI構成 16 API部分 監視部分
  17. 17. チャットボットAPI構成 17 API部分 監視部分 API処理群 自然言語処理 ユーザ・マスタデータ ログ関連 自然言語処理は Dialogflowを利用
  18. 18. チャットボット仕様 18 概要 詳細 感情 投げられた会話により喜怒哀楽が変化 親密度 ユーザとの会話内容によりキャラクター親密度が変化 クイズ 会話が続くとキャラクターからクイズを出題 報酬 親密度が閾値を超えたタイミングで報酬イベント発火 NGワード 公序良俗に反することには適切に返答 Dialogflowで 対応する箇所
  19. 19. チャットボット仕様 19 概要 詳細 感情 投げられた会話により喜怒哀楽が変化 親密度 ユーザとの会話内容によりキャラクター親密度が変化 クイズ 会話が続くとキャラクターからクイズを出題 報酬 親密度が閾値を超えたタイミングで報酬イベント発火 NGワード 公序良俗に反することには適切に返答 クラウドサービス で 対応する箇所 Dialogflowで 対応する箇所
  20. 20. 他サービスの検証と比較をした結果 Dialogflowでシステム開発した経緯 20
  21. 21. NLPサービスについて 21 導入スピード 拡張性 APIサービス NLPモジュール サービス ML/DLライブラリ サービス
  22. 22. Dialogflowの決め手 ■導入スピード面 ・APIサービスのため学習データ抽出・ラベル分類コストも必要最低限 ・既存のMLライブラリを利用する場合の実装コストが発生しない ■料金面 ・スタンダード版は無料で利用できる ・必要に応じて、エンタープライズ版でAPI制限の緩和などが可能 ■精度面 ・会話データのラベルミスを修正して再学習させることができる ・内部に多くの拡張機能があり、表現ゆれ解決や外部連携なども可能 22
  23. 23. ■アルゴリズムのブラックボックス化 ・内部の実装がブラックボックス化しやすい ・痒いところに手が届かないこともあるが、サービスの実装に集中できると も捉えられる ■サービス安定性 ・フリー版はAPIの停止や、利用上限が設定されているケースがある APIサービスの懸念点 23 今回のプロジェクトでは メリットが大きいためDialogflowに決定
  24. 24. Dialogflowとクラウドサービスの 利用箇所の紹介 システム紹介 24
  25. 25. ■Intents ・多くの場合は例文を増やすことで対応 システム紹介#1(単純な質問と返答) 25 Intents
  26. 26. ■Entities ・ActionでIntentsとEntitiesを紐付けて表現ゆれに対応 システム紹介#2(表現ゆれの対応) 26 Intents Entities
  27. 27. ■Events・Contexts ・eventをクイズイベント発火に利用 ・contextをクイズ回答期間の管理に利用 システム紹介#3(クイズ出題) 27 additional post question answer
  28. 28. ■Cloud Management ・Fulfillmentのwebhookで外部連携も可能 ・細かなセッション情報やIP設定などはバックエンド側で対応 システム紹介#4(セッション情報・IP管理) 28 IP setting data
  29. 29. 1. はじめに 2. システム紹介 3. 会話精度向上 4. まとめ 会話精度向上 29
  30. 30. 会話精度が振り返られるように ログ整理とデータ活用 会話精度向上のために 30
  31. 31. ■ログの蓄積 ・DialogflowのHistoryを利用して簡単な会話ログ分析も可能 ・今回は大規模分析のため自社のDWHを活用 ■会話精度パラメータを利用 ・レスポンスのscore(会話精度)パラメータが利用できる 前提 31
  32. 32. ■スコアセグメントごとの結果 ・スコア(会話精度)を10%ごとに集計した会話数値 ・精度が100%のものと悪いものに二極化しているのが分かる 全体会話の確認 32
  33. 33. ■スコアが良かったもの ・単語や単純な挨拶のIntentsの会話精度が高い 個別会話の確認#1 33
  34. 34. ■スコアが良かったもの(詳細) ・単語のみの発言が多く、登録したUser saysとのルールベース合致多い 個別会話の確認#2 34
  35. 35. ■スコアが悪かったもの ・柔軟な会話や登録されたIntentsが類似している会話精度が低い 個別会話の確認#3 35
  36. 36. ■スコアが悪かったもの(詳細) ・分かち書き「くれ」という単語に反応している様子 ・「アイテム」などのIntent登録はないため、この例文に紐付いている 個別会話の確認#4 36
  37. 37. ■スコアが悪かったもの(詳細) ・精度30%以下(Intentsに紐付かなかった)会話ログを確認 ・同様にIntent登録がない例文や、単語の意味がないものが多い 個別会話の確認#5 37
  38. 38. ■登録Intentsの拡張 ・殆どの場合は例文の追加で解決できる ・ユーザの会話ログから、頻度の高い例文を新しく追加していく ■登録Entitiesの拡張 ・表現ずれの改善のため、Entityにデータを追加していく ・ただし、IntentsやEntitiesには登録上限がある 実施したこと#1 38
  39. 39. 実施したこと#2 39 ■TrainingでIntents学習 ・以前の会話やり取りが間違っていた場合には DialogflowのTraining機能から正しいIntentsを学習させる事ができる
  40. 40. ■対応する基準 登録する例文の基準 ・IntentsやEntitiesには登録できる上限があるため 精度が低い全ての会話を登録できるわけではないこと 優先度の基準 ・例文内容の検討やTrainingによる学習には人的コストがかかるため 全体のリソースを考慮した優先度を決めておく ・ここでは会話精度にフォーカスしていたが チャットボットの事業目的に会話精度の重要度がどの程度あるか 注意するべきところ 40
  41. 41. 1. はじめに 2. システム紹介 3. 会話精度向上 4. まとめ まとめ 41
  42. 42. ■導入コスト重視ではAPIサービスが最適 ・独自モデルの場合と比較して、実装コスト・学習データ準備コストの削減 メリットが非常に大きい ・特定インテントの前処理工夫などの拡張要素部分も、クラウド連携で対応 できる まとめ 42

×