ソリューションのアイデア
この記事ではソリューションのアイデアについて説明します。 クラウド アーキテクトはこのガイダンスを使用すると、このアーキテクチャの一般的な実装の主要コンポーネントを視覚化しやすくなります。 ワークロードの特定の要件に適合する、適切に設計されたソリューションを設計するための出発点として、この記事を使用してください。
このソリューションのアイデアでは、モノのインターネット (IoT) デバイスとの音声会話インターフェイスを作成する方法について説明します。 Azure Speech Service、Language Understanding Service (LUIS)、Azure Bot Framework を組み合わせることにより、人間に似た自然な会話インターフェイスを作成し、Azure IoT Hub を使用して IoT デバイスを制御することができます。
考えられるユース ケース
- 音声コマンドで操作するテレビや冷蔵庫など、インターネットにアクセス可能なホーム デバイスを制御する。
- 音声と自然言語を使用して、IoT に接続されたデバイスに関する問題を報告する。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
データフロー
ユーザーが音声デバイスを使用して、屋外灯を点灯するように音声アシスタント アプリに指示します。
アプリは、Azure Speech SDK を使用して Direct Line Speech Bot Service チャネルに接続します。 キーワード認識で特定のキーワードが確認されると、Direct Line Speech では、音声テキスト変換による文字起こしが行われ、そのテキストが、Azure App Service でホストされている Bot Service アプリに送信されます。
Bot Service は Language Understanding (LUIS) サービスに接続します。 LUIS では、ユーザーの要求の意図 (TurnOnLight) が判断されます。
LUIS によって、その意図が Bot Service に返されます。
デバイスが Azure IoT Hub に接続されている場合、Bot Service は、Azure IoT Hub を介して要求をリレーし、屋外灯を点灯します。 Bot Service では、IoT Hub API を使用して、直接的な方法の使用、デバイス ツインの必要なプロパティの更新、または cloud to device メッセージの送信のいずれかの方法により、コマンドをデバイスに送信します。
デバイスがサードパーティの IoT インストールに接続されている場合、Bot Service は、サードパーティの API を介して接続し、コマンドをデバイスに送信します。
Bot Service によって、応答が生成され、コマンドの結果がユーザーに返されます。 テキスト読み上げ サービスでは、応答をオーディオに変換し、Direct Line Speech を使用して音声アシスタント アプリに渡します。
Application Insights によって、ボットのパフォーマンスと使用状況に関するランタイム テレメトリが収集され、開発を支援します。
コンポーネント
- Bot Service: ボット開発のための統合環境を提供します。
- Speech Service: 音声テキスト変換、テキスト読み上げ、音声翻訳、話者認識など、業界をリードする音声機能を提供します。
- Language Understanding Service (LUIS): カスタムの機械学習インテリジェンスを会話型の自然言語テキストに適用して、意味を予測し、関連情報を引き出します。
- IoT Hub: IoT アプリケーションとデバイス間の双方向通信のための中央クラウド メッセージ ハブ。
- Application Insights: 拡張可能なアプリケーション パフォーマンス管理とライブ Web アプリの監視を提供する Azure Monitor の機能。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Kevin Hilscher | プリンシパル プロダクト マネージャー、Azure IoT
次の手順
- 音声アシスタントのドキュメント
- クイックスタート: カスタム キーワードを作成する
- ボットを作成する
- チュートリアル:Speech SDK を使用して音声でボットを有効にする
- ボットに自然言語の理解 (LUIS) を追加する
- LUIS アプリの作成
- 意図を追加して LUIS アプリをトレーニングする
- Azure Iot Hub 開発者ガイド