(57)【要約】      （修正有）【課題】応答推論方法及び装置を提供する。【解決手段】応答推論装置は、入力を取得し、入力を符号化して潜在変数を生成し、エンコーダとデコーダの学習により潜在変数を表現する潜在変数領域空間を複数の応答に対応する領域に分割し、潜在変数に対応する潜在変数領域空間内に分割された領域のいずれか１つの領域に属する潜在変数ベクトルを生成し、潜在変数ベクトルを復号化して潜在変数ベクトルの領域に対応する出力応答を生成する。【選択図】図１
2020027609.tif 000002
【特許請求の範囲】
【請求項１】
入力を取得するステップと、
前記入力を符号化し、領域に分割された潜在変数領域空間内の潜在変数ベクトルを生成するステップと、
前記潜在変数ベクトルを復号化し、前記領域のうち前記潜在変数ベクトルの領域に対応する出力応答を生成するステップと、
を含む応答推論方法。
【請求項２】
前記潜在変数ベクトルは、前記入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルである、請求項１に記載の応答推論方法。
【請求項３】
前記領域は複数の応答に対応する、請求項１に記載の応答推論方法。
【請求項４】
前記潜在変数領域空間は、前記複数の応答に対応するコントロール入力によって分割されており、
前記コントロール入力のうちコントロール入力は、前記潜在変数領域空間の前記領域内の前記潜在変数ベクトルを生成する情報を含む、請求項３に記載の応答推論方法。
【請求項５】
前記潜在変数ベクトルを生成するステップは、
前記入力を符号化して潜在変数を生成するステップと、
前記潜在変数に対応する潜在変数領域空間内に分割された前記領域のいずれか１つの領域に属する前記潜在変数ベクトルを生成するステップと、
を含む、請求項１に記載の応答推論方法。
【請求項６】
前記いずれか１つの領域に属する潜在変数ベクトルを生成するステップは、
前記潜在変数領域空間を表現する確率分布に基づいて複数のベクトルをサンプリングするステップと、
前記サンプリングされたベクトルに基づいて前記潜在変数ベクトルを生成するステップと、
を含む、請求項５に記載の応答推論方法。
【請求項７】
前記いずれか１つの領域に属する潜在変数ベクトルを生成するステップは、
前記潜在変数領域空間内の前記領域に対応するコントロール入力のいずれか１つを選択するステップと、
前記確率分布に基づいて、前記選択されたコントロール入力に対応する前記領域に属する前記潜在変数ベクトルを生成するステップと、
を含む、請求項６に記載の応答推論方法。
【請求項８】
前記いずれか１つの領域に属する潜在変数ベクトルを生成するステップは、
前記潜在変数領域空間を表現する確率分布に基づいて複数のベクトルをサンプリングするステップと、
前記潜在変数領域空間の前記領域内の前記潜在変数ベクトルを生成する情報を含むコントロール入力を、ランダム化して埋め込みコントロール入力を生成するステップと、
前記埋め込みコントロール入力を前記サンプリングされたベクトルにそれぞれ適用するステップと、
前記埋め込みコントロール入力が適用された前記サンプリングされたベクトルを加重和して前記潜在変数ベクトルを生成するステップと、
を含む、請求項５に記載の応答推論方法。
【請求項９】
前記コントロール入力は、前記潜在変数ベクトルの次元と同じ次元を有するベクトルを含む、請求項８に記載の応答推論方法。
【請求項１０】
前記入力は日常チャット内で特定応答を意図しないユーザ発話であり、
前記複数の応答は、前記ユーザ発話に対応する互いに異なる応答である、請求項３に記載の応答推論方法。
【請求項１１】
前記潜在変数ベクトルを生成するステップは、
エンコーダを用いて前記入力を符号化するステップを含み、
前記エンコーダのニューラルネットワークは、前記入力に対応する入力レイヤと潜在変数をモデリングする確率分布の平均及び分散に対応する出力レイヤを含む、請求項１に記載の応答推論方法。
【請求項１２】
前記出力応答を生成するステップは、デコーダを用いて前記潜在変数ベクトルを復号化するステップを含み、
前記デコーダのニューラルネットワークは、前記潜在変数ベクトルに対応する入力レイヤと前記出力応答に対応する出力レイヤを含む、請求項１に記載の応答推論方法。
【請求項１３】
ハードウェアと結合して請求項１ないし請求項１２のいずれか一項に記載の方法を実行させるために記録媒体に格納されたコンピュータプログラム。
【請求項１４】
トレーニング入力を取得するステップと、
前記トレーニング入力に対応するトレーニング応答のうちトレーニング応答を取得するステップと、
前記トレーニング応答に対応するコントロール入力のうち、前記トレーニング応答に対応するコントロール入力をそれぞれ取得するステップと、
エンコーダに前記トレーニング入力を印加し、潜在変数を生成するステップと、
前記潜在変数に対応する潜在変数領域空間内で前記コントロール入力に対応する領域のトレーニング潜在変数ベクトルを生成するステップと、
学習させようとするデコーダに前記トレーニング潜在変数ベクトルを印加し、出力応答を生成するステップと、
前記出力応答及び前記トレーニング応答に基づいて、前記エンコーダ及び前記デコーダのニューラルネットワークを学習するステップと、
を含む、応答推論のための学習方法。
【請求項１５】
前記トレーニング潜在変数ベクトルは、前記トレーニング入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルであり、
前記コントロール入力は、前記潜在変数領域空間の領域内潜在変数ベクトルの生成を誘導する情報である、請求項１４に記載の応答推論のための学習方法。
【請求項１６】
前記潜在変数領域空間は、前記コントロール入力に対応する領域に分割される、請求項１４に記載の応答推論のための学習方法。
【請求項１７】
前記トレーニング潜在変数ベクトルを生成するステップは、
前記潜在変数領域空間を表現する確率分布に基づいてベクトルをサンプリングするステップと、
前記コントロール入力をランダム化して埋め込みコントロール入力を生成するステップと、
前記埋め込みコントロール入力を前記サンプリングされたベクトルにそれぞれ適用するステップと、
前記埋め込みコントロール入力が適用された前記サンプリングされたベクトルを加重和してトレーニング潜在変数ベクトルを生成するステップと、
を含む、請求項１４に記載の応答推論のための学習方法。
【請求項１８】
損失関数の値は、前記トレーニング応答と前記出力応答との間の差を含む、請求項１４に記載の応答推論のための学習方法。
【請求項１９】
ハードウェアと結合して請求項１４ないし請求項１８のいずれか一項に記載の方法を実行させるために記録媒体に格納されたコンピュータプログラム。
【請求項２０】
入力を取得し、
前記入力を符号化し、複数の応答に対応する領域に分割された潜在変数領域空間内の潜在変数ベクトルを生成し、
前記潜在変数ベクトルを復号化し、前記領域のうち前記潜在変数ベクトルの領域に対応する出力応答を生成するプロセッサ、
を含む、応答推論装置。
【請求項２１】
前記潜在変数ベクトルは、前記入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルである、請求項２０に記載の応答推論装置。
【請求項２２】
前記潜在変数領域空間は、前記複数の応答に対応するコントロール入力によって分割されており、
前記コントロール入力のうちコントロール入力は前記潜在変数領域空間の前記領域内の前記潜在変数ベクトルを生成する情報を含む、請求項２０に記載の応答推論装置。
【請求項２３】
前記プロセッサは、
前記入力を符号化して潜在変数を生成し、
前記潜在変数に対応する潜在変数領域空間の前記領域のいずれか１つの領域に属する前記潜在変数ベクトルを生成する、請求項２０に記載の応答推論装置。
【請求項２４】
前記プロセッサは、
前記潜在変数領域空間を表現する確率分布に基づいてベクトルをサンプリングし、
前記潜在変数領域空間の領域内の前記潜在変数ベクトルを生成する情報を含むコントロール入力をランダム化して埋め込みコントロール入力を生成し、
前記埋め込みコントロール入力を前記サンプリングされたベクトルにそれぞれ適用し、
前記埋め込みコントロール入力が適用された前記サンプリングされたベクトルを加重和して前記潜在変数ベクトルを生成する、請求項２３に記載の応答推論装置。
【請求項２５】
電子装置において、
ユーザから入力を受信するセンサと、
応答に対応する領域に分割された潜在変数領域空間を格納するメモリと、
前記潜在変数領域空間内の潜在変数ベクトルを生成する前記入力を符号化し、前記領域のうち領域に対応する応答を生成する前記潜在変数ベクトルを復号化し、ユーザインターフェースを介して前記応答を出力するプロセッサと、
を含む、電子装置。
【請求項２６】
前記プロセッサは、
潜在変数を生成する入力を符号化し、
前記潜在変数領域空間をコントロール入力に対応する前記領域に分割し、
前記コントロール入力のうち前記潜在変数に対応するコントロール入力を選択し、
前記コントロール入力に対応する前記潜在変数領域空間の前記領域から前記潜在変数ベクトルを生成する、請求項２５に記載の電子装置。
【請求項２７】
前記コントロール入力は、前記領域のいずれか１つにランダムに対応する、請求項２６に記載の電子装置。
【請求項２８】
前記コントロール入力は、キーワード、前記ユーザの感情、前記ユーザの態度、及び前記ユーザの指向のうち少なくとも１つに対応する、請求項２６に記載の電子装置。
【請求項２９】
前記プロセッサは、
前記入力を受信する入力レイヤ、及び前記潜在変数をモデリングする確率分布の平均及び分散に対応する出力レイヤを含む第１ニューラルネットワークを実現するエンコーダと、
前記潜在変数ベクトルを受信する入力レイヤ、及び前記応答に対応する出力レイヤを含む第２ニューラルネットワークを実現するデコーダと、
を含む、請求項２６に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、応答を推論する技術に関する。
【背景技術】
【０００２】
チャットモデルは、目的指向チャットモデルと日常チャットモデルを含む。目的指向チャットモデルは、明確な目的を有する発話から該当発話に答える単一の応答を生成する。日常チャットモデルは、日常的なあいさつ及び感情表現などの特定の目的を有しない発話から様々な応答を生成できる。
【０００３】
ユーザ発話から応答を生成するモデルは、規則基盤チャットモデル、探索基盤チャットモデル、及び生成基盤チャットモデルを含む。規則基盤チャットモデルは、予め構成されたテンプレートを用いる。探索基盤チャットモデルは、データベースから適切な応答を探索する。生成基盤チャットモデルは、予め学習されたエンコーダ及びデコーダを用いて最適な応答を生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、生成基盤チャットモデルを用いて同じ入力に対応して様々な応答を生成する技術を提供する。
【課題を解決するための手段】
【０００５】
一側面に係る応答推論方法は、入力を取得するステップと、前記入力を符号化し、領域に分割された潜在変数領域空間内の潜在変数ベクトルを生成するステップと、前記潜在変数ベクトルを復号化し、前記領域のうち前記潜在変数ベクトルの領域に対応する出力応答を生成するステップとを含む。
【０００６】
前記潜在変数ベクトルは、前記入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルであり得る。
【０００７】
前記領域は複数の応答に対応し得る。
【０００８】
前記潜在変数領域空間は、前記複数の応答に対応するコントロール入力によって分割されており、前記コントロール入力のうちコントロール入力は、前記潜在変数領域空間の前記領域内の前記潜在変数ベクトルを生成する情報を含み得る。
【０００９】
前記潜在変数ベクトルを生成するステップは、前記入力を符号化して潜在変数を生成するステップと、前記潜在変数に対応する潜在変数領域空間内に分割された前記領域のいずれか１つの領域に属する前記潜在変数ベクトルを生成するステップとを含み得る。
【００１０】
前記いずれか１つの領域に属する潜在変数ベクトルを生成するステップは、前記潜在変数領域空間を表現する確率分布に基づいて複数のベクトルをサンプリングするステップと、前記サンプリングされたベクトルに基づいて前記潜在変数ベクトルを生成するステップとを含み得る。
【００１１】
前記いずれか１つの領域に属する潜在変数ベクトルを生成するステップは、前記潜在変数領域空間内の前記領域に対応するコントロール入力のいずれか１つを選択するステップと、前記確率分布に基づいて、前記選択されたコントロール入力に対応する前記領域に属する前記潜在変数ベクトルを生成するステップとを含み得る。
【００１２】
前記いずれか１つの領域に属する潜在変数ベクトルを生成するステップは、前記潜在変数領域空間を表現する確率分布に基づいて複数のベクトルをサンプリングするステップと、前記潜在変数領域空間の前記領域内の前記潜在変数ベクトルを生成する情報を含むコントロール入力をランダム化して埋め込みコントロール入力を生成するステップと、前記埋め込みコントロール入力を前記サンプリングされたベクトルにそれぞれ適用するステップと、前記埋め込みコントロール入力が適用された前記サンプリングされたベクトルを加重和して前記潜在変数ベクトルを生成するステップとを含み得る。
【００１３】
前記コントロール入力は、前記潜在変数ベクトルの次元と同じ次元を有するベクトルを含み得る。
【００１４】
前記入力は日常チャット内で特定応答を意図しないユーザ発話であり、前記複数の応答は、前記ユーザ発話に対応する互いに異なる応答であり得る。
【００１５】
前記潜在変数ベクトルを生成するステップは、エンコーダを用いて前記入力を符号化するステップを含み、前記エンコーダのニューラルネットワークは、前記入力に対応する入力レイヤと潜在変数をモデリングする確率分布の平均及び分散に対応する出力レイヤを含み得る。
【００１６】
前記出力応答を生成するステップは、デコーダを用いて前記潜在変数ベクトルを復号化するステップを含み、前記デコーダのニューラルネットワークは、前記潜在変数ベクトルに対応する入力レイヤと前記出力応答に対応する出力レイヤを含み得る。
【００１７】
一実施形態に係る応答推論のための学習方法は、トレーニング入力を取得するステップと、前記トレーニング入力に対応するトレーニング応答のうちトレーニング応答を取得するステップと、前記トレーニング応答に対応するコントロール入力のうち、前記トレーニング応答に対応するコントロール入力をそれぞれ取得するステップと、エンコーダに前記トレーニング入力を印加し、潜在変数を生成するステップと、前記潜在変数に対応する潜在変数領域空間内で前記コントロール入力に対応する領域のトレーニング潜在変数ベクトルを生成するステップと、学習させようとするデコーダに前記トレーニング潜在変数ベクトルを印加し、出力応答を生成するステップと、前記出力応答及び前記トレーニング応答に基づいて、前記エンコーダ及び前記デコーダのニューラルネットワークを学習するステップとを含む。
【００１８】
前記トレーニング潜在変数ベクトルは、前記トレーニング入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルであり、前記コントロール入力は、前記潜在変数領域空間の領域内潜在変数ベクトルの生成を誘導する情報であり得る。
【００１９】
前記潜在変数領域空間は、前記コントロール入力に対応する領域に分割され得る。
【００２０】
前記トレーニング潜在変数ベクトルを生成するステップは、前記潜在変数領域空間を表現する確率分布に基づいてベクトルをサンプリングするステップと、前記コントロール入力をランダム化して埋め込みコントロール入力を生成するステップと、前記埋め込みコントロール入力を前記サンプリングされたベクトルにそれぞれ適用するステップと、前記埋め込みコントロール入力が適用された前記サンプリングされたベクトルを加重和してトレーニング潜在変数ベクトルを生成するステップとを含み得る。
【００２１】
損失関数の値は、前記トレーニング応答と前記出力応答との間の差を含み得る。
【００２２】
一実施形態に係る応答推論装置は、入力を取得し、前記入力を符号化し、複数の応答に対応する領域に分割された潜在変数領域空間内の潜在変数ベクトルを生成し、前記潜在変数ベクトルを復号化し、前記領域のうち前記潜在変数ベクトルの領域に対応する出力応答を生成するプロセッサを含む。
【００２３】
前記潜在変数ベクトルは、前記入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルであり得る。
【００２４】
前記潜在変数領域空間は、前記複数の応答に対応するコントロール入力によって分割されており、前記コントロール入力のうちコントロール入力は前記潜在変数領域空間の前記領域内の前記潜在変数ベクトルを生成する情報を含み得る。
【００２５】
前記プロセッサは、前記入力を符号化して潜在変数を生成し、前記潜在変数に対応する潜在変数領域空間の前記領域のいずれか１つの領域に属する前記潜在変数ベクトルを生成し得る。
【００２６】
前記プロセッサは、前記潜在変数領域空間を表現する確率分布に基づいてベクトルをサンプリングし、前記潜在変数領域空間の領域内の前記潜在変数ベクトルを生成する情報を含むコントロール入力をランダム化して埋め込みコントロール入力を生成し、前記埋め込みコントロール入力を前記サンプリングされたベクトルにそれぞれ適用し、前記埋め込みコントロール入力が適用された前記サンプリングされたベクトルを加重和して前記潜在変数ベクトルを生成し得る。
【００２７】
一実施形態に係る電子装置は、ユーザから入力を受信するセンサと、応答に対応する領域に分割された潜在変数領域空間を格納するメモリと、前記潜在変数領域空間内の潜在変数ベクトルを生成する前記入力を符号化し、前記領域のうち領域に対応する応答を生成する前記潜在変数ベクトルを復号化し、ユーザインターフェースを介して前記応答を出力するプロセッサとを含む。
【００２８】
前記プロセッサは、潜在変数を生成する入力を符号化し、前記潜在変数領域空間をコントロール入力に対応する前記領域に分割し、前記コントロール入力のうち前記潜在変数に対応するコントロール入力を選択し、前記コントロール入力に対応する前記潜在変数領域空間の前記領域から前記潜在変数ベクトルを生成し得る。
【００２９】
前記コントロール入力は、前記領域のいずれか１つにランダムに対応し得る。
【００３０】
前記コントロール入力は、キーワード、前記ユーザの感情、前記ユーザの態度、及び前記ユーザの指向のうち少なくとも１つに対応し得る。
【００３１】
前記プロセッサは、前記入力を受信する入力レイヤ、及び前記潜在変数をモデリングする確率分布の平均及び分散に対応する出力レイヤを含む第１ニューラルネットワークを実現するエンコーダと、前記潜在変数ベクトルを受信する入力レイヤ、及び前記応答に対応する出力レイヤを含む第２ニューラルネットワークを実現するデコーダとを含み得る。
【００３２】
一実施形態に係る装置は、ハードウェアと結合して上述した方法のいずれか１項に記載の方法を実行させるために媒体に格納されたコンピュータプログラムによって制御され得る。
【発明の効果】
【００３３】
本発明によると、生成基盤チャットモデルを用いて、同じ入力に対応して様々な応答を生成する技術を提供することができる。
【図面の簡単な説明】
【００３４】
【図１】一実施形態に係る応答推論方法を説明するためのフローチャートである。
【図２Ａ】一実施形態に係る応答推論方法を説明するための図である。
【図２Ｂ】一実施形態に係る応答推論方法を説明するための図である。
【図３】一実施形態に係る応答推論方法を説明するための図である。
【図４Ａ】一実施形態に係るエンコーダ及びデコーダを用いた動作を説明するための図である。
【図４Ｂ】一実施形態に係るエンコーダ及びデコーダを用いた動作を説明するための図である。
【図５Ａ】一実施形態に係るマルチサンプリングにより潜在変数ベクトルを生成する動作を説明するための図である。
【図５Ｂ】一実施形態に係るマルチサンプリングにより潜在変数ベクトルを生成する動作を説明するための図である。
【図６】一実施形態に係る応答推論のための学習方法を説明するためのフローチャートである。
【図７】一実施形態に係る応答推論のための学習方法を説明するための図である。
【図８】一実施形態に係る応答推論のための学習方法を説明するための図である。
【図９】一実施形態に係る装置の構成の例示図である。
【図１０】一実施形態に係る応答推論装置を実現する電子装置を示すブロック図である。
【発明を実施するための形態】
【００３５】
本明細書に開示されている本発明の概念による実施形態についての特定の構造的又は機能的な説明は、単に本発明の概念による実施形態を説明するための目的として例示されたものであり、本発明の概念による実施形態は様々な形態で実施され、本明細書に説明された実施形態に限定されることはない。
【００３６】
第１又は第２などの用語を複数の構成要素を説明するために用いることができるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。また、いずれかの構成要素が他の構成要素に「結合されて」いると言及された場合、その次の構成要素に直接的に結合されてもよく、又は中間に他の構成要素が存在することもあり得ると理解されなければならない。
【００３７】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００３８】
異なるように定義されない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈されるべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００３９】
以下で説明する実施形態は、生成基盤チャットモデルを用いて応答を生成する方式に関する。規則／探索基盤チャットモデルは、様々な入力を認識し難く、規則又はデータベースにある表現に限って応答を生成するという制約がある一方、生成基盤チャットモデルは、学習を介して様々な入力を認識することができる。一般的な生成基盤チャットモデルは、学習をベースに最適な応答を生成するため、同じ入力に対応して様々な応答を生成するには限界があるが、実施形態に係る生成基盤チャットモデルは、同じ入力に対応して様々な応答を生成する技術を提供できる。
【００４０】
以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同じ参照符号は同じ部材を示す。
【００４１】
図１は、一実施形態に係る応答推論方法を説明するためのフローチャートである。図１に示す動作は、図示するように順次実行されてもよく、図１に示す動作のうちの一部は変更又は省略されてよい。図１に示す動作は並列的又は同時に実行される。
【００４２】
図１を参照すると、一実施形態に係る応答推論装置はユーザ入力を取得する（Ｓ１０１）。応答推論装置は、ユーザ入力に対応する応答を推論する装置として、例えば、ソフトウェアモジュール、ハードウェアモジュール又はその組合せにより実現される。ユーザ入力は、ユーザの発話のようにそれに対応する応答の生成を可能にする情報を含む。例えば、ユーザ入力は、応答推論装置が処理するための適切な多次元ベクトルなどの特徴を含み得る。
【００４３】
図２Ａ及び図２Ｂを参照すると、応答推論装置２０１は、同じユーザ入力に対応して複数の応答を生成する。例えば、「育児は難しい」という同じユーザ入力に対応して、第１時点には「大変でしょう？今まで頑張ってきたよ。」という応答が生成され、第２時点には「確かに容易ではないでしょう。応援しますよ。」という応答が生成されてもよい。そのため、ユーザは自動で生成された応答に退屈さを感じることなく、生き生きとした感情を感じることができる。
【００４４】
再び図１を参照すると、応答推論装置は、ユーザ入力を符号化し、複数の応答に対応する領域に分割された潜在変数領域空間内の潜在変数ベクトルを生成する（Ｓ１０２）。以下で詳細に説明するが、応答推論装置は、ユーザ入力に対応する潜在変数領域空間を生成し、潜在変数領域空間を分割することによって、分割された領域ごとに異なる応答を生成する方式を提供する。
【００４５】
より具体的に、応答推論装置は、エンコーダを用いてユーザ入力を符号化する。エンコーダは、ニューラルネットワークの一種として、ユーザ入力の次元を変換させ、潜在変数を生成する。例えば、エンコーダは、ユーザ入力から潜在変数を生成するために予め学習され、予め学習されたエンコーダは、ユーザ入力から潜在変数を生成する。潜在変数は、確率分布にモデリングされる。例えば、潜在変数は、平均及び分散を含む確率分布に応じて潜在変数領域空間に表現される。
【００４６】
潜在変数領域空間は、エンコーダによって生成された潜在変数を表現する空間として、エンコーダとデコーダの学習により複数の応答に対応する領域に分割される。潜在変数領域空間は、複数の応答に対応するコントロール入力によって分割されるが、ここで、コントロール入力は、潜在変数領域空間内で特定領域内の潜在変数ベクトルを生成するように誘導する情報であり得る。コントロール入力は、生成されるベクトルと同じ次元のベクトルであってもよい。学習過程でコントロール入力を用いて潜在変数領域空間を分割する動作に関する詳細な内容は後述する。
【００４７】
応答推論装置は、ユーザ入力から潜在変数ベクトルを生成する。潜在変数ベクトルは、潜在変数領域空間内の位置を指示するベクトルであって、分割された領域のいずれか１つに属する。応答推論装置は、確率分布に基づいて潜在変数領域空間内に分割された領域のいずれか１つの領域に属する潜在変数ベクトルを生成する。
【００４８】
潜在変数ベクトルは、ユーザ入力に対応する応答を生成するために潜在された情報変数を含む多次元のベクトルであり得る。図２Ａ及び図２Ｂに示す実施形態のように、ユーザ入力は、日常チャット内で特定応答を意図しないユーザ発話であり、ユーザ入力に対応する応答は、ユーザ発話に対応する応答である。
【００４９】
応答推論装置は、潜在変数ベクトルを復号化し、潜在変数ベクトルが属する領域に対応する出力応答を生成する（Ｓ１０３）。潜在変数領域空間は、様々な応答に対応する領域に分割されているため、応答推論装置はユーザ入力から様々な応答を推論する。応答推論装置は、予め学習されたニューラルネットワークで具現されたエンコーダ及びデコーダを用いるため、様々なユーザ入力を認識し、認識されたユーザ入力に適切な応答を多様に生成し得る。
【００５０】
図３は、一実施形態に係る応答推論方法を説明するための図である。
【００５１】
図３を参照すると、応答推論装置はユーザ入力（Ｘ）を符号化し、潜在変数をモデリングする確率分布Ｑ（Ｚ｜Ｘ）を生成する。確率分布に応じて潜在変数Ｚに対応する潜在変数領域空間＜Ｚ＞が表現される。
【００５２】
一実施形態によれば、潜在変数領域空間＜Ｚ＞は、様々な応答にそれぞれ対応するコントロール入力によって分割され、応答推論装置は、確率分布Ｑ（Ｚ｜Ｘ）から潜在変数ベクトルｚを生成する。応答推論装置は、確率分布から潜在変数ベクトルｚをランダムに生成し、場合に応じて、コントロール入力を用いて潜在変数ベクトルｚを生成してもよい。
【００５３】
潜在変数ベクトルｚは、潜在変数領域空間＜Ｚ＞内に分割された領域のいずれか１つの領域に属する。応答推論装置は、潜在変数ベクトルｚを復号化し、出力応答Ｐ（Ｙ＝ｙｉ｜Ｚ＝ｚｉ）を生成する。例えば、応答推論装置は、ランダムに生成された潜在変数ベクトルｚ１を復号化し、潜在変数ベクトルが属する領域に対応する出力応答ｙ１を生成する。
【００５４】
一実施形態によれば、応答推論装置は、コントロール入力を用いて確率分布Ｑ（Ｚ｜Ｘ）から潜在変数ベクトルｚを生成する。応答推論装置は、特定応答又は潜在変数領域空間＜Ｚ＞内の特定領域に対応するコントロール入力を取得し、取得されたコントロール入力を用いて該当領域に属する潜在変数ベクトルｚの生成を誘導する。例えば、応答推論装置は、複数の応答に対応するコントロール入力のいずれか１つを選択し、選択されたコントロール入力に対応する潜在変数ベクトルｚの生成を誘導する。応答推論装置は、生成された潜在変数ベクトルｚを復号化して出力応答を生成する。上述したように、応答推論装置は、エンコーダ及びデコーダを用いて応答を推論する。以下、図４Ａ及び図４Ｂを参照してエンコーダ及びデコーダを用いた動作について後述する。
【００５５】
図４Ａ及び図４Ｂは、一実施形態に係るエンコーダ及びデコーダを用いた動作を説明するための図である。
【００５６】
図４Ａを参照すると、応答推論装置は、エンコーダ４０１及びデコーダ４０２を用いてユーザ入力から出力応答を生成する。エンコーダ４０１及びデコーダ４０２は、複数の領域に分割された潜在変数領域空間に基づいて符号化及び復号化を行うように予め学習される。一実施形態によれば、エンコーダ４０１及びデコーダ４０２は、潜在変数領域空間内に分割された領域ごとに互いに異なる出力応答を生成するように学習される。潜在変数領域空間は、予め設定されたコントロール入力によって学習過程で様々な領域に分割される。
【００５７】
エンコーダ４０１のニューラルネットワークは、ユーザ入力に対応する入力レイヤ４０３、隠れレイヤ４０４、及び潜在変数をモデリングする確率分布の平均及び分散に対応する出力レイヤ４０５を含む。デコーダ４０２のニューラルネットワークは、潜在変数ベクトルに対応する入力レイヤ４０６、隠れレイヤ４０７及び出力応答に対応する出力レイヤ４０８を含む。上述したニューラルネットワークの構造は例示に過ぎず、レイヤ内のノードの態様、接続構造、パラメータは学習又は推論の効率と性能のために多様に変形され得る。
【００５８】
例えば、エンコーダ４０１とデコーダ４０２のネットワークは、深層ニューラルネットワーク（ＤＮＮ）の構造又はｎ−レイヤニューラルネットワークの構造を有する。ＤＮＮ又はｎ−レイヤニューラルネットワークは、畳み込みニューラルネットワーク（ＣＮＮ）、リカレントニューラルネットワーク（ＲＮＮ）、深層ブリーフネットワーク、全結合型ネットワーク、双方向ニューラルネットワーク、制限されたボルツマン・マシーン、又はその様々な組合せに対応する。また、組合せネットワークの一部は互いに重なってもよい。例えば、エンコーダ４０１及びデコーダ４０２のニューラルネットワークはＣＮＮに具現されてもよい。しかし、エンコーダ４０１及びデコーダ４０２のニューラルネットワークは、それに限定されない。エンコーダ４０１及びデコーダ４０２の一例示であるＣＮＮは畳み込みレイヤを含み、サブサンプリングレイヤ、プーリングレイヤ、及び全結合レイヤなどをさらに含んでもよい。
【００５９】
ニューラルネットワークは、入力レイヤ４０３、４０６及び出力レイヤ４０５、４０８を含む複数のレイヤを含む構造で具現され得る。ニューラルネットワーク内で、入力とカーネルに指摘されるフィルタ間の畳み込み演算が実行され、畳み込み演算の結果として特徴マップが出力される。例えば、出力される特徴マップは入力特徴マップであり、出力される特徴マップとカーネルとの間の畳み込み演算が再び実行される。その結果、新しい特徴マップが出力され得る。繰り返し実行される畳み込み演算によって、潜在変数ベクトル４１９が属する領域に対応する出力応答が最終的に出力される。
【００６０】
応答推論装置は、エンコーダ４０１を用いてユーザ入力から生成された平均及び分散に基づいて確率分布４１１を生成する。上述したように、応答推論装置は、確率分布４１１から潜在変数領域空間４１２内の領域のいずれか１つの領域に属する潜在変数ベクトル４１３をランダムに生成し、デコーダ４０２を用いて潜在変数ベクトル４１３が属する領域に対応する出力応答を生成する。
【００６１】
応答推論装置は、コントロール入力を用いて所望する領域で潜在変数ベクトルが生成されるように誘導する。例えば、応答推論装置は、コントロール入力４１６を用いて、確率分布４１４から潜在変数領域空間４１５内の第１領域に属する潜在変数ベクトル４１７を生成し、デコーダ４０２を用いて潜在変数ベクトル４１７が属する領域に対応する出力応答を生成する。あるいは、応答推論装置は、コントロール入力４１８を用いて、確率分布４１４から潜在変数領域空間４１５内の領域のうち第２領域に属する潜在変数ベクトル４１９を生成し、デコーダ４０２を用いて潜在変数ベクトル４１９が属する領域に対応する出力応答を生成する。
【００６２】
図４Ｂを参照すると、エンコーダ４０１の出力レイヤ４０５から潜在変数ベクトルが生成される動作を具現した実施形態が示されている。応答推論装置は、平均が０であり、分散が１である正規分布Ｎからサンプリングされる潜在変数ベクトルを変形することで、出力レイヤ４０５の平均μと分散σによる確率分布Ｚからサンプリングされる潜在変数ベクトルＺを生成する。例えば、応答推論装置は、正規分布Ｎからεをサンプリングし、εからμ＋σ・εを算出することによって潜在変数ベクトルＺを生成し得る。
【００６３】
例えば、エンコーダ４０１及びデコーダ４０２のニューラルネットワークは、音声入力又はユーザ発話内のオーディオデータを処理し、音声認識のために音声入力に関する情報を抽出し、応答を提供又は音声入力のテキスト変換を提供する。例えば、ニューラルネットワークは、音声入力に対応する１つ又はそれ以上の入力特徴マップに関する畳み込みを行って出力特徴マップを生成する。ニューラルネットワーク装置は、出力特徴マップ内の情報に基づいて、音声認識を出力する応答やテキスト変換を出力する応答を生成する。エンコーダ４０１及びデコーダ４０２のニューラルネットワークは、応答として音声認識やテキスト変換の結果を明示的又は暗示的に指示する。例えば、認識された音声の応答は、応答推論装置のディスプレイ上にテキストの形態で明示的に示されるか、ユーザ又は他のユーザに音声としてフィードバックされる。あるいは、認識された音声の応答は、音声認識の結果に基づいた応答推論装置の追加的な動作によって暗示的に指示されてもよい。応答推論装置の追加的な動作は、選択的に不活性化されてもよい。一般的なニューラルネットワーク装置と比較して、エンコーダ４０１とデコーダ４０２のニューラルネットワークは、迅速で効率的に畳み込み演算を行うことで、音声プロンプトに対する応答を提供できる。そのため、畳み込みを行うための使用可能なハードウェアリソースが効率よく使用され得る。
【００６４】
図５Ａ及び図５Ｂは、一実施形態に係るマルチサンプリングにより潜在変数ベクトルを生成する動作を説明するための図である。
【００６５】
図５Ａを参照すると、応答推論装置は、エンコーダ５０１を用いて生成された確率分布（例えば、平均及び分散）からデコーダ５０３に印加するための潜在変数ベクトル５０６を生成するモジュール５０２を含む。応答推論装置は、エンコーダ５０１によって生成された確率分布に基づいて複数のベクトル５０４をサンプリングする。応答推論装置は、確率分布から複数のベクトル５０４をランダムにサンプリングする。複数のベクトル５０４は、多次元の変数を含んでもよい。
【００６６】
一実施形態によれば、応答推論装置は、埋め込みコントロール入力５０５を用いて複数の応答のいずれか１つの応答をランダムに選択する潜在変数ベクトル５０６を生成する。例えば、埋め込みコントロール入力５０５は、サンプリングされたベクトル５０４と同じ次元のベクトルであって、ランダムに決定される。
【００６７】
応答推論装置は、埋め込みコントロール入力５０５をサンプリングされたベクトル５０４にそれぞれ適用する。応答推論装置は、コントロール入力５０５と各サンプリングされたベクトル５０４との間のドット積（ｄｏｔ  ｐｒｏｄｕｃｔ）演算を行って類似度を算出する。
【００６８】
応答推論装置は、埋め込みコントロール入力５０５が適用されたサンプリングされたベクトルを、類似度基盤で加重和（ｗｅｉｇｈｔｅｄ  ｓｕｍ）をとり潜在変数ベクトル５０６を生成する。例えば、ベクトル間のドットプロダクト演算の結果は、ベクトルの方向が類似する程大きい値を有するため、応答推論装置は、コントロール入力５０５と各サンプリングされたベクトル５０４との間のドット積演算の結果のソフトマックス値を加重値にして合算することにより、潜在変数ベクトル５０６を生成し得る。
【００６９】
上述したように、潜在変数ベクトル５０６は、応答を推論するために潜在された変数を示す多次元のベクトルであるが、サンプリングされたベクトル５０４とコントロール入力５０５は同じ次元のベクトルであるため、潜在変数ベクトル５０６もサンプリングされたベクトル５０４及びコントロール入力５０５のような次元で生成される。応答推論装置は、デコーダ５０３を用いて潜在変数ベクトル５０６から出力応答を生成する。
【００７０】
この場合、図２Ａ及び図２Ｂを参照して前述したように、同じユーザ入力に対応して様々な応答のいずれか１つの応答がランダムに選択されて出力される。
【００７１】
一実施形態によれば、応答推論装置は、コントロール入力を用いて所望する応答を誘導してもよい。コントロール入力は、サンプリングされたベクトル５０４のような次元のベクトルであってもよい。応答推論装置は、様々な応答のうち特定応答を誘導するために、複数のコントロール入力のいずれか１つのコントロール入力を選択する。上述したように、コントロール入力は、潜在変数領域空間内に分割された領域のうち、特定領域に潜在変数ベクトルを偏向させるベクトルである。
【００７２】
場合に応じて、応答推論装置は、コントロール入力をランダム化し得る。例えば、応答推論装置は、ランダム入力をコントロール入力に適用させ、埋め込みコントロール入力５０５を生成する。
【００７３】
一実施形態によれば、応答推論装置は、表１のようにキーワードに対応するコントロール入力を用いて、ユーザ入力から出力応答を生成し得る。
【００７４】
【表１】
2020027609.tif 000003
【００７５】
一実施形態によれば、応答推論装置は、表２のように感情に対応するコントロール入力を用いて、ユーザ入力から出力応答を生成し得る。
【００７６】
【表２】
2020027609.tif 000004
【００７７】
上述した例示のみならず、コントロール入力は、態度及び指向に基づいて設定され、設計意図に応じて様々な方式が採用されて応用され得る。
【００７８】
【表３】
2020027609.tif 000005
【００７９】
【表４】
2020027609.tif 000006
【００８０】
以下で説明するが、図５Ａに示す実施形態で用いられるコントロール入力は、学習過程で用いられるコントロール入力と同一である。
【００８１】
図５Ｂを参照すると、マルチサンプリング動作を実現した実施形態が示されている。応答推論装置は、平均０であり、分散が１である正規分布Ｎからマルチサンプリングされる潜在変数ベクトルを変形することで、平均μと分散σによる確率分布Ｚからサンプリングされる潜在変数ベクトルｚｉを生成する。例えば、応答推論装置は、正規分布Ｎからεｉをマルチサンプリングし、εｉからμ＋σ・εｉを算出することにより潜在変数ベクトルｚｉ  ５０４を生成する。
【００８２】
以下で説明するが、エンコーダ５０１とデコーダ５０３との間で潜在変数ベクトルをマルチサンプリングする動作をニューラルネットワークのノードで実現することで、エンコーダ５０１とデコーダ５０３が同時に学習され得る。そのため、エンドツーエンド（ｅｎｄ−ｔｏ−ｅｎｄ）ニューラルネットワークを用いる形態で実施形態が実現される。
【００８３】
図６は、一実施形態に係る応答推論のための学習方法を説明するためのフローチャートである。図６に示す動作は図示するように順次実行され、図６に示す動作のうちの一部は変更又は省略されてよい。図６に示す動作は、並列的又は同時に実行されてもよい。図１〜図５Ｂを参照して記述した事項は図６に適用され得る。
【００８４】
図６を参照すると、一実施形態に係る応答推論のための学習装置（以下、学習装置と称する）はトレーニング入力を取得する（Ｓ６０１）。学習装置は、応答推論のためのエンコーダとデコーダを学習させる装置であって、例えば、ソフトウェアモジュール、ハードウェアモジュール又はその組合せで実現される。
【００８５】
学習装置は、トレーニング入力に対応する複数のトレーニング応答のいずれか１つのトレーニング応答を取得する（Ｓ６０２）。トレーニング応答は、トレーニング入力に対する適切な応答として、正解（グラウンドトゥルース（ｇｒｏｕｎｄ  ｔｒｕｔｈ））に該当する。
【００８６】
学習装置は、複数のトレーニング応答に対応するコントロール入力のうち取得されたトレーニング応答に対応するコントロール入力を取得する（Ｓ６０３）。例えば、トレーニング入力「最近好きな音楽ジャンルはジャズだよ。」に対応するトレーニング応答は「私も！」、「私も大好きです。」及び「やっぱり、私たちは通じますね。」を含み、コントロール入力はそれぞれトレーニング応答に対応する。
【００８７】
一実施形態によれば、コントロール入力は、トレーニング応答を符号化して生成された特徴ベクトルであってもよい。例えば、図２Ｂを参照すると「私も！」を符号化して第１コントロール入力が生成され、「私も大好きです。」を符号化して第２コントロール入力が生成され、「やっぱり、私たちは通じますね。」を符号化して第３コントロール入力が生成され、「ワウ！私たちは通じますね。」を符号化して第４コントロール入力が生成される。第１ないし第４コントロール入力のそれぞれは、多次元空間内で互いに区別される位置を指示する多次元ベクトルであり得る。
【００８８】
ユーザ入力に基づいて潜在変数領域空間が決定されると、様々な応答に対応する様々なコントロール入力を用いて潜在変数領域空間を分割し、分割された各領域に対応して該当する応答が出力されるようにニューラルネットワークが学習される。また、学習装置は、コントロール入力にランダム入力を付加して埋め込みコントロール入力を生成し、埋め込みコントロール入力を用いて潜在変数領域空間を分割することで、潜在変数領域空間内の各領域が占めている比重を増加させ得る。
【００８９】
他の実施形態によれば、コントロール入力は、表１及び表２のようにキーワードや感情などの情報を符号化して生成された特徴ベクトルであってもよい。例えば、表１を参照すると、「映画」のキーワードを符号化して第１コントロール入力が生成され、「本」のキーワードを符号化して第２コントロール入力が生成される。
【００９０】
学習装置は、コントロール入力のうち学習させようとするトレーニング応答に対応するコントロール入力を選択する。
【００９１】
学習装置は、学習させようとするエンコーダでトレーニング入力を印加し、潜在変数を生成する（Ｓ６０４）。上述したように、確率分布は、潜在変数に対応する潜在変数領域空間を表現する方式の１つであって、エンコーダは平均及び分散を出力するように設計される。
【００９２】
学習装置は、確率分布及び取得されたコントロール入力に基づいて潜在変数領域空間内で取得されたコントロール入力に対応する領域のトレーニング潜在変数ベクトルを生成する（Ｓ６０５）。上述したように、コントロール入力は、潜在変数領域空間内で特定領域内の潜在変数ベクトルの生成を誘導するため、学習装置は、該当コントロール入力によるトレーニング潜在変数ベクトルを生成する。
【００９３】
学習装置は、学習させようとするデコーダでトレーニング潜在変数ベクトルを印加し、出力応答を生成する（Ｓ６０６）。上述したように、デコーダは、潜在変数ベクトルから応答を出力するように設計される。
【００９４】
学習装置は、出力応答及びトレーニング応答に基づいて、エンコーダ及びデコーダのニューラルネットワークを学習する（Ｓ６０７）。ニューラルネットワークを学習する方式には様々な方式が採用される。学習装置は、エンコーダ及びデコーダのニューラルネットワークを最適化し、コントロール入力に対応する領域ごとに互いに異なる出力応答を生成するよう潜在変数領域空間を分割する。応答推論装置は、学習によって分割された潜在変数領域空間を用いて様々な出力応答を生成し得る。
【００９５】
図７は、一実施形態に係る応答推論のための学習方法を説明するための図である。
【００９６】
図７を参照すると、学習装置は、トレーニング入力をエンコーダ７０１に印加し、サンプリングモジュール７０２にコントロール入力を印加する。サンプリングモジュール７０２は、図５Ａに示すモジュール５０２と同じ構造を含んでもよく、図５Ｂに示すようにマルチサンプリングするように実現されてもよい。
【００９７】
デコーダ７０３は、出力応答を生成する。学習装置は、トレーニング応答及び出力応答間の差として定義された損失関数の値が最小化になるようエンコーダ７０１及びデコーダ７０３を学習させ得る。例えば、学習装置は、バックプロパゲーション学習方式を用いてエンコーダ７０１とデコーダ７０３を学習させる。
【００９８】
一実施形態によれば、学習装置は、エンコーダ７０１とデコーダ７０３を同時に学習させることで、エンドツーエンドタイプの応答推論器を生成し得る。
【００９９】
図８は、一実施形態に係る応答推論のための学習方法を説明するための図である。
【０１００】
図８を参照すると、様々な応答に対応するコントロール入力ｃ１、ｃ２、及びｃ３により潜在変数領域空間８０１が分割される。学習装置は、コントロール入力ｃ１、ｃ２、及びｃ３、複数のトレーニング入力、トレーニング応答及び出力応答に基づいてエンコーダ及びデコーダを学習させ、学習によって潜在変数領域空間８０１は、コントロール入力ｃ１、ｃ２、及びｃ３にそれぞれ対応する領域に分割される。
【０１０１】
実施形態によれば、潜在変数領域空間８０１内に分割された領域は、それぞれコントロール入力に対応して区分されれば充分であり、コントロール入力が入力される時点に該当コントロール入力が潜在変数領域空間８０１内のどの領域を指示するかを正確に把握する必要はない。
【０１０２】
図面に示していないが、一実施形態によれば、潜在変数領域空間８０１は、ソフトパーティションされ得る。例えば、潜在変数領域空間８０１内の領域が互いに重なってもよく、潜在変数領域空間８０１内の空いている領域が存在してもよい。この場合、潜在変数ベクトルは、２以上の領域が重なった領域に属することも、空いている領域に属することもある。
【０１０３】
図面に示していないが、一実施形態によれば、互いに異なるユーザ入力に対応して学習された結果が総合的に考慮され、応答を生成する応答推論器が生成される。
【０１０４】
【表５】
2020027609.tif 000007
【０１０５】
例えば、表５を参照すると、ユーザ入力Ａに対応して出力応答ａ１、ａ２、及びａ３が学習される。また、ユーザ入力Ａ’に対応して出力応答ｂ１及びａ２’が学習される。
【０１０６】
ユーザ入力Ａとユーザ入力Ａ’は互いに類似している。この場合、ユーザ入力Ａによって生成される第１潜在変数領域空間とユーザ入力Ａ’によって生成される第２潜在変数領域空間は互いに類似する。
【０１０７】
また、出力応答ａ２と出力応答ａ２’は互いに類似している。この場合、出力応答ａ２の特徴ベクトルによって選択される第１領域と出力応答ａ２’の特徴ベクトルによって選択される第２領域は互いに類似する。
【０１０８】
第１潜在変数領域空間内の第１領域と第２潜在変数領域空間内の第２領域は、互いに類似の分布を有し、他の出力応答ａ１、ａ３、ｂ１は、第１領域及び第２領域と区別される領域に分布される。
【０１０９】
その結果、表５のように学習された応答推論器は、推論過程でユーザ入力Ａに反応してａ１、ａ２、ａ３だけでなく、ｂ１を生成してもよい。また、応答推論器は、ユーザ入力Ａ’に反応してｂ１、ａ２’だけでなく、ａ１、ａ３を生成してもよい。
【０１１０】
図９は、一実施形態に係る装置の構成の例示図である。
【０１１１】
図９を参照すると、装置９０１は、プロセッサ９０２及びメモリ９０３を含む。一実施形態に係る装置９０１は、上述した応答推論装置又は学習装置であり得る。プロセッサ９０２は、図１ないし図８を参照して前述した少なくとも１つの装置を含んでもよく、図１ないし図８によって前述した少なくとも１つの方法を行ってもよい。メモリ９０３は、上述した応答推論方法又は学習方法に関する情報を格納してよく、上述した応答推論方法又は学習方法が具現されたプログラムを格納してもよい。メモリ９０３は、揮発性メモリ又は不揮発性メモリであり得る。
【０１１２】
プロセッサ９０２はプログラムを実行し、装置９０１を制御する。プロセッサ９０２によって実行されるプログラムのコードはメモリ９０３に格納される。装置９０１は、入出力装置（図示せず）によって外部装置（例えば、パーソナルコンピュータ又はネットワーク）に接続され、データを交換する。
【０１１３】
図１０は、一実施形態に係る応答推論装置を実現する電子装置を示すブロック図である。図１０を参照すると、電子システムあるいは電子装置１０００は、センサ１０１０、プロセッサ１０２０、ローカルメモリ（図示せず）、メモリ１０３０、ディスプレイ１０５０、及びユーザインターフェース（ＵＩ）１０６０を含む。センサ１０１０、プロセッサ１０２０、メモリ１０３０、ディスプレイ１０５０、及びＵＩ１０６０はバス１０４０により通信する。
【０１１４】
電子システムあるいは電子装置１０００は、図１ないし図８を参照して前述した応答推論装置に対応する。ローカルメモリ（図示せず）は一時又はローカルバッファ／メモリに該当し、メモリ１０３０は、カーネル、特徴マップ、加重値、音声情報、潜在変数領域空間、出力応答を含んでもよい。メモリ１０３０は、トレーニングデータをさらに含んでもよい。プロセッサ１０２０は、１つ又はそれ以上のプロセッシング装置あるいは認識装置を示す。
【０１１５】
プロセッサ１０２０は、図１ないし図８を参照して前述した動作を行う。認識あるいは応答動作の結果は、ディスプレイ１０５０又はＵＩ１０６０を介して出力される。あるいは、ＵＩ１０６０を介してユーザオプションやニューラルネットワークの選択的動作などが提供される。
【０１１６】
センサ１０１０は、マイク及び／又はイメージセンサを含んでもよい。例えば、センサ１０１０は、音声入力を検出し、音声入力を電気的信号に変換する。センサ１０１０の出力は、プロセッサ１０２０又はメモリ１０３０に送信されてよく、ニューラルネットワークの入力レイヤに直接送信されてもよい。
【０１１７】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１１８】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、あるいは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１１９】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せで含む。例えば、プログラム命令又はソフトウェアは、実施形態に係る方法を格納するアプレット、ダイナミックリンクライブラリ、ミドルウェア、ファームウェア、デバイスドライバ、又はアプリケーションプログラムを含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１２０】
上述したように実施形態をたとえ限定された図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わされたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。
【０１２１】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１２２】
２０１  応答推論装置
４０１、５０１、７０１  エンコーダ
４０２、５０３、７０３  デコーダ
７０２  サンプリングモジュール
９０２、１０２０  プロセッサ
９０３、１０３０  メモリ
１０１０  センサ
１０５０  ディスプレイ
１０６０  ユーザインターフェース
【図１】
2020027609.tif 000008
【図２Ａ】
2020027609.tif 000009
【図２Ｂ】
2020027609.tif 000010
【図３】
2020027609.tif 000011
【図４Ａ】
2020027609.tif 000012
【図４Ｂ】
2020027609.tif 000013
【図５Ａ】
2020027609.tif 000014
【図５Ｂ】
2020027609.tif 000015
【図６】
2020027609.tif 000016
【図７】
2020027609.tif 000017
【図８】
2020027609.tif 000018
【図９】
2020027609.tif 000019
【図１０】
2020027609.tif 000020