音声アシスタント アプリを使用して IoT デバイスを制御する

Azure AI Bot Service
Azure IoT Hub
Azure AI サービス
Azure AI 音声

ソリューションのアイデア

このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。

このソリューションのアイデアでは、モノのインターネット (IoT) デバイスとの音声会話インターフェイスを作成する方法について説明します。 Azure Speech ServiceLanguage Understanding Service (LUIS)Azure Bot Framework を組み合わせることにより、人間に似た自然な会話インターフェイスを作成し、Azure IoT Hub を使用して IoT デバイスを制御することができます。

考えられるユース ケース

  • 音声コマンドで操作するテレビや冷蔵庫など、インターネットにアクセス可能なホーム デバイスを制御する。
  • 音声と自然言語を使用して、IoT に接続されたデバイスに関する問題を報告する。

アーキテクチャ

Diagram showing the architecture of a voice assistant app.

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

  1. ユーザーが音声デバイスを使用して、屋外灯を点灯するように音声アシスタント アプリに指示します。

  2. アプリは、Azure Speech SDK を使用して Direct Line Speech Bot Service チャネルに接続します。 キーワード認識で特定のキーワードが確認されると、Direct Line Speech では、音声テキスト変換による文字起こしが行われ、そのテキストが、Azure App Service でホストされている Bot Service アプリに送信されます。

  3. Bot Service は Language Understanding (LUIS) サービスに接続します。 LUIS では、ユーザーの要求の意図 (TurnOnLight) が判断されます。

  4. LUIS によって、その意図が Bot Service に返されます。

  5. デバイスが Azure IoT Hub に接続されている場合、Bot Service は、Azure IoT Hub を介して要求をリレーし、屋外灯を点灯します。 Bot Service では、IoT Hub API を使用して、直接的な方法の使用、デバイス ツインの必要なプロパティの更新、または cloud to device メッセージの送信のいずれかの方法により、コマンドをデバイスに送信します。

    デバイスがサードパーティの IoT インストールに接続されている場合、Bot Service は、サードパーティの API を介して接続し、コマンドをデバイスに送信します。

  6. Bot Service によって、応答が生成され、コマンドの結果がユーザーに返されます。 テキスト読み上げ サービスでは、応答をオーディオに変換し、Direct Line Speech を使用して音声アシスタント アプリに渡します。

  7. Application Insights によって、ボットのパフォーマンスと使用状況に関するランタイム テレメトリが収集され、開発を支援します。

コンポーネント

  • Bot Service: ボット開発のための統合環境を提供します。
  • Speech Service: 音声テキスト変換、テキスト読み上げ、音声翻訳、話者認識など、業界をリードする音声機能を提供します。
  • Language Understanding Service (LUIS): カスタムの機械学習インテリジェンスを会話型の自然言語テキストに適用して、意味を予測し、関連情報を引き出します。
  • IoT Hub: IoT アプリケーションとデバイス間の双方向通信のための中央クラウド メッセージ ハブ。
  • Application Insights: 拡張可能なアプリケーション パフォーマンス管理とライブ Web アプリの監視を提供する Azure Monitor の機能。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Kevin Hilscher | プリンシパル プロダクト マネージャー、Azure IoT

次の手順