(57)【要約】【課題】１つの入力データに対し複数の評価者もしくは複数の判断基準が扱えるようにすること。【解決手段】データ分類器作成装置１では、まず、１対１データ作成部２０は、事例データ格納部１１に格納されたデータを基に、分類器を作成するための１対１データの集合である１対１データ集合を作成し、１対１データ格納部１２に格納する。分類器作成部３０は、１対１データ格納部１２に格納された１対１データ集合を基に複数の分類器を作成し、分類器格納部１３に格納する。分類器出力部４０は、分類器格納部１３から複数の分類器を読み出し、外部接続部１００を介して複数の分類器を出力する。【選択図】図１
2010272053.tif 000002
【特許請求の範囲】
【請求項１】
入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合を格納する事例データ格納部と、
前記事例データ格納部から事例データの集合を読み出して、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数作成する１対１データ作成部と、
前記作成された複数個数の１対１データの集合を参照しながら、１つの１対１データの集合から１つの分類器を作成するように制御して、複数の分類器を作成する分類器作成部と、
を有するデータ分類器作成装置。
【請求項２】
前記分類器作成部は、前記作成された複数個数の１対１データの集合に２種類以上の学習アルゴリズムを適用して、前記複数の分類器を作成する、請求項１に記載のデータ分類器作成装置。
【請求項３】
前記分類器作成部は、前記作成された複数個数の１対１データの集合に、２つ以上の異なる学習パラメータを用いた学習アルゴリズムを適用して、前記複数の分類器を作成する、請求項１または請求項２に記載のデータ分類器作成装置。
【請求項４】
前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納する、請求項１〜請求項３のいずれか一項に記載のデータ分類器作成装置。
【請求項５】
前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、
前記１対１データ作成部は、前記複数の評価者ごとに前記１対１データの集合を複数個数作成する１対１データ作成部と、
を有する請求項４に記載のデータ分類器作成装置。
【請求項６】
前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、
前記１対１データ作成部は、１つの１対１データの集合に前記複数の評価者の正解データが含まれるように、前記１対１データの集合を複数個数作成する、請求項４に記載のデータ分類器作成装置。
【請求項７】
前記分類器作成部は、さらに、遺伝的アルゴリズムを用いて、入力データを構成する変数を選択し、前記分類器を作成する、請求項１〜請求項６のいずれか一項に記載のデータ分類器作成装置。
【請求項８】
入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数用いて、各々の前記１対１データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力する第１の分類部と、
前記第１の分類部を構成する複数の分類器からの複数の出力データを用いて、最終的なクラスを出力する第２の分類部と、
を有するデータ分類装置。
【請求項９】
前記第１の分類部は、前記第２の分類部が出力対象とするクラスの内、一部の種類のクラスのみ出力可能な専用分類器と、前記第２の分類部が出力対象とするクラスの全種類のクラスを出力可能な一般分類器とにより構成される、
請求項８に記載のデータ分類装置。
【請求項１０】
入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数作成するステップと、
前記作成された複数個数の１対１データの集合を参照しながら、１つの１対１データの集合から１つの分類器を作成するように制御して、複数の分類器を作成するステップと、
を有するデータ分類器作成方法。
【請求項１１】
入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数用いて、各々の前記１対１データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、
前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、
を有するデータ分類方法。
【請求項１２】
入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数作成するステップと、
前記作成された複数個数の１対１データの集合を参照しながら、１つの１対１データの集合から１つの分類器を作成するように制御して、複数の分類器を作成するステップと、
をコンピュータに実行させるデータ分類器作成プログラム。
【請求項１３】
入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数用いて、各々の前記１対１データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、
前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、
をコンピュータに実行させるデータ分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルコンテンツの分類技術、及び検索技術に係り、デジタルコンテンツをクラスに分類するための分類器を作成するデータ分類器作成装置、データ分類器作成方法、データ分類器作成プログラムと、作成された分類器に基づきデジタルコンテンツを分類するデータ分類装置、データ分類方法、データ分類プログラムに関する。
【背景技術】
【０００２】
近年、デジタルコンテンツに関する圧縮技術の発展や、大容量記憶媒体の普及を背景にして、大量のデジタルコンテンツを大容量記憶媒体やコンピュータ等に格納して活用することが広く行われている。このようにデジタルコンテンツの格納数が増大するに伴い、所望のデジタルコンテンツを検索する技術への要求も高まっている。その検索方法の一つとして、デジタルコンテンツをカテゴリに予め分類することで、ユーザがそのカテゴリ情報を利用して、所望のデジタルコンテンツを取得するといった方法がある。デジタルコンテンツをカテゴリに分類する手法としては、ユーザ自身が直接分類する方法の他、入力信号から演算処理によってカテゴリ分類を行う分類器を利用する方法がある。更に、複数の分類器を組み合わせて、分類性能を向上させる技術が、特許文献１および特許文献２において開示されている。
【０００３】
特許文献１には、概念学習部により生成される複数のルール／判別木の出力を多数決部に入力し、多数決部の出力を最終的な分類結果とする技術が記載されている。
また、特許文献２には、学習データを基に複数の決定木を構築し、それら決定木を加重多数決法によって線形結合する際に、経験誤り確率から推定される誤り確率が小さくなるように学習するという分類器の作成システムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−０６４７９３号公報
【特許文献２】特開平２００１−１９５３７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記従来技術に記載されているように、決定木などの分類器を作成する場合、デジタルコンテンツと、それに対応する望ましい分類カテゴリとの組を複数格納した学習データセットを予め用意しておく必要がある。デジタルコンテンツを分類する場合に、正解となる分類結果が評価者によって異なるような、いわゆる主観的な分類が必要になることが少なくない。特に、人間の感性や嗜好に関わる分類を行う場合には、この傾向が顕著であり、正解となる分類結果が評価者によって異なることは、むしろ当り前である。例えば、あるデジタルコンテンツの印象についての正解を付与する場合、ある評価者は『美しい』というカテゴリを正解であるとしたが、ある別の評価者は『かわいい』というカテゴリを正解であるとしたといった場合である。これは、評価者の判断基準に個人差が存在することによって発生するものであるため、どちらのカテゴリも間違いであるとは言えない。
【０００６】
しかしながら、上記従来技術においては、学習データセットが複数の評価者によって作成され、同一の入力データに対して複数の「正解」が存在するような場合に、どの学習データを用いて分類器を作成すればよいかといったことは、十分には考慮されていなかった。
【０００７】
そこで、本発明は、１つの入力データに対し複数の評価者もしくは複数の判断基準を扱うことができるデータ分類器作成装置、データ分類器作成方法、データ分類器作成プログラムと、１つの入力データに対し複数の評価者もしくは複数の判断基準を扱かってデジタルコンテンツを分類することができるデータ分類装置、データ分類方法、データ分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明のデータ分類器作成装置は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合を格納する事例データ格納部と、前記事例データ格納部から事例データの集合を読み出して、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数作成する１対１データ作成部と、前記作成された複数個数の１対１データの集合を参照しながら、１つの１対１データの集合から１つの分類器を作成するように制御して、複数の分類器を作成する分類器作成部と、を有するデータ分類器作成装置である。
ここで、前記分類器作成部は、前記作成された複数個数の１対１データの集合に２種類以上の学習アルゴリズムを適用して、前記複数の分類器を作成する、データ分類器作成装置でも良い。
また、前記分類器作成部は、前記作成された複数個数の１対１データの集合に、２つ以上の異なる学習パラメータを用いた学習アルゴリズムを適用して、前記複数の分類器を作成する、データ分類器作成装置でも良い。
また、前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納する、データ分類器作成装置でも良い。
また、前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、前記１対１データ作成部は、前記複数の評価者ごとに前記１対１データの集合を複数個数作成する１対１データ作成部と、を有するデータ分類器作成装置でも良い。
また、前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、前記１対１データ作成部は、１つの１対１データの集合に前記複数の評価者の正解データが含まれるように、前記１対１データの集合を複数個数作成する、データ分類器作成装置でも良い。
また、前記分類器作成部は、さらに、遺伝的アルゴリズムを用いて、入力データを構成する変数を選択し、前記分類器を作成する、データ分類器作成装置でも良い。
また、次の発明のデータ分類装置は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数用いて、各々の前記１対１データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力する第１の分類部と、前記第１の分類部を構成する複数の分類器からの複数の出力データを用いて、最終的なクラスを出力する第２の分類部と、を有するデータ分類装置である。
ここで、前記第１の分類部は、前記第２の分類部が出力対象とするクラスの内、一部の種類のクラスのみ出力可能な専用分類器と、前記第２の分類部が出力対象とするクラスの全種類のクラスを出力可能な一般分類器とにより構成される、データ分類装置である。
また、次の発明のデータ分類器作成方法は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数作成するステップと、前記作成された複数個数の１対１データの集合を参照しながら、１つの１対１データの集合から１つの分類器を作成するように制御して、複数の分類器を作成するステップと、を有するデータ分類器作成方法である。
また、次の発明のデータ分類方法は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数用いて、各々の前記１対１データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、を有するデータ分類方法である。
また、次の発明のデータ分類器作成プログラムは、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数作成するステップと、前記作成された複数個数の１対１データの集合を参照しながら、１つの１対１データの集合から１つの分類器を作成するように制御して、複数の分類器を作成するステップと、をコンピュータに実行させるデータ分類器作成プログラムである。
また、次の発明のデータ分類プログラムは、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、１つの入力データが１つの正解データに対応する１対１データの集合を複数個数用いて、各々の前記１対１データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、をコンピュータに実行させるデータ分類プログラムである。
【発明の効果】
【０００９】
本発明によれば、１つの入力データに対し複数の評価者もしくは複数の判断基準を扱うことができると共に、１つの入力データに対し複数の評価者もしくは複数の判断基準を扱かってデジタルコンテンツを分類することができる。
その結果、１つの入力データに対し、複数の正解データが割り当てられているようなデータ集合で分類器を構築しても、分類精度の良い分類器を作成することが出来る。
また、１つの入力データに対して、複数の評価者が作成した正解データであっても、精度の良い分類器を作成することができるため、特定の評価者の評価に偏らない、バランスの良い分類器を作成することが出来る。
また、複数の評価者からなる学習データから分類器を複数構築し、その複数の分類器から得られる分類結果を統合して最終的な分類結果を取得するようにすれば、従来よりも精度の良い分類結果を取得することが出来る。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１，２におけるデータ分類器作成装置１の構成を示すブロック図である。
【図２】実施の形態１，２におけるデータ分類器作成装置１の処理の流れを示すフローチャートである。
【図３】実施の形態１〜４における事例データ格納部の一例を示す図である。
【図４】実施の形態１，２における１対１データ作成部の処理の流れを示すフローチャートである。
【図５】実施の形態１，２における１対１データ格納部の一例を示す図である。
【図６】実施の形態１〜４におけるシャッフル処理の流れを示すフローチャートである。
【図７】実施の形態１〜４における分類器作成部の処理の流れを示すフローチャートである。
【図８】実施の形態１〜４における分類器ペアの一例を示す図である。
【図９】実施の形態１，２における分類器格納部の一例を示す図である。
【図１０】実施の形態１〜４における遺伝子個体の一例を示す図である。
【図１１】実施の形態１〜４における遺伝的アルゴリズムを適用して分類器を作成する処理の流れを示すフローチャートである。
【図１２】実施の形態１〜４における世代交代処理の流れを示すフローチャートである。
【図１３】実施の形態１〜４における一点交叉の一例を示す図である。
【図１４】実施の形態２におけるデータ分類装置２の構成を示すブロック図である。
【図１５】実施の形態２におけるデータ分類装置２の処理の流れを示すフローチャートである。
【図１６】実施の形態３，４におけるデータ分類器作成装置３の構成を示すブロック図である。
【図１７】実施の形態３，４における１対１データ作成部の処理の流れを示すフローチャートである。
【図１８】実施の形態３，４における１対１データ格納部の一例を示す図である。
【図１９】実施の形態３，４における分類器格納部の一例を示す図である。
【図２０】実施の形態４におけるデータ分類装置４の構成を示すブロック図である。
【図２１】実施の形態４におけるデータ分類装置４の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
まず、本発明の特徴を示すと、次の５つの特徴がある。
［１］同一の入力データに対して複数の正解データがある事例集合を、１つの入力データが１つの正解データに対応するように複数の集合に分割し、分割した集合ごとに分類器を作成する点。
［２］分割した集合ごとに異なる学習アルゴリズムを適用する点。
［３］分割した集合ごとに異なる学習パラメータを適用する点。
［４］複数の評価者の正解データを用意し、評価者ごとに集合を作成し、評価者に対応した分類器を複数作成する点。
［５］複数の評価者の正解データを用意し、複数の評価者の正解データが混在した集合を作成し、複数の分類器を作成する点。
以上の５つの特徴をそれぞれ１つずつ備えてる実施の形態でも、２以上の特徴を任意に選択して適当に組み合わせた実施の形態でも良い。
【００１２】
以下、本発明を実施するための形態について、下記のように、幾つか一例を示して説明する。
【００１３】
実施の形態１.
図１は、本発明の実施の形態１におけるデータ分類器作成装置の構成例を示す。
【００１４】
図１において、本実施の形態１のデータ分類器作成装置１は、データ格納部１０と、１対１データ作成部２０と、分類器作成部３０と、分類器出力部４０とによって構成されている。データ格納部１０は、さらに、事例データ格納部１１と、１対１データ作成部１２と、分類器格納部１３とを有している。なお、図１では、機能ブロック図によりハードウエア的に構成して示しているが、このデータ分類器作成装置１は、ＣＰＵや、メモリ、ハードディスクドライブを具備する通常のコンピュータを使って、ソフトウェア的に構成するようにしてもよい。
【００１５】
図２は、図１に示すデータ分類器作成装置１の動作の一例を示すフローチャートである。
【００１６】
図１に示すデータ分類器作成装置１の動作を、図２のフローチャートを参照して説明する。
【００１７】
まず、１対１データ作成部２０は、事例データ格納部１１に格納されたデータを基に、分類器を作成するための１対１データの集合である１対１データ集合を作成し、１対１データ格納部１２に格納する（ステップＳ１０）。
【００１８】
次に、分類器作成部３０は、１対１データ格納部１２に格納された１対１データ集合を基に、分類器を作成し、分類器格納部１３に格納する（ステップＳ２０）。次に、分類器出力部４０は、分類器格納部１３から複数の分類器を読み出し、外部接続部１００を介して分類器を出力する（ステップＳ３０）。
【００１９】
なお、データ格納部１０は、例えば、ハードディスクやメモリのような高速アクセスが可能な大容量記録媒体である。データ格納部１０は、さらに、事例データ格納部１１と、１対１データ作成部１２と、分類器格納部１３とで構成される。
【００２０】
事例データ格納部１１は、１つの入力データに対し、正解の分類（クラス）を示す１つ以上の正解データを対応付けた事例データの集合、すなわち事例データ集合を格納する。事例データ格納部１１には、さらに、正解データを与えた評価者を識別する評価ＩＤも、その正解データに対応付けて格納する。入力データとは、連続値、あるいは離散値で構成されるデータの集合である。具体的な例を示すと、データのソースが楽曲に関する音響データであれば、ビートの強さや周波数特性などを数値とした特徴量やテンポ、音楽ジャンルを示すジャンル番号などであり、画像データであれば、画像データをグレースケール化し、２０Ｘ２０ピクセルにサイズを縮小した画像の各画素値などである。また、複数の正解データを同じ評価者が与えた場合は、それぞれ別の評価ＩＤを用意する。
【００２１】
図３は、事例データ格納部１１に格納したｍ個の事例データの一例を示す図である。
【００２２】
図３において、事例データ格納部１１に格納された各事例データは、入力データと、正解データと、その正解データを与えた評価ＩＤとを対応付けて格納した様子を示すものである。例えば、変数がｎ個である入力データ（Ａ１１，…，Ａ１ｎ）に対する正解データとして、（Ｃ１，Ｃ１，Ｃ２）が割り振られており、それらの正解データを与えた評価者を識別する評価ＩＤは、順に（Ｍ１，Ｍ２，Ｆ１）であることを示す。
【００２３】
図１に戻り、１対１データ作成部２０は、事例データ格納部１１に格納された事例データ集合を基に、１つの入力データが１つの正解データに対応する１対１データの集合、すなわち１対１データ集合を複数作成し、作成した１対１データ集合を１対１データ格納部１２に格納する。
【００２４】
入力データと正解データが１対１である１対１データの集合を作成する理由は、事例データのような同一の入力データに複数の正解が存在する状態で分類器を作成すると、分類器の分類精度が低下するためである。
【００２５】
図４は、１対１データ作成部２０が、評価ＩＤごとの１対１データ集合を作成するための処理例を示すフローチャートである。
【００２６】
まず、１対１データ作成部２０は、事例データ格納部１１から、事例データを１つ読み出す（ステップＳ１１０）。
【００２７】
次に、１対１データ作成部２０は、読み出した事例データから、入力データと、正解データとを１対１に対応付けた１対１データを、正解データの数だけ作成する（ステップＳ１２０）。すなわち、図３に示す、入力データが｛Ａ１１，…，Ａ１ｎ｝である事例データから１対１データを作成すると、入力データ｛Ａ１１，…，Ａ１ｎ｝と正解データ｛Ｃ１]、入力データ｛Ａ１１，…，Ａ１ｎ｝と正解データ｛Ｃ１｝、入力データ｛Ａ１１，…，Ａ１ｎ｝と正解データ｛Ｃ２｝、の３つの１対１データが作成される。
【００２８】
次に、１対１データ作成部２０は、作成した１対１データそれぞれを、１対１データの正解データを与えた評価ＩＤと同様の識別名を有する１対１データ集合に格納する（ステップＳ１３０）。
【００２９】
その際、１対１データ作成部２０は、その評価ＩＤに対応する１対１データ集合が存在しない場合、その評価ＩＤを識別名とする１対１データ集合を１対１データ格納部１２に作成し、その１対１データ集合に１対１データを格納する。
【００３０】
次に、１対１データ作成部２０は、事例データ格納部１１から全てデータを読み終えたか否かを判断する（ステップＳ１４０）。ここで、未読の事例データがあれば（ステップＳ１４０“ＮＯ”）、ステップＳ１１０に戻り、ステップＳ１１０以降の処理を行なう。これに対し、全ステップの事例データを読み出している場合には（ステップＳ１４０“ＹＥＳ”）、１対１データ作成部２０は、以上の処理を終了する。
【００３１】
図５(ａ)〜(ｃ)それぞれ、１対１データ集合の識別名である１対１データラベルと、複数の１対１データとで構成される１対１データ集合を格納した１対１データ格納部１２の状態の一例を示す図である。
【００３２】
１対１データ集合の１対１データラベルには、評価ＩＤと同一の識別名が割り振られており、同一の評価ＩＤによって正解データを与えられた１対１データを格納する。
【００３３】
図５(ａ)は、評価ＩＤ「Ｍ１」のみで作成された１対１データ集合であり、１対１データラベルとして「Ｍ１」が割り振られている。
【００３４】
同様に、図５(ｂ)は，評価ＩＤ「Ｍ２」のみで作成された１対１データ集合であり、図５(ｃ)は，評価ＩＤ「Ｆ１」のみで作成された１対１データ集合である。
【００３５】
以上が、１対１データ作成部２０による評価ＩＤ別に１対１データ集合を作成する方法である。なお、評価ＩＤを混合した１対１データ集合を作成することもできる。評価ＩＤを混合した１対１データ集合を作成する場合、１対１データ作成部２０は、図４に示すステップＳ１４０の処理の後に、１対１データ集合間で、同一の入力データ同士の１対１データを交換するシャッフル処理を行うようにする。
【００３６】
図６は、１対１データ作成部２０のシャッフル処理の動作の一例を示すフローチャートである。
まず、１対１データ作成部２０は、評価ＩＤ別に作成された複数の１対１データ集合から、まだシャッフル処理を行っていない１組の１対１データ集合のペアを選択する（ステップＳ１５１）。
【００３７】
次に、１対１データ作成部２０は、前記１対１データ集合のペアの中から、入力データが同一である１対１データ同士を、所定の確率ｐ（０．０＜ｐ＜１．０）で交換する（ステップＳ１５２）。この処理は、全ての入力データに対して行う。
【００３８】
次に、１対１データ作成部２０は、全ての１対１データ集合のペアでシャッフル処理を行ったか否かの判断を行う（ステップＳ４２０）。もし、全て完了した場合（ステップＳ４２０“Ｙｅｓ”）、シャッフル処理を終了し、まだシャッフル処理を行っていないペアが存在する場合（ステップＳ４２０“Ｎｏ”）、ステップＳ４００へ戻る。以上がステップＳ１５０のシャッフル処理の説明である。上記シャッフル処理は、複数回繰り返して行っても良い。
【００３９】
以上が、評価ＩＤを混合した１対１データ集合を作成する方法であるが、他の方法、例えば、予め所定の個数だけ空の１対１データ集合を作成しておき、事例データから作成した１対１データを、前記１対１データ集合にランダムに格納するようにしても良い。
以上が、１対１データ作成部２０の説明である。
【００４０】
次に、分類器作成部３０について説明する。
分類器作成部３０は、１対１データ作成部２０によって作成された１対１データ集合を用いて学習アルゴリズムを適用することで、新たな分類器を作成する。分類器とは、データが入力されると、そのデータに基づいて少なくとも１つのクラスに分類するものである。学習アルゴリズムの公知の技術としては、“決定木”、“ｋ−最近傍法（ｋ−ＮＮ）”、“ニューラルネットワーク、サポートベクタマシン”、“ベイズモデル”などが知られている。学習アルゴリズムとは、学習用データを基に分類器自体を構築するためのアルゴリズムや、学習用データの変数選択を行うアルゴリズムである。
【００４１】
図７は、分類器作成部３０が、１対１データ集合を用いて、複数の分類器を作成する動作の一例を示すフローチャートである。
【００４２】
分類器作成部３０は、まず、１対１データ作成部２０によって作成された１対１データ集合群を、１対１データ格納部１２から読み込み、その１対１データ集合群の中で、まだ学習用データ集合として用いられていない１対１データ集合を１つ選択する（ステップＳ２１）。１対１データ集合群とは、１対１データ格納部１２に格納された、１対１データ集合の集合である。
【００４３】
図５の１対１データ集合の例であれば、１対１データ集合「Ｍ１」と、１対１データ集合「Ｍ２」と、１対１データ集合「Ｆ１」の３つをまとめたものである。
【００４４】
次に、分類器作成部３０は、選択された１対１データ集合から、分類器自体の構築に用いるための学習用データ集合と、作成した分類器の評価に用いるための評価用データ集合を選択する（ステップＳ２２）。
【００４５】
具体的には、分類器作成部３０は、選択された１対１データ集合を均等に２分割して、一方を学習用データ集合、もう一方を評価用データ集合として選択する。例えば、奇数行を学習用データ、偶数行を評価用データとすることで、均等にデータを２分割する。また、評価用データ集合を、学習用データ集合ではない別の１対１データ集合から選択しても良い。すなわち、学習用データ集合を、まだ学習用データ集合として選択されていない１対１データ集合を、１対１データ集合群の中から１つ選択し、評価用データ集合は、１対１データ集合群の中から、前記学習用データ集合として選択された１対１データ集合以外をランダムに１つ選び出す。
【００４６】
図５に示す１対１データ集合群から、学習用データ集合と評価用データ集合を選択する例を示すと、１対１データ集合「Ｍ１」を学習用データ集合として選択した場合、残る２つの１対１データ集合「Ｍ２」と「Ｆ１」のいずれかをランダムに１つ選択し、選択された１対１データ集合を評価用データ集合とする。
【００４７】
次に、分類器作成部３０は、新たに作成する分類器と、その分類器を作成するための構築パラメータと、学習アルゴリズムを選択する（ステップＳ２３）。そのため、分類器作成部３０は、予め、分類器と、構築パラメータと、学習アルゴリズムを組み合わせた分類器ペアを保持しておく。構築パラメータとは、分類器の構築に用いる関数や、しきい値などである。
【００４８】
図８は、分類器ペアの一例であって、分類器と、その分類器の構築パラメータ、及び学習のためのアルゴリズムを組み合わせ、それぞれのペアに、識別子である分類器ペアＩＤを割り振って格納した状態の一例を示している。
【００４９】
分類器作成部３０は、このような分類器ペアの中で、現在選択されている学習用データ集合から、分類器の作成を行っていないものを分類器ペアＩＤ順に１つ選択する。構築パラメータが特に指定されていない場合、最も標準的な構築パラメータで分類器を構築する。
【００５０】
また、図８では、分類器ペアＩＤ「ＡｌｇｏＩＤ１」と「ＡｌｇｏＩＤ２」は、どちらも同様の分類器ｋ−ＮＮであり、学習アルゴリズムも、等しく遺伝的アルゴリズムであるが、構築パラメータが、それぞれ「ｋ＝３」と「ｋ＝5」とで異なっている。同じ分類器であっても、このように構築パラメータが異なれば、別の分類器として扱ってよい。
【００５１】
また、図８では、分類器ペアＩＤ「ＡｌｇｏＩＤ２」と「ＡｌｇｏＩＤ３」は、どちらも同様の分類器ｋ−ＮＮであるが、学習アルゴリズムが、それぞれ「遺伝的アルゴリズム」と「主成分分析」とで異なっている。同じ分類器であっても、このように学習アルゴリズムが異なれば、別の分類器として扱ってよい。
【００５２】
次に、分類器作成部３０は、ステップＳ２２で選択された学習用データ集合と、評価用データ集合と、ステップＳ２３で選択された分類器ペアとを基に、新しい分類器を作成する（ステップＳ２４）。もし、前記選択された学習用データ集合で、全ての分類器ペアで分類器を作成したのであれば（ステップＳ２５“ＹＥＳ”）、ステップＳ２６に進み、そうでなければ（ステップＳ２５“ＮＯ”）、ステップＳ２３に戻る（ステップＳ２５）。
【００５３】
次に、分類器作成部３０は、作成した分類器を、分類器格納部１３に格納する（ステップＳ２６）。分類器格納部１３には、学習用データ集合として用いた１対１データ集合の識別子と、評価用データの分類結果が正解データと一致した割合である正答率と、分類器構築情報とを組み合わせて格納する。ここで、分類器構築情報とは、作成した分類器を再度構築するために必要な情報である。例えば、決定木やｋ−ＮＮといった分類器の種類や、しきい値、重み、教師データ、分岐条件などを格納する。
【００５４】
図９は、分類器格納部１３に格納された６つの分類器の一例を示す図である。
【００５５】
図９では、分類器１つ分の情報として、作成した分類器の識別子（分類器識別子）と、学習用データ集合として用いた１対１データ集合の識別子と、正答率と、分類器構築情報とを組み合わせて格納した様子を示している。例えば、分類器識別子「分類器１」は、１対１データ集合の識別子が「Ｍ１」であり、正答率が「０．８０」であることを示している。
【００５６】
また、分類器構築情報として、分類器名「ｋ−ＮＮ」と、その分類器を構築するために必要なパラメータを格納している。
【００５７】
次に、分類器作成部３０は、全ての１対１データ集合を学習用データ集合として利用したか否かの判断を行う（ステップＳ２７）。ここで、まだ学習用データ集合として利用していない１対１データ集合がある場合（ステップＳ２７“ＮＯ”）、分類器作成部３０は、ステップＳ２１へ戻る一方、全て終えたのであれば（ステップＳ２７“ＹＥＳ”）、分類器作成部３０は、処理を終了する。
【００５８】
ここで、ステップＳ２４の分類器作成処理の具体例として、分類器の１つである“ｋ−ＮＮ”を作成し、学習アルゴリズムとして遺伝的アルゴリズム（ＧＡ）を用いて変数選択を行う方法を示す。
【００５９】
“ｋ−ＮＮ”とは、クラスが不明なノードＸに対してクラスを割り当てる場合、そのノードＸから距離の近い順にｋ個のノードのクラスを参照し、最頻出クラスを、ノードＸのクラスとする方法である。ノード間の距離は、入力データ同士のユークリッド距離を計算することで取得するが、ユークリッド距離ではなく、マハラノビスの汎距離などを用いても構わない。
【００６０】
ところで、この距離の算出に入力データの全ての変数を用いると、分類精度が低下することがある。例えば、変数の中には、分類にほとんど影響しないノイズデータが含まれていたり、重複した事象を説明したりすると、分類の精度が低下する。そのため、どの変数を用いるかを、取捨選択する必要がある。その組み合わせは、変数がＮ個あるとすると、２のＮ乗である。つまり、１つの組み合わせの評価に１ミリ秒かかる計算機上で、全ての組み合わせについて評価した場合、入力データの変数が高々２０個の場合、１７分ほどで処理が終了するが、５０個の場合は、数万年以上処理を続けなければ終了しない。
【００６１】
そのため、変数の数がある程度大きい場合、どの変数を用いるかの選択に、学習アルゴリズムを適用する必要がある。そこで、その変数選択の学習アルゴリズムとして、遺伝的アルゴリズム（ＧＡ）を利用する。ＧＡの詳細なアルゴリズムに関しては、David E. Goldberg著、"Genetic Algorithms in Searching, Optimization, and Machine Learning"に開示されている。
【００６２】
遺伝的アルゴリズム（ＧＡ）は、遺伝子の淘汰や交叉、突然変異、世代交代といった、生物進化から着想を得たアルゴリズムである。遺伝的アルゴリズム（ＧＡ）では、解くべき課題を遺伝子として、ビット列で表現する。
【００６３】
図１０に、変数の取捨選択問題を遺伝子（ビット列）として表現した例を示す。
【００６４】
図１０は、Ｚ個の遺伝子個体に、n個の変数（Ａ１，…，Ａｎ）について[１：用いる、０：用いない]をそれぞれ設定した状態を示している。分類器作成部３０は、これらＺ個の遺伝子個体の初期集団は、最初はランダムに設定する。遺伝子数Ｚは、１世代当たりの遺伝子個体の数である。Ｚ値に関しての規定は特にないが、５以上が望ましい。
【００６５】
図１１は、遺伝的アルゴリズム（ＧＡ）による学習の手順の一例を示すフローチャートである。図１１に示すように、評価関数の実行を行うステップＳ３２から、世代交代処理を行うステップＳ３７までを繰り返し実行する。この繰り返し処理を、遺伝的アルゴリズム（ＧＡ）では世代と呼ぶ。
【００６６】
まず、分類器作成部３０は、Ｚ個分の初期遺伝子個体を生成する（ステップＳ３１）。遺伝子個体の各ビットは、ランダムに生成する。
【００６７】
次に、分類器作成部３０は、評価用データ集合に対して、Ｚ個それぞれの遺伝子個体の設定に基づいて”ｋ−ＮＮ”を実行し、適応度を算出する（ステップＳ３２）。適応度は、学習用データ集合を基に作成した”ｋ−ＮＮ”を用いて、評価用データの分類を実際に行うことで算出する。学習用データ集合をＴ、評価用データ集合をＥとし、ｉ番目の遺伝子の値をＧｉ、ｘ番目の学習用データにおけるｉ番目の変数をt（ｘ，ｉ）、ｙ番目の評価用データにおけるｉ番目の変数をＥ（ｙ，ｉ）とすると、学習用データｘと評価用データｙとのユークリッド距離Ｄ（ｘ，ｙ）は、次の式である数１によって求められる。
【００６８】
【数１】
2010272053.tif 000003
【００６９】
分類器作成部３０は、この距離計算を、ｘ∈Ｔである全ての学習用データに対して行う。全ての学習用データとの距離を算出した後、算出されたユークリッド距離Ｄ（ｘ，ｙ）の小さい順にｋ個の学習用データを取得し、その正解データの最頻値を算出する。前記最頻値がｙ番目の評価用データに対応する正解データと一致しているか否かを調べ、一致していた場合、正解数ｃを１増加させる。以上の処理を、ｙ∈Ｅである全ての評価用データに対して行い、正解データとの正答率を計算する。すなわち、ｊ番目の遺伝子個体の正答率Ｒｊは、評価用データの総データ数をＭとすると、次の式である数２によって求められる。
【００７０】
【数２】
2010272053.tif 000004
【００７１】
分類器作成部３０は、ここで求められた正答率Rjを、遺伝子個体jの適応度とする。この適応度の計算を、Ｚ個の遺伝子個体全てに対して行う。
【００７２】
次に、分類器作成部３０は、ステップＳ３２で求められたこの世代最大の適応度が、これまでの世代においても最大の適応度であったか否かを判断する（ステップＳ３３）。もし、適応度がこれまでで最大である、もしくは１世代目である場合（ステップＳ３３“ＹＥＳ”）、ステップＳ３４に進む。そうでなければ（ステップＳ３３“Ｎｏ”）、ステップＳ３５に進む。
【００７３】
次に、分類器作成部３０は、最も優秀な適応度が得られた遺伝子個体のビット配列と、その適応度とを対応付けて、格納部２０に一時記憶する（ステップＳ３４）。
【００７４】
次に、分類器作成部３０は、学習を終了するか否かの判断を行う（ステップＳ３５）。学習終了は、世代数が所定のしきい値を超えた場合や、最大の適応度が所定のしきい値を超えた場合や、全ての遺伝子個体の平均適応度が規定のしきい値を超えた場合などで判断する。全ての条件を判断しても良いし、どれか一つを判断するだけでも良い。もし、学習を終了する判断した場合（ステップＳ３５“ＹＥＳ”）は、分類器作成処理を終了する。そうでなければ（ステップＳ３５“Ｎｏ”）、ステップＳ３６に進む。
【００７５】
次に、分類器作成部３０は、次世代の遺伝子個体を設定する処理を行う（ステップＳ３６）。この処理は遺伝的アルゴリズム（ＧＡ）の本質な部分であって、具体的には、遺伝子個体の交叉と突然変異、次世代に残す遺伝子個体の選択の処理を行う。
【００７６】
図１２は、遺伝的アルゴリズム（ＧＡ）における一般的な世代交代処理の動作の一例を示すフローチャートである。
【００７７】
まず、分類器作成部３０は、親となる遺伝子のペアから、子の遺伝子個体を作成するために、親のペアを選択する（ステップＳ４０）。次に、分類器作成部３０は、ステップＳ４０で選択された親のペアの遺伝子個体を交叉させ、子の遺伝子個体を作成する（ステップＳ４１）。次に、分類器作成部３０は、作成された子の遺伝子個体に対し、突然変異処理を行う（ステップＳ４２）。次に、分類器作成部３０は、親の世代の中から、どの遺伝子個体を次の世代へ残すか、生存選択を行う（ステップＳ４３）。以上が世代交代処理の流れである。複製選択や交叉、突然変異、生存選択には様々な方法があって、どの手法や組み合わせを用いても構わない。
【００７８】
ここで、単純ＧＡモデルと呼ばれる方法を例に挙げて、世代交代処理の説明を行う。単純ＧＡモデルでは、複製選択として、ルーレット選択を行う。ルーレット選択とは、遺伝子個体の適応度に比例した確率で遺伝子個体を選択する方法である。遺伝子個体jの選択確率p(j)は、次の式である数３によって求められる。
【００７９】
【数３】
2010272053.tif 000005
【００８０】
分類器作成部３０は、ここで求められたp(j)に従うように、乱数を用いて確率的に遺伝子個体を選択する。選択された遺伝子個体をペアとして子の遺伝子個体を作成するため、選択する数は最低２個である。
【００８１】
次に、分類器作成部３０は、ステップＳ４０で選択された遺伝子対を用いて子の遺伝子個体を作成するために、一点交叉を行う。一点交叉とは、ビット配列の任意の切断箇所を１カ所指定し、その箇所で、親の遺伝子ペアを交叉させる方法である。
【００８２】
図１３は、｛１００１０１｝のビット列を有する遺伝子個体Ａと、｛０００１１１｝のビット列を有する遺伝子個体Ｂとを親のペアとし、切断箇所を３ビット目に指定して一点交叉させることによって、新たな遺伝子個体Ｃと遺伝子個体Ｄを作成する様子を示したものである。
【００８３】
すなわち、切断箇所より左の遺伝子個体Ａのビット列をＡ１＝｛１００｝、右のビット列をＡ２＝｛１０１｝、切断箇所より左の遺伝子個体Ｂのビット列をＢ１＝｛０００｝、右のビット列をＢ２＝[１１１]とおくと、一点交叉によって新たに作成される遺伝子個体Cのビット列は｛Ａ１｝｛Ｂ２｝＝｛１００１１１｝、遺伝子個体Ｄのビット列は｛Ｂ１｝｛Ａ２｝＝｛０００１０１｝となる様子を示す。
【００８４】
次に、単純ＧＡモデルにおける突然変異の処理の例を示す。新たに作成された遺伝子個体の各々のビットに対して、所定の割合でビットを反転させる。ビット反転の発生確率は、０．１％程度の小さい値に設定する。
【００８５】
次に、単純ＧＡモデルにおける生存選択であるが、新たに作成された遺伝子個体のみを次世代に残し、旧世代の遺伝子個体は全て淘汰する方法を取る。１世代の遺伝子個体数に満たない分は、遺伝子個体のビット列をランダムで生成して新たに作成する。
【００８６】
以上が世代交代処理の一例である。世代交代処理を終えると、ステップＳ３２に戻り、新しい世代の遺伝子個体に対し、適応度を計算する。
【００８７】
以上が学習アルゴリズムにＧＡを適用して”ｋ−ＮＮ”を作成する例である。
【００８８】
“ｋ−ＮＮ”の作成処理について詳述したが、もちろん、他の分類器や学習アルゴリズムを用いて分類器を作成することができる。例えば、分類器の１つである決定木を作成することもできる。決定木では、学習アルゴリズムとしてＣＡＲＴやＣ４．５などが知られている。これらの学習アルゴリズムに従って、決定木を作成することができる。また、学習用データの変数の選択にＧＡを適用し、決定木を構築することもできる。
【００８９】
また、学習用データ集合と、評価用データ集合を用いて、多層パーセプトロンなどのニューラルネットワークを作成することもできる。
【００９０】
また、分類器としてサポートベクタマシン(ＳＶＭ)を利用することも出来る。また、ＳＶＭでは、非線形の分離問題に対応するために、カーネル関数を用いた非線形ＳＶＭが知られている。この時用いられるカーネル関数として、多項式型カーネルや、ガウシアン型カーネルなどが知られているが、これらを異なる構築パラメータとしてＳＶＭを作成しても良い。
【００９１】
また、入力データの正規化処理を行って分類器を作成しても良い。
【００９２】
また、本実施の形態では、”ｋ−ＮＮ”で用いる変数の選択を遺伝的アルゴリズムを用いて行ったが、これに限定されるものではなく、決定木やサポートベクタマシンなど他の種類の分類器を作成する場合にも、遺伝的アルゴリズムを用いて入力データを構成する変数の選択を行っても良い。
【００９３】
分類器出力部４０は、分類器格納部１３に格納された分類器を、正答率の高い順に、所定の個数だけ選び出し、外部接続部１００を介して出力する。例えば、図９に示す分類器格納部１３に格納された分類器の例において、正答率の高い分類器の上位３つを選択する場合、正答率０．８５の「分類器５」と、正答率０．８０の「分類器１」と、正答率０．７５の「分類器６」とを選択する。
【００９４】
また、同一の学習用データ集合によって作成された分類器ごとに、正答率の高い順に所定の個数ずつ取得するようにしても良い。例えば、図９の例では、１対１データ集合の識別子は「Ｍ１」と、「Ｍ２」と、「Ｆ１」の３種類である。これらの識別子ごとに、正答率の高い分類器を１つ選択する場合、「Ｍ１」から作成された分類器では、正答率０．８０の「分類器１」を、「Ｍ２」から作成された分類器では、正答率０．６８の「分類器４」を、「Ｆ１」から作成された分類器では、正答率０．８５の「分類器5」を、それぞれ選択する。
【００９５】
また、所定値よりも正答率の高い分類器を選択するようにしても良い。例えば、正答率が０．８０以上である分類器を選択するとした場合、図９の例では、正答率０．８０の分類器１と、正答率０．８５の分類器５を、それぞれ選択する。
【００９６】
また、出力する分類器の個数は、分類器出力部４０に予め定める所定個数を基本とするが、外部から指定された個数を出力するようにしても良い。また、全ての分類器を出力するようにしても良い。
【００９７】
分類器出力部４０によって選択された分類器は、外部接続部１００を介して出力される。外部接続部１００は、データの通信経路であって、バスやネットワークケーブルなどである。
【００９８】
以上がデータ分類器作成装置１の説明である。
【００９９】
従って、本実施形態１のデータ分類器作成装置１によれば、複数の分類器を作成して格納するので、１つの入力データに対し複数の評価者もしくは複数の判断基準を扱うことができると共に、１つの入力データに対し複数の評価者もしくは複数の判断基準を扱かってデジタルコンテンツを分類することができる。
【０１００】
その結果、１つの入力データに対し、複数の正解データが割り当てられているようなデータ集合で分類器を構築しても、分類精度の良い分類器を作成することが出来る。
【０１０１】
また、本実施形態１のデータ分類器作成装置１では、１つの入力データに対して、複数の評価者によって複数の正解データが与えられた場合であっても、入力データと正解データとが１対１である１対１データを集めた１対１データ集合によって分類器を作成しているので、精度の良い分類器を作成することができ、特定の評価者の評価に偏らない、バランスの良い分類器を作成することが出来る。
【０１０２】
実施の形態２．
図１４は、本発明の実施の形態２におけるデータ分類装置２の構成例を示すブロック図である。
【０１０３】
図１４において、実施の形態２のデータ分類装置２は、分類器取得部６０と、分類器保存部７０と、分類実行部８０と、分類結果統合部９０とを備える。また、このデータ分類装置２は、外部接続部１００を介して図１に示す実施の形態１のデータ分類器作成装置１と接続されている。このデータ分類装置２も、図１に示す実施形態１のデータ分類装置２と同様に、ソフトウェア的に構成するようにしてもよい。
【０１０４】
図１５は、図１４に示すデータ分類装置２の動作の一例を示すフローチャートである。
【０１０５】
図１５を参照して、図１４に示す実施の形態２におけるデータ分類装置２の動作を説明する。
【０１０６】
まず、データ分類装置２の分類器取得部６０は、データ分類器作成装置１から外部接続部１００を介して分類器を取得し、取得した分類器を、分類器保存部７０に格納する（ステップＳ２００）。
【０１０７】
次に、データ分類装置２の分類実行部８０は、外部装置２００から、入力データが入力されたか否かの判断を行う（ステップＳ２１０）。そして、入力データが入力されたのであれば（ステップＳ２１０“ＹＥＳ”）、ステップＳ２２０に進み、そうでなければ（ステップＳ２１０“ＮＯ”）、入力データが入力されるまで待機する。なお、外部装置２００とは、バスやＬＡＮなどのケーブルや、マウスなどの入力装置で接続されている。
【０１０８】
次に、データ分類装置２の分類実行部８０は、分類器保存部７０に格納された分類器を利用して、前記入力された入力データの分類を行う。（ステップＳ２２０）。
【０１０９】
次に、データ分類装置２の分類結果統合部９０は、複数の分類器から出力された分類結果を統合し、最終的な分類結果を決定する（ステップＳ２３０）。
【０１１０】
次に、データ分類装置２の分類実行部８０は、データを入力した外部装置２００に、前記最終的な分類結果を出力する（ステップＳ２４０）。以上が、データ分類装置２の動作概要である。
【０１１１】
次に、データ分類装置２の各部の説明を詳細に行う。
【０１１２】
分類器取得部６０は、外部接続部１００を介して、データ分類器作成装置１から、データ分類器作成装置１に設定された個数だけ、分類器を取得し、取得した分類器を分類器保存部７０に格納する。分類器保存部７０は、データ分類器作成装置１の分類器格納部１３と同様のデータを格納する。すなわち、図９に示すように、学習用データ集合として用いた１対１データ集合の識別子と、正答率と、分類器構築情報とを組み合わせて格納する。
【０１１３】
分類器取得部６０は、データ分類器作成装置１に、取得する分類器の個数を指定して、その個数だけ分類器を取得するようにしても良い。また、全ての分類器をデータ分類器作成装置１から取得するようにしても良い。また、正答率が所定値以上である分類器を、データ分類器作成装置１から取得するようにしても良い。
【０１１４】
分類実行部８０は、外部から入力データが入力されると、分類器保存部７０に格納された複数の分類器に入力データを与え、複数の分類結果を得る。例えば、６つの分類器に入力データを与えて分類結果を取得する場合、｛Ｃ１，Ｃ１，Ｃ１，Ｃ２，Ｃ２，Ｃ３｝といったように、それぞれの分類器から１つずつ、合計６個の分類結果を取得する。
【０１１５】
前記分類例｛Ｃ１，Ｃ１，Ｃ１，Ｃ２，Ｃ２，Ｃ３｝では、ユニークなクラスがＣ１，Ｃ２，Ｃ３と３つ存在するため、最終的な分類結果を１つのクラスとするためには、それらの分類結果をまとめて１つのクラスにする統合処理が必要である。
【０１１６】
分類結果統合部９０は、分類実行部８０によって得られた複数の分類結果を統合し、最終的な分類結果となるクラスを１つ決定する。分類結果統合部９０は、分類器から取得した分類結果の中で、最も多くの分類器から出力されたクラスを、最終分類結果として選択する多数決方式を用いる。例えば、分類結果が、｛Ｃ１，Ｃ１，Ｃ１，Ｃ２，Ｃ２，Ｃ３｝であったとする。この分類結果の例で多数決処理を行うと、Ｃ１が３票、Ｃ２が２票、C３が１票であるので、最大の得票数を獲得したC１を最終分類結果として選択する。
【０１１７】
また、分類器それぞれの１票の大きさを正答率の値とするなど、分類器の１票に重み付けをして、得票数を計算しても良い。例えば、正答率が０．８の分類器と、正答率が０．７の分類器とが、同一のクラスを分類結果として出力した場合、０．８と０．７を足した１．５を、そのクラスの得票数とする。
【０１１８】
以上が、データ分類装置２の説明である。
【０１１９】
従って、本実施形態２のデータ分類装置２によれば、実施形態１のデータ分類器作成装置１によって作成され格納された複数の分類器を取得し、複数の分類器にて分類を実行し、その分類結果を統合して、最適な最終分類結果を選択することができ、その結果、従来よりも精度の良い分類結果を取得することが出来る。
【０１２０】
実施の形態３．
実施の形態３のデータ分類器作成装置３は、実施の形態１のデータ分類器作成装置１で作成されるものと同様の分類器（一般分類器）に加え、限定された種類の正解データのみで構成された部分１対１データ集合からも、複数の分類器（専用分類器）を作成するようにしたものである。専用分類器は、限定された種類の正解データのみで構成された部分１対１データ集合から作成されるため、出力されるデータも、作成に用いられた正解データと同じ種類のクラスに限定される。このような専用分類器は、一般分類器による分類の結果、得票数が上位であるクラス間に所定以上の得票差が見られないなどの場合において、最終的なクラスへの分類を、より高い精度で行なうための決選投票に用いられる。例えば、Ｃ１とＣ２の２つのクラスについて決選投票を行う場合には、Ｃ１とＣ２のみを正解データとして含む１対１データ集合に基づいて作成された専用分類器を用いる。この専用分類器は、Ｃ１とＣ２のみを正解データとして含む１対１データ集合から作成された分類器であるため、出力される分類結果は、必ずＣ１かＣ２のどちらかのクラスとなる。
【０１２１】
図１６は、実施の形態３のデータ分類器作成装置３の構成例を示すブロック図である。
【０１２２】
図１６において、データ分類作成装置３は、データ分類器作成装置１と同様の構成であるが、１対１データ格納部１２と、分類器格納部１３が格納する内容と、１対１データ作成部２０と、分類器作成部３０の動作内容が異なるため、本実施の形態３においては、それぞれ１対１データ格納部１２Ａ、分類器格納部１３Ａ、１対１データ作成部２０Ａ、分類器作成部３０Ａとする。このデータ分類器作成装置３も、実施形態１のデータ分類器作成装置１と同様に、ソフトウェア的に構成するようにしてもよい。
【０１２３】
ここで、実施の形態３のデータ分類器作成装置３の１対１データ作成部２０Ａは、データ分類器作成装置１の１対１データ集合の作成処理に加えて、特定の正解データが設定された１対１データのみで構成される部分１対１データ集合を１つ以上作成し、１対１データ格納部１２Ａに格納する。この部分１対１データ集合は、２種類の正解データの組み合わせを子の要素とし、その組み合わせの数だけ作成されることを基本とする。なお、２種類ではなく、２より大きな数であれば良い。また、全ての組み合わせで部分１対１データ集合を作成せずに、設計者側が部分１対１データ集合を作成する組み合わせを予め指定しても良い。
【０１２４】
図１７は、１対１データ作成部２０Ａの動作の一例を示すフローチャートである。１対１データ作成部２０と同様の処理を行うステップに関しては、同様のステップ番号を割り振っている。
【０１２５】
まず、１対１データ作成部２０Ａは、２種類のクラスを構成要素とする空の部分１対１データ集合を、１対１データ格納部１２に作成する（ステップＳ１００）。部分１対１データ集合は、２種類のクラスの組み合わせ全てについて、評価ＩＤのユニーク数だけ作成される。例えば、クラスの組み合わせが１０通りあって、評価ＩＤのユニーク数が３である場合、１０×３＝３０で、３０個の部分１対１データ集合を作成する。また、それぞれの部分１対１データ集合の識別子として、構成要素と、評価ＩＤを組み合わせたものを与える。例えば、構成要素のクラスが「Ｃ１」と「Ｃ２」であり、評価ＩＤが「Ｍ１」である場合、その部分１対１データ集合の識別子として「Ｍ１ ｛Ｃ１，Ｃ２｝」などを与える。
【０１２６】
続くステップＳ１１０と、ステップＳ１２０と、ステップＳ１３０は、実施の形態１の１対１データ作成部２０と同様である。
【０１２７】
次に、１対１データ作成部２０Ａは、前記作成した１対１データの正解データと、評価ＩＤとを基に、対応する部分１対１データ集合に、１対１データを追加する（ステップＳ１３５）。該当する部分１対１データ集合が複数存在する場合は、該当する部分１対１データ集合全てに１対１データを追加する。
【０１２８】
図１８（ａ）〜（ｃ）は、それぞれ、評価ＩＤ「Ｍ１，Ｍ２，Ｆ１」ごとに、クラスＣ１，Ｃ２のみを要素とする部分１対１データ集合に１対１データを格納した状態を示すものである。
【０１２９】
図１８に示す３つの部分１対１データ集合は、正解データＣ１，Ｃ２が割り振られた１対１データのみを格納したものであって、さらに、図１８（ａ）は、評価ＩＤ「Ｍ１」によって、図１８（ｂ）は評価ＩＤ「Ｍ２」によって、図１８（ｃ）は評価ＩＤ「Ｆ１」によって割り振られたものを格納している。
【０１３０】
次のステップＳ１４０は、データ分類器作成装置１の１対１データ作成部２０と同様である。以上の１対１データ作成部２０Ａによって、１対１データ格納部１２Ａには、図５に示す１対１データ集合に加えて、図１８に示す部分１対１データ集合も格納される。
【０１３１】
また、データ分類器作成装置１の１対１データ作成部２０と同様に、シャッフル処理を行うことで、評価ＩＤを混合した部分１対１データ集合を作成することもできる。シャッフル処理は、１対１データ作成部２０と同様に、ステップＳ１４０の後に行われる。動作の流れも図６に示すフローチャートとほぼ同様であるが、ステップＳ１５１の処理が若干異なる。具体的には、部分１対１データ集合の評価ＩＤを混合するために、１対１データを交換する部分１対１データ集合のペアを、まだシャッフル処理を行っていないものの中から選択する。部分１対１データ集合のペアは、１対１データの有する正解データの組み合わせが同一であって、評価ＩＤが異なるものとする。その他のステップＳ１５２、ステップＳ１５３に関しては、実施の形態１と同様である。
【０１３２】
以上が、１対１データ作成部２０Ａの説明である。
【０１３３】
分類器作成部３０Ａの動作の流れは、図７に示すデータ分類器作成装置１の分類器作成部３０と同様であるが、ステップＳ２１と、ステップＳ２２と、ステップＳ２６の動作の内容が異なる。
【０１３４】
まず、分類器作成部３０Ａは、１対１データ格納部１２Ａに格納された１対１データ集合群の中から、まだ選択されていない１対１データ集合を１つ選び出すと共に、各部分１対１データ集合群からも、部分１対１データ集合を１つ選び出す（ステップＳ２１）。部分１対１データ集合群とは、構成要素を同一とする部分１対１データ集合をまとめたものである。例えば、図１８に示す、部分１対１データ集合Ｍ１｛Ｃ１，Ｃ２｝と、部分１対１データ集合Ｍ２｛Ｃ１，Ｃ２｝と、部分１対１データ集合Ｍ３｛Ｃ１，Ｃ２｝は、同一の構成要素｛Ｃ１，Ｃ２｝を有する部分１対１データ集合であるので、これらをまとめたものが部分１対１データ集合群である。部分１対１データ集合群は、構成要素の組み合わせの数だけ存在し、部分１対１データ集合は、その部分１対１データ集合群ごとに１つずつ選択される。
【０１３５】
次に、分類器作成部３０Ａは、ステップＳ２１で選択された１対１データ集合と、部分１対１データ集合から、学習用データ集合と、評価用データ集合とを選択する（ステップＳ２２）。１対１データ集合から学習用データ集合と、評価用データ集合とを選択する処理については、実施の形態１と同様である。
【０１３６】
分類器作成部３０Ａでは、さらに、部分１対１データ集合からも、学習用データ集合と、評価用データ集合とを選択する。その場合は、ステップＳ２１で選択された部分１対１データ集合を均等に２分割して、一方を学習用データ集合、もう一方を評価用データ集合とする。例えば、奇数行を学習用データ、偶数行を評価用データとすると、均等にデータを２分割することができる。この処理を、選択された全ての部分１対１データ集合に対して行う。
【０１３７】
また、部分１対１データ集合の評価用データ集合は、前記学習用データ集合と同じ部分１対１データ集合群に属する部分１対１データ集合の中から、前記学習用データ集合として選ばれた以外の部分１対１データ集合を、ランダムに１つ選び出すようにしても良い。
【０１３８】
続くステップＳ２３と、ステップＳ２４と、ステップＳ２５は、実施の形態１と同様である。
【０１３９】
次に、分類器作成部３０Ａは、作成した分類器を分類器格納部１３Ａに格納する（ステップＳ２６）。分類器作成部３０Ａは、１対１データ集合を学習用データとして作成した分類器である一般分類器と、部分１対１データ集合を学習用データとして作成した分類器である専用分類器とを分けて、分類器格納部１３Ａに格納する。
【０１４０】
図１９は、分類器格納部１３Ａに格納された分類器の一例である。図１９（ａ）は一般分類器の格納例であり、図１９（ｂ）は、専用分類器の格納例である。図１９（ａ）の一般分類器のフォーマットは、実施の形態１で説明の図９と同様である。図１９（ｂ）は、分類器識別子と、部分１対１データ集合の識別子と、構成要素と、正答率と、分類器構築情報とを格納している。分類器識別子と、正答率と、分類器構築情報は、（ａ）の一般分類器と同様である。部分１対１データ集合の識別子は、専用分類器の作成に用いられた学習用データ集合の識別子である。構成要素は、専用分類器の構築に用いた部分１対１データ集合の構成要素を示す。例えば、図１９(b)に示す３つの専用分類器では、構成要素｛Ｃ１， Ｃ２｝が格納されている。これは、正解データがＣ１とＣ２である１対１データのみの部分１対１データ集合から作成された、Ｃ１とＣ２を分類するための専用分類器であることを示す。
【０１４１】
次のステップＳ２７は、実施の形態１と同様である。
以上がデータ分類器作成装置３の説明である。
【０１４２】
従って、実施の形態３のデータ分類器作成装置３によれば、実施の形態１のデータ分類器作成装置１で作成されるものと同様の分類器（一般分類器）を複数作成することができると共に、いくつかのクラスの正解データのみで構成された部分１対１データ集合から複数の分類器（専用分類器）を作成することができる。
【０１４３】
実施の形態４．
図２０は、本発明の実施の形態４におけるデータ分類装置４の構成例を示すブロック図である。
【０１４４】
図２０において、データ分類装置４は、分類器取得部６０Ａと、分類器保存部７０と、分類実行部８０Ａと、分類結果統合部９０とを備え、外部接続部１００を介して図１６に示す実施の形態３のデータ分類作成装置３と接続されている。分類器保存部７０と、分類結果統合部９０は、実施の形態２におけるデータ分類装置２のものと同様であるため、説明を省略する。
【０１４５】
ここで、実施の形態４のデータ分類装置４では、実施の形態２のデータ分類装置２の分類器取得部６０と分類実行部８０の動作が異なるため、データ分類装置４では、それぞれ分類器取得部６０Ａ、分類実行部８０Ａとする。また、データ分類装置４の分類器取得部６０は、外部接続部１００を介して、データ分類器作成装置３と連結されている。また、分類実行部８０は、外部装置２００と接続されている。このデータ分類装置４も、実施形態１〜３のデータ分類装置１〜３と同様に、ソフトウェア的に構成するようにしてもよい。
【０１４６】
データ分類装置４における分類器取得部６０Ａは、データ分類装置２の分類器取得部６０と同様に、一般分類器をデータ分類器作成装置３から取得し、さらに、専用分類器も、データ分類器作成装置３から取得する処理を行う。
【０１４７】
データ分類装置４における分類実行部８０Ａは、データ分類装置２の分類実行部８０と同様に、複数の一般分類器を用いて分類を行い、さらに、前記一般分類器の分類結果が所定の条件を満たさない場合は、分類器取得部６０Ａに専用分類器を取得させ、その専用分類器を用いて決選投票を行う。
【０１４８】
図２１は、データ分類装置４の動作の一例を示すフローチャートである。
【０１４９】
まず、データ分類装置４の分類器取得部６０Ａは、一般分類器を、外部接続部１００を介して、データ分類器作成装置３から取得し、分類器保存部７０に格納する（ステップＳ２００）。この処理は、実施の形態２の分類器取得部６０と同様である。
【０１５０】
次のステップＳ２１０は、実施の形態２と同様である。
【０１５１】
次に分類実行部８０Ａは、ステップＳ２００で取得した一般分類器を基に、分類を行う（ステップＳ２２０）。この処理は、実施の形態２の分類実行部８０と同様である。
【０１５２】
次に、分類実行部８０Ａは、最大の票数を得たクラスの得票数が、所定値を上回ったか否かを判断する（ステップＳ２２１）。もし、所定値を上回っている場合、ステップＳ２３０に進み、そうでなければステップＳ２２２に進む。
【０１５３】
次に、最大得票数が所定値を上回らなかった場合、分類器取得部６０Ａは、得票数上位２つのクラスから作成された専用分類器を、データ分類器作成装置３から取得する（ステップＳ２２２）。例えば、得票数上位２つのクラスがＣ１とＣ２である場合、Ｃ１とＣ２のみを構成要素とする学習用データ集合から作成された専用分類器を取得する。専用分類器も、一般分類器の取得処理と同様に、データ分類器作成装置３に設定された個数だけ、専用分類器を取得する。もしくは、取得する専用分類器の個数を指定して、その個数だけ専用分類器を取得するようにしても良い。
【０１５４】
次に、分類実行部８０Ａは、以上のようにして取得した専用分類器で、同一の入力データに対して再び分類を行う（ステップＳ２２３）。つまり、ステップＳ２２３では、分類実行部８０Ａは、分類を行う分類器が専用分類器であること以外は、ステップＳ２２０と同様の処理を行う。もし、Ｃ１とＣ２の専用分類器で分類を行う場合、Ｃ１かＣ２、いずれかの分類結果が専用分類器によって出力される。
【０１５５】
次に、分類結果統合部９０は、分類結果を統合して、最終的な分類結果を決定し、分類実行部８０Ａに返す（ステップＳ２３０）。この処理は、実施の形態２と同様である。
【０１５６】
次のステップＳ２３０は、実施の形態２と同様である。
【０１５７】
以上が、実施の形態４のデータ分類装置４の動作の流れである。
【０１５８】
なお、ステップＳ２００において、分類器取得部６０Ａは、全ての専用分類器を取得して分類器保存部７０に格納しておき、ステップＳ２２２で、分類器保存部７０に格納された専用分類器から、決選投票に必要な分類器を読み出すようにしても良い。
【０１５９】
また、得票数上位２つのクラスでの決選投票としたが、所定の得票率を超えるクラスによる決選投票など、２つ以上のクラスで決選投票を行っても良い。
【０１６０】
従って、本実施の形態４のデータ分類装置４によると、上記実施の形態２のデータ分類装置２と同様の効果が得られると共に、さらに、実施の形態３のデータ分類器作成装置３によって作成された特定のクラス同士を専門に分類する専用分類器を用いることによって、分類の精度をさらに向上させることが出来る。
【符号の説明】
【０１６１】
１，３  データ分類器作成装置
２，４  データ分類装置
１０  格納部
１１  事例データ格納部
１２，１２Ａ  １対１データ格納部
１３，１３Ａ  分類器格納部
２０，２０Ａ  １対１データ作成部
３０，３０Ａ  分類器作成部
４０  分類器出力部
６０，６０Ａ  分類器取得部
７０  分類器保存部
８０，８０Ａ  分類実行部
９０  分類結果統合部
１００  外部接続部
２００  外部装置
【図１】
2010272053.tif 000006
【図２】
2010272053.tif 000007
【図３】
2010272053.tif 000008
【図４】
2010272053.tif 000009
【図５】
2010272053.tif 000010
【図６】
2010272053.tif 000011
【図７】
2010272053.tif 000012
【図８】
2010272053.tif 000013
【図９】
2010272053.tif 000014
【図１０】
2010272053.tif 000015
【図１１】
2010272053.tif 000016
【図１２】
2010272053.tif 000017
【図１３】
2010272053.tif 000018
【図１４】
2010272053.tif 000019
【図１５】
2010272053.tif 000020
【図１６】
2010272053.tif 000021
【図１７】
2010272053.tif 000022
【図１８】
2010272053.tif 000023
【図１９】
2010272053.tif 000024
【図２０】
2010272053.tif 000025
【図２１】
2010272053.tif 000026