(57)【特許請求の範囲】
【請求項１】
学習時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出部と、
前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出部と、
前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出部と、
前記識別器毎に算出された差を用いて特徴量ベクトルを算出する変換部と、
複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、前記結合係数を更新する結合係数設定部と、
を備え、
前記更新された結合係数を用いて入力データを識別する識別装置。
【請求項２】
前記抽出部は、前記識別結果の中から全ての前記不正解クラスを抽出し、
差分算出部は、前記正解クラスと、前記全ての不正解クラスとの差を前記識別器毎に、かつ各クラス別に算出する、請求項１に記載の識別装置。
【請求項３】
前記算出部は、
学習時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を前記識別結果として出力し、
前記抽出部は、
前記識別結果の中から正解クラス以外の前記識別結果の最大値を抽出し、
前記差分算出部は、
前記正解クラスにおける学習データの識別結果と、前記不正解クラスにおける前記識別結果が最大値のクラスにおける学習データの識別結果との差を前記識別器毎に算出する、請求項１に記載の識別装置。
【請求項４】
前記変換部は、算出した前記特徴量ベクトルに正確クラスを示す＋１のラベルを付加して、前記特徴量ベクトルに基づく値に変換し、
前記結合係数設定部は、識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新する、
請求項１から請求項３のいずれか１項に記載の識別装置。
【請求項５】
前記識別境界は、原点を通る、
請求項４に記載の識別装置。
【請求項６】
前記結合係数の初期値は１であり、
前記結合係数設定部は、
識別境界とサポートベクターとのマージンが収束するまで学習を繰り返して前記結合係数を更新する、
請求項４または請求項５に記載の識別装置。
【請求項７】
前記学習データおよび前記入力データは、行動の指示を表す単語と名詞が含まれる音声信号であり、
前記複数の識別器それぞれは、音声認識を行う識別器、前記音声認識された結果に含まれる行動を表す単語を識別する識別器、前記音声認識された結果に含まれる名詞を識別する識別器、前記行動を表す単語と前記名詞を過不足無く抽出できたか否かを識別する識別器である、
請求項１から請求項６のいずれか１項に記載の識別装置。
【請求項８】
前記学習データの音声信号は、ロボットに行動を促す指示の音声信号であり、
請求項１から請求項７のいずれか１項に記載の識別装置を備えるロボット。
【請求項９】
算出部が、学習時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出手順と、
抽出部が、前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出手順と、
差分算出部が、前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出手順と、
変換部が、前記識別器毎に算出された差を用いて特徴量ベクトルを算出する差分算出手順と、
変換部が、前記複数の識別器毎に算出された差を用いて特徴量ベクトルを算出し、算出した前記特徴量ベクトルに正解クラスを示す＋１のラベルを付加して、前記特徴量ベクトルに基づく値に変換する変換手順と、
結合係数設定部が、複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、原点を通る識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新する結合係数設定手順と、
を含む識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別装置、ロボットおよび識別方法に関する。
【背景技術】
【０００２】
複数の要素モデルを線形結合して結合モデルを生成して、各要素モデルに対して線形結合係数を乗算することによって重み付けを行い、結合モデルにおける識別精度を向上させる手法が提案されている。このような手法では、可能な値の組合せの全てについてクラス識別率を計算し、クラス識別率が最大となる組合せを求めれば、結合モデル（識別器）としての識別精度は向上する。
【０００３】
このような手法において、可能な値の組合せは、例えば、各係数の探索数をＭ、要素モデルの数をＫとするとＭＫである。このため、探索数および要素モデルが多い場合、計算量が膨大になり通常のワークステーションで演算することが実質的に不可能になる場合がある。
演算量を削減するための手法としては、入力パターンから特徴ベクトルを抽出しベクトルの内積を求めることにより線形結合する識別装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１０２８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、各入力ベクトルに対して内積を求める必要があり計算量が多くなるという課題がある。
【０００６】
本発明は上記の点に鑑みてなされたものであり、計算量を低減することができる識別装置、ロボットおよび識別方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）上記目的を達成するため、本発明の一態様に係る識別装置は、学習時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出部と、前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出部と、前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出部と、前記識別器毎に算出された差を用いて特徴量ベクトルを算出する変換部と、複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、前記結合係数を更新する結合係数設定部と、を備え、前記更新された結合係数を用いて入力データを識別する。
【０００８】
（２）また、本発明の一態様に係る識別装置において、前記抽出部は、前記識別結果の中から全ての前記不正解クラスを抽出し、差分算出部は、前記正解クラスと、前記全ての不正解クラスとの差を前記識別器毎に、かつ各クラス別に算出するようにしてもよい。
【０００９】
（３）また、本発明の一態様に係る識別装置において、前記算出部は、学習時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を前記識別結果として出力し、前記抽出部は、前記識別結果の中から正解クラス以外の前記識別結果の最大値を抽出し、前記差分算出部は、前記正解クラスにおける学習データの識別結果と、前記不正解クラスにおける前記識別結果が最大値のクラスにおける学習データの識別結果との差を前記識別器毎に算出するようにしてもよい。
【００１０】
（４）また、本発明の一態様に係る識別装置において、前記変換部は、算出した前記特徴量ベクトルに正解クラスを示す＋１のラベルを付加して、前記特徴量ベクトルに基づく値に変換し、前記結合係数設定部は、識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新するようにしてもよい。
（５）また、本発明の一態様に係る識別装置において、前記識別境界は、原点を通るようにしてもよい。
【００１１】
（６）また、本発明の一態様に係る識別装置において、前記結合係数の初期値は１であり、前記結合係数設定部は、識別境界とサポートベクターとのマージンが収束するまで学習を繰り返して前記結合係数を更新するようにしてもよい。
【００１２】
（７）また、本発明の一態様に係る識別装置において、前記学習データおよび前記入力データは、行動の指示を表す単語と名詞が含まれる音声信号であり、前記複数の識別器それぞれは、音声認識を行う識別器、前記音声認識された結果に含まれる行動を表す単語を識別する識別器、前記音声認識された結果に含まれる名詞を識別する識別器、前記行動を表す単語と前記名詞を過不足無く抽出できたか否かを識別するようにしてもよい。
【００１３】
（８）上記目的を達成するため、本発明の一態様に係るロボットは、前記学習データの音声信号は、ロボットに行動を促す指示の音声信号であり、（１）から（７）のいずれか１つに記載の識別装置を備える。
【００１４】
（９）上記目的を達成するため、本発明の一態様に係る識別方法は、算出部が、学習時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも２つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出手順と、抽出部が、前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出手順と、差分算出部が、前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出手順と、変換部が、前記識別器毎に算出された差を用いて特徴量ベクトルを算出する差分算出手順と、変換部が、前記複数の識別器毎に算出された差を用いて特徴量ベクトルを算出し、算出した前記特徴量ベクトルに正解クラスを示す＋１のラベルを付加して、前記特徴量ベクトルに基づく値に変換する変換手順と、結合係数設定部が、複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、原点を通る識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新する結合係数設定手順と、を含む。
【発明の効果】
【００１５】
上述した（１）、（８）、（９）の構成によれば、正解クラスと不正解クラスとの差分を用いることにより、サポートベクターマシンから見たときのデータを正規化することができるので、適切に識別平面を得ることができるので、識別精度を向上させることができる。
【００１６】
上述した（２）によれば、サポートベクターマシンの演算段階において、全ての不正解クラスのデータを用いて演算を行うので、局所解に陥ることを低減することができる。
【００１７】
上述した（３）によれば、サポートベクターマシンを用いた識別法によるデータ解析結果を用いて線形結合係数を求めるので、演算量が大幅に軽減されるので、処理時間の短縮ができる。
【００１８】
上述した（４）、（５）、（６）の構成によれば、識別精度を向上できる。
上述した（７）の構成によれば、学習データを用いて、４つの識別器それぞれの結合係数を設定することができる。この設定された結合係数を用いて、音声認識を行うことで、識別精度を向上できる。
【図面の簡単な説明】
【００１９】
【図１】第１実施形態に係るロボットが備える識別装置の概略構成を示すブロック図である。
【図２】第１実施形態に係る学習サンプルデータベースが記憶するデータの一例を示す図である。
【図３】複数の識別器である要素モデルを線形結合した識別装置の概念図である。
【図４】従来技術に係るサポートベクターマシンを用いた識別手法を示す図である。
【図５】第１実施形態に係るハードマージンの一例を示す図である。
【図６】第１実施形態に係るソフトマージンの一例を示す図である。
【図７】データが第１象限のみではなく第２象限と第４象限にも分布している例を示す図である。
【図８】第１実施形態に係る結合係数Ｗの更新方法を示すフローチャートである。
【図９】得られた結合係数を示す図である。
【図１０】サンプルデータ内での精度と結合係数の計算時間を示す図である。
【図１１】第２実施形態に係るロボットが備える識別装置の概略構成を示すブロック図である。
【図１２】第１実施形態と第２実施形態の差異を示す図である。
【図１３】第２実施形態に係る結合係数Ｗの更新方法を示すフローチャートである。
【図１４】サポートベクターマシンを用いて、正解クラスと不正解クラスを直接識別する場合に発生する場合もある問題の一例を示す図である。
【図１５】第１実施形態および第２実施形態において正解クラスと不正解クラスとの差分を算出することの効果を示す図である。
【発明を実施するための形態】
【００２０】
まず、本実施形態のロボット２が備える識別装置１の構成を説明する。
図１は、本実施形態に係るロボット２が備える識別装置１の概略構成を示すブロック図である。なお、本実施形態では、ロボット２が識別装置１を備える例を説明するが、識別装置１が識別した識別結果をロボット２に出力するようにしてもよい。また、車両や携帯端末等が本実施形態の識別装置１を備えていてもよく、識別装置１から識別結果を取得するようにしてもよい。
【００２１】
図１に示すように、ロボット２は、識別装置１、行動生成部２５、および行動制御部２６を備えている。また、識別装置１は、制御部１０、学習サンプルデータベース１１、サンプル選択部１２、結合係数記憶部１３、音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８、乗算部１９、結合モデル算出部２０（算出部）、重みベクトル学習部２１、および出力部２２を備えている。また、乗算部１９は、乗算器１９１〜乗算器１９４を備えている。重みベクトル学習部２１は、最大クラス抽出部２１１（抽出部）、差分算出部２１２、変換部２１３、および結合係数算出部２１４を備えている。結合係数算出部２１４は、サポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）２１５を備えている。なお、本実施形態において、音声認識部１４、行動識別部１６、スロット抽出部１７、および過不足判定部１８それぞれは、識別器である。
【００２２】
識別装置１は、例えばロボット２に対する命令（含む指示）の音声信号を取得し、取得した音声信号を識別した識別結果をロボット２に出力する。音声信号が命令の場合、識別結果には、行動を示す動詞、位置（ＬＯＣＡＴＩＯＮ）や物（ＩＴＥＭ）を示す名詞等が含まれている。
【００２３】
ロボット２は、例えば二足歩行可能な人型ロボットである。ロボット２は、識別装置１が出力した識別結果に基づいて行動する。すなわち、ロボット２は、命令に応じて行動する。行動生成部２５は、識別装置１が出力した識別結果を取得し、取得した識別結果に基づいて、行動指示を生成する。行動指示とは、ロボット２に対する行動の指示であり、例えばロボット２に『フォークをキッチンから持って』こさせる指示である。行動生成部２５は、生成した行動指示を行動制御部２６に出力する。行動制御部２６は、行動生成部２５が出力した行動指示に応じて、ロボット２が有するモータ等の駆動部（不図示）を制御する。
【００２４】
［第１実施形態］
次に、本実施形態に係る識別装置１の各部について説明する。
制御部１０は、学習モードと識別モードを切り替えて識別装置１を制御する。学習モードとは、学習サンプルデータベース１１が記憶しているサンプルデータを用いて学習を行って、線形結合係数（以下、単に結合係数という）を設定する動作モードである。識別モードとは、外部装置から取得した音声信号を、学習モードで設定した結合係数を用いて識別する動作モードである。外部装置は、例えば収音装置、録音装置等である。制御部１０は、学習モードで識別装置１を制御するとき、学習モードを示す情報を、サンプル選択部１２、音声認識部１４、結合モデル算出部２０、および重みベクトル学習部２１に出力する。制御部１０は、識別モードで識別装置１を制御するとき、識別モードを示す情報を、音声認識部１４、結合モデル算出部２０、および出力部２２に出力する。なお、制御部１０は、学習モードにおいて、１回目の学習時に、初期化された結合係数Ｗを用い、２回目以降の学習時に、重みベクトル学習部２１が更新した結合係数Ｗを用い、識別性能が所定の範囲内になるまで学習を繰り返すように識別装置１を制御する。制御部１０は、結合係数記憶部１３が記憶している結合係数を読み出し、識別性能が所定の範囲内になったとき、結合係数が収束したと判別して、学習モードを終了する。また、制御部１０は、識別モードのとき、学習モードで設定した結合係数を用いて識別する。
【００２５】
学習サンプルデータベース１１は、複数のサンプルデータを予め記憶している。サンプルデータは、音声信号である。また、音声信号それぞれは、音声信号に対応する行動識別クラス（以下、単にクラスという）を示す情報を関連付けて記憶している。学習サンプルデータベース１１は、Ｌ個（Ｌは２以上の整数）の行動識別クラスと行動に必要な情報を予め記憶している。また、学習サンプルデータベース１１は、学習モードのとき、音声信号に関連付けて、クラス毎の結合モデル、特徴量ベクトル、ラベルを記憶する。なお、クラス、クラス毎の結合モデル、特徴量ベクトル、ラベルについては、後述する。
【００２６】
サンプル選択部１２は、制御部１０が学習モードを示す情報を出力したとき、結合係数記憶部１３が記憶している全ての結合係数を、例えば１に初期化する。学習モードを示す情報を取得したとき毎に、サンプル選択部１２は、学習サンプルデータベース１１が記憶しているサンプルデータの中から１つずつ選択し、選択したサンプルデータを音声認識部１４に出力する。
【００２７】
結合係数記憶部１３は、結合係数Ｗ（ｗ１，ｗ２，ｗ３，ｗ４）を記憶する。
【００２８】
音声認識部１４は、制御部１０が学習モードを示す情報を出力したとき、サンプル選択部１２が出力したサンプルデータである音声信号を取得する。または、音声認識部１４は、制御部１０が識別モードを示す情報を出力したとき、外部装置から音声信号ｘｉ（ｉは１からｎの整数、ｎは２以上の整数）を取得する。以下の説明において、外部装置から取得する音声信号は、識別装置１を備えるロボット２に対する命令（含む指示）である。以下、音声信号が命令ｘｎ（ｎは１以上の整数）の例を説明する。命令ｘｎは、例えば『フォークをキッチンから持ってきて』である。音声認識部１４は、命令毎に以下の処理を行う。音声認識部１４は、取得した音声信号ｘｎに対して、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ；隠れマルコフモデル）やＮ−ｇｒａｍ等の周知の手法を用いて音声認識を行ってテキスト情報を生成する。
【００２９】
また、音声認識部１４は、自部に言語モデルを記憶している。なお、音声認識部１４は、例えばネットワークにある言語モデルを用いてもよい。言語モデルは、自然言語処理などにおいて、文の品詞や統語構造、単語と単語、文書と文書などの関係性について定式化したモデルである。また、言語モデルは、例えば、Ｎグラムモデル、隠れマルコフモデル、最大エントロピーモデル等である。音声認識部１４は、音声認識したテキスト情報に対して言語モデルを用いて形態素解析を行う。ここで、形態素解析した結果は、Ｋ個（Ｋは１以上の整数）以上であり、複数個であってもよい。解析した結果である音声認識結果の単語列には、ロボット２に対する行動を示す動詞と、場所や物を示す名詞等が含まれている。命令が例えば『フォークをキッチンから持ってきて』の場合は、『持ってきて』が行動を示す動詞『持ってくる』を含む単語であり、『キッチン』が場所を示す名詞であり、『フォーク』が物を示す名詞である。
【００３０】
さらに、音声認識部１４は、音声認識した単語列に含まれる単語毎の信頼度をスコアＳ１，ｊ（ｘｉ）として、例えば参考文献１に記載されている手法を用いて算出する。なお、スコアＳ１，ｊ（ｘｉ）は、例えば０．０から１．０の間の値である。音声認識部１４は、単語列毎に、その単語列に含まれる単語毎のスコアＳ１，ｊ（ｘｉ）を算出する。音声認識部１４は、単語列毎に、その単語列に含まれる単語毎のスコアＳ１，ｊ（ｘｉ）を乗算器１９１に出力する。また、音声認識部１４は、単語列毎に、単語列（音声認識結果ともいう）とその単語列に含まれる単語毎のスコアＳ１，ｊ（ｘｉ）のペアを、行動識別部１６、スロット抽出部１７に出力する。
【００３１】
参考文献１；李晃伸、河原達也、鹿野清宏、「２パス探索アルゴリズムにおける高速な単語事後確率に基づく信頼度算出法」、情報処理学会研究報告、2003-SLP-49-4、2003-12
【００３２】
行動識別部１６は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。
行動識別部１６は、音声認識部１４が出力したＫ個の単語列毎に、その単語列に含まれる単語に対して、予め定められているＬ個（Ｌは１以上の整数）の行動識別クラスそれぞれの識別を行うＬ個のサポートベクターマシンを用いて識別する。行動識別部１６は、例えばＯｎｅ−ｖｅｒｓｕｓ−ｒｅｓｔ法を用いて識別する。なお、ｏｎｅ−ｖｅｒｓｕｓ−ｒｅｓｔ法とは、対象クラスのサンプルを正例に分類し，残りのクラスのサンプルを負例に分類する手法である。行動識別部１６は、例えばサポートベクターマシンにおける分離境界面との距離に基づいて、単語列に含まれる単語毎にスコアＳ２，ｊ（ｘｉ）を算出する。行動識別部１６は、算出したスコアＳ２，ｊ（ｘｉ）を乗算器１９２に出力する。行動識別部１６は、単語列毎に、識別した結果である行動識別結果と、その単語列に含まれる単語毎のスコアのペアを過不足判定部１８と出力部２２に出力する。
【００３３】
スロット抽出部１７は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。スロット抽出部１７は、音声認識部１４が出力したＫ個の単語列の中から位置や物の名詞を、例えばＣＲＦ（Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄ；条件付き確率場）を用いて識別する。以下、位置や物等のロボットの行動に必要な名詞をスロット（ｓｌｏｔ）ともいう。行動識別部１６は、例えば正規化した尤度に基づいて、単語列毎に、その単語列に含まれる単語に対して、スコアＳ３，ｊ（ｘｉ）を算出し、算出したスコアＳ３，ｊ（ｘｉ）を乗算器１９３に出力する。スコアＳ３，ｊ（ｘｉ）は、例えば０．０から１．０の間の値である。スロット抽出部１７は、単語列毎に、識別した結果であるスロット抽出結果と、その単語列に含まれる単語毎のスコアのペアを過不足判定部１８と出力部２２に出力する。
【００３４】
過不足判定部１８は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。過不足判定部１８は、学習サンプルデータベース１１に記憶されている情報を用いて、行動識別部１６が出力した行動識別結果と、スロット抽出部１７が出力したスロット抽出結果に基づいて、行動識別クラスｙｊ∈｛１，…，Ｊ｝に必要なスロットを過不足なく抽出できているかを表すスコアＳ４，ｊ（ｘｉ）を算出し、算出したスコアＳ４，ｊ（ｘｉ）を乗算器１９４に出力する。スコアＳ４，ｊ（ｘｉ）は、例えば０．０から１．０の間の値である。
【００３５】
乗算部１９は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。乗算部１９は、音声認識部１４、行動識別部１６、スロット抽出部１７、および過不足判定部１８それぞれが出力したスコアＳ１，ｊ（ｘｉ）〜スコアＳ４，ｊ（ｘｉ）と、スコアＳ１，ｊ（ｘｉ）〜スコアＳ４，ｊ（ｘｉ）それぞれに、結合係数記憶部１３が記憶している対応する結合係数を乗じて、乗じた結果の値を結合モデル算出部２０に出力する。
【００３６】
乗算器１９１は、音声認識部１４が出力したスコアＳ１，ｊ（ｘｉ）に、結合係数記憶部１３が記憶している結合係数ｗ１を単語列毎に乗じて、乗じた結果の値ｗ１・Ｓ１，ｊ（ｘｉ）を結合モデル算出部２０に出力する。乗算器１９２は、行動識別部１６が出力したスコアＳ２，ｊ（ｘｉ）に、結合係数記憶部１３が記憶している結合係数ｗ２を単語列毎かつ行動識別クラス毎かつその単語列に含まれている単語毎に乗じて、乗じた結果の値ｗ２・Ｓ２，ｊ（ｘｉ）を結合モデル算出部２０に出力する。乗算器１９３は、スロット抽出部１７が出力したスコアＳ３，ｊ（ｘｉ）に、結合係数記憶部１３が記憶している結合係数ｗ３を単語列毎かつその単語列に含まれている単語毎に乗じて、乗じた結果の値ｗ３・Ｓ３，ｊ（ｘｉ）を結合モデル算出部２０に出力する。乗算器１９４は、過不足判定部１８が出力したスコアＳ４，ｊ（ｘｉ）に、結合係数記憶部１３が記憶している結合係数ｗ４を単語列毎に乗じて、乗じた結果の値ｗ４・Ｓ４，ｊ（ｘｉ）を結合モデル算出部２０に出力する。
【００３７】
結合モデル算出部２０は、乗算部１９が出力した値ｗ１・Ｓ１，ｊ（ｘｉ）〜ｗ４・Ｓ４，ｊ（ｘｉ）を、次式（１）を用いて加算する。
【００３８】
【数１】
0006634635.tif 000002
【００３９】
結合モデル算出部２０は、制御部１０が学習モードを示す情報を出力したとき、乗算部１９から受け取ったスコアＳ１，ｊ（ｘｉ）〜スコアＳ４，ｊ（ｘｉ）と，式（１）により加算した値Ｇｊ（ｘｉ）を識別結果（結合結果値ともいう）として重みベクトル学習部２１に出力する。結合モデル算出部２０は、制御部１０が識別モードを示す情報を出力したとき、値Ｇｊ（ｘｉ）を出力部２２に出力する。
【００４０】
重みベクトル学習部２１は、制御部１０が学習モードを示す情報を出力したとき、学習サンプルデータベース１１が記憶している複数のサンプルデータ毎に、結合モデル算出部２０を介して受け取ったスコアＳ１，ｊ（ｘｉ）〜スコアＳ４，ｊ（ｘｉ）と、結合モデル算出部２０が出力した値Ｇｊ（ｘｉ）を用いて結合係数Ｗを算出する。
【００４１】
最大クラス抽出部２１１は、結合モデル算出部２０が出力した値Ｇｊ（ｘｉ）において、正解クラスをｙｉとする。最大クラス抽出部２１１は、正解クラスｙｉ以外のクラスの値Ｇｊ（ｘｉ）の中から、値Ｇｊ（ｘｉ）が最大となるクラスｙｍａｘを抽出する。最大クラス抽出部２１１は、正解クラスｙｉのときの値Ｓk，ｉ（ｘｉ）と、抽出したクラスｙｍａｘのときの値Ｓk，ｙｍａｘ（ｘｉ）を差分算出部２１２に出力する。
【００４２】
差分算出部２１２は、識別器ｋ毎に正解クラスｙｉの値Ｓk，ｉ（ｘｉ）と、クラスｙｍａｘの値Ｓk，ｙｍａｘ（ｘｉ）との差ｄｋ，ｉを、次式（２）を用いて算出し、算出した識別器ｋ毎の差ｄｋ，ｉを変換部２１３に出力する。なお、識別器ｋ＝１は、音声認識部１４に対応、識別器ｋ＝２は、行動識別部１６に対応、識別器ｋ＝３は、スロット抽出部１７に対応、識別器ｋ＝４は、過不足判定部１８に対応する。また、この差分である特徴量は、正解と不正解の差である。すなわち、差分算出部２１２は、要素モデル（音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８）毎に正解クラスｙｉと最大値となるクラスｙｍａｘとの差を算出する。
【００４３】
【数２】
0006634635.tif 000003
【００４４】
変換部２１３は、差分算出部２１２が出力した識別器ｋ毎の差ｄｋ，ｉのベクトルを特徴量ベクトルＤｉ（＝（ｄ１，ｉ，ｄ２，ｉ，ｄ３，ｉ，ｄ４，ｉ））とし、さらに特徴量ベクトルＤｉに正解クラスを示す＋１のラベルを追加する。また、変換部２１３は、特徴量ベクトルＤｉとラベル＋１を、命令である音声信号に対応付けて学習サンプルデータベース１１に記憶する。
【００４５】
結合係数算出部２１４は、学習サンプルデータベース１１が記憶している全てのサンプルデータに対して、変換部２１３が出力した＋１のラベルが追加された特徴量ベクトルＤｉを、サポートベクターマシン２１５を用いて学習を行う。結合係数算出部２１４は、結合係数Ｗを算出し、算出した結合係数Ｗを結合係数記憶部１３に記憶させて更新する。
【００４６】
出力部２２は、制御部１０が識別モードを示す情報を出力したとき、結合モデル算出部２０が出力した値Ｇｊ（ｘｉ）が最大となるロボット２に対する行動を示す動詞のテキスト情報とスロットのテキスト情報を用いて識別結果を生成する。出力部２２は、生成した識別結果をロボット２の行動生成部２５に出力する。
【００４７】
＜学習サンプルデータベース１１が記憶するデータ＞
次に、学習サンプルデータベース１１が記憶するデータについて説明する。
図２は、本実施形態に係る学習サンプルデータベース１１が記憶するデータの一例を示す図である。図２の符号ｇ１の符号ｇ１１に示すように、学習サンプルデータベース１１は、初期状態でサンプルデータである音声信号に行動識別クラスを対応付けて記憶している。学習サンプルデータベース１１は、例えば、『フォークをキッチンから持ってきて』の音声信号ｘ１に、『持ってくる』のクラス１を対応付けて記憶する。また、学習サンプルデータベース１１は、『隣の部屋の電気をつけて』の音声信号ｘ２に、『（電気を）つける』のクラス２を対応付けて記憶する。
【００４８】
また、図２の符号ｇ１の符号ｇ１２が示すように、学習サンプルデータベース１１は、学習モードのときに、音声信号に、クラス毎の結合モデルＧｊ（ｘｉ）と特徴量ベクトルＤｉとラベルを対応付けて記憶する。学習サンプルデータベース１１は、例えば、『フォークをキッチンから持ってきて』の音声信号ｘ１に、クラス１の結合モデルＧ１（ｘ１），クラス２の結合モデルＧ２（ｘ２），…，クラスＪの結合モデルＧＪ（ｘ１）と、特徴量ベクトルＤ１＝（ｄ１，１，ｄ２，１，ｄ３，１，ｄ４，１）と、ラベル＋１を対応付けて記憶する。
【００４９】
また、図２の符号ｇ２が示すように、学習サンプルデータベース１１は、行動識別クラスに行動名（行動を示す単語、動詞）と必要なスロットを対応付けて記憶している。学習サンプルデータベース１１は、例えば、クラス１に『持ってくる』の行動名と、『位置』と『物』のスロットを対応付けて記憶し、クラス２に『（電気を）つける』の行動名と、『位置』と『物』のスロットを対応付けて記憶している。
【００５０】
＜結合係数Ｗ＞
次に、重みベクトル学習部２１が更新する結合係数Ｗについて説明する。
図３は、複数の識別器である要素モデルを線形結合した識別装置の概念図である。Ｋ個（Ｋは２以上の整数）の第１要素モデル１０１〜第Ｋ要素モデル１０３それぞれは、識別器であり、データｘを取得する。識別装置は、第１要素モデル１０１〜第Ｋ要素モデル１０３の識別結果を、線形結合係数１１１を用いて、結合モデル１２１を構成し、構成した結合モデル１２１を用いて識別を行う。なお、図３において、Ｋ＝４の場合が本実施形態の識別装置１である。この場合、第１要素モデル１０１が音声認識部１４に対応し、第２要素モデル１０２が行動識別部１６に対応し、第３要素モデルがスロット抽出部１７に対応し、第４要素モデルが過不足判定部１８に対応する。
【００５１】
ここで、ｎ個の事例からなら訓練集合｛（ｘｉ，ｙｉ）｝ｉ∈［ｎ］がｄ（ｄは２以上の整数）次元実数ベクトルｘｉ∈Ｒｄと正解クラスｙｉ∈｛１，…，Ｊ｝（Ｊは２以上の整数）から構成されているとする。また、要素モデルを結合する結合係数をＷ＝（ｗ１，ｗ２，…，ｗｋ）とする。
要素モデルｋ∈［Ｋ］のクラスｙｊ∈［Ｊ］に対する出力をｇｋｊ（ｋｉ）と表し、サンプルデータｘｉにおける識別装置１を分類器ｈ（ｘｉ）と定義すると、分類器ｈ（ｘｉ）は、次式（３）によって求めることができる。
【００５２】
【数３】
0006634635.tif 000004
【００５３】
なお、式（３）において、ａｒｇｍａｘ［・］は、関数値が最大となるような定義域の値を選択する関数であり、Ｇｊ（ｘｉ）は、次式（４）である。
【００５４】
【数４】
0006634635.tif 000005
【００５５】
式（３）と式（４）は、どのサンプルデータｘｉにおいても、正解クラスの結合モデルの出力が最大となる結合係数Ｗが最適な結合係数であることを示している。本実施形態では、学習サンプルデータベース１１が記憶しているサンプルデータｘｉに対して、サポートベクターマシン２１５を用いて学習を行うことで、この結合係数Ｗを算出する。なお、式（４）において、ｇｋ、ｉ（ｘ）はｋ番目の要素モデルのクラスｃｉに対する出力を表す。
【００５６】
次に、変換部２１３、結合係数算出部２１４が行う処理について詳細に説明する。
図４は、従来技術に係るサポートベクターマシンを用いた識別手法を示す図である。図４に示す例は、ラベル（＋１、−１）からなるサンプルデータを用いて、２つのクラスに分類する例である。図４において、横軸をｚ１、縦軸をｚ２とする。ここで、ラベル（＋１）を有するクラスを第１のクラス、ラベル（−１）を有するクラスを第２のクラスとする。
【００５７】
鎖線ｇ１０１で囲んだ領域は第１のクラス、鎖線ｇ１０２で囲んだ領域は第２のクラス、線ｇ１０３は第１のクラスと第２のクラスを識別する分離境界面（超平面ともいう）（ｗＴｚｉ−ｈ＝０、なおｈは閾値）である。また、符号ｇ１０４は第１のクラスのサポートベクター、符号ｇ１０５は第２のクラスのサポートベクター、符号ｇ１０８は超平面とサポートベクターとのマージン、鎖線ｇ１０６は、第１のクラスのサポートベクターを通る最大マージンを有する超平面と平行な面、鎖線ｇ１０７は、第２のクラスのサポートベクターを通る最大マージンを有する超平面と平行な面である。一般的なサポートベクターマシンを用いた識別器では、このマージンが最大となる超平面を算出する。
【００５８】
まず、分類器ｈ（ｘｉ）で、全ての事例が正解になるｗが存在すると仮定する。この場合、訓練集合は、ｗによって分類可能であるとする（ハードマージンともいう）。ここで、あるクラスｙｉについて、分類が成功している場合、クラスｙｉと分類器ｈ（ｘｉ）の関係は、次式（５）である。
【００５９】
【数５】
0006634635.tif 000006
【００６０】
式（５）より、次式（６）の関係が成り立つ。
【００６１】
【数６】
0006634635.tif 000007
【００６２】
式（６）において、ｊ＾は、正解ラベル以外でＧｊ（ｘｉ）の値が最大値となるラベルを表している。このことから、分類可能な訓練集合では、全てのｉ∈［ｎ］に対して、式（６）が成り立つｗが存在することになる。式（６）を変形すると、次式（７）になる。
【００６３】
【数７】
0006634635.tif 000008
【００６４】
式（７）をベクトルｗのノルム（ｎｏｒｍ）で正規化すると、次式（８）になる。なお、式（８）において、｜｜・｜｜は、ノルムを表す。
【００６５】
【数８】
0006634635.tif 000009
【００６６】
求めたいｗは、全てのｉ∈［ｎ］における左辺の値の最小値を最大化するものであるため、推定値ｗ＾は、次式（９）になる。
【００６７】
【数９】
0006634635.tif 000010
【００６８】
式（９）において、ｚｉ，ｋが次式（１０）である場合、次式（１１）の関係が成り立つ。
【００６９】
【数１０】
0006634635.tif 000011
【００７０】
【数１１】
0006634635.tif 000012
【００７１】
ここで、Σｋ＝１Ｋｗｋｚｉ，ｋ＝０となる境界を分類境界と呼ぶ。
さらに、ｚｉ＝［ｚｉ，１，…，ｚｉ，ｋ］Ｔとすると、式（１１）は、次式（１２）になる。
【００７２】
【数１２】
0006634635.tif 000013
【００７３】
式（１２）の関係は、図５に示すように、分離境界面に対して正側の領域に全てのｚｉが存在することを意味している。ここで、最大化したい値は、次式（１３）である。式（１３）は、分離境界面（ｗＴｚｉ＝０）から、ｚｉまでの距離、すなわちマージンである。
【００７４】
【数１３】
0006634635.tif 000014
【００７５】
図５は、本実施形態に係るハードマージンの一例を示す図である。なお、横軸、縦軸は図４と同様である。
図５において、鎖線ｇ２０１で囲んだ領域は正側のクラス、線ｇ２０３は分離境界面、符号ｇ２０４はサポートベクター、鎖線ｇ２０６はサポートベクターを通る最大マージンを有する超平面と平行な面、符号ｇ２０８は分離境界面と超平面とのマージンである。また、ｚｉは第１象限に分布し、分離境界面ｇ２０３は、原点Ｏと第２象限と第４象限を通る直線である。
【００７６】
ここで、全ての訓練事例を正しく分類するという条件から、ｗｋｚｉ，ｋは０より大きくなければいけない。ここで、ある正の実数Ｍに対して、ｗｋｚｉ，ｋ≧Ｍが全てのｉ∈［ｎ］において成立しているとする。このとき、マージン最大化は、次式（１４）の最適化問題になる。
【００７７】
【数１４】
0006634635.tif 000015
【００７８】
式（１４）において求めたい値Ｍ／｜｜ｗ｜｜を、以下、目標関数という。目標関数Ｍ／｜｜ｗ｜｜を最大にするためには、Ｍの値が大きい方がよい。しかしながら、Ｍは制約条件ｗＴｚｉ≧Ｍによって、ｗＴｚｉ以下である。このため、Ｍは、全ての事例に対するｗＴｚｉの値のうちで最も小さい値となる。この条件を満たすｉをｉ＾とすると、目標関数の値は、次式（１５）となる。
【００７９】
【数１５】
0006634635.tif 000016
【００８０】
式（１５）より、目標関数の値は、分離境界面から最も近い点までの距離と一致することになる。ここで、ｗをＭで割った値ｗ／Ｍをｗ〜に置き換えると、式（１４）は、次式（１６）に置き換わる。
【００８１】
【数１６】
0006634635.tif 000017
【００８２】
以下、このｗ〜をｗとして定義しなおして用いる。１／｜｜ｗ｜｜の最大値が逆数である｜｜ｗ｜｜の最小値と等価であり、｜｜ｗ｜｜の最小値がノルムを２乗した｜｜ｗ｜｜２の最小値と等価であることを考慮すると、最適化問題の式（１６）は、次式（１７）になる。
【００８３】
【数１７】
0006634635.tif 000018
【００８４】
この最適化問題が分類可能性を仮定した場合の定式化である。本実施形態では、分類可能性を仮定したｗの決定手法をハードマージンと呼ぶ。
【００８５】
ハードマージンにおいて、訓練事例を全て分類できるｗが存在すると仮定したが、現実的には、ハードマージンでは分類できない場合もある。このため、以下にハードマージンで分類できない事例に対してソフトマージンと呼ばれる拡張を行う例を説明する。
この拡張は、上述した制約条件ｗＴｚｉ≧１を緩和することによって導くことができる。ここで、新たに非負の変数ξｉ（≧０、ｉ∈［ｎ］）を導入し、制約条件ｗＴｚｉ≧１を次式（１８）のように変更する。
【００８６】
【数１８】
0006634635.tif 000019
【００８７】
式（１８）は、右辺が１−ξｉであるため、この新たな制約のもとで、ｗＴｚｉが１よりもξｉだけ小さくなってもよいことを意味している。この関係を図に表すと、図６のようになる。図６は、本実施形態に係るソフトマージンの一例を示す図である。なお、横軸、縦軸、線ｇ２０３、鎖線ｇ２０６、符号ｇ２０１、符号ｇ２０４、符号ｇ２０８は、図５と同様である。
【００８８】
図６の鎖線で囲んだｇ２０９の領域には、ｚｉがマージンを超えて、分類境界面の反対側（負側ともいう）に存在している。式（１８）の制約条件は、このように、ｚｉがマージンを超えて分類境界面の反対側に入ってくることを許容するということである。
ただし、鎖線で囲んだｇ２０９の領域のように誤分類が発生したときにｗＴｚｉが０未満であるため、緩和された制約条件が成立するためには、ξｉが１より大きな値である必要がある。このため、例えばΣｉ∈［ｎ］ξｉが、ある整数Ｌ以下であれば誤分類を抑圧することができる。このため、ソフトマージンでは、最適化問題における目的関数を次式（１９）のように定義し直す。
【００８９】
【数１９】
0006634635.tif 000020
【００９０】
なお、式（１９）において、ξ＝［ξ１，…，ξｎ］Ｔである。Ｃは、正則化係数であり、正の定数である。なお、正則化係数には、予め値を与えておく必要がある。式（１９）において、第１項は、ハードマージンの場合と同様にマージン最大化の働きをする。第２項は、元の制約条件ｗＴｚｉ≧１に対する違反の度合いであるξｉがなるべく小さくなるように抑制している。この項によって、たとえマージンが大きくても誤分類がたくさん発生するような分類境界面が作られにくくなる。この抑制の度合いを調節するためのパラメータが正則化係数Ｃの役割である。Ｃを大きくするとハードマージンに近づき、Ｃ=∞では、ξの要素が値を持つと無限大の値を持つと無限大の値が目的関数に加わるため、ξは常に０でなければならなくなる。これは、Ｃ=∞では、ソフトマージンはハードマージンに一致するということを意味している。逆に、Ｃを小さくすると誤分類をしても目的関数が大きく増えることがないため、より誤分類が許容されやすくなる。Ｃは、データに依存するため、例えば交差検証法などを使って決定する。
【００９１】
次に、本実施形態におけるサポートベクターマシンを用いた学習手法について説明する。ここで、ｎ個の事例からなる訓練集合｛（ｘｉ，ｙｉ）｝ｉ∈［ｎ］がｄ次元の実数ベクトルｘｉ∈Ｒｄ（Ｒは実数の全体）と、１か−１の値をとるラベルｙｉ∈｛１，−１｝から構成されているとする。なお、ｎ個の事例は、学習サンプルデータベース１１が記憶しているサンプルデータである。また、サポートベクターマシン２１５は、線形サポートベクターマシンであるとする。この場合、線形サポートベクターマシンにおける最適化問題は、次式（２０）で表すことができる。
【００９２】
【数２０】
0006634635.tif 000021
【００９３】
なお、式（２０）において、ｂは、図５〜図６においてｚ２切片である。
本実施形態では、式（２０）において、ｙｉ＝１、ｉ∈［ｎ］、ｂ＝０の制約を行うことで、結合係数Ｗ（＝｛ｗ１，…，ｗｋ｝）を求める。これにより、本実施形態の分離境界面は、従来技術とは異なり原点Ｏを通る。そして、識別装置１は、このように求めた結合係数Ｗを識別モードのときに用いて、識別を行う。
【００９４】
なお、データｘ（サンプルデータまたは入力される音声信号）に対して説明したが、図５〜図６の空間は、特徴空間であってもよい。本実施形態では、重みベクトル学習部２１が、結合モデルＧｊ（ｘｉ）に基づいて特徴量ベクトルを算出し、さらに＋１のラベルを追加した特徴空間に対してソフトマージンが拡張されたサポートベクターマシンを適用する。
【００９５】
ここで、最適化が必要な理由をさらに説明する。
図７は、データが第１象限のみではなく第２象限と第４象限にも分布している例を示す図である。図７に示す例では、鎖線ｇ３０１で囲んだ領域のデータｚが第１象限に分布し、鎖線ｇ３０２で囲んだ領域のデータｚが第２象限に分布し、鎖線ｇ３０３で囲んだ領域のデータｚが第４象限に分布している。
図７において、分離境界面が原点Ｏを通る鎖線ｇ３１２、ｇ３１３、ｇ３１４であれば、データは全て分離境界面の正側に分布しているため、適切な識別が行える。しかしながら、分離境界面が実線ｇ３１１の場合は、分離境界面の負側にもデータが分布しているため、正しく識別できないデータが生じていることを表している。図７における分離境界面は、ｗ１ｚ１＋ｗ２ｚ２＝０であるため、ｗの値の変化によって分離境界面の傾きが変化する。このため、図７において結合係数ｗ１、ｗ２の最適化の処理が必要である。
分離境界面は、分離境界面に最も近いデータ（サポートベクター）との距離が最大となる、すなわちマージンが最大となるように設定することで、分離境界面の負側に分布するデータを低減することができる。
【００９６】
次に、制御部１０が、結合係数Ｗが収束するまで、最適化の処理を繰り返す理由を説明する。
上述した式（６）において、次式（２１）のｊ＾が、ｗの値によって変化する。
このため、本実施形態では、結合係数Ｗが収束するまで、最適化の処理を繰り返す。
【００９７】
【数２１】
0006634635.tif 000022
【００９８】
次に、本実施形態における学習モードのときの結合係数Ｗの更新方法について説明する。
図８は、本実施形態に係る結合係数Ｗの更新方法を示すフローチャートである。
（ステップＳ１）サンプル選択部１２は、学習モードの開始時、結合係数記憶部１３が記憶している結合係数ｗ１〜ｗ４を全て１に初期化する。続けて、制御部１０は、学習モードで識別装置１を制御するとき、学習モードを示す情報を、サンプル選択部１２、音声認識部１４、結合モデル算出部２０、および重みベクトル学習部２１に出力する。
【００９９】
（ステップＳ２）サンプル選択部１２は、学習サンプルデータベース１１が記憶しているサンプルデータ全てに対して、サンプルデータ毎にステップＳ３〜ステップＳ７の処理を行う。
【０１００】
（ステップＳ３）サンプル選択部１２は、学習サンプルデータベース１１が記憶しているサンプルデータの中から１つのサンプルデータｘｉを選択する。
（ステップＳ４）結合モデル算出部２０は、クラスｙｊ毎に結合モデルＧｊ（ｘｉ）を識別結果（結合結果値ともいう）として算出する。なお、結合モデル算出部２０は、全てのクラスに対して、ステップＳ４の処理を行う。
【０１０１】
（ステップＳ５）最大クラス抽出部２１１は、正解クラスをｙｉとし、ステップＳ４において結合モデル算出部２０が算出したクラスの中から、クラスｙｉ以外で結合モデルの値が最大となるクラスｙｍａｘを抽出する。
（ステップＳ６）差分算出部２１２は、要素モデル（音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８）毎に正解クラスｙｉと最大値となるクラスｙｍａｘとの差を特徴量として算出する。
【０１０２】
（ステップＳ７）変換部２１３は、差分算出部２１２が出力した識別器毎の差のベクトルを特徴量ベクトルとし、さらに特徴量ベクトルに＋１のラベルを追加する。
（ステップＳ８）サンプル選択部１２は、学習サンプルデータベース１１が記憶しているサンプルデータ全てに対して、ステップＳ３〜ステップＳ７の処理が終了した後に、ステップＳ９の処理に進む。
【０１０３】
（ステップＳ９）結合係数算出部２１４は、学習サンプルデータベース１１が記憶している全てのサンプルデータに対して、変換部２１３が出力した＋１のラベルが追加された特徴量ベクトルを、線形ＳＶＭであるサポートベクターマシン２１５を用いて学習を行う。
（ステップＳ１０）結合係数算出部２１４は、サポートベクターとのマージンが最大になる結合係数Ｗを算出し、算出した結合係数Ｗを結合係数記憶部１３に記憶させて更新する。
【０１０４】
（ステップＳ１１）制御部１０は、結合係数記憶部１３が記憶している結合係数を読み出し、結合係数が収束したか否かを判別する。制御部１０は、結合係数が収束したと判別した場合（ステップＳ１１；ＹＥＳ）、ステップＳ１２の処理に進み、結合係数が収束していないと判別した場合（ステップＳ１１；ＮＯ）、ステップＳ２の処理に戻す。
【０１０５】
（ステップＳ１２）制御部１０は、結合係数を決定し、学習モードを終了する。
以上で、識別装置１は、結合係数Ｗの更新を終了する。
【０１０６】
＜音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８、乗算部１９、結合モデル算出部２０、重みベクトル学習部２１が行う処理の一例＞
次に、音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８、乗算部１９、結合モデル算出部２０、重みベクトル学習部２１が学習モードのとき行う処理の一例について説明する。
説明を簡単にするため、学習に用いる命令が『フォークをキッチンから持ってきて』の１つであり、学習サンプルデータベース１１が記憶しているクラスが３つ（＝Ｌ、クラス１〜クラス３）であるとする。
【０１０７】
音声認識部１４は、音声信号『フォークをキッチンから持ってきて』に対して音声認識と形態素解析を行ってＫ個の認識結果（音声認識結果ともいう）である単語列を得たとする。認識結果の単語列は、例えば『ふぉ、くを、きーから、もって、きて』や『ふぉーく、を、きっちん、か、ら、もってきて』等である。また、音声認識部１４は、認識した単語列における単語毎に、信頼度であるスコアＳ１（ｘｉ）を算出し、算出したスコアＳ１（ｘｉ）を乗算器１９１に出力する。音声認識部１４は、単語列と単語毎のスコアのペアを行動識別部１６、スロット抽出部１７に出力する。
【０１０８】
次に、行動識別部１６は、音声認識部１４が出力したＫ個の単語列それぞれから、３つのサポートベクターマシンを用いて、行動識別クラスを識別する。ここで、３つのサポートベクターマシンは、クラス１『持ってくる』を識別する識別器、クラス２『（電気を）つける』を識別する識別器、クラス３『（電気を）消す』を識別する識別器であるとする。行動識別部１６は、音声認識部１４が出力したＫ個の単語列それぞれに対して、３つのサポートベクターマシンを用いて、サポートベクターマシン毎、すなわちクラス毎のスコアＳ２、Ｊ（ｘｉ）を算出し、算出したスコアＳ２、Ｊ（ｘｉ）を乗算器１９２に出力する。また、行動識別部１６は、Ｋ個の単語列それぞれに対する識別結果（行動識別結果ともいう）とスコアのペアを過不足判定部１８に出力する。行動識別部１６は、例えば、１個目の単語列からクラス１『持ってくる』、２個目の単語列からクラス３『（電気を）消す』、・・・を識別する。
【０１０９】
次に、スロット抽出部１７は、音声認識部１４が出力したＫ個の単語列それぞれからスロットを抽出する。各単語列から抽出したスロットの数は、例えば、１個目の単語列から２つ、２個目の単語列から１つ、・・・、Ｋ個目の単語列から２つであるとする。スロット抽出部１７は、単語列それぞれから抽出したスロットそれぞれに対してスコアＳ３（ｘｉ）を算出し、算出した単語列毎かつスロット毎のＳ３（ｘｉ）を乗算器１９３に出力する。スロット抽出部１７は、単語列毎に、抽出したスロット（スロット抽出結果ともいう）とスロット毎に算出したスコアのペアを過不足判定部１８に出力する。
【０１１０】
次に、過不足判定部１８は、学習サンプルデータベース１１が記憶している行動名と必要なスロットの関係に基づいて、行動識別部１６が出力した単語列毎の識別結果における、その単語列からスロット抽出部１７が抽出したスロットが過剰であるか不足しているかを判定する。過不足判定部１８は、スロットの過不足の判定結果に基づいてスコアＳ４（ｘｉ）を算出し、算出したスコアＳ４（ｘｉ）を乗算器１９４に出力する。
【０１１１】
乗算器１９１は、音声認識部１４が出力した単語列毎のスコアＳ１（ｘｉ）それぞれに、結合係数ｗ１を乗じて、乗じたそれぞれの値を結合モデル算出部２０に出力する。乗算器１９２は、行動識別部１６が出力した単語列毎のスコアＳ２（ｘｉ）それぞれに、結合係数ｗ２を乗じて、乗じたそれぞれの値を結合モデル算出部２０に出力する。乗算器１９３は、スロット抽出部１７が出力した単語列毎かつスロット毎のスコアＳ３（ｘｉ）それぞれに、結合係数ｗ３を乗じて、乗じたそれぞれの値を結合モデル算出部２０に出力する。乗算器１９４は、過不足判定部１８が出力した単語列毎のスコアＳ４（ｘｉ）に、結合係数ｗ４を乗じて、乗じた値を結合モデル算出部２０に出力する。
【０１１２】
結合モデル算出部２０は、乗算器１９１が出力した値と、乗算器１９２が出力した値と、乗算器１９３が出力した値と、乗算器１９４が出力した値を取得する。結合モデル算出部２０は、全ての組み合わせを算出する。
【０１１３】
ここで、命令が『フォークをキッチンから持ってきて』である場合、行動識別クラスにおける正解クラスはクラス１の『持ってくる』である。そして、クラス２の『（電気を）つける』と、クラス３の『（電気を）消す』は不正解クラスである。このため、最大クラス抽出部２１１は、クラス１を正解クラスとする。そして、最大クラス抽出部２１１は、全ての組み合わせの中で、その行動識別結果が最も大きな値（スコア×結合係数）であり、かつ正解クラスと一致していて、さらにスロット抽出結果が正しいものを、音声認識結果の値（スコア×結合係数）が大きい順に探索する。最大クラス抽出部２１１は、この条件に合う音声認識結果におけるスコアを、正解クラスに対する音声認識スコアに決定する。次に、最大クラス抽出部２１１は、この条件に合うスロット抽出結果におけるスコアを、正解クラスに対するスロット抽出スコアに決定する。次に、最大クラス抽出部２１１は、この条件に合う過不足判定におけるスコアを、正解クラスに対する過不足判定スコアに決定する。
【０１１４】
最大クラス抽出部２１１は、上記の以外の不正解クラスについて、複数の組み合わせのうち、行動識別クラスがクラス２とクラス３の値を、全て正解クラス以外の値として学習に用いる。なお、複数の組み合わせのうち、どの値が不正解クラスに対応する解釈（スコアの組）として採用されるかは、学習のその時点毎での結合係数に依存している。
【０１１５】
なお、本実施形態では、識別器が４つ、結合係数が４つの例を説明したが、これに限られない。本実施形態の手法は、識別器が２つ以上、結合係数が２つ以上の識別装置に適用可能である。
また、上述した例では、２次元の２つのクラスを、分離境界面を用いて分離する例を説明したが、これに限られない。ｎ（ｎは２以上）次元のｎのクラスをｎ次元の超平面を用いて分離するようにしてもよい。また、本実施形態では、線形分離する例を説明したが、これに限られない。重みベクトル学習部２１は、サポートベクターマシン２１５にカーネル法を組み合わせて結合係数を設定してもよい。
【０１１６】
また、本実施形態では、ロボット２に対する命令の音声信号から、行動とスロットを抽出する例を説明したが、これに限られない。識別装置１を使う環境に応じた命令であっても構わない。また、命令は、音声信号に限られない。さらに、識別する単語や抽出する単語は、命令に応じたものであってもよい。
【０１１７】
ここで、識別モードのときの識別装置１が行う処理を説明する。
音声認識部１４は、音声信号を取得し、取得した音声信号に対して、学習モードのときと同様に音声認識と形態素解析を行う。そして、行動識別部１６は、音声認識部１４が形態素解析した結果に対して、学習モードのときと同様に音声認識部１４が出力した単語列それぞれから、複数のサポートベクターマシンを用いて、行動識別クラスを識別する。また、スロット抽出部１７は、音声認識部１４が形態素解析した結果に対して、学習モードのときと同様に音声認識部１４が出力した複数の単語列それぞれからスロットを抽出する。また、過不足判定部１８は、学習モードのときと同様に、学習サンプルデータベース１１が記憶している行動名と必要なスロットの関係に基づいて、行動識別部１６が出力した単語列毎の識別結果における、その単語列からスロット抽出部１７が抽出したスロットが過剰であるか不足しているかを判定する。そして、乗算部１９は、結合係数記憶部１３が記憶している学習モードのときに決定した結合係数を、各部が出力したスコアに乗ずる。
結合モデル算出部２０は、学習モードのときと同様に全ての組み合わせを算出し、算出結果を出力部２２に出力する。出力部２２は、結合モデル算出部２０が出力した値の中で最大となるときの行動識別部１６の出力とスロット抽出部１７の出力を抽出し、抽出した結果を識別結果として行動生成部２５に出力する。
【０１１８】
＜実験結果＞
次に、本実施形態の識別装置１で結合係数を設定した実験結果の一例を説明する。実験では、学習サンプルデータベース１１が５９５個の命令を記憶し、この５９５個のサンプルデータを用いて結合係数ｗ１〜ｗ４を設定した。また、実験では、識別装置１をコンピュータのハードウェアとソフトウェアを用いて構成した。また、実験に用いたコンピュータのＣＰＵのクロックは、１．６ＧＨｚである。
【０１１９】
図９は、得られた結合係数を示す図である。図９に示すように、全探索して設定した結合係数は、ｗ１＝０．２、ｗ２＝０．２、ｗ３＝０．１、ｗ４＝１であった。そして、本実施形態の手法によって設定した結合係数は、ｗ１＝０．０００９４８、ｗ２＝０．１６１８３９、ｗ３＝０．０００７７９、ｗ４＝０．０１８４０９であった。
【０１２０】
次に、図９に示した結合係数の設定の計算に要した計算時間とサンプルデータ内での識別の精度について説明する。なお、精度は、Ｋ−分割公差検定（例えば、参考文献２参照）での精度である。
【０１２１】
参考文献２；Ｃ．Ｍ．ビショップ著、元田浩監修、パターン認識と機械学習  上巻、丸善出版、２０１２、pp32
【０１２２】
図１０は、サンプルデータ内での精度と結合係数の計算時間を示す図である。
図１０に示すように、結合係数に初期値を用いた場合の精度は、７７．０％であった。
全探索して設定した結合係数を用いた場合の精度は、８７．６％であった。全探索して結合係数を設定するのに要した計算時間は、２６４０１秒（＝７時間２０分１秒）であった。そして、本実施形態の手法によって設定した結合係数を用いた場合の精度は、全探索と同等の８６．７％であった。また、本実施形態の手法によって結合係数を設定するのに要した計算時間は、３５秒であり、全探索の計算時間の約１／７５４であった。なお、２４−分割公差検定を用いて、本実施形態の識別結果を評価した結果は、８６．２％であった。すなわち、従来の手法では、結合係数の計算時間が１０４のオーダーであったが、本実施形態によれば計算時間が４のオーダーに短縮することができる。
【０１２３】
以上のように、本実施形態によれば、サポートベクターマシンを用いて結合係数を設定するため、全探索によって設定した場合と同等の精度の結合係数の設定に要する計算時間を、全探索と比較して大幅に短縮できる。
【０１２４】
また、本実施形態では、サポートベクターマシンにおいて、分離境界面が原点を通る制約を設け、さらに学習モードのときの特徴量ベクトルに正解クラスを示す＋１のラベルを付与するようにしたので、演算精度を向上させることができ、さらに演算時間を短縮することができる。
【０１２５】
［第２実施形態］
図１1は、本実施形態に係るロボット２Ａが備える識別装置１の概略構成を示すブロック図である。第１実施形態のロボット２と同じ機能を有する構成要素については、同じ符号を用いて説明を省略する。
【０１２６】
図１１に示すように、ロボット２Ａは、識別装置１Ａ、行動生成部２５、および行動制御部２６を備えている。また、識別装置１Ａは、制御部１０Ａ、学習サンプルデータベース１１、サンプル選択部１２Ａ、結合係数記憶部１３、音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８、乗算部１９、結合モデル算出部２０（算出部）、重みベクトル学習部２１Ａ、および出力部２２を備えている。重みベクトル学習部２１Ａは、クラス抽出部２１１Ａ（抽出部）、差分算出部２１２Ａ、変換部２１３Ａ、および結合係数算出部２１４Ａを備えている。
【０１２７】
制御部１０Ａは、学習モードと識別モードを切り替えて識別装置１Ａを制御する。制御部１０Ａは、学習モードで識別装置１Ａを制御するとき、学習モードを示す情報を、サンプル選択部１２Ａ、音声認識部１４、結合モデル算出部２０、および重みベクトル学習部２１Ａに出力する。制御部１０Ａは、識別モードで識別装置１Ａを制御するとき、識別モードを示す情報を、音声認識部１４、結合モデル算出部２０、および出力部２２に出力する。制御部１０Ａは、識別モードのとき、学習モードで設定した結合係数を用いて識別する。
【０１２８】
サンプル選択部１２Ａは、制御部１０Ａが出力した学習モードを示す情報を取得したとき毎に、学習サンプルデータベース１１が記憶しているサンプルデータの中から１つずつ選択し、選択したサンプルデータを音声認識部１４に出力する。
【０１２９】
結合モデル算出部２０は、乗算部１９が出力した値ｗ１・Ｓ１，ｊ（ｘｉ）〜ｗ４・Ｓ４，ｊ（ｘｉ）を、式（１）を用いて加算する。
結合モデル算出部２０は、制御部１０Ａが学習モードを示す情報を出力したとき、乗算部１９から受け取ったスコアＳ１，ｊ（ｘｉ）〜スコアＳ４，ｊ（ｘｉ）と，式（１）により加算した値Ｇｊ（ｘｉ）を識別結果として重みベクトル学習部２１Ａに出力する。結合モデル算出部２０は、制御部１０Ａが識別モードを示す情報を出力したとき、値Ｇｊ（ｘｉ）を出力部２２に出力する。
【０１３０】
重みベクトル学習部２１Ａは、制御部１０Ａが学習モードを示す情報を出力したとき、学習サンプルデータベース１１が記憶している複数のサンプルデータ毎に、結合モデル算出部２０を介して受け取ったスコアＳ１，ｊ（ｘｉ）〜スコアＳ４，ｊ（ｘｉ）と、結合モデル算出部２０が出力した値Ｇｊ（ｘｉ）を用いて結合係数Ｗを算出する。
【０１３１】
クラス抽出部２１１Ａは、結合モデル算出部２０を介して乗算部１９から受け取った値Ｓ１，ｊ（ｘｉ）〜Ｓ４，ｊ（ｘｉ）において、要素モデル（音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８）毎の正解クラスをｙｉとする。正解クラスｙｉのときの値Ｓk，ｉ（ｘｉ）と、正解クラス以外の不正解クラスのときの値それぞれをＳk，o（ｘｉ）o∈｛１，…，Ｊ｝ただしo≠ｙｉとして差分算出部２１２Ａに出力する。
【０１３２】
差分算出部２１２Ａは、識別器ｋ毎に正解クラスｙｉの値Ｓk，ｉ（ｘｉ）と、不正解クラスの値Ｓk，o（ｘｉ）それぞれとの差ｄｋ，ｉそれぞれを、前述した式（２）を用いて算出し、算出した識別器ｋ毎の差ｄｋ，ｉを変換部２１３Ａに出力する。すなわち、差分算出部２１２Ａは、要素モデル（音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８）毎に正確クラスと不正解クラスとの差を算出することで各クラス別の特徴量を算出する。すなわち、本実施形態において、識別器ｋ毎の差ｄｋ，ｉは、クラス毎に複数個ある。
【０１３３】
変換部２１３Ａは、各クラス別に、差分算出部２１２Ａが出力した識別器ｋ毎の差ｄｋ，ｉのベクトルを特徴量ベクトルＤｉ（＝（ｄ１，ｉ，ｄ２，ｉ，ｄ３，ｉ，ｄ４，ｉ））とし、さらに特徴量ベクトルＤｉに正解クラスを示す＋１のラベルを追加して各クラス別に生成する。また、変換部２１３Ａは、各クラス別の特徴量ベクトルＤｉとラベル＋１を、命令である音声信号に対応付けて学習サンプルデータベース１１に記憶する。
【０１３４】
結合係数算出部２１４Ａは、学習サンプルデータベース１１が記憶している全てのサンプルデータに対して、変換部２１３Ａが各クラス別に出力した＋１のラベルが追加された特徴量ベクトルＤｉを、サポートベクターマシン２１５を用いて学習を行う。結合係数算出部２１４Ａは、結合係数Ｗを算出し、算出した結合係数Ｗを結合係数記憶部１３に記憶させて更新する。
【０１３５】
図１２は、第１実施形態と第２実施形態の差異を示す図である。図１２において、横軸をｚ１、縦軸をｚ２とする。また、図１２は、あるサンプルデータに対して２つの不正解クラスがあるときの特徴量（点ｇ４１１、点ｇ４１２）がある例を示している。点ｇ４１１は、あるサンプルデータの不正解クラス（１）の特徴量であり、点ｇ４１２は、あるサンプルデータの不正解クラス（２）の特徴量である。
【０１３６】
第１実施形態では、結合係数の学習時に、正解クラスとそれ以外のクラス（不正解クラス）の中で、結合スコアが最大のものだけを用い、収束するまで繰り返し最適化計算を行う。これにより、第１実施形態によれば、ノイズが多いデータの場合に、ノイズの影響を受けにくい効果を得ることもできる。そして、図１２に示した例において、第１実施形態では、探索段階での結合係数の組み合わせが線ｇ４０１の状態のとき、点ｇ４１１が不正解クラスの最大値として抽出され学習に用いられる。また、第１実施形態では、探索段階での結合係数の組み合わせが線ｇ４０２の状態のとき、点ｇ４１２が不正解クラスの最大値として抽出され学習に用いられる。この２点のどちらを用いるかは、収束までの過程で変化する。
【０１３７】
一方、本実施形態では、上述したように、結合係数の学習時に、正解クラスと全ての不正解クラスを用いて、１回だけ最適化計算を行うようにした。これにより、本実施形態では、演算量を低減することができる。また、本実施形態によれば、全ての不正解クラスを用いて１回だけ最適化計算を行うことで探索を行わないため、局所解に陥ることを防ぐことができる。すなわち、本実施形態では、図に示した例において、点ｇ４１１も点ｇ４１２も同時に用いて結合係数を学習する。
【０１３８】
次に、本実施形態における学習モードのときの結合係数Ｗの更新方法について説明する。
図１３は、本実施形態に係る結合係数Ｗの更新方法を示すフローチャートである。なお、第１実施形態で説明した図８のフローチャートと同様の処理については、同じ符号を用いて説明を省略する。
【０１３９】
（ステップＳ２）サンプル選択部１２Ａは、学習サンプルデータベース１１が記憶しているサンプルデータ全てに対して、サンプルデータ毎にステップＳ３、ステップＳ１０１、ステップＳ１０２の処理を行う。
（ステップＳ３）サンプル選択部１２Ａは、学習サンプルデータベース１１が記憶しているサンプルデータの中から１つのサンプルデータｘｉを選択する。サンプル選択部１２Ａは、選択後、ステップＳ１０１の処理に進める。
【０１４０】
（ステップＳ１０１）結合モデル算出部２０は、乗算部１９が出力した値Ｓ１，ｊ（ｘｉ）〜Ｓ４，ｊ（ｘｉ）をそのまま重みベクトル学習部２１Ａに出力する。続けて、クラス抽出部２１１Ａは、要素モデル（音声認識部１４、行動識別部１６、スロット抽出部１７、過不足判定部１８）毎に、正解クラスｙｉのときの値Ｓk，ｉ（ｘｉ）と、正解クラス以外の不正解クラスのときの値それぞれをＳk，o（ｘｉ）として抽出する。続けて、差分算出部２１２Ａは、識別器ｋ毎に正解クラスｙｉの値Ｓk，ｉ（ｘｉ）と、不正解クラスの値Ｓk，o（ｘｉ）それぞれとの差ｄｋ，ｉそれぞれを、式（２）を用いて算出する。差分算出部２１２Ａは、算出後、ステップＳ１０２の処理に進める。
【０１４１】
（ステップＳ１０２）変換部２１３Ａは、各クラス別に、差分算出部２１２Ａが出力した識別器ｋ毎の差ｄｋ，ｉのベクトルを特徴量ベクトルＤｉとし、さらに特徴量ベクトルＤｉに正解クラスを示す＋１のラベルを追加して各クラス別に生成する。
（ステップＳ８）サンプル選択部１２Ａは、学習サンプルデータベース１１が記憶しているサンプルデータ全てに対して、ステップＳ３、ステップＳ１０１、ステップＳ１０２の処理が終了した後に、ステップＳ９の処理に進む。
【０１４２】
（ステップＳ９）結合係数算出部２１４Ａは、学習サンプルデータベース１１が記憶している全てのサンプルデータに対して、変換部２１３Ａが各クラス別に出力した＋１のラベルが追加された特徴量ベクトルを、サポートベクターマシン２１５を用いて学習を行う。結合係数算出部２１４Ａは、ステップＳ１２Ａの処理に進める。
（ステップＳ１２）制御部１０Ａは、結合係数を決定し、学習モードを終了する。
以上で、識別装置１Ａは、結合係数Ｗの更新を終了する。
【０１４３】
従来の識別手法では、複数の識別平面が必要になり、それらを平均化等することにより、識別するので、適切な識別をすることが難しかった。一方、第１実施形態または第２実施形態によれば、正解クラスのデータと不正解クラスのデータとの差分を用いることにより、サポートベクターマシンから見たときのデータを正規化することができる。これにより、第１実施形態または第２実施形態によれば、適切に識別平面を得ることができるので、識別精度を向上させることができる。
【０１４４】
また、第２実施形態によれば、サポートベクターマシンの演算段階において、全ての不正解クラスのデータを用いて演算を行うので、局所解に陥ることを低減することができる。
【０１４５】
ここで、サポートベクターマシンを用いて、正解クラスと不正解クラスを直接識別する場合に発生する場合もある問題について、さらに説明する。
図１４は、サポートベクターマシンを用いて、正解クラスと不正解クラスを直接識別する場合に発生する場合もある問題の一例を示す図である。図１４において、横軸をｇ１、縦軸をｇ２とする。なお、ｇ１、ｇ２それぞれは、要素モデルのクラスに対する出力（スコア）を表す。また、図１４において、○nは、ｎ番目の正解クラスの評価結果（ｇ１とｇ２とのスコアの組み）を表し、×n−｛１，２，３｝は、ｎ番目の負正解クラスの評価結果（ｇ１とｇ２とのスコアの組み）を表す。なお、図１４に示す例は、各サンプルにおいて正解クラスが１つ、不正解クラスが３つある場合の例である。
【０１４６】
図１４に示すように、１番目の評価結果（○１、×１−１、×１−２、×１−３）における正解クラスと不正解クラスを分ける平面はｇ５０１である。２番目の評価結果（○２、×２−１、×２−２、×２−３）における正解クラスと不正解クラスを分ける平面はｇ５０２である。３番目の評価結果（○３、×３−１、×３−２、×３−３）における正解クラスと不正解クラスを分ける平面はｇ５０３である。このように、正解クラスと不正解クラスを分ける平面はサンプルデータ毎に異なる場合があり、これらを１つに平均化して１つの分離境界面ｇ５１１を設定しようとしても、うまく設定できない場合がある。
【０１４７】
このため、第１実施形態および第２実施形態では、正解クラスと不正解クラスとの差分を算出して、分離する平面を算出するようにした。この理由を、図１５を用いて、さらに説明する。
図１５は、第１実施形態および第２実施形態において正解クラスと不正解クラスとの差分を算出することの効果を示す図である。図１５において、横軸をｚ１、縦軸をｚ２とする。図１５において、・ｎ−ｊは、図１４の正解クラスの評価結果○nと負正解クラスの評価結果×n−｛１，２，３｝から算出した差分データである。
【０１４８】
従来技術において、仮に正解クラスの評価結果○nと負正解クラスの評価結果×n−｛１，２，３｝から算出した差分データを算出しても、このままでは、正解データと不正解データの２つのクラスが１つのクラスになってしまうため、従来技術によるサポートベクターマシンを用いた手法では、正解クラスと不正解クラスとを分離する分離境界面を求めることができない。
このため、第１実施形態および第２実施形態では、分離境界面ｇ６１１を求めるために、分離境界面のバイアスを０に固定、すなわち原点を通るように、＋１のラベルを付与した。これにより、第１実施形態および第２実施形態によれば、差分を算出した後、１つのクラスであっても、マージン最大化原理を用いることで、分離境界面を求めることができる。
【０１４９】
なお、本発明における識別装置１（または１Ａ）またはロボット２（または２Ａ）の一部または全ての機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１５０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１５１】
１、１Ａ…識別装置、２、２Ａ…ロボット、１０、１０Ａ…制御部、１１…学習サンプルデータベース、１２、１２Ａ…サンプル選択部、１３…結合係数記憶部、１４…音声認識部、１６…行動識別部、１７…スロット抽出部、１８…過不足判定部、１９…乗算部、２０…結合モデル算出部、２１、２１Ａ…重みベクトル学習部、２２…出力部、２５…行動生成部、２６…行動制御部、１９１〜１９４…乗算器、２１１…最大クラス抽出部、２１１Ａ…クラス抽出部、２１２、２１２Ａ…差分算出部、２１３、２１３Ａ…変換部、２１４、２１４Ａ…結合係数算出部、２１５…サポートベクターマシン
【図１】
0006634635.tif 000023
【図２】
0006634635.tif 000024
【図３】
0006634635.tif 000025
【図４】
0006634635.tif 000026
【図５】
0006634635.tif 000027
【図６】
0006634635.tif 000028
【図７】
0006634635.tif 000029
【図８】
0006634635.tif 000030
【図９】
0006634635.tif 000031
【図１０】
0006634635.tif 000032
【図１１】
0006634635.tif 000033
【図１２】
0006634635.tif 000034
【図１３】
0006634635.tif 000035
【図１４】
0006634635.tif 000036
【図１５】
0006634635.tif 000037