【文献】
David Snyder et al.,Deep Neural Network Embeddings for Text-Independent Speaker Verification,Proceedings of INTERSPEECH 2017,2017年,p.999-1003
(58)【調査した分野】(Int.Cl.,DB名)
前記第1生成手段と、前記重み算出手段と、前記統計量算出手段と、前記第2生成手段とは、ニューラルネットワークで構成され、それぞれが単一の損失関数に基づいて最適化される、
請求項1から請求項3のいずれか一項に記載の信号処理システム。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して説明する。
【0015】
(第1の実施形態)
図1は、第1の実施形態に係る信号処理システムsysの構成の一例を示すシステム構成図である。
【0016】
信号処理システムsysは、第1生成装置120と、第2生成装置130と、重み算出装置140と、統計量算出装置150と、含んで構成される。第1生成装置120と、第2生成装置130と、重み算出装置140と、統計量算出装置150とは、ネットワークNWを介して接続される。
【0017】
例えば、第1生成装置120と、第2生成装置130と、重み算出装置140と、統計量算出装置150とのそれぞれは、ニューラルネットワークによって構成される。
【0018】
第1生成装置120は、人物の音声などの音声データまたは人物の音声などの特徴量が入力されると、第1の特徴ベクトルを生成する。具体的には、第1生成装置120は、音声データまたは特徴量が入力されると、所定時刻(フレーム)毎の第1の特徴ベクトル、すなわち、短時間特徴ベクトルを生成する。
【0019】
重み算出装置140は、第1生成装置120が生成した所定時刻(フレーム)毎の第1の特徴ベクトルに対して重みをそれぞれ算出する。例えば、重み算出装置140は、第1生成装置120から所定時刻(フレーム)毎の第1の特徴ベクトルとして、例えば、短時間特徴ベクトルを複数フレーム分並べた行列として入力されると、それぞれのフレーム(第1の特徴ベクトル)毎の重みを算出する。
【0020】
統計量算出装置150は、第1生成装置120が生成した第1の特徴ベクトルと、重み算出装置140が算出した重みとを用いて、重み付き平均ベクトルおよび二次以上の重み付き高次統計ベクトルを算出する。具体的には、統計量算出装置150は、所定時刻(フレーム)毎の第1の特徴ベクトルとして、例えば、短時間特徴ベクトルを複数フレーム分並べた行列および重みとが入力されると、重み付き平均ベクトルおよび重み付き標準偏差ベクトルを算出する。
【0021】
第2生成装置130は、統計量算出装置150が算出した重み付き高次統計ベクトルを用いて第2の特徴ベクトルを生成する。具体的には、第2生成装置130は、重み付き平均ベクトルおよび重み付き標準偏差ベクトルが入力されると、第2の特徴ベクトルとして、固定次元数の長時間特徴ベクトルを生成する。
【0022】
信号処理システムは、第2の特徴ベクトルとして生成した長時間特徴ベクトルを用いることで、音声データの話者(クラス)を認識(識別)することができる。
【0023】
上記では、第1生成装置120と、第2生成装置130と、重み算出装置140と、統計量算出装置150とのそれぞれは、ニューラルネットワークによって構成され、別々の装置として構成される場合の一例について説明した。以下の説明では、第1生成装置120と、第2生成装置130と、重み算出装置140と、統計量算出装置150とのそれぞれを、第1生成部121、第2生成部131、重み算出部141、統計量算出部151として、信号処理装置1として機能する場合の一例について説明する。第1生成部121は、第1生成手段の一例である。第2生成部131は、第2生成手段の一例である。重み算出部141は、重み算出手段の一例である。統計量算出部151は、統計量算出手段の一例である。
【0024】
図2は、第1の実施形態に係る信号処理装置1のハードウェア構成の一例を示す概略ブロック図である。
【0025】
信号処理装置1は、CPU100と、記憶媒体インタフェース部101と、記憶媒体102と、入力部103と、出力部104と、ROM105(Read Only Memory:ロム)と、RAM106(Random Access Memory:ラム)と、補助記憶部107と、ネットワークインターフェース部108と、を備える。CPU100と、記憶媒体インタフェース部101と、入力部103と、出力部104と、ROM105と、RAM106と、補助記憶部107と、ネットワークインターフェース部108とは、バスを介して相互に接続される。
【0026】
CPU100は、補助記憶部107が記憶するプログラム、ROM105およびRAM106が記憶する各種データを読み出して実行し、信号処理装置1を制御する。また、CPU100は、記憶媒体インタフェース部101を介して記憶媒体102が記憶する各種データを読み出して実行し、信号処理装置1を制御する。記憶媒体102は、光磁気ディスク、フレキシブルディスク、フラッシュメモリなどの可搬記憶媒体であり、各種データを記憶する。
【0027】
記憶媒体インタフェース部101は、光ディスクドライブ、フレキシブルディスクドライブなどの記憶媒体102の読み出し装置である。
【0028】
入力部103は、マウス、キーボード、タッチパネルなどの入力装置である。
【0029】
出力部104は、表示部、スピーカなどの出力装置である。
【0030】
ROM105、RAM106は、各種データを記憶する。
【0031】
補助記憶部107は、ハードディスクドライブ、フラッシュメモリなどであり、信号処理装置1の各機能部を動作させるためのプログラム、各種データを記憶する。
【0032】
ネットワークインターフェース部108は、通信インタフェースを有し、有線または無線によりネットワークNWに接続される。
【0033】
例えば、後述する
図3における信号処理装置1のソフトウェア構成における制御部110、受付部160、提示部170は、
図2におけるCPU100に対応する。
【0034】
図3は、第1の実施形態に係る信号処理装置1の機能構成の一例を示す概略ブロック図である。
【0035】
信号処理装置1は、制御部110と、受付部160と、提示部170と、を含んで構成される。制御部110は、生成部180と、算出部190と、を含んで構成される。生成部180は、第1生成部121と、第2生成部131と、を含んで構成される。算出部190は、重み算出部141と、統計量算出部151と、を含んで構成される。
【0036】
受付部160は、ネットワークNWまたはユーザからの入力を受け付ける。具体的には、受付部160は、話者の音声などの音声データまたは音声特徴量を入力として受け付ける。受付部160は、受け付けた音声データまたは音声特徴量を制御部110に出力する。
【0037】
制御部110は、信号処理装置1の各部の機能を制御する。
【0038】
生成部180は、受付部160から音声データまたは音声特徴量が入力されると、短時間特徴ベクトルを、第1の特徴ベクトルとして生成する。また、生成部180は、算出部190が算出した高次統計ベクトルに基づいて、長時間特徴ベクトルを、第2の特徴ベクトルとして生成する。
【0039】
より具体的には、第1生成部121は、受付部160から音声データまたは音声特徴量が入力されると、フレーム(単位時刻)毎の短時間特徴ベクトルを、第1の特徴ベクトルとして生成する。第1生成部121は、生成したフレームごとの第1の特徴ベクトルを、算出部190に出力する。
【0040】
また、第2生成部131は、算出部190が算出した重み付き平均ベクトルおよび重み付き標準偏差ベクトルに基づいて、固定次元数の長時間特徴ベクトルを、第2の特徴ベクトルとして生成する。第2生成部131は、生成した第2の特徴ベクトルを、提示部170に出力する。
【0041】
算出部190は、生成部180からフレームごとの第1の特徴ベクトルが入力されると、複数の第1の特徴ベクトルのそれぞれに対して重みを算出する。また、算出部190は、フレームごとの第1の特徴ベクトルと、算出した重みとにもとづいて、高次統計ベクトルを算出する。
【0042】
より具体的には、重み算出部141は、第1生成部121からフレームごとの第1の特徴ベクトルを複数フレーム分並べた行列として入力されると、それぞれのフレームに対する重みを算出する。重み算出部141は、算出したフレームごとの重みを統計量算出部151に出力する。
【0043】
統計量算出部151は、第1生成部121からフレームごとの第1の特徴ベクトルを複数フレーム分並べた行列として入力され、重み算出部141からフレームごとの重みが入力されると、重み付き平均ベクトルおよび重み付き標準偏差ベクトルを、高次統計ベクトルとして算出する。統計量算出部151は、算出した高次統計ベクトルを第2生成部131に出力する。
【0044】
提示部170は、第2生成部131から第2の特徴ベクトルが入力されると、第2の特徴ベクトルに基づいて、話者認識を行う。提示部170は、認識結果を、例えばユーザに提示する。
【0045】
なお、提示部170は、音声データまたは音声特徴量と第2の特徴ベクトルとに基づいて、話者認識を行ってもよい。
【0046】
図4は、第1の実施形態に係る信号処理装置1の最小構成の一例を示す概略ブロック図である。
【0047】
信号処理装置1は、最小構成として、例えば、生成部180と、算出部190とを少なくとも備えればよい。
【0048】
生成部180は、時系列の音声データ、気象データ、センサデータ、テキストデータのいずれか、またはいずれかの特徴量に基づいて第1の特徴ベクトルを生成する。また、生成部180は、重み付き高次統計ベクトルを用いて、第2の特徴ベクトルを生成する。
【0049】
算出部190は、第1の特徴ベクトルに対する重みを算出する。また、算出部190は、第1の特徴ベクトルと、重みとを用いて、重み付き平均ベクトル及び二次以上の重み付き高次統計ベクトルを算出する。
【0050】
図5は、第1の実施形態に係る信号処理の一例を示すフローチャートである。
【0051】
ステップS100において、第1生成部121は、音声データまたは音声特徴量が入力されると、第1の特徴ベクトルを生成する。入力される音声特徴量は、例えば、20次元のMFCC(Mel-Frequency Cepstral Coefficient)や、20次元のMFCCの時間方向の差分をとった一次や二次の動的特徴量を連結したり、連続する複数フレームの音声特徴量を連結したりして用いてもよい。また、音声データは、音声データに対して事前に平均分散正規化やVAD(Voice Activity Detection)を用いた雑音除去などの事前処理が施されていてもよい。第1生成部121が生成する第1の特徴ベクトルは、Multi−Layer Perceptron、Time−Delay Neural Network、Recurrent Neural Network、Conventional Neural Networkなどを用いて生成されればよい。
【0052】
ステップS102において、重み算出部141は、複数フレーム分の第1の特徴ベクトルが行列として入力されると、フレームごとの重みを算出する。重み算出部141は、例えば、出力が一次元のニューラルネットワーク(例えば、Multi−Layer Perceptron)によりフレームごとの重みを算出する。また、重み算出部141は、算出した全てのフレームに対する重みを、softmax関数に入力することで、重みを正規化する。重み算出部141は、正規化された重みをフレームごとの重みとして、統計量算出部151に出力する。
【0053】
ステップS104において、統計量算出部151は、第1の特徴ベクトルと、重みとに基づいて、式(1)および式(2)を用いて高次統計ベクトルとして、重み付き平均ベクトルおよび重み付き標準偏差ベクトルを算出する。
【0055】
ここで、x
tiは、tフレーム目の第1の特徴ベクトルの第i要素、α
tは、tフレーム目の重み、μ
i、σ
iは、それぞれ重み付き平均、重み付き標準偏差の第i要素を表す。
【0056】
ステップS106において、第2生成部131は、重み算出部141から重み付き平均ベクトルおよび重み付き標準偏差ベクトルが入力されると、第2の特徴ベクトルを生成する。第2生成部131は、例えば、Multi−Layer Perceptronにより、第2の特徴ベクトルを生成する。
【0057】
信号処理装置1は、話者の話者認識などのクラスのクラス認識精度(クラス識別能力)が高い第2の特徴ベクトルを生成することができる。また、信号処理装置1は、このようにして生成された第2の特徴ベクトルを用いることで話者認識精度を向上させることができ、話者認識を行う際の利便性を向上させることができる。
【0058】
なお、本実施形態では、第1生成装置120と、第2生成装置130と、重み算出装置140と、統計量算出装置150とのそれぞれが、異なるニューラルネットワークによって構成される場合について説明したが、これらをネットワークで接続することで、上述の信号処理装置1のように1つの大きなニューラルネットワークとみなしてもよい。
【0059】
なお、ニューラルネットワークの学習時には、例えば、出力層の各ノードが各話者クラスに相当する新たなニューラルネットワークを、提示部170に接続してもよい。この場合には、クロスエントロピーロスなどの損失関数を使用し、誤差逆伝播法により生成部180(第1生成部121、第2生成部131)、算出部190(重み算出部141)が持つパラメータを学習させることができる。
【0060】
なお、本実施形態では、第2の特徴ベクトルを用いて話者を識別する場合の一例について説明したが、話者が話す言語、話者の性別、話者の年齢、話者の感情などを識別してもよい。この場合、提示部170は、言語ラベル(言語を識別するためのモデルデータ)を予め保持し、これに基づいて損失関数を最小化するように生成部180(第1生成部121、第2生成部131)、算出部190(重み算出部141)に学習させればよい。話者の性別、話者の年齢、話者の感情などについても同様である。
【0061】
なお、本実施形態では、重み算出部141に第1の特徴ベクトルを複数フレーム分並べた行列として入力する場合の一例について説明したが、重み算出部141は、第1生成部121から逐次入力される第1の特徴ベクトルに対して算出可能な重みを算出してもよい。
【0062】
なお、統計量算出部151は、重み付き平均ベクトルおよび重み付き標準偏差ベクトルの代わりに、二次統計量である分散ベクトル、第1の特徴ベクトルの異なる要素間の相関を示す重み付き共分散ベクトルを算出してもよい。また、統計量算出部151は、三次統計量である重み付き歪度(skewness)や四次統計量である重み付き尖度(kurtosis)などの三次以上の高次統計ベクトルを用いてもよい。
【0063】
なお、本実施形態では、音声データまたは音声特徴量を用いる場合の一例について説明したが、文章などのテキストデータ、センサ出力などのセンサデータ、気象データやそれらの特徴量を用いてもよい。
【0064】
このように、本実施形態に係る信号処理システムsysは、時系列の音声データ、気象データ、センサデータ、テキストデータのいずれか、またはいずれかの特徴量に基づいて第1の特徴ベクトルを生成する第1生成部121と、第1の特徴ベクトルに対する重みを算出する重み算出部141と、第1の特徴ベクトルと、重みとを用いて、重み付き平均ベクトル及び二次以上の重み付き高次統計ベクトルを算出する統計量算出部151と、重み付き高次統計ベクトルを用いて、第2の特徴ベクトルを生成する第2生成部131と、を備える。
【0065】
この構成により、識別に重要なフレームに対して大きな重みを付加して第1の特徴ベクトルを生成することができるため、長時間にわたる音声データ等であっても、重要なフレームを考慮した第2の特徴ベクトルを生成することができる。このため、第2の特徴ベクトルを用いる話者認識精度を向上させることができる。また、話者の特徴が少ないフレーム(重要でないフレーム)に対する重みを低くすることができるため、認識精度を向上させることができる。これらにより、話者認識を行う際の利便性を向上させることができる。
【0066】
図6は、変形例に係る信号処理システムsys1の構成の一例を示すシステム構成図である。
【0067】
信号処理システムsys1は、第1の特徴量抽出ニューラルネットワーク12と、第2の特徴量抽出ニューラルネットワーク13と、重み算出ニューラルネットワーク14と、重み付き高次統計量算出ニューラルネットワーク15と、を含んで構成される。第1の特徴量抽出ニューラルネットワーク12と、第2の特徴量抽出ニューラルネットワーク13と、重み算出ニューラルネットワーク14と、重み付き高次統計量算出ニューラルネットワーク15と、はそれぞれニューラルネットワークで構成される。第1の特徴量抽出ニューラルネットワーク12と、第2の特徴量抽出ニューラルネットワーク13と、重み算出ニューラルネットワーク14と、重み付き高次統計量算出ニューラルネットワーク15と、は、相互にネットワークNWを介して接続される。
【0068】
なお、第1の特徴量抽出ニューラルネットワーク12と、第2の特徴量抽出ニューラルネットワーク13と、重み算出ニューラルネットワーク14と、重み付き高次統計量算出ニューラルネットワーク15と、は1つのニューラルネットワークとして構成さてもよい。
【0069】
第1の特徴量抽出ニューラルネットワーク12は、音声データまたは音声特徴量が入力されると、上述の第1生成装置120や第1生成部121と同様に第1の特徴ベクトルを生成する。第1の特徴量抽出ニューラルネットワーク12は、生成した第1の特徴ベクトルを、重み算出ニューラルネットワーク14に出力する。また、第1の特徴量抽出ニューラルネットワーク12は、生成した第1の特徴ベクトルを重み付き高次統計量算出ニューラルネットワーク15に出力する。ここで、第1の特徴ベクトルは、例えば、短時間特徴ベクトルである。
【0070】
重み算出ニューラルネットワーク14は、第1の特徴量抽出ニューラルネットワーク12から第1の特徴ベクトルが入力されると、上述の重み算出装置140や重み算出部141と同様にそれぞれの第1の特徴ベクトルに対する重みを算出する。重み算出ニューラルネットワーク14は、それぞれの第1の特徴ベクトルに対する算出した重みを、重み付き高次統計量算出ニューラルネットワーク15に出力する。
【0071】
重み付き高次統計量算出ニューラルネットワーク15は、第1の特徴量抽出ニューラルネットワーク12から入力された第1の特徴ベクトルと、重み算出ニューラルネットワーク14から入力された重みとに基づいて、上述の統計量算出装置150や統計量算出部151と同様に重み付き高次統計量を算出する。重み付き高次統計量算出ニューラルネットワーク15が算出する重み付き高次統計量は、重み付き平均と、重み付き標準偏差である。重み付き高次統計量算出ニューラルネットワーク15は、算出した重み付き平均および重み付き標準偏差を、第2の特徴量抽出ニューラルネットワーク13に出力する。
【0072】
第2の特徴量抽出ニューラルネットワーク13は、重み付き高次統計量算出ニューラルネットワーク15から入力された重み付き平均および重み付き標準偏差に基づいて、上述の第2生成装置130や第2生成部131と同様に第2の特徴ベクトルを生成する。
【0073】
第2の特徴ベクトルは、例えば、固定次元数の長時間特徴ベクトルである。
【0074】
信号処理システムsys1は、話者認識などのクラス認識能力が高い第2の特徴ベクトルを生成することができる。また、信号処理システムsys1は、各ニューラルネットワークを介して生成された第2の特徴ベクトルを用いて話者認識(クラス認識、クラス識別)をすることができる。また、重み付き平均および重み付き標準偏差のような高次統計量を用いて第2の特徴ベクトルを生成することで、第2の特徴ベクトルを用いた場合の話者認識精度を向上させることができる。
【0075】
なお、本発明の各実施形態や各変形例における信号処理装置1、信号処理システムsys、信号処理システムsys1で動作するプログラムは、本発明の一態様に関わる上記の各実施形態や変形例で示した機能を実現するように、CPU(Central Processing Unit)等を制御するプログラム(コンピュータを機能させるプログラム)であっても良い。そして、これらの各装置で取り扱われる情報は、その処理時に一時的にRAM(Random Access Memory)に蓄積され、その後、Flash ROM(Read Only Memory)などの各種ROMやHDD(Hard Disk Drive)に格納され、必要に応じてCPUによって読み出し、修正・書き込みが行われる。
【0076】
なお、上述した各実施形態や変形例における信号処理装置1、信号処理システムsys、信号処理システムsys1の一部、をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータが読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。
【0077】
なお、ここでいう「コンピュータシステム」とは、信号処理装置1、信号処理システムsys、信号処理システムsys1に内蔵されたコンピュータシステムであって、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0078】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0079】
また、上述した各実施形態や変形例における信号処理装置1、信号処理システムsys、信号処理システムsys1の一部、又は全部を典型的には集積回路であるLSI(Large-Scale Integration)として実現してもよいし、チップセットとして実現してもよい。また、上述した各実施形態や変形例における信号処理装置1、信号処理システムsysの各機能ブロックは個別にチップ化してもよいし、一部、又は全部を集積してチップ化してもよい。また、集積回路化の手法は、LSIに限らず専用回路、および/または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いることも可能である。
【0080】
以上、この発明の一態様として各実施形態や変形例に関して図面を参照して詳述してきたが、具体的な構成は各実施形態や変形例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【0081】
この出願は、2018年3月15日に出願された日本出願(特願2018−048419)を基礎とする優先権を主張し、その開示の全てをここに取り込む。