IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ハーマン インターナショナル インダストリーズ インコーポレイテッドの特許一覧

特許7083270複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ
<>
  • 特許-複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ 図1
  • 特許-複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ 図2
  • 特許-複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ 図3
  • 特許-複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ 図4
  • 特許-複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-02
(45)【発行日】2022-06-10
(54)【発明の名称】複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤ
(51)【国際特許分類】
   G06F 3/16 20060101AFI20220603BHJP
   G10L 15/00 20130101ALI20220603BHJP
   G10L 15/28 20130101ALI20220603BHJP
   G10L 15/30 20130101ALI20220603BHJP
   G10L 15/32 20130101ALI20220603BHJP
   G10L 15/22 20060101ALI20220603BHJP
   G10L 13/00 20060101ALI20220603BHJP
【FI】
G06F3/16 630
G10L15/00 200A
G10L15/28 230K
G10L15/30
G10L15/32 220Z
G10L15/22 300Z
G10L13/00 100M
G06F3/16 650
【請求項の数】 13
(21)【出願番号】P 2018073256
(22)【出願日】2018-04-05
(65)【公開番号】P2018181330
(43)【公開日】2018-11-15
【審査請求日】2021-03-09
(31)【優先権主張番号】15/487,347
(32)【優先日】2017-04-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】592051453
【氏名又は名称】ハーマン インターナショナル インダストリーズ インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(72)【発明者】
【氏名】ソン マン キム
【審査官】木村 慎太郎
(56)【参考文献】
【文献】特開2016-095383(JP,A)
【文献】特表2019-533182(JP,A)
【文献】特開2016-151608(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
G06F 16/90
G10L 15/00
G10L 15/28
G10L 15/30
G10L 15/32
G10L 15/22
G10L 13/00
G06F 16/00
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサによる実行時に、
第1の音声信号内の起動フレーズを検出することと、
前記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択することと、
前記第1の音声信号からクエリコンテンツを抽出することと、
前記クエリコンテンツを基に、第2の音声信号を生成することと、
前記第2の音声信号を前記IPAに送信することと
前記第1の音声信号の変更リスナコマンドを検出することと、
前記変更リスナコマンドを基に、追加のIPAを決定することと、
前記第2の音声信号を前記追加のIPAに送信することと
のステップ群を行う音声認識を行うように前記1つ以上のプロセッサを構成する命令を含む、非一時的なコンピュータ可読記憶媒体。
【請求項2】
1つ以上のプロセッサによる実行時に、
前記第1の音声信号の追加の起動フレーズを検出することと、
前記追加の起動フレーズを基に、前記一群の候補のIPAに含まれている追加のIPAを選択することと
のステップ群を行うように前記1つ以上のプロセッサを構成する命令をさらに備える、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項3】
1つ以上のプロセッサによる実行時に、前記第2の音声信号を前記追加のIPAに送信するステップを行うように前記1つ以上のプロセッサを構成する命令をさらに備える、請求項2に記載の非一時的なコンピュータ可読媒体。
【請求項4】
1つ以上のプロセッサによる実行時に、
前記追加の起動フレーズに関連する前記第1の音声信号から追加のクエリコンテンツを抽出することと、
前記追加のクエリコンテンツを基に、第3の音声入力を生成することと、
前記第3の音声入力を前記追加のIPAに送信することと
のステップ群を行うように前記1つ以上のプロセッサを構成する命令をさらに備える、請求項2に記載の非一時的なコンピュータ可読媒体。
【請求項5】
1つ以上のプロセッサによる実行時に、
前記IPAから第1の応答音声信号を受信することと、
前記第1の応答音声信号を再生させることと、
前記第1の応答音声信号の再生中に、前記一群の候補のIPAに含まれる追加のIPAから第2の応答音声信号を受信することと、
前記第1の応答音声信号の再生が完了した後、前記第2の応答音声信号の再生を開始することと
のステップ群を行うように前記1つ以上のプロセッサを構成する命令をさらに備える、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項6】
前記第1の応答音声信号は、前記第2の音声信号の送信に応じて受信される、請求項5に記載の非一時的なコンピュータ可読媒体。
【請求項7】
1つ以上のプロセッサによる実行時に、
前記IPAから第1の応答音声信号を受信することと、
前記第1の応答音声信号を記憶することと、
前記第1の応答音声信号を記憶した後に、前記一群の候補のIPAに含まれる追加のIPAから第2の応答音声信号を受信することと、
前記第1の応答音声信号及び前記第2の応答音声信号の再生を、前記IPAが起動フレーズ及び/または変更リスナコマンドで言及されていた順序か、前記第1の応答音声信号及び前記第2の応答音声信号が受信された順序か、またはユーザが選択した再生順序に基づいたデフォルト順序かのうちの少なくとも1つによって決定される順序で、開始させることと
のステップ群を行うように前記1つ以上のプロセッサを構成する命令をさらに備える、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項8】
変更リスナコマンドを検出することは、前記起動フレーズを発したユーザが音声コマンドを前記一群の候補のIPAに含まれる第2のIPAに向けていることを示すワードまたはフレーズを検出すること備える、請求項に記載の非一時的なコンピュータ可読媒体。
【請求項9】
インテリジェントパーソナルアシスタント(IPA)管理アプリケーションを記憶するメモリと、
前記メモリに結合される1つ以上のプロセッサであって、前記IPA管理アプリケーションの実行時に、
第1の音声信号内の起動フレーズを検出することと
前記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択することと
前記第1の音声信号からクエリコンテンツを抽出することと
前記クエリコンテンツを基に、第2の音声信号を生成することと
前記第2の音声信号を前記IPAに送信することと、
前記第1の音声信号の変更リスナコマンドを検出することと、
前記変更リスナコマンドを基に、追加のIPAを決定することと、
前記第1の音声信号から追加のクエリコンテンツを抽出することと、
前記追加のクエリコンテンツを基に、第3の音声信号を生成することと、
前記第3の音声信号を前記追加のIPAに送信することと
を行うように構成される1つ以上のプロセッサと
を備える、システム。
【請求項10】
前記変更リスナコマンドを基に、前記追加のIPAを決定することは、前回発行された音声コマンド、前回発行された音声クエリ、またはどのプロセスがIPAによって現在制御されているかのうちの少なくとも1つを基に、前記追加のIPAを決定することを備える、請求項に記載のシステム。
【請求項11】
前記前回発行された音声コマンドを基に前記追加のIPAを決定することは、前記追加のIPAが、第2の音声信号を介して前記前回発行された音声コマンドを受信したIPAであることを決定することを備える、請求項10に記載のシステム。
【請求項12】
前記1つ以上のプロセッサは、
前記IPAから第1の応答音声信号を受信することと、
前記第1の応答音声信号を記憶することと、
前記第1の応答音声信号を記憶した後に、前記追加のIPAから第2の応答音声信号を受信することと、
前記第1の応答音声信号及び前記第2の応答音声信号の再生を、前記IPAが起動フレーズ及び/または変更リスナコマンドで言及されていた順序か、前記第1の応答音声信号及び前記第2の応答音声信号が受信された順序か、またはユーザが選択した再生順序に基づいたデフォルト順序かのうちの少なくとも1つによって決定される順序で、開始させることと
を行うようにさらに構成される、請求項9に記載のシステム。
【請求項13】
第1の音声信号内の起動フレーズを検出することと、
前記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択することと、
前記第1の音声信号からクエリコンテンツを抽出することと、
前記クエリコンテンツを基に、第2の音声信号を生成することと、
前記第2の音声信号を前記IPAに送信することと
前記第1の音声信号の変更リスナコマンドを検出することと、
前記変更リスナコマンドを基に、追加のIPAを決定することと、
前記第2の音声信号を前記追加のIPAに送信することと
を備える、音声認識を行う方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、概して、インテリジェントパーソナルアシスタントサービスに関し、より詳細には、複数のインテリジェントパーソナルアシスタントサービスに対する管理レイヤに関する。
【背景技術】
【0002】
インテリジェントパーソナルアシスタント(IPA)は、ユーザが提供する口頭入力を基に、ユーザに対してタスクまたはサービスを行うことができるソフトウェアエージェントまたは他のアプリケーションである。IPAは、発話要求を基にユーザに対して特定のタスクを行うことができ、これにより、ユーザは、タッチスクリーン、キーボード、マウスまたは他の入力デバイスを介して手動入力を提供する必要性がなくなる。例えば、ユーザは、IPAを介して様々なオンラインソースから情報(例えば、天気、交通状況、ニュース、株価、ユーザのスケジュール、小売価格等)にアクセスすることができる。さらに、ユーザは、IPAによって情報ベースのタスク(例えば、電子メール、カレンダイベント、ファイル、やることリスト及びその他の管理)を完了することができる。
【0003】
近年、Microsoft Cortana(商標)、Apple Siri(商標)、Google Home(商標)及びAmazon Alexa(商標)など、様々な種類のIPAが消費者に広く使用されている。しかしながら、消費者が利用できるIPAサービスの数が増加するにつれ、問題が起こる可能性がある。具体的には、現在、ユーザは複数のIPAサービスでサブスクリプションを有することができる一方、スマートフォンまたはスマートスピーカなどの単一のデバイスから各IPAにアクセスする利便性には問題が起こる可能性がある。
【0004】
現在、ユーザは、それぞれ異なるIPAサービスにアクセスするために、一般的には異なるデバイスが必要であり、これは冗長かつ面倒である。例えば、ユーザは1つのデバイスを介して1つの質問を第1のIPAサービスに送り、次いで、別のデバイスを介して別の(または同じ)質問を第2のIPAサービスに送るということが単にできない。これは、第1及び第2のIPAサービスからの応答を受信すると、デバイスが互いに干渉する傾向があるためである。むしろ、ユーザは1つのIPAサービスに1つの質問を尋ね、次いで、その応答を待った後、別のIPAサービスに質問を尋ねることしかできない。その結果、ユーザは、複数の人間アシスタントとの同時対話に近い自然かつ便利なユーザ体験を享受することができない。
【0005】
代替的には、一部のスマートデバイスは複数のIPAサービスをサポートするように構成され得る。しかしながら、係るデバイスでは、単一のIPAサービスをデフォルトサービスとして構成する必要がある。その結果、他のIPAサービスにアクセスするには、ユーザはデバイスを再構築してデフォルトのIPAサービスを修正する必要がある。異なるデフォルトのIPAサービスに切り替えることは面倒かつ時間がかかるため、ユーザはさらに、複数のIPAサービスと対話する場合に、係る手法により自然かつ便利なユーザ体験を享受することができない。
【0006】
したがって、複数のIPAサービスを単一のデバイスで管理するための改良された技法は有益となる。
【発明の概要】
【課題を解決するための手段】
【0007】
様々な実施形態は、非一時的なコンピュータ可読媒体を説明し、非一時的なコンピュータ可読媒体は1つ以上のプロセッサによる実行時に、第1の音声信号内の起動フレーズを検出することと、起動フレーズを基に、一群の候補インテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択することと、第1の音声信号からクエリコンテンツを抽出することと、クエリコンテンツを基に、第2の音声信号を生成することと、第2の音声信号をIPAに送信することとのステップ群を行うことにより、複数のインテリジェントパーソナルアシスタント(IPA)アプリケーションとの対話を管理するよう、1つ以上のプロセッサを構成する命令を含む。
【0008】
開示される実施形態の少なくとも1つの利点は、IPAサービスが互いに干渉することなく、ユーザが単一のスマートデバイスを介して1つの音声コマンドを複数のIPAに発行し、特定の順序で各IPAからの応答を受信できることである。さらなる利点は、ユーザが、従来技法で可能なものより会話型かつ自然な構文を使用して複数のIPAのうちの1つ以上に音声コマンドを送ることができることである。
【0009】
様々な実施形態の上記の特徴が詳細に理解できる方法で、上に簡潔に要約した様々な実施形態のより具体的な説明は実施形態を参照して行うことができ、その一部を添付の図面に例示する。しかしながら、添付の図面は典型的な実施形態を例示するにすぎず、様々な実施形態が他の同等に有効な実施形態を認め得るため、その範囲を限定するものとみなすべきではないことに留意されたい。
例えば、本願は、以下の項目を提供する。
(項目1)
1つ以上のプロセッサによる実行時に、
第1の音声信号内の起動フレーズを検出することと、
上記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択することと、
上記第1の音声信号からクエリコンテンツを抽出することと、
上記クエリコンテンツを基に、第2の音声信号を生成することと、
上記第2の音声信号を上記IPAに送信することと
のステップ群を行う音声認識を行うように上記1つ以上のプロセッサを構成する命令を含む、非一時的なコンピュータ可読記憶媒体。
(項目2)
1つ以上のプロセッサによる実行時に、
上記第1の音声信号の追加の起動フレーズを検出することと、
上記追加の起動フレーズを基に、上記一群の候補のIPAに含まれている追加のIPAを選択することと
のステップ群を行うように上記1つ以上のプロセッサを構成する命令をさらに備える、上記項目に記載の非一時的なコンピュータ可読媒体。
(項目3)
1つ以上のプロセッサによる実行時に、上記第2の音声信号を上記追加のIPAに送信するステップを行うように上記1つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目4)
1つ以上のプロセッサによる実行時に、
上記追加の起動フレーズに関連する上記第1の音声信号から追加のクエリコンテンツを抽出することと、
上記追加のクエリコンテンツを基に、第3の音声入力を生成することと、
上記第3の音声入力を上記追加のIPAに送信することと
のステップ群を行うように上記1つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目5)
1つ以上のプロセッサによる実行時に、
上記IPAから第1の応答音声信号を受信することと、
上記第1の応答音声信号を再生させることと、
上記第1の応答音声信号の再生中に、上記一群の候補のIPAに含まれる追加のIPAから第2の応答音声信号を受信することと、
上記第1の応答音声信号の再生が完了した後、上記第2の応答音声信号の再生を開始することと
のステップ群を行うように上記1つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目6)
上記第1の応答音声信号は、上記第2の音声信号の送信に応じて受信される、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目7)
1つ以上のプロセッサによる実行時に、
上記IPAから第1の応答音声信号を受信することと、
上記第1の応答音声信号を記憶することと、
上記第1の応答音声信号を記憶した後に、上記一群の候補のIPAに含まれる追加のIPAから第2の応答音声信号を受信することと、
上記第1の応答音声信号の再生を開始させる前に、上記第2の応答音声信号の再生を開始させることと
のステップ群を行うように上記1つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目8)
1つ以上のプロセッサによる実行時に、
上記第1の音声信号の変更リスナコマンドを検出することと、
上記変更リスナコマンドを基に、追加のIPAを決定することと、
上記第2の音声信号を上記追加のIPAに送信することと
のステップ群を行うように上記1つ以上のプロセッサを構成する命令をさらに備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目9)
変更リスナコマンドを検出することは、上記起動フレーズを発したユーザが音声コマンドを上記一群の候補のIPAに含まれる第2のIPAに向けていることを示すワードまたはフレーズを検出すること備える、上記項目のいずれか一項に記載の非一時的なコンピュータ可読媒体。
(項目10)
インテリジェントパーソナルアシスタント(IPA)管理アプリケーションを記憶するメモリと、
上記メモリに結合される1つ以上のプロセッサであり、上記IPA管理アプリケーションの実行時に、
第1の音声信号内の起動フレーズを検出し、
上記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択し、
上記第1の音声信号からクエリコンテンツを抽出し、
上記クエリコンテンツを基に、第2の音声信号を生成し、
上記第2の音声信号を上記IPAに送信するように構成される、上記1つ以上のプロセッサと
を備える、システム。
(項目11)
上記1つ以上のプロセッサはさらに、
上記第1の音声信号の変更リスナコマンドを検出することと、
上記変更リスナコマンドを基に、追加のIPAを決定することと、
上記第1の音声信号から追加のクエリコンテンツを抽出することと、
上記追加のクエリコンテンツを基に、第3の音声信号を生成することと、
上記第3の音声信号を上記第2のIPAに送信することと
のステップ群を行うように構成される、上記項目に記載のシステム。
(項目12)
上記追加のクエリコンテンツは音声コマンドを含む、上記項目のいずれか一項に記載のシステム。
(項目13)
上記変更リスナコマンドを基に、上記追加のIPAを決定することは、前回発行された音声コマンド、前回発行された音声クエリ及びどのプロセスがIPAによって現在制御されているかのうちの少なくとも1つを基に、上記追加のIPAを決定することを備える、上記項目のいずれか一項に記載のシステム。
(項目14)
上記前回発行された音声コマンドを基に上記追加のIPAを決定することは、上記追加のIPAが、第2の音声信号を介して上記前回発行された音声コマンドを受信したIPAであることを決定することを備える、上記項目のいずれか一項に記載のシステム。
(項目15)
どのプロセスが上記IPAサービスによって現在制御されているかを基に上記追加のIPAを決定することは、上記追加のIPAが上記プロセスを制御していると決定することを備える、上記項目のいずれか一項に記載のシステム。
(項目16)
上記1つ以上のプロセッサはさらに、
上記第1の音声信号の追加の起動フレーズを検出することと、
上記追加の起動フレーズを基に、上記一群の候補のIPAに含まれる追加のIPAを選択することと
のステップ群を行うように構成される、上記項目のいずれか一項に記載のシステム。
(項目17)
上記1つ以上のプロセッサはさらに、上記第2の音声信号を上記追加のIPAに送信するステップを行うように構成される、上記項目のいずれか一項に記載のシステム。
(項目18)
上記1つ以上のプロセッサはさらに、
上記追加の起動フレーズに関連する上記第1の音声信号から追加のクエリコンテンツを抽出することと、
上記追加のクエリコンテンツを基に、第3の音声入力を生成することと、
上記第3の音声入力を上記追加のIPAに送信することと
のステップ群を行うように構成される、上記項目のいずれか一項に記載のシステム。
(項目19)
第1の音声信号内の起動フレーズを検出することと、
上記起動フレーズを基に、一群の候補のインテリジェントパーソナルアシスタント(IPA)に含まれるIPAを選択することと、
上記第1の音声信号からクエリコンテンツを抽出することと、
上記クエリコンテンツを基に、第2の音声信号を生成することと、
上記第2の音声信号を上記IPAに送信することと
を備える、音声認識を行う方法。
(項目20)
上記第1の音声信号の追加の起動フレーズを検出することと、
上記追加の起動フレーズを基に、上記一群の候補のIPAに含まれる追加のIPAを選択することと
をさらに備える、上記項目に記載の方法。
(摘要)
音声認識をマルチデバイスシステムで行うことは、口頭発話に応じて第1のマイクにより生成された第1の音声信号、及び口頭発話に応じて第2のマイクにより生成された第2の音声信号を受信し、第1の音声信号を一時的セグメントの第1のシーケンスに分割し、第2の音声信号を一時的セグメントの第2のシーケンスに分割し、第1のシーケンスの第1の一時的セグメントに関連する音エネルギーレベルと、第2のシーケンスの第1の一時的セグメントに関連する音エネルギーレベルとを比較し、比較を基に、音声認識音声信号の第1の一時的セグメントとして、第1のシーケンスの第1の一時的セグメント及び第2のシーケンスの第1の一時的セグメントのうちの1つを選択し、音声認識音声信号に音声認識を行うことを含む。
【図面の簡単な説明】
【0010】
図1】様々な実施形態の1つ以上の態様を実施するように構成される、インテリジェントパーソナルアシスタント(IPA)管理システムを例示する模式図である。
図2】本開示の1つ以上の態様を実施するように構成される、スマートデバイスを例示する。
図3】本開示の様々な実施形態による、図1のIPA管理アプリケーションの動作図である。
図4】本開示の様々な実施形態による、音声認識を行うための方法ステップのフローチャートを説明する。
図5】本開示の様々な実施形態による、複数のIPAサービスからの応答を管理するための方法ステップのフローチャートを説明する。
【発明を実施するための形態】
【0011】
明確にするために、適用可能な場合、図面間で共通の同一要素を示すために同一の参照番号を使用する。1つの実施形態の特徴は、さらなる説明を伴うことなく、他の実施形態に組み込まれ得ると考えられる。
【0012】
図1は、様々な実施形態の1つ以上の態様を実装するように構成された、インテリジェントパーソナルアシスタント(IPA)管理システム100を例示する模式図である。IPA管理システム100は、スマートデバイス120、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160を含み、全ては通信ネットワーク105を介して互いに通信可能に接続されている。さらに、口頭発話91を介してユーザ要求を生成するユーザ90が図1に示されている。いくつかの実施形態では、マルチデバイスIPAシステム100は、図1に例示した3つのIPAサービスより多いまたは少ないIPAサービスを含む。
【0013】
通信ネットワーク105は、任意の技術的に実現可能な種類の通信ネットワークであってよく、スマートデバイス120、第1のIPAサービス140、第2のIPAサービス150、第3のIPAサービス160及び/またはウェブサーバもしくは別のネットワークに接続されたコンピューティングデバイスなどの他の実体もしくはデバイスの間でデータを交換することができる。例えば、通信ネットワーク105は、特に、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤレス(WiFi)ネットワーク、ワイヤレスパーソナルエリアネットワーク(WPAN)(Bluetooth(登録商標)ネットワークなど)及び/またはインターネットを含み得る。ゆえに、いくつかの実施形態では、通信ネットワーク105は、WiFiルータなどの、図1に図示しない1つ以上の追加のネットワークデバイスを含み得る。
【0014】
第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160のそれぞれは、特に、Microsoft Cortana(商標)、Apple Siri(商標)、Google Home(商標)またはAmazon Alexa(商標)などの様々な市販IPAサービスであってよい。したがって、各IPAサービスはスマートデバイス(スマートデバイス120など)からクエリコンテンツを受信し、クエリに対して作用し、ユーザの質問に対する回答または要求アクションの完了確認などの適切な応答を提供するように構成され得る。一般的に、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160によって受信されるクエリコンテンツは、音声データまたはテキストのいずれかの形態であってよい。同様に、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160によって提供されるスマートデバイス120に対する応答は、音声データまたはテキストのいずれかの形態であってよい。
【0015】
スマートデバイス120は、IPAと互換性のあるコンピューティングデバイスであり、ユーザからの特定の音声コマンドを受信し、係るコマンドに含まれるクエリコンテンツを第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160のうちの1つ以上に適宜送り、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160から受信した応答を管理するように構成される。ゆえに、スマートデバイス120はIPAサービス管理レイヤにより構成される。そのため、スマートデバイス120はIPA管理アプリケーション130、第1のIPAクライアント121、第2のIPAクライアント122及び第3のIPAクライアント123を含む。IPA管理アプリケーション130は以下により詳細に説明する。第1のIPAクライアント121は、第1のIPAサービス140との間のデータの送受信を行うように構成され、第2のIPAクライアント122は、第2のIPAサービス150との間のデータの送受信を行うように構成され、第3のIPAクライアント123は、第3のIPAサービス160との間のデータの送受信を行うように構成される。いくつかの実施形態では、第1のIPAクライアント121の機能性は第1のIPAサービス140のアプリケーションプログラムインターフェース(API)に基づき、第2のIPAクライアント122の機能性は第2のIPAサービス150のAPIに基づき、第3のIPAクライアント123の機能性は第3のIPAサービス160のAPIに基づく。例えば、いくつかの実施形態では、上に説明したIPAクライアントのうちの1つは、IPAサービスにより定義されたAPIに従って、対応するIPAサービスと相互作用する可能性がある。
【0016】
動作中、IPA管理アプリケーション130は、口頭発話91の受信に応じて、例えば、マイク126を介して、生成された音声信号101を検出し、音声信号101が、「OK、Google」、「こんにちは、Siri」、「ねえ、Alexa」等などの起動フレーズを含むかどうか判断する。1つ以上の起動フレーズが音声信号101に検出される場合、IPA管理アプリケーション130は音声信号から質問などのクエリコンテンツを抽出し、特定のタスク等を行うように命令し、クエリコンテンツを送信すべきIPAサービスを決定する。追加的には、IPA管理アプリケーション130は、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160からの応答を受信し、例えば、スピーカ125によって再生される音声信号102を介して、スマートデバイス120に係る応答のそれぞれを連続的に再生させるように構成される。ゆえに、ユーザ90は、単一のスマートデバイスを介して異なるIPAサービスに一連の音声コマンドを発行することができ、様々なIPAサービスからの応答の再生は、ユーザ90がそれぞれを個別に聞くことができるよう管理される。
【0017】
スマートデバイス120は、任意のスタンドアロン型コンピューティングデバイスであってよく、通信ネットワーク105を介して通信し、IPA管理アプリケーション130及びIPA管理アプリケーション130に関連するアプリケーションを実行するように動作可能である。スマートデバイス120としての使用に適したコンピューティングデバイスの例は、スマートスピーカ、スマートフォン、ホームオートメーションハブ、電子式タブレット、ノートパソコン、デスクトップパソコン及びその他を含むが、これらに限定されない。代替的または追加的には、スマートデバイス120は、通信ネットワーク105を介して通信するように動作可能であり、電子デバイス、民生機器または他の装置であり、ビデオゲームコンソール、セットトップコンソール、デジタルビデオレコーダ、ホームオートメーションデバイス及びその他を非限定的に含む装置に内蔵されるコンピューティングデバイスであり得る。図2に関連してスマートデバイス120の1つの実施形態を以下に説明する。
【0018】
図2は、本開示の1つ以上の態様を実施するように構成された、スマートデバイス120を例示する。したがって、スマートデバイス120は、IPA管理アプリケーション130、第1のIPAクライアント121、第2のIPAクライアント122及び第3のIPAクライアント123のうちの1つ以上を実装するように構成され、それぞれはメモリ210に常駐し得る。いくつかの実施形態では、IPA管理アプリケーション130は、起動フレーズ検出モジュール231、音声データ分割モジュール232、クエリ処理モジュール233及びIPA通信管理モジュール234のうちの1つ以上を含み得る。スマートデバイス120はさらに、例えば、1つ以上のIPAサービスから受信した応答音声信号を音エネルギーに変換することによって、スピーカ126に音を生成させるように構成される。本明細書に説明するコンピューティングデバイスは例示的なものであり、任意の他の技術的に実現可能な構成が本発明の範囲内に該当することに留意されたい。
【0019】
図示の通り、スマートデバイス120は、処理ユニット250、入出力(I/O)デバイス280に結合された入出力(I/O)デバイスインターフェース260、メモリ210、ストレージ215(例えば、フラッシュドライブまたはハードディスクドライブ)及びネットワークインターフェース270を接続する相互接続(バス)240を含むが、これらに限定されない。処理ユニット250は、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、任意の他の種類の処理装置またはデジタルシグナルプロセッサ(DSP)と協働して動作するように構成されるCPUなどの様々な処理装置の組み合わせとして実装される任意の適切なプロセッサであり得る。例えば、いくつかの実施形態では、処理ユニット250はCPU及びDSPを含む。一般的に、処理ユニット250は、IPA管理アプリケーション130、起動フレーズ検出モジュール231、音声データ分割モジュール232、クエリ処理モジュール233、IPA通信管理モジュール234、第1のIPAクライアント121、第2のIPAクライアント122及び第3のIPAクライアント123を含む、データ処理及び/またはソフトウェアアプリケーションの実行が可能な技術的に実現可能なハードウェアユニットのいずれかであってよい。さらに、本開示の文脈では、スマートデバイス120に示されるコンピューティング要素は、物理的なコンピューティングシステム(例えば、データセンタのシステム)に対応し得るか、またはコンピューティングクラウド内で実行する仮想コンピューティングインスタンスであり得る。係る実施形態では、起動フレーズ検出モジュール231、音声データ分割モジュール232及び/またはクエリ処理モジュール233などがIPA管理アプリケーション130の動作中に行う音声認識は、コンピューティングクラウドまたはサーバ内で実行する仮想コンピューティングインスタンス上で動作する音声認識アプリケーションを介して実施され得る。
【0020】
入出力デバイス280は、キーボード、マウス、タッチ感度画面、マイク126及びその他などの入力を提供できるデバイス、ならびにスピーカ125及びディスプレイ画面などの出力を提供できるデバイスを含み得る。ディスプレイ画面は、コンピュータモニタ、ビデオディスプレイ画面、携帯型デバイスに内蔵されるディスプレイ装置または任意の他の技術的に実現可能なディスプレイ画面であり得る。マイク126は、口頭発話91などの音エネルギーを、音声信号101などの音声信号に変換するように構成される。スピーカ125は、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160のうちの1つ以上からの応答音声信号などの音声信号を、音エネルギーに変換するように構成される。
【0021】
入出力デバイス280は、入力の受信及び出力の提供の両方が可能な追加のデバイスを含んでよく、例えば、タッチスクリーン、ユニバーサルシリアルバス(USB)ポート及びその他などである。係る入出力デバイス280は、様々な種類の入力をスマートデバイス120のエンドユーザから受信し、さらに、表示されたデジタル画像またはデジタルビデオなどの様々な種類の出力をスマートデバイス120のエンドユーザに提供するように構成され得る。いくつかの実施形態では、入出力デバイス280のうちの1つ以上は、スマートデバイス120を通信ネットワーク105に結合するように構成される。
【0022】
入出力インターフェース260は、入出力デバイス280と処理ユニット250との通信を可能にする。入出力インターフェースは、一般的に、入出力デバイス280に対応し、処理ユニット250によって生成されたアドレスを解釈するための必須ロジックを含む。入出力インターフェース260はさらに、処理ユニット250と入出力デバイス280との間のハンドシェイキングを実施すること及び/または入出力デバイス280に関連する割り込みを生成することを行うように構成され得る。入出力インターフェース260は、技術的に実現可能な任意のCPU、ASIC、FPGA及び任意の他の種類の処理ユニットまたはデバイスとして実装され得る。
【0023】
ネットワークインターフェース270は、処理ユニット250を通信ネットワーク105に接続するコンピュータハードウェア構成要素である。ネットワークインターフェース270は、スタンドアロン型のカード、プロセッサまたは他のハードウェアデバイスとしてスマートデバイス120に実装され得る。通信ネットワーク105がWiFiネットワークまたはWPANを含む実施形態では、ネットワークインターフェース270は好適なワイヤレス送受信機を含む。代替的または追加的には、ネットワークインターフェース270は、セルラ方式通信機能、衛星電話通信機能、ワイヤレスWAN通信機能または通信ネットワーク105またはマルチデバイスIPAシステム100に含まれる他のコンピューティングデバイス200と通信可能な他の種類の通信機能を有するように構成され得る。
【0024】
メモリ210は、ランダムアクセスメモリ(RAM)モジュール、フラッシュメモリユニットまたは任意の他の種類のメモリユニットもしくはそれらの組み合わせを含み得る。処理ユニット250、入力デバイスインターフェース260及びネットワークインターフェース270は、メモリ210に対するデータの読み出し及び書き込みを行うように構成される。メモリ210は、IPA管理アプリケーション130、起動フレーズ検出モジュール231、音声データ分割モジュール232、クエリ処理モジュール233、IPA通信管理モジュール234、第1のIPAクライアント121、第2のIPAクライアント122及び第3のIPAクライアント123を含む、プロセッサ250により実行可能な様々なソフトウェアプログラム及び当該ソフトウェアプログラムに関連するアプリケーションデータを含む。図3に関連して、起動フレーズ検出モジュール231、音声データ分割モジュール232、クエリ処理モジュール233及びIPA通信管理モジュール234を以下に説明する。
【0025】
追加的には、メモリ210は、図2に図示する通り、起動フレーズのコーパス211及び/または変更リスナコマンドのコーパス212を含み得る。代替的または追加的には、起動フレーズのコーパス211及び/または変更リスナコマンドのコーパス212はストレージ215に記憶され得る。
【0026】
起動フレーズのコーパス211は、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160のそれぞれに関連する呼び出しワードまたはウェークワードの一部または全てを含む。係る起動フレーズは、一般的に、第1のIPAサービス140、第2のIPAサービス150または第3のIPAサービス160のうちの1つ以上の名前に加え、任意には1つ以上の追加のワードまたはフレーズを含む。例は、「ねぇ、Google」、「Alexa」、「やあ、Siri」、「こんにちは、SiriとAlexa」等を含むが、これらに限定されない。
【0027】
変更リスナコマンドのコーパス212は、1つのリスナ、つまり、1つのIPAサービスから、別のリスナ、つまり、別のIPAサービスへの変更に関連するワード、フレーズまたはセンテンスを含む。ゆえに、変更リスナコマンドのコーパス212に含まれる変更リスナコマンドは、一般的に、第1のIPAサービス140、第2のIPAサービス150または第3のIPAサービス160のうちの1つの名前に加え、人間のユーザが、音声コマンドの対象を、あるIPAサービスからその名前に関連するIPAサービスに変更していることを示す追加のワードまたはフレーズを含む。いくつかの実施形態では、IPA管理アプリケーション130によって受信された前回の音声コマンドの文脈では、変更リスナコマンドは、現在、変更リスナコマンドで名前を挙げたIPAサービスも前回の音声コマンドの対象であることを示すフレーズを含み得る。例えば、変更リスナコマンドとして認識され得るフレーズは、「あなたはどう、Google」、「どう思う、Siri?」、「あなたは、Alexa?」等を含むが、これらに限定されない。
【0028】
図2に例示する実施形態では、メモリ210及びストレージ215はスマートデバイス120に内蔵される物理的な構成要素として例示されている。他の実施形態では、メモリ210及び/またはストレージ215はコンピューティングクラウドなどの、分散コンピューティング環境に含まれ得る。
【0029】
図3は、本開示の様々な実施形態による、IPA管理アプリケーション130の動作図である。図3に例示する実施形態では、IPA管理アプリケーション130は、起動フレーズ検出モジュール231、音声データ分割モジュール232、クエリ処理モジュール233及びIPA通信管理モジュール234を含む。追加的には、IPA管理アプリケーション130は、第1のIPAクライアント121、第2のIPAクライアント122及び第3のIPAクライアント123を介して、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160とそれぞれ通信する。
【0030】
起動フレーズ検出モジュール231は、マイク126から受信される音声信号101に含まれる起動フレーズを検出するように構成される。したがって、起動フレーズ検出モジュール231は、任意の技術的に実現可能な音声認識アルゴリズムまたは音声をテキストに変換するためのアルゴリズムを含み得る。起動フレーズ検出モジュール231によって検出される起動フレーズは、任意の呼び出しワードもしくはウェークワード、または起動フレーズのコーパス211に含まれる他のワード、フレーズもしくはセンテンスを含むことがあり、例えば、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160のそれぞれに関連する名前などである。起動フレーズ検出モジュール231が音声信号101の1つ以上の起動フレーズを検出した場合、図示の通り、起動フレーズ検出モジュール231は音声信号101を音声データ分割モジュール232に送信する。
【0031】
いくつかの実施形態では、起動フレーズ検出モジュール231はさらに、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160のうちどれが音声信号101で言及されているかを判断するように構成される。係る実施形態では、起動フレーズ検出モジュール231は、図示の通り、音声信号101と共にメタデータ301を音声データ分割モジュール232に送信する。メタデータ301は、音声信号101で検出されたどの起動フレーズが、起動フレーズを含まない音声信号101のどの部分に関連するかを示す。追加的には、メタデータ301は、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160のうちどれが音声信号101で言及されているかを示し得る。代替的には、音声データ分割モジュール232は、どのIPAサービスが音声信号101で言及されているかを判断するように構成され得る。
【0032】
音声データ分割モジュール232は、起動フレーズ検出モジュール231から音声信号101を受信し、音声信号101に含まれる任意の起動フレーズをクエリコンテンツから分離するように構成される。クエリコンテンツは、起動フレーズの一部として認識されていない音声信号101で検出されたワード及び/またはフレーズを含む。音声データ分割モジュール232は、次いで、クエリコンテンツ302をクエリ処理モジュール233に送信する。いくつかの実施形態では、音声データ分割モジュール232は、クエリ処理モジュール233に送信する前に、まずクエリコンテンツ302をテキストに変換し、一方、他の実施形態では、音声データ分割モジュール232は、クエリコンテンツ302を、音声信号101の起動フレーズを考慮しない部分(複数可)として送信する。ゆえに、クエリコンテンツ302は、テキストベースのデータを含んでよく、及び/または1つ以上の音声信号を含んでよい。起動フレーズは音声信号101内の複数のポイントで発生することがあり、必ずしも音声信号101の最初または最後にあるわけではないため、音声データ分割232は、クエリコンテンツ302を、音声信号101から抽出した複数の音声信号としてクエリ処理モジュール233に送信することがあることに留意されたい。
【0033】
いくつかの実施形態では、音声データ分割モジュール232はさらに、クエリコンテンツ302と共に、メタデータ303をクエリ処理モジュール233に送信する。メタデータ303は、音声信号101で検出された1つ以上の起動フレーズを基に、クエリコンテンツ302の各部分を特定のターゲットIPAサービスに関連させる。例えば、ユーザ90が、「ねえ、Google、サンフランシスコの天気はどう?」などの単純なクエリを単一のIPAサービスに発行する場合、メタデータ303は、「サンフランシスコの天気はどう?」というクエリコンテンツの送信先がGoogle Home(商標)のIPAサービスであることを示す。別の例では、ユーザ90が、「ねえ、GoogleとAlexa、サンフランシスコの天気はどう?」などの同じクエリを複数のIPAサービスに発行する場合、メタデータ303は、「サンフランシスコの天気はどう?」というクエリコンテンツの送信先がそれぞれ、Google Home(商標)のIPAサービス及びAmazon Alexa(商標)のIPAサービスであることを示す。さらに別の例では、ユーザ90が、「ねえ、Google、私の今日のスケジュールは何、Siri、私のプレイリストから何か音楽を再生して」などの異なるクエリまたはコマンドを異なるIPAサービスに発行する場合、メタデータ303は、「私の今日のスケジュールは何」というクエリコンテンツの送信先がGoogle Home(商標)のIPAサービスであり、「私のプレイリストから何か音楽を再生して」というクエリコンテンツの送信先がApple Siri(商標)であることを示す。ゆえに、係る実施形態では、メタデータ303のコンテンツは、一般的に、音声信号101に含まれるコマンド及び/またはクエリの複雑性に応じて変わる。
【0034】
クエリ処理モジュール233は、図示の通り、クエリコンテンツ302を基に、1つ以上のIPAサービスに対して音声入力304を作成し、音声入力304及びメタデータ305をIPA管理モジュール234に送信するように構成される。具体的には、クエリ処理モジュール233は、クエリコンテンツ302を基に、メタデータ303のクエリコンテンツを受信する対象となる各IPAサービスに対して音声入力304を生成する。いくつかの実施形態では、音声入力304は、クエリコンテンツを受信する対象となる一部または全てのIPAサービスに送信される音声信号またはファイルであり、例えば、wavまたはmpegファイルである。例えば、いくつかの実施形態では、音声入力304を生成するために、クエリ処理モジュール233は、音声信号101の適切な部分、つまり、特定のIPAサービスに関連するクエリコンテンツ302を含む音声信号101の一部を抽出するように構成される。音声信号101が複数のIPAサービスのそれぞれに対して異なるクエリまたはコマンドを含む場合、音声入力304は、異なるIPAサービスのそれぞれに対する異なる音声信号またはファイルを含む。メタデータ305は、どの音声入力304がどのIPAサービスに関連するかを示し、これにより、IPA管理モジュール234は、音声入力304に含まれる1つ以上の音声信号またはファイルを適切にルーティングすることができる。
【0035】
追加的には、いくつかの実施形態では、クエリ処理モジュール233は、クエリコンテンツ302に含まれる変更リスナコマンドを検出し、どのリスナ(つまり、どのIPAサービス)に対して、ユーザ90が前回発行したクエリまたはコマンドを送ろうとしているかを判断し、それに応じてメタデータ305を修正するように構成される。ゆえに、係る実施形態では、メタデータ305はさらに、どの音声入力304が、変更リスナコマンドが間接的に言及するIPAサービスに関連するかを示す。係る実施形態では、クエリ処理モジュール233は、一般的に、クエリコンテンツ302を解析するときに、変更リスナコマンドのコーパス212に依存する。変更リスナコマンドのコーパス212は候補となるターゲットワードまたはフレーズの比較的限られたセットであり、クエリ処理モジュール233から発生する音声認識は、一般的に、正確である可能性が高い。
【0036】
変更リスナコマンドがクエリ処理モジュール233によって認識される1つの実施形態では、ユーザ90は、同じクエリまたはコマンドが複数のIPAサービスを対象とする複合要求を行うことがあるが、従来のIPA音声認識が現在対応可能なものよりも会話型の構文、例えば、「ねえ、Google、サンフランシスコの天気はどう?Alexaはどう思う?」を使用する。この例では、クエリ処理モジュール233は、呼び出しワード「Alexa」を認識するように構成され、変更リスナコマンドである「どう思う?」はこの呼び出しワードに関連する。呼び出しワードであるAlexaが、変更リスナコマンドのコーパス212に含まれる変更リスナコマンドに関連すると認識することに応じて、クエリ処理モジュール233は、Google Home(商標)のIPAサービスに送信すべき音声入力304がクエリ「サンフランシスコの天気はどう?」を含み、Amazon Alexa(商標)のIPAサービスに送信すべき音声入力304が、ユーザ90が直近で発行したクエリ、つまり、クエリ「サンフランシスコの天気はどう?」を含むことを示すよう、メタデータ305を修正する。その結果、複数のIPAサービスを対象としているが、ユーザ90からの複雑な口頭発話に含まれているクエリまたはコマンドを、やはり適切なIPAサービスに送ることができる。
【0037】
変更リスナコマンドがクエリ処理モジュール233によって認識される別の実施形態では、クエリ処理モジュール233は、起動フレーズに直接的に関連しない音声コマンドまたはクエリが、ユーザ90によって前回発行された音声コマンドに関連することを判断するように構成される。つまり、係る実施形態では、クエリ処理モジュール233は、特定のクエリまたは音声コマンドに対する起動フレーズの不足部分を変更リスナコマンドとして解釈するように構成され、変更リスナコマンドは、音声コマンドまたはクエリを行うことができるIPAサービスを言及する。係る実施形態では、クエリ処理モジュール233は、係る関連しない音声コマンドまたはクエリの対象となるIPAサービスを文脈的に判断するように構成される。ゆえに、前回発行された音声コマンド及び/もしくはクエリを基に、ならびに/またはどのプロセスが特定のIPAサービスによって現在制御されているかを基に、クエリ処理モジュール233は、どのIPAサービスに、起動フレーズに関連しないクエリコンテンツ302の音声コマンドまたはクエリを送るかを判断することができる。
【0038】
例えば、「Siri、私のプレイリストから何か再生して」など、ユーザ90が特定のタスクに関する音声コマンドを特定のIPAサービスに前回発行した場合、ユーザは、「停止」、「音楽の再生を停止して」、「音量を下げて」、「この曲の名前は何?」等の、クエリ処理モジュール233が起動フレーズに関連しないと認識する音声コマンドまたはクエリを後続的に発行し得る。係る例では、クエリ処理モジュール233は、係る関連しないコマンドまたはクエリが意図する対象はApple Siri(商標)であると文脈的に判断する。この判断に応じて、クエリ処理モジュール233は、関連しない音声コマンドを含む特定の音声入力304を生成し、特定の音声入力304をApple Siri(商標)のIPAサービスに送信すべきことを示すよう、メタデータ305を修正する。その結果、ユーザ90が発行し、起動フレーズに関連しないクエリまたは音声コマンドは、クエリ処理モジュール233が行う文脈判断を基に、やはり適切なIPAサービスに送ることができる。係る関連しないクエリまたは音声コマンドは、検出可能な起動フレーズに関連する1つ以上のクエリまたは音声コマンドを含むより複雑な口頭発話91に含まれ得ることに留意されたい。
【0039】
IPA通信管理モジュール234は、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160との相互作用を管理するように構成される。具体的には、IPA通信管理モジュール234は、メタデータ305を基に、適切な音声入力304を第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160のうちの1つ以上に送信する。図示の通り、適切な音声入力304は、第1の第1のIPAクライアント121を介して第1のIPAサービス140に送信され、第2のIPAクライアント122を介して第2のIPAサービス150に送信され、第3のIPAクライアント123を介して第3のIPAサービス160に送信される。音声入力304は、その特定のIPAサービスの要件に応じて、音ファイルもしくは他の音データとして、またはテキストベースのデータとして、適切なIPAサービスに送信され得る。
【0040】
追加的には、IPA通信モジュール234は、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160のうちの1つ以上から受信した任意の応答音声信号306を管理するように構成される。応答音声信号306は、IPA通信管理モジュール234からの音声入力304に応じて、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160のうちの1つ以上によって生成される。ゆえに、複数のIPAサービスがIPA通信管理モジュール234から音声入力304を受信する場合、IPA通信管理モジュール234によって複数の応答音声信号306が同時にまたは重複時期に受信される可能性が高い。IPA通信管理モジュール234は、したがって、受信される各応答音声信号306がスピーカ125を介してユーザ90に再生される順序を管理する。
【0041】
いくつかの実施形態では、IPA通信モジュール234は、送信元となるIPAサービスが音声信号101の起動フレーズ及び/または変更リスナコマンドで言及されていた順序で、複数の応答音声信号306の再生を順序付けるように構成される。他の実施形態では、IPA通信モジュール234は、複数の応答音声信号306が受信される順序で、複数の応答音声信号306の再生を順序付けるように構成される。さらに他の実施形態では、IPA通信モジュール234がデフォルトの再生順序を実施してよく、この場合、事前定義されたIPAサービスの順序を使用して、複数の応答音声信号306を再生する順序を決定する。係る実施形態では、事前定義された順序は、ユーザが選択したIPAサービスの順序となり得る。
【0042】
第1のIPAサービス140、第2のIPAサービス150または第3のIPAサービス160のうちの1つ以上がテキストベースのデータとして応答音声信号306を返送する実施形態では、IPA通信モジュール234は、係るテキストベースのデータを、スピーカ125が再生可能な音声信号に変換するように構成される。IPA通信モジュール234は、技術的に実現可能なあらゆるテキスト・トゥ・スピーチアプリケーションまたは他の人間の発話の人工生成を利用して、係る変換を完了することができる。
【0043】
要約すると、ユーザ90がスマートデバイス120と会話型かつ自然な方法で対話する場合、様々なクエリ及び/またはコマンドが単一の音声信号101に含まれることがあり、それぞれを個別に抽出し、次いで、適切なIPAサービスにルーティングすることができる。さらに、例えば、各IPAサービスから受信した音声ファイルを保存することによって、これらのIPAサービスが返送する複数の応答を管理し、これにより、複数の応答を後続的に連続して再生することができる。
【0044】
図4は、本開示の様々な実施形態による、音声認識を行うための方法ステップのフローチャートを説明する。ステップ方法は図1図3のシステムに関して説明するが、当業者であれば、あらゆる順序で方法ステップを行うように構成されるあらゆるシステムが、様々な実施形態の範囲内に該当することを理解するであろう。
【0045】
図示の通り、方法400は、ステップ401で開始し、ステップ401では、IPA管理アプリケーション130は、ユーザ90からの口頭発話91に応じて生成された音声信号を受信する。例えば、1つの実施形態では、IPA管理アプリケーション130はマイク126から音声信号101を受信する。
【0046】
ステップ402では、IPA管理アプリケーション130は起動フレーズに対して音声信号101を解析する。例えば、ステップ402は、起動フレーズ検出モジュール231によって行われてよい。いくつかの実施形態では、ステップ402では、IPA管理アプリケーション130は起動フレーズのコーパス211と共に音声認識アルゴリズムを利用する。起動フレーズのコーパス211に含まれる様々な起動フレーズは一群の候補のIPAサービスに関連付けられ、この群はIPA管理アプリケーション130が対話するように構成されるIPAサービス、つまり、第1のIPAサービス140、第2のIPAサービス150及び第3のIPAサービス160を含むことに留意されたい。いくつかの実施形態では、IPA管理アプリケーション130はさらに、ステップ402で、変更リスナコマンドのコーパス212を利用する。係る実施形態では、IPA管理アプリケーション130は、音声信号101において、1つのIPAサービスに関連する少なくとも1つの起動フレーズを発したユーザが、音声コマンドの対象を別のIPAサービスに切り替えていることを検出することができる。
【0047】
いくつかの実施形態では、IPA管理アプリケーション130はさらに、第1のIPAサービス140、第2のIPAサービス150及び/または第3のIPAサービス160のうちのどれが、ステップ402で検出された起動フレーズ(複数可)に言及されているかを判断する。
【0048】
ステップ403では、IPA管理アプリケーション130は、何らかの起動フレーズ(または変更リスナコマンド)が音声信号101に含まれるかどうかを判定する。含まれない場合、方法400はステップ410に進んで終了し、含む場合、方法400はステップ404に進む。
【0049】
ステップ404では、IPA管理アプリケーション130は、音声信号101のクエリコンテンツを、ステップ402で検出された起動フレーズ(複数可)から分離する。例えば、ステップ404は、音声分割モジュール214によって行われてよい。
【0050】
ステップ405では、IPA管理アプリケーション130は、ステップ402で検出された起動フレーズのうちの1つが言及するIPAサービスを選択する。一般的に、IPAサービスは、IPA管理アプリケーション130が対話するように構成される一群の候補のIPAサービスに含まれる。
【0051】
ステップ406では、IPA管理アプリケーション130は、どのクエリコンテンツ302がステップ405で選択されたIPAサービスに関連するか判断する。例えば、ステップ406は、クエリ処理モジュール234によって行われてよい。
【0052】
ステップ407では、IPA管理アプリケーション130は、ステップ405で選択されたIPAサービスに対して音声入力304を生成する。いくつかの実施形態では、ステップ407では、IPA管理はさらに、ステップ407で生成された音声入力を選択されたIPAサービスに送信すべきことを示すメタデータ305を生成する。
【0053】
ステップ408では、IPA管理アプリケーション130は、ステップ407で生成された音声入力304を、メタデータ305で示された適切なIPAサービスに送信する。いくつかの実施形態では、音声入力304は、第1のIPAクライアント121、第2のIPAクライアント121または第3のIPAクライアント123のうちの1つを介して適切なIPAサービスに送信される。これは、当該IPAサービスに対応するIPAクライアントが、必須プロトコルを介してIPAサービスへデータを送信し、IPAサービスからデータを受信するように構成されるためである。
【0054】
ステップ409では、IPAサービスまたはクエリコンテンツ302と関連しなかった他の起動フレーズが存在するかどうかを判定する。存在する場合、方法400はステップ405に戻り、存在する場合、方法400はステップ410に進んで終了する。
【0055】
図5は、本開示の様々な実施形態による、複数のIPAサービスからの応答を管理するための方法ステップのフローチャートを説明する。ステップ方法は図1図4のシステムに関して説明するが、当業者であれば、あらゆる順序で方法ステップを行うように構成されるあらゆるシステムが、様々な実施形態の範囲内に該当することを理解するであろう。
【0056】
ステップ501では、IPA管理アプリケーション130は、第1のIPAサービス140、第2のIPAサービス150または第3のIPAサービス160のうちの1つなどのIPAサービスから応答音声信号306を受信する。応答音声信号306は、例えば、スマートデバイスにより再生される音声ファイルまたはスマートデバイスによる再生のために音声信号に変換されるテキストベースファイルであってよい。応答音声信号306は音声信号への応答を含み、音声信号は、音声コマンド、クエリまたはIPA管理アプリケーション130によって前回受信された音声信号101などの他のクエリコンテンツを含む。具体的には、ステップ501で受信された応答音声信号306は、音声コマンド、クエリまたは前回受信された音声信号101に含まれる他のクエリコンテンツに応答する。
【0057】
ステップ502では、IPA管理アプリケーション130は、音声コマンド、クエリまたは音声信号101の他のクエリコンテンツに応答する他の音声信号が見込まれるかどうかを判定する。見込まれる場合、方法500はステップ503に進み、見込まれない場合、方法500はステップ504に進む。
【0058】
ステップ503では、IPA管理アプリケーション130はステップ501で受信した応答音声信号306を、例えば、メモリ210及び/またはストレージ215に記憶する。方法500は、次いで、ステップ501に戻る。
【0059】
ステップ504では、IPA管理アプリケーション130は、ステップ501の反復で受信された応答音声信号306を選択する。いくつかの実施形態では、選択された特定の応答音声信号306は特定の再生順序に基づく。例えば、いくつかの実施形態では、IPA管理アプリケーション130は、前回受信された音声信号101の起動フレーズ及び/または変更リスナコマンドによって言及されたIPAサービスの順序を基に、応答音声信号306を選択する。他の実施形態では、IPA管理アプリケーション130は、複数の応答音声信号306が受信される順序を基に、応答音声信号306を選択する。他の実施形態では、IPA管理アプリケーション130は、ユーザが選択した再生順序など、デフォルトの再生順序を基に、応答音声信号306を選択する。
【0060】
ステップ505では、IPA管理アプリケーション130は、504で選択した応答音声信号306を再生する。いくつかの実施形態では、IPA管理アプリケーション130はまず、応答音声信号306を再生可能にするために、選択された応答音声信号306に含まれるテキストベースデータを音声データ形式に変換する。
【0061】
ステップ506では、IPA管理アプリケーション130は、ユーザ90に再生する他の応答音声信号306が存在するかどうかを判断する。存在する場合、方法500はステップ505に戻り、存在しない場合、方法500はステップ507に進んで終了する。
【0062】
要約すると、様々な実施形態は、ユーザが音声コマンドを利用し、単一のスマートデバイスから複数のIPAサービスにアクセスすることが可能な技法を説明している。起動フレーズは、ユーザの音声コマンドに応じて生成された音声信号で検出され、クエリコンテンツは検出された起動フレーズから分離される。各起動フレーズは次いで、特定のクエリコンテンツに関連付けられ、当該クエリコンテンツは起動フレーズに関連するIPAサービスに送信される。
【0063】
開示された実施形態の少なくとも1つの利点は、ユーザが単一のスマートデバイスを介して1つの音声コマンドを複数のIPAに発行し、それぞれの応答を特定の順序で再生できることである。さらなる利点は、ユーザが、係る音声コマンドを、従来技法で可能なものより自然かつ会話型の構文で発行できることである。
【0064】
様々な実施形態の説明を例示の目的で提示してきたが、それらが網羅的であること、または開示された実施形態に限定されることを意図するものではない。当業者には、説明した実施形態の範囲及び趣旨から逸脱することなく、多数の修正形態及び変形形態が明らかであろう。
【0065】
本実施形態の態様は、システム、方法またはコンピュータプログラム製品として具現化されてよい。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)またはソフトウェア及びハードウェアの態様を組み合わせる実施形態の形態をとり得、これら全ては、本明細書において全体として「モジュール」または「システム」と呼ばれ得る。さらに、本開示の態様は、コンピュータ可読プログラムコードを内蔵した1つ以上のコンピュータ可読媒体(複数可)に具体化されたコンピュータプログラム製品の形態をとり得る。
【0066】
1つ以上のコンピュータ可読媒体(複数可)の任意の組み合わせを利用してよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってよい。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置もしくはデバイス、あるいは前述の任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)として、以下、すなわち、1つ以上の配線を有する電子接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、携帯型コンパクトディスク読み出し専用メモリ(CD-ROM)、光学ストレージデバイス、磁気ストレージデバイスまたは前述の任意の適切な組み合わせが含まれる。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置またはデバイスによって、あるいはこれらと連携して、使用プログラムを包含または記憶できる任意の有形媒体であってよい。
【0067】
本開示の態様は、本開示の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート図及び/またはブロック図を参照して上記に説明される。フローチャート図及び/またはブロック図の各ブロック、ならびにフローチャート図及び/またはブロック図のブロックの組み合わせは、コンピュータプログラム命令によって実施できることが理解されるだろう。コンピュータプログラム命令は、機械を製造するために、汎用コンピュータのプロセッサ、専用コンピュータのプロセッサまたは他のプログラム可能データ処理装置のプロセッサに提供され得、その結果、コンピュータのプロセッサまたは他のプログラム可能データ処理装置を介して実行する命令が、フローチャート及び/またはブロック図のブロックに特定された機能/行為を実装することができる。係るプロセッサは、汎用プロセッサ、専用プロセッサ、特定用途向けプロセッサまたはフィールドプログラマブルプロセッサもしくはゲートアレイであり得るが、これらに限定されない。
【0068】
図面内のフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性及び操作を例示する。この点に関して、フローチャートまたはブロック図の各ブロックは、特定の論理的機能(複数可)を実装するための1つ以上の実行可能命令を備える、モジュール、セグメントまたはコードの一部を表し得る。また、いくつかの代替的な実装形態では、ブロックに記載された機能が、図面に記載された順序とは異なる順序で発生し得る点にも留意されたい。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてよく、ときには、含まれる機能によって、ブロックが逆の順序で実行されてよい。また、ブロック図及び/またはフローチャート図の各ブロック、ならびにブロック図及び/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する専用ハードウェアベースのシステム、あるいは専用ハードウェアとコンピュータ命令との組み合わせによって実装されることがある点にも留意されたい。
【0069】
前述は本開示の実施形態に関するものであるが、本開示の他の実施形態及び追加の実施形態は、その基本的な範囲から逸脱することなく考案され得、その範囲は以下の特許請求の範囲によって決定される。
図1
図2
図3
図4
図5