(57)【特許請求の範囲】
【請求項１】
学習データをエラーが含まれた学習データに変換するステップと、
前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させるステップと、
を含み、
前記学習データを前記エラーが含まれた学習データに変換するステップは、
前記学習データに含まれた単語のうち、エラー単語に代替される少なくとも１つの単語を選択するステップと、
前記学習データで選択された単語に関する複数の候補単語のうち前記エラー単語を選択するステップと、
を含む、
言語モデル学習方法。
【請求項２】
前記学習データを前記エラーが含まれた学習データに変換するステップは、
前記学習データで選択された単語を前記エラー単語に代替して前記エラーが含まれた学習データを生成するステップと、
を含む、
請求項１に記載の言語モデル学習方法。
【請求項３】
前記候補単語は、前記学習データで選択された単語との発音類似度に基づいて決定される、
請求項１に記載の言語モデル学習方法。
【請求項４】
前記エラー単語を選択するステップは、前記候補単語に割り当てられた加重値に基づいて前記学習データで選択された単語を代替するエラー単語を選択する、
請求項１または３に記載の言語モデル学習方法。
【請求項５】
前記少なくとも１つの単語を選択するステップは、前記学習データに含まれた単語のうち前記少なくとも１つの単語をランダムに選択する、
請求項１に記載の言語モデル学習方法。
【請求項６】
前記学習データを前記エラーが含まれた学習データに変換するか否かを決定するステップをさらに含む、
請求項１乃至５いずれか一項に記載の言語モデル学習方法。
【請求項７】
請求項１乃至６いずれか一項に記載の方法を実行するためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【請求項８】
学習データをエラーが含まれた学習データに変換する学習データ変換部と、
前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させる言語モデル学習部と、
を含み、
前記学習データ変換部は、
前記学習データに含まれた単語のうちエラー単語に変える少なくとも１つの単語を選択し、
前記学習データで選択された単語に関する複数の候補単語のうち前記エラー単語を選択する、
言語モデル学習装置。
【請求項９】
前記学習データ変換部は、
前記学習データで選択された単語を前記エラー単語に代替して前記エラーが含まれた学習データを生成する、
請求項８に記載の言語モデル学習装置。
【請求項１０】
前記学習データ変換部は、
前記学習データで選択された単語との発音類似度に基づいて決定された候補単語のうち前記エラー単語を選択する、
請求項９に記載の言語モデル学習装置。
【請求項１１】
前記学習データを前記エラーが含まれた学習データに変換するか否かを決定する制御部をさらに含む、
請求項８乃至１０いずれか一項に記載の言語モデル学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワーク基盤の言語モデルを学習させる技術及び言語モデルに基づいて音声認識を行う技術に関する。
【背景技術】
【０００２】
入力パターンを特定グループに分類する問題を解決する方案として、人が有する効率的なパターン認識方法を実際のコンピュータに適用させようとする研究が活発に行われている。このような研究の１つとして、人の生物学的な神経細胞の特性を数学的表現によりモデリングした人工のニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）に対する研究がなされている。入力パターンを特定グループに分類する問題を解決するために、ニューラルネットワークでは人が有している学習という能力を模倣したアルゴリズムを用いる。このアルゴリズムによってニューラルネットワークは、入力パターンと出力パターンとの間のマッピングを生成することができるが、これをニューラルネットワークが学習能力があると表現する。また、ニューラルネットワークは、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的正しい出力を生成することのできる一般化能力を有する。
【０００３】
最近は、上のようなニューラルネットワークを用いて音声認識を行う技術が活発に研究されている。例えば、周辺ユーザの発話音声又は外部雑音などのような様々な環境における音声認識の正確度を高めるための研究が持続的に行われている。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態に係る言語モデル学習方法は、学習データをエラーが含まれた学習データに変換するステップと、前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させるステップとを含む。
【０００５】
一実施形態に係る言語モデル学習方法において、前記学習データを前記エラーが含まれた学習データに変換するステップは、前記学習データに含まれた単語のうち、エラー単語に代替される少なくとも１つの単語を選択するステップと、前記学習データで選択された単語をエラー単語に代替して前記エラーが含まれた学習データを生成するステップとを含んでもよい。
【０００６】
一実施形態に係る言語モデル学習方法において、前記学習データを前記エラーが含まれた学習データに変換するステップは、前記学習データで選択された単語に関する複数の候補単語のうち前記エラー単語を選択するステップをさらに含んでもよい。
【０００７】
一実施形態に係る言語モデル学習方法において、前記候補単語は、前記学習データで選択された単語との発音類似度に基づいて決定されてもよい。
【０００８】
一実施形態に係る言語モデル学習方法において、前記エラー単語を選択するステップは、前記候補単語に割り当てられた加重値に基づいて前記学習データで選択された単語を代替するエラー単語を選択してもよい。
【０００９】
一実施形態に係る言語モデル学習方法において、前記少なくとも１つの単語を選択するステップは、前記学習データに含まれた単語のうち前記少なくとも１つの単語をランダムに選択してもよい。
【００１０】
一実施形態に係る言語モデル学習方法において、前記学習データを前記エラーが含まれた学習データに変換するか否かを決定するステップをさらに含んでもよい。
【００１１】
他の実施形態に係る言語モデル学習方法は、単語間の発音類似度に基づいて学習データに含まれた単語をベクトル値に変換するステップと、前記ベクトル値を用いてニューラルネットワークに基づいた言語モデルを学習させるステップとを含む。
【００１２】
他の実施形態に係る言語モデル学習方法において、前記学習データに含まれた単語をベクトル値に変換するステップは、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを前記学習データに含まれた単語に適用し、前記学習データに含まれた単語を前記ベクトル値に変換してもよい。
【００１３】
他の実施形態に係る言語モデル学習方法において、前記学習データに含まれた単語をベクトル値に変換するステップは、前記アコースティック埋め込みマトリックスを用いて発音が類似の単語が互いに隣接するベクトル空間上に位置するよう、前記学習データに含まれた単語のベクトル値を決定してもよい。
【００１４】
他の実施形態に係る言語モデル学習方法において、前記アコースティック埋め込みマトリックスは、学習単語間の発音類似度に基づいて決定され、前記学習単語間の発音類似度は、前記学習単語の音素シーケンス間の発音類似度に基づいて決定されてもよい。
【００１５】
他の実施形態に係る言語モデル学習方法において、前記アコースティック埋め込みマトリックスは、互いに異なる単語間の発音距離を行列に表現した単語の間距離行列に多次元尺度法を適用して決定されてもよい。
【００１６】
一実施形態に係る言語モデル学習装置は、学習データをエラーが含まれた学習データに変換する学習データ変換部と、前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させる言語モデル学習部とを含む。
【００１７】
一実施形態に係る言語モデル学習装置において、前記学習データ変換部は、前記学習データに含まれた単語のうちエラー単語に変える少なくとも１つの単語を選択し、前記学習データで選択された単語をエラー単語に代替して前記エラーが含まれた学習データを生成してもよい。
【００１８】
一実施形態に係る言語モデル学習装置は、前記学習データを前記エラーが含まれた学習データに変換するか否かを決定する制御部をさらに含んでもよい。
【００１９】
他の実施形態に係る言語モデル学習装置は、単語間の発音類似度に基づいて学習データに含まれた単語をベクトル値に変換する学習データ変換部と、前記ベクトル値を用いてニューラルネットワークに基づいた言語モデルを学習させる言語モデル学習部とを含む。
【００２０】
他の実施形態に係る言語モデル学習装置において、前記学習データ変換部は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを前記学習データに含まれた単語に適用し、前記学習データに含まれた単語を前記ベクトル値に変換してもよい。
【発明の効果】
【００２１】
一実施形態によると、言語モデルの認識正確度を改善させることができる。
【００２２】
一実施形態によると、音声認識に要する時間及び必要リソース量を節減することができる。
【図面の簡単な説明】
【００２３】
【図１】一実施形態に係る言語モデル学習装置の構成を示す図である。
【図２】他の実施形態に係る言語モデル学習装置の構成を示す図である。
【図３】一実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
【図４】他の実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
【図５】一実施形態に係る音声認識装置の構成を示す図である。
【図６】他の実施形態に係る音声認識装置の構成を示す図である。
【図７】更なる実施形態に係る音声認識装置の構成を示す図である。
【図８】一実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【図９】他の実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【図１０】他の実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
【図１１】更なる実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【図１２】更なる実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
【図１３】一実施形態に係る音声認識方法の動作を示すフローチャートである。
【図１４】一実施形態に係る言語モデル学習装置のハードウェア構成を示す図である。
【図１５】一実施形態に係る音声認識装置のハードウェア構成を示す図である。
【図１６】一実施形態に係る人工ニューロンを示す図である。
【図１７】一実施形態に係るニューラルネットワークを示す図である。
【発明を実施するための形態】
【００２４】
以下、実施形態を添付する図面を参照しながら詳細に説明する。下記の特定の構造的ないし機能的な説明は単に実施形態を説明する目的のために例示したものであり、実施形態の範囲が本文に説明された内容に限定されるものと解釈されることはない。関連の技術分野で通常の知識を有する者であれば、このような記載から様々な修正及び変形が可能である。また、各図面に提示された同一の参照符号は同一の部材を示し、公知された機能及び構造は省略する。
【００２５】
図１は、一実施形態に係る言語モデル学習装置の構成を示す図である。図１を参照すると、言語モデル学習装置１００は、学習データ変換部１１０及び言語モデル学習部１２０を含む。学習データ変換部１１０は入力された学習データを変換し、言語モデル学習部１２０は変換された学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。ニューラルネットワークに基づいた言語モデルは、ニューラルネットワークが複数の学習例（ｔｒａｉｎｉｎｇ  ｅｘｐｅｌｓ）を学習する能力を用いる１つ以上のニューラルネットワークに基づいた言語モデルを示す。
【００２６】
言語モデル学習装置１００は、学習データに基づいてニューラルネットワーク基盤の言語モデルを学習させる。ニューラルネットワークは、複数の人工ニューロン（又は、ノード）を用いて生物学的なシステムの算出能力を模倣するソフトウェアやハードウェアに具現された認識モデルである。人工ニューロンは、接続加重値（ｃｏｎｎｅｃｔｉｏｎ  ｗｅｉｇｈｔ）（又は、接続強度）を有する接続線を用いて相互接続され得る。接続加重値は、接続線が有する特定の値を示す。ニューラルネットワークは、人工ニューロンを介して人の認知作用や学習過程を行う。人工ニューロンの一例が図１６に図示されている。図１６によると、人工ニューロンは、ｎ個の入力ソースから入力Ｘ１−ＸＮを受信する。例えば、ｎ個の入力ソースは、他の人工ニューロン、センサ、入力データストレージ又は他のデータソースのシナプスであり得る。人工ニューロンの胴体部に接続された入力ベクトルは、それぞれの加重値Ｗ１−ＷＮによってスケーリングされる。受信された入力は、線形結合されたり、又は活動関数ＡＦ（ｘ１、ｘ２、．．．ｘＮ）に基づいて受信された入力を結合するために適用される追加的な関数によって結合され得る。活動関数ＡＦ（ｘ１、ｘ２、．．．ｘＮ）に基づいて、ニューロンの胴体部は結合された入力を調整して出力Ｙを生成する。一例によると、活動関数ＡＦ（ｘ１、ｘ２、．．．ｘＮ）の結果は次のニューロンに出力Ｙを伝達するために閾値を超過しなければならない。人工ニューロンの構造について様々な変形及び修正が可能である。
【００２７】
図１７は、一実施形態に係るニューラルネットワークを示す。ニューラルネットワーク１７００は、複数のレイヤ１７１０、１７２０、１７３０、１７４０を含む。それぞれのレイヤは、人工ニューロンに対応する１つ以上のノードを含む。例えば、ニューラルネットワーク１００は、入力レイヤ１７１０、２つの隠れレイヤ１７２０、１７３０、及び出力レイヤ１７４０を含む。入力レイヤ１７１０は入力を受信し、受信された入力を隠れレイヤ１７２０を経て隠れレイヤ１７３０に伝達する。出力レイヤ１７４０は、隠れレイヤ１７３０から受信した信号に基づいて出力値を生成する。
【００２８】
言語モデルは、単語間の連結関係に基づいた確率値を提供することができる。言語モデルは、ニューラルネットワークの認識機能を用いて入力された単語に連結される次の単語に対する確率値を提供することができる。例えば、言語モデルに「ｔｈｉｓ」の単語が入力される場合、言語モデルは「ｔｈｉｓ」の次に「ｉｓ」又は「ｗａｓ」が連結する確率値を決定する。言語モデルは、スマートフォン、スマートＴＶなどのような様々なスマート機器に適用されて音声認識に用いることができる。また、言語モデルは、Ｓ−Ｖｏｉｃｅのような音声基盤の個人秘書サービス、車両用音声命令システム、音声ディクテーション（ｖｏｉｃｅ  ｄｉｃｔａｔｉｏｎ）などのアプリケーションに用いることができる。
【００２９】
言語モデル学習装置１００は学習させる学習データを変形し、変形された学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置１００は、学習データに人為的にエラーを含ませたり、又は学習データを発音上の類似度に基づいたベクトル値に変換し得る。言語モデルは、上記のように変形された学習データを学習することで、音声データに含まれたノイズに強い特性を有し得る。例えば、ノイズの含まれた音声データが言語モデルに入力されても、変形された学習データの学習結果によって言語モデルから正解である結果が出力される確率が高くなる。
【００３０】
以下は、言語モデル学習装置１００がニューラルネットワークに基づいた言語モデルを学習させるとき、１学習データに人為的にエラーを含ませる実施形態と、２単語間の発音類似度に基づいて学習データを変換する実施形態とを区別して説明することにする。
【００３１】
＜学習データに人為的にエラーを含ませる実施形態＞
一実施形態によると、言語モデル学習装置１００は、学習データにエラー（又は、ノイズ）を付加してニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデルが人為的にエラーが含まれた学習データを学習することで、認識過程において言語モデルに入力された単語にエラーが存在しても、次に連結される単語の正解確率が高くなり、エラーが継続的に伝播されることを最小化する。単語シーケンスに含まれた特定単語がノイズなどによって間違って認識された場合、間違って認識された単語との連結関係により当該の特定単語の次の単語も間違って認識される確率が増加する。言語モデル学習装置１００は、上記のようにノイズによって音声データが間違って認識されることを最小化するため、学習データに人為的にエラーを付加して言語モデルを学習させることができる。
【００３２】
学習データ変換部１１０は、学習データをエラーが含まれた学習データに変換する。学習データ変換部１１０は、学習データに含まれた単語のうちエラー単語によって代替される１つ以上の単語を選択できる。例えば、学習データ変換部１１０は、学習データに含まれた単語のうち、最後の単語又はランダムに決定された単語をエラー単語によって代替される単語として選択し得る。
【００３３】
学習データ変換部１１０は、複数の候補単語のうちエラー単語を選択する。候補単語は、単語間の発音類似度に基づいて決定され得る。候補単語は、エラー単語によって代替される単語と発音上（ａｃｏｕｓｔｉｃａｌｌｙ）に類似することがある。例えば、学習データに含まれた単語のうちエラー単語によって代替される単語が「ｗｒｉｔｅ」であれば、候補単語として、「ｗｒｉｔｅ」と発音が類似の「ｗｒｏｔｅ」、「ｒｅｗｒｉｔｅ」、「ｌｉｇｈｔ」、「ｒｉｇｈｔ」、及び「ｌｉｔｅ」などの単語が挙げられる。学習データ変換部１１０は、「ｗｒｏｔｅ」、「ｒｅｗｒｉｔｅ」、「ｌｉｇｈｔ」、「ｒｉｇｈｔ」、及び「ｌｉｔｅ」などの候補単語のうち、学習データに選択された単語を代替するエラー単語を選択する。各候補単語がエラー単語として選択される選択確率は同一であるか、又は特定の候補単語がより大きい選択確率を有し得る。例えば、「ｗｒｉｔｅ」に対する「ｗｒｏｔｅ」、「ｒｅｗｒｉｔｅ」、「ｌｉｇｈｔ」、「ｒｉｇｈｔ」、及び「ｌｉｔｅ」の候補単語のうち、「ｗｒｉｔｅ」が「ｒｉｇｈｔ」に最も多く間違って認識されれば、当該の候補単語のうち、「ｒｉｇｈｔ」が「ｗｒｉｔｅ」のエラー単語に選択される確率が他の候補単語に比べて高く設定され得る。
【００３４】
エラー単語によって代替される各単語に対する候補単語は予め学習されて格納されることができる。例えば、アコースティック埋め込み（ａｃｏｕｓｔｉｃ  ｅｍｂｅｄｄｉｎｇ）方法に基づいて辞書に含まれた全ての単語が埋め込みスペース（ｅｍｂｅｄｄｉｎｇ  ｓｐａｃｅ）の連続（ｃｏｎｔｉｎｕｏｕｓ）されたベクトル値に変換された後、与えられた単語から一定のユークリッド距離内に入る単語が候補単語として決定され得る。アコースティック埋め込み方法によって発音が類似する単語は互いに類似のベクトル値に変換され、ベクトル値が表現される空間上互いに隣接する位置に配置される。
【００３５】
学習データ変換部１１０は、学習データで選択された単語をエラー単語に代替してエラーが含まれた学習データを生成することができる。エラーが含まれた学習データは、ニューラルネットワークに基づいた言語モデルに入力され、言語モデル学習部１２０は、エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させ得る。
【００３６】
言語モデル学習部１２０は、監督学習によってニューラルネットワークに基づいた言語モデルを学習させ得る。監督学習とは、学習データとそれに対応する出力データを共にニューラルネットワークに入力し、学習データに対応する出力データが出力されるよう人工ニューロン間の接続線の接続加重値をアップデートする方法である。例えば、言語モデル学習部１２０は、エラー逆伝搬学習（ｂａｃｋｐｒｏｐａｇａｔｉｏｎ  ｌｅａｒｎｉｎｇ）などにより人工ニューロン間の接続線の接続加重値をアップデートする。エラー逆伝搬学習は、与えられた学習データに対して前方算出によりエラーを推定した後、ニューラルネットワークの出力レイヤから始まって隠れレイヤとプロジェクションレイヤの方向に逆に前進して推定したエラーを伝播し、エラーを減らす方向に接続加重値をアップデートする方法である。
【００３７】
言語モデル学習部１２０は、ニューラルネットワークで現在の設定された接続加重値がどれ程最適であるかを測定するための目的関数（ｏｂｊｅｃｔｉｖｅ  ｆｕｎｃｔｉｏｎ）を定義し、目的関数の結果に基づいて接続加重値を続けて変更し、学習を繰り返し行う。例えば、目的関数は、ニューラルネットワークが学習データに基づいて実際に出力した出力値と出力されることを所望する期待値との間のエラーを算出するためのエラー関数である。言語モデル学習部１２０は、ニューラルネットワークの出力レイヤで生成された出力値と学習データに対する所望する期待値とを比較し、出力値と期待値との間の差を減らす方向に接続加重値を調整し得ることができる。
【００３８】
＜単語間の発音類似度に基づいて学習データを変換する実施形態＞
他の実施形態によると、言語モデル学習装置１００は、アコースティック埋め込みに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。アコースティック埋め込みとは、単語間の発音類似度に基づいて単語を空間上に表現する方法である。アコースティック埋め込みによって、例えば、「ｗｒｉｔｅ」、「ｗｒｏｔｅ」、「ｒｅｗｒｉｔｅ」、「ｌｉｇｈｔ」、「ｒｉｇｈｔ」、及び「ｌｉｔｅ」のように発音が類似する単語が互いに類似のベクトル値又は特徴値を有し得る。言語モデル学習装置１００は、ニューラルネットワークに入力される単語を発音類似度に基づいたベクトル値に変換し、変換されたベクトル値に基づいてニューラルネットワークを学習させ得る。アコースティック埋め込みを用いてニューラルネットワークを学習させることにより、発音上で類似の単語がエラーとしてニューラルネットワークに入力されても、ニューラルネットワークが正解である出力単語を導き出す確率は高くなる。
【００３９】
学習データ変換部１１０は、単語間の発音類似度に基づいて学習データに含まれた単語をベクトル値に変換することができる。学習データ変換部１１０は、予め学習された変換マトリックスのアコースティック埋め込みマトリックス（ａｃｏｕｓｔｉｃ  ｅｍｂｅｄｄｉｎｇ  ｍａｔｒｉｘ）を用いて学習データの単語を発音類似度に応じるベクトル値に変換し得る。学習データ変換部１１０は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを学習データに含まれた単語に適用し、学習データに含まれた単語を発音類似度に応じるベクトル値に変換する。学習データ変換部１１０は、アコースティック埋め込みマトリックスを用いて発音が類似の単語が互いに隣接するベクトル空間上に位置するよう、学習データに含まれた単語のベクトル値を決定する。
【００４０】
学習データに含まれた単語は、アコースティック埋め込みマトリックスによって連続するベクトル値に変換され、ニューラルネットワークに入力されてもよい。アコースティック埋め込みマトリックスによって発音が類似の単語は互いに類似のベクトル値に変換され得る。アコースティック埋め込みにより表現されるアコースティック埋め込みスペースで、発音が類似の単語は互いに近く位置し得る。例えば、「ｗｒｉｔｅ」、「ｗｒｏｔｅ」、「ｒｅｗｒｉｔｅ」などのように発音上類似する単語のベクトル値は、アコースティック埋め込みスペースで互いに隣接するよう位置することができる。
【００４１】
一実施形態に係る言語モデル学習装置１００がアコースティック埋め込みマトリックスを学習させる過程は次の通りである。
【００４２】
言語モデル学習装置１００は、例えば、単語間の発音類似度に基づいて辞書に含まれた単語をアコースティック埋め込みマトリックスのためのベクトル値に変換し得る。言語モデル学習装置１００は、予め含まれた単語を構成する音素（ｐｈｏｎｅｍｅ）間の距離行列を決定する。音素は、単語の意味を区別する最小の声単位を示し、単語は音素で構成される。音素間の距離行列は音素間の発音類似度を示す発音距離を示す行列である。音素間の発音が類似するほど発音距離が短い。単語の音素シーケンスは、単語に含まれた音素の連続する配列を示す。例えば、「ｒｅｗｒｉｔｅ」の音素シーケンスは［ｒ  ｉｙ  ｒ  ａｙ  ｔ］であり、音素シーケンスの長さは５である。言語モデル学習装置１００は、単語の音素シーケンスを比較して音素間の発音距離を決定し、音素間の発音距離を音素間の距離行列に示すことができる。
【００４３】
言語モデル学習装置１００は、音素間の距離行列に基づいて単語間の距離行列を決定することができる。単語間の距離行列は単語間の発音距離を示す行列であり、単語間の発音距離は単語の音素シーケンス間の発音距離を示す。一実施形態によると、言語モデル学習装置１００は、レーベンシュタイン距離（Ｌｅｖｅｎｓｈｔｅｉｎ  ｄｉｓｔａｎｃｅ）方式を変形した距離算出方式に基づいて単語間の発音距離を決定することができる。例えば、言語モデル学習装置１００は、文字当たり単位距離として「１」の代わりに「音素間の発音距離」を用いることによって単語間の発音距離を算出することができる。言語モデル学習装置１００は、単語の間距離行列に多次元尺度法方式（Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｓｃａｌｉｎｇ：ＭＤＳ）を適用することで、各単語のベクトル値情報を含むアコースティック埋め込みテーブルを決定することができる。多次元尺度法方式は、個体の特性を測定した後、測定した特性に基づいて個体間の類似性に応じて個体を多次元空間上の点から配置する方式である。言語モデル学習装置１００は、単語の音素シーケンスとアコースティック埋め込みテーブルに含まれた各単語のベクトル値情報に基づいてアコースティック埋め込みマトリックスを決定し得る。
【００４４】
再び戻ると、言語モデル学習部１２０は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習部１２０は、学習データに含まれた単語に対するベクトル値に基づいてニューラルネットワークに基づいた言語モデルを学習させることができる。例えば、言語モデル学習部１２０は、エラー逆伝搬学習を介して人工ニューロン間の接続加重値をアップデートすることができる。言語モデル学習部１２０は、ニューラルネットワークで現在の設定された接続加重値がどれほど最適であるかを測定するための目的関数を定義し、目的関数の結果に基づいて接続加重値を変更して学習を繰り返し行う。上記のような過程によって、発音が類似の誤った単語がニューラルネットワークに基づいた言語モデルに入力に入っても正解が出力される確率は高くなり得る。
【００４５】
図２は、他の実施形態に係る言語モデル学習装置の構成を示す図である。図２を参照すると、言語モデル学習装置２００は、制御部２１０、学習データ変換部２２０、及び言語モデル学習部２３０を含む。言語モデル学習装置２００は、学習データを用いてニューラルネットワークに基づいた言語モデルを学習させるとき一定の条件下で学習データを変換して言語モデルを学習させ得る。
【００４６】
制御部２１０は、学習データをエラーが含まれた学習データに変換するか否かを決定する。例えば、制御部２１０は、入力された学習データをエラーが含まれた学習データに変換するか否かを任意に決定してもよい。または、制御部２１０は、特定の反復周期に応じて学習データをエラーが含まれた学習データに変換することにより決定してもよい。例えば、制御部２１０は、５０％の確率で学習データをエラーが含まれた学習データに変換すると決定したり、または、学習回数が３回、６回、９回、...３Ｎ（Ｎは自然数）回行われるたびに学習データを、エラーが含まれた学習データに変換するものと決定することができる。
【００４７】
学習データにエラーを含ませないと決定された場合、制御部２１０は、言語モデル学習部２３０が言語モデル学習装置２００に入力された本来の学習データを学習するように制御できる。
【００４８】
学習データをエラーが含まれた学習データに変換させると決定された場合、制御部２１０は、学習データ変換部２２０が学習データをエラーが含まれた学習データに変換させるように制御することができる。学習データ変換部２２０は、制御部２１０の制御によって学習データを、エラーが含まれた学習データに変換する。学習データ変換部２２０は、学習データに含まれた単語のうちエラー単語によって代替される１つ以上の単語を選択できる。例えば、学習データ変換部２２０は、学習データに含まれた単語のうち、最後の順序の単語又は任意に決定された単語をエラー単語によって代替される単語として選択することができる。
【００４９】
学習データ変換部２２０は、学習データで選択された単語に関する複数の候補単語のうちエラー単語を選択することができる。候補単語は、単語間の発音類似度に基づいて決定され得る。例えば、候補単語は、エラー単語によって代替される単語と発音上類似してもよい。エラー単語によって代替されるそれぞれの単語に対する候補単語は予め学習されて格納される。学習データ変換部２２０は、学習データで選択された単語をエラー単語に代替してエラーが含まれた学習データを生成する。エラーが含まれた学習データは、ニューラルネットワークに基づいた言語モデルに入力され、言語モデル学習部２３０は、エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させ得る。
【００５０】
言語モデル学習部２３０は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させることができる。例えば、言語モデル学習部２３０は、デルタ規則とエラー逆伝搬学習によりニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値をアップデートし得る。言語モデル学習部２３０は、ニューラルネットワークで現在の設定された接続加重値がどれ程最適であるかを測定するための目的関数を定義し、目的関数の結果に基づいて接続加重値を変更して学習を繰り返し行う。
【００５１】
図３は、一実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
【００５２】
言語モデル学習装置によって学習されるニューラルネットワーク３００は、複数のレイヤを含む。例えば、ニューラルネットワーク３００は、プロジェクションレイヤ３２０、隠れレイヤ３３０、出力レイヤ３４０を含む。最も下位レイヤは学習データが入力されるプロジェクションレイヤ３２０であり、最も上位レイヤは入力値に対するニューラルネットワーク３００の出力値が出力される出力レイヤ３４０である。プロジェクションレイヤ３２０と出力レイヤ３４０との間の中間レイヤが隠れレイヤ３３０である。ニューラルネットワーク３００は複数の隠れレイヤ３３０を含み、複数の隠れレイヤ３３０を含むニューラルネットワーク３００をディープニューラルネットワーク（ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）という。
【００５３】
出力レイヤ３４０は、隠れレイヤ３３０の人工ニューロンから受信した信号に基づいてニューラルネットワーク３００の出力を生成する。隠れレイヤ３３０は、プロジェクションレイヤ３２０から伝えられた情報を予測しやすい情報に変換することができる。プロジェクションレイヤ３２０と隠れレイヤ３３０に含まれた人工ニューロンは、接続加重値を有する接続線を用いて接続され、隠れレイヤ３３０と出力レイヤ３４０に含まれた人工ニューロンも接続加重値を有する接続線を介して接続される。
【００５４】
ニューラルネットワーク３００は、プロジェクションレイヤ３２０→隠れレイヤ３３０→出力レイヤ３４０の方向に接続されている。プロジェクションレイヤ３２０の各人工ニューロンに学習データが入力されれば、学習データはプロジェクションレイヤ３２０の各人工ニューロンに変換されて隠れレイヤ３３０に伝えられ、出力レイヤ３４０で入力された学習データに対応する出力値が生成される。学習データは外部メモリから入力されてもよい。出力レイヤ３４０によって生成された出力値は、例えば、ファイルフォーマットの形態でユーザに提供されたり、ディスプレイスクリーンに表示されたり、又はユーザ命令としてデバイスに提供され得る。
【００５５】
ニューラルネットワーク３００に基づいた言語モデルは、学習データに含まれたｎ個の単語が入力される。図３では、ニューラルネットワーク３００が単語Ｗｎ−３、単語Ｗｎ−２及び単語Ｗｎ−１の３個の単語３１０に構成された単語シーケンスを学習するものと仮定する。ここで、言語モデル学習装置は、学習データに含まれた３個の単語のうち一部の単語を任意のエラー単語に代替してニューラルネットワーク３００を学習させ得る。言語モデル学習装置は、図３に示すように単語Ｗｎ−１をエラー単語Ｗ’に代替してエラーが含まれた学習データを生成し、エラーが含まれた学習データに基づいてニューラルネットワーク３００を学習させ得る。エラーが含まれた学習データは、入力ベクトルの形態に変換されてプロジェクションレイヤ３２０に入力され得る。プロジェクションレイヤ３２０に入力される入力ベクトルは、各単語に対応する１−ｈｏｔベクトルが互いに接続された形態を有し得る。例えば、単語Ｗｎ−３、単語Ｗｎ−２及びエラー単語Ｗ’がそれぞれ（１、０、０、０）、（０、１、０、０）及び（０、０、１、０）のベクトルと表現されれば、プロジェクションレイヤ３２０に入力される入力ベクトルは（１、０、０、０、０、１、０、０、０、０、１、０）の形態を有する。
【００５６】
言語モデル学習装置は、単語Ｗｎ−１に関する候補単語のうち単語Ｗｎ−１を代替するエラー単語Ｗ’を選択し、候補単語は単語Ｗｎ−１と発音上類似の単語を含む。例えば、単語Ｗｎ−１が「ｗｒｉｔｅ」であれば、エラー単語Ｗ’として「ｗｒｉｔｅ」と発音が類似の「ｒｉｇｈｔ」が選択され、「ｒｉｇｈｔ」が含まれた学習データがニューラルネットワーク３００に入力され得る。
【００５７】
一実施形態によると、ニューラルネットワーク３００に入力される単語のうちどれ程多い単語がエラー単語に代替されるか否かが予め決定され、ニューラルネットワーク３００に入力された単語のうちどの単語をエラー単語に代替するかの有無は任意に決定され得る。
【００５８】
エラー単語が含まれた学習データは、プロジェクションレイヤ３２０に入力され、プロジェクションレイヤ３２０ではセマンティック埋め込み（ｓｅｍａｎｔｉｃ  ｅｍｂｅｄｄｉｎｇ）又は文法的埋め込み（ｇｒａｍｍａｔｉｃａｌ  ｅｍｂｅｄｄｉｎｇ）が行われる。セマンティック埋め込み又は文法的埋め込みによって出力予想単語シーケンスの確率が極めて小さくなることを防止し、これにより認識結果が改善される。出力レイヤ３４０では、ソフトマックス（ｓｏｆｔｍａｘ）方式を用いて入力された３個の単語に続く次の単語の確率を決定する。ソフトマックス方式とは、現在最適であると考えられるソリューションの選択可能性は最大に保持し、残りのソリューションについては推定された値により加重値を付与して選択確率を調整する方法である。
【００５９】
言語モデル学習装置は、出力レイヤ３４０の出力値と所望する期待値とを比較し、出力値と期待値との間の差を減らす方向にニューラルネットワーク３００に含まれた人工ニューロン間の接続線の接続加重値を調整し得る。言語モデル学習装置は、接続加重値を調整することによってニューラルネットワーク３００を学習させ得る。例えば、プロジェクションレイヤ３２０に入力された学習データが隠れレイヤ３３０を経て接続加重値と乗算及び加算される過程を介して出力レイヤ３４０から出力値が生成され得る。出力レイヤ３４０で生成された出力値と期待する出力値との間に相互差が発生し、言語モデル学習装置は、当該の差を最小化するために接続加重値をアップデートすることができる。
【００６０】
図４は、他の実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
【００６１】
言語モデル学習装置は、単語のアコースティック情報に基づいてニューラルネットワーク４００に基づいた言語モデルを学習させることができる。言語モデル学習装置は、学習データに対してアコースティック埋め込み４１０を行う。アコースティック埋め込み４１０では、予め学習されたアコースティック埋め込みマトリックスによって学習対象である単語Ｗｎ−３、単語Ｗｎ−２及び単語Ｗｎ−１が連続するベクトル値に変換され得る。例えば、単語Ｗｎ−３は、アコースティック埋め込みマトリックスによって０．１２、０．５４、０．９８、...、０．０５のような連続するベクトル値に変換され得る。
【００６２】
アコースティック埋め込み４１０によって学習データに含まれた単語が発音類似度に基づいたベクトル値に変換され、発音上類似の単語が互いに隣接する空間に位置するよう当該単語のベクトル値を決定することができる。アコースティック埋め込み４１０によって発音が互いに類似する単語は、空間上で互いに隣接する位置に配置する。
【００６３】
アコースティック埋め込み４１０によって変換された単語Ｗｎ−３、単語Ｗｎ−２、及び単語Ｗｎ−１の各ベクトル値が互いに連結した形態にニューラルネットワーク４００のプロジェクションレイヤ４２０に入力され、プロジェクションレイヤ４２０では、セマンティック埋め込み又は文法的埋め込みが行われる。プロジェクションレイヤ４２０と出力レイヤ４４０との間に位置する隠れレイヤ４３０は、プロジェクションレイヤ４２０から伝えられた情報を予測しやすい情報に変換することができる。出力レイヤ４４０では入力された３個の単語に続く次の単語の確率を決定することができる。
【００６４】
言語モデル学習装置は、出力レイヤ４４０の出力値と所望する期待値とを比較し、出力値と期待値との間の差を減らすためにニューラルネットワーク４００に含まれた人工ニューロン間の接続線の接続加重値を調整し得る。言語モデル学習装置は、接続加重値を調整することでニューラルネットワーク４００を学習させ得る。
【００６５】
図５は、一実施形態に係る音声認識装置の構成を示す図である。音声認識装置５００は、音声データがどのような文章を示すかを決定する。図５を参照すると、音声認識装置５００は、特徴抽出部５１０、アコースティックモデル５２０、第１言語モデル５３０、分析部５４０、決定部５６０、及び第２言語モデル５５０を含む。
【００６６】
音声データは特定の時間単位に分割され、特定の時間単位に分割された音声データが順次に音声認識装置５００へ入力され得る。特徴抽出部５１０は、音声データから特徴値を抽出し得る。例えば、特徴抽出部５１０は、音声データで時間により変化する相対的な変化量を特徴値に抽出してもよい。アコースティックモデル５２０は、音声データから抽出された特徴値に基づいて音声データを音素単位として認識して出力し得る。
【００６７】
第１言語モデル５３０は、音声データに含まれた単語間の連結関係を推定することができる。第１言語モデル５３０は、音声データに含まれた単語間の連結関係を決定するための確率値を提供できる。第１言語モデル５３０は、ニューラルネットワークに基づいて単語間の連結関係を推定し、ニューラルネットワークはエラーが含まれた学習データに基づいて予め学習される。
【００６８】
分析部５４０は、アコースティックモデル５２０から出力された結果値と第１言語モデル５３０から出力された結果値に基づいて、音声データに対する候補認識結果を生成する。分析部５４０は、アコースティックモデル５２０と第１言語モデル５３０の出力値に基づいて音声データに含まれた単語の接続経路を推定する。
【００６９】
決定部５６０は、第１言語モデル５３０より認識性能の優れた第２言語モデル５５０に基づいて候補認識結果のうち音声データに対する最終の認識結果を決定する。第２言語モデル５５０は、第１言語モデル５３０より認識性能の優れた言語モデルである。例えば、第２言語モデル５５０は、再帰的ニューラルネットワーク（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）又はＬＳＴＭ（ｌｏｎｇ  ｓｈｏｒｔ  ｔｅｒｍ  ｍｅｍｏｒｙ）に基づいた言語モデルであり得る。再帰的ニューラルネットワークは、互いに異なる時間区間で隠れレイヤに含まれた人工ニューロン間に再帰的な連結があるニューラルネットワークを示す。第１言語モデル５３０によって音声データに対する複数の候補ソリューションを導き出し、第１言語モデル５３０よりも認識性能の優れた第２言語モデル５５０を介して最終ソリューションを決定することで、処理時間及び必要リソース量を低減させることができる。
【００７０】
決定部５６０は、第２言語モデル５５０に基づいて候補認識結果の確率値を再び算出し、最も大きい確率値を有する候補認識結果を音声データに対する最終の認識結果として決定する。
【００７１】
図６は、他の実施形態に係る音声認識装置の構成を示す図である。
【００７２】
音声認識装置６００は、学習されたニューラルネットワークに基づいた言語モデルに応じて音声データを認識する。音声認識装置６００は、例えば、スマートフォン、ＰＤＡのような携帯用端末、及びユーザの体に取外し可能なウェアラブルデバイスだけではなく、各種の音声命令システムを含む端末に内蔵され得る。図６を参照すると、音声認識装置６００は、音声データ変換部６１０及び音声データ認識部６２０を含む。
【００７３】
音声データ変換部６１０は、単語間の発音類似度に基づいて音声データに含まれた単語をベクトル値に変換することができる。音声データ変換部６１０は、音声データから音素シーケンスを導き出し、発音類似度に基づいて音素シーケンスに対するベクトル値を決定する。音声データ変換部６１０は、アコースティック埋め込みに基づいて音声データの単語を発音類似度に基づいたベクトル値に変換する。例えば、音声データは、携帯端末又は電子装置に設置されたマイクロホンによって収集されたり、データファイルから取得され得る。
【００７４】
音声データ変換部６１０は、以前に学習されたアコースティック埋め込みマトリックスを音声データに含まれた単語に適用し、音声データの単語を発音類似度に応じるベクトル値に変換する。アコースティック埋め込みマトリックスによって発音が類似の単語は、互いに類似するベクトル値又は特徴値を有し得る。例えば、発音が類似する単語は、アコースティック埋め込みマトリックスによって空間上互いに隣接する位置に配置されるようにベクトル値を決定することができる。
【００７５】
音声データ認識部６２０は、音声データが何を示すかを決定する。音声データ認識部６２０は、音声データに含まれた単語間の連結関係を推定して音声データを認識する。音声データ認識部６２０は、音声データ変換部６１０から出力された音声データのベクトル値をニューラルネットワークに基づいた言語モデルに適用して、適用結果に基づいて音声データの認識結果を決定する。
【００７６】
音声データ認識部６２０は、予め学習されて格納されたアコースティック埋め込みテーブルに基づいて音声データを認識する。例えば、アコースティック埋め込みテーブルは、音素シーケンス間の発音類似度に基づいて決定された一般単語のベクトル値情報を含み得る。アコースティック埋め込みテーブルは、一般単語を空間上の一次元の点に表現したベクトル情報を含み得る。音声データ認識部６２０は、アコースティック埋め込みテーブルに含まれた単語のベクトル値のうち、音声データに含まれたターゲット単語のベクトル値と最も近い位置に配置するベクトル値を選択し、選択されたベクトル値に対応する単語を音声データのターゲット単語として決定することができる。
【００７７】
図７は、更なる実施形態に係る音声認識装置の構成を示す図である。音声認識装置７００は、音声データがいかなる文章を示すかを決定する。図７を参照すると、音声認識装置７００は、第１言語モデル７１０、特徴抽出部７５０、アコースティックモデル７６０、分析部７７０、第２言語モデル７８０、及び決定部７９０を含む。第１言語モデル７１０は、単語入力部７２０、音声データ変換部７３０、及びニューラルネットワーク７４０を含む。
【００７８】
音声データは特定の時間単位に分割され、特定の時間単位に分割された音声データが順次音声認識装置７００に入力され得る。特徴抽出部７５０は、音声データから特徴値を抽出することができる。例えば、特徴抽出部７５０は、音声データで時間に応じて変化する相対的な変化量を特徴値に抽出することができる。アコースティックモデル７６０は、音声データから抽出された特徴値に基づいて音声データを音素単位として認識して出力することができる。
【００７９】
第１言語モデル７１０は、ニューラルネットワーク７４０に基づいて音声データに含まれた単語間の連結関係を推定することができる。単語入力部７２０は、音声データに含まれた１つ以上の単語が入力され得る。
【００８０】
音声データ変換部７３０は、単語間の発音類似度に基づいて音声データに含まれた単語をベクトル値に変換する。音声データ変換部７３０は、音声データから音素シーケンスを導き出し、発音類似度に基づいて音素シーケンスに対するベクトル値を決定する。音声データ変換部７３０は、以前に学習されたアコースティック埋め込みマトリックスを音声データに含まれた単語に適用して音声データの単語を発音類似度に応じるベクトル値に変換することができる。アコースティック埋め込みマトリックスによって発音が類似する単語は、互いに類似のベクトル値又は特徴値を有し得る。発音が類似の単語は、アコースティック埋め込みマトリックスによって空間上で互いに隣接する位置に配置するようにベクトル値を決定することができる。
【００８１】
ニューラルネットワーク７４０は人工ニューロンに基づいた認識モデルとして、音声データに含まれた単語間の連結関係を決定するための確率値を提供する。
【００８２】
分析部７７０は、アコースティックモデル７６０から出力された結果値と第１言語モデル７１０から出力された結果値に基づいて、音声データに対する候補認識結果を生成する。分析部７７０は、アコースティックモデル７６０と第１言語モデル７１０の出力値に基づいて、音声データに含まれた単語の接続経路を推定できる。
【００８３】
決定部７９０は、第１言語モデル７１０よりも認識性能の優れる第２言語モデル７８０に基づいて、候補認識結果のうち音声データに対する最終の認識結果を決定する。第２言語モデル７８０は、第１言語モデル７１０よりも認識性能の優れる言語モデルである。例えば、第２言語モデル７８０は、再帰的ニューラルネットワーク又はＬＳＴＭに基づいた言語モデルであってもよい。決定部７９０は、第２言語モデル７８０に基づいて候補認識結果の確率値を再び算出し、最も大きい確率値を有する候補認識結果を音声データに対する最終の認識結果として決定することができる。
【００８４】
図８は、一実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【００８５】
ステップＳ８１０において、言語モデル学習装置は、学習データをエラーが含まれた学習データに変換する。言語モデル学習装置は、学習データに含まれた単語のうちエラー単語によって代替される１つ以上の単語を選択する。例えば、言語モデル学習装置は、学習データに含まれた単語のうち、最後の単語又は任意に決定された単語をエラー単語によって代替される単語として決定する。
【００８６】
言語モデル学習装置は、複数の候補単語のうちエラー単語を選択できる。候補単語は、単語間の発音類似度に基づいて決定され得る。候補単語は、エラー単語によって代替される単語と発音上に類似する。各候補単語がエラー単語に選択される選択確率は同一であるか、又は特定の候補単語がよりも大きい選択確率を有し得る。エラー単語によって代替されるそれぞれの単語に対する候補単語は、予め学習されて格納される。言語モデル学習装置は、学習データで選択された単語をエラー単語に代替してエラーが含まれた学習データを生成することができる。
【００８７】
ステップＳ８２０において、言語モデル学習装置は、エラーが含まれた学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させる。言語モデル学習装置は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させ得る。例えば、言語モデル学習装置は、デルタ規則とエラー逆伝搬学習を介して人工ニューロン間の接続線の接続加重値をアップデートすることにより、ニューラルネットワークに基づいた言語モデルを学習させ得る。
【００８８】
図９は、他の実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【００８９】
ステップＳ９１０において、言語モデル学習装置で学習データが入力される。学習データとして順次的データである音声データが入力される。言語モデル学習装置は外部から受信した学習データを格納し、格納した学習データから特徴を抽出する。
【００９０】
ステップＳ９２０において、言語モデル学習装置は、学習データをエラーが含まれた学習データに変換するか否かを決定する。例えば、言語モデル学習装置は、特定の反復周期又は特定確率に応じて学習データをエラーが含まれた学習データに変換するものと決定することができる。
【００９１】
学習データをエラーが含まれた学習データに変換するものと決定していない場合、ステップＳ９４０において、言語モデル学習装置は、本来の学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させる。
【００９２】
学習データをエラーが含まれた学習データに変換するものと決定した場合、ステップＳ９３０において、言語モデル学習装置は、学習データをエラーが含まれた学習データに変換する。言語モデル学習装置は、学習データに含まれた単語のうちエラー単語によって代替される１つ以上の単語を選択することができる。言語モデル学習装置は、複数の候補単語のうちエラー単語を選択することができる。候補単語は、単語間の発音類似度に基づいて決定され得る。エラー単語によって代替されるそれぞれの単語に対する候補単語は予め学習されて格納される。言語モデル学習装置は、学習データから選択された単語をエラー単語に代替してエラーが含まれた学習データを生成する。
【００９３】
ステップＳ９４０において、言語モデル学習装置は、エラーが含まれた学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置は、関連技術分野の様々な方法を用いてニューラルネットワークの言語モデルを学習させ得る。例えば、言語モデル学習装置は、デルタ規則とエラー逆伝搬学習を通してニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値をアップデートすることができる。
【００９４】
図１０は、他の実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
【００９５】
ステップＳ１０１０において、言語モデル学習装置に言語モデルの学習のための文章データが入力される。
【００９６】
ステップＳ１０２０において、言語モデル学習装置は、文章データに含まれた全体単語のうち特定個数の単語を含む単語シーケンスを選択する。例えば、言語モデル学習装置は、文章データに含まれた全体単語で、前からＮ−１個の単語を含む単語シーケンスを選択することができる。
【００９７】
ステップＳ１０３０において、言語モデル学習装置は、選択した単語シーケンスにエラーを含ませるかの有無を決定する。例えば、言語モデル学習装置は、与えられたＮ−１個の単語を含む単語シーケンスにエラーを含むか否かを特定確率又は特定周期に基づいて決定する。
【００９８】
単語シーケンスにエラーを含ませないものと決定した場合、ステップＳ１０６０において、言語モデル学習装置はステップＳ１０２０で選択された単語シーケンスに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。
【００９９】
単語シーケンスにエラーを含ませるものと決定した場合、ステップＳ１０４０において、言語モデル学習装置は単語シーケンスにエラー単語を含ませる。
【０１００】
具体的に、ステップＳ１０４５において、言語モデル学習装置は、単語シーケンスに含まれたＮ−１個の単語のうちＭ個（ＭはＮ−１以下の自然数）の単語を選択する。ステップＳ１０５０において、言語モデル学習装置は、候補単語のうちエラー単語を選択する。言語モデル学習装置は、候補単語のうちステップＳ１０４５で選択されたＭ個の単語を代替するＭ個のエラー単語を選択することができる。候補単語は、単語間の発音類似度に基づいて決定され得る。エラー単語によって代替されるそれぞれの単語に対する候補単語は予め学習されて格納される。各候補単語がエラー単語に選択される選択確率は、同一であるか又は特定の候補単語がより大きい選択確率を有し得る。ステップＳ１０５５において、言語モデル学習装置は、ステップＳ１０４５で選択された単語シーケンスのＭ個の単語を、ステップＳ１０５０で選択されたＭ個のエラー単語に代替してエラー単語の含まれた単語シーケンスを生成する。
【０１０１】
ステップＳ１０６０において、言語モデル学習装置は、エラー単語の含まれた単語シーケンスに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。
【０１０２】
ステップＳ１０６５において、言語モデル学習装置は、単語シーケンスが文章データの終わりに到達したか否かを決定する。
【０１０３】
単語シーケンスが文章データの終わりに到達していない場合、ステップＳ１０７０において、言語モデル学習装置は、文章データに含まれた単語から学習のための単語シーケンスを１単語ずつ移動させることができる。例えば、文章データが「ｔｈｉｓ  ｉｓ  ａ  ｔｅｓｔ  ｓｅｎｔｅｎｃｅ」を示し、当該の文章データで選択された現在の単語シーケンスが「ｔｈｉｓ  ｉｓ  ａ」であれば、ステップＳ１０７０によって単語シーケンスが「ｉｓ  ａ  ｔｅｓｔ」に決定され得る。言語モデル学習装置は、１単語ずつ移動させた単語シーケンスに基づいてステップＳ１０２０から再び行う。
【０１０４】
単語シーケンスが文章データの終わりに到達した場合、ステップＳ１０７５において、言語モデル学習装置は、言語モデルの学習させるための次に文章データが存在するか否かを決定する。
【０１０５】
次の文章データが存在する場合、ステップＳ１０８０において、言語モデル学習装置は、次の文章データを入力させ、次の文章データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置は、次の文章データに対してステップＳ１０２０からステップＳ１０７５までの過程を再び行う。
【０１０６】
図１１は、更なる実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【０１０７】
ステップＳ１１１０において、言語モデル学習装置は、単語間の発音類似度に基づいて学習データをベクトル値に変換する。言語モデル学習装置は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを学習データに含まれた単語に適用し、学習データに含まれた単語を発音類似度に応じるベクトル値に変換する。言語モデル学習装置は、アコースティック埋め込みマトリックスを用いて発音が類似の単語が空間上で互いに隣接する位置に配置するよう、学習データに含まれた単語のベクトル値を決定する。
【０１０８】
学習データに含まれた単語は、アコースティック埋め込みマトリックスによって連続するベクトル値に変換され得る。アコースティック埋め込みマトリックスにより発音が類似する単語は、互いに類似するベクトル値に変換されてもよい。アコースティック埋め込みにより表現されるアコースティック埋め込みスペースで、発音の類似な単語は相互近く位置する。
【０１０９】
ステップＳ１１２０において、言語モデル学習装置は、ステップＳ１１１０で決定された学習データのベクトル値に基づいてニューラルネットワークに基づいた言語モデルを学習させる。言語モデル学習装置は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置は、ステップＳ１１１０で決定された学習データのベクトル値をニューラルネットワークに基づいた言語モデルに入力させ、ニューラルネットワークの出力値と期待値とを比較し、ニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値を調整する。言語モデル学習装置は、関連技術分野の様々な方法を用いてニューラルネットワークの言語モデルを学習させることができる。
【０１１０】
図１２は、更なる実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
【０１１１】
ステップＳ１２１０において、言語モデル学習装置に言語モデルの学習のための文章データが入力される。
【０１１２】
ステップＳ１２２０において、言語モデル学習装置は、文章データに含まれた全体単語のうち特定個数の単語を含む単語シーケンスを選択する。例えば、言語モデル学習装置は、文章データに含まれた全体単語で、前からＮ−１個の単語を含む単語シーケンスを選択することができる。
【０１１３】
ステップＳ１２３０において、言語モデル学習装置は、単語シーケンスに含まれた単語を単語間の発音類似度に基づいたベクトル値に変換させる。言語モデル学習装置は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを単語シーケンスに適用し、単語シーケンスに含まれた単語を発音類似度に応じるベクトル値に変換し得る。単語シーケンスに含まれた単語は、アコースティック埋め込みマトリックスによって連続するベクトル値に変換される。
【０１１４】
ステップＳ１２４０において、言語モデル学習装置は、ニューラルネットワークに基づいた言語モデルにステップＳ１２３０におけるベクトル値を適用して当該の言語モデルを学習させる。言語モデル学習装置は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させることができる。言語モデル学習装置は、ステップＳ１２３０で決定されたベクトル値をニューラルネットワークに基づいた言語モデルに入力させ、ニューラルネットワークの出力値と期待値とを比較し、ニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値を調整する。
【０１１５】
ステップＳ１２５０において、言語モデル学習装置は単語シーケンスが文章データの終わりに到達したか否かを決定する。
【０１１６】
単語シーケンスが文章データの終わりに到達していない場合、ステップＳ１２６０において、言語モデル学習装置は、文章データに含まれた単語で学習のための単語シーケンスを１単語ずつ移動させることができる。その後、言語モデル学習装置は、１単語ずつ移動して新しく決定された単語シーケンスに基づいて、ステップＳ１２２０からステップＳ１２５０までの動作を上記と同様に行う。
【０１１７】
単語シーケンスが文章データの終わりに到達した場合、ステップＳ１２７０において、言語モデル学習装置は、言語モデルの学習させるための次に文章データが存在するか否かを決定する。
【０１１８】
次の文章データが存在する場合、ステップＳ１２８０において、言語モデル学習装置は次の文章データを入力させ、次の文章データに基づいてニューラルネットワークに基づいた言語モデルを学習させる。言語モデル学習装置は、次の文章データに対して、ステップＳ１２２０からステップＳ１２７０までの過程を再び行う。
【０１１９】
図１３は、一実施形態に係る音声認識方法の動作を示すフローチャートである。
【０１２０】
ステップＳ１３１０において、音声認識装置は、単語間の発音類似度に基づいて音声データをベクトル値に変換させる。音声認識装置は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを音声データに含まれた単語に適用し、音声データに含まれた単語を発音類似度に応じるベクトル値に変換する。音声認識装置は、アコースティック埋め込みマトリックスを用いて発音が類似の単語が空間上で互いに隣接する位置に配置するよう、音声データに含まれた単語のベクトル値を決定する。音声認識装置は、アコースティック埋め込みマトリックスを用いて音声データに含まれた単語を連続するベクトル値に変換する。アコースティック埋め込みマトリックスを用いて発音が類似の単語は、互いに類似のベクトル値に変換することができる。
【０１２１】
ステップＳ１３２０において、音声認識装置はニューラルネットワークに基づいた言語モデルにステップＳ１３１０で変換された音声データのベクトル値を適用する。言語モデルは、音声データのベクトル値に基づいて音声データに対する認識結果を提供することができる。言語モデルは、入力された音声データのベクトル値に基づいて音声データに対する候補認識結果を提供することができる。
【０１２２】
ステップＳ１３３０において、音声認識装置は音声データの認識結果を決定する。音声認識装置は、ニューラルネットワークに基づいた言語モデルよりも性能の優れる他の言語モデルを用いて候補認識結果のうち音声データに対する最終の認識結果を決定する。
【０１２３】
図１４は、一実施形態に係る言語モデル学習装置を示す図である。図１〜４、８〜１２及び１５〜１８に関して提供された内容が図１４に示す一例に適用され得るため、これに対する詳しい内容は省略する。
【０１２４】
図１４を参照すると、言語モデル学習装置は、プロセッサ１４１０、第１言語モデル及び第２言語モデルのためのニューラルネットワークを含む言語モデルストレージ１４３０、算出された値又は一時的な値を格納するメモリ１４２０、学習データストレージ１４４０、及びエラーが含まれた学習データを格納するエラーデータストレージ１４５０を含む。プロセッサ１４１０は１つ以上のプロセッサ又はコアを含む。
【０１２５】
学習データストレージ１４４０に格納された学習データは音声データを含む。例えば、学習データは、音声で発見された単語に対応するテキストにタグされたオーディオ録音サンプルを含み得る。プロセッサ１４１０は、学習データをエラーが含まれた学習データに変換するか否かを決定する。プロセッサ１４１０は、学習データにエラーを追加して学習データをエラーが含まれた学習データに変換することができる。プロセッサ１４１０は、エラーが含まれた学習データはエラーデータストレージ１４５０に格納してもよい。プロセッサ１４１０は、言語モデルストレージ１４３０に格納された言語モデルを学習させるためにエラーが含まれた学習データを用いることができる。
【０１２６】
図１５は、一実施形態に係る淫書認識装置を示す図である。図３〜７、１３、１６及び１７に関して説明された内容が図１５にそのまま適用され得るため、これに対する詳しい説明は省略する。
【０１２７】
図１５を参考すると、音声認識装置は、プロセッサ１５１０、メモリ１５２０、言語モデルストレージ１５３０、口／出力デバイス１５５０を含む。言語モデル学習装置によって学習されたニューラルネットワーク言語モデルが音声に含まれた単語を認識するために使用することができる。音声認識装置は、スマートフォンのようなモバイル端末に含まれて動作し得る。マイクロホン及び増幅器のような入力デバイスは音声データを取得するために用いてもよい。音声データは、プロセッサ１５１０によって処理され得る。プロセッサ１５１０は音声データを分割し、分割された音声データから特徴値を抽出した後、音声データは音素単位に変換することができる。その後、プロセッサ１５１０は、言語モデルストレージ１５３０に格納された予め学習された言語モデルを用いて、音素データに含まれた単語間の連結関係を推定する。プロセッサ１５１０は、当該の連結関係を分析して音声データに関する候補認識結果を生成する。プロセッサ１５１０は、第１言語モデル及び第２言語モデルの全てを用いて音声データに対する最終の認識結果を決定できる。
【０１２８】
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、または、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答できる異なる装置のように、１つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現され得る。処理装置は、オペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１２９】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこのうちの１つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び／又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータで読み出し可能な記録媒体に格納されてもよい。
【０１３０】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【０１３１】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【０１３２】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１３３】
１００、２００：言語モデル学習装置
１１０、２２０：学習データ変換部
１２０、２３０：言語モデル学習部
２１０：制御部
５１０、７５０：特徴抽出部
５２０、７６０：アコースティックモデル
５３０、７１０：第１言語モデル
５４０、７７０：分析部
５５０、７８０：第２言語モデル
５６０、７９０：決定部
５００、６００、７００：音声認識装置
６１０、７３０：音声データ変換部
６２０：音声データ認識部
７２０：単語入力部
７４０：ニューラルネットワーク
【図１】
0006758811.tif 000002
【図２】
0006758811.tif 000003
【図３】
0006758811.tif 000004
【図４】
0006758811.tif 000005
【図５】
0006758811.tif 000006
【図６】
0006758811.tif 000007
【図７】
0006758811.tif 000008
【図８】
0006758811.tif 000009
【図９】
0006758811.tif 000010
【図１０】
0006758811.tif 000011
【図１１】
0006758811.tif 000012
【図１２】
0006758811.tif 000013
【図１３】
0006758811.tif 000014
【図１４】
0006758811.tif 000015
【図１５】
0006758811.tif 000016
【図１６】
0006758811.tif 000017
【図１７】
0006758811.tif 000018