よりお手軽なBotへ
〜APIで効率的なBotを〜
2019/10/10 加藤 司
JAZUG 熊本
平日夜の勉強会#3
Profile
• Tsukasa Kato / 加藤 司
• 株式会社オルターブース
テクニカルアーキテクト
• Microsoft MVP for Microsoft Azure
• https://tsukatoh.hatenablog.com/
• https://www.slideshare.net/tsukasakatou9
Bot
Botとは
Bot(ボット)は、robot(ロボット)の短縮形・略称。転じて、
コンピュータやインターネットの分野においては、作業を自動化
するプログラムの総称。
参考:Wikipedia
Bot(ゲーム関連)
• オンラインゲームなどでは自動でレベル上げをさせたり、アイテ
ム収集をさせたりなどが可能。
• ただしご利用は計画的に。
(ゲームによってはアカウント停止処分を下される場合もありま
す)
Bot(インターネット)
• 検索エンジン上でのBOTはWebページ収集の役割を持っている。
• インターネット上にあるWebページをBOTが自動的にリンクを辿
りページを収集することで検索エンジンの検索結果に反映される
仕組みとなっている。
Bot(チャット)
• 会話形式で応答するWebサービス
• メッセンジャーやチャットを元にしたインターフェースを活用して提供
• 人間と会話しているような感覚で情報収集などができる
• 特定範囲の要求に応答する
• 特定範囲のQ&Aや命令・依頼への応答を目的とする
• 自然言語の処理
Bot-related
services
QnA Maker
QnA Maker
FAQ形式のWebページやファイルから簡単にQ&A Botを生成
Cognitive ServiceのLanguage
の分類に属するサービスで
ナレッジベースの回答をす
るBotなどを素早く作成でき
る
QnA Maker
既存データに基づいて対話型の Q&A ナレッジベースを作成
FAQ、マニュアル、ドキュメントなどの 半構造化コンテンツから質問と回答を抽出
ユーザー行動から継続的に学習
テストや運用の結果をもとに学習
50以上の言語に対応
ナレッジベース作成時に第一言語が自動検出されアナライザーが設定される
QnA Makerの依存リソース
App Service
ランタイム用、サービスのスループットに影響
Azure Search
QnAの格納用、ナレッジベースのサイズと数に影響
App Insights
チャット ログとテレメトリの格納用、省略可
QnA Maker SKUの選び方
QNA MAKER
管理
APP
SERVICE
AZURE
SEARCH 制限事項
実験 無料の SKU Free レベル Free レベル 発行できる KB は 2 つまで
(最大サイズ 50 MB)
開発/テスト
環境
Standard SKU 共有 Basic 発行できる KB は 14 個まで
(最大サイズ 2 GB)
運用環境 Standard SKU Basic Standard 発行できる KB は 49 個まで
(最大サイズ 25 GB)
Language Understanding(LUIS)
Language Understanding(LUIS)
自然言語を理解する機能を提供するAPIサービス
ユーザーの目標を解釈して
文章から価値のある情報を
抽出し、高品質で繊細な言
語モデルを構築。
Language Understanding(LUIS)
自然言語の理解をアプリへ追加
Azure Bot Serviceへシームレスに統合
常に学習して改善
強化学習機能にて継続的にモデルを更新、改善される
エンタープライズ対応
国際的なコンプライアンス標準に準拠し、12言語をサポート
コンテナでの使用
Dockerコンテナとして動作
docker run --rm -it -p 5000:5000 ^
--memory 4g ^
--cpus 2 ^
--mount type=bind,src=c:¥input,target=/input ^
--mount type=bind,src=c:¥output¥,target=/output ^
mcr.microsoft.com/azure-cognitive-services/luis ^
Eula=accept ^
Billing={ENDPOINT_URI} ^
ApiKey={API_KEY}
※ENDPOINT_URIとAPI_KEYはCognitive Servciesリソースのエンドポイントとキー
https://docs.microsoft.com/ja-jp/azure/cognitive-services/luis/luis-container-howto
Azure Bot Service
Azure Bot Service
Bot開発向けのマネージドサービス
Cognitive Service
のAIサービスAPI
と連携したボッ
トを簡単に作成
でき、様々なク
ライアントへ配
布が可能
https://azure.microsoft.com/ja-jp/services/bot-service/
Azure Bot Service
簡単に Cognitive Services を統合
自然言語処理や画像、音声などの解釈機能をネイティブ統合
複数の通信チャネルと統合
Teams、Slack、Cortana、Facebook Messengerなどのチャネルに適用
オープンソース SDK とツールを使用してボットを構築
一般的なチャネルやデバイスにボットを簡単に接続
サポートチャネル
https://azure.microsoft.com/ja-jp/services/bot-service/
Case
Azure Bot Service + QnA Maker + LUIS
https://azure.microsoft.com/ja-jp/services/cognitive-services/language-understanding-intelligent-service/
エンタープライズ向けBot
https://docs.microsoft.com/ja-jp/azure/architecture/reference-architectures/ai/conversational-bot
まとめ
• Azure Bot Service + QnA Makerで数分で公開できるチャットボッ
ト が作成できる
• Azure Bot Serviceへ接続することでメッセージングアプリへの配
信も容易
• 音声や画像を扱いたい場合はCognitive Serivicesとの連携を
• 自然言語処理を入れる場合はLUISを使って効率よく
ご静聴ありがとうございました
ハンズオン
【Microsoft Learn】QnA Maker と Azure Bot Service を使用し
て FAQ チャット ボットを作成する
【チュートリアル】基本的なボットを作成してデプロイする

よりお手軽なBotへ 〜APIで効率的なBotを〜