(57)【要約】【課題】  音響モデルをトレーニングする方法及びその装置を提供する。【解決手段】  一実施形態に係るトレーニング方法は、ウィンドウレベルの入力データを音響モデルに入力するステップと、音響モデルの出力に基づいてシーケンスレベルのエラーを算出するステップと、シーケンスレベルのエラーが分割されたウィンドウレベルのエラーを用いて音響モデルを更新するステップとを含む。【選択図】      図１
2018159917.tif 000002
【特許請求の範囲】
【請求項１】
音声シーケンスに基づいてウィンドウレベルの入力データを構成するステップと、
前記ウィンドウレベルの入力データを音響モデルに入力するステップと、
前記音響モデルの出力に基づいてシーケンスレベルのエラーを算出するステップと、
前記シーケンスレベルのエラーに基づいて前記ウィンドウレベルのエラーを取得するステップと、
前記ウィンドウレベルのエラーを用いて前記音響モデルを更新するステップと、
を含む、音響モデルトレーニング方法。
【請求項２】
前記ウィンドウレベルの入力データを構成するステップは、
前記音声シーケンスで予め決定されたサイズのウィンドウに対応する対象データ及び前記対象データ周辺のパディングデータを抽出するステップと、
前記対象データ及び前記パディングデータに基づいて前記ウィンドウレベルの入力データを構成するステップと、
を含む、請求項１に記載の音響モデルトレーニング方法。
【請求項３】
前記パディングデータは、前記音声シーケンスで前記対象データの以前時間に位置する第１パディングデータ、及び前記音声シーケンスで前記対象データの以後時間に位置する第２パディングデータのうち少なくとも１つを含む、請求項２に記載の音響モデルトレーニング方法。
【請求項４】
前記シーケンスレベルのエラーを算出するステップは、
前記音響モデルの出力に基づいて前記シーケンスレベルの音響スコアを取得するステップと、
前記シーケンスレベルの音響スコアと前記音声シーケンスに関する参照文章に基づいて前記シーケンスレベルのエラーを算出するステップと、
を含む、請求項１に記載の音響モデルトレーニング方法。
【請求項５】
前記シーケンスレベルの音響スコアを取得するステップは、
前記音響モデルの出力に基づいて前記ウィンドウレベルの音響スコアを取得するステップと、
前記音響スコアでパディングデータに対応する部分を除去して対象データに対応する音響スコアを取得するステップと、
前記対象データに対応する音響スコアを連結して前記シーケンスレベルの音響スコアを取得するステップと、
を含む、請求項４に記載の音響モデルトレーニング方法。
【請求項６】
前記参照文章は、前記音声シーケンスに関する正解文章及び前記音声シーケンスに関する誤答文章のうち少なくとも１つを含む、請求項４に記載の音響モデルトレーニング方法。
【請求項７】
前記音響モデルは、前記ウィンドウレベルのエラーが減少する方向に更新される、請求項１ないし６のうち何れか一項に記載の音響モデルトレーニング方法。
【請求項８】
前記音響モデルを更新するステップは、
前記ウィンドウレベルのエラー及びパディングデータに基づいて更新データを構成するステップと、
前記更新データを用いて前記音響モデルを更新するステップと、
を含む、請求項１に記載の音響モデルトレーニング方法。
【請求項９】
前記パディングデータは、０又は前記ウィンドウレベルのエラーに対応するウィンドウに隣接するウィンドウのエラーを含む、請求項８に記載の音響モデルトレーニング方法。
【請求項１０】
前記パディングデータのサイズは、前記入力データに含まれたパディングデータのサイズに対応する、請求項８に記載の音響モデルトレーニング方法。
【請求項１１】
前記音響モデルは循環ディープニューラルネットワークを含み、
前記循環ディープニューラルネットワークが広げられた（ｕｎｆｏｌｄｅｄ）長さは前記入力データの長さに対応する、請求項１ないし１０のうち何れか一項に記載の音響モデルトレーニング方法。
【請求項１２】
前記ウィンドウレベルのエラーを取得するステップは、前記シーケンスレベルのエラーを分割して前記ウィンドウレベルのエラーを取得するステップを含む、請求項１に記載の音響モデルトレーニング方法。
【請求項１３】
請求項１ないし請求項１２のいずれか一項に記載の音響モデルトレーニング方法を、音響モデルトレーニング装置のコンピュータに実行させるコンピュータプログラム。
【請求項１４】
少なくとも１つのプロセッサと、
前記プロセッサで読み出し可能な命令語を含むメモリと、
を含み、
前記命令語が前記プロセッサで実行されると、前記プロセッサは、音声シーケンスに基づいてウィンドウレベルの入力データを構成し、前記ウィンドウレベルの入力データを音響モデルに入力し、前記音響モデルの出力に基づいてシーケンスレベルのエラーを算出し、前記シーケンスレベルのエラーに基づいて前記ウィンドウレベルのエラーを取得し、前記ウィンドウレベルのエラーを用いて前記音響モデルを更新する、音響モデルトレーニング装置。
【請求項１５】
前記プロセッサは、前記音声シーケンスで予め決定されたサイズのウィンドウに対応する対象データ及び前記対象データ周辺のパディングデータを抽出し、前記対象データ及び前記パディングデータに基づいて前記ウィンドウレベルの入力データを構成する、請求項１４に記載の音響モデルトレーニング装置。
【請求項１６】
前記パディングデータは、前記音声シーケンスで前記対象データの以前時間に位置する第１パディングデータ及び前記音声シーケンスで前記対象データの以後時間に位置する第２パディングデータのうち少なくとも１つを含む、請求項１５に記載の音響モデルトレーニング装置。
【請求項１７】
前記プロセッサは、前記音響モデルの出力に基づいて前記シーケンスレベルの音響スコアを取得し、前記シーケンスレベルの音響スコアと前記音声シーケンスに関する参照文章に基づいて前記シーケンスレベルのエラーを算出する、請求項１４に記載の音響モデルトレーニング装置。
【請求項１８】
前記プロセッサは、前記音響モデルの出力に基づいて前記ウィンドウレベルの音響スコアを取得し、前記音響スコアでパディングデータに対応する部分を除去して対象データに対応する音響スコアを取得し、前記対象データに対応する音響スコアを連結して前記シーケンスレベルの音響スコアを取得する、請求項１７に記載の音響モデルトレーニング装置。
【請求項１９】
前記参照文章は、前記音声シーケンスに関する正解文章及び前記音声シーケンスに関する誤答文章のうち少なくとも１つを含む、請求項１７に記載の音響モデルトレーニング装置。
【請求項２０】
前記音響モデルは、前記ウィンドウレベルのエラーが減少する方向に更新される、請求項１４ないし１９のうち何れか一項に記載の音響モデルトレーニング装置。
【請求項２１】
前記プロセッサは、前記ウィンドウレベルのエラー及びパディングデータに基づいて更新データを構成し、前記更新データを用いて前記音響モデルを更新する、請求項１４に記載の音響モデルトレーニング装置。
【請求項２２】
前記パディングデータは、０又は前記ウィンドウレベルのエラーに対応するウィンドウに隣接するウィンドウのエラーを含む、請求項２１に記載の音響モデルトレーニング装置。
【請求項２３】
前記パディングデータのサイズは、前記入力データに含まれたパディングデータのサイズに対応する、請求項２１に記載の音響モデルトレーニング装置。
【請求項２４】
前記音響モデルは循環ディープニューラルネットワークを含み、
前記循環ディープニューラルネットワークが広げられた長さは、前記入力データの長さに対応する、請求項１４ないし２３のうち何れか一項に記載の音響モデルトレーニング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の実施形態は、音響モデルをトレーニングする方法及び装置等に関する。
【背景技術】
【０００２】
近年、入力パターンを特定グループに分類する問題を解決するために、人が有している効率的なパターン認識方法を実際のコンピュータに適用しようとする研究が盛んに行われている。このような研究の１つとして、人の生物学的な神経細胞の特性を数学的な表現によってモデリングした人工ニューラルネットワークに対する研究が行われている。入力パターンを特定グループに分類する問題を解決するために、人工ニューラルネットワークは、人が有している学習能力を模倣したアルゴリズムを用いる。このアルゴリズムを用いて人工ニューラルネットワークは、入力パターンと出力パターンとの間のマッピングを生成することができるので、人工ニューラルネットワークは学習能力があると言える。また、人工ニューラルネットワークは、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的に正しい出力を生成できる一般化能力を有している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、音響モデルをトレーニングする方法及びその装置を提供することにある。
【課題を解決するための手段】
【０００４】
一実施形態によると、音響モデルトレーニング方法は、音声シーケンスに基づいてウィンドウレベルの入力データを構成するステップと、前記ウィンドウレベルの入力データを音響モデルに入力するステップと、前記音響モデルの出力に基づいてシーケンスレベルのエラーを算出するステップと、前記シーケンスレベルのエラーに基づいて前記ウィンドウレベルのエラーを取得するステップと、前記ウィンドウレベルのエラーを用いて前記音響モデルを更新するステップとを含む。
【０００５】
前記ウィンドウレベルの入力データを構成するステップは、前記音声シーケンスで予め決定されたサイズのウィンドウに対応する対象データ及び前記対象データ周辺のパディングデータを抽出するステップと、前記対象データ及び前記パディングデータに基づいて前記ウィンドウレベルの入力データを構成するステップとを含み得る。前記パディングデータは、前記音声シーケンスで前記対象データの以前時間に位置する第１パディングデータ、及び前記音声シーケンスで前記対象データの以後時間に位置する第２パディングデータのうち少なくとも１つを含み得る。
【０００６】
前記シーケンスレベルのエラーを算出するステップは、前記音響モデルの出力に基づいて前記シーケンスレベルの音響スコアを取得するステップと、前記シーケンスレベルの音響スコアと前記音声シーケンスに関する参照文章に基づいて前記シーケンスレベルのエラーを算出するステップとを含み得る。
【０００７】
前記シーケンスレベルの音響スコアを取得するステップは、前記音響モデルの出力に基づいて前記ウィンドウレベルの音響スコアを取得するステップと、前記音響スコアでパディングデータに対応する部分を除去して対象データに対応する音響スコアを取得するステップと、前記対象データに対応する音響スコアを連結して前記シーケンスレベルの音響スコアを取得するステップとを含み得る。前記参照文章は、前記音声シーケンスに関する正解文章及び前記音声シーケンスに関する誤答文章のうち少なくとも１つを含み得る。
【０００８】
前記音響モデルは、前記ウィンドウレベルのエラーが減少する方向に更新され得る。前記音響モデルを更新するステップは、前記ウィンドウレベルのエラー及びパディングデータに基づいて更新データを構成するステップと、前記更新データを用いて前記音響モデルを更新するステップとを含み得る。前記パディングデータは、０又は前記ウィンドウレベルのエラーに対応するウィンドウに隣接するウィンドウのエラーを含み得る。
【０００９】
前記パディングデータのサイズは、前記入力データに含まれたパディングデータのサイズに対応し得る。前記音響モデルは循環ディープニューラルネットワークを含み、前記循環ディープニューラルネットワークが広げられた（ｕｎｆｏｌｄｅｄ）長さは前記入力データの長さに対応し得る。
【００１０】
前記ウィンドウレベルのエラーを取得するステップは、前記シーケンスレベルのエラーを分割して前記ウィンドウレベルのエラーを取得するステップを含み得る。
【００１１】
一実施形態によると、音響モデルトレーニング装置は、少なくとも１つのプロセッサと、前記プロセッサで読み出し可能な命令語を含むメモリとを含み、前記命令語が前記プロセッサで実行されると、前記プロセッサは、音声シーケンスに基づいてウィンドウレベルの入力データを構成し、前記ウィンドウレベルの入力データを音響モデルに入力し、前記音響モデルの出力に基づいてシーケンスレベルのエラーを算出し、前記シーケンスレベルのエラーに基づいて前記ウィンドウレベルのエラーを取得し、前記ウィンドウレベルのエラーを用いて前記音響モデルを更新する。
【発明の効果】
【００１２】
本発明によると、音響モデルをトレーニングする方法及びその装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係るトレーニング装置を示す図である。
【図２】一実施形態に係る循環モデルの概念を説明する図である。
【図３】一実施形態に係るＢＲＤＮＮの一部ノードを示す図である。
【図４】一実施形態に係るＢＲＤＮＮを示す図である。
【図５】一実施形態に係る入力データの構成過程及び音響スコアの出力過程を示す図である。
【図６】一実施形態に係るシーケンスレベルの音響スコアを示す図である。
【図７】一実施形態に係るシーケンスレベルのエラーを算出する過程を示す図である。
【図８】一実施形態に係る音響モデルの更新過程を示す図である。
【図９】一実施形態に係る認識装置を示すブロック図である。
【図１０】一実施形態に係るトレーニング装置を示すブロック図である。
【図１１】一実施形態に係るトレーニング方法を示した動作フローチャートである。
【発明を実施するための形態】
【００１４】
本明細書に開示されている本発明の概念による実施形態に対して特定の構造的又は機能的な説明は、単に本発明の概念による実施形態を説明するための目的として例示されたものであり、本発明の概念による実施形態は様々な形態で実施され、本明細書に説明された実施形態に限定されることはない。
【００１５】
第１又は第２などの用語を複数の構成要素を説明するために用いることができるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００１６】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００１７】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００１８】
以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。
【００１９】
図１は、一実施形態に係るトレーニング装置を示す図である。図１を参照すると、トレーニング装置１００は、音響モデル１１０をトレーニングさせ得る。音響モデル１１０は音声認識エンジンのためのものであり、音声認識エンジンは、音響モデル及びデコーダを含む。音響モデルは、入力された音声信号の各フレームがどのような発音に近いかに関する情報を提供する。デコーダは、音響モデルが提供する情報に基づいて、入力された音声がどのような単語に近いか、又はどのような文章に近いかを算出する。
【００２０】
音響モデル１１０は、ディープニューラルネットワーク（ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ：ＤＮＮ）によって実現され得る。この場合、トレーニング装置１００は、トレーニングデータに基づいて音響モデル１１０をトレーニングさせる。トレーニングデータは、トレーニング入力及びトレーニング出力を含む。トレーニング入力は、音響モデル１１０に入力される入力データであって、例えば、音声信号を含む。トレーニング出力は、トレーニング入力にマッピングされたデータであって、例えば、トレーニング入力が音響モデル１１０に入力されることにより音響モデル１１０から出力されなければならないラベル（ｌａｂｅｌ）であり得る。例えば、トレーニング入力が音声信号である場合、トレーニング出力は音声信号に対応する文章の発音確率であり得る。
【００２１】
トレーニング装置１００は、トレーニング入力からトレーニング出力が算出されるよう音響モデル１１０をトレーニングさせる。以下で音響モデル１１０をトレーニングさせることは、音響モデル１１０のパラメータをトレーニングさせること、音響モデル１１０を更新すること、又は音響モデル１１０のパラメータを更新することを含む。
【００２２】
実施形態によって、音響モデル１１０は、循環ディープニューラルネットワーク（ｒｅｃｕｒｒｅｎｔ  ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ：ＲＤＮＮ）、又は双方向循環ディープニューラルネットワーク（ｂｉｄｉｒｅｃｔｉｏｎａｌ  ｒｅｃｕｒｒｅｎｔ  ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ：ＢＲＤＮＮ）によって実現される。ＲＤＮＮ及びＢＲＤＮＮは、音声のように時間の流れに依存する連続的なデータを認識するために適切な構造を有する。例えば、ＲＤＮＮは、現在フレームを認識することにおいて以前フレームを考慮し、ＢＲＤＮＮは、現在フレームを認識することにおいて以前フレームと次のフレームを考慮する。ＲＤＮＮ及びＢＲＤＮＮに関する具体的な内容は後述することにする。
【００２３】
音響モデル１１０は、フレームレベル、又はシーケンスレベルでトレーニングされる。フレームレベルのトレーニングは各フレームに正解発音を与え、音響モデル１１０が正解発音に高いスコアを付与するよう音響モデル１１０はトレーニングされる。シーケンスレベルのトレーニングは、復号化の後の正解文章に高いスコアが付与され、誤答文章には低いスコアが付与されるよう音響モデルはトレーニングされる。
【００２４】
フレームレベルのトレーニング及びシーケンスレベルのトレーニングにおいて、音響モデル１１０がフレームごとに音響スコアを付与する点は同一であるが、音響モデル１１０が、フレームレベルのトレーニングではフレームごとの発音を重点的にトレーニングし、シーケンスレベルのトレーニングでは文章の正確度を重点的にトレーニングする点が異なる。音響モデル１１０は、シーケンスレベルにトレーニングされた後、続いてシーケンスレベルにトレーニングされる。
【００２５】
トレーニング装置１００は、音声シーケンス１３０を加工して入力データ１２０を構成し、入力データ１２０に基づいてシーケンスレベルのエラーを算出して音響モデル１１０をトレーニングさせ得る。音声シーケンス１３０は複数のフレームを含む。音声シーケンス１３０に含まれた複数のフレームは、音声信号から抽出された特徴ベクトルに対応する。例えば、トレーニング装置１００は、音声信号から特徴を抽出して音声シーケンス１３０を生成する。音声信号から抽出された特徴ベクトルは、音声シーケンス１３０のフレームに対応する。音声信号は、ユーザからマイクを用いて受信されたり、遠隔位置から受信されたり、又は格納サーバから収集される。音声信号は、格納量、送信媒体の速度などに基づいて全体信号が一回に受信されても良いし、又はフレームごとに受信されてもよい。
【００２６】
音声として提供される文章全体を考慮するＢＲＤＮＮの音響モデル１１０の場合、現在フレーム、以前フレーム、及び次のフレームを含んでいる全体フレームと共に考慮して音響スコアを算出する。しかし、文章全体を考慮して音響モデル１１０を学習させることは、ユーザの音声が入力される間に認識結果が出力されなければならないリアルタイム音声認識に適しないこともある。トレーニング過程及び認識過程がマッチングされないことによって認識性能が低下するからである。具体的に、トレーニング過程で文章全体として音響モデル１１０がトレーニングされ、認識過程で文章の一部のみけが音響モデル１１０に提供される場合、音響モデル１１０は文章の一部を正確に認識できない場合がある。以下で説明する実施形態は、入力データ１２０によって音響モデル１１０をトレーニングさせることで、音響モデル１２０のリアルタイム音声認識の性能を向上させ得る。
【００２７】
トレーニング装置１００は、音声シーケンス１３０で予め決定されたサイズのウィンドウに対応する対象データを抽出する。ウィンドウのサイズは、リアルタイム認識過程から入力される音声の長さに対応する。トレーニング装置１００は、対象データに基づいて入力データ１２０を構成する。以下で詳細に説明するが、トレーニング装置１００は、ウィンドウ単位で音響モデル１１０を学習させることで認識過程と実質的に同じ環境で音響モデル１１０が学習され得る。
【００２８】
ここで、ウィンドウ単位で音響モデル１１０を学習させる場合は、シーケンス単位で音響モデル１１０を学習させる場合に比べて学習に用いられる情報の量が減少する。トレーニング装置１００は、音声シーケンス１３０から対象データのみならず対象データ周辺のパディングデータを抽出し、対象データ及びパディングデータに基づいて入力データ１２０を構成する。この場合、音響モデル１１０は、パディングデータによって対象データ周辺の情報を把握できるため、音響モデル１１０に提供される情報量の減少が補完される。
【００２９】
入力データ１２０のサイズはウィンドウサイズに基づいて調整されるため、入力データ１２０はウィンドウレベルの入力データ１２０と称される。同様に、ウィンドウレベルの入力データ１２０に対応する音響モデル１１０の出力は、ウィンドウレベルの音響スコアと称される。以下で説明するが、ウィンドウレベルの音響スコアが併合されて音声シーケンス１３０に対応する長さを有する場合、シーケンスレベルの音響スコアと称される。また、シーケンスレベルの音響スコアに基づいて算出されたエラーはシーケンスレベルのエラーと称され、シーケンスレベルのエラーがウィンドウサイズに適するよう分割されたものはウィンドウレベルのエラーと称される。また、ウィンドウレベルは、フレームレベルと称される。
【００３０】
トレーニング装置１００は、入力データ１２０に対応して出力された音響スコアを併合してシーケンスレベルのトレーニングを行う。例えば、トレーニング装置１００は、ウィンドウレベルの入力データ１２０を音響モデル１１０に入力する。音響モデル１１０は、ウィンドウレベルの音響スコアを出力する。トレーニング装置１００は、音響モデル１１０から出力されたウィンドウレベルの音響スコアを併合してシーケンスレベルの音響スコアを取得する。トレーニング装置１００は、シーケンスレベルの音響スコアと音声シーケンス１３０のレベルとを比較してシーケンスレベルのエラーを算出する。トレーニング装置１００は、シーケンスレベルのエラーをウィンドウレベルのエラーに分割した後、ウィンドウレベルのエラーを用いて音響モデル１１０を更新する。
【００３１】
音響モデル１１０を更新するために用いられるウィンドウレベルのエラーは、シーケンスレベルで算出されたものであるため、トレーニング装置１００は、シーケンスレベルのトレーニングが有する長所を保持しながらも、リアルタイム音声認識に適するように音響モデル１１０をトレーニングさせることができる。
【００３２】
以下では、ＲＤＮＮ及びＢＲＤＮＮに関する実施形態を説明した後、トレーニング装置１００に関する実施形態を説明する。
【００３３】
図２は、一実施形態に係る循環モデルの概念を説明する図である。ＤＮＮはシナプスに連結される数多くの人工ニューロンを用いて生物学的なシステムの算出能力を模倣するソフトウェアやハードウェアで具現された認識モデルである。上述したように、実施形態に係る音響モデルは、循環モデル２００を含むＲＤＮＮ又はＢＲＤＮＮに実現され得る。
【００３４】
循環モデル２００は、回帰ループを有する。循環モデル２００の出力が循環モデル２００に再び入力されることで入力Ｘｔから新しい出力Ｏｔが出力される。例えば、循環モデル２００はノード２１０を含み、ノード２１０の出力がノード２１０に再び入力される。
【００３５】
以下でノード２１０に関する値を指示するパラメータは、状態パラメータであるとする。例えば、状態パラメータは、ノード２１０の出力値などを含む。状態パラメータは、ノードパラメータと言及されても良い。
【００３６】
例えば、循環モデル２００は、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）ニューラルネットワークで構成する。ＬＳＴＭニューラルネットワークで、ノード２１０は複数のゲートを含む。ＬＳＴＭニューラルネットワークで、ノード２１０の状態パラメータはノード２１０の出力値及びノード２１０のセル状態値などを含む。ノード２１０の出力値及びノード２１０のセル状態値などは、ノード２１０のゲートに基づいて制御される。ただし、ＬＳＴＭニューラルネットワークは１つの例示であり、循環モデル２００の構造を限定するためのものではない。
【００３７】
入力Ｘｔはｔ時点に循環モデル２００から入力されるフレームデータを示し、出力Ｏｔはｔ時点に循環モデル２００から出力されるフレームデータを示す。ｔ時点はタイムスタンプｔを示す。フレームデータは、シーケンスデータが一定の長さ（例えば、フレーム単位）でサンプリングされたデータを示す。フレーム単位は、設計に応じて相違に設定されてもよい。例えば、シーケンスデータは音声シーケンスに対応してもよく、フレームデータは音声シーケンスに含まれた各フレームに対応してもよい。
【００３８】
図３は、一実施形態に係るＢＲＤＮＮの一部ノードを示す図である。図３を参照すると、ＢＲＤＮＮ３００は、循環連結（ｒｅｃｕｒｒｅｎｔ  ｃｏｎｎｅｃｔｉｏｎ）がウィンドウの長さだけ広げられた（ｕｎｆｏｌｄｅｄ）形態に表現される。例えば、ＢＲＤＮＮ３００が広げられた長さは入力データの長さに対応する。ＲＤＮＮとＢＲＤＮＮの差はバックワードノード及びバックワードパスにあるため、以下でバックワードノード及びバックワードパスを除いた残りの内容はＲＤＮＮにも適用される。
【００３９】
ＢＲＤＮＮのノードは、フォワードノード３１１、３２１、３３１及びバックワードノード３１２、３２２、３３２に分類される。それぞれのフォワードノード３１１、３２１、３３１はいずれか１つのフレームに対応し、各バックワードノード３１２、３２２、３３２もいずれか１つのフレームに対応する。各フレームは、１つのフォワードノード及び１つのバックワードノードに対応する。例えば、ｔ番目のフレームは、第１フォワードノード３１１及び第１バックワードノード３１２に対応し、ｔ＋１番目のフレームは第２フォワードノード３２１及び第２バックワードノード３２２に対応する。ただし、これに限定されることなく、１つのフレームに複数のフォワードノード及び複数のバックワードノードが対応してもよい。
【００４０】
フォワードノード３１１、３２１、３３１は、フォワードパス３９１を形成している循環接続によって他のフォワードノードに接続される。バックワードノード３１２、３２２、３３２は、バックワードパス３９２を形成している循環接続によって他のバックワードノードに接続される。例えば、フォワードパス３９１は、次のフレームのフォワードノードに状態パラメータを数式に基づいてアップデートして伝達する接続を示し、バックワードパス３９２は、以前フレームのバックワードノードに状態パラメータを数式に基づいてアップデートして伝達する接続を示す。フォワードノードのアップデート経路及びバックワードノードのアップデート経路は互いに独立的に分離され得る。
【００４１】
図３に示す実施形態は、ウィンドウの長さが３つのフレームである場合を示す。トレーニング装置は、ｔ時点のフレームデータＸｔをｔ時点のフレームに対応する第１フォワードノード３１１及び第１バックワードノード３１２に入力する。トレーニング装置は、ｔ時点に対応するフレームの第１フォワードノード３１１からｔ＋１時点に対応するフレームの第２フォワードノード３２１にｔ時点における状態パラメータをフォワードパス３９１を介して伝播（ｐｒｏｐａｇａｔｅ）する。また、トレーニング装置は、ｔ＋１時点に対応するフレームの第２バックワードノード３２２からｔ時点に対応するフレームの第１バックワードノード３１２にｔ＋１時点における状態パラメータをバックワードパス３９２を介して伝播する。トレーニング装置は、フォワードパス３９１及びバックワードパス３９２を介してアップデートされたノード（例えば、第１フォワードノード３１１、第１バックワードノード３１２）の状態パラメータを用いてｔ番目のフレームに対応する出力Ｏｔを入力Ｘｔから算出する。
【００４２】
図３では、ウィンドウ長を３つのフレームにして説明し、明確な説明のためにＢＲＤＮＮの要素のうち一部のノードのみを示しているが、これに限定されることはない。
【００４３】
図４は、一実施形態に係るＢＲＤＮＮを示す図である。ＢＲＤＮＮ４００は、入力レイヤ、隠しレイヤ、及び出力レイヤを含む。隠しレイヤは、複数のノードを隠しノードとして含む。ＢＲＤＮＮ４００がＬＳＴＭニューラルネットワークである場合、ＢＲＤＮＮ４００のノードそれぞれはメモリセルユニットを含み、メモリセルユニットは少なくとも１つの時間ゲートを含む。
【００４４】
入力レイヤは、トレーニング又は認識を行うための入力データを受信して隠しレイヤに伝達し、出力レイヤは、隠しレイヤのノードから受信した信号に基づいて音響スコアを出力する。隠しレイヤは、入力レイヤと出力レイヤとの間に位置し、入力レイヤを介して伝達されたトレーニングデータ又は認識の対象となるデータを予測しやすい値に変化させ得る。
【００４５】
入力レイヤと隠しレイヤに含まれたノードは、接続加重値を有するシナプスによって接続され、隠しレイヤと出力レイヤに含まれたノードでも接続加重値を有するシナプスによって接続され得る。入力レイヤ、隠しレイヤ、及び出力レイヤは複数のノードを含む。
【００４６】
図４における各入力レイヤ及び出力レイヤは１つのノードを含み、各隠しレイヤは２つのノードを含むものと示しているが、これは説明の便宜のために簡略化したものであり、設計に応じて各レイヤに含まれるノード及びノードの個数は変更され得る。
【００４７】
ニューラルネットワークは複数の隠しレイヤを含む。複数の隠しレイヤを含むニューラルネットワークはＤＮＮと称され、ＤＮＮを学習させることをディープランニングと称する。隠しレイヤに含まれたノードは隠しノードと称される。以前時間区間における隠しノードの状態パラメータ（例えば、出力値）は、現在時間区間（例えば、現在フレーム）における隠しノードに接続される。そして、現在時間区間における隠しノードの状態パラメータは、次の時間区間における隠しノードに接続される。
【００４８】
このように、互いに異なる時間区間で隠しノード間に循環的な接続のあるニューラルネットワークは、循環ニューラルネットワークと称される。また、複数の隠しレイヤを含んでいる循環ニューラルネットワークはＲＤＮＮと称され、ＲＤＮＮに双方向の循環的な接続があれば、ＢＲＤＮＮと称される。ＢＲＤＮＮ４００でフォワードノードはフォワードノードに対して、そして、バックワードノードはバックワードノードに対して循環的な接続を生成する。
【００４９】
図４は、ウィンドウ長が３つのフレームである場合のＢＲＤＮＮ４００を広げた状態を表現したものである。入力データの最初フレーム４１０、中間フレーム４２０、及び最後フレーム４３０に対してＢＲＤＮＮ４００が入力レイヤ４１１、４２１、４３１、隠しレイヤ４１２、４２２、４３２、及び出力レイヤ４１３、４２３、４３３を含むものと簡略に示したが、これに限定されることはない。例えば、ＢＲＤＮＮ４００は、入力データそれぞれのフレームに対して複数の隠しレイヤを含んでもよい。
【００５０】
ＢＲＤＮＮ４００の各レイヤは（例えば、レイヤ間の遅延がない）現在時間に対応するタイムスタンプｔを受信する。タイムスタンプｔは位相信号に当該する。位相信号は、同じ時点に対してアップデートされる全てのレイヤに印加される。
【００５１】
例えば、ｔ時点に対してアップデートされるレイヤは、最初フレーム４１０では入力レイヤ４１１、隠しレイヤ４１２、及び出力レイヤ４１３である。ｔ＋１時点に対してアップデートされるレイヤは、中間フレーム４２０では入力レイヤ４２１、隠しレイヤ４２２、及び出力レイヤ４２３である。ｔ＋２時点に対してアップデートされるレイヤは、最後フレーム４３０では入力レイヤ４３１、隠しレイヤ４３２、及び出力レイヤ４３３である。
【００５２】
ＢＲＤＮＮ４００に対する入力データは、連続的な音声信号からサンプリングされる。ＢＲＤＮＮ４００に対する入力データは、均一かつ同期的にサンプリングされてもよく、不均一かつ非同期的にサンプリングされてもよい。
【００５３】
ＢＲＤＮＮ４００の各フレームに対応する隠しレイヤは、次のフレームの同じレベルの隠しレイヤに対してフォワードパス４９１を形成する。例えば、循環ニューラルネットワークでウィンドウ２００内の最初フレームに対応する隠しレイヤ４１２のｉ番目のフォワードノードは、次のフレームに対応する隠しレイヤ４２２のｉ番目のフォワードノードに対してフォワードパス４９１を形成する。ここで、ｉは１以上の整数である。
【００５４】
また、ＢＲＤＮＮ４００の各フレームの隠しレイヤは、以前フレームの同じレベルの隠しレイヤに対してバックワードパス４９２を形成する。例えば、ＢＲＤＮＮ４００で、中間フレームに対応する隠しレイヤ４２２のｊ番目のバックワードノードは、以前フレームに対応する隠しレイヤ４１２のｊ番目のバックワードノードに対してバックワードパス４９２を形成する。ここで、ｊは１以上の整数である。ここで、ノードは、フォワードパス４９１を介してのみ接続されるフォワードノード及びバックワードパス４９２を介してのみ接続されるバックワードノードに分類される。
【００５５】
図５は、一実施形態に係る入力データの構成過程及び音響スコアの出力過程を示す図である。図５を参照すると、トレーニング装置は、音声信号５１０を音声シーケンス５２０に変換し、音声シーケンス５２０に基づいてウィンドウレベルの入力データ５３０を構成する。
【００５６】
音声シーケンス５２０は、Ｎ個のフレームを含む。音声シーケンス５２０は、Ｗ個のフレームを含む重ならない連続したウィンドウに分割される。例えば、最初のウィンドウは最初のフレームからＷ番目のフレームまでを含んでもよい。２番目のウィンドウはＷ＋１番目のフレームから２Ｗ番目のフレームまでを含んでもよい。したがって、ｉ番目のウィンドウは（（ｉ−１）＊Ｗ＋１）番目のフレームから（（ｉ−１）＊Ｗ＋Ｗ）番目のフレームまでを含む。例えば、図５に示す実施形態でＷは４である。
【００５７】
音響モデル５４０は、特定フレームの音響スコアを算出するとき特定のフレーム周辺のフレームを考慮する。ウィンドウの終了に近接するフレームの場合、左側又は右側にフレームが足りないため、当該のウィンドウに関する音響スコアが不正確に算出されることがある。ウィンドウの終了に近接するフレームに関する音響スコアの正確度は、パッディングフレームによって向上できる。
【００５８】
トレーニング装置は、対象データ及びパディングデータでウィンドウレベルの入力データ５３０を構成する。対象データはウィンドウに含まれたフレームを意味し、パディングデータは対象データの周辺に追加されたフレームを意味する。パディングデータは、音声シーケンス５２０で対象データの以前時間に位置する第１パディングデータ、音声シーケンス５２０で対象データの以後時間に位置する第２パディングデータ、又は、これらの組合せを含む。例えば、ウィンドウレベルの入力データ５３５は、第１パディングデータ５３６、対象データ５３７及び第２パディングデータ５３８を含む。便宜上、第１パディングデータ５３６は左側パディングデータと称され、第２パディングデータ５３７は右側パディングデータと称される。
【００５９】
左側パディングデータに含まれたフレームの数をＬＰ、右側パディングデータに含まれたフレームの数をＲＰであると定義する。この場合、ウィンドウレベルの入力データ５３０は、ＬＰ＋Ｗ＋ＲＰのサイズを有する。最初の入力データでＬＰは０であってもよく、最後の入力データでＲＰは０からＷの間の値を有する。必要に応じて、ＬＰとＲＰは入力データごとに調整される。例えば、ユーザに認識結果を迅速に提供するため、最初の入力データのＬＰは、その他の入力データのＬＰに比べて小さく調整される。
【００６０】
トレーニング装置は、ウィンドウレベルの入力データ５３０を音響モデル５４０に入力する。音響モデル５４０は、ウィンドウレベルの入力データ５３０の入力に反応して音響スコアを出力する。例えば、音響モデル５４０は、ウィンドウレベルの入力データ５３５の入力によって音響スコア５５０を出力する。音響モデル５４０には、ウィンドウレベルの入力データ５３０に含まれたフレームが時間順に応じて順次入力され、音響モデル５４０は、入力されたフレームに対応する音響スコア５５０を出力する。例えば、音響スコア５５０の列ｉはウィンドウレベルの入力データ５３５に含まれたフレームの数に対応する。音響スコア５５０の行ｊは発音ごとのスコアを示す。例えば、音響スコア５５０の行ｊは「ａ」に該当するスコア、「ｅ」に該当するスコア、「ｉ」に該当するスコア、「ｏ」に該当するスコア、及び「ｕ」に該当するスコアを示す。
【００６１】
音響スコア５５０に含まれる発音は、様々な基準により決定され得る。例えば、発音は音素に基づいて決定されても良いし、トライフォン（ｔｒｉｐｈｏｎｅ）に基づいて決定される。トライフォンは、基準音素の前で基準音素の発音に影響を与える要素、及び基準音素の後で基準音素の発音に影響を与える要素に基づいて決定される。例えば、発音の種類が４８個である場合、トライフォンは（４８ｘ３）３個あってもよい。
【００６２】
音響モデル５４０で入力ノードの数は、フレームを示すベクトルの要素の数に対応し、出力ノードの数は、音響スコア５５０に含まれる発音の数に対応する。発音の数が極めて多い場合、音響モデル５４０の処理が遅延され得る。したがって、発音の数は適切に調整され得る。例えば、発音がトライフォンに基づいて決定される場合、トライフォンに属する発音のうち代表発音を抽出する。一例として、代表発音は約６０００個に決定されてもよい。この場合、音響スコア５５０の行ｊは６０００個であり得る。
【００６３】
図６は、一実施形態に係るシーケンスレベルの音響スコアを示す図である。図６を参照すると、トレーニング装置は、ウィンドウレベルの入力データ６１０を音響モデル６２０に入力し、音響モデル６２０の出力に基づいてウィンドウレベルの音響スコア６３０を取得する。音響モデル６２０は、ウィンドウレベルの入力データ６１０に基づいてウィンドウレベルの音響スコア６３０を順次出力する。例えば、音響シーケンスがＮ個のフレームを含み、ウィンドウがＷ個のフレームを含む場合、Ｎ／Ｗ個の入力データに関する音響スコアが出力される。また、上述したように、各ウィンドウには、パディングデータに対応するフレームがさらに含まれてもよい。この場合、音響モデル６２０は、パディングデータに対応するフレームに関する音響スコアも共に出力する。
【００６４】
トレーニング装置は、ウィンドウレベルの音響スコア６３０からパディングデータに対応する部分を除去して対象データに対応する音響スコアを取得し、対象データに対応する音響スコアを連結してシーケンスレベルの音響スコア６４０を取得する。パディングデータは、音響スコアを算出する過程でウィンドウの開始又は終了に近接するフレームに関する音響スコアの正確度を高めるために追加されたものであるため、音響スコア６４０を構成する過程から除去される。トレーニング装置は、シーケンスレベルの音響スコア６４０に基づいてシーケンスレベルのエラーを算出する。
【００６５】
図７は、一実施形態に係るシーケンスレベルのエラーを算出する過程を示す図である。図７を参照すると、トレーニング装置は、シーケンスレベルの音響スコアと音声シーケンスに関する参照文章に基づいてシーケンスレベルのエラー７４０を算出する。トレーニング装置は、言語モデル及びデコーダを用いてシーケンスレベルの音響スコアに対応するスコア７１０及び参照文章の発音確率に対応するスコア７２０、７３０を取得する。トレーニング装置は、スコア７１０及びスコア７２０を比較し、スコア７１０とスコア７３０とを比較して、シーケンスレベルのエラー７４０を算出する。言語モデルは、特定の単語や特定の文章がどれ程頻繁に使用されるかに関する情報を提供する。デコーダは、音響モデルが提供する情報と言語モデルが提供する情報に基づいて、入力された音声がどのような単語に近いか、又はどのような文章に近いかを算出する。スコア７１０、７２０、７３０は、このようなデコーダ及び言語モデルに基づいた特定の音声シーケンスの認識確率を示す。
【００６６】
参照文章は、音声シーケンスに関する正解文章及び音声シーケンスに関する誤答文章のうち少なくとも１つを含む。例えば、図７には、正解文章に関する発音確率に対応するスコア７２０、誤答文章に関する発音確率に対応するスコア７３０が図示されている。誤答文章に関する発音確率に対応するスコア７３０は、第１誤答文章に関する発音確率に対応するスコア７３１、第２誤答文章に関する発音確率に対応するスコア７３２、及び第３誤答文章に関する発音確率に対応するスコア７３３を含む。トレーニング装置は、デコーダ及び言語モデルを用いてスコア７２０、７３０を取得する。
【００６７】
誤答文章は、予め決定された数だけ存在する。誤答文章は、予め決定された基準により選択されてもよい。例えば、誤答文章は、正解文章に近接する文章に選択され得る。トレーニング装置は、正解文章を除いた文章のうちデコーダによって高いスコアが付与された文章を抽出し、抽出された文章から誤答文章を選定する。トレーニング装置は、抽出された文章からスコアの高い順に予め決定された数だけ誤答文章を決定する。
【００６８】
スコア７１０とスコア７２０、又はスコア７１０とスコア７３０は、成分ごとに比較される。例えば、スコア７１０の［ｍｎ］に含まれた成分はスコア７２０の［ｍｎ］に含まれた成分と比較される。ここで、［ｍｎ］は、ｍ行ｎ列を意味する。トレーニング装置は、スコア７１０とスコア７２０を成分ごとに比較してシーケンスレベルのエラー７４０を算出する。また、トレーニング装置は、スコア７１０とスコア７２０の差が大きいほど、シーケンスレベルのエラー７４０を大きく決定する。また、トレーニング装置は、スコア７１０とスコア７３０の差が小さいほど、シーケンスレベルのエラー７４０を大きく決定する。
【００６９】
図８は、一実施形態に係る音響モデルの更新過程を示す図である。図８を参照すると、トレーニング装置は、シーケンスレベルのエラー８１０を分割してウィンドウレベルのエラー８２０を取得し、ウィンドウレベルのエラー８２０を用いて音響モデル８４０を更新する。トレーニング装置は、ウィンドウレベルのエラー８２０が減少する方向に音響モデル８４０を更新する。
【００７０】
シーケンスレベルのエラー８１０がＮ個のフレームから構成された音声シーケンスに対応するとき、これをＷ個のフレームを含んでいる重ならない連続したウィンドウに分割してウィンドウレベルのエラー８２０を取得する。この場合、最初のウィンドウは最初のフレームに対するエラーからＷ番目のフレームに対するエラーまで含み、２番目のウィンドウはＷ＋１番目のフレームに対するエラーから２Ｗ番目のフレームに対するエラーまで含む。したがって、ｉ番目のウィンドウは（（ｉ−１）＊Ｗ＋１）番目のフレームに対するエラーから（（ｉ−１）＊Ｗ＋Ｗ）番目のフレームに対するエラーまで含む。
【００７１】
音響モデル８４０は、音響スコアの算出過程で入力された入力データに応じて広げられるため、当該の入力データのサイズに適するデータに更新される必要がある。したがって、トレーニング装置は、ウィンドウレベルのエラー８２０及びパディングデータに基づいて更新データ８３０を構成し、更新データ８３０を用いて音響モデル８４０を更新する。ここで、パディングデータは、０又はウィンドウレベルのエラー８２０に対応するウィンドウに隣接するウィンドウのエラーを含む。例えば、パディングデータ８３５は、０に満たされ、又は、隣接ウィンドウのエラー８２５に満たされる。更新データ８３０に含まれたパディングデータのサイズは、上述した入力データに含まれたパディングデータのサイズに対応する。
【００７２】
音響モデル８４０は、更新データ８３０によって順次更新される。前述の例示において、音響モデル８４０は合わせてＮ／Ｗ番目に更新される。
【００７３】
一実施形態によると、トレーニング装置は、エラー逆伝播学習によって音響モデル８４０をトレーニングさせることができる。例えば、トレーニング装置は、音響モデル８４０の接続加重値、ノードの状態パラメータなどを更新する。トレーニング装置は、監督学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）によって音響モデル８４０を学習させ得る。監督学習とは、トレーニング入力とそれに対応するトレーニング出力を音響モデル８４０に入力し、トレーニング入力に対応するトレーニング出力が出力されるよう音響モデル８４０のパラメータを調整する方法である。
【００７４】
エラー逆伝播学習は、与えられたトレーニングデータに対して前方算出によりエラーを推定した後、出力レイヤから開始して隠しレイヤ及び入力レイヤでの逆方向に推定したエラーを伝播し、エラーを減少させる方向に接続加重値を調整する方法である。音響モデル８４０の認識のための処理は、入力レイヤ、隠しレイヤ、出力レイヤの順に行われるが、エラー逆伝播学習でパラメータのアップデート方向は、出力レイヤ、隠しレイヤ、入力レイヤの順に行われる。
【００７５】
音響モデル８４０は、リアルタイム認識過程にマッチングされるよう、ウィンドウレベルの入力データに基づいてトレーニングされ、リアルタイム音声認識において高い性能を示す。また、音響モデル８４０は、シーケンスレベルのエラー８１０に基づいてトレーニングされるため、単語や文章に対して強靭な性能を発揮する。
【００７６】
図９は、一実施形態に係る認識装置を示すブロック図である。図９を参照すると、認識装置９００は、プロセッサ９１０及びメモリ９２０を含む。メモリ９２０は、音響モデル９２５を含む。プロセッサ９１０は、メモリ９２０から音響モデル９２５を取得する。音響モデル９２５は、前記したトレーニング過程により予めトレーニングされてもよい。プロセッサ９１０は、音声信号の入力を受け、音声信号をサンプリングして音声シーケンスを生成する。プロセッサ９１０は、音声シーケンスをウィンドウレベルに分割して音響モデル９２５に提供する。メモリ９２０は、デコーダ９３５をさらに含む。デコーダ９３５は、音響モデル９２５の出力に基づいて認識結果を出力する。
【００７７】
図１０は、一実施形態に係るトレーニング装置を示すブロック図である。図１０を参照すると、トレーニング装置１０００は、プロセッサ１０１０及びメモリ１０２０を含む。メモリ１０２０は、音響モデル１０２１を含む。プロセッサ１０１０は、メモリ１０２０から音響モデル１０２１を取得する。メモリ１０２０は、コンピュータで読み出し可能な命令語を含む。メモリ１０２０に格納された命令語がプロセッサ１０１０で実行されると、プロセッサ１０１０は、音声シーケンスに基づいてウィンドウレベルの入力データを構成し、ウィンドウレベルの入力データを音響モデル１０２１に入力し、音響モデル１０２１の出力に基づいてシーケンスレベルのエラーを算出し、シーケンスレベルのエラーを分割してウィンドウレベルのエラーを取得し、ウィンドウレベルのエラーを用いて音響モデル１０２１を更新する。メモリ１０２０は、トレーニング過程の間に順次アップデートされる音響モデル１０２１及びトレーニングデータ１００１を格納する。その他に、トレーニング装置には、前記した事項が適用されてもよく、より詳細な説明は省略する。
【００７８】
図１１は、一実施形態に係るトレーニング方法を示した動作フローチャートである。図１１を参照すると、ステップＳ１１１０において、トレーニング装置は、音声シーケンスに基づいてウィンドウレベルの入力データを構成する。ステップＳ１１２０において、トレーニング装置は、ウィンドウレベルの入力データを音響モデルに入力する。ステップＳ１１３０において、トレーニング装置は、音響モデルの出力に基づいてシーケンスレベルのエラーを算出する。ステップＳ１１４０において、トレーニング装置は、シーケンスレベルのエラーを分割してウィンドウレベルのエラーを取得する。ステップＳ１１５０において、トレーニング装置は、ウィンドウレベルのエラーを用いて音響モデルを更新する。その他に、トレーニング方法には、前記した事項が適用することができ、より詳細な説明は省略する。
【００７９】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【００８０】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【００８１】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【００８２】
上述したように実施形態をたとえ限定された図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられ、或いは、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。
【図１】
2018159917.tif 000003
【図２】
2018159917.tif 000004
【図３】
2018159917.tif 000005
【図４】
2018159917.tif 000006
【図５】
2018159917.tif 000007
【図６】
2018159917.tif 000008
【図７】
2018159917.tif 000009
【図８】
2018159917.tif 000010
【図９】
2018159917.tif 000011
【図１０】
2018159917.tif 000012
【図１１】
2018159917.tif 000013