Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Microsoft bot frameworkを触ってみた

118 Aufrufe

Veröffentlicht am

2017/12/23 meetup app 発表

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Microsoft bot frameworkを触ってみた

  1. 1. Microsoft Bot Framework Bot ServiceのBot Builder SDK を昨日の夜触ってみた 2017/12/23 丸山 和秀
  2. 2. そもそもBotってなに? Bot(ボット)は、robot(ロボット)の短縮形・略称。転じて、コンピュータやインターネット の分野においては、作業を自動化するプログラムの総称。 https://ja.wikipedia.org/wiki/Bot
  3. 3. Bot Serviceってなに?(bing google翻訳) ボットは、ユーザーが会話的なやり方でやり取りするアプリだと考えてください。 ボットは、テキスト、 カード、またはスピーチと会話することができます。 ボットは、レスポンスとの基本的なパターンマッチン グなどの単純なものでも、複雑な会話状態の追跡や既存のビジネスサービスとの統合による高度な人工知能 技法でも構いません。 ボットサービスを使用すると、ユーザーとのさまざまな種類のやりとりをサポートするボットを構築できま す。 ボットの会話を自由形式にするように設計できます。 あなたのボットには、ユーザーの選択や行動を提 供するより多くの誘導された対話があるかもしれません。 会話では、テキスト、画像、アクションボタンを 含む複雑なリッチカードを使用することができます。 自然言語のやりとりを追加することで、ユーザーが自 然で表現力豊かな方法でボットとやり取りすることができます。 https://msdn.microsoft.com/ja-jp/magazine/mt788623
  4. 4. Bot Builderってなに?(bing google翻訳) Bot Builderは、SDK、ライブラリ、サンプル、およびツールを提供して、ボットの作成とデバッグを支援しま す。 ボットサービスでボットを構築すると、ボットビルダーSDKによってボットがバックアップされます。 また、Bot Builder SDKを使用して、C#またはNode.jsを使用して最初からボットを作成することもできます。 ボットビルダーには、ボットをテストするためのボットフレームワークエミュレータと、チャンネルごとに ボットのユーザーエクスペリエンスをプレビューするためのチャンネルインスペクタが含まれています。 https://msdn.microsoft.com/ja-jp/magazine/mt788623
  5. 5. どうやって開発環境作るの?? https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-quickstart • プロジェクトテンプレートとアイテムテンプレー トを自分でダウンロードして、自分でフォルダに 配置 • Bot Framework Emulatorをダウンロードしてインス トール
  6. 6. テンプレートはどうなってるの? • ControllerとDialogってのがあるだけ • プロジェクトファイルやWeb.config、Global.asaxと かに仕込みは特になし
  7. 7. 最小構成はこんな感じ? Controller (Web API) Dialog (IDialog<T>) クライアントから要求を受け付ける 要求を実際に処理する
  8. 8. ほかの登場人物は? (bing google翻訳) Connector ボットフレームワークコネクタは、このようなスカイプ、メール、スラック、その他など複数のチャネルを介して通信 するボットを可能に単一REST APIを提供します。ボットからチャネルへ、およびチャネルからボットへメッセージを 中継することにより、ボットとユーザ間の通信を容易にします。.NET用のBot Builder SDKでは、Connectorライブラ リを使用してConnectorにアクセスできます。 Activity コネクタは、使用アクティビティボットとチャネル(ユーザ)との間で前後に情報を渡すオブジェクト。最も一般的な タイプのアクティビティはメッセージですが、さまざまなタイプの情報をボットまたはチャネルに伝達するために使用 できる他のアクティビティタイプがあります。 Dialog .NET用のBot Builder SDKを使用してボットを作成する場合、ダイアログを使用して会話をモデル化し、会話フローを 管理できます。ダイアログは、再利用を最大限にするために他のダイアログから構成することができ、ダイアログコン テキストは、任意の時点で会話でアクティブなダイアログスタックを維持します。ダイアログを含む会話は、コン ピュータ間で移植可能であり、ボットの実装を拡張することができます。 FormFlow .NET用のBot Builder SDK内でFormFlowを使用すると、ユーザーから情報を収集するボットを効率的に作成できます。 たとえば、サンドイッチオーダーを取るボットは、パンの種類、トッピングの選択、サイズなど、ユーザーからのいく つかの情報を収集する必要があります。基本的なガイドラインが与えられれば、FormFlowはこのようなガイド付きの 会話を管理するのに必要なダイアログを自動的に生成することができます。 State Bot Builder Frameworkを使用すると、特定の会話のコンテキスト内で、ユーザー、会話、または特定のユーザーに関 連付けられている状態データをボットできます。状態データは、以前の会話がどこで中断されたかを判断する、または 単に返信するユーザを名前で挨拶するなど、多くの目的で使用できます。ユーザーの設定を保存する場合は、その情報 を使用して、次にチャットするときに会話をカスタマイズできます。たとえば、興味のあるトピックに関するニュース 記事をユーザーに警告したり、予定が利用可能になったときにユーザーに警告したりできます。 テストやプロトタイピングの目的で、Bot Builder Frameworkのメモリ内データストレージを使用することができます。 プロダクションボットの場合は、独自のストレージアダプタを実装するか、Azure Extensionsのいずれかを使用できま す。Azure Extensionsでは、ボットの状態データをTable Storage、CosmosDB、またはSQLのいずれかに格納するこ とができます。
  9. 9. Azure Bot Builder で作ったコード こんな感じ? Controller (Web API) Dialog (IDialog<T>) Connector FormFlow State Skype Slack Mail クライアントから要求を受け 付けて差異を吸収する何か
  10. 10. メッセージ Emulator Slack
  11. 11. 今つなげられるのは??
  12. 12. あとはデモで。。。
  13. 13. 雑な所感 • クライアントとのやり取りとかは隠してくれる • Azureあったほうがいい気がする (必須じゃないやろうけど・・・) • クライアントとの通信の自作は茨の道な気がする・・・ (まだ調べてないけど) • 一番難しい部分はやっぱり手組
  14. 14. ご清聴ありがとうございました

×