(57)【要約】【課題】  データの分類に適用するルール生成、データ分類処理を効率的に正確に実行する装置および方法を提供する。【解決手段】  命題論理学習器において、入力データに基づいて分類木を構築し命題論理式ルールを取得するとともに、命題論理学習器の生成した分類木のノード対応データを処理対象データとして述語論理学習器において述語論理式ルールを生成し、命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成する。本構成により、述語論理学習器の処理負担を軽減した効率的なルール生成が可能となる。【選択図】  図１
2005190255.tif 000002
【特許請求の範囲】
【請求項１】
入力データに基づいて分類木を構築し、命題論理式ルールを取得する命題論理学習器と、
前記命題論理学習器の生成した分類木のノード対応データに基づいて、述語論理式ルールを生成する述語論理学習器と、
前記命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成するルール結合部と、
を有することを特徴とするデータ分類処理装置。
【請求項２】
前記ルール結合部は、
前記命題論理学習器の生成した命題論理式ルールを述語論理式ルールに変換し、該変換ルールと、前記述語論理学習器の生成した述語論理式ルールとの結合を実行して最終的なデータ分類ルールを生成する処理を実行する構成であることを特徴とする請求項１に記載のデータ分類処理装置。
【請求項３】
前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、
前記述語論理学習器入力データ作成部は、
前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木に基づいて前記述語論理学習器における処理対象データを選択する処理を実行する構成を有し、
前記述語論理学習器は、前記述語論理学習器入力データ作成部の選択したデータのみを対象として述語論理式ルールを生成する処理を実行する構成であることを特徴とする請求項１に記載のデータ分類処理装置。
【請求項４】
前記述語論理学習器は、
前記述語論理学習器入力データ作成部において選択されたデータと、前記命題論理学習器における分類木の作成に利用されていない関係表とに基づいて述語論理式ルールを生成する構成であることを特徴とする請求項３に記載のデータ分類処理装置。
【請求項５】
前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、
前記述語論理学習器入力データ作成部は、
前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木から、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．集合中の各ノードに分類されるデータの集合和が全データと等しい
ｃ．集合中の各ノードに分類されるデータ数の最大値が、述語論理学習器の処理可能なデータ数上限以下である
ａ〜ｃを満足するノードを特定し、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行する構成であることを特徴とする請求項１に記載のデータ分類処理装置。
【請求項６】
前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、
前記述語論理学習器入力データ作成部は、
前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木の構成ノードから、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．各ノードに分類されるデータの集合和が全データと等しい
ａ〜ｂを満足するノードを特定し、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行する構成であることを特徴とする請求項１に記載のデータ分類処理装置。
【請求項７】
前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、
前記述語論理学習器入力データ作成部は、
前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木の構成ノードから、情報利得、または情報利得比、または分割情報量の少なくともいずれかが予め定めた閾値に満たないノードを特定し、特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行する構成であることを特徴とする請求項１に記載のデータ分類処理装置。
【請求項８】
入力データに基づいて分類木を構築し、命題論理式ルールを取得する命題論理学習ステップと、
前記命題論理学習ステップにおいて生成した分類木のノード対応データに基づいて、述語論理式ルールを生成する述語論理学習ステップと、
前記命題論理学習ステップにおいて生成した命題論理式ルールと、前記述語論理学習ステップにおいて生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成するルール結合ステップと、
を有することを特徴とするデータ分類処理方法。
【請求項９】
入力データに基づいて分類木を構築し、命題論理式ルールを取得する命題論理学習ステップと、
前記命題論理学習ステップにおいて生成した分類木のノード対応データに基づいて、述語論理式ルールを生成する述語論理学習ステップと、
前記命題論理学習ステップにおいて生成した命題論理式ルールと、前記述語論理学習ステップにおいて生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成するルール結合ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帰納学習によってデータの特徴を表わすルールを獲得する手法に関し、多数の事例に従って生成される複数の関係表に基づいて帰納学習によってデータの特徴を示すルールの構築処理を実行するデータ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
帰納学習法では、与えられた多くの事例からその事例間に成立する因果関係又は一般法則を生成する。知識獲得における帰納学習法では、事例を属性及びクラス（結果属性）で表現し、観測属性値からクラスを推定するルールを生成する。ルールの生成手法としては大きく分けて分割統治（ｄｉｖｉｄｅ−ａｎｄ−ｃｏｎｑｕｅｒ）法と、カバーリング（Ｃｏｖｅｒｉｎｇ）法の２つのアプローチが知られている。
【０００３】
分割統治（ｄｉｖｉｄｅ−ａｎｄ−ｃｏｎｑｕｅｒ）法の代表的なアルゴリズムには、ＩＤ３，Ｃ４．５，  ＣＡＲＴ，  ＡＳＳＩＳＴＡＮＴ等がある。これらはルールとして分類木を出力する。
【０００４】
分割統治法のアルゴリズムの概要について説明する。アルゴリズムは以下の通りである。
（１）分類木を設定し、木のノード（分岐点）に事例を割り当てる。なお、初期的には、分類木はルート（頂点ノード）のみからなる。
（２）
（２−１）分類木のあるノードに設定した複数の事例が同じクラスに属するなら、そのノードはそのクラスでラベル付けされる。
（２−２）分類木のあるノードに設定した複数の事例が異なるクラスを含むなら、
（２−２−１）よい分類に適した属性を決定し、
（２−２−２）その属性値により事例を分類して、そのノードの子供のノードに割り当てる
（２−２−３）子供のノードについて（２）を繰り返し実行する。
【０００５】
分割統治法の代表的なアルゴリズムであるＩＤ３では、分類に適した属性を決定する際、例えば、上述のステップ（２−２−１）における分類属性決定処理において、情報エントロピーを利用した属性決定処理を行なっている。ＩＤ３では決定木を求める際に、事例数から求められる情報エントロピー（情報量の期待値）を効率の指標とする。決定木上の点での分岐属性は、ある属性による分岐前後の情報エントロピーの差（獲得情報量）を最大とする属性を選択することで求める
【０００６】
帰納学習法において、事例を属性及びクラス（結果属性）で表現し、観測属性値からクラスを推定するルールを生成するもう１つの手法が、カバーリング（Ｃｏｖｅｒｉｎｇ）法であり、代表的なアルゴリズムにＡＱ，ＣＮ２，ＦＯＩＬ，ＧＯＬＥＭ，Ｐｒｏｇｏｌ，Ａｌｅｐｈ等がある。
【０００７】
カバーリング（Ｃｏｖｅｒｉｎｇ）法では、事例として正例と負例が与えられ、ルールとして論理式（Ｉｆ−ＴｈｅｎルールまたはＰｒｏｌｏｇ式）を出力する。アルゴリズムの概要は以下の通りである。
【０００８】
（１）正例の多くを満たし、負例は満たさない条件節を求める
（２）条件節をルールに追加する
（３）この条件節を満たす事例を除去する
（４）まだ事例が残っていれば（１）から繰り返す
【０００９】
カバーリング（Ｃｏｖｅｒｉｎｇ）法の手法であるＡＱやＣＮ２では命題論理式を出力するが、ＦＯＩＬ，ＧＯＬＥＭ，Ｐｒｏｇｏｌ，Ａｌｅｐｈでは異なる属性間の属性値を関連づける背景知識を用い、属性値に変数を採ることができる述語論理式を出力することができる。
【００１０】
非特許文献１には、述語論理式について説明されている。非特許文献１に記載の述語論理式の例を以下に示す。
ｅａｓｔｂｏｕｎｄ（Ａ）：−ｈａｓ＿ｃａｒ（Ａ，Ｂ），ｓｈｏｒｔ（Ｂ），ｃｌｏｓｅｄ（Ｂ）．
この式は
（１）貨車Ｂが貨物列車Ａに連結されていて（ｈａｓ＿ｃａｒ（Ａ，Ｂ））、
（２）その貨車Ｂの長さが短く（ｓｈｏｒｔ（Ｂ））、
（３）かつ貨車Ｂに屋根がついていて（ｃｌｏｓｅｄ（Ｂ））
（４）貨物列車Ａは東に向かう（ｅａｓｔｂｏｕｎｄ（Ａ））
ことを表わしている。
【００１１】
カバーリング（Ｃｏｖｅｒｉｎｇ）法の手法であるＦＯＩＬ等の述語論理学習器の特長の１つに、複数の関係表からなるデータを学習できることがある。複数の関係表からなるデータの例を図１２に示す（非特許文献１６６ページより引用）。
【００１２】
図１２に示す例は、３つの関係表を持ち、
（ａ）関係表１は、列車識別子と進行方向との対応を示す関係表、
（ｂ）関係表２は、列車識別子と連結されている貨車の貨車識別子と、貨車の位置との対応を示す関係表、
（ｃ）関係表３は、貨車識別子と、屋根の有無と、長さと、形と、荷物の形（数）と、車輪の数との対応を示す関係表、
これらの３つの関係表が設定されている。
【００１３】
図１２に示す例では、列車の進行方向を、他の属性（連結されている貨車、貨車の位置、貨車の屋根の有無、貨車の長さ、貨車の形、貨車の荷物の形と数、貨車の車輪の数）から学習することが想定されている。
【００１４】
一方、命題論理学習器は、学習対象データが単一の表で表現できることを前提としている。単一の表で表現できるデータの例を図１３に示す（非特許文献１，１１９ページより引用）。
【００１５】
学習対象のデータが先に説明した図１２のように複数の関係表で表現されていても、表の結合操作により、単一の表に変換できる。
【００１６】
図１３の表は、単一の表の例であり、［レコード番号］、［車体の形状］、［車体の大きさ］、［車体の色］、［サイレンの有無］、［車種］の項目を対応付けた表である。
【００１７】
しかし、結合操作の組合せで得られる表をそのまま命題論理学習器に入力しても、命題論理学習器が利用できる事実（属性）は、述語論理学習器が利用する事実の一部にすぎない。たとえば、図１２の３つの表（ａ），（ｂ），（ｃ）から、列車に連結されている個々の貨車に着目して作成した単一の表（図１４参照）が作成できる。
【００１８】
図１４に示す表は、［列車］、［方向］、［連結されている貨車］、［貨車の位置］、［屋根］、［長さ］、［荷物の形］、［車輪の数］の各項目を有する。この表は、図１２に示す（ｂ）関係表２の１つの項目［連結されている貨車］をそのまま抜き出して、その他の項目を図１２に示す３つの関係表（ａ）（ｂ）（ｃ）に基づいてデータを埋め込んで作成した、すなわち結合操作によって作成した単一表である。
【００１９】
しかし、このように複数の関係表に基づく結合操作によって生成した単一表をそのまま命題論理学習器に入力しても、「列車ｔ１に貨車ｃ２と貨車ｃ３がともに連結されている」ことや、「貨車ｃ２が貨車ｃ３より前に連結されている」ことを列車の進行方向の予測に利用できない。また、列車に連結されているすべての貨車に着目して作成した第２の表（図１４参照）を命題論理学習器に入力する場合には、「列車ｔ１と列車ｔ２がともに貨車ｃ１を連結している」ことを利用できない。
【００２０】
学習に利用すべき属性があらかじめ明らかな場合には、その属性、あるいは属性と各レコードの属性値を表に追加してから命題論理学習器に入力すればよい。たとえば、列車の進行方向を予測する上で「列車に貨車ｃ２と貨車ｃ３がともに連結されていること」が重要であることが明らかな場合には、その属性に対応する項目設定列を表に追加し、得られる表を命題論理学習器に入力すればよい。
【００２１】
例えば、図１５の表を作成した後、命題論理学習器に入力すればよい。図１５の表は、上下２段に示してあるが１つの表であり、［列車］、［方向］の項目に加え、
［貨車１の屋根］、［貨車１の長さ］、［貨車１の形］、［貨車１の荷物の形（数）］、［貨車１の車輪の数］、
［貨車２の屋根］、［貨車２の長さ］、［貨車２の形］、［貨車２の荷物の形（数）］、［貨車２の車輪の数］、
［貨車３の屋根］、［貨車３の長さ］、［貨車３の形］、［貨車３の荷物の形（数）］、［貨車３の車輪の数］、
［貨車４の屋根］、［貨車４の長さ］、［貨車４の形］、［貨車４の荷物の形（数）］、［貨車４の車輪の数］、
の各項目を有する。
【００２２】
しかし、このように新たに属性を生成・追加する処理は、追加する属性を決定する処理などが加わることになるため一般には容易ではない。
【００２３】
述語論理学習器は、複数の関係表からなるデータを直接事例（正例、負例）や背景知識として扱えるので、上記の問題は発生しない。
【００２４】
一方、述語論理学習器の課題として、学習に利用できるデータ数の上限が命題論理学習器のそれよりも小さいことがあげられる。
【００２５】
データ数の上限を超える数のデータからルールを獲得するため、非特許文献２に記載の方法では、あらかじめ決められた数のデータをランダムに選択して述語論理学習器に入力し、獲得したルールで全データを分類する。そして、誤って分類されたデータの一部をランダムに選択し、入力データに追加してルールを再度獲得する。この処理を、全データに対する分類精度があらかじめ決められた値以上になるまで繰り返す。
【非特許文献１】古川康一，尾崎知伸，植野研．帰納論理プログラミング．共立出版（２００１）．
【非特許文献２】Ａｓｈｗｉｎ  Ｓｒｉｎｉｖａｓａｎ．  Ａ  ｓｔｕｄｙ  ｏｆ  ｔｗｏ  ｓａｍｐｌｉｎｇ  ｍｅｔｈｏｄｓ  ｆｏｒ  ａｎａｌｙｓｉｎｇ  ｌａｒｇｅ  ｄａｔａｓｅｔｓ  ｗｉｔｈ  ＩＬＰ．  Ｄａｔａ  Ｍｉｎｉｎｇ  ａｎｄ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ．  Ｖｏｌ．３，  Ｎｏ．１（１９９９）  ｐｐ．９５−１２３．
【発明の開示】
【発明が解決しようとする課題】
【００２６】
上述した非特許文献２に記載の方法では、最終的に獲得されるルールの分類精度が最初に学習器に入力するデータの選択方法に大きく依存するにも関わらず、入力データはランダムに選択される。したがって、あらかじめ決められた分類精度を達成するルールを獲得するには、異なる入力データを利用した処理を繰り返さなければならなかった。しかも、分類精度を達成するルールを獲得できるかどうか判定する方法は提供されていないので、利用者は所望のルールが獲得できるのかわからないまま処理を繰り返さなければならなかった。
【００２７】
本発明は、上記問題点に鑑みてなされたものであり、複数の関係表で表現される学習対象データの数が述語論理学習器の処理許容データ数を超える場合でも、すべてのデータに対する述語論理式ルールを獲得することを可能とするデータ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明の第１の側面は、
入力データに基づいて分類木を構築し、命題論理式ルールを取得する命題論理学習器と、
前記命題論理学習器の生成した分類木のノード対応データに基づいて、述語論理式ルールを生成する述語論理学習器と、
前記命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成するルール結合部と、
を有することを特徴とするデータ分類処理装置にある。
【００２９】
本発明の上記構成によれば、命題論理学習器において、入力データに基づいて分類木を構築し命題論理式ルールを取得するとともに、命題論理学習器の生成した分類木のノード対応データを処理対象データとして述語論理学習器において述語論理式ルールを生成し、命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成する構成であり、述語論理学習器は、命題論理学習器における処理結果を利用したデータ処理を行なうことができるので、述語論理学習器の処理負担が軽減され効率的なルール生成が可能となる。
【００３０】
さらに、本発明のデータ分類処理装置の一実施態様において、前記ルール結合部は、前記命題論理学習器の生成した命題論理式ルールを述語論理式ルールに変換し、該変換ルールと、前記述語論理学習器の生成した述語論理式ルールとの結合を実行して最終的なデータ分類ルールを生成する処理を実行する構成であることを特徴とする。
【００３１】
本発明の上記構成によれば、ルール結合部において命題論理学習器の生成した命題論理式ルールを述語論理式ルールに変換し、変換ルールと、述語論理学習器の生成した述語論理式ルールとの結合を実行する構成であるので、正確な述語論理式ルールを生成することが可能となる。
【００３２】
さらに、本発明のデータ分類処理装置の一実施態様において、前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、前記述語論理学習器入力データ作成部は、前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木に基づいて前記述語論理学習器における処理対象データを選択する処理を実行する構成を有し、前記述語論理学習器は、前記述語論理学習器入力データ作成部の選択したデータのみを対象として述語論理式ルールを生成する処理を実行する構成であることを特徴とする。
【００３３】
本発明の上記構成によれば、述語論理学習器入力データ作成部において、命題論理学習器が構築した分類木に基づいて述語論理学習器における処理対象データを選択する処理を実行し、述語論理学習器が選択データのみを対象として述語論理式ルールを生成することが可能となり、処理データの削減が実現され、処理の効率化が図られる。
【００３４】
さらに、本発明のデータ分類処理装置の一実施態様において、前記述語論理学習器は、前記述語論理学習器入力データ作成部において選択されたデータと、前記命題論理学習器における分類木の作成に利用されていない関係表とに基づいて述語論理式ルールを生成する構成であることを特徴とする。
【００３５】
本発明の上記構成によれば、述語論理学習器は、述語論理学習器入力データ作成部において選択されたデータと、命題論理学習器における分類木の作成に利用されていない関係表とに基づいて述語論理式ルールを生成するので、命題論理学習器で使用していない
対応関係に基づいてルールが生成され、より正確なルール生成が可能となる。
【００３６】
さらに、本発明のデータ分類処理装置の一実施態様において、前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、前記述語論理学習器入力データ作成部は、前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木から、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．集合中の各ノードに分類されるデータの集合和が全データと等しい
ｃ．集合中の各ノードに分類されるデータ数の最大値が、述語論理学習器の処理可能なデータ数上限以下である
ａ〜ｃを満足するノードを特定し、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行する構成であることを特徴とする。
【００３７】
本発明の上記構成によれば、命題論理学習器が構築した分類木のノード条件が上記条件を満足するか否か判定して述語論理学習器の処理対象データとして設定するか否かを判定する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理が可能となる。
【００３８】
さらに、本発明のデータ分類処理装置の一実施態様において、前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、前記述語論理学習器入力データ作成部は、前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木の構成ノードから、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．各ノードに分類されるデータの集合和が全データと等しい
ａ〜ｂを満足するノードを特定し、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行する構成であることを特徴とする。
【００３９】
本発明の上記構成によれば、命題論理学習器が構築した分類木のノード条件が上記条件を満足するか否か判定して述語論理学習器の処理対象データとして設定するか否かを判定する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理が可能となる。
【００４０】
さらに、本発明のデータ分類処理装置の一実施態様において、前記データ分類処理装置は、前記述語論理学習器に入力するデータを生成する述語論理学習器入力データ作成部を有し、前記述語論理学習器入力データ作成部は、前記命題論理学習器が処理対象データに基づいて設定された関係表に基づいて構築した分類木の構成ノードから、情報利得、または情報利得比、または分割情報量の少なくともいずれかが予め定めた閾値に満たないノードを特定し、特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行する構成であることを特徴とする。
【００４１】
本発明の上記構成によれば、命題論理学習器が構築した分類木のノード条件が上記条件を満足するか否か判定して述語論理学習器の処理対象データとして設定するか否かを判定する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理が可能となる。
【００４２】
さらに、本発明の第２の側面は、
入力データに基づいて分類木を構築し、命題論理式ルールを取得する命題論理学習ステップと、
前記命題論理学習ステップにおいて生成した分類木のノード対応データに基づいて、述語論理式ルールを生成する述語論理学習ステップと、
前記命題論理学習ステップにおいて生成した命題論理式ルールと、前記述語論理学習ステップにおいて生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成するルール結合ステップと、
を有することを特徴とするデータ分類処理方法にある。
【００４３】
本発明の上記構成によれば、命題論理学習器において、入力データに基づいて分類木を構築し命題論理式ルールを取得するとともに、命題論理学習器の生成した分類木のノード対応データを処理対象データとして述語論理学習器において述語論理式ルールを生成し、命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成する構成であり、述語論理学習器は、命題論理学習器における処理結果を利用したデータ処理を行なうことができるので、述語論理学習器の処理負担が軽減され効率的なルール生成が可能となる。
【００４４】
さらに、本発明のデータ分類処理方法の一実施態様において、前記ルール結合ステップは、前記命題論理学習ステップにおいて生成した命題論理式ルールを述語論理式ルールに変換し、該変換ルールと、前記述語論理学習器の生成した述語論理式ルールとの結合を実行して最終的なデータ分類ルールを生成する処理を実行するステップであることを特徴とする。
【００４５】
本発明の上記構成によれば、ルール結合部において命題論理学習器の生成した命題論理式ルールを述語論理式ルールに変換し、変換ルールと、述語論理学習器の生成した述語論理式ルールとの結合を実行する構成であるので、正確な述語論理式ルールを生成することが可能となる。
【００４６】
さらに、本発明のデータ分類処理方法の一実施態様において、前記データ分類処理方法は、前記述語論理学習ステップにおける処理データを生成する述語論理学習器入力データ作成ステップを有し、前記述語論理学習器入力データ作成ステップは、前記命題論理学習ステップにおいて、処理対象データに基づいて設定された関係表に基づいて構築した分類木に基づいて前記述語論理学習ステップにおける処理対象データを選択する処理を実行するステップであり、前記述語論理学習ステップは、前記述語論理学習器入力データ作成ステップにおいて選択したデータのみを対象として述語論理式ルールを生成する処理を実行することを特徴とする。
【００４７】
本発明の上記構成によれば、述語論理学習器入力データ作成部において、命題論理学習器が構築した分類木に基づいて述語論理学習器における処理対象データを選択する処理を実行し、述語論理学習器が選択データのみを対象として述語論理式ルールを生成することが可能となり、処理データの削減が実現され、処理の効率化が図られる。
【００４８】
さらに、本発明のデータ分類処理方法の一実施態様において、前記述語論理学習ステップは、前記述語論理学習器入力データ作成ステップにおいて選択されたデータと、前記命題論理学習ステップにおける分類木の作成に利用されていない関係表とに基づいて述語論理式ルールを生成するステップであることを特徴とする。
【００４９】
本発明の上記構成によれば、述語論理学習器は、述語論理学習器入力データ作成部において選択されたデータと、命題論理学習器における分類木の作成に利用されていない関係表とに基づいて述語論理式ルールを生成するので、命題論理学習器で使用していない
対応関係に基づいてルールが生成され、より正確なルール生成が可能となる。
【００５０】
さらに、本発明のデータ分類処理方法の一実施態様において、前記データ分類処理方法は、前記述語論理学習ステップでの処理データを生成する述語論理学習器入力データ作成ステップを有し、前記述語論理学習器入力データ作成ステップは、前記命題論理学習ステップにおいて生成した分類木から、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．集合中の各ノードに分類されるデータの集合和が全データと等しい
ｃ．集合中の各ノードに分類されるデータ数の最大値が、述語論理学習器の処理可能なデータ数上限以下である
ａ〜ｃを満足するノードを特定するステップと、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを前記述語論理学習器の処理対象データとして設定する処理を実行するステップとを有することを特徴とする。
【００５１】
本発明の上記構成によれば、命題論理学習器が構築した分類木のノード条件が上記条件を満足するか否か判定して述語論理学習器の処理対象データとして設定するか否かを判定する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理が可能となる。
【００５２】
さらに、本発明のデータ分類処理方法の一実施態様において、前記データ分類処理方法は、前記述語論理学習ステップでの処理データを生成する述語論理学習器入力データ作成ステップを有し、前記述語論理学習器入力データ作成ステップは、前記命題論理学習ステップにおいて生成した分類木から、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．各ノードに分類されるデータの集合和が全データと等しい
ａ〜ｂを満足するノードを特定するステップと、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを前記述語論理学習器の処理対象データとして設定する処理を実行するステップとを有することを特徴とする。
【００５３】
本発明の上記構成によれば、命題論理学習器が構築した分類木のノード条件が上記条件を満足するか否か判定して述語論理学習器の処理対象データとして設定するか否かを判定する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理が可能となる。
【００５４】
さらに、本発明のデータ分類処理方法の一実施態様において、前記データ分類処理方法は、前記述語論理学習ステップでの処理データを生成する述語論理学習器入力データ作成ステップを有し、前記述語論理学習器入力データ作成ステップは、前記命題論理学習ステップにおいて生成した分類木の構成ノードから、情報利得、または情報利得比、または分割情報量の少なくともいずれかが予め定めた閾値に満たないノードを特定するステップと、特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、前記述語論理学習器の処理対象データとして設定する処理を実行するステップとを有することを特徴とする。
【００５５】
本発明の上記構成によれば、命題論理学習器が構築した分類木のノード条件が上記条件を満足するか否か判定して述語論理学習器の処理対象データとして設定するか否かを判定する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理が可能となる。
【００５６】
さらに、本発明の第３の側面は、
入力データに基づいて分類木を構築し、命題論理式ルールを取得する命題論理学習ステップと、
前記命題論理学習ステップにおいて生成した分類木のノード対応データに基づいて、述語論理式ルールを生成する述語論理学習ステップと、
前記命題論理学習ステップにおいて生成した命題論理式ルールと、前記述語論理学習ステップにおいて生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成するルール結合ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００５７】
本発明の上記構成によれば、命題論理学習器において、入力データに基づいて分類木を構築し命題論理式ルールを取得するとともに、命題論理学習器の生成した分類木のノード対応データを処理対象データとして述語論理学習器において述語論理式ルールを生成し、命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成する構成であり、述語論理学習器は、命題論理学習器における処理結果を利用したデータ処理を行なうことができるので、述語論理学習器の処理負担が軽減され効率的なルール生成が可能となる。
【００５８】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータシステムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータシステム上でプログラムに応じた処理が実現される。
【００５９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００６０】
本発明の構成によれば、命題論理学習器において、入力データに基づいて分類木を構築し命題論理式ルールを取得するとともに、命題論理学習器の生成した分類木のノード対応データを処理対象データとして述語論理学習器において述語論理式ルールを生成し、命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成することが可能となり、述語論理学習器の処理負担を軽減した効率的なルール生成が可能となる。
【００６１】
さらに、本発明の構成によれば、ルール結合部において命題論理学習器の生成した命題論理式ルールを述語論理式ルールに変換し、変換ルールと、述語論理学習器の生成した述語論理式ルールとの結合を実行する構成であるので、正確な述語論理式ルールを生成することが可能となる。
【００６２】
さらに、本発明の構成によれば、述語論理学習器入力データ作成部において、命題論理学習器が構築した分類木に基づいて述語論理学習器における処理対象データを選択する処理を実行し、述語論理学習器が選択データのみを対象として述語論理式ルールを生成することが可能となり、処理データの削減が実現され、処理の効率化が図られる。
【００６３】
さらに、本発明の構成によれば、命題論理学習ステップにおいて生成した分類木から特定の条件、例えば、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．集合中の各ノードに分類されるデータの集合和が全データと等しい
ｃ．集合中の各ノードに分類されるデータ数の最大値が、述語論理学習器の処理可能なデータ数上限以下である
ａ〜ｃを満足するノードを特定し、特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを述語論理学習器の処理対象データとして設定する処理を実行する構成としたので、命題論理学習器および述語論理学習器の両者を効率的に適用した処理により正確なルールを生成することが可能となる。
【００６４】
本発明の構成によれば、複数の関係表で表現される学習対象データの数が大量であり、述語論理学習器の処理のみでのルール作成が困難な場合であっても、命題論理学習器を利用してデータ数を絞り込み、絞り込んだデータの処理を述語論理学習器において実行し、命題論理学習器を利用して得たルールを述語論理式ルールに変換し、絞込みデータを対象として述語論理学習器によって得たルールと結合して最終的なルールを生成する構成としたので、述語論理学習器は、命題論理学習器における処理結果を利用したデータ処理を行なうことができるので、述語論理学習器の処理負担が軽減され、大量のデータ効率的にを対象とした処理においても、正確なデータの分類ルールを効率的に生成することが可能となる。
【発明を実施するための最良の形態】
【００６５】
以下、図面を参照しながら本発明のデータ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００６６】
図１は本発明のデータ分類装置としてのデータマイニングシステム１００の構成図である。図１に示すように、データマイニングシステム１００は、データベース１０１、命題論理学習器入力データ作成部１０２、命題論理学習器１０３、述語論理学習器入力データ作成部１０４、述語論理学習器１０５、ルール結合部１０６から構成される。
【００６７】
データマイニングシステム１００は、データベース１０１に格納された関係表に基づいて、命題論理学習器１０３と述語論理学習器１０５とを併用して、述語論理ルールを生成して出力する。
【００６８】
図２は、図１のデータマイニングシステム１００において実行する処理シーケンス例を示すフローチャートである。
【００６９】
まず、図１および図２を参照して、本発明のデータマイニングシステム１００において実行する一連の処理の概要について説明し、後段で各処理の詳細について説明する。
【００７０】
図２に示すフローにおけるステップＳ１０１では、データベース１０１に格納されたデータ、例えば図３に示す複数の関係表から、命題論理学習器入力データ作成部１０２において、命題論理学習器１０３への入力データを生成する。生成する入力データは、例えば
図４に示すデータである。
【００７１】
ステップＳ１０２では、命題論理学習器１０３が、命題論理学習器入力データ作成部１０２から入力する入力データ（図４）に基づいて分類木データ（図６）を作成する。
【００７２】
ステップＳ１０３からステップＳ１０５までの一連の処理は、分類木データ（図６）の非リーフノードごとに実行される処理である。
【００７３】
ステップＳ１０３は、述語論理学習器入力データ作成部１０４の処理であり、分類木データ（図６）の非リーフノードの１つ、および、データベース１０１中のデータから、述語論理学習器１０５への入力データ、すなわち、図８に示す正例ファイル、負例ファイル、背景知識ファイルから構成されるデータを生成する。
【００７４】
ステップＳ１０４は、述語論理学習器１０５の処理であり、述語論理学習器入力データ作成部１０４から入力するデータ（図８参照）から述語論理学習器に基づくルール（図１０（ｂ）参照）を獲得する。
【００７５】
ステップＳ１０５は、ルール結合部１０６の処理であり、非リーフノードに対応する命題論理学習器１０３の出力する命題論理学習器に基づくルール（図１０（ａ）参照）と、述語論理学習器の出力ルール（図１０（ｂ）参照）を結合して、結合後のルール（図１０（ｃ）参照）を生成し、生成したルールを出力し、処理を終了する。
【００７６】
本発明のデータ分類処理装置、すなわち、データマイニングシステム１００において実行する処理手順を簡潔に示すと以下の処理Ａ〜Ｄとして示される。
Ａ．１つ以上の関係表を結合して命題論理学習器用の表データを作成する。
Ｂ．作成した表データから命題論理学習器によって分類木を作成する。
Ｃ．作成した分類木から、以下の条件をすべて満たすノードの集合を得る
Ｃ１）集合中の任意の２ノードについて、一方のノードが他方のノードの親ノードでない
Ｃ２）集合中の各ノードに分類されるデータの集合和が全データと等しい
Ｃ３）集合中の各ノードに分類されるデータ数の最大値が、述語論理学習器のデータ数上限以下である
Ｄ．Ｃで得た集合中のノードごとに、以下の処理を行う
Ｄ１）ノードに対応するルールの条件を満たすデータを特定する
Ｄ２）Ｄ１）で特定したデータのみからなる表と、Ａで利用されていない表から述語論理学習器で学習を行い、ルールを出力する
【００７７】
以下、図１のデータマイニングシステム１００における各処理部において実行する処理の詳細について説明する。図１のデータマイニングシステム１００におけるデータベース１０１は、命題論理学習器入力データ作成部１０２と、述語論理学習器入力データ作成部１０４とに入力されるデータを保持する。このデータベース１０１は、一般的な関係データベースやファイルシステムとして実現可能である。
【００７８】
図３は、命題論理学習器入力データ作成部に入力されるデータベース中のデータの例である。図３に示すように、データベース中のデータは、複数の関係表、例えば３つの表形式データ、すなわち（ａ）関係表１、（ｂ）関係表２、（ｃ）関係表３として表現される。
【００７９】
表形式データの各列は属性、各行はレコードである。たとえば、（ａ）関係表１の属性数は［列車］、［方向］、［出発時刻］の３であり、レコード数は１０である。
【００８０】
本発明のデータ分類装置は、データベース中に格納されたデータに基づいて、データの分類を行なうものであり、例えばデータベース中に格納された多数のデータから、ある特定の属性を持つデータのみを抽出するなどの際に利用される。ここでは、１つの実施例として、［方向］属性の値が［東］である列車（東行き列車）を特徴付けるルールを獲得する手順について説明する。
【００８１】
命題論理学習器入力データ作成部１０２は、データベース１０１から学習対象のデータを読み込み、命題論理学習器１０３に対する入力データを生成するためのデータ変換処理を実行する。
【００８２】
データベース１０１には、図３に示すように、３つの関係表（ａ）関係表１、（ｂ）関係表２、（ｃ）関係表３が格納されている。
【００８３】
（ａ）関係表１は、［列車識別子］と［進行方向］と［出発時刻］の対応を示す関係表、
（ｂ）関係表２は、［列車識別子］と［連結されている貨車］との対応を示す関係表、
（ｃ）関係表３は、［貨車識別子］と、［屋根の有無］と、［長さ］と、［形］と、［荷物の形（数）］と、［車輪の数］との対応を示す関係表、
これらの３つの関係表がデータベース１０１に格納されている。
【００８４】
命題論理学習器入力データ作成部１０２は、関係表に基づいて、図４（１）に示す命題論理学習器入力データを生成する。このデータ生成処理は、例えばｐｅｒｌやＪａｖａなどの一般的なプログラミング言語によるプログラムによって実行可能である。図４（１）に示す入力データは、関係表１、すなわち、［列車識別子］と［進行方向］と［出発時刻］の対応を示す関係表に基づいて生成された入力データの例を示している。
【００８５】
命題論理学習器入力データ作成部１０２の出力する命題論理学習器１０３に対する入力データは、図４（１）に示すように、［＠ｄａｔａ］より前に位置する行からなる属性宣言部２０１と、［＠ｄａｔａ］以降に位置する行からなるデータ部２０２から構成される。
【００８６】
属性宣言部２０１は、各属性（ａｔｔｒｉｂｕｔｅ）ごとに、属性名と、その属性が取り得る値を示す。
【００８７】
たとえば、図４（１）に示す入力データ中、属性宣言部２０１の行、
＠ａｔｔｒｉｂｕｔｅ  ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ｛'ａｍ'，'ｐｍ'｝
は、すべてのレコードにおいて、属性［ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ］のとり得る値は［ａｍ］または［ｐｍ］のいずれかであることを示す。
また、図４（１）に示す入力データ中の属性宣言部２０１の行、
＠ａｔｔｒｉｂｕｔｅ  ｃｌａｓｓ｛'＋'，'−'｝
は、すべてのレコードにおいて、属性［ｃｌａｓｓ］の値は［＋］または［−］のいずれかに設定されることを示す。
【００８８】
なお、図３において示す関係表において設定されている属性名とその値と、図４（１）において示す入力データ中に設定してある属性名とその値は、表現が一致していないが、対応は、図４（２）に示す通り、すなわち以下に示す対応となっている。
［属性］
方向→ｃｌａｓｓ
出発時刻→ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ
［属性値］
東→＋
西→−
午前→ａｍ
午後→ｐｍ
である。
【００８９】
図４（１）に示す入力データ中、データ部２０２は、各レコードの属性値が、属性宣言部での出現順にカンマ区切り［，］で示される。レコード間の区切り文字は改行記号である。
【００９０】
図４に示す入力データは、図３に示す３つの関連表のうち、（ａ）関連表１のみを利用して作成されている。関連表２と関連表３は、述語論理学習器入力データ作成部１０４で利用される。
【００９１】
図５は、命題論理学習器入力データ作成部１０４の実行する処理シーケンスの一例を示すフローチャートである。例えば、図４を参照して説明したように、データベースから取得したある関係表に基づいて、命題論理学習器１０３に入力するための入力データ（図４（１）参照）を生成する処理を実行する。
【００９２】
フローに示す各ステップの処理の詳細について説明する。まず、命題論理学習器入力データ作成部１０４は、ステップＳ２０１において、データベース１０１中のデータ（関係表）が持つすべての属性名を属性リストＡに代入する。例えば図４（１）に示す入力データを生成する場合、関係表１の属性として、［方向］、［出発時刻］などの属性を属性リストＡに設定する。なお、属性名は、入力データとして使用するデータに変換してよい。例えば前述したように、
方向→ｃｌａｓｓ
出発時刻→ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ
である。
【００９３】
属性リストＡでは、各属性名が、データベース１０１に格納されたデータ（関係表）において設定された属性順に格納される。ステップＳ２０２では、データリストＲを空とする。また、すべての属性：Ａｉについて、属性集合Ｄ（Ａｉ）を空とする。属性：Ａｉは、属性リストＡに設定された属性であり、ｉ＝１〜ｎ（ただしｎは、属性リストＡに設定された属性数）である。
【００９４】
ステップＳ２０３では、データベース中の全レコードが処理されたか判定し、処理された場合にはステップＳ２０９に処理を進め、処理されていない場合にはステップＳ２０４に処理を進める。
【００９５】
ステップＳ２０４では、未処理のレコードのうち先頭のレコードＲｉを選択し、データリストＲに追加する。なお、レコードＲｉにおいて、ｉ＝１〜ｍ（ただし、ｍは、データベース中のレコード数）である。なお、ここでレコード数は、処理対象となる関係表に設定されたレコード数であり、例えば図４に示す関係表１を処理対象として設定した場合は、レコード数＝１０である。
【００９６】
このとき、レコードＲｉの各属性値は、カンマを区切り文字として結合される。例えば、図４（１）の入力データ部に示す［ａｍ，＋］や、［ｐｍ，−］の態様となる。なお、前述したように、属性値は、入力データとして使用するデータに変換してよい。例えば前述したように、
東→＋
西→−
午前→ａｍ
午後→ｐｍ
である。
【００９７】
ステップＳ２０５では、すべての属性：Ａｉについて、属性集合Ｄへの追加処理を行ったか判定し、すべての属性：Ａｉについて、属性集合Ｄへの追加処理が終了した場合にはステップＳ２０３へ処理を進め、そうでない場合にはステップＳ２０６に処理を進める。
【００９８】
ステップＳ２０６では、属性集合Ｄへの追加処理をおこなっていない属性：Ａｉのうち先頭の属性Ａｊを選択する。ステップＳ２０７では、属性集合Ｄの要素Ｄ（Ａｊ）が、レコードＲｉにおける属性Ａｊの値（ａｉｊ）を含むか判定し、含む場合は処理をステップＳ２０８へ、そうでない場合は処理をステップＳ２０５に進める。
【００９９】
ステップＳ２０８では、属性集合Ｄ（Ａｊ）に、属性の値（ａｉｊ）を追加し、処理をステップＳ２０５に進める。ステップＳ２０９では、属性リストＡ中の属性Ａｉごとに、属性集合Ｄ（Ａｉ）から図４（１）に示す入力データ中の属性宣言部２０１の記述を作成して出力する。ステップＳ２１０では、データ部として、データリストＲ中のレコード：Ｒｉを順次出力し、図４（１）に示す入力データ中のデータ部２０２の記述を作成して処理を終了する。
【０１００】
このシーケンスに従った処理によって、データベース１０１から取得したある関係表に基づいて、命題論理学習器１０３に入力するための入力データが生成される。その結果としての入力データが例えば図４（１）に示すデータである。
【０１０１】
命題論理学習器１０３は、例えば図４（１）に示す入力データを命題論理学習器入力データ生成部１０２から入力し、入力データに基づいて分類木を作成する。命題論理学習器１０３は、例えばＩＤ３アルゴリズムやＣ４．５アルゴリズムを実装したデータマイニングツールＷＥＫＡの分類木作成モジュールとして実現される。
【０１０２】
なお、ＷＥＫＡは、［ｈｔｔｐ：／／ｗｗｗ．ｃｓ．ｗａｉｋａｔｏ．ａｃ．ｎｚ／ｍｌ／ｗｅｋａ／］から入手可能である。ＷＥＫＡの分類木作成モジュールは、たとえば以下のコマンドを実行することで起動できる。
% java -Xmx1024m -Xss1024m weka.classifiers.j48.J48 -t （入力データファイル名）
【０１０３】
図６は、命題論理学習器１０３が、命題論理学習器入力データ生成部１０２から入力した、入力データに基づいて生成した分類木データの例である。
【０１０４】
図６の分類木データは、分類木部２５１と、統計情報部２５２から構成される。分類木部２５１は、図６に示す分類木データ中、
［ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ｐｍ：−（３．０）］より上の部分である。
また、統計情報部２５２は、図６に示す分類木データ中、
［Ｎｕｍｂｅｒ  ｏｆＬｅａｖｅｓ：２］より下の部分である。
【０１０５】
分類木部２５１は、分類木をテキストデータとして表現したデータ部である。分類木部２５１中の各行は分類木のノードに対応する。各行の表記規則は以下の通りである。
＜行＞：：＝＜親ノード数＞？（＜非葉ノード情報＞｜＜葉ノード情報＞）
＜親ノード数＞：：＝（"｜"）＊
＜非葉ノード情報＞：：＝＜ノード条件＞
＜葉ノード情報＞：：＝＜ノード条件＞＜分類レコード情報＞
＜ノード条件＞：：＝＜属性名＞＜比較演算子＞＜属性値＞
＜分類レコード情報＞：：＝＜クラス属性値＞"（"＜分類レコード数＞（"／"＜誤分類レコード数＞）？"）"
【０１０６】
あるノードＡの［親ノード数］は、ノードＡの親ノードの数（文字列"｜"の数）である。あるノードＡの親ノードに対応する行は、ノードＡに対応する行の前に位置する行で、［親ノード数］がノードＡよりも１つ少ない行のうち、ノードＡに最も近い行である。［親ノード数］を含まないノードは、ルートノード直下のノードである。
【０１０７】
ノードＡの［ノード条件］は、ノードＡの親ノードに分類されるレコードのうち、ノードＡに分類されるものが満たすべき条件である。また、葉ノードＢの［分類レコード情報］は、葉ノードＢの分類クラス（［＋］または［−］）と、その分類クラスのレコード数からなる。［分類レコード情報］は、葉ノードＢの分類クラス以外のクラスのレコード（誤分類レコード）が分類されているときは、それらの数も含む。
【０１０８】
なお、図６に示す分類木部２５１に示すテキストデータ表現を具体的な分類木として示すと、図７に示す分類木３００として示される。
【０１０９】
図６に示す分類木部２５１には、２つの行、すなわち、
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ：＋（７．０／２．０）
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ｐｍ：−（３．０）
が含まれるが、図７の分類木３００に示すように、分類木３００は、ルートノード直下に２つの葉ノードを含むのみであり、図６に示す分類木部２５１には、実質的に＜葉ノード情報＞のみのデータが設定されることになる。
【０１１０】
たとえば、図７に示すノード３０１の＜葉ノード情報＞が、図６に示す分類木部２５１のデータ、
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ：＋（７．０／２．０）
である。
ノード３０１の＜ノード条件＞：：＝＜属性名＞＜比較演算子＞＜属性値＞は、
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ
であり、
ノード３０１の＜分類レコード情報＞：：＝＜クラス属性値＞"（"＜分類レコード数＞（"／"＜誤分類レコード数＞）は、
＋（７．０／２．０）
である。
【０１１１】
このノード３０１には、図７に示す入力データに含まれる１０個のレコードから、＜ノード条件＞を満足するレコード、すなわち、ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍに相当するレコードが分類される。図７に示す入力データには、ａｍの設定されたレコードが７つあり、この７つのレコードがノード３０１の分類レコードとされる。
【０１１２】
ここで、ノード３０１の＜分類レコード情報＞として設定される＜クラス属性値＞は［＋］、すなわち東向きである。すなわち、ノード３０１に含まれるレコード中、＜クラス属性値＞＝［＋］、すなわち東向きのレコードが正しい分類レコードとして解釈され、＜クラス属性値＞＝［−］、すなわち西向きのレコードが誤分類レコードとして解釈される。
【０１１３】
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ：＋（７．０／２．０）
において、
＋（７．０／２．０）
の［＋］がノード３０１の＜クラス属性値＞＝［＋］であることを示し、
（７．０／２．０）は、
ノード３０１の総レコード数＝７、誤分類レコード数＝２
であることを示している。
【０１１４】
一方、図７に示すノード３０２の＜葉ノード情報＞が、図６に示す分類木部２５１のデータ、
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ｐｍ：−（３．０）
である。
ノード３０２の＜ノード条件＞：：＝＜属性名＞＜比較演算子＞＜属性値＞は、
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ｐｍ
であり、
ノード３０２の＜分類レコード情報＞：：＝＜クラス属性値＞"（"＜分類レコード数＞（"／"＜誤分類レコード数＞）は、
−（３．０）
である。
【０１１５】
このノード３０２には、図７に示す入力データに含まれる１０個のレコードから、＜ノード条件＞を満足するレコード、すなわち、ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ｐｍに相当するレコードが分類される。図７に示す入力データには、ｐｍの設定されたレコードが３つあり、この３つのレコードがノード３０２の分類レコードとされる。
【０１１６】
ここで、ノード３０２の＜分類レコード情報＞として設定される＜クラス属性値＞は［−］、すなわち西向きである。すなわち、ノード３０２に含まれるレコード中、＜クラス属性値＞＝［−］、すなわち西向きのレコードが正しい分類レコードとして解釈され、＜クラス属性値＞＝［＋］、すなわち東向きのレコードが誤分類レコードとして解釈される。
【０１１７】
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ｐｍ：−（３．０）
において、
−（３．０）
の［−］がノード３０２の＜クラス属性値＞＝［−］であることを示し、
（３．０）は、
ノード３０２の総レコード数＝３、誤分類レコード数＝０
であることを示している。
【０１１８】
図６に示す分類木データ中統計情報部２５２は、分類木部２５１に示された分類木の葉ノード数、ノード数、学習データ・テストデータに対する分類精度を含む。たとえば、
＝＝＝  Ｅｒｒｏｒ  ｏｎｔｒａｉｎｉｎｇ  ｄａｔａ  ＝＝＝の次の行とその次の行はそれぞれ学習データに対する正しく分類された正当分類率と誤分類率を示す。たとえば、図６に示す例では、
正当分類率（Ｃｏｒｒｅｃｔｌｙ  Ｃｌａｓｓｉｆｉｅｄ  Ｉｎｓｔａｎｃｅｓ）＝８レコード＝８０％
誤分類率（Ｉｎｃｏｒｒｅｃｔｌｙ  Ｃｌａｓｓｉｆｉｅｄ  Ｉｎｓｔａｎｃｅｓ）＝２レコード＝２０％
である。
【０１１９】
これは、図７に示す入力レコードに含まれる１０レコード中、ノード３０１が＜クラス属性値＞＝［＋］、すなわち、（東向き）であるにもかかわらず、分類木部２５１の情報（７．０／２．０）に示されるように、総レコード数＝７、誤分類レコード数＝２と分類され、ノード３０１に、＜クラス属性値＞＝［＋］（東向き）と異なる２つの西向き（−）のレコードが含まれ、この２つが、誤分類レコード＝２＝２０％として示されているものである。
【０１２０】
次に、図１に示す述語論理学習器入力データ作成部１０４の処理について説明する。述語論理学習器入力データ作成部１０４は、命題論理学習器１０３が出力した分類木のノードごとに、そのノードに分類されたレコードを特定し、そのレコードに関する他の関係表のレコードをデータベースから入手して、述語論理学習器１０５用の入力データを作成する。
【０１２１】
述語論理学習器入力データ作成部１０４は、分類木から、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．集合中の各ノードに分類されるデータの集合和が全データと等しい
ｃ．集合中の各ノードに分類されるデータ数の最大値が、述語論理学習器の処理可能なデータ数上限以下である
ａ〜ｃを満足するノードを特定し、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、述語論理学習器１０４の処理対象データとして設定する。
【０１２２】
述語論理学習器入力データ作成部１０４は、命題論理学習器１０３において選択されたデータと、命題論理学習器１０３における分類木の作成に利用されていない関係表とに基づいて述語論理学習器１０５に入力するデータを生成して、述語論理学習器１０４に入力する。
【０１２３】
この結果、述語論理学習器１０５は、命題論理学習器１０３において選択されたデータと、命題論理学習器１０３における分類木の作成に利用されていない関係表とに基づいて述語論理式ルールを生成することが可能となる。すなわち、述語論理学習器１０５は、命題論理学習器１０３において絞り込まれたデータを対象とした述語論理式ルールを生成することが可能となり、効率的なルール生成を行なうことができる。
【０１２４】
図８に、述語論理学習器入力データ作成部１０４の生成する述語論理学習器入力データの例を示す。図８の入力データは、図７に示すノード３０１に分類された７つのレコードから作成された述語論理学習器入力データ例である。
図７に示すノード３０１のノード情報は、図６に示す
［ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ：＋（７．０／２．０）］
であり、７つのレコードを持つ。
【０１２５】
述語論理学習器入力データは、図８に示すように、３つの異なるファイル、すなわち、
（ａ）正例ファイル、
（ｂ）負例ファイル、
（ｃ），（ｄ）背景知識ファイル
からなる。
【０１２６】
（ａ）正例ファイルは、学習対象の正しい属性値を持つレコード、図８に示す例では、ノード３０１に分類された７つのレコード中、ノード３０１の、＜クラス属性値＞＝［＋］（東向き）に対応する正当分類レコードの識別子属性、本実施例では、［列車］属性値が図８（ａ）正例ファイルにリストとして列挙される。
ｅａｓｔｂｏｕｎｄ（ｔ１）
ｅａｓｔｂｏｕｎｄ（ｔ２）
ｅａｓｔｂｏｕｎｄ（ｔ３）
ｅａｓｔｂｏｕｎｄ（ｔ４）
ｅａｓｔｂｏｕｎｄ（ｔ５）
ｅａｓｔｂｏｕｎｄ（ｔ６）
である。
【０１２７】
（ａ）正例ファイルは、［列車］属性値がｔ１、ｔ２、ｔ３、ｔ４、ｔ５の列車は、東向き（ｅａｓｔｂｏｕｎｄ）として正しい分類であることを示している。
【０１２８】
（ｂ）負例ファイルは、学習対象の正しい属性値を持たないレコード、本実施例では、ノード３０１に分類された７つのレコード中、ノード３０１の、＜クラス属性値＞＝［＋］（東向き）に対応しない誤分類レコードの識別子属性、本実施例では、［列車］属性値が図８（ｂ）負例ファイルにリストとして列挙される。
ｅａｓｔｂｏｕｎｄ（ｔ６）
ｅａｓｔｂｏｕｎｄ（ｔ７）
である。
【０１２９】
（ｂ）負例ファイルは、［列車］属性値がｔ６、ｔ７の列車は、東向き（ｅａｓｔｂｏｕｎｄ）として正しくない分類であることを示している。
【０１３０】
本実施例の背景知識ファイルは、以下の３つの構成要素からなる。
（１）述語論理学習器の出力ルールに出現する述語のリスト、すなわち、図８に示す（ｃ）背景知識ファイル（その１）の述語リスト３５１
（２）述語の引数が取り得る値のリスト、すなわち、図８に示す（ｃ）背景知識ファイル（その１）の述語リスト３５１の述語引数許容値リスト３５２
（３）正例ファイル・負例ファイルに識別子属性が記載されたレコードに関連する他の関係表のレコードを変換して得られる述語のリスト、すなわち、図８に示す（ｄ）背景知識ファイル（その２）の変換述語リスト３５３
である。
【０１３１】
述語リスト３５１は、データ部３６１とデータ部３６２を有し、データ部３６１は、東向きであることを示すために利用可能な述語を列挙したデータ部である。例えば、
ｅａｓｔｂｏｕｎｄ（＋ｔｒａｉｎ）は、列車であること、
ｓｈｏｒｔ（＋ｃａｒ）は、貨車を連結していること、
ｃｌｏｓｅｄ（＋ｃａｒ）は、屋根のある貨車を連結していること、
などである。このデータ部３６１に示される述語が、東向きであることを示すために利用可能な述語である。
【０１３２】
また、データ部３６２は、東向きであることを示すために利用可能な述語において、述語によって決定される数を示している。例えば、
ｅａｓｔｂｏｕｎｄ／１，ｓｈｏｒｔ／１は、東向きで短い貨車を連結しているという唯一の構成を説明することができ、同様に、
ｅａｓｔｂｏｕｎｄ／１，ｃｌｏｓｅｄ／１は、東向きで屋根のある貨車を連結しているという唯一の構成を説明することができる。
しかし、
ｅａｓｔｂｏｕｎｄ／１，ｓｈａｐｅ／２は、東向きで形が（長方形，Ｕ字型）である貨車を連結しているという説明となり、東向きである列車の連結した形には２種類、すなちわち、長方形，Ｕ字型があることを示している。
【０１３３】
述語引数許容値リスト３５２は、述語の引数が取り得る値のリストであり、例えば、
ｔｒａｉｎ（ｔ１），ｔｒａｉｎ（ｔ２）・・ｔｒａｉｎ（ｔ７）は、述語としての列車（ｔｒａｉｎ）としてｔ１〜ｔ７の引数が設定可能であることを示している。
ｃａｒ（ｃ１），ｃａｒ（ｃ２）・・ｃａｒ（ｃ１１）は、述語としての貨車(ｃａｒ)としてｃ１〜ｃ１１の引数が設定可能であることを示している。
【０１３４】
変換述語リスト３５３は、正例ファイル・負例ファイルに識別子属性が記載されたレコードに関連する他の関係表のレコードを変換して得られる述語のリストである。本実施例において、正例ファイル・負例ファイルに識別子属性が記載されたレコードは、列車［ｔ１］〜［ｔ７］であり、これらのレコードに関連する他の関係表のレコードを変換して得られる述語のリストが設定されることになる。
【０１３５】
列車［ｔ１］に関するものと、述語の変換元の関係表中のセルとの対応関係を図９に示す。図９に示した対応関係は、述語論理学習器入力データ作成部１０４に保持されており、データベース１０１中のレコードが命題論理学習器１０３からデータ（分類木データ）が入力されるごとに、この対応関係と、データベース１０１から入力する関係表とに基づいて、（ａ）正例ファイル、（ｂ）負例ファイルと、述語リスト、述語引数許容値リストおよび変換述語リストから構成される（ｃ）（ｄ）背景知識ファイルが生成される。
【０１３６】
述語論理学習器１０５は、図８に示したような入力ファイル
（ａ）正例ファイル、
（ｂ）負例ファイル、
（ｃ）（ｄ）背景知識ファイル
を入力として、述語論理学習器に基づくルール（述語論理ルール）を出力する。
【０１３７】
述語論理学習器１０５は、たとえば述語論理学習プログラムＡｌｅｐｈを利用して実現できる。なお、Ａｌｅｐｈは、ｈｔｔｐ：／／ｗｅｂ．ｃｏｍｌａｂ．ｏｘ．ａｃ．ｕｋ／ｏｕｃｌ／ｒｅｓｅａｒｃｈ／ａｒｅａｓ／ｍａｃｈｌｅａｒｎ／Ａｌｅｐｈ／ａｌｅｐｈ．ｈｔｍｌから入手可能である。
【０１３８】
Ａｌｅｐｈは、たとえば以下のコマンドを実行することで起動できる。
% echo "read_all(train1). induce." | yap -l aleph.pl > (ルールファイル名）
【０１３９】
ここで"ｙａｐ"は、Ｐｒｏｌｏｇ言語のコンパイラＹａｐである。Ｙａｐは、
ｈｔｔｐ：／／ｗｗｗ．ｎｃｃ．ｕｐ．ｐｔ／〜ｖｓｃ／Ｙａｐ／
から入手可能である。
【０１４０】
ルール結合部１０６は、命題論理学習器１０３が出力した命題論理学習器に基づくルールと、述語論理学習器が出力した述語論理学習器に基づくルールを結合し、最終的なルール（述語論理ルール）を生成する。
【０１４１】
結合前のルールと結合後のルールを図１０に示す。図１０に示すように、例えば、命題論理学習器１０３は、命題論理学習器入力データ作成部１０２から入力する入力データ（図４（１）参照）に基づいて、分類木データ（図６参照）を生成するとともに、図１０（ａ）に示すようなルール
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ
を出力する。
【０１４２】
これは、東向き列車は出発時刻がａｍ（午前）であるというルールである。
ただし、前述したように、これは、図７に示すノード３０１に対応するノード条件であり、実際には、上記のルールに対応しないレコードが２０％含まれている。
【０１４３】
一方、述語論理学習器１０５は、述語論理学習器入力データ作成部１０４が生成した図８に示す入力ファイル、すなわち、
（ａ）正例ファイル、
（ｂ）負例ファイル、
（ｃ）（ｄ）背景知識ファイル
を入力として、述語論理学習器に基づくルール（述語論理ルール）を出力する。
【０１４４】
述語論理学習器１０５は、例えば、図１０（ｂ）に示すようなルール
ｅａｓｔｂｏｕｎｄ（Ａ）：−ｈａｓ＿ｃａｒ（Ａ，Ｂ），ｓｈｏｒｔ，ｃｌｏｓｅｄ（Ｂ）
を出力する。
【０１４５】
これは、東向き列車（Ａ）は、貨車（Ｂ）を連結（ｈａｓ  ｃａｒ）し、連結貨車（Ｂ）は長さが短く（ｓｈｏｒｔ）、屋根付き（ｃｌｏｓｅｄ）であることを説明しているルールである。
【０１４６】
ルール結合部１０６は、命題論理学習器が出力したルール（図１０（ａ）参照）を述語形式（ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ（Ａ，ａｍ））に変換し、さらに、述語論理学習器が出力したルール（図１０（ｂ）参照）に追加することによって２つのルールを結合し、図１０（ｃ）に示す結合ルールを生成する。
【０１４７】
命題論理学習器１０３が生成したルールが、図１０（ａ）に示す
ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ＝ａｍ
であり、
述語論理学習器１０５が生成したルールが、図１０（ｂ）に示す
ｅａｓｔｂｏｕｎｄ（Ａ）：−ｈａｓ＿ｃａｒ（Ａ，Ｂ），ｓｈｏｒｔ，ｃｌｏｓｅｄ（Ｂ）
であるとき、
ルール結合部１０６は、図１（ｃ）に示す
ｅａｓｔｂｏｕｎｄ（Ａ）：−ｄｅｐａｒｔｕｒｅ＿ｔｉｍｅ（Ａ，ａｍ），ｈａｓ＿ｃａｒ（Ａ，Ｂ），ｓｈｏｒｔ，ｃｌｏｓｅｄ（Ｂ）
を結合ルールとして生成する。
【０１４８】
この結合ルールは、東向き列車（Ａ）は、出発時刻がａｍ（午前）であり、貨車（Ｂ）を連結（ｈａｓ  ｃａｒ）し、連結貨車（Ｂ）は長さが短く（ｓｈｏｒｔ）、屋根付き（ｃｌｏｓｅｄ）であることを説明しているルールである。
【０１４９】
このようなルールの設定によって、命題論理学習器１０３が生成したルールによって含まれていた誤分類レコード（２０％）が排除され、より正確な分類が可能となる。
【０１５０】
本実施例では、命題論理学習器１０３には１０のレコードからなる入力ファイルが入力され（図３（ａ）関係表１）、１０のレコードからなる関係表に基づいて、命題論理学習に基づくルールを生成して出力ルール（図１０（ａ））とする。一方、述語論理学習器１０５には１０のレコードのうち７レコードのみからなる入力ファイルが入力され、述語論理学習器１０５における処理データを削減することができる。このように、本発明のデータ分類装置によって、述語論理学習器に入力されるレコードの数を低く抑え、効率的で盛夏な分類を行なうことが可能となる。
【０１５１】
なお、本実施例では、説明の都合上、レコード数および命題論理学習器に入力する属性数をそれぞれ１０および２という非常に小さい数に設定した。しかし、実際に命題論理学習器に入力されるレコード数は数千から数万に、属性数も数十にのぼることが一般的である。
【０１５２】
このような大量のデータを処理することが必要となるデータ分類処理において、本発明のデータ分類装置および方法を適用することで、効率性はより顕著となる。すなわち、述語論理学習器に入力され処理すべきレコード数を、命題論理学習器における分類処理の結果として得られる特定の分類結果データに絞り込む構成としたので、述語論理学習器の処理対象レコードが、本来の入力レコード数の数十分の一から数百分の一に抑えることが可能となり、より高速な処理が実現される。
【０１５３】
なお、上記の実施例では、命題論理学習器が出力した分類木の全ノードから述語論理学習器の入力データを作成した構成例を説明したが、命題論理学習器が出力した分類木の一部のノードのみから作成されるよう構成されてもよい。たとえば、以下の２条件をともに満たすノードのみから述語論理学習器の入力データを作成するように構成してもよい。
【０１５４】
１）集合中の任意の２ノードについて、一方のノードが他方のノードの親ノードでない
２）集合中の各ノードに分類されるデータの集合和が全データと等しい
【０１５５】
すなわち、述語論理学習器入力データ作成部１０４は、命題論理学習器１０３が処理対象データに基づいて設定された関係表に基づいて構築した分類木の構成ノードから、以下の条件、すなわち、
ａ．任意の２ノードについて、一方のノードが他方のノードの親ノードでない
ｂ．各ノードに分類されるデータの集合和が全データと等しい
ａ〜ｂを満足するノードを特定し、
特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、述語論理学習器１０５の処理対象データとして設定する処理を実行し、述語論理学習器１０５が、これらの絞込みデータを処理対象として述語論理式ルールを設定する構成としてもよい。
【０１５６】
また、命題論理学習器が出力した分類木のノードのうち、たとえば情報利得・情報利得比・分割情報量が一定値に満たないもののみから述語論理学習器の入力データを作成するよう構成してもよい。なお、情報利得比・情報利得・分割情報量の定義は以下のとおりである。
【０１５７】
（情報利得比）＝（情報利得）／（分割情報量）
（情報利得）＝（ノードに分類されたデータの情報量）
−（ノード直下のノードに分類されたデータの情報量の総和）
（分割情報量）＝−Σ（＃Ｃｉ／＃Ｃ）＊ｌｏｇ２（＃Ｃｉ／＃Ｃ）
ただし、＃Ｃｉと＃Ｃはそれぞれ下記定義
＃Ｃｉ：ノード直下のｉ番目のノードに分類されたデータ数
＃Ｃ：ノードに分類されたデータ数
である。
【０１５８】
すなわち、述語論理学習器入力データ作成部１０４は、命題論理学習器１０３が処理対象データに基づいて設定された関係表に基づいて構築した分類木の構成ノードから、情報利得、または情報利得比、または分割情報量の少なくともいずれかが予め定めた閾値に満たないノードを特定し、特定したノードごとに、ノードに対応して設定されたノード条件を満たすデータを選択し、選択データを、述語論理学習器１０５の処理対象データとして設定する処理を実行し、述語論理学習器１０５が、これらの絞込みデータを処理対象として述語論理式ルールを設定する構成としてもよい。
【０１５９】
次に、上述したデータ分類処理装置のハードウェア構成例について、図１１を参照して説明する。
【０１６０】
ＣＰＵ（Central Processing Unit）５０１は、ＯＳ（Operating System)、通信制御プログラム、図２、図５を参照して説明したデータ分類、ルール生成処理プログラム等、各種コンピュータ・プログラムに従った処理を実行する制御部である。
【０１６１】
ＲＯＭ（Read Only Memory）５０２は、ＣＰＵ５０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Random Access Memory）５０３は、ＣＰＵ５０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス５０４により相互に接続されている。
【０１６２】
ホストバス５０４は、ブリッジ５０５を介して、ＰＣＩ(Peripheral Component Interconnect/Interface)バスなどの外部バス５０６に接続されている。
【０１６３】
キーボード５０８、ポインティングデバイス５０９は、ユーザにより操作される入力デバイスである。ディスプレイ５１０は、液晶表示装置またはＣＲＴ（Cathode Ray Tube）などから成り、各種情報をテキストやイメージで表示する。
【０１６４】
ＨＤＤ（Hard Disk Drive）５１１は、ハードディスクを内臓し、ハードディスクを駆動し、ＣＰＵ５０１によって実行するプログラムや情報を記録または再生させる。ハードディスクは、図１に示すデータベース１０１に格納された分類処理対象となるデータ、例えば図３に示す各種の関係表などが格納される。また、図２、図５を参照して説明したデータ分類、ルール生成処理プログラム等、各種コンピュータ・プログラムが格納される。
【０１６５】
ドライブ５１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体５２１に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース５０７、外部バス５０６、ブリッジ５０５、およびホストバス５０４を介して接続されているＲＡＭ５０３に供給する。
【０１６６】
接続ポート５１４は、外部接続機器５２２を接続するポートであり、ＵＳＢ，ＩＥＥＥ１３９４等の接続部を持つ。接続ポート５１４は、インタフェース５０７、および外部バス５０６、ブリッジ５０５、ホストバス５０４等を介してＣＰＵ５０１等に接続されている。通信部５１５は、ネットワークに接続され、ＣＰＵ５０１、またはＨＤＤ５１１等からの供給データの送信、データ受信を実行する。
【０１６７】
なお、図１１に示すデータ分類処理装置のハードウェア構成例は、ＰＣを適用して構成したデータ分類処理装置の一例であり、本発明のデータ分類処理装置は、図１１に示す構成に限らず、図１に示す処理ブロックに対応する構成が実現され、図２、図５に示すフローチャートに従った処理を実行可能な構成であればよい。
【０１６８】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１６９】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。なお、コンピュータシステムにおいては、前述した操作記録部や結果記録部を障害者向け代替手段用ライブラリからの情報を適用して生成したソフトウェアプログラムに設定することで効率的な高精度なユーザインタフェース評価処理が可能となる。
【０１７０】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１７１】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１７２】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１７３】
以上、説明したように、本発明の構成によれば、命題論理学習器において、入力データに基づいて分類木を構築し命題論理式ルールを取得するとともに、命題論理学習器の生成した分類木のノード対応データを処理対象データとして述語論理学習器において述語論理式ルールを生成し、命題論理学習器の生成した命題論理式ルールと、前記述語論理学習器の生成した述語論理式ルールを結合し、最終的なデータ分類ルールを生成することが可能となり、述語論理学習器の処理負担を軽減した効率的なルール生成が可能となる。従って、本発明の処理方式を適用することで、多数のデータを処理対象としたルール生成、分類処理を効率的に正確に実行することが可能となる。
【０１７４】
本発明の構成によれば、複数の関係表で表現される学習対象データの数が大量であり、述語論理学習器の処理のみでのルール作成が困難な場合であっても、命題論理学習器を利用してデータ数を絞り込み、絞り込んだデータの処理を述語論理学習器において実行し、命題論理学習器を利用して得たルールを述語論理式ルールに変換し、絞込みデータを対象として述語論理学習器によって得たルールと結合して最終的なルールを生成する構成としたので、効率的に正確なデータの分類ルールを生成することが可能となり、大量のデータに対する正確な述語論理式ルールを生成することが可能となる。従って、本発明の処理方式を適用することで、多数のデータを処理対象としたルール生成、分類処理を効率的に正確に実行することが可能となる。
【図面の簡単な説明】
【０１７５】
【図１】本発明に係るデータ分類処理装置（データマイニングシステム）の構成を示す図である。
【図２】本発明に係るデータ分類処理装置（データマイニングシステム）の処理シーケンスを説明するフローチャートである。
【図３】本発明に係るデータ分類処理装置（データマイニングシステム）の処理対象となるデータの関係の例を示す図である。
【図４】本発明に係るデータ分類処理装置（データマイニングシステム）の命題論理学習器入力データ作成部の生成する入力データの構成について説明する図である。
【図５】本発明に係るデータ分類処理装置（データマイニングシステム）の命題論理学習器入力データ作成部の実行する入力データ生成シーケンスについて説明するローチャート図である。
【図６】本発明に係るデータ分類処理装置（データマイニングシステム）の命題論理学習器の生成する分類木データの例を示す図である。
【図７】本発明に係るデータ分類処理装置（データマイニングシステム）の命題論理学習器の生成する分類木の例について説明する図である。
【図８】本発明に係るデータ分類処理装置（データマイニングシステム）の述語論理学習器入力データ生成部の生成するファイルについて説明する図である。
【図９】本発明に係るデータ分類処理装置（データマイニングシステム）の述語論理学習器入力データの適用する述語の変換元の関係表中のセルとの対応関係を示す対応関係データ例を示す図である。
【図１０】本発明に係るデータ分類処理装置（データマイニングシステム）の実行する命題論理学習器の出力ルールと述語論理学習器の出力ルールとから生成する結合ルールの例について説明する図である。
【図１１】本発明に係るデータ分類処理装置（データマイニングシステム）のハードウェア構成例について説明する図である。
【図１２】データ分類処理に適用する関係表の例を説明する図である。
【図１３】命題論理学習器において処理する学習対象データとしての単一の表で表現できることデータ例を説明する図である。
【図１４】図１２の３つの関係表（ａ），（ｂ），（ｃ）から、列車に連結されている個々の貨車に着目して作成した単一の表を示す図である。
【図１５】学習に利用すべき属性があらかじめ明らかな場合に、その属性、あるいは属性と各レコードの属性値を表に追加して設定した命題論理学習器に入力するための表の例を示す図である。
【符号の説明】
【０１７６】
１００  データマイニングシステム
１０１  データベース
１０２  命題論理学習器入力データ作成部
１０３  命題論理学習器
１０４  述語論理学習器入力データ作成部
１０５  述語論理学習器
１０６  ルール結合部
２０１  属性宣言部
２０２  データ部
２５１  分類木部
２５２  統計情報部
３００  分類木
３０１，３０２  ノード
３５１  述語リスト
３５２  述語引数許容値リスト
３５３  変換述語リスト
５０１  ＣＰＵ(Central processing Unit)
５０２  ＲＯＭ（Read-Only-Memory）
５０３  ＲＡＭ（Random Access Memory）
５０４  ホストバス
５０５  ブリッジ
５０６  外部バス
５０７  インタフェース
５０８  キーボード
５０９  ポインティングデバイス
５１０  ディスプレイ
５１１  ＨＤＤ（Hard Disk Drive）
５１２  ドライブ
５１４  接続ポート
５１５  通信部
５２１  リムーバブル記録媒体
５２２  外部接続機器
【図１】
2005190255.tif 000003
【図２】
2005190255.tif 000004
【図３】
2005190255.tif 000005
【図４】
2005190255.tif 000006
【図５】
2005190255.tif 000007
【図６】
2005190255.tif 000008
【図７】
2005190255.tif 000009
【図８】
2005190255.tif 000010
【図９】
2005190255.tif 000011
【図１０】
2005190255.tif 000012
【図１１】
2005190255.tif 000013
【図１２】
2005190255.tif 000014
【図１３】
2005190255.tif 000015
【図１４】
2005190255.tif 000016
【図１５】
2005190255.tif 000017
【手続補正書】
【提出日】平成16年1月20日(2004.1.20)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
分割統治法の代表的なアルゴリズムであるＩＤ３では、分類に適した属性を決定する際、例えば、上述のステップ（２−２−１）における分類属性決定処理において、情報エントロピーを利用した属性決定処理を行なっている。ＩＤ３では分類木を求める際に、事例数から求められる情報エントロピー（情報量の期待値）を効率の指標とする。分類木上の点での分岐属性は、ある属性による分岐前後の情報エントロピーの差（獲得情報量）を最大とする属性を選択することで求める。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
カバーリング（Ｃｏｖｅｒｉｎｇ）法の手法であるＦＯＩＬ等の述語論理学習器の特長の１つに、複数の関係表からなるデータを学習できることがある。複数の関係表からなるデータの例を図１２に示す（非特許文献１の１６６ページより引用）。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
図６に示す分類木データ中統計情報部２５２は、分類木部２５１に示された分類木の葉ノード数、ノード数、学習データ・テストデータに対する分類精度を含む。たとえば、
＝＝＝  Ｅｒｒｏｒ  ｏｎ  ｔｒａｉｎｉｎｇ  ｄａｔａ  ＝＝＝の次の行とその次の行はそれぞれ学習データに対する正しく分類された正当分類率と誤分類率を示す。たとえば、図６に示す例では、
正当分類率（Ｃｏｒｒｅｃｔｌｙ  Ｃｌａｓｓｉｆｉｅｄ  Ｉｎｓｔａｎｃｅｓ）＝８レコード＝８０％
誤分類率（Ｉｎｃｏｒｒｅｃｔｌｙ  Ｃｌａｓｓｉｆｉｅｄ  Ｉｎｓｔａｎｃｅｓ）＝２レコード＝２０％
である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
また、データ部３６２は、東向きであることを示すために利用可能な述語の引数の数を示している。例えば、ｅａｓｔｂｏｕｎｄ／１，ｓｈｏｒｔ／１は、ある列車が東向きであることを説明するのに、引数を１つだけとるｓｈｏｒｔという述語を利用できることを意味し、同様に、ｅａｓｔｂｏｕｎｄ／１，ｃｌｏｓｅｄ／１は、ある列車が東向きであることを説明するのに、引数を１つだけとるｃｌｏｓｅｄという述語を利用できることを意味する。しかし、ｅａｓｔｂｏｕｎｄ／１，ｓｈａｐｅ／２は、ある列車が東向きであることを説明するのに、引数を２つだけとるｓｈａｐｅという述語を利用できることを意味している。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１４２
【補正方法】変更
【補正の内容】
【０１４２】
これは、東向き列車は出発時刻がａｍ（午前）であるというルールである。
ただし、前述したように、これは、図７に示すノード３０１に対応するノード条件であり、実際には、上記のルールに対応しないレコードが２８．６％含まれている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１４９
【補正方法】変更
【補正の内容】
【０１４９】
このようなルールの設定によって、命題論理学習器１０３が生成したルールによって含まれていた誤分類レコード（２８．６％）が排除され、より正確な分類が可能となる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１５０
【補正方法】変更
【補正の内容】
【０１５０】
本実施例では、命題論理学習器１０３には１０のレコードからなる入力ファイルが入力され（図３（ａ）関係表１）、１０のレコードからなる関係表に基づいて、命題論理学習に基づくルールを生成して出力ルール（図１０（ａ））とする。一方、述語論理学習器１０５には１０のレコードのうち７レコードのみからなる入力ファイルが入力され、述語論理学習器１０５における処理データを削減することができる。このように、本発明のデータ分類装置によって、述語論理学習器に入力されるレコードの数を低く抑え、効率的で正確な分類を行なうことが可能となる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１６９
【補正方法】変更
【補正の内容】
【０１６９】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。