SlideShare a Scribd company logo
1 of 14
Download to read offline
Microsoft Bot Framework
Bot ServiceのBot Builder SDK
を昨日の夜触ってみた
2017/12/23
丸山 和秀
そもそもBotってなに?
Bot(ボット)は、robot(ロボット)の短縮形・略称。転じて、コンピュータやインターネット
の分野においては、作業を自動化するプログラムの総称。
https://ja.wikipedia.org/wiki/Bot
Bot Serviceってなに?(bing google翻訳)
ボットは、ユーザーが会話的なやり方でやり取りするアプリだと考えてください。 ボットは、テキスト、
カード、またはスピーチと会話することができます。 ボットは、レスポンスとの基本的なパターンマッチン
グなどの単純なものでも、複雑な会話状態の追跡や既存のビジネスサービスとの統合による高度な人工知能
技法でも構いません。
ボットサービスを使用すると、ユーザーとのさまざまな種類のやりとりをサポートするボットを構築できま
す。 ボットの会話を自由形式にするように設計できます。 あなたのボットには、ユーザーの選択や行動を提
供するより多くの誘導された対話があるかもしれません。 会話では、テキスト、画像、アクションボタンを
含む複雑なリッチカードを使用することができます。 自然言語のやりとりを追加することで、ユーザーが自
然で表現力豊かな方法でボットとやり取りすることができます。
https://msdn.microsoft.com/ja-jp/magazine/mt788623
Bot Builderってなに?(bing google翻訳)
Bot Builderは、SDK、ライブラリ、サンプル、およびツールを提供して、ボットの作成とデバッグを支援しま
す。 ボットサービスでボットを構築すると、ボットビルダーSDKによってボットがバックアップされます。
また、Bot Builder SDKを使用して、C#またはNode.jsを使用して最初からボットを作成することもできます。
ボットビルダーには、ボットをテストするためのボットフレームワークエミュレータと、チャンネルごとに
ボットのユーザーエクスペリエンスをプレビューするためのチャンネルインスペクタが含まれています。
https://msdn.microsoft.com/ja-jp/magazine/mt788623
どうやって開発環境作るの??
https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-quickstart
• プロジェクトテンプレートとアイテムテンプレー
トを自分でダウンロードして、自分でフォルダに
配置
• Bot Framework Emulatorをダウンロードしてインス
トール
テンプレートはどうなってるの?
• ControllerとDialogってのがあるだけ
• プロジェクトファイルやWeb.config、Global.asaxと
かに仕込みは特になし
最小構成はこんな感じ?
Controller
(Web API)
Dialog
(IDialog<T>)
クライアントから要求を受け付ける 要求を実際に処理する
ほかの登場人物は? (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のいずれかに格納するこ
とができます。
Azure
Bot Builder で作ったコード
こんな感じ?
Controller
(Web API)
Dialog
(IDialog<T>)
Connector
FormFlow
State
Skype
Slack
Mail
クライアントから要求を受け
付けて差異を吸収する何か
メッセージ
Emulator
Slack
今つなげられるのは??
あとはデモで。。。
雑な所感
• クライアントとのやり取りとかは隠してくれる
• Azureあったほうがいい気がする
(必須じゃないやろうけど・・・)
• クライアントとの通信の自作は茨の道な気がする・・・
(まだ調べてないけど)
• 一番難しい部分はやっぱり手組
ご清聴ありがとうございました

More Related Content

Similar to Microsoft bot frameworkを触ってみた

りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -Koji Shiraishi
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot FrameworkKazumi IWANAGA
 
クラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotクラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotTsukasa Kato
 
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうWebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうYusuke Hara
 
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of ChatbotsユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of ChatbotsYoshiki Hayama
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Ayako Omori
 
Microsoft Bot framework 概要
Microsoft Bot framework 概要Microsoft Bot framework 概要
Microsoft Bot framework 概要Koichiro Sasaki
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏Yuta Matsumura
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...日本マイクロソフト株式会社
 
簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話
簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話
簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話典子 松本
 
[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...
[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...
[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...Google Cloud Platform - Japan
 
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜Koji Shiraishi
 
よりお手軽なBotへ 〜APIで効率的なBotを〜
よりお手軽なBotへ 〜APIで効率的なBotを〜よりお手軽なBotへ 〜APIで効率的なBotを〜
よりお手軽なBotへ 〜APIで効率的なBotを〜Tsukasa Kato
 
チャットボットの定義と設計
チャットボットの定義と設計チャットボットの定義と設計
チャットボットの定義と設計LINE Corporation
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころKazumi IWANAGA
 
クラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotクラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotTsukasa Kato
 

Similar to Microsoft bot frameworkを触ってみた (20)

りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
クラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotクラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBot
 
MS系Chatbot触ってみた
MS系Chatbot触ってみたMS系Chatbot触ってみた
MS系Chatbot触ってみた
 
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうWebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
 
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of ChatbotsユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
 
Microsoft Bot framework 概要
Microsoft Bot framework 概要Microsoft Bot framework 概要
Microsoft Bot framework 概要
 
20200809 jcdug lt
20200809 jcdug lt20200809 jcdug lt
20200809 jcdug lt
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
 
簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話
簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話
簡単・お手軽!ノンプログラミングで便利BOTを作ってみた話
 
[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...
[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...
[Cloud OnAir] G Suite って何が便利なの?Google AI を活用した働き方とは?今さら聞けない G Suite の最新便利機能をユ...
 
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
 
よりお手軽なBotへ 〜APIで効率的なBotを〜
よりお手軽なBotへ 〜APIで効率的なBotを〜よりお手軽なBotへ 〜APIで効率的なBotを〜
よりお手軽なBotへ 〜APIで効率的なBotを〜
 
20200714 cogbot
20200714 cogbot20200714 cogbot
20200714 cogbot
 
チャットボットの定義と設計
チャットボットの定義と設計チャットボットの定義と設計
チャットボットの定義と設計
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
 
Linebotを作ろう
Linebotを作ろうLinebotを作ろう
Linebotを作ろう
 
クラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotクラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBot
 

More from Kazuhide Maruyama

ビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみたビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみたKazuhide Maruyama
 
Way Of Multi Platform Desktop App Development By DotNet
Way Of Multi Platform Desktop App Development By DotNetWay Of Multi Platform Desktop App Development By DotNet
Way Of Multi Platform Desktop App Development By DotNetKazuhide Maruyama
 
夏時間対応始めました。 - .NET Conf関西 2018 LT
夏時間対応始めました。 - .NET Conf関西 2018 LT夏時間対応始めました。 - .NET Conf関西 2018 LT
夏時間対応始めました。 - .NET Conf関西 2018 LTKazuhide Maruyama
 
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)Kazuhide Maruyama
 
VSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンVSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンKazuhide Maruyama
 
Type scriptのいいところ
Type scriptのいいところType scriptのいいところ
Type scriptのいいところKazuhide Maruyama
 
ショートカットの勧め
ショートカットの勧めショートカットの勧め
ショートカットの勧めKazuhide Maruyama
 
Grid application テンプレートを紐解く
Grid application テンプレートを紐解くGrid application テンプレートを紐解く
Grid application テンプレートを紐解くKazuhide Maruyama
 
Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話Kazuhide Maruyama
 

More from Kazuhide Maruyama (12)

ビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみたビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみた
 
Way Of Multi Platform Desktop App Development By DotNet
Way Of Multi Platform Desktop App Development By DotNetWay Of Multi Platform Desktop App Development By DotNet
Way Of Multi Platform Desktop App Development By DotNet
 
夏時間対応始めました。 - .NET Conf関西 2018 LT
夏時間対応始めました。 - .NET Conf関西 2018 LT夏時間対応始めました。 - .NET Conf関西 2018 LT
夏時間対応始めました。 - .NET Conf関西 2018 LT
 
Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)Typescriptの中のこと(浅め)
Typescriptの中のこと(浅め)
 
Room Metro 2014-03-01
Room Metro 2014-03-01Room Metro 2014-03-01
Room Metro 2014-03-01
 
roslyn
roslynroslyn
roslyn
 
What is xaml
What is xamlWhat is xaml
What is xaml
 
VSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンVSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオン
 
Type scriptのいいところ
Type scriptのいいところType scriptのいいところ
Type scriptのいいところ
 
ショートカットの勧め
ショートカットの勧めショートカットの勧め
ショートカットの勧め
 
Grid application テンプレートを紐解く
Grid application テンプレートを紐解くGrid application テンプレートを紐解く
Grid application テンプレートを紐解く
 
Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話Developerのdeveloperによるdeveloperのためのmetro designの話
Developerのdeveloperによるdeveloperのためのmetro designの話
 

Recently uploaded

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

Microsoft bot frameworkを触ってみた