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.

Bot Service 概要

783 views

Published on

Cogbot勉強会!in 名古屋 セッション資料(2018年3月10日開催)

Published in: Software
  • Be the first to comment

Bot Service 概要

  1. 1. Cogbot 勉強会 ! in 名古屋 2018年3月10日 瀬尾佳隆 (@seosoft) Microsoft MVP for Windows Dev Bot Service 概要
  2. 2. 自己紹介 瀬尾佳隆 (せおよしたか) • MVP for Windows Development • https://yseosoft.wordpress.com/ • 乃木坂46 / 欅坂46 と、仏像 / 屏風絵が好き 最近のお仕事は “AI” っぽいもの だったり、そうじゃなかったり・・・ 2
  3. 3. 今日の内容 Bot とは / Bot Service とは Bot のアーキテクチャとテンプレート BotBuilder SDK for .NET • 基本 • メッセージ処理 • メッセージ処理の委譲 • FormFlow • Bot Framework Emulator 3
  4. 4. Bot とは 人間の言葉を理解して 適切な回答をしてくれる • “人工知能” • いろいろ聞くと、 いろいろ答えてくれる 何かの入力を受け取って 自動で処理をする • 単なるアプリケーション • 定型的な応答をするものも ある 4
  5. 5. Bot Service とは Bot アプリを構築・管理できる Azure のサービス • Bot 本体、デプロイ先の App Service、 データ永続化のためのストレージをワンストップで作成 • 2種類のアーキテクチャから選択 5 Web App Bot ・・・ Web Apps で構築 Function Bot ・・・ サーバーレスのアーキテクチャ
  6. 6. Bot Service のテンプレート Basic シンプルなスケルトン Bot の挙動を完全に自作したい場合に使う Form ガイド付き会話を使用してユーザーからの入力を 収集する Language Understanding Language Understanding (LUIS) で 自然言語を処理する Question and Answer Q&A のナレッジから会話形式の回答を生成する Practive イベントトリガーでユーザーに応答する 6
  7. 7. BotBuilder SDK for .NET の基本 一般的な MVC 7 Controller リクエストがルーティングされてくる ユーザーからの Message を受信したら、 Dialog クラスのインスタンスに送る Dialog Bot の処理 最初に呼ばれるのは StartAsync メソッド メッセージ処理するメソッドを適宜追加
  8. 8. Controller クラス 8 ユーザーを識別 POST リクエストを 受信 Dialog を呼び出す ApiController を 継承
  9. 9. Dialog クラス 9 シリアライズで ユーザーごとの コンテキストを保持できる ユーザーごとに データを保持できる IDialog を 実装
  10. 10. メッセージ処理メソッド 10 Dialog の エントリーポイント メッセージを 待ち受ける メッセージ 処理メソッド ユーザーに回答 次のメッセージを 待ち受ける
  11. 11. メッセージ処理を他に委譲する方法 11 他の Dialog クラスに 処理を依頼 処理を委譲する Dialog クラス 委譲先で処理が 終了したら 呼び出される コールバック
  12. 12. FormFlow (1/2) 選択肢を提示して ユーザーの回答を収集する • 自然言語処理にしないほうが ユーザーにストレスを与えないことも ある 12
  13. 13. FormFlow (2/2) 13
  14. 14. デバッグするには Bot Framework Emulator • https://github.com/Microsoft/BotFramework- Emulator/releases 14
  15. 15. まとめ Bot Service は Bot アプリケーションの 構築・管理のワンストップサービス Controller クラスでリクエストを受信 Dialog クラスでメッセージを処理 メッセージ処理チェインで複雑な分岐が可能 FormFlow が適切に対話できることもある 15

×