(57)【要約】  複数のフィールドよりなるレコードのテーブル同士の距離を算定する。  軸決定部１１は、テーブルである基準データGのフィールドを順位付けする。データ判定処理部１２は、上記順位に従って、基準データGと被判定データTの、第１位のフィールドの相互情報量と、他の各フィールドの当該フィールドより上位の各フィールドのもとでの条件付相互情報量を算出する。そして、各フィールドについて算出した相互情報量、条件付相互情報量より、基準データGと被判定データTの距離を算出する。
2017064769.tif 000002
【特許請求の範囲】
【請求項１】
複数のフィールドよりなるレコードの第１の集合と前記レコードの第２の集合との距離を算定する情報処理システムであって、
前記レコードの各フィールドの順位を設定する順位設定部と、
前記順位設定部が設定した順位に従って、前記第１の集合と前記第２の集合との順位が第１位のフィールドの相互情報量を、当該順位が第１位のフィールドの評価値として算出すると共に、前記第１の集合のと前記第２の集合との順位が第１位以外の各順位の各フィールドの当該フィールドより上位の各フィールドのもとでの条件付相互情報量を、当該順位のフィールドの評価値として算出する評価値算出部と、
前記評価値算出部が各フィールドについて算出した前記評価値の少なくとも一部を用いて、前記第１の集合と前記第２の集合との距離を算定する距離算定部とを有することを特徴とする情報処理システム。
【請求項２】
請求項１記載の情報処理システムであって、
前記順位設定部は、前記レコードのフィールドのうちの、前記第１の集合におけるエントロピーが最大のフィールドの順位を第１位の順位に設定した上で、以降、全てのフィールドの順位が設定されるまで、前記第１の集合における、既に順位が設定されたフィールドのもとでのフィールドの条件付エントロピーが最大の順位のフィールドの順位を、最後に設定した順位の次の順位に設定する処理を繰り返すことにより、前記各フィールドの順位を設定することを特徴とする情報処理システム。
【請求項３】
コンピュータによって読み取られ実行されるコンピュータプログラムであって、
前記コンピュータを、
複数のフィールドよりなるレコードの第１の集合と前記レコードの第２の集合とを記憶した記憶部と、
前記レコードの各フィールドの順位を設定する順位設定部と、
前記順位設定部が設定した順位に従って、前記第１の集合と前記第２の集合との順位が第１位のフィールドの相互情報量を、当該順位が第１位のフィールドの評価値として算出すると共に、前記第１の集合のと前記第２の集合との順位が第１位以外の各順位の各フィールドの当該フィールドより上位の各フィールドのもとでの条件付相互情報量を、当該順位のフィールドの評価値として算出する評価値算出部と、
前記評価値算出部が各フィールドについて算出した前記評価値の少なくとも一部を用いて、前記第１の集合と前記第２の集合との距離を算定する距離算定部として機能させることを特徴とするコンピュータプログラム。
【請求項４】
請求項３記載のコンピュータプログラムであって、
前記順位設定部は、前記レコードのフィールドのうちの、前記第１の集合におけるエントロピーが最大のフィールドの順位を第１位の順位に設定した上で、以降、全てのフィールドの順位が設定されるまで、前記第１の集合における、既に順位が設定されたフィールドのもとでのフィールドの条件付エントロピーが最大の順位のフィールドの順位を、最後に設定した順位の次の順位に設定する処理を繰り返すことにより、前記各フィールドの順位を設定することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ間の距離を算出する技術に関するものである。
【背景技術】
【０００２】
データ間の距離を算出する技術としては、事例データと分類との対応を保持する共に、分類するデータと事例データとの距離と、事例データと分類との対応とに基づいて当該データを分類する技術が知られている（たとえば、特許文献１）。ここで、この技術では、複数の項目よりなるデータと事例データの距離を、各項目の値の差の加重和として求めている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２-１４９６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したデータ間の距離を算出する技術の、複数のフィールドよりなるレコードの集合であるテーブルへの適用を考えた場合、この技術は、個々のレコード間の距離の算定を行う技術に相当するものとなる。したがって、この技術をそのまま、レコード間の距離の算定に適用しても、複数のレコードを横断して表れるテーブルの全体としての特性を反映した、テーブル同士の距離を算出することはできない。【０００５】
そこで、本発明は、複数のフィールドよりなるレコードの集合の、集合全体としての特性に応じた、集合間の距離の算定を行える情報処理システムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記課題達成のために、本発明は、複数のフィールドよりなるレコードの第１の集合と前記レコードの第２の集合との距離を算定する情報処理システムに、前記レコードの各フィールドの順位を設定する順位設定部と、前記順位設定部が設定した順位に従って、前記第１の集合と前記第２の集合との順位が第１位のフィールドの相互情報量を、当該順位が第１位のフィールドの評価値として算出すると共に、前記第１の集合のと前記第２の集合との順位が第１位以外の各順位の各フィールドの当該フィールドより上位の各フィールドのもとでの条件付相互情報量を、当該順位のフィールドの評価値として算出する評価値算出部と、前記評価値算出部が各フィールドについて算出した前記評価値の少なくとも一部を用いて、前記第１の集合と前記第２の集合との距離を算定する距離算定部とを備えたものである。【０００７】
ここで、このような情報処理システムは、前記順位設定部において、前記レコードのフィールドのうちの、前記第１の集合におけるエントロピーが最大のフィールドの順位を第１位の順位に設定した上で、以降、全てのフィールドの順位が設定されるまで、前記第１の集合における、既に順位が設定されたフィールドのもとでのフィールドの条件付エントロピーが最大の順位のフィールドの順位を、最後に設定した順位の次の順位に設定する処理を繰り返すことにより、前記各フィールドの順位を設定するように構成してもよい。【０００８】
以上のような情報処理システムによれば、第１の集合と第２の集合の各フィールドの相互情報量と条件付相互情報量として、第１の集合と第２の集合の間の各フィールド毎に独立した評価値を求め、求めた評価値を用いて第１の集合と第２の集合の距離を算定する。ここで、各フィールドの相互情報量と条件付相互情報量には、当該フィールドのレコードを横断した特性が反映されているので、本情報処理システムによれば、複数のフィールドよりなるレコードの集合の、集合全体としての特性に応じた、集合間の距離の算定を行えるようになる。また、各フィールドの相互情報量、条件付相互情報量として求めた各フィールドの評価値は相互に独立しているので、容易に、さまざまな観点による第１の集合と第２の距離の評価を行えるようになる。また、２つのテーブル間の相互情報量は、各項目間の相互情報量および条件付相互情報量の総和に等しいため、各項目間の相互情報量に重み付けをしなければ、過不足無く全体的な相互情報量に基づく処理を行うことが出来る。
【発明の効果】
【０００９】
以上のように、本発明によれば、複数のフィールドよりなるレコードの集合の、集合全体としての特性に応じた、集合間の距離の算定を行える情報処理システムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】本発明の実施形態に係る基準データと被判定データを示す図である。
【図３】本発明の実施形態に係る軸情報と判定結果データを示す図である。
【図４】本発明の実施形態に係る軸決定処理を示すフローチャートである。
【図５】本発明の実施形態に係る軸決定処理の処理例を示す図である。
【図６】本発明の実施形態に係る軸決定処理の処理例を示す図である。
【図７】本発明の実施形態に係る軸決定処理の処理例を示す図である。
【図８】本発明の実施形態に係るデータ判定処理を示すフローチャートである。
【図９】本発明の実施形態に係るデータ判定処理の処理例を示す図である。
【図１０】本発明の実施形態に係るデータ判定処理の処理例を示す図である。
【図１１】本発明の実施形態に係るデータ判定処理の処理例を示す図である。
【図１２】本発明の実施形態に係るデータ判定処理の処理例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る情報処理システムの実施形態について説明する。
図1に、本実施形態に係る情報処理システムの構成を示す。
図示するように、情報処理システムは、プロセッサ１とストレージ２とにより構成される。
また、プロセッサ１は、軸決定部１１と判定処理部１２とを備えている。
ここで、プロセッサ１は、たとえば、ＣＰＵや、メモリや、表示装置や入力装置などの各種周辺デバイスとを備えた汎用のコンピュータであり、軸決定部１１と判定処理部１２とは、コンピュータが所定のプログラムを実行することにより実現されるコンピュータの機能として実装される。
【００１２】
次に、ストレージ２には、基準データと、軸情報と、判定結果データと、被判定データとが格納される。
ここで、ストレージ２は、プロセッサ１に接続された外部ストレージであっても、プロセッサ１がネットワーク介してアクセスするネットワークストレージやデータサーバなどであってもよい。
【００１３】
次に、図２ａに示すように、基準データは、複数のフィールド（図のA,B,Cの各列）よりなるレコード（図の1から６までの各行）の集合であるテーブルである。
また、図２ｂに示すように、被判定データも、複数のフィールドよりなるレコード（図の各行）の集合であるテーブルであり、被判定データのフィールド構成は基準データのフィールド構成と等しく、被判定データのレコード数は基準データのレコード数と等しい。
また、基準データと被判定データの順位（順番）が同じレコードは、同じ対象についての情報を各フィールドに格納している。すなわち、基準データのｎ番目のレコードと、被判定データのｎ番目のレコードとは、ｎ番目の対象についての情報を各フィールドに格納している。
【００１４】
すなわち、たとえば、基準データと被判定データのｎ番目のレコードのｍ番目のフィールドには、ｎ番目の対象物のｍ番目の属性値が格納される。
より具体的には、たとえば、基準データのｎ番目のレコードのｍ番目のフィールドには、各々が異なる対象物のＭ個の状態を検出するＮ個のセンサのうちのｎ番目のセンサが検出するｍ番目の状態の目標値が格納され、被判定データのｎ番目のレコードのｍ番目のフィールドには、ｎ番目のセンサが検出したｍ番目の状態の検出値が格納される。
【００１５】
さて、ここで、以下では、“G”は基準データを、“T”は被判定データを表すものとして説明を行う。
次に、図３ａに示すように、軸情報は、軸数情報と軸定義情報とを含む。
ここで、軸数情報には、基準データGのフィールド数が登録される。
また、軸定義情報には、基準データGのフィールド数をｎとして第１軸から第ｎ軸までの各軸として用いるフィールドを示すフィールド識別子が登録される。
また、図３ｂに示すように、判定結果データには、基準データGのエントリと、被判定データTのエントリと、相互情報量Iのエントリを備えている。そして、基準データGのエントリには、基準データGの第１軸から第ｎ軸までの各軸のエントロピーHG（)が登録され、被判定データTのエントリには、被判定データTの第１軸から第ｎ軸までの各軸のエントロピーHT（)が登録される。また、相互情報量Iのエントリには、第１軸から第ｎ軸までの各軸の基準データGと被判定データTとの相互情報量I（)が登録される。
【００１６】
さて、図１に戻り、プロセッサ１の軸決定部１１は、基準データGを用いて、軸情報を作成すると共に、基準データGの第１軸から第ｎ軸までの各軸のエントロピーHGを算出して判定結果データに登録する軸決定処理を行う。
【００１７】
また、プロセッサ１の判定処理部１２は、被判定データTと各基準データGと軸情報とを用いて、被判定データTの第１軸から第ｎ軸までの各軸のエントロピーHTと、１軸から第ｎ軸までの各軸の基準データGと被判定データTとの相互情報量I（)を算出して判定結果データに登録すると共に、算出した相互情報量I（)に基づいて基準データGと被判定データTの距離を評価するデータ判定処理を行う。
【００１８】
以下、プロセッサ１の軸決定部１１が行う軸決定処理について説明する。
図４に、この判定結果データ作成処理の手順を示す。
図示するように、軸決定部１１は、まず、基準データGのフィールド数を、軸数情報に登録する（ステップ４００）。
そして、基準データGの各フィールドのエントロピーH(X)を算出する（ステップ４０２）。ここで、H(X)はフィールドXのエントロピーを表す。また、H(X)は、Xi を基準データGのフィールドXに表れる値のうちのi番目の値とし、p (Xi)は基準データGにおけるXiの発生確率とし、Logは２を底とする対数とし、Σiをiについての総和として、
H (X)=-Σi[p (Xi)×Log{p (Xi)}]
によって表される。但し、Log0は0とする。なお、Logの底は２以外の数であってもよい。
【００１９】
ここで、このエントロピーの具体的な算出例については後述する。
そして、基準データGについて算出したエントロピーが最大となったフィールドを第１軸に設定し、そのフィールドのフィールド識別子を軸定義情報に第１軸として用いるフィールドのフィールド識別子として登録する（ステップ４０４）。
【００２０】
そして、判定結果データの基準データGのエントリに、ステップ４０２で算出した第１軸としたフィールドのエントロピーを、基準データGjの第１軸エントロピーHG(1)として登録する（ステップ４０６）。
【００２１】
次に、基準データGのフィールド数をnとして、２からｎまでのiの各値について（ステップ４０８、４１６、４１８）、順次、以下の処理を行う。
すなわち、まず、各基準データGについて、第１軸から第i-１軸としたフィールドを除く各フィールドXの、第１軸から第i-１軸までのフィールドのもとでの条件付エントロピーHF1,F2,...,Fi-1(X)を算出する（ステップ４１０）。ここで、Fjは、第j軸(但し、j＜i）としたフィールドを表し、HF1,F2,...,Fi-1(X)は、フィールドF1,F2,...,Fi-1のもとでのフィールドＸの条件付エントロピーを表す。
【００２２】
なお、条件付エントロピーHF1,F2,...,Fi-1(X)は、Fsa を基準データGの第s軸としたフィールドFsに表れる値のうちのa番目の値とし、 p（F1a,F2b,...,Fi-1y）を、値の組(F1a,F2b,...,Fi-1y)の基準データG中での発生確率とし、p F1a,F2b,...,Fi-1y (Xi)を、値の組(F1a,F2b,...,Fi-1y)を持つレコードよりなる基準データGの部分集合中の、Xiの発生確率として、
HF1,F2,...,Fi-1(X)=-ΣaΣb...Σy[ｐ（ F1a,F2b,...,Fi-1y）
×Σi[p F1a,F2b,...,Fi-1y (Xi)×Log{p F1a,F2b,...,Fi-1y (Xi)}]]
によって表される。
【００２３】
ここで、この条件付エントロピーの具体的な算出例については後述する。
そして、算出した条件付エントロピーが最大となったフィールドを第i軸に設定し、そのフィールドのフィールド識別子を軸定義情報に第i軸として用いるフィールドのフィールド識別子として登録する（ステップ４１２）。
【００２４】
また、判定結果データの基準データGのエントリに、第i軸に設定したフィールドについてステップ４１０で算出した条件付エントロピーを基準データGの第i軸のエントロピーHG(i)として登録する（ステップ４１４）。
【００２５】
そして、以上のようにして、第１軸から第n軸までの各軸について、軸定義情報と判定結果データへの登録が完了したならば、軸決定処理を終了する。
以下、ステップ４０２で行うエントロピーの算出と、ステップ４１０で行う条件付エントロピーの算出の詳細について、図５ａに示す基準データGを例にとり説明する。
図５ａに示す基準データGは、A,B,Cの３つのフィールドを持つレコードを６個含むテーブルである。また、フィールドAに表れる値はA1とA2の二つのみであり、フィールドBに表れる値はB1とB2の二つのみであり、フィールドCに表れる値はC1とC2の二つのみである。
【００２６】
そして、ステップ４０２における基準データGの各フィールドのエントロピーH (X)は、
H(X)= -Σi[(p(Xi)×Log{p(Xi)}]
によって算出される。
【００２７】
ここで、Xiは、基準データG中にフィールドXの値として表れる値のうちのi番目の値を表し、p(Xi)は、XiをフィールドXの値として持つレコードの基準データG中における発生確率（XiをフィールドXの値として持つ基準データGのレコード数/基準データGのレコードの総数）を表し、Loｇは２を底とする対数を表し、Σiはiについての総和を表す。
【００２８】
すなわち、図５ａの基準データGのフィールドAの各値Ai(A1とA2)の度数と発生確率p(Ai)は、図５ｂの表のように求まる。
すなわち、たとえば、基準データG中のフィールドAの値がA2であるレコードの数は３であるので、A2の度数は３となる。また、基準データGのレコード数は６であるので、A2の発生確率p(A2)=3/6=0.5となる。
【００２９】
そして、図５ｂの表のように求めた、フィールドAの各値Aiの発生確率p(Ai)よりフィールドAのエントロピーH (A)は、
H(A)=-Σi[p(Ai)×Log{p(Ai)}]
として算出される。
【００３０】
また、フィールドB、フィールドCについても同様に、フィールドBの各値の度数と発生確率は図５ｃの表のように、フィールドCの各値の度数と発生確率は図５ｄの表のように求まり、フィールドBのエントロピーH (B)は、
H(B)= -Σi[p(Bi)×Log{p(Bi)}]
として、
フィールドCのエントロピーH (C)は、
H(C)= -Σi[p(Ci)×Log{p(Ci)}]
として算出される。
【００３１】
次に、ステップ４１０で行う条件付エントロピーの算出について説明する。
いま、図５のようにして、基準データGのA,B,Cの３つのフィールドについて求めたエントロピーH(A),H(B),H(C)のうち、H(A)が最大であった場合、フィールドAが第１軸に設定される。
【００３２】
そして、第１軸が設定されたならば、第２軸についての処理に進み、ステップ４１０で、フィールドAを第１軸として、第１軸としたフィールドAを除くフィールドB、フィールドCの、第１軸（フィールドA）のもとでの条件付エントロピーHA(B)、 HA(C)を算出する。
【００３３】
この場合、フィールドBの各値Bi（B1とB2）の、値Akを持つレコードよりなる基準データGの部分集合中における数（度数）と、条件付発生確率pAk(Bi)は図６ａの表のように求まる。なお、pAk(Bi)は、値Akに対するBiの条件付発生確率（値Akを持つレコードよりなる基準データGの部分集合中における、値Biを持つレコードの発生確率）を表す。
【００３４】
すなわち、たとえば、フィールドBの値B1の、フィールドAの値A2に対する度数は、フィールドAの値がA2であるレコードよりなる基準データGの部分集合に含まれる、フィールドBの値がB1であるレコードの数は１であるので１となる。また、フィールドAの値がA2であるレコードよりなる基準データGの部分集合のレコード数は３であるので、フィールドBの値B1のフィールドAの値A2に対する条件付発生確率pA2(B1)=1/3≒0.33となる。
【００３５】
そして、以上のようにして、図６ａの表のように求めたフィールドBの各値の各条件付発生確率pAk(Bi)と、フィールドAの各値の基準データGにおける発生確率p(Ak)より、フィールドBの条件付エントロピーHA (B)は、
HA(B)= -Σk[p(Ak)×Σi [pAk(Bi) ×Log{pAk(Bi)}]]
として算出される。なお、Σkは、kについての総和を表す。
【００３６】
また、フィールドCについても同様に、フィールドCの各値の度数と条件付発生確率は図６ｂの表のように求まり、フィールドCのエントロピーHA (C)は、
HA (C)=-Σk [p(Ak)×Σi[pAk(Ci) ×Log{pAk(Ci)}]]
として算出される。
【００３７】
次に、図６のようにして、B,Cの２つのフィールドの条件付エントロピーHA(B),HA(C)のうち、フィールドBの条件付エントロピーHA (B)の値が最大であった場合、フィールドBが第２軸に設定される。
【００３８】
そして、第２軸が設定されたならば、第３軸（i=3）についての処理に進み、ステップ４１０で、フィールドAを第１軸、フィールドBを第２軸として、第１軸としたフィールドAと第２軸としたフィールドフィールドBを除くフィールドCの、第１軸（フィールドA）と第２軸（フィールドB）のもとでの条件付エントロピーHAB(C)を算出する。
【００３９】
この場合、フィールドCの各値Ci（C1とC2）の、値Akと値Bsの双方を持つレコードよりなる基準データGの部分集合中における数（度数）と、条件付発生確率pAk,Bs (Ci)は図７の表のように求まる。
【００４０】
なお、pAk,Bs (Ci)は、値の組(Ak,Bs)に対するCiの条件付発生確率（値Akと値Bsの双方を持つレコードよりなる基準データGの部分集合中における、値Ciを持つレコードの発生確率）を表す。
【００４１】
すなわち、たとえば、フィールドCの値C1の、フィールドAの値A2とフィールドBの値B2の組に対する度数は、フィールドAの値がA2であり、かつ、フィールドBの値がB2であるレコードよりなる基準データGの部分集合に含まれる、フィールドCの値がC1であるレコードの数は２であるので２となる。また、フィールドAの値がA2であり、かつ、フィールドBの値がB2であるレコードよりなる基準データGの部分集合のレコード数は２であるので、フィールドCの値C1のフィールドAの値A2とフィールドBの値B2の組に対する条件付発生確率pA2,B2(C1)=2/2=１となる。
【００４２】
そして、以上のようにして、図７の表のように求めたフィールドCの各値の各条件付発生確率pAk,Bs(Ci)と、 フィールドAの各値AkとフィールドBの各値Bsとの組（Ak,Bs）の各々の基準データGにおける発生確率p(Ak,Bs)より、フィールドCの条件付エントロピーHA,B(C)は、
HA,B(C)= -ΣkΣｓ[p(Ak Bs)×Σi[pAk,Bs(Ci) ×Log{pAk,Bs(Ci)}]]
として算出される。なお、Σsは、sについての総和を表す。
【００４３】
そして、図５ａの基準データGの場合には、フィールドが３つであるので、フィールドCが第３軸に設定される。
なお、以上図５、６、７を用いて、基準データGのフィールドが３つである場合の条件付エントロピーの算出法について示したが、基準データGのフィールドが４以上である場合には、以上と同様にして、条件付エントロピーの算出と軸の設定とを順次繰り返していく。
【００４４】
さて、ここで、以上のようにして一つの基準データGについて算出した、３軸のエントロピーH(A),HA(B),HA,B(C)の和H(A)+ HA(B)+ HA,B(C)は、
H= -ΣkΣsΣi[p(Ak,Bs,Ci)×Log{p(Ak,Bs,Ci)}]
と等しくなる。なお、p(Ak,Bs,Ci)は、値の組(Ak,Bs,Ci)の基準データG中における発生確率である。
【００４５】
したがって、３軸のエントロピーH(A),HA(B),HA,B(C)は、基準データGのエントロピーHを、各軸にスペクトル分解したものと考えることができる。
また、以上の判定結果データ作成処理において、各基準データGについて算出したエントロピーや条件付エントロピーが最大となるフィールドから順次軸として設定していくのは、以下の理由によるものである。
すなわち、エントロピーや条件付相互エントロピーの総和は軸の順序に関係なく、同じ値になる。しかし、現実のシステムでは、エントロピーや条件付相互エントロピーの大きいフィールドから処理をするほうが、耐ノイズ性が高くなる。
【００４６】
以上、プロセッサ１の軸決定部１１が行う軸決定処理について説明した。
次に、プロセッサ１の判定処理部１２が行うデータ判定処理について説明する。
図８に、このデータ判定処理の手順を示す。
図示するように、判定処理部１２は、データ判定処理において、軸定義情報に定義されている各軸について（ステップ８００、８１０、８１４）、被判定データTのエントロピーを算出し（ステップ８０２）、算出した被判定データTの各軸のエントロピーを、判定結果データの被判定データTのエントリに、当該軸のエントロピーHT(i)として登録する（ステップ８０４）。
【００４７】
ここで、ステップ８０２における各軸のエントロピーの算出は、第１軸については図５に示したエントロピーの算出と同様に第１軸となっているフィールドのエントロピーを算出することにより行い、第２軸以降の軸については、図７、８に示した条件付エントロピーと同様に、当該軸を第i番目の軸として、第１軸から第i-１軸までのフィールドのもとでの第i番目の軸となっているフィールドの条件付エントロピーを算出することにより行う。
【００４８】
すなわち、被判定データTが図２ｂに示すテーブルであり、軸定義情報が示す第１軸のフィールドがA、第２軸のフィールドがB、第３軸のフィールドがCであれば、第１軸については図５ｂと同様にエントロピーH(A)を算定し、算定したH(A)を被判定データTの第１軸のエントロピーとし、第２軸については、図６ａと同様に条件付エントロピーHA(B)を算定し、算定したHA(B)を被判定データTの第２軸のエントロピーとし、第３軸については図７と同様にHA,B (C)を算定し、算定したHA,B (C)を被判定データTの第３軸のエントロピーとする。
【００４９】
また、判定処理部１２は、データ判定処理において、軸定義情報に定義されている各軸について（ステップ８００、８１０、８１４）、基準データGと被判定データTの相互情報量を算出し（ステップ８０６）、算出した各軸の相互情報量を、判定結果データの相互情報量Iのエントリに、当該軸の相互情報量I(i)として登録する（ステップ８０８）。
【００５０】
ここで、第１軸については、基準データGと被判定データTの第１軸としたフィールドの相互情報量を第１軸の相互情報量I(1)として求める。また、第２軸以降の第i軸については、第１軸から第i-１軸までのフィールドのもとでの条件付相互情報量を第i軸の相互情報量I(i)として求める。このような各軸の相互情報量I(i)の算出法については後述する。
そして、以上のようにして被判定データTの各軸のエントロピーHT(i)と各軸の相互情報量I(i)の算出と判定結果データへの登録が完了したならば（ステップ８１０）、判定結果データに登録されている各軸の相互情報量I(i)に基づいて、基準データGと被判定データTとの距離を評価し（ステップ８１２）、データ判定処理を終了する。
【００５１】
ここで、各軸の相互情報量I(i)に基づく、基準データGと被判定データTとの距離の評価は、たとえば、各軸または一部の軸の相互情報量I(i)の和や、各軸または一部の軸の相互情報量I(i)の適当な重みを用いた加重和が大きいほど、距離が小さいと評価すること等により行うことができる。なお、ステップ８１２では、さらに、各軸の相互情報量I(i)に加え、基準データGの各軸について算出したエントロピーHG(i)、被判定データTの各軸について算出したエントロピー HT(i)を考慮して、基準データGと被判定データTとの関係についての判定を行うようにしてもよい。
【００５２】
以下、ステップ８０６で行う相互情報量I(i)の算出の詳細について、図９ａに示す基準データGと被判定データTを例にとり説明する。
図９ａに示す基準データG, 被判定データTは、A,B,Cの３つのフィールドを持つレコードを６個含むテーブルである。また、フィールドAに表れる値はA1とA2の二つのみであり、フィールドBに表れる値はB1とB2の二つのみであり、フィールドCに表れる値はC1とC2の二つのみである。
【００５３】
また、第１軸にはフィールドAが、第２軸にはフィールドBが、第３軸にはフィールドCが設定されているものとする。
また、基準データGと被判定データTの同じ順位（順番）のレコードのセットをレコードセットRSと定義すると共に、これによって定義される基準データGと被判定データTのレコード数と同じ数のレコードセットRSの集合をレコードセット集合と呼ぶこととする。すなわち、基準データGのｎ番目のレコードと被判定データTのｎ番目のレコードとよりｎ番目のレコードセットRS_nは構成される。また、基準データGと被判定データTのレコード数は６であるので、レコードセット集合に含まれるレコードセットRSの数もRS_1からRS_6までの６となる。
【００５４】
さて、第１軸の相互情報量I(1)の算出は、第１軸がフィールドAであるので、図９ｂに示すように、レコードセット集合の基準データGのフィールドAと被判定データTのフィールドAに着目して行う。
【００５５】
ここで、Aiは基準データGのフィールドAに表れる値のうちのi番目の値を表し、Ajは被判定データTのフィールドAに表れる値のうちのj番目の値を表し、p(Ai)はフィールドAの値がAiである基準データGのレコードを含むレコードセットRSのレコード集合中の出現確率を表し、p(Aｊ)はフィールドAの値がAｊである被判定データTのレコードを含むレコードセットRSのレコード集合中の出現確率を表す。
【００５６】
また、p(Ai,Aｊ)は、基準データGのフィールドA の値がAiであるレコードと、被判定データTのフィールドA の値がAjであるレコードよりなるレコードセットRSのレコードセット集合中の出現確率を表す。
【００５７】
さて、図９ａに示した基準データG, 被判定データTに対して、基準データGのフィールドA の値がAiであるレコードと、被判定データTのフィールドA の値がAjであるレコードよりなるレコードセットRSのレコードセットRSの出現確率p(Ai,Aｊ)は図９ｃのように求まる。
【００５８】
すなわち、レコードセットRSに含まれるレコード数は６であり、基準データGのフィールドA の値がA1であり、被判定データTのフィールドA の値がA2であるレコードセットRSは、基準データGと被判定データTの４番目のレコードよりなる４番目のレコードセットRS_4のみであるので、その数（度数）は１となり、p(A１,A2)=1/6≒0.17となる。
【００５９】
また、p(Ai)、p(Aｊ)は、図９ｄ１、ｄ２のように求まる。
すなわち、たとえば、i=1のp(Ai)は、フィールドA の値がA1である基準データGのレコードを含むレコードセットRSの数(度数）は３であり、レコードセット集合のレコード数は６であるので、p(Ai)=3/6=0.5として求まる。同様に、j=2のp(Aj)は、フィールドA の値がA2である被判定データTのレコードを含むレコードセットRSの数(度数）は３であり、レコードセット集合のレコード数は６であるので、p(Aj)=3/6=0.5として求まる。
【００６０】
そして、図９ｃ、ｄ１、ｄ２のように求めたp(Ai,Aｊ)、p(Ai)、p(Aj)を用いて相互情報量I (A)を求め、求めたI (A)を第１軸の相互情報量I(1)とする。
【００６１】
すなわち、
I(1)=I(A)
=-Σ i,j[p(Ai,Aj) ×Log{p(Ai,Aj )/(p(Ai)× p(Aj))}]
によって第１軸の相互情報量I(1)を算定する。なお、Σi, jはiとｊについての総和を表す。
【００６２】
次に、第２軸の相互情報量I(2)の算出は、第１軸がフィールドA、第２軸がフィールドBであるので、図１０ａに示すようにレコードセット集合の基準データGのフィールドAとフィールドBと被判定データTのフィールドBに着目して行う。
【００６３】
ここで、p(Ak)は、フィールドAの値として値Akを持つ基準データGのレコードを含むレコードセットRSのレコード集合中の出現確率を表し、条件付発生確率pAk(Bi)は、フィールドAの値として値Akを持つ基準データGのレコードを含むレコードセットRSよりなる、レコードセット集合の部分集合中の、フィールドBの値としてBiを持つ基準データGのレコードを含むレコードセットRSの発生確率を表し、条件付発生確率pAk(Bj)は、フィールドAの値として値Akを持つ基準データGのレコードを含むレコードセットRSよりなる、レコードセット集合の部分集合中の、フィールドBの値としてBjを持つ被判定データTのレコードを含むレコードセットRSの発生確率を表す。
【００６４】
また、pAk(Bi,Bj)は、フィールドAの値として値Akを持つ基準データGのレコードを含むレコードセットRSよりなる、レコードセット集合の部分集合中の、フィールドBの値としてBiを持つ基準データGのレコードとフィールドBの値としてBjを持つ被判定データTのレコードの双方を含むレコードセットRSの発生確率を表す。
【００６５】
さて、図１０ａに示した基準データG、 被判定データTに対して、p(Ak)、pAk(Bi,Bj)は、図１０ｂに示すように求まる。
たとえば、p(A1)は、レコードセット集合に含まれるレコード数は６であり、フィールドA の値がA1である基準データGのレコードを含むレコードセットRSの数は３であるので、p(A1)=3/6=0.5として求まる。
【００６６】
また、たとえば、pA1(B1,B2)は、フィールドA の値がA1である基準データGのレコードを含むレコードセットRSよりなる、レコードセット集合の部分集合に含まれるレコードセットRSの数は３であり、この部分集合に含まれるフィールドBの値としてB1を持つ基準データGのレコードとフィールドBの値としてB2を持つ被判定データTのレコードの双方を含むレコードセットRSの数（度数）は１であるので、pA1(B1,B2)=1/3≒0.33として求まる。
【００６７】
また、pAk(Bi)、pAk(Bｊ)は、図１０ｃ１、ｃ２のように求まる。
すなわち、k=1,i=1のpAk(Bi)は、フィールドA の値がA1である基準データGのレコードを含むレコードセットRSよりなる、レコードセット集合の部分集合中のレコードセットRSの数は３であり、この部分集合中のフィールドB の値がB1である基準データGのレコードを含むレコードセットRSの数は３であるので、k=1,i=1のpAk(Bi)=3/3=1となる。
【００６８】
また、k=1,j=1のpAk(Bi)は、フィールドA の値がA1である基準データGのレコードを含むレコードセットRSよりなるレコードセットRSの部分集合中のレコードセットRSの数は３であり、この部分集合中のフィールドB の値がB1である被判定データTのレコードを含むレコードセットRSの数は2であるので、k=1,j=1のpAk(Bj)=2/3≒0.67となる。
【００６９】
そして、図１０ｂ、ｃ１、ｃ２のように求めたp(Ak)、pAk(Bi, Bj)、pAk (Bi)、pAk (Bj)を用いて、第１軸としたフィールドAのもとでの、フィールドＢの条件付き相互情報量IAk,(B)を求め、求めたI Ak,(B)を第２軸の相互情報量I(2)とする。
【００７０】
すなわち、
I(2)=IA(B)
=-Σk[p(Ak)×Σi,j [pAk(Bi,Bj)×Log{pAk(Bi,Bj)/(pAk(Bi)×pAk(Bj))}]]
によって第２軸の相互情報量I(2)を算定する。
【００７１】
次に、第３軸の相互情報量I(3)の算出は、第１軸がフィールドA、第２軸がフィールドB、第３軸がフィールドCであるので、図１１ａに示すように、レコードセット集合の基準データGのフィールドAとフィールドBとフィールドCと被判定データTのフィールドCに着目して行う。
【００７２】
ここで、p(Ak、Bs)は、フィールドAの値として値Akを持ち、フィールドBの値として値Bsを持つ基準データGのレコードを含むレコードセットRSのレコード集合中の出現確率を表す。また、条件付発生確率pAk,Bs(Ci)は、フィールドAの値として値Akを持ち、フィールドBの値として値Bsを持つ基準データGのレコードを含むレコードセットRSよりなるレコードセット集合の部分集合中の、フィールドCの値としてCiを持つ基準データGのレコードを含むレコードセットRSの発生確率を表し、条件付発生確率pAk,Bs(Cj)は、フィールドAの値として値Akを持ち、フィールドBの値として値Bsを持つ基準データGのレコードを含むレコードセットRSよりなるレコードセット集合の部分集合中の、フィールドCの値としてCjを持つ被判定データTのレコードを含むレコードセットRSの発生確率を表す。
【００７３】
また、pAk,Bs (Ci, Cj)は、フィールドAの値として値Akを持ち、フィールドBの値として値Bsを持つ基準データGのレコードを含むレコードセットRSよりなるレコードセット集合の部分集合中の、フィールドCの値としてCiを持つ基準データGのレコードとフィールドCの値としてCjを持つ被判定データTのレコードとの双方を含むレコードセットRSの発生確率を表す。
【００７４】
さて、図１１ａに示した基準データG, 被判定データTに対して、p(Ak、Bs)、pAk,Bs (Ci, Cj)は、図１１ｂに示すように求まる。
【００７５】
たとえば、p(A2、B1)は、レコードセット集合に含まれるレコード数は６であり、フィールドA の値がA2でありフィールドB の値がB1である基準データGのレコードを含むレコードセットRSの数は1であるので、p(A2、B1)=1/6≒0.17として求まる。
【００７６】
また、たとえば、pA1,B1 (C1, C1)は、フィールドA の値がA1でありフィールドB の値がB1である基準データGのレコードを含むレコードセットRSよりなるレコードセット集合の部分集合に含まれるレコードセットRSの数は３であり、この部分集合に含まれるフィールドCの値としてC1を持つ基準データGのレコードとフィールドCの値としてc1を持つ被判定データTのレコードの双方を含むレコードセットRSの数（度数）は2であるので、pA1,B1 (C1, C1)=2/3≒0.67として求まる。
【００７７】
また、pAk,Bs(Ci)、pAk,Bs(Cj)は、図１２ａ１、ａ２のように求まる。
すなわち、たとえば、k=1,s=1,i=1のpAk,Bs(Ci)は、フィールドA の値がA1でありフィールドB の値がB1である基準データGのレコードを含むレコードセットRSよりなるレコードセット集合の部分集合中のレコードセットRSの数は３であり、この部分集合中のフィールドC の値がC1である基準データGのレコードを含むレコードセットRSの数は２であるので、k=1,s=1,i=1のpAk,Bs(Ci)=2/3≒0.67となる。
【００７８】
また、k=1,s=1,i=2のpAk,Bs(Cj)は、フィールドA の値がA1でありフィールドB の値がB1である基準データGのレコードを含むレコードセットRSよりなるレコードセット集合の部分集合中のレコードセットRSの数は３であり、この部分集合中のフィールドC の値がC1である被判定データTのレコードを含むレコードセットRSの数は1であるので、k=1,s=1,i=2のpAk,Bs(Cj)=1/3≒0.33となる。
【００７９】
そして、図１１ｂ、図１２ａ１、ａ２のように求めたp(Ak、Bs)、pAk,Bs (Ci, Cj)、pAk,Bs(Ci)、pAk,Bs(Cj)を用いて、第１軸、第２軸としたフィールドA,Bのもとでの、フィールドCの条件付き相互情報量IAk,Bs(c)を求め、求めたIAk,Bs(c)を第３軸の相互情報量I(3)とする。
【００８０】
すなわち、
I(3)=IA,B(c)
=-ΣkΣs[p(Ak,Bs)×Σi,j[pAk,Bs(Ci,Cj)×Log{pAk,Bs(Ci,Cj)
/(pAk,Bs(Ci)×pAk,Bs(Cj))}]]
によって第３軸の相互情報量I(3)を算定する。
【００８１】
以上、相互情報量I(i)の算出の詳細について説明した。
ここで、以上では、フィールド数が３である場合を例にとり、相互情報量I(i)の算出の方法を示したが、フィールド数が４以上である場合にも、同様に、第４軸以降の各軸ｎについて、１からn-1軸とした各フィールドのもとでの条件付相互情報量として相互情報量I(n)を算出することできる。
【００８２】
以上、本発明の実施形態について説明した。
なお、以上の実施形態において、確率計算で分母が0で発散するときは、無限大ではなく確率を１とするものとする。
【００８３】
以上のように、本実施形態によれば、基準データGと被判定データTの各フィールドの相互情報量と条件付相互情報量を求め、求めた相互情報量と条件付相互情報量を用いて基準データGと被判定データTの距離を算定する。ここで、各フィールドの相互情報量と条件付相互情報量には、当該フィールドのレコードを横断した特性が反映されているので、データ全体としての特性に応じた、基準データGと被判定データTとの間の距離の算定を行えるようになる。また、各フィールドの相互情報量、条件付相互情報量は相互に独立しているので、容易に、さまざまな観点による基準データGと被判定データTとの間の距離の評価を行えるようになる。また、２つのテーブル間の相互情報量は、各項目間の相互情報量および条件付相互情報量の総和に等しいため、各項目間の相互情報量に重み付けをしなければ、過不足無く全体的な相互情報量に基づく処理を行うことが出来る。
【００８４】
ここで、以上の実施形態では、各基準データGについて算出したエントロピーや条件付エントロピーが最大となるフィールドを軸に設定することにより、順次各軸を設定したが、各軸の設定は、他の基準に従って行うようにしてもよい。たとえば、単純にフィールド順に従って、順次、軸とするフィールドを設定するようにしてもよい。
また、以上の実施形態は、フィールドとレコードを転置して行うことも可能である。
【符号の説明】
【００８５】
１…プロセッサ、２…ストレージ、１１…軸決定部、１２…判定処理部。
【図１】
2017064769.tif 000003
【図２】
2017064769.tif 000004
【図３】
2017064769.tif 000005
【図４】
2017064769.tif 000006
【図５】
2017064769.tif 000007
【図６】
2017064769.tif 000008
【図７】
2017064769.tif 000009
【図８】
2017064769.tif 000010
【図９】
2017064769.tif 000011
【図１０】
2017064769.tif 000012
【図１１】
2017064769.tif 000013
【図１２】
2017064769.tif 000014
【国際調査報告】
2017064769.tif 000015
2017064769.tif 000016
2017064769.tif 000017
2017064769.tif 000018