SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Cogbot勉強会!#16
2018年8月28日
瀬尾佳隆 (@seosoft)
Microsoft MVP for AI
Bot Builder V4 SDK +
QnA Maker / LUIS
自己紹介
◼瀬尾佳隆 (せおよしたか)
• MVP for AI
• https://yseosoft.wordpress.com/
• 坂道 と仏像 / 屏風絵が好き
◼最近のお仕事は “AI” っぽいもの
・・・が続いている感じ
2
デモアプリのソースコード
https://github.com/seosoft/Cogbot16_2
01808
中身に興味がある方は
ご覧ください
3
今日の内容
◼Bot Builder V4 SDK (復習)
◼AI Bot 用 NuGet パッケージ
◼QnA Bot
◼LUIS Bot
4
QnA Maker, LUIS を利用する AI Bot の開発はとても簡単
今日の内容
◼Bot Builder V4 SDK (復習)
◼AI Bot 用 NuGet パッケージ
◼QnA Bot
◼LUIS Bot
5
.NET Core 2.1
https://www.microsoft.com/net/download/d
otnet-core/2.1 6
QnA Maker / LUIS の
NuGet パッケージを
使わない Bot なら、
.NET Core 2.0 でも OK
Bot Buider V4 SDK
https://marketplace.visualstudio.com/items?
itemName=BotBuilder.botbuilderv4
7
Bot Framework Emulator
8
https://github.com/Microsoft/BotFramework
-Emulator
プロジェクトテンプレート (VS 2017)
9
Startup.cs
◼ConfigureServices メソッドがポイント
• Bot クラスと State クラスを指定するのが、ここ
10
Conversation State
◼v3 の UserData
• 型付きのプロパティを持てるようになった
• Dictionary<string, object> を継承することをお勧め
11
今日は使いません・・・
IBot
12
◼メッセージ処理が IDialog ではなくなった
• OnTurn メソッドで処理を受ける
• UserDataは、型付きの ConversationState に
• SendActivity メソッドでメッセージ送信
今日の内容
◼Bot Builder V4 SDK (復習)
◼AI Bot 用 NuGet パッケージ
◼QnA Bot
◼LUIS Bot
13
ターゲットフレームワークを変更
14
期間限定の注意
15
Microsoft.AspNetCore.All のバージョンは
2.1.2 を指定すること
(2018年8月時点)
QnA / LUIS 無しのパッケージ一覧
16
パッケージは 5個
今日の内容
◼Bot Builder V4 SDK (復習)
◼AI Bot 用 NuGet パッケージ
◼QnA Bot
◼LUIS Bot
17
QnA Maker 用パッケージ
18
“ai qna” で検索するとよい
QnA Bot の準備完了
19パッケージは 6個
QnA Maker パッケージの特徴
◼シンプルな QnA Bot ならば非常に簡単
◼ただし、適合解を “勝手に” 応答してしまう挙動
◼プロパティ設定で多少は応答をカスタマイズできる
• REST 呼び出しにする手もある
20
appsettings.json
21
Startup.cs
22
Bot.cs (シンプルな例)
23
これだけで
適合解を返す
適合解が
見つからなかった場合
Bot.cs (柔軟な例 - 1/2)
24
しきい値と
回答の個数を指定
Bot.cs (柔軟な例 - 2/2)
25
回答の
カスタマイズ
今日の内容
◼Bot Builder V4 SDK (復習)
◼AI Bot 用 NuGet パッケージ
◼QnA Bot
◼LUIS Bot
26
LUIS 用パッケージ
27
“ai luis” で検索するとよい
LUIS Bot の準備完了
28パッケージは 6個
LUIS 用パッケージの特徴
◼Intent とそのスコアの取得は簡単
◼Entity のパースが少し面倒かも
◼複数の Intent があるとコードが長くなる
• 回避策(一案)は、このあとで紹介
29
appsettings.json
30
Startup.cs
31
Bot.cs (シンプルな例)
32
Intent と
スコアだけなら簡単
Bot.cs (柔軟な例 - 1/2)
33
Bot.cs (柔軟な例 - 2/2)
34
Intent が増えると
コード肥大化
Entity のパース
Bot.cs (コード整理 - 1/2)
35
Intent ごとの
Delegate を作成
Bot.cs (コード整理 - 2/2)
36
Intent ごとに
処理を分ける
まとめ
◼AI Bot の開発はとても簡単
• NuGet パッケージのバージョンには注意
• Startup.cs の記述はパターンで覚えて OK
• QnA パッケージ、LUIS パッケージを使えば
AI Bot 開発もラクラク
• ただし ”勝手に応答してしまう” など、柔軟さに欠ける場合もある
37
参考) REST 版 QnA Bot
QnA Maker で NuGet パッケージを利用しない方法
38
Bot.cs
39
QnaResponse.cs
40
REST 呼び出しの応答をデシリアライズするクラス

Weitere ähnliche Inhalte

Was ist angesagt?

Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
Tadahiro Ishisaka
 
FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?
Masakazu Muraoka
 

Was ist angesagt? (20)

【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
 
ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜ
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
 
Managed your slides by Git and upload them
Managed your slides by Git  and upload themManaged your slides by Git  and upload them
Managed your slides by Git and upload them
 
Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
 
「Kivyによるアプリケーション開発のすすめ」の勧め
「Kivyによるアプリケーション開発のすすめ」の勧め「Kivyによるアプリケーション開発のすすめ」の勧め
「Kivyによるアプリケーション開発のすすめ」の勧め
 
第5回資料
第5回資料第5回資料
第5回資料
 
FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?
 
Jazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうJazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょう
 
Kivyでゲーム
KivyでゲームKivyでゲーム
Kivyでゲーム
 
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit..NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
 
【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!
【Code for向け】保育園・消火栓mapを作れるアプリを作ろう!
 
Thing.jsについて
Thing.jsについてThing.jsについて
Thing.jsについて
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
 

Ähnlich wie Bot Builder V4 SDK + QnA Maker / LUIS

ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 

Ähnlich wie Bot Builder V4 SDK + QnA Maker / LUIS (20)

Bot Framework 最新情報 2018
Bot Framework 最新情報 2018Bot Framework 最新情報 2018
Bot Framework 最新情報 2018
 
チャットボットの自然言語処理
チャットボットの自然言語処理チャットボットの自然言語処理
チャットボットの自然言語処理
 
Bot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごいBot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごい
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
使い倒そう Visual Studio Code! ~クラウド連携や遠隔ペアプロ、  もちろん Git も便利に~
使い倒そう Visual Studio Code!~クラウド連携や遠隔ペアプロ、 もちろん Git も便利に~使い倒そう Visual Studio Code!~クラウド連携や遠隔ペアプロ、 もちろん Git も便利に~
使い倒そう Visual Studio Code! ~クラウド連携や遠隔ペアプロ、  もちろん Git も便利に~
 
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
 
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
 
Bot Framework v4 開発 Tips 2018-11
Bot Framework v4  開発 Tips 2018-11Bot Framework v4  開発 Tips 2018-11
Bot Framework v4 開発 Tips 2018-11
 
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たちBot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
 
Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdf
 
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section2
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section2IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section2
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section2
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
 
React vtecx20171129
React vtecx20171129React vtecx20171129
React vtecx20171129
 
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみるWeb屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
 
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
 
【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...
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
Beatroboでのハードウェアプロトタイピング
 
MS系Chatbot触ってみた
MS系Chatbot触ってみたMS系Chatbot触ってみた
MS系Chatbot触ってみた
 

Mehr von Yoshitaka Seo

Mehr von Yoshitaka Seo (20)

言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
 
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
 
AI-900 ポイント解説
AI-900 ポイント解説AI-900 ポイント解説
AI-900 ポイント解説
 
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
 
AIの見方、AIとの付き合い方
AIの見方、AIとの付き合い方AIの見方、AIとの付き合い方
AIの見方、AIとの付き合い方
 
Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類
 
誰もが AI を使う時代、作る時代
誰もが AI を使う時代、作る時代誰もが AI を使う時代、作る時代
誰もが AI を使う時代、作る時代
 
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionAzure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
 
API ペタペタしただけのお手軽 感情分析アプリ
API ペタペタしただけのお手軽 感情分析アプリAPI ペタペタしただけのお手軽 感情分析アプリ
API ペタペタしただけのお手軽 感情分析アプリ
 
Machine Learning studio で構造化データから予測分析 (LT版)
Machine Learning studio で構造化データから予測分析 (LT版)Machine Learning studio で構造化データから予測分析 (LT版)
Machine Learning studio で構造化データから予測分析 (LT版)
 
BIerのためのAI入門
BIerのためのAI入門BIerのためのAI入門
BIerのためのAI入門
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析
 
Custom Visionを活用するためのTips
Custom Visionを活用するためのTipsCustom Visionを活用するためのTips
Custom Visionを活用するためのTips
 
Machine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみようMachine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみよう
 
VS Code Tools for AI の紹介
VS Code Tools for AI の紹介VS Code Tools for AI の紹介
VS Code Tools for AI の紹介
 
QnA Maker 逆入門
QnA Maker 逆入門QnA Maker 逆入門
QnA Maker 逆入門
 
PowerApps アプリ開発入門
PowerApps アプリ開発入門PowerApps アプリ開発入門
PowerApps アプリ開発入門
 
Bot Service 概要
Bot Service 概要Bot Service 概要
Bot Service 概要
 
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
 
Skype for Business + Bot + Graph API
Skype for Business + Bot + Graph APISkype for Business + Bot + Graph API
Skype for Business + Bot + Graph API
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Bot Builder V4 SDK + QnA Maker / LUIS