(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024032655
(43)【公開日】2024-03-12
(54)【発明の名称】音声認識装置、音声認識方法、および、プログラム
(51)【国際特許分類】
G10L 15/04 20130101AFI20240305BHJP
G10L 15/16 20060101ALI20240305BHJP
【FI】
G10L15/04 300Z
G10L15/16
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023112121
(22)【出願日】2023-07-07
(31)【優先権主張番号】17/897,352
(32)【優先日】2022-08-29
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】周藤 唯
(72)【発明者】
【氏名】中臺 一博
(72)【発明者】
【氏名】シャキール モハマダ
(57)【要約】 (修正有)
【課題】システム全体としての演算量やパラメータ数の増加を抑え、より正確に音声区間を定める音声認識装置、音声認識方法及びプログラムを提供する。
【解決手段】音声認識装置10は、サブフレーム毎に音声信号の音響特徴量を分析する特徴分析部112と、1以上のサブフレームからなるフレームごとに前記音響特徴量に基づいて隠れ状態特徴量を定める隠れ状態処理部114と、隠れ状態特徴量を入力値とし、音声区間確率を算出する音声区間処理部116と、音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める発話処理部118と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
音声信号のサブフレームごとに音響特徴量を分析する特徴分析部と、
前記音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定める隠れ状態処理部と、
前記隠れ状態特徴量に基づいてフレームごとに音声区間を定める音声区間処理部と、
音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める発話処理部と、を備える
音声認識装置。
【請求項2】
前記音声区間処理部は、
音声区間に属するフレームである音声区間フレームからなる当該音声区間を2個以上有するブロックを、個々に音声区間を含むブロックに分割するように構成される
請求項1に記載の音声認識装置。
【請求項3】
前記隠れ状態処理部は、
前記隠れ状態特徴量に基づいてフレームごとに音声区間に属する確率を音声区間確率として算出し、
前記音声区間確率が所定の確率閾値以下となる不活性フレームのうち、当該不活性フレームが所定の閾値フレーム数を超えて連続する区間を非音声区間と判定する、それ以外の区間を音声区間として判定する
前記音声区間確率が前記確率閾値より大きいフレームと、前記不活性フレームが前記閾値フレーム数を超えて連続しない区間を音声区間と判定するように構成される
請求項2に記載の音声認識装置。
【請求項4】
前記隠れ状態処理部は、サブフレームごとの音響特徴量に基づいてフレームごとのフレーム特徴量に変換し、
前記フレーム特徴量に基づいて前記隠れ状態特徴量を推定するように構成される
請求項1の音声認識装置。
【請求項5】
前記発話処理部は、
音声区間をなす最新のブロックまでの前記隠れ状態特徴量の系列に対応する発話内容の候補ごとの推定確率を算出し、前記推定確率が最も高い発話内容を定めるように構成される
請求項1の音声認識装置。
【請求項6】
コンピュータに、
サブフレームごとに音声信号の音響特徴量を分析し、
前記音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定め、
前記隠れ状態特徴量に基づいてフレームごとに音声区間を定め、
音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める
音声認識装置として機能させるためのプログラム。
【請求項7】
音声認識装置における音声認識方法であって、
前記音声認識装置が、
音声信号のサブフレームごとに音響特徴量を分析し、
前記音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定め、
前記隠れ状態特徴量に基づいてフレームごとに音声区間を定め、
音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める
音声認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識装置、音声認識方法、および、プログラムに関する。
【背景技術】
【0002】
音声認識技術は、様々な場面で普及している。例えば、パーソナルコンピュータ(PC:Personal Computer)、携帯電話機などの情報機器の他、冷蔵庫、空調機などの家庭電化製品などへの音声入力に適用される。これらの機器では、ストリーミング音声認識が用いられることがある。ストリーミング音声認識は、音声区間ごとに音声認識処理を行って発話内容を定める手法である。ストリーム音声認識処理では、前処理として音声区間検出(VAD:Voice Activity Detection)が導入される。発話された文全体の入力が完了する前に音声区間ごとの発話内容が得られるため、応答性が向上する。音声認識処理として、例えば、コネクショニスト時系列分類エンドツーエンド自動音声認識(CTC-based E2E ASR:Connectionist Temporal Classification-based end-to-end Automatic Speech Recognition、特許文献1、非特許文献1 参照)などの手法が用いられうる。
【0003】
VADでは、様々な手法が提案されている。例えば、音量に基づく手法(energy-based method)、統計モデルまたは深層学習モデルを用いる手法、などがある。音量に基づく手法には、例えば、ゼロ交差法(zero-cross)がある。統計モデルとして、例えば、隠れマルコフモデル(HMM:Hidden Markov Model)、ガウス混合モデル(GMM:Gaussian Mixture Model)などが用いられる。深層学習モデルとして、例えば、多層パーセプトロン(MLP:Multi-Layer Perceptron)、長・短期記憶(LSTM:Long Short Term Memory)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、トランスフォーマ(Transformer)などが用いられる。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】Suyoun Kim, Takaaki Hori, and Shinji Watanabe, “JOINT CTC-ATTENTION BASED END-TO-END SPEECH RECOGNITION USING MULTI-TASK LEARNING”, 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) , 05 - 09 March, 2017, DOI: 10.1109/ICASSP.2017.7953075
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のゼロ交差法は、比較的演算量が少ない手法である。しかしながら、ノイズの音量が比較的大きい区間が音声区間として誤認識されることがある。統計モデルまたは深層学習モデルを用いる手法は、多くのパラメータを要し、演算量が多くなりがちである。また、いずれの手法も、音声認識処理を単にVADに後続することで個々の処理に起因する誤差が蓄積する。その結果、音声認識率の低下が顕在化することがあった。
【0007】
本明細書では、音声認識装置、音声認識方法およびプログラムが開示される。本装置、方法およびプログラムは、組合せて、または、別個に使用されうる。
【課題を解決するための手段】
【0008】
(1)本実施形態の一態様は、音声信号のサブフレームごとに音響特徴量を分析する特徴分析部と、前記音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定める隠れ状態処理部と、前記隠れ状態特徴量に基づいてフレームごとに音声区間を定める音声区間処理部と、音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める発話処理部と、を備える音声認識装置である。
【0009】
(2)本実施形態の一態様は、(1)の音声認識装置であって、前記音声区間処理部は、音声区間に属するフレームである音声区間フレームからなる当該音声区間を2個以上有するブロックを、個々に音声区間を含むブロックに分割してもよい。
【0010】
(3)本実施形態の一態様は、(2)の音声認識装置であって、前記隠れ状態処理部は、
前記隠れ状態特徴量に基づいてフレームごとに音声区間に属する確率を音声区間確率として算出し、前記音声区間確率が所定の確率閾値以下となる不活性フレームのうち、当該不活性フレームが所定の閾値フレーム数を超えて連続する区間を非音声区間と判定する、それ以外の区間を音声区間として判定し、前記音声区間確率が前記確率閾値より大きいフレームと、前記不活性フレームが前記閾値フレーム数を超えて連続しない区間を音声区間と判定してもよい。
【0011】
(4)本実施形態の一態様は、(1)の音声認識装置であって、前記隠れ状態処理部は、サブフレームごとの音響特徴量に基づいてフレームごとのフレーム特徴量に変換し、前記フレーム特徴量に基づいて前記隠れ状態特徴量を推定してもよい。
【0012】
(5)本実施形態の一態様は、(1)の音声認識装置であって、前記発話処理部は、音声区間をなす最新のブロックまでの前記隠れ状態特徴量の系列に対応する発話内容の候補ごとの推定確率を算出し、前記推定確率が最も高い発話内容を定めてもよい。
【0013】
(6)本実施形態の一態様は、コンピュータに、サブフレームごとに音声信号の音響特徴量を分析し、前記音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定め、前記隠れ状態特徴量に基づいてフレームごとに音声区間を定め、
音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める音声認識装置として機能させるためのプログラムである。
【0014】
(7)本実施形態の一態様は、音声認識装置における音声認識方法であって、前記音声認識装置が、音声信号のサブフレームごとに音響特徴量を分析し、前記音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定め、前記隠れ状態特徴量に基づいてフレームごとに音声区間を定め、音声区間に属する複数のフレームからなるブロックごとの前記隠れ状態特徴量の系列に基づいて発話内容を定める音声認識方法である。
【0015】
本開示のさらなる適用領域は、詳細な説明、請求の範囲、および、図面から明らかになろう。詳細な説明と特定の例示は、解説のみを目的とし、本開示の範囲を限定することを意図するものではない。
【図面の簡単な説明】
【0016】
【
図1】本実施形態に係る音声認識装置の機能構成例を示す概略ブロック図である。
【
図2】本実施形態に係る音声認識装置のハードウェア構成例を示す概略ブロック図である。
【
図3】本実施形態に係る推論を例示するための説明図である。
【
図4】本実施形態に係る第1段階のモデル学習を例示するための説明図である。
【
図5】本実施形態に係る第2段階のモデル学習を例示するための説明図である。
【
図6】本実施形態に係る音声認識装置の変形例を示す説明図である。
【
図7】本実施形態に係る音声認識装置の第2の機能構成例を示す説明図である。
【
図10】再ブロック化の有無による指標値の差異を例示する表である。
【
図11】連続非音声期間閾値ごとの指標値を例示する表である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本開示の実施形態について説明する。まず、本実施形態に係る音声認識装置10の機能構成例について説明する(
図1)。音声認識装置10には、マイクロホン20から入力される音声信号に対し、所定の長さを有するサブフレームごとに音響特徴量を分析する。音声認識装置10は、第1モデルを用いてサブフレームごとに分析された音響特徴量に基づいて、複数のサブフレームからなるフレームごとに隠れ状態特徴量を定める。音声認識装置10は、第2モデルを用いてフレームごとに定めた隠れ状態特徴量に基づいて発話がなされた音声区間を定める。音声認識装置10は、音声区間に属する複数のフレームからなるブロックごとに形成された隠れ状態特徴量の系列に基づいて発話内容を定める。音声認識装置10は、定めた発話内容に基づいて各種の処理に応用する。各種の処理には、例えば、音声コマンドの同定と同定された音声コマンドで指示される処理の実行、文書作成、編集、などがある。
【0018】
音声認識装置10は、制御部110を備える。制御部110は、特徴分析部112、隠れ状態処理部114、音声区間処理部116、発話処理部118、および、モデル学習部120を含んで構成される。
図1に例示される音声認識装置10は、アテンションベーストランスフォーマ音声認識処理(attention-based transformer ASR)を実行する。
【0019】
特徴分析部112は、マイクロホン20から入力される音声信号を取得する。音声信号は、所定のサンプリング周波数でサンプリングされた信号値の時系列を示すディジタル信号である。サンプリング周波数は、例えば、16kHzである。特徴分析部112は、予め定めた窓長(window length)を有する分析窓(analysis window)ごとに音響特徴量(acoustic feature)を算出する。分析窓は、音声信号の音響的特徴の一度に分析対象とする区間である。第1モデル(後述)におけるサブフレームに相当する。窓長は、分析対象とする期間に相当する。窓長は、例えば、512サンプルである。特徴分析部112は、一定の時間間隔ごとに分析窓の区間を所定のホップ長ごとに移動させる。ホップ長は、一度に分析窓を移動させる期間に相当する。ホップ長は、窓長以下となる正の実数であればよい。ホップ長は、例えば、128サンプルである。特徴分析部112は、音響特徴量として、例えば、メルスペクトル(Mel-spectrum)など周波数特性を表す特徴量を算出する。特徴分析部112は、サブフレームごとに算出した音響特徴量を隠れ状態処理部114に出力する。
【0020】
隠れ状態処理部114には、特徴分析部112からサブフレームごとに音響特徴量が入力される。隠れ状態処理部114は、第1モデルを用いて、サブフレームごとの音響特徴量からフレームごとに隠れ状態特徴量(hidden state)を算出する。フレームは、サブフレームより大きい処理単位である。
図3~6の例では、1フレームは、2サブフレームに相当する。1フレームは、3サブフレーム以上であってもよい。第1モデルは、エンコーダに相当する数理モデルである。
【0021】
第1モデルは、複数段階の数理モデルを有し、個々の数理モデルが直列に接続される。第1モデルは、例えば、第1段階のモデルと第2段階のモデルを備える。第1段階のモデルは、複数階層の畳込層(convolutional layer)、線形射影層(linear projection layer)、および、位置エンコード層(positional encoding layer)を有し、これらが直列に接続される。畳込み層の層数は、例えば、2層である。個々の畳込み層におけるストライド(stride)は、それぞれ2、3である。線形射影層の次元数は、例えば、512次元である。
【0022】
隠れ状態処理部114は、式(1)に例示されるように、その時点までのTサブフレームの音響処理量X=[x1,x2,…,xT]を入力値とし、第1段階のモデルを用いて、出力値としてLフレームのフレーム特徴量系列u=[u1,u2,…,uL]を算出する。式(1)において、ConvSubsamp(…)は、…に対する第1モデルを用いた演算、即ち、畳込み層によるサブサンプリング(subsampling)を示す。L、Tは、それぞれ正の整数である。Lは、Tよりも大きい。フレーム特徴量は、入力値に対してサブサンプリングされた出力値となる。サブサンプリングは、ダウンサンプリング(downsampling)とも呼ばれる。
【0023】
【0024】
第2段階のモデルはトランスフォーマブロック(transformer block)を備える。第1段階のモデルは、例えば、2階層以上の畳込み層を有し、これらが直列に接続される。第2段階のモデルは、複数層のトランスフォーマブロックを備え、これらが直列に接続される。トランスフォーマブロックの層数は、例えば、12層である。個々のトランスフォーマブロックは、マルチヘッド自己アテンション層(multi-headed self-attention layer)、線形層(linear layer)、および、層内正規化層(layer-normalization layer)を備え、これらが残差接続(residual connection)されてなる。層内正規化層のユニット数は、例えば、2048個である。
【0025】
隠れ状態処理部114は、式(2)に例示されるように、第2段階のモデルを用いて、その時点で最新のフレームまでのLフレームのフレーム特徴量系列uを入力値とし、最新のフレームまでのLフレームの隠れ状態特徴量系列hを出力値として算出する。式(2)において、TrEncoder(…)とは、第2モデルを用いた演算、即ち、トランスフォーマブロックを用いてエンコーディングを示す。フレーム特徴量系列は、フレームごとのフレーム特徴量を含んで構成される。隠れ状態特徴量系列は、フレームごとの隠れ状態特徴量を含んで構成される。隠れ状態処理部114は、算出された最新のフレームの隠れ状態特徴量を音声区間処理部116に出力する。
【0026】
【0027】
また、隠れ状態処理部114は、式(3)に例示されるように、Lblockフレームからなるブロックごとに、最新のブロックbの直前のブロックb-1までのフレームごとのフレーム特徴量uの系列[u(b-1)Lhop+1,…,u(b-1)Lhop+Lblock]をブロックbのフレーム特徴量系列ubとして構成する。Lblock、Lhopは、それぞれブロック長、ホップ長を示す。ブロック長Lblockは、1ブロック当たりのフレーム数に相当する。ブロック長Lblockは、その基準値としてLと等しくてもよい。ホップ長Lhopは、処理対象とするブロック間隔に相当するフレーム数を示す。Lblock、Lhopは、例えば、それぞれ40、16である。隠れ状態処理部114は、構成したフレーム特徴量系列ubを入力値とし、出力値として第2段階のモデルを用いて算出された隠れ状態特徴量hbを発話処理部118に出力する。隠れ状態特徴量は、基本的には、音声区間処理部116と発話処理部118で共用される。そのため、隠れ状態処理部114または第1モデルは、共用エンコーダ(shared encoder)とみなすことができる。
【0028】
【0029】
音声区間処理部116は、隠れ状態処理部114からフレームごとに隠れ状態特徴量が入力される。音声区間処理部116は、第2モデルを用いて、フレームごとの隠れ状態特徴量に基づいて音声区間を検出する。第2モデルは、フレームごとに隠れ状態特徴量から音声区間確率(speech probability)を算出するための数理モデルを有する。音声区間確率は、その期間における音が人の音声である確率、つまり、音声区間の存在確率(probability of presence of voice segment)に相当する。言い換えれば、音声区間は人が発話を行う発話区間とみなすこともできる。
【0030】
第2モデルは、音声区間検出(VAD: Voice Activity Detection)ブランチに相当する。第2モデルは、例えば、機械学習モデルと正規化関数を有し、その順に接続してなる。機械学習モデルは、例えば、1層のまたは2層の全結合層(FC層: Fully Connected layer)など、比較的簡易な数理モデルであってもよいし、より複雑な数理モデルであってもよい。第2モデルは、2層以上の階層を有する深層ニューラルネットワーク(DNN:Deep Neural Network)であってもよい。正規化関数は、例えば、シグモイド関数(sigmoid function)、双曲線正接関数(hyperbolic tangent)などのいずれであってもよい。
音声区間処理部116は、隠れ状態特徴量を入力値とし、第2モデルを用いて、出力値として音声区間確率を算出する。正規化関数を用いることで、出力値として0以上1以下となる値域の範囲内に正規化された実数値が得られる。
【0031】
音声区間処理部116は、音声区間確率が所定の確率閾値を超えるフレームを活性フレーム(active frame)と判定し、音声区間確率が確率閾値以下となるフレームを不活性フレーム(inactive frame)と判定する。音声区間処理部116は、複数のフレームからなる一連のフレーム系列において、フレーム数が所定の連続非音声期間閾値(consecutive non-voice duration threshold)Vを超えて連続した不活性フレームからなる区間を非音声区間として判定し、それ以外の区間、即ち、フレーム数が連続非音声期間閾値を超えて連続した不活性フレームを含まない区間を音声区間として判定する。音声区間には、音声区間確率が確率閾値を超える活性フレームと、フレーム数が連続非音声期間閾値を超えて連続しない不活性フレームとが含まれる。
音声区間処理部116は、複数のフレームからなるブロックごとに、当該ブロックに音声区間が含まれるか否かを示す音声区間情報を発話処理部118に出力する。
【0032】
発話処理部118には、ブロックごとに隠れ状態処理部114から隠れ状態特徴量が入力され、音声区間処理部116から音声区間情報が入力される。
発話処理部118は、第3モデルを用いて、音声区間に属するブロックごとの隠れ状態特徴量系列に基づいて発話内容を定める。第3モデルは、ASRデコーダに相当する。第3モデルは、例えば、アテンションデコーダ(attention decoder)である。発話処理部118は、入力される音声区間情報を参照して音声区間を含むブロックを特定する。発話処理部118は、最新のブロックbまでの音声区間を含むブロックごとの隠れ状態特徴量系列を統合し、統合された隠れ状態特徴量系列h1:bを構成する。
【0033】
発話処理部118は、式(4)に例示されるように、構成した隠れ状態特徴量系列h1:bを入力値とし、第3モデルを用いて発話情報の候補(仮説)yごとに、その候補yが発話された可能性を示す推定確率p(y|h1:b)を算出する。発話処理部118は、算出した推定確率のうち、最も高い推定確率を与える発話情報の候補を、そのブロック列に係る発話内容を示す認識結果y’として定めることができる。式(4)において、argmaxy∈V
*(…)は、集合V*のうち…が最大となるyを示す。V*は、隠れ状態特徴量系列h1:bに対して可能性がある発話情報の候補の集合を示す。発話情報、または、その候補は、1以上のラベルを含むラベル列を用いて構成される。ラベルは、文字、音節、単語、その他、発話内容の表記に係る任意の単位となりうる。ラベル列は、テキストを用いて表現されることがある。
発話処理部118は、発話情報の候補の集合から認識結果y’を探索する際、例えば、公知のビームサーチ法(beam search technique)を用いることができる。
【0034】
【0035】
なお、制御部110は、発話処理部118が定めた認識結果である発話情報を保存してもよいし、他の処理に用いてもよいし、他の機器に出力してもよい。
【0036】
モデル学習部120は、予め構成された訓練データを用いて第1モデル、第2モデル、および、第3モデルを学習する。本開示では、「モデル学習」または「モデルを学習する」とは、そのモデルに基づく演算において用いられるパラメータセットを定めることを意味する。本開示では、2段階のモデル学習が実行される。第1段階のモデル学習は、第1のモデルと第3のモデルを学習対象とする。第2段階のモデル学習は、第2のモデルを学習対象とする。一般に、訓練データは、複数の異なるデータセットを含み、個々のデータセットは、入力データと出力データを含み、それらを対応付けて構成される。本開示では、第1段階、第2段階のモデル学習において、それぞれ第1種、第2種の訓練データが用いられる。
【0037】
第1種の訓練データに含まれる個々のデータセットは、入力データとして、ある音声区間における音声信号を含み、出力データとして、その音声区間における既知の発話内容を示す発話情報を含む。この出力データは、正解を与える発話情報の候補に対する確率を1、その他の発話情報に対する確率を0とするベクトル値で表されうる。
【0038】
モデル学習部120は、第1段階のモデル学習を実行する際、第1種の訓練データをなすデータセットごとに入力データを特徴分析部112に出力する。発話処理部118からは、入力データに基づいて発話情報の候補ごとに推定確率が得られる。モデル学習部120は、発話情報の候補ごとに得られた推定確率と、出力データに示される推定確率との第1の差が訓練データ全体として減少するように、第1モデルのパラメータセット(以下、「第1モデルパラメータセット」と呼ぶ)と第3モデルのパラメータ(以下、「第3モデルパラメータセット」と呼ぶ)を再帰的(recurrently)に更新する。モデル学習部120は、第1の差が所定の第1収束判定閾値以下となるとき、第1の差が収束したと判定する。モデル学習部120は、その時点で第1段階のモデル学習を停止し、得られた第1モデルパラメータセットと第3モデルパラメータセットを、それぞれ隠れ状態処理部114と発話処理部118に設定する。
【0039】
なお、差の大きさを示す損失関数(loss function)として、例えば、二元交差エントロピー(binary cross entropy)を用いることができる。第1モデルパラメータセットと第3モデルパラメータセットの学習において、例えば、再急勾配法(steepest gradient)もしくは確率的勾配降下法(stochastic gradient descent)に基づく誤差逆伝搬法(backpropagation)、または、その変形(例えば、アダム最適化(Adam Optimizer))を用いることができる。
【0040】
第2種の訓練データに含まれる個々のデータセットには、入力データとして音声区間と非音声区間をいずれも含む音声信号が含まれ、出力データとしてフレームごとに音声区間であるか否かを示す既知の音声区間情報が含まれる。この出力データは、音声区間に係るフレームごとの音声区間確率を1、非音声区間に係るフレームごとの音声区間確率を0とするベクトル値で表されうる。
【0041】
モデル学習部120は、第2段階のモデル学習を、第1段階のモデル学習により得られた第1モデルパラメータセットが隠れ状態処理部114に設定された状態で実行する。
モデル学習部120は、第2種の訓練データをなすデータセットごとに入力データを特徴分析部112に出力する。モデル学習部120は、音声区間処理部116から入力データに基づいて得られるフレームごとの音声区間確率と、出力データに示される当該フレームにおける音声区間確率との第2の差が減少するように、第2モデルのパラメータセット(以下、「第2モデルパラメータセット」と呼ぶ)を再帰的に更新する。モデル学習部120は、第2の差が所定の第2収束判定閾値以下となるとき、第2の差が収束したと判定する。モデル学習部120は、その時点で第2段階のモデル学習を停止し、得られた第2モデルパラメータセットを音声区間処理部116に設定する。
【0042】
次に、本実施形態に係る音声認識装置10のハードウェア構成例について説明する。
図2は、本実施形態に係る音声認識装置10のハードウェア構成例を示す概略ブロック図である。音声認識装置10は、
図1に例示される各1個または複数個の機能部の組をなす専用の部材(例えば、集積回路)を含む音声認識システムとして構成されてもよい。音声認識装置10は、音声認識システムとして汎用のコンピュータシステムの一部または全部として構成されてもよい。
【0043】
音声認識装置10は、例えば、プロセッサ152、ドライブ部156、入力部158、出力部160、ROM(Read Only Memory)162、RAM(Random Access Memory)164、補助記憶部166、および、インタフェース部168を含んで構成される。プロセッサ152、ドライブ部156、入力部158、出力部160、ROM162、RAM164、補助記憶部166、および、インタフェース部168は、バスBS(基線)を用いて相互に接続される。
【0044】
プロセッサ152は、例えば、ROM162に記憶されたプログラムや各種のデータを読み出し、当該プログラムを実行して、音声認識装置10の動作を制御する。プロセッサ152には、例えば、1個または複数個のCPU(Central Processing Unit)が含まれる。なお、本開示では「プログラムを実行する」とは、プログラムに記述された各種の指令(コマンド)で指示された処理を実行するとの意味を含む。
【0045】
プロセッサ152は、所定のプログラムを実行して、上記の制御部110の全部または一部の機能、例えば、制御部110の特徴分析部112、隠れ状態処理部114、音声区間処理部116、発話処理部118、および、モデル学習部120の一部または全部の機能を実現する。
【0046】
記憶媒体154は、各種のデータを記憶する。記憶媒体154は、例えば、光磁気ディスク、フレキシブルディスク、フラッシュメモリなどの可搬記憶媒体である。
ドライブ部156は、例えば、記憶媒体154からの各種データの読み出しと、記憶媒体154への各種データの書き込みの一方または両方を行う機器である。
【0047】
入力部158は、入力元となる各種の機器から入力データが入力され、入力データをプロセッサ152に出力する。
出力部160は、プロセッサ152から入力される出力データを、出力先となる各種の機器に出力する。
【0048】
ROM162は、例えば、プロセッサ152が実行するためのプログラムを記憶する。
RAM164は、例えば、プロセッサ152で用いられる各種データ、プログラムを一時的に保存する作業領域として機能する主記憶媒体として用いられる。
補助記憶部166は、HDD(Hard Disk Drive)、フラッシュメモリなどの記憶媒体である。
【0049】
インタフェース部168は、他の機器と接続し各種のデータを入力および出力可能とする。インタフェース部168は、例えば、有線または無線でネットワークに接続する通信モジュールを備える。
【0050】
次に、本実施形態に係る音声認識装置10の動作例について説明する。音声認識装置10の動作態様(動作モード)には、推論と2段階のモデル学習がある。
まず、推論について説明する。
図3は、本実施形態に係る推論を例示するための説明図である。モデル学習は、推論に先行して予め実行されうる。推論において、学習済の第1モデル、第2モデル、および、第3モデルが、それぞれ隠れ状態処理部114、音声区間処理部116、発話処理部118が用いられる。
【0051】
特徴分析部112は、サブフレームごとに音声信号を取得する。特徴分析部112は、取得した音声信号に対する音響特徴量を算出し、算出した音響特徴量を隠れ状態処理部114に出力する。隠れ状態処理部114には、特徴分析部112からサブフレームごとの音響特徴量が入力される。
【0052】
隠れ状態処理部114には第1モデルが設定され、第1モデルは共用エンコーダとして機能するように構成される。第1モデルは、エンコーダネットワークとも呼ばれる。隠れ状態処理部114は、第1モデルを用いて、サブフレームごとの音響特徴量からなる音響特徴量系列[x1,x2,…,xT]からフレームごとの隠れ状態特徴量からなる隠れ状態特徴量系列[h1,h2,…,hL]を算出する。
【0053】
第1モデルは、第1段階のモデルと第2段階のモデルを有する。隠れ状態処理部114は、第1段階のモデルを用いて、音響特徴量系列[x1,x2,…,xT]をダウンサンプリングし、フレームごとのフレーム特徴量からなるフレーム特徴量系列[u1,u2,…,uL]を算出する。隠れ状態処理部114は、第2段階のモデルを用いて、フレームごとのフレーム特徴量からなるフレーム特徴量系列[u1,u2,…,uL]をダウンサンプリングし、フレームごとの隠れ状態特徴量からなる隠れ状態特徴量系列[h1,h2,…,hL]を算出する。
隠れ状態処理部114は、フレームごとに隠れ状態特徴量系列を音声区間処理部116に出力する。隠れ状態処理部114は、複数のフレームからなるブロックごとに隠れ状態特徴量系列を発話処理部118に出力する。
【0054】
音声区間処理部116には第2モデルが設定され、第2モデルはVADブランチとして機能するように構成される。音声区間処理部116は、第2モデルを用いて、フレームごとの隠れ状態特徴量系列から音声区間確率を算出する。第2モデルは、例えば、DNNと正規化関数を有する。DNNは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)など、いずれの種類であってもよい。音声区間処理部116は、第2モデルを用いて、入力値としての隠れ状態特徴量系列からスカラーの実数値を算出する。音声区間処理部116は、算出された実数値を正規化関数を用いて正規化し、得られた演算値を音声区間確率として算出する。算出された音声区間確率が第2モデルからの出力値となる。
【0055】
音声区間処理部116は、算出した音声区間確率が確率閾値を超えるフレームを活性フレームとして判定し、音声区間確率が確率閾値以下となるフレームを不活性フレームとして判定する。そして、音声区間処理部116は、フレーム数が連続非音声期間閾値を超えて連続した不活性フレームからなる区間を非音声区間として判定し、それ以外の区間を音声区間として判定する。
【0056】
音声区間処理部116は、例えば、ブロックごとに音声区間となるフレームの比率が所定のブロック判定閾値以上となるブロックを、音声区間が含まれる音声ブロックと判定し、それ以外のブロックを、音声区間を含まない非音声ブロックと判定してもよい。
音声区間処理部116は、ブロックごとに音声区間が含まれるか否かを示す音声区間情報を発話処理部118に出力する。
図3において、四角形で囲まれる「S」、「_」は、音声ブロック、非音声ブロックをそれぞれ示す。
【0057】
発話処理部118には第3モデルが設定され、第3モデルはアテンションデコーダとして機能するように構成される。第3モデルは、アテンションネットワークとも呼ばれる。
発話処理部118は、音声区間処理部116から入力される音声区間情報に基づいて音声区間に属するブロックを特定する。発話処理部118は、隠れ状態処理部114から入力されるブロックごとの隠れ状態特徴量系列を集積する。
発話処理部118は、第3モデルを用いて、最新のブロックまでの音声区間に属するブロックごとの隠れ状態特徴量系列に基づいて発話内容を定める。発話処理部118は、定めた発話内容を示す発話情報を、他の機器、機能部、などに出力してもよい。
【0058】
図3に例示される第3モデルは、LSTM(Long Short Term Memory、双方向長短期メモリ)に基づく数理モデルである。LSTMは、RNNの一種であり、複数のセルを備える。
図3において、a
0、a
1、a
2、…、a
Uは、それぞれコンテンツベクトルを示す。U+1は、第3モデルをなす入力層のセル数を示す。個々のコンテンツベクトルは、例えば、そのセルに対応するブロックまでの隠れ状態特徴量のブロック間の加重和をもって算出される。コンテンツベクトルa
Uは、最新のブロックまでの隠れ状態特徴量の加重和となる。加重和の算出に用いられる重み係数は、第3モデルの学習により得られる第3パラメータセットから導出される。
【0059】
s0、s1、s2、…、sUは、それぞれデコーダ状態ベクトルを示す。処理対象としての注目セルである第l(エル)セルのデコーダ状態ベクトルは、当該セルの出力ゲートベクトルとセルアクティベーションベクトルから算出される。ここで、l(エル)は、個々のセルを示すインデックスであり、0以上U+1以下の整数値で表される。出力ゲートベクトルは、当該セルの入力ベクトルと第l(エル)-1セルのデコーダ状態ベクトルから算出される。入力ベクトルは、そのセルに対応するラベルに対する埋込ベクトル(embedding vector)とコンテンツベクトルから算出される。第l(エル)セルのセルアクティベーションベクトルは、第l(エル)セルの忘却ゲートベクトル、第l(エル)-1セルのセルアクティベーションベクトル、第l(エル)セルの入力ゲートベクトル、第l(エル)セルの入力ベクトル、第l(エル)-1セルのデコーダ状態ベクトルから算出される。第l(エル)セルの忘却ゲートベクトルは、第l(エル)セルの入力ベクトルと第l(エル)-1セルのデコーダ状態ベクトルから算出される。第l(エル)セルの入力ゲートベクトルは、第l(エル)セルの入力ベクトルと第l(エル)-1セルのデコーダ状態ベクトルから算出される。これらの演算に用いられるパラメータが第3パラメータセットの一部をなす。
【0060】
y1、y2、等は、個々のラベルまたは当該ラベルのラベル確率を示す。sos、eosは、それぞれラベル系列の開始、終了を示すラベルまたは当該ラベルのラベル確率を示す。但し、ラベル系列の開始に対するラベル確率は、1と設定されてもよい。ラベル確率は、発話情報の候補をなす一連のラベル系列に対する確率の演算に用いられる。発話処理部118は、第3モデルを用いて、個々のセルからの出力値として、ラベルの候補ごとのラベル確率がコンテンツベクトルとデコーダ状態ベクトルの関数として算出することができる。発話処理部118は、ラベル列の候補に係る確率から、リスト法、1パス法、などのいずれかの手法を用いて最も確率が高い認識結果を定めることができる。リスト法、1パス法は、それぞれビームサーチ法の一種である。
【0061】
次に、第1段階のモデル学習について説明する。次の説明では、推論との差異点を主とする。推論と共通の構成または処理については、同一の符号を付して、その説明を援用する。
図4は、本実施形態に係る第1段階のモデル学習を例示するための説明図である。第1段階のモデル学習は、アテンションベーストランスフォーマ音声認識処理と同様であってもよい。即ち、第1段階のモデル学習において、第1種の訓練データを用いて第1モデル、および、第3モデルが学習される。
【0062】
第1種の訓練データをなす個々のデータセットのうち、モデル学習部120は、入力データを特徴分析部112に出力する。特徴分析部112は、入力データに基づく音響特徴量を隠れ状態処理部114に出力する。隠れ状態処理部114は、音響特徴量に基づく隠れ状態特徴量系列を発話処理部118に出力する。モデル学習部120は、発話処理部118から得られる発話情報の候補ごとの推定確率と、出力データに示される推定確率との第1の差が訓練データ全体として減少するように、第1モデルのパラメータセットと第3モデルのパラメータを再帰的に更新する。モデル学習部120は、第1の差が収束したとき、その時点で第1モデルと第3モデルの学習を停止する。モデル学習部120は、学習により得られた第1モデルパラメータセットと第3モデルパラメータセットを、それぞれ隠れ状態処理部114と発話処理部118に設定する。
【0063】
次に、第2段階のモデル学習について説明する。
図5は、本実施形態に係る第2段階のモデル学習を例示するための説明図である。第2段階のモデル学習において、第1段階のモデル学習により得られた第1モデルと第3モデルが設定され、第2種の訓練データを用いて第2モデルが学習される。即ち、第2段階のモデル学習において、推定確率の算出に用いられる第1モデルパラメータセットと第2モデルパラメータセットは、固定される。
【0064】
第2種の訓練データをなす個々のデータセットのうち、モデル学習部120は、入力データを特徴分析部112に出力する。特徴分析部112は、入力データに基づく音響特徴量を隠れ状態処理部114に出力する。隠れ状態処理部114は、音響特徴量に基づく隠れ状態特徴量系列を音声区間処理部116に出力する。モデル学習部120は、音声区間処理部116から得られるフレームごとの音声区間確率と、出力データに示される当該フレームにおける音声区間確率との第2の差が減少するように、第2モデルパラメータセットを再帰的に更新する。モデル学習部120は、第2の差が収束したとき、その時点で第2モデルの学習を停止する。モデル学習部120は、その時点で得られた第2モデルパラメータセットを音声区間処理部116に設定する。
【0065】
なお、発話処理部118に設定される第3モデルは、さらにコネクショニスト時系列分類(CTC:Connectionist Temporal Classification)ブランチを備えてもよい(
図6参照)。CTCブランチは、CTCネットワークとも呼ばれる。
発話処理部118は、CTCブランチの機能として、次の処理を実行する。発話処理部118は、隠れ状態処理部114から隠れ状態特徴量系列が入力され、アテンションネットワークにより得られる最新のラベルまでのラベル系列の候補ごとの確率を第1確率として有する第1確率分布として取得する。
【0066】
発話処理部118は、取得したラベル系列の候補の一部に1個または複数個のブランクラベルを含む可能性を含めた第2のラベル系列の候補ごとの確率を第2確率として有する第2確率分布を取得する。ブランクラベルとは、発話が特定されないことを示すラベルである。例えば、アテンションネットワークにより得られるラベル系列が「y1y2」であるとき、CTCブランチによれば、第2のラベル系列の候補の1つとして「_y1_y2__」とのラベル系列が取得されうる。ここで、「_」は、ブランクラベルを示す。
【0067】
発話処理部118は、算出した第2確率が最も高いラベル系列の候補を認識結果として定めてもよい。発話処理部118は、ブランクラベルが所定の個数を超える区間を非音声区間と定めることも考えられる。しかしながら、ブランクラベルは発話の有無を明示的に示す識別子ではない。例えば、ブランクラベルには、雑音が提示される雑音区間、発話中になされる短期の無音区間も含まれうる。かかる無音区間は、例えば、撥音が現れる区間を構成する。撥音は、日本語での発話において頻出する。そのため、ブランクラベルに基づいて検出される音声区間は必ずしも信頼性が高くない。また、非音声区間を定めるために用いられる閾値として、連続ブランクラベルフレーム数の閾値設定を要する。
【0068】
なお、発話処理部118は、第2確率に対応するラベル系列の候補の一部にブランクラベルを含み、新たなラベル系列の候補を生成してもよい。発話処理部118は、さらに予め設定されたブランクラベル間遷移確率、ブランクレベルと他のラベルとの間の遷移かクレイツを用いて新たなラベル系列の候補の遷移確率を算出する。新たなラベル系列の候補のうち、もとのラベル系列の候補をそのラベル順序で含むものを選択し、選択したラベル系列の候補間の総和、つまり遷移確率による畳み込み和を第3確率として算出してもよい。発話処理部118は、もとのラベル系列の候補ごとの第3確率と第1確率の線形和をスコアとして算出し、最も高いスコアを与えるラベル系列の候補を認識結果として定めてもよい。
【0069】
上記の第1モデル、第3モデルとして、特許文献1もしくは非特許文献1に記載のエンコーダネットワーク、注意ベースネットワークを利用することができる。CTCブランチとして、特許文献1に記載のCTCモジュールまたは非特許文献1に記載のCTCモデルを利用することができる。
【0070】
次に、本実施形態に係る音声認識装置10の第2の機能構成例について、上記の機能構成例との差異点を主として説明する。特に断らない限り、上記の機能構成例との共通点については、上記の説明を援用する。
図7は、本実施形態に係る音声認識装置10の第2の機能構成例を示す説明図である。
【0071】
音声区間処理部116は、上記のようにフレームごとに当該フレームが音声区間に属する音声区間フレームであるか否かを判定する。1ブロックのブロック長がV+3フレームを超える場合には、そのブロックに非音声区間を挟んで複数の音声区間が含まれうる。
図7は、塗りつぶしの縦長の四角形が各1フレームを例示する。左端を基準として第3フレームから第9フレームまでの区間がブロックb、第7フレームから第12フレームまでの区間がブロックb+1に相当する。音声区間処理部116が、第1、第2、第7ないし第12フレームを活性フレームと判定し、第3ないし第6フレームを不活性フレームと判定する場合が仮定されている。
【0072】
この仮定のもとでは、音声区間処理部116は、第1、第2、第7ないし第12フレームを音声区間と判定し、第3ないし第6フレームを非音声区間と判定する。第1、第2フレームからなる第1音声区間と、第7ないし第12フレームからなる第2音声区間の間に、第3ないし第6フレームからなる非音声区間が挟まれる。音声区間処理部116は、処理遅延のためブロックbに係るフレームが第1ないし第7フレームとなる。よって、ブロックbは、2個の音声区間を有し、それら音声区間に挟まれる1個の非音声区間を有することなる。
【0073】
音声区間処理部116は、一例として、少なくとも1個の音声区間フレームを有するか否かに基づいて、そのブロックが音声区間であるか否かを判定する場合を仮定する。この場合、ブロックbと、その前後のブロックを含む一連の区間がいずれも音声区間ブロックとして判定される。そのため、これら一連の区間が発話処理部118において1個の共通の音声区間に属するものとして処理される。現実にブロックbにおいて、1つの音声区間の末尾と、次の音声区間の先頭が含まれる場合には、誤認識を生じかねない。
【0074】
また、音声区間処理部116は、1個のブロックにおける音声区間フレームの比率が所定の比率(例えば、0.5)を超えるか否かに基づいて、そのブロックが音声区間であるか否かを判定する場合を仮定する。この場合、ブロックbは非音声区間ブロックとして判定される。発話処理部118は、その直前のブロックb-1、その直後のブロックb+1は、それぞれ1つの音声区間、次の音声区間のそれぞれの一部として扱われる。しかしながら、非音声区間ブロックとして判定されたブロックbに1つの音声区間の末尾、次の音声区間の先頭が含まれる場合、発話内容の判定において、これらが欠落してしまう。この点も誤認識を生じる原因となる。
【0075】
そこで、音声区間処理部116は、ブロックごとに複数の音声区間フレームからなる音声区間を有するか否かを判定する。音声区間処理部116は、複数の音声区間を有するブロックを、それぞれの音声区間を含むブロックに分割することによりブロックの区分を調整する。本開示では、ブロックの区分を調整することを再ブロック化(reblocking)と呼ぶことがある。音声区間処理部116は、調整前のブロックについて、調整後のブロックごとに音声区間であることを示す音声区間情報を発話処理部118に出力する。
発話処理部118には、音声区間処理部116からの音声区間情報をもって調整後のブロックをなす区間が通知される。音声区間処理部116は、調整後の個々のブロックを、別個のブロックとして処理することができる。
【0076】
音声区間処理部116は、音声区間情報を隠れ状態処理部114に出力してもよい。隠れ状態処理部114は、音声区間処理部116から入力される音声区間情報を参照して音声区間を含むブロックに属するフレームを特定する。隠れ状態処理部114は、特定したフレームに対応する隠れ状態特徴量から音声区間を含むブロックごとに隠れ状態特徴量系列を構成し、構成した隠れ状態特徴量系列を発話処理部118に出力する。その場合、発話処理部118は、必ずしも発話処理部118に出力しなくてもよい。
【0077】
図7の例では、音声区間処理部116は、ブロックbは、非音声区間の中間よりも先行するフレームからなる先行ブロックb’と、より後続するフレームからなる後続ブロックb+1’に分割される。音声区間処理部116は、非音声区間の中間よりも後続する音声区間のフレームを直後のブロックbに統合し(concatenate)、新たな後続ブロックb+1’として構成してもよい。隠れ状態処理部114は、非音声区間の中間よりも後続する音声区間のフレームb
C+1~b
Eのそれぞれに対する隠れ状態特徴量[h
bC+1,…,h
bE]を、後続ブロックb+1に対する隠れ状態特徴量系列h
b+1を統合し、調整後の後続ブロックb+1’に対する隠れ状態特徴量系列h
b+1’を構成することができる。ここで、b
C+1、b
Eは、それぞれ非音声区間の中間の直後のフレーム、ブロックbの末尾のフレームを示す。
【0078】
また、音声区間処理部116は、非音声区間の中間よりも先行するフレームを直前の音声区間のブロックb-1に統合し、先行ブロックb-1’として構成してもよい。先行ブロックは、後続ブロックは、発話処理部118において、それぞれ1つの音声区間の末尾、次の音声区間の先頭として扱われるため、先頭または末尾が欠落せずに音声区間ごとの発話情報の推定が可能になる。
【0079】
図7に例示されるように、複数の音声区間を含むブロックは、互いに隣接する音声区間の間に非音声区間が挟まれる。そこで、音声区間処理部116は、非音声区間が後続する分割後のブロックを音声区間の末尾と判定し、非音声区間が先行する分割後のブロックを音声区間の先頭と判定してもよい。また、音声区間処理部116は、分割を行うか否かに関わらず、非音声区間が後続するブロックを音声区間の末尾と判定し、非音声区間が先行するブロックを音声区間の先頭と判定してもよい。音声区間処理部116は、個々のブロックが音声区間の末尾、先頭のいずれであるかを示す情報を音声区間情報に含めて発話処理部118に出力してもよい。
【0080】
発話処理部118は、音声区間処理部116から入力される音声区間情報に基づいて、個々のブロックが音声区間の末尾、先頭、または、途中であるかを判定することができる。発話処理部118は、この判定に基づいて一度に発話情報を探索する範囲を、モデルを用いた統計的な演算に基づく発話終了の判定に頼らずに画定することができる。
【0081】
(実験例)
次に、本開示に係る音声認識装置10に対して実施した実験例について説明する。実験では、本開示に係るVADの性能、音声認識処理に対する影響、および、計算時間に関して評価した。
特徴分析部112は、分析窓の窓長(window size)を512サンプル、ホップ長を128サンプルとし、80次元のメルスペクトルを音響特徴量として、入力データとする音声信号から算出した。第1モデルとして、2層の畳込み層を備え、個々の畳込み層のストライドが2、3となる2層の畳込み層、512次元の線形射影層、および、位置エンコードと、2048個の線形ユニットを用いた12層のトランスフォーマ層、および、層内正規化層、を備える。
【0082】
デコーダは、2048ユニットを有するNd層(例えば、6層)の階層を備える。アテンション次元数(attention dimension size)を256とし、4個のマルチヘッドアテンションを用いた。ブロック長Lblock、ホップ長Lhopを、それぞれ40、16とした。第2モデルとするVADブランチに線形層(linear layer)を適用した。事前学習した音声認識モデルのパラメータ数は、30.3Mとなった。
【0083】
第1段階のモデル学習において、重み係数0.3の損失関数としてCTC損失を用いてマルチタスク学習を行った。CTCのトークン確率に隠れ状態特徴量を射影するように、第1モデルの末端に線形層を加えた。第1モデルをなすトランスフォーマを、アダム最適化を用いて学習した。25000ステップのウォームアップステップ(warmup step)を伴い、CSJコーパス(Corpus of Spontaneous Japanese、日本語話し言葉コーパス)を用い学習率(training rate)を0.005として40エポック(epoch)の学習を行った。また、25000ステップのウォームアップステップを伴い、TED-LIUM(Technology Entertainment Design - Laboratoire d’Informatique de l’Universite du Maine)v2コーパス(Corpus of Spontaneous Japanese、日本語話し言葉コーパス)を用い学習率を0.005として80エポックの学習を行った。
【0084】
第2段階のモデル学習において、第2モデルとするアダム最適化を行ってVADブランチを学習した。上記の全データセットについて、10000ステップのウォームアップステップを伴い、学習率を0.00001として30エポックの学習を行った。
【0085】
第1のタスクでは、本実施形態に係るVADを別個のVADモデルを用いた手法(extra VAD model、以下、「別個VAD」と呼ぶ)とCTCベースVAD(以下、「CTCベース」と呼ぶ)と比較した。別個VADとは、音響特徴量に対して別個の数理モデルを用いてVADを実現する手法である。評価において、AMI(Augmented Multi-party Interaction)コーパス、CSJコーパス、TED-LIUMコーパスをそれぞれ用いた。これらのコーパスは、20分を超える音声データを含む。
【0086】
VADの指標として誤検出率(ER:detection error rate)を用いた。ERは、2種類の誤り率の総和に相当する。2種類の誤りには、誤警告(false alarm)と検出誤り(missed detection)とがある。誤警告期間は、発話されていないにも関わらず誤って音声区間として判定された期間に相当する。検出誤り期間は、本来音声区間、非音声区間であるにも関わらず、それぞれ非音声区間、音声区間として検出された期間に相当する。誤検出率ERは、式(5)に示すように、全音声区間N(t)に対する、検出誤り期間M(t)と誤警告期間F(t)の和の比率に相当する。式(5)において、t、Tは、それぞれフレーム、フレーム数を示す。
【0087】
【0088】
図8は、別個VAD、CTCベース、本実施形態のそれぞれについて、パラメータ数、AMIとCSJ、TED-LIUMv2のそれぞれを用いて得られる誤検出率ERを示す。別個VADは、AMI、CSJコーパスを用いる場合には、他の手法と比較して最も誤検出率ERが低いが、パラメータ数が4.45Mと最も多く、演算量が大きいことを示す。CTCベースは、音声認識とは別個に学習を要するパラメータを要しないが、誤検出率ERが他の手法と比較して高い。本実施形態では、第2モデルとしてFC層を含み、パラメータの学習を要するが、そのパラメータ数は別個VADに係るパラメータ数の1/5000以下と格段に少ない。また、本実施形態に係る誤検出率ERは、別個VADに係る誤検出率ERとほぼ同等となる。特に、TED-LIUMv2コーパスを用いた場合には、最も誤検出率ERが低くなる。
図8の結果は、本実施形態によれば、演算量を顕著に増加させずに音声区間を精度よく検出できることを示す。
【0089】
第2のタスクでは、目標値(Oracle)、比較例(Baseline)、CTCベース、本実施形態のそれぞれについて、CSJ、TED-LIUMv2コーパスを用いて既存の音声認識エンジンであるE2E-ASRツールキット(E2Eモデル)を用いて得られる音声認識結果の評価指標としてCER/WER(文字誤り率対単語誤り率比)を求めた。CER/WERは、単語誤り率(WER:Word Error Rate)に対する文字誤り率(CER:Character Error Rate)の比である。
目標値とは、データセットとして用いるコーパスの時系列情報に従って区分された既知の音声区間のE2Eモデルへの入力を行って得られた指標値を指す。
【0090】
「比較例」とは、隠れ状態特徴量系列の長さがその閾値Lthを超えるとき区分された音声区間内の音声信号をE2Eモデルへ入力して得られた指標値を指す。ここで閾値Lthを0、300、500の3段階とした。
「CTCベース」とは、CTCベースのVADにより判定された音声区間内の音声信号をE2Eモデルへ入力して得られた指標値を指す。
【0091】
「本実施形態」とは、本実施形態に係るVADにより判定された音声区間内の音声信号をE2Eモデルへ入力して得られた指標値を指す。音声区間の区分において再ブロック化を適用した。一回の発話が長い場合には、閾値Lthとして300フレームを超える長さを有する隠れ状態特徴量系列を区分した。なお、音声認識におけるビーム探索においてビーム幅を20とした。CER、WERは、認識結果と個々のコーパスをなすテキストとを照合して算出することができる。
【0092】
図9は、目標値、比較例、CTCベース、本実施形態のそれぞれについて、CSJコーパスを用いて得られた指標値を示す。
図9において、eval1、eval2、eval3とは、CSJコーパスの異なる部分を指す。eval1、eval2、eval3の音声区間の割合は、それぞれ80%、81%、77%である。但し、CTCベースについては、eval1、eval2、eval3それぞれに対する平均値を示す。
【0093】
図9によれば、eval1、eval2、eval3のそれぞれについて、本実施形態に係る指標値CER/WERが小さく、最も目標に係る指標値CER/WERに近似する。
図9の結果は、本実施形態により判定された音声区間により、音声区間の誤判定による音声認識率の低下を抑えることができることを示す。
【0094】
図10は、比較例(L
th=300)、本実施形態での再ブロック化の有無のそれぞれについて、eval1、eval2、eval3を用いて得られた指標値を示す。eval1、eval2、eval3のいずれについても、本実施形態での再ブロック化ありの場合、指標値CER/WERが最も小さくなった。このことは、再ブロック化により音声区間の欠落を防止することで、音声認識率の低下を抑えることができることを示す。
【0095】
なお、本実施形態での再ブロック化ありについては、3通りの連続非音声期間閾値V=5、10、16について、指標値CER/WERと実時間係数(RTF:real time factor)を求めた。実時間係数RTFとは、処理対象の音声区間の長さに対する演算時間の比に相当する。
【0096】
図11は、比較例(L
th=300)、本実施形態での再ブロック化ありのそれぞれについて、eval1、eval2、eval3を用いて得られた指標値とRTFを示す。本実施形態での再ブロック化ありについては、3通りの連続非音声期間閾値V=5、10、16のそれぞれについて指標値とRTFを求めた。
図11によれば、eval1、eval2、eval3のいずれについても、本実施形態での再ブロック化あり、V=10について指標値CER/WERが最も小さくなった。実時間係数RTFは、本実施形態での再ブロック化ありについては、V=5、10、16のいずれについても比較例よりもRTFが小さくなった。これは、比較例では非音声区間と判定された区間について常に処理がなされることと、短い発話であっても処理対象とする隠れ状態特徴量系列の量が維持されることが一因として推定される。本実施形態の再ブロック化ありについては、3通りのうちV=5についてRTFが最も小さくなった。但し、V=10に係るRTFは、V=5に係るRTFと有意差を生じない。このことは、V=10であっても、実時間性を確保しながら音声認識率の低下を効果的に抑えることができることを示す。
【0097】
以上に説明したように、本実施形態に係る音声認識装置10は、サブフレームごとに音声信号の音響特徴量を分析し、第1モデルを用いて音響特徴量に基づいて複数のサブフレームからなるフレームごとに隠れ状態特徴量を定め、第2モデルを用いて隠れ状態特徴量に基づいてフレームごとに音声区間を定め、第3モデルを用いて音声区間に属する複数のフレームからなるブロックごとの隠れ状態特徴量の系列に基づいて発話内容を定めるように構成される。
この構成により、発話内容を定めるために第3モデルにおいて用いられる隠れ状態特徴量が第1モデルにより得られ、得られた隠れ状態特徴量に基づいて明示的に音声区間を定めることができる。そのため、システム全体としての演算量やパラメータ数の増加を抑え、より正確に音声区間を定めることができる。正確に定められた音声区間により実時間性を担保しながら音声認識率の低下を抑制することができる。
【0098】
また、音声認識装置10は、さらに音声区間に属するフレームである音声区間フレームからなる当該音声区間を2個以上有するブロックを、個々に音声区間を含むブロックに分割するように構成されてもよい。
この構成により、発話内容を定めるために音声区間を含むブロックの欠落を防ぐことができる。そのため、音声区間の欠落による音声認識率の低下を回避することができる。
【0099】
また、音声認識装置10は、隠れ状態特徴量に基づいてフレームごとに音声区間に属する確率を音声区間確率として算出し、音声区間確率が所定の確率閾値以下となる不活性フレームのうち、当該不活性フレームが所定の閾値フレーム数(例えば、連続非音声期間閾値V)を超えて連続する区間を非音声区間と判定し、それ以外の区間を音声区間として判定し、音声区間確率が前記確率閾値より大きいフレームと、不活性フレームが閾値フレーム数を超えて連続しない区間を音声区間と判定するように構成されてもよい。
この構成により、音声区間確率が低い期間が一定期間以上連続する期間が非音声区間と判定され、それ以外の期間が音声区間と判定される。一時的または間欠的に無音となる期間が生じても、直ちに非音声区間と判定されず、発話内容が定まる可能性が残される。そのため、短期の無音期間を非音声区間と誤判定することによる音声認識率の低下を回避することができる。
【0100】
また、音声認識装置10は、第1モデルは、第1段階のモデルと第2段階のモデルを有し、第1段階のモデルを用いて、サブフレームごとの音響特徴量に基づいてフレームごとのフレーム特徴量に変換し、第2段階のモデルを用いて、フレーム特徴量に基づいて隠れ状態特徴量を推定するように構成されてもよい。
この構成により、サブフレーム単位で得られる音響特徴量が、サブフレームより長い単位であるフレーム単位で得られるフレーム特徴量に変換され、フレーム特徴量から隠れ状態特徴量が得られる。そのため、音声認識率または音声区間の誤判定率の低下を抑えながら、音響特徴量のダウンサンプリングによる演算量の減少を図ることができる。
【0101】
また、音声認識装置10は、音声区間をなす最新のブロックまでの隠れ状態特徴量の系列に対応する発話内容の候補ごとの推定確率を算出し、推定確率が最も高い発話内容を定めるように構成されてもよい。
この構成により、その時点で最新の音声区間に係る発話内容として、最も確からしい発話内容が定まる。そのため、実時間性を担保しながら音声認識率の低下を抑えることができる。
【0102】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。即ち、上記の開示は特定の例を含むものであり、本明細書、図面、請求の範囲から種々の変形が明らかであり、開示の範囲に限定されるべきではない。
【符号の説明】
【0103】
10…音声認識装置、20…マイクロホン、110…制御部、112…特徴分析部、114…隠れ状態処理部、116…音声区間処理部、118…発話処理部、120…モデル学習部、152…プロセッサ、156…ドライブ部、158…入力部、160…出力部、162…ROM、164…RAM、166…補助記憶部、168…インタフェース部