2019年11月20-21日に開催されていた LINE Developer Day 2019 で登壇の機会をいただき、Azure を活用した楽しいチャットボットを作るセッションを担当いたしました。 内容としては、Azure で自動応答ボットを手軽に作る方法 & AI 機能を手軽に取り込む方法のご紹介でした。
#linedevday 2019セッション紹介
— LINE Developers (@LINE_DEV) 2019年10月28日
日本マイクロソフト 大森彩子様( @ayako_omori )による「クラウドを活用した楽しい LINE 対応 ボット開発 基本の”き”」では、クラウドを活用したチャットボット開発を行うための基礎知識についてお話しいただきます。動画・資料は非公開です。https://t.co/ooJQoYLqFN
自動応答ボットを手軽に作る方法
LINE だけでなくさまざまなSNS&チャットツールに対応した汎用ボットを作る方法として Azure Bot Service、ボットに限らず Serverless でクラウドならではのトリガー起動でアクションを実行できる方法として Azure Logic Apps, Azure Functions をご紹介しました。
Azure Bot Service
Azure Bot Service を利用すると、ひとつの汎用ボットから Microsoft Teams や Slack、LINE などの SNS ツール、Web API などにノンコーディングで接続可能です。
2019年11月からプレビュー公開された Bot Framework Composer を利用すると、ノンコーディングで&GUI でチャットボットの会話フローを作成できます。
- Bot Framework Composer で チャットボットをノンコーディング開発 (1) ひとまず EchoBot 編
- Bot Framework Composer で チャットボットをノンコーディング開発 (2) Dialog (+ユーザー入力、外部 API 利用、条件分岐)
Azure Logic Apps
とりあえず LINE 対応ボットをノンコーディングで作成するなら、Azure Logic Apps が利用できます。Office 365 (OneDrive, Excel, Sharepoint など) はもちろん Gmail や Twitter といった 3rd Party を含めたサービスに接続できるコネクターを組み合わせてワークフロー処理を作成できます。
Azure Functions
もっと柔軟にボットを作成するなら Trigger で稼働する Function を作成できるサービスである Azure Functions もおススメです。Azure Durable Functions なら複数の Function の処理を組み合わせて処理することも可能です。
AI 機能を手軽に取り込む方法
チャットボットで自動応答させるためにまず取り入れたい AI 機能である自然言語処理系のサービスとして、FAQリストから事前言語処理込みのエンジンを作成できる Azure Cognitive Services QnA Maker、テキストに限らず画像の分析をも行ってメタデータ化して全文検索インデックス処理を行う Azure Cognitive Search、文章のクラス分類やエンティティ抽出を手軽に行える Cognitive Services Language Understanding をご紹介しました。
Cognitive Services QnA Maker
FAQ リストから自然言語&全文検索エンジンを自動で作成する QnA Maker はFAQボットのエンジンとしてノンコーディングで作成でき、また Azure Bot Service への組み込みも簡単に行えます。
Cognitive Services Language Understanding
自然言語処理エンジンとして、文章の分類(Intent) とエンティティ抽出を行うことができる Language Understanding は GUI で例文を登録する形でカスタムしたエンジンを利用できます。こちらスマートスピーカーなどユーザーの意図を判定するようなシーンにもピッタリです。
Azure Cognitive Search
2019 年 11 月より Azure Search の名称改め Azure Cognitive Search はテキスト、画像を含むあらゆるデータを取り込んでメタデータ化し、インデックス処理を行って Web API でクエリ―検索ができるインテリジェントな全文検索エンジンです。 もちろん FAQ 検索エンジンとして利用できますが、キーワード検索で関連が高い言葉を抽出するなどの処理も可能でナレッジマイニングとしての利用も可能です。
- Azure Bot Service × Language Understanding × Cognitive Search サンプル (web)
- Azure Bot Service × Language Understanding × Cognitive Search サンプル (コード)
ピンバック: Slackで不在時に自動応答させるボット – Toto Note