(57)【特許請求の範囲】
【請求項１】
入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出方法であって、
記号を表すベクトルを順次読み込む記号ベクトル読込工程と、
前記記号ベクトル読込工程によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出工程と、
前記入力層活性度ベクトル算出工程によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出工程と、
前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出工程と、
前記中間層活性度ベクトル算出工程によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出工程と、
前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出工程と、
を含んだことを特徴とする言語確率算出方法。
【請求項２】
前記平均活性度ベクトル算出工程は、前記所定回数を変化させて複数の平均活性度ベクトルを算出し、
前記出力層活性度ベクトル算出工程は、前記中間層における活性度ベクトルおよび前記中間層における前記複数の平均活性度ベクトルのそれぞれの重み付きの和を前記出力層における活性度ベクトルとして算出することを特徴とする請求項１に記載の言語確率算出方法。
【請求項３】
学習データを用いて、前記重み付きの和における重みをパラメータとする損失関数を定義する損失関数定義工程と、
前記損失関数が最小となるように前記パラメータを推定するパラメータ推定工程と、
をさらに含んだことを特徴とする請求項２に記載の言語確率算出方法。
【請求項４】
複数の中間層を有し、
前記中間層活性度ベクトル算出工程は、前記入力層活性度ベクトル算出工程によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記中間層の下の中間層における活性度ベクトルと、該中間層における前記平均活性度ベクトルとを基に前記中間層における活性度ベクトルを算出することを特徴とする請求項１から３のいずれか１項に記載の言語確率算出方法。
【請求項５】
入力された音声信号に合致する文の候補である複数の候補文を作成する候補文作成工程と、
前記候補文ごとの前記音声信号との音響的な一致度を表す音響スコアを算出する音響スコア算出工程と、をさらに含み、
前記記号ベクトル読込工程は、前記候補文を構成する単語を表すベクトルを順次読み込み、
記号出現確率算出工程によって算出された前記出現確率を基に前記候補文ごとの言語スコアを算出する言語スコア算出工程と、
前記候補文のうち、前記音響スコアと前記言語スコアとの合計が最も大きい候補文を前記音声信号に合致する文として抽出する認識結果抽出工程と、
をさらに含んだことを特徴とする請求項１から４のいずれか１項に記載の言語確率算出方法。
【請求項６】
入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出装置であって、
記号を表すベクトルを順次読み込む記号ベクトル読込部と、
前記記号ベクトル読込部によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出部と、
前記入力層活性度ベクトル算出部によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出部と、
前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出部と、
前記中間層活性度ベクトル算出部によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出部と、
前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出部と、
を有することを特徴とする言語確率算出装置。
【請求項７】
コンピュータを、請求項６に記載の言語確率算出装置として機能させるための言語確率算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデルを用いた言語確率算出方法、言語確率算出装置および言語確率算出プログラムに関する。
【背景技術】
【０００２】
従来、文字や単語の列である記号列が、ある対象の言語においてどの程度もっともらしいかを言語確率として与えるモデルである言語モデルが知られている。言語モデルは様々な目的に利用されている。例えば音声認識においては、ある入力音声信号に対して任意の単語列の発音と音響的に類似している度合を示す音響確率と、単語の並びとして言語的に妥当である度合を表す言語確率とを併せて考慮することで、音響的にも言語的にももっともらしい単語列を多数の認識候補の中から選ぶことができる。
【０００３】
一般的に広く用いられる言語モデルとしてＮグラム言語モデルがある。Ｎグラム言語モデルは、ある単語の出現確率はその単語の前にあるＮ−１単語にのみ依存するという仮定を置く。つまり、Ｎ単語の連鎖確率を個々の単語の言語確率として推定し、その累積値を単語列に対する言語確率とする。一般にＮには２〜４程度の値が用いられる。
【０００４】
一方、Ｎグラム言語モデル以外の言語モデルとして、ＲＮＮ（リカレントニューラルネットワーク：Recurrent  Neural  Network）言語モデルがある（例えば非特許文献１を参照）。ＲＮＮは多層ニューラルネットワークの一種であり、中間層のニューロンに再帰的な結合を持つ。この再帰的な結合により、入力単語列の頭から直前に読み込んだ単語までの全文脈を中間層の活性度ベクトルに蓄えることができ、より長い文脈に依存する言語確率を算出することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】T.  Mikolov,  M.  Karafiat,  L.  Burget,  J.  Cernocky,  S.  Khudanpur,“Recurrent  neural  network  based  language  model,”  国際会議Interspeech  2010予稿集,  pp.  1045-1048,  2010.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の言語モデルには、長い文脈の情報、すなわち文章の話題やスタイル、話者に特有の単語や話し方等を効果的に利用して次の単語を適切に予測することができないという問題があった。
【０００７】
例えば、Ｎグラム言語モデルを用いて単語を予測する場合、前述の通り単語数個分の情報しか単語の予測に利用することができないため、長い文脈の情報を効果的に利用して次の単語を適切に予測することができない場合がある。
【０００８】
また、ＲＮＮ言語モデルを用いて単語を予測する場合、より新しく出現した単語の影響が大きくなり、ある程度過去の単語の影響は非常に小さくなるため、長い文脈の情報を効果的に利用して次の単語を適切に予測することができない場合がある。これは、再帰的な結合によって伝えられる成分が活性度関数により０と１の間に正規化されることにより、活性度ベクトルに蓄えられる過去に読み込まれた記号に対する成分が、新たな記号を読み込むごとに指数的に減少するためである。
【課題を解決するための手段】
【０００９】
本発明の言語確率算出方法は、入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出方法であって、記号を表すベクトルを順次読み込む記号ベクトル読込工程と、前記記号ベクトル読込工程によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出工程と、前記入力層活性度ベクトル算出工程によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出工程と、前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出工程と、前記中間層活性度ベクトル算出工程によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出工程と、前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出工程と、を含んだことを特徴とする。
【００１０】
また、本発明の言語確率算出装置は、入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出装置であって、記号を表すベクトルを順次読み込む記号ベクトル読込部と、前記記号ベクトル読込部によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出部と、前記入力層活性度ベクトル算出部によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出部と、前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出部と、前記中間層活性度ベクトル算出部によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出部と、前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、長い文脈の情報、すなわち文章の話題やスタイル、話者に特有の単語や話し方等を効果的に利用して次の単語を適切に予測することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ＲＮＮ言語モデルの一例を示す図である。
【図２】図２は、ＲＮＮ言語モデルにおける活性度を算出する方法の一例を示すフローチャートである。
【図３】図３は、ＲＮＮ言語モデルにおける言語確率算出方法の一例を説明するための図である。
【図４】図４は、第１の実施形態に係る言語確率算出装置の構成の一例を示す図である。
【図５】図５は、第１の実施形態に係る言語確率算出装置における処理の一例を示すフローチャートである。
【図６】図６は、第１の実施形態に係る言語確率算出装置における言語確率算出方法の一例を説明するための図である。
【図７】図７は、第２の実施形態に係る音声認識装置の構成の一例を示す図である。
【図８】図８は、第２の実施形態に係る音声認識装置における処理の一例を示すフローチャートである。
【図９】図９は、プログラムが実行されることにより、言語確率算出装置もしくは音声認識装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願に係る言語確率算出方法、言語確率算出装置および言語確率算出プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る言語確率算出方法、言語確率算出装置および言語確率算出プログラムが限定されるものではない。
【００１４】
［ＲＮＮ言語モデルの概要］
まず、ＲＮＮ言語モデルの概要について説明する。ＲＮＮは、１つの入力層、１つ以上の中間層、および１つの出力層を持ち、少なくとも１つの中間層の中でニューロンが相互に結合された再帰結合を持つ。そして、ＲＮＮ言語モデルのＲＮＮには入力記号列の各記号が順次入力され、現在の１つ前の記号を表すベクトルと、その時の中間層の各ニューロンの活性度とを用いて、現在の記号の出現確率を算出する。
【００１５】
ＲＮＮにおける各層には複数のニューロンがあり、それぞれ上位や下位、もしくは同じ層にあるニューロンと結合されている。各ニューロンは、発火している度合を表す活性度（実数値）を持ち、結合されたニューロン間には結合の強さを表す結合重み（実数値）が割り当てられる。各ニューロンの活性度に結合重みを掛けた値が結合先のニューロンに伝播される。また同じ層に含まれるニューロンの活性度はまとめて活性度ベクトルとして表現される。
【００１６】
図１は、ＲＮＮ言語モデルの一例を示す図である。図１は、入力層、中間層、出力層を各１層ずつ持つＲＮＮを表している。図１に示すように、中間層は同じ層に戻る再帰的な結合を持っている。入力層には入力ベクトルの値が活性度として与えられる。
【００１７】
前述のように、ＲＮＮ言語モデルでは、入力される記号は０または１の値からなるベクトルとして表現される。例えば、考慮する全ての記号の数（語彙サイズ）と同じだけのニューロンを入力層に用意しておき、入力記号に対応するニューロンだけが１、他のニューロンは０を取るように活性度を設定することができる。この場合、仮に考慮する記号の種類をＡ、Ｂ、Ｃとすると、入力層のニューロンは３つ必要であり、記号Ａ、記号Ｂ、記号Ｃに対応する入力ベクトルは、例えば式（１）のように表される。ただし、ベクトルの１次元目が記号Ａ、２次元目が記号Ｂ、３次元目が記号Ｃに対応するものとする。
【００１８】
【数１】
0006495814.tif 000002
【００１９】
また、図１では入力層のニューロンの上から順にベクトルの１、２、３次元目の要素が活性度になるように対応している。中間層においては再帰的な結合を考慮して活性度を算出する。ただし、最初の記号を読み込んだとき、すなわちｔ＝１のときは活性度を０と仮定する。また、出力層のニューロンの活性度ベクトルはソフトマックス関数等を用いて算出する。なお、出力層のニューロンも入力層と同様に上から順に記号Ａ、記号Ｂ、記号Ｃに対応している。
【００２０】
次に、図２を用いて活性度を算出する方法について説明する。図２は、ＲＮＮ言語モデルにおける活性度を算出する方法の一例を示すフローチャートである。ここで、活性度の算出には、Ｌ層からなるＲＮＮであって、第１層が入力層、第２〜第Ｌ−１層が中間層（Ｌ≧３）、第Ｌ層が出力層であるＲＮＮを用いる。また、ＲＮＮの第ｎ層（１≦ｎ≦Ｌ）にはＨｎ個のニューロンが含まれる。また、第ｍ層のｊ番目のニューロンから第ｎ層のｋ番目のニューロンへの結合重みｗｍ，ｎ［ｋ，ｊ］を要素とする行列をｗｍ，ｎで表す。ただし、１≦ｍ≦ｎ≦Ｌ、１≦ｊ≦Ｈｍ、１≦ｋ≦Ｈｎとする。また、第ｎ層（１＜ｎ≦Ｌ）の時刻ｔにおけるニューロンの活性度ベクトルをｈｎ（ｔ）と表す。
【００２１】
まず、ｔを１に設定する（ステップＳ１０１）。次に、ｔ番目の入力記号ｘｔを入力層の活性度ベクトルｈ１（ｔ）に代入し（ステップＳ１０２）、ｎを２に初期化する（ステップＳ１０３）。ここで、ＲＮＮの第ｎ層が再帰接続のある中間層である場合（ステップＳ１０４、Ｙｅｓ）、再帰的に伝搬される成分ｗｎ，ｎ・ｈｎ（ｔ−１）をｚｎに代入する（ステップＳ１０５）。一方、ＲＮＮの第ｎ層が再帰接続のある中間層でない場合（ステップＳ１０４、Ｎｏ）、ｚｎは０ベクトルに設定する（ステップＳ１０６）。
【００２２】
そして、第ｎ−１層から伝搬される成分ｗｎ−１，ｎ・ｈｎ−１（ｔ）をｚｎに加える（ステップＳ１０７）。次に、ｚｎに活性化関数ｆｎ（・）を適用し、第ｎ層の活性度ベクトルｈｎ（ｔ）を得る（ステップＳ１０８）。ここで、Ｌを層の数としたときに、ｎ＜Ｌの場合（ステップＳ１０９、Ｙｅｓ）、ｎを１だけ増加させ（ステップＳ１１０）、ステップＳ１０４へ戻り処理を繰り返す。また、ｎ＜Ｌでない場合（ステップＳ１０９、Ｎｏ）、ｔ＜Ｔであれば（ステップＳ１１１、Ｙｅｓ）ｔを１だけ増加させ（ステップＳ１１２）、ステップＳ１０２へ戻り処理を繰り返す。ｔ＜Ｔでなければ（ステップＳ１１１、Ｎｏ）処理を終了する。
【００２３】
図３を用いてＲＮＮ言語モデルにおける言語確率算出方法について説明する。図３は、ＲＮＮ言語モデルにおける言語確率算出方法の一例を説明するための図である。なお、図３の例ではＬ＝３であり、中間層は１層のみとする。
【００２４】
図３に示すように、順に入力された記号ｘ１，ｘ２，…，ｘｔに対して、中間層の活性度ベクトルｈ２（ｔ）は、現在の記号に対する入力層の活性度ベクトルｈ１（ｔ）と１つ前の記号に対する中間層の活性度ベクトルｈ２（ｔ−１）とから算出される（図２のステップＳ１０５、Ｓ１０６、Ｓ１０７、Ｓ１０８）。また、ｈ２（ｔ）に基づいて出力層の活性度ベクトルｈ３（ｔ）が算出される。そして、出力層活性度ベクトルに基づいて記号の出現確率が算出される。
【００２５】
このように、ＲＮＮの中間層のニューロンの活性度は再帰的な結合により再び中間層のニューロンへ伝搬されることから、中間層のニューロンの活性度には、現在までに読み込んだ入力系列の特徴が記憶される。したがって、ＲＮＮ言語モデルは入力記号列の最初から現在までの履歴に依存した記号出現確率を求めることができる。
【００２６】
これにより、ＲＮＮ言語モデルは、過去のＮ−１個の記号のみから次の記号を予測するＮグラムモデル（Ｎは高々３か４）よりも長い文脈を考慮した記号出現確率を求めることが可能なモデルとなっている。しかしながら、前述の通り、より新しく出現した単語の影響が大きくなり、ある程度過去の単語の影響は非常に小さくなる。そのため、ある程度過去の単語が、単語の予測に効果的に利用されていない。
【００２７】
［第１の実施形態］
以下の実施形態では、第１の実施形態に係る言語確率算出装置の構成、および言語確率算出装置によって実行される言語確率算出方法を説明し、さらに第１の実施形態による効果を説明する。また、以降の説明において「ＲＮＮ言語モデル」は本発明の実施形態におけるＲＮＮ言語モデルを示すが、「従来のＲＮＮ言語モデル」はこれまで図１〜３を用いて説明したＲＮＮ言語モデルを示すものとする。
【００２８】
［第１の実施形態の構成］
まず、図４を用いて第１の実施形態に係る言語確率算出装置の構成について説明する。図４は、第１の実施形態に係る言語確率算出装置の構成の一例を示す図である。図４に示すように、言語確率算出装置１は、予測部１０、学習部１１および記憶部１２を有する。
【００２９】
また、予測部１０は記号ベクトル読込部１０１、入力層活性度ベクトル算出部１０２、中間層活性度ベクトル算出部１０３、平均活性度ベクトル算出部１０４、出力層活性度ベクトル算出部１０５および記号出現確率算出部１０６を有する。また、学習部１１は損失関数定義部１１１およびパラメータ推定部１１２を有する。また、記憶部１２は予測部１０等で用いられるＲＮＮ言語モデルを記憶するＲＮＮ言語モデル記憶部１２１を有する。
【００３０】
まず、予測部１０の各部について詳細に説明するとともに、言語確率算出装置１によって実行される言語確率算出方法について説明する。ここで、言語確率算出装置１は、Ｌ層からなるＲＮＮであって、第１層が入力層、第２〜第Ｌ−１層が中間層（Ｌ≧３）、第Ｌ層が出力層であるＲＮＮを用いて言語確率の算出を行う。また、ＲＮＮの第ｎ層（１≦ｎ≦Ｌ）にはＨｎ個のニューロンが含まれる。また、第ｍ層のｊ番目のニューロンから第ｎ番層のｋ番目のニューロンへの結合重みｗｍ，ｎ［ｋ，ｊ］を要素とする行列をｗｍ，ｎで表す。ただし、１≦ｍ≦ｎ≦Ｌ、１≦ｊ≦Ｈｍ、１≦ｋ≦Ｈｎとする。また、第ｎ層（１＜ｎ≦Ｌ）の時刻ｔにおけるニューロンの活性度ベクトルをｈｎ（ｔ）と表す。
【００３１】
記号ベクトル読込部１０１は記号を表すベクトルを順次読み込む。個々の記号は、１つのベクトルの次元に対応し、対応する次元の要素のみを１、対応しない次元の要素を０とすることで固有の記号を表現する。
【００３２】
入力層活性度ベクトル算出部１０２は、記号ベクトル読込部１０１によってベクトルが読み込まれるたびに、ベクトルを基に入力層における活性度ベクトルを算出する。第１の実施形態においては、入力層活性度ベクトル算出部１０２は入力記号のベクトルの各次元の値を入力層のニューロンの活性度に決定する。したがって、入力記号のベクトルの次元数は出現する可能性のある入力記号の種類数および入力層のニューロンの数に等しい。ここで、入力記号列Ｘ＝ｘ１，ｘ２，…，ｘｔ，…，ｘＴの１番目から順にｔ番目の記号ｘｔが読み込まれたとき、入力層の各ニューロンの活性度を表す活性度ベクトルｈ１（ｔ）は、式（２）のようになる。
【００３３】
【数２】
0006495814.tif 000003
【００３４】
中間層活性度ベクトル算出部１０３は、入力層活性度ベクトル算出部１０２によって入力層における活性度ベクトルが算出されるたびに中間層における活性度ベクトルを算出する。中間層活性度ベクトル算出部１０３は、式（３）に示すように、第ｎ層（１＜ｎ≦Ｌ）のニューロンの活性度ベクトルｈｎ（ｔ）を、当該ニューロンに結合されたニューロンの活性度に結合重みを掛けた値の集合、すなわち結合重み行列と活性度ベクトルの積を求め、求めたベクトルの積を活性化関数によって０と１の間に正規化することによって算出する。なお、中間層が１層の場合、ｈｎ−１（ｔ）は入力層における活性度ベクトルである。
【００３５】
【数３】
0006495814.tif 000004
【００３６】
ここで、活性化関数としては式（４）に示すシグモイド関数が用いられる。ただし、ｘはベクトルの各要素を表すものとする。
【００３７】
【数４】
0006495814.tif 000005
【００３８】
一方、中間層において同じ層内のニューロンとの再帰的な結合がある場合は、式（５）に示すように、中間層において前回算出された活性度ベクトル、すなわちｔ−１番目の記号ｘｔ−１を読み込んだ時の中間層における活性度ベクトルを基にｈｎ（ｔ）を算出する。式（５）の右辺のｆｎ（・）内の第２項には、添え字（ｔ−１）が付いた活性度ベクトルｈｎ（ｔ−１）が同じ層内のニューロンの活性度にｗｎ，ｎの重み付きで加算される。
【００３９】
【数５】
0006495814.tif 000006
【００４０】
平均活性度ベクトル算出部１０４は、中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する。すなわち、平均活性度ベクトル算出部１０４は、時刻ｔまでに読み込んだ記号列ｘ１，ｘ２，…，ｘｔに対して第ｎ−１層の中間層の活性度ベクトルｈｎ−１（１），ｈｎ−１（２），…，ｈｎ−１（ｔ−１），ｈｎ−１（ｔ）が中間層活性度ベクトル算出部１０３によって算出されているとき、算出された中間層の活性度ベクトルの過去Ａ個分の平均である平均活性度ベクトルを式（６）によって算出する。
【００４１】
【数６】
0006495814.tif 000007
【００４２】
このとき、Ａの値を大きくすることで、従来よりも長い文脈情報が平均活性度ベクトルに保持される。さらに、平均活性度ベクトル算出部１０４は、所定回数を変化させて複数の平均活性度ベクトルを算出するようにしてもよい。この場合、平均活性度ベクトル算出部１０４は、異なるＡの値Ａ（１），Ａ（２），…，Ａ（ｍ），…，Ａ（Ｍ）を設定し、複数の平均活性度ベクトルを算出する。ここで、Ｍは任意の定数とし、Ａ（ｍ）は整数を返すｍの関数とする。このとき、ｍ＝１，２，…，Ｍに対する平均活性度ベクトルを式（７）によって算出する。
【００４３】
【数７】
0006495814.tif 000008
【００４４】
ここで、ｗｎ−１，ｎ（ｍ）はＡ（ｍ）個分の平均活性度ベクトルを算出するための結合重み行列である。なお、Ｍ＝１、Ａ（１）＝１、ｗｎ−１，ｎ（１）＝ｗｎ−１，ｎとした場合は、平均活性度ベクトルは中間層活性度ベクトル算出部１０３によって算出される活性度ベクトルと等しくなる。また、第ｎ層が再帰的な結合を持つ場合は、平均活性度ベクトル算出部１０４は中間層活性度ベクトル算出部１０３と同様に、式（８）によってｔ−１の活性度ベクトルｈｎ（ｔ−１）を結合重みｗｎ，ｎを掛けて加える。
【００４５】
【数８】
0006495814.tif 000009
【００４６】
出力層活性度ベクトル算出部１０５は、中間層活性度ベクトル算出部１０３によって中間層における活性度ベクトルが算出されるたびに、出力層における活性度ベクトルを算出する。出力層活性度ベクトル算出部１０５は、出力層に最も近い中間層である第Ｌ−１層の活性度ベクトルもしくは平均活性度ベクトルに基づいて、第Ｌ層すなわち出力層における活性度ベクトルの算出を行う。このとき、出力層活性度ベクトル算出部１０５は、活性度を確率と見なすために、活性化関数として式（９）に示すソフトマックス関数を用いて出力層における活性度ベクトルを算出する。
【００４７】
【数９】
0006495814.tif 000010
【００４８】
ここで、式（９）の分母は活性度を確率と見なすための正規化項であり、ｚｎ［ｉ］は、式（１０）に示すｎ−１層目から重み付きで伝搬された活性度ベクトルｚｎのｉ次元目の要素を表す。
【００４９】
【数１０】
0006495814.tif 000011
【００５０】
ＲＮＮ言語モデルでは、出力層の個々のニューロンは固有の記号に対応しており、予測される次の記号の出現確率は、その記号に対応するニューロンの活性度として求められる。そこで、記号出現確率算出部１０６は、入力記号列ｘ１，ｘ２，…，ｘｔを読み込んだ後で出力層における活性度ベクトルｈＬ（ｔ）を基に記号ｖｋが出現する確率を、式（１１）によって算出する。ただし、記号ｖｋは出力層のｋ番目のニューロンに対応する記号を表す。
【００５１】
【数１１】
0006495814.tif 000012
【００５２】
なお、平均活性度ベクトル算出部１０４が所定回数を変化させて複数の平均活性度ベクトルを算出する場合、出力層活性度ベクトル算出部１０５は、中間層における活性度ベクトルおよび中間層における複数の平均活性度ベクトルのそれぞれの重み付きの和を出力層における活性度ベクトルとして算出する。この場合、出力層活性度ベクトル算出部１０５はｎをＬに設定した式（７）または式（８）を用いる。
【００５３】
中間層活性度ベクトル算出部１０３および平均活性度ベクトル算出部１０４は、第ｎ−１層および第ｎ層に再帰接続があるか否かによって、これまで説明した方法を使い分けて活性度の算出を行う。
【００５４】
まず、第ｎ層および第ｎ−１層のいずれにも再帰接続がない場合は、式（３）によって算出される活性度ベクトルが第ｎ層の活性度ベクトルとなる。また、第ｎ−１層に再帰接続があり第ｎ層に再帰接続がない場合は、式（５）によって算出される活性度ベクトルが第ｎ層の活性度ベクトルとなる。また、第ｎ−１層に再帰接続がなく第ｎ層に再帰接続がある場合は、式（７）によって算出される活性度ベクトルが第ｎ層の活性度ベクトルとなる。また、第ｎ層および第ｎ−１層のいずれにも再帰接続がある場合は、式（８）によって算出される活性度ベクトルが第ｎ層の活性度ベクトルとなる。
【００５５】
次に、学習部１１の各部について詳細に説明するとともに、活性度ベクトル算出のための結合重みの設定方法について説明する。まず、基本的にはＲＮＮのパラメータである結合重みは、記号列の学習データを用いて誤差逆伝搬法を用いて推定される。
【００５６】
例として、Ｌ＝３すなわち３層のＲＮＮ言語モデルを作成する場合を例に挙げて結合重みの設定方法について説明する。この場合、第１層が入力層、第２層が中間層、第３層が出力層である。まず、結合重み行列ｗ１，２、ｗ２，２、ｗ２，３は、ＢＰＴＴ（通時的誤差逆伝搬：Back  Propagation  Through  Time）等の既知の方法によって設定することができる（参考文献：Williams,R.J.,and  Zipser,D.  A  learning  algorithm  for  continually  running  fully  recurrent  neural  networks.  Neural  Computation.  1(2),270,  1989.）。
【００５７】
一方、学習部２０は、平均活性度ベクトル算出部１０４における結合重みｗ２，３（１），…，ｗ２，３（Ｍ）を次のように設定する。まず、学習部２０は、予測部１０の機能を利用すること等により行列ｗ１，２およびｗ２，２を用いて学習データの記号列ｘ１，ｘ２，…，ｘｔに対する中間層の活性度ベクトル系列ｈ２（１），ｈ２（２），…，ｈ２（ｔ），…，ｈ２（Ｔ）を求める。そして、損失関数定義部１１１は学習データを用いて、重み付きの和における重みをパラメータとする損失関数を定義する。すなわち損失関数定義部１１１は、式（１２）に示すパラメータの集合に対して、式（１３）に示す負の対数尤度に基づく損失関数を定義する。
【００５８】
【数１２】
0006495814.tif 000013
【００５９】
【数１３】
0006495814.tif 000014
【００６０】
そして、パラメータ推定部１１２は損失関数が最小となるようにパラメータを推定する。パラメータ推定部１１２は、式（１３）のＥ（Ｖ）が最小になるようにＶを推定する。ここで、式（１４）に示すように、ｙｔ［ｋ］は学習データのベクトル表現された個々の記号ｘｔの次、すなわち時刻ｔ＋１に出現する記号ｙｔの第ｋ次元目の要素を表す。
【００６１】
【数１４】
0006495814.tif 000015
【００６２】
また、ｈ３（ｔ）は出力層の活性度ベクトルであり、予測された次の記号の確率分布を表す。つまり、Ｅ（Ｖ）は、実際に次に出現した記号に対してＲＮＮ言語モデルがより高い確率を付けるほど小さくなる。そのため、パラメータ推定部１１２はＥ（Ｖ）が最小になるようなＶを求めれば良い。ただし、右辺第２項は、Ｖの個々の要素ｗ２，３（ｍ）［ｋ，ｊ］が大きくなり過ぎないように制御するための正則化項であり、βは正則化項に対する重み係数を表す正の定数である。
【００６３】
パラメータ推定部１１２は、例えば勾配法を用いてＥ（Ｖ）の最小値を求める。例えば、式（１５）に示すように、パラメータ推定部１１２は、Ｅ（Ｖ）の個々の要素ｗ２，３（ｍ）［ｋ，ｊ］に対する偏微分を求める。
【００６４】
【数１５】
0006495814.tif 000016
【００６５】
そして、パラメータ推定部１１２は式（１６）に示すように新しいパラメータを求め、求めた新しいパラメータを用いてさらに偏微分計算およびパラメータ更新を繰り返す。ここで、ηは学習率を表す。
【００６６】
【数１６】
0006495814.tif 000017
【００６７】
また、パラメータ推定部１１２は、学習データをいくつかの小さなブロック（もしくは個々の単語等）に分割し、分割されたブロックを順に読み込んで偏微分計算およびパラメータ更新を繰り返す確率的勾配法を用いることで、損失関数の収束を速くすることができる。
【００６８】
［第１の実施形態の処理］
次に、図５を用いて言語確率算出装置１の処理について説明する。図５は、第１の実施形態に係る言語確率算出装置における処理の一例を示すフローチャートである。図５に示すように、まず、記号ベクトル読込部１０１はｔを１に設定し（ステップＳ２０１）、記号列を読み込む。そして、入力層活性度ベクトル算出部１０２は記号ｘｔを入力層の活性度ベクトルｈ１（ｔ）に設定し（ステップＳ２０２）、ｎを２に設定する（ステップＳ２０３）。
【００６９】
ここで、第ｎ層が再帰接続のある中間層である場合（ステップＳ２０４、Ｙｅｓ）、中間層活性度ベクトル算出部１０３は再帰的に伝搬される成分ｗｎ，ｎ・ｈｎ（ｔ−１）をｚｎに代入する（ステップＳ２０５）。一方、第ｎ層が再帰接続のある中間層でない場合（ステップＳ２０４、Ｎｏ）、中間層活性度ベクトル算出部１０３はｚｎを０ベクトルに設定する（ステップＳ２０６）。
【００７０】
さらに、第ｎ−１層が再帰接続のある中間層である場合（ステップＳ２０７、Ｙｅｓ）、平均活性度ベクトル算出部１０４は平均活性度ベクトルの算出を行う。このとき、まず平均活性度ベクトル算出部１０４はｍを１に設定する（ステップＳ２０９）。そして、平均活性度ベクトル算出部１０４は過去Ａ（ｍ）個分の平均活性度ベクトルを算出し（ステップＳ２１０）、重みを掛けてｚｎに加える（ステップＳ２１１）。
【００７１】
ここで、ｍ＜Ｍである場合（ステップＳ２１２、Ｙｅｓ）、平均活性度ベクトル算出部１０４はｍを１だけ増加させ（ステップＳ２１３）、ステップＳ２０９に戻り処理を繰り返す。また、ｍ＜Ｍでない場合（ステップＳ２１２、Ｎｏ）、平均活性度ベクトル算出部１０４は平均活性度ベクトルの算出を終了する。
【００７２】
一方、第ｎ−１層が再帰接続のある中間層でない場合（ステップＳ２０７、Ｎｏ）、中間層活性度ベクトル算出部１０３は第ｎ−１層から伝搬される成分ｗｎ−１，ｎ・ｈｎ−１（ｔ）をｚｎに加える（ステップＳ２０８）。
【００７３】
次に、平均活性度ベクトル算出部１０４は、ｚｎに活性化関数ｆｎ（・）を適用し、第ｎ層の活性度ベクトルｈｎ（ｔ）を得る（ステップＳ２１４）。なお、ｎ＝Ｌの場合は出力層活性度ベクトル算出部１０５が活性化関数の適用を行う。ここで、ｎ＜Ｌの場合（ステップＳ２１５、Ｙｅｓ）、ｎを１だけ増加させ（ステップＳ２１６）、ステップＳ２０４へ戻り処理を繰り返す。また、ｎ＜Ｌでない場合（ステップＳ２１５、Ｎｏ）、ｔ＜Ｔであれば（ステップＳ２１７、Ｙｅｓ）ｔを１だけ増加させ（ステップＳ２１８）、ステップＳ２０２へ戻り処理を繰り返す。ｔ＜Ｔでなければ（ステップＳ２１７、Ｎｏ）処理を終了する。
【００７４】
図６を用いて言語確率算出装置１における言語確率算出方法について説明する。図６は、第１の実施形態に係る言語確率算出装置における言語確率算出方法の一例を説明するための図である。なお、図６の例ではＬ＝３であり、中間層は１層のみとする。
【００７５】
図６に示すように、順に入力された記号ｘ１，ｘ２，…，ｘｔに対して、中間層活性度ベクトル算出部１０３は、ｎを２として、現在の記号に対する入力層の活性度ベクトルｈ１（ｔ）と１つ前の記号に対する中間層の活性度ベクトルｈ２（ｔ−１）とから中間層の活性度ベクトルｈ２（ｔ）を算出する（図５のステップＳ２０５、Ｓ２０６、Ｓ２０８、Ｓ２１４）。  
【００７６】
次に、平均活性度ベクトル算出部１０４は、ｎを３として、過去２個分の中間層の活性度ベクトルの平均、過去４個分の中間層の活性度ベクトルの平均、および過去８個分の中間層の活性度ベクトルの平均を算出する（図５のステップＳ２１０、Ｓ２１１）。なお、このとき中間層の活性度ベクトルｈ２（ｔ）は過去１回分の中間層の活性度ベクトルの平均とみなされる。
【００７７】
出力層活性度ベクトル算出部１０５は、過去１回分、２回分、４回分、８回分の平均活性度ベクトルに活性化関数を適用し、出力層における活性度ベクトルｈ３（ｔ）を算出する（図５のステップＳ２１４）。なお、過去何個分までの平均活性度ベクトルの算出対象の活性度ベクトルが過去何個分であるかは、定数Ｍおよび関数Ａ（ｍ）の設定による。
【００７８】
［第１の実施形態の効果］
実際のデータを用いて言語確率算出装置１の評価を行った結果を用いて第１の実施形態の効果について説明する。まず、ＲＮＮ言語モデルのパラメータを求めるため「日本語話し言葉コーパス」に含まれる学会講演を人が書き起こした文章を学習データとして使用した。
【００７９】
また、ＲＮＮ言語モデルは、学習データに出現している単語（語彙サイズ５２，５６４）に対し、入力層（Ｈ１＝５２，５６４）、中間層（Ｈ２＝４００）、出力層（Ｈ３＝５２，５６４）からなる３層（Ｌ＝３）のＲＮＮとして構成した。また、第１の実施形態におけるＲＮＮ言語モデルのパラメータ（ｗ２，３（ｍ）［ｋ，ｊ］）の推定には確率的勾配法を用い、Ｍ＝６、Ａ（ｍ）＝２（ｍ−１）、学習率η＝０．１、β＝１０−５とした。
【００８０】
第１の実施形態におけるＲＮＮ言語モデルおよび従来のＲＮＮ言語モデルに学習データを学習させ、学習データとは異なる学会講演の書き起こしデータ１０講演分を評価データとして、それぞれのＲＮＮ言語モデルのテストセットパープレキシティを計算した結果を表１に示す。
【００８１】
【表１】
0006495814.tif 000018
【００８２】
なお、テストセットパープレキシティは言語モデルの性能を表す指標として知られている。テストセットパープレキシティは、評価データｘ１，ｘ２，…ｘτ，…，ｘＲが与えられたとき、言語モデルを用いて式（１７）に示すエントロピーで２を累乗した値、すなわち２Ｈとして定義される。テストセットパープレキシティが小さいほど言語モデルの性能が高いことを意味するため、表１より第１の実施形態におけるＲＮＮ言語モデルの方が従来のＲＮＮ言語モデルより高い性能を示すことが分かる。
【００８３】
【数１７】
0006495814.tif 000019
【００８４】
言語確率算出装置１では、まず記号ベクトル読込部１０１は記号を表すベクトルを順次読み込む。次に、入力層活性度ベクトル算出部１０２は、記号ベクトル読込部１０１によってベクトルが読み込まれるたびに、ベクトルを基に入力層における活性度ベクトルを算出する。そして、中間層活性度ベクトル算出部１０３は、入力層活性度ベクトル算出部１０２によって入力層における活性度ベクトルが算出されるたびに、中間層において前回算出された活性度ベクトルと、入力層における活性度ベクトルとを基に中間層における活性度ベクトルを算出する。
【００８５】
ここで、平均活性度ベクトル算出部１０４は、中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する。そして、出力層活性度ベクトル算出部１０５は、中間層活性度ベクトル算出部１０３によって中間層における活性度ベクトルが算出されるたびに、中間層における活性度ベクトルと、中間層における平均活性度ベクトルとを基に出力層における活性度ベクトルを算出する。そして、記号出現確率算出部１０６は、出力層における活性度ベクトルを基に所定の記号の出現確率を算出する。
【００８６】
このように、平均活性度ベクトル算出部１０４によって、任意の回数前までに算出された活性度ベクトルの影響を、最終的な記号の出現確率の算出に十分に与えることが可能となる。よって、第１の実施形態によれば、長い文脈の情報、すなわち文章の話題やスタイル、話者に特有の単語や話し方等を効果的に利用して次の単語を適切に予測することができる。
【００８７】
また、平均活性度ベクトル算出部１０４は、所定回数を変化させて複数の平均活性度ベクトルを算出するようにしてもよい。このとき、出力層活性度ベクトル算出部１０５は、中間層における活性度ベクトルおよび中間層における複数の平均活性度ベクトルのそれぞれの重み付きの和を出力層における活性度ベクトルとして算出する。さらに、損失関数定義部１１１は学習データを用いて、重み付きの和における重みをパラメータとする損失関数を定義する。そして、パラメータ推定部１１２は損失関数が最小となるようにパラメータを推定する。
【００８８】
このように、複数の平均活性度ベクトルを用い、学習により予測精度を向上させることができるため、長い文脈の情報をより効果的に利用できるようになる。
【００８９】
［第２の実施形態］
次に、第２の実施形態として、本発明の言語確率算出方法を音声認識装置に適用した場合について説明する。音声認識装置においては、音響的な妥当性および言語的な妥当性の両方を考慮して認識結果を出力する。第２の実施形態においては、言語的な妥当性の判定に本発明の言語確率算出方法を用いる。
【００９０】
［第２の実施形態の構成］
図７を用いて、第２の実施形態に係る音声認識装置の構成について説明する。図７は、第２の実施形態に係る音声認識装置の構成の一例を示す図である。図７に示すように、音声認識装置２は、音声信号入力部２１、候補文作成部２２、音響スコア算出部２３、言語確率算出部２４、言語スコア算出部２５および認識結果抽出部２６を有する。
【００９１】
音声信号入力部２１には、認識対象となる音声信号が入力される。候補文作成部２２が入力された音声信号に合致する文の候補である複数の候補文を作成する。ここで、候補文作成部２２はＱ個の候補文Ｘ１，Ｘ１，…，ＸＱを作成する。
【００９２】
音響スコア算出部２３は候補文ごとの音声信号との音響的な一致度を表す音響スコアを算出する。音響スコア算出部２３は、Ｑ個の候補文それぞれに対し、音響スコアａｍｓｃｏｒｅ（Ｘｑ）を算出する。なお、音響スコア算出部２３は既知の方法を用いて音響スコアを算出するようにしてよい。
【００９３】
ここで、従来のＮグラム言語モデルを用いる場合、言語スコアをｌｍｓｃｏｒｅ（Ｘｑ）とすると、式（１８）に示すようにｓｃｏｒｅ（Ｘｑ）が算出される。
【００９４】
【数１８】
0006495814.tif 000020
【００９５】
なお、言語スコアｌｍｓｃｏｒｅ（Ｘｑ）はＮグラムの言語確率を基に、式（１９）によって算出される。ここで、候補文Ｘｑの記号列ｘｑ，１，…，ｘｑ，τ−１における記号ｘｑ，τのＮグラムによって算出された出現確率はＰｎｇｒａｍ（ｘｑ，τ｜ｘｑ，τ−Ｎ＋１…ｘｑ，τ−１）と表される。このとき、Ｎは３〜４程度である。
【００９６】
【数１９】
0006495814.tif 000021
【００９７】
音声認識装置２においては、Ｎグラム言語モデルの代わりに第１の実施形態の言語確率算出方法におけるＲＮＮ言語モデルが用いられる。言語確率算出部２４は、第１の実施形態と同様の言語確率算出方法により、候補文ごとに記号の出現確率を算出する。すなわち、言語確率算出部２４は、候補文Ｘｑの記号列ｘｑ，１，…，ｘｑ，τ−１における記号ｘｑ，τの出現確率Ｐｒｎｎ（ｘｑ，τ｜ｘｑ，１…ｘｑ，τ−１）を算出する。
【００９８】
また、言語スコア算出部２５は出現確率を基に候補文ごとの言語スコアを算出する。言語スコア算出部２５は、言語確率算出部２４が算出した記号の出現確率を基に、各候補文の言語スコアを式（２０）によって算出する。
【００９９】
【数２０】
0006495814.tif 000022
【０１００】
認識結果抽出部２６は、候補文のうち、音響スコアと言語スコアとの合計が最も大きい候補文を音声信号に合致する文として抽出する。認識結果抽出部２６は、音響スコアおよび言語スコアを基に、式（２１）によって各候補文のｓｃｏｒｅ（Ｘｑ）を算出し、ｓｃｏｒｅ（Ｘｑ）が最大となる候補文を認識結果として抽出する。ここで、λは対数確率に対するスケーリング係数を表す正の定数である。
【０１０１】
【数２１】
0006495814.tif 000023
【０１０２】
［第２の実施形態の処理］
図８を用いて第２の実施形態の処理について説明する。図８は、第２の実施形態に係る音声認識装置における処理の一例を示すフローチャートである。図８に示すように、まず音声信号入力部２１に音声信号が入力される（ステップＳ３０１）。次に、候補文作成部２２は、音声認識結果の候補文を作成する（ステップＳ３０２）。そして、音響スコア算出部２３は各候補文の音響スコアを算出する（ステップＳ３０３）。
【０１０３】
ここで、言語確率算出部２４は言語確率を算出する（ステップＳ３０４）。そして、言語スコア算出部２５は言語確率を基に言語スコアを算出する（ステップＳ３０５）。認識結果抽出部２６は、音響スコアおよび言語スコアにスケーリング係数を掛けた値の和が最大となる候補文を抽出し（ステップＳ３０６）、認識結果として出力する（ステップＳ３０７）。
【０１０４】
［第２の実施形態の効果］
Ｎグラム言語モデル、従来のＲＮＮ言語モデルおよび第２の実施形態におけるＲＮＮ言語モデルを用いて音声認識を行った場合のそれぞれの単語誤り率を表２に示す。ただし、初めに出力する候補の数Ｑは５００に設定した。また、単語誤り率は、実際に話された単語の中で誤って認識した単語の割合を表しており、小さいほど音声認識の精度が高いことを表す。
【０１０５】
【表２】
0006495814.tif 000024
【０１０６】
表２に示すように、Ｎグラム言語モデルを用いる音声認識では単語誤り率が１４．８％であった。また、従来のＲＮＮ言語モデルを用いる音声認識では単語誤り率は１３．９％であった。また、第２の実施形態におけるＲＮＮ言語モデルを用いる音声認識では単語誤り率は１３．５％となった。これより、第２の実施形態におけるＲＮＮ言語モデルは、Ｎグラム言語モデルおよび従来のＲＮＮ言語モデルよりも高い精度の音声認識を実現することが示された。
【０１０７】
音声認識装置２では、まず候補文作成部２２が入力された音声信号に合致する文の候補である複数の候補文を作成する。そして、音響スコア算出部２３は候補文ごとの音声信号との音響的な一致度を表す音響スコアを算出する。
【０１０８】
また、言語確率算出部２４は、第１の実施形態と同様の言語確率算出方法により、候補文ごとに記号の出現確率を算出する。そして、言語スコア算出部２５は出現確率を基に候補文ごとの言語スコアを算出する。そして、認識結果抽出部２６は、候補文のうち、音響スコアと言語スコアとの合計が最も大きい候補文を音声信号に合致する文として抽出する。
【０１０９】
［その他の実施形態］
図６等においては、中間層が１層である場合を例として説明したが、本発明における中間層は１層に限られず複数であってもよい。その場合、言語確率算出装置１の中間層活性度ベクトル算出部１０３は、入力層活性度ベクトル算出部１０２によって入力層における活性度ベクトルが算出されるたびに、中間層において前回算出された活性度ベクトルおよび入力層における活性度ベクトルだけでなく、中間層の下の中間層における活性度ベクトルも基にして中間層における活性度ベクトルを算出する。
【０１１０】
また、言語確率算出装置１には、中間層活性度ベクトル算出部１０３によって中間層における活性度ベクトルが算出されるたびに、中間層活性度ベクトル算出部１０３によって算出された活性度ベクトルと、中間層における平均活性度ベクトルとを基に中間層の上の中間層における活性度ベクトルを算出する層間活性度ベクトル算出部がさらに設けられる。
【０１１１】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１２】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１３】
［プログラム］
図９は、プログラムが実行されることにより、言語確率算出装置または音声認識装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【０１１４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【０１１５】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、言語確率算出装置または音声認識装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、言語確率算出装置または音声認識装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【０１１６】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０１１７】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３およびプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３およびプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１１８】
１  言語確率算出装置
１０  予測部
１１  学習部
１２  記憶部
１０１  記号ベクトル読込部
１０２  入力層活性度ベクトル算出部
１０３  中間層活性度ベクトル算出部
１０４  平均活性度ベクトル算出部
１０５  出力層活性度ベクトル算出部
１０６  記号出現確率算出部
１１１  損失関数定義部
１１２  パラメータ推定部
１２１  ＲＮＮ言語モデル記憶部
【図１】
0006495814.tif 000025
【図２】
0006495814.tif 000026
【図３】
0006495814.tif 000027
【図４】
0006495814.tif 000028
【図５】
0006495814.tif 000029
【図６】
0006495814.tif 000030
【図７】
0006495814.tif 000031
【図８】
0006495814.tif 000032
【図９】
0006495814.tif 000033