(57)【要約】      （修正有）【課題】複数のインテリジェントパーソナルアシスタント（ＩＰＡ）サービスから起動するＩＰＡサービスを選択するＩＰＡ管理アプリケーションを提供する。【解決手段】ＩＰＡ管理アプリケーションは、ユーザの口頭発話に応じて生成された第１の音声信号を受信するステップ４０１と、第１の音声信号を解析し起動フレーズを検出するステップ４０２と、検出された起動フレーズを基に、ＩＰＡサービスを選択するステップ４０５と、第１の音声信号からクエリコンテンツを抽出するステップ４０６と、クエリコンテンツを基に、第２の音声信号を生成するステップ４０７と、第２の音声信号を前記ＩＰＡに送信するステップ４０８と、を含む。【選択図】図４
2018181330.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサによる実行時に、
第１の音声信号内の起動フレーズを検出することと、
前記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択することと、
前記第１の音声信号からクエリコンテンツを抽出することと、
前記クエリコンテンツを基に、第２の音声信号を生成することと、
前記第２の音声信号を前記ＩＰＡに送信することと
のステップ群を行う音声認識を行うように前記１つ以上のプロセッサを構成する命令を含む、非一時的なコンピュータ可読記憶媒体。
【請求項２】
１つ以上のプロセッサによる実行時に、
前記第１の音声信号の追加の起動フレーズを検出することと、
前記追加の起動フレーズを基に、前記一群の候補のＩＰＡに含まれている追加のＩＰＡを選択することと
のステップ群を行うように前記１つ以上のプロセッサを構成する命令をさらに備える、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項３】
１つ以上のプロセッサによる実行時に、前記第２の音声信号を前記追加のＩＰＡに送信するステップを行うように前記１つ以上のプロセッサを構成する命令をさらに備える、請求項２に記載の非一時的なコンピュータ可読媒体。
【請求項４】
１つ以上のプロセッサによる実行時に、
前記追加の起動フレーズに関連する前記第１の音声信号から追加のクエリコンテンツを抽出することと、
前記追加のクエリコンテンツを基に、第３の音声入力を生成することと、
前記第３の音声入力を前記追加のＩＰＡに送信することと
のステップ群を行うように前記１つ以上のプロセッサを構成する命令をさらに備える、請求項２に記載の非一時的なコンピュータ可読媒体。
【請求項５】
１つ以上のプロセッサによる実行時に、
前記ＩＰＡから第１の応答音声信号を受信することと、
前記第１の応答音声信号を再生させることと、
前記第１の応答音声信号の再生中に、前記一群の候補のＩＰＡに含まれる追加のＩＰＡから第２の応答音声信号を受信することと、
前記第１の応答音声信号の再生が完了した後、前記第２の応答音声信号の再生を開始することと
のステップ群を行うように前記１つ以上のプロセッサを構成する命令をさらに備える、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項６】
前記第１の応答音声信号は、前記第２の音声信号の送信に応じて受信される、請求項５に記載の非一時的なコンピュータ可読媒体。
【請求項７】
１つ以上のプロセッサによる実行時に、
前記ＩＰＡから第１の応答音声信号を受信することと、
前記第１の応答音声信号を記憶することと、
前記第１の応答音声信号を記憶した後に、前記一群の候補のＩＰＡに含まれる追加のＩＰＡから第２の応答音声信号を受信することと、
前記第１の応答音声信号の再生を開始させる前に、前記第２の応答音声信号の再生を開始させることと
のステップ群を行うように前記１つ以上のプロセッサを構成する命令をさらに備える、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項８】
１つ以上のプロセッサによる実行時に、
前記第１の音声信号の変更リスナコマンドを検出することと、
前記変更リスナコマンドを基に、追加のＩＰＡを決定することと、
前記第２の音声信号を前記追加のＩＰＡに送信することと
のステップ群を行うように前記１つ以上のプロセッサを構成する命令をさらに備える、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項９】
変更リスナコマンドを検出することは、前記起動フレーズを発したユーザが音声コマンドを前記一群の候補のＩＰＡに含まれる第２のＩＰＡに向けていることを示すワードまたはフレーズを検出すること備える、請求項８に記載の非一時的なコンピュータ可読媒体。
【請求項１０】
インテリジェントパーソナルアシスタント（ＩＰＡ）管理アプリケーションを記憶するメモリと、
前記メモリに結合される１つ以上のプロセッサであり、前記ＩＰＡ管理アプリケーションの実行時に、
第１の音声信号内の起動フレーズを検出し、
前記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択し、
前記第１の音声信号からクエリコンテンツを抽出し、
前記クエリコンテンツを基に、第２の音声信号を生成し、
前記第２の音声信号を前記ＩＰＡに送信するように構成される、前記１つ以上のプロセッサと
を備える、システム。
【請求項１１】
前記１つ以上のプロセッサはさらに、
前記第１の音声信号の変更リスナコマンドを検出することと、
前記変更リスナコマンドを基に、追加のＩＰＡを決定することと、
前記第１の音声信号から追加のクエリコンテンツを抽出することと、
前記追加のクエリコンテンツを基に、第３の音声信号を生成することと、
前記第３の音声信号を前記第２のＩＰＡに送信することと
のステップ群を行うように構成される、請求項１０に記載のシステム。
【請求項１２】
前記変更リスナコマンドを基に、前記追加のＩＰＡを決定することは、前回発行された音声コマンド、前回発行された音声クエリ及びどのプロセスがＩＰＡによって現在制御されているかのうちの少なくとも１つを基に、前記追加のＩＰＡを決定することを備える、請求項１１に記載のシステム。
【請求項１３】
前記前回発行された音声コマンドを基に前記追加のＩＰＡを決定することは、前記追加のＩＰＡが、第２の音声信号を介して前記前回発行された音声コマンドを受信したＩＰＡであることを決定することを備える、請求項１２に記載のシステム。
【請求項１４】
どのプロセスが前記ＩＰＡサービスによって現在制御されているかを基に前記追加のＩＰＡを決定することは、前記追加のＩＰＡが前記プロセスを制御していると決定することを備える、請求項１２に記載のシステム。
【請求項１５】
第１の音声信号内の起動フレーズを検出することと、
前記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択することと、
前記第１の音声信号からクエリコンテンツを抽出することと、
前記クエリコンテンツを基に、第２の音声信号を生成することと、
前記第２の音声信号を前記ＩＰＡに送信することと
を備える、音声認識を行う方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概して、インテリジェントパーソナルアシスタントサービスに関し、より詳細には、複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤに関する。
【背景技術】
【０００２】
インテリジェントパーソナルアシスタント（ＩＰＡ）は、ユーザが提供する口頭入力を基に、ユーザに対してタスクまたはサービスを行うことができるソフトウェアエージェントまたは他のアプリケーションである。ＩＰＡは、発話要求を基にユーザに対して特定のタスクを行うことができ、これにより、ユーザは、タッチスクリーン、キーボード、マウスまたは他の入力デバイスを介して手動入力を提供する必要性がなくなる。例えば、ユーザは、ＩＰＡを介して様々なオンラインソースから情報（例えば、天気、交通状況、ニュース、株価、ユーザのスケジュール、小売価格等）にアクセスすることができる。さらに、ユーザは、ＩＰＡによって情報ベースのタスク（例えば、電子メール、カレンダイベント、ファイル、やることリスト及びその他の管理）を完了することができる。
【０００３】
近年、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｔａｎａ（商標）、Ａｐｐｌｅ  Ｓｉｒｉ（商標）、Ｇｏｏｇｌｅ  Ｈｏｍｅ（商標）及びＡｍａｚｏｎ  Ａｌｅｘａ（商標）など、様々な種類のＩＰＡが消費者に広く使用されている。しかしながら、消費者が利用できるＩＰＡサービスの数が増加するにつれ、問題が起こる可能性がある。具体的には、現在、ユーザは複数のＩＰＡサービスでサブスクリプションを有することができる一方、スマートフォンまたはスマートスピーカなどの単一のデバイスから各ＩＰＡにアクセスする利便性には問題が起こる可能性がある。
【０００４】
現在、ユーザは、それぞれ異なるＩＰＡサービスにアクセスするために、一般的には異なるデバイスが必要であり、これは冗長かつ面倒である。例えば、ユーザは１つのデバイスを介して１つの質問を第１のＩＰＡサービスに送り、次いで、別のデバイスを介して別の（または同じ）質問を第２のＩＰＡサービスに送るということが単にできない。これは、第１及び第２のＩＰＡサービスからの応答を受信すると、デバイスが互いに干渉する傾向があるためである。むしろ、ユーザは１つのＩＰＡサービスに１つの質問を尋ね、次いで、その応答を待った後、別のＩＰＡサービスに質問を尋ねることしかできない。その結果、ユーザは、複数の人間アシスタントとの同時対話に近い自然かつ便利なユーザ体験を享受することができない。
【０００５】
代替的には、一部のスマートデバイスは複数のＩＰＡサービスをサポートするように構成され得る。しかしながら、係るデバイスでは、単一のＩＰＡサービスをデフォルトサービスとして構成する必要がある。その結果、他のＩＰＡサービスにアクセスするには、ユーザはデバイスを再構築してデフォルトのＩＰＡサービスを修正する必要がある。異なるデフォルトのＩＰＡサービスに切り替えることは面倒かつ時間がかかるため、ユーザはさらに、複数のＩＰＡサービスと対話する場合に、係る手法により自然かつ便利なユーザ体験を享受することができない。
【０００６】
したがって、複数のＩＰＡサービスを単一のデバイスで管理するための改良された技法は有益となる。
【発明の概要】
【課題を解決するための手段】
【０００７】
様々な実施形態は、非一時的なコンピュータ可読媒体を説明し、非一時的なコンピュータ可読媒体は１つ以上のプロセッサによる実行時に、第１の音声信号内の起動フレーズを検出することと、起動フレーズを基に、一群の候補インテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択することと、第１の音声信号からクエリコンテンツを抽出することと、クエリコンテンツを基に、第２の音声信号を生成することと、第２の音声信号をＩＰＡに送信することとのステップ群を行うことにより、複数のインテリジェントパーソナルアシスタント（ＩＰＡ）アプリケーションとの対話を管理するよう、１つ以上のプロセッサを構成する命令を含む。
【０００８】
開示される実施形態の少なくとも１つの利点は、ＩＰＡサービスが互いに干渉することなく、ユーザが単一のスマートデバイスを介して１つの音声コマンドを複数のＩＰＡに発行し、特定の順序で各ＩＰＡからの応答を受信できることである。さらなる利点は、ユーザが、従来技法で可能なものより会話型かつ自然な構文を使用して複数のＩＰＡのうちの１つ以上に音声コマンドを送ることができることである。
【０００９】
様々な実施形態の上記の特徴が詳細に理解できる方法で、上に簡潔に要約した様々な実施形態のより具体的な説明は実施形態を参照して行うことができ、その一部を添付の図面に例示する。しかしながら、添付の図面は典型的な実施形態を例示するにすぎず、様々な実施形態が他の同等に有効な実施形態を認め得るため、その範囲を限定するものとみなすべきではないことに留意されたい。
例えば、本願は、以下の項目を提供する。
（項目１）
１つ以上のプロセッサによる実行時に、
第１の音声信号内の起動フレーズを検出することと、
上記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択することと、
上記第１の音声信号からクエリコンテンツを抽出することと、
上記クエリコンテンツを基に、第２の音声信号を生成することと、
上記第２の音声信号を上記ＩＰＡに送信することと
のステップ群を行う音声認識を行うように上記１つ以上のプロセッサを構成する命令を含む、非一時的なコンピュータ可読記憶媒体。
（項目２）
１つ以上のプロセッサによる実行時に、
上記第１の音声信号の追加の起動フレーズを検出することと、
上記追加の起動フレーズを基に、上記一群の候補のＩＰＡに含まれている追加のＩＰＡを選択することと
のステップ群を行うように上記１つ以上のプロセッサを構成する命令をさらに備える、上記項目に記載の非一時的なコンピュータ可読媒体。
（項目３）
１つ以上のプロセッサによる実行時に、上記第２の音声信号を上記追加のＩＰＡに送信するステップを行うように上記１つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目４）
１つ以上のプロセッサによる実行時に、
上記追加の起動フレーズに関連する上記第１の音声信号から追加のクエリコンテンツを抽出することと、
上記追加のクエリコンテンツを基に、第３の音声入力を生成することと、
上記第３の音声入力を上記追加のＩＰＡに送信することと
のステップ群を行うように上記１つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目５）
１つ以上のプロセッサによる実行時に、
上記ＩＰＡから第１の応答音声信号を受信することと、
上記第１の応答音声信号を再生させることと、
上記第１の応答音声信号の再生中に、上記一群の候補のＩＰＡに含まれる追加のＩＰＡから第２の応答音声信号を受信することと、
上記第１の応答音声信号の再生が完了した後、上記第２の応答音声信号の再生を開始することと
のステップ群を行うように上記１つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目６）
上記第１の応答音声信号は、上記第２の音声信号の送信に応じて受信される、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目７）
１つ以上のプロセッサによる実行時に、
上記ＩＰＡから第１の応答音声信号を受信することと、
上記第１の応答音声信号を記憶することと、
上記第１の応答音声信号を記憶した後に、上記一群の候補のＩＰＡに含まれる追加のＩＰＡから第２の応答音声信号を受信することと、
上記第１の応答音声信号の再生を開始させる前に、上記第２の応答音声信号の再生を開始させることと
のステップ群を行うように上記１つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目８）
１つ以上のプロセッサによる実行時に、
上記第１の音声信号の変更リスナコマンドを検出することと、
上記変更リスナコマンドを基に、追加のＩＰＡを決定することと、
上記第２の音声信号を上記追加のＩＰＡに送信することと
のステップ群を行うように上記１つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目９）
変更リスナコマンドを検出することは、上記起動フレーズを発したユーザが音声コマンドを上記一群の候補のＩＰＡに含まれる第２のＩＰＡに向けていることを示すワードまたはフレーズを検出すること備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
（項目１０）
インテリジェントパーソナルアシスタント（ＩＰＡ）管理アプリケーションを記憶するメモリと、
上記メモリに結合される１つ以上のプロセッサであり、上記ＩＰＡ管理アプリケーションの実行時に、
第１の音声信号内の起動フレーズを検出し、
上記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択し、
上記第１の音声信号からクエリコンテンツを抽出し、
上記クエリコンテンツを基に、第２の音声信号を生成し、
上記第２の音声信号を上記ＩＰＡに送信するように構成される、上記１つ以上のプロセッサと
を備える、システム。
（項目１１）
上記１つ以上のプロセッサはさらに、
上記第１の音声信号の変更リスナコマンドを検出することと、
上記変更リスナコマンドを基に、追加のＩＰＡを決定することと、
上記第１の音声信号から追加のクエリコンテンツを抽出することと、
上記追加のクエリコンテンツを基に、第３の音声信号を生成することと、
上記第３の音声信号を上記第２のＩＰＡに送信することと
のステップ群を行うように構成される、上記項目に記載のシステム。
（項目１２）
上記追加のクエリコンテンツは音声コマンドを含む、上記項目のいずれか一項に記載のシステム。
（項目１３）
上記変更リスナコマンドを基に、上記追加のＩＰＡを決定することは、前回発行された音声コマンド、前回発行された音声クエリ及びどのプロセスがＩＰＡによって現在制御されているかのうちの少なくとも１つを基に、上記追加のＩＰＡを決定することを備える、上記項目のいずれか一項に記載のシステム。
（項目１４）
上記前回発行された音声コマンドを基に上記追加のＩＰＡを決定することは、上記追加のＩＰＡが、第２の音声信号を介して上記前回発行された音声コマンドを受信したＩＰＡであることを決定することを備える、上記項目のいずれか一項に記載のシステム。
（項目１５）
どのプロセスが上記ＩＰＡサービスによって現在制御されているかを基に上記追加のＩＰＡを決定することは、上記追加のＩＰＡが上記プロセスを制御していると決定することを備える、上記項目のいずれか一項に記載のシステム。
（項目１６）
上記１つ以上のプロセッサはさらに、
上記第１の音声信号の追加の起動フレーズを検出することと、
上記追加の起動フレーズを基に、上記一群の候補のＩＰＡに含まれる追加のＩＰＡを選択することと
のステップ群を行うように構成される、上記項目のいずれか一項に記載のシステム。
（項目１７）
上記１つ以上のプロセッサはさらに、上記第２の音声信号を上記追加のＩＰＡに送信するステップを行うように構成される、上記項目のいずれか一項に記載のシステム。
（項目１８）
上記１つ以上のプロセッサはさらに、
上記追加の起動フレーズに関連する上記第１の音声信号から追加のクエリコンテンツを抽出することと、
上記追加のクエリコンテンツを基に、第３の音声入力を生成することと、
上記第３の音声入力を上記追加のＩＰＡに送信することと
のステップ群を行うように構成される、上記項目のいずれか一項に記載のシステム。
（項目１９）
第１の音声信号内の起動フレーズを検出することと、
上記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント（ＩＰＡ）に含まれるＩＰＡを選択することと、
上記第１の音声信号からクエリコンテンツを抽出することと、
上記クエリコンテンツを基に、第２の音声信号を生成することと、
上記第２の音声信号を上記ＩＰＡに送信することと
を備える、音声認識を行う方法。
（項目２０）
上記第１の音声信号の追加の起動フレーズを検出することと、
上記追加の起動フレーズを基に、上記一群の候補のＩＰＡに含まれる追加のＩＰＡを選択することと
をさらに備える、上記項目に記載の方法。
（摘要）
音声認識をマルチデバイスシステムで行うことは、口頭発話に応じて第１のマイクにより生成された第１の音声信号、及び口頭発話に応じて第２のマイクにより生成された第２の音声信号を受信し、第１の音声信号を一時的セグメントの第１のシーケンスに分割し、第２の音声信号を一時的セグメントの第２のシーケンスに分割し、第１のシーケンスの第１の一時的セグメントに関連する音エネルギーレベルと、第２のシーケンスの第１の一時的セグメントに関連する音エネルギーレベルとを比較し、比較を基に、音声認識音声信号の第１の一時的セグメントとして、第１のシーケンスの第１の一時的セグメント及び第２のシーケンスの第１の一時的セグメントのうちの１つを選択し、音声認識音声信号に音声認識を行うことを含む。
【図面の簡単な説明】
【００１０】
【図１】様々な実施形態の１つ以上の態様を実施するように構成される、インテリジェントパーソナルアシスタント（ＩＰＡ）管理システムを例示する模式図である。
【図２】本開示の１つ以上の態様を実施するように構成される、スマートデバイスを例示する。
【図３】本開示の様々な実施形態による、図１のＩＰＡ管理アプリケーションの動作図である。
【図４】本開示の様々な実施形態による、音声認識を行うための方法ステップのフローチャートを説明する。
【図５】本開示の様々な実施形態による、複数のＩＰＡサービスからの応答を管理するための方法ステップのフローチャートを説明する。
【発明を実施するための形態】
【００１１】
明確にするために、適用可能な場合、図面間で共通の同一要素を示すために同一の参照番号を使用する。１つの実施形態の特徴は、さらなる説明を伴うことなく、他の実施形態に組み込まれ得ると考えられる。
【００１２】
図１は、様々な実施形態の１つ以上の態様を実装するように構成された、インテリジェントパーソナルアシスタント（ＩＰＡ）管理システム１００を例示する模式図である。ＩＰＡ管理システム１００は、スマートデバイス１２０、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０を含み、全ては通信ネットワーク１０５を介して互いに通信可能に接続されている。さらに、口頭発話９１を介してユーザ要求を生成するユーザ９０が図１に示されている。いくつかの実施形態では、マルチデバイスＩＰＡシステム１００は、図１に例示した３つのＩＰＡサービスより多いまたは少ないＩＰＡサービスを含む。
【００１３】
通信ネットワーク１０５は、任意の技術的に実現可能な種類の通信ネットワークであってよく、スマートデバイス１２０、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０、第３のＩＰＡサービス１６０及び／またはウェブサーバもしくは別のネットワークに接続されたコンピューティングデバイスなどの他の実体もしくはデバイスの間でデータを交換することができる。例えば、通信ネットワーク１０５は、特に、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレス（ＷｉＦｉ）ネットワーク、ワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）（Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワークなど）及び／またはインターネットを含み得る。ゆえに、いくつかの実施形態では、通信ネットワーク１０５は、ＷｉＦｉルータなどの、図１に図示しない１つ以上の追加のネットワークデバイスを含み得る。
【００１４】
第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０のそれぞれは、特に、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｔａｎａ（商標）、Ａｐｐｌｅ  Ｓｉｒｉ（商標）、Ｇｏｏｇｌｅ  Ｈｏｍｅ（商標）またはＡｍａｚｏｎ  Ａｌｅｘａ（商標）などの様々な市販ＩＰＡサービスであってよい。したがって、各ＩＰＡサービスはスマートデバイス（スマートデバイス１２０など）からクエリコンテンツを受信し、クエリに対して作用し、ユーザの質問に対する回答または要求アクションの完了確認などの適切な応答を提供するように構成され得る。一般的に、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０によって受信されるクエリコンテンツは、音声データまたはテキストのいずれかの形態であってよい。同様に、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０によって提供されるスマートデバイス１２０に対する応答は、音声データまたはテキストのいずれかの形態であってよい。
【００１５】
スマートデバイス１２０は、ＩＰＡと互換性のあるコンピューティングデバイスであり、ユーザからの特定の音声コマンドを受信し、係るコマンドに含まれるクエリコンテンツを第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０のうちの１つ以上に適宜送り、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０から受信した応答を管理するように構成される。ゆえに、スマートデバイス１２０はＩＰＡサービス管理レイヤにより構成される。そのため、スマートデバイス１２０はＩＰＡ管理アプリケーション１３０、第１のＩＰＡクライアント１２１、第２のＩＰＡクライアント１２２及び第３のＩＰＡクライアント１２３を含む。ＩＰＡ管理アプリケーション１３０は以下により詳細に説明する。第１のＩＰＡクライアント１２１は、第１のＩＰＡサービス１４０との間のデータの送受信を行うように構成され、第２のＩＰＡクライアント１２２は、第２のＩＰＡサービス１５０との間のデータの送受信を行うように構成され、第３のＩＰＡクライアント１２３は、第３のＩＰＡサービス１６０との間のデータの送受信を行うように構成される。いくつかの実施形態では、第１のＩＰＡクライアント１２１の機能性は第１のＩＰＡサービス１４０のアプリケーションプログラムインターフェース（ＡＰＩ）に基づき、第２のＩＰＡクライアント１２２の機能性は第２のＩＰＡサービス１５０のＡＰＩに基づき、第３のＩＰＡクライアント１２３の機能性は第３のＩＰＡサービス１６０のＡＰＩに基づく。例えば、いくつかの実施形態では、上に説明したＩＰＡクライアントのうちの１つは、ＩＰＡサービスにより定義されたＡＰＩに従って、対応するＩＰＡサービスと相互作用する可能性がある。
【００１６】
動作中、ＩＰＡ管理アプリケーション１３０は、口頭発話９１の受信に応じて、例えば、マイク１２６を介して、生成された音声信号１０１を検出し、音声信号１０１が、「ＯＫ、Ｇｏｏｇｌｅ」、「こんにちは、Ｓｉｒｉ」、「ねえ、Ａｌｅｘａ」等などの起動フレーズを含むかどうか判断する。１つ以上の起動フレーズが音声信号１０１に検出される場合、ＩＰＡ管理アプリケーション１３０は音声信号から質問などのクエリコンテンツを抽出し、特定のタスク等を行うように命令し、クエリコンテンツを送信すべきＩＰＡサービスを決定する。追加的には、ＩＰＡ管理アプリケーション１３０は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０からの応答を受信し、例えば、スピーカ１２５によって再生される音声信号１０２を介して、スマートデバイス１２０に係る応答のそれぞれを連続的に再生させるように構成される。ゆえに、ユーザ９０は、単一のスマートデバイスを介して異なるＩＰＡサービスに一連の音声コマンドを発行することができ、様々なＩＰＡサービスからの応答の再生は、ユーザ９０がそれぞれを個別に聞くことができるよう管理される。
【００１７】
スマートデバイス１２０は、任意のスタンドアロン型コンピューティングデバイスであってよく、通信ネットワーク１０５を介して通信し、ＩＰＡ管理アプリケーション１３０及びＩＰＡ管理アプリケーション１３０に関連するアプリケーションを実行するように動作可能である。スマートデバイス１２０としての使用に適したコンピューティングデバイスの例は、スマートスピーカ、スマートフォン、ホームオートメーションハブ、電子式タブレット、ノートパソコン、デスクトップパソコン及びその他を含むが、これらに限定されない。代替的または追加的には、スマートデバイス１２０は、通信ネットワーク１０５を介して通信するように動作可能であり、電子デバイス、民生機器または他の装置であり、ビデオゲームコンソール、セットトップコンソール、デジタルビデオレコーダ、ホームオートメーションデバイス及びその他を非限定的に含む装置に内蔵されるコンピューティングデバイスであり得る。図２に関連してスマートデバイス１２０の１つの実施形態を以下に説明する。
【００１８】
図２は、本開示の１つ以上の態様を実施するように構成された、スマートデバイス１２０を例示する。したがって、スマートデバイス１２０は、ＩＰＡ管理アプリケーション１３０、第１のＩＰＡクライアント１２１、第２のＩＰＡクライアント１２２及び第３のＩＰＡクライアント１２３のうちの１つ以上を実装するように構成され、それぞれはメモリ２１０に常駐し得る。いくつかの実施形態では、ＩＰＡ管理アプリケーション１３０は、起動フレーズ検出モジュール２３１、音声データ分割モジュール２３２、クエリ処理モジュール２３３及びＩＰＡ通信管理モジュール２３４のうちの１つ以上を含み得る。スマートデバイス１２０はさらに、例えば、１つ以上のＩＰＡサービスから受信した応答音声信号を音エネルギーに変換することによって、スピーカ１２６に音を生成させるように構成される。本明細書に説明するコンピューティングデバイスは例示的なものであり、任意の他の技術的に実現可能な構成が本発明の範囲内に該当することに留意されたい。
【００１９】
図示の通り、スマートデバイス１２０は、処理ユニット２５０、入出力（Ｉ／Ｏ）デバイス２８０に結合された入出力（Ｉ／Ｏ）デバイスインターフェース２６０、メモリ２１０、ストレージ２１５（例えば、フラッシュドライブまたはハードディスクドライブ）及びネットワークインターフェース２７０を接続する相互接続（バス）２４０を含むが、これらに限定されない。処理ユニット２５０は、中央処理装置（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、任意の他の種類の処理装置またはデジタルシグナルプロセッサ（ＤＳＰ）と協働して動作するように構成されるＣＰＵなどの様々な処理装置の組み合わせとして実装される任意の適切なプロセッサであり得る。例えば、いくつかの実施形態では、処理ユニット２５０はＣＰＵ及びＤＳＰを含む。一般的に、処理ユニット２５０は、ＩＰＡ管理アプリケーション１３０、起動フレーズ検出モジュール２３１、音声データ分割モジュール２３２、クエリ処理モジュール２３３、ＩＰＡ通信管理モジュール２３４、第１のＩＰＡクライアント１２１、第２のＩＰＡクライアント１２２及び第３のＩＰＡクライアント１２３を含む、データ処理及び／またはソフトウェアアプリケーションの実行が可能な技術的に実現可能なハードウェアユニットのいずれかであってよい。さらに、本開示の文脈では、スマートデバイス１２０に示されるコンピューティング要素は、物理的なコンピューティングシステム（例えば、データセンタのシステム）に対応し得るか、またはコンピューティングクラウド内で実行する仮想コンピューティングインスタンスであり得る。係る実施形態では、起動フレーズ検出モジュール２３１、音声データ分割モジュール２３２及び／またはクエリ処理モジュール２３３などがＩＰＡ管理アプリケーション１３０の動作中に行う音声認識は、コンピューティングクラウドまたはサーバ内で実行する仮想コンピューティングインスタンス上で動作する音声認識アプリケーションを介して実施され得る。
【００２０】
入出力デバイス２８０は、キーボード、マウス、タッチ感度画面、マイク１２６及びその他などの入力を提供できるデバイス、ならびにスピーカ１２５及びディスプレイ画面などの出力を提供できるデバイスを含み得る。ディスプレイ画面は、コンピュータモニタ、ビデオディスプレイ画面、携帯型デバイスに内蔵されるディスプレイ装置または任意の他の技術的に実現可能なディスプレイ画面であり得る。マイク１２６は、口頭発話９１などの音エネルギーを、音声信号１０１などの音声信号に変換するように構成される。スピーカ１２５は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０のうちの１つ以上からの応答音声信号などの音声信号を、音エネルギーに変換するように構成される。
【００２１】
入出力デバイス２８０は、入力の受信及び出力の提供の両方が可能な追加のデバイスを含んでよく、例えば、タッチスクリーン、ユニバーサルシリアルバス（ＵＳＢ）ポート及びその他などである。係る入出力デバイス２８０は、様々な種類の入力をスマートデバイス１２０のエンドユーザから受信し、さらに、表示されたデジタル画像またはデジタルビデオなどの様々な種類の出力をスマートデバイス１２０のエンドユーザに提供するように構成され得る。いくつかの実施形態では、入出力デバイス２８０のうちの１つ以上は、スマートデバイス１２０を通信ネットワーク１０５に結合するように構成される。
【００２２】
入出力インターフェース２６０は、入出力デバイス２８０と処理ユニット２５０との通信を可能にする。入出力インターフェースは、一般的に、入出力デバイス２８０に対応し、処理ユニット２５０によって生成されたアドレスを解釈するための必須ロジックを含む。入出力インターフェース２６０はさらに、処理ユニット２５０と入出力デバイス２８０との間のハンドシェイキングを実施すること及び／または入出力デバイス２８０に関連する割り込みを生成することを行うように構成され得る。入出力インターフェース２６０は、技術的に実現可能な任意のＣＰＵ、ＡＳＩＣ、ＦＰＧＡ及び任意の他の種類の処理ユニットまたはデバイスとして実装され得る。
【００２３】
ネットワークインターフェース２７０は、処理ユニット２５０を通信ネットワーク１０５に接続するコンピュータハードウェア構成要素である。ネットワークインターフェース２７０は、スタンドアロン型のカード、プロセッサまたは他のハードウェアデバイスとしてスマートデバイス１２０に実装され得る。通信ネットワーク１０５がＷｉＦｉネットワークまたはＷＰＡＮを含む実施形態では、ネットワークインターフェース２７０は好適なワイヤレス送受信機を含む。代替的または追加的には、ネットワークインターフェース２７０は、セルラ方式通信機能、衛星電話通信機能、ワイヤレスＷＡＮ通信機能または通信ネットワーク１０５またはマルチデバイスＩＰＡシステム１００に含まれる他のコンピューティングデバイス２００と通信可能な他の種類の通信機能を有するように構成され得る。
【００２４】
メモリ２１０は、ランダムアクセスメモリ（ＲＡＭ）モジュール、フラッシュメモリユニットまたは任意の他の種類のメモリユニットもしくはそれらの組み合わせを含み得る。処理ユニット２５０、入力デバイスインターフェース２６０及びネットワークインターフェース２７０は、メモリ２１０に対するデータの読み出し及び書き込みを行うように構成される。メモリ２１０は、ＩＰＡ管理アプリケーション１３０、起動フレーズ検出モジュール２３１、音声データ分割モジュール２３２、クエリ処理モジュール２３３、ＩＰＡ通信管理モジュール２３４、第１のＩＰＡクライアント１２１、第２のＩＰＡクライアント１２２及び第３のＩＰＡクライアント１２３を含む、プロセッサ２５０により実行可能な様々なソフトウェアプログラム及び当該ソフトウェアプログラムに関連するアプリケーションデータを含む。図３に関連して、起動フレーズ検出モジュール２３１、音声データ分割モジュール２３２、クエリ処理モジュール２３３及びＩＰＡ通信管理モジュール２３４を以下に説明する。
【００２５】
追加的には、メモリ２１０は、図２に図示する通り、起動フレーズのコーパス２１１及び／または変更リスナコマンドのコーパス２１２を含み得る。代替的または追加的には、起動フレーズのコーパス２１１及び／または変更リスナコマンドのコーパス２１２はストレージ２１５に記憶され得る。
【００２６】
起動フレーズのコーパス２１１は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０のそれぞれに関連する呼び出しワードまたはウェークワードの一部または全てを含む。係る起動フレーズは、一般的に、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０または第３のＩＰＡサービス１６０のうちの１つ以上の名前に加え、任意には１つ以上の追加のワードまたはフレーズを含む。例は、「ねぇ、Ｇｏｏｇｌｅ」、「Ａｌｅｘａ」、「やあ、Ｓｉｒｉ」、「こんにちは、ＳｉｒｉとＡｌｅｘａ」等を含むが、これらに限定されない。
【００２７】
変更リスナコマンドのコーパス２１２は、１つのリスナ、つまり、１つのＩＰＡサービスから、別のリスナ、つまり、別のＩＰＡサービスへの変更に関連するワード、フレーズまたはセンテンスを含む。ゆえに、変更リスナコマンドのコーパス２１２に含まれる変更リスナコマンドは、一般的に、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０または第３のＩＰＡサービス１６０のうちの１つの名前に加え、人間のユーザが、音声コマンドの対象を、あるＩＰＡサービスからその名前に関連するＩＰＡサービスに変更していることを示す追加のワードまたはフレーズを含む。いくつかの実施形態では、ＩＰＡ管理アプリケーション１３０によって受信された前回の音声コマンドの文脈では、変更リスナコマンドは、現在、変更リスナコマンドで名前を挙げたＩＰＡサービスも前回の音声コマンドの対象であることを示すフレーズを含み得る。例えば、変更リスナコマンドとして認識され得るフレーズは、「あなたはどう、Ｇｏｏｇｌｅ」、「どう思う、Ｓｉｒｉ？」、「あなたは、Ａｌｅｘａ？」等を含むが、これらに限定されない。
【００２８】
図２に例示する実施形態では、メモリ２１０及びストレージ２１５はスマートデバイス１２０に内蔵される物理的な構成要素として例示されている。他の実施形態では、メモリ２１０及び／またはストレージ２１５はコンピューティングクラウドなどの、分散コンピューティング環境に含まれ得る。
【００２９】
図３は、本開示の様々な実施形態による、ＩＰＡ管理アプリケーション１３０の動作図である。図３に例示する実施形態では、ＩＰＡ管理アプリケーション１３０は、起動フレーズ検出モジュール２３１、音声データ分割モジュール２３２、クエリ処理モジュール２３３及びＩＰＡ通信管理モジュール２３４を含む。追加的には、ＩＰＡ管理アプリケーション１３０は、第１のＩＰＡクライアント１２１、第２のＩＰＡクライアント１２２及び第３のＩＰＡクライアント１２３を介して、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０とそれぞれ通信する。
【００３０】
起動フレーズ検出モジュール２３１は、マイク１２６から受信される音声信号１０１に含まれる起動フレーズを検出するように構成される。したがって、起動フレーズ検出モジュール２３１は、任意の技術的に実現可能な音声認識アルゴリズムまたは音声をテキストに変換するためのアルゴリズムを含み得る。起動フレーズ検出モジュール２３１によって検出される起動フレーズは、任意の呼び出しワードもしくはウェークワード、または起動フレーズのコーパス２１１に含まれる他のワード、フレーズもしくはセンテンスを含むことがあり、例えば、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０のそれぞれに関連する名前などである。起動フレーズ検出モジュール２３１が音声信号１０１の１つ以上の起動フレーズを検出した場合、図示の通り、起動フレーズ検出モジュール２３１は音声信号１０１を音声データ分割モジュール２３２に送信する。
【００３１】
いくつかの実施形態では、起動フレーズ検出モジュール２３１はさらに、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０のうちどれが音声信号１０１で言及されているかを判断するように構成される。係る実施形態では、起動フレーズ検出モジュール２３１は、図示の通り、音声信号１０１と共にメタデータ３０１を音声データ分割モジュール２３２に送信する。メタデータ３０１は、音声信号１０１で検出されたどの起動フレーズが、起動フレーズを含まない音声信号１０１のどの部分に関連するかを示す。追加的には、メタデータ３０１は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０のうちどれが音声信号１０１で言及されているかを示し得る。代替的には、音声データ分割モジュール２３２は、どのＩＰＡサービスが音声信号１０１で言及されているかを判断するように構成され得る。
【００３２】
音声データ分割モジュール２３２は、起動フレーズ検出モジュール２３１から音声信号１０１を受信し、音声信号１０１に含まれる任意の起動フレーズをクエリコンテンツから分離するように構成される。クエリコンテンツは、起動フレーズの一部として認識されていない音声信号１０１で検出されたワード及び／またはフレーズを含む。音声データ分割モジュール２３２は、次いで、クエリコンテンツ３０２をクエリ処理モジュール２３３に送信する。いくつかの実施形態では、音声データ分割モジュール２３２は、クエリ処理モジュール２３３に送信する前に、まずクエリコンテンツ３０２をテキストに変換し、一方、他の実施形態では、音声データ分割モジュール２３２は、クエリコンテンツ３０２を、音声信号１０１の起動フレーズを考慮しない部分（複数可）として送信する。ゆえに、クエリコンテンツ３０２は、テキストベースのデータを含んでよく、及び／または１つ以上の音声信号を含んでよい。起動フレーズは音声信号１０１内の複数のポイントで発生することがあり、必ずしも音声信号１０１の最初または最後にあるわけではないため、音声データ分割２３２は、クエリコンテンツ３０２を、音声信号１０１から抽出した複数の音声信号としてクエリ処理モジュール２３３に送信することがあることに留意されたい。
【００３３】
いくつかの実施形態では、音声データ分割モジュール２３２はさらに、クエリコンテンツ３０２と共に、メタデータ３０３をクエリ処理モジュール２３３に送信する。メタデータ３０３は、音声信号１０１で検出された１つ以上の起動フレーズを基に、クエリコンテンツ３０２の各部分を特定のターゲットＩＰＡサービスに関連させる。例えば、ユーザ９０が、「ねえ、Ｇｏｏｇｌｅ、サンフランシスコの天気はどう？」などの単純なクエリを単一のＩＰＡサービスに発行する場合、メタデータ３０３は、「サンフランシスコの天気はどう？」というクエリコンテンツの送信先がＧｏｏｇｌｅ  Ｈｏｍｅ（商標）のＩＰＡサービスであることを示す。別の例では、ユーザ９０が、「ねえ、ＧｏｏｇｌｅとＡｌｅｘａ、サンフランシスコの天気はどう？」などの同じクエリを複数のＩＰＡサービスに発行する場合、メタデータ３０３は、「サンフランシスコの天気はどう？」というクエリコンテンツの送信先がそれぞれ、Ｇｏｏｇｌｅ  Ｈｏｍｅ（商標）のＩＰＡサービス及びＡｍａｚｏｎ  Ａｌｅｘａ（商標）のＩＰＡサービスであることを示す。さらに別の例では、ユーザ９０が、「ねえ、Ｇｏｏｇｌｅ、私の今日のスケジュールは何、Ｓｉｒｉ、私のプレイリストから何か音楽を再生して」などの異なるクエリまたはコマンドを異なるＩＰＡサービスに発行する場合、メタデータ３０３は、「私の今日のスケジュールは何」というクエリコンテンツの送信先がＧｏｏｇｌｅ  Ｈｏｍｅ（商標）のＩＰＡサービスであり、「私のプレイリストから何か音楽を再生して」というクエリコンテンツの送信先がＡｐｐｌｅ  Ｓｉｒｉ（商標）であることを示す。ゆえに、係る実施形態では、メタデータ３０３のコンテンツは、一般的に、音声信号１０１に含まれるコマンド及び／またはクエリの複雑性に応じて変わる。
【００３４】
クエリ処理モジュール２３３は、図示の通り、クエリコンテンツ３０２を基に、１つ以上のＩＰＡサービスに対して音声入力３０４を作成し、音声入力３０４及びメタデータ３０５をＩＰＡ管理モジュール２３４に送信するように構成される。具体的には、クエリ処理モジュール２３３は、クエリコンテンツ３０２を基に、メタデータ３０３のクエリコンテンツを受信する対象となる各ＩＰＡサービスに対して音声入力３０４を生成する。いくつかの実施形態では、音声入力３０４は、クエリコンテンツを受信する対象となる一部または全てのＩＰＡサービスに送信される音声信号またはファイルであり、例えば、ｗａｖまたはｍｐｅｇファイルである。例えば、いくつかの実施形態では、音声入力３０４を生成するために、クエリ処理モジュール２３３は、音声信号１０１の適切な部分、つまり、特定のＩＰＡサービスに関連するクエリコンテンツ３０２を含む音声信号１０１の一部を抽出するように構成される。音声信号１０１が複数のＩＰＡサービスのそれぞれに対して異なるクエリまたはコマンドを含む場合、音声入力３０４は、異なるＩＰＡサービスのそれぞれに対する異なる音声信号またはファイルを含む。メタデータ３０５は、どの音声入力３０４がどのＩＰＡサービスに関連するかを示し、これにより、ＩＰＡ管理モジュール２３４は、音声入力３０４に含まれる１つ以上の音声信号またはファイルを適切にルーティングすることができる。
【００３５】
追加的には、いくつかの実施形態では、クエリ処理モジュール２３３は、クエリコンテンツ３０２に含まれる変更リスナコマンドを検出し、どのリスナ（つまり、どのＩＰＡサービス）に対して、ユーザ９０が前回発行したクエリまたはコマンドを送ろうとしているかを判断し、それに応じてメタデータ３０５を修正するように構成される。ゆえに、係る実施形態では、メタデータ３０５はさらに、どの音声入力３０４が、変更リスナコマンドが間接的に言及するＩＰＡサービスに関連するかを示す。係る実施形態では、クエリ処理モジュール２３３は、一般的に、クエリコンテンツ３０２を解析するときに、変更リスナコマンドのコーパス２１２に依存する。変更リスナコマンドのコーパス２１２は候補となるターゲットワードまたはフレーズの比較的限られたセットであり、クエリ処理モジュール２３３から発生する音声認識は、一般的に、正確である可能性が高い。
【００３６】
変更リスナコマンドがクエリ処理モジュール２３３によって認識される１つの実施形態では、ユーザ９０は、同じクエリまたはコマンドが複数のＩＰＡサービスを対象とする複合要求を行うことがあるが、従来のＩＰＡ音声認識が現在対応可能なものよりも会話型の構文、例えば、「ねえ、Ｇｏｏｇｌｅ、サンフランシスコの天気はどう？Ａｌｅｘａはどう思う？」を使用する。この例では、クエリ処理モジュール２３３は、呼び出しワード「Ａｌｅｘａ」を認識するように構成され、変更リスナコマンドである「どう思う？」はこの呼び出しワードに関連する。呼び出しワードであるＡｌｅｘａが、変更リスナコマンドのコーパス２１２に含まれる変更リスナコマンドに関連すると認識することに応じて、クエリ処理モジュール２３３は、Ｇｏｏｇｌｅ  Ｈｏｍｅ（商標）のＩＰＡサービスに送信すべき音声入力３０４がクエリ「サンフランシスコの天気はどう？」を含み、Ａｍａｚｏｎ  Ａｌｅｘａ（商標）のＩＰＡサービスに送信すべき音声入力３０４が、ユーザ９０が直近で発行したクエリ、つまり、クエリ「サンフランシスコの天気はどう？」を含むことを示すよう、メタデータ３０５を修正する。その結果、複数のＩＰＡサービスを対象としているが、ユーザ９０からの複雑な口頭発話に含まれているクエリまたはコマンドを、やはり適切なＩＰＡサービスに送ることができる。
【００３７】
変更リスナコマンドがクエリ処理モジュール２３３によって認識される別の実施形態では、クエリ処理モジュール２３３は、起動フレーズに直接的に関連しない音声コマンドまたはクエリが、ユーザ９０によって前回発行された音声コマンドに関連することを判断するように構成される。つまり、係る実施形態では、クエリ処理モジュール２３３は、特定のクエリまたは音声コマンドに対する起動フレーズの不足部分を変更リスナコマンドとして解釈するように構成され、変更リスナコマンドは、音声コマンドまたはクエリを行うことができるＩＰＡサービスを言及する。係る実施形態では、クエリ処理モジュール２３３は、係る関連しない音声コマンドまたはクエリの対象となるＩＰＡサービスを文脈的に判断するように構成される。ゆえに、前回発行された音声コマンド及び／もしくはクエリを基に、ならびに／またはどのプロセスが特定のＩＰＡサービスによって現在制御されているかを基に、クエリ処理モジュール２３３は、どのＩＰＡサービスに、起動フレーズに関連しないクエリコンテンツ３０２の音声コマンドまたはクエリを送るかを判断することができる。
【００３８】
例えば、「Ｓｉｒｉ、私のプレイリストから何か再生して」など、ユーザ９０が特定のタスクに関する音声コマンドを特定のＩＰＡサービスに前回発行した場合、ユーザは、「停止」、「音楽の再生を停止して」、「音量を下げて」、「この曲の名前は何？」等の、クエリ処理モジュール２３３が起動フレーズに関連しないと認識する音声コマンドまたはクエリを後続的に発行し得る。係る例では、クエリ処理モジュール２３３は、係る関連しないコマンドまたはクエリが意図する対象はＡｐｐｌｅ  Ｓｉｒｉ（商標）であると文脈的に判断する。この判断に応じて、クエリ処理モジュール２３３は、関連しない音声コマンドを含む特定の音声入力３０４を生成し、特定の音声入力３０４をＡｐｐｌｅ  Ｓｉｒｉ（商標）のＩＰＡサービスに送信すべきことを示すよう、メタデータ３０５を修正する。その結果、ユーザ９０が発行し、起動フレーズに関連しないクエリまたは音声コマンドは、クエリ処理モジュール２３３が行う文脈判断を基に、やはり適切なＩＰＡサービスに送ることができる。係る関連しないクエリまたは音声コマンドは、検出可能な起動フレーズに関連する１つ以上のクエリまたは音声コマンドを含むより複雑な口頭発話９１に含まれ得ることに留意されたい。
【００３９】
ＩＰＡ通信管理モジュール２３４は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０との相互作用を管理するように構成される。具体的には、ＩＰＡ通信管理モジュール２３４は、メタデータ３０５を基に、適切な音声入力３０４を第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０のうちの１つ以上に送信する。図示の通り、適切な音声入力３０４は、第１の第１のＩＰＡクライアント１２１を介して第１のＩＰＡサービス１４０に送信され、第２のＩＰＡクライアント１２２を介して第２のＩＰＡサービス１５０に送信され、第３のＩＰＡクライアント１２３を介して第３のＩＰＡサービス１６０に送信される。音声入力３０４は、その特定のＩＰＡサービスの要件に応じて、音ファイルもしくは他の音データとして、またはテキストベースのデータとして、適切なＩＰＡサービスに送信され得る。
【００４０】
追加的には、ＩＰＡ通信モジュール２３４は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０のうちの１つ以上から受信した任意の応答音声信号３０６を管理するように構成される。応答音声信号３０６は、ＩＰＡ通信管理モジュール２３４からの音声入力３０４に応じて、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０のうちの１つ以上によって生成される。ゆえに、複数のＩＰＡサービスがＩＰＡ通信管理モジュール２３４から音声入力３０４を受信する場合、ＩＰＡ通信管理モジュール２３４によって複数の応答音声信号３０６が同時にまたは重複時期に受信される可能性が高い。ＩＰＡ通信管理モジュール２３４は、したがって、受信される各応答音声信号３０６がスピーカ１２５を介してユーザ９０に再生される順序を管理する。
【００４１】
いくつかの実施形態では、ＩＰＡ通信モジュール２３４は、送信元となるＩＰＡサービスが音声信号１０１の起動フレーズ及び／または変更リスナコマンドで言及されていた順序で、複数の応答音声信号３０６の再生を順序付けるように構成される。他の実施形態では、ＩＰＡ通信モジュール２３４は、複数の応答音声信号３０６が受信される順序で、複数の応答音声信号３０６の再生を順序付けるように構成される。さらに他の実施形態では、ＩＰＡ通信モジュール２３４がデフォルトの再生順序を実施してよく、この場合、事前定義されたＩＰＡサービスの順序を使用して、複数の応答音声信号３０６を再生する順序を決定する。係る実施形態では、事前定義された順序は、ユーザが選択したＩＰＡサービスの順序となり得る。
【００４２】
第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０または第３のＩＰＡサービス１６０のうちの１つ以上がテキストベースのデータとして応答音声信号３０６を返送する実施形態では、ＩＰＡ通信モジュール２３４は、係るテキストベースのデータを、スピーカ１２５が再生可能な音声信号に変換するように構成される。ＩＰＡ通信モジュール２３４は、技術的に実現可能なあらゆるテキスト・トゥ・スピーチアプリケーションまたは他の人間の発話の人工生成を利用して、係る変換を完了することができる。
【００４３】
要約すると、ユーザ９０がスマートデバイス１２０と会話型かつ自然な方法で対話する場合、様々なクエリ及び／またはコマンドが単一の音声信号１０１に含まれることがあり、それぞれを個別に抽出し、次いで、適切なＩＰＡサービスにルーティングすることができる。さらに、例えば、各ＩＰＡサービスから受信した音声ファイルを保存することによって、これらのＩＰＡサービスが返送する複数の応答を管理し、これにより、複数の応答を後続的に連続して再生することができる。
【００４４】
図４は、本開示の様々な実施形態による、音声認識を行うための方法ステップのフローチャートを説明する。ステップ方法は図１〜図３のシステムに関して説明するが、当業者であれば、あらゆる順序で方法ステップを行うように構成されるあらゆるシステムが、様々な実施形態の範囲内に該当することを理解するであろう。
【００４５】
図示の通り、方法４００は、ステップ４０１で開始し、ステップ４０１では、ＩＰＡ管理アプリケーション１３０は、ユーザ９０からの口頭発話９１に応じて生成された音声信号を受信する。例えば、１つの実施形態では、ＩＰＡ管理アプリケーション１３０はマイク１２６から音声信号１０１を受信する。
【００４６】
ステップ４０２では、ＩＰＡ管理アプリケーション１３０は起動フレーズに対して音声信号１０１を解析する。例えば、ステップ４０２は、起動フレーズ検出モジュール２３１によって行われてよい。いくつかの実施形態では、ステップ４０２では、ＩＰＡ管理アプリケーション１３０は起動フレーズのコーパス２１１と共に音声認識アルゴリズムを利用する。起動フレーズのコーパス２１１に含まれる様々な起動フレーズは一群の候補のＩＰＡサービスに関連付けられ、この群はＩＰＡ管理アプリケーション１３０が対話するように構成されるＩＰＡサービス、つまり、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び第３のＩＰＡサービス１６０を含むことに留意されたい。いくつかの実施形態では、ＩＰＡ管理アプリケーション１３０はさらに、ステップ４０２で、変更リスナコマンドのコーパス２１２を利用する。係る実施形態では、ＩＰＡ管理アプリケーション１３０は、音声信号１０１において、１つのＩＰＡサービスに関連する少なくとも１つの起動フレーズを発したユーザが、音声コマンドの対象を別のＩＰＡサービスに切り替えていることを検出することができる。
【００４７】
いくつかの実施形態では、ＩＰＡ管理アプリケーション１３０はさらに、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０及び／または第３のＩＰＡサービス１６０のうちのどれが、ステップ４０２で検出された起動フレーズ（複数可）に言及されているかを判断する。
【００４８】
ステップ４０３では、ＩＰＡ管理アプリケーション１３０は、何らかの起動フレーズ（または変更リスナコマンド）が音声信号１０１に含まれるかどうかを判定する。含まれない場合、方法４００はステップ４１０に進んで終了し、含む場合、方法４００はステップ４０４に進む。
【００４９】
ステップ４０４では、ＩＰＡ管理アプリケーション１３０は、音声信号１０１のクエリコンテンツを、ステップ４０２で検出された起動フレーズ（複数可）から分離する。例えば、ステップ４０４は、音声分割モジュール２１４によって行われてよい。
【００５０】
ステップ４０５では、ＩＰＡ管理アプリケーション１３０は、ステップ４０２で検出された起動フレーズのうちの１つが言及するＩＰＡサービスを選択する。一般的に、ＩＰＡサービスは、ＩＰＡ管理アプリケーション１３０が対話するように構成される一群の候補のＩＰＡサービスに含まれる。
【００５１】
ステップ４０６では、ＩＰＡ管理アプリケーション１３０は、どのクエリコンテンツ３０２がステップ４０５で選択されたＩＰＡサービスに関連するか判断する。例えば、ステップ４０６は、クエリ処理モジュール２３４によって行われてよい。
【００５２】
ステップ４０７では、ＩＰＡ管理アプリケーション１３０は、ステップ４０５で選択されたＩＰＡサービスに対して音声入力３０４を生成する。いくつかの実施形態では、ステップ４０７では、ＩＰＡ管理はさらに、ステップ４０７で生成された音声入力を選択されたＩＰＡサービスに送信すべきことを示すメタデータ３０５を生成する。
【００５３】
ステップ４０８では、ＩＰＡ管理アプリケーション１３０は、ステップ４０７で生成された音声入力３０４を、メタデータ３０５で示された適切なＩＰＡサービスに送信する。いくつかの実施形態では、音声入力３０４は、第１のＩＰＡクライアント１２１、第２のＩＰＡクライアント１２１または第３のＩＰＡクライアント１２３のうちの１つを介して適切なＩＰＡサービスに送信される。これは、当該ＩＰＡサービスに対応するＩＰＡクライアントが、必須プロトコルを介してＩＰＡサービスへデータを送信し、ＩＰＡサービスからデータを受信するように構成されるためである。
【００５４】
ステップ４０９では、ＩＰＡサービスまたはクエリコンテンツ３０２と関連しなかった他の起動フレーズが存在するかどうかを判定する。存在する場合、方法４００はステップ４０５に戻り、存在する場合、方法４００はステップ４１０に進んで終了する。
【００５５】
図５は、本開示の様々な実施形態による、複数のＩＰＡサービスからの応答を管理するための方法ステップのフローチャートを説明する。ステップ方法は図１〜図４のシステムに関して説明するが、当業者であれば、あらゆる順序で方法ステップを行うように構成されるあらゆるシステムが、様々な実施形態の範囲内に該当することを理解するであろう。
【００５６】
ステップ５０１では、ＩＰＡ管理アプリケーション１３０は、第１のＩＰＡサービス１４０、第２のＩＰＡサービス１５０または第３のＩＰＡサービス１６０のうちの１つなどのＩＰＡサービスから応答音声信号３０６を受信する。応答音声信号３０６は、例えば、スマートデバイスにより再生される音声ファイルまたはスマートデバイスによる再生のために音声信号に変換されるテキストベースファイルであってよい。応答音声信号３０６は音声信号への応答を含み、音声信号は、音声コマンド、クエリまたはＩＰＡ管理アプリケーション１３０によって前回受信された音声信号１０１などの他のクエリコンテンツを含む。具体的には、ステップ５０１で受信された応答音声信号３０６は、音声コマンド、クエリまたは前回受信された音声信号１０１に含まれる他のクエリコンテンツに応答する。
【００５７】
ステップ５０２では、ＩＰＡ管理アプリケーション１３０は、音声コマンド、クエリまたは音声信号１０１の他のクエリコンテンツに応答する他の音声信号が見込まれるかどうかを判定する。見込まれる場合、方法５００はステップ５０３に進み、見込まれない場合、方法５００はステップ５０４に進む。
【００５８】
ステップ５０３では、ＩＰＡ管理アプリケーション１３０はステップ５０１で受信した応答音声信号３０６を、例えば、メモリ２１０及び／またはストレージ２１５に記憶する。方法５００は、次いで、ステップ５０１に戻る。
【００５９】
ステップ５０４では、ＩＰＡ管理アプリケーション１３０は、ステップ５０１の反復で受信された応答音声信号３０６を選択する。いくつかの実施形態では、選択された特定の応答音声信号３０６は特定の再生順序に基づく。例えば、いくつかの実施形態では、ＩＰＡ管理アプリケーション１３０は、前回受信された音声信号１０１の起動フレーズ及び／または変更リスナコマンドによって言及されたＩＰＡサービスの順序を基に、応答音声信号３０６を選択する。他の実施形態では、ＩＰＡ管理アプリケーション１３０は、複数の応答音声信号３０６が受信される順序を基に、応答音声信号３０６を選択する。他の実施形態では、ＩＰＡ管理アプリケーション１３０は、ユーザが選択した再生順序など、デフォルトの再生順序を基に、応答音声信号３０６を選択する。
【００６０】
ステップ５０５では、ＩＰＡ管理アプリケーション１３０は、５０４で選択した応答音声信号３０６を再生する。いくつかの実施形態では、ＩＰＡ管理アプリケーション１３０はまず、応答音声信号３０６を再生可能にするために、選択された応答音声信号３０６に含まれるテキストベースデータを音声データ形式に変換する。
【００６１】
ステップ５０６では、ＩＰＡ管理アプリケーション１３０は、ユーザ９０に再生する他の応答音声信号３０６が存在するかどうかを判断する。存在する場合、方法５００はステップ５０５に戻り、存在しない場合、方法５００はステップ５０７に進んで終了する。
【００６２】
要約すると、様々な実施形態は、ユーザが音声コマンドを利用し、単一のスマートデバイスから複数のＩＰＡサービスにアクセスすることが可能な技法を説明している。起動フレーズは、ユーザの音声コマンドに応じて生成された音声信号で検出され、クエリコンテンツは検出された起動フレーズから分離される。各起動フレーズは次いで、特定のクエリコンテンツに関連付けられ、当該クエリコンテンツは起動フレーズに関連するＩＰＡサービスに送信される。
【００６３】
開示された実施形態の少なくとも１つの利点は、ユーザが単一のスマートデバイスを介して１つの音声コマンドを複数のＩＰＡに発行し、それぞれの応答を特定の順序で再生できることである。さらなる利点は、ユーザが、係る音声コマンドを、従来技法で可能なものより自然かつ会話型の構文で発行できることである。
【００６４】
様々な実施形態の説明を例示の目的で提示してきたが、それらが網羅的であること、または開示された実施形態に限定されることを意図するものではない。当業者には、説明した実施形態の範囲及び趣旨から逸脱することなく、多数の修正形態及び変形形態が明らかであろう。
【００６５】
本実施形態の態様は、システム、方法またはコンピュータプログラム製品として具現化されてよい。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）またはソフトウェア及びハードウェアの態様を組み合わせる実施形態の形態をとり得、これら全ては、本明細書において全体として「モジュール」または「システム」と呼ばれ得る。さらに、本開示の態様は、コンピュータ可読プログラムコードを内蔵した１つ以上のコンピュータ可読媒体（複数可）に具体化されたコンピュータプログラム製品の形態をとり得る。
【００６６】
１つ以上のコンピュータ可読媒体（複数可）の任意の組み合わせを利用してよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってよい。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置もしくはデバイス、あるいは前述の任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）として、以下、すなわち、１つ以上の配線を有する電子接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、携帯型コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光学ストレージデバイス、磁気ストレージデバイスまたは前述の任意の適切な組み合わせが含まれる。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置またはデバイスによって、あるいはこれらと連携して、使用プログラムを包含または記憶できる任意の有形媒体であってよい。
【００６７】
本開示の態様は、本開示の実施形態による方法、装置（システム）及びコンピュータプログラム製品のフローチャート図及び／またはブロック図を参照して上記に説明される。フローチャート図及び／またはブロック図の各ブロック、ならびにフローチャート図及び／またはブロック図のブロックの組み合わせは、コンピュータプログラム命令によって実施できることが理解されるだろう。コンピュータプログラム命令は、機械を製造するために、汎用コンピュータのプロセッサ、専用コンピュータのプロセッサまたは他のプログラム可能データ処理装置のプロセッサに提供され得、その結果、コンピュータのプロセッサまたは他のプログラム可能データ処理装置を介して実行する命令が、フローチャート及び／またはブロック図のブロックに特定された機能／行為を実装することができる。係るプロセッサは、汎用プロセッサ、専用プロセッサ、特定用途向けプロセッサまたはフィールドプログラマブルプロセッサもしくはゲートアレイであり得るが、これらに限定されない。
【００６８】
図面内のフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性及び操作を例示する。この点に関して、フローチャートまたはブロック図の各ブロックは、特定の論理的機能（複数可）を実装するための１つ以上の実行可能命令を備える、モジュール、セグメントまたはコードの一部を表し得る。また、いくつかの代替的な実装形態では、ブロックに記載された機能が、図面に記載された順序とは異なる順序で発生し得る点にも留意されたい。例えば、連続して示される２つのブロックは、実際には、実質的に同時に実行されてよく、ときには、含まれる機能によって、ブロックが逆の順序で実行されてよい。また、ブロック図及び／またはフローチャート図の各ブロック、ならびにブロック図及び／またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する専用ハードウェアベースのシステム、あるいは専用ハードウェアとコンピュータ命令との組み合わせによって実装されることがある点にも留意されたい。
【００６９】
前述は本開示の実施形態に関するものであるが、本開示の他の実施形態及び追加の実施形態は、その基本的な範囲から逸脱することなく考案され得、その範囲は以下の特許請求の範囲によって決定される。
【図１】
2018181330.tif 000003
【図２】
2018181330.tif 000004
【図３】
2018181330.tif 000005
【図４】
2018181330.tif 000006
【図５】
2018181330.tif 000007