(57)【要約】      （修正有）【課題】より高い適応能力を有する言語モデルのモデル適応技術を提供する。【解決手段】言語モデルの学習装置２００において、入力された記号を変換し、中間状態を出力する第１のニューラルネットワーク部（第１変換部２１０）と、入力された補助情報と中間状態とを変換し、入力された記号に後続する記号を予測する第２のニューラルネットワーク部（第４変換部２４０）と、を有する。第２のニューラルネットワーク部（第４変換部２４０）は、中間状態と補助情報とを入力とする複数の隠れ層を有し、各隠れ層に入力される補助情報は互いに異なる。【選択図】図２
2019159464.tif 000002
【特許請求の範囲】
【請求項１】
入力された記号を変換し、中間状態を出力する第１のニューラルネットワーク部と、
入力された補助情報と前記中間状態とを変換し、前記入力された記号に後続する記号を予測する第２のニューラルネットワーク部と、
を有する装置であって、
前記第２のニューラルネットワーク部は、前記中間状態と前記補助情報とを入力とする複数の隠れ層を有し、各隠れ層に入力される補助情報は互いに異なる装置。
【請求項２】
入力された学習用記号を変換し、中間状態を出力する第１のニューラルネットワーク部と、
前記学習用記号に対応して入力された補助情報と前記中間状態とを変換し、前記入力された学習用記号に後続する記号を予測する第２のニューラルネットワーク部と、
前記入力された学習用記号に対応する正解出力記号と前記予測された後続する記号を比較し、比較結果に応じて前記第１のニューラルネットワーク部と前記第２のニューラルネットワーク部とのパラメータを更新するパラメータ更新部と、
を有する装置であって、
前記第２のニューラルネットワーク部は、前記中間状態と前記補助情報とを入力とする複数の隠れ層を有し、各隠れ層に入力される補助情報は互いに異なる装置。
【請求項３】
前記補助情報は、前記後続する記号の選択に影響する前記入力された記号以外の情報を含む情報から抽出されたものである、請求項１又は２記載の装置。
【請求項４】
前記補助情報は、前記入力された記号を含む、該入力された記号よりも時系列的に前の記号列のトピックと、該記号列の文脈と、該記号列の獲得環境とのうち少なくとも１以上の情報を含む、請求項１乃至３何れか一項記載の装置。
【請求項５】
プロセッサが、第１のニューラルネットワークモデルを用いて、入力された記号を変換し、中間状態を出力するステップと、
前記プロセッサが、第２のニューラルネットワークモデルを用いて、入力された補助情報と前記中間状態とを変換し、前記入力された記号に後続する記号を予測するステップと、
を有する方法であって、
前記第２のニューラルネットワークモデルは、前記中間状態と前記補助情報とを入力とする複数の隠れ層を有し、各隠れ層に入力される補助情報は互いに異なる方法。
【請求項６】
プロセッサが、第１のニューラルネットワークモデルを用いて、入力された学習用記号を変換し、中間状態を出力するステップと、
前記プロセッサが、第２のニューラルネットワークモデルを用いて、前記学習用記号に対応して入力された補助情報と前記中間状態とを変換し、前記入力された学習用記号に後続する記号を予測するステップと、
前記プロセッサが、前記入力された学習用記号に対応する正解出力記号と前記予測された後続する記号とを比較し、比較結果に応じて前記第１のニューラルネットワークモデルと前記第２のニューラルネットワークモデルとのパラメータを更新するステップと、
を有する方法であって、
前記第２のニューラルネットワークモデルは、前記中間状態と前記補助情報とを入力とする複数の隠れ層を有し、各隠れ層に入力される補助情報は互いに異なる方法。
【請求項７】
請求項１乃至４何れか一項記載の装置の各部としてプロセッサを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデルのモデル適応技術に関する。
【背景技術】
【０００２】
言語モデルのモデルパラメータを、特定のトピックやジャンルに合わせて適応させる技術は、音声認識等において重要な課題である。一般的な言語モデルと比較して、特定のトピックやジャンルに合わせて適応させた言語モデルは、言語解析や音声認識等のタスクの予測精度の向上が期待される。
【０００３】
言語モデルのモデル適応技術として、非特許文献１が知られている。非特許文献１では、リカレントニューラルネットワーク（ＲＮＮ）で学習された言語モデルのモデル適応技術が開示され、ジャンルに依存しない言語モデルを特定のジャンルに依存するモデルに適応させるため、正解ジャンルのラベルがモデル学習時に追加される。
【０００４】
また、言語モデルではないが、音響モデルにおけるモデル適応技術として、非特許文献２が知られている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Salil Deena, Madina Hasan, Mortaza Doulaty, Oscar Saz, and Thomas Hain, "Combining feature and model-based adaptation of RNNLMs for multi-genre broadcast speech recognition," in INTERSPEECH, 2016, pp. 2343-2347.
【非特許文献２】Marc Delcroix, Keisuke Kinoshita, Chengzhu Yu, Atsunori Ogawa, Takuya Yoshioka, and Tomohiro Nakatani, "Context adaptive deep neural networks for fast acoustic model adaptation in noisy conditions," in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016, pp. 5270-5274.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に開示されるモデル適応技術では、適応のための補助情報がジャンルのみであり、ジャンルを補助情報とする１種類のＮＮしかないため、適応能力が乏しい。また、正解のジャンルが与えられた状態でなければ適切な学習をすることが難しい。
【０００７】
また、非特許文献２に開示されるモデル適応技術では、音響モデルにおいて高い適応能力を有することが示されている。しかしながら、言語モデルを対象とする場合に当該モデル適応技術をどのように応用すればよいか、また、言語モデルに応用した場合でも効果があるのか否かは明らかではない。
【０００８】
上述した問題点を鑑み、本発明の課題は、より高い適応能力を有する言語モデルのモデル適応技術を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本開示の一態様は、入力された記号を変換し、中間状態を出力する第１のニューラルネットワーク部と、入力された補助情報と前記中間状態とを変換し、前記入力された記号に後続する記号を予測する第２のニューラルネットワーク部と、を有する装置であって、前記第２のニューラルネットワーク部は、前記中間状態と前記補助情報とを入力とする複数の隠れ層を有し、各隠れ層に入力される補助情報は互いに異なる装置に関する。
【発明の効果】
【００１０】
本発明によると、より高い適応能力を有する言語モデルのモデル適応技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施例による推定装置を示すブロック図である。
【図２】図２は、本発明の一実施例による言語モデル学習装置を示すブロック図である。
【図３】図３は、本発明の一実施例による推定装置及び言語モデル学習装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下の実施例では、学習済みのニューラルネットワーク（言語モデル）を用いて、入力された記号から次の記号を推定する推定装置と、当該言語モデルを学習する言語モデル学習装置とが開示される。ここで、「記号」とは、言語モデルの処理対象であり、例えば、単語、音素、形態素、文字（character）等である。言語モデルは、入力された記号に基づいて、次に出現する可能性の高い記号の予測結果を出力するものである。以下、処理単位が「単語」である場合を例として、処理を説明する。
後述される実施例による言語モデルは、単語を所定次元のベクトルで表現した単語ベクトルw(t)を入力とし、補助情報を利用して次の単語の予測結果^w(t+1)を出力するものである。例えば、音声認識において、時刻tに発話された単語w(t)の次に発話される可能性の高い単語^w(t+1)を予測する場合等に用いられる。本発明の言語モデルの主な特徴は、補助情報（トピック、文脈、話者等）に依存するニューラルネットワークが複数の分解された隠れ層から構成されることと、分解された隠れ層の各々において、異なる補助情報（γｎ）に基づく変換が行われることである。
〔実施例１：推定装置〕
まず、図１を参照して、本発明の一実施例による言語モデルを利用した推定装置を説明する。図１は、本発明の一実施例による推定装置を示すブロック図である。
【００１３】
図１に示されるように、推定装置１００は、第１変換部１１０、第２変換部１２０、第３変換部１３０、第４変換部１４０及び第５変換部１５０を有し、第４変換部１４０は、第１隠れ層１４０＿１、第２隠れ層１４０＿２、・・・、第Ｎ隠れ層１４０＿Ｎを有する。
【００１４】
第１変換部１１０は、入力ベクトルw(t)を重み行列U(w)により線形変換することによって第１出力状態x(t)を取得する。例えば、第１変換部１１０は、ニューラルネットワークの線形層により実現されうる。具体的には、第１変換部１１０は、時点tにおいて入力された単語を符号化したベクトルw(t)に対して、
【００１５】
【数１】
2019159464.tif 000003
に従ってx(t)を計算し、第２変換部１２０に出力する。
【００１６】
第２変換部１２０は、第１変換部１１０から出力されたx(t)をニューラルネットワークに入力することによって第２出力状態h(t)を取得する。ニューラルネットワークの構成は特に限定されるものではなく、RNN(Recurrent Neural Network), LSTM(Long Short Term Memory), DNN(Deep Neural Network), CNN(Convolutional Neural Network)等が利用できる。一例として、LSTMで実現する場合には、第２変換部１２０は、
【００１７】
【数２】
2019159464.tif 000004
に従って第２出力状態h(t)を計算し、第４変換部１４０に出力する。ここで、i(t), f(t), o(t)はそれぞれLSTMにおける入力ゲート、忘却ゲート及び出力ゲートであり、W(j,w), W(j,h)はそれぞれ入力された単語及び前の隠れ層のゲートjのウェイト行列である。また、σ(・)はベクトルの要素単位のシグモイドであり、tanh(・)はベクトルの要素単位のハイパボリックタンジェントであり、
【００１８】
【数３】
2019159464.tif 000005
はベクトルの要素単位の乗算である。ベクトルの要素単位のシグモイドとは、ベクトルの各要素についてのシグモイド関数値を並べたベクトルを返す関数であり、ベクトルの要素単位のハイパボリックタンジェントとは、ベクトルの各要素についてのtanh関数値を並べたベクトルを返す関数である。また、c(t)は隠れ状態である。
【００１９】
第３変換部１３０は、潜在的ディリクレ配分法（LDA）の出力状態である補助情報a(t)をニューラルネットワークにより線形変換し、変換後の補助情報γを取得し、第４変換部１４０に出力する。具体的には、第３変換部１３０は、重み行列をU(a)とし、バイアスベクトルをb(U,a)として、
【００２０】
【数４】
2019159464.tif 000006
に従って線形変換を行う線形層として実現されうる。変換後の補助情報γは要素毎に分解され、分解された各要素γnは、第４変換部１４０の対応する隠れ層１４０＿ｎに入力される。
【００２１】
ここで、潜在的ディリクレ配分法（LDA）は、テキスト文書の潜在的なトピック（話題、分野等）を推定するためのトピックモデルの一種であり、テキスト文書を入力として、各潜在的なトピックに属する確率を表す確率分布のベクトルを出力する。この出力が第３変換部１３０の入力として用いられるa(t)である。すなわち、LDAは、テキスト文書の集合におけるトピックを推定するための生成モデルであり、当該集合の各テキスト文書は潜在的なトピックを合成したものとしてモデル化され、これら潜在的なトピックはトピック確率上の合成としてモデル化される。LDAはテキスト文書における単語の順序を無視して、bag-of-wordsモデルでテキスト文書の特徴を表現する。具体的には、テキスト文書中の各文をbag-of-wordsモデルでベクトル表現したものを並べた低ランクの行列表現として、テキスト文書を表現する。LDAでは、各テキスト文書は以下の生成プロセスによって生成される。
【００２２】
１．ポワソン分布からテキスト文書の長さMをサンプリングする。
【００２３】
２．αで特定されるディリクレ分布からのサンプリングによって、テキスト文書のトピック上の多項分布を選択する。
【００２４】
３．M個の単語の各単語qmに対して、トピックを選択し、当該トピックに関連するユニグラム分布
【００２５】
【数５】
2019159464.tif 000007
から単語wmを選択する。α,βはLDAにおける主要なパラメータであり、予め学習データに基づいてモデル学習により学習しておく。αはトピックが抽出される多項分布上のディリクレ分布の形状を決定し、βは単語確率に直接影響を与えるパラメータである。
【００２６】
第４変換部１４０は、N個の分解された隠れ層１４０＿１，１４０＿２，・・・，１４０＿Ｎから構成される。隠れ層の各々は、linear hidden network(LHN)により実現される。n番目の隠れ層１４０＿ｎのパラメータをLn(w)、バイアスベクトルをbn(L,w)とする。このとき、第３変換部１３０から出力される変換後の補助情報γのうち、n番目の隠れ層１４０＿ｎへ入力される情報をγnとすると、n番目の隠れ層１４０＿ｎは、第２変換部１２０から提供される第２出力状態h(t)と第３変換部１３０から提供されるγnを入力とし、
【００２７】
【数６】
2019159464.tif 000008
である出力状態znを第５変換部１５０に出力する。
【００２８】
第５変換部１５０は、第４変換部１４０から出力された出力状態zn (n=1,2,…,N)に対して、
【００２９】
【数７】
2019159464.tif 000009
に従ってsoftmax関数値を予測結果^w(t+1)として出力する。ここで、softmax(・)はsoftmax関数であり、m次元の実数値からなるベクトルをm次元のベクトルに変換する関数であり、入力をe=(e1, e2, ..., em)T（Tは転置を表す）とし、出力を^e=(^e1, ^e2, ..., ^em)Tとした場合、
【００３０】
【数８】
2019159464.tif 000010
となるように変換する関数である。つまり、出力ベクトルの各要素の総和が1になるように正規化する関数である。
【００３１】
上述した実施例では、補助情報a(t)は、潜在的ディリクレ配分法（LDA）により求めたテキスト文書の潜在的なトピック確率を表す確率分布（ベクトル）であるが、これに限定されるものでない。例えば、補助情報a(t)は、言語モデルの出力となる次の単語の予測結果^w(t+1)の選択に影響するような、直前の単語w(t)のみから生成される情報（以下、「分解された隠れ層への入力情報」という）以外の何れか適切な補助的な情報であってもよい。例えば、補助情報a(t)として、w(t)までの過去の文字列の品詞、直前の文の文脈（対話であれば、直前の話者の発話内容に関する情報等）、会話の場の雰囲気（フォーマルなのか、カジュアルなのか）、会話相手との関係（上司と部下、友人、初対面の人等）、話者の性別、年齢、出身地域（言語や方言に影響もの）が利用されてもよい。会話の場の雰囲気や会話相手、話者の性別等の情報は、いわば予測対象の単語^w(t+1)よりも時系列的に前の単語列w(t0),…,w(t)は、当該単語列の獲得環境を表す情報ともいえる。なお、この例では、t0とtは単語列のインデックスであり、tが小さいほど時系列的に前の単語のインデックスであるとし、t0<tとした。例えば、文の先頭の単語のインデックスをt0とすれば、文の先頭から予測対象の単語のインデックスt+1の直前（つまりt）までの単語列がw(t0),…,w(t)である。
【００３２】
また、上述した実施例では、補助情報a(t)は、トピック確率という１種類の情報であり、これを分解された隠れ層の数（Ｎ個）に分割した補助情報γｎ（ｎ＝１，・・・，Ｎ）の何れかを各分解された隠れ層に入力していた。しかし、本発明はこれに限られるものではなく、上述した様々な種類の補助情報の中から、複数の異なる種別の補助情報を生成し、それぞれの分解された隠れ層に異なる種別の補助情報が入力される構成としてもよい。要するに、分解された隠れ層に入力される補助情報が互いに異なるものであれば、種別は同じであっても異なっていてもよい。
【００３３】
このようにして、本実施例の第４変換部における分解された隠れ層は、それぞれ、入力された補助情報に応じた適応処理を行った結果を出力することになる。そして、第５変換部が、全ての分解された隠れ層の結果を総合的に勘案し、最終的に出力する次の単語の予測結果^w(t+1)を出力する役割を担うのである。
〔実施例２：言語モデル学習装置〕
次に、図２を参照して、本発明の一実施例による上述した言語モデルを学習するための言語モデル学習装置を説明する。ここで、言語モデル学習装置２００における学習対象となるパラメータは、第１変換部１１０、第２変換部１２０、第３変換部１３０及び第４変換部１４０において用いられる行列及びバイアスベクトルの要素である。図２は、本発明の一実施例による言語モデル学習装置を示すブロック図である。
【００３４】
図２に示されるように、言語モデル学習装置２００は、第１変換部２１０、第２変換部２２０、第３変換部２３０、第４変換部２４０、第５変換部２５０及びパラメータ更新部２６０を有する。第１変換部２１０、第２変換部２２０、第３変換部２３０、第４変換部２４０及び第５変換部２５０は、推定装置１００の第１変換部１１０、第２変換部１２０、第３変換部１３０、第４変換部１４０及び第５変換部１５０と基本的に同じであり、本実施例では、説明の簡単化のため相違点のみ説明する。
【００３５】
第１変換部２１０の入力w(t)は、学習用に用意された単語ベクトルであり、パラメータ更新部２６０に与えられる正解の出力ベクトルw(t+1)と予め対応付けられているものとする。第１変換部１１０と同様にして、第１変換部２１０は、当該入力ベクトルw(t)を重み行列U(w)により線形変換することによって第１出力状態x(t)を取得し、第２変換部２２０に出力する。
【００３６】
第２変換部２２０は、第２変換部１２０と同様にして、第１変換部２１０から出力されたx(t)をLSTMに入力することによって第２出力状態h(t)を取得し、第４変換部２４０に出力する。
【００３７】
第３変換部２３０の入力a(t)は、学習用に用意された単語ベクトルw(t)に対応する補助情報となる。補助情報a(t)は、予め学習用データとしてw(t)に対応付けて記憶されていてもよいし、第１変換部２１０に入力された学習用データのw(t)から上述の潜在的ディリクレ配分法（LDA）等により計算されてもよい。なお、学習時に用いる補助情報の種類と、推定装置１００の運用時に用いる補助情報の種類を同一のものとする。第３変換部２３０は、第３変換部１３０と同様にして、補助情報a(t)をニューラルネットワークにより線形変換された補助情報γを取得し、第４変換部２４０に出力する。
【００３８】
第４変換部２４０は、N個の分解された隠れ層２４０＿１，２４０＿２，・・・，２４０＿Ｎから構成される。n番目の隠れ層２４０＿ｎは、第４変換部１４０のn番目の隠れ層１４０＿ｎと同様にして、第２変換部２２０から提供される第２出力状態h(t)と第３変換部２３０から提供されるγnから出力状態znを取得し、第５変換部２５０に出力する。
【００３９】
第５変換部２５０は、第５変換部１５０と同様にして、第４変換部２４０から出力された出力状態zn (n=1,2,…,N)を変換して予測出力ベクトル^w(t+1)を生成し、パラメータ更新部２６０に出力する。例えば、出力状態zn に関するsoftmax関数値を予測出力ベクトル^w(t+1)とすればよい。なお、ここでは学習用データに含まれるw(t)に対応する正解データw(t+1)と区別するため、出力された予測出力ベクトルを記号^w(t+1)で表記している。
【００４０】
パラメータ更新部２６０は、第５変換部２５０から出力された予測出力ベクトル^w(t+1)と、学習用データとして予め与えられている正解出力ベクトルw(t+1)とを比較し、当該比較結果に応じて言語モデルの各パラメータを更新する。パラメータの更新は、例えば、誤差伝播法等、ニューラルネットワークにおける何れか適切なパラメータ更新手法に従って実行すればよい。これにより、予測出力ベクトル^w(t+1)が正解出力ベクトルw(t+1)に近づくように、ニューラルネットワークの各パラメータが繰り返し更新されることとなる。
【００４１】
そして、パラメータ更新部２６０は、予測出力ベクトル^w(t+1)と正解出力ベクトルw(t+1)との比較結果が予め定めた基準に到達したら、ニューラルネットワークの各パラメータの値を出力して、パラメータ更新処理を終了する。予め定めた基準とは、例えば^w(t+1)とw(t+1)の近さ（距離等）が所定の閾値未満となる、或いは、繰り返し回数（パラメータ更新部２６０の更新処理の回数）が所定の回数に到達する、等である。
【００４２】
なお、学習済みの言語モデルを音声認識に利用する場合には、入力ベクトルw(t)として、時間区間tの入力音声信号s(t)を認識して得られる単語列に対応する単語ベクトルが利用されてもよい。これを言語モデルに入力することによって、次に発話される可能性の高い単語候補^w(t+1)を得ることができる。この結果に応じて、次の時間区間の音声信号s(t+1)の音声認識結果である単語列を求める際に、推定装置１００は、言語モデルにより予測された^w(t+1)を参考にして認識結果を求めてもよい。
【００４３】
ここで、推定装置１００及び言語モデル学習装置２００は、典型的には、サーバなどの計算装置により実現されてもよく、例えば、図３に示されるように、バスＢを介し相互接続されるドライブ装置１０１、補助記憶装置１０２、メモリ装置１０３、プロセッサ１０４、インタフェース装置１０５及び通信装置１０６から構成されてもよい。推定装置１００及び言語モデル学習装置２００における後述される各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリなどの記録媒体１０７によって提供されてもよい。プログラムを記憶した記録媒体１０７がドライブ装置１０１にセットされると、プログラムが記録媒体１０７からドライブ装置１０１を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０７により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムやデータを読み出して格納する。プロセッサ１０４は、メモリ装置１０３に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、上述した推定装置１００及び言語モデル学習装置２００の各種機能及び処理を実行する。インタフェース装置１０５は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置１０６は、インターネットなどのネットワークと通信するための各種通信処理を実行する。
【００４４】
しかしながら、推定装置１００及び言語モデル学習装置２００は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
【００４５】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４６】
１００  推定装置
２００  言語モデル学習装置
１１０、２１０  第１変換部
１２０、２２０  第２変換部
１３０、２３０  第３変換部
１４０、２４０  第４変換部
１５０、２５０  第５変換部
２６０  パラメータ更新部
【図１】
2019159464.tif 000011
【図２】
2019159464.tif 000012
【図３】
2019159464.tif 000013