(57)【特許請求の範囲】
【請求項１】
入力音声データから特定の発話からなる第一発話を検知する第一発話検知部と、
前記第一発話を検知した場合、利用者に対して第二発話の入力を指示する第二発話入力指示部と、
第二発話の入力を指示した後の発話である第二発話を音声認識する音声認識部と、
前記第一発話の発話者と、前記第二発話の発話者とが一致する場合、前記音声認識の結果を出力する出力判定部とを含み、
利用者の識別子と、その利用者の発話から得られる特徴量との組を、第一発話用登録話者データ記憶部と、第二発話用登録話者データ記憶部とに登録する話者データ登録部と、
前記第一発話を検知した場合、その第一発話から得られる特徴量O1を用いて、前記第一発話用登録話者データ記憶部から前記特徴量O1に類似する特徴量O'1に対応する利用者の識別子ID1を取得する第一発話話者識別部と、
前記第二発話から得られる特徴量O2を用いて、前記第二発話用登録話者データ記憶部から前記特徴量O2に類似する特徴量O'2に対応する利用者の識別子ID2を取得する第二発話話者識別部とを含み、
前記出力判定部は、前記識別子ID1と前記識別子ID2とが同じ利用者を示すときに、前記第一発話の発話者と、前記第二発話の発話者とが一致していると判定し、
前記第一発話話者識別部は、前記特徴量O1と前記特徴量O'1とが類似している度合いを示すスコアS1を取得し、前記第一発話の残響時間R1を算出し、前記第一発話の音量P1を算出し、
前記第二発話話者識別部は、前記特徴量O2と前記特徴量O'2とが類似している度合いを示すスコアS2を取得し、前記第二発話の残響時間R2を算出し、前記第二発話の音量P2を算出し、
αを1以上の実数とし、β、γをそれぞれ0以上1以下の実数とし、前記出力判定部は、前記識別子ID1と前記識別子ID2とが同じ利用者を示し、かつ、次式により得られる出力判定スコアOが所定の閾値よりも大きいときに前記第一発話の発話者と、前記第二発話の発話者とが一致していると判定する、
O=(αS1+S2)-β|R1-R2|-γ|P1-P2|
音声入力装置。
【請求項２】
入力音声データから特定の発話からなる第一発話を検知する第一発話検知部と、
前記第一発話を検知した場合、利用者に対して第二発話の入力を指示する第二発話入力指示部と、
第二発話の入力を指示した後の発話である第二発話を音声認識する音声認識部と、
前記第一発話の発話者と、前記第二発話の発話者とが一致する場合、前記音声認識の結果を出力する出力判定部とを含み、
利用者の識別子と、その利用者の発話から得られる特徴量との組を、第一発話用登録話者データ記憶部と、第二発話用登録話者データ記憶部とに登録する話者データ登録部と、
前記第一発話を検知した場合、その第一発話から得られる特徴量O1を用いて、前記第一発話用登録話者データ記憶部から前記特徴量O1に類似する特徴量O'1に対応する利用者の識別子ID1を取得する第一発話話者識別部と、
前記第二発話から得られる特徴量O2を用いて、前記第二発話用登録話者データ記憶部から前記特徴量O2に類似する特徴量O'2に対応する利用者の識別子ID2を取得する第二発話話者識別部とを含み、
前記出力判定部は、前記識別子ID1と前記識別子ID2とが同じ利用者を示すときに、前記第一発話の発話者と、前記第二発話の発話者とが一致していると判定し、
前記第一発話の発話者と前記第二発話の発話者とが一致する場合に、前記特徴量O1を用いて前記第一発話用登録話者データ記憶部に登録された前記特徴量O'1を更新し、前記特徴量O2を用いて前記第二発話用登録話者データ記憶部に登録された前記特徴量O'2を更新する話者データ更新部を含む、
音声入力装置。
【請求項３】
請求項１の音声入力装置であって、
前記第一発話の発話者と前記第二発話の発話者とが一致する場合に、前記特徴量O1を用いて前記第一発話用登録話者データ記憶部に登録された前記特徴量O'1を更新し、前記特徴量O2を用いて前記第二発話用登録話者データ記憶部に登録された前記特徴量O'2を更新する話者データ更新部を含む、
音声入力装置。
【請求項４】
請求項１から請求項３の何れかの音声入力装置であって、
前記出力判定部は、前記第一発話の発話者と、前記第二発話の発話者とが一致しない場合、前記第二発話入力指示部が、再度、利用者に対して第二発話の入力を指示するように制御する、
音声入力装置。
【請求項５】
音声入力装置が行う音声入力方法であって、
入力音声データから特定の発話からなる第一発話を検知する第一発話検知ステップと、
前記第一発話を検知した場合、利用者に対して第二発話の入力を指示する第二発話入力指示ステップと、
第二発話の入力を指示した後の発話である第二発話を音声認識する音声認識ステップと、
前記第一発話の発話者と、前記第二発話の発話者とが一致する場合、前記音声認識の結果を出力する出力判定ステップとを含み、
利用者の識別子と、その利用者の発話から得られる特徴量との組が、第一発話用登録話者データ記憶部と、第二発話用登録話者データ記憶部とに登録されているものとし、
前記第一発話を検知した場合、その第一発話から得られる特徴量O1を用いて、前記第一発話用登録話者データ記憶部から前記特徴量O1に類似する特徴量O'1に対応する利用者の識別子ID1を取得する第一発話話者識別ステップと、
前記第二発話から得られる特徴量O2を用いて、前記第二発話用登録話者データ記憶部から前記特徴量O2に類似する特徴量O'2に対応する利用者の識別子ID2を取得する第二発話話者識別ステップとを含み、
前記出力判定ステップは、前記識別子ID1と前記識別子ID2とが同じ利用者を示すときに、前記第一発話の発話者と、前記第二発話の発話者とが一致していると判定し、
前記第一発話話者識別ステップは、前記特徴量O1と前記特徴量O'1とが類似している度合いを示すスコアS1を取得し、前記第一発話の残響時間R1を算出し、前記第一発話の音量P1を算出し、
前記第二発話話者識別ステップは、前記特徴量O2と前記特徴量O'2とが類似している度合いを示すスコアS2を取得し、前記第二発話の残響時間R2を算出し、前記第二発話の音量P2を算出し、
αを1以上の実数とし、β、γをそれぞれ0以上1以下の実数とし、前記出力判定ステップは、前記識別子ID1と前記識別子ID2とが同じ利用者を示し、かつ、次式により得られる出力判定スコアOが所定の閾値よりも大きいときに前記第一発話の発話者と、前記第二発話の発話者とが一致していると判定する、
O=(αS1+S2)-β|R1-R2|-γ|P1-P2|
音声入力方法。
【請求項６】
音声入力装置が行う音声入力方法であって、
入力音声データから特定の発話からなる第一発話を検知する第一発話検知ステップと、
前記第一発話を検知した場合、利用者に対して第二発話の入力を指示する第二発話入力指示ステップと、
第二発話の入力を指示した後の発話である第二発話を音声認識する音声認識ステップと、
前記第一発話の発話者と、前記第二発話の発話者とが一致する場合、前記音声認識の結果を出力する出力判定ステップとを含み、
利用者の識別子と、その利用者の発話から得られる特徴量との組が、第一発話用登録話者データ記憶部と、第二発話用登録話者データ記憶部とに登録されているものとし、
前記第一発話を検知した場合、その第一発話から得られる特徴量O1を用いて、前記第一発話用登録話者データ記憶部から前記特徴量O1に類似する特徴量O'1に対応する利用者の識別子ID1を取得する第一発話話者識別ステップと、
前記第二発話から得られる特徴量O2を用いて、前記第二発話用登録話者データ記憶部から前記特徴量O2に類似する特徴量O'2に対応する利用者の識別子ID2を取得する第二発話話者識別ステップとを含み、
前記出力判定ステップは、前記識別子ID1と前記識別子ID2とが同じ利用者を示すときに、前記第一発話の発話者と、前記第二発話の発話者とが一致していると判定し、
前記第一発話の発話者と前記第二発話の発話者とが一致する場合に、前記特徴量O1を用いて前記第一発話用登録話者データ記憶部に登録された前記特徴量O'1を更新し、前記特徴量O2を用いて前記第二発話用登録話者データ記憶部に登録された前記特徴量O'2を更新する話者データ更新ステップを含む、
音声入力方法。
【請求項７】
請求項５の音声入力方法であって、
前記第一発話の発話者と前記第二発話の発話者とが一致する場合に、前記特徴量O1を用いて前記第一発話用登録話者データ記憶部に登録された前記特徴量O'1を更新し、前記特徴量O2を用いて前記第二発話用登録話者データ記憶部に登録された前記特徴量O'2を更新する話者データ更新ステップを含む、
音声入力方法。
【請求項８】
請求項１から請求項４の何れかの音声入力装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声でコマンド(コンピュータに特定の機能を実行させるための指示)を入力(以下、「音声コマンド入力」ともいう)する技術に関する。
【背景技術】
【０００２】
音声コマンド入力の従来技術として非特許文献１が知られている。非特許文献１では、音声コマンド入力を開始するためにボタンを押してマイクをONにする代わりに、マイクは常時ONのままで、事前に決められた特定の発話（以下、この発話を第一発話ともいう）をすると、音声コマンド入力（以下、音声コマンド入力に対応する発話を第二発話ともいう）の待ち状態となる。例えば、非特許文献１では"OK Google(登録商標)"という発話を第一発話として用いる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Guoguo Chen, et al, "SMALL-FOOTPRINT KEYWORD SPOTTING USING DEEP NEURAL NETWORKS", Acoustics, Speech and Signal Processing (ICASSP), 2014 IEEE International Conference, pp.4087 - 4091.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、本来の利用者(第一発話の発話者)と、同一空間において会話をしている他者(第一発話の発話者以外の者)の発話を、音声入力装置が第二発話として認識する場合がある。その場合、本来の利用者(第一発話の発話者)が意図していたコマンドとは異なるコマンドが、音声入力装置に誤入力されてしまうという問題がある。
【０００５】
本発明は、本来の利用者が意図していたコマンドとは異なるコマンドが、誤入力されてしまうことを防ぐことができる音声入力装置、その方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様によれば、音声入力装置は、入力音声データから特定の発話からなる第一発話を検知する第一発話検知部と、第一発話を検知した場合、利用者に対して第二発話の入力を指示する第二発話入力指示部と、第二発話の入力を指示した後の発話である第二発話を音声認識する音声認識部と、第一発話の発話者と、第二発話の発話者とが一致する場合、音声認識の結果を出力する出力判定部とを含む。
【０００７】
上記の課題を解決するために、本発明の他の態様によれば、音声入力装置が行う音声入力方法は、入力音声データから特定の発話からなる第一発話を検知する第一発話検知ステップと、第一発話を検知した場合、利用者に対して第二発話の入力を指示する第二発話入力指示ステップと、第二発話の入力を指示した後の発話である第二発話を音声認識する音声認識ステップと、第一発話の発話者と、第二発話の発話者とが一致する場合、音声認識の結果を出力する出力判定ステップとを含む。
【発明の効果】
【０００８】
本発明によれば、本来の利用者が意図していたコマンドとは異なるコマンドが、誤入力されてしまうことを防ぐことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】第一実施形態に係る音声入力装置の機能ブロック図。
【図２】第一実施形態に係る音声入力装置の処理フローの例を示す図。
【図３】第一実施形態に係る音声入力装置の処理フローの例を示す図。
【図４】第一実施形態に係る話者データ登録更新部の機能ブロック図。
【図５】第一実施形態に係る話者識別部の機能ブロック図。
【図６】第一実施形態の変形例に係る音声入力装置の機能ブロック図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００１１】
＜第一実施形態＞
図１は第一実施形態に係る音声入力装置１００の機能ブロック図を、図２及び図３はその処理フローを示す。
【００１２】
音声入力装置１００は、入力受付部１１０、話者データ登録更新部１２０、第一発話検知部１３１、第一発話音声記憶部１３２、第二発話入力指示部１３３、音声認識部１４１、第二発話音声記憶部１４２、第二発話テキスト記憶部１４３、話者識別部１５０及び出力判定部１６０を含む。
【００１３】
第一実施形態に係る音声入力装置１００は、音声データを入力とし、後段の何らかのシステムに対して音声コマンドを出力して、音声コマンド入力を実現する情報処理装置である。
【００１４】
音声入力装置１００は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な情報処理装置である。
【００１５】
音声入力装置１００は、例えば、中央演算処理装置の制御のもとで各処理を実行する。音声入力装置１００に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、音声入力装置１００の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００１６】
この音声入力装置１００が後述する各ステップの処理を行うことにより実施形態の音声コマンド入力が実現される。
【００１７】
入力部１は、利用者の発話をスマートフォン等が取得するためのインターフェースである。言い換えれば、入力部１は、利用者が発話をスマートフォン等へ入力するためのインターフェースである。例えば、入力部１は利用者の発話音声を収音して音声データとするマイクロホンである。入力部１で収音した利用者の発話音声の音声データは、入力受付部１１０へ入力される。
【００１８】
出力部５は、音声入力装置１００または音声コマンドを受け取った後段の何らかのシステムが生成した内容を利用者へ提示するためのインターフェースである。
【００１９】
例えば、入力部１はスマートフォンが備えるマイクロホン等であり、出力部５はスマートフォンが備える液晶ディスプレイやスピーカ等である。
【００２０】
入力部１及び出力部５を備えるスマートフォンと音声入力装置１００とは通信回線等を介して通信可能とする。
【００２１】
＜入力受付部１１０＞
入力受付部１１０は、入力部１で収音した利用者の発話音声の音声データと制御信号とを受け付け、制御信号に基づき、音声データを第一発話検知部１３１、または、音声認識部１４１に出力する。
【００２２】
例えば、制御信号は第一発話の検知前か検知後かを直接的に又は間接的に示す信号であり、後述する第一発話検知部１３１がこの制御信号を入力受付部１１０に出力する。なお、第一発話の検知前か検知後かを間接的に示す信号とは、例えば、後述する第二発話入力指示部１３３は、利用者に対して第二発話の入力を指示するために、第一発話の検知後に出力部５に制御信号等を出力するが、この制御信号等を受け取り、第一発話が検知後であることを間接的に示す信号として利用してもよい。
【００２３】
例えば、制御信号が、第一発話の検知前であること示す場合、音声データを第一発話検知部１３１に出力する。一方、第一発話の検知後であること示す場合、音声データを音声認識部１４１に出力する。
【００２４】
＜話者データ登録更新部１２０＞
図４は、話者データ登録更新部１２０の機能ブロック図を示す。話者データ登録更新部１２０は、話者データ登録部１２１、第一発話用登録話者データ記憶部１２２、第二発話用登録話者データ記憶部１２３、話者データ更新部１２４を含む。
【００２５】
（話者データ登録部１２１、第一発話用登録話者データ記憶部１２２及び第二発話用登録話者データ記憶部１２３）
話者データ登録部１２１は、音声データと話者ID(音声データの話者を一意に特定するための識別子)とを入力とし、音声データから話者データを生成し、生成した話者データと話者IDとの組を、第一発話用登録話者データ記憶部１２２と第二発話用登録話者データ記憶部１２３とに登録する。
【００２６】
例えば、話者データは、音声データから得られるデータであって、話者識別を行なう際に用いられるデータである。例えば、話者データは、i-vectorなどの特徴量によって表現される。話者データの登録処理は既存のいかなる登録方法を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、参考文献１の登録方法を用いればよい。
（参考文献１）安藤厚志他、「登録発話分割を用いた短い発話に頑健な話者識別」、日本音響学会講演論文集、p.11-12、2016年.
【００２７】
また、例えば、話者データ登録部１２１は、後述する話者識別部１５０において、話者識別を行なうために、第一発話を含む30秒程度の音声データを入力とし、音声データから話者データを生成する。話者データと話者IDの登録は、利用者それぞれで音声入力処理を行う前に予め行っておき、個別に各記憶部に記憶される。例えば、登録処理中には、登録処理中であることを示す制御信号が入力受付部１１０に入力され、入力受付部１１０は、登録処理中に入力される音声データを話者データ登録更新部１２０に出力する。例えば、利用者は、スマートフォンの入力部１の一部であるマイクロホンを介して、音声データを入力し、スマートフォンの入力部１の一部であるタッチパネルに表示されるソフトウェアキーボードを介して話者IDを入力する。なお、第一発話用登録話者データ記憶部１２２と第二発話用登録話者データ記憶部１２３とに記憶される話者データは同じにしてもよい。なお、話者データ更新部１２４の処理については後述する。
【００２８】
後述する第一発話話者識別部１５１において、音声入力処理時に発せられた第一発話から話者データO1を生成し、この話者データO1と第一発話用登録話者データ記憶部１２２内に登録されている各話者データとのスコア(類似している度合いを示す指標)を計算する。そのため、第一発話用登録話者データ記憶部１２２内に登録されている各話者データを生成する際の音声データには、第一発話が含まれることが望ましい。第一発話を含む音声データから話者データを作成し、第一発話用登録話者データ記憶部１２２に登録することで、話者識別の精度を向上させることができる。例えば、第一発話を3回繰り返し利用者に発話させ、その音声データから話者データを生成する。
【００２９】
また、後述する第二発話話者識別部１５３において、音声入力処理時に発せられた第二発話から話者データO2を生成し、この話者データO2と第二発話用登録話者データ記憶部１２３内に登録されている各話者データとのスコアを計算する。そのため、第二発話用登録話者データ記憶部１２３内に登録されている各話者データを生成する際の音声データには、第二発話が含まれることが望ましい。第二発話を含む音声データから話者データを作成し、第二発話用登録話者データ記憶部１２３に登録することで、話者識別の精度を向上させることができる。なお、第二発話とは、後段の何らかのシステムに渡す音声データ、または、後段の何らかのシステムに渡すテキストデータに対応する音声データである。例えば、利用可能な様々な音声コマンドを第二発話として利用者に発話させ、その音声データから話者データを生成する。
【００３０】
＜第一発話検知部１３１、第一発話音声記憶部１３２＞
第一発話検知部１３１は、制御信号が第一発話の検知前であること示す場合、常時、音声データを受け付ける（Ｓ３）。第一発話検知部１３１は、受け付けた音声データから特定の発話からなる第一発話を検知する（Ｓ４）。第一発話は、事前に決められた特定の発話(キーワード、例えば、"○○さん"等)であり、後段の何らかのシステムを起動するための発話とも言え、後段の何らかのシステムに対する音声コマンド入力を開始することを知らせるための発話とも言える。第一発話検知部１３１は、第一発話を検知した場合（Ｓ４のyesの場合）、第一発話の検知後であること示す制御信号を入力受付部１１０に出力し、検知した第一発話（音声データ）を第一発話音声記憶部１３２に記憶する（Ｓ６）。さらに、第一発話検知部１３１は、第一発話を検知したことを知らせる制御信号を第二発話入力指示部１３３及び話者識別部１５０に出力する。特定の発話を検知する方法は既存のいかなる発話検知技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、第一発話検知部１３１は、非特許文献１の発話検知技術を用いて第一発話を検知する。
【００３１】
＜第二発話入力指示部１３３＞
第二発話入力指示部１３３は、第一発話を検知したことを知らせる制御信号を受け取ると、利用者に対して第二発話の入力を指示する（Ｓ５）。例えば、利用者のスマートフォンの出力部５であるタッチパネルに「音声コマンドを入力してください」と表示したり、スピーカから「音声コマンドを入力してください」との合成音声を再生することで、利用者に対して第二発話の入力を指示する。第二発話入力指示部１３３は、このような表示や再生を行うように利用者のスマートフォンを制御する。第二発話入力指示部１３３は、そのための制御信号や画面情報やテキスト情報とをスマートフォンに出力する。
【００３２】
＜話者識別部１５０＞
図５は、話者識別部１５０の機能ブロック図を示す。話者識別部１５０は、第一発話話者識別部１５１と、第一発話話者ID記憶部１５２と、第二発話話者識別部１５３と、第二発話話者ID記憶部１５４とを含む。
【００３３】
（第一発話話者識別部１５１、第一発話話者ID記憶部１５２）
話者識別部１５０内の第一発話話者識別部１５１は、第一発話を検知したことを知らせる制御信号を受け取ると、第一発話音声記憶部１３２に記憶された第一発話を取り出し、第一発話用登録話者データ記憶部１２２に記憶されている話者データ（第一発話用登録話者音声データ）を参照して、話者識別を行い（Ｓ７）、識別結果の話者IDを第一発話話者ID記憶部１５２に記憶する（Ｓ８）。話者識別技術は既存のいかなる話者識別技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、第一発話話者識別部１５１は、参考文献１の話者識別技術を用いて話者識別を行う。
【００３４】
例えば、第一発話話者識別部１５１は、第一発話音声記憶部１３２に記憶された第一発話から話者データO1を生成する。なお、第一発話から話者データO1を生成する方法は、話者データ登録部１２１で音声データから話者データを生成した方法と同様の方法を用いればよい。さらに、第一発話話者識別部１５１は、生成した話者データO1と第一発話用登録話者データ記憶部１２２に登録されている各話者データとのスコアを計算し、最もスコアの高い話者データO1'を求め、その話者データO1'に対応する話者IDを識別結果の話者ID1として取得し、第一発話話者ID記憶部１５２に記憶する。なお、スコアは二つの話者データが類似している度合いを示すものであり、例えば、コサイン類似度や標準ユークリッド距離、それらの値から得られる値(参考文献１等参照)等を用いることができる。ここでは、二つの話者データのスコアが高いほど、二つの話者データが類似していることを意味するものとする。
【００３５】
＜音声認識部１４１、第二発話音声記憶部１４２、第二発話テキスト記憶部１４３＞
音声認識部１４１は、制御信号が第一発話の検知後であること示す場合、入力受付部１１０から音声データを受け付け（図３のＳ１１）、受け付けた音声データを第二発話音声記憶部１４２に記憶し（Ｓ１２）、さらに、受け付けた音声データに対して音声認識を行い（Ｓ１３）、音声認識結果（テキスト）を第二発話テキスト記憶部１４３に記憶する（Ｓ１４）。なお、この音声データは、第二発話入力指示部１３３において第二発話の入力を指示した後の発話に対する音声データであり、必ずしも第一発話の話者が発した発話に対する音声データとは限らない。以下、この音声データを第二発話ともいう。音声認識の方法は既存のいかなる音声認識技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。音声認識部１４１は、第二発話を記憶したことを知らせる制御信号を話者識別部１５０に出力する。
【００３６】
（第二発話話者識別部１５３、第二発話話者ID記憶部１５４）
話者識別部１５０内の第二発話話者識別部１５３は、第二発話を記憶したことを知らせる制御信号を受け取ると、第二発話音声記憶部１４２に記憶された第二発話を取り出し、第二発話用登録話者データ記憶部１２３に記憶されている話者データ（第二発話用登録話者音声データ）を参照して、話者識別を行い（Ｓ１５）、識別結果の話者IDを第二発話話者ID記憶部１５４に記憶する（Ｓ１６）。話者識別技術は既存のいかなる話者識別技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、第一発話話者識別部１５１と同様の方法により、話者識別を行う。
【００３７】
例えば、第二発話話者識別部１５３は、第二発話音声記憶部１４２に記憶された第二発話から話者データO2を生成する。なお、第二発話から話者データO2を生成する方法は、話者データ登録部１２１で音声データから話者データを生成した方法と同様の方法を用いればよい。さらに、第二発話話者識別部１５３は、生成した話者データO2と第二発話用登録話者データ記憶部１２３に登録されている各話者データとのスコアを計算し、最もスコアの高い話者データO2'を求め、その話者データO2'に対応する話者IDを識別結果の話者ID2として取得し、第二発話話者ID記憶部１５４に記憶する。第二発話話者識別部１５３は、第二発話の話者を識別したことを知らせる制御信号を出力判定部１６０に出力する。
【００３８】
＜出力判定部１６０＞
出力判定部１６０は、第二発話の話者を識別したことを知らせる制御信号を受け取ると、第一発話の発話者と第二発話の発話者とが一致するか否かを判定し（Ｓ１７）、一致する場合には、話者IDと共に、音声認識の結果を後段の何らかのシステムに対して出力する（Ｓ１８）。なお、音声認識の結果が、前述の音声コマンドに相当する。例えば、出力判定部１６０は、第一発話話者ID記憶部１５２から話者ID1を取り出し、第二発話話者ID記憶部１５４から話者ID2を取り出し、話者ID1と話者ID2とが同じ利用者を示すときに第一発話の発話者と第二発話の発話者とが一致すると判定する。さらに、出力判定部１６０は、第一発話の話者と第二発話の話者とが一致したことを示す制御信号を話者データ更新部１２４に出力する。
【００３９】
なお、第一発話の発話者と第二発話の発話者とが一致しない場合、出力判定部１６０は、第一発話の話者と第二発話の話者とが一致しないことを示す制御信号を第二発話入力指示部１３３に出力し、第二発話入力指示部１３３は、再度、利用者に対して第二発話の入力を指示する（Ｓ５）。例えば、利用者のスマートフォンの出力部５であるタッチパネルに「音声が認識できませんでした。再度、音声コマンドを入力してください」と表示したり、スピーカから「音声が認識できませんでした。再度、音声コマンドを入力してください」との合成音声を再生することで、利用者に対して第二発話の入力を指示する。第二発話入力指示部１３３は、このような表示や再生を行うように利用者のスマートフォンを制御する。以降、Ｓ６〜Ｓ８は行わずに、Ｓ１１〜Ｓ１７の処理を繰り返す。なお、第一発話の発話者と第二発話の発話者とが一致しない場合には、第二発話音声記憶部１４２に記憶された音声データ(第二発話の入力を指示した後の発話に対する音声データ)、第二発話テキスト記憶部１４３に記憶された音声認識結果（第二発話の入力を指示した後の発話に対する音声データに対応する音声認識結果（テキスト））、第二発話話者ID記憶部１５４に記憶された識別結果の話者IDを削除してもよい。
【００４０】
（話者データ更新部１２４）
話者データ更新部１２４は、第一発話の話者と第二発話の話者とが一致したことを示す制御信号を受け取ると、その話者IDに対応する第一発話の話者データO1及び第二発話の話者データO2を、それぞれ第一発話音声記憶部１３２及び第二発話音声記憶部１４２から取り出し、第一発話用登録話者データ記憶部１２２及び第二発話用登録話者データ記憶部１２３内の話者データO1'、O2'をそれぞれ更新する（Ｓ１９）。なお、第二発話用登録話者データ記憶部１２３内の話者データO2'を更新する際には、話者データO2に加えて、話者データO1も用いて、話者データO2'を更新してもよい。
【００４１】
＜効果＞
以上の構成により、同一話者性を考慮することで、不用意に入力された第二発話を棄却することができ、本来の利用者が意図していたコマンドとは異なるコマンドが、誤入力されてしまうことを防ぐことができる。
【００４２】
＜第一変形例＞
第一実施形態と異なる部分を中心に説明する。
【００４３】
そもそも話者の同一性判定だけが必要であれば話者識別ではなく、第一発話と第二発話の類似性を見ることで判断することもできる。参考文献２にあるように、各発話より混合正規分布モデルを求め、そのモデル間距離の小さければ同一話者であるとの判定も可能である。
(参考文献２)特開２０１０−３２７９２号公報
ただし、この場合、登録話者データの事前登録も必要はないが、話者IDは出力されない。
【００４４】
図６は、この変形例における機能ブロック図を示す。この変形例の場合、話者データ登録更新部１２０を含まなくともよく、話者データ登録更新部１２０、話者識別部１５０に係る処理Ｓ７，Ｓ８，Ｓ１５，Ｓ１６，Ｓ１９を省略してもよい。
【００４５】
第一発話検知部１３１は、第一発話を検知したことを知らせる制御信号を、話者識別部１５０には出力せず、第二発話入力指示部１３３のみに出力する。
【００４６】
音声認識部１４１は、第二発話を記憶したことを知らせる制御信号を、話者識別部１５０ではなく、出力判定部１６０に出力する。
【００４７】
出力判定部１６０は、第二発話を記憶したことを知らせる制御信号を受け取ると、第一発話の発話者と第二発話の発話者とが一致するか否かを判定し（Ｓ１７）、一致する場合には、話者IDを出力せずに、音声認識の結果のみを後段の何らかのシステムに対して出力する（Ｓ１８）。例えば、出力判定部１６０は、第一発話音声記憶部１３２から第一発話の音声データを取り出し、第一発話の音声データの混合正規分布モデルを求める。第二発話音声記憶部１４２から第二発話の音声データを取り出し、第二発話の音声データの混合正規分布モデルを求める。出力判定部１６０は、二つの混合正規分布モデルのモデル間距離を求め、求めたモデル間距離が所定の閾値より小さい場合に第一発話の発話者と第二発話の発話者とが一致すると判定し、求めたモデル間距離が所定の閾値以上の場合に第一発話の発話者と第二発話の発話者とが一致しないと判定する。出力判定部１６０は、第一発話の話者と第二発話の話者とが一致したことを示す制御信号を話者データ更新部１２４に出力しなくともよい。
【００４８】
出力判定部１６０は、他の方法により、第一発話の発話者と第二発話の発話者とが一致するか否かを判定してもよい。例えば、出力判定部１６０は、第一発話音声記憶部１３２から第一発話の音声データを取り出し、第一発話の音声データの話者データ(i-vector等)を求め、第二発話音声記憶部１４２から第二発話の音声データを取り出し、第二発話の音声データの話者データを求める。出力判定部１６０は、二つの話者データのスコアを計算し、スコアが所定の閾値以上の場合に第一発話の発話者と第二発話の発話者とが一致すると判定し、スコアが所定の閾値より小さい場合に第一発話の発話者と第二発話の発話者とが一致しないと判定する。なお、スコアは第一実施形態で用いたものと同じものであり、二つの話者データが類似している度合いを示すものである。
【００４９】
このような構成により、第一実施形態と同様に本来の利用者が意図していたコマンドとは異なるコマンドが、誤入力されてしまうことを防ぐことができる。
【００５０】
＜その他の変形例＞
第一実施形態では、話者データ更新部１２４は、第一発話の話者と第二発話の話者とが一致したことを示す制御信号を受け取ると、第一発話用登録話者データ記憶部１２２及び第二発話用登録話者データ記憶部１２３内の話者データO1'、O2'をそれぞれ更新しているが、更新処理Ｓ１９を省略し、登録時の話者データO1'、O2'を更新せずに利用し続けてもよい。
【００５１】
第一実施形態では、第一発話の発話者と第二発話の発話者とが一致しない場合、出力判定部１６０は、第一発話の話者と第二発話の話者とが一致しないことを示す制御信号を第二発話入力指示部１３３に出力し、第二発話入力指示部１３３は、再度、利用者に対して第二発話の入力を指示している。しかし、このような再入力の指示を利用者に対して行わずに、音声入力処理を終了してもよい。
【００５２】
第一実施形態では、入力受付部１１０は、制御信号が、第一発話の検知前であること示す場合、音声データを第一発話検知部１３１に出力し、第一発話の検知後であること示す場合、音声データを音声認識部１４１に出力している。しかし、入力受付部１１０は、制御信号が、第一発話の検知後であること示す場合、音声データを第一発話検知部１３１及び音声認識部１４１に出力する構成としてもよい。この場合、第一発話検知部１３１では、常時、音声データを受け付け、第一発話を検知する。
【００５３】
また、本実施形態では、音声入力装置１００は、後段の何らかのシステムに対して音声コマンドを出力しているが、音声コマンドに限定されない。第一発話の話者と第二発話の話者とが一致することが要求されるシステム全般に適用可能であり、音声入力装置１００は、第二発話の音声データそのものや、第二発話の音声データから得られる特徴量等を出力してもよい。
【００５４】
また、本実施形態では、音声データを入力としているが、音声データから得られる特徴量等を入力としてもよい。
【００５５】
本実施形態では、話者データと話者IDとの組を第一発話用登録話者データ記憶部１２２と第二発話用登録話者データ記憶部１２３とに登録する際に、話者IDを利用者がソフトウェアキーボードを介して入力する例を示したが、他の方法により、話者IDを取得し、登録してもよい。例えば、音声入力装置１００の内部、例えば、話者データ登録部１２１は、音声データが入力されると、その音声データに対して、自動的に話者IDを作成し、付与する構成としてもよい。例えば、登録順に1,2,…と話者IDを付与する。
【００５６】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００５７】
本実施形態では、第一発話と第二発話とが同一話者の場合、同じ位置から発生する場合が多いことを判定に利用する。同じ位置から第一発話と第二発話とが発生した場合、音声の残響時間や音量が同程度になると考えられる。そこで、本実施形態では、第一発話と第二発話の音声の残響時間や音量が同程度か否かを加味することで、話者同一であるかの判定精度を高める。
【００５８】
第一発話話者識別部１５１、第二発話話者識別部１５３及び出力判定部１６０の処理内容が第一実施形態とは異なる。
【００５９】
（第一発話話者識別部１５１、第一発話話者ID記憶部１５２）
話者識別部１５０内の第一発話話者識別部１５１は、第一発話を検知したことを知らせる制御信号を受け取ると、第一発話音声記憶部１３２に記憶された第一発話を取り出し、第一発話用登録話者データ記憶部１２２に記憶されている話者データ（第一発話用登録話者音声データ）を参照して、話者識別を行う（Ｓ７）。また、第一発話話者識別部１５１は、第一発話の残響時間R1を算出する。残響時間算出の方法は既存のいかなる残響時間推定技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、参考文献３の残響時間推定技術を用いて残響時間R1を求めればよい。
(参考文献３)特開２００９−２１１０２１号公報
また、第一発話話者識別部１５１は、第一発話の音量(パワー)P1を算出する。第一発話話者識別部１５１は、最もスコアの高い話者データに対応する識別結果の話者ID1、話者識別を行った際のスコアS1、残響時間R1、音量(パワー)P1を第一発話話者ID記憶部１５２に記憶する（Ｓ８）。
【００６０】
同様の処理を第二発話話者識別部１５３においても行う。
【００６１】
（第二発話話者識別部１５３、第二発話話者ID記憶部１５４）
話者識別部１５０内の第二発話話者識別部１５３は、第二発話を記憶したことを知らせる制御信号を受け取ると、第二発話音声記憶部１４２に記憶された第二発話を取り出し、第二発話用登録話者データ記憶部１２３に記憶されている話者データ（第二発話用登録話者音声データ）を参照して、話者識別を行う（Ｓ１５）。また、第二発話話者識別部１５３は、第二発話の残響時間R2を算出する。また、第二発話話者識別部１５３は、第二発話の音量(パワー)P2を算出する。第二発話話者識別部１５３は、最もスコアの高い話者データに対応する識別結果の話者ID2、話者識別を行った際のスコアS2、残響時間R2、音量(パワー)P2を第二発話話者ID記憶部１５４に記憶する（Ｓ１６）。第二発話話者識別部１５３は、第二発話の話者を識別したことを知らせる制御信号を出力判定部１６０に出力する。
【００６２】
＜出力判定部１６０＞
出力判定部１６０は、第二発話の話者を識別したことを知らせる制御信号を受け取ると、第一発話の発話者と第二発話の発話者とが一致するか否かを判定し（Ｓ１７）、一致する場合には、話者IDと共に、音声認識の結果を後段の何らかのシステムに対して出力する（Ｓ１８）。さらに、出力判定部１６０は、第一発話の話者と第二発話の話者とが一致したことを示す制御信号を話者データ更新部１２４に出力する。
【００６３】
例えば、出力判定部１６０は、第一発話話者ID記憶部１５２から第一発話の話者ID1、話者識別を行った際のスコアS1、残響時間R1、音量(パワー)P1を取り出し、第二発話話者ID記憶部１５４から第二発話話者ID2、話者識別を行った際のスコアS2、残響時間R2、音量(パワー)P2を取り出し、話者ID1と話者ID2とが同じ利用者を示し、かつ、次式により得られる出力判定スコアOが所定の閾値よりも大きいときに第一発話の発話者と、第二発話の発話者とが一致していると判定する。
O=(αS1+S2)-β|R1-R2|-γ|P1-P2|
ただし、αは第一発話に対する重みであり、第一発話の識別精度が第二発話の識別精度よりも高く信頼できると想定し、1以上の数字を設定する。また、β、γは残響時間差もしくは音量差に対する重みであり、それぞれ0から1までの数字を設定する。
【００６４】
第一発話の話者と第二発話の話者とが一致しないと判定した場合(話者ID1と話者ID2とが異なる利用者を示す場合、または、出力判定スコアOが所定の閾値未満の場合)、出力判定部１６０は、第一発話の話者と第二発話の話者とが一致しないことを示す制御信号を第二発話入力指示部１３３に出力し、第二発話入力指示部１３３は、再度、利用者に対して第二発話の入力を指示する（Ｓ５）。
【００６５】
＜効果＞
このような構成とすることで、第一実施形態と同様の効果を得ることができる。さらに、このように話者の同一性だけでなく、発話位置に関する特徴量を考慮することで、同一性判定の精度を高めることができる。
【００６６】
＜変形例＞
本実施形態では、出力判定部１６０において、話者ID1と話者ID2とが同じ利用者を示し、かつ、出力判定スコアOが所定の閾値よりも大きいときに第一発話の発話者と、第二発話の発話者とが一致していると判定しているが、話者IDを用いずに出力判定スコアOのみを用いて、第一発話の発話者と、第二発話の発話者とが一致しているか否かを判定してもよい。この場合、出力判定部１６０は、第一発話の話者ID1と第二発話の話者ID2とを必要としない。そのため、第一発話話者識別部１５１は、少なくとも話者識別を行った際のスコアS1、残響時間R1、音量(パワー)P1を第一発話話者ID記憶部１５２に記憶すればよい。ただし、最もスコアの高い話者データに対応するスコアS1、残響時間R1、音量(パワー)P1ではなく、全ての利用者のスコアS1、残響時間R1、音量(パワー)P1を第一発話話者ID記憶部１５２に記憶する必要がある。同様に、第二発話話者識別部１５３は、全ての利用者の、少なくとも話者識別を行った際のスコアS2、残響時間R2、音量(パワー)P2を第二発話話者ID記憶部１５４に記憶すればよい。出力判定部１６０は、全ての利用者に対する出力判定スコアOをそれぞれ算出する。さらに、出力判定部１６０は、出力判定スコアOの最大値が所定の閾値よりも大きいときに第一発話の発話者と、第二発話の発話者とが一致していると判定する。
【００６７】
また、本実施形態と第一実施形態の変形例とを組合せてもよい。例えば、第一実施形態の第一変形例と本実施形態とを組み合わせた場合、出力判定部１６０では、以下のように、処理を行ってもよい。
【００６８】
出力判定部１６０は、第一発話音声記憶部１３２から第一発話の音声データを取り出し、第一発話の音声データの話者データ(i-vector等)を求め、第二発話音声記憶部１４２から第二発話の音声データを取り出し、第二発話の音声データの話者データを求める。出力判定部１６０は、二つの話者データのスコアを計算し、スコアが所定の閾値以上であって、かつ、次式により得られる出力判定スコアOが所定の閾値よりも大きいときに第一発話の発話者と、第二発話の発話者とが一致していると判定する。
O=-β|R1-R2|-γ|P1-P2|
【００６９】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００７０】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００７１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００７２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００７３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７４】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006571587.tif 000002
【図２】
0006571587.tif 000003
【図３】
0006571587.tif 000004
【図４】
0006571587.tif 000005
【図５】
0006571587.tif 000006
【図６】
0006571587.tif 000007