(57)【特許請求の範囲】
【請求項１】
言語モデル学習装置の作動方法であって、前記言語モデル学習装置はコンピュータによって実装され、
前記コンピュータが、単語を含んでいる学習データである入力データから、順方向推定のための第１学習特徴ベクトル列及び逆方向推定のための第２学習特徴ベクトル列を生成するステップと、
前記コンピュータが、前記第１学習特徴ベクトル列に基づいて神経網の順方向推定を行い、かつ、前記第２学習特徴ベクトル列に基づいて前記神経網の逆方向推定を行うステップと、
前記コンピュータが、前記順方向推定の結果及び前記逆方向推定の結果に基づいて、言語モデルを学習させるステップと、
を含み、
前記第１学習特徴ベクトル列は入力データの単語ベクトル列の順方向で開始し、かつ、前記第２学習特徴ベクトル列は、前記単語ベクトル列の逆方向で開始し、
前記神経網は、前記順方向推定のための第１隠れレイヤおよび前記逆方向推定のための第２隠れレイヤを含み、前記第１隠れレイヤは、前記第２隠れレイヤと分離しており、かつ、
前記第１隠れレイヤおよび前記第２隠れレイヤそれぞれは、階層構造を有している、
方法。
【請求項２】
前記生成するステップは、
前記コンピュータが、前記学習データを単語ベクトル列に変換するステップと、
前記コンピュータが、前記単語ベクトル列の順方向に開始する前記第１学習特徴ベクトル列、及び前記単語ベクトル列の逆方向に開始する前記第２学習特徴ベクトル列を生成するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記順方向推定は、前記コンピュータが、前記学習データに含まれた第１単語の次に連結する単語を推定するステップを含み、
前記逆方向推定は、前記コンピュータが、前記学習データに含まれた第２単語の以前に連結した単語を推定するステップを含む、
請求項１または２に記載の方法。
【請求項４】
前記学習させるステップは、
前記コンピュータが、前記順方向推定の結果及び前記逆方向推定の結果に基づいて前記学習データと前記神経網の出力データとの間のエラー値を算出するステップと、
前記コンピュータが、前記エラー値に基づいて前記神経網に含まれた人工ニューロン間の接続加重値をアップデートするステップと、
を含む、請求項１乃至３いずれか一項に記載の方法。
【請求項５】
前記言語モデルは、ＢＬＳＴＭ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ）構造の再帰神経網に基づく、
請求項１乃至４いずれか一項に記載の方法。
【請求項６】
前記ＢＬＳＴＭ構造の再帰神経網は、以前時間区間で出力された値を次の時間区間まで保持するメモリブロックを含む、
請求項５に記載の方法。
【請求項７】
前記学習データは、音声データ及び筆跡データのうち少なくとも１つに構成された順次的データを含む、
請求項１乃至４いずれか一項に記載の方法。
【請求項８】
請求項１乃至７いずれか一項に記載の方法を実行するためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【請求項９】
コンピュータによって実装される言語モデル学習装置であって、
前記コンピュータによって、単語を含んでいる学習データである入力データから、順方向推定のための第１学習特徴ベクトル列及び逆方向推定のための第２学習特徴ベクトル列を生成する、ように構成されている学習データ前処理部と、
前記コンピュータに、前記第１学習特徴ベクトル列及び前記第２学習特徴ベクトル列に基づいて神経網ベースの言語モデルを学習させ、前記第１学習特徴ベクトル列について前記神経網の順方向推定を行い、かつ、前記第２学習特徴ベクトル列について前記神経網の逆方向推定を行うように構成されている言語モデル学習部と、
を含み、
前記第１学習特徴ベクトル列は入力データの単語ベクトル列の順方向で開始し、かつ、前記第２学習特徴ベクトル列は、前記単語ベクトル列の逆方向で開始し、
前記神経網は、前記順方向推定のための第１隠れレイヤおよび前記逆方向推定のための第２隠れレイヤを含み、前記第１隠れレイヤは、前記第２隠れレイヤと分離しており、かつ、
前記第１隠れレイヤおよび前記第２隠れレイヤそれぞれは、階層構造を有している、
言語モデル学習装置。
【請求項１０】
前記言語モデル学習部は、前記順方向推定の結果及び前記逆方向推定の結果に基づいて、前記コンピュータに前記言語モデルを学習させる、
請求項９に記載の言語モデル学習装置。
【請求項１１】
前記言語モデル学習部は、順方向推定結果及び逆方向推定結果に基づいて、前記コンピュータによって、学習データと出力データとの間のエラー値を算出し、前記エラー値に基づいて前記神経網に含まれた人工ニューロン間の接続加重値をアップデートする、
請求項９または１０に記載の言語モデル学習装置。
【請求項１２】
前記学習データ前処理部は、前記コンピュータによって、前記学習データを単語ベクトル列に変換し、前記単語ベクトル列の順方向に開始する前記第１学習特徴ベクトル列、及び前記単語ベクトル列の逆方向に開始する前記第２学習特徴ベクトル列を生成する、
請求項９乃至１１いずれか一項に記載の言語モデル学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデル学習方法及び装置、言語モデルを利用した言語認識方法及び装置に関する。
【背景技術】
【０００２】
入力パターンを特定グループに分類する問題を解決する方案として、人が有する効率的なパターン認識方法を実際のコンピュータに適用させようとする研究が活発に行われている。人の生物学的な神経細胞の特性を数学的表現によりモデリングある人工神経網（ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）に対する研究がその１つである。人工神経網は。音声認識分野で音声の入力パターンに対応する認識結果を出力するために用いることができる。人工神経網は、学習を介して入力パターンと出力パターンとの間のマッピングを生成することができ、学習結果に基づいて学習に利用されていない入力パターンに対して比較的正しい出力を生成することのできる能力を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、学習データから第１学習特徴ベクトル列と第２学習特徴ベクトル列を生成するステップを含む言語モデル学習方法及び装置を提供することにある。
【課題を解決するための手段】
【０００４】
一実施形態に係る言語モデル学習方法は、学習データから第１学習特徴ベクトル列及び第２学習特徴ベクトル列を生成するステップと、前記第１学習特徴ベクトル列に基づいて神経網の順方向推定を行い、前記第２学習特徴ベクトル列に基づいて前記神経網の逆方向推定を行うステップと、前記順方向推定の結果及び前記逆方向推定の結果に基づいて言語モデルを学習させるステップとを含む。
【０００５】
一実施形態に係る言語モデル学習方法において、前記神経網は、前記順方向推定のための第１隠れレイヤと前記逆方向推定のための第２隠れレイヤを含み、前記第１隠れレイヤと前記第２隠れレイヤは互いに分離してもよい。
【０００６】
一実施形態に係る言語モデル学習方法において、前記生成するステップは、前記学習データを単語ベクトル列に変換するステップと、前記単語ベクトル列の順方向に開始する前記第１学習特徴ベクトル列、及び前記単語ベクトル列の逆方向に開始する前記第２学習特徴ベクトル列を生成するステップとを含んでもよい。
【０００７】
一実施形態に係る言語モデル学習方法において、前記順方向推定は、前記学習データに含まれた第１単語の次に連結する単語を推定するステップを含み、前記逆方向推定は、前記学習データに含まれた第２単語の以前に連結した単語を推定するステップを含んでもよい。
【０００８】
一実施形態に係る言語モデル学習方法において、前記学習させるステップは、前記順方向推定結果及び前記逆方向推定結果に基づいて前記学習データと前記神経網の出力データとの間のエラー値を算出するステップと、前記エラー値に基づいて前記神経網に含まれた人工ニューロン間の接続加重値をアップデートするステップとを含んでもよい。
【０００９】
一実施形態に係る言語モデル学習方法において、前記学習データは、音声データ及び筆跡データのうち少なくとも１つに構成された順次的データを含んでもよい。
【００１０】
一実施形態に係る言語認識方法は、入力データから第１入力特徴ベクトル列及び第２入力特徴ベクトル列を生成するステップと、入力データに対する認識結果を推定するために前記第１入力特徴ベクトル列に基づいて神経網の順方向推定を行い、前記第２入力特徴ベクトル列に基づいて前記神経網の逆方向推定を行うステップとを含む。
【００１１】
一実施形態に係る言語認識方法において、前記推定するステップは、前記第１入力特徴ベクトル列に対する順方向推定結果及び前記第２入力特徴ベクトル列に対する逆方向推定結果に基づいて前記入力データに対する認識結果を推定してもよい。
【００１２】
一実施形態に係る言語モデル学習装置は、学習データから第１学習特徴ベクトル列及び第２学習特徴ベクトル列を生成する学習データ前処理部と、前記第１学習特徴ベクトル列及び前記第２学習特徴ベクトル列を用いて神経網に基づいた言語モデルを学習させ、前記第１学習特徴ベクトル列については前記神経網の順方向推定を行い、前記第２学習特徴ベクトル列については前記神経網の逆方向推定を行う言語モデル学習部とを含む。
【００１３】
一実施形態に係る言語認識装置は、入力データから第１入力特徴ベクトル列及び第２入力特徴ベクトル列を生成する入力データ前処理部と、前記入力データに対する認識結果を推定するために前記第１入力特徴ベクトル列に基づいて前記神経網の順方向推定を行い、前記第２入力特徴ベクトル列に基づいて前記神経網の逆方向推定を行う入力データ認識部とを含む。
【発明の効果】
【００１４】
一実施形態によると、改善された音声認識性能を提供することができる。
【図面の簡単な説明】
【００１５】
【図１Ａ】一実施形態に係る言語モデル学習装置の構成を説明するための図である。
【図１Ｂ】一実施形態に係る学習データ前処理部及び言語モデルを学習させる言語モデル学習装置の構成の一例を示す図である。
【図２】一実施形態に係る言語モデルを構成する神経網の構造を説明するための図である。
【図３】一実施形態に係る言語認識装置の構成を説明するための図である。
【図４】一実施形態に係るＢＬＳＴＭ構造の再帰神経網に基づいた言語モデルを学習させる一例を説明するためのフローチャートである。
【図５】一実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【図６】一実施形態に係る言語認識方法の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１６】
以下、実施形態を添付する図面を参照しながら詳細に説明する。下記の特定の構造的ないし機能的な説明は単に実施形態を説明する目的のためだけに例示したものであり、実施形態の範囲が本文に説明された内容に限定されるものと解釈されることはない。関連の技術分野で通常の知識を有する者であれば、このような記載から様々な修正及び変形が可能である。また、各図面に提示された同一の参照符号は同一の部材を示し、公知された機能及び構造は省略する。
【００１７】
図１Ａは、一実施形態に係る言語モデル学習装置の構成を説明するための図である。
【００１８】
言語モデル学習装置１００は、神経網に基づいた言語モデルを学習させる。言語モデル学習装置１００は、双方向推定によって言語モデルを学習させ、学習された言語モデルを出力する。
【００１９】
言語モデルは、神経網に基づいて入力パターンに対応する認識結果を推定することができる。言語モデルの認識性能は、学習過程により改善され得る。言語モデルは、連続的な音声データ又はテキスト入力のような筆跡データ（ｈａｎｄｗｒｉｔｉｎｇ  ｄａｔａ）に対して認識の対象となる単語を推定するために用いてもよい。言語モデルは、例えば、音声認識、筆記認識、書き取り、通訳及び翻訳などの自然言語認識システムで利用される。言語モデルは、単語のセット又はシリーズ（ｓｅｒｉｅｓ）又はグループに構成され、各単語が入力パターンに対応する程度を確率情報に示すことができる。
【００２０】
神経網は、連結線に連結された複数の人工ニューロンを用いて生物学的なシステムの算出能力を模倣するハードウェアに具現された認識モデルである。神経網は、人工ニューロンによって人の認知作用や学習過程を実行し、人工ニューロンは、接続加重値（ｃｏｎｎｅｃｔｉｏｎ  ｗｅｉｇｈｔ）を有する連結線を用いて相互接続される。接続加重値は、連結線が有する特定の値として連結強度とも示す。人工ニューロンはノードとも称してもよい。
【００２１】
図１Ａを参照すると、言語モデル学習装置１００は、学習データ前処理部１１０及び言語モデル学習部１２０を含む。
【００２２】
言語モデルを学習させるための学習データが学習データ前処理部１１０に入力される。音声データ又は筆跡データなどの順次的データが学習データとして用いられる。
【００２３】
例えば、学習させようとする順次的データが学習データ前処理部１１０に入力され、学習データ前処理部１１０は、順次的データを文章単位に分割することができる。各文章を構成する単語はベクトル形態に表現され、学習データ前処理部１１０は、一文章に含まれた連続する単語を単語ベクトル列に変換することができる。
【００２４】
学習データ前処理部１１０は、学習データを構成している連続する単語から特徴を抽出し、抽出された特徴に基づいて学習データを単語ベクトル列に変換する。例えば、学習データが音声データである場合、学習データ前処理部１１０は、環境適応、終わり点検出、反響除去又は雑音除去などを行った後、デジタル処理された音声データを効果的に表現するための特徴ベクトルを抽出することができる。特徴ベクトル抽出方式で、例えば、声道（ｖｏｃａｌ  ｔｒａｃｔ）特性及び励磁（ｅｘｃｉｔａｔｉｏｎ）信号の特性を反映するケプストラム（ｃｅｐｓｔｒｕｍ）抽出方式又は人の聴覚認知過程を反映したケプストラム抽出方式のＭＦＣＣ（Ｍｅｌ  Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒｕｍ  Ｃｏｅｆｆｉｃｉｅｎｔ）を用いることができる。
【００２５】
学習データ前処理部１１０は、単語ベクトル列から順方向推定のための第１学習特徴ベクトル列及び逆方向推定のための第２学習特徴ベクトル列を生成する。第１学習特徴ベクトル列は単語ベクトル列の順方向に開始してもよく、第２学習特徴ベクトル列は単語ベクトル列の逆方向に開始してもよい。
【００２６】
言語モデル学習部１２０は、第１学習特徴ベクトル列及び第２学習特徴ベクトル列を用いて言語モデルを学習させ得る。第１学習特徴ベクトル列及び第２学習特徴ベクトル列は、時間に応じて順次言語モデルに入力されてもよい。言語モデル学習部１２０は、第１学習特徴ベクトル列については言語モデルを構成する神経網の順方向推定を行ってもよく、第２学習特徴ベクトル列については神経網の逆方向推定を行ってもよい。言語モデル学習部１２０は、第１学習特徴ベクトル列については順方向推定を継続的に行ってもよく、第２学習特徴ベクトル列については逆方向推定を継続的に行ってもよい。
【００２７】
神経網の順方向推定は、学習データに含まれた第１単語の次に連結する単語を推定する過程として、与えられた文章から過去の単語履歴に基づいて現在の単語を推定する過程である。逆方向推定は、学習データに含まれた第２単語の以前に連結した単語を推定する過程として、与えられた文章から未来の単語履歴に基づいて現在の単語を推定する過程である。
【００２８】
例えば、学習データが「Ｗｅ  ａｒｅ  ｆｒｉｅｎｄｓ」の文章で、現在の神経網に入力された単語が「ａｒｅ」であれば、順方向推定は「ａｒｅ」の以前単語の「Ｗｅ」を考慮して「ａｒｅ」を推定する過程であり、逆方向推定は「ａｒｅ」の次の単語の「ｆｒｉｅｎｄｓ」を考慮して「ａｒｅ」を推定する過程である。
【００２９】
言語モデルは、双方向推定が可能なＢＬＳＴＭ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ）構造の再帰神経網（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）又は他の構造の再帰神経網に構成されてもよい。再帰神経網は、互いに異なる時間区間で隠れレイヤに含まれた隠れノードの間に再帰的な連結のある神経網を示す。ＢＬＳＴＭ構造の再帰神経網は、図２を参照して後述する。
【００３０】
言語モデル学習部１２０は、ＢＬＳＴＭ構造の再帰神経網のような双方向推定が可能な神経網を用いて双方向に単語列の発生確率を算出し、関心位置にある単語に対する推定が可能なように言語モデルを構成できる。例えば、言語モデル学習部１２０は、与えられた文章に対して左側から右側への順方向だけではなく、右側から左側への逆方向の文脈（ｃｏｎｔｅｘｔ）を考慮して言語モデルを学習させることができる。順方向及び逆方向の双方向に文脈が考慮されるため単語をより正確に推定することができ、ノイズによる影響を低減させ得る。
【００３１】
言語モデル学習部１２０は、第１学習特徴ベクトル列に対する順方向推定結果と第２学習特徴ベクトル列に対する逆方向推定結果を統合し、学習データと言語モデルの出力データとの間のエラー値を算出する。言語モデル学習部１２０は、算出されたエラー値に基づいて神経網に含まれた人工ニューロン間の接続加重値をアップデートすることができる。
【００３２】
言語モデル学習部１２０は、例えば、逆伝播（Ｂａｃｋ  Ｐｒｏｐａｇａｔｉｏｎ  Ｔｈｒｏｕｇｈ  Ｔｉｍｅ：ＢＰＴＴ）方式を用いて人工ニューロン間の接続加重値をアップデートすることができる。言語モデル学習部１２０は、順方向推定結果と逆方向推定結果が統合される神経網のコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎ  ｌａｙｅｒ）から開始し、隠れレイヤとデータレイヤへの逆方向にエラー値を伝播し、エラー値が減少するように人工ニューロン間の接続加重値をアップデートすることができる。
【００３３】
言語モデル学習部１２０は、現在の設定された人工ニューロン間の接続加重値がどれ程最適であるかを測定するための目的関数を定義し、目的関数の結果に基づいて接続加重値を続けて変更し学習を繰り返し行う。目的関数は、例えば、学習データに基づいて神経網から実際出力された出力値と出力されることに所望する期待値との間のエラーを算出するためのエラー関数である。言語モデル学習部１２０は、エラー関数の値を減らす方向に接続加重値をアップデートすることができる。
【００３４】
図１Ｂは、一実施形態に係る学習データ前処理部及び言語モデルを学習させる言語モデル学習装置の構成の一例を示す図である。
【００３５】
以前に説明したように、学習データ前処理部１１０は、単語ベクトル列の順方向に開始する第１学習特徴ベクトル列と単語ベクトル列の逆方向に開始する第２特徴ベクトル列を生成する。
【００３６】
言語モデル学習部１２０は、学習データ前処理部１１０で生成された第１学習特徴ベクトル列と第２学習特徴ベクトル列に基づいて言語モデルを学習させる学習処理部１２２を含む。言語モデル学習部１２０は、第１学習特徴ベクトル列に対してニューラルネットワークの順方向推定を行い、第２学習特徴ベクトル列に対してニューラルネットワークの逆方向推定を行う制御部１２４を含む。制御部１２４は第１学習特徴ベクトル列に対して継続的に順方向推定を行い、第２学習特徴ベクトル列に対して継続的に逆方向推定を行う。制御部１２４は、学習データに含まれた第１単語に連結される次に単語を推定し、与えられた文章から以前単語記録に基づいて現在の単語を推定することでニューラルネットワークの順方向推定を行う。制御部１２４は、学習データに含まれた第２単語に連結された以前単語を推定し、文章から未来の単語記録に基づいて現在の単語を推定することで逆方向推定を行う。
【００３７】
言語モデル学習部１２０は、双方向推定を行い、関心位置の単語を推定する言語モデルを構成できるニューラルネットワークを用いて単語列の双方向発生確率を算出する算出処理部１２６を含む。言語モデル学習部１２０は、第１学習特徴ベクトル列に対する順方向推定結果と第２学習特徴ベクトル列に対する逆方向推定結果とを統合することで、学習データと言語モデルの出力データとの間のエラー値を算出するエラー算出処理部１２８を含む。算出されたエラー値に基づいて、ニューラルネットワークに含まれた人工ニューロン間の接続加重値がアップデートされる。言語モデルは、与えられた文章において、左側から右側への順方向コンテキスト及び与えられた文章において右側から左側への逆方向コンテキストに基づいて学習され得る。
【００３８】
図２は、一実施形態に係る言語モデルを構成する神経網の構造を説明するための図である。
【００３９】
神経網２００は、データレイヤ２１０、隠れレイヤ２４０、及びコンボリューションレイヤ２５０を含む。隠れレイヤ２４０は、第１隠れレイヤ２２０及び第２隠れレイヤ２３０を含む。神経網２００がＢＬＳＴＭ構造の再帰神経網である場合、第１隠れレイヤ２２０及び第２隠れレイヤ２３０はＬＳＴＭレイヤに対応する。
【００４０】
ＢＬＳＴＭ構造の再帰神経網は、以前時間区間で出力された値を次の時間区間まで保持するメモリブロックを含む。メモリブロックは過去のヒストリーを格納し、過去のヒストリーを現在のステップに反映させ得る。ＢＬＳＴＭ構造の再帰神経網は、隠れレイヤで入力ゲート（ｉｎｐｕｔ  ｇａｔｅ）、忘却ゲート（ｆｏｒｇｅｔ  ｇａｔｅ）、及び出力ゲート（ｏｕｔｐｕｔ  ｇａｔｅ）の３つのゲートを用いて時間単位から入力されるデータを入力、格納、及び出力することができる。
【００４１】
データレイヤ２１０には、順方向推定のための第１学習特徴ベクトル列と逆方向推定のための第２学習特徴ベクトル列が入力される。学習データに含まれた単語に対する特徴ベクトルから第１学習特徴ベクトル列と第２学習特徴ベクトル列が別に生成されてもよい。他の実施形態によると、第１学習特徴ベクトル列と第２学習特徴ベクトル列は、学習データに含まれた単語に対する特徴ベクトルに基づいて同時に生成されてもよい。
【００４２】
第１隠れレイヤ２２０では、第１学習特徴ベクトル列に基づいて順方向推定が実行されて順方向に対する確率情報が算出され、第２隠れレイヤ２３０では、第２学習特徴ベクトル列に基づいて逆方向推定が実行されて逆方向に対する確率情報が算出される。
【００４３】
第１隠れレイヤ２２０と第２隠れレイヤ２３０は複数構成されてもよく、複数の第１隠れレイヤ２２０及び第２隠れレイヤ２３０は階層構造を有し得る。第１隠れレイヤ２２０は、上位第１隠れレイヤ２２０と連結され、第２隠れレイヤ２３０は上位第２隠れレイヤ２３０と連結され得る。
【００４４】
第１隠れレイヤ２２０及び第２隠れレイヤ２３０で算出された確率情報は、それぞれ上位第１隠れレイヤ２２０及び上位第２隠れレイヤ２３０に伝えられる。上位第１隠れレイヤ２２０及び上位第２隠れレイヤ２３０では、伝達された確率情報に基づいて確率情報が再び算出され得る。順方向推定は第１隠れレイヤ２２０を介して実行され、逆方向推定は第２隠れレイヤ２３０を介して行われる。第１隠れレイヤ２２０と第２隠れレイヤ２３０は、構造的かつ機能的に互いに分離してもよい。他の実施形態によると、第１隠れレイヤ２２０及び第２隠れレイヤ２３０は構造的に共に存在するものの、機能的には互いに分離してもよい。更なる実施形態によると、１つの隠れレイヤが第１隠れレイヤ及び第２隠れレイヤを処理するために用いてもよい。
【００４５】
コンボリューションレイヤ２５０では、順方向推定から導き出された確率情報と逆方向推定から導き出された確率情報を統合し、統合結果に基づいて入力単語に対する最終の推定結果が生成される。
【００４６】
言語モデル学習装置は、コンボリューションレイヤ２５０から生成された最終の推定結果と入力単語との間のエラー値を算出し、エラー値を最小化する方向に人工ニューロン間の接続加重値をアップデートすることができる。
【００４７】
図３は、一実施形態に係る言語認識装置の構成を説明するための図である。
【００４８】
言語認識装置３００は、予め学習された言語モデルを用いて入力データを認識して認識結果を出力する。言語認識装置３００は、言語モデルを用いて入力データから特徴を抽出し、抽出された特徴を言語モデルに適用して入力データの分類結果又は認識結果を出力する。例えば、言語認識装置３００は、入力された音声データがどのような文章（又は、単語）を示すかを認識して出力することができる。言語認識装置３００は、音声認識及び筆跡認識などの領域で用いられ、スマートフォン、タブレットコンピュータ、デスクトップコンピュータ、ナビゲーション、ディスプレイ装置、ウェアラブル装置、セキュリティシステム、及びスマートホームシステムなどの様々な装置／システムに適用され得る。
【００４９】
図３を参照すると、言語認識装置３００は、入力データ前処理部３１０、言語モデルデータベース３２０及び入力データ認識部３３０を含む。
【００５０】
入力データ前処理部３１０は、入力データから順方向推定のための第１入力特徴ベクトル列と逆方向推定のための第２入力特徴ベクトル列を生成する。入力データとして音声データ及び筆跡データなどの時系列データが入力され得る。例えば、入力データ前処理部３１０は、入力された音声データから時間による相対的な変化量を特徴として抽出し、抽出された特徴を音声特徴ベクトル列に変換することができる。入力データ前処理部３１０は、音声特徴ベクトル列に基づいて音声特徴ベクトル列の順方向に開始する第１入力特徴ベクトル列と、音声特徴ベクトル列の逆方向に開始する第２入力特徴ベクトル列を生成する。
【００５１】
入力データ認識部３３０は、神経網に基づいた言語モデルに第１入力特徴ベクトル列と第２入力特徴ベクトル列を適用して入力データに対する認識結果を推定することができる。第１入力特徴ベクトル列と第２入力特徴ベクトル列は、時間に応じて順次言語モデルに入力されてもよい。他の実施形態によると、第１入力特徴ベクトル列と第２入力特徴ベクトル列は、言語モデルに同時に入力されてもよい。
【００５２】
言語モデルは図１Ａ、図１Ｂ、図４及び図５を参照して説明する過程によって予め学習されて言語モデルデータベース３２０に格納されてもよい。言語モデルを構成する神経網は、順方向推定及び逆方向推定の双方向推定が可能な再帰神経網であり得る。入力データ認識部３３０は、第１入力特徴ベクトル列については神経網の順方向推定を継続的に行い、第２入力特徴ベクトル列については神経網の逆方向推定を継続的に行ってもよい。順方向推定と逆方向推定は互いに分離して独立的に行われてもよい。他の実施形態によると、順方向推定と逆方向推定は同時に行われてもよい。
【００５３】
言語モデルを構成する神経網は、順方向推定を行うための第１隠れレイヤと逆方向推定を行うための第２隠れレイヤを含んでもよく、第１隠れレイヤと第２隠れレイヤは互いに分離してもよい。入力データ認識部３３０は、第１隠れレイヤに基づいて第１入力特徴ベクトル列に対する順方向推定を行い、第２隠れレイヤに基づいて第２入力特徴ベクトル列に対する逆方向推定を行う。
【００５４】
第１入力特徴ベクトル列に対する順方向推定結果と第２入力特徴ベクトル列に対する逆方向推定結果は言語モデルによって統合され、統合結果に基づいて入力データに対応する認識結果が決定され得る。順方向推定結果及び逆方向推定結果は同時に決定されてもよく、順方向推定結果及び逆方向推定結果は同時に統合されてもよい。言語モデルは当該統合結果を確認できる。
【００５５】
入力データ認識部３３０は、言語モデルによって決定された認識結果をディスプレイ及びスピーカなどのようなインターフェース装置を介して出力する。
【００５６】
図４は、一実施形態に係るＢＬＳＴＭ構造の再帰神経網に基づいた言語モデルを学習させる一例を説明するためのフローチャートである。
【００５７】
ステップＳ４１０において、言語モデル学習装置１００は、双方向推定のための単語ベクトル列を生成する。学習データは単語が連続した単語列に構成され、言語モデル学習装置１００は、連続した単語列から抽出された特徴をベクトル形式に変換して単語ベクトル列を生成することができる。
【００５８】
言語モデル学習装置１００は、単語ベクトル列から順方向推定のための第１学習特徴ベクトル列と逆方向推定のための第２学習特徴ベクトル列とを別に生成することができる。言語モデル学習装置１００は、第１学習特徴ベクトル列を逆順に再構成して第２学習特徴ベクトル列を生成する。
【００５９】
順方向推定は、入力された現在の単語の次の単語を推定する特性上、第１学習特徴ベクトル列の初めに文章の開始を示すための特殊単語又は指示子フラグ又はポインタが挿入される。逆方向推定は、入力された現在の単語の以前単語を推定する特性上、第２学習特徴ベクトル列の初めに文章の終了を示すための特殊単語又は指示子フラグ又はポインタが挿入される。一実施形態によると、順方向推定又は逆方向推定に、特殊単語、フラグ、又はポイントは文章の開始に対する指示子として認識されるため、予め定義された１つの字／符号又は複合字であり得る。
【００６０】
ステップＳ４２０において、言語モデル学習装置１００は、データレイヤとＬＳＴＭレイヤとの間の推定を行う。ステップＳ４１０で生成された第１学習特徴ベクトル列と第２学習特徴ベクトル列は、単語単位で順次ＢＬＳＴＭ構造の再帰神経網のデータレイヤに入力されてもよい。言語モデル学習装置１００は、関連の技術分野で知られたＬＳＴＭレイヤの算出式により、第１学習特徴ベクトル列と第２学習特徴ベクトル列に対する加重和を算出することができる。ＬＳＴＭレイヤは、ＢＬＳＴＭ構造の再帰神経網の隠れレイヤに該当する。
【００６１】
ＬＳＴＭ構造の再帰神経網が階層的なＬＳＴＭレイヤを含む場合、ステップＳ４３０において、言語モデル学習装置１００は、ＬＳＴＭレイヤと上位ＬＳＴＭレイヤとの間の推定を行う。
【００６２】
言語モデル学習装置１００は、以前ＬＳＴＭレイヤの順方向推定によって算出された結果のみを上位ＬＳＴＭレイヤの順方向推定のために利用され、以前ＬＳＴＭレイヤの逆方向推定によって算出された結果を上位ＬＳＴＭレイヤの逆方向推定のために利用され得る。
【００６３】
ＬＳＴＭレイヤにおける算出が終了すると、ステップＳ４４０において、言語モデル学習装置１００は、第１学習特徴ベクトル列に対する順方向推定結果と第２学習特徴ベクトル列に対する逆方向推定結果とを統合して最終単語に対する確率値を算出する。
【００６４】
ステップＳ４５０において、言語モデル学習装置１００は、最終単語に対する確率値に基づいてエラー値を算出し、エラーを補正する。言語モデル学習装置１００は、監督学習方式により入力単語と最終単語とを比較してエラー値を算出し、逆伝播（ＢＰＴＴ）方式により、下位ＬＳＴＭレイヤでエラー値を伝播してＬＳＴＭレイヤに含まれた人工ニューロン間の接続加重値を補正することができる。
【００６５】
ステップＳ４６０において、言語モデル学習装置１００は、エラーが補正されて学習された言語モデルを格納する。言語モデル学習装置１００は、ＢＬＳＴＭ構造の再帰神経網を構成する人工ニューロンの接続加重値情報及び状態情報を格納する。
【００６６】
ステップＳ４７０において、言語モデル学習装置１００は、ステップＳ４５０で算出されたエラー値が予め設定された条件を満たすか否かを判断する。言語モデル学習装置１００は、エラー値が予め設定された条件を満たす場合、学習を終了する。エラー値が予め設定された条件を満足しない場合、言語モデル学習装置１００はステップＳ４１０〜ステップＳ４７０を繰り返す。
【００６７】
図５は、一実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【００６８】
ステップＳ５１０において、言語モデル学習装置１００は、学習データから順方向推定のための第１学習特徴ベクトル列及び逆方向推定のための第２学習特徴ベクトル列を生成する。言語モデル学習装置１００は、学習データを構成している連続する単語を単語ベクトル列に変換し、単語ベクトル列の順方向に開始する第１学習特徴ベクトル列と単語ベクトル列の逆方向に開始する第２学習特徴ベクトル列を生成する。
【００６９】
ステップＳ５２０において、言語モデル学習装置１００は、第１学習特徴ベクトル列に基づいて言語モデルを構成する神経網の順方向推定を行い、第２学習特徴ベクトル列に基づいて神経網の逆方向推定を行う。第１学習特徴ベクトル列に対する順方向推定と第２学習特徴ベクトル列に対する逆方向推定は、互いに独立的に行われてもよい。他の実施形態によると、第１学習特徴ベクトル列に対する順方向推定と第２学習特徴ベクトル列に対する逆方向推定は同時に行われてもよい。
【００７０】
ステップＳ５３０において、言語モデル学習装置１００は、第１学習特徴ベクトル列に対する順方向推定結果と第２学習特徴ベクトル列に対する逆方向推定結果に基づいて言語モデルを学習させる。言語モデル学習装置１００は、順方向推定結果と逆方向推定結果とを統合して、学習データと神経網の出力データとの間のエラー値を算出し、エラー値が減少するように人工ニューロン間の接続加重値をアップデートする。
【００７１】
図５に示された各ステップには図１Ａ、図１Ｂ、図２及び図４を参照して前述した事項がそのまま適用されるため、より詳細な説明は省略する。
【００７２】
図６は、一実施形態に係る言語認識方法の動作を説明するためのフローチャートである。
【００７３】
ステップＳ６１０において、言語認識装置３００は、入力データから入力特徴ベクトル列を生成する。言語認識装置３００は入力データから特徴を抽出し、抽出された特徴に基づいて入力特徴ベクトル列を生成する。言語認識装置３００は、入力特徴ベクトル列に基づいて順方向推定のための第１入力特徴ベクトル列と逆方向推定のための第２入力特徴ベクトル列とを生成する。第１入力特徴ベクトル列と第２入力特徴ベクトル列は、時間に応じて順次予め学習された言語モデルに適用され得る。
【００７４】
ステップＳ６２０において、言語認識装置３００は、神経網に基づいた言語モデルを用いて入力データに対する認識結果を推定する。言語認識装置３００は、第１入力特徴ベクトル列に基づいて言語モデルを構成する神経網の順方向推定を継続的に行い、第２入力特徴ベクトル列に基づいて神経網の逆方向推定を継続的に行う。言語認識装置３００は、第１入力特徴ベクトル列に対する順方向推定結果と第２入力特徴ベクトル列に対する逆方向推定結果に基づいて入力データに対する認識結果を推定することができる。
【００７５】
図６に示された各ステップには図３を参照して前述した事項がそのまま適用されるため、より詳細な説明は省略する。
【００７６】
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合せで実現してもよい。例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、または、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答できる異なる装置のように、１つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現され得る。処理装置は、オペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【００７７】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこのうちの１つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び／又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータで読み出し可能な記録媒体に格納されてもよい。
【００７８】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【００７９】
上述したように、本発明を特定の実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００８０】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【００８１】
１００：言語モデル学習装置
１１０：学習データ前処理部
１２０：言語モデル学習部
１２２：学習処理部
１２４：制御部
１２６：算出処理部
１２８：エラー算出処理
３００：言語認識装置
３１０：入力データ前処理部
３２０：言語モデルデータベース
３３０：入力データ認識部
【図１Ａ】
0006746292.tif 000002
【図１Ｂ】
0006746292.tif 000003
【図２】
0006746292.tif 000004
【図３】
0006746292.tif 000005
【図４】
0006746292.tif 000006
【図５】
0006746292.tif 000007
【図６】
0006746292.tif 000008