以下に添付図面を参照して、情報処理装置、情報処理方法、および情報処理プログラムの、実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、本実施の形態の情報処理装置10の構成の一例を示す模式図である。
本実施の形態の情報処理装置10は、学習用データを用いて辞書を作成する(詳細後述)。また、本実施の形態の情報処理装置10は、半教師有り学習により、未教示データにラベルを付与し、学習用データに追加する(詳細後述)。
情報処理装置10は、処理部20と、記憶部22と、出力部24と、を含む。処理部20、記憶部22、および出力部24は、バス9を介して接続されている。
記憶部22は、各種データを記憶する。記憶部22は、例えば、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などである。なお、記憶部22を、ネットワークを介して外部装置に設けた構成であってもよい。
本実施の形態では、記憶部22は、辞書22Aと、学習用データ30と、未使用データ36と、を記憶する。また、記憶部22は、処理部20による処理中に発生する各種データも記憶する。
辞書22Aは、未知データに対する正解ラベルを認識(または特定)するための辞書である。辞書22Aは、後述する処理部20によって生成および更新される。
学習用データ30は、ラベルの付与されたデータを登録する。例えば、学習用データ30は、データベースである。なお、学習用データ30のデータ構成は、データベースに限定されない。
図2(A)は、学習用データ30のデータ構成の一例を示す模式図である。学習用データ30は、教示済データ32と、追加教示済データ34と、を含む。
教示済データ32は、正解ラベルの付与されたデータである。具体的には、教示済データ32は、パターンと、該パターンに対応する正解ラベルと、からなる。教示済データ32は、外部装置などから予め提供されたデータである。
追加教示済データ34は、後述する処理部20によってラベルの付与されたデータである。具体的には、追加教示済データ34は、パターンと、該パターンに対応するラベルと、からなる。
なお、初期の状態では、学習用データ30には、教示済データ32のみが記憶されている。そして、後述する処理部20による処理によって、学習用データ30に追加教示済データ34が追加される(詳細後述)。
図2(B)は、未使用データ36のデータ構成の一例を示す模式図である。未使用データ36は、未教示データ38を登録する。未使用データ36は、例えば、データベースである。なお、未使用データ36のデータ構成は、データベースに限定されない。
未使用データ36には、未教示データ38が登録される。未教示データ38は、情報処理装置10で処理する対象のデータであって、ラベル未付与のデータである。具体的には、未教示データ38は、パターンを含み、パターンに対応するラベルは未付与である。
本実施の形態では、後述する処理部20の処理によって、処理対象の追加教示済データ34が学習用データ30へ登録される。
図1へ戻り、説明を続ける。出力部24は、各種データを出力する。出力部24は、例えば、UI部24Aと、通信部24Bと、記憶部24Cと、を含む。
UI部24Aは、各種画像を表示する表示機能と、ユーザによる操作指示を受付ける入力機能と、を備える。表示機能は、例えば、LCDなどのディスプレイである。入力機能は、例えば、マウス、キーボードなどである。なお、UI部24Aは、表示機能と入力機能とを一体的に備えた、タッチパネルであってもよい。なお、UI部24Aを、該表示機能を備えた表示部と、該入力機能を備えた入力部と、を、別体として構成してもよい。
通信部24Bは、ネットワークなどを介して外部装置と通信する。記憶部24Cは、各種データを記憶する。なお、記憶部24Cを、記憶部22と一体的に構成してもよい。本実施の形態では、記憶部24Cには、処理部20によって確定された辞書22Aが記憶される。
処理部20は、辞書生成部20Aと、終了判断部20Bと、出力制御部20Cと、分類部20Dと、グループ辞書生成部20Gと、算出部20Hと、選択部20Iと、付与部20Jと、登録部20Kと、を備える。分類部20Dは、分類スコア算出部20Eと、データ分類部20Fと、を含む。
上記各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
辞書生成部20Aは、学習用データ30を用いて、辞書22Aを生成する。辞書22Aは、未知データに対する正解ラベルを認識するための辞書である。すなわち、辞書生成部20Aは、未知データの属するカテゴリを示す、正解ラベルを推定するための、辞書22Aを生成する。辞書22Aの生成には、公知の方法を用いればよい。
なお、学習用データ30は、後述する処理によって更新される。そして、辞書生成部20Aは、更新された学習用データ30を用いて、辞書22Aを生成する。
図3は、処理部20が実行する、情報処理の流れを示す模式図である。図3(A)および図3(B)に示すように、辞書生成部20Aは、学習用データ30を用いて、辞書22Aを生成する(ステップS1)。学習用データ30には、初期状態では、教示済データ32のみが登録されている。そして、学習用データ30には、後述する処理によって、追加教示済データ34が追加される。辞書生成部20Aは、最新の学習用データ30を用いて、辞書22Aを生成する。
図1に戻り説明を続ける。終了判断部20Bは、学習を終了するか否かを判断する。終了判断部20Bは、学習用データ30の更新および辞書22Aの生成の一連の処理(すなわち学習)を、終了するか否かを判断する。
例えば、終了判断部20Bは、終了条件を満たすか否かを判別することによって、学習を終了するか否かを判断する。終了条件は、予め設定すればよい。終了条件には、学習の継続が不可能となる条件や、学習を継続しても辞書22Aの認識精度の向上率が閾値以下となる条件を、予め設定すればよい。終了条件は、例えば、未使用データ36に未教示データ38が存在しない場合や、学習用データ30に一定回数以上変化がない場合である。一定回数とは、後述する登録部20Kによる登録処理の回数が、一定の回数であることを示す。
出力制御部20Cは、各種データを出力するように、出力部24を制御する。本実施の形態では、出力制御部20Cは、終了判断部20Bによって学習を終了すると判断されたときの、最新の辞書22Aを、最終的に確定した辞書22Aとして出力する。具体的には、出力制御部20Cは、確定した辞書22Aを、通信部24Bを介して外部装置へ送信、記憶部24Cへ記憶、UI部24Aへ表示、の少なくとも1つの処理を実行する。
分類部20Dは、未使用データ36に登録されている未教示データ38を、グループに分類する。本実施の形態では、未使用データ36には、複数の未教示データ38が登録されているものとする。分類部20Dは、複数の未教示データ38を、複数のグループに分類する。
本実施の形態では、分類部20Dは、正解ラベルに応じて、未教示データ38をグループに分類する。具体的には、分類部20Dは、正解ラベルに応じて、複数の未教示データ38を、複数のグループに分類する。
本実施の形態では、分類部20Dは、分類スコア算出部20Eと、データ分類部20Fと、を含む。
分類スコア算出部20Eは、未教示データ38について、分類スコアを算出する。分類スコアは、学習用データ30に登録されている正解ラベルに対する類似度に関する値である。
例えば、図3(C)および図3(D)に示すように、分類スコア算出部20Eは、複数の未教示データ38の各々について、分類スコアを算出する(ステップS2、ステップS2’)。
ここで、学習用データ30には、複数の正解ラベルが登録されている場合がある。このため、分類スコア算出部20Eは、未使用データ36に登録されている未教示データ38の各々について、学習用データ30に登録されている複数の正解ラベルの各々との類似度を算出する。そして、分類スコア算出部20Eは、各未教示データ38の各々について、複数の正解ラベルとの類似度の内、最も高い類似度を、該未教示データ38の分類スコアとして用いる。なお、分類スコア算出部20Eは、未教示データ38の各々について、複数の正解ラベルとの類似度の内、最も高い類似度と次に高い類似度との差を、分類スコアとして用いてもよい。
このようにして、分類スコア算出部20Eは、1つの未教示データ38について、1つの分類スコアを算出する。
図1に戻り説明を続ける。データ分類部20Fは、分類スコアに応じて、未教示データ38をグループに分類する。例えば、データ分類部20Fは、複数の未教示データ38を、分類スコアが近似する範囲の群が同じグループとなるように、複数のグループに分類する。
例えば、図3(D)および図3(E)に示すように、データ分類部20Fは、複数の未教示データ38を、分類スコアに応じて、複数のグループG(図3に示す例では、グループGA、GB、GC)に分類する(ステップS3A、S3B、S3C)。
具体的には、分類スコアが“0.0”〜“1”の範囲の値であったとする。この場合、例えば、データ分類部20Fは、分類スコアが“0.0”以上“0.3”未満の範囲、“0.3”以上“0.6”未満の範囲、および、“0.6”以上“1.0”以下の範囲、の3つのグループに分類する。
なお、分類するグループの数は、複数であればよく、限定されない。また、分類に用いる分類スコアの範囲は、任意に設定すればよく、上記範囲に限定されない。
図1に戻り、説明を続ける。グループ辞書生成部20Gは、分類部20Dで分類されたグループGの各々に属する未教示データ38を用いて、グループGごとにグループ辞書を生成する。グループ辞書は、未知データに対するラベルを認識するための辞書である。
グループ辞書生成部20Gは、グループGに属する未教示データ38と、学習用データ30と、を用いて、グループ辞書を生成すればよい。なお、未教示データ38に付与するラベルには、辞書22Aを用いて認識されたラベルを用いればよい。
なお、グループ辞書生成部20Gは、辞書生成部20Aと同様の方法を用いて、グループ辞書を生成してもよい。
なお、グループ辞書生成部20Gは、辞書生成部20Aと異なる方法を用いて、グループ辞書を生成してもよい。例えば、グループ辞書生成部20Gは、辞書生成部20Aより計算量の少ない簡易な手法を用いて、グループ辞書を生成してもよい。この場合、処理部20による全体の計算量の削減を図ることができる。
例えば、図3(E)および図3(F)に示すように、グループ辞書生成部20Gは、グループG(グループGA、GB、GC)の各々に対応する、グループ辞書40(グループ辞書40A、40B、40C)を生成する(ステップS4A、S4B、S4C)。
図1に戻り、説明を続ける。算出部20Hは、グループ辞書40を用いて、グループ辞書40に対応するグループGの評価値を算出する(図3(G)のステップS5A、S5B、S5C参照)。例えば、算出部20Hは、グループ辞書40に対する、ラベルの認識精度に応じて、評価値を算出する。
詳細には、算出部20Hは、所定のパターン群のラベルを、グループ辞書40を用いて認識する。所定のパターン群は、学習用データ30に登録されている少なくとも一部の教示済データ32の、パターンの群である。そして、算出部20Hは、グループ辞書40を用いて認識したラベルの、正解ラベルに一致する割合、誤認識率、リジェクト率、または、データ数を入力変数とする関数の出力値、の少なくとも1つを、評価値として算出する。
なお、リジェクト率とは、認識したパターンの内、リジェクトされたパターン割合を示す。リジェクトとは認識の確信度が低いなどの理由で認識結果の算出を保留する処理である。具体的には分類スコアが一定値以下など所定の基準を満たしたパターンをリジェクト対象とする。また、データ数を入力変数とする関数とは、対象のグループの規模を示す関数である。また、このデータ数とは、対象のグループに属する未教示データ38の数を示す。
選択部20Iは、評価値に基づいて、グループGを選択する。例えば、選択部20Iは、分類部20Dによって分類された複数のグループGの内、評価値が閾値以上のグループGを選択する。
なお、選択部20Iは、評価値が閾値以上のグループGを選択すればよく、選択するグループGの数は限定されない。評価値の閾値は、予め設定すればよい。例えば、評価値の閾値には、目標とする評価値となる値を予め設定すればよい。また、評価値の閾値は、ユーザによる操作指示などによって、適宜変更可能としてもよい。
また、例えば、選択部20Iは、分類部20Dによって分類された複数のグループGの内、評価値が高い順に予め定めた数のグループGを、選択してもよい。この数は、予め設定すればよい。また、この数は、ユーザによる操作指示などによって、適宜変更可能としてもよい。
例えば、選択部20Iは、グループG(グループGA、GB、GC)の内、評価値に応じて、グループGAを選択する(図3(G)、ステップS6参照)。
付与部20Jは、選択部20Iによって選択されたグループGに属する未教示データ38に、正解ラベルに応じたラベルを付与する(図3(G)、ステップS7参照)。
具体的には、付与部20Jは、グループGに属する未教示データ38の各々について、分類スコア算出部20Eによって算出された分類スコアの導出に用いられた、最も類似度の高い正解ラベルを特定する。そして、付与部20Jは、特定した正解ラベルを、該未教示データ38に含まれるパターンに対応するラベルとして付与する。
登録部20Kは、ラベルを付与された未教示データ38を、追加教示済データ34として学習用データ30へ登録する。このため、図3(H)、図3(A)、ステップS8に示すように、学習用データ30に、追加教示済データ34が追加される(図2(A)も参照)。
なお、このとき、登録部20Kは、ラベルを付与された未教示データ38を、未使用データ36から削除した上で、追加教示済データ34として学習用データ30へ登録する。このため、未使用データ36には(図2(B)参照)、ラベル未付与の未教示データ38のみが登録された状態となる。
そして、追加教示済データ34が学習用データ30に追加されることで、学習用データ30が更新されるごとに、辞書生成部20Aは、更新後の学習用データ30を用いて辞書22Aを生成する(図3(A)、図3(B)、ステップS1参照)。
次に、本実施の形態の情報処理装置10が実行する、情報処理の手順を説明する。図4は、本実施の形態の情報処理装置10が実行する、情報処理の手順の一例を示す、フローチャートである。
なお、図4の情報処理が実行される前の状態では、学習用データ30および未使用データ36には、データが何も入っていない状態であったものとして、説明する。まず、処理部20は、処理対象データを、学習用データ30および未使用データ36へ登録する(ステップS100)。例えば、処理部20が、処理対象データとして、複数の教示済データ32と、複数の未教示データ38と、を外部装置などから受け付けたと仮定する。処理部20は、複数の教示済データ32を学習用データ30へ登録し、複数の未教示データ38を未使用データ36へ登録する。
次に、辞書生成部20Aが、学習用データ30を用いて、辞書22Aを生成する(ステップS102)。
次に、終了判断部20Bが、学習を終了するか否かを判断する(ステップS104)。学習を終了しないと判断した場合(ステップS104:No)、ステップS106へ進む。
ステップS106では、分類部20Dの分類スコア算出部20Eが、未使用データ36に登録されている未教示データ38の各々について、分類スコアを算出する(ステップS106)。
次に、データ分類部20Fが、未使用データ36に登録されている複数の未教示データ38を、分類スコアに応じて、グループGに分類する(ステップS108)。そして、グループ辞書生成部20Gが、ステップS108で分類されたグループGの各々に対応する、グループ辞書40を生成する(ステップS110)。次に、算出部20Hが、グループ辞書40を用いて、グループ辞書40に対応するグループGの評価値を算出する(ステップS112)。
次に、選択部20Iが、ステップS112で算出された評価値に基づいて、グループを選択する(ステップS114)。上述したように、例えば、選択部20Iは、分類部20Dによって分類された複数のグループGの内、評価値が閾値以上のグループGを選択する。
次に、付与部20Jが、ステップS114で選択されたグループGに属する未教示データ38に、正解ラベルに応じたラベルを付与する(ステップS116)。
次に、登録部20Kが、ステップS116でラベルを付与された未教示データ38を、追加教示済データ34として、学習用データ30に登録する(ステップS118)。このとき、登録部20Kは、ラベルを付与された未教示データ38を、未使用データ36から削除する。そして、上記ステップS102へ戻る。
一方、上記ステップS104で肯定判断すると(ステップS104:Yes)、ステップS120へ進む。
ステップS120では、出力制御部20Cが、直前のステップS102の処理によって生成された最新の辞書22Aを、最終的に確定した辞書22Aとして出力する(ステップS120)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置10は、分類部20Dと、算出部20Hと、選択部20Iと、付与部20Jと、を備える。分類部20Dは、ラベル未付与の未教示データ38をグループGに分類する。算出部20Hは、グループGに属する未教示データ38を用いてグループGごとに生成された、未知データに対するラベルを認識するためのグループ辞書40に対する、ラベルの認識精度に応じて、グループGの評価値を算出する。選択部20Iは、評価値に基づいて、グループGを選択する。付与部20Jは、選択したグループGに属する未教示データ38に、正解ラベルに応じたラベルを付与する。
このように、本実施の形態の情報処理装置10は、未教示データ38の内、対応するグループ辞書40のラベルの認識精度の評価値に応じて選択された、グループGに属する未教示データ38に、ラベルを付与する。このため、複数の未教示データ38の内、認識精度向上に寄与しうる未教示データ38に対して、選択的にラベルを付与することができる。
従って、本実施の形態の情報処理装置10は、認識精度の高い辞書22Aを生成するためのデータ(学習用データ30)を提供することができる。
(第2の実施の形態)
本実施の形態では、グループの再分類や、学習用データ30における追加教示済データ34の修正を行う形態を説明する。
図5は、本実施の形態の情報処理装置10Bの構成の一例を示す模式図である。なお、上記実施の形態と同じ機能を示す構成については、同じ符号を付与して、説明を省略する場合がある。
情報処理装置10Bは、処理部25と、記憶部26と、出力部24と、を含む。処理部25、記憶部26、および出力部24は、バス9を介して接続されている。出力部24は、第1の実施の形態と同様である。
記憶部26は、各種データを記憶する。記憶部26は、辞書22Aと、学習用データ30と、未使用データ36と、評価用データ22Dと、を記憶する。本実施の形態では、記憶部26は、複数の辞書22Aを記憶する。第1の実施の形態と同様に、情報処理装置10Bの処理部25は、学習用データ30の更新と、辞書22Aの生成と、を繰り返し実行する。本実施の形態では、記憶部26は、新たな辞書22Aが生成される毎に、バージョン情報を付与し、生成された辞書22Aの各々を記憶する。このため、記憶部26には、処理部25によって辞書22Aの生成された回数に応じた数の、辞書22Aが記憶される。
評価用データ22Dは、正解ラベルの付与されたデータを登録する。評価用データ22Dは、例えば、データベースである。なお、評価用データ22Dのデータ構成は、データベースに限定されない。
評価用データ22Dは、学習に用いられないデータであり、評価値の算出にのみ用いられる。なお、評価用データ22Dの正解ラベルと、教示済データ32の正解ラベルと、は、同じ種類のラベルである。一方、評価用データ22Dのパターンと、教示済データ32のパターンと、は、同じであってもよいし、異なっていてもよい。
処理部25は、辞書生成部20Aと、終了判断部20Bと、出力制御部25Cと、分類部25Dと、グループ辞書生成部20Gと、算出部25Hと、選択部20Iと、付与部20Jと、登録部20Kと、修正部25Nと、を備える。分類部25Dは、分類スコア算出部20Eと、データ分類部20Fと、再分類判断部25Lと、再分類部25Mと、を含む。
上記各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
辞書生成部20A、終了判断部20B、分類スコア算出部20E、データ分類部20F、グループ辞書生成部20G、選択部20I、付与部20J、登録部20Kは、第1の実施の形態と同様である。
本実施の形態では、分類部25Dは、分類スコア算出部20Eと、データ分類部20Fと、再分類判断部25Lと、再分類部25Mと、を含む。
再分類判断部25Lは、選択部20Iによって選択されたグループGを、再分類するか否かを判断する。具体的には、再分類判断部25Lは、選択部20Iによって選択されたグループGが、再分類条件を満たすグループGであるか否かを判断する。再分類条件は、例えば、グループGに属する未教示データ38の数が、予め定めた数以上であること、などである。
再分類判断部25Lが、再分類すると判断すると、再分類部25Mは、選択部20Iによって選択されたグループGを、再分類する。再分類部25Mは、データ分類部20Fと同様にして、グループGを再分類すればよい。例えば、再分類部25Mは、グループGを再分類し、複数のグループGに再分類する。すなわち、再分類部25Mは、前回分類したグループGの内、選択部20Iで直前に選択されたグループGを、更に細かいグループGに再分類する。
このとき、再分類部25Mは、前回の分類時より細かいグループGに分類されるように、選択部20Iで選択されたグループGを再分類すればよい。例えば、再分類部25Mは、前回のグループGの分類時に用いた、同じグループGとする分類スコアの範囲を、前回より狭い範囲に設定し、再分類すればよい。
算出部25Hは、第1の実施の形態の算出部20Hと同様にグループ辞書40を用いて、グループ辞書40に対応するグループGの評価値を算出する。但し、算出部25Hは、評価用データ22Dに登録されている少なくとも一部の教示済データ32の、パターンの群を用いる。
詳細には、算出部25Hは、所定のパターン群のラベルを、グループ辞書40を用いて認識する。所定のパターン群は、評価用データ22Dに登録されている少なくとも一部の教示済データ32の、パターンの群である。そして、算出部25Hは、算出部20Hと同様に、グループ辞書40を用いて認識したラベルの、正解ラベルに一致する割合、誤認識率、リジェクト率、または、データ数を入力変数とする関数の出力値、の少なくとも1つを、評価値として算出する。
修正部25Nは、学習用データ30における、追加教示済データ34の内、第1条件を満たす追加教示済データ34を修正する。第1条件は、分類スコアが所定スコア以下であることを示す。
この場合、登録部20Kは、追加教示済データ34の学習用データ30への登録時に、追加教示済データ34に、グループGへの分類時に分類スコア算出部20Eによって算出された分類スコアを、対応付けて登録すればよい。
そして、修正部25Nは、学習用データ30に登録されている追加教示済データ34の内、対応する分類スコアが所定スコア以下の追加教示済データ34を、第1条件を満たす追加教示済データ34として特定すればよい。
そして、修正部25Nは、第1条件を満たす追加教示済データ34について、付与されているラベルの変更、付与されているラベルを除去し未使用データ36へ移動、および、学習用データ30から削除、の少なくとも1つを行うことによって、該追加教示済データ34を修正する。
ラベルを変更する場合、修正部25Nは、第1条件を満たす追加教示済データ34のパターンに対応する正解ラベルを、最新の辞書22Aを用いて認識する。そして、修正部25Nは、該追加教示済データ34に付与されているラベルを、認識した正解ラベルに変更すればよい。
次に、本実施の形態の情報処理装置10Bが実行する、情報処理の手順を説明する。図6は、本実施の形態の情報処理装置10Bが実行する、情報処理の手順の一例を示す、フローチャートである。
まず、処理部25は、処理対象データを記憶部26へ登録する(ステップS200)。本実施の形態では、処理部25は、複数の教示済データ32と、複数の未教示データ38と、評価用データ22Dと、を含む、処理対象データを、外部装置などから受け付ける。処理部25は、複数の教示済データ32を学習用データ30へ登録し、複数の未教示データ38を未使用データ36へ登録する。また、処理部25は、評価用データ22Dを記憶部26へ登録する。
次に、辞書生成部20Aが、学習用データ30を用いて、辞書22Aを生成する(ステップS202)。本実施の形態では、辞書生成部20Aは、新たに辞書22Aを生成する毎に、生成した辞書22Aと、該辞書22Aのバージョン情報と、を対応付けて辞書22Aへ記憶する。
次に、処理部25が、第1の実施の形態と同様にして(図4のステップS104〜ステップS110参照)、ステップS204〜ステップS210の処理を実行する。
具体的には、終了判断部20Bが、学習を終了するか否かを判断する(ステップS204)。学習を終了しないと判断した場合(ステップS204:No)、ステップS206へ進む。ステップS206では、分類部25Dの分類スコア算出部20Eが、未使用データ36に登録されている未教示データ38の各々について、分類スコアを算出する(ステップS206)。次に、データ分類部20Fが、未使用データ36に登録されている複数の未教示データ38を、分類スコアに応じて、グループGに分類する(ステップS208)。次に、グループ辞書生成部20Gが、ステップS208で分類されたグループGの各々に対応する、グループ辞書40を生成する(ステップS210)。
次に、算出部25Hが、グループ辞書40と、評価用データ22Dと、を用いて、グループ辞書40に対応するグループGの評価値を算出する(ステップS212)。
次に、選択部20Iが、ステップS212で算出された評価値に基づいて、グループGを選択する(ステップS214)。
次に、再分類判断部25Lが、ステップS214で選択されたグループGを、再分類するか否かを判断する(ステップS216)。再分類すると判断した場合(ステップS216:Yes)、ステップS218へ進む。ステップS218では、再分類部25Mは、ステップS214で選択されたグループGを、再分類する(ステップS218)。ステップS218の処理によって、前回のステップS214で選択されたグループGに属する未教示データ38が、更に細かいグループGに再分類される。そして、上記ステップS210へ戻る。
一方、ステップS216で再分類しないと判断した場合(ステップS216:No)、ステップS220へ進む。ステップS220〜ステップS222の処理は、第1の実施の形態(図4のステップS116〜ステップS118参照)と同様である。
すなわち、ステップS220では、付与部20Jが、ステップS214で選択されたグループGに属する未教示データ38に、正解ラベルに応じたラベルを付与する(ステップS220)。次に、登録部20Kが、ステップS220でラベルを付与された未教示データ38を、追加教示済データ34として、学習用データ30に登録する(ステップS222)。
次に、修正部25Nが、学習用データ30における追加教示済データ34の内、第1条件を満たす追加教示済データ34を修正する(ステップS224)。そして、上記ステップS202へ戻る。
一方、ステップS204で肯定判断すると(ステップS204:Yes)、ステップS226へ進む。ステップS226では、出力制御部25Cが、記憶部26に登録されている、各バージョン情報の各々に対応する複数の辞書22Aの内、最終的に確定した辞書22Aとして出力する辞書22Aを選択する(ステップS226)。
例えば、出力制御部25Cは、記憶部26に登録されている、各バージョン情報の各々に対応する複数の辞書22Aの内、評価用データ22Dの認識率が最大の辞書22Aを、最終的に確定した辞書22Aとして選択する。
詳細には、出力制御部25Cは、記憶部26に登録されている複数の辞書22Aの各々を用いて、評価用データ22Dに登録されているパターンに対する正解ラベルの認識を行う。そして、出力制御部25Cは、辞書22Aを用いて認識した正解ラベルと、評価用データ22Dに登録されているパターンに付与されている正解ラベルと、が一致する割合を、認識率として算出する。さらに、出力制御部25Cは、この認識率が最大の辞書22Aを、最終的に確定した辞書22Aとして、選択すればよい。
そして、出力制御部25Cは、ステップS226で選択した辞書22Aを、最終的に確定した辞書22Aとして出力する(ステップS228)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置10Bでは、再分類判断部25Lが、選択部20Iによって選択されたグループGを、再分類するか否かを判断する。そして再分類部25Mは、再分類すると判断した場合、該グループGを再分類する。
このため、本実施の形態の情報処理装置10Bでは、複数の未教示データ38の内、認識精度向上に寄与しうる未教示データ38を、より精度良く選択し、ラベルを付与することができる。従って、本実施の形態の情報処理装置10Bでは、第1の実施の形態の効果に加えて、更に、認識精度の高い辞書22Aを生成するためのデータ(学習用データ30)を提供することができる。
また、本実施の形態の情報処理装置10Bでは、分類されたグループGの数が少数であった場合についても、反復的に分類を行うことができ、計算負荷を抑制しつつ、且つ、効率よく未教示データ38を十分に分類することができる。
また、本実施の形態の情報処理装置10Bでは、修正部25Nが、学習用データ30に登録されている追加教示済データ34の内、第1条件を満たす追加教示済データ34を修正する。このため、情報処理装置10Bは、第1の実施の形態の効果に加えて、より安定的に、高い認識精度の辞書22Aを生成するためのデータ(学習用データ30)を提供することができる。
(第3の実施の形態)
本実施の形態では、N個の学習用データ30を用いる形態を説明する。
図7は、本実施の形態の情報処理装置10Cの構成の一例を示す模式図である。なお、上記実施の形態と同じ機能を示す構成については、同じ符号を付与して、説明を省略する場合がある。
情報処理装置10Cは、処理部27と、記憶部28と、出力部24と、を含む。処理部27、記憶部28、および出力部24は、バス9を介して接続されている。出力部24は、第1の実施の形態と同様である。
記憶部28は、各種データを記憶する。記憶部28は、辞書22Aと、学習用データ30と、未使用データ36と、を記憶する。本実施の形態では、記憶部28は、N個の学習用データ30を記憶する。Nは、2以上の整数である。
N個の学習用データ30は、各々、教示済データ32を登録するためのデータベースである。第1の実施の形態と同様に、学習用データ30のデータ形式は、データベースに限定されない。N個の学習用データ30における、教示済データ32の正解ラベルの種類は、互いに同じ種類である。また、N個の学習用データ30における、教示済データ32のパターンは、少なくとも一部が互いに異なる。
次に、処理部27について説明する。処理部27は、辞書生成部27Aと、終了判断部27Bと、出力制御部20Cと、分類部27Dと、グループ辞書生成部27Gと、算出部27Hと、選択部20Iと、付与部27Jと、登録部27Nと、を備える。分類部27Dは、分類スコア算出部27Eと、データ分類部20Fと、を含む。
上記各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
データ分類部20F、選択部20I、および出力制御部20Cは、第1の実施の形態と同様である。
辞書生成部27Aは、N個の学習用データ30の各々を用いて、N個の辞書22Aを生成する。
終了判断部27Bは、学習を終了するか否かを判断する。終了判断部27Bは、N個の学習用データ30の更新およびN個の辞書22Aの生成の一連の処理(すなわち学習)を、終了するか否かを判断する。
本実施の形態では、終了判断部27Bは、第1の実施の形態の終了判断部20Bと同様に、終了条件を満たすか否かを判別することによって、学習を終了するか否かを判断する。なお、終了判断部27Bは、N個の学習用データ30の少なくとも1つが、終了条件を満たした場合に、学習を終了すると判断してもよい。
分類部27Dは、未使用データ36に登録されている未教示データ38を、グループGに分類する。本実施の形態では、分類部27Dは、N個の学習用データ30の各々に登録されている正解ラベルに応じて、複数の未教示データ38を、複数のグループGに分類する。
本実施の形態では、分類部27Dは、分類スコア算出部27Eと、データ分類部20Fと、を含む。
分類スコア算出部27Eは、未教示データ38について、分類スコアを算出する。分類スコアは、第1の実施の形態と同様である。すなわち、分類スコアは、学習用データ30に登録されている、正解ラベルに対する類似度に関する値である。
ここで、本実施の形態では、N個の学習用データ30を用いる。このため、分類スコア算出部27Eは、1つの未教示データ38に対して、N個の学習用データ30の各々に登録されている正解ラベルに対する、類似度を算出する。例えば、各学習用データ30に、M個の正解ラベルが登録されていたと仮定する。この場合、分類スコア算出部27Eは、1つの未教示データ38に対して、N個×M個の類似度を算出する。
そして、分類スコア算出部27Eは、未教示データ38の各々について、N個×M個の類似度の内、最も大きい類似度を最も多く含む正解ラベルを特定する。そして、分類スコア算出部27Eは、未教示データ38の各々について、特定した正解ラベルに対応するN個の類似度の最大値または平均値を、該未教示データ38の分類スコアとして算出する。
この処理により、分類スコア算出部27Eは、1つの未教示データ38に対して、1つの分類スコアを算出する。
データ分類部20Fは、第1の実施の形態と同様にして、分類スコアに応じて、未教示データ38をグループGに分類する。
グループ辞書生成部27Gは、分類部27Dで分類されたグループGの各々に属する未教示データ38を用いて、グループGごとにグループ辞書40を生成する。
本実施の形態では、グループ辞書生成部27Gは、1つのグループGに対して、N個の学習用データ30の各々を用いて、N個のグループ辞書40を生成する。グループ辞書40の生成方法は、第1の実施の形態と同様である。
算出部27Hは、グループ辞書40を用いて、グループ辞書40に対応するグループGの評価値を算出する。本実施の形態では、上述したように、1つのグループGに対して、N個のグループ辞書40が生成されている。このため、まず、算出部27Hは、各グループGごとに、対応するN個のグループ辞書40の各々の評価値を、第1の実施の形態と同様にして算出する。そして、算出部27Hは、1つのグループGに対して算出された、N個の評価値の最大値または平均値を、該グループGの評価値として算出する。このようにして、算出部27Hは、1つのグループGに対して、1つの評価値を算出する。
選択部20Iは、第1の実施の形態と同様である。
付与部27Jは、選択されたグループGに属する未教示データ38の各々について、分類スコア算出部27Eによって算出された分類スコアの導出に用いられた、最も類似度の高い正解ラベルを特定する。詳細には、付与部27Jは、分類スコア算出部27Eによって、未教示データ38の各々について算出された、N個×M個の類似度の内、最も大きい類似度を最も多く含む正解ラベルを特定する。そして、付与部27Jは、特定した正解ラベルを、該未教示データ38に含まれるパターンに対応するラベルとして付与する。
これによって、付与部27Jは、選択部20Iによって選択されたグループGに属する未教示データ38に、正解ラベルに応じたラベルを付与する。
登録部27Nは、選択部20Iによって選択されたグループGを、N個の小グループに分割する。なお、分割の条件は任意であり、限定されない。例えば、登録部27Nは、選択部20Iによって選択されたグループGに属する追加教示済データ34を、各小グループに同じ数、分類されるように、N個の小グループに分割する。なお、登録部27Nは、N個の小グループの少なくとも一部に、互いに異なる数の追加教示済データ34が属するように、分割してもよい。
そして、登録部27Nは、該N個の小グループの各々に属する追加教示済データ34を、該N個の学習用データ30に各々登録する。言い換えると、登録部27Nは、選択部20Iによって選択されたグループGに属する、付与部27Jによってラベルの付与された追加教示済データ34を、N個に分けて、N個の学習用データ30へ各々登録する。
そして、辞書生成部27Aは、上述したように、N個の学習用データ30の各々を用いて、N個の辞書22Aを生成する。
次に、本実施の形態の情報処理装置10Cが実行する、情報処理の手順を説明する。図8は、本実施の形態の情報処理装置10Cが実行する、情報処理の手順の一例を示す、フローチャートである。
まず、処理部27は、処理対象データを記憶部28へ登録する(ステップS300)。本実施の形態では、処理部27は、複数の教示済データ32を含むN個の学習用データ30と、複数の未教示データ38と、を含む、処理対象データを、外部装置などから受け付ける。処理部27は、N個の学習用データ30を記憶部28へ記憶し、複数の未教示データ38を未使用データ36へ登録する。
次に、辞書生成部27Aが、N個の学習用データ30を用いて、N個の辞書22Aを生成する(ステップS302)。
次に、終了判断部27Bが、学習を終了するか否かを判断する(ステップS304)。学習を終了しないと判断した場合(ステップS304:No)、ステップS306へ進む。ステップS306では、分類部27Dの分類スコア算出部27Eが、未使用データ36に登録されている未教示データ38の各々について、N個の学習用データ30を用いて、分類スコアを算出する(ステップS306)。
次に、データ分類部20Fが、未使用データ36に登録されている複数の未教示データ38を、分類スコアに応じて、グループGに分類する(ステップS308)。次に、グループ辞書生成部27Gが、ステップS308で分類されたグループGの各々に対応する、N個のグループ辞書40を生成する(ステップS310)。
次に、算出部27Hが、N個の辞書22Aを用いて、N個のグループ辞書40の各々に対応するグループGの評価値を算出する(ステップS312)。
次に、選択部20Iが、ステップS312で算出された評価値に基づいて、グループGを選択する(ステップS314)。次に、付与部27Jが、ステップS314で選択されたグループGに属する未教示データ38に、正解ラベルに応じたラベルを付与し、追加教示済データ34とする(ステップS316)。
次に、登録部27Nが、ステップS314で選択されたグループGを、N個の小グループに分割する(ステップS318)。次に、登録部27Nは、該N個の小グループの各々に属する追加教示済データ34を、該N個の学習用データ30に各々登録する。言い換えると、登録部27Nは、選択部20Iによって選択されたグループGに属する、付与部27Jによってラベルの付与された追加教示済データ34を、N個に分けて、N個の学習用データ30へ各々登録する(ステップS320)。そして、上記ステップS302へ進む。
一方、上記ステップS304で肯定判断すると(ステップS304:Yes)、ステップS322へ進む。ステップS322では、出力制御部25Cが、最新のバージョン情報に対応する、N個の辞書22Aを、最終的に確定した辞書22Aとして出力する(ステップS322)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態では、情報処理装置10Cは、N個の学習用データ30を用いて生成された、N個の辞書22Aを、最終的に確定した辞書22Aとして出力する。
このため、本実施の形態の情報処理装置10Cは、上記実施の形態の効果に加えて、安定的に高精度な辞書22Aを出力することができる。
(第4の実施の形態)
本実施の形態では、同じ対象から導出された、データ形式の異なる複数種類の未教示データ38を用いて、学習用データ30を生成する方法を説明する。
図9は、本実施の形態の情報処理装置10Dの構成の一例を示す模式図である。なお、上記実施の形態と同じ機能を示す構成については、同じ符号を付与して、説明を省略する場合がある。
情報処理装置10Dは、処理部21と、記憶部29と、出力部24と、を含む。処理部21、記憶部29、および出力部24は、バス9を介して接続されている。出力部24は、第1の実施の形態と同様である。
記憶部29は、各種データを記憶する。本実施の形態では、記憶部29は、未使用データ36として、未教示データ38の組38Cを記憶する。
ここで、本実施の形態では、情報処理装置10Dは、データ形式の異なる複数種類の未教示データ38として、2種類の未教示データ38を用いる場合を、一例として説明する。しかし、3種類以上の未教示データ38を用いてもよく、2種類に限定されない。また、複数種類の未教示データ38は、対象を表現する手段が違っていればよく、データ形式は同じでもよい。
具体的には、情報処理装置10Dは、同じ対象から得られた、第1データ形式の未教示データ38と、第2データ形式の未教示データ38と、の組38Cの群を、記憶する。
なお、以下では、第1データ形式の未教示データ38を、第1未教示データ38C1と称して説明する。また、第2データ形式の未教示データ38を、第2未教示データ38C2と称して説明する。
第1未教示データ38C1とは、含まれるパターンのデータ形式が第1データ形式の、未教示データ38である。第2未教示データ38C2とは、含まれるパターンのデータ形式が第2データ形式の、未教示データ38である。なお、上記実施の形態で説明したように、未教示データ38に含まれるパターンには、対応するラベルが未付与である。
例えば、第1未教示データ38C1は、音データのパターンを含み、第2未教示データ38C2は、画像データのパターンを含む。そして、同じ組38Cに属するこれらの未教示データ38は、同じ対象(例えば、特定の種類の動物)から得られるデータである。具体的には、特定の動物(例えば、犬)の声を示す音データが、第1未教示データ38C1に含まれるパターンであり、犬の画像を示す画像データが、第2未教示データ38C2に含まれるパターンである。
また、本実施の形態では、記憶部29は、辞書22Aとして、情報処理装置10Dで扱うデータ形式の種類に対応する辞書22Aを記憶する。本実施の形態では、記憶部29は、第1辞書31Aと、第2辞書31Bと、を記憶する。
第1辞書31Aは、第1データ形式の未知データに対する正解ラベルを認識するための辞書22Aである。第2辞書31Bは、第2データ形式の未知データに対する正解ラベルを認識するための、辞書22Aである。これらの辞書22A(第1辞書31A、第2辞書31B)は、後述する処理部21の処理によって生成される。
また、本実施の形態では、記憶部29は、情報処理装置10Dで扱うデータ形式の種類に対応する学習用データ30を記憶する。本実施の形態では、記憶部29は、第1学習用データ30Aと、第2学習用データ30Bと、を記憶する。
第1学習用データ30Aは、第1データ形式の教示済データ32と、第1データ形式の追加教示済データ34と、を登録するためのデータベースである。すなわち、第1学習用データ30Aに登録される、教示済データ32および追加教示済データ34の各々に含まれるパターンは、第1データ形式のデータである。なお、第1学習用データ30Aのデータ構成は、データベースに限定されない。
なお、以下では、第1データ形式の教示済データ32を、第1教示済データ32Aと称して説明する。また、第1データ形式の追加教示済データ34を、第1追加教示済データ34Aと称して説明する。
初期の状態では、第1学習用データ30Aには、第1教示済データ32Aのみが記憶されている。そして、後述する処理部21による処理によって、第1学習用データ30Aに、第1追加教示済データ34Aが追加される(詳細後述)。
第2学習用データ30Bは、第2データ形式の教示済データ32と、第2データ形式の追加教示済データ34と、を登録するためのデータベースである。すなわち、第2学習用データ30Bに登録される、教示済データ32および追加教示済データ34の各々に含まれるパターンは、第2データ形式のデータである。なお、第2学習用データ30Bのデータ構成は、データベースに限定されない。
なお、以下では、第2データ形式の教示済データ32を、第2教示済データ32Bと称して説明する。また、第2データ形式の追加教示済データ34を、第2追加教示済データ34Bと称して説明する。
初期の状態では、第2学習用データ30Bには、第2教示済データ32Bのみが記憶されている。そして、後述する処理部21による処理によって、第2学習用データ30Bに、第2追加教示済データ34Bが追加される(詳細後述)。
処理部21は、辞書生成部21Aと、終了判断部20Bと、出力制御部20Cと、分類部21Dと、グループ辞書生成部21Gと、算出部21Hと、選択部20Iと、付与部21Jと、登録部21Kと、を備える。分類部21Dは、分類スコア算出部21Eと、データ分類部21Fと、を含む。
上記各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
辞書生成部21Aは、第1学習用データ30Aを用いて、第1辞書31Aを生成する。また、辞書生成部21Aは、第2学習用データ30Bを用いて、第2辞書31Bを生成する。辞書生成部21Aは、第1の実施の形態の辞書生成部20Aと同様にして、第1辞書31Aおよび第2辞書31Bの各々を生成すればよい。
図10は、処理部21が実行する、情報処理の流れを示す、模式図である。図10(A)および図10(B)に示すように、辞書生成部21Aは、第1学習用データ30Aを用いて、第1辞書31Aを生成する(ステップS10)。同様に、辞書生成部21Aは、第2学習用データ30Bを用いて、第2辞書31Bを生成する(ステップS11)。
第1学習用データ30Aおよび第2学習用データ30Bの各々には、初期状態では、教示済データ32(第1教示済データ32A、第2教示済データ32B)のみが登録されている。そして、第1学習用データ30Aおよび第2学習用データ30Bの各々には、後述する処理によって、追加教示済データ34(第1追加教示済データ34A、第2追加教示済データ34B)が追加される。辞書生成部21Aは、最新の学習用データ30(第1学習用データ30A、第2学習用データ30B)を用いて、辞書22A(第1辞書31A、第2辞書31B)を生成する。
図9に戻り説明を続ける。終了判断部20Bおよび出力制御部20Cは、第1の実施の形態と同様である。
次に、分類部21D、グループ辞書生成部21G、算出部21H、選択部20I、付与部21J、および登録部21Kについて説明する。なお、本実施の形態では、処理部21のこれらの各部は、未使用データ36について、2種類のデータ形式に応じた処理を行う。具体的には、未使用データ36に登録されている未教示データ38の組38Cの群の一部について、一方の種類のデータ形式に応じて下記一連の処理を行った後に、残りの一部について、他方の種類のデータ形式に応じて下記一連の処理を行う。
分類部21Dは、未使用データ36に登録されている未教示データ38の組38Cの群を、複数のグループGに分類する。
本実施の形態では、分類部21Dは、第1の実施の形態と同様に、正解ラベルに応じて、未教示データ38の組38Cの群をグループGに分類する。但し、本実施の形態では、分類部21Dは、第1データ形式を処理対象としている場合には、第1辞書31Aを用いて分類する。一方、分類部21Dは、第2データ形式を処理対象としている場合には、第2辞書31Bを用いて分類する。
本実施の形態では、分類部21Dは、分類スコア算出部21Eと、データ分類部21Fと、を含む。
分類スコア算出部21Eは、未教示データ38について、分類スコアを算出する。
本実施の形態では、分類スコア算出部21Eは、第1データ形式を処理対象としている場合には、第1辞書31Aから認識される正解ラベルに対する類似度に関する値を、分類スコアとして算出する。また、分類スコア算出部21Eは、第2データ形式を処理対象としている場合には、第2辞書31Bから認識される正解ラベルに対する類似度に関する値を、分類スコアとして算出する。
なお、分類スコアの算出方法は、各データ形式に対応する辞書22A(第1辞書31A、第2辞書31B)を用いる点以外は、第1の実施の形態と同様である。
例えば、図10(C)および図10(D)に示すように、分類スコア算出部21Eは、第1未教示データ38C1について、第1辞書31Aを用いて、分類スコアを算出する(ステップS12、ステップS13、ステップS14)。また、第2データ形式を処理対象としている場合には、分類スコア算出部21Eは、第2未教示データ38C2について、第2辞書31Bを用いて、分類スコアを算出する(ステップS32、ステップS33、ステップS34)。
図1に戻り説明を続ける。データ分類部21Fは、第1の実施の形態のデータ分類部20Fと同様に、分類スコアに応じて、未教示データ38をグループGに分類する。例えば、データ分類部21Fは、複数の未教示データ38を、分類スコアが近似する範囲の群が同じグループGとなるように、複数のグループGに分類する。
例えば、図10(D)および図10(E)に示すように、第1データ形式を処理対象としている場合には、データ分類部21Fは、複数の第1未教示データ38C1を、分類スコアに応じて、複数のグループG(図10に示す例では、グループGA、GB、・・)に分類する(ステップS15)。
同様に、第2データ形式を処理対象としている場合には、データ分類部21Fは、複数の第2未教示データ38C2を、分類スコアに応じて、複数のグループG(図10に示す例では、グループGA、GB、・・)に分類する(ステップS35)。なお、図10には、第1データ形式を処理対象としている場合も第2データ形式を処理対象としている場合も、同様なグループGへの分類がなされている例を示したが、同じ分類がなされるとは限られない。これは、第1データ形式を処理対象とした場合と、第2データ形式を処理対象とした場合と、では、分類スコアが異なるものとなるためである。
図9に戻り説明を続ける。グループ辞書生成部21Gは、分類部21Dで分類されたグループGの各々に属する未教示データ38の組38Cを用いて、グループGごとにグループ辞書40を生成する。
図10(E)および図10(F)に示すように、本実施の形態では、グループ辞書生成部21Gは、第1データ形式を処理対象としている場合、該第1未教示データ38C1と同じ組38Cの第2未教示データ38C2と、第2学習用データ30Bと、を用いて、第2グループ辞書41Bを生成する(ステップS16、ステップS17)。
なお、第1未教示データ38C1と同じ組38Cの第2未教示データ38C2とは、第1未教示データ38C1と同じ対象から得られた、第2未教示データ38C2である。
このとき、グループ辞書生成部21Gは、第2グループ辞書41Bのラベルとして、第1学習用データ30Aの第1教示済データ32Aに付与された正解ラベル(第1正解ラベルLAと称する場合がある)を用いる(ステップS18)。
このため、第2グループ辞書41Bは、第2データ形式の未知データから、第1辞書31A(および第1教示済データ32A)に規定された正解ラベルを認識するための、グループ辞書40となる。
一方、第2データ形式を処理対象としている場合、図10(E)および図10(F)に示すように、該第2未教示データ38C2と同じ組38Cの第1未教示データ38C1と、第1学習用データ30Aと、を用いて、第1グループ辞書41Aを生成する(ステップS36、ステップS37)。
このとき、グループ辞書生成部21Gは、第1グループ辞書41Aのラベルとして、第2学習用データ30Bの第2教示済データ32Bに付与された正解ラベル(第2正解ラベルLBと称する場合がある)を用いる(ステップS38)。
このため、第1グループ辞書41Aは、第1データ形式の未知データから、第2辞書31B(および第2教示済データ32B)に規定された正解ラベルを認識するための、グループ辞書40となる。
図9に戻り、説明を続ける。算出部21Hは、第1の実施の形態の算出部20Hと同様に、グループ辞書40を用いて、グループ辞書40に対応するグループGの評価値を算出する。具体的には、算出部21Hは、第2グループ辞書41Bを用いて、第2グループ辞書41Bに対応するグループGの評価値を算出する(図10(G)およびステップS19参照)。
なお、算出部21Hは、第2グループ辞書41Bに対応するグループGの評価値の算出時には、第1学習用データ30Aに登録されている少なくとも一部の第1教示済データ32Aのパターンの群を、所定のパターン群として用いて、評価値を算出する。
同様に、算出部21Hは、第1グループ辞書41Aを用いて、第1グループ辞書41Aに対応するグループGの評価値を算出する(図10(G)およびステップS39参照)。なお、算出部21Hは、第1グループ辞書41Aに対応するグループGの評価値の算出時には、第2学習用データ30Bに登録されている少なくとも一部の第2教示済データ32Bのパターンの群を、所定のパターン群として用いて、評価値を算出する。
選択部20Iは、第1の実施の形態と同様に、評価値に基づいて、グループGを選択する。例えば、選択部20Iは、第1データ形式を処理対象としている場合には、生成された第2グループ辞書41Bの評価値に応じて、グループGを選択する。また、選択部20Iは、第2データ形式を処理対象としている場合には、生成された第1グループ辞書41Aの評価値に応じて、グループGを選択する。
付与部21Jは、選択部20Iによって選択されたグループGに属する未教示データ38の組38Cに、正解ラベルに応じたラベルを付与する。
詳細には、付与部21Jは、第1データ形式を処理対象としている場合には、選択部20Iで選択したグループGに属する、第1未教示データ38C1と、該第1未教示データ38C1と同じ対象から得られた第2未教示データ38C2と、に正解ラベルに応じたラベルを付与する(図10(G)、ステップS20参照)。この時に付与するラベルに応じた正解ラベルは、分類スコア算出部21Eによって算出された分類スコアの導出に用いられた、最も類似度の高い正解ラベルである。すなわち、この時に付与するラベルに応じた正解ラベルは、第1辞書31Aから認識される正解ラベルである。
一方、付与部21Jは、第2データ形式を処理対象としている場合には、選択部20Iで選択したグループGに属する、第2未教示データ38C2と、該第2未教示データ38C2と同じ対象から得られた第1未教示データ38C1と、に正解ラベルに応じたラベルを付与する(図10(G)、ステップS40参照)。この時に付与するラベルに応じた正解ラベルは、分類スコア算出部21Eによって算出された分類スコアの導出に用いられた、最も類似度の高い正解ラベルである。すなわち、この時に付与するラベルに応じた正解ラベルは、第2辞書31Bから認識される正解ラベルである。
登録部21Kは、ラベルを付与された未教示データ38を、追加教示済データ34として学習用データ30へ登録する。
本実施の形態では、第1データ形式を処理対象としている場合には、登録部21Kは、付与部21Jによってラベルを付与された第1未教示データ38C1を、第1追加教示済データ34Aとして、第1学習用データ30Aに登録する(図10(H)、ステップS21参照)。また、該第1未教示データ38C1と同じ対象から得られた、付与部21Jによってラベルを付与された第2未教示データ38C2を、第2追加教示済データ34Bとして、第2学習用データ30Bに登録する(図10(H)、ステップS21参照)。このとき、登録部21Kは、学習用データ30(第1学習用データ30A、第2学習用データ30B)に登録した未教示データ38(第1未教示データ38C1、第2未教示データ38C2)を、未使用データ36から削除する。
また、第2データ形式を処理対象としている場合には、登録部21Kは、付与部21Jによってラベルを付与された第2未教示データ38C2を、第2追加教示済データ34Bとして、第2学習用データ30Bに登録する(図10(H)、ステップS41参照)。また、該第2未教示データ38C2と同じ対象から得られた、付与部21Jによってラベルを付与された第1未教示データ38C1を、第1追加教示済データ34Aとして、第1学習用データ30Aに登録する(図10(H)、ステップS41参照)。このとき、登録部21Kは、学習用データ30(第1学習用データ30A、第2学習用データ30B)に登録した未教示データ38(第1未教示データ38C1、第2未教示データ38C2)を、未使用データ36から削除する。
本実施の形態の処理部21では、分類部21D、グループ辞書生成部21G、算出部21H、選択部20I、付与部21J、および登録部21Kが、処理対象のデータ形式の種類ごとに、上記の一連の処理(グループGへの分類、グループ辞書40の生成、評価値の算出、グループGの選択、ラベルの付与、学習用データ30への登録)を実行する。このため、本実施の形態の情報処理装置10Dでは、異なる種類のデータ形式を用いて、未教示データ38に相補的にラベルを付与し、学習用データ30を生成することができる。
次に、本実施の形態の情報処理装置10Dが実行する、情報処理の手順を説明する。図11は、本実施の形態の情報処理装置10Dが実行する、情報処理の手順の一例を示す、フローチャートである。
まず、処理部21は、処理対象データを、学習用データ30および未使用データ36へ登録する(ステップS400)。本実施の形態では、処理部21は、処理対象データとして、第1未教示データ38C1と第2未教示データ38C2の未教示データ38の組38Cの群と、第1教示済データ32Aと第2教示済データ32Bの組の群と、を外部装置などから受付けると仮定する。処理部21は、第1教示済データ32Aを第1学習用データ30Aへ登録し、第2教示済データ32Bを第2学習用データ30Bへ登録する。また、処理部21は、第1未教示データ38C1と第2未教示データ38C2の未教示データ38の組38Cの群を、未使用データ36へ登録する。
次に、辞書生成部21Aは、第1学習用データ30Aを用いて、第1辞書31Aを生成する(ステップS402)。次に、辞書生成部21Aは、第2学習用データ30Bを用いて、第2辞書31Bを生成する(ステップS404)。
そして、終了判断部20Bが、学習を終了するか否かを判断する(ステップS406)。学習を終了しないと判断した場合(ステップS406:No)、ステップS408へ進む。
まず、処理部21は、第1データ形式を処理対象としたと仮定する。この場合、処理部21は、ステップS408〜ステップS420の処理を実行する。
詳細には、まず、分類スコア算出部21Eが、未使用データ36に登録されている複数の未教示データ38の内の一部の第1未教示データ38C1を、処理対象とする。そして、処理対象とした複数の第1未教示データ38C1について、第1辞書31Aから認識される正解ラベルに対する類似度に関する値を、分類スコアとして算出する(ステップS408)。
次に、データ分類部21Fが、ステップS408で算出された分類スコアに応じて、処理対象とした複数の第1未教示データ38C1を、複数のグループGに分類する(ステップS410)。
次に、グループ辞書生成部21Gが、処理対象の第1未教示データ38C1と同じ組38Cの第2未教示データ38C2と、第2学習用データ30Bと、を用いて、第2グループ辞書41Bを生成する(ステップS412)。
次に、算出部21Hが、ステップS412で生成された第2グループ辞書41Bを用いて、第2グループ辞書41Bに対応するグループGの評価値を算出する(ステップS414)。上述したように、算出部21Hは、第1学習用データ30Aに登録されている少なくとも一部の第1教示済データ32Aのパターンの群を、所定のパターン群として用いて、評価値を算出する。
次に、選択部20Iが、ステップS414で算出された評価値に応じて、グループGを選択する(ステップS416)。
次に、付与部21Jが、ステップS416で選択されたグループGに属する、第1未教示データ38C1と、該第1未教示データ38C1と同じ対象から得られた第2未教示データ38C2と、に第1正解ラベルLAに応じたラベルを付与する(ステップS418)。
次に、登録部21Kは、ステップS418でラベルを付与された第1未教示データ38C1を、第1追加教示済データ34Aとして、第1学習用データ30Aに登録する(ステップS420)。また、登録部21Kは、該第1未教示データ38C1と同じ対象から得られた、付与部21Jによってラベルを付与された第2未教示データ38C2を、第2追加教示済データ34Bとして、第2学習用データ30Bに登録する(ステップS420)。このとき、登録部21Kは、学習用データ30(第1学習用データ30A、第2学習用データ30B)に登録した未教示データ38(第1未教示データ38C1、第2未教示データ38C2)を、未使用データ36から削除する。
次に、処理部21は、第2データ形式を処理対象とする。そして、処理部21は、ステップS422〜ステップS434の処理を実行する。
詳細には、まず、分類スコア算出部21Eが、未使用データ36に登録されている複数の第2未教示データ38C2を、処理対象とする。そして、処理対象とした複数の第2未教示データ38C2について、第2辞書31Bから認識される正解ラベルに対する類似度に関する値を、分類スコアとして算出する(ステップS422)。
次に、データ分類部21Fが、ステップS422で算出された分類スコアに応じて、処理対象とした複数の第2未教示データ38C2を、複数のグループGに分類する(ステップS424)。
次に、グループ辞書生成部21Gが、処理対象の第2未教示データ38C2と同じ組38Cの第1未教示データ38C1と、第1学習用データ30Aと、を用いて、第1グループ辞書41Aを生成する(ステップS426)。
次に、算出部21Hが、ステップS426で生成された第1グループ辞書41Aを用いて、第1グループ辞書41Aに対応するグループGの評価値を算出する(ステップS428)。上述したように、算出部21Hは、第2学習用データ30Bに登録されている少なくとも一部の第2教示済データ32Bのパターンの群を、所定のパターン群として用いて、評価値を算出する。
次に、選択部20Iが、ステップS428で算出された評価値に応じて、グループGを選択する(ステップS430)。
次に、付与部21Jが、ステップS430で選択されたグループGに属する、第2未教示データ38C2と、該第2未教示データ38C2と同じ対象から得られた第1未教示データ38C1と、に第2正解ラベルLBに応じたラベルを付与する(ステップS432)。
次に、登録部21Kは、ステップS432でラベルを付与された第2未教示データ38C2を、第2追加教示済データ34Bとして、第2学習用データ30Bに登録する(ステップS434)。また、登録部21Kは、該第2未教示データ38C2と同じ対象から得られた、付与部21Jによってラベルを付与された第1未教示データ38C1を、第1追加教示済データ34Aとして、第1学習用データ30Aに登録する(ステップS434)。このとき、登録部21Kは、学習用データ30(第1学習用データ30A、第2学習用データ30B)に登録した未教示データ38(第1未教示データ38C1、第2未教示データ38C2)を、未使用データ36から削除する。そして、上記ステップS402へ戻る。
一方、上記ステップS406で肯定判断すると(ステップS406:Yes)、ステップS436へ進む。ステップS436では、出力制御部20Cが、直前のステップS402〜ステップS434の処理によって生成された最新の辞書22A(第1辞書31A、第2辞書31B)を、最終的に確定した辞書22Aとして出力する(ステップS436)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置10Dは、異なる種類のデータ形式を用いて、未教示データ38に相補的にラベルを付与し、学習用データ30(第1学習用データ30A、第2学習用データ30B)を生成する。
従って、本実施の形態の情報処理装置10Dは、上記第1の実施の形態の効果に加えて、更に認識精度の高い辞書22Aを生成するためのデータ(第1学習用データ30A、第2学習用データ30B)を提供することができる。
(第5の実施の形態)
本実施の形態では、未教示データ38に付与するラベルを、外部から受け付ける。
図12は、本実施の形態の情報処理装置10Eの構成の一例を示す模式図である。なお、上記実施の形態と同じ機能を示す構成については、同じ符号を付与して、説明を省略する場合がある。
情報処理装置10Eは、処理部23と、記憶部22と、出力部24と、を含む。処理部23、記憶部22、および出力部24は、バス9を介して接続されている。記憶部22および出力部24は、第1の実施の形態と同様である。
処理部23は、辞書生成部20Aと、終了判断部20Bと、出力制御部23Cと、分類部20Dと、グループ辞書生成部20Gと、算出部20Hと、選択部20Iと、付与部23Jと、登録部20Kと、受付部23Gと、を備える。
上記各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
辞書生成部20A、終了判断部20B、分類部20D、グループ辞書生成部20G、算出部20H、選択部20I、および、登録部20Kは、第1の実施の形態と同様である。
付与部23Jは、選択部20Iによって選択されたグループGに属する未教示データ38を、出力制御部23Cへ出力する。
出力制御部23Cは、各種データを出力するように、出力部24を制御する。第1の実施の形態と同様に、出力制御部23Cは、終了判断部20Bによって学習を終了すると判断されたときに辞書22Aを出力する。
本実施の形態では、出力制御部23Cは、更に、付与部23Jから受付けた未教示データ38を、UI部24Aに出力(表示)する制御を行う。このため、UI部24Aには、選択部20Iによって選択されたグループGに属する、未教示データ38の一覧が表示される。
ユーザは、UI部24Aを操作することで、UI部24Aに表示された未教示データ38に含まれるパターンの各々に対応する、ラベルを入力する。すると、受付部23Gは、UI部24Aから、未教示データ38の各々に付与する、ラベルの入力を受付ける。
すなわち、受付部23Gは、選択部20Iで選択されたグループ辞書40に対応するグループGに属する、未教示データ38に付与する、ラベルの入力を受付ける。
付与部23Jは、選択部20Iによって選択されたグループGに属する未教示データ38に、受付部23Gで受付けたラベルを付与する。
次に、本実施の形態の情報処理装置10Eが実行する、情報処理の手順を説明する。図13は、本実施の形態の情報処理装置10Eが実行する、情報処理の手順の一例を示す、フローチャートである。
情報処理装置10Eは、第1の実施の形態と同様にして、ステップS500〜ステップS514の処理を実行する(図4のステップS100〜ステップS114参照)。
具体的には、情報処理装置10Eの処理部23は、処理対象データを、学習用データ30および未使用データ36へ登録する(ステップS500)。次に、辞書生成部20Aが、学習用データ30を用いて、辞書22Aを生成する(ステップS502)。次に、終了判断部20Bが、学習を終了するか否かを判断する(ステップS504)。学習を終了しないと判断した場合(ステップS504:No)、ステップS506へ進む。
ステップS506では、分類部20Dの分類スコア算出部20Eが、未使用データ36に登録されている未教示データ38の各々について、分類スコアを算出する(ステップS506)。次に、データ分類部20Fが、未使用データ36に登録されている複数の未教示データ38を、分類スコアに応じて、グループGに分類する(ステップS508)。そして、グループ辞書生成部20Gが、グループ辞書40を生成する(ステップS510)。次に、算出部20Hが、グループ辞書40を用いて、グループ辞書40に対応するグループGの評価値を算出する(ステップS512)。次に、選択部20Iが、ステップS512で算出された評価値に基づいて、グループGを選択する(ステップS514)。
次に、付与部23Jが、ステップS514で選択されたグループGに属する未教示データ38を、出力制御部23Cへ出力する。出力制御部23Cは、受付けた未教示データ38を、UI部24Aへ表示する(ステップS516)。
ユーザは、UI部24Aに表示された未教示データ38を参照し、未教示データ38のパターンにラベルを入力する。すると、受付部23Gは、未教示データ38の各々に対応するラベルの入力を受付ける(ステップS518)。
付与部23Jは、ステップS514で選択されたグループGに属する未教示データ38に、ステップS518で受付けたラベルを付与する(ステップS520)。
次に、登録部20Kが、ステップS520でラベルを付与された未教示データ38を、追加教示済データ34として、学習用データ30に登録する(ステップS522)。そして、上記ステップS502へ戻る。
一方、上記ステップS504で肯定判断すると(ステップS504:Yes)、ステップS524へ進む。ステップS524では、出力制御部23Cが辞書22Aを出力する(ステップS524)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置10Eでは、付与部23Jは、選択部20Iで選択されたグループGに属する未教示データ38に、ユーザによって入力されることで受付けたラベルを付与する。
ここで、従来では、未教示データ38の全てに対して、ユーザがラベルの付与を行っていた。一方、本実施の形態の情報処理装置10Eは、選択部20Iで選択されたグループGに属する未教示データ38に対して、ユーザによって入力されたラベルを付与する。
従って、本実施の形態の情報処理装置10Eでは、上記第1の実施の形態の効果に加えて、ユーザの作業負荷の軽減を図ることができる。
次に、上記実施の形態の情報処理装置10、10B、10C、10D、10Eのハードウェア構成を説明する。図14は、上記実施の形態の情報処理装置10、10B、10C、10D、10Eのハードウェア構成例を示す説明図である。
上記実施の形態の情報処理装置10、10B、10C、10D、10Eは、CPU71などの制御装置と、ROM(Read Only Memory)72やRAM(Random Access Memory)73などの記憶装置と、ネットワークに接続して通信を行う通信I/F74と、各部を接続するバス75と、を備える。
上記実施の形態の情報処理装置10、10B、10C、10D、10Eで実行されるプログラムは、ROM72等に予め組み込まれて提供される。
上記実施の形態の情報処理装置10、10B、10C、10D、10Eで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、上記実施の形態の情報処理装置10、10B、10C、10D、10Eで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態の情報処理装置10、10B、10C、10D、10Eで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
上記実施の形態の情報処理装置10、10B、10C、10D、10Eで実行されるプログラムは、コンピュータを、上記実施の形態の情報処理装置10、10B、10C、10D、10Eの各部として機能させうる。このコンピュータは、CPU71がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
上記には、本発明の実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。