(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】判定装置、学習装置、判定方法及び判定プログラム
(51)【国際特許分類】
G10L 15/08 20060101AFI20221213BHJP
G10L 15/16 20060101ALI20221213BHJP
【FI】
G10L15/08 200Z
G10L15/16
(21)【出願番号】P 2021537548
(86)(22)【出願日】2019-08-08
(86)【国際出願番号】 JP2019031517
(87)【国際公開番号】W WO2021024491
(87)【国際公開日】2021-02-11
【審査請求日】2021-11-19
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】小川 厚徳
(72)【発明者】
【氏名】デルクロア マーク
(72)【発明者】
【氏名】苅田 成樹
(72)【発明者】
【氏名】中谷 智広
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2011-243147(JP,A)
【文献】特開2018-60047(JP,A)
【文献】米国特許出願公開第2017/0221474(US,A1)
【文献】米国特許第10032463(US,B1)
【文献】小川厚徳他,一対一の仮説比較を行うencoder-classifierモデルを用いたNベスト音声認識,日本音響学会2018年春季研究発表会講演論文集[CD-ROM],2018年03月,pp.23-24
【文献】田中智大他,複数仮説を考慮したニューラル誤り訂正言語モデルの検討,電子情報通信学会技術研究報告,2018年08月,Vol.118,No.198,pp.31-36
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
音声認識精度のスコアが対応付けられたNベスト仮説の入力を受け付ける入力部と、
入力を受け付けた前記Nベスト仮説のうち、判定対象である二つの仮説を選択する選択部と、
選択された二つの仮説が与えられたとき、前記二つの仮説を隠れ状態ベクトルに変換し、前記二つの仮説の隠れ状態ベクトルを基に前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、前記複数の補助モデルでそれぞれ変換された前記二つの仮説の隠れ状態ベクトルを基に、前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとを用いて、前記二つの仮説の精度の高低を判定する判定部と、
を有することを特徴とする判定装置。
【請求項2】
前記選択部は、前記Nベスト仮説のスコアの昇順に前記二つの仮説を選択することを特徴とする請求項1に記載の判定装置。
【請求項3】
前記判定部は、前記メインモデルから出力された判定情報、または、各補助モデルから出力された判定情報と前記メインモデルから出力された判定情報とに対して計算した重み付け和の値、に基づいて前記二つの仮説の精度の高低を判定することを特徴とする請求項1または2に記載の判定装置。
【請求項4】
各補助モデルは、前記二つの仮説を、再帰的ニューラルネットワークを用いて隠れ状態ベクトルに変換し、ニューラルネットワークを用いて、前記隠れ状態ベクトルを基に二つの系列の精度の高低の並びが正しいことを示す事後確率を出力し、
前記メインモデルは、ニューラルネットワークを用いて、前記複数の補助モデルでそれぞれ変換された前記二つの仮説の隠れ状態ベクトルを基に二つの系列の精度の高低の並びが正しいことを示す事後確率を出力する
ことを特徴とする請求項1~3のいずれか一つに記載の判定装置。
【請求項5】
音声認識精度が既知である学習用の二つの仮説の入力を受け付ける入力部と、
前記二つの仮説が与えられたとき、前記二つの仮説を隠れ状態ベクトルに変換し、前記二つの仮説の隠れ状態ベクトルを基に前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、前記複数の補助モデルでそれぞれ変換された前記二つの仮説の隠れ状態ベクトルを基に、前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとに対し、各ニューラルネットワークが前記二つの仮説の精度の高低を判定するタスクを個別に行うとみなしたマルチタスク学習を行わせる学習部と、
を有することを特徴とする学習装置。
【請求項6】
前記学習部は、前記二つの仮説のうち音声認識精度がより高い仮説に他方の仮説よりも高い順位が付与されている場合に正解ラベルを付与して前記複数の補助モデル及び前記メインモデルに学習させ、前記二つの仮説のうち音声認識精度がより高い仮説に他方の仮説よりも低い順位が付与されている場合に誤りラベルを付与して前記複数の補助モデル及び前記メインモデルに学習させることを特徴とする請求項5に記載の学習装置。
【請求項7】
前記学習部は、各ニューラルネットワークによって実行された各タスクについて所定の損失をそれぞれ計算し、各損失の重み付け和に基づいて、各ニューラルネットワークのパラメータの値を更新することを特徴とする請求項5または6に記載の学習装置。
【請求項8】
各補助モデルは、前記二つの仮説を、再帰的ニューラルネットワークを用いて隠れ状態ベクトルに変換し、ニューラルネットワークを用いて、前記隠れ状態ベクトルを基に二つの系列の精度の高低の並びが正しいことを示す事後確率を出力し、
前記メインモデルは、ニューラルネットワークを用いて、前記複数の補助モデルでそれぞれ変換された前記二つの仮説の隠れ状態ベクトルを基に二つの系列の精度の高低の並びが正しいことを示す事後確率を出力する
ことを特徴とする請求項5~7のいずれか一つに記載の学習装置。
【請求項9】
判定装置が実行する判定方法であって、
音声認識精度のスコアが対応付けられたNベスト仮説の入力を受け付ける工程と、
入力を受け付けた前記Nベスト仮説のうち、判定対象である二つの仮説を選択する工程と、
選択された二つの仮説が与えられたとき、前記二つの仮説を隠れ状態ベクトルに変換し、前記二つの仮説の隠れ状態ベクトルを基に前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、前記複数の補助モデルでそれぞれ変換された前記二つの仮説の隠れ状態ベクトルを基に、前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとを用いて、前記二つの仮説の精度の高低を判定する工程と、
を含んだことを特徴とする判定方法。
【請求項10】
音声認識精度のスコアが対応付けられたNベスト仮説の入力を受け付けるステップと、
入力を受け付けた前記Nベスト仮説のうち、判定対象である二つの仮説を選択するステップと、
選択された二つの仮説が与えられたとき、前記二つの仮説を隠れ状態ベクトルに変換し、前記二つの仮説の隠れ状態ベクトルを基に前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、前記複数の補助モデルでそれぞれ変換された前記二つの仮説の隠れ状態ベクトルを基に、前記二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとを用いて、前記二つの仮説の精度の高低を判定するステップと、
をコンピュータに実行させるための判定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、学習装置、判定方法及び判定プログラムに関する。
【背景技術】
【0002】
音声認識は、人間が発した音声(発話)を計算機により単語列(テキスト)に変換する技術である。通常、音声認識システムは、入力された一つの発話に対して、音声認識スコアの最も高い仮説(音声認識結果)である一つの単語列(1ベスト仮説)を出力する。ただし、音声認識装置による音声認識の精度は、100%ではない。このため、一つの入力発話に対して、1ベスト仮説のみを出力するのではなく、N(≧2)個の仮説を出力して、Nベストリスコアリング装置を用いて、そのN個仮説の中から音声認識精度が最も高いと推定される仮説を最終的な音声認識結果として出力する、Nベストリスコアリングと呼ばれる手法がある。なお、NベストリスコアリングとNベストリランキングとは同義として扱われている。
【0003】
Nベストリスコアリング方法では、音声認識結果である仮説の中からスコアの高い所定数(N個)の仮説を出力する。そして、Nベストリスコアリング方法では、この中から尤もらしい仮説を音声認識結果として出力する。ここで、スコアが最大となる仮説が必ずしもベストな仮説とは限らない。このため、二つの仮説のうち尤もらしい仮説(正解に近い仮説)を選択する二択問題をトーナメント方式で繰り返し適用することで、尤もらしい仮説を選択するリランキング装置が提案されている(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Atsunori Ogawa, Marc Delcroix, Shigeki Karita, Tomohiro Nakatani, “RESCORING N-BEST SPEECH RECOGNITION LIST BASED ON ONE-ON-ONE HYPOTHESIS COMPARISON USING ENCODER-CLASSIFIER MODEL”, IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) , pp. 6099-6103, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載のリランキング方法では、N仮説をスコアの降順に並べ、先頭の仮説(スコアが最も高い仮説)から順に二つの仮説を選択し、学習済みの二択問題を解くニューラルネットワーク(NN)にこれらの仮説を入力することによって、いずれかの仮説を選択する処理を繰り返し行い、最終的に選択された仮説を音声認識結果として出力することが記載されている。非特許文献1に記載のリランキング方法では、一定の精度で音声認識結果を出力するが、さらに、近年では、音声認識結果の出力に対して、精度の安定化が要求されている。
【0006】
本発明は、上記に鑑みてなされたものであって、ある音声信号に対する解の候補として挙げられた複数の仮説に対し、最も精度が高い仮説を安定した精度で判定することができる判定装置、学習装置、判定方法及び判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る判定装置は、音声認識精度のスコアが対応付けられたNベスト仮説の入力を受け付ける入力部と、入力を受け付けたNベスト仮説のうち、判定対象である二つの仮説を選択する選択部と、選択された二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、複数の補助モデルでそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとを用いて、二つの仮説の精度の高低を判定する判定部と、を有することを特徴とする。
【0008】
また、本発明に係る学習装置は、音声認識精度が既知である学習用の二つの仮説の入力を受け付ける入力部と、二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、複数の補助モデルでそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとに対し、各ニューラルネットワークが二つの仮説の精度の高低を判定するタスクを個別に行うとみなしたマルチタスク学習を行わせる学習部と、を有することを特徴とする。
【0009】
また、本発明に係る判定方法は、判定装置が実行する判定方法であって、音声認識精度のスコアが対応付けられたNベスト仮説の入力を受け付ける工程と、入力を受け付けたNベスト仮説のうち、判定対象である二つの仮説を選択する工程と、選択された二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、複数の補助モデルでそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとを用いて、二つの仮説の精度の高低を判定する工程と、を含んだことを特徴とする。
【0010】
また、本発明に係る判定プログラムは、音声認識精度のスコアが対応付けられたNベスト仮説の入力を受け付けるステップと、入力を受け付けたNベスト仮説のうち、判定対象である二つの仮説を選択するステップと、選択された二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表される複数の補助モデルと、複数の補助モデルでそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるような、ニューラルネットワークで表されるメインモデルとを用いて、二つの仮説の精度の高低を判定するステップと、をコンピュータに実行させる。
【発明の効果】
【0011】
本発明によれば、ある音声信号に対する解の候補として挙げられた複数の仮説に対し、最も精度が高い仮説を、安定した精度で判定することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態1に係るリランキング装置の機能構成の一例を示す図である。
【
図2】
図2は、第1補助モデル~第M補助モデル及びメインモデルの構成を説明する図である。
【
図3】
図3は、第1補助モデルの構築例を示す図である。
【
図4】
図4は、実施の形態1に係るリランキング処理の処理手順を示すフローチャートである。
【
図5】
図5は、
図1に示すリランキング装置が、Nベスト仮説に対して実行するリランキング処理を説明する図である。
【
図6】
図6は、実施の形態2に係る学習装置の機能構成の一例を示す図である。
【
図8】
図8は、実施の形態2に係る学習処理の処理手順を示すフローチャートである。
【
図9】
図9は、実施の形態3に係るリランキング装置の要部構成を示す図である。
【
図10】
図10は、実施の形態3に係るリランキング処理の処理手順を示すフローチャートである。
【
図11】
図11は、プログラムが実行されることにより、リランキング装置及び学習装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0014】
本実施の形態では、音声認識結果であるN(N≧2)ベスト仮説のうち、最終的な音声認識結果である最も音声認識精度が高い仮説(単語列)を得るためのモデルを用いたリランキング装置、及び、Nベストのリランキング処理に用いるモデルを実現する学習装置について説明する。なお、本実施の形態については、Nベストリスコアリングではなく、Nベストリランキングと表現を統一して説明する。
【0015】
まず、本実施の形態に係るリランキング装置がNベスト仮説のリランキングを行う上で、本実施の形態におけるモデルが有すべき必要最低限な機能について述べる。本実施の形態では、Nベスト仮説から最も音声認識精度が高い仮説(オラクル仮説)を、最終的な音声認識結果として見つけ出すことが目的である。
【0016】
すなわち、本実施の形態では、Nベスト仮説の中からオラクル仮説をリランキングにより見つけ出すためにモデルに必要最低限な機能は、Nベスト仮説中の二つの仮説に着目したときに、どちらの仮説の方がより高い音声認識精度を有しているかを判定できることである点に着目した。言い換えると、本実施の形態におけるモデルに必要最低限な機能は、Nベスト仮説中の二つの仮説を対象に、一対一の仮説比較を行うことができることである。
【0017】
そこで、本実施の形態に係るリランキング装置は、一対一の二つの仮説の比較を行う機能を持つモデルを用いることによって、二つの仮説のうち音声認識精度がより高い仮説を判定する機能を持たせた。さらに、本実施の形態では、モデルとして、ニューラルネットワーク(NN)で表されるメインモデルと、NNで表される複数の補助モデルとを用いる。各補助モデルは、二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定するモデルである。メインモデルは、複数の補助モデルでそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定するモデルである。
【0018】
そして、本実施の形態に係るリランキング装置は、Nベスト仮説のスコアの昇順に二つの仮説を選択し、選択した二つの仮説のうち、音声認識精度がより高い仮説を次の判定対象の一方の仮説として残し、未判定の仮説から昇順に他方の仮説を選択して、複数の補助モデル及びメインモデルを用いた比較を行う。本実施の形態に係るリランキング装置は、前回の判定で音声認識精度がより高いと判定された仮説を判定対象の一方の仮説として選択し、未判定の仮説のうち最も順位の低い仮説を他方の仮説として選択し、複数の補助モデル及びメインモデルによる二つの仮説に対する比較処理を繰り返す。これによって、本実施の形態では、安定した精度で、Nベスト仮説の中からオラクル仮説を見つけ出すことを可能にした。
【0019】
[実施の形態1]
[リランキング装置]
まず、実施の形態1に係るリランキング装置について説明する。このリランキング装置は、音声認識結果であるNベスト仮説のうちの二つの仮説に対して音声認識精度の高低の判定を繰り返し実行して、最も音声認識精度の高い仮説を最終的な音声認識結果として出力する。
【0020】
図1は、実施の形態1に係るリランキング装置の機能構成の一例を示す図である。実施の形態1に係るリランキング装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。
【0021】
リランキング装置10は、音声認識装置2から出力されたNベスト仮説の入力を受け付ける。そして、リランキング装置10は、このNベスト仮説のうち、二つの仮説に対する音声認識精度の高低についての判定を、全Nベスト仮説について実行し、音声認識精度が高い仮説として残った仮説を、スコアと対応付けて、最終的な音声認識結果として出力する。なお、音声認識装置2は、1発話が入力されると、例えば、音声認識用のモデルを用いて音声認識を行い、音声認識結果としてNベスト仮説を出力する。音声認識用のモデルは、学習用の複数の発話と、各発話に対応する書き起こし(正解単語列)を学習データとして用いて学習(モデルパラメータが最適化)されている。
【0022】
リランキング装置10は、モデル記憶部11、仮説入力部12、仮説選択部13(選択部)、特徴量抽出部14、判定部15、実行制御部16及び出力部17を有する。
【0023】
モデル記憶部11は、補助モデル及びメインモデル110を記憶する。
図1の例では、モデル記憶部11は、補助モデルとして、第1補助モデル111~第M補助モデル11Mを記憶する。第1補助モデル111~第M補助モデル11M及びメインモデル110は、NNで表されるモデルである。第1補助モデル111~第M補助モデル11M及びメインモデル110は、音声認識精度が既知である学習用のNベスト仮説を用いて予め学習される。
【0024】
第1補助モデル補助111~第M補助モデル11Mは、選択された二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定できるような、NNで表される。第1補助モデル111~第M補助モデル11Mは、学習用のNベスト仮説のうち二つの仮説が与えられたときに、二つの仮説について、その二つの仮説の音声認識精度の高低を判定できるように学習される。第1補助モデル111~第M補助モデル11Mは、二つの仮説を、それぞれRNNを用いて隠れ状態ベクトルに変換する。そして、第1補助モデル111~第M補助モデル11Mは、NNを用いて、隠れ状態ベクトルを基に二つの仮説の精度の高低の並びが正しいことを示す事後確率をそれぞれ生成する。
【0025】
メインモデル110は、第1補助モデル111~第M補助モデル11Mにおいてそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるような、NNで表される。メインモデル110は、第1補助モデル111~第M補助モデル11Mにおいてそれぞれ変換された学習用の二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるように学習される。メインモデル110は、NNを用いて、第1補助モデル111~第M補助モデル11Mにおいてそれぞれ変換された学習用の二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低の並びが正しいことを示す事後確率を生成する。
【0026】
第1補助モデル111~第M補助モデル11M及びメインモデル110は、各ニューラルネットワークが二つの仮説の精度の高低を判定するタスクを個別に行うとみなしたマルチタスク学習によって学習が実行される。
【0027】
仮説入力部12は、Nベスト仮説の入力を受け付ける。Nベスト仮説は、音声認識装置2が出力する。或いは、他の装置が、ネットワーク等を介して、Nベスト仮説をリランキング装置10に入力してもよい。
【0028】
仮説選択部13は、入力を受け付けたNベスト仮説のうち、一対一の比較対象である二つの仮説を、Nベスト仮説のスコアの昇順に選択する。仮説選択部13は、最初の判定においては、Nベスト仮説のうち、スコアが最下位である仮説と、最下位の仮説より1つ順位が高い仮説とを判定対象として選択する。仮説選択部13は、以降の判定においては、二つの仮説の一方の仮説として、前回の判定で音声認識精度がより高いと判定された仮説を選択する。そして、仮説選択部13は、二つの仮説の他方の仮説として、未判定の仮説のうち、最もスコアの順位が低い仮説を選択する。このように、仮説選択部13は、全Nベスト仮説について一対一の比較が実行されるように、Nベスト仮説から、昇順に、比較対象の二つの仮説を選択する。
【0029】
特徴量抽出部14は、一対一の比較対象である二つの仮説について、それぞれの特徴量を抽出する。特徴量抽出部14は、一対一の比較対象であるNベスト仮説中のv位の仮説とNベスト仮説中のu(u<v≦N)位の仮説(単語列)と、について、それぞれの特徴量を抽出する。特徴量抽出部14は、仮説中の各単語単位で特徴量ベクトルを抽出する。各単語の特徴量ベクトルは、例えば、離散値である単語IDをNNによる単語の埋め込み処理により連続値のベクトルとして表現した単語ベクトルに、音声認識処理により得られる単語単位の音響スコア(対数尤度)や言語スコア(対数確率)などを補助特徴量として、単語ベクトルに連結したものである。
【0030】
判定部15は、一対一の比較対象の二つの仮説に対し、第1補助モデル111~第M補助モデル11M及びメインモデル110を用いて、二つの仮説の精度の高低を判定する。判定部15は、一対一の比較対象であるv位の仮説とu位の仮説とを第1補助モデル111~第M補助モデル11Mにそれぞれ入力し、メインモデル110による出力結果を用いて、どちらの仮説が高い音声認識精度を有しているかを判定する。u位及びv位で表す仮説の順位は、Nベスト仮説において既に付与されているものである。リランキング装置10では、順位の再設定を行わない。
【0031】
ここで、第1補助モデル111~第M補助モデル11Mは、u位の仮説の特徴量及びv位の仮説の特徴量が入力されると、u位の仮説がv位の仮説よりも音声認識精度が高いことを示す事後確率を出力する。メインモデル110は、第1補助モデル111~第M補助モデル11Mにおいてそれぞれ変換された二つの仮説の隠れ状態ベクトルが入力されると、u位の仮説がv位の仮説よりも音声認識精度が高いことを示す事後確率を出力する。判定部15は、メインモデル110による事後確率が0.5以上である場合には、u位の仮説がv位の仮説よりも音声認識精度が高いと判定する。また、判定部15は、メインモデル110による事後確率が0.5未満である場合には、v位の仮説がu位の仮説よりも音声認識精度が高いと判定する。
【0032】
なお、リランキング装置10では、特徴量抽出部14の機能を、第1補助モデル111~第M補助モデル11Mが有してもよい。この場合、判定部15は、比較対象である二つの仮説を第1補助モデル111~第M補助モデル11Mにそれぞれ入力する。
【0033】
そして、判定部15は、比較対象の二つの系列のうち、より精度が高いと判定した仮説を次の判定時における比較対象として残し、他方の仮説を以降の比較対象から外す。仮説選択部13は、判定部15によって精度が高いと判定された仮説を二つの系列の一方の仮説として選択し、判定部15による判定が行われていない仮説のうち最もスコアの順位が低い仮説を他方の仮説として選択する。具体的には、前述したように、仮説選択部13は、判定部15が残した仮説を二つの仮説の一方の仮説として選択し、Nベスト仮説のうち、前回比較対象となった仮説の順位の1つ上の順位の仮説を二つの仮説の他方の仮説として選択する。
【0034】
実行制御部16は、判定部15による判定処理と仮説選択部13による選択処理とを、所定条件に達するまで繰り返す制御を行う。この場合、実行制御部16は、全Nベスト仮説について一対一の比較が実行されるように、仮説選択部13における比較対象の二つの仮説の選択処理、特徴量抽出部14における特徴量抽出処理、及び、判定部15における判定処理を繰り返す制御を行う。具体的に、実行制御部16は、1位の仮説に対して比較処理が行われるまで、仮説の選択処理、特徴量抽出処理及び判定処理を繰り返す制御を行う。
【0035】
出力部17は、仮説の選択処理、特徴量抽出処理、判定処理及び順位の設定処理が繰り返された結果、所定条件に達した場合、Nベスト仮説のうち、比較対象として残っている仮説を、最も音声認識精度が高い仮説、すなわち、最終的な音声認識結果として出力する。出力部17は、最後の判定処理で精度が高いと判定された仮説を最終的な音声認識結果として出力する
【0036】
[定義]
まず、リランキング装置10に必要最低限な機能要件を数式で定義する。W(u)=w1
(u),w2
(u),・・・,wL(W(u))
(u)を、Nベスト仮説中のu位の仮説(単語列)と定義する。また、L(W(u))を、W(u)の長さ(単語数)と定義する。
【0037】
また、A(u)=a1
(u),a2
(u),・・・,aL(W(u))
(u)をW(u)に対応する補助特徴量ベクトル列と定義する。W(u)中のi番目の単語wi
(u)の補助特徴量ベクトルai
(u)は、例えば、音声認識装置による音声認識処理の結果として得られる音響スコア(対数尤度)や言語スコア(対数確率)などである(詳細は、例えば、A. Ogawa and T. Hori, “Error detection and accuracy estimation in automatic speech recognition using deep bidirectional recurrent neural networks”, Speech Communication, vol. 89, pp.70-83, May 2017.(以降、参考文献1とする。)を参照)。
【0038】
補助特徴量ベクトルai
(u)は、17次元の基本の補助特徴量ベクトルを含む。さらに、補助特徴量ベクトルai
(u)では、前向き(forword)LSTMLMの単語予測スコアを18次元の補助特徴量として用いてもよい。LSTMLMは、長短期記憶メモリ(long short-term memory:LSTM)ユニットを用いた再帰的ニューラルネットワーク(Recurrent Neural Network:RNN)言語モデルであり、後述するように、本実施の形態1~3における各補助モデルを構成するモデルである。そして、補助特徴量ベクトルai
(u)では、後向き(backword)LSTMLMの単語予測スコアを19次元の補助特徴量として用いてもよい。後向きLSTMLMは、未来の単語列から現在の単語の生起確率を予測するものであるであり、前向きLSTMLMと相補的な単語予測能力を持つことから各補助モデルが出力する判定情報の精度向上が期待できる。
【0039】
また、X(u)=x1
(u),x2
(u),・・・,xL(W(u))
(u)をW(u)に対応する特徴量ベクトル列と定義する。W(u)中のi番目の単語wi
(u)の特徴量ベクトルxi
(u)は、xi
(u)=concat(embed(wi
(u)),ai
(u))で得られる。ここで、concat(・)は、ベクトルの連結処理を表す。また、embed(・)は、NNによる単語の埋め込み処理(離散値の単語IDを連続値のベクトルで表現する処理)(詳細は、例えば、坪井祐太,海野裕也,鈴木潤,深層学習による自然言語処理,MLP機械学習プロフェッショナルシリーズ,講談社,2017.(以降、参考文献2とする。)を参照)を表す。なお、embed(・)を行うNNも第1補助モデル111~第M補助モデル11Mの一部であり、そのパラメータは、後述のエンコーダRNN及び2クラス分類FFNNのパラメータと同時に学習(最適化)される。
【0040】
そして、P(0|X(u),X(v))を、二つの仮説W(u),W(v)の精度の高低の並びが正しいことを示す事後確率と定義する。P(0|X(u),X(v))は、第1補助モデル111~第M補助モデル11M及びメインモデル110のそれぞれにおいて、生成される。
【0041】
[補助モデル及びメインモデルの構成]
第1補助モデル111~第M補助モデル11M、メインモデル及び構成について説明する。
図2は、第1補助モデル111~第M補助モデル11M及びメインモデル110の構成を説明する図である。
図2では、処理の流れを説明するため、判定部15も記載される。
【0042】
図2に示すように、各補助モデルは、それぞれ、二つの第1変換部、第1結合部及び判定情報生成部を有する。具体的に、第1補助モデル111を例に説明する。第1補助モデル111は、二つの第1変換部111-1u,111-1v、第1結合部111-2及び判定情報生成部111-3を有する。
【0043】
第1変換部111-1uは、比較対象の二つの仮説W(u),W(v)のうち、仮説W(u)の特徴量X(u)の入力を受け付け、隠れ状態ベクトルに変換する。第1変換部111-1vは、比較対象の二つの仮説W(u),W(v)のうち、仮説W(v)の特徴量X(v)の入力を受け付け、隠れ状態ベクトルに変換する。
【0044】
第1結合部111-2は、第1変換部111-1u,第1変換部111-1vが変換した二つの隠れ状態ベクトルを結合する。判定情報生成部111-3は、二つの仮説W(u),W(v)の精度の高低の並びが正しいことを示す事後確率P(0|X(u),X(v))を、判定情報として生成する。他の補助モデルも、第1補助モデル111と同じ構成であり、与えられた二つの仮説W(u),W(v)に対し、それぞれ、隠れ状態ベクトルの変換、隠れ状態ベクトルの結合、及び、判定情報の生成を含むタスクをそれぞれ実行できるようにしている。なお、各補助モデルは、学習時におけるランダム初期化時における初期値がそれぞれ異なる。
【0045】
メインモデル110は、メイン結合部110-1と、判定情報生成部110-2とを有する。メイン結合部110-1は、第1補助モデル111~第M補助モデル11Mでそれぞれ変換された二つの仮説の隠れ状態ベクトルを結合する。判定情報生成部111-3は、二つの仮説W(u),W(v)の精度の高低の並びが正しいことを示す事後確率P(0|X(u),X(v))を、判定情報として生成する。
【0046】
Nベスト仮説中のu番目の仮説W(u)とv番目の仮説W(v)(u<v≦N)の特徴量ベクトル列X(u),X(v)が各補助モデルに与えられたとき、メインモデル110は、記号y={0}の事後確率P(0|X(u),X(v))を出力する。
【0047】
判定部15は、メインモデル110が出力した事後確率P(0|X(u),X(v)を受け取り、判定を行う。P(0|X(u),X(v))は、u位の仮説とv位の仮説との順位の上下関係が正しさを確率的に表現する事後確率である。判定部15は、Nベストリランキングモデルから出力された事後確率P(0|X(u),X(v))を取得し、取得した事後確率を所定の閾値と比較して、u位の仮説及びv位の仮説のいずれがより音声認識精度が高いかを判定する。
【0048】
具体的には、判定部15は、事後確率P(0|X(u),X(v))が0.5以上である場合には、u位の仮説がv位の仮説よりも音声認識精度が高いと判定し、y=0を出力する。また、判定部15は、事後確率P(0|X(u),X(v))が0.5未満である場合には、v位の仮説がu位の仮説よりも音声認識精度が高いと判定し、y=1を出力する。
【0049】
すなわち、判定部15は、以下の(1-1)式及び(1-2)式に示すように、u位の仮説及びv位の仮説のいずれがより音声認識精度が高いかを判定する。
【0050】
P(0|X(u),X(v))≧0.5
if WER(Word error rate) of W(u)≦WER of W(v)・・・(1-1)
P(0|X(u),X(v))<0.5
otherwise ・・・(1-2)
【0051】
ここで、与えられた仮説(単語列)の音声認識精度を返す関数ΣyP(y|X(u),X(v))=1であるため、(1-1)式の1段目に示す不等式が満足される場合、判定部15は、仮説W(u)は仮説W(v)以上の音声認識精度を持つと判定する。また、(1-2)式の不等式が満足される場合、判定部15は、W(u)はW(v)よりも低い音声認識精度を持つと判定する。
【0052】
したがって、(1-1)式の1段目に示す不等式が満足される場合、W(u)及びW(v)のランキングの上下関係(u<v)が正しいと推定される。このため、判定部15は、W(u)を、W(v)との一対一の仮説比較においてW(v)よりも音声認識精度が高い仮説として残し、次の一対一の仮説比較では、W(v)として使用する。なお、判定部15は、W(v)を、W(u)よりも音声認識精度が低い仮説として扱い、最も音声認識精度が高い仮説の候補、すなわち、最終的な音声認識結果の候補から除外する。
【0053】
そして、(1-2)式の1段目不等式が満足される場合は、W(u)及びW(v)のランキングの上下関係は、誤りであると推定される。すなわち、W(u)及びW(v)のランキングの上下関係は逆であると推定される。このため、判定部15は、W(v)を、W(u)との一対一の仮説比較においてW(u)よりも音声認識精度が高い仮説として残し、次の一対一の仮説比較では、W(v)として引き続き使用する。なお、判定部15は、元のW(u)を、元のW(v)よりも音声認識精度が低い仮説として扱い、最も音声認識精度が高い仮説の候補、すなわち、最終的な音声認識結果の候補から除外する。
【0054】
[補助モデルの構築例]
第1補助モデル111~第M補助モデル11Mの構築例について説明する。第1補助モデル111~第M補助モデル11Mは、同じ構成であるため、
図3を参照し、第1補助モデル111の構築例を説明する。
図3は、第1補助モデル111の構築例を示す図である。なお、
図3では、簡単のため、単語の埋め込み処理embed(・)を行うNNは省略されている。以下、その詳細について説明する。
【0055】
比較対象の仮説W(u)の長さ(単語数)L(W(u))と仮説W(v)(u<v≦N)の長さL(W(v))とが異なる可能性がある。この長さの違いを吸収するため、第1補助モデル111は、二つの仮説の特徴量を、RNNを用いて隠れ状態ベクトルに変換する。具体的には、第1補助モデル111は、この処理を行うために、エンコーダ-デコーダモデル(詳細は、例えば、参考文献2参照)のエンコーダRNN111-1aを第1変換部111-1u,111-1vとして有する。
【0056】
第1補助モデル111は、エンコーダRNN111-1aを用いてW(u)とW(v)を固定長の隠れ状態ベクトルで表現する。そして、第1補助モデル111~第M補助モデル11Mは、これらの隠れ状態ベクトルを用いることによって、W(u)とW(v)とを公平に比較することが可能になる。
【0057】
エンコーダRNN111-1aの処理について説明する。エンコーダRNN111-1aは、RNNの一種である長短期記憶メモリ(long short-term memory:LSTM)ユニット(詳細は、例えば、参考文献2参照)を有する。LSTMユニットは、W(u)のi番目の単語wi
(u)の特徴量ベクトルxi
(u)と、i-1番目の隠れ状態ベクトルh{i-1}
(u)が与えられたとき、i番目の隠れ状態ベクトルhi
(u)を以下の(2)式のように与える。
【0058】
hi
(u)=lstm(xi
(u), h{i-1}
(u))・・・(2)
【0059】
ここで、lstm(・)は、1層単方向(unidirectional)のLSTMユニットの処理を示す。また、hi
(u)=0(ゼロベクトル)である。hi
(u)は、単語列w1
(u),w2
(u),・・・,wi
(u)の特徴量ベクトル列x1
(u),x2
(u),・・・,xi
(u)をエンコード(符号化)したものである。エンコーダRNN111-1aは、この処理を、特徴量ベクトル列X(u)中の各特徴量ベクトルxi
(u)に対して繰り返すことで、X(u)をエンコードした隠れ状態ベクトルhL(W(u))
(u)を得ることができる。
【0060】
エンコーダRNN111-1aは、同様の処理を特徴量ベクトル列X
(v)に対しても行い、X
(v)をエンコードした隠れ状態ベクトルh
L(W(v))
(v)を得る。なお、X
(u)に対して処理を行うLSTMユニットと、X
(v)に対して処理を行うLSTMユニットは同じもの、すなわち、パラメータが共有されていてもよいし、別のLSTMユニットであってもよい。また、
図3では、x
L(W(u))
(u),x
L(W(v))
(v),h
L(W(u))
(u),h
L(W(v))
(v)の下付き部分L(W(u))は、L(W
(u))と示している。
【0061】
第1補助モデル111は、以上で得た二つの隠れ状態ベクトルhL(W(u))
(u),hL(W(v))
(v)を、第1結合部111-2で連結した隠れ状態ベクトルh{(u,v)}をエンコーダRNN111-aの出力として以下の(3)式のように得る。
【0062】
h{(u,v)}=concat(hL(W(u))
(u),hL(W(v))
(v))・・・(3)
【0063】
そして、第1補助モデル111は、エンコーダRNN111-1aの後段に、クラス分類(y=0 or 1)を行うためのNNを連結する。例えば、第1補助モデル111は、1クラス分類のためのNNとして、1層のフィードフォワード型NN(FFNN)111-3a(詳細は、例えば、参考文献2を参照)を、判定情報生成部113として用いる。エンコーダRNN111-1aの出力として得た隠れ状態ベクトルh{(u,v)}が、1層の1クラス分類FFNN111-3aに入力され、最終的に、1クラスのy={0}の事後確率P(y|X(u),X(v))を以下の(4),(5)式のように得ることができる。
【0064】
z{(u,v)}=linear(h{(u,v)})・・・(4)
P(y|X(u),X(v))=sigmoid(z{(u,v)})y・・・(5)
【0065】
ここで、linear(・)は、線形変換処理(詳細は、例えば、参考文献2を参照)を表す。sigmoid(・)は、シグモイド処理を表す。
【0066】
また、メインモデル110では、メイン結合部110-1は、第1結合部111-2と同様のベクトル連結処理を行う。また、メインモデル110では、判定情報生成部110-3は、判定情報生成部111-3の1層の1クラス分類FFNN111-3aと同様の構成の1クラス分類FFNNによって構成される。
【0067】
[補助モデル及びメインモデルの他の構築例1]
なお、第1補助モデル111及びメインモデル110は、1クラス分類FFNNにおけるシグモイド処理に代えて、ソフトマックス処理を行ってもよい。この場合、エンコーダRNNの出力として得た隠れ状態ベクトルh{(u,v)}が、1層の2クラス分類FFNNに入力され、最終的に、2クラスの記号y={0,1}の事後確率P(y|X(u),X(v))を以下(6),(7)式のように得ることができる。なお、y=0は、W(u)及び仮説W(v)の順位の上下関係が正しいことを示す。また、y=1は、W(u)及び仮説W(v)の順位の上下関係が誤りであることを示す。P(0|X(u),X(v))は、u位の仮説とv位の仮説との順位の上下関係が正しさを確率的に表現する第1の事後確率である。P(1|X(u),X(v))は、u位の仮説とv位の仮説との順位の上下関係が誤りであることを確率的に表現する第2の事後確率である。
【0068】
z{(u,v)}=linear(h{(u,v)}) ・・・(6)
P(y|X(u),X(v))=softmax(z{(u,v)})y ・・・(7)
【0069】
ここで、softmax(・)は、ソフトマックス処理を表す。また、softmax(・)yは、ソフトマックス処理の結果として得られる事後確率ベクトルのy番目の要素(確率値)を表す。
【0070】
この場合、判定部15は、メインモデル110から出力された第1の事後確率P(0|X(u),X(v))及び第2の事後確率P(1|X(u),X(v))を取得し、取得した二つの事後確率の大小を比較して、u位の仮説及びv位の仮説のいずれがより音声認識精度が高いかを判定する。判定部15は、第1の事後確率P(0|X(u),X(v))が第2の事後確率P(1|X(u),X(v))よりも高い場合には、u位の仮説がv位の仮説よりも音声認識精度が高いと判定する。また、判定部15は、第1の事後確率P(0|X(u),X(v))が第2の事後確率P(1|X(u),X(v))よりも低い場合には、v位の仮説がu位の仮説よりも音声認識精度が高いと判定する。
【0071】
[補助モデルの他の構築例2]
なお、
図3に示すエンコーダRNN111-1aのLSTMユニットは、1層単方向のLSTMユニットとしたが、複数層または双方向(bidirectional)のLSTMユニットであってもよい。
【0072】
[補助モデルの他の構築例3]
また、LSTMユニットの代わりに、単純な(sigmoid関数等を活性化関数として持つ。)RNNや、Gated Recurrent Unit(GRU)を用いてもよい。
【0073】
[補助モデル及びメインモデルの他の構築例4]
さらに、補助モデル及びメインモデル110は、
図3の構築例では、1クラス分類NNとして、1層のフィードフォワード型NNを用いたが、複数層のフィードフォワード型NNを用いてもよい。Nベストリランキングモデルは、複数層のフィードフォワード型NNを用いる場合、活性化関数として、sigmoid関数、tanh関数、Rectified Linear Unit(ReLU)関数、Parametric ReLU(PReLU)関数などを用いることができる。なお、補助モデル及びメインモデル110の他の構築例1~4の用語の詳細については、例えば、参考文献2を参照いただきたい。
【0074】
[補助モデルの他の構築例5]
また、補助モデルは、従来のNベストリスコアリングモデル(例えばRNN言語モデル)により計算されたスコアを、特徴量ベクトルにおける新たな次元として追加して利用することも可能である。
【0075】
[リランキング処理の処理手順]
次に、
図1に示すリランキング装置10が実行するリランキング処理の処理手順について説明する。
図4は、実施の形態1に係るリランキング処理の処理手順を示すフローチャートである。
【0076】
まず、仮説入力部12が、リランキング対象のNベスト仮説の入力を受け付けると(ステップS1)、仮説選択部13は、入力を受け付けたNベスト仮説のうち、スコアの昇順に、一対一の比較対象であるu位及びv位の二つの仮説を選択する(u<v≦N)。まず、仮説選択部13は、u=N-1、v=Nに設定する(ステップS2)。そして、仮説選択部13は、入力を受け付けたNベスト仮説から、u位及びv位の二つの仮説W(u),W(v)をNベスト仮説から選択する(ステップS3)。続いて、特徴量抽出部14は、仮説W(u),W(v)の特徴量を抽出する(ステップS4)。判定部15は、仮説W(u),W(v)の特徴量(X(u),X(v))を各補助モデル(第1補助モデル111~第M補助モデル11M)に入力する(ステップS5)。
【0077】
判定部15は、Nベストリランキングモデルからの出力結果を取得する(ステップS6)。具体的には、判定部15は、事後確率P(0|X(u),X(v))を取得する。
【0078】
そして、(1-1)式及び(1-2)式において説明したように、判定部15は、P(0|X(u),X(v))≧0.5であるか否かを判定する(ステップS7)。P(0|X(u),X(v))≧0.5である場合(ステップS7:Yes)、判定部15は、u位の仮説がv位の仮説よりも音声認識精度が高いと判定し、実行制御部16は、kについてk=uと設定する(ステップS8)。kは、比較処理後の仮説のうち、最も音声認識精度が高い仮説のNベスト仮説における順位(ランキング)である。一方、P(0|X(u),X(v))≧0.5でない場合(ステップS7:No)、判定部15は、v位の仮説がu位の仮説よりも音声認識精度が高いと判定し、実行制御部16は、k=vと設定する(ステップS9)。
【0079】
続いて、実行制御部16は、u=1であるか否かを判定する(ステップS10)。u=1でない場合(ステップS10:No)、必要な一対一の仮説比較処理がまだ全ては終了していないため、実行制御部16は、仮説選択部13に対し、比較対象の次の仮説の選択を行わせる。具体的には、仮説選択部13は、u=u-1、v=kに設定し(ステップS11)、ステップS3に戻り、次の判定対象のNベスト仮説W(u),W(v)を選択する。そして、リランキング装置10は、このNベスト仮説W(u),W(v)に対して、ステップS4~ステップS10の処理を実行する。
【0080】
また、u=1である場合(ステップS10:Yes)、必要な一対一の比較処理が全て終了したため、実行制御部16は、k位のW(k)を最も音声認識精度が高いと推定される仮説、すなわち、最終的な音声認識結果として出力し(ステップS12)、処理を終了する。このように、リランキング装置10では、任意の二つの仮説を1組とし、複数の組についてそれぞれ音声認識精度の高低の判定を繰り返すことで、最も音声認識精度が高いと推定される仮説を、最終的な音声認識結果として出力することができる。
【0081】
このように、実施の形態1に係るリランキング装置10は、一対一の二つの仮説の比較を行う機能を持つモデルを用いることによって、二つの仮説のうち音声認識精度がより高い仮説を判定する機能を持たせた。さらに、リランキング装置10では、モデルとして、ニューラルネットワーク(NN)で表されるメインモデル110と、NNで表される複数の補助モデルとを用いる。
【0082】
すなわち、リランキング装置10では、複数の補助モデルを設け、入力された二つの仮説に対して、各補助モデルにタスクを実行させている。各補助モデルの構造は同じであっても、学習時においてパラメータのランダム初期化を行うので、同じ入力仮説に対しても異なる隠れ状態ベクトルを出力する。これにより、ある二つの入力仮説に対して、ある補助モデルが出力する隠れ状態ベクトルが適切なものでなかったとしても、別の補助モデルが適切な隠れ状態ベクトルを出力できる可能性が高まる。つまり、正確な仮説の判定結果を生成するのに適した隠れ状態ベクトルが、いずれかの補助ネットワークから出力される可能性が高くなる。この結果、リランキング装置10のメインモデル110には、適切な二つの仮説に対応する隠れ状態ベクトルが安定して入力されるため、メインモデル110の出力値の精度も安定する。このように、実施の形態1に係るリランキングモデルは、安定した精度で、Nベスト仮説の中からオラクル仮説を見つけ出すことができる。
【0083】
また、リランキング装置10は、Nベスト仮説のスコアの昇順に二つの仮説を選択する。言い換えると、リランキング装置10は、Nベスト仮説のうち、スコアが最も低い仮説から順に仮説ペアを選択する。
図5は、
図1に示すリランキング装置10が、Nベスト仮説に対して実行するリランキング処理を説明する図である。
【0084】
一般には、スコアが高い仮説の方が、尤もらしい仮説である可能性が高い。スコアの高い順に仮説を選択していくと、最もスコアの高い仮説は、N-1回の判定処理に勝ち抜かなければ、最終的な出力仮説として選択されず、尤もらしい仮説として選ばれにくくなってしまう。
【0085】
そこで、
図5に示すように、リランキング装置10は、最終的に出力仮説として選ばれる可能性の高い仮説について、少ない判定回数で済むように、Nベスト仮説のうち、スコアが最も低い仮説から順に仮説ペアを選択する。言い換えると、リランキング装置10は、
図5に示すように、スコアの最も高い仮説については、シード権を与え、Nベスト仮説全体に対する比較処理の後の方の処理で比較処理が行われるようにし、尤もらしい仮説として選ばれやすくしている。このように、リランキング装置10は、最終的に出力仮説として選ばれる可能性の高い仮説が、尤もらしい仮説として選ばれやすいため、安定した精度で、Nベスト仮説の中からオラクル仮説を見つけ出すことができる。
【0086】
[実施の形態2]
[学習装置]
次に、実施の形態2として、リランキング装置10が用いるNベストリランキングモデルを学習する学習装置について説明する。
図6は、実施の形態2に係る学習装置の機能構成の一例を示す図である。実施の形態2に係る学習装置20は、例えば、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。
図6に示すように、モデル記憶部21、学習装置20は、仮説入力部22及び学習部23を有する。
【0087】
モデル記憶部21は、学習対象の第1補助モデル111~第M補助モデル11M及びメインモデル110を記憶する。第1補助モデル111~第M補助モデル11M及びメインモデル110は、選択された二つの仮説が与えられたとき、二つの仮説を隠れ状態ベクトルに変換し、二つの仮説の隠れ状態ベクトルを基に二つの仮説の精度の高低を判定できるような、NNで表される。第1補助モデル111~第M補助モデル11M及びは、Nベスト仮説のうちの二つの仮説を、RNNを用いて隠れ状態ベクトルに変換する。そして、第1補助モデル111~第M補助モデル11Mは、NNを用いて、隠れ状態ベクトルを基に二つの仮説の精度の高低の並びが正しいことを示す事後確率を判定情報として生成する。
【0088】
メインモデル110は、第1補助モデル111~第M補助モデル11Mにおいてそれぞれ変換された二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低を判定できるような、NNで表される。メインモデル110は、NNを用いて、第1補助モデル111~第M補助モデル11Mにおいてそれぞれ変換された学習用の二つの仮説の隠れ状態ベクトルを基に、二つの仮説の精度の高低の並びが正しいことを示す事後確率を生成する。
【0089】
仮説入力部22は、音声認識精度が既知である学習用のNベスト仮説の入力を受け付ける。学習用のNベスト仮説として、学習データ中の各発話に対して音声認識が行われ、各発話のNベスト仮説が得られているものとする。また学習データであるので、全ての仮説の音声認識精度は、既知である。また、Nベスト仮説中の全ての仮説に対して、前述のように、特徴量ベクトル列が抽出されているものとする。
【0090】
学習部23は、学習用のNベスト仮説のうちの二つの仮説の特徴量がそれぞれ与えられたときに、第1補助モデル111~第M補助モデル11M及びメインモデル110に対し、各NNが二つの仮説の精度の高低を判定するタスクを個別に行うとみなしたマルチタスク学習を行わせる。学習部23は、各NNによって実行された各タスクについて所定の損失をそれぞれ計算し、各損失の重み付け和を全体の損失関数とする。そして、学習部23は、この全体の損失関数に基づいて、各NNのパラメータの値を更新する。
【0091】
なお、学習部23は、各損失に対し、等重みで重み付けをしてもよい。また、メインモデル110が出力する判定情報が判定部15における判定に使用されるため、学習部23は、メインモデル110に、他の補助モデルよりも多めの重みを付けてもよい。
【0092】
学習部23では、学習用のNベスト仮説のうちの二つの仮説の特徴量ベクトル列と、これらに対応する教師ラベル(後述)とを、第1補助モデル111~第M補助モデル11M及びメインモデル110に与える。これによって、学習部23は、第1補助モデル111~第M補助モデル11M及びメインモデル110がこれら二つの仮説の音声認識精度の高低を正しく判定できるように、第1補助モデル111~第M補助モデル11M及びメインモデル110の学習(パラメータの最適化)を行う。
【0093】
具体的には、学習部23は、特徴量ベクトル列と、対応する教師ラベルとを第1補助モデル111~第M補助モデル11Mに入力し、第1補助モデル111~第M補助モデル11M及びメインモデル110がこれらの特徴量ベクトルを与えられたときに対応する教師ラベルを正しく出力できるように、第1補助モデル111~第M補助モデル11M及びメインモデル110の学習を行う。学習部23は、教師ラベル付与部231及び入替部232を有する。
【0094】
教師ラベル付与部231は、二つの仮説のうち音声認識精度がより高い仮説に他方の仮説よりも高い順位が付与されている場合に正解を表す教師ラベル(y=0)を付与して、第1補助モデル111~第M補助モデル11M及びメインモデル110に学習させる。また、教師ラベル付与部231は、二つの仮説のうち音声認識精度がより高い仮説に他方の仮説よりも低い順位が付与されている場合に誤りを表す教師ラベル(y=1)を付与し、第1補助モデル111~第M補助モデル11M及びメインモデル110に学習させる。
【0095】
入替部232は、学習用のNベスト仮説のうちの二つの仮説の順位を入れ換え、対応する教師ラベルも入れ換えて、第1補助モデル111~第M補助モデル11M及びメインモデル110の学習を行う。
図7は、
図6に示す入替部232の処理を説明する図である。例えば、教師ラベルとしてy=0が付与されている二つの仮説については(
図7の(1)参照)、二つの仮説の順位を入れ換え、教師ラベルyを1に変える(
図7の(2)参照)。一方、教師ラベルとしてy=1が付与されている二つの仮説については、二つの仮説の順位を入れ換え、教師ラベルyを0に変える。
【0096】
[学習処理の処理手順]
次に、
図6に示す学習装置20が実行する学習処理の処理手順について説明する。
図8は、実施の形態2に係る学習処理の処理手順を示すフローチャートである。
図8では、Nベスト仮説から二つの仮説としてW
(u),W
(v)(u<v≦N)が与えられ、かつ、W
(u)の精度は、W
(v)の精度よりも高いときの学習処理の処理手順を示す。
【0097】
図8に示すように、教師ラベル付与部231が、教師ラベルy=0を付与し(ステップS21)、W
(u),W
(v)の特徴量X
(u),X
(v)を第1補助モデル111~第M補助モデル11Mに入力する(ステップS22)。そして、学習部23は、第1補助モデル111~第M補助モデル11M及びメインモデル110にマルチタスク学習を行わせて、第1補助モデル111~第M補助モデル11M及びメインモデル110のモデルパラメータを更新させる(ステップS23)。
【0098】
すなわち、この二つの仮説のW(u),W(v)の特徴量ベクトルX(u),X(v)を第1補助モデル111~第M補助モデル11Mに入力した場合、第1補助モデル111~第M補助モデル11M及びメインモデル110は、理想的には、P(0|X(u),X(v))=1の事後確率を出力すべきである。このため、教師ラベル付与部231は、教師ラベルとして、y=0を与える。以上の入力を基に、学習部23は、第1補助モデル111~第M補助モデル11M及びメインモデル110のモデルパラメータ(エンコーダRNN(LSTMユニット)、1クラス分類FFNN及び単語の埋め込み処理embed(・)を行うNNのパラメータを同時に)を更新させる。
【0099】
そして、入替部232は、仮説W(u),W(v)の順位を入れ替える(ステップS24)。すなわち、入替部232は、元々、W(v)であった仮説をW(u)とし、元々、W(u)であった仮説をW(v)とする。この場合には、W(u)の精度は、W(v)の精度よりも低い。よって、この二つの仮説W(u),W(v)の特徴量ベクトルX(u),X(v)を第1補助モデル111~第M補助モデル11M及びメインモデル110に入力した場合、第1補助モデル111~第M補助モデル11M及びメインモデル110は、理想的には,P(0|X(u),X(v))=0の事後確率を出力すべきである。
【0100】
このため、教師ラベル付与部231は、教師ラベルとして、y=1を付与し(ステップS25)、W(u),W(v)の特徴量X(u),X(v)を第1補助モデル111~第M補助モデル11M及びメインモデル110に入力する(ステップS26)。学習部23は、以上の入力を基に、第1補助モデル111~第M補助モデル11M及びメインモデル110にマルチタスク学習を行わせて、第1補助モデル111~第M補助モデル11M及びメインモデル110を更新させて(ステップS27)、二つの仮説W(u),W(v)に対する学習処理を終了する。
【0101】
学習装置20は、上記の手順を、学習データ中の各発話のNベスト仮説について繰り返し、更にはその繰り返し自体を何度か(何エポックか)繰り返す。学習部23は、学習の更なる具体的な手順については、従来のNNの学習(詳細は、例えば、参考文献2参照)と同様に行うことができる。
【0102】
[実施の形態2の効果]
このように、実施の形態2に係る学習装置20は、第1補助モデル111~第M補助モデル11M及びメインモデル110に、音声認識精度が既知である学習用のNベスト仮説のうちの二つの仮説を1組として、複数の組についてそれぞれ音声認識精度の高低を判定できるように予めマルチタスク学習を行わせている。したがって、学習装置20は、Nベストリランキングを行う上で最適な第1補助モデル111~第M補助モデル11M及びメインモデル110を、最新のNNに基づき実現することができる。そして、リランキング装置10は、学習装置20において学習された第1補助モデル111~第M補助モデル11M及びメインモデル110を使用することによって、一対一の二つの仮説の比較を精度よく行うことができ、安定した制度でオラクル仮説を抽出することができる。
【0103】
[学習処理の効率化例1]
図8に示す学習処理の処理手順は、計算コストが高い。例えば、Eをエポック数、Mを学習データ中の発話数とすると、上記の学習手順におけるモデルパラメータの更新回数は、最大で、E×M×N×2×
NC
2になる。通常、Eは数十程度、Mは少なくとも数万、Nは上記の通り100~1000程度であるので、モデルパラメータの更新回数は、膨大な数に達する。このため、本実施の形態では、学習の効率化を図ることが好ましい。そこで、以下に、学習の効率化例1について述べる。
【0104】
上述したように、Nベストリスコアリングの主な目的は、Nベスト仮説からオラクル仮説を最終的な音声認識結果として見つけ出すことである。言い換えれば、オラクル仮説をその他のN-1個の仮説から精度よく区別できればよい。これを実現するために、学習の際に、Nベストリランキングモデルに入力する二つの仮説のうちの一方をオラクル仮説とする。これにより、モデルパラメータの更新回数を、E×M×N×2×(N-1)に削減することができる。
【0105】
[学習処理の効率化例2]
次に、学習の効率化例2について説明する。学習の効率化例1では、Nベスト仮説が与えられたとき、その中に含まれるオラクル仮説とその他のN-1個の仮説とを比較していた。学習処理の効率化例2では、オラクル仮説と比較するその他の仮説の個数を絞り込む。
【0106】
例えば、まず、下の典型的な四つの仮説を選択する。
仮説1は、オラクル仮説の次に高い音声認識精度を持つ仮説である。
仮説2は、音声認識スコアが最も高い仮説である。
仮説3は、最も低い音声認識精度を持つ仮説である。
仮説4は、音声認識スコアが最も低い仮説である。
【0107】
仮説1と仮説2とは、音声認識精度が高い(または高いと推定される)仮説で、オラクル仮説との区別が難しい仮説である。一方、仮説3と仮説4とは、音声認識精度が低い(または低いと推定される)仮説で、オラクル仮説との区別が容易な(確実に区別しないといけない)仮説である。その他の仮説をこの四つのみに絞り込む場合は、モデルパラメータの更新回数は、E×M×N×2×4にまで削減することができる。
【0108】
ただし、上記の四つの仮説のみではオラクル仮説の対立仮説としての多様性が十分に確保できないと考えられる場合、Nベスト仮説から、オラクル仮説とこれらの四つの仮説を除いた、残りのN-5個の仮説から、所定のルールにしたがって抽出した所定数の仮説を選択して前記四つの仮説と共に対立仮説として用いてもよい。例えば、二つの仮説のうちの他方の仮説として、オラクル仮説とこれらの四つの仮説を除いた、残りのN-5個の仮説から、等間隔に、或いは、はランダムに、Q個の仮説を選択して四つの仮説と共に他方の仮説として用いる。このとき、モデルパラメータの更新回数は、E×M×N×2×(4+Q)となる。例えば、Qは、5~50である。
【0109】
[評価]
実際に、実施の形態1におけるNベストリランキングと、非特許文献1記載のNベストリランキングとの比較評価を行った。表1は、CSJ音声コーパスを用いて、非特許文献1記載のNベストリランキングとの比較評価する100(=N)ベストリランキング評価を行った結果を示す表である。表の数値は、WER(Word error rate)率[%]であり、Dev(Development)、Eval(Evaluation)を示す。
【0110】
【0111】
表1の通番「1」は、非特許文献1記載のNベストリランキング結果である。表1の通番「2」は、実施の形態1に係るリランキング装置10であって8個の補助モデルを有する場合の結果である。通番「3」は、通番「2」の条件に加え、前向き及び後ろ向きLSTMLMの単語予測スコアを18時限目及び19次元目の補助特徴として用いている。通番「4」は、参考のために示されたオラクルである。
【0112】
表1に示すように、通番「1」の非特許文献1記載のリランキング方法でも、十分にWERを削減できるが、通番「2」の8個の補助モデルを有するリランキング装置10では、さらにWER削減が実現できる。また、通番「3」の評価結果に示すように、両方向のLSTMLMの単語予測スコアと8個の補助モデルを用いることで、相補的なWER削減効果が得られることが確認できた。また、通番「2」以外にも、補助モデルの個数を、2または4とした構成でも評価を行っており、補助モデルの個数を増やすほどWERを削減できる傾向が確認できた。
【0113】
この評価結果から、本実施の形態1に係るリランキング装置10は、非特許文献1記載のリランキング方法と比して、安定したWER削減が実現できる。
【0114】
[実施の形態3]
なお、実施の形態1のリランキング装置10は、メインモデル110の出力を用いて判定を行ったが、メインモデル110の出力の他に各補助モデルの出力を用いて判定を行ってもよい。
図9は、実施の形態3に係るリランキング装置の要部構成を示す図である。
【0115】
図3に示すように、リランキング装置は、判定部15の前段に、重み付け部18を有する。重み付け部18は、第1補助モデル111~第M補助モデル11M及びメインモデル110から出力された全ての判定情報を取得し、各判定情報に対して重み付け和を計算する。
【0116】
なお、各判定情報に対応する重みは予め設定されている。重み付け部18は、各判定情報に対し、全補助モデル及びメインモデル110に対して等重みで重み付けをしてもよい。また、重み付け部18は、メインモデル110に、他の補助モデルよりも多めの重みを付けてもよい。また、重み付け部18は、予め各判定情報に対する重みを学習した1層の線形NNを有し、各判定情報が入力されると各判定対象に対する重みを求めてもよい。
【0117】
判定部15は、重み付け部18が計算した重み付け和の値に基づいて二つの仮説の精度の高低を判定する。例えば、判定部15は、判定情報のそれぞれが、仮説W(u)が選択される確率を示すものとして、判定情報の重みづけ和を0~1の範囲に収まるように正規化した値が0.5以上であれば仮説W(u)を選択し、そうでなければ仮説W(v)を選択する。
【0118】
[判定処理の処理手順]
図10は、実施の形態3に係るリランキング処理の処理手順を示すフローチャートである。
【0119】
図10に示すステップS31~ステップS36は、
図4に示すステップS1~ステップS6と同じ処理である。重み付け部18は、第1補助モデル111~第M補助モデル11M及びメインモデル110から出力された全ての判定情報を取得し、各判定情報に対して重み付け和を計算する重み付け処理を行う(ステップS37)。そして、重み付け部18が計算した重み付け和の値に基づいて二つの仮説の精度の高低を判定する。ステップS38~ステップS43は、
図4に示すステップS7~ステップS12と同じ処理である。
【0120】
[実施の形態3の効果]
この実施の形態3に示すように、メインモデル110による判定情報に加え、全補助モデルによる判定情報を用いて、判定を行うことも可能である。この際、実施の形態3では、各補助モデル或いはメインモデル110に応じて、各判定情報に対する重み付けを行い、重み付け和の値に基づいて二つの仮説の精度の高低を判定するため、オラクル仮説を抽出精度を保持することができる。
【0121】
なお、本実施の形態では、全ての仮説に対して、比較処理を行うため、Nベスト仮説のソートも可能である。
【0122】
また、本実施の形態1~3では、音声認識のNベスト仮説をリランキングするためのモデルとして、
図1に例示する第1補助モデル111~第M補助モデル11M及びメインモデル110について説明した。ただし、本実施の形態1~3の第1補助モデル111~第M補助モデル11M及びメインモデル110は、音声認識のNベスト仮説への適用にとどまらず、Nベスト仮説を採用しているあらゆるタスクに適用可能である。例えば、機械翻訳や文章要約などにも本実施の形態を適用することが可能である。また、文字列に限らず、数字やアルファベットを含む複数の系列にも本実施の系列を適用することが可能である。
【0123】
このため、本実施の形態1~3は、ある一つの入力に対する解の候補として挙げられた複数の系列であれば、このうちの二つの系列に対し、NNで表されるモデルを用いて、二つの系列のうちより精度が高い(誤りが少ない)系列を判定できる。そして、本実施の形態1~3では、二つの系列のうち、より精度が高いと判定した系列を比較対象として残し、他方の系列を比較対象から外し、精度が高いと判定した系列を二つの系列の一方の仮説として選択し、複数の系列のうち、判定が行われていない系列のいずれかを他方の仮説として選択する。そして、本実施の形態1~3では、判定処理と選択処理とを、所定条件に達するまで順次実行させせる。これによって、本実施の形態1~3によれば、所定条件に達した場合に比較対象として残っている系列を、最も精度が高い系列、すなわち、最終的な出力として出力することができる。
【0124】
また、この場合には、本実施の形態1~3では、精度が既知である学習用の複数の系列のうちの二つの系列の特徴量が与えられたとき、それら二つの系列の精度の高低が判定できるような、NNで表される第1補助モデル111~第M補助モデル11M及びメインモデル110にマルチタスク学習を行わせる。そして、本実施の形態1~3では、二つの系列のうち精度がより高い(誤りがより少ない)系列に他方の系列よりも高い順位が付与されている場合に正解を示す教師ラベルを付与して第1補助モデル111~第M補助モデル11M及びメインモデル110に学習させる。そして、本実施の形態1~3では、二つの系列のうち精度がより高い(誤りがより少ない)系列に他方の系列よりも低い順位が付与されている場に誤りを示す教師ラベルを付与して第1補助モデル111~第M補助モデル11M及びメインモデル110に学習させる。本実施の形態1~3では、この第1補助モデル111~第M補助モデル11M及びメインモデル110によって、一対一の二つの系列の比較が高精度で行うことができ、この結果、最も精度の高い系列を精度よく得ることができる。
【0125】
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、リランキング装置10及び学習装置20は、一体の装置であってもよい。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0126】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。また、本実施形態において説明した各処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0127】
[プログラム]
図11は、プログラムが実行されることにより、リランキング装置10或いは学習装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0128】
メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0129】
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、リランキング装置10或いは学習装置20の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1031に記憶される。例えば、リランキング装置10或いは学習装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。なお、ハードディスクドライブ1031は、SSD(Solid State Drive)により代替されてもよい。
【0130】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0131】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0132】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0133】
2 音声認識装置
10 リランキング装置
11,21 モデル記憶部
12 仮説入力部
13 仮説選択部
14 特徴量抽出部
15 判定部
16 実行制御部
17 出力部
18 重み付け部
20 学習装置
22 仮説入力部
23 学習部
110 メインモデル
111~11M 第1補助モデル~第M補助モデル
231 教師ラベル付与部
232 入替部