(57)【要約】【課題】キーワード誤認識を防止する音声制御装置、及びその動作方法を提供すること。【解決手段】本開示による方法は、周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成し、オーディオストリームデータから、所定のキーワードに対応する候補キーワードが検出された第１区間を決定し、第１区間における話者を識別するための第１話者特徴ベクトルと、第１区間に隣接する第２区間における話者を識別するための第２話者特徴ベクトルとをオーディオストリームデータから抽出し、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度に基づいて、第１区間に所定のキーワードが含まれていたか否かを判断するステップを含む。【選択図】図２
2019133182.tif 000002
【特許請求の範囲】
【請求項１】
周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成するオーディオ処理部と、
前記オーディオストリームデータから、所定のキーワードに対応する候補キーワードが検出された第１区間を決定するキーワード検出部と、
前記第１区間における話者を識別するための第１話者特徴ベクトルと、前記第１区間に隣接する第２区間における話者を識別するための第２話者特徴ベクトルとを、前記オーディオストリームデータから抽出する話者特徴ベクトル抽出部と、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度に基づいて、前記第１区間に前記所定のキーワードが含まれていたか否かを判断するウェークアップ判断部と
を含む音声制御装置。
【請求項２】
音声制御装置が実行する音声制御方法であって、
周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成するステップと、
前記オーディオストリームデータから、所定のキーワードに対応する候補キーワードが検出された第１区間を決定するステップと、
前記第１区間における話者を識別するための第１話者特徴ベクトルと、前記第１区間に隣接する第２区間における話者を識別するための第２話者特徴ベクトルとを、前記オーディオストリームデータから抽出するステップと、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度に基づいて、前記第１区間に前記所定のキーワードが含まれていたか否かを判断するステップと
を含む音声制御方法。
【請求項３】
請求項２に記載の音声制御方法をコンピュータに実行させるコンピュータプログラム。
【請求項４】
請求項３に記載のコンピュータプログラムを保存する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声制御装置に関し、さらに詳細には、キーワード誤認識防止が可能な音声制御装置、音声制御装置の動作方法、コンピュータプログラム及び記録媒体等に関する。
【背景技術】
【０００２】
携帯用通信装置、デスクトップＰＣ（personal  computer）、タブレットＰＣ、及びエンターテイメントシステムのようなコンピュータ装置の性能が高度化しつつ、操作性を向上させるために、音声認識機能が搭載され、音声によって制御される電子機器が市場に出回っている。該音声認識機能は、別途のボタン操作、またはタッチモジュールの接触によらず、ユーザの音声を認識することにより、装置を手軽に制御することができる長所を有する。
【０００３】
かような音声認識機能によれば、例えば、スマートフォンのような携帯用通信装置においては、別途のボタンを押す操作なしに、通話機能を遂行したり、文字メッセージを作成したりすることができ、道案内、インターネット検索、アラーム設定等のような多様な機能を手軽に設定することができる。しかし、かような音声制御装置が、ユーザの音声を誤認識すると、不本意な動作を遂行してしまう問題が発生しうる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国特許公開第１０−２０１７−００２８６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、キーワード誤認識を防止することができる音声制御装置、音声制御装置の動作方法、コンピュータプログラム及び記録媒体等を提供することである。
【課題を解決するための手段】
【０００６】
前述の技術的課題を達成するための技術的手段として、本開示の第１側面は、周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成するオーディオ処理部と、前記オーディオストリームデータから、所定のキーワードに対応する候補キーワードを検出し、前記オーディオストリームデータにおいて、前記候補キーワードが検出された第１オーディオデータに該当する第１区間の始点及び終点を決定するキーワード検出部と、前記第１オーディオデータに係わる第１話者特徴ベクトルを抽出し、前記オーディオストリームデータにおいて、前記第１区間の始点を終点にする第２区間に該当する第２オーディオデータに係わる第２話者特徴ベクトルを抽出する話者特徴ベクトル抽出部と、前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度を基に、前記第１オーディオデータに、前記キーワードが含まれていたか否かを判断するウェークアップ判断部と、を含む音声制御装置を提供することができる。
【０００７】
また、本開示の第２側面は、周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成する段階と、前記オーディオストリームデータから、所定のキーワードに対応する候補キーワードを検出し、前記オーディオストリームデータにおいて、前記候補キーワードが検出された第１オーディオデータに該当する第１区間の始点及び終点を決定する段階と、前記第１オーディオデータに係わる第１話者特徴ベクトルを抽出する段階と、前記オーディオストリームデータにおいて、前記第１区間の始点を終点にする第２区間に該当する第２オーディオデータに係わる第２話者特徴ベクトルを抽出する段階と、前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度を基に、前記第１オーディオデータに、前記キーワードが含まれていたか否かを判断し、ウェークアップさせるか否かを決定する段階と、を含む音声制御装置の動作方法を提供することができる。
【０００８】
また、本開示の第３側面は、音声制御装置のプロセッサに、第２側面による動作方法を実行させる命令語を含むコンピュータプログラムを提供することができる。
【０００９】
また、本開示の第４側面は、第３側面によるコンピュータプログラムが記録されたコンピュータで読み取り可能な記録媒体を提供することができる。
【発明の効果】
【００１０】
本発明の多様な実施形態によれば、キーワードを誤認識する可能性が低下するので、音声制御装置の誤動作が防止される。
【図面の簡単な説明】
【００１１】
【図１】一実施形態によるネットワーク環境の例を図示した図面である。
【図２】一実施形態によって、電子機器及びサーバの内部構成について説明するためのブロック図である。
【図３】一実施形態による音声制御装置のプロセッサが含みうる機能ブロックの例を図示した図面である。
【図４】一実施形態によって、音声制御装置が遂行することができる動作方法の例を図示したフローチャートである。
【図５】他の実施形態によって、音声制御装置が遂行することができる動作方法の例を図示したフローチャートである。
【図６Ａ】一実施形態による音声制御装置が、図５の動作方法を実行する場合、単独命令キーワードが発話される例を図示する図面である。
【図６Ｂ】一実施形態による音声制御装置が、図６の動作方法を実行する場合、一般対話音声が発話される例を図示する図面である。
【図７】さらに他の実施形態によって、音声制御装置が遂行することができる動作方法の例を図示したフローチャートである。
【図８Ａ】一実施形態による音声制御装置が、図７の動作方法を実行する場合、ウェークアップキーワード及び自然語音声命令が発話される例を図示する図面である。
【図８Ｂ】一実施形態による音声制御装置が、図７の動作方法を実行する場合、一般対話音声が発話される例を図示する図面である。
【発明を実施するための形態】
【００１２】
以下、添付した図面を参照し、本発明が属する技術分野において当業者が容易に実施することができるように、本発明の実施形態について詳細に説明する。しかし、本発明は、さまざまに異なる形態に具現化され、ここで説明する実施形態に限定されるものではない。そして、図面において、本発明について明確に説明するために、説明と関係ない部分は省略し、明細書全体を通じて、類似した部分については、類似した図面符号を付した。
【００１３】
明細書全体において、ある部分が他の部分と「連結」されているとするとき、それは、「直接に連結」されている場合だけではなく、その中間に、他の素子を挟み、「電気的に連結」されている場合も含む。また、ある部分がある構成要素を「含む」とするとき、それは、特に別意の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含みうるということを意味する。
【００１４】
本明細書において、様々な箇所に登場する「一部実施形態において」または「一実施形態において」というような語句は、必ずしもいずれも同一実施形態を示すものではない。
【００１５】
一部実施形態は、機能的なブロック構成、及び多様な処理段階で示される。かような機能ブロックの一部または全部は、特定機能を行う多様な個数のハードウェア構成及び／またはソフトウェア構成によっても具現化される。例えば、本開示の機能ブロックは、１以上のマイクロプロセッサによって具現化されるか、あるいは所定機能のための回路構成によっても具現化される。また、例えば、本開示の機能ブロックは、多様なプログラミング言語またはスクリプティング言語によっても具現化される。該機能ブロックは、１以上のプロセッサで実行されるアルゴリズムによっても具現化される。また、本開示は、電子的な環境設定、信号処理、及び／またはデータ処理などのために、従来技術を採用することができる。「モジュール」及び「構成」のような用語は、汎用され、機械的であって物理的な構成として限定されるものではない。
【００１６】
また、図面に図示された構成要素間の連結線または連結部材は、機能的な連結、及び／または物理的または回路的な連結を例示的に示しただけである。実際の装置においては、代替可能であったり、追加されたりする多様な機能的な連結、物理的な連結または回路連結により、構成要素間の連結が示される。
【００１７】
本開示においてキーワードは、音声制御装置の特定機能をウェークアップさせることができる音声情報をいう。該キーワードは、ユーザの音声信号に基づいて、単独命令キーワードでもあり、ウェークアップキーワードでもある。ウェークアップキーワードは、スリープモード状態の音声制御装置をウェークアップモードに転換することができる音声に基づくキーワードであり、例えば、「クローバ」、「ハイコンピュータ」のような音声キーワードでもある。ユーザは、ウェークアップキーワードを発話した後、音声制御装置が遂行することを願う機能や動作を指示するための命令を自然語形態で発話することができる。なお、以下の説明でウェークアップキーワードの単なる一例として登場する「クローバ」（Ｃｌｏｖａ）は登録商標であり、「四葉のクローバー」（ｆｏｕｒ−ｌｅａｆ  ｃｌｏｖｅｒ）における「クローバー」とは異なる点に留意を要する。その場合、該音声制御装置は、自然語形態の音声命令を音声認識し、音声認識された結果に対応する機能または動作を遂行することができる。単独命令キーワードは、例えば、音楽が再生中である場合、「中止」のように、音声制御装置の動作を直接制御することができる音声キーワードでもある。本開示で言及されるウェークアップキーワードは、ウェークアップワード、ホットワード、トリガーワードのような用語で呼ばれる。
【００１８】
本開示において候補キーワードは、キーワードと発音が類似したワードを含む。例えば、キーワードが「クローバ」である場合、該候補キーワードは、「クローバー」、「グローバル」、「クラブ」などでもある。該候補キーワードは、音声制御装置のキーワード検出部が、オーディオデータからキーワードとして検出したものと定義される。該候補キーワードは、キーワードと同一でもあるが、該キーワードと類似した発音を有する他のワードでもある。一般的には、該音声制御装置は、ユーザが候補キーワードに該当する用語が含まれている文章を発話する場合にも、当該キーワードと誤認識してウェークアップさせることがある。本開示による音声制御装置は、音声信号から、前述のような候補キーワードが検出される場合にも反応するが、候補キーワードによってウェークアップさせることを防止することができる。
【００１９】
本開示において音声認識機能は、ユーザの音声信号を、文字列（または、テキスト）に変換することをいう。ユーザの音声信号は、音声命令を含みうる。該音声命令は、音声制御装置の特定機能を行うことができる。
【００２０】
本開示において音声制御装置は、音声制御機能が搭載された電子機器をいう。音声制御機能が搭載された電子機器は、スマートスピーカまたは人工知能スピーカのような独立した電子機器でもある。また、音声制御機能が搭載された電子機器は、音声制御機能が搭載されたコンピュータ装置、例えば、デスクトップＰＣ（personal  computer）、ノート型パソコンなどであるだけでなく、携帯が可能なコンピュータ装置、例えば、スマートフォンなどでもある。その場合、該コンピュータ装置には、音声制御機能を行うためのプログラムまたはアプリケーションがインストールされる。また、該音声制御機能が搭載された電子機器は、特定機能を主に遂行する電子製品、例えば、スマートテレビ、スマート冷蔵庫、スマートエアコン、スマートナビゲーションなどでもあり、自動車のインフォテーンメントシステムでもある。それだけではなく、音声によって制御される事物インターネット装置も、それに該当する。
【００２１】
本開示において、音声制御装置の特定機能は、例えば、該音声制御装置にインストールされたアプリケーションを実行することを含みうるが、それに制限されるものではない。例えば、該音声制御装置がスマートスピーカである場合、該音声制御装置の特定機能は、音楽再生、インターネットショッピング、音声情報提供、スマートスピーカに接続された電子装置または機械装置の制御などを含みうる。例えば、該音声制御装置がスマートフォンである場合、該アプリケーション実行は、電話かけること、道探し、インターネット検索またはアラーム設定などを含みうる。例えば、該音声制御装置がスマートテレビである場合、該アプリケーション実行は、プログラム検索またはチャネル検索などを含みうる。該音声制御装置がスマートオーブンである場合、該アプリケーション実行は、料理方法検索などを含みうる。該音声制御装置がスマート冷蔵庫である場合、該アプリケーション実行は、冷蔵状態及び冷凍状態の点検、または温度設定などを含みうる。該音声制御装置がスマート自動車である場合、該アプリケーション実行は、自動始動、自律走行、自動駐車などを含みうる。本開示でアプリケーション実行は、前述のところに制限されるものではない。
【００２２】
本開示においてキーワードは、ワード形態を有するか、あるいは球形態を有することができる。本開示において、ウェークアップキーワード後に発話される音声命令は、自然語形態の文章形態、ワード形態または球形態を有することができる。
【００２３】
以下、添付された図面を参照し、本開示について詳細に説明する。
【００２４】
図１は、一実施形態によるネットワーク環境の例を図示した図面である。図１に図示されたネットワーク環境は、複数の電子機器１００ａないし１００ｆ、サーバ２００及びネットワーク３００を含むように例示的に図示される。
【００２５】
電子機器１００ａないし１００ｆは、音声で制御される例示的な電子機器である。電子機器１００ａないし１００ｆそれぞれは、音声認識機能以外に、特定機能を行うことができる。電子機器１００ａないし１００ｆの例を挙げれば、スマートスピーカまたは人工知能スピーカ、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、ＰＤＡ（personal  digital  assistants）、ＰＭＰ（portable  multimedia  player）、タブレットＰＣ、スマート電子製品などがある。電子機器１００ａないし１００ｆは、無線または有線の通信方式を利用し、ネットワーク３００を介して、サーバ２００、及び／または他の電子機器１００ａないし１００ｆと通信することができる。しかし、それに限定されるものではなく、電子機器１００ａないし１００ｆそれぞれは、ネットワーク３００に連結されず、独立して動作することもできる。電子機器１００ａないし１００ｆは、電子機器１００とも総称される。
【００２６】
ネットワーク３００の通信方式は、制限されるものではなく、ネットワーク３００が含みうる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、電子機器１００ａないし１００ｆ間の近距離無線通信が含まれてもよい。例えば、ネットワーク３００は、ＰＡＮ（personal  area  network）、ＬＡＮ（local  area  network）、ＣＡＮ（campus  area  network）、ＭＡＮ（metropolitan  area  network）、ＷＡＮ（wide  area  network）、ＢＢＮ（broadband  network）、インターネットなどのネットワークのうち１以上の任意のネットワークを含みうる。また、ネットワーク３００は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター・バスネットワーク、ツリーネットワークまたは階層的（hierarchical）ネットワークなどを含むネットワークトポロジーのうち、任意の１以上を含みうるが、それらに制限されるものではない。
【００２７】
サーバ２００は、ネットワーク３００を介し、て電子機器１００ａないし１００ｆと通信し、音声認識機能を遂行するコンピュータ装置、または複数のコンピュータ装置によっても具現化される。サーバ２００は、クラウド形態に分散され、命令、コード、ファイル、コンテンツなどを提供することができる。
【００２８】
例えば、サーバ２００は、電子機器１００ａないし１００ｆから提供されるオーディオファイルを受信し、オーディオファイル内の音声信号を文字列（または、テキスト）に変換し、変換された文字列（または、テキスト）を、電子機器１００ａないし１００ｆに提供することができる。また、サーバ２００は、ネットワーク３００を介して接続した電子機器１００ａないし１００ｆに、音声制御機能を遂行するためのアプリケーションインストールのためのファイルを提供することができる。例えば、第２電子機器１００ｂは、サーバ２００から提供されたファイルを利用し、アプリケーションをインストールすることができる。第２電子機器１００ｂは、インストールされた運用体制（ＯＳ）、及び／または少なくとも１つのプログラム（例えば、インストールされた音声制御アプリケーション）の制御によってサーバ２００に接続し、サーバ２００が提供する音声認識サービスを提供される。
【００２９】
図２は、一実施形態によって、電子機器及びサーバの内部構成について説明するためのブロック図である。
【００３０】
電子機器１００は、図１の電子機器１００ａないし１００ｆのうち一つであり、電子機器１００ａないし１００ｆは、少なくとも図２に図示された内部構成を有することができる。電子機器１００は、ネットワーク３００を介して音声認識機能を遂行するサーバ２００に接続されるように図示されているが、それは例示的なものであり、電子機器１００は、独立して音声認識機能を遂行することもできる。電子機器１００は、音声によって制御される電子機器であり、音声制御装置１００とも呼ばれる。音声制御装置１００は、スマートスピーカまたは人工知能スピーカ、コンピュータ装置、携帯用コンピュータ装置、スマート家電製品などに含まれたり、それらに、有線及び／または無線で連結されたりして具現化される。
【００３１】
電子機器１００とサーバ２００は、メモリ１１０，２１０、プロセッサ１２０，２２０、通信モジュール１３０，２３０、及び入出力インターフェース１４０，２４０を含みうる。メモリ１１０，２１０は、コンピュータで読み取り可能な記録媒体であり、ＲＡＭ（random  access  memory）、ＲＯＭ（read-only  memory）及びディスクドライブのような非消滅性大容量記録装置（permanent  mass  storage  device）を含みうる。また、メモリ１１０，２１０には、運用体制と、少なくとも１つのプログラムコード（例えば、電子機器１００にインストールされて駆動される音声制御アプリケーション、音声認識アプリケーションなどのためのコード）とが保存される。かようなソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール１３０，２３０を介して、メモリ１１０，２１０にローディングされる。例えば、少なくとも１つのプログラムは、開発者、またはアプリケーションのインストールファイルを配布するファイル配布システムが、ネットワーク３００を介して提供するファイルによってインストールされるプログラムに基づいて、メモリ１１０，２１０にローディングされる。
【００３２】
プロセッサ１２０，２２０は、基本的な算術、ロジック及び入出力演算を行うことにより、コンピュータプログラムの命令を処理するように構成される。該命令は、メモリ１１０，２１０または通信モジュール１３０，２３０によって、プロセッサ１２０，２２０にも提供される。例えば、プロセッサ１２０，２２０は、メモリ１１０，２１０のような記録装置に保存されたプログラムコードによって受信される命令を実行するようにも構成される。
【００３３】
通信モジュール１３０，２３０は、ネットワーク３００を介して、電子機器１００とサーバ２００とが互いに通信するための機能を提供することができ、他の電子機器１００ｂないし１００ｆと通信するための機能を提供することができる。一例として、電子機器１００のプロセッサ１２０が、メモリ１１０のような記録装置に保存されたプログラムコードによって生成した要請（一例として、音声認識サービス要請）が、通信モジュール１３０の制御により、ネットワーク３００を介してサーバ２００に伝達される。反対に、サーバ２００のプロセッサ２２０の制御によって提供される音声認識結果である文字列（テキスト）などが、通信モジュール２３０及びネットワーク３００を経て、電子機器１００の通信モジュール１３０を介して、電子機器１００に受信される。例えば、通信モジュール１３０を介して受信されたサーバ２００の音声認識結果は、プロセッサ１２０やメモリ１１０に伝達される。サーバ２００は、制御信号や命令、コンテンツ、ファイルなどを電子機器１００に送信することができ、通信モジュール１３０を介して受信された制御信号や命令などは、プロセッサ１２０やメモリ１１０に伝達し、コンテンツやファイルなどは、電子機器１００がさらに含みうる別途の記録媒体にも保存される。
【００３４】
入出力インターフェース１４０，２４０は、入出力装置１５０とのインターフェースのための手段でもある。例えば、入力装置はマイク１５１だけではなく、キーボードまたはマウスなどの装置を含み、出力装置は、スピーカ１５２だけではなく、状態を示す状態表示ＬＥＤ（light  emitting  diode）、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含みうる。他の例として、入出力装置１５０は、タッチスクリーンのように、入力及び出力のための機能が一つに統合された装置を含みうる。
【００３５】
マイク１５１は、周辺音を電気的なオーディオ信号に変換することができる。マイク１５１は、電子機器１００内に直接装着されず、通信可能に連結される外部装置（例えば、スマート時計）に装着され、生成された外部信号は、通信によって電子機器１００に伝送される。図２には、マイク１５１が電子機器１００の内部に含まれるように図示されているが、他の一実施形態によれば、マイク１５１は、別途の装置内に含まれ、電子機器１００とは、有線通信または無線通信で連結される形態にも具現化される。
【００３６】
他の実施形態において、電子機器１００及びサーバ２００は、図２の構成要素よりさらに多くの構成要素を含んでもよい。例えば、電子機器１００は、前述の入出力装置１５０のうち少なくとも一部を含むように構成されるか、あるいはトランシーバ（transceiver）、ＧＰＳ（global  position  system）モジュール、カメラ、各種センサ、データベースのような他の構成要素をさらに含んでもよい。
【００３７】
図３は、一実施形態による音声制御装置のプロセッサが含みうる機能ブロックの例を図示した図面であり、図４は、一実施形態によって、音声制御装置が遂行することができる動作方法の例を図示したフローチャートである。
【００３８】
図３に図示されているように、音声制御装置１００のプロセッサ１２０は、オーディオ処理部１２１、キーワード検出部１２２、話者特徴ベクトル抽出部１２３、ウェークアップ判断部１２４、音声認識部１２５及び機能部１２６を含みうる。かようなプロセッサ１２０及び機能ブロック１２１ないし１２６のうち少なくとも一部は、図４に図示された動作方法が含む段階（Ｓ１１０ないしＳ１９０）を遂行するように、音声制御装置１００を制御することができる。例えば、プロセッサ１２０、及びプロセッサ１２０の機能ブロック１２１ないし１２６のうち少なくとも一部は、音声制御装置１００のメモリ１１０が含む運用体制のコードと、少なくとも１つのプログラムコードによる命令と、を実行するようにも具現化される。
【００３９】
図３に図示された機能ブロック１２１ないし１２６の一部または全部は、特定機能を行うハードウェア構成及び／またはソフトウェア構成にも具現化される。図３に図示された機能ブロック１２１ないし１２６が遂行する機能は、１以上のマイクロプロセッサによって具現化されるか、あるいは当該機能のための回路構成によっても具現化される。図３に図示された機能ブロック１２１ないし１２６の一部または全部は、プロセッサ１２０で実行される多様なプログラミング言語またはスクリプト言語で構成されたソフトウェアモジュールでもある。例えば、オーディオ処理部１２１とキーワード検出部１２２は、デジタル信号処理器（ＤＳＰ）によって具現化され、話者特徴ベクトル抽出部１２３、ウェークアップ判断部１２４及び音声認識部１２５は、ソフトウェアモジュールによっても具現化される。
【００４０】
オーディオ処理部１２１は、周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成する。オーディオ処理部１２１は、マイク１５１のような入力装置から、周辺音に対応するオーディオ信号を受信することができる。マイク１５１は、音声制御装置１００に通信で連結される周辺装置に含まれ、オーディオ処理部１２１は、マイク１５１で生成されたオーディオ信号を通信で受信することができる。該周辺音は、ユーザが発話した音声だけではなく、背景音を含む。従って、オーディオ信号には、音声信号だけではなく、背景音信号も含まれる。該背景音信号は、キーワード検出及び音声認識において、ノイズに該当する。
【００４１】
オーディオ処理部１２１は、連続的に受信されるオーディオ信号に対応するオーディオストリームデータを生成することができる。オーディオ処理部１２１は、オーディオ信号をフィルタリングしてデジタル化し、オーディオストリームデータを生成することができる。オーディオ処理部１２１は、オーディオ信号をフィルタリングしてノイズ信号を除去し、背景音信号に比べ、音声信号を増幅することができる。また、オーディオ処理部１２１は、オーディオ信号から音声信号のエコーを除去することもできる。
【００４２】
オーディオ処理部１２１は、音声制御装置１００がスリープモードで動作するときにも、オーディオ信号を受信するために、常時動作することができる。オーディオ処理部１２１は、音声制御装置１００がスリープモードで動作するとき、低い動作周波数で動作し、音声制御装置１００が正常モードで動作するときには、高い動作周波数で動作することができる。
【００４３】
メモリ１１０は、オーディオ処理部１２１で生成されたオーディオストリームデータを一時的に保存することができる。オーディオ処理部１２１は、メモリ１１０を利用して、オーディオストリームデータをバッファリングすることができる。メモリ１１０には、キーワードを含むオーディオデータだけではなく、キーワードが検出される前のオーディオデータが共に保存される。最近のオーディオデータをメモリ１１０に保存するために、メモリ１１０に最も前に保存されたオーディオデータが削除される。メモリ１１０に割り当てられた大きさが同一であるならば、常時同一期間のオーディオデータが保存される。メモリ１１０に保存されたオーディオデータに該当する前記期間は、キーワードを発声する時間より長いことが望ましい。
【００４４】
本発明の他の実施形態によれば、メモリ１１０は、オーディオ処理部１２１で生成されたオーディオストリームに係わる話者特徴ベクトルを抽出して保存することができる。そのとき、該話者特徴ベクトルは、特定長のオーディオストリームに対して抽出して保存される。前述のように、最近生成されたオーディオストリームに係わる話者特徴ベクトルを保存するために、最も前に保存された話者特徴ベクトルが削除される。
【００４５】
キーワード検出部１２２は、オーディオ処理部１２１で生成されたオーディオストリームデータから、既定義の（即ち、所定の）キーワードに対応する候補キーワードを検出する。キーワード検出部１２２は、メモリ１１０に一時的に保存されたオーディオストリームデータから、既定義のキーワードに対応する候補キーワードを検出することができる。既定義のキーワードは、複数個存在することも可能であり、複数の既定義のキーワードは、キーワード保存所１１０ａに保存される。キーワード保存所１１０ａは、メモリ１１０に含まれてもよい。
【００４６】
候補キーワードは、キーワード検出部１２２から、オーディオストリームデータのうちキーワードとして検出したものを意味する。候補キーワードは、キーワードと同一であっても良いし、該キーワードと類似して発音される他の単語であっても良い。例えば、該キーワードが「クローバ」である場合、候補キーワードは、「グローバル」であっても良い。すなわち、ユーザが「グローバル」を含んだ文章を発声した場合、キーワード検出部１２２は、オーディオストリームデータから、「グローバル」を「クローバ」と誤認して検出するかもしれないからである。かように検出された「グローバル」は、候補キーワードに該当する。
【００４７】
キーワード検出部１２２は、オーディオストリームデータを、既知のキーワードデータと比較し、オーディオストリームデータ内に、キーワードに対応する音声が含まれる可能性を計算することができる。キーワード検出部１２２は、オーディオストリームデータから、フィルタバンクエネルギー（filter  bank  energy）またはメル周波数ケプストラム係数（ＭＦＣＣ：Mel−frequency  cepstram  coefficients）のようなオーディオ特徴を抽出することができる。キーワード検出部１２２は、分類ウィンドウ（classifying  window）を利用して、例えば、サポートベクトルマシン（support  vector  machine）または神経網（neural  network）を利用して、かようなオーディオ特徴を処理することができる。該オーディオ特徴の処理に基づいて、キーワード検出部１２２は、オーディオストリームデータ内にキーワードが含まれる可能性を計算することができる。キーワード検出部１２２は、前記可能性が、既設定基準値（即ち、所定の基準値）より高い場合、オーディオストリームデータ内にキーワードが含まれていると判断することにより、候補キーワードを検出することができる。
【００４８】
キーワード検出部１２２は、キーワードデータに対応する音声サンプルを利用して人工神経網（例えば、人工知能のためのニューラルネットワーク）を生成し、生成された神経網を利用して、オーディオストリームデータからキーワードを検出するように、トレーニングされる。キーワード検出部１２２は、オーディオストリームデータ内のフレームごとに、それぞれキーワードを構成する音素の確率、またはキーワードの全体的な確率を計算することができる。キーワード検出部１２２は、オーディオストリームデータから、各音素に該当する確率シーケンス、またはキーワード自体の確率を出力することができる。そのシーケンスまたは確率を基に、キーワード検出部１２２は、オーディオストリームデータ内にキーワードが含まれる可能性を計算することができ、その可能性が既設定基準値以上である場合、候補キーワードが検出されたと判断することができる。前述の方式は、例示的なものであり、キーワード検出部１２２の動作は、多様な方式を介しても具現化される。
【００４９】
また、キーワード検出部１２２は、オーディオストリームデータ内のフレームごとに、オーディオ特徴を抽出することにより、当該フレームのオーディオデータが、人の音声に該当する可能性と、背景音に該当する可能性とを算出することができる。キーワード検出部１２２は、人の音声に該当する可能性と、背景音に該当する可能性とを比較し、当該フレームのオーディオデータが人の音声に該当すると判断することができる。例えば、キーワード検出部１２２は、当該フレームのオーディオデータが人の音声に該当する可能性が、背景音に該当する可能性より、既設定基準値を超えて高い場合、当該フレームのオーディオデータが人の音声に対応すると判断することができる。
【００５０】
キーワード検出部１２２は、オーディオストリームデータから候補キーワードが検出された区間を特定することができ、候補キーワードが検出された区間の始点及び終点を決定することができる。オーディオストリームデータから候補キーワードが検出された区間は、キーワード検出区間、現在区間または第１区間とされる。オーディオストリームデータにおいて第１区間に該当するオーディオデータは、第１オーディオデータとする。キーワード検出部１２２は、候補キーワードが検出された区間の終りを終点と決定することができる。他の例によれば、キーワード検出部１２２は、候補キーワードが検出された後、既設定時間（例えば、０．５秒）の黙音が発生するまで待った後、第１区間に黙音区間が含まれるように、第１区間の終点を決定するか、あるいは黙音期間が含まれないように、第１区間の終点を決定することができる。
【００５１】
話者特徴ベクトル抽出部１２３は、メモリ１１０に一時的に保存されたオーディオストリームデータにおいて、第２区間に該当する第２オーディオデータを、メモリ１１０から読み取る。第２区間は、第１区間の以前区間であり、第２区間の終点は、第１区間の始点と同一でもある。第２区間は、以前区間とされる。第２区間の長さは、検出された候補キーワードに対応するキーワードによって可変的にも設定される。他の例によれば、第２区間の長さは、固定的にも設定される。さらに他の例によれば、第２区間の長さは、キーワード検出性能が最適化されるように、適応的に可変される。例えば、マイク１５１が出力するオーディオ信号が、「四葉のクローバー」であり、候補キーワードが「クローバー」である場合、第２オーディオデータは、「四葉の」という音声に対応する。
【００５２】
話者特徴ベクトル抽出部１２３は、第１区間に該当する第１オーディオデータの第１話者特徴ベクトルと、第２区間に該当する第２オーディオデータの第２話者特徴ベクトルと、を抽出する。話者特徴ベクトル抽出部１２３は、話者認識にロバストな話者特徴ベクトルをオーディオデータから抽出することができる。話者特徴ベクトル抽出部１２３は、時間ドメイン（time  domain）の音声信号を、周波数ドメイン（frequency  domain）の信号に変換し、変換された信号の周波数エネルギーを、互いに異なるように変形することにより、話者特徴ベクトルを抽出することができる。例えば、該話者特徴ベクトルは、メル周波数ケプストラム係数（ＭＦＣＣ）またはフィルタバンクエネルギーを基に抽出される、それらに限定されるものはではなく、多様な方式で、オーディオデータから話者特徴ベクトルを抽出することができる。
【００５３】
話者特徴ベクトル抽出部１２３は、一般的には、スリープモードで動作することができる。キーワード検出部１２２は、オーディオストリームデータから候補キーワードを検出すると、話者特徴ベクトル抽出部１２３をウェークアップさせることができる。キーワード検出部１２２は、オーディオストリームデータから候補キーワードを検出すると、話者特徴ベクトル抽出部１２３にウェークアップ信号を送信することができる。話者特徴ベクトル抽出部１２３は、キーワード検出部１２２において、候補キーワードが検出されたということを示すウェークアップ信号に応答してウェークアップされる。
【００５４】
一実施形態によれば、話者特徴ベクトル抽出部１２３は、オーディオデータの各フレームごとに、フレーム特徴ベクトルを抽出し、抽出されたフレーム特徴ベクトルを正規化及び平均化し、オーディオデータを代表する話者特徴ベクトルを抽出することができる。抽出されたフレーム特徴ベクトルの正規化に、Ｌ２正規化が使用される。抽出されたフレーム特徴ベクトルの平均化は、オーディオデータ内の全フレームそれぞれに対して抽出されたフレーム特徴ベクトルを正規化して生成される正規化されたフレーム特徴ベクトルの平均を算出することによって達成される。
【００５５】
例えば、話者特徴ベクトル抽出部１２３は、第１オーディオデータの各フレームごとに、第１フレーム特徴ベクトルを抽出し、抽出された第１フレーム特徴ベクトルを正規化及び平均化し、第１オーディオデータを代表する前記第１話者特徴ベクトルを抽出することができる。また、話者特徴ベクトル抽出部１２３は、第２オーディオデータの各フレームごとに、第２フレーム特徴ベクトルを抽出し、抽出された第２フレーム特徴ベクトルを正規化及び平均化し、第２オーディオデータを代表する第２話者特徴ベクトルを抽出することができる。
【００５６】
他の実施形態によれば、話者特徴ベクトル抽出部１２３は、オーディオデータ内の全フレームについて、フレーム特徴ベクトルをそれぞれ抽出するのではなく、オーディオデータ内の一部フレームについて、フレーム特徴ベクトルをそれぞれ抽出することができる。前記一部フレームは、当該フレームのオーディオデータが、ユーザの音声データである可能性が高いフレームにおいて、音声フレームとして選択される。かような音声フレームの選択は、キーワード検出部１２２によってなされる。キーワード検出部１２２は、オーディオストリームデータの各フレームごとに、人音声である第１確率と、背景音である第２確率とを計算することができる。キーワード検出部１２２は、各フレームのオーディオデータが人音声である第１確率が、背景音である第２確率より、既設定基準値を超えて高いフレームを、音声フレームと決定することができる。キーワード検出部１２２は、当該フレームが、音声フレームであるか否かということを示すフラグまたはビットをオーディオストリームデータの各フレームに関連づけてメモリ１１０に保存することができる。
【００５７】
話者特徴ベクトル抽出部１２３は、第１オーディデータ及び第２オーディオデータをメモリ１１０から読み取るとき、フラグまたはビットを共に読み取ることにより、当該フレームが音声フレームであるか否かということを知ることができる。
【００５８】
話者特徴ベクトル抽出部１２３は、オーディオデータ内のフレーム中、音声フレームと決定されたフレームそれぞれについてフレーム特徴ベクトルを抽出し、抽出された第１フレーム特徴ベクトルを正規化及び平均化し、オーディオデータを代表する話者特徴ベクトルを抽出することができる。例えば、話者特徴ベクトル抽出部１２３は、第１オーディオデータ内のフレーム中、音声フレームと決定されたフレームそれぞれについて、第１フレーム特徴ベクトルを抽出し、抽出された第１フレーム特徴ベクトルを正規化及び平均化し、第１オーディオデータを代表する前記第１話者特徴ベクトルを抽出することができる。また、話者特徴ベクトル抽出部１２３は、第２オーディオデータ内のフレーム中、音声フレームと決定されたフレームそれぞれについて、第２フレーム特徴ベクトルを抽出し、抽出された第２フレーム特徴ベクトルを正規化及び平均化し、第２オーディオデータを代表する第２話者特徴ベクトルを抽出することができる。
【００５９】
ウェークアップ判断部１２４は、話者特徴ベクトル抽出部１２３で抽出された第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を基に、第１オーディオデータに当該キーワードが含まれていたか否かということ、すなわち、第１区間のオーディオ信号に当該キーワードが含まれていたか否かということを判断する。ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を、既設定基準値と比較し、類似度が基準値以下である場合、第１区間の第１オーディオデータに当該キーワードが含まれていると判断することができる。
【００６０】
音声制御装置１００がキーワードを誤認識する代表的な場合は、ユーザの音声中に、キーワードと類似した発音の単語が、音声中間に位置する場合である。例えば、キーワードが「クローバ」である場合、ユーザが他者に「四葉のクローバーをどうやって見つけられるの」という場合にも、音声制御装置１００は、「クローバー」に反応してウェークアップされ、ユーザが意図していない動作を遂行してしまうかもしれない。さらには、テレビニュースにおいてアナウンサーが、「ＪＮグローバルの時価総額は、…」という場合にも、音声制御装置１００は、「グローバル」に反応してウェークアップされてしまうかもしれない。そのようなキーワードの誤認識が発生してしまうことを防止するために、一実施形態によれば、キーワードと類似した発音の単語は、音声の最も先に位置する場合にのみ音声制御装置１００が反応する。また、周辺背景騒音が多い環境や、他の人々が話し合っている環境では、ユーザがキーワードに該当する音声を最も先に発声しても、周辺背景騒音や、他の人々の対話により、ユーザがキーワードに該当する音声を最も先に発声したということが感知されないこともある。一実施形態によれば、音声制御装置１００は、候補キーワードが検出された区間の第１話者特徴ベクトルと、以前区間の第２話者特徴ベクトルとを抽出し、第１話者特徴ベクトルと第２話者特徴ベクトルとが互いに異なる場合には、ユーザがキーワードに該当する音声を最も先に発声したと判断することができる。
【００６１】
かような判断のために、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が既設定基準値以下である場合には、ユーザがキーワードに該当する音声を最も先に発声したと判断することができる。すなわち、ウェークアップ判断部１２４は、第１区間の第１オーディオデータに当該キーワードが含まれていると判断することができ、音声制御装置１００の一部機能をウェークアップさせることができる。第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が高いということは、第１オーディオデータに対応する音声を放った者と、第２オーディオデータに対応する音声を放った者とが同一である可能性が高いというのである。
【００６２】
第２オーディオデータが黙音に該当する場合、話者特徴ベクトル抽出部１２３は、第２オーディオデータから、黙音に該当する第２話者特徴ベクトルを抽出することができる。話者特徴ベクトル抽出部１２３は、第１オーディオデータから、ユーザの音声に該当する第１話者特徴ベクトルを抽出するので、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度は、低い。
【００６３】
音声認識部１２５は、オーディオ処理部１２１で生成されたオーディオストリームデータにおいて第３区間に該当する第３オーディオデータを受信し、第３オーディオデータを音声認識することができる。他の例によれば、音声認識部１２５は、第３オーディオデータが、外部（例えば、サーバ２００）で音声認識されるように、第３オーディオデータを外部に伝送し、音声認識結果を受信することができる。
【００６４】
機能部１２６は、キーワードに対応する機能を遂行することができる。例えば、音声制御装置１００がスマートスピーカである場合、機能部１２６は、音楽再生部、音声情報提供部、周辺機器制御部などを含み、検出されたキーワードに対応する機能を遂行することができる。音声制御装置１００がスマートフォンである場合、機能部１２６は、電話連結部、文字送受信部、インターネット検索部などを含み、検出されたキーワードに対応する機能を遂行することができる。機能部１２６は、音声制御装置１００の種類によって多様に構成される。機能部１２６は、音声制御装置１００が行うことができる多様な機能を遂行するための機能ブロックを包括的に示したものである。
【００６５】
図３に図示された音声制御装置１００は、音声認識部１２５を含むように図示されているが、それは例示的なものであり、音声制御装置１００は、音声認識部１２５を含まず、図２に図示されたサーバ２００が、音声認識機能を代わりに遂行することができる。その場合、図１に図示されているように、音声制御装置１００は、ネットワーク３００を介して、音声認識機能を遂行するサーバ２００に接続される。音声制御装置１００は、音声認識が必要な音声信号を含む音声ファイルをサーバ２００に提供することができ、サーバ２００は、音声ファイル内の音声信号に対して音声認識を行い、音声信号に対応する文字列を生成することができる。サーバ２００は、生成された文字列を、ネットワーク３００を介して、音声制御装置１００に送信することができる。しかし、以下では、音声制御装置１００が音声認識機能を遂行する音声認識部１２５を含むと仮定して説明する。
【００６６】
プロセッサ１２０は、動作方法のためのプログラムファイルに保存されたプログラムコードをメモリ１１０にローディングすることができる。例えば、音声制御装置１００には、プログラムファイルによって、プログラムがインストール（install）される。そのとき、音声制御装置１００にインストールされたプログラムが実行される場合、プロセッサ１２０は、プログラムコードをメモリ１１０にローディングすることができる。そのとき、プロセッサ１２０が含むオーディオ処理部１２１、キーワード検出部１２２、話者特徴ベクトル抽出部１２３、ウェークアップ判断部１２４、音声認識部１２５及び機能部１２６のうち少なくとも一部のそれぞれは、メモリ１１０にローディングされたプログラムコードのうち対応するコードによる命令を実行し、図４の段階（Ｓ１１０ないしＳ１９０）を実行するようにも具現化される。
【００６７】
その後、プロセッサ１２０の機能ブロック１２１ないし１２６が、音声制御装置１００を制御することは、プロセッサ１２０が音声制御装置１００の他の構成要素を制御することと理解される。例えば、プロセッサ１２０は、音声制御装置１００が含む通信モジュール１３０を制御し、音声制御装置１００が、例えば、サーバ２００と通信するように、音声制御装置１００を制御することができる。
【００６８】
段階（Ｓ１１０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、周辺音に対応するオーディオ信号を受信する。オーディオ処理部１２１は、持続的に周辺音に対応するオーディオ信号を受信することができる。オーディオ信号は、マイク１５１のような入力装置が周辺音に対応して生成した電気信号でもある。
【００６９】
段階（Ｓ１２０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、マイク１５１からのオーディオ信号を基に、オーディオストリームデータを生成する。オーディオストリームデータは、持続的に受信されるオーディオ信号に対応したものである。該オーディオストリームデータは、オーディオ信号をフィルタリングしてデジタル化させることによって生成されるデータでもある。
【００７０】
段階（Ｓ１３０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、段階（Ｓ１２０）で生成されるオーディオストリームデータをメモリ１１０に一時的に保存する。メモリ１１０は、限定された大きさを有し、現在から最近一定時間の間のオーディオ信号に対応するオーディオストリームデータの一部が、メモリ１１０に一時的に保存される。新たなオーディオストリームデータが生成されると、メモリ１１０に保存されたオーディオストリームデータのうち最も古いデータが削除され、メモリ１１０内の削除によって空くようになった空間に、新たなオーディオストリームデータが保存される。
【００７１】
段階（Ｓ１４０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、段階（Ｓ１２０）で生成されるオーディオストリームデータから、既定義のキーワードに対応する候補キーワードを検出する。該候補キーワードは、既定義のキーワードと類似した発音を有する単語であり、段階（Ｓ１４０）において、キーワード検出部１２２でキーワードとして検出されたワードを指す。
【００７２】
段階（Ｓ１５０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、オーディオストリームデータから候補キーワードが検出されたキーワード検出区間を識別し、キーワード検出区間の始点及び終点を決定する。キーワード検出区間は、現在区間とされる。オーディオストリームデータで現在区間に対応するデータは、第１オーディオデータとされる。
【００７３】
段階（Ｓ１６０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、メモリ１１０から、以前区間に該当する第２オーディオデータを読み取る。以前区間は、現在区間のすぐ直前区間であり、以前区間の終点は、現在区間の始点と同一でもある。話者特徴ベクトル抽出部１２３は、メモリ１１０から、第１オーディオデータも共に読み取ることができる。
【００７４】
段階（Ｓ１７０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、第１オーディオデータから第１話者特徴ベクトルを抽出し、第２オーディオデータから第２話者特徴ベクトルを抽出する。第１話者特徴ベクトルは、第１オーディオデータに対応する音声の話者を識別するための指標であり、第２話者特徴ベクトルは、第２オーディオデータに対応する音声の話者を識別するための指標である。プロセッサ１２０、例えば、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を基に、第１オーディオデータにキーワードが含まれていたか否かということを判断することができる。ウェークアップ判断部１２４は、第１オーディオデータにキーワードが含まれていると判断する場合、音声制御装置１００の一部構成要素をウェークアップさせることができる。
【００７５】
段階（Ｓ１８０）において、プロセッサ１２０、例えば、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を既設定基準値と比較する。
【００７６】
ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が既設定基準値以下である場合、現在区間の第１オーディオデータの話者と、以前区間の第２オーディオデータの話者とが互いに異なるということであるので、第１オーディオデータにキーワードが含まれていると判断することができる。その場合、段階（Ｓ１９０）でのように、プロセッサ１２０、例えば、ウェークアップ判断部１２４は、音声制御装置１００の一部構成要素をウェークアップさせることができる。
【００７７】
しかし、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が既設定基準値より高い場合、現在区間の第１オーディオデータの話者と、以前区間の第２オーディオデータの話者とが互いに同一であるということであるので、第１オーディオデータにキーワードが含まれていないと判断し、ウェークアップを進めない。その場合、段階（Ｓ１１０）に進み、周辺音に対応するオーディオ信号を受信する。段階（Ｓ１１０）において、オーディオ信号受信は、段階（Ｓ１２０−Ｓ１９０）を遂行するときにも続けられる。
【００７８】
図３のキーワード保存所１１０ａには、既定義の複数のキーワードが保存される。かようなキーワードは、ウェークアップキーワードでもあり、単独命令キーワードでもある。該ウェークアップキーワードは、音声制御装置１００の一部機能をウェークアップさせるためのものである。一般的には、ユーザは、ウェークアップキーワードを発話した後、所望の自然語音声命令を発話する。音声制御装置１００は、自然語音声命令を音声認識し、自然語音声命令に対応する動作及び機能を遂行することができる。
【００７９】
単独命令キーワードは、音声制御装置１００が、特定動作または機能を直接遂行するためのものであり、例えば、「再生」、「中止」のように、既定義の簡単な単語でもある。音声制御装置１００は、単独命令キーワードが受信されると、単独命令キーワードに該当する機能をウェークアップさせ、当該機能を遂行することができる。
【００８０】
以下では、オーディオストリームデータから単独命令キーワードに対応する候補キーワードを検出した場合、及びオーディオストリームデータからウェークアップキーワードに対応する候補キーワードを検出した場合のそれぞれについて説明する。
【００８１】
図５は、他の実施形態によって、音声制御装置が遂行することができる動作方法の例を図示したフローチャートである。
【００８２】
図６Ａは、一実施形態による音声制御装置が、図５の動作方法を実行する場合、単独命令キーワードが発話される例を図示し、図６Ｂは、一実施形態による音声制御装置が、図５の動作方法を実行する場合、一般対話音声が発話される例を図示する。
【００８３】
図５の動作方法は、図４の動作方法と実質的に同一である段階を含む。図５の段階のうち、図４の段階と実質的に同一である段階については、詳細に説明しない。図６Ａ及び図６Ｂには、オーディオストリームデータに対応するオーディオ信号と、オーディオ信号に対応するユーザの音声とが図示される。図６Ａには、音声「中止」に対応するオーディオ信号が図示され、図６Ｂには、音声「ここで停止して」に対応するオーディオ信号が図示される。
【００８４】
図６Ａ及び図６Ｂと共に図５を参照すれば、段階（Ｓ２１０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、周辺音に対応するオーディオ信号を受信する。
【００８５】
段階（Ｓ２２０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、マイク１５１からのオーディオ信号を基に、オーディオストリームデータを生成する。
【００８６】
段階（Ｓ２３０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、段階（Ｓ２２０）で生成されるオーディオストリームデータをメモリ１１０に一時的に保存する。
【００８７】
段階（Ｓ２４０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、段階（Ｓ２２０）で生成されるオーディオストリームデータから、既定義の単独命令キーワードに対応する候補キーワードを検出する。単独命令キーワードは、音声制御装置１００の動作を直接制御することができる音声キーワードでもある。例えば、単独命令キーワードは、図６Ａに図示されているように、「中止」のような単語でもある。その場合、音声制御装置１００は、例えば、音楽や動画を再生している。
【００８８】
図６Ａの例において、キーワード検出部１２２は、オーディオ信号から「中止」という候補キーワードを検出することができる。図６Ｂの例において、キーワード検出部１２２は、オーディオ信号から、「中止」というキーワードと類似した発音を有する単語である「停止」という候補キーワードを検出することができる。
【００８９】
段階（Ｓ２５０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、オーディオストリームデータから候補キーワードが検出されたキーワード検出区間を識別し、キーワード検出区間の始点及び終点を決定する。キーワード検出区間は、現在区間とされる。オーディオストリームデータにおいて、現在区間に対応するデータは、第１オーディオデータとされる。
【００９０】
図６Ａの例において、キーワード検出部１２２は、「中止」という候補キーワードを検出した区間を現在区間と識別し、現在区間の始点及び終点を決定することができる。前記現在区間に対応するオーディオデータは、第１オーディオデータＡＤ１とされる。
【００９１】
図６Ｂの例において、キーワード検出部１２２は、「停止」という候補キーワードを検出した区間を現在区間と識別し、現在区間の始点及び終点を決定することができる。前記現在区間に対応するオーディオデータは、第１オーディオデータＡＤ１とされる。
【００９２】
また、段階（Ｓ２５０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、検出された候補キーワードが、ウェークアップキーワード及び単独命令キーワードのうちいずれのキーワードに対応する候補キーワードであるかということを判断することができる。図６Ａ及び図６Ｂの例において、キーワード検出部１２２は、検出された候補キーワード、すなわち、「中止」及び「停止」が単独命令キーワードに対応する候補キーワードであるということを判断することができる。
【００９３】
段階（Ｓ２６０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、メモリ１１０から、以前区間に該当する第２オーディオデータを読み取る。以前区間は、現在区間のすぐ直前区間であり、以前区間の終点は、現在区間の始点と同一でもある。話者特徴ベクトル抽出部１２３は、メモリ１１０から、第１オーディオデータも共に読み取ることができる。
【００９４】
図６Ａの例において、話者特徴ベクトル抽出部１２３は、現在区間のすぐ直前区間である以前区間に対応する第２オーディオデータＡＤ２をメモリ１１０から読み取ることができる。図６Ｂの例において、話者特徴ベクトル抽出部１２３は、現在区間のすぐ直前区間である以前区間に対応する第２オーディオデータＡＤ２を、メモリ１１０から読み取ることができる。図６Ｂの例において、第２オーディオデータＡＤ２は「こで」という音声に対応する。以前区間の長さは、検出された候補キーワードによって可変的にも設定される。
【００９５】
段階（Ｓ２７０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、オーディオ処理部１２１から、現在区間後の次の区間に該当する第３オーディオデータを受信する。次の区間は、現在区間のすぐ次の区間であり、次の区間の始点は、現在区間の終点と同一でもある。
【００９６】
図６Ａの例において、話者特徴ベクトル抽出部１２３は、現在区間直後の次の区間に対応する第３オーディオデータＡＤ３を、オーディオ処理部１２１から受信することができる。図６Ｂの例において、話者特徴ベクトル抽出部１２３は、現在区間直後の次の区間に対応する第３オーディオデータＡＤ３を、オーディオ処理部１２１から受信することができる。図６Ｂの例において、第３オーディオデータＡＤ３は、「して」という音声に対応する。次の区間の長さは、検出された候補キーワードによって可変的にも設定される。
【００９７】
段階（Ｓ２８０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、第オーディオデータ１ないし第３オーディオデータから、第１話者特徴ベクトルないし第３話者特徴ベクトルをそれぞれ抽出する。第１話者特徴ベクトルないし第３話者特徴ベクトルそれぞれは、第オーディオデータ１ないし第３オーディオデータに対応する音声の話者を識別するための指標である。プロセッサ１２０、例えば、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度、及び第１話者特徴ベクトルと第３話者特徴ベクトルとの類似度を基に、第１オーディオデータに単独命令キーワードが含まれていたか否かということを判断することができる。ウェークアップ判断部１２４は、第１オーディオデータに、単独命令キーワードが含まれていると判断する場合、音声制御装置１００の一部構成要素をウェークアップさせることができる。
【００９８】
図６Ａの例において、第１オーディオデータＡＤ１に対応する第１話者特徴ベクトルは、「中止」という音声を発声した話者を識別するための指標である。第２オーディオデータＡＤ２と第３オーディオデータＡＤ３は、実質的に黙音であるので、第２話者特徴ベクトル及び第３話者特徴ベクトルは、黙音に対応するベクトルを有することができる。従って、第１話者特徴ベクトルと、第２話者特徴ベクトル及び第３話者特徴ベクトルとの類似度は、低い。
【００９９】
他の例として、以前区間及び次の区間に、「中止」という音声を発声した話者ではない他者が音声を発声する場合、第２話者特徴ベクトル及び第３話者特徴ベクトルは、前記他者に対応したベクトルを有するので、第１話者特徴ベクトルと、第２話者特徴ベクトル及び第３話者特徴ベクトルとの類似度は、低い。
【０１００】
図６Ｂの例では、一人が「ここで停止して」と発声した。従って、「停止」に対応する第１オーディオデータＡＤ１から抽出される第１話者特徴ベクトル、「こで」に対応する第２オーディオデータＡＤ２から抽出される第２話者特徴ベクトル、及び「して」に対応する第３オーディオデータＡＤ３から抽出される第３話者特徴ベクトルは、いずれも実質的に同一である話者を識別するためのベクトルであるので、第１話者特徴ベクトルないし第３話者特徴ベクトルとの類似度は、高い。
【０１０１】
段階（Ｓ２９０）において、プロセッサ１２０、例えば、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を、既設定基準値と比較し、第１話者特徴ベクトルと第３話者特徴ベクトルとの類似度を既設定基準値と比較する。ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が既設定基準値以下であり、第１話者特徴ベクトルと第３話者特徴ベクトルとの類似度が既設定基準値以下である場合、現在区間の第１オーディオデータの話者は、以前区間の第２オーディオデータの話者、及び次の区間の第３オーディオデータの話者とは異なるので、第１オーディオデータに、単独命令キーワードが含まれていると判断することができる。その場合、段階（Ｓ３００）でのように、プロセッサ１２０、例えば、ウェークアップ判断部１２４は、単独命令キーワードを機能部１２６に提供し、機能部１２６は、ウェークアップ判断部１２４による、第１オーディオデータに単独命令キーワードが含まれているという判断に応答し、単独命令キーワードに対応する機能を遂行することができる。
【０１０２】
図６Ａの例において、第１話者特徴ベクトルは、「中止」と発声した話者に対応するベクトルであり、第２話者特徴ベクトル及び第３話者特徴ベクトルは、黙音に対応したベクトルであるので、第１話者特徴ベクトルと、第２話者特徴ベクトル及び第３話者特徴ベクトルとの類似度は、既設定基準値より低い。その場合、ウェークアップ判断部１２４は、第１オーディオデータＡＤ１に、「中止」という単独命令キーワードが含まれていると判断することができる。その場合、機能部１２６は、前記判断に応答してウェークアップされ、「中止」という単独命令キーワードに対応する動作または機能を遂行することができる。例えば、音声制御装置１００が音楽を再生しているのであれば、機能部１２６は、「中止」という単独命令キーワードに対応し、音楽再生を止めることができる。
【０１０３】
しかし、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が、既設定基準値より高いか、あるいは第１話者特徴ベクトルと第３話者特徴ベクトルとの類似度が、既設定基準値より高い場合、現在区間の第１オーディオデータの話者が、以前区間の第２オーディオデータの話者、または次の区間の第３オーディオデータの話者と同一であるということであるので、第１オーディオデータにキーワードが含まれていないと判断し、ウェークアップを進めない。その場合、段階（Ｓ２１０）に進み、周辺音に対応するオーディオ信号を受信する。
【０１０４】
図６Ｂの例において、一人が「ここで停止して」と発声したので、第１話者特徴ベクトルないし第３話者特徴ベクトルの類似度は、高い。図６Ｂの例における発声である「ここに停止して」には、音声制御装置を制御するか、あるいはウェークアップさせるためのキーワードが含まれていないので、ウェークアップ判断部１２４は、第１オーディオデータＡＤ１に単独命令キーワードが含まれていないと判断し、機能部１２６が「停止」または「中止」に該当する機能や動作を遂行しないようにする。
【０１０５】
一般的な技術によれば、音声制御装置は、「ここで停止して」という発声のうち「停止」という音声を検出し、「停止」に該当する機能や動作を遂行することが技術的には可能である。かような機能や動作は、ユーザが意図していないものであり、ユーザは、音声制御装置を使用するときに不都合を感じる。しかし、一実施形態によれば、音声制御装置１００は、ユーザの音声から、単独命令キーワードを正確に認識することができるために、一般的な技術とは異なり、誤動作を遂行しない。
【０１０６】
図７は、さらに他の実施形態によって、音声制御装置が遂行することができる動作方法の例を図示したフローチャートである。
【０１０７】
図８Ａは、一実施形態による音声制御装置が、図７の動作方法を実行する場合、ウェークアップキーワード及び自然語音声命令が発話される例を図示し、図８Ｂは、一実施形態による音声制御装置が、図７の動作方法を実行する場合、一般対話音声が発話される例を図示する。
【０１０８】
図７の動作方法は、図４の動作方法と実質的に同一である段階を含む。図７の段階のうち、図４の段階と実質的に同一である段階については、詳細に説明しない。図６Ａ及び図６Ｂには、オーディオストリームデータに対応するオーディオ信号と、オーディオ信号に対応するユーザの音声とが図示される。図８Ａには、ウェークアップキーワード「クローバ」と、自然語音声命令「明日の天気を教えて」とに対応するオーディオ信号が図示され、図８Ｂには「四葉のクローバーをどうやって見つけられるの」という対話音声に対応するオーディオ信号が図示される。
【０１０９】
図８Ａ及び図８Ｂと共に、図７を参照すれば、段階（Ｓ４１０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、周辺音に対応するオーディオ信号を受信する。段階（Ｓ４２０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、マイク１５１からのオーディオ信号を基に、オーディオストリームデータを生成する。段階（Ｓ４３０）において、プロセッサ１２０、例えば、オーディオ処理部１２１は、段階（Ｓ１２０）で生成されるオーディオストリームデータを、メモリ１１０に一時的に保存する。
【０１１０】
段階（Ｓ４４０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、段階（Ｓ４２０）で生成されるオーディオストリームデータから、既定義のウェークアップキーワードに対応する候補キーワードを検出する。該ウェークアップキーワードは、スリープモード状態の音声制御装置をウェークアップモードに転換することができる音声に基づくキーワードである。例えば、ウェークアップキーワードは、「クローバ」、「ハイコンピュータ」のような音声キーワードでもある。
【０１１１】
図８Ａの例において、キーワード検出部１２２は、オーディオ信号から、「クローバ」という候補キーワードを検出することができる。図８Ｂの例において、キーワード検出部１２２は、オーディオ信号から、「クローバ」というキーワードと類似した発音を有する単語である「クローバー」という候補キーワードを検出することができる。
【０１１２】
段階（Ｓ４５０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、オーディオストリームデータから候補キーワードが検出されたキーワード検出区間を識別し、キーワード検出区間の始点及び終点を決定する。キーワード検出区間は、現在区間とされる。オーディオストリームデータで現在区間に対応するデータは、第１オーディオデータとされる。
【０１１３】
図８Ａの例において、キーワード検出部１２２は、「クローバ」という候補キーワードを検出した区間を現在区間と識別し、現在区間の始点及び終点を決定することができる。前記現在区間に対応するオーディオデータは、第１オーディオデータＡＤ１とされる。図８Ｂの例において、キーワード検出部１２２は、「クローバー」という候補キーワードを検出した区間を現在区間と識別し、現在区間の始点及び終点を決定することができる。前記現在区間に対応するオーディオデータは、第１オーディオデータＡＤ１とされる。
【０１１４】
また、段階（Ｓ４５０）において、プロセッサ１２０、例えば、キーワード検出部１２２は、検出された候補キーワードがウェークアップキーワード及び単独命令キーワードのうちいずれのキーワードに対応する候補キーワードであるかということを判断することができる。図８Ａ及び図８Ｂの例において、キーワード検出部１２２は、検出された候補キーワード、すなわち、「クローバ」及び「クローバー」がウェークアップキーワードに対応する候補キーワードであるということを判断することができる。
【０１１５】
段階（Ｓ４６０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、メモリ１１０から、以前区間に該当する第２オーディオデータを読み取る。以前区間は、現在区間のすぐ直前区間であり、以前区間の終点は、現在区間の始点と同一でもある。話者特徴ベクトル抽出部１２３は、メモリ１１０から、第１オーディオデータも共に読み取ることができる。
【０１１６】
図８Ａの例において、話者特徴ベクトル抽出部１２３は、現在区間のすぐ直前区間である以前区間に対応する第２オーディオデータＡＤ２を、メモリ１１０から読み取ることができる。図８Ｂの例において、話者特徴ベクトル抽出部１２３は、現在区間のすぐ直前区間である以前区間に対応する第２オーディオデータＡＤ２を、メモリ１１０から読み取ることができる。図８Ｂの例において、第２オーディオデータＡＤ２は「、四葉の」という音声に対応する。以前区間の長さは、検出された候補キーワードによって可変的にも設定される。
【０１１７】
段階（Ｓ４７０）において、プロセッサ１２０、例えば、話者特徴ベクトル抽出部１２３は、第１オーディデータ及び第２オーディオデータから、第１話者特徴ベクトル及び第２話者特徴ベクトルをそれぞれ抽出する。プロセッサ１２０、例えば、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を基に、第１オーディオデータに、ウェークアップキーワードが含まれていたか否かということを判断することができる。ウェークアップ判断部１２４は、第１オーディオデータにウェークアップキーワードが含まれていると判断する場合、音声制御装置１００の一部構成要素をウェークアップさせることができる。
【０１１８】
図８Ａの例において、第１オーディオデータＡＤ１に対応する第１話者特徴ベクトルは、「クローバ」という音声を発声した話者を識別するための指標である。第２オーディオデータＡＤ２は、実質的に黙音であるので、第２話者特徴ベクトルは、黙音に対応するベクトルを有することができる。従って、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度は、低い。
【０１１９】
他の例として、以前区間に「クローバ」という音声を発声した話者ではない他者が音声を発声する場合、第２話者特徴ベクトルは、前記他者に対応したベクトルを有するので、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度は、低い。
【０１２０】
図８Ｂの例では、一人が「四葉のクローバーをどうやって見つけられるの」と発声した。従って、「クローバー」に対応する第１オーディオデータＡＤ１から抽出される第１話者特徴ベクトルと、「四葉の」に対応する第２オーディオデータＡＤ２から抽出される第２話者特徴ベクトルは、いずれも実質的に同一である話者を識別するためのベクトルであるので、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度は、高い。
【０１２１】
段階（Ｓ４８０）において、プロセッサ１２０、例えば、ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度を既設定基準値と比較する。ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が既設定基準値より高い場合、現在区間の第１オーディオデータの話者と、以前区間の第２オーディオデータの話者とが互いに同一であるということであるので、第１オーディオデータにキーワードが含まれていないと判断し、ウェークアップを進めない。その場合、段階（Ｓ４１０）に進み、プロセッサ１２０、例えば、オーディオ処理部１２１は、周辺音に対応するオーディオ信号を受信する。
【０１２２】
図８Ｂの例において、一人が「四葉のクローバー…」と発声したので、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度は、高い。図８Ｂの例において、「四葉のクローバー」と発声した者は、音声制御装置１００をウェークアップさせようという意図がないと判断し、ウェークアップ判断部１２４は、第１オーディオデータＡＤ１にウェークアップキーワードが含まれていないと判断し、音声制御装置１００をウェークアップさせない。
【０１２３】
ウェークアップ判断部１２４は、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度が、既設定基準値以下である場合、現在区間の第１オーディオデータの話者と、以前区間の第２オーディオデータの話者とが互いに異なるということであるので、第１オーディオデータにキーワードが含まれていると判断することができる。その場合、ウェークアップ判断部１２４は、音声制御装置１００の一部構成要素をウェークアップさせることができる。例えば、ウェークアップ判断部１２４は、音声認識部１２５をウェークアップさせることができる。
【０１２４】
図８Ａの例において、第１話者特徴ベクトルは、「クローバ」と発声した話者に対応するベクトルであり、第２話者特徴ベクトルは、黙音に対応したベクトルであるので、第１話者特徴ベクトルと第２話者特徴ベクトルとの類似度は、既設定基準値より低い。その場合、ウェークアップ判断部１２４は、第１オーディオデータＡＤ１に「クローバ」というウェークアップキーワードが含まれていると判断することができる。その場合、音声認識部１２５は、自然語音声命令を認識するためにウェークアップされる。
【０１２５】
段階（Ｓ４９０）において、プロセッサ１２０、例えば、音声認識部１２５は、オーディオ処理部１２１から、現在区間後の次の区間に該当する第３オーディオデータを受信する。次の区間は、現在区間のすぐ次の区間であり、次の区間の始点は、現在区間の終点と同一でもある。
【０１２６】
音声認識部１２５は、第３オーディオデータにおいて、既設定長の黙音が検出されるとき、次の区間の終点を決定することができる。音声認識部１２５は、第３オーディオデータを音声認識することができる。音声認識部１２５は、多様な方式で、第３オーディオデータを音声認識することができる。他の例によれば、音声認識部１２５は、第３オーディオデータの音声認識結果を得るために、外部装置、例えば、図２に図示される音声認識機能を有するサーバ２００に、第３オーディオデータを伝送することができる。サーバ２００は、第３オーディオデータを受信し、第３オーディオデータを音声認識することにより、第３オーディオデータに対応する文字列（テキスト）を生成し、生成された文字列（テキスト）を、音声認識結果として、音声認識部１２５に伝送することができる。
【０１２７】
図８Ａの例において、次の区間の第３オーディオデータは、「明日の天気を教えて」のような自然語音声命令である。音声認識部１２５は、第３オーディオデータを直接音声認識し、音声認識結果を生成するか、あるいは第３オーディオデータが音声認識されるように、外部（例えば、サーバ２００）に伝送することができる。
【０１２８】
段階（Ｓ５００）において、プロセッサ１２０、例えば、機能部１２６は、第３オーディオデータの音声認識結果に対応する機能を遂行することができる。図８Ａの例において、機能部１２６は、明日の天気を検索して結果を提供する音声情報提供部でもあり、機能部１２６は、インターネットを利用して明日天気を検索し、その結果をユーザに提供することができる。機能部１２６は、明日の天気の検索結果を、スピーカ１５２を利用して音声として提供することもできる。機能部１２６は、第３オーディオデータの音声認識結果に応答し、ウェークアップされる。
【０１２９】
以上で説明した本発明による実施形態は、コンピュータ上で多様な構成要素を介して実行されるコンピュータプログラムの形態に具現化され、かようなコンピュータプログラムは、コンピュータで読み取り可能な媒体に記録される。そのとき、該媒体は、コンピュータで実行可能なプログラムを続けて保存するか、あるいは実行またはダウンロードのために、臨時保存するものでもある。また、該媒体は、単一、または数個のハードウェアが結合された形態の多様な記録手段または保存手段でもあるが、あるコンピュータシステムに直接接続される媒体に限定されるものではなく、ネットワーク上に分散存在するものでもある。該媒体の例示としては、ハードディスク、フロッピィーディスク及び磁気テープのような磁気媒体；ＣＤ−ＲＯＭ（compact  disc  read  only  memory）及びＤＶＤ（digital  versatile  disc）のような光記録媒体；フロプティカルディスク（floptical  disk）のような磁気・光媒体（magneto-optical  medium）；及びＲＯＭ（read-only  memory）、ＲＡＭ（random  access  memory）、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものでもある。また、他の媒体の例示として、アプリケーションを流通するアプリストアや、その他多様なソフトウェアを供給したり流通させたりするサイト、サーバなどで管理する記録媒体ないし記録媒体も挙げることができる。
【０１３０】
本明細書において、「部」、「モジュール」などは、プロセッサまたは回路のようなハードウェア構成（hardware  component）、及び／またはプロセッサのようなハードウェア構成によって実行されるソフトウェア構成（software  component）でもある。例えば、「部」、「モジュール」などは、ソフトウェア構成要素、客体志向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数によっても具現化される。
【０１３１】
前述の本発明の説明は、例示のためのものであり、本発明が属する技術分野の当業者であるならば、本発明の技術的思想や必須な特徴を変更せずにも、他の具体的な形態に容易に変形が可能であるということを理解することができるであろう。従って、以上で記述した実施形態は、全ての面において例示的なものであり、限定的ではないと理解しなければならない。例えば、単一型と説明されている各構成要素は、分散されて実施されもし、同様に、分散されていると説明されている構成要素も、結合された形態に実施されてもよい。
【０１３２】
本発明の範囲は、前記詳細な説明よりは、特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその均等概念から導出される全ての変更、または変形された形態が、本発明の範囲に含まれるものであると解釈されなければならない。
【産業上の利用可能性】
【０１３３】
本発明の、キーワード誤認識を防止する音声制御装置、及びその動作方法は、例えば、音声認識関連の技術分野に効果的に適用可能である。
【０１３４】
（付記１）
周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成するオーディオ処理部と、
前記オーディオストリームデータから、所定のキーワードに対応する候補キーワードを検出し、前記オーディオストリームデータにおいて、前記候補キーワードが検出された第１オーディオデータに該当する第１区間の始点及び終点を決定するキーワード検出部と、
前記第１オーディオデータに係わる第１話者特徴ベクトルを抽出し、前記オーディオストリームデータにおいて、前記第１区間の始点を終点にする第２区間に該当する第２オーディオデータに係わる第２話者特徴ベクトルを抽出する話者特徴ベクトル抽出部と、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度を基に、前記第１オーディオデータに、前記キーワードが含まれていたか否かを判断するウェークアップ判断部と、を含む音声制御装置。
（付記２）
前記ウェークアップ判断部は、前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度が、既設定基準値以下である場合、前記第１オーディオデータに、前記キーワードが含まれていると判断することを特徴とする付記１に記載の音声制御装置。
（付記３）
前記所定のキーワードを含む複数のキーワードを保存するキーワード保存所をさらに含み、
前記キーワードそれぞれは、ウェークアップキーワードまたは単独命令キーワードであることを特徴とする付記１に記載の音声制御装置。
（付記４）
前記キーワード検出部により、前記オーディオストリームデータから、前記単独命令キーワードに対応する前記候補キーワードが検出された場合、
前記話者特徴ベクトル抽出部は、前記オーディオストリームデータにおいて、前記第１区間の終点を始点にする第３区間に該当する第３オーディオデータを受信し、前記第３オーディオデータの第３話者特徴ベクトルを抽出し、
前記ウェークアップ判断部は、前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度、及び前記第１話者特徴ベクトルと前記第３話者特徴ベクトルとの類似度を基に、前記第１オーディオデータに、前記単独命令キーワードが含まれていたか否かを判断することを特徴とする付記３に記載の音声制御装置。
（付記５）
前記ウェークアップ判断部は、前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度が、所定の基準値以下であり、前記第１話者特徴ベクトルと前記第３話者特徴ベクトルとの類似度が、所定の基準値以下である場合、前記第１オーディオデータに、前記単独命令キーワードが含まれていると判断することを特徴とする付記４に記載の音声制御装置。
（付記６）
前記キーワード検出部により、前記オーディオストリームデータから、前記ウェークアップキーワードに対応する前記候補キーワードが検出された場合、
前記第１オーディオデータに前記ウェークアップキーワードが含まれている旨の前記ウェークアップ判断部による判断に応答して、ウェークアップされ、前記オーディオストリームデータにおいて、前記第１区間の終点を始点にする第３区間に該当する第３オーディオデータを受信し、前記第３オーディオデータを音声認識するか、あるいは前記第３オーディオデータが音声認識されるように外部に伝送する音声認識部をさらに含むことを特徴とする付記３に記載の音声制御装置。
（付記７）
前記第２区間は、前記ウェークアップキーワードによって可変的に決定されることを特徴とする付記６に記載の音声制御装置。
（付記８）
前記話者特徴ベクトル抽出部は、
前記第１オーディオデータの各フレームごとに第１フレーム特徴ベクトルを抽出し、抽出された前記第１フレーム特徴ベクトルを正規化及び平均化し、前記第１オーディオデータを代表する前記第１話者特徴ベクトルを抽出し、
前記第２オーディオデータの各フレームごとに第２フレーム特徴ベクトルを抽出し、抽出された前記第２フレーム特徴ベクトルを正規化及び平均化し、前記第２オーディオデータを代表する前記第２話者特徴ベクトルを抽出することを特徴とする付記１に記載の音声制御装置。
（付記９）
前記キーワード検出部は、前記オーディオストリームデータの各フレームごとに、人音声である第１確率と、背景音である第２確率とを計算し、前記第１確率が前記第２確率より、所定の基準値を超えて高いフレームを音声フレームと決定し、
前記話者特徴ベクトル抽出部は、
前記第１オーディオデータ内のフレームにおいて、音声フレームと決定されたフレームそれぞれについて、第１フレーム特徴ベクトルを抽出し、抽出された前記第１フレーム特徴ベクトルを正規化及び平均化し、前記第１オーディオデータを代表する前記第１話者特徴ベクトルを抽出し、
前記第２オーディオデータ内のフレームにおいて、音声フレームと決定されたフレームそれぞれについて、第２フレーム特徴ベクトルを抽出し、抽出された前記第２フレーム特徴ベクトルを正規化及び平均化し、前記第２オーディオデータを代表する前記第２話者特徴ベクトルを抽出することを特徴とする付記１に記載の音声制御装置。
（付記１０）
前記話者特徴ベクトル抽出部は、前記キーワード検出部による前記候補キーワードの検出に応答してウェークアップされることを特徴とする付記１に記載の音声制御装置。
（付記１１）
周辺音に対応するオーディオ信号を受信し、オーディオストリームデータを生成する段階と、
前記オーディオストリームデータから、所定のキーワードに対応する候補キーワードを検出し、前記オーディオストリームデータにおいて、前記候補キーワードが検出された第１オーディオデータに該当する第１区間の始点及び終点を決定する段階と、
前記第１オーディオデータに係わる第１話者特徴ベクトルを抽出する段階と、
前記オーディオストリームデータにおいて、前記第１区間の始点を終点にする第２区間に該当する第２オーディオデータに係わる第２話者特徴ベクトルを抽出する段階と、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度を基に、前記第１オーディオデータに、前記キーワードが含まれていたか否かを判断し、ウェークアップさせるか否かを決定する段階と、を含む音声制御装置の動作方法。
（付記１２）
前記ウェークアップさせるか否かを決定する段階は、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度を所定の基準値と比較する段階と、
前記類似度が、前記所定の基準値以下である場合、前記第１オーディオデータに、前記キーワードが含まれていると判断してウェークアップさせる段階と、
前記類似度が、前記所定の基準値を超える場合、前記第１オーディオデータに、前記キーワードが含まれていないと判断してウェークアップさせない段階と、を含むことを特徴とする付記１１に記載の音声制御装置の動作方法。
（付記１３）
前記検出された候補キーワードが、単独命令キーワードに対応する前記候補キーワードである場合、
前記オーディオストリームデータにおいて、前記第１区間の終点を始点にする第３区間に該当する第３オーディオデータを受信する段階と、
前記第３オーディオデータの第３話者特徴ベクトルを抽出する段階と、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとの類似度が、所定の基準値以下であり、前記第１話者特徴ベクトルと前記第３話者特徴ベクトルとの類似度が、所定の基準値以下である場合、前記第１オーディオデータに、前記単独命令キーワードが含まれていると判断する段階と、をさらに含むことを特徴とする付記１１に記載の音声制御装置の動作方法。
（付記１４）
前記第１オーディオデータに、前記単独命令キーワードが含まれているという判断に応答し、前記単独命令キーワードに対応する機能を遂行する段階をさらに含むことを特徴とする付記１３に記載の音声制御装置の動作方法。
（付記１５）
前記検出されたキーワードがウェークアップキーワードに対応する前記候補キーワードである場合、
前記第１オーディオデータに、前記ウェークアップキーワードが含まれているという判断に応答して、前記オーディオストリームデータにおいて、前記第１区間の終点を始点にする第３区間に該当する第３オーディオデータを受信する段階と、
前記第３オーディオデータを音声認識するか、あるいは前記第３オーディオデータが音声認識されるように外部に伝送する段階と、をさらに含むことを特徴とする付記１１に記載の音声制御装置の動作方法。
（付記１６）
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとを抽出する段階は、
前記第１オーディオデータの各フレームごとに第１フレーム特徴ベクトルを抽出する段階と、
抽出された前記第１フレーム特徴ベクトルを正規化及び平均化し、前記第１オーディオデータを代表する前記第１話者特徴ベクトルを抽出する段階と、
前記第２オーディオデータの各フレームごとに第２フレーム特徴ベクトルを抽出する段階と、
抽出された前記第２フレーム特徴ベクトルを正規化及び平均化し、前記第２オーディオデータを代表する前記第２話者特徴ベクトルを抽出する段階と、を含むことを特徴とする付記１１に記載の音声制御装置の動作方法。
（付記１７）
前記オーディオストリームデータの各フレームごとに、人音声である第１確率と、背景音である第２確率とを計算し、前記第１確率が前記第２確率より、所定の基準値を超えて高いフレームを音声フレームと決定する段階をさらに含み、
前記第１話者特徴ベクトルと前記第２話者特徴ベクトルとを抽出する段階は、
前記第１オーディオデータ内のフレームにおいて、音声フレームと決定されたフレームそれぞれについて、第１フレーム特徴ベクトルを抽出する段階と、
抽出された前記第１フレーム特徴ベクトルを正規化及び平均化し、前記第１オーディオデータを代表する前記第１話者特徴ベクトルを抽出する段階と、
前記第２オーディオデータ内のフレームにおいて、音声フレームと決定されたフレームそれぞれについて、第２フレーム特徴ベクトルを抽出する段階と、
抽出された前記第２フレーム特徴ベクトルを正規化及び平均化し、前記第２オーディオデータを代表する前記第２話者特徴ベクトルを抽出する段階と、を含むことを特徴とする付記１１に記載の音声制御装置の動作方法。
（付記１８）
音声制御装置のプロセッサに、付記１１ないし１７のうちいずれか１項に記載の動作方法を実行させる命令語を含むコンピュータプログラム。
（付記１９）
付記１８に記載のコンピュータプログラムを記録した記録媒体。
【符号の説明】
【０１３５】
１００    音声制御装置（電子機器）
１１０    メモリ
１２０    プロセッサ
１２１    オーディオ処理部
１２２    キーワード検出部
１２３    話者特徴ベクトル抽出部
１２４    ウェークアップ判断部
１２５    音声認識部
１２６    機能部
【図１】
2019133182.tif 000003
【図２】
2019133182.tif 000004
【図３】
2019133182.tif 000005
【図４】
2019133182.tif 000006
【図５】
2019133182.tif 000007
【図６Ａ】
2019133182.tif 000008
【図６Ｂ】
2019133182.tif 000009
【図７】
2019133182.tif 000010
【図８Ａ】
2019133182.tif 000011
【図８Ｂ】
2019133182.tif 000012