MS系 Chatbot 触ってみた
2018/03/09
Taketo Wakabayashi
Agenda 1. MS系 Chatbot 関連サービス
2. Microsoft Bot Framework
3. Azure Bot Service & QnA Maker によ
るコードレスボット実装
4. 高度な Chatbot 開発
5. Input/Outputの拡張
6. 避けて通れないお金の話
7. Chatbot 活用事例と成功の秘訣
2
1. MS系 Chatbot 関連サービス
3
Microsoft Bot/AI関連サービス
4
Chatbot 構築に必要な技術
5
2. Microsoft Bot Framework
6
Microsoft Bot Frameworkとは
7
Bot Developer SDKs
8
Bot Connector
9
Bot Directory
10
3. Azure Bot Service & QnA Maker
によるコードレスボット実装
11
いや、ちょっと試したいんだけど・・・
コードレスで
お願いします
12
Azure Bot Service とは
Microsoftが提供する、”Bot as a Service”
開発したBotを展開するプラットフォームを提供するサービス
※アプリケーションのホスティング+コネクタ(外部サービス接続)
ホスティングプランとして、以下の2種類を選択可能
● Web App Bot
Azure Web Apps ベースで動作。時間課金となる。
● Function Bot
Azure Functions ベースで動作。従量課金となる。
13
QnA Makerとは
Microsoftが提供する Cognitive Service
Knowledge baseを作成し、1問1答形式の
Chatbotを容易に実装・展開することができる。
展開方式として、以下の2種類を利用可能
● Azure Bot Service 連携
Microsoft アプリケーションや、既存のチ
ャットプラットフォーム・UIを活用
● REST API
カスタムアプリへの組み込み等で利用
14
QnA Maker Knowledge Base
入力に対する出力の元となるKnowledge Base を、
以下のデータソースから作成可能。
● 直接Q&Aを入力
● Q&AサイトのURL
● 作成済みのQ&Aファイル
(対応拡張子:tsv / pdf / doc / docx / xlsx)
15
QnA Maker のチューニング
QnA Maker の動作として、Knowledge Baseの質
問リストに一致しない質問に関しては、独自の
マッチングアルゴリズムを元に適合度を算出し、
適合度が最も高い質問に対する回答を返す。
(適合度が低すぎると”分からない”と回答)
想定される質問を予め入力し、期待回答を選択
する(教師有り学習)ことで、精度向上を図る
ことができる。
16
Azure Bot Serviceとの連携
Azure Bot Serviceを作成する際に、ボットテン
プレートとして「Question and Answer」を選択
することで、QnA Makerで作成した Chatbot を
Azure Bot Service 上に展開することができる。
17
Demo : QnA Maker Bot
18
4. 高度な Chatbot 開発
19
Chatbot 構築に必要な技術(再掲)
20
Using dialogs to manage conversation flow
21
Demo : Manage conversation
flow with a waterfall
22
Chatbot 構築に必要な技術(再掲)
23
LUIS(Language Understanding Intelligent Service)とは
Microsoftが提供するCognitive Service
自然言語を入力とし、JSON形式のオブジェクトを返す。
自然言語テキスト(非構造化データ)をJSONオブジェクト(構造化データ)に変換することで、後のア
プリケーション処理に活用。
、
24
Key LUIS concepts
Input (自然言語テキスト)
● Utterances:ユーザーからのテキスト入力
例)「明日の天気は?」、「パリへのチケットを予約したい」、「オリンピック」
Output (JSON形式)
● Intents:ユーザーが実行したいアクション
例)天気の取得、フライトの予約、ニュース記事の検索
● Entities:発話に対する構成情報
例)明日、天気、パリ、チケット、予約、オリンピック
25
Demo : Setting LUIS App
& Request from Custom Bot
26
5. Input/Outputの拡張
27
Bot Framework を活用したアーキテクチャ例
28
Microsoft Cognitive Service
29
Microsoft Flow & Azure Logic Apps
30
Microsoft PowerApps
31
6. 避けて通れないお金の話
32
● Standard チャネル:Microsoft のファーストパーティサービス (Skype、Cortana、Microsoft Teams など) や、一般提供
されているボット API を使用するサービス (Facebook、Slack など) が含まれる。
● Premium チャネル:ボットを使用して、お客様の独自のアプリケーションや Web サイト内で、ユーザーと信頼できる通信
を行うことができます。これらのチャネルでは、オープン ソースの DirectLine と Web Chat のクライアントをカスタマイ
ズすることで、ユーザーのクライアント エクスペリエンスをカスタマイズ可能。
※別途、Bot をホストするサービス(Azure Web Apps, Azure Functions)の料金が発生。
チャネル FREE S1
Standard チャネル メッセージ数無限 メッセージ数無限
Premium チャネル 10,000 メッセージ/月 1,000 メッセージあたり ¥56
Azure Bot Service の価格
33
Previewのため無償。
GAのタイミングで公式発表があるでしょう。
なお、MS公式FAQには以下の記述も。今後に期待。
QnA Maker のロードマップはどのようなものですか。
現時点では、QnA Maker ツールで処理できる FAQ コンテンツは半構造化されたもののみです。最終的には、構造
化されていないコンテンツの質問への回答も可能になる見込みです。
QnA Maker の価格
34
LUIS の価格
● Freeレベルに対して、SLAは提供されません。
35
レベル 機能 単位 料金
LUIS API - Free トランザクション 10,000 無料トランザクション/月
LUIS API - Basic 最大50トランザクション/秒 トランザクション ¥168 / 1,000トランザクション
7. Chatbot 活用事例と成功の秘訣
36
Microsoft Bot Framework 活用事例
37
Microsoft Bot Framework 活用事例
38
活用事例から見る Chatbot 成功の秘訣
1. Chatbot の適用範囲を絞り込む
自然言語処理に頼りきらず、範囲を絞ることで入力される範囲を限定
Chatbot を無理に拡張してスマートにする必要はない
2. 利用前に Chatbot の利用方法をユーザーに伝える
特徴(解釈可能な構文)の提示
フリーテキストだけでなく、選択肢の提示
可能な限りシンプルに。会話が複雑になりそうなら早めに人間・適切なサイトを案内
・参考
会話式チャットボットの設計課題(IBM developerWorks)
チャットボットを作るときに気を付けるべき唯一つのこと(Microsoft)
39

MS系Chatbot触ってみた