特許第6758811号(P6758811)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星電子株式会社の特許一覧

特許6758811言語モデル学習方法及び装置、音声認識方法及び装置
<>
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000002
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000003
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000004
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000005
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000006
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000007
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000008
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000009
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000010
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000011
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000012
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000013
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000014
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000015
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000016
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000017
  • 特許6758811-言語モデル学習方法及び装置、音声認識方法及び装置 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6758811
(24)【登録日】2020年9月4日
(45)【発行日】2020年9月23日
(54)【発明の名称】言語モデル学習方法及び装置、音声認識方法及び装置
(51)【国際特許分類】
   G10L 15/16 20060101AFI20200910BHJP
   G10L 15/06 20130101ALI20200910BHJP
【FI】
   G10L15/16
   G10L15/06 300Y
【請求項の数】11
【全頁数】24
(21)【出願番号】特願2015-206203(P2015-206203)
(22)【出願日】2015年10月20日
(65)【公開番号】特開2016-110082(P2016-110082A)
(43)【公開日】2016年6月20日
【審査請求日】2018年10月15日
(31)【優先権主張番号】10-2014-0175152
(32)【優先日】2014年12月8日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】李 鎬 式
(72)【発明者】
【氏名】崔 喜 烈
【審査官】 山下 剛史
(56)【参考文献】
【文献】 米国特許出願公開第2014/0236577(US,A1)
【文献】 特開2014−160153(JP,A)
【文献】 特開2002−91967(JP,A)
【文献】 特開2011−27971(JP,A)
【文献】 筒井良平他,生成したテキストのNgramを用いた英語学習者による文法誤りを含んだ発話の音声認識の高精度化,電子情報通信学会技術研究報告,2007年12月,Vol.107,No.405,p.125-130
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00−15/34
(57)【特許請求の範囲】
【請求項1】
学習データをエラーが含まれた学習データに変換するステップと、
前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させるステップと、
を含み、
前記学習データを前記エラーが含まれた学習データに変換するステップは、
前記学習データに含まれた単語のうち、エラー単語に代替される少なくとも1つの単語を選択するステップと、
前記学習データで選択された単語に関する複数の候補単語のうち前記エラー単語を選択するステップと、
を含む、
言語モデル学習方法。
【請求項2】
前記学習データを前記エラーが含まれた学習データに変換するステップは、
前記学習データで選択された単語を前記エラー単語に代替して前記エラーが含まれた学習データを生成するステップと、
を含む、
請求項1に記載の言語モデル学習方法。
【請求項3】
前記候補単語は、前記学習データで選択された単語との発音類似度に基づいて決定される、
請求項に記載の言語モデル学習方法。
【請求項4】
前記エラー単語を選択するステップは、前記候補単語に割り当てられた加重値に基づいて前記学習データで選択された単語を代替するエラー単語を選択する、
請求項1または3に記載の言語モデル学習方法。
【請求項5】
前記少なくとも1つの単語を選択するステップは、前記学習データに含まれた単語のうち前記少なくとも1つの単語をランダムに選択する、
請求項に記載の言語モデル学習方法。
【請求項6】
前記学習データを前記エラーが含まれた学習データに変換するか否かを決定するステップをさらに含む、
請求項1乃至いずれか一項に記載の言語モデル学習方法。
【請求項7】
請求項1乃至6いずれか一項に記載の方法を実行するためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【請求項8】
学習データをエラーが含まれた学習データに変換する学習データ変換部と、
前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させる言語モデル学習部と、
を含み、
前記学習データ変換部は、
前記学習データに含まれた単語のうちエラー単語に変える少なくとも1つの単語を選択し、
前記学習データで選択された単語に関する複数の候補単語のうち前記エラー単語を選択する、
言語モデル学習装置。
【請求項9】
前記学習データ変換部は、
前記学習データで選択された単語を前記エラー単語に代替して前記エラーが含まれた学習データを生成する、
請求項に記載の言語モデル学習装置。
【請求項10】
前記学習データ変換部は、
前記学習データで選択された単語との発音類似度に基づいて決定された候補単語のうち前記エラー単語を選択する、
請求項に記載の言語モデル学習装置。
【請求項11】
前記学習データを前記エラーが含まれた学習データに変換するか否かを決定する制御部をさらに含む、
請求項8乃至10いずれか一項に記載の言語モデル学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワーク基盤の言語モデルを学習させる技術及び言語モデルに基づいて音声認識を行う技術に関する。
【背景技術】
【0002】
入力パターンを特定グループに分類する問題を解決する方案として、人が有する効率的なパターン認識方法を実際のコンピュータに適用させようとする研究が活発に行われている。このような研究の1つとして、人の生物学的な神経細胞の特性を数学的表現によりモデリングした人工のニューラルネットワーク(neural network)に対する研究がなされている。入力パターンを特定グループに分類する問題を解決するために、ニューラルネットワークでは人が有している学習という能力を模倣したアルゴリズムを用いる。このアルゴリズムによってニューラルネットワークは、入力パターンと出力パターンとの間のマッピングを生成することができるが、これをニューラルネットワークが学習能力があると表現する。また、ニューラルネットワークは、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的正しい出力を生成することのできる一般化能力を有する。
【0003】
最近は、上のようなニューラルネットワークを用いて音声認識を行う技術が活発に研究されている。例えば、周辺ユーザの発話音声又は外部雑音などのような様々な環境における音声認識の正確度を高めるための研究が持続的に行われている。
【発明の概要】
【課題を解決するための手段】
【0004】
一実施形態に係る言語モデル学習方法は、学習データをエラーが含まれた学習データに変換するステップと、前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させるステップとを含む。
【0005】
一実施形態に係る言語モデル学習方法において、前記学習データを前記エラーが含まれた学習データに変換するステップは、前記学習データに含まれた単語のうち、エラー単語に代替される少なくとも1つの単語を選択するステップと、前記学習データで選択された単語をエラー単語に代替して前記エラーが含まれた学習データを生成するステップとを含んでもよい。
【0006】
一実施形態に係る言語モデル学習方法において、前記学習データを前記エラーが含まれた学習データに変換するステップは、前記学習データで選択された単語に関する複数の候補単語のうち前記エラー単語を選択するステップをさらに含んでもよい。
【0007】
一実施形態に係る言語モデル学習方法において、前記候補単語は、前記学習データで選択された単語との発音類似度に基づいて決定されてもよい。
【0008】
一実施形態に係る言語モデル学習方法において、前記エラー単語を選択するステップは、前記候補単語に割り当てられた加重値に基づいて前記学習データで選択された単語を代替するエラー単語を選択してもよい。
【0009】
一実施形態に係る言語モデル学習方法において、前記少なくとも1つの単語を選択するステップは、前記学習データに含まれた単語のうち前記少なくとも1つの単語をランダムに選択してもよい。
【0010】
一実施形態に係る言語モデル学習方法において、前記学習データを前記エラーが含まれた学習データに変換するか否かを決定するステップをさらに含んでもよい。
【0011】
他の実施形態に係る言語モデル学習方法は、単語間の発音類似度に基づいて学習データに含まれた単語をベクトル値に変換するステップと、前記ベクトル値を用いてニューラルネットワークに基づいた言語モデルを学習させるステップとを含む。
【0012】
他の実施形態に係る言語モデル学習方法において、前記学習データに含まれた単語をベクトル値に変換するステップは、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを前記学習データに含まれた単語に適用し、前記学習データに含まれた単語を前記ベクトル値に変換してもよい。
【0013】
他の実施形態に係る言語モデル学習方法において、前記学習データに含まれた単語をベクトル値に変換するステップは、前記アコースティック埋め込みマトリックスを用いて発音が類似の単語が互いに隣接するベクトル空間上に位置するよう、前記学習データに含まれた単語のベクトル値を決定してもよい。
【0014】
他の実施形態に係る言語モデル学習方法において、前記アコースティック埋め込みマトリックスは、学習単語間の発音類似度に基づいて決定され、前記学習単語間の発音類似度は、前記学習単語の音素シーケンス間の発音類似度に基づいて決定されてもよい。
【0015】
他の実施形態に係る言語モデル学習方法において、前記アコースティック埋め込みマトリックスは、互いに異なる単語間の発音距離を行列に表現した単語の間距離行列に多次元尺度法を適用して決定されてもよい。
【0016】
一実施形態に係る言語モデル学習装置は、学習データをエラーが含まれた学習データに変換する学習データ変換部と、前記エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させる言語モデル学習部とを含む。
【0017】
一実施形態に係る言語モデル学習装置において、前記学習データ変換部は、前記学習データに含まれた単語のうちエラー単語に変える少なくとも1つの単語を選択し、前記学習データで選択された単語をエラー単語に代替して前記エラーが含まれた学習データを生成してもよい。
【0018】
一実施形態に係る言語モデル学習装置は、前記学習データを前記エラーが含まれた学習データに変換するか否かを決定する制御部をさらに含んでもよい。
【0019】
他の実施形態に係る言語モデル学習装置は、単語間の発音類似度に基づいて学習データに含まれた単語をベクトル値に変換する学習データ変換部と、前記ベクトル値を用いてニューラルネットワークに基づいた言語モデルを学習させる言語モデル学習部とを含む。
【0020】
他の実施形態に係る言語モデル学習装置において、前記学習データ変換部は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを前記学習データに含まれた単語に適用し、前記学習データに含まれた単語を前記ベクトル値に変換してもよい。
【発明の効果】
【0021】
一実施形態によると、言語モデルの認識正確度を改善させることができる。
【0022】
一実施形態によると、音声認識に要する時間及び必要リソース量を節減することができる。
【図面の簡単な説明】
【0023】
図1】一実施形態に係る言語モデル学習装置の構成を示す図である。
図2】他の実施形態に係る言語モデル学習装置の構成を示す図である。
図3】一実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
図4】他の実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
図5】一実施形態に係る音声認識装置の構成を示す図である。
図6】他の実施形態に係る音声認識装置の構成を示す図である。
図7】更なる実施形態に係る音声認識装置の構成を示す図である。
図8】一実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
図9】他の実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
図10】他の実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
図11】更なる実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
図12】更なる実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
図13】一実施形態に係る音声認識方法の動作を示すフローチャートである。
図14】一実施形態に係る言語モデル学習装置のハードウェア構成を示す図である。
図15】一実施形態に係る音声認識装置のハードウェア構成を示す図である。
図16】一実施形態に係る人工ニューロンを示す図である。
図17】一実施形態に係るニューラルネットワークを示す図である。
【発明を実施するための形態】
【0024】
以下、実施形態を添付する図面を参照しながら詳細に説明する。下記の特定の構造的ないし機能的な説明は単に実施形態を説明する目的のために例示したものであり、実施形態の範囲が本文に説明された内容に限定されるものと解釈されることはない。関連の技術分野で通常の知識を有する者であれば、このような記載から様々な修正及び変形が可能である。また、各図面に提示された同一の参照符号は同一の部材を示し、公知された機能及び構造は省略する。
【0025】
図1は、一実施形態に係る言語モデル学習装置の構成を示す図である。図1を参照すると、言語モデル学習装置100は、学習データ変換部110及び言語モデル学習部120を含む。学習データ変換部110は入力された学習データを変換し、言語モデル学習部120は変換された学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。ニューラルネットワークに基づいた言語モデルは、ニューラルネットワークが複数の学習例(training expels)を学習する能力を用いる1つ以上のニューラルネットワークに基づいた言語モデルを示す。
【0026】
言語モデル学習装置100は、学習データに基づいてニューラルネットワーク基盤の言語モデルを学習させる。ニューラルネットワークは、複数の人工ニューロン(又は、ノード)を用いて生物学的なシステムの算出能力を模倣するソフトウェアやハードウェアに具現された認識モデルである。人工ニューロンは、接続加重値(connection weight)(又は、接続強度)を有する接続線を用いて相互接続され得る。接続加重値は、接続線が有する特定の値を示す。ニューラルネットワークは、人工ニューロンを介して人の認知作用や学習過程を行う。人工ニューロンの一例が図16に図示されている。図16によると、人工ニューロンは、n個の入力ソースから入力X−Xを受信する。例えば、n個の入力ソースは、他の人工ニューロン、センサ、入力データストレージ又は他のデータソースのシナプスであり得る。人工ニューロンの胴体部に接続された入力ベクトルは、それぞれの加重値W−Wによってスケーリングされる。受信された入力は、線形結合されたり、又は活動関数AF(x、x、...x)に基づいて受信された入力を結合するために適用される追加的な関数によって結合され得る。活動関数AF(x、x、...x)に基づいて、ニューロンの胴体部は結合された入力を調整して出力Yを生成する。一例によると、活動関数AF(x、x、...x)の結果は次のニューロンに出力Yを伝達するために閾値を超過しなければならない。人工ニューロンの構造について様々な変形及び修正が可能である。
【0027】
図17は、一実施形態に係るニューラルネットワークを示す。ニューラルネットワーク1700は、複数のレイヤ1710、1720、1730、1740を含む。それぞれのレイヤは、人工ニューロンに対応する1つ以上のノードを含む。例えば、ニューラルネットワーク100は、入力レイヤ1710、2つの隠れレイヤ1720、1730、及び出力レイヤ1740を含む。入力レイヤ1710は入力を受信し、受信された入力を隠れレイヤ1720を経て隠れレイヤ1730に伝達する。出力レイヤ1740は、隠れレイヤ1730から受信した信号に基づいて出力値を生成する。
【0028】
言語モデルは、単語間の連結関係に基づいた確率値を提供することができる。言語モデルは、ニューラルネットワークの認識機能を用いて入力された単語に連結される次の単語に対する確率値を提供することができる。例えば、言語モデルに「this」の単語が入力される場合、言語モデルは「this」の次に「is」又は「was」が連結する確率値を決定する。言語モデルは、スマートフォン、スマートTVなどのような様々なスマート機器に適用されて音声認識に用いることができる。また、言語モデルは、S−Voiceのような音声基盤の個人秘書サービス、車両用音声命令システム、音声ディクテーション(voice dictation)などのアプリケーションに用いることができる。
【0029】
言語モデル学習装置100は学習させる学習データを変形し、変形された学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置100は、学習データに人為的にエラーを含ませたり、又は学習データを発音上の類似度に基づいたベクトル値に変換し得る。言語モデルは、上記のように変形された学習データを学習することで、音声データに含まれたノイズに強い特性を有し得る。例えば、ノイズの含まれた音声データが言語モデルに入力されても、変形された学習データの学習結果によって言語モデルから正解である結果が出力される確率が高くなる。
【0030】
以下は、言語モデル学習装置100がニューラルネットワークに基づいた言語モデルを学習させるとき、1学習データに人為的にエラーを含ませる実施形態と、2単語間の発音類似度に基づいて学習データを変換する実施形態とを区別して説明することにする。
【0031】
<学習データに人為的にエラーを含ませる実施形態>
一実施形態によると、言語モデル学習装置100は、学習データにエラー(又は、ノイズ)を付加してニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデルが人為的にエラーが含まれた学習データを学習することで、認識過程において言語モデルに入力された単語にエラーが存在しても、次に連結される単語の正解確率が高くなり、エラーが継続的に伝播されることを最小化する。単語シーケンスに含まれた特定単語がノイズなどによって間違って認識された場合、間違って認識された単語との連結関係により当該の特定単語の次の単語も間違って認識される確率が増加する。言語モデル学習装置100は、上記のようにノイズによって音声データが間違って認識されることを最小化するため、学習データに人為的にエラーを付加して言語モデルを学習させることができる。
【0032】
学習データ変換部110は、学習データをエラーが含まれた学習データに変換する。学習データ変換部110は、学習データに含まれた単語のうちエラー単語によって代替される1つ以上の単語を選択できる。例えば、学習データ変換部110は、学習データに含まれた単語のうち、最後の単語又はランダムに決定された単語をエラー単語によって代替される単語として選択し得る。
【0033】
学習データ変換部110は、複数の候補単語のうちエラー単語を選択する。候補単語は、単語間の発音類似度に基づいて決定され得る。候補単語は、エラー単語によって代替される単語と発音上(acoustically)に類似することがある。例えば、学習データに含まれた単語のうちエラー単語によって代替される単語が「write」であれば、候補単語として、「write」と発音が類似の「wrote」、「rewrite」、「light」、「right」、及び「lite」などの単語が挙げられる。学習データ変換部110は、「wrote」、「rewrite」、「light」、「right」、及び「lite」などの候補単語のうち、学習データに選択された単語を代替するエラー単語を選択する。各候補単語がエラー単語として選択される選択確率は同一であるか、又は特定の候補単語がより大きい選択確率を有し得る。例えば、「write」に対する「wrote」、「rewrite」、「light」、「right」、及び「lite」の候補単語のうち、「write」が「right」に最も多く間違って認識されれば、当該の候補単語のうち、「right」が「write」のエラー単語に選択される確率が他の候補単語に比べて高く設定され得る。
【0034】
エラー単語によって代替される各単語に対する候補単語は予め学習されて格納されることができる。例えば、アコースティック埋め込み(acoustic embedding)方法に基づいて辞書に含まれた全ての単語が埋め込みスペース(embedding space)の連続(continuous)されたベクトル値に変換された後、与えられた単語から一定のユークリッド距離内に入る単語が候補単語として決定され得る。アコースティック埋め込み方法によって発音が類似する単語は互いに類似のベクトル値に変換され、ベクトル値が表現される空間上互いに隣接する位置に配置される。
【0035】
学習データ変換部110は、学習データで選択された単語をエラー単語に代替してエラーが含まれた学習データを生成することができる。エラーが含まれた学習データは、ニューラルネットワークに基づいた言語モデルに入力され、言語モデル学習部120は、エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させ得る。
【0036】
言語モデル学習部120は、監督学習によってニューラルネットワークに基づいた言語モデルを学習させ得る。監督学習とは、学習データとそれに対応する出力データを共にニューラルネットワークに入力し、学習データに対応する出力データが出力されるよう人工ニューロン間の接続線の接続加重値をアップデートする方法である。例えば、言語モデル学習部120は、エラー逆伝搬学習(backpropagation learning)などにより人工ニューロン間の接続線の接続加重値をアップデートする。エラー逆伝搬学習は、与えられた学習データに対して前方算出によりエラーを推定した後、ニューラルネットワークの出力レイヤから始まって隠れレイヤとプロジェクションレイヤの方向に逆に前進して推定したエラーを伝播し、エラーを減らす方向に接続加重値をアップデートする方法である。
【0037】
言語モデル学習部120は、ニューラルネットワークで現在の設定された接続加重値がどれ程最適であるかを測定するための目的関数(objective function)を定義し、目的関数の結果に基づいて接続加重値を続けて変更し、学習を繰り返し行う。例えば、目的関数は、ニューラルネットワークが学習データに基づいて実際に出力した出力値と出力されることを所望する期待値との間のエラーを算出するためのエラー関数である。言語モデル学習部120は、ニューラルネットワークの出力レイヤで生成された出力値と学習データに対する所望する期待値とを比較し、出力値と期待値との間の差を減らす方向に接続加重値を調整し得ることができる。
【0038】
<単語間の発音類似度に基づいて学習データを変換する実施形態>
他の実施形態によると、言語モデル学習装置100は、アコースティック埋め込みに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。アコースティック埋め込みとは、単語間の発音類似度に基づいて単語を空間上に表現する方法である。アコースティック埋め込みによって、例えば、「write」、「wrote」、「rewrite」、「light」、「right」、及び「lite」のように発音が類似する単語が互いに類似のベクトル値又は特徴値を有し得る。言語モデル学習装置100は、ニューラルネットワークに入力される単語を発音類似度に基づいたベクトル値に変換し、変換されたベクトル値に基づいてニューラルネットワークを学習させ得る。アコースティック埋め込みを用いてニューラルネットワークを学習させることにより、発音上で類似の単語がエラーとしてニューラルネットワークに入力されても、ニューラルネットワークが正解である出力単語を導き出す確率は高くなる。
【0039】
学習データ変換部110は、単語間の発音類似度に基づいて学習データに含まれた単語をベクトル値に変換することができる。学習データ変換部110は、予め学習された変換マトリックスのアコースティック埋め込みマトリックス(acoustic embedding matrix)を用いて学習データの単語を発音類似度に応じるベクトル値に変換し得る。学習データ変換部110は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを学習データに含まれた単語に適用し、学習データに含まれた単語を発音類似度に応じるベクトル値に変換する。学習データ変換部110は、アコースティック埋め込みマトリックスを用いて発音が類似の単語が互いに隣接するベクトル空間上に位置するよう、学習データに含まれた単語のベクトル値を決定する。
【0040】
学習データに含まれた単語は、アコースティック埋め込みマトリックスによって連続するベクトル値に変換され、ニューラルネットワークに入力されてもよい。アコースティック埋め込みマトリックスによって発音が類似の単語は互いに類似のベクトル値に変換され得る。アコースティック埋め込みにより表現されるアコースティック埋め込みスペースで、発音が類似の単語は互いに近く位置し得る。例えば、「write」、「wrote」、「rewrite」などのように発音上類似する単語のベクトル値は、アコースティック埋め込みスペースで互いに隣接するよう位置することができる。
【0041】
一実施形態に係る言語モデル学習装置100がアコースティック埋め込みマトリックスを学習させる過程は次の通りである。
【0042】
言語モデル学習装置100は、例えば、単語間の発音類似度に基づいて辞書に含まれた単語をアコースティック埋め込みマトリックスのためのベクトル値に変換し得る。言語モデル学習装置100は、予め含まれた単語を構成する音素(phoneme)間の距離行列を決定する。音素は、単語の意味を区別する最小の声単位を示し、単語は音素で構成される。音素間の距離行列は音素間の発音類似度を示す発音距離を示す行列である。音素間の発音が類似するほど発音距離が短い。単語の音素シーケンスは、単語に含まれた音素の連続する配列を示す。例えば、「rewrite」の音素シーケンスは[r iy r ay t]であり、音素シーケンスの長さは5である。言語モデル学習装置100は、単語の音素シーケンスを比較して音素間の発音距離を決定し、音素間の発音距離を音素間の距離行列に示すことができる。
【0043】
言語モデル学習装置100は、音素間の距離行列に基づいて単語間の距離行列を決定することができる。単語間の距離行列は単語間の発音距離を示す行列であり、単語間の発音距離は単語の音素シーケンス間の発音距離を示す。一実施形態によると、言語モデル学習装置100は、レーベンシュタイン距離(Levenshtein distance)方式を変形した距離算出方式に基づいて単語間の発音距離を決定することができる。例えば、言語モデル学習装置100は、文字当たり単位距離として「1」の代わりに「音素間の発音距離」を用いることによって単語間の発音距離を算出することができる。言語モデル学習装置100は、単語の間距離行列に多次元尺度法方式(Multi−Dimensional Scaling:MDS)を適用することで、各単語のベクトル値情報を含むアコースティック埋め込みテーブルを決定することができる。多次元尺度法方式は、個体の特性を測定した後、測定した特性に基づいて個体間の類似性に応じて個体を多次元空間上の点から配置する方式である。言語モデル学習装置100は、単語の音素シーケンスとアコースティック埋め込みテーブルに含まれた各単語のベクトル値情報に基づいてアコースティック埋め込みマトリックスを決定し得る。
【0044】
再び戻ると、言語モデル学習部120は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習部120は、学習データに含まれた単語に対するベクトル値に基づいてニューラルネットワークに基づいた言語モデルを学習させることができる。例えば、言語モデル学習部120は、エラー逆伝搬学習を介して人工ニューロン間の接続加重値をアップデートすることができる。言語モデル学習部120は、ニューラルネットワークで現在の設定された接続加重値がどれほど最適であるかを測定するための目的関数を定義し、目的関数の結果に基づいて接続加重値を変更して学習を繰り返し行う。上記のような過程によって、発音が類似の誤った単語がニューラルネットワークに基づいた言語モデルに入力に入っても正解が出力される確率は高くなり得る。
【0045】
図2は、他の実施形態に係る言語モデル学習装置の構成を示す図である。図2を参照すると、言語モデル学習装置200は、制御部210、学習データ変換部220、及び言語モデル学習部230を含む。言語モデル学習装置200は、学習データを用いてニューラルネットワークに基づいた言語モデルを学習させるとき一定の条件下で学習データを変換して言語モデルを学習させ得る。
【0046】
制御部210は、学習データをエラーが含まれた学習データに変換するか否かを決定する。例えば、制御部210は、入力された学習データをエラーが含まれた学習データに変換するか否かを任意に決定してもよい。または、制御部210は、特定の反復周期に応じて学習データをエラーが含まれた学習データに変換することにより決定してもよい。例えば、制御部210は、50%の確率で学習データをエラーが含まれた学習データに変換すると決定したり、または、学習回数が3回、6回、9回、...3N(Nは自然数)回行われるたびに学習データを、エラーが含まれた学習データに変換するものと決定することができる。
【0047】
学習データにエラーを含ませないと決定された場合、制御部210は、言語モデル学習部230が言語モデル学習装置200に入力された本来の学習データを学習するように制御できる。
【0048】
学習データをエラーが含まれた学習データに変換させると決定された場合、制御部210は、学習データ変換部220が学習データをエラーが含まれた学習データに変換させるように制御することができる。学習データ変換部220は、制御部210の制御によって学習データを、エラーが含まれた学習データに変換する。学習データ変換部220は、学習データに含まれた単語のうちエラー単語によって代替される1つ以上の単語を選択できる。例えば、学習データ変換部220は、学習データに含まれた単語のうち、最後の順序の単語又は任意に決定された単語をエラー単語によって代替される単語として選択することができる。
【0049】
学習データ変換部220は、学習データで選択された単語に関する複数の候補単語のうちエラー単語を選択することができる。候補単語は、単語間の発音類似度に基づいて決定され得る。例えば、候補単語は、エラー単語によって代替される単語と発音上類似してもよい。エラー単語によって代替されるそれぞれの単語に対する候補単語は予め学習されて格納される。学習データ変換部220は、学習データで選択された単語をエラー単語に代替してエラーが含まれた学習データを生成する。エラーが含まれた学習データは、ニューラルネットワークに基づいた言語モデルに入力され、言語モデル学習部230は、エラーが含まれた学習データを用いてニューラルネットワークに基づいた言語モデルを学習させ得る。
【0050】
言語モデル学習部230は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させることができる。例えば、言語モデル学習部230は、デルタ規則とエラー逆伝搬学習によりニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値をアップデートし得る。言語モデル学習部230は、ニューラルネットワークで現在の設定された接続加重値がどれ程最適であるかを測定するための目的関数を定義し、目的関数の結果に基づいて接続加重値を変更して学習を繰り返し行う。
【0051】
図3は、一実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
【0052】
言語モデル学習装置によって学習されるニューラルネットワーク300は、複数のレイヤを含む。例えば、ニューラルネットワーク300は、プロジェクションレイヤ320、隠れレイヤ330、出力レイヤ340を含む。最も下位レイヤは学習データが入力されるプロジェクションレイヤ320であり、最も上位レイヤは入力値に対するニューラルネットワーク300の出力値が出力される出力レイヤ340である。プロジェクションレイヤ320と出力レイヤ340との間の中間レイヤが隠れレイヤ330である。ニューラルネットワーク300は複数の隠れレイヤ330を含み、複数の隠れレイヤ330を含むニューラルネットワーク300をディープニューラルネットワーク(deep neural network)という。
【0053】
出力レイヤ340は、隠れレイヤ330の人工ニューロンから受信した信号に基づいてニューラルネットワーク300の出力を生成する。隠れレイヤ330は、プロジェクションレイヤ320から伝えられた情報を予測しやすい情報に変換することができる。プロジェクションレイヤ320と隠れレイヤ330に含まれた人工ニューロンは、接続加重値を有する接続線を用いて接続され、隠れレイヤ330と出力レイヤ340に含まれた人工ニューロンも接続加重値を有する接続線を介して接続される。
【0054】
ニューラルネットワーク300は、プロジェクションレイヤ320→隠れレイヤ330→出力レイヤ340の方向に接続されている。プロジェクションレイヤ320の各人工ニューロンに学習データが入力されれば、学習データはプロジェクションレイヤ320の各人工ニューロンに変換されて隠れレイヤ330に伝えられ、出力レイヤ340で入力された学習データに対応する出力値が生成される。学習データは外部メモリから入力されてもよい。出力レイヤ340によって生成された出力値は、例えば、ファイルフォーマットの形態でユーザに提供されたり、ディスプレイスクリーンに表示されたり、又はユーザ命令としてデバイスに提供され得る。
【0055】
ニューラルネットワーク300に基づいた言語モデルは、学習データに含まれたn個の単語が入力される。図3では、ニューラルネットワーク300が単語Wn−3、単語Wn−2及び単語Wn−1の3個の単語310に構成された単語シーケンスを学習するものと仮定する。ここで、言語モデル学習装置は、学習データに含まれた3個の単語のうち一部の単語を任意のエラー単語に代替してニューラルネットワーク300を学習させ得る。言語モデル学習装置は、図3に示すように単語Wn−1をエラー単語W’に代替してエラーが含まれた学習データを生成し、エラーが含まれた学習データに基づいてニューラルネットワーク300を学習させ得る。エラーが含まれた学習データは、入力ベクトルの形態に変換されてプロジェクションレイヤ320に入力され得る。プロジェクションレイヤ320に入力される入力ベクトルは、各単語に対応する1−hotベクトルが互いに接続された形態を有し得る。例えば、単語Wn−3、単語Wn−2及びエラー単語W’がそれぞれ(1、0、0、0)、(0、1、0、0)及び(0、0、1、0)のベクトルと表現されれば、プロジェクションレイヤ320に入力される入力ベクトルは(1、0、0、0、0、1、0、0、0、0、1、0)の形態を有する。
【0056】
言語モデル学習装置は、単語Wn−1に関する候補単語のうち単語Wn−1を代替するエラー単語W’を選択し、候補単語は単語Wn−1と発音上類似の単語を含む。例えば、単語Wn−1が「write」であれば、エラー単語W’として「write」と発音が類似の「right」が選択され、「right」が含まれた学習データがニューラルネットワーク300に入力され得る。
【0057】
一実施形態によると、ニューラルネットワーク300に入力される単語のうちどれ程多い単語がエラー単語に代替されるか否かが予め決定され、ニューラルネットワーク300に入力された単語のうちどの単語をエラー単語に代替するかの有無は任意に決定され得る。
【0058】
エラー単語が含まれた学習データは、プロジェクションレイヤ320に入力され、プロジェクションレイヤ320ではセマンティック埋め込み(semantic embedding)又は文法的埋め込み(grammatical embedding)が行われる。セマンティック埋め込み又は文法的埋め込みによって出力予想単語シーケンスの確率が極めて小さくなることを防止し、これにより認識結果が改善される。出力レイヤ340では、ソフトマックス(softmax)方式を用いて入力された3個の単語に続く次の単語の確率を決定する。ソフトマックス方式とは、現在最適であると考えられるソリューションの選択可能性は最大に保持し、残りのソリューションについては推定された値により加重値を付与して選択確率を調整する方法である。
【0059】
言語モデル学習装置は、出力レイヤ340の出力値と所望する期待値とを比較し、出力値と期待値との間の差を減らす方向にニューラルネットワーク300に含まれた人工ニューロン間の接続線の接続加重値を調整し得る。言語モデル学習装置は、接続加重値を調整することによってニューラルネットワーク300を学習させ得る。例えば、プロジェクションレイヤ320に入力された学習データが隠れレイヤ330を経て接続加重値と乗算及び加算される過程を介して出力レイヤ340から出力値が生成され得る。出力レイヤ340で生成された出力値と期待する出力値との間に相互差が発生し、言語モデル学習装置は、当該の差を最小化するために接続加重値をアップデートすることができる。
【0060】
図4は、他の実施形態に係る言語モデルに用いられるニューラルネットワークを説明するための図である。
【0061】
言語モデル学習装置は、単語のアコースティック情報に基づいてニューラルネットワーク400に基づいた言語モデルを学習させることができる。言語モデル学習装置は、学習データに対してアコースティック埋め込み410を行う。アコースティック埋め込み410では、予め学習されたアコースティック埋め込みマトリックスによって学習対象である単語Wn−3、単語Wn−2及び単語Wn−1が連続するベクトル値に変換され得る。例えば、単語Wn−3は、アコースティック埋め込みマトリックスによって0.12、0.54、0.98、...、0.05のような連続するベクトル値に変換され得る。
【0062】
アコースティック埋め込み410によって学習データに含まれた単語が発音類似度に基づいたベクトル値に変換され、発音上類似の単語が互いに隣接する空間に位置するよう当該単語のベクトル値を決定することができる。アコースティック埋め込み410によって発音が互いに類似する単語は、空間上で互いに隣接する位置に配置する。
【0063】
アコースティック埋め込み410によって変換された単語Wn−3、単語Wn−2、及び単語Wn−1の各ベクトル値が互いに連結した形態にニューラルネットワーク400のプロジェクションレイヤ420に入力され、プロジェクションレイヤ420では、セマンティック埋め込み又は文法的埋め込みが行われる。プロジェクションレイヤ420と出力レイヤ440との間に位置する隠れレイヤ430は、プロジェクションレイヤ420から伝えられた情報を予測しやすい情報に変換することができる。出力レイヤ440では入力された3個の単語に続く次の単語の確率を決定することができる。
【0064】
言語モデル学習装置は、出力レイヤ440の出力値と所望する期待値とを比較し、出力値と期待値との間の差を減らすためにニューラルネットワーク400に含まれた人工ニューロン間の接続線の接続加重値を調整し得る。言語モデル学習装置は、接続加重値を調整することでニューラルネットワーク400を学習させ得る。
【0065】
図5は、一実施形態に係る音声認識装置の構成を示す図である。音声認識装置500は、音声データがどのような文章を示すかを決定する。図5を参照すると、音声認識装置500は、特徴抽出部510、アコースティックモデル520、第1言語モデル530、分析部540、決定部560、及び第2言語モデル550を含む。
【0066】
音声データは特定の時間単位に分割され、特定の時間単位に分割された音声データが順次に音声認識装置500へ入力され得る。特徴抽出部510は、音声データから特徴値を抽出し得る。例えば、特徴抽出部510は、音声データで時間により変化する相対的な変化量を特徴値に抽出してもよい。アコースティックモデル520は、音声データから抽出された特徴値に基づいて音声データを音素単位として認識して出力し得る。
【0067】
第1言語モデル530は、音声データに含まれた単語間の連結関係を推定することができる。第1言語モデル530は、音声データに含まれた単語間の連結関係を決定するための確率値を提供できる。第1言語モデル530は、ニューラルネットワークに基づいて単語間の連結関係を推定し、ニューラルネットワークはエラーが含まれた学習データに基づいて予め学習される。
【0068】
分析部540は、アコースティックモデル520から出力された結果値と第1言語モデル530から出力された結果値に基づいて、音声データに対する候補認識結果を生成する。分析部540は、アコースティックモデル520と第1言語モデル530の出力値に基づいて音声データに含まれた単語の接続経路を推定する。
【0069】
決定部560は、第1言語モデル530より認識性能の優れた第2言語モデル550に基づいて候補認識結果のうち音声データに対する最終の認識結果を決定する。第2言語モデル550は、第1言語モデル530より認識性能の優れた言語モデルである。例えば、第2言語モデル550は、再帰的ニューラルネットワーク(recurrent neural network)又はLSTM(long short term memory)に基づいた言語モデルであり得る。再帰的ニューラルネットワークは、互いに異なる時間区間で隠れレイヤに含まれた人工ニューロン間に再帰的な連結があるニューラルネットワークを示す。第1言語モデル530によって音声データに対する複数の候補ソリューションを導き出し、第1言語モデル530よりも認識性能の優れた第2言語モデル550を介して最終ソリューションを決定することで、処理時間及び必要リソース量を低減させることができる。
【0070】
決定部560は、第2言語モデル550に基づいて候補認識結果の確率値を再び算出し、最も大きい確率値を有する候補認識結果を音声データに対する最終の認識結果として決定する。
【0071】
図6は、他の実施形態に係る音声認識装置の構成を示す図である。
【0072】
音声認識装置600は、学習されたニューラルネットワークに基づいた言語モデルに応じて音声データを認識する。音声認識装置600は、例えば、スマートフォン、PDAのような携帯用端末、及びユーザの体に取外し可能なウェアラブルデバイスだけではなく、各種の音声命令システムを含む端末に内蔵され得る。図6を参照すると、音声認識装置600は、音声データ変換部610及び音声データ認識部620を含む。
【0073】
音声データ変換部610は、単語間の発音類似度に基づいて音声データに含まれた単語をベクトル値に変換することができる。音声データ変換部610は、音声データから音素シーケンスを導き出し、発音類似度に基づいて音素シーケンスに対するベクトル値を決定する。音声データ変換部610は、アコースティック埋め込みに基づいて音声データの単語を発音類似度に基づいたベクトル値に変換する。例えば、音声データは、携帯端末又は電子装置に設置されたマイクロホンによって収集されたり、データファイルから取得され得る。
【0074】
音声データ変換部610は、以前に学習されたアコースティック埋め込みマトリックスを音声データに含まれた単語に適用し、音声データの単語を発音類似度に応じるベクトル値に変換する。アコースティック埋め込みマトリックスによって発音が類似の単語は、互いに類似するベクトル値又は特徴値を有し得る。例えば、発音が類似する単語は、アコースティック埋め込みマトリックスによって空間上互いに隣接する位置に配置されるようにベクトル値を決定することができる。
【0075】
音声データ認識部620は、音声データが何を示すかを決定する。音声データ認識部620は、音声データに含まれた単語間の連結関係を推定して音声データを認識する。音声データ認識部620は、音声データ変換部610から出力された音声データのベクトル値をニューラルネットワークに基づいた言語モデルに適用して、適用結果に基づいて音声データの認識結果を決定する。
【0076】
音声データ認識部620は、予め学習されて格納されたアコースティック埋め込みテーブルに基づいて音声データを認識する。例えば、アコースティック埋め込みテーブルは、音素シーケンス間の発音類似度に基づいて決定された一般単語のベクトル値情報を含み得る。アコースティック埋め込みテーブルは、一般単語を空間上の一次元の点に表現したベクトル情報を含み得る。音声データ認識部620は、アコースティック埋め込みテーブルに含まれた単語のベクトル値のうち、音声データに含まれたターゲット単語のベクトル値と最も近い位置に配置するベクトル値を選択し、選択されたベクトル値に対応する単語を音声データのターゲット単語として決定することができる。
【0077】
図7は、更なる実施形態に係る音声認識装置の構成を示す図である。音声認識装置700は、音声データがいかなる文章を示すかを決定する。図7を参照すると、音声認識装置700は、第1言語モデル710、特徴抽出部750、アコースティックモデル760、分析部770、第2言語モデル780、及び決定部790を含む。第1言語モデル710は、単語入力部720、音声データ変換部730、及びニューラルネットワーク740を含む。
【0078】
音声データは特定の時間単位に分割され、特定の時間単位に分割された音声データが順次音声認識装置700に入力され得る。特徴抽出部750は、音声データから特徴値を抽出することができる。例えば、特徴抽出部750は、音声データで時間に応じて変化する相対的な変化量を特徴値に抽出することができる。アコースティックモデル760は、音声データから抽出された特徴値に基づいて音声データを音素単位として認識して出力することができる。
【0079】
第1言語モデル710は、ニューラルネットワーク740に基づいて音声データに含まれた単語間の連結関係を推定することができる。単語入力部720は、音声データに含まれた1つ以上の単語が入力され得る。
【0080】
音声データ変換部730は、単語間の発音類似度に基づいて音声データに含まれた単語をベクトル値に変換する。音声データ変換部730は、音声データから音素シーケンスを導き出し、発音類似度に基づいて音素シーケンスに対するベクトル値を決定する。音声データ変換部730は、以前に学習されたアコースティック埋め込みマトリックスを音声データに含まれた単語に適用して音声データの単語を発音類似度に応じるベクトル値に変換することができる。アコースティック埋め込みマトリックスによって発音が類似する単語は、互いに類似のベクトル値又は特徴値を有し得る。発音が類似の単語は、アコースティック埋め込みマトリックスによって空間上で互いに隣接する位置に配置するようにベクトル値を決定することができる。
【0081】
ニューラルネットワーク740は人工ニューロンに基づいた認識モデルとして、音声データに含まれた単語間の連結関係を決定するための確率値を提供する。
【0082】
分析部770は、アコースティックモデル760から出力された結果値と第1言語モデル710から出力された結果値に基づいて、音声データに対する候補認識結果を生成する。分析部770は、アコースティックモデル760と第1言語モデル710の出力値に基づいて、音声データに含まれた単語の接続経路を推定できる。
【0083】
決定部790は、第1言語モデル710よりも認識性能の優れる第2言語モデル780に基づいて、候補認識結果のうち音声データに対する最終の認識結果を決定する。第2言語モデル780は、第1言語モデル710よりも認識性能の優れる言語モデルである。例えば、第2言語モデル780は、再帰的ニューラルネットワーク又はLSTMに基づいた言語モデルであってもよい。決定部790は、第2言語モデル780に基づいて候補認識結果の確率値を再び算出し、最も大きい確率値を有する候補認識結果を音声データに対する最終の認識結果として決定することができる。
【0084】
図8は、一実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【0085】
ステップS810において、言語モデル学習装置は、学習データをエラーが含まれた学習データに変換する。言語モデル学習装置は、学習データに含まれた単語のうちエラー単語によって代替される1つ以上の単語を選択する。例えば、言語モデル学習装置は、学習データに含まれた単語のうち、最後の単語又は任意に決定された単語をエラー単語によって代替される単語として決定する。
【0086】
言語モデル学習装置は、複数の候補単語のうちエラー単語を選択できる。候補単語は、単語間の発音類似度に基づいて決定され得る。候補単語は、エラー単語によって代替される単語と発音上に類似する。各候補単語がエラー単語に選択される選択確率は同一であるか、又は特定の候補単語がよりも大きい選択確率を有し得る。エラー単語によって代替されるそれぞれの単語に対する候補単語は、予め学習されて格納される。言語モデル学習装置は、学習データで選択された単語をエラー単語に代替してエラーが含まれた学習データを生成することができる。
【0087】
ステップS820において、言語モデル学習装置は、エラーが含まれた学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させる。言語モデル学習装置は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させ得る。例えば、言語モデル学習装置は、デルタ規則とエラー逆伝搬学習を介して人工ニューロン間の接続線の接続加重値をアップデートすることにより、ニューラルネットワークに基づいた言語モデルを学習させ得る。
【0088】
図9は、他の実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【0089】
ステップS910において、言語モデル学習装置で学習データが入力される。学習データとして順次的データである音声データが入力される。言語モデル学習装置は外部から受信した学習データを格納し、格納した学習データから特徴を抽出する。
【0090】
ステップS920において、言語モデル学習装置は、学習データをエラーが含まれた学習データに変換するか否かを決定する。例えば、言語モデル学習装置は、特定の反復周期又は特定確率に応じて学習データをエラーが含まれた学習データに変換するものと決定することができる。
【0091】
学習データをエラーが含まれた学習データに変換するものと決定していない場合、ステップS940において、言語モデル学習装置は、本来の学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させる。
【0092】
学習データをエラーが含まれた学習データに変換するものと決定した場合、ステップS930において、言語モデル学習装置は、学習データをエラーが含まれた学習データに変換する。言語モデル学習装置は、学習データに含まれた単語のうちエラー単語によって代替される1つ以上の単語を選択することができる。言語モデル学習装置は、複数の候補単語のうちエラー単語を選択することができる。候補単語は、単語間の発音類似度に基づいて決定され得る。エラー単語によって代替されるそれぞれの単語に対する候補単語は予め学習されて格納される。言語モデル学習装置は、学習データから選択された単語をエラー単語に代替してエラーが含まれた学習データを生成する。
【0093】
ステップS940において、言語モデル学習装置は、エラーが含まれた学習データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置は、関連技術分野の様々な方法を用いてニューラルネットワークの言語モデルを学習させ得る。例えば、言語モデル学習装置は、デルタ規則とエラー逆伝搬学習を通してニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値をアップデートすることができる。
【0094】
図10は、他の実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
【0095】
ステップS1010において、言語モデル学習装置に言語モデルの学習のための文章データが入力される。
【0096】
ステップS1020において、言語モデル学習装置は、文章データに含まれた全体単語のうち特定個数の単語を含む単語シーケンスを選択する。例えば、言語モデル学習装置は、文章データに含まれた全体単語で、前からN−1個の単語を含む単語シーケンスを選択することができる。
【0097】
ステップS1030において、言語モデル学習装置は、選択した単語シーケンスにエラーを含ませるかの有無を決定する。例えば、言語モデル学習装置は、与えられたN−1個の単語を含む単語シーケンスにエラーを含むか否かを特定確率又は特定周期に基づいて決定する。
【0098】
単語シーケンスにエラーを含ませないものと決定した場合、ステップS1060において、言語モデル学習装置はステップS1020で選択された単語シーケンスに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。
【0099】
単語シーケンスにエラーを含ませるものと決定した場合、ステップS1040において、言語モデル学習装置は単語シーケンスにエラー単語を含ませる。
【0100】
具体的に、ステップS1045において、言語モデル学習装置は、単語シーケンスに含まれたN−1個の単語のうちM個(MはN−1以下の自然数)の単語を選択する。ステップS1050において、言語モデル学習装置は、候補単語のうちエラー単語を選択する。言語モデル学習装置は、候補単語のうちステップS1045で選択されたM個の単語を代替するM個のエラー単語を選択することができる。候補単語は、単語間の発音類似度に基づいて決定され得る。エラー単語によって代替されるそれぞれの単語に対する候補単語は予め学習されて格納される。各候補単語がエラー単語に選択される選択確率は、同一であるか又は特定の候補単語がより大きい選択確率を有し得る。ステップS1055において、言語モデル学習装置は、ステップS1045で選択された単語シーケンスのM個の単語を、ステップS1050で選択されたM個のエラー単語に代替してエラー単語の含まれた単語シーケンスを生成する。
【0101】
ステップS1060において、言語モデル学習装置は、エラー単語の含まれた単語シーケンスに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。
【0102】
ステップS1065において、言語モデル学習装置は、単語シーケンスが文章データの終わりに到達したか否かを決定する。
【0103】
単語シーケンスが文章データの終わりに到達していない場合、ステップS1070において、言語モデル学習装置は、文章データに含まれた単語から学習のための単語シーケンスを1単語ずつ移動させることができる。例えば、文章データが「this is a test sentence」を示し、当該の文章データで選択された現在の単語シーケンスが「this is a」であれば、ステップS1070によって単語シーケンスが「is a test」に決定され得る。言語モデル学習装置は、1単語ずつ移動させた単語シーケンスに基づいてステップS1020から再び行う。
【0104】
単語シーケンスが文章データの終わりに到達した場合、ステップS1075において、言語モデル学習装置は、言語モデルの学習させるための次に文章データが存在するか否かを決定する。
【0105】
次の文章データが存在する場合、ステップS1080において、言語モデル学習装置は、次の文章データを入力させ、次の文章データに基づいてニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置は、次の文章データに対してステップS1020からステップS1075までの過程を再び行う。
【0106】
図11は、更なる実施形態に係る言語モデル学習方法の動作を説明するためのフローチャートである。
【0107】
ステップS1110において、言語モデル学習装置は、単語間の発音類似度に基づいて学習データをベクトル値に変換する。言語モデル学習装置は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを学習データに含まれた単語に適用し、学習データに含まれた単語を発音類似度に応じるベクトル値に変換する。言語モデル学習装置は、アコースティック埋め込みマトリックスを用いて発音が類似の単語が空間上で互いに隣接する位置に配置するよう、学習データに含まれた単語のベクトル値を決定する。
【0108】
学習データに含まれた単語は、アコースティック埋め込みマトリックスによって連続するベクトル値に変換され得る。アコースティック埋め込みマトリックスにより発音が類似する単語は、互いに類似するベクトル値に変換されてもよい。アコースティック埋め込みにより表現されるアコースティック埋め込みスペースで、発音の類似な単語は相互近く位置する。
【0109】
ステップS1120において、言語モデル学習装置は、ステップS1110で決定された学習データのベクトル値に基づいてニューラルネットワークに基づいた言語モデルを学習させる。言語モデル学習装置は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させ得る。言語モデル学習装置は、ステップS1110で決定された学習データのベクトル値をニューラルネットワークに基づいた言語モデルに入力させ、ニューラルネットワークの出力値と期待値とを比較し、ニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値を調整する。言語モデル学習装置は、関連技術分野の様々な方法を用いてニューラルネットワークの言語モデルを学習させることができる。
【0110】
図12は、更なる実施形態に係る言語モデル学習方法の動作をより具体化したフローチャートである。
【0111】
ステップS1210において、言語モデル学習装置に言語モデルの学習のための文章データが入力される。
【0112】
ステップS1220において、言語モデル学習装置は、文章データに含まれた全体単語のうち特定個数の単語を含む単語シーケンスを選択する。例えば、言語モデル学習装置は、文章データに含まれた全体単語で、前からN−1個の単語を含む単語シーケンスを選択することができる。
【0113】
ステップS1230において、言語モデル学習装置は、単語シーケンスに含まれた単語を単語間の発音類似度に基づいたベクトル値に変換させる。言語モデル学習装置は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを単語シーケンスに適用し、単語シーケンスに含まれた単語を発音類似度に応じるベクトル値に変換し得る。単語シーケンスに含まれた単語は、アコースティック埋め込みマトリックスによって連続するベクトル値に変換される。
【0114】
ステップS1240において、言語モデル学習装置は、ニューラルネットワークに基づいた言語モデルにステップS1230におけるベクトル値を適用して当該の言語モデルを学習させる。言語モデル学習装置は、監督学習を介してニューラルネットワークに基づいた言語モデルを学習させることができる。言語モデル学習装置は、ステップS1230で決定されたベクトル値をニューラルネットワークに基づいた言語モデルに入力させ、ニューラルネットワークの出力値と期待値とを比較し、ニューラルネットワークに含まれた人工ニューロン間の接続線の接続加重値を調整する。
【0115】
ステップS1250において、言語モデル学習装置は単語シーケンスが文章データの終わりに到達したか否かを決定する。
【0116】
単語シーケンスが文章データの終わりに到達していない場合、ステップS1260において、言語モデル学習装置は、文章データに含まれた単語で学習のための単語シーケンスを1単語ずつ移動させることができる。その後、言語モデル学習装置は、1単語ずつ移動して新しく決定された単語シーケンスに基づいて、ステップS1220からステップS1250までの動作を上記と同様に行う。
【0117】
単語シーケンスが文章データの終わりに到達した場合、ステップS1270において、言語モデル学習装置は、言語モデルの学習させるための次に文章データが存在するか否かを決定する。
【0118】
次の文章データが存在する場合、ステップS1280において、言語モデル学習装置は次の文章データを入力させ、次の文章データに基づいてニューラルネットワークに基づいた言語モデルを学習させる。言語モデル学習装置は、次の文章データに対して、ステップS1220からステップS1270までの過程を再び行う。
【0119】
図13は、一実施形態に係る音声認識方法の動作を示すフローチャートである。
【0120】
ステップS1310において、音声認識装置は、単語間の発音類似度に基づいて音声データをベクトル値に変換させる。音声認識装置は、単語間の発音類似度に基づいたアコースティック埋め込みマトリックスを音声データに含まれた単語に適用し、音声データに含まれた単語を発音類似度に応じるベクトル値に変換する。音声認識装置は、アコースティック埋め込みマトリックスを用いて発音が類似の単語が空間上で互いに隣接する位置に配置するよう、音声データに含まれた単語のベクトル値を決定する。音声認識装置は、アコースティック埋め込みマトリックスを用いて音声データに含まれた単語を連続するベクトル値に変換する。アコースティック埋め込みマトリックスを用いて発音が類似の単語は、互いに類似のベクトル値に変換することができる。
【0121】
ステップS1320において、音声認識装置はニューラルネットワークに基づいた言語モデルにステップS1310で変換された音声データのベクトル値を適用する。言語モデルは、音声データのベクトル値に基づいて音声データに対する認識結果を提供することができる。言語モデルは、入力された音声データのベクトル値に基づいて音声データに対する候補認識結果を提供することができる。
【0122】
ステップS1330において、音声認識装置は音声データの認識結果を決定する。音声認識装置は、ニューラルネットワークに基づいた言語モデルよりも性能の優れる他の言語モデルを用いて候補認識結果のうち音声データに対する最終の認識結果を決定する。
【0123】
図14は、一実施形態に係る言語モデル学習装置を示す図である。図1〜4、8〜12及び15〜18に関して提供された内容が図14に示す一例に適用され得るため、これに対する詳しい内容は省略する。
【0124】
図14を参照すると、言語モデル学習装置は、プロセッサ1410、第1言語モデル及び第2言語モデルのためのニューラルネットワークを含む言語モデルストレージ1430、算出された値又は一時的な値を格納するメモリ1420、学習データストレージ1440、及びエラーが含まれた学習データを格納するエラーデータストレージ1450を含む。プロセッサ1410は1つ以上のプロセッサ又はコアを含む。
【0125】
学習データストレージ1440に格納された学習データは音声データを含む。例えば、学習データは、音声で発見された単語に対応するテキストにタグされたオーディオ録音サンプルを含み得る。プロセッサ1410は、学習データをエラーが含まれた学習データに変換するか否かを決定する。プロセッサ1410は、学習データにエラーを追加して学習データをエラーが含まれた学習データに変換することができる。プロセッサ1410は、エラーが含まれた学習データはエラーデータストレージ1450に格納してもよい。プロセッサ1410は、言語モデルストレージ1430に格納された言語モデルを学習させるためにエラーが含まれた学習データを用いることができる。
【0126】
図15は、一実施形態に係る淫書認識装置を示す図である。図3〜7、13、16及び17に関して説明された内容が図15にそのまま適用され得るため、これに対する詳しい説明は省略する。
【0127】
図15を参考すると、音声認識装置は、プロセッサ1510、メモリ1520、言語モデルストレージ1530、口/出力デバイス1550を含む。言語モデル学習装置によって学習されたニューラルネットワーク言語モデルが音声に含まれた単語を認識するために使用することができる。音声認識装置は、スマートフォンのようなモバイル端末に含まれて動作し得る。マイクロホン及び増幅器のような入力デバイスは音声データを取得するために用いてもよい。音声データは、プロセッサ1510によって処理され得る。プロセッサ1510は音声データを分割し、分割された音声データから特徴値を抽出した後、音声データは音素単位に変換することができる。その後、プロセッサ1510は、言語モデルストレージ1530に格納された予め学習された言語モデルを用いて、音素データに含まれた単語間の連結関係を推定する。プロセッサ1510は、当該の連結関係を分析して音声データに関する候補認識結果を生成する。プロセッサ1510は、第1言語モデル及び第2言語モデルの全てを用いて音声データに対する最終の認識結果を決定できる。
【0128】
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、及び/又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、または、命令(instruction)を実行して応答できる異なる装置のように、1つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現され得る。処理装置は、オペレーティングシステム(OS)及び前記オペレーティングシステム上で行われる1つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は1つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは1つのプロセッサ及び1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0129】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこのうちの1つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは1つ以上のコンピュータで読み出し可能な記録媒体に格納されてもよい。
【0130】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【0131】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【0132】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0133】
100、200:言語モデル学習装置
110、220:学習データ変換部
120、230:言語モデル学習部
210:制御部
510、750:特徴抽出部
520、760:アコースティックモデル
530、710:第1言語モデル
540、770:分析部
550、780:第2言語モデル
560、790:決定部
500、600、700:音声認識装置
610、730:音声データ変換部
620:音声データ認識部
720:単語入力部
740:ニューラルネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17