Bot Framework SDK と最新機能でボット開発を加速
執筆者: Yochay Kiriaty (Principal Program Manager, Azure Platform)
このポストは、2019 年 5 月 16 日に投稿された Accelerate bot development with Bot Framework SDK and other updates の翻訳です。
会話エクスペリエンスは、荷物の配送状況の追跡や店舗の営業時間の確認などに使用する標準的なソリューションになりつつあります。Microsoft Build 2019 では、Microsoft Bot Framework (英語) と Azure Bot Service (英語) を使用してそうした会話エクスペリエンスを構築し、カスタマー エクスペリエンスを刷新しているお客様の事例をご紹介しました。
- LaLiga: 複数のプラットフォームを通じてサッカー ファンからの問い合わせに対応する独自の仮想アシスタント (英語) を構築
- BMW: 複数の言語に対応した会話エクスペリエンスを可能にする AI 音声会話システム BMW インテリジェント パーソナル アシスタント (英語) を構築
ボットや仮想アシスタントの普及がさらに進めば、会話エクスペリエンスに対する期待もその分高まるはずです。そのため、Bot Framework SDK や各ツールは、開発者が会話 AI ソリューションをより生産的に構築できることを考えて設計されています。それでは、Build 2019 で発表した主な新機能をご紹介しましょう。
Bot Framework SDK およびツール
アダプティブ ダイアログ
Bot Framework SDK でアダプティブ ダイアログをサポートしました (プレビュー)。アダプティブ ダイアログは、会話のコンテキストやイベントに応じて会話フローを動的に更新するものです。開発者は複数のアクションを定義し、それぞれのアクションに、会話中に発生したイベントの結果に応じた一連のステップを設定できます。これにより、コンテキストに合わせて動的に対応を変えることができます。これは、会話途中でのコンテキストの切り替えや中断を処理するときに特に便利です。アダプティブ ダイアログは、入力認識、イベント ハンドリング、会話モデル (ダイアログ)、出力生成を 1 つの自己完結型ユニットにまとめたものです。下の図は、アダプティブ ダイアログがユーザーによるコンテキストの切り替えに対応する流れを示しています。この例では、フライトを予約しようとしているユーザーが、旅行計画に影響しそうな天気について問い合わせたことで、コンテキストが切り替わっています。
詳細については、アダプティブ ダイアログのサンプル (英語) をご覧ください。
スキル
開発者は、スキル (英語) と呼ばれる再利用可能な会話機能を組み合わせて会話エクスペリエンスを構成できます。スキルは Bot Framework ボットとして実装され、言語モデル、ダイアログ、アプリケーション間で再利用可能なカードなどが組み込まれています。現在、スキルはプレビューとして提供しており、「メール」「カレンダー」「POI (Point of Interest)」などが利用できます。
企業でスキルを使用すると、異なるチームが所有する複数のサブ ボットを中央ボットに統合したり、他の開発者が提供している一般的な機能をより広く活用したりできます。プレビュー版では、Virtual Assistant Template から新しいボットを作成し、ディスパッチと構成変更のすべてが盛り込まれたコマンド ライン 1 つでスキルを追加、削除できます。開発者向けに、.NET (英語) と TS (英語) のテンプレートを用意していますのでご利用ください。
仮想アシスタント ソリューション アクセラレータ
Enterprise Template が Virtual Assistant Template (英語) になりました。このテンプレートのスキル、アダプティブ カード、TypeScript ジェネレーター、最新の会話テレメトリ、PowerBI 分析、ARM ベースの自動 Azure デプロイを使用することで、設定作業なしで仮想アシスタントを構築できます。また、Dependency Injection (依存オブジェクト注入) によって簡素化された、ASP.NET MVC パターンに適合する C# のテンプレートも提供されます。既に Enterprise Template を使用していて、今回の新しい機能を試したい方は、こちらのステップ (英語) に沿って移行すると、簡単に利用できるようになります。
エミュレーター
Bot Framework Emulator で新たに Bot Inspector 機能をリリースしました。これは、Microsoft Teams、Slack、Cortana、Facebook Messenger、Skype などのチャネルで Bot Framework SDK v4 ボットをデバッグ、テストする機能です。会話中のメッセージが Bot Framework Emulator にミラーリングされ、ボットが受信したメッセージ データを調べることができます。また、チャネルとボット間の任意のターンにおけるボットの状態のスナップショットもレンダリングされます。ボットの状態を調べるには、会話のミラーリングの「Bot State」要素をクリックします。詳細については Bot Inspector のページ (英語) をご覧ください。
言語生成 (プレビュー)
スマートで動的なボット応答の作成を効率化できます。有益で文法的に正しい可変の応答を構築し、ボットからユーザーに送信できます。詳細については GitHub リポジトリ (英語) を参照してください。
QnA Maker
マルチターン ダイアログを簡単に処理
QnA Maker で、事前定義された一連のマルチターン Q&A フローを扱えるようになりました。たとえば、所定の回答へと案内できるよう一連の質問とフォローアップの質問プロンプトをあらかじめ構成して、顧客とやり取りしながら製品のトラブルシューティングを進めるように QnA Maker を設定できます。QnA Maker は、URL、.pdf ファイル、.docx ファイルからの階層的な QnA ペアの抽出をサポートしています。QnA Maker のマルチターン ダイアログの詳細についてはこちらのドキュメントを参照してください。最新のサンプル (英語) やショート ビデオ (英語) もご覧ください。
デプロイの簡素化
ボットのデプロイ プロセスも簡素化しました。あらかじめ定義されている Bot Framework v4 テンプレートを使用すると、公開済みの任意の QnA Maker ナレッジ ベースからボットを作成できます。複雑な QnA Maker ナレッジ ベースを数分で作成できるだけでなく、Teams、Skype、Slack といったサポート対象チャネルへのデプロイも数分で可能です。
Language Understanding (LUIS)
Language Understanding には開発者がテキストからより詳細な情報を抽出できる機能が搭載されているため、より簡単にインテリジェントなソリューションを構築できます。
あらゆるエンティティ型に対応するロール
ロールがあらゆるエンティティ型に対応するように拡張され、同じエンティティであってもコンテキストに応じてさまざまなサブタイプで分類できるようになりました。
新しいビジュアル分析ダッシュボード
より詳細な情報をビジュアルで提示する包括的な分析ダッシュボードを追加しました。アプリケーションの設計時に多くのユーザーが直面する一般的な問題を目立たせるユーザー フレンドリな設計で、そうした問題の解決方法を簡単な説明で提示し、モデルの品質、潜在的なデータの問題、ベスト プラクティスの適用ガイドなどについてより多くのヒントを得られるようになっています。
動的リスト
データは絶えず変化し、その動きはエンド ユーザーごとに異なります。Language Understanding を使用して実現できることを、開発者がより細かく制御できるようになりました。たとえば、実行時に動的リストと外部エンティティからモデルを特定し、更新できます。動的リストは、予測時にリスト エンティティに追加でき、ユーザー固有の情報を基に予測の精度を高められます。
新しい v3 API で提供される Language Understanding の新機能の詳細については、こちらのドキュメントをご覧ください。BMW、Accenture、Vodafone、LaLiga といったお客様は、Azure で高度なボットをすばやく構築し、それを活用して顧客との新たなつながりを模索しています。
利用を開始する
マイクロソフトはこれらの機能強化を通じて、Microsoft Bot Framework SDK および各ツール、Language Understanding、QnA Maker 全体の価値を引き上げ、会話エクスペリエンスを開発する皆様の生産性をさらに高められるよう支援します。
皆様がどのような会話エクスペリエンスを構築されるのか楽しみにしています。ぜひ今から始めてください!