(57)【要約】【課題】より少ないデータで話者登録をより効率的に実行可能とする。【解決手段】話者モデル作成システムは、拡張部と作成部とを備える。拡張部は、入力層から所定の中間層までのネットワークパラメータの一部を複数のパターンに基づいて変更し、複数のパターンに対応する変更後のニューラルネットワークそれぞれに対して１つの音声を入力することにより中間層から複数の出力を得る。作成部は、複数の出力に基づいて、音声から検出された単語に対する話者モデルを作成する。【選択図】図２
2019219574.tif 000002
【特許請求の範囲】
【請求項１】
入力層から所定の中間層までのネットワークパラメータの一部を複数のパターンに基づいて変更し、複数の前記パターンに対応する変更後のニューラルネットワークそれぞれに対して１つの音声を入力することにより前記中間層から複数の出力を得る拡張部と、
複数の前記出力に基づいて、前記音声から検出された単語に対する話者モデルを作成する作成部と、
を備える話者モデル作成システム。
【請求項２】
前記作成部は、複数の前記出力の平均および分散で表されるガウス分布を前記話者モデルとして作成する、
請求項１に記載の話者モデル作成システム。
【請求項３】
前記作成部は、話者の音声および複数の前記出力を用いる学習により前記話者モデルを作成する、
請求項１に記載の話者モデル作成システム。
【請求項４】
前記作成部は、前記単語に含まれる部分区間ごとに前記話者モデルを作成する、
請求項１に記載の話者モデル作成システム。
【請求項５】
前記拡張部は、前記入力層から前記中間層までのネットワークパラメータのうち一部の重みを変更する、
請求項１に記載の話者モデル作成システム。
【請求項６】
前記拡張部は、前記入力層から前記中間層までのネットワークパラメータのうち一部のバイアスにランダム値を加算する、
請求項１に記載の話者モデル作成システム。
【請求項７】
前記ネットワークパラメータは、前記入力層から前記中間層までの各層への入力値に対してバイアス項パラメータを含み、
前記拡張部は、一部のバイアス項パラメータにランダム値を加算する、
請求項１に記載の話者モデル作成システム。
【請求項８】
音声を受け付け、特徴量に変換する音声取得部と、
前記特徴量をニューラルネットワークに入力し、前記特徴量が予め定められた単語に対応する確からしさを表すスコアを算出する算出部と、
前記スコアを用いて前記音声から前記単語を検出する検出部と、をさらに備える、
請求項１に記載の話者モデル作成システム。
【請求項９】
前記スコアの算出に用いられるニューラルネットワークは、前記拡張部がネットワークパラメータを変更するニューラルネットワークと同じである、
請求項８に記載の話者モデル作成システム。
【請求項１０】
前記スコアの算出に用いられるニューラルネットワークは、前記拡張部がネットワークパラメータを変更するニューラルネットワークとは異なる、
請求項８に記載の話者モデル作成システム。
【請求項１１】
音声を受け付け、特徴量に変換する音声取得部と、
前記特徴量をニューラルネットワークに入力し、前記特徴量が予め定められた単語に対応する確からしさを表すスコアを算出する算出部と、
前記スコアを用いて前記音声から前記単語を検出する検出部と、
入力層から所定の中間層までのネットワークパラメータの一部を複数のパターンに基づいて変更し、複数の前記パターンに対応する変更後のニューラルネットワークそれぞれに対して１つの前記音声を入力することにより前記中間層から複数の出力を得る拡張部と、
複数の前記出力に基づいて、検出された前記単語に対する話者モデルを作成する作成部と、
前記話者モデルを用いて話者を認識する認識部と、
を備える認識システム。
【請求項１２】
前記認識部は、認識のために入力される音声に対する前記中間層の出力を前記話者モデルに入力することにより話者を認識する、
請求項１１に記載の認識システム。
【請求項１３】
コンピュータを、
入力層から所定の中間層までのネットワークパラメータの一部を複数のパターンに基づいて変更し、複数の前記パターンに対応する変更後のニューラルネットワークそれぞれに対して１つの音声を入力することにより前記中間層から複数の出力を得る拡張部と、
複数の前記出力に基づいて、前記音声から検出された単語に対する話者モデルを作成する作成部と、
として機能させるためのプログラム。
【請求項１４】
ユーザの発話を取得して、所定の単語を検出する検出部と、
前記ユーザが予め決められたユーザである場合に、前記単語に設定された制御命令を出力する出力部と、
を備える制御装置。
【請求項１５】
前記出力部は、前記ユーザの音声および当該音声の学習によって得られる話者モデルを用いて予め決められたユーザか否かを決定する、
請求項１４に記載の制御装置。
【請求項１６】
前記話者モデルは、前記ユーザの音声および拡張したモデルから得られる複数の出力を用いる学習により作成する、
請求項１５に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、話者モデル作成システム、認識システム、プログラムおよび制御装置に関する。
【背景技術】
【０００２】
ユーザの音声からキーワードを検出し、検出されたキーワードに対して登録した話者のうち、どの話者が発声したキーワードかを特定する話者認識機能を有する様々な機器が提案されている。ユーザは、ユーザによる音声でキーワードを登録し、キーワードを発声するだけで、機器に対してユーザを認識させ、そのユーザに合わせた所望の動作を行わせることができる。また、ニューラルネットワークを用いた話者認識が高精度に動作することが報告されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６−５０９２５４号公報
【特許文献２】特開２０１６−１７７４７４号公報
【非特許文献】
【０００４】
【非特許文献１】Ehsan  Variani，  Xin  Lei,  Erik  McDermott，  Ignacio  Lopez  Moreno，  Javier  Gonzalez−Dominguez、”DEEP  NEURALWORKS  FOR  SMALL  FOOTPRINT  TEXT−DEPENDENT  SPEAKER  VERIFICATION，”  in  Proc．  ICASSP，  2014．
【非特許文献２】David  Snyder，  Daniel  Garcia−Romero，  Gregory  Sell，  Daniel  Povey，  Sanjeev  Khudanpur，  ”X−VECTORS：  ROBUST  DNN  EMBEDDINGS  FOR  SPEAKER  RECOGNITION，”  in  Proc．  ICSASP，  2018．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のニューラルネットワークを用いた話者認識では、話者の音声キーワードの登録処理（エンロールメント）に多くの入力音声（発声）を準備する必要があった。
【課題を解決するための手段】
【０００６】
実施形態の話者モデル作成システムは、拡張部と作成部とを備える。拡張部は、入力層から所定の中間層までのネットワークパラメータの一部を複数のパターンに基づいて変更し、複数のパターンに対応する変更後のニューラルネットワークそれぞれに対して１つの音声を入力することにより中間層から複数の出力を得る。作成部は、複数の出力に基づいて、音声から検出された単語に対する話者モデルを作成する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかる認識システムのブロック図。
【図２】第１の実施形態にかかる認識装置のブロック図。
【図３】第１の実施形態におけるモデル作成処理のフローチャート。
【図４】モデル作成処理の具体例を示す図。
【図５】第１の実施形態における認識処理のフローチャート。
【図６】第２の実施形態にかかる認識システムのブロック図。
【図７】第２の実施形態にかかるクライアントのハードウェア構成図。
【図８】変形例で用いる指定画面の一例を示す図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる話者モデル作成システム、認識システムおよびプログラムの好適な実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
従来の話者認識技術の具体例について説明する。例えば特許文献１では、ある機器で話者のキーワード音声（検出対象となるキーワードを発声した音声）から話者モデルを作成する際に、登録する複数の話者のキーワード音声を用いて話者ごとに新たなニューラルネットワークの出力ノードを生成して学習し、認識時には話者ごとのネットワークパラメータを用いて話者の尤度を算出し、認識する方法が提案されている。この方法によれば、ニューラルネットワークを用いて、キーワード検出などに必要な音韻の尤度の算出と話者の認識とを同時に行うことができる。しかし、この方法では、話者を登録するごとにニューラルネットワークのパラメータが増加するため、計算量が増える。また、同時に複数の話者のキーワード音声を用いる必要がある。
【００１０】
非特許文献２の技術では、キーワード音声に、予め定められた音楽などのノイズ音を重畳、または、残響を畳み込むことによってシミュレーション音声を作成し、ニューラルネットワークを用いた話者認識特徴量を作成することによって話者登録のロバスト性を向上させている。しかし、この方法では、予め決められたノイズおよび残響による変化を与えるため、元々ノイズや残響が入った入力音声に対して不自然な音声が作成される可能性がある。また、重畳するノイズを定めたノイズファイルなどを記憶しておく必要がある。また、音声データを作成し直す必要があるため、話者登録の効率が低下する。
【００１１】
また、ニューラルネットワークを用いたキーワードに基づく話者認識では、音韻の認識（キーワードの検出）と話者認識とを同時に行うために複数のニューラルネットワークを用いるため、計算量が多くなるという問題があった。また、話者登録の効率性に問題があった。
【００１２】
そこで第１の実施形態にかかる認識システムは、キーワード検出に特化したニューラルネットワークの所定の中間層の出力を話者認識のための特徴量（話者認識特徴量）として用いる。さらに、このニューラルネットワークの入力層から該当中間層までのネットワークパラメータの一部を複数パターンで変更することにより、１つの入力音声に対する特徴量を複数に拡張し、拡張した特徴量を用いて話者認識のためのモデル（話者モデル）を作成する。認識時には、認識対象となる入力音声をニューラルネットワークに入力してキーワード検出を行うとともに、該当中間層の出力を話者認識の特徴量とし、特徴量と話者モデルとを用いて話者認識を行う。
【００１３】
これにより、より少ないデータで話者登録をより効率的に実行可能となる。また、キーワード検出用の１つのニューラルネットワークのみを用いることができるため、より少ない演算量で、様々なキーワードの検出とそのキーワードに対する話者認識が実行可能となる。
【００１４】
なお、認識機能を備えず、話者モデルの作成機能までを備えた話者モデル作成システムとしてシステムを実現してもよい。話者には、人だけでなく、動物および音声を発する機器（ロボットなど）などの音源を含んでもよい。
【００１５】
第１の実施形態では、例えば携帯電話、携帯端末、および、パーソナルコンピュータなどのように物理的に１つの装置として認識システムを実現した例を示す。
【００１６】
図１は、第１の実施形態の認識システムとしての認識装置１００のシステム構成の一例を示すブロック図である。認識装置１００は、ＣＰＵ（Central  Processing  Unit）１０１、システムコントローラ１０２、主メモリ１０３、ＬＣＤ（Liquid  Crystal  Display）１０４、ＢＩＯＳ−ＲＯＭ（Basic  Input  Output  System−Read  Only  Memory）１０５、不揮発性メモリ１０６、マイクロホン１０７、通信デバイス１０８、キーボード１０９、ポインティングデバイス１１０、および、エンベデッドコントローラ（ＥＣ）１１１等を備える。
【００１７】
ＣＰＵ１０１は、認識装置１００内の様々なコンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）２０１、および、様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、認識プログラム２０２が含まれている。この認識プログラム２０２は、音声データから話者を認識するための命令群を含んでいる。
【００１８】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１９】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラが内蔵されている。また、システムコントローラ１０２には、認識装置１００のディスプレイモニタとして使用されるＬＣＤ１０４を制御する表示コントローラも内蔵されている。この表示コントローラによって生成される表示信号はＬＣＤ１０４に送られる。ＬＣＤ１０４は、表示信号に基づいて画面イメージを表示する。
【００２０】
また、システムコントローラ１０２はオーディオコーデックを内蔵する。オーディオコーデックは、マイクロホン１０７を制御するように構成されている。オーディオコーデックは、マイクロホン１０７によって集音された音声に基づく音声信号（デジタル処理された音声波形を表すデータ列。以下、音声波形と称する。）を生成する。
【００２１】
通信デバイス１０８は、有線通信および無線通信の少なくとも一方を実行するように構成されたデバイスである。通信デバイス１０８は、信号を送信する送信部と、信号を受信する受信部とを含む。
【００２２】
キーボード１０９およびポインティングデバイス１１０は、ユーザによる入力のためのデバイスである。ポインティングデバイス１１０は、マウス、タッチパッド、および、タッチパネルのような、ＬＣＤ１０４の画面上の点および点の動きを検出するためのデバイスである。
【００２３】
ＥＣ１１１は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１１１は、ユーザによるパワーボタンの操作に応じて認識装置１００を電源オンまたは電源オフする機能を有している。
【００２４】
上記構成による認識装置１００は、音声波形から検出対象となるキーワードの音声部分を検索し、検索された音声部分を用いて、検出対象となるキーワードを発声した話者を認識する。この認識装置１００を搭載する機器は、認識された話者に応じて動作を行うアプリケーションを搭載している。このように、話者の音声を受け付けて動作する機器に搭載される認識装置１００には、常時音声を受け付け、キーワードを検出し、検出したキーワードに対して正確な話者認識が要求され、低電力および低計算量で動作するものが望まれる。また、ユーザがストレスを感じることなく快適に機器を動作させるためには、話者のキーワードに対する話者登録の回数を減らす必要がある。
【００２５】
次に、認識装置１００の機能構成例について説明する。図２は、第１の実施形態にかかる認識装置１００の機能構成の一例を示すブロック図である。図２に示すように、認識装置１００は、記憶部１２１、１２２と、音声取得部１３１と、算出部１３２と、検出部１３３と、拡張部１３４と、作成部１３５と、認識部１３６と、を備えている。
【００２６】
記憶部１２１、１２２は、それぞれニューラルネットワークおよび話者モデルを記憶する記憶装置である。記憶部１２１、１２２は、フラッシュメモリ、メモリカード、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。記憶部１２１、１２２は、物理的に異なる記憶媒体としてもよいし、物理的に同一の記憶媒体の異なる記憶領域として実現してもよい。さらに記憶部１２１、１２２のそれぞれは、物理的に異なる複数の記憶媒体により実現してもよい。なお、ニューラルネットワークとは数学的なモデルの１つで、学習によってパラメータ（重みやバイアス等）を調整し、例えば音声の認識に用いる。
【００２７】
音声取得部１３１は、処理対象とする音声データ（入力音声）を取得する。例えば音声取得部１３１は、音声を受け付け、受け付けた音声を特徴量に変換して出力する。
【００２８】
算出部１３２は、特徴量をニューラルネットワークに入力し、特徴量が予め定められた単語に対応する確からしさを表すスコアを算出する。なお単語は、音声から抽出される音素および音節などの単位であり、以下ではキーワードという場合がある。例えば、認識する話者の発話中に含まれる母音だけを抽出し、抽出結果をキーワードとして認識させてもよい。
【００２９】
検出部１３３は、算出されたスコアを用いて、入力音声から予め定められたキーワードを検出する。例えば検出部１３３は、算出されたスコアと、キーワードごとに定められた閾値とを比較し、閾値を超えた場合に、その閾値に対応するキーワードを検出する。
【００３０】
拡張部１３４は、話者モデルの作成に用いるデータを拡張するための処理を行う。例えば拡張部１３４は、ニューラルネットワークの入力層から所定の中間層までのネットワークパラメータの一部を複数のパターンに基づいて変更し、複数のパターンに対応する変更後のニューラルネットワークそれぞれに対して１つの入力音声を入力することにより当該中間層から複数の出力を得る処理を行う。これにより、１つの入力音声に対して、話者モデルの作成に用いる複数のデータ（中間層の出力）を得ることができる。
【００３１】
拡張部１３４によるネットワークパラメータの変更方法はどのような方法であってもよい。例えば拡張部１３４は、入力層から中間層までの各層のネットワークパラメータのうち一部の重みを変更してもよい。また拡張部１３４は、入力層から中間層までの各層のネットワークパラメータのうち一部のバイアスにランダム値を加算することにより、ネットワークパラメータを変更してもよい。またニューラルネットワークに使用されるシグモイド関数などの活性化関数にバイアス項を加えそこにランダム値を加算してもよいし、各層への入力値にバイアス項を加えそこにランダム値を加算してもよい。
【００３２】
所定の中間層は、ニューラルネットワークの中間層のうち、どの中間層であってもよい。入力層に近い中間層にノイズが残っている場合には、これらの中間層より後の中間層を所定の中間層としてもよい。出力層に近い中間層では話者の特徴が表れていないような場合には、これらの中間層より前の中間層を所定の中間層としてもよい。
【００３３】
拡張部１３４が拡張するニューラルネットワークは、算出部１３２がスコアの算出に用いるニューラルネットワークと同じであってもよいし、異なるニューラルネットワークであってもよい。
【００３４】
作成部１３５は、拡張されたデータを用いて話者モデルを作成する。例えば作成部１３５は、ネットワークパラメータを変更した複数のニューラルネットワークの中間層からそれぞれ出力される複数の出力に基づいて、検出されたキーワードに対する話者モデルを作成する。話者モデルはどのような形式であってもよい。作成部１３５は、例えば、複数の出力の平均および分散で表されるガウス分布を話者モデルとして作成してもよい。また作成部１３５は、１以上の話者の入力音声および当該入力音声に対応する複数の出力を用いる学習により話者モデルを作成してもよい。作成部１３５は、キーワードに含まれる部分区間ごとに話者モデルを作成してもよい。部分区間は、例えば、キーワードを構成する音韻および音素などである。
【００３５】
認識部１３６は、話者モデルを用いて話者を認識する。例えば認識部１３６は、認識のために入力される入力音声に対する中間層の出力を、作成した話者モデルに入力することにより話者を認識する。
【００３６】
上記各部（音声取得部１３１、算出部１３２、検出部１３３、拡張部１３４、作成部１３５、および、認識部１３６）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵ（Central  Processing  Unit）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Integrated  Circuit）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００３７】
次に、このように構成された第１の実施形態にかかる認識装置１００によるモデル作成処理について説明する。図３は、第１の実施形態におけるモデル作成処理の一例を示すフローチャートである。モデル作成処理は、話者の音声から検出したキーワードを用いて話者を登録する話者登録に相当する処理である。
【００３８】
音声取得部１３１は、音声データの入力を受け付け、受け付けた音声の特徴量を生成して出力する（ステップＳ１０１）。例えば音声取得部１３１は、音声データの２５６点サンプルから、１２次元のＭＦＣＣ（Mel  Frequency  Cepstrum  Coefficient、メル周波数ケプストラム係数）特徴量を算出する。音声取得部１３１は、このＭＦＣＣ特徴量を３フレーム分だけバッファリングし、３フレーム分のＭＦＣＣ特徴量を連結した３６次元の特徴量を、これら３フレームのうちの中央フレームの時刻の特徴量として出力する。
【００３９】
なお、抽出される特徴量はＭＦＣＣに限定されるものではなく、例えば、メルフィルタバンク特徴量、ＰＬＰ（Perceptual  Linear  Prediction）、ＲＡＳＴＡ−ＰＬＰ特徴量、および、ピッチ特徴量、並びに、これらの特徴量のΔ成分、および、ΔΔ成分を用いてもよい。または、これら特徴量の組み合わせを用いてもよい。また、連結フレーム数は３に限定されるものではなく、１フレーム以上であれば、何フレーム連結させてもよい。切り出しサンプルサイズおよびフレーム周期は上記の値に限定されるものではない。
【００４０】
次に算出部１３２は、音声取得部１３１によって生成された特徴量を受け取り、この特徴量とニューラルネットワークとを用いて、フレームスコアおよびキーワードスコアを算出する（ステップＳ１０２）。フレームスコアは、フレームごとの音素の出現確率（音響スコア）である。キーワードスコアは、特徴量が予め定められた検出対象となるキーワードに対応する確からしさを表すスコアである。
【００４１】
以下では、検出対象のキーワードが“コミュニケーション（communication）”である場合の具体的な例について説明する。このキーワードに対して、キーワードモデルを用いて、フレームごとに切り出された特徴量を示すベクトル列に対して累積スコアを算出する方法は多く存在する。以下では、left-to-right型の隠れマルコフモデル（Hidden  Markov  Model：ＨＭＭ）、および、特許文献２の方法を適用する例で説明する。
【００４２】
まず、検出対象のキーワードをキーワードｗとする。キーワードは、left-to-right型の音素ＨＭＭで表される。音素ＨＭＭは、キーワードｗをそれぞれ表す音素文字（列）“k  a  my  u  n  i  k  e  i  sy  o  n”に含まれる各音素それぞれを１状態とする。また、音素ＨＭＭのパラメータとして、音素間の遷移確率はどの遷移間の確率も同確率とする。出力される確率は、フレームごとの音素の出現確率（音響スコア）で表される。
【００４３】
フレームごとの音響スコア（フレームスコア）を算出するモデルは、複数のキーワードに対して共通のフィードフォワード型のニューラルネットワークとする。フレームスコアは特許文献２の方法を用いて算出する。
【００４４】
音響スコアを算出するためのニューラルネットワークの出力層は、キーワードｗを表す音素“k  a  my  u  n  i  k  e  i  sy  o  n”に無音区間に対する音素“sil”を加え、１０個の出力ユニットから構成される。入力層は、算出した特徴量に相当する３６個の入力ユニットから構成される。中間層は、２５６ユニットを持つ層を３つ重ねたものとする。ニューラルネットワークは、無音声区間を含むキーワードｗの読み上げ音声を使って、バックプロパゲーションを用いて学習する。
【００４５】
このように、算出部１３２は、キーワードｗに対する音素ＨＭＭを用意し、キーワードモデルに対する音素ＨＭＭが音声取り込み開始からのフレーム数ｔｅにおいて終端に達するパスのスコアを、特許文献２の方法により算出する。このときキーワードモデルに対するフレーム数ｔｅ時点の平均局所スコアＳを持つパスの音素ＨＭＭの始端フレームをｔｓとする。
【００４６】
算出部１３２は、フレーム数ｔｅを時間方向にインクリメントしながらスコア計算を行う。このとき数フレームずつ、スコア計算をスキップし計算量を削減することもできる。算出部１３２は、平均局所スコアＳを、当該キーワードのスコア（キーワードスコア）として用いる。
【００４７】
なお、キーワードモデルは、音素単位でのモデル化に限定されるものではなく、音韻、モーラ、発音表記、または、表記文字の単位でモデル化することもできる。また、平均局所スコアの算出方法は、特許文献２の方法に限定されるものではない。また、フレーム単位の音響スコア計算は、フィードフォワード型のニューラルネットワークを用いた方法に限定されることはなく、リカレント構造のニューラルネットワーク、例えばＬＳＴＭなども適用できる。
【００４８】
検出部１３３は、キーワードスコアと、予め定められた閾値とを比較することによって、閾値を超えたキーワードスコアを有するキーワードがあるか否かを判定する（ステップＳ１０３）。すなわち、検出部１３３は、キーワードモデルに対して予め用意された平均局所スコアＳとこの平均局所スコアＳに対する閾値ｔｈとを、以下の（１）式のように比較する。
ｔｈ＜Ｓ  ・・・（１）
【００４９】
（１）式が満たされる場合、検出部１３３は、キーワードｗを検出する。そのキーワードの始端時間をｔｍｓとすると、始終端区間（ｔｍｓ，ｔｅ）のキーワードｗが検出されることとなる。閾値ｔｈは、キーワードが含まれる開発用の音声データセットを使って、適合率および再現率の調和平均であるＦ値が最大となる値を全キーワードに対して１つ設定する。この場合、閾値ｔｈの値を高くすれば、キーワードは検出されにくくなり、閾値ｔｈの値を低くすれば、キーワードは検出されやすくなる。スコアにマイナス１をかけ、正負を反転させることもでき、その場合は閾値より低い場合にキーワードが検出される。
【００５０】
閾値ｔｈを超えたキーワードがない場合（ステップＳ１０３：Ｎｏ）、ステップＳ１０１の手順に戻り、後続する音声データからキーワードを検出するための処理が続行される。
【００５１】
一方、閾値ｔｈを超えたキーワードがあった場合（ステップＳ１０３：Ｙｅｓ）、すなわち、キーワードｗが検出された場合、検出されたキーワード区間に対して、拡張部１３４は、特徴量を拡張する（ステップＳ１０４）。
【００５２】
例えば拡張部１３４は、検出に用いたニューラルネットワークの２層目の中間層による２５６次元の出力を話者の特徴を示す特徴量（話者特徴量）として用いる。例えば拡張部１３４は、入力層および中間層のニューラルネットワーク出力のバイアスパラメータとして、一定の範囲を超えないいくつかのランダムパターンを生成し、それらを加算することによって、ニューラルネットワークのパラメータを変更する。拡張部１３４は、各ランダムパターンに対応する複数のニューラルネットワークの当該中間層からの複数の出力を、拡張した話者特徴量として取得する。
【００５３】
例えばランダムパターンを３セット発生させた場合、１つの入力に対して３つの異なる中間層出力（話者特徴量）を得ることができる。また、一部のニューラルネットワークの重みを０にするなどのパターンを用意して複数の中間層の出力を取得してもよい。拡張部１３４は、このような処理を検出されたキーワード区間に対して適応し、話者特徴量を拡張する。
【００５４】
図４は、モデル作成処理の具体例を示す図である。図４の左端は、キーワードの検出用に用いられるニューラルネットワークの例を示す。拡張部１３４は、このニューラルネットワークの２層目の中間層までのネットワークパラメータの一部を変更する。図４では、３つのパターンそれぞれで、相互に異なる箇所の重みを０とする例が示されている。例えば、図４の中央左上のパターンでは、接続線４０１〜４０４に対応する重みが０に変更される。図４の中央右上のパターンでは、接続線４１１、４１２に対応する重みが０に変更される。図４の中央下のパターンでは、接続線４２１、４２２に対応する重みが０に変更される。
【００５５】
図３に戻り、作成部１３５は、キーワード区間に対して拡張された複数の話者特徴量を用いて話者モデルを作成する（ステップＳ１０５）。例えば作成部１３５は、２５６次元のベクトルの各次元に対して単一のガウス分布をもつ２５６次元ガウス分布モデルを話者モデルとして作成する。作成部１３５は、拡張された複数の話者特徴量の平均および分散を算出し、ガウス分布モデルを構築する。作成部１３５は、構築したガウス分布モデルを話者モデルとして、記憶部１２２に記憶する。図４の右端は、作成部１３５が３つの話者特徴量の平均および分散により話者モデルを作成する様子を示している。
【００５６】
話者モデルの作成方法はこれに限られるものではない。例えば作成部１３５は、複数の話者のニューラルネットワークへの入力ベクトル、または、拡張した話者特徴量ベクトルが得られている場合、それらを用いて話者を識別するニューラルネットワークを学習することにより話者モデル（学習したニューラルネットワーク）を作成してもよい。また、この場合、ＳＶＭ（Support  Vector  Machine）およびＡｄａＢｏｏｓｔなどの識別モデルを話者モデルとして適用することが可能である。その他に、話者特徴量を示すベクトルを非特許文献１のようにニューラルネットワークを用いて話者を識別し易いよう変換してから、平均および分散など算出し、ガウス分布モデルを構築することも可能である。また、作成部１３５は、話者特徴量を示すベクトルの平均ベクトルを話者モデルとして作成してもよい。
【００５７】
次に、このように構成された第１の実施形態にかかる認識装置１００による認識処理について説明する。図５は、第１の実施形態における認識処理の一例を示すフローチャートである。認識処理は、作成した話者モデルを用いて、入力音声の話者を認識する処理である。認識処理では、検出対象となるキーワードが検出されるとともに、検出されたキーワードの話者が認識される。
【００５８】
ステップＳ２０１からステップＳ２０３は、モデル作成処理を示す図３のステップＳ１０１からステップＳ１０３までと同様の処理であるため説明を省略する。
【００５９】
閾値ｔｈを超えたキーワードがあった場合（ステップＳ２０３：Ｙｅｓ）、すなわち、キーワードｗが検出された場合、認識部１３６は、作成された話者モデルと、キーワード検出時に算出される中間層の出力とを用いて、話者らしさを判定する（ステップＳ２０４）。例えば認識部１３６は、キーワード検出区間の全フレームについての中間層の出力をガウス分布に入力し、出力される尤度の合計を話者らしさとする。このとき、認識部１３６は、フレームごとにガウス分布に入力して尤度を得てもよいし、一旦全フレームのベクトルの平均を取ったあとにガウス分布に入力して尤度を得てもよい。認識部１３６は、例えば、話者らしさが最大となる話者を、認識結果として出力する。このとき、尤度に閾値を設けて、複数の話者モデル、または、単一の話者モデルに対しての尤度が閾値以下だった場合は、登録されたどの話者でもないという認識結果を返してもよい。
【００６０】
話者モデルが、ニューラルネットワーク、ＳＶＭ、および、ＡｄａＢｏｏｓｔなどの識別モデルの場合、認識部１３６は、フレームごとの識別結果を投票し、数が多かった話者を認識結果として出力することも可能であるし、フレームごとの話者クラス確率または尤度を足し合わせてもよい。また認識部１３６は、平均ベクトルとのコサイン距離を用いて話者認識結果を算出してもよい。
【００６１】
このように、第１の実施形態にかかる認識装置では、入力音声を複数の話者特徴量に拡張し、これらの話者特徴量を用いて話者モデルを作成できる。従って、より少ないデータで話者登録をより効率的に実行可能となる。また話者モデルとしてガウス分布などを用いる場合は、従来のように２つのニューラルネットワークを用いる必要がなく、１つのキーワード検出用のニューラルネットワークを用いるため、演算量を低減することが可能となる。
【００６２】
（第２の実施形態）
第２の実施形態では、認識システムを複数の装置により実現する例を示す。図６は、第２の実施形態にかかる認識システムの構成の例を示すブロック図である。
【００６３】
図６に示すように、第２の実施形態の認識システムは、クライアント２００−２と、認識サーバ１００−２とが、ネットワーク３００−２を介して接続された構成となっている。なお図６では各装置を１台のみ記載しているが、各装置の個数は何台であってもよい。
【００６４】
ネットワーク３００−２は、無線ネットワークおよび有線ネットワークのいずれでもよいし、どのような規格に準拠したネットワークであってもよい。ネットワーク３００−２は、例えばインターネットである。
【００６５】
クライアント２００−２は、受付部２４１と、通信制御部２４２と、を備えている。受付部２４１は、例えばマイクロホンなどにより生成された音声データの入力を受け付ける。通信制御部２４２は、認識サーバ１００−２などの外部装置との間の通信を制御する。例えば通信制御部２４２は、受け付けられた音声データを認識サーバ１００−２に送信する。また通信制御部２４２は、送信した音声データに対する話者認識結果を認識サーバ１００−２から受信する。
【００６６】
認識サーバ１００−２は、記憶部１２１、１２２と、音声取得部１３１と、算出部１３２と、検出部１３３と、拡張部１３４と、作成部１３５と、認識部１３６と、通信制御部１４１と、を備えている。認識サーバ１００−２は、通信制御部１４１が追加されている点が、第１の実施形態の認識装置１００と異なっている。
【００６７】
通信制御部１４１は、クライアント２００−２などの外部装置との間の通信を制御する。例えば通信制御部１４１は、クライアント２００−２から送信された音声データを受信する。また通信制御部１４１は、音声データに対する話者認識結果をクライアント２００−２に送信する。
【００６８】
例えば音声取得部１３１は、通信制御部１４１から渡される入力音声を受け付け、受け付けた入力音声を特徴量に変換して出力する。この後のモデル作成処理および認識処理は第１の実施形態と同様である。
【００６９】
次に、第２の実施形態にかかるクライアント２００−２のハードウェア構成について図７を用いて説明する。図７は、第２の実施形態にかかるクライアント２００−２のハードウェア構成例を示す説明図である。
【００７０】
第２の実施形態にかかるクライアント２００−２は、ＣＰＵ５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００７１】
認識サーバ１００−２は、例えば、サーバコンピュータとして実現されうる。認識サーバ１００−２は、クラウド上で処理を実行するクラウドサーバとして実現されてもよい。クライアント２００−２は、パーソナルコンピュータ、各種電子機器に内蔵される組み込みシステム、並びに、タブレットコンピュータ、スマートフォン、携帯電話機、および、ＰＤＡといった携帯情報端末として実現されうる。クライアント２００−２と認識サーバ１００−２とは、ネットワーク３００−２を介してデータをやり取りすることができる。
【００７２】
第２の実施形態の認識システムは、クライアント２００−２に設けられるマイクロホン等を用いて生成された音声データ（音声信号）から話者を認識することができる。例えばクライアント２００−２は、当該クライアント２００−２に設けられたマイクロホン等を用いて生成された音声データを、ネットワーク３００−２を介して認識サーバ１００−２に送信する。認識サーバ１００−２は、話者認識機能を用いて、クライアント２００−２から受信した音声データから話者を認識し、ネットワーク３００−２を介してその認識結果をクライアント２００−２に送信する。これによりクライアント２００−２は、例えば、認識された話者に応じた特定の動作を開始することができる。
【００７３】
このように、本実施形態では、クライアント２００−２で取得された音声が認識サーバ１００−２に送信され、認識サーバ１００−２で話者認識が実行される。各装置（クライアント２００−２、認識サーバ１００−２）が話者認識の機能を分散して実行する方法は図６に示す例に限られず、どのような方法で分散してもよい。
【００７４】
例えばクライアント２００−２は、音声データではなく、音声データを用いて生成された特徴量（例えば、音声特徴ベクトル列）を認識サーバ１００−２に送信してもよい。この場合、認識サーバ１００−２は、受信した特徴量からキーワードを検出し、そのキーワードをクライアント２００−２に送信することもできる。
【００７５】
このように、第２の実施形態では、クライアント・サーバシステムなどのように複数の装置を含むシステムの形態で、第１の実施形態と同様の話者認識機能を実現することができる。
【００７６】
（変形例）
認識システムは、例えば検出したキーワードおよび認識した話者（ユーザ）に応じて所望の動作を実行するアプリケーションに適用することができる。このようなアプリケーションは、通常、話者を登録した後に利用を開始可能となる。従って、より早期に利用開始可能とするためには、話者登録をより効率的に実行することが望ましい。
【００７７】
そこで変形例では、話者登録を簡易的に実行し、より早期に話者登録を完了できるようにする。例えば変形例では、変更するネットワークパラメータの個数、および、変更時に適用するパターンの個数などのうち少なくとも１つを指定可能とする。拡張部１３４は、指定に従ってネットワークパラメータを変更する。
【００７８】
図８は、変形例で用いる指定画面の一例を示す図である。図８に示すように、指定画面８００は、通常モード、および、簡易モードのいずれかを選択可能となっている。簡易モードは、通常モードよりも処理負荷が低くなるようにネットワークパラメータを変更するモードである。例えば簡易モードでは、変更するネットワークパラメータの個数、および、適用するパターンの個数の少なくとも一方が、通常モードより少なくされる。モードが指定された後で入力開始ボタン８１１が押下されると、指定されたモードに従い音声入力および話者登録が開始される。
【００７９】
例えば、本実施形態にかかるシステムを複数のユーザの発話を、それぞれ異なる制御に利用する制御装置に適用する場合を想定する。例えば、ある店舗において、お客様と店舗のスタッフが同じキーワードを発話した場合でも、スタッフと認識した場合のみ装置の制御等ができる、などといったことに利用する場合である。装置の制御とは、店舗の照明、空調等の制御を出力することを指す。例えば制御装置が備える出力部は、「（電気を）つけて／消して」、「（温度を）上げて／下げて」などといった言葉は、スタッフと認識した場合に制御命令として出力できるようにする。出力部は、ユーザの音声および当該音声の学習によって得られる話者モデルを用いて予め決められたユーザか否かを決定することができる。
【００８０】
一方で、例えばお客様が新しい機能を試す場合など、一時的に簡易の登録をしたいなどといった状況では簡易モードを使ってもよい。例えば、電子機器の「（タイマーを）つけて／消して」などの機能が作動するかを試したい場合などに簡易モードを使ってもよい。話者登録が通常より短い時間で行われるようにする場合、予めユーザが簡易モードを選択することによって、話者登録の時間が短縮されるようになる。
【００８１】
なお、スタッフが１人だった場合でも話者登録行えばスタッフの発話か否かの区別が可能である。また、モードの選択は２つに限らず、認識精度や話者登録の時間のより３つ以上のモードを用意してもよい。
【００８２】
第１および第２の実施形態にかかる各装置（認識装置、認識サーバ、クライアント）で実行されるプログラムは、不揮発性メモリまたはＲＯＭ等に予め組み込まれて提供される。
【００８３】
第１および第２の実施形態にかかる各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００８４】
さらに、第１および第２の実施形態にかかる各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１および第２の実施形態にかかる各装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００８５】
第１および第２の実施形態にかかる各装置で実行されるプログラムは、コンピュータを上述した認識装置の各部として機能させうる。このコンピュータは、ＣＰＵがコンピュータ読取可能な記憶媒体からプログラムを主記憶装置（主メモリ）上に読み出して実行することができる。
【００８６】
以上説明したとおり、第１から第２の実施形態によれば、より少ないデータで話者登録をより効率的に実行可能となる。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８８】
１００  認識装置
１００−２  認識サーバ
１０１  ＣＰＵ
１０２  システムコントローラ
１０３  主メモリ
１０４  ＬＣＤ
１０５  ＢＩＯＳ−ＲＯＭ
１０６  不揮発性メモリ
１０７  マイクロホン
１０８  通信デバイス
１０９  キーボード
１１０  ポインティングデバイス
１１１  ＥＣ
１２１、１２２  記憶部
１３１  音声取得部
１３２  算出部
１３３  検出部
１３４  拡張部
１３５  作成部
１３６  認識部
１４１  通信制御部
２００−２  クライアント
２４１  受付部
２４２  通信制御部
３００−２  ネットワーク
【図１】
2019219574.tif 000003
【図２】
2019219574.tif 000004
【図３】
2019219574.tif 000005
【図４】
2019219574.tif 000006
【図５】
2019219574.tif 000007
【図６】
2019219574.tif 000008
【図７】
2019219574.tif 000009
【図８】
2019219574.tif 000010