JP2017097317A - 識別装置、ロボットおよび識別方法 - Google Patents

識別装置、ロボットおよび識別方法 Download PDF

Info

Publication number
JP2017097317A
JP2017097317A JP2016024162A JP2016024162A JP2017097317A JP 2017097317 A JP2017097317 A JP 2017097317A JP 2016024162 A JP2016024162 A JP 2016024162A JP 2016024162 A JP2016024162 A JP 2016024162A JP 2017097317 A JP2017097317 A JP 2017097317A
Authority
JP
Japan
Prior art keywords
identification
class
unit
learning
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016024162A
Other languages
English (en)
Other versions
JP6634635B2 (ja
Inventor
孝太郎 船越
Kotaro Funakoshi
孝太郎 船越
直人 岩橋
Naoto Iwahashi
直人 岩橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to US15/352,650 priority Critical patent/US11049045B2/en
Publication of JP2017097317A publication Critical patent/JP2017097317A/ja
Application granted granted Critical
Publication of JP6634635B2 publication Critical patent/JP6634635B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】計算量を低減することができる識別装置、ロボットおよび識別方法を提供することを目的とする。【解決手段】識別装置は、学習時に少なくとも2つのクラスのデータから構成される学習データに対して複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に学習データに対して複数の識別器それぞれで識別した結果を結合係数を用いて線形結合した結合結果値を算出して識別結果として出力する算出部と、識別結果から識別器毎に正解クラスと不正解クラスとを抽出する抽出部と、正解クラスと不正解クラスの差を識別器毎に算出する差分算出部と、識別器毎に算出された差を用いて特徴量ベクトルを算出する変換部と、複数の学習データに対して特徴量ベクトルに基づく値をサポートベクターマシンを用いて学習することで結合係数を更新する結合係数設定部と、を備え、更新された結合係数を用いて入力データを識別する。【選択図】図11

Description

本発明は、識別装置、ロボットおよび識別方法に関する。
複数の要素モデルを線形結合して結合モデルを生成して、各要素モデルに対して線形結合係数を乗算することによって重み付けを行い、結合モデルにおける識別精度を向上させる手法が提案されている。このような手法では、可能な値の組合せの全てについてクラス識別率を計算し、クラス識別率が最大となる組合せを求めれば、結合モデル(識別器)としての識別精度は向上する。
このような手法において、可能な値の組合せは、例えば、各係数の探索数をM、要素モデルの数をKとするとMである。このため、探索数および要素モデルが多い場合、計算量が膨大になり通常のワークステーションで演算することが実質的に不可能になる場合がある。
演算量を削減するための手法としては、入力パターンから特徴ベクトルを抽出しベクトルの内積を求めることにより線形結合する識別装置が提案されている(例えば、特許文献1参照)。
特開2008−102856号公報
しかしながら、特許文献1に記載の技術では、各入力ベクトルに対して内積を求める必要があり計算量が多くなるという課題がある。
本発明は上記の点に鑑みてなされたものであり、計算量を低減することができる識別装置、ロボットおよび識別方法を提供することを目的とする。
(1)上記目的を達成するため、本発明の一態様に係る識別装置は、学習時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出部と、前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出部と、前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出部と、前記識別器毎に算出された差を用いて特徴量ベクトルを算出する変換部と、複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、前記結合係数を更新する結合係数設定部と、を備え、前記更新された結合係数を用いて入力データを識別する。
(2)また、本発明の一態様に係る識別装置において、前記抽出部は、前記識別結果の中から全ての前記不正解クラスを抽出し、差分算出部は、前記正解クラスと、前記全ての不正解クラスとの差を前記識別器毎に、かつ各クラス別に算出するようにしてもよい。
(3)また、本発明の一態様に係る識別装置において、前記算出部は、学習時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を前記識別結果として出力し、前記抽出部は、前記識別結果の中から正解クラス以外の前記識別結果の最大値を抽出し、前記差分算出部は、前記正解クラスにおける学習データの識別結果と、前記不正解クラスにおける前記識別結果が最大値のクラスにおける学習データの識別結果との差を前記識別器毎に算出するようにしてもよい。
(4)また、本発明の一態様に係る識別装置において、前記変換部は、算出した前記特徴量ベクトルに正解クラスを示す+1のラベルを付加して、前記特徴量ベクトルに基づく値に変換し、前記結合係数設定部は、識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新するようにしてもよい。
(5)また、本発明の一態様に係る識別装置において、前記識別境界は、原点を通るようにしてもよい。
(6)また、本発明の一態様に係る識別装置において、前記結合係数の初期値は1であり、前記結合係数設定部は、識別境界とサポートベクターとのマージンが収束するまで学習を繰り返して前記結合係数を更新するようにしてもよい。
(7)また、本発明の一態様に係る識別装置において、前記学習データおよび前記入力データは、行動の指示を表す単語と名詞が含まれる音声信号であり、前記複数の識別器それぞれは、音声認識を行う識別器、前記音声認識された結果に含まれる行動を表す単語を識別する識別器、前記音声認識された結果に含まれる名詞を識別する識別器、前記行動を表す単語と前記名詞を過不足無く抽出できたか否かを識別するようにしてもよい。
(8)上記目的を達成するため、本発明の一態様に係るロボットは、前記学習データの音声信号は、ロボットに行動を促す指示の音声信号であり、(1)から(7)のいずれか1つに記載の識別装置を備える。
(9)上記目的を達成するため、本発明の一態様に係る識別方法は、算出部が、学習時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出手順と、抽出部が、前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出手順と、差分算出部が、前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出手順と、変換部が、前記識別器毎に算出された差を用いて特徴量ベクトルを算出する差分算出手順と、変換部が、前記複数の識別器毎に算出された差を用いて特徴量ベクトルを算出し、算出した前記特徴量ベクトルに正解クラスを示す+1のラベルを付加して、前記特徴量ベクトルに基づく値に変換する変換手順と、結合係数設定部が、複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、原点を通る識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新する結合係数設定手順と、を含む。
上述した(1)、(8)、(9)の構成によれば、正解クラスと不正解クラスとの差分を用いることにより、サポートベクターマシンから見たときのデータを正規化することができるので、適切に識別平面を得ることができるので、識別精度を向上させることができる。
上述した(2)によれば、サポートベクターマシンの演算段階において、全ての不正解クラスのデータを用いて演算を行うので、局所解に陥ることを低減することができる。
上述した(3)によれば、サポートベクターマシンを用いた識別法によるデータ解析結果を用いて線形結合係数を求めるので、演算量が大幅に軽減されるので、処理時間の短縮ができる。
上述した(4)、(5)、(6)の構成によれば、識別精度を向上できる。
上述した(7)の構成によれば、学習データを用いて、4つの識別器それぞれの結合係数を設定することができる。この設定された結合係数を用いて、音声認識を行うことで、識別精度を向上できる。
第1実施形態に係るロボットが備える識別装置の概略構成を示すブロック図である。 第1実施形態に係る学習サンプルデータベースが記憶するデータの一例を示す図である。 複数の識別器である要素モデルを線形結合した識別装置の概念図である。 従来技術に係るサポートベクターマシンを用いた識別手法を示す図である。 第1実施形態に係るハードマージンの一例を示す図である。 第1実施形態に係るソフトマージンの一例を示す図である。 データが第1象限のみではなく第2象限と第4象限にも分布している例を示す図である。 第1実施形態に係る結合係数Wの更新方法を示すフローチャートである。 得られた結合係数を示す図である。 サンプルデータ内での精度と結合係数の計算時間を示す図である。 第2実施形態に係るロボットが備える識別装置の概略構成を示すブロック図である。 第1実施形態と第2実施形態の差異を示す図である。 第2実施形態に係る結合係数Wの更新方法を示すフローチャートである。 サポートベクターマシンを用いて、正解クラスと不正解クラスを直接識別する場合に発生する場合もある問題の一例を示す図である。 第1実施形態および第2実施形態において正解クラスと不正解クラスとの差分を算出することの効果を示す図である。
まず、本実施形態のロボット2が備える識別装置1の構成を説明する。
図1は、本実施形態に係るロボット2が備える識別装置1の概略構成を示すブロック図である。なお、本実施形態では、ロボット2が識別装置1を備える例を説明するが、識別装置1が識別した識別結果をロボット2に出力するようにしてもよい。また、車両や携帯端末等が本実施形態の識別装置1を備えていてもよく、識別装置1から識別結果を取得するようにしてもよい。
図1に示すように、ロボット2は、識別装置1、行動生成部25、および行動制御部26を備えている。また、識別装置1は、制御部10、学習サンプルデータベース11、サンプル選択部12、結合係数記憶部13、音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18、乗算部19、結合モデル算出部20(算出部)、重みベクトル学習部21、および出力部22を備えている。また、乗算部19は、乗算器191〜乗算器194を備えている。重みベクトル学習部21は、最大クラス抽出部211(抽出部)、差分算出部212、変換部213、および結合係数算出部214を備えている。結合係数算出部214は、サポートベクターマシン(Support Vector Machine)215を備えている。なお、本実施形態において、音声認識部14、行動識別部16、スロット抽出部17、および過不足判定部18それぞれは、識別器である。
識別装置1は、例えばロボット2に対する命令(含む指示)の音声信号を取得し、取得した音声信号を識別した識別結果をロボット2に出力する。音声信号が命令の場合、識別結果には、行動を示す動詞、位置(LOCATION)や物(ITEM)を示す名詞等が含まれている。
ロボット2は、例えば二足歩行可能な人型ロボットである。ロボット2は、識別装置1が出力した識別結果に基づいて行動する。すなわち、ロボット2は、命令に応じて行動する。行動生成部25は、識別装置1が出力した識別結果を取得し、取得した識別結果に基づいて、行動指示を生成する。行動指示とは、ロボット2に対する行動の指示であり、例えばロボット2に『フォークをキッチンから持って』こさせる指示である。行動生成部25は、生成した行動指示を行動制御部26に出力する。行動制御部26は、行動生成部25が出力した行動指示に応じて、ロボット2が有するモータ等の駆動部(不図示)を制御する。
[第1実施形態]
次に、本実施形態に係る識別装置1の各部について説明する。
制御部10は、学習モードと識別モードを切り替えて識別装置1を制御する。学習モードとは、学習サンプルデータベース11が記憶しているサンプルデータを用いて学習を行って、線形結合係数(以下、単に結合係数という)を設定する動作モードである。識別モードとは、外部装置から取得した音声信号を、学習モードで設定した結合係数を用いて識別する動作モードである。外部装置は、例えば収音装置、録音装置等である。制御部10は、学習モードで識別装置1を制御するとき、学習モードを示す情報を、サンプル選択部12、音声認識部14、結合モデル算出部20、および重みベクトル学習部21に出力する。制御部10は、識別モードで識別装置1を制御するとき、識別モードを示す情報を、音声認識部14、結合モデル算出部20、および出力部22に出力する。なお、制御部10は、学習モードにおいて、1回目の学習時に、初期化された結合係数Wを用い、2回目以降の学習時に、重みベクトル学習部21が更新した結合係数Wを用い、識別性能が所定の範囲内になるまで学習を繰り返すように識別装置1を制御する。制御部10は、結合係数記憶部13が記憶している結合係数を読み出し、識別性能が所定の範囲内になったとき、結合係数が収束したと判別して、学習モードを終了する。また、制御部10は、識別モードのとき、学習モードで設定した結合係数を用いて識別する。
学習サンプルデータベース11は、複数のサンプルデータを予め記憶している。サンプルデータは、音声信号である。また、音声信号それぞれは、音声信号に対応する行動識別クラス(以下、単にクラスという)を示す情報を関連付けて記憶している。学習サンプルデータベース11は、L個(Lは2以上の整数)の行動識別クラスと行動に必要な情報を予め記憶している。また、学習サンプルデータベース11は、学習モードのとき、音声信号に関連付けて、クラス毎の結合モデル、特徴量ベクトル、ラベルを記憶する。なお、クラス、クラス毎の結合モデル、特徴量ベクトル、ラベルについては、後述する。
サンプル選択部12は、制御部10が学習モードを示す情報を出力したとき、結合係数記憶部13が記憶している全ての結合係数を、例えば1に初期化する。学習モードを示す情報を取得したとき毎に、サンプル選択部12は、学習サンプルデータベース11が記憶しているサンプルデータの中から1つずつ選択し、選択したサンプルデータを音声認識部14に出力する。
結合係数記憶部13は、結合係数W(w,w,w,w)を記憶する。
音声認識部14は、制御部10が学習モードを示す情報を出力したとき、サンプル選択部12が出力したサンプルデータである音声信号を取得する。または、音声認識部14は、制御部10が識別モードを示す情報を出力したとき、外部装置から音声信号x(iは1からnの整数、nは2以上の整数)を取得する。以下の説明において、外部装置から取得する音声信号は、識別装置1を備えるロボット2に対する命令(含む指示)である。以下、音声信号が命令x(nは1以上の整数)の例を説明する。命令xは、例えば『フォークをキッチンから持ってきて』である。音声認識部14は、命令毎に以下の処理を行う。音声認識部14は、取得した音声信号xに対して、HMM(Hidden Markov Model;隠れマルコフモデル)やN−gram等の周知の手法を用いて音声認識を行ってテキスト情報を生成する。
また、音声認識部14は、自部に言語モデルを記憶している。なお、音声認識部14は、例えばネットワークにある言語モデルを用いてもよい。言語モデルは、自然言語処理などにおいて、文の品詞や統語構造、単語と単語、文書と文書などの関係性について定式化したモデルである。また、言語モデルは、例えば、Nグラムモデル、隠れマルコフモデル、最大エントロピーモデル等である。音声認識部14は、音声認識したテキスト情報に対して言語モデルを用いて形態素解析を行う。ここで、形態素解析した結果は、K個(Kは1以上の整数)以上であり、複数個であってもよい。解析した結果である音声認識結果の単語列には、ロボット2に対する行動を示す動詞と、場所や物を示す名詞等が含まれている。命令が例えば『フォークをキッチンから持ってきて』の場合は、『持ってきて』が行動を示す動詞『持ってくる』を含む単語であり、『キッチン』が場所を示す名詞であり、『フォーク』が物を示す名詞である。
さらに、音声認識部14は、音声認識した単語列に含まれる単語毎の信頼度をスコアS1,j(x)として、例えば参考文献1に記載されている手法を用いて算出する。なお、スコアS1,j(x)は、例えば0.0から1.0の間の値である。音声認識部14は、単語列毎に、その単語列に含まれる単語毎のスコアS1,j(x)を算出する。音声認識部14は、単語列毎に、その単語列に含まれる単語毎のスコアS1,j(x)を乗算器191に出力する。また、音声認識部14は、単語列毎に、単語列(音声認識結果ともいう)とその単語列に含まれる単語毎のスコアS1,j(x)のペアを、行動識別部16、スロット抽出部17に出力する。
参考文献1;李晃伸、河原達也、鹿野清宏、「2パス探索アルゴリズムにおける高速な単語事後確率に基づく信頼度算出法」、情報処理学会研究報告、2003-SLP-49-4、2003-12
行動識別部16は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。
行動識別部16は、音声認識部14が出力したK個の単語列毎に、その単語列に含まれる単語に対して、予め定められているL個(Lは1以上の整数)の行動識別クラスそれぞれの識別を行うL個のサポートベクターマシンを用いて識別する。行動識別部16は、例えばOne−versus−rest法を用いて識別する。なお、one−versus−rest法とは、対象クラスのサンプルを正例に分類し,残りのクラスのサンプルを負例に分類する手法である。行動識別部16は、例えばサポートベクターマシンにおける分離境界面との距離に基づいて、単語列に含まれる単語毎にスコアS2,j(x)を算出する。行動識別部16は、算出したスコアS2,j(x)を乗算器192に出力する。行動識別部16は、単語列毎に、識別した結果である行動識別結果と、その単語列に含まれる単語毎のスコアのペアを過不足判定部18と出力部22に出力する。
スロット抽出部17は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。スロット抽出部17は、音声認識部14が出力したK個の単語列の中から位置や物の名詞を、例えばCRF(Conditional Random Field;条件付き確率場)を用いて識別する。以下、位置や物等のロボットの行動に必要な名詞をスロット(slot)ともいう。行動識別部16は、例えば正規化した尤度に基づいて、単語列毎に、その単語列に含まれる単語に対して、スコアS3,j(x)を算出し、算出したスコアS3,j(x)を乗算器193に出力する。スコアS3,j(x)は、例えば0.0から1.0の間の値である。スロット抽出部17は、単語列毎に、識別した結果であるスロット抽出結果と、その単語列に含まれる単語毎のスコアのペアを過不足判定部18と出力部22に出力する。
過不足判定部18は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。過不足判定部18は、学習サンプルデータベース11に記憶されている情報を用いて、行動識別部16が出力した行動識別結果と、スロット抽出部17が出力したスロット抽出結果に基づいて、行動識別クラスyj∈{1,…,J}に必要なスロットを過不足なく抽出できているかを表すスコアS4,j(x)を算出し、算出したスコアS4,j(x)を乗算器194に出力する。スコアS4,j(x)は、例えば0.0から1.0の間の値である。
乗算部19は、学習モードおよび識別モードのとき、命令毎に以下の処理を行う。乗算部19は、音声認識部14、行動識別部16、スロット抽出部17、および過不足判定部18それぞれが出力したスコアS1,j(x)〜スコアS4,j(x)と、スコアS1,j(x)〜スコアS4,j(x)それぞれに、結合係数記憶部13が記憶している対応する結合係数を乗じて、乗じた結果の値を結合モデル算出部20に出力する。
乗算器191は、音声認識部14が出力したスコアS1,j(x)に、結合係数記憶部13が記憶している結合係数wを単語列毎に乗じて、乗じた結果の値w・S1,j(x)を結合モデル算出部20に出力する。乗算器192は、行動識別部16が出力したスコアS2,j(x)に、結合係数記憶部13が記憶している結合係数wを単語列毎かつ行動識別クラス毎かつその単語列に含まれている単語毎に乗じて、乗じた結果の値w・S2,j(x)を結合モデル算出部20に出力する。乗算器193は、スロット抽出部17が出力したスコアS3,j(x)に、結合係数記憶部13が記憶している結合係数wを単語列毎かつその単語列に含まれている単語毎に乗じて、乗じた結果の値w・S3,j(x)を結合モデル算出部20に出力する。乗算器194は、過不足判定部18が出力したスコアS4,j(x)に、結合係数記憶部13が記憶している結合係数wを単語列毎に乗じて、乗じた結果の値w・S4,j(x)を結合モデル算出部20に出力する。
結合モデル算出部20は、乗算部19が出力した値w・S1,j(x)〜w・S4,j(x)を、次式(1)を用いて加算する。
Figure 2017097317
結合モデル算出部20は、制御部10が学習モードを示す情報を出力したとき、乗算部19から受け取ったスコアS1,j(x)〜スコアS4,j(x)と,式(1)により加算した値G(x)を識別結果(結合結果値ともいう)として重みベクトル学習部21に出力する。結合モデル算出部20は、制御部10が識別モードを示す情報を出力したとき、値G(x)を出力部22に出力する。
重みベクトル学習部21は、制御部10が学習モードを示す情報を出力したとき、学習サンプルデータベース11が記憶している複数のサンプルデータ毎に、結合モデル算出部20を介して受け取ったスコアS1,j(x)〜スコアS4,j(x)と、結合モデル算出部20が出力した値G(x)を用いて結合係数Wを算出する。
最大クラス抽出部211は、結合モデル算出部20が出力した値G(x)において、正解クラスをyとする。最大クラス抽出部211は、正解クラスy以外のクラスの値G(x)の中から、値G(x)が最大となるクラスymaxを抽出する。最大クラス抽出部211は、正解クラスyのときの値Sk,i(x)と、抽出したクラスymaxのときの値Sk,ymax(x)を差分算出部212に出力する。
差分算出部212は、識別器k毎に正解クラスyの値Sk,i(x)と、クラスymaxの値Sk,ymax(x)との差dk,iを、次式(2)を用いて算出し、算出した識別器k毎の差dk,iを変換部213に出力する。なお、識別器k=1は、音声認識部14に対応、識別器k=2は、行動識別部16に対応、識別器k=3は、スロット抽出部17に対応、識別器k=4は、過不足判定部18に対応する。また、この差分である特徴量は、正解と不正解の差である。すなわち、差分算出部212は、要素モデル(音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18)毎に正解クラスyiと最大値となるクラスymaxとの差を算出する。
Figure 2017097317
変換部213は、差分算出部212が出力した識別器k毎の差dk,iのベクトルを特徴量ベクトルD(=(d1,i,d2,i,d3,i,d4,i))とし、さらに特徴量ベクトルDに正解クラスを示す+1のラベルを追加する。また、変換部213は、特徴量ベクトルDとラベル+1を、命令である音声信号に対応付けて学習サンプルデータベース11に記憶する。
結合係数算出部214は、学習サンプルデータベース11が記憶している全てのサンプルデータに対して、変換部213が出力した+1のラベルが追加された特徴量ベクトルDを、サポートベクターマシン215を用いて学習を行う。結合係数算出部214は、結合係数Wを算出し、算出した結合係数Wを結合係数記憶部13に記憶させて更新する。
出力部22は、制御部10が識別モードを示す情報を出力したとき、結合モデル算出部20が出力した値G(x)が最大となるロボット2に対する行動を示す動詞のテキスト情報とスロットのテキスト情報を用いて識別結果を生成する。出力部22は、生成した識別結果をロボット2の行動生成部25に出力する。
<学習サンプルデータベース11が記憶するデータ>
次に、学習サンプルデータベース11が記憶するデータについて説明する。
図2は、本実施形態に係る学習サンプルデータベース11が記憶するデータの一例を示す図である。図2の符号g1の符号g11に示すように、学習サンプルデータベース11は、初期状態でサンプルデータである音声信号に行動識別クラスを対応付けて記憶している。学習サンプルデータベース11は、例えば、『フォークをキッチンから持ってきて』の音声信号xに、『持ってくる』のクラスを対応付けて記憶する。また、学習サンプルデータベース11は、『隣の部屋の電気をつけて』の音声信号xに、『(電気を)つける』のクラスを対応付けて記憶する。
また、図2の符号g1の符号g12が示すように、学習サンプルデータベース11は、学習モードのときに、音声信号に、クラス毎の結合モデルG(x)と特徴量ベクトルDとラベルを対応付けて記憶する。学習サンプルデータベース11は、例えば、『フォークをキッチンから持ってきて』の音声信号xに、クラスの結合モデルG(x),クラスの結合モデルG(x),…,クラスの結合モデルG(x)と、特徴量ベクトルD=(d1,1,d2,1,d3,1,d4,1)と、ラベル+1を対応付けて記憶する。
また、図2の符号g2が示すように、学習サンプルデータベース11は、行動識別クラスに行動名(行動を示す単語、動詞)と必要なスロットを対応付けて記憶している。学習サンプルデータベース11は、例えば、クラスに『持ってくる』の行動名と、『位置』と『物』のスロットを対応付けて記憶し、クラスに『(電気を)つける』の行動名と、『位置』と『物』のスロットを対応付けて記憶している。
<結合係数W>
次に、重みベクトル学習部21が更新する結合係数Wについて説明する。
図3は、複数の識別器である要素モデルを線形結合した識別装置の概念図である。K個(Kは2以上の整数)の第1要素モデル101〜第K要素モデル103それぞれは、識別器であり、データxを取得する。識別装置は、第1要素モデル101〜第K要素モデル103の識別結果を、線形結合係数111を用いて、結合モデル121を構成し、構成した結合モデル121を用いて識別を行う。なお、図3において、K=4の場合が本実施形態の識別装置1である。この場合、第1要素モデル101が音声認識部14に対応し、第2要素モデル102が行動識別部16に対応し、第3要素モデルがスロット抽出部17に対応し、第4要素モデルが過不足判定部18に対応する。
ここで、n個の事例からなら訓練集合{(x,y)}i∈[n]がd(dは2以上の整数)次元実数ベクトルx∈Rと正解クラスy∈{1,…,J}(Jは2以上の整数)から構成されているとする。また、要素モデルを結合する結合係数をW=(w,w,…,w)とする。
要素モデルk∈[K]のクラスyj∈[J]に対する出力をgkj(k)と表し、サンプルデータxにおける識別装置1を分類器h(x)と定義すると、分類器h(x)は、次式(3)によって求めることができる。
Figure 2017097317
なお、式(3)において、argmax[・]は、関数値が最大となるような定義域の値を選択する関数であり、G(x)は、次式(4)である。
Figure 2017097317
式(3)と式(4)は、どのサンプルデータxにおいても、正解クラスの結合モデルの出力が最大となる結合係数Wが最適な結合係数であることを示している。本実施形態では、学習サンプルデータベース11が記憶しているサンプルデータxに対して、サポートベクターマシン215を用いて学習を行うことで、この結合係数Wを算出する。なお、式(4)において、gk、i(x)はk番目の要素モデルのクラスcに対する出力を表す。
次に、変換部213、結合係数算出部214が行う処理について詳細に説明する。
図4は、従来技術に係るサポートベクターマシンを用いた識別手法を示す図である。図4に示す例は、ラベル(+1、−1)からなるサンプルデータを用いて、2つのクラスに分類する例である。図4において、横軸をz、縦軸をzとする。ここで、ラベル(+1)を有するクラスを第1のクラス、ラベル(−1)を有するクラスを第2のクラスとする。
鎖線g101で囲んだ領域は第1のクラス、鎖線g102で囲んだ領域は第2のクラス、線g103は第1のクラスと第2のクラスを識別する分離境界面(超平面ともいう)(w−h=0、なおhは閾値)である。また、符号g104は第1のクラスのサポートベクター、符号g105は第2のクラスのサポートベクター、符号g108は超平面とサポートベクターとのマージン、鎖線g106は、第1のクラスのサポートベクターを通る最大マージンを有する超平面と平行な面、鎖線g107は、第2のクラスのサポートベクターを通る最大マージンを有する超平面と平行な面である。一般的なサポートベクターマシンを用いた識別器では、このマージンが最大となる超平面を算出する。
まず、分類器h(x)で、全ての事例が正解になるwが存在すると仮定する。この場合、訓練集合は、wによって分類可能であるとする(ハードマージンともいう)。ここで、あるクラスyについて、分類が成功している場合、クラスyと分類器h(x)の関係は、次式(5)である。
Figure 2017097317
式(5)より、次式(6)の関係が成り立つ。
Figure 2017097317
式(6)において、j^は、正解ラベル以外でG(x)の値が最大値となるラベルを表している。このことから、分類可能な訓練集合では、全てのi∈[n]に対して、式(6)が成り立つwが存在することになる。式(6)を変形すると、次式(7)になる。
Figure 2017097317
式(7)をベクトルwのノルム(norm)で正規化すると、次式(8)になる。なお、式(8)において、||・||は、ノルムを表す。
Figure 2017097317
求めたいwは、全てのi∈[n]における左辺の値の最小値を最大化するものであるため、推定値w^は、次式(9)になる。
Figure 2017097317
式(9)において、zi,kが次式(10)である場合、次式(11)の関係が成り立つ。
Figure 2017097317
Figure 2017097317
ここで、Σk=1 i,k=0となる境界を分類境界と呼ぶ。
さらに、z=[zi,1,…,zi,kとすると、式(11)は、次式(12)になる。
Figure 2017097317
式(12)の関係は、図5に示すように、分離境界面に対して正側の領域に全てのzが存在することを意味している。ここで、最大化したい値は、次式(13)である。式(13)は、分離境界面(w=0)から、zまでの距離、すなわちマージンである。
Figure 2017097317
図5は、本実施形態に係るハードマージンの一例を示す図である。なお、横軸、縦軸は図4と同様である。
図5において、鎖線g201で囲んだ領域は正側のクラス、線g203は分離境界面、符号g204はサポートベクター、鎖線g206はサポートベクターを通る最大マージンを有する超平面と平行な面、符号g208は分離境界面と超平面とのマージンである。また、zは第1象限に分布し、分離境界面g203は、原点Oと第2象限と第4象限を通る直線である。
ここで、全ての訓練事例を正しく分類するという条件から、wi,kは0より大きくなければいけない。ここで、ある正の実数Mに対して、wi,k≧Mが全てのi∈[n]において成立しているとする。このとき、マージン最大化は、次式(14)の最適化問題になる。
Figure 2017097317
式(14)において求めたい値M/||w||を、以下、目標関数という。目標関数M/||w||を最大にするためには、Mの値が大きい方がよい。しかしながら、Mは制約条件w≧Mによって、w以下である。このため、Mは、全ての事例に対するwの値のうちで最も小さい値となる。この条件を満たすiをi^とすると、目標関数の値は、次式(15)となる。
Figure 2017097317
式(15)より、目標関数の値は、分離境界面から最も近い点までの距離と一致することになる。ここで、wをMで割った値w/Mをwに置き換えると、式(14)は、次式(16)に置き換わる。
Figure 2017097317
以下、このwをwとして定義しなおして用いる。1/||w||の最大値が逆数である||w||の最小値と等価であり、||w||の最小値がノルムを2乗した||w||の最小値と等価であることを考慮すると、最適化問題の式(16)は、次式(17)になる。
Figure 2017097317
この最適化問題が分類可能性を仮定した場合の定式化である。本実施形態では、分類可能性を仮定したwの決定手法をハードマージンと呼ぶ。
ハードマージンにおいて、訓練事例を全て分類できるwが存在すると仮定したが、現実的には、ハードマージンでは分類できない場合もある。このため、以下にハードマージンで分類できない事例に対してソフトマージンと呼ばれる拡張を行う例を説明する。
この拡張は、上述した制約条件w≧1を緩和することによって導くことができる。ここで、新たに非負の変数ξi(≧0、i∈[n])を導入し、制約条件w≧1を次式(18)のように変更する。
Figure 2017097317
式(18)は、右辺が1−ξであるため、この新たな制約のもとで、wが1よりもξだけ小さくなってもよいことを意味している。この関係を図に表すと、図6のようになる。図6は、本実施形態に係るソフトマージンの一例を示す図である。なお、横軸、縦軸、線g203、鎖線g206、符号g201、符号g204、符号g208は、図5と同様である。
図6の鎖線で囲んだg209の領域には、zがマージンを超えて、分類境界面の反対側(負側ともいう)に存在している。式(18)の制約条件は、このように、zがマージンを超えて分類境界面の反対側に入ってくることを許容するということである。
ただし、鎖線で囲んだg209の領域のように誤分類が発生したときにwが0未満であるため、緩和された制約条件が成立するためには、ξが1より大きな値である必要がある。このため、例えばΣi∈[n]ξが、ある整数L以下であれば誤分類を抑圧することができる。このため、ソフトマージンでは、最適化問題における目的関数を次式(19)のように定義し直す。
Figure 2017097317
なお、式(19)において、ξ=[ξ,…,ξである。Cは、正則化係数であり、正の定数である。なお、正則化係数には、予め値を与えておく必要がある。式(19)において、第1項は、ハードマージンの場合と同様にマージン最大化の働きをする。第2項は、元の制約条件w≧1に対する違反の度合いであるξがなるべく小さくなるように抑制している。この項によって、たとえマージンが大きくても誤分類がたくさん発生するような分類境界面が作られにくくなる。この抑制の度合いを調節するためのパラメータが正則化係数Cの役割である。Cを大きくするとハードマージンに近づき、C=∞では、ξの要素が値を持つと無限大の値を持つと無限大の値が目的関数に加わるため、ξは常に0でなければならなくなる。これは、C=∞では、ソフトマージンはハードマージンに一致するということを意味している。逆に、Cを小さくすると誤分類をしても目的関数が大きく増えることがないため、より誤分類が許容されやすくなる。Cは、データに依存するため、例えば交差検証法などを使って決定する。
次に、本実施形態におけるサポートベクターマシンを用いた学習手法について説明する。ここで、n個の事例からなる訓練集合{(x,y)}i∈[n]がd次元の実数ベクトルx∈R(Rは実数の全体)と、1か−1の値をとるラベルy∈{1,−1}から構成されているとする。なお、n個の事例は、学習サンプルデータベース11が記憶しているサンプルデータである。また、サポートベクターマシン215は、線形サポートベクターマシンであるとする。この場合、線形サポートベクターマシンにおける最適化問題は、次式(20)で表すことができる。
Figure 2017097317
なお、式(20)において、bは、図5〜図6においてz切片である。
本実施形態では、式(20)において、y=1、i∈[n]、b=0の制約を行うことで、結合係数W(={w,…,w})を求める。これにより、本実施形態の分離境界面は、従来技術とは異なり原点Oを通る。そして、識別装置1は、このように求めた結合係数Wを識別モードのときに用いて、識別を行う。
なお、データx(サンプルデータまたは入力される音声信号)に対して説明したが、図5〜図6の空間は、特徴空間であってもよい。本実施形態では、重みベクトル学習部21が、結合モデルG(x)に基づいて特徴量ベクトルを算出し、さらに+1のラベルを追加した特徴空間に対してソフトマージンが拡張されたサポートベクターマシンを適用する。
ここで、最適化が必要な理由をさらに説明する。
図7は、データが第1象限のみではなく第2象限と第4象限にも分布している例を示す図である。図7に示す例では、鎖線g301で囲んだ領域のデータzが第1象限に分布し、鎖線g302で囲んだ領域のデータzが第2象限に分布し、鎖線g303で囲んだ領域のデータzが第4象限に分布している。
図7において、分離境界面が原点Oを通る鎖線g312、g313、g314であれば、データは全て分離境界面の正側に分布しているため、適切な識別が行える。しかしながら、分離境界面が実線g311の場合は、分離境界面の負側にもデータが分布しているため、正しく識別できないデータが生じていることを表している。図7における分離境界面は、w+w=0であるため、wの値の変化によって分離境界面の傾きが変化する。このため、図7において結合係数w、wの最適化の処理が必要である。
分離境界面は、分離境界面に最も近いデータ(サポートベクター)との距離が最大となる、すなわちマージンが最大となるように設定することで、分離境界面の負側に分布するデータを低減することができる。
次に、制御部10が、結合係数Wが収束するまで、最適化の処理を繰り返す理由を説明する。
上述した式(6)において、次式(21)のj^が、wの値によって変化する。
このため、本実施形態では、結合係数Wが収束するまで、最適化の処理を繰り返す。
Figure 2017097317
次に、本実施形態における学習モードのときの結合係数Wの更新方法について説明する。
図8は、本実施形態に係る結合係数Wの更新方法を示すフローチャートである。
(ステップS1)サンプル選択部12は、学習モードの開始時、結合係数記憶部13が記憶している結合係数w〜wを全て1に初期化する。続けて、制御部10は、学習モードで識別装置1を制御するとき、学習モードを示す情報を、サンプル選択部12、音声認識部14、結合モデル算出部20、および重みベクトル学習部21に出力する。
(ステップS2)サンプル選択部12は、学習サンプルデータベース11が記憶しているサンプルデータ全てに対して、サンプルデータ毎にステップS3〜ステップS7の処理を行う。
(ステップS3)サンプル選択部12は、学習サンプルデータベース11が記憶しているサンプルデータの中から1つのサンプルデータxを選択する。
(ステップS4)結合モデル算出部20は、クラスy毎に結合モデルG(x)を識別結果(結合結果値ともいう)として算出する。なお、結合モデル算出部20は、全てのクラスに対して、ステップS4の処理を行う。
(ステップS5)最大クラス抽出部211は、正解クラスをyとし、ステップS4において結合モデル算出部20が算出したクラスの中から、クラスy以外で結合モデルの値が最大となるクラスymaxを抽出する。
(ステップS6)差分算出部212は、要素モデル(音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18)毎に正解クラスyと最大値となるクラスymaxとの差を特徴量として算出する。
(ステップS7)変換部213は、差分算出部212が出力した識別器毎の差のベクトルを特徴量ベクトルとし、さらに特徴量ベクトルに+1のラベルを追加する。
(ステップS8)サンプル選択部12は、学習サンプルデータベース11が記憶しているサンプルデータ全てに対して、ステップS3〜ステップS7の処理が終了した後に、ステップS9の処理に進む。
(ステップS9)結合係数算出部214は、学習サンプルデータベース11が記憶している全てのサンプルデータに対して、変換部213が出力した+1のラベルが追加された特徴量ベクトルを、線形SVMであるサポートベクターマシン215を用いて学習を行う。
(ステップS10)結合係数算出部214は、サポートベクターとのマージンが最大になる結合係数Wを算出し、算出した結合係数Wを結合係数記憶部13に記憶させて更新する。
(ステップS11)制御部10は、結合係数記憶部13が記憶している結合係数を読み出し、結合係数が収束したか否かを判別する。制御部10は、結合係数が収束したと判別した場合(ステップS11;YES)、ステップS12の処理に進み、結合係数が収束していないと判別した場合(ステップS11;NO)、ステップS2の処理に戻す。
(ステップS12)制御部10は、結合係数を決定し、学習モードを終了する。
以上で、識別装置1は、結合係数Wの更新を終了する。
<音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18、乗算部19、結合モデル算出部20、重みベクトル学習部21が行う処理の一例>
次に、音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18、乗算部19、結合モデル算出部20、重みベクトル学習部21が学習モードのとき行う処理の一例について説明する。
説明を簡単にするため、学習に用いる命令が『フォークをキッチンから持ってきて』の1つであり、学習サンプルデータベース11が記憶しているクラスが3つ(=L、クラス〜クラス)であるとする。
音声認識部14は、音声信号『フォークをキッチンから持ってきて』に対して音声認識と形態素解析を行ってK個の認識結果(音声認識結果ともいう)である単語列を得たとする。認識結果の単語列は、例えば『ふぉ、くを、きーから、もって、きて』や『ふぉーく、を、きっちん、か、ら、もってきて』等である。また、音声認識部14は、認識した単語列における単語毎に、信頼度であるスコアS(x)を算出し、算出したスコアS(x)を乗算器191に出力する。音声認識部14は、単語列と単語毎のスコアのペアを行動識別部16、スロット抽出部17に出力する。
次に、行動識別部16は、音声認識部14が出力したK個の単語列それぞれから、3つのサポートベクターマシンを用いて、行動識別クラスを識別する。ここで、3つのサポートベクターマシンは、クラス『持ってくる』を識別する識別器、クラス『(電気を)つける』を識別する識別器、クラス『(電気を)消す』を識別する識別器であるとする。行動識別部16は、音声認識部14が出力したK個の単語列それぞれに対して、3つのサポートベクターマシンを用いて、サポートベクターマシン毎、すなわちクラス毎のスコアS2、J(x)を算出し、算出したスコアS2、J(x)を乗算器192に出力する。また、行動識別部16は、K個の単語列それぞれに対する識別結果(行動識別結果ともいう)とスコアのペアを過不足判定部18に出力する。行動識別部16は、例えば、1個目の単語列からクラス『持ってくる』、2個目の単語列からクラス『(電気を)消す』、・・・を識別する。
次に、スロット抽出部17は、音声認識部14が出力したK個の単語列それぞれからスロットを抽出する。各単語列から抽出したスロットの数は、例えば、1個目の単語列から2つ、2個目の単語列から1つ、・・・、K個目の単語列から2つであるとする。スロット抽出部17は、単語列それぞれから抽出したスロットそれぞれに対してスコアS(x)を算出し、算出した単語列毎かつスロット毎のS(x)を乗算器193に出力する。スロット抽出部17は、単語列毎に、抽出したスロット(スロット抽出結果ともいう)とスロット毎に算出したスコアのペアを過不足判定部18に出力する。
次に、過不足判定部18は、学習サンプルデータベース11が記憶している行動名と必要なスロットの関係に基づいて、行動識別部16が出力した単語列毎の識別結果における、その単語列からスロット抽出部17が抽出したスロットが過剰であるか不足しているかを判定する。過不足判定部18は、スロットの過不足の判定結果に基づいてスコアS(x)を算出し、算出したスコアS(x)を乗算器194に出力する。
乗算器191は、音声認識部14が出力した単語列毎のスコアS(x)それぞれに、結合係数wを乗じて、乗じたそれぞれの値を結合モデル算出部20に出力する。乗算器192は、行動識別部16が出力した単語列毎のスコアS(x)それぞれに、結合係数wを乗じて、乗じたそれぞれの値を結合モデル算出部20に出力する。乗算器193は、スロット抽出部17が出力した単語列毎かつスロット毎のスコアS(x)それぞれに、結合係数wを乗じて、乗じたそれぞれの値を結合モデル算出部20に出力する。乗算器194は、過不足判定部18が出力した単語列毎のスコアS(x)に、結合係数wを乗じて、乗じた値を結合モデル算出部20に出力する。
結合モデル算出部20は、乗算器191が出力した値と、乗算器192が出力した値と、乗算器193が出力した値と、乗算器194が出力した値を取得する。結合モデル算出部20は、全ての組み合わせを算出する。
ここで、命令が『フォークをキッチンから持ってきて』である場合、行動識別クラスにおける正解クラスはクラスの『持ってくる』である。そして、クラスの『(電気を)つける』と、クラスの『(電気を)消す』は不正解クラスである。このため、最大クラス抽出部211は、クラスを正解クラスとする。そして、最大クラス抽出部211は、全ての組み合わせの中で、その行動識別結果が最も大きな値(スコア×結合係数)であり、かつ正解クラスと一致していて、さらにスロット抽出結果が正しいものを、音声認識結果の値(スコア×結合係数)が大きい順に探索する。最大クラス抽出部211は、この条件に合う音声認識結果におけるスコアを、正解クラスに対する音声認識スコアに決定する。次に、最大クラス抽出部211は、この条件に合うスロット抽出結果におけるスコアを、正解クラスに対するスロット抽出スコアに決定する。次に、最大クラス抽出部211は、この条件に合う過不足判定におけるスコアを、正解クラスに対する過不足判定スコアに決定する。
最大クラス抽出部211は、上記の以外の不正解クラスについて、複数の組み合わせのうち、行動識別クラスがクラスとクラスの値を、全て正解クラス以外の値として学習に用いる。なお、複数の組み合わせのうち、どの値が不正解クラスに対応する解釈(スコアの組)として採用されるかは、学習のその時点毎での結合係数に依存している。
なお、本実施形態では、識別器が4つ、結合係数が4つの例を説明したが、これに限られない。本実施形態の手法は、識別器が2つ以上、結合係数が2つ以上の識別装置に適用可能である。
また、上述した例では、2次元の2つのクラスを、分離境界面を用いて分離する例を説明したが、これに限られない。n(nは2以上)次元のnのクラスをn次元の超平面を用いて分離するようにしてもよい。また、本実施形態では、線形分離する例を説明したが、これに限られない。重みベクトル学習部21は、サポートベクターマシン215にカーネル法を組み合わせて結合係数を設定してもよい。
また、本実施形態では、ロボット2に対する命令の音声信号から、行動とスロットを抽出する例を説明したが、これに限られない。識別装置1を使う環境に応じた命令であっても構わない。また、命令は、音声信号に限られない。さらに、識別する単語や抽出する単語は、命令に応じたものであってもよい。
ここで、識別モードのときの識別装置1が行う処理を説明する。
音声認識部14は、音声信号を取得し、取得した音声信号に対して、学習モードのときと同様に音声認識と形態素解析を行う。そして、行動識別部16は、音声認識部14が形態素解析した結果に対して、学習モードのときと同様に音声認識部14が出力した単語列それぞれから、複数のサポートベクターマシンを用いて、行動識別クラスを識別する。また、スロット抽出部17は、音声認識部14が形態素解析した結果に対して、学習モードのときと同様に音声認識部14が出力した複数の単語列それぞれからスロットを抽出する。また、過不足判定部18は、学習モードのときと同様に、学習サンプルデータベース11が記憶している行動名と必要なスロットの関係に基づいて、行動識別部16が出力した単語列毎の識別結果における、その単語列からスロット抽出部17が抽出したスロットが過剰であるか不足しているかを判定する。そして、乗算部19は、結合係数記憶部13が記憶している学習モードのときに決定した結合係数を、各部が出力したスコアに乗ずる。
結合モデル算出部20は、学習モードのときと同様に全ての組み合わせを算出し、算出結果を出力部22に出力する。出力部22は、結合モデル算出部20が出力した値の中で最大となるときの行動識別部16の出力とスロット抽出部17の出力を抽出し、抽出した結果を識別結果として行動生成部25に出力する。
<実験結果>
次に、本実施形態の識別装置1で結合係数を設定した実験結果の一例を説明する。実験では、学習サンプルデータベース11が595個の命令を記憶し、この595個のサンプルデータを用いて結合係数w〜wを設定した。また、実験では、識別装置1をコンピュータのハードウェアとソフトウェアを用いて構成した。また、実験に用いたコンピュータのCPUのクロックは、1.6GHzである。
図9は、得られた結合係数を示す図である。図9に示すように、全探索して設定した結合係数は、w=0.2、w=0.2、w=0.1、w=1であった。そして、本実施形態の手法によって設定した結合係数は、w=0.000948、w=0.161839、w=0.000779、w=0.018409であった。
次に、図9に示した結合係数の設定の計算に要した計算時間とサンプルデータ内での識別の精度について説明する。なお、精度は、K−分割公差検定(例えば、参考文献2参照)での精度である。
参考文献2;C.M.ビショップ著、元田浩監修、パターン認識と機械学習 上巻、丸善出版、2012、pp32
図10は、サンプルデータ内での精度と結合係数の計算時間を示す図である。
図10に示すように、結合係数に初期値を用いた場合の精度は、77.0%であった。
全探索して設定した結合係数を用いた場合の精度は、87.6%であった。全探索して結合係数を設定するのに要した計算時間は、26401秒(=7時間20分1秒)であった。そして、本実施形態の手法によって設定した結合係数を用いた場合の精度は、全探索と同等の86.7%であった。また、本実施形態の手法によって結合係数を設定するのに要した計算時間は、35秒であり、全探索の計算時間の約1/754であった。なお、24−分割公差検定を用いて、本実施形態の識別結果を評価した結果は、86.2%であった。すなわち、従来の手法では、結合係数の計算時間が10のオーダーであったが、本実施形態によれば計算時間が4のオーダーに短縮することができる。
以上のように、本実施形態によれば、サポートベクターマシンを用いて結合係数を設定するため、全探索によって設定した場合と同等の精度の結合係数の設定に要する計算時間を、全探索と比較して大幅に短縮できる。
また、本実施形態では、サポートベクターマシンにおいて、分離境界面が原点を通る制約を設け、さらに学習モードのときの特徴量ベクトルに正解クラスを示す+1のラベルを付与するようにしたので、演算精度を向上させることができ、さらに演算時間を短縮することができる。
[第2実施形態]
図11は、本実施形態に係るロボット2Aが備える識別装置1の概略構成を示すブロック図である。第1実施形態のロボット2と同じ機能を有する構成要素については、同じ符号を用いて説明を省略する。
図11に示すように、ロボット2Aは、識別装置1A、行動生成部25、および行動制御部26を備えている。また、識別装置1Aは、制御部10A、学習サンプルデータベース11、サンプル選択部12A、結合係数記憶部13、音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18、乗算部19、結合モデル算出部20(算出部)、重みベクトル学習部21A、および出力部22を備えている。重みベクトル学習部21Aは、クラス抽出部211A(抽出部)、差分算出部212A、変換部213A、および結合係数算出部214Aを備えている。
制御部10Aは、学習モードと識別モードを切り替えて識別装置1Aを制御する。制御部10Aは、学習モードで識別装置1Aを制御するとき、学習モードを示す情報を、サンプル選択部12A、音声認識部14、結合モデル算出部20、および重みベクトル学習部21Aに出力する。制御部10Aは、識別モードで識別装置1Aを制御するとき、識別モードを示す情報を、音声認識部14、結合モデル算出部20、および出力部22に出力する。制御部10Aは、識別モードのとき、学習モードで設定した結合係数を用いて識別する。
サンプル選択部12Aは、制御部10Aが出力した学習モードを示す情報を取得したとき毎に、学習サンプルデータベース11が記憶しているサンプルデータの中から1つずつ選択し、選択したサンプルデータを音声認識部14に出力する。
結合モデル算出部20は、乗算部19が出力した値w・S1,j(x)〜w・S4,j(x)を、式(1)を用いて加算する。
結合モデル算出部20は、制御部10Aが学習モードを示す情報を出力したとき、乗算部19から受け取ったスコアS1,j(x)〜スコアS4,j(x)と,式(1)により加算した値G(x)を識別結果として重みベクトル学習部21Aに出力する。結合モデル算出部20は、制御部10Aが識別モードを示す情報を出力したとき、値G(x)を出力部22に出力する。
重みベクトル学習部21Aは、制御部10Aが学習モードを示す情報を出力したとき、学習サンプルデータベース11が記憶している複数のサンプルデータ毎に、結合モデル算出部20を介して受け取ったスコアS1,j(x)〜スコアS4,j(x)と、結合モデル算出部20が出力した値G(x)を用いて結合係数Wを算出する。
クラス抽出部211Aは、結合モデル算出部20を介して乗算部19から受け取った値S1,j(x)〜S4,j(x)において、要素モデル(音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18)毎の正解クラスをyとする。正解クラスyのときの値Sk,i(x)と、正解クラス以外の不正解クラスのときの値それぞれをSk,o(x)o∈{1,…,J}ただしo≠yとして差分算出部212Aに出力する。
差分算出部212Aは、識別器k毎に正解クラスyの値Sk,i(x)と、不正解クラスの値Sk,o(x)それぞれとの差dk,iそれぞれを、前述した式(2)を用いて算出し、算出した識別器k毎の差dk,iを変換部213Aに出力する。すなわち、差分算出部212Aは、要素モデル(音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18)毎に正確クラスと不正解クラスとの差を算出することで各クラス別の特徴量を算出する。すなわち、本実施形態において、識別器k毎の差dk,iは、クラス毎に複数個ある。
変換部213Aは、各クラス別に、差分算出部212Aが出力した識別器k毎の差dk,iのベクトルを特徴量ベクトルD(=(d1,i,d2,i,d3,i,d4,i))とし、さらに特徴量ベクトルDに正解クラスを示す+1のラベルを追加して各クラス別に生成する。また、変換部213Aは、各クラス別の特徴量ベクトルDとラベル+1を、命令である音声信号に対応付けて学習サンプルデータベース11に記憶する。
結合係数算出部214Aは、学習サンプルデータベース11が記憶している全てのサンプルデータに対して、変換部213Aが各クラス別に出力した+1のラベルが追加された特徴量ベクトルDを、サポートベクターマシン215を用いて学習を行う。結合係数算出部214Aは、結合係数Wを算出し、算出した結合係数Wを結合係数記憶部13に記憶させて更新する。
図12は、第1実施形態と第2実施形態の差異を示す図である。図12において、横軸をz、縦軸をzとする。また、図12は、あるサンプルデータに対して2つの不正解クラスがあるときの特徴量(点g411、点g412)がある例を示している。点g411は、あるサンプルデータの不正解クラス(1)の特徴量であり、点g412は、あるサンプルデータの不正解クラス(2)の特徴量である。
第1実施形態では、結合係数の学習時に、正解クラスとそれ以外のクラス(不正解クラス)の中で、結合スコアが最大のものだけを用い、収束するまで繰り返し最適化計算を行う。これにより、第1実施形態によれば、ノイズが多いデータの場合に、ノイズの影響を受けにくい効果を得ることもできる。そして、図12に示した例において、第1実施形態では、探索段階での結合係数の組み合わせが線g401の状態のとき、点g411が不正解クラスの最大値として抽出され学習に用いられる。また、第1実施形態では、探索段階での結合係数の組み合わせが線g402の状態のとき、点g412が不正解クラスの最大値として抽出され学習に用いられる。この2点のどちらを用いるかは、収束までの過程で変化する。
一方、本実施形態では、上述したように、結合係数の学習時に、正解クラスと全ての不正解クラスを用いて、1回だけ最適化計算を行うようにした。これにより、本実施形態では、演算量を低減することができる。また、本実施形態によれば、全ての不正解クラスを用いて1回だけ最適化計算を行うことで探索を行わないため、局所解に陥ることを防ぐことができる。すなわち、本実施形態では、図に示した例において、点g411も点g412も同時に用いて結合係数を学習する。
次に、本実施形態における学習モードのときの結合係数Wの更新方法について説明する。
図13は、本実施形態に係る結合係数Wの更新方法を示すフローチャートである。なお、第1実施形態で説明した図8のフローチャートと同様の処理については、同じ符号を用いて説明を省略する。
(ステップS2)サンプル選択部12Aは、学習サンプルデータベース11が記憶しているサンプルデータ全てに対して、サンプルデータ毎にステップS3、ステップS101、ステップS102の処理を行う。
(ステップS3)サンプル選択部12Aは、学習サンプルデータベース11が記憶しているサンプルデータの中から1つのサンプルデータxを選択する。サンプル選択部12Aは、選択後、ステップS101の処理に進める。
(ステップS101)結合モデル算出部20は、乗算部19が出力した値S1,j(x)〜S4,j(x)をそのまま重みベクトル学習部21Aに出力する。続けて、クラス抽出部211Aは、要素モデル(音声認識部14、行動識別部16、スロット抽出部17、過不足判定部18)毎に、正解クラスyのときの値Sk,i(x)と、正解クラス以外の不正解クラスのときの値それぞれをSk,o(x)として抽出する。続けて、差分算出部212Aは、識別器k毎に正解クラスyの値Sk,i(x)と、不正解クラスの値Sk,o(x)それぞれとの差dk,iそれぞれを、式(2)を用いて算出する。差分算出部212Aは、算出後、ステップS102の処理に進める。
(ステップS102)変換部213Aは、各クラス別に、差分算出部212Aが出力した識別器k毎の差dk,iのベクトルを特徴量ベクトルDとし、さらに特徴量ベクトルDに正解クラスを示す+1のラベルを追加して各クラス別に生成する。
(ステップS8)サンプル選択部12Aは、学習サンプルデータベース11が記憶しているサンプルデータ全てに対して、ステップS3、ステップS101、ステップS102の処理が終了した後に、ステップS9の処理に進む。
(ステップS9)結合係数算出部214Aは、学習サンプルデータベース11が記憶している全てのサンプルデータに対して、変換部213Aが各クラス別に出力した+1のラベルが追加された特徴量ベクトルを、サポートベクターマシン215を用いて学習を行う。結合係数算出部214Aは、ステップS12Aの処理に進める。
(ステップS12)制御部10Aは、結合係数を決定し、学習モードを終了する。
以上で、識別装置1Aは、結合係数Wの更新を終了する。
従来の識別手法では、複数の識別平面が必要になり、それらを平均化等することにより、識別するので、適切な識別をすることが難しかった。一方、第1実施形態または第2実施形態によれば、正解クラスのデータと不正解クラスのデータとの差分を用いることにより、サポートベクターマシンから見たときのデータを正規化することができる。これにより、第1実施形態または第2実施形態によれば、適切に識別平面を得ることができるので、識別精度を向上させることができる。
また、第2実施形態によれば、サポートベクターマシンの演算段階において、全ての不正解クラスのデータを用いて演算を行うので、局所解に陥ることを低減することができる。
ここで、サポートベクターマシンを用いて、正解クラスと不正解クラスを直接識別する場合に発生する場合もある問題について、さらに説明する。
図14は、サポートベクターマシンを用いて、正解クラスと不正解クラスを直接識別する場合に発生する場合もある問題の一例を示す図である。図14において、横軸をg、縦軸をgとする。なお、g、g2それぞれは、要素モデルのクラスに対する出力(スコア)を表す。また、図14において、○nは、n番目の正解クラスの評価結果(g1とg2とのスコアの組み)を表し、×n−{1,2,3}は、n番目の負正解クラスの評価結果(g1とg2とのスコアの組み)を表す。なお、図14に示す例は、各サンプルにおいて正解クラスが1つ、不正解クラスが3つある場合の例である。
図14に示すように、1番目の評価結果(○、×1−1、×1−2、×1−3)における正解クラスと不正解クラスを分ける平面はg501である。2番目の評価結果(○、×2−1、×2−2、×2−3)における正解クラスと不正解クラスを分ける平面はg502である。3番目の評価結果(○、×3−1、×3−2、×3−3)における正解クラスと不正解クラスを分ける平面はg503である。このように、正解クラスと不正解クラスを分ける平面はサンプルデータ毎に異なる場合があり、これらを1つに平均化して1つの分離境界面g511を設定しようとしても、うまく設定できない場合がある。
このため、第1実施形態および第2実施形態では、正解クラスと不正解クラスとの差分を算出して、分離する平面を算出するようにした。この理由を、図15を用いて、さらに説明する。
図15は、第1実施形態および第2実施形態において正解クラスと不正解クラスとの差分を算出することの効果を示す図である。図15において、横軸をz、縦軸をzとする。図15において、・n−jは、図14の正解クラスの評価結果○nと負正解クラスの評価結果×n−{1,2,3}から算出した差分データである。
従来技術において、仮に正解クラスの評価結果○nと負正解クラスの評価結果×n−{1,2,3}から算出した差分データを算出しても、このままでは、正解データと不正解データの2つのクラスが1つのクラスになってしまうため、従来技術によるサポートベクターマシンを用いた手法では、正解クラスと不正解クラスとを分離する分離境界面を求めることができない。
このため、第1実施形態および第2実施形態では、分離境界面g611を求めるために、分離境界面のバイアスを0に固定、すなわち原点を通るように、+1のラベルを付与した。これにより、第1実施形態および第2実施形態によれば、差分を算出した後、1つのクラスであっても、マージン最大化原理を用いることで、分離境界面を求めることができる。
なお、本発明における識別装置1(または1A)またはロボット2(または2A)の一部または全ての機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、1A…識別装置、2、2A…ロボット、10、10A…制御部、11…学習サンプルデータベース、12、12A…サンプル選択部、13…結合係数記憶部、14…音声認識部、16…行動識別部、17…スロット抽出部、18…過不足判定部、19…乗算部、20…結合モデル算出部、21、21A…重みベクトル学習部、22…出力部、25…行動生成部、26…行動制御部、191〜194…乗算器、211…最大クラス抽出部、211A…クラス抽出部、212、212A…差分算出部、213、213A…変換部、214、214A…結合係数算出部、215…サポートベクターマシン

Claims (9)

  1. 学習時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出部と、
    前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出部と、
    前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出部と、
    前記識別器毎に算出された差を用いて特徴量ベクトルを算出する変換部と、
    複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、前記結合係数を更新する結合係数設定部と、
    を備え、
    前記更新された結合係数を用いて入力データを識別する識別装置。
  2. 前記抽出部は、前記識別結果の中から全ての前記不正解クラスを抽出し、
    差分算出部は、前記正解クラスと、前記全ての不正解クラスとの差を前記識別器毎に、かつ各クラス別に算出する、請求項1に記載の識別装置。
  3. 前記算出部は、
    学習時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を前記識別結果として出力し、
    前記抽出部は、
    前記識別結果の中から正解クラス以外の前記識別結果の最大値を抽出し、
    前記差分算出部は、
    前記正解クラスにおける学習データの識別結果と、前記不正解クラスにおける前記識別結果が最大値のクラスにおける学習データの識別結果との差を前記識別器毎に算出する、請求項1に記載の識別装置。
  4. 前記変換部は、算出した前記特徴量ベクトルに正確クラスを示す+1のラベルを付加して、前記特徴量ベクトルに基づく値に変換し、
    前記結合係数設定部は、識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新する、
    請求項1から請求項3のいずれか1項に記載の識別装置。
  5. 前記識別境界は、原点を通る、
    請求項4に記載の識別装置。
  6. 前記結合係数の初期値は1であり、
    前記結合係数設定部は、
    識別境界とサポートベクターとのマージンが収束するまで学習を繰り返して前記結合係数を更新する、
    請求項4または請求項5に記載の識別装置。
  7. 前記学習データおよび前記入力データは、行動の指示を表す単語と名詞が含まれる音声信号であり、
    前記複数の識別器それぞれは、音声認識を行う識別器、前記音声認識された結果に含まれる行動を表す単語を識別する識別器、前記音声認識された結果に含まれる名詞を識別する識別器、前記行動を表す単語と前記名詞を過不足無く抽出できたか否かを識別する識別器である、
    請求項1から請求項6のいずれか1項に記載の識別装置。
  8. 前記学習データの音声信号は、ロボットに行動を促す指示の音声信号であり、
    請求項1から請求項7のいずれか1項に記載の識別装置を備えるロボット。
  9. 算出部が、学習時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を識別結果として出力し、識別時に、少なくとも2つのクラスのデータから構成される学習データに対して、複数の識別器それぞれで識別した結果を、結合係数を用いて線形結合した結合結果値を算出して前記識別結果として出力する算出手順と、
    抽出部が、前記識別結果から前記識別器毎に正解クラスと前記正解クラス以外の不正解クラスとを抽出する抽出手順と、
    差分算出部が、前記正解クラスと前記不正解クラスとの差を前記識別器毎に算出する差分算出手順と、
    変換部が、前記識別器毎に算出された差を用いて特徴量ベクトルを算出する差分算出手順と、
    変換部が、前記複数の識別器毎に算出された差を用いて特徴量ベクトルを算出し、算出した前記特徴量ベクトルに正解クラスを示す+1のラベルを付加して、前記特徴量ベクトルに基づく値に変換する変換手順と、
    結合係数設定部が、複数の学習データに対して、前記特徴量ベクトルに基づく値を、サポートベクターマシンを用いて学習することで、原点を通る識別境界とサポートベクターとのマージンが最大となる前記結合係数に更新する結合係数設定手順と、
    を含む識別方法。
JP2016024162A 2015-11-18 2016-02-10 識別装置、ロボットおよび識別方法 Active JP6634635B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/352,650 US11049045B2 (en) 2015-11-18 2016-11-16 Classification apparatus, robot, and classification method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015225932 2015-11-18
JP2015225932 2015-11-18

Publications (2)

Publication Number Publication Date
JP2017097317A true JP2017097317A (ja) 2017-06-01
JP6634635B2 JP6634635B2 (ja) 2020-01-22

Family

ID=58803861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016024162A Active JP6634635B2 (ja) 2015-11-18 2016-02-10 識別装置、ロボットおよび識別方法

Country Status (1)

Country Link
JP (1) JP6634635B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046450A (ja) * 2017-09-01 2019-03-22 ヤフー株式会社 選択装置、選択方法および選択プログラム
WO2019159602A1 (ja) * 2018-02-15 2019-08-22 日本電信電話株式会社 データ処理装置、方法、およびプログラムを記憶した媒体
JP2019155561A (ja) * 2018-03-15 2019-09-19 オムロン株式会社 ロボットの動作制御装置
CN111339770A (zh) * 2020-02-18 2020-06-26 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
JP2023531327A (ja) * 2020-06-29 2023-07-21 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309920A (ja) * 2004-04-23 2005-11-04 Alliance Group Inc 多数決装置及びその学習方法と多クラス識別装置
WO2008084842A1 (ja) * 2007-01-12 2008-07-17 Nec Corporation カーネル関数生成方法および装置、データ分類装置
JP2011053690A (ja) * 2009-09-03 2011-03-17 Honda Motor Co Ltd コマンド認識装置、コマンド認識方法、及びコマンド認識ロボット

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309920A (ja) * 2004-04-23 2005-11-04 Alliance Group Inc 多数決装置及びその学習方法と多クラス識別装置
WO2008084842A1 (ja) * 2007-01-12 2008-07-17 Nec Corporation カーネル関数生成方法および装置、データ分類装置
JP2011053690A (ja) * 2009-09-03 2011-03-17 Honda Motor Co Ltd コマンド認識装置、コマンド認識方法、及びコマンド認識ロボット

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
内山俊郎他: "確信度推定を用いた複数分類器の結合", 第84回 知識ベースシステム研究会資料, JPN6019044176, 20 January 2009 (2009-01-20), pages 33 - 38, ISSN: 0004153677 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046450A (ja) * 2017-09-01 2019-03-22 ヤフー株式会社 選択装置、選択方法および選択プログラム
WO2019159602A1 (ja) * 2018-02-15 2019-08-22 日本電信電話株式会社 データ処理装置、方法、およびプログラムを記憶した媒体
JPWO2019159602A1 (ja) * 2018-02-15 2020-09-24 日本電信電話株式会社 データ処理装置、方法、およびプログラムを記憶した媒体
US11960499B2 (en) 2018-02-15 2024-04-16 Nippon Telegraph And Telephone Corporation Sales data processing apparatus, method, and medium storing program for sales prediction
JP2019155561A (ja) * 2018-03-15 2019-09-19 オムロン株式会社 ロボットの動作制御装置
WO2019176478A1 (ja) * 2018-03-15 2019-09-19 オムロン株式会社 ロボットの動作制御装置
US11478926B2 (en) 2018-03-15 2022-10-25 Omron Corporation Operation control device for robot, robot control system, operation control method, control device, processing device and recording medium
CN111339770A (zh) * 2020-02-18 2020-06-26 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
CN111339770B (zh) * 2020-02-18 2023-07-21 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
JP2023531327A (ja) * 2020-06-29 2023-07-21 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
JP7414188B2 (ja) 2020-06-29 2024-01-16 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP6634635B2 (ja) 2020-01-22

Similar Documents

Publication Publication Date Title
CN110992934B (zh) 面向语音识别系统黑盒攻击模型的防御方法及防御装置
CN110188358B (zh) 自然语言处理模型的训练方法及装置
US11210470B2 (en) Automatic text segmentation based on relevant context
EP3424044B1 (en) Modular deep learning model
CN108846077B (zh) 问答文本的语义匹配方法、装置、介质及电子设备
US11049045B2 (en) Classification apparatus, robot, and classification method
JP6634635B2 (ja) 識別装置、ロボットおよび識別方法
CN108475262A (zh) 用于文本处理的电子设备和方法
KR102577589B1 (ko) 음성 인식 방법 및 음성 인식 장치
KR101837262B1 (ko) 단어 자질 가중치를 적용한 딥 러닝 기반 개체 유형 분류 방법
US20240005093A1 (en) Device, method and program for natural language processing
CN113268609A (zh) 基于知识图谱的对话内容推荐方法、装置、设备及介质
CN117234341B (zh) 基于人工智能的虚拟现实人机交互方法及系统
CN110570879A (zh) 基于情绪识别的智能会话方法、装置及计算机设备
CN113887643A (zh) 一种基于伪标签自训练和源域再训练的新对话意图识别方法
CN115662435B (zh) 一种虚拟教师拟真化语音的生成方法及终端
CN115658954B (zh) 一种基于提示学习的跨模态检索对抗防御方法
CN111161726B (zh) 一种智能语音交互方法、设备、介质及系统
Li et al. Speaker verification using simplified and supervised i-vector modeling
CN116226357B (zh) 一种输入中包含错误信息场景下的文档检索方法
CN116982054A (zh) 使用前瞻树搜索的序列到序列神经网络系统
KR20210042696A (ko) 모델 학습 방법 및 장치
CN114913590B (zh) 一种数据的情感识别方法、装置、设备及可读存储介质
JP6770709B2 (ja) 機械学習用モデル生成装置及びプログラム。
JP2015001695A (ja) 音声認識装置、音声認識方法及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191126

R150 Certificate of patent or registration of utility model

Ref document number: 6634635

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150