(57)【要約】【課題】ニューラルネットワークを用いた系列モデリングにおいて、学習時に用いた学習データとドメインが異なる学習データを用いてモデル学習を行う。【解決手段】ニューラル言語モデル記憶部１２は、第一ドメインに属するテキストデータから学習した重みパラメータを用いて入力ベクトルに対して線形変換を行い、線形変換後の入力ベクトルに対して非線形変換を行うニューラル言語モデルを記憶する。確率的言語モデル生成部２２は、第二ドメインに属するテキストデータから確率モデルを用いて確率モデルパラメータを生成する。重みパラメータ逆計算部２３は、確率モデルパラメータに対して非線形変換の逆計算を行い、重みパラメータ相当量を計算する。重みパラメータ補間部２５は、線形変換で用いる重みパラメータと重みパラメータ相当量との補間を行う。【選択図】図１
2018180045.tif 000002
【特許請求の範囲】
【請求項１】
音響特徴ベクトルを入力として、上記音響特徴ベクトルに対応する出力シンボルに対する事後確率ベクトルと、上記出力シンボルが空シンボルである確率を表す空シンボル確率と、を出力するニューラルネットワークを用いた音響モデルを記憶する音響モデル記憶部と、
学習音声から抽出した音響特徴ベクトルを上記ニューラルネットワークに入力して上記事後確率ベクトルと上記空シンボル確率とを得る事後確率計算部と、
上記空シンボル確率に基づいて上記ニューラルネットワークが以前の時刻に出力した事後確率ベクトルもしくは上記ニューラルネットワークが現在の時刻に出力した事後確率ベクトルを選択して保持する文脈保存ベクトルを計算する文脈保存ベクトル計算部と、
上記文脈保存ベクトルが計算されるたびに重みパラメータを用いて上記文脈保存ベクトルを線形変換して上記ニューラルネットワークの最終隠れ層の出力と加算して上記ニューラルネットワークの出力層に連結する文脈保存ベクトル連結部と、
単語列の集合であるテキストデータから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、
上記確率モデルパラメータに対して上記ニューラルネットワークに含まれる非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、
上記線形変換で用いる重みパラメータと上記重みパラメータ相当量との補間を行う重みパラメータ補間部と、
を含む音響モデル学習装置。
【請求項２】
第一ドメインに属する離散値系列の集合である第一学習データから学習した重みパラメータを用いて入力ベクトルに対して線形変換を行い、線形変換後の入力ベクトルに対して非線形変換を行うニューラルネットワークを記憶するニューラルネットワーク記憶部と、
第二ドメインに属する離散値系列の集合である第二学習データから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、
上記確率モデルパラメータに対して上記非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、
上記線形変換で用いる重みパラメータと上記重みパラメータ相当量との補間を行う重みパラメータ補間部と、
を含むモデル学習装置。
【請求項３】
請求項２に記載のモデル学習装置であって、
上記重みパラメータ相当量の分布パラメータが上記重みパラメータの分布パラメータと合うように上記重みパラメータ相当量を補正する重みパラメータ補正部をさらに含む、
モデル学習装置。
【請求項４】
請求項２または３に記載のモデル学習装置であって、
上記重みパラメータ補間部は、線形補間もしくは幾何平均により、上記重みパラメータと上記重みパラメータ相当量との補間を行うものである、
モデル学習装置。
【請求項５】
請求項２から４のいずれかに記載のモデル学習装置であって、
上記確率モデル生成部は、上記第一学習データに含まれるが上記第二学習データに含まれないミスマッチデータについて、上記重みパラメータを上記非線形変換した後の上記ミスマッチデータの出現確率が変化しないように上記ミスマッチデータの頻度を定めて、上記確率モデルパラメータを生成するものである、
モデル学習装置。
【請求項６】
請求項２から５のいずれかに記載のモデル学習装置であって、
上記ニューラルネットワークは、上記重みパラメータ相当量を初期値とし、または、上記重みパラメータ相当量が平均となるガウス分布を事前確率として学習したものである、
モデル学習装置。
【請求項７】
ニューラルネットワーク記憶部が、第一ドメインに属する離散値系列の集合である第一学習データから学習した重みパラメータを用いて入力ベクトルに対して線形変換を行い、線形変換後の入力ベクトルに対して非線形変換を行うニューラルネットワークを記憶しており、
確率モデル生成部が、第二ドメインに属する離散値系列の集合である第二学習データから確率モデルを用いて確率モデルパラメータを生成し、
重みパラメータ逆計算部が、上記確率モデルパラメータに対して上記非線形変換の逆計算を行い、重みパラメータ相当量を計算し、
重みパラメータ補間部が、上記線形変換で用いる重みパラメータと上記重みパラメータ相当量との補間を行う、
モデル学習方法。
【請求項８】
請求項１に記載の音響モデル学習装置もしくは請求項２から６のいずれかに記載のモデル学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、系列モデリング技術に関し、特に、ニューラルネットワークで用いる線形変換の重みパラメータを補間する技術に関する。
【背景技術】
【０００２】
確率的な系列モデリングとして、例えば、n-gramモデル等がある（非特許文献１参照）。確率的な系列モデリングによる言語モデルは、例えば、確率的言語モデルと呼ばれる。また、ニューラルネットワークを用いた系列モデリングとして、例えば、再帰型ニューラルネットワーク（RNN: Recurrent Neural Network）の一種である単純再帰型ニューラルネットワーク（Elman Network）や長短期記憶（LSTM: Long short-term memory）等がある（非特許文献２参照）。ニューラルネットワークを用いた系列モデリングによる言語モデルは、例えば、ニューラル言語モデルと呼ばれる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】奥村学、「言語処理のための機械学習入門」、コロナ社、2010年
【非特許文献２】Hochreiter, S., Schmidhuber, J., "Long short-term memory." Neural computation, vol. 9, no. 8, pp. 1735-1780, 1997.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
確率的言語モデルは、前の単語が与えられたときの次の単語の確率をカテゴリカルな分布として持つことができる。したがって、確率的言語モデルは、n-gramモデルならば階数nを持つテンソルとして、すべてのパラメータを陽に記述することができる。また同時に、前のn-1個の単語が与えられたときの次の単語の確率値という意味付けをパラメータに対して持たせることができる。例えば、2-gram（bigram）モデルであれば、その情報をすべて階数2のテンソル（すなわち、行列）として表現することができる。この行列の各列は、対応する一つ前の単語が与えられたときの、次の単語の分布として解釈することができる。例えば、あるドメインAに属するテキストデータを使って学習した確率的言語モデルに対して、別のドメインBに属するテキストデータを使って元の確率的言語モデルを適応するといった実用上重要な操作を、各々から計算した確率的言語モデルの持つテンソル同士を線形補間する等の方法によって実行することができる。
【０００５】
ニューラル言語モデルは、最小要素として、入力ベクトルに対する線形変換と、線形変換後のベクトルに対する非線形変換（代表的にはsoftmax関数）が必要になる。非線形変換後のベクトルは次の単語の事後確率値として解釈できるが、線形変換に用いる重みパラメータそのものに対して意味付けを行うことはできない。そのため、例えば、あるドメインAのテキストデータを使って学習したニューラル言語モデルに対して、別のドメインBのテキストデータを使って元のニューラル言語モデルを適応するという操作を実行することができない。
【０００６】
この発明の目的は、ニューラルネットワークを用いた系列モデリングにおいて、学習時に用いた学習データとドメインが異なる学習データを用いてモデル学習を行うことができるモデル学習技術を実現することである。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、この発明の第一の態様の音響モデル学習装置は、音響特徴ベクトルを入力として、音響特徴ベクトルに対応する出力シンボルに対する事後確率ベクトルと、出力シンボルが空シンボルである確率を表す空シンボル確率と、を出力するニューラルネットワークを用いた音響モデルを記憶する音響モデル記憶部と、学習音声から抽出した音響特徴ベクトルをニューラルネットワークに入力して事後確率ベクトルと空シンボル確率とを得る事後確率計算部と、空シンボル確率に基づいてニューラルネットワークが以前の時刻に出力した事後確率ベクトルもしくはニューラルネットワークが現在の時刻に出力した事後確率ベクトルを選択して保持する文脈保存ベクトルを計算する文脈保存ベクトル計算部と、文脈保存ベクトルが計算されるたびに重みパラメータを用いて文脈保存ベクトルを線形変換してニューラルネットワークの最終隠れ層の出力と加算してニューラルネットワークの出力層に連結する文脈保存ベクトル連結部と、単語列の集合であるテキストデータから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、確率モデルパラメータに対してニューラルネットワークに含まれる非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、線形変換で用いる重みパラメータと重みパラメータ相当量との補間を行う重みパラメータ補間部と、を含む。
【０００８】
この発明の第二の態様のモデル学習装置は、第一ドメインに属する離散値系列の集合である第一学習データから学習した重みパラメータを用いて入力ベクトルに対して線形変換を行い、線形変換後の入力ベクトルに対して非線形変換を行うニューラルネットワークを記憶するニューラルネットワーク記憶部と、第二ドメインに属する離散値系列の集合である第二学習データから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、確率モデルパラメータに対して非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、線形変換で用いる重みパラメータと重みパラメータ相当量との補間を行う重みパラメータ補間部と、を含む。
【発明の効果】
【０００９】
この発明によれば、確率モデルパラメータから重みパラメータ相当量を逆計算して、ニューラルネットワークで用いる線形変換の重みパラメータと補間することができるため、ニューラルネットワークを用いた系列モデリングにおいて、学習時に用いた学習データとは異なるドメインの学習データを用いてモデル学習を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、モデル学習装置の機能構成を例示する図である。
【図２】図２は、モデル学習方法の処理手続きを例示する図である。
【図３】図３は、音響モデル学習装置の機能構成を例示する図である。
【図４】図４は、音声認識装置の機能構成を例示する図である。
【図５】図５は、音響モデル学習方法の処理手続きを例示する図である。
【図６】図６は、音声認識方法の処理手続きを例示する図である。
【図７】図７は、文脈保存ベクトルの計算方法を例示する図である。
【図８】図８は、文脈保存ベクトルを線形変換して連結する構成を例示する図である。
【図９】図９は、重みパラメータ補間装置の機能構成を例示する図である。
【図１０】図１０は、重みパラメータ補間方法の処理手続きを例示する図である。
【発明を実施するための形態】
【００１１】
この明細書中で使用する記号「^」は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。数式中においては、これらの記号は本来の位置、すなわち文字の真上に記述している。例えば、「^x」との表記は、
【００１２】
【数１】
2018180045.tif 000003
【００１３】
を表している。
【００１４】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１５】
［第一実施形態］
第一実施形態は、あるドメインのテキストデータを用いて学習済みのニューラル言語モデルに対して、別のドメインのテキストデータを用いてモデル学習を行うモデル学習装置および方法である。第一実施形態では、2-gram（bigram）相当のモデルを対象とする。このモデルは、例えば、階数が2のテンソル（すなわち、行列）を用い、語彙数と等しい次元数を持ち、出現単語に対応する次元が1でそれ以外の次元が0を持つベクトルを入力とし、入力ベクトルと重みパラメータ行列との積を行った後、softmax関数を適用して、次の単語の事後確率ベクトルを出力するものである。ただし、テンソルの階数は任意の自然数であっても対象とすることができる。
【００１６】
第一実施形態のモデル学習装置は、図１に示すように、第一学習データ記憶部１０、ニューラル言語モデル生成部１１、ニューラル言語モデル記憶部１２、第二学習データ記憶部２０、頻度テンソル生成部２１、確率的言語モデル生成部２２、重みパラメータ逆計算部２３、重みパラメータ補正部２４、および重みパラメータ補間部２５を含む。ただし、重みパラメータ補正部２４は必須の構成ではなく、省略することも可能である。第一実施形態のモデル学習装置が、図２に示す各ステップの処理を行うことにより、第一実施形態のモデル学習方法が実現される。
【００１７】
モデル学習装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。モデル学習装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。モデル学習装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、モデル学習装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。モデル学習装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。モデル学習装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【００１８】
以下、図２を参照しながら、第一実施形態のモデル学習装置が実行するモデル学習方法の処理手続きを説明する。
【００１９】
第一学習データ記憶部１０には、あるドメイン（以下、第一ドメインと呼ぶ）に属する複数のテキストデータを収集した第一ドメイン学習データが記憶されている。第二学習データ記憶部２０には、第一ドメインとは異なるドメイン（以下、第二ドメインと呼ぶ）に属する複数のテキストデータを収集した第二ドメイン学習データが記憶されている。各テキストデータは言語モデルの学習に十分な量があればよい。
【００２０】
ステップＳ１１において、ニューラル言語モデル生成部１１は、第一学習データ記憶部１０に記憶された第一ドメイン学習データを読み込み、その第一ドメイン学習データを用いてニューラル言語モデルを学習する。ニューラル言語モデル生成部１１は、学習済みのニューラル言語モデルをニューラル言語モデル記憶部１２へ記憶する。
【００２１】
ステップＳ２１において、頻度テンソル生成部２１は、第二学習データ記憶部２０に記憶された第二ドメイン学習データを読み込み、その第二ドメイン学習データに含まれる単語の連接頻度を集計し、頻度テンソルを生成する。頻度テンソル生成部２１は、生成した頻度テンソルを確率的言語モデル生成部２２へ出力する。この頻度テンソルは、例えば、bigramモデルのときは、頻度表となる。
【００２２】
ステップＳ２２において、確率的言語モデル生成部２２は、頻度テンソル生成部２１から頻度テンソルを受け取り、その頻度テンソルから確率的言語モデルを用いて確率モデルパラメータテンソルを生成する。このとき、確率的言語モデルは、例えば、n-gramモデル等の一般的なものを用いればよい。また、その際にスムージングなどの一般的な操作を含めてもよい。確率的言語モデル生成部２２は、生成した確率モデルパラメータテンソルを重みパラメータ逆計算部２３へ出力する。
【００２３】
ステップＳ２３において、重みパラメータ逆計算部２３は、確率的言語モデル生成部２２から確率モデルパラメータテンソルを受け取り、その確率モデルパラメータテンソルに対してニューラル言語モデルに含まれる非線形変換の逆計算を行い、ニューラル言語モデルに含まれる線形変換で用いる重みパラメータに相当する量（以下、重みパラメータ相当量と呼ぶ）を計算する。重みパラメータ逆計算部２３は、計算した重みパラメータ相当量を重みパラメータ補正部２４へ出力する。重みパラメータ補正部２４を省略した場合には、計算した重みパラメータ相当量を重みパラメータ補間部２５へ出力する。
【００２４】
重みパラメータ相当量の逆計算は、以下のようにして行う。まず、softmax関数を式（１）に示す。ここで、Dは次元数である。
【００２５】
【数２】
2018180045.tif 000004
【００２６】
このsoftmax関数は、入力に定数を加算しても出力が変化しない性質を持つ。この関係性を具体的に示す。確率モデルの出力ベクトルがP=[p1, p2, …, pd, …, pD]Tと固定されたベクトルであるとする。ここで、[…]Tはベクトルの転置を表す。出力ベクトルPを式（１）のsoftmax関数に代入すると、式（２）となる。
【００２７】
【数３】
2018180045.tif 000005
【００２８】
式（２）の分母は次元dに対して定数であるから、
【００２９】
【数４】
2018180045.tif 000006
【００３０】
とおくと、式（４）〜（６）が成り立つ。
【００３１】
【数５】
2018180045.tif 000007
【００３２】
式（６）は、cを媒介変数とし、入力ベクトルX=[x1, x2, …, xD]TのD次元の空間上で、点[ln(p1), ln(p2), …, ln(pD)]Tを通り、ベクトル[1, 1, …, 1]Tに平行な直線の方程式である。つまり、この直線上の任意の点が、同じ出力ベクトルP=[p1, p2, …, pD]Tを与えることがわかる。ここで、任意の基準を用いて、適当なベクトル^X=[^x1, ^x2, …, ^xD]Tを定めることができるが、ここでは、二乗ノルム最小化基準を用い、||[x1, x2, …, xD]T||2を最小化するもの、つまり、長さが最も短いものを採用する。最適な媒介変数cを^cで表すと、式（７）〜（９）が成り立つ。
【００３３】
【数６】
2018180045.tif 000008
【００３４】
式（９）を式（６）に代入すると、最終的な逆計算式（10）が定まる。
【００３５】
【数７】
2018180045.tif 000009
【００３６】
つまり、以下の式（11）によって、前の単語列が与えられたときの次の単語の事後確率ベクトルP=[p1, p2, …, pD]Tごとに確率モデルパラメータテンソルから重みパラメータ相当量^X=[^x1, ^x2, …, ^xD]Tへの逆計算を行うことができる。
【００３７】
【数８】
2018180045.tif 000010
【００３８】
ステップＳ２４において、重みパラメータ補正部２４は、重みパラメータ逆計算部２３から重みパラメータ相当量を受け取り、ニューラル言語モデル記憶部１２に記憶されているニューラル言語モデルの重みパラメータと、分布のパラメータ（平均および分散）が合うように重みパラメータ相当量を補正する。重みパラメータ補正部２４は、補正した重みパラメータ相当量を重みパラメータ補間部２５へ出力する。
【００３９】
理論上は、式（11）で計算される量が重みパラメータに相当する量となっているが、実際には、値のレンジが大幅にずれてしまうことがある。そこで、ヒューリスティックに平均と分散をニューラル言語モデルの重みパラメータに合わせることを行う。具体的には、重みパラメータ逆計算部２３が求めた重みパラメータ相当量の平均を0、標準偏差を1に正規化し、対応するニューラル言語モデルの重みパラメータから計算した標準偏差を掛け、同様に重みパラメータから計算した平均を足すことで補正を行う。すなわち、重みパラメータ逆計算部２３が求めた重みパラメータ相当量の平均をμp、標準偏差をσpとし、対応する重みパラメータの平均をμn、標準偏差をσnとし、d=1, 2, …, Dについて、式（12）を計算して重みパラメータ相当量^X=[^x1, ^x2, …, ^xD]Tを補正する。
【００４０】
【数９】
2018180045.tif 000011
【００４１】
ステップＳ２５において、重みパラメータ補間部２５は、重みパラメータ補正部２４もしくは重みパラメータ逆計算部２３から重みパラメータ相当量を受け取り、ニューラル言語モデル記憶部１２に記憶されているニューラル言語モデルの重みパラメータと、入力された重みパラメータ相当量とを線形補間することにより、新しい重みパラメータを得る。重みパラメータ補間部２５は、ニューラル言語モデル記憶部１２に記憶されているニューラル言語モデルの重みパラメータを新しい重みパラメータに更新する。
【００４２】
［変形例１］
第二ドメイン学習データに含まれない単語であって、ニューラル言語モデルには含まれる単語（以下、ミスマッチ単語と呼ぶ）が存在する場合、頻度テンソル生成部２１は、以下の方法によって、ミスマッチ単語の仮想的な頻度を定めて、頻度テンソルを生成する。第二ドメイン学習データに含まれない単語に対して確率的言語モデルが出力する事後確率は、元々のニューラル言語モデルが出力する事後確率から大きな変化がないことが望ましい。そのため、ニューラル言語モデルの重みパラメータをsoftmax関数に掛けた後のミスマッチ単語の事後確率に変化がないという制約を用いる。この制約は、ミスマッチ単語が一個のときは簡単に解くことができる。具体的には、softmax関数の入力ベクトルをX=[x1, x2, …, xD]Tとして、最後の要素xDをミスマッチ単語の頻度とし、仮想的な値を求めたいものとする。残りの要素x1, x2, …, xD-1については、具体的な頻度が第二ドメイン学習データの集計により求まっているものとする。出力ベクトルはY=[y1, y2, …, yD]Tとして、最後の要素yDをニューラル言語モデルの重みパラメータにsoftmax関数を掛けて得られたミスマッチ単語の事後確率とし、この値が変化しないようにする。この関係性は式（13）で表される。
【００４３】
【数１０】
2018180045.tif 000012
【００４４】
これは、
【００４５】
【数１１】
2018180045.tif 000013
【００４６】
となる。以前に出現した単語の条件ごとに式（14）の計算を行い、求まったxDをミスマッチ単語の仮想的な頻度として用いる。ミスマッチ単語を一個でなく任意の個数とする場合には、上記の関係性から立てた連立方程式を解いて、ミスマッチ単語それぞれの仮想的な頻度として用いればよい。
【００４７】
［変形例２］
第一実施形態では、重みパラメータ逆計算部２３が、底を自然対数とする対数関数lnを用いたが、任意の値を底とする対数関数を用いてもよい。
【００４８】
［変形例３］
第一実施形態では、重みパラメータ逆計算部２３が、二乗ノルム最小化基準を用いて、||[x1, x2, …, xD]T||2を最小化するベクトル^X=[^x1, ^x2, …, ^xD]Tを重みパラメータ相当量と定めたが、ベクトル^Xを定める基準は任意のものを用いてもよい。例えば、任意のL-pノルムを用いてもよいし、ニューラル言語モデルの重みパラメータに対して近付くように誤差を小さくしてもよい。
【００４９】
［変形例４］
重みパラメータ補正部２４は、固定の関数またはニューラル言語モデルのパラメータを用いた関数などの任意の関数を用いて、重みパラメータ相当量の値が取り得る幅を変更してもよい。
【００５０】
［変形例５］
第一実施形態では、重みパラメータ補間部２５が、重みパラメータ相当量とニューラル言語モデルの重みパラメータとを線形補間する構成としたが、任意の一般的な補間法、例えば、幾何平均等により補間を行ってもよい。
【００５１】
［変形例６］
第一実施形態では、単語列を対象として連接頻度を集計したが、例えば、文字や音素列等、任意の離散値系列を対象としてもよい。
【００５２】
［変形例７］
第一実施形態では、ニューラル言語モデル、すなわちニューラルネットワークによる言語モデルを対象としたが、他の任意の離散値系列判別を目的としたニューラルネットワークの一部または全部の重みパラメータを対象としてもよい。
【００５３】
［変形例８］
第一実施形態では、確率的言語モデル生成部２２は、確率的言語モデルを用いて確率モデルパラメータテンソルを出力する構成としたが、例えば、RNNやLSTM等、前の単語から次の単語を予測する確率を出力する任意のモデリングを用い、出力された確率値系列を確率モデルパラメータテンソルの代わりに用いてもよい。
【００５４】
［変形例９］
第一実施形態では、第一ドメイン学習データから学習したニューラルネットワークの重みパラメータを初期値としてモデル学習を行う構成を説明したが、重みパラメータ逆計算部２３が求めた（すなわち、第二ドメイン学習データから学習した確率モデルの出力ベクトルに対して逆計算した）重みパラメータ相当量を初期値としてモデル学習を行ってもよい。また、重みパラメータ逆計算部２３が求めた重みパラメータ相当量を平均とするガウス分布を事前分布としてモデル学習を行ってもよい。
【００５５】
［第二実施形態］
第一実施形態では、系列モデリングの一例として、ニューラルネットワークによる言語モデルに対してこの発明を適用した一般的な構成例を説明した。第二実施形態では、より実用的な構成例として、CTCニューラルネットワークを用いた音響モデルに対してこの発明を適用した構成例を説明する。
【００５６】
主に音声認識に用いられるConnectionist Temporal Classification（以下、CTC）は、ニューラルネットワーク（NN: Neural Network）を用いた機械学習による系列変換モデルの一種であり、隠れマルコフモデル（HMM: Hidden Markov Model）相当の機能をニューラルネットワークに行わせることができる枠組みである。音声認識において現在一般的に使われているNN-HMMハイブリッド方式では、音をシンボルに変換する音響モデルにおいて、入力系列と出力系列の長さが一対一である制約がある。一方、CTCでは通常の出力シンボルに加えて、空白を表現する空シンボルを導入することにより、系列長の短くなる変換をNN音響モデルに行わせることができるようになっている。そのため、音声認識であれば、単位時間（以下、フレームとも呼ぶ）毎の音響特徴ベクトルの入力に対し、音素や文字、単語等を直接出力系列として、音響モデルや音声認識器を学習することができる（参考文献１参照）。
【００５７】
〔参考文献１〕Yajie Miao, Mohammad Gowayyed, and Florian Metze, "EESEN: End-to-End Speech Recognition using Deep RNN Models and WFST-based Decoding", 2015 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), IEEE, 2015.
第二実施形態の音声認識システムは、例えば、音響モデル学習装置と音声認識装置とを含む。音響モデル学習装置は、学習音声と各学習音声に関するテキスト情報（例えば、文字、音素、HMM状態等、音声の変換先のシンボル情報）とを含む学習データを用いて、学習音声から生成された音響特徴ベクトルとともに音響特徴ベクトルの変換先の正解系列としてテキスト情報を入力し、このペアを用いてCTCによる音響モデルを学習する。音声認識装置は、音響モデル学習装置により学習した音響モデルを用いて、入力音声の音声認識を行う。
【００５８】
音響モデル学習装置は、図３に示すように、学習データ記憶部３０、文脈保存ベクトル生成部３１、事後確率計算部３２、文脈保存ベクトル計算部３３、文脈保存ベクトル連結部３４、音響モデル記憶部３５、テキストデータ記憶部４０、頻度テンソル生成部４１、確率的言語モデル生成部４２、重みパラメータ逆計算部４３、重みパラメータ補正部４４、および重みパラメータ補間部４５を含む。ただし、重みパラメータ補正部４４は必須の構成ではなく、省略することも可能である。第二実施形態の音響モデル学習装置が、図５に示す各ステップの処理を行うことにより第二実施形態の音響モデル学習方法が実現される。
【００５９】
音声認識装置は、図４に示すように、音響モデル記憶部３５、言語モデル記憶部３６、および音声認識部３７を含む。第二実施形態の音声認識装置が、図６に示す各ステップの処理を行うことにより第二実施形態の音声認識方法が実現される。
【００６０】
音響モデル学習装置および音声認識装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。音響モデル学習装置および音声認識装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。音響モデル学習装置および音声認識装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、音響モデル学習装置および音声認識装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。音響モデル学習装置および音声認識装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。音響モデル学習装置および音声認識装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【００６１】
以下、図５を参照しながら、第二実施形態の音響モデル学習装置が実行する音響モデル学習方法を説明する。
【００６２】
音響モデル学習装置の学習データ記憶部３０には、音響モデルの学習に用いる学習データが記憶されている。学習データは、学習音声と各学習音声の内容に関するテキスト情報（例えば、HMM状態、音素、文字、単語等）とを含む。学習データは手動で収集してもよいし、公知の学習データ生成技術を用いて自動的に生成してもよい。学習データは予め十分な量を用意して学習データ記憶部３０に記憶しておく。
【００６３】
音響モデル学習装置の音響モデル記憶部３５には、CTCによる音響モデルが記憶されている。初期状態では従来技術のCTCによる音響モデルを用意して記憶しておけばよい。
【００６４】
ステップＳ３１において、文脈保存ベクトル生成部３１は、文脈保存ベクトルK0=[k0,1, k0,2, k0,3, k0,4, …]Tを生成する。文脈保存ベクトルK0の各次元は任意の値（例えば、0や1）に初期化する。文脈保存ベクトル生成部３１は入力なしに動作することができるが、初期化に用いる値（例えば、0や1）を入力としてもよい。生成した文脈保存ベクトルK0は、音響モデル記憶部３５に記憶されている音響モデルにおけるCTCニューラルネットワークの入力層もしくは隠れ層の任意の位置に連結する。連結とは、文脈保存ベクトルの情報を用いてCTCニューラルネットワークのパラメータに影響を与えるようにすることである。例えば、元々のCTCニューラルネットワークの隠れ層の前または後ろに文脈保存ベクトルを繋げ、隠れ層のベクトルの長さと文脈保存ベクトルの長さの和の長さであるベクトルを新規に生成する。または、個々の文脈保存ベクトルを隠れ層や出力層の大きさに変換する行列を別に用意し、行列による変換の結果を元々のCTCニューラルネットワークの出力層のベクトルと加算する。
【００６５】
ステップＳ３２において、事後確率計算部３２は、学習データ記憶部３０に記憶されている学習音声から抽出した時刻t+1（t≧0）における音響特徴ベクトルXt+1=[xt+1,1, xt+1,2, xt+1,3, xt+1,4, …]Tと、前の時刻tにおける文脈保存ベクトルKtとを、音響モデル記憶部３５に記憶されている音響モデルのCTCニューラルネットワークへ入力し、出力シンボルに対する事後確率ベクトルCt+1=[ct+1,1, ct+1,2, ct+1,3, ct+1,4, …]T（以下、出力事後確率ベクトルと呼ぶ）と、出力シンボルが空シンボルである確率を表す空シンボル確率φt+1とを得る。出力事後確率ベクトルCt+1と正解系列とは、CTCニューラルネットワークの誤差関数へ入力され、CTCニューラルネットワークのパラメータの更新に使用される。事後確率計算部３２は、出力事後確率ベクトルCt+1および空シンボル確率φt+1を文脈保存ベクトル計算部３３へ出力する。
【００６６】
ステップＳ３３において、文脈保存ベクトル計算部３３は、事後確率計算部３２から出力事後確率ベクトルCt+1および空シンボル確率φt+1を受け取り、空シンボル確率φt+1に基づいて一つ前の時刻tにおける文脈保存ベクトルKt=[kt,1, kt,2, kt,3, kt,4, …]Tを更新して、現在の時刻t+1における文脈保存ベクトルKt+1=[kt+1,1, kt+1,2, kt+1,3, kt+1,4, …]Tを生成する。文脈保存ベクトル計算部３３は、例えば、空シンボル確率φt+1が空シンボルであることを示す場合には、CTCニューラルネットワークが最後に空シンボル以外のシンボルを出力した際の出力事後確率ベクトルを保持し、空シンボル確率φt+1が空シンボルでないことを示す場合には、CTCニューラルネットワークが今回出力した出力事後確率ベクトルCt+1を記録するように、文脈保存ベクトルKt+1を計算する。文脈保存ベクトル計算部３３は、計算した文脈保存ベクトルKt+1を文脈保存ベクトル連結部３４へ出力する。
【００６７】
文脈保存ベクトルの計算には、例えば、電子回路におけるフリップフロップ回路に類似した更新則を用いる。CTCニューラルネットワークが出力する空シンボル確率φt+1は0から1までの値を取り、1に近いほど空シンボルである可能性が高いことを表す。簡単のため、その両端の場合を考えると、
【００６８】
【数１２】
2018180045.tif 000014
【００６９】
のように、空シンボルではない場合（φt+1=0）には現在の時刻t+1における出力事後確率ベクトルCt+1の内容を記録し、空シンボルの場合（φt+1=1）には一つ前の時刻tにおける文脈保存ベクトルKtの内容を保持する。具体的には、出力された空シンボル確率φt+1が所定の閾値以上であればφt+1=1とし、空シンボル確率φt+1が所定の閾値未満であればφt+1=0とする等の手段により空シンボル確率φt+1を二値化し、式（15）のような更新則を用いればよい。また、両端が含まれるように自然に連続的に拡張した更新則として、式（16）を定義して計算してもよい。
【００７０】
【数１３】
2018180045.tif 000015
【００７１】
ただし、
【００７２】
【数１４】
2018180045.tif 000016
【００７３】
は要素毎の積を表す。[1, …, 1]Tは1を縦に並べたベクトルを表す。Φt+1は空シンボル確率φt+1を出力事後確率ベクトルCt+1の次元数分並べた縦ベクトル、すなわち、Φt+1=[φt+1, …, φt+1]Tである。
【００７４】
式（16）は式（17）のように書き下すことも可能である。
【００７５】
【数１５】
2018180045.tif 000017
【００７６】
文脈保存ベクトル計算部３３は、出力シンボルに対する事後確率ベクトルCt+1の代わりに、図７に示す入力層、第一隠れ層、最終隠れ層等の、ニューラルネットワークの隠れ層等の他の内部パラメータや、入力された音響特徴ベクトルXt+1を用いてもよい。また、文脈保存ベクトル計算部３３は、公知の次元削減手段を用いて文脈保存ベクトルKt+1を低次元化して出力してもよいし、平均化や正規化、離散化等の予め固定された関数による変換を行った後に出力してもよい。
【００７７】
ステップＳ３４において、文脈保存ベクトル連結部３４は、文脈保存ベクトル計算部３３から文脈保存ベクトルKt+1を受け取り、音響モデル記憶部３５に記憶されているCTCニューラルネットワークに対して文脈保存ベクトルKt+1を連結する。文脈保存ベクトルの連結は、各時刻に更新された文脈保存ベクトルを受け取るたびに行う。文脈保存ベクトルを連結する際には、図８に示すように、出力シンボル系列のマルコフ性を表す行列を用いた線形変換を適用した後、直接出力層に加算等で統合するようなCTCニューラルネットワークを作成する。行列による線形変換を適用するとき、文脈保存ベクトルが入力される行列を、外部の言語資源等からの情報を反映したような出力シンボル系列のマルコフ性を表す行列とする。この行列は、外部の言語資源等を集計することにより算出したシンボル遷移確率を用いて、外部から行列の値に影響を与える操作（例えば、線形補間等）により、外部の言語資源等からの情報を反映するように構成されるものである。
【００７８】
文脈保存ベクトルKt+1を線形変換する際に用いる出力シンボル系列のマルコフ性を表す行列は、ステップＳ４１からＳ４５の処理により学習したものである。出力シンボル系列のマルコフ性を表す行列の学習は、文脈保存ベクトルKt+1をCTCニューラルネットワークへ連結するより前であれば、任意のタイミングで行えばよい。以下、出力シンボル系列のマルコフ性を表す行列は、重みパラメータとも呼ぶ。
【００７９】
テキストデータ記憶部４０には、少なくとも１つの単語列が含まれる複数のテキストデータが記憶されている。このテキストデータは手動で収集してもよいし、インターネット等から取得できる言語資源から自動で収集してもよいし、公知の学習データ生成技術を用いて自動的に生成してもよい。テキストデータは予め十分な量を用意してテキストデータ記憶部４０に記憶しておく。
【００８０】
ステップＳ４１において、頻度テンソル生成部４１は、テキストデータ記憶部４０に記憶されたテキストデータを読み込み、そのテキストデータに含まれる単語の連接頻度を集計し、頻度テンソルを生成する。頻度テンソル生成部４１は、生成した頻度テンソルを確率的言語モデル生成部４２へ出力する。
【００８１】
ステップＳ４２において、確率的言語モデル生成部４２は、頻度テンソル生成部４１から頻度テンソルを受け取り、その頻度テンソルから確率的言語モデルを用いて確率モデルパラメータテンソルを生成する。このとき、確率的言語モデルは、例えば、n-gramモデル等の一般的なものを用いればよい。また、その際にスムージングなどの一般的な操作を含めてもよい。確率的言語モデル生成部４２は、生成した確率モデルパラメータテンソルを重みパラメータ逆計算部４３へ出力する。
【００８２】
ステップＳ４３において、重みパラメータ逆計算部４３は、確率的言語モデル生成部４２から確率モデルパラメータテンソルを受け取り、その確率モデルパラメータテンソルに対してCTCニューラルネットワークに含まれる非線形変換の逆計算を行い、出力シンボル系列のマルコフ性を表す行列（すなわち、重みパラメータ）に相当する量（以下、重みパラメータ相当量と呼ぶ）を生成する。重みパラメータ相当量の逆計算は、第一実施形態の重みパラメータ逆計算部と同様に、式（11）により行えばよい。重みパラメータ逆計算部４３は、計算した重みパラメータ相当量を重みパラメータ補正部４４へ出力する。重みパラメータ補正部４４を省略した場合には、計算した重みパラメータ相当量を重みパラメータ補間部４５へ出力する。
【００８３】
ステップＳ４４において、重みパラメータ補正部４４は、重みパラメータ逆計算部４３から重みパラメータ相当量を受け取り、音響モデル記憶部３５に記憶されている重みパラメータと、分布のパラメータ（平均および分散）が合うように重みパラメータ相当量を補正する。重みパラメータ相当量の補正は、第一実施形態の重みパラメータ補正部と同様に、式（12）により行えばよい。重みパラメータ補正部４４は、補正した重みパラメータ相当量を重みパラメータ補間部４５へ出力する。
【００８４】
ステップＳ４５において、重みパラメータ補間部４５は、重みパラメータ補正部４４もしくは重みパラメータ逆計算部４３から重みパラメータ相当量を受け取り、音響モデル記憶部３５に記憶されているCTCニューラルネットワークの重みパラメータと、入力された重みパラメータ相当量とを線形補間することにより、新しい重みパラメータを得る。重みパラメータ補間部４５は、音響モデル記憶部３５に記憶されているCTCニューラルネットワークの重みパラメータを新しい重みパラメータに更新する。
【００８５】
以下、図６を参照しながら、第二実施形態の音声認識装置が実行する音声認識方法を説明する。
【００８６】
音声認識装置の音響モデル記憶部３５には、音響モデル学習装置により学習したCTCによる音響モデルが記憶されている。
【００８７】
音声認識装置の言語モデル記憶部３６には、音声認識に用いる言語モデルが記憶されている。言語モデルの種類は、音声認識部３７が音声認識を行う際に利用可能なものであればどのようなものであってもよい。
【００８８】
ステップＳ３７において、音声認識部３７は、音響モデル記憶部３５に記憶された音響モデルと言語モデル記憶部３６に記憶された言語モデルとを用いて、入力音声を音声認識し、その音声認識結果を出力する。音声認識部３７は、CTCによる音響モデル単体を用いて音声認識を行う音声認識器でもよいし、CTCによる音響モデルを重み付き有限状態トランスデューサ（WFST: Weighted Finite-State Transducer）と組み合わせた音声認識器であってもよい。
【００８９】
第二実施形態では、音響モデル学習装置と音声認識装置とを別々の装置として構成した音声認識システムを説明したが、音響モデル学習装置と音声認識装置とが備える機能をすべて備えた一台の音声認識装置として構成してもよい。すなわち、学習データ記憶部３０、文脈保存ベクトル生成部３１、事後確率計算部３２、文脈保存ベクトル計算部３３、文脈保存ベクトル連結部３４、音響モデル記憶部３５、言語モデル記憶部３６、音声認識部３７、テキストデータ記憶部４０、頻度テンソル生成部４１、確率的言語モデル生成部４２、重みパラメータ逆計算部４３、重みパラメータ補正部４４、および重みパラメータ補間部４５を含む音声認識装置を構成することも可能である。
【００９０】
上記のように構成することにより、第二実施形態の音響モデル学習装置は、CTCによる音響モデルの学習に用いる学習データとは異なる外部の言語資源であるテキストデータを用いて出力シンボル系列のマルコフ性を表す行列を学習することができる。学習データは学習音声と書き起こしのテキスト情報であるため、収集のために要するコストが大きいが、テキストデータは例えばインターネット等の既存の資源が利用できるため小さいコストで十分な量を収集することが可能である。これにより、第二実施形態の音響モデル学習装置によれば、効率的に高精度なCTCによる音響モデルを学習することができる。
【００９１】
［第三実施形態］
上記の各実施形態で説明した重みパラメータ逆計算部、重みパラメータ補正部、および重みパラメータ補間部を独立した装置として構成し、確率モデルパラメータを入力としてニューラルネットワークの重みパラメータを補間する重みパラメータ補間装置を構成することも可能である。
【００９２】
第三実施形態の重みパラメータ補間装置は、図９に示すように、重みパラメータ記憶部５０、重みパラメータ逆計算部５１、重みパラメータ補正部５２、および重みパラメータ補間部５３を含む。ただし、重みパラメータ補正部５２は必須の構成ではなく、省略することも可能である。第三実施形態の重みパラメータ補間装置が、図１０に示す各ステップの処理を行うことにより、第三実施形態の重みパラメータ補間方法が実現される。
【００９３】
重みパラメータ補間装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。重みパラメータ補間装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。重みパラメータ補間装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、重みパラメータ補間装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。重みパラメータ補間装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
【００９４】
以下、図１０を参照しながら、第三実施形態の重みパラメータ補間装置が実行する重みパラメータ補間方法の処理手続きを説明する。
【００９５】
重みパラメータ記憶部５０には、あるドメインに属する学習データ（以下、第一学習データ）から学習したニューラルネットワークに含まれる線形変換で用いる重みパラメータが記憶されている。
【００９６】
ステップＳ５１において、重みパラメータ逆計算部５１は、重みパラメータ補間装置に入力された確率モデルパラメータテンソルに対してニューラルネットワークの非線形変換の逆計算を行い、重みパラメータ相当量を生成する。確率モデルパラメータテンソルは、第一学習データとは異なるドメインに属する学習データ（以下、第二学習データ）から処理単位（例えば、単語や形態素、文字、音素等、任意の離散値系列）毎の連接頻度を表す頻度テンソルを生成し、その頻度テンソルから確率モデルを用いて生成したものである。重みパラメータ相当量の逆計算は、第一実施形態の重みパラメータ逆計算部と同様に、式（11）により行えばよい。重みパラメータ逆計算部５１は、計算した重みパラメータ相当量を重みパラメータ補正部５２へ出力する。重みパラメータ補正部５２を省略した場合には、計算した重みパラメータ相当量を重みパラメータ補間部５３へ出力する。
【００９７】
ステップＳ５２において、重みパラメータ補正部５２は、重みパラメータ逆計算部５１から重みパラメータ相当量を受け取り、重みパラメータ記憶部５０に記憶されている重みパラメータと、分布のパラメータ（平均および分散）が合うように重みパラメータ相当量を補正する。重みパラメータ相当量の補正は、第一実施形態の重みパラメータ補正部と同様に、式（12）により行えばよい。重みパラメータ補正部５２は、補正した重みパラメータ相当量を重みパラメータ補間部５３へ出力する。
【００９８】
ステップＳ５３において、重みパラメータ補間部５３は、重みパラメータ補正部５２もしくは重みパラメータ逆計算部５１から重みパラメータ相当量を受け取り、重みパラメータ記憶部５０に記憶されている重みパラメータと、入力された重みパラメータ相当量とを線形補間することにより、新しい重みパラメータを得る。重みパラメータ補間部５３は、新しい重みパラメータを重みパラメータ補間装置の出力とする。
【００９９】
［発明のポイント］
ニューラルネットワークで用いるsoftmax関数は、単写ではないため、逆関数が存在しない。しかし、それに相当する操作（すなわち、逆計算）を考えることにより、確率ベクトルをニューラルネットワークで用いる重みパラメータに相当する量に変換することができる。元々のニューラルネットワークで用いる重みパラメータと、別ドメインのテキストデータから計算した確率モデルのパラメータテンソルを重みパラメータに相当する量に変換したものとを補間することによって、別ドメインへのモデル適応ができる。また、変換量を初期値や制約として再学習を行うなど、この性質を用いた学習によって、単なる出力のリスコアリングではないモデルの改善を実現できる。
【０１００】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１０１】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１０２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１０３】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１０４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１０５】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【０１０６】
１０  第一学習データ記憶部
１１  ニューラル言語モデル生成部
１２  ニューラル言語モデル記憶部
２０  第二学習データ記憶部
２１  頻度テンソル生成部
２２  確率的言語モデル生成部
２３  重みパラメータ逆計算部
２４  重みパラメータ補正部
２５  重みパラメータ補間部
３０  学習データ記憶部
３１  文脈保存ベクトル生成部
３２  事後確率計算部
３３  文脈保存ベクトル計算部
３４  文脈保存ベクトル連結部
３５  音響モデル記憶部
３６  言語モデル記憶部
３７  音声認識部
４０  テキストデータ記憶部
４１  頻度テンソル生成部
４２  確率的言語モデル生成部
４３  重みパラメータ逆計算部
４４  重みパラメータ補正部
４５  重みパラメータ補間部
５０  重みパラメータ記憶部
５１  重みパラメータ逆計算部
５２  重みパラメータ補正部
５３  重みパラメータ補間部
【図１】
2018180045.tif 000018
【図２】
2018180045.tif 000019
【図３】
2018180045.tif 000020
【図４】
2018180045.tif 000021
【図５】
2018180045.tif 000022
【図６】
2018180045.tif 000023
【図７】
2018180045.tif 000024
【図８】
2018180045.tif 000025
【図９】
2018180045.tif 000026
【図１０】
2018180045.tif 000027