(57)【特許請求の範囲】
【請求項１】
複数の処理部にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する項目パターン抽出方法であって、
前記複数の処理部が管理するデータベースから抽出した項目パターンをパターン抽出部に集中する第１のステップと、
前記パターン抽出部において、第１のデータベースから抽出された第１の項目パターンと前記第１のデータベースとは異なる第２のデータベースから抽出された第２の項目パターンの組み合わせを含む結合項目パターンを生成し、前記第１のデータベースを管理する第１の処理部に前記第１の項目パターンを、前記第２のデータベースを管理する第２の処理部に前記第２の項目パターンを報知する第２のステップと、
前記第１の項目パターンを含む前記第１のデータベース中のレコードの識別子リスト及び前記第２の項目パターンを含む前記第２のデータベース中のレコードの識別子リストを、前記第１及び第２の処理部から前記パターン抽出部とは異なる集計処理部に集中する第３のステップと、
前記集計処理部において、前記集中された全ての識別子リストに共通する識別子の数を計数し、その数を前記パターン抽出部に送信する第４のステップとを含むことを特徴とする項目パターン抽出方法。
【請求項２】
請求項１記載の項目パターン抽出方法において、前記パターン抽出部及び／又は前記集計処理部は、前記処理部が兼用していることを特徴とする項目パターン抽出方法。
【請求項３】
請求項１記載の項目パターン抽出方法において、前記複数の処理部は、前記第１のステップにおいて項目パターンを含むレコードの数である支持回数が指定された最小支持回数以上の項目パターンを抽出し、前記パターン抽出部は、前記第２のステップにおいて支持回数が未知である結合項目パターンを作成し、更に、前記第４のステップで前記集計処理部から送信された数を参照して支持回数が最小支持回数以上となる結合項目パターンを選出することを特徴とする項目パターン抽出方法。
【請求項４】
請求項３記載の項目パターン抽出方法において、前記パターン抽出部は、支持回数が既知の結合項目パターン中の項目の部分集合である支持回数が未知の項目パターンの支持回数の上限値を、当該結合項目パターンの支持回数及び当該結合項目パターンの部分集合である項目パターンの既知の支持回数から計算するステップと、前記計算した支持回数の上限値が前記最小支持回数未満である結合項目パターンを前記第２のステップで生成する結合項目パターンの候補から削除するステップとを更に有することを特徴とする項目パターン抽出方法。
【請求項５】
請求項４記載の項目パターン抽出方法において、ｍ個（ｍは２以上の整数）のデータベースについて、ｉ番目のデータベースに含まれる項目からなる項目パターンをX(i)、項目パターンX(i)中の項目の部分集合からなる項目パターンをX’(i)、結合項目パターンをX(1)X(2)…X(m)、項目パターンXの支持回数をS(X)とするとき、前記結合項目パターン中の部分集合からなる項目パターンX’(1)X’(2)…X’(m)の支持回数の上限値Upper(X’(1)X’(2)…X’(m))を下式によって計算することを特徴とする項目パターン抽出方法。
【数１】
0003701633.tif 000003
【請求項６】
請求項２記載の項目パターン抽出方法において、前記第２のステップにおいて前記パターン抽出部は、前記第１及び第２の処理部に前記集計処理部の位置を報知することを特徴とする項目パターン抽出方法。
【請求項７】
請求項１記載の項目パターン抽出方法において、前記結合項目パターンの部分パターンを前提部、前記部分パターンを除いた前記結合項目パターンの残部のパターンを結論部とする相関ルールを作成するステップと、前記結合パターンの支持回数を前記部分パターンの支持回数で割り算して前記相関ルールの確信度を計算するステップとを更に有することを特徴とする項目パターン抽出方法。
【請求項８】
複数の処理装置とパターン抽出処理装置と集計処理装置とがネットワーク接続され、前記複数のデータ処理装置にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する機能を有するネットワークシステムであって、
前記データ処理装置は、各々が管理しているデータベースから項目パターンと当該項目パターンを満たすレコードの識別子の組を抽出する項目パターン抽出部を備え、前記項目パターン抽出部で抽出した項目パターンを前記パターン抽出処理装置に送信し、前記送信した項目パターンのうち前記パターン抽出装置によって指定された項目パターンを含むレコードの識別子のリストを指定された集計処理装置に送信する処理を行い、
前記パターン抽出処理装置は、前記複数のデータ処理装置から受信した項目パターンを記憶する項目パターン記憶部と、前記項目パターン記憶部に記憶されている項目パターンを参照し、異なるデータ処理装置から受信した項目パターン同士を組み合わせて結合項目パターンを生成する結合項目パターン生成部とを備え、前記結合項目パターン生成部で生成した結合項目パターンの構成要素たる項目パターンが由来するデータ処理装置に当該項目パターンと前記集計処理部の位置を送信し、前記集計処理部から受信した数値を前記結合項目パターンの支持回数として計数する処理を行い、
前記集計処理装置は、受信した全ての識別子のリストに共通する識別子の数を計数する共通識別子計数部を備え、前記共通識別子計数部によって計数された数値を前記パターン抽出処理装置に送信する処理を行うことを特徴とするネットワークシステム。
【請求項９】
請求項８記載のネットワークシステムにおいて、前記パターン抽出処理装置及び／又は前記集計処理装置は前記データ処理装置が兼用していることを特徴とするネットワークシステム。
【請求項１０】
複数の処理部にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する処理の一部を行う処理装置であって、
複数の処理部から送られてきた項目パターンを記憶する項目パターン記憶部と、
前記項目パターン記憶部に記憶された項目パターンを参照し、第１の処理部から送られてきた第１の項目パターンと前記第１の処理部とは異なる第２の処理部から送られてきた第２の項目パターンの組み合わせを含む結合項目パターンを生成する結合項目パターン生成部と、
前記第１の項目パターンと集計処理部の位置を前記第１の処理部に、前記第２の項目パターンと前記集計処理部の位置を前記第２の処理部に送信し、前記第１の処理部に対して前記第１の項目パターンを含むレコードの識別子リストの送信を促すと共に前記第２の処理部に対して前記第２の項目パターンを含むレコードの識別子リストの送信を促し、前記集計処理部から受信する数値を前記結合項目パターンの支持回数として計数する支持回数計数部とを含むことを特徴とする処置装置。
【請求項１１】
請求項１０記載の処理装置において、ｍ個（ｍは２以上の整数）のデータベースについて、ｉ番目のデータベースに含まれる項目からなる項目パターンをX(i)、項目パターンX(i)中の項目の部分集合からなる項目パターンをX’(i)、支持回数が既知の結合項目パターンをX(1)X(2)…X(m)、項目パターンXの支持回数をS(X)とするとき、前記結合項目パターン中の部分集合からなる項目パターンX’(1)X’(2)…X’(m)の支持回数の上限値Upper(X’(1)X’(2)…X’(m))を下式によって計算する支持回数上限値計算部を備えることを特徴とする処置装置。
【数２】
0003701633.tif 000004
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベース及びデータウェアハウスを対象としたデータ解析方法及びシステムに関し、特にデータベースのレコードを解析してレコードに含まれるデータの相関を明らかにするデータマイニングに関する。
【０００２】
【従来の技術】
膨大なデータを解析することによりその中に埋もれたパターンあるいは関係を通して有用な情報を抽出するデータマイニングが知られている。例えば、スーパーマーケットのバスケットデータのデータマイニングを考えてみる。スーパーマーケットには項目（品目、つまり、商品）の集合があり、顧客はその部分集合を購入する。顧客の購入した項目の組合せがバスケットデータとして記録される。多数のバスケットデータを解析する場合、有意な購入パターン、つまり、複数の顧客に共通して表れるパターンを抽出することが望ましい。このパターンを頻出パターン（大品目セット、ラージ品目セット）と呼ぶ。「商品Ａと商品Ｂが同時に購入される場合が多い」のような頻出パターンが抽出された場合、商品Ａと商品Ｂの売上げに関連があることがわかり、商品の配置や特売品の選定、価格の設定など販売の方針決定に役立てることが出来る。
【０００３】
頻出パターンを抽出する研究は、データマイニングの分野において行われてきた。例えば、（１）R.Agrawal and R.SrikantによるAprioriと呼ばれる方法："Fast algorithms for mining association rules" in proceedings of the 20th VLDB Conference, 1994（特開平8-287106号公報、米国特許第5,794,209号）（文献１）、（２）J.Han,J.Pei,Y.Yin, "Mining frequent patterns without candidate generation",in proceedings of ACM SIGMOD International Conference on Management of Data, 2000（文献２）に記載の方法がある。文献１、文献２の方法では、複数の２値属性を含むレコードの集合からなるデータベースから、ユーザにより予め設定された支持度、又は支持回数の最小値（最小支持度、又は最小支持回数）以上となる属性値が真となる組合せを抽出していた。各々のレコードで、属性値が真となる属性を項目と呼ぶ。支持度とは全データベース中で項目の組合せを含むレコードの割合であり、支持回数とは該レコードの数である。これら方法により抽出される支持度、又は支持回数の最小値を超える項目の組合せを頻出パターン（大品目セット、ラージアイテム集合）と呼ぶ。文献１、文献２の方法では１つのデータベース、又は複数のデータベースであるがレコードの識別子により１つに統合されたデータベースを解析対象としている。
【０００４】
文献１のApriori法の頻出パターン抽出の手順を図１に示すフローチャートによって説明する。最初のステップであるユーザ入力では、利用者から最小支持度、又は最小支持回数を入力させて獲得する。次のステップのＬ(１)生成では、データベース中のレコードを取り出し、そのレコード中に出現する項目についてカウント数（支持回数）を増やす。全てのレコードについて数え上げが終了すると、最終的な集計値が最小支持回数を超えた項目が取り出される。以下の説明において、Ｌ(ｋ)は項目数ｋの頻出パターン、Ｃ(ｋ)は項目数ｋの候補パターンを表す。頻出パターンＬ(ｋ)は、データベースにおける出現頻度が最小支持回数を超える項目の組合せであり、候補パターンはその候補となる項目組合せである。次のステップＣ(ｋ)生成では項目数ｋ−１の頻出パターンから候補パターンが生成される。候補パターンはＬ(ｋ−１)中の(ｋ−２)個の項目が共通するパターンを組合せ、ｋ個の項目からなるパターンを抽出する。初期状態ではｋ＝２であり、Ｌ１からＣ２が生成される。次のステップＣ(ｋ)枝刈りにおいては、Ｃ(ｋ)中の候補パターンのうち、Ｌ(ｋ−１)に含まれないパターンを含む候補パターンを削除する。Ｃ(ｋ)枝刈り後は、Ｌ(ｋ)生成のステップが行われる。データベースのレコードが読み出され、その中に存在するＣ(ｋ)中の候補パターンのカウントを増やす操作が行われ、最終的に最小支持回数を超えた候補パターンのみを残す。Ｌ(ｋ)生成ステップでＬ(ｋ)の要素となるパターンが１つも生成されなかった場合、処理を終了し、そうでない場合はｋの値を１つ増加させ、Ｃ(ｋ)生成に戻る。文献１、文献２では、Ｌ(ｋ)の各頻出パターンから相関ルールを作成する方法も述べられている。全ての頻出パターンが抽出された時点で、Ｌ(ｋ)の各頻出パターンについて、該頻出パターンに含まれる項目パターンの部分集合から相関ルールを作成する。
【０００５】
複数のデータベースから頻出パターンを抽出する方法は、（１）J.S.Park, M.Chen, P.S.Yu, "Scalable parallel data mining for association rules" in proceedings of International Conference on Information and Knowledge Management,1995（文献３）、（２）R.Agrawal, J.Shafer, "Parallel mining of association rules" in IEEE Transactions on Knowledge and Data Engineering,1996（文献４）、（３）特開2001-167098号公報「大量データの分散並列処理方法」（文献５）などがある。
【０００６】
【発明が解決しようとする課題】
文献３、文献４、文献５の方法は複数のデータベースから頻出パターンを抽出する方法であるが、各々のデータベースは同一の属性からなるデータベースのみを解析対象とする。全てのデータベースのレコードは同一の属性からなり、１つのレコードは単一のデータベースに保持される場合のみが考慮されている。１つのレコードが複数のデータベースにまたがって保持される場合は考慮されなかった。
【０００７】
解析対象とするデータベースが複数に分割され、各々のデータベースの構造、属性が異なる場合がある。さらに、情報漏洩防止の点から、複数に分割されたデータベースを１つに統合することが許されない場合もある。例えば、医療分野における遺伝子データの場合、遺伝子情報から個人を特定することが出来ない状態を保つ必要があり、個人データと遺伝子データは分割して管理される。個人データと遺伝子データを共に含むデータベースを作成することは許されない。遺伝子データの解析は症例データと共に行われることにより、有用な情報を得ることが出来る。症例データと遺伝子データを解析対象として項目パターンを抽出することにより、遺伝子と薬剤の効果との関係などを知ることが出来る。例えば、「遺伝子ＡがＹ型であり、薬剤Ｃに対してアレルギー反応を起こした患者が多い。」のような項目パターンが抽出された場合、患者の遺伝子Ａの型を調べることにより、薬剤Ｃを処方すべきか否かの判断に役立ち、各患者に適した医療を行うことが出来る。症例データには検査値や症状など個人を特定することに大いに役立つ情報が含まれる。そのため、症例データと遺伝子データの解析においてもデータベースを統合することを回避する必要があり、データベースを統合することなくデータの解析を行うことは従来の方法では考慮されていない。
【０００８】
このように、従来の方法では、複数の異なるデータベース、つまり、１つのレコードが複数のデータベースに分割して保持され、データベースを１つに統合することが許されない場合、データベースを統合するための情報の漏洩を回避した状態で、項目パターンを抽出することが考慮されていなかった。
【０００９】
本発明の第１の目的は、異なる属性からなる複数のデータベースから、データの断片的な情報のやり取りによって、データベース間にまたがる項目パターンを抽出する方法及びシステムを提供することである。本発明の第２の目的は、項目パターンを抽出するために探索するデータの組合せである候補パターンの数を低減する方法を提供することである。
【００１０】
【課題を解決するための手段】
本発明によるパターン抽出方法の１つの特徴は、１以上の属性からなるレコードと、レコードの集合からなるデータベースにおいて、各々のデータベースが異なる属性を持ち、各々のデータベースに含まれるレコードは識別子によりデータベース間で相互に対応付けることが可能であり、異なるデータベースに含まれ、等しい識別子に対応付けられているレコードの項目の和集合を１つのレコードとし、データベースから、ユーザにより指定された支持回数の最小値を満たし、異なるデータベースに含まれる属性の組合せからなる項目パターンを、データベース間で該項目パターンの部分集合を送信する処理、又はレコードの識別子のリストを送信する処理、又は受信したレコードの識別子と重複するレコード数を送信する処理によって抽出することである。
【００１１】
本発明の別の特徴は、支持回数が既知の項目の組合せである項目パターンから、その項目パターンの部分パターンについての支持回数の上限値を計算することにより、支持回数を数え上げる候補パターンを限定することである。
すなわち、本発明による項目パターン抽出方法は、複数の処理部にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する項目パターン抽出方法であって、複数の処理部が管理するデータベースから抽出した項目パターンをパターン抽出部に集中する第１のステップと、パターン抽出部において、第１のデータベースから抽出された第１の項目パターンと第１のデータベースとは異なる第２のデータベースから抽出された第２の項目パターンの組み合わせを含む結合項目パターンを生成し、第１のデータベースを管理する第１の処理部に第１の項目パターンを、第２のデータベースを管理する第２の処理部に第２の項目パターンを報知する第２のステップと、第１の項目パターンを含む第１のデータベース中のレコードの識別子リスト及び第２の項目パターンを含む第２のデータベース中のレコードの識別子リストを、第１及び第２の処理部からパターン抽出部とは異なる集計処理部に集中する第３のステップと、集計処理部において、前記集中された全ての識別子リストに共通する識別子の数を計数し、その数をパターン抽出部に送信する第４のステップとを含むことを特徴とする。
【００１２】
この方法によると、複数のデータベースにおいて等しい識別子を持つレコードの項目の和集合を１つの統合レコードとみなすとき、複数の処理部、パターン抽出部、集計処理部のいずれにも統合レコードとその識別子の対応関係を知らしめることなく、複数のデータベースにまたがる結合項目パターンを含む統合レコードの数である支持回数を数え上げることができる。属性値は、離散値又は離散値に対応付けることが出来る値であるのが好ましい。
パターン抽出部と集計処理部の一方あるいは両方は、処理部が兼用していてもよい。
【００１３】
ユーザ入力等によって、項目パターンを含むレコードの数である支持回数の最小値が最小支持回数として指定されている場合、複数の処理部は、第１のステップにおいて最小支持回数以上の項目パターンを抽出し、パターン抽出部は、第２のステップにおいて支持回数が未知である結合項目パターンを作成し、更に、第４のステップで集計処理部から送信された数を参照して支持回数が最小支持回数以上となる結合項目パターンを選出するのが好ましい。
【００１４】
また、最小支持回数が指定されている場合、パターン抽出部は、支持回数が既知の結合項目パターン中の項目の部分集合である支持回数が未知の項目パターンの支持回数の上限値を、当該結合項目パターンの支持回数及び当該結合項目パターンの部分集合である項目パターンの既知の支持回数から計算するステップと、計算した支持回数の上限値が最小支持回数未満である結合項目パターンを第２のステップで生成する結合項目パターンの候補から削除するステップとを更に有するのが望ましい。
【００１５】
ｍ個（ｍは２以上の整数）のデータベースについて、ｉ番目のデータベースに含まれる項目からなる項目パターンをX(i)、項目パターンX(i)中の項目の部分集合からなる項目パターンをX'(i)、結合項目パターンをX(1)X(2)…X(m)、項目パターンXの支持回数をS(X)とするとき、前記結合項目パターン中の部分集合からなる項目パターンX'(1)X'(2)…X'(m)の支持回数の上限値Upper(X'(1)X'(2)…X'(m))は下式（１）によって計算される。
【００１６】
【数３】
0003701633.tif 000002
【００１７】
項目パターンX(1)X(2)…X(m)の支持回数が既知である場合、項目パターンX'(1)X'(2)…X'(m)の支持回数の上限値は、項目パターンＸ(1)X(2)…X(m)の支持回数と、項目パターンX(1)X(2)…X(m)は含まないが、項目パターンX'(1)X'(2)…X'(m)を含む可能性のあるレコードの数との和から計算される。該レコードは、(1)ｉ番目のデータベースにおいて、X(i)に含まれず、X'(i)に含まれるレコード、(2)ｉとｊを異なる値とし、X(1)X(2)…X(m)に含まれず、X(i)に含まれるレコードであり、ｊ番目のデータベースにおいて、X(j)に含まれず、X'(j)に含まれるレコードである。
【００１８】
支持回数上限値計算部にて計算された支持回数の上限値がユーザから指定された最小支持回数未満である結合項目パターンを、結合項目パターン生成部で生成する結合項目パターンの候補から削除することにより、解析処理量を低減することができる。
【００１９】
第２のステップにおいてパターン抽出部は、第１及び第２の処理部に集計処理部の位置を報知するようにしてもよい。
結合項目パターンの部分パターンを前提部、その部分パターンを除いた結合項目パターンの残部のパターンを結論部とする相関ルールを作成するステップと、前記結合パターンの支持回数を前記部分パターンの支持回数で割り算（前記結合パターンの支持回数÷前記部分パターンの支持回数）して相関ルールの確信度を計算するステップとを更に有してもよい。
【００２０】
本発明によるネットワークシステムは、複数の処理装置とパターン抽出処理装置と集計処理装置とがネットワーク接続され、複数のデータ処理装置にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する機能を有するネットワークシステムであって、データ処理装置は、各々が管理しているデータベースから項目パターンと当該項目パターンを満たすレコードの識別子の組を抽出する項目パターン抽出部を備え、項目パターン抽出部で抽出した項目パターンをパターン抽出処理装置に送信し、送信した項目パターンのうちパターン抽出装置によって指定された項目パターンを含むレコードの識別子のリストを指定された集計処理装置に送信する処理を行い、パターン抽出処理装置は、複数のデータ処理装置から受信した項目パターンを記憶する項目パターン記憶部と、項目パターン記憶部に記憶されている項目パターンを参照し、異なるデータ処理装置から受信した項目パターン同士を組み合わせて結合項目パターンを生成する結合項目パターン生成部とを備え、結合項目パターン生成部で生成した結合項目パターンの構成要素たる項目パターンが由来するデータ処理装置に当該項目パターンと集計処理部の位置を送信し、集計処理部から受信した数値を結合項目パターンの支持回数として計数する処理を行い、集計処理装置は、受信した全ての識別子のリストに共通する識別子の数を計数する共通識別子計数部を備え、共通識別子計数部によって計数された数値をパターン抽出処理装置に送信する処理を行うことを特徴とする。この場合、パターン抽出処理装置と集計処理装置の一方あるいは両方は、データ処理装置が兼用していてもよい。
【００２１】
本発明による処置装置は、複数の処理部にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する処理の一部を行う処理装置であって、複数の処理部から送られてきた項目パターンを記憶する項目パターン記憶部と、項目パターン記憶部に記憶された項目パターンを参照し、第１の処理部から送られてきた第１の項目パターンと第１の処理部とは異なる第２の処理部から送られてきた第２の項目パターンとの組み合わせを含む結合項目パターンを生成する結合項目パターン生成部と、第１の項目パターンと集計処理部の位置を第１の処理部に、第２の項目パターンと集計処理部の位置を第２の第２の処理部に送信し、第１の処理部に対して第１の項目パターンを含むレコードの識別子リストの送信を促すと共に第２の処理部に対して第２の項目パターンを含むレコードの識別子リストの送信を促し、集計処理部から受信する数値を前記結合項目パターンの支持回数として計数する支持回数計数部とを含むことを特徴とする。本装置は、ｍ個（ｍは２以上の整数）のデータベースについて、ｉ番目のデータベースに含まれる項目からなる項目パターンをX(i)、項目パターンX(i)中の項目の部分集合からなる項目パターンをX'(i)、支持回数が既知の結合項目パターンをX(1)X(2)…X(m)、項目パターンXの支持回数をS(X)とするとき、結合項目パターン中の部分集合からなる項目パターンX'(1)X'(2)…X'(m)の支持回数の上限値Upper(X'(1)X'(2)…X'(m))を前記式（１）によって計算する支持回数上限値計算部を備えるのが望ましい。
【００２２】
本発明による処理装置は、また、複数の処理部にてそれぞれ個別に管理される複数のデータベースにおける属性と属性値の組を項目、項目の組合せを項目パターンとするとき、２以上のデータベースにまたがる項目パターンを抽出する処理の一部を行う処理装置であって、管理しているデータベースから指定された支持回数以上の項目パターンと当該項目パターンを含むレコードの識別子リストを抽出する頻出パターン抽出部を備え、頻出パターン抽出部で抽出した項目パターンをパターン抽出装置に送信し、パターン抽出装置から指定された項目パターンに対応する識別子リストを指定された集計処理装置に送信する処理を行うことを特徴とする。この処理装置は、パターン抽出装置から集計処理装置としての指定を受けた処理装置となることもでき、その場合、受信した全ての識別子リストに共通する識別子の数を計数する共通識別子計数部を備え、共通識別子計数部によって計数された数値をパターン抽出処理装置に送信する処理を行うことを特徴とする。
【００２３】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。以下の図において、同等の機能部分には同じ番号を付し、重複する説明を省略する。
はじめに、本実施形態において利用する用語を定義する。データベースは離散値、又は離散値に対応付けることが可能な属性値からなる属性により構成され、属性と属性値の組を項目と呼ぶ。ここで、属性値が連続値である場合、範囲分割などによって属性値を区分けし、各区分けに特定の離散値を割り当てることにより、連続値を離散値に対応付けることが可能である。また、離散値をグループに分類し、各分類を特定の離散値に対応付けることにより、属性値に含まれない離散値に対応付けることも可能である。
【００２４】
データベースは項目のリストであるレコードの集合である。各々のデータベースに含まれるレコードはデータベース間で相互に対応付けることが可能である識別子を持つ。異なるデータベースに保持され、識別子の等しいレコードは１つのレコードとして扱い、１つのレコードが分割され、複数のデータベースに保持されていると見なす。
【００２５】
項目の組合せを項目パターンと呼び、ある項目パターンＸに存在する項目があるレコードの部分集合である場合、該レコードは項目パターンＸを含むと表現する。ここで、ある項目パターンＸに存在する全ての項目が、２以上のデータベースにおいて、等しい識別子を持つレコードに含まれる項目の和集合に含まれる場合にも、該項目パターンＸはレコードに含まれると表現する。項目パターンＸを含むレコードの数を支持回数と呼び、データベースに含まれる全レコード数に対する支持回数の割合を支持度と呼ぶ。支持度は支持回数から計算することが可能であることから、支持度と支持回数は同様に扱うことが出来る。また、ある項目パターンＸに存在する全ての項目が項目パターンＹに存在する場合、項目パターンＹは項目パターンＸを含むと表現し、項目パターンＸを項目パターンＹの部分パターンと呼び、項目パターンＹを項目パターンＸの上位パターンと呼ぶ。
【００２６】
相関ルールはif[X]then[Y]で表現され、ＸとＹは項目パターンであり、ＸとＹに共通する項目は含まれない。Ｘを前提部、Ｙを結論部と呼ぶ。一般に相関ルールは支持度と確信度の評価値を持つ。支持度は相関ルールの適用度を示し、相関ルールif[X]then[Y]の支持度は項目パターンＸとＹの積集合の支持度となる。確信度は前提部を満たすデータが結論部も同時に満たす割合（ルールの前提部が起きたときに、結論部が起きる確率）を意味し、相関ルールif[X]then[Y]の確信度は項目パターンＸとＹの積集合の支持度を項目パターンＸの支持度で割った値となる。
【００２７】
図２は、本発明の第１実施形態のシステム構成例を示す図である。このシステムは、１つのパターン抽出部２０１と複数のデータ処理部２０２ａ，２０２ｂ，…，２０２ｍから構成される。パターン抽出部とデータ処理部は、それぞれコンピュータからなり、通信路２０４によって接続されている。解析対象のデータは各データ処理部２０２ａ，２０２ｂ，…，２０２ｍに接続されたデータ格納部２０３ａ，２０３ｂ，…，２０３ｍに格納されている。
【００２８】
パターン抽出部２０１は、候補パターン生成部２１１、支持回数計数部２１２、支持回数上限値計算部２１３を備え、データあるいはファイルとして最小支持回数の値、頻出パターンリスト、稀少パターンリスト、各データ処理部のネットワーク上の位置情報を記憶部２１５に保持する。また、パターン抽出部２０１には、キーボードやマウス等を備える入力部２０５、及びディスプレイやプリンタ等からなる出力部２０６が接続されている。データ処理部２０２ａ，２０２ｂ，…，２０２ｍは、それぞれ頻出パターン抽出部２２１ａ，２２１ｂ，…，２２１ｍを備え、また、パターン処理部２０１から送信された最小支持回数や、後述するＩＤリスト、後述する集計データ処理部のネットワーク上の位置情報を記憶する記憶部２２５ａ，２２５ｂ，…，２２５ｍを備える。データ処理部のうちの一つは、後述する共通ＩＤ計数部２２２を備える。
【００２９】
データ格納部２０３ａ，２０３ｂ，…，２０３ｍには、識別子Ｘ１，Ｘ２，…のレコードが格納されている。各データ格納部にはそれぞれ異なる項目に関するデータが格納されている。ただし、一部の項目は、複数のデータ格納部に格納されたレコードに共通であっても構わない。
【００３０】
図３は、データ解析の手順を説明するフローチャートである。はじめにユーザは入力部２０５から、抽出する頻出パターンの支持回数の最小値をパターン抽出部２０１に入力する。パターン抽出部は、入力された支持回数の最小値を獲得し（Ｓ１１）、それを記憶部２１５に記憶した後、各データ処理部２０２ａ，２０２ｂ，…，２０２ｍに支持回数の最小値を送信する。支持回数の最小値を最小支持回数と呼ぶ。各データ処理部２０２ａ，２０２ｂ，…，２０２ｍは、パターン抽出部から送信された最小支持回数を受信し、それぞれの記憶部２２５ａ，２２５ｂ，…，２２５ｍに記憶する。その後、各データ処理部２０２ａ，２０２ｂ，…，２０２ｍは、頻出パターン抽出部２２１ａ，２２１ｂ，…，２２１ｍにより、自分に接続されたデータ格納部２０３ａ，２０３ｂ，…，２０３ｍに格納されたデータに関して、最小支持回数を満たす項目のパターン（局所頻出パターンと呼ぶ）を抽出する（Ｓ１２）。
【００３１】
図４は、図３のステップ１２の局所頻出パターン抽出処理におけるパターン抽出部とデータ処理部の処理の関係を示す図である。パターン抽出部２０１は各データ処理部２０２ａ，２０２ｂ，…，２０２ｍへ最小支持回数を送信する（Ｓ３１）。各データ処理部２０２ａ，２０２ｂ，…，２０２ｍでは、パターン抽出部２０１から送信された最小支持回数を受信し（Ｓ３２）、それぞれの記憶部２２５ａ，２２５ｂ，…，２２５ｍに記憶する。その後、各データ処理部は、頻出パターン抽出部２２１ａ，２２１ｂ，…，２２１ｍによって、自分に接続されたデータ格納部２０３ａ，２０３ｂ，…，２０３ｍに格納されたデータのみに関して、最小支持回数を満たす項目パターンである局所頻出パターンを抽出し、各局所頻出パターンについて、その支持回数とその項目パターンを含むレコードの識別子のリスト（ＩＤリストと呼ぶ）を生成し、記憶部に記憶する（Ｓ３３）。１つのデータベース内での局所頻出パターン抽出は文献１などの従来の方法により行うことが出来る。
【００３２】
各データ処理部２０２ａ，２０２ｂ，…，２０２ｍは、全ての局所頻出パターンと該局所頻出パターンの支持回数をパターン抽出部２０１に送信する（Ｓ３４）。パターン抽出部では、全てのデータ処理部から送信される局所頻出パターンと該パターンの支持回数を受信し（Ｓ３５）、局所頻出パターン情報として記憶部２１５に記憶する。以上の手順によって、パターン抽出部２０１は、全てのデータ格納部２０３ａ，２０３ｂ，…，２０３ｍの局所頻出パターンを獲得する（Ｓ３５）。
【００３３】
図３に戻って、パターン抽出部２０１では、記憶部２１５に、頻出パターンを保持する頻出パターンリストと最小支持回数を満たさないことが既知の項目パターンである稀少パターンを保持する稀少パターンリストを保持する領域を用意し、空にする。全てのデータ処理部２０２ａ，２０２ｂ，…，２０２ｍから局所頻出パターンと支持回数を受信後、パターン抽出部２０１は、候補パターン生成部２１１において異なるデータ処理部において抽出された任意の２以上の局所頻出パターンを結合することによって支持回数が未知の項目パターンである候補パターンを生成し（Ｓ１３）、支持回数計数部において候補パターンの支持回数の数え上げを行う（Ｓ１４）。例えば、データ処理部２０２ａから局所頻出パターンとしてＰＡ１，ＰＡ２，…，ＰＡｍ、データ処理部２０２ｂから局所頻出パターンとしてＰＢ１，ＰＢ２，…，ＰＢｎ、データ処理部２０２ｍから局所頻出パターンとしてＰＭ１，ＰＭ２，…，ＰＭｓが送信されてきた場合、候補パターン生成部では、それらを網羅的に組み合わせて｛ＰＡ１，ＰＢ１｝，｛ＰＡ１，ＰＢ２｝，…，｛ＰＡ１，ＰＢ１，ＰＭ１｝，…，｛ＰＡｍ，ＰＢｎ，…，ＰＭｓ｝といった候補パターンを生成する。
【００３４】
候補パターンの支持回数数え上げの手順を図５に示す。パターン抽出部２０１は、処理部位置情報を参照して任意の１つのデータ処理部（本例の場合、データ処理部２０２ｂ）を、全てのＩＤリストの比較を行う集計データ処理部に指定する（Ｓ４１）。次に、図３のステップ１３において作成された候補パターンを構成する局所頻出パターンを抽出したデータ処理部に、その局所頻出パターンと集計データ処理部の位置を送信する（Ｓ４２）。
【００３５】
例えば、候補パターンとして｛ＰＡｍ，ＰＢｎ，ＰＭｓ｝を選定し、データ処理部２０２ｂを集計データ処理部に指定した場合、データ処理部２０２ａには局所パターンＰＡｍとデータ処理部２０２ｂのアドレスを送信する。同様に、データ処理部２０２ｍには局所パターンＰＭｓとデータ処理部２０２ｂのアドレスを送信する。また、データ処理部２０２ｂには局所頻出パターンＰＢｎと集計データ処理部のアドレスとしてデータ処理部２０２ｂのアドレスを送信する。集計データ処理部のアドレスとして自分のアドレスを受け取ったデータ処理部２０２ｂは、自分が集計データ処理部に指定されたことを知る。
【００３６】
集計データ処理部に指定されていないデータ処理部２０２ａ，２０２ｍでは、パターン抽出部２０１から送信された局所頻出パターンと集計データ処理部の位置を受信すると（Ｓ４３）、集計データ処理部の位置を記憶部に記憶し、受信した局所頻出パターンに対応するＩＤリストを取り出す（Ｓ４４）。そして、ステップ４５からステップ４６に進んで、取り出したＩＤリストを集計データ処理部に送信する（Ｓ４６）。本例の場合、データ処理部２０２ａは項目パターンＰＡｍのＩＤリストを集計データ処理部２０２ｂに送信し、データ処理部２０２ｍは項目パターンＰＭｓのＩＤリストを集計データ処理部２０２ｂに送信する。
【００３７】
集計データ処理部に指定されたデータ処理部２０２ｂでは、ステップ４５からステップ４７に進み、他のデータ処理部から送信されてくるＩＤリストを受信する。さらに、集計データ処理部では、共通ＩＤ計数部２２２において、自らに指定された項目パターンＰＢｎのＩＤリストと他のデータ処理部から送信された全てのＩＤリストとに共通するＩＤの数を数え上げ（Ｓ４８）、その共通ＩＤの数をパターン抽出部２０１に送信する（Ｓ４９）。パターン抽出部２０１では、集計データ処理部に指定したデータ処理部２０２ｂから送信されたＩＤの数を受信し（Ｓ５０）、候補パターンの支持回数を得る（Ｓ５１）。以上の手順により、選定した候補パターン｛ＰＡｍ，ＰＢｎ，ＰＭｓ｝の支持回数の数え上げを行う。
【００３８】
再び図３に戻り、パターン抽出部２０１では、数え上げた支持回数が最小支持回数以上であるか否かを判定し（Ｓ１５）、支持回数が最小支持回数以上の場合、その候補パターンを頻出パターンとし、該項目パターンと支持回数とを頻出パターンリストに追加し（Ｓ１６）、ステップ２０に移って次の候補パターンの作成を行う。ステップ１５の判定において支持回数が最小支持回数未満の場合、その候補パターンを稀少パターンリストに追加し（Ｓ１７）、該パターンから作成可能な部分パターンについて、支持回数上限値計算部２１３において式（１）により支持回数の上限値を計算し（Ｓ１８）、計算値が最小支持回数未満の場合には、その部分パターンとその部分パターンの部分パターンすべてが最小支持回数を満たさないことが分かるため、その部分パターンおよびその部分パターンのすべての部分パターンを稀少パターンリストに追加する（Ｓ１９）。部分パターンの支持回数の上限値が最小支持回数以上の場合には、ステップ１９では何もしない。
【００３９】
次に、支持回数が未知であり、稀少パターンリストに含まれる項目パターンの上位パターンでない候補パターンが作成可能な場合、候補パターンを作成し（Ｓ２０）、ステップ２１からステップ１４に戻って、数え上げ処理を行う。新たな候補パターンが作成出来ない場合、処理を終了する。
【００４０】
頻出パターンリストに含まれる頻出パターンと支持回数により、全体の解析結果を得る。頻出パターンと該頻出パターンの支持回数から相関ルールを作成することは、文献１などの従来の手法により行うことが出来る。相関ルールを作成する処理を図６に示す。
【００４１】
相関ルールを作成する場合、頻出パターンリストに含まれる各々の頻出パターンについて、該頻出パターンから部分パターンを作成し、該部分パターンを前提部、該頻出パターンに含まれるが該部分パターンに含まれない項目のパターンを結論部とすることにより、相関ルールを作成する。該頻出パターンの支持回数が該相関ルールの支持回数となる。支持度は該支持回数のデータベースの全レコード数との商をとることにより、計算することが出来る。該相関ルールの確信度は該頻出パターンの支持回数の前提部の項目パターンの支持回数との商をとることにより計算することが出来る。結果はディスプレイ等の出力部２０６に表示される。
【００４２】
以上が、解析方法の概要である。このようにパターン抽出部２０１と各々のデータ処理部２０２ａ，２０２ｂ，…，２０２ｍ間で局所頻出パターン、ＩＤリスト、共通するＩＤの数を交換することにより、異なるデータベースにまたがる頻出パターンを抽出することができる。その際、支持回数の上限値を計算することにより、頻出パターンとなり得ない候補パターンの生成を回避して、データ解析処理を行う項目パターンの数を低減することができる。パターン抽出部２０１は、頻出パターンとその支持回数についての情報を得るが、解析処理の途中経過及び結果から、各々の頻出パターンを含むレコードの識別子を得ることはない。各データ処理部２０２ａ，２０２ｂ，…，２０２ｍにおいては、頻出パターンの各々のデータ格納部２０３ａ，２０３ｂ，…，２０３ｍに含まれる項目を得るが、全ての項目を得ることはなく、解析処理の途中経過においては、ＩＤリスト、つまり、レコードの識別子のリストを処理するが、どの頻出パターンに対するＩＤリストであるかを知ることはない。集計データ処理部においても、他のデータ処理部から送信されたＩＤリストを処理するが、該ＩＤリストに対応する項目のパターンを知ることはなく、頻出パターンの支持回数を得るが、頻出パターンそのものを知ることはない。
【００４３】
以上のように、本実施形態によると、異なるデータベースにまたがる頻出パターンについて、頻出パターンと頻出パターンを含むレコードの識別子を同時に得ることなく、頻出パターンと頻出パターンの支持回数を得ることが出来る。また、解析処理の途中経過において、支持回数の上限値を計算することにより、頻出パターンとなり得ない候補パターンを支持回数の数え上げの前に検出し、その候補パターンに対する支持回数の数え上げ処理を回避することにより、候補パターンを限定し、解析処理負荷を低減することが出来る。
【００４４】
なお、以上で説明した実施形態では支持回数を利用したが、支持回数の全レコード数との商である支持度を利用することでも同様に解析処理を実施することが可能である。各々のデータベースに含まれるレコードの数が異なる場合は、事前に全てのデータベースに共通するレコードの数を得ることにより、その数を母数として支持度を算出することが可能である。また、相関ルールが不要である場合は、相関ルール作成のステップを省略することも可能である。
以下に、遺伝子データと症例データの２つのデータベースを例にとり、各処理部において行われる処理を説明する。
【００４５】
解析対象となるデータベースは複数の属性からなるレコードの集合であり、各々のデータベースに含まれるレコードの属性が異なる。医療における症例データと遺伝子データを例に取ると、１つのレコードは１人の患者に対応し、症例データにおいては各属性は性別、年齢、診断疾患名、処方薬剤など患者の疾病に関連する情報であり、遺伝子データにおいては各属性は遺伝子配列など患者の遺伝子に関連する情報である。
【００４６】
症例データと遺伝子データの例を図７に示す。図７の例は、患者ＩＤを識別子とするレコードからなる症例データベース（７０１）と遺伝子データベース（７０２）であり、全レコード数を１０とする。パターン抽出部２０１での前処理において、ユーザから支持回数の最小値が４と入力され、データ処理部２０２ａに接続されたデータ格納部２０３ａに症例データが格納され、データ処理部２０２ｂに接続されたデータ格納部２０３ｂに遺伝子データが格納され、各々のデータ処理部において図８に示す局所頻出パターンが抽出された場合を考える。
【００４７】
データ処理部２０２ａにおいて症例データベースに含まれる項目からなる局所頻出パターンとその支持回数と識別子のリスト８０１、データ処理部２０２ｂにおいて遺伝子データベースに含まれる項目からなる局所頻出パターンとその支持回数と識別子のリスト８０２が抽出され、パターン抽出部２０１は、データ処理部２０２ａから送信された局所頻出パターンとその支持回数の情報８０３及びデータ処理部２０２ｂから送信された局所頻出パターンとその支持回数の情報８０４を保持している。
【００４８】
パターン抽出部２０１における候補パターン抽出処理の手順を図９のフローチャートに示す。本実施例の場合、例えば、症例データベースから抽出された局所頻出パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分)｝、遺伝子データベースから抽出された局所頻出パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝を結合した場合、｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝の候補パターンが作成される。次に、候補パターンの支持回数の数え上げが行われる。集計データ処理部を遺伝子データベースを保持するデータ処理部２０２ｂとした場合、パターン抽出部２０１はデータ処理部２０１ａに項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分)｝と集計データ処理部をデータ処理部２０２ｂとすることを送信し、データ処理部２０２ｂに項目パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝と集計データ処理部をデータ処理部２０２ｂとすることを送信する。
【００４９】
データ処理部２０２ａでは、パターン抽出部２０１から送信された項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ)｝に対応するＩＤリスト１，２，３，５を取り出し、集計データ処理部であるデータ処理部２０２ｂに送信する。データ処理部２０２ｂでは、パターン抽出部２０１から送信された項目パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝に対応するＩＤリスト１，３，４，６，７を取り出し、データ処理部２０２ａから送信されたＩＤリスト１，２，３，５と比較し、共通するＩＤの数を求める。本実施例の場合、ＩＤ１，３が共通するため共通するＩＤの数は２となる。データ処理部２０２ｂは共通するＩＤの数である「２」をパターン抽出部２０１に送信する。
【００５０】
パターン抽出部２０１では、集計データ処理部に指定したデータ処理部２０２ｂから送信された数から、候補パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝の支持回数が２であることを得る。本実施例では最小支持回数は４と設定されたため、この候補パターンは稀少パターンリストに追加される。
【００５１】
支持回数を数え上げた項目パターンの支持回数が最小支持回数を満たさなかったため、この項目パターンの部分パターンの支持回数の上限値を計算する。例えば、部分パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝の支持回数の上限値は式（１）から2+min[(5-2),(5-4)]=3と計算され、計算値が最小支持回数未満であることから、この部分パターンは稀少パターンに追加され、該部分パターンの部分パターンについて、再び支持回数の上限値の計算を行う。また、部分パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ)｝の支持回数の上限値は式（１）から2+min[(5-4),(7-5)]+min[(4-2),(7-5)]+min[(5-2),(5-4)]=6と計算され、最小支持回数未満でないことから、稀少パターンリストには追加せず、該部分パターンの部分パターンについては支持回数の上限値の計算は行わず、支持回数の数え上げを行う候補とする。
【００５２】
次に、局所頻出パターンを結合することによって項目パターンを作成し、その項目パターンが稀少パターンリストに含まれる項目パターンの上位パターンでなく、支持回数が未知である場合、作成した項目パターンを候補パターンとして支持回数の数え上げ処理を再び行う。ここで、作成する項目パターンは、既に抽出されている頻出パターンの任意の上位パターン、又は稀少パターンリストに含まれる項目パターンの任意の部分パターン、又は頻出パターンである項目パターンの部分パターンであり、支持回数の数え上げが行なわれていない項目パターンである。例えば、項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ)｝は候補パターンとなる。該候補パターンについても同様に処理することにより、支持回数が５であることを得る。本実施例では最小支持回数は４と設定されたため、該項目パターンを頻出パターンとし、頻出パターンリストに追加する。以上の解析処理を繰り返すことによって、頻出パターンを得る。新たな候補パターンが作成されない場合に処理を終了する。
【００５３】
相関ルールを作成する場合、頻出パターンリストに含まれる各々の頻出パターンについて、該頻出パターンの部分パターンを前提部及び結論部とすることにより、相関ルールを作成する。例えば、頻出パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ)｝の場合、(遺伝子１＝ＡＡ)を前提部、｛(病名＝高血圧),(薬剤＝薬剤Ａ)｝を結論部とし、相関ルールif[(遺伝子１＝ＡＡ)]then[(病名＝高血圧),(薬剤＝薬剤Ａ)]が作成され、この相関ルールの支持度は５÷１０＝０．５、確信度は５÷７＝０．７１と計算される。その他に、該頻出パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ)｝から作成可能な全ての部分パターンについて、相関ルールの作成を行うことが可能である。
【００５４】
以上の解析処理によって、パターン抽出部２０１では、データ処理部２０２ａにおいて抽出された局所頻出パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分)｝と、データ処理部２０２ｂにおいて抽出された局所頻出パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝とを結合して作成された項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝について、この項目パターンを満たす患者ＩＤを特定することなく、支持回数が２であることを獲得し、この項目パターンの部分パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝の支持回数が最小支持回数である４以上になり得ないことを獲得する。さらに、集計データ処理部に指定されたデータ処理部２０２ｂでは、データ処理部２０２ａから送信されたＩＤリストに対応する局所頻出パターンは未知であり、数え上げ処理を行っている候補パターンは未知である。データ処理部２０２ａでは、数え上げ処理を行っている候補パターンは未知である。このように、パターン抽出部２０１、各データ処理部２０２ａ，２０２ｂの各々が頻出パターンと該頻出パターンに対応する患者ＩＤを特定出来ない状態が維持される。また、項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝について、数え上げ処理を行うことなく、支持回数が最小支持回数以上となり得ないことを獲得することによって、不要な項目パターンの数え上げ処理を回避し、数え上げ処理を行う項目パターンの数を低減し、解析処理の負荷を低減出来る。
【００５５】
図１０は、本発明の第２の実施形態のシステム構成例を示す図である。本実施形態では、１つのパターン抽出部２０１と１つの集計データ処理部１００１と２以上のデータ処理部２０２ａ，２０２ｂ，…，２０２ｍが通信路２０４によって結合され、各々のデータ処理部にデータ格納部２０３ａ，２０３ｂ，…，２０３ｍが結合されている。この実施形態の場合、全てのデータ処理部は、図２に示したデータ処理部２０２ａと同等の機能を有する。また、集計データ処理部１００１は、図２に示したデータ処理部２０２ｂが有していた共通ＩＤ計数部２２２の機能を有する。
【００５６】
次に、各部の処理を説明する。はじめに、パターン抽出部２０１は、ユーザ入力によって最小支持回数を獲得し、それを各データ処理部２０２ａ，２０２ｂ，…，２０２ｍに送信する。各データ処理部２０２ａ，２０２ｂ，…，２０２ｍは、パターン抽出部２０１から送信された最小支持回数を受信し、各自に接続されているデータ格納部２０３ａ，２０３ｂ，…，２０３ｍから最小支持回数以上の局所頻出パターンを抽出し、抽出した局所頻出パターンとその支持回数をパターン抽出部２０１に送信する。パターン抽出部２０１では、全てのデータ処理部から送信される局所頻出パターンと該パターンの支持回数を受信する。
【００５７】
次に、パターン抽出部２０１では、記憶部２１５に頻出パターンと稀少パターンを保持する領域を用意し、空にする。全てのデータ処理部から局所頻出パターンと支持回数を受信後、候補パターンを作成し、候補パターンを構成する局所頻出パターンを抽出したデータ処理部に対応する局所頻出パターンを送信する。各データ処理部では、パターン抽出部から送信された局所頻出パターンを受信し、該局所頻出パターンに対応するＩＤリストを取り出し、集計データ処理部１００１に送信する。集計データ処理部１００１では、各々のデータ処理部から送信されたＩＤリストを受信し、全てのＩＤリストに共通するＩＤの数を数え上げ、そのＩＤの数をパターン抽出部２０１に送信する。
【００５８】
パターン抽出部２０１では、集計データ処理部１００１から送信されたＩＤの数を受信することによって、候補パターンの支持回数を獲得する。支持回数が最小支持回数以上の場合、その候補パターンを頻出パターンリストに追加し、支持回数が最小支持回数未満の場合、稀少パターンリストに追加し、その候補パターンの部分パターンを作成し、支持回数の上限値を計算することと、最小支持回数以上となり得ない項目パターンを検出し、稀少パターンに追加することを行う。次に、パターン抽出部において、新たな候補パターンを作成し、支持回数の数え上げ処理を繰り返すことによって、頻出パターンと支持回数を抽出する。以上のように、第１の実施形態においてデータ処理部が重複して行っていた集計データ処理部を独立に配置することによって、データ解析を行うことも出来る。
【００５９】
図１１は、本発明の第３実施形態のシステム構成例を示す図である。本実施形態では、２以上のデータ処理部２０２ａ，２０２ｂ，…，２０２ｍが通信路２０４によって結合され、各々のデータ処理部にデータ格納部２０３ａ，２０３ｂ，…，２０３ｍが結合されている。第１の実施形態では、１つのパターン抽出部と２以上のデータ処理部が通信路により結合され、各々のデータ処理部にデータ格納部が結合されていた。第３の実施形態では、パターン抽出部は独立に配置せず、各データ処理部２０２ａ，２０２ｂ，…，２０２ｍがパターン抽出部の処理を重複して行う。
【００６０】
各部の処理を説明する。はじめに、任意のデータ処理部において、最小支持回数を獲得し、各々のデータ処理部に送信する。各データ処理部２０２ａ，２０２ｂ，…，２０２ｍは、最小支持回数を獲得したデータ処理部から送信された最小支持回数を受信し、局所頻出パターンを抽出し、局所頻出パターンとその支持回数を他のデータ処理部に送信する。次に、他のデータ処理部から送信された局所頻出パターンと支持回数を受信し、記憶部に頻出パターンと稀少パターンを保持する領域を用意し、空にした後、候補パターンを作成し、集計データ処理部を決定する。ここで、候補パターンを作成したデータ処理部と集計データ処理部とが異なるデータ処理部となるようにする。
【００６１】
次に、候補パターンを構成する局所頻出パターンを抽出したデータ処理部に各々対応する局所頻出パターンと集計データ処理部の位置を送信する。次に、候補パターンを作成したデータ処理部から送信された局所頻出パターンと集計データ処理部の位置を受信し、受信した局所頻出パターンに対応するＩＤリストを取り出し、そのＩＤリストを集計データ処理部に送信する。集計データ処理部では、各データ処理部から送信されたＩＤリストを受信し、全てのＩＤリストに共通するＩＤの数を数え上げ、そのＩＤの数を候補パターンを作成したデータ処理部に送信する。
【００６２】
候補パターンを作成したデータ処理部では、集計データ処理部から送信されたＩＤの数を受信し、候補パターンとその支持回数を得る。支持回数が最小支持回数以上の場合、その候補パターンを頻出パターンリストに追加し、支持回数が最小支持回数未満の場合、稀少パターンリストに追加し、その候補パターンの部分パターンを作成し、支持回数の上限値を計算することと、最小支持回数以上となり得ない項目パターンを検出し、稀少パターンに追加することを行なう。次に、任意のデータ処理部において、新たな候補パターンを作成し、支持回数の数え上げ処理を繰り返すことによって、頻出パターンと支持回数を抽出する。以上のように、パターン抽出部を独立に配置せず、各々のデータ処理部がパターン抽出部の処理を重複して行うことによって、データ解析を行うことも出来る。
【００６３】
なお、ここでは、全てのデータ処理部が全ての頻出パターンを抽出する場合について説明したが、各データ処理部において処理した項目パターンを他のデータ処理部に送信することによって、同一の項目パターンへの処理を回避することが可能である。また、各データ処理部が処理する項目パターンを特定することによって、同一の項目パターンの処理を回避することも可能である。また、全てのデータ処理部がパターン抽出部の処理を行わず、特定の一部のデータ処理部がパターン抽出部の処理を行うことによって、解析処理を実現することも可能である。
【００６４】
図１２は、本発明の第４実施形態のシステム構成例を示す図である。本実施形態では、１つのパターン抽出部２０１と１以上の識別子変換部１２０１ａ，…，１２０１ｎと２以上のデータ処理部２０２ａ，２０２ｂ，…，２０２ｍが通信路２０４によって結合され、各データ処理部にデータ格納部２０３ａ，２０３ｂ，…，２０３ｍが接続されている。各データ格納部２０３ａ，２０３ｂ，…，２０３ｍに保持されるデータベースに含まれるレコードがデータベース間で同一の識別子によって対応付けられておらず、各々のレコードは特定の変換方式により変換された識別子によって対応付けられる場合、データ処理部から集計データ処理部に識別子のリストの送信する処理において、識別子変換部を介する。
【００６５】
各部の処理においては、第１の実施形態の項目パターンの支持回数を数え上げる処理において、パターン抽出部から送信された項目パターンに対応する識別子のリストを識別子変換部に送信し、識別子変換部において特定の識別子の変換が行なわれ、変換された識別子のリストを集計データ処理部に送信する処理が第１の実施形態と異なる。以上のように識別子変換部がレコードの識別子を変換することによって、データベースに含まれるレコードの識別子が異なる構成においても、データ解析を行なうことが出来る。
以下に、遺伝子データと症例データの２つのデータベースを例にとり、各処理部において行われる処理を説明する。
【００６６】
症例データベースと遺伝子データの例を図１３に示す。図１３の例は、患者ＩＤを識別子とするレコードからなる症例データベース１３０１と検体ＩＤを識別子とするレコードからなる遺伝子データベース１３０２であり、全レコード数を１０とする。症例データベースのレコードは患者ＩＤで管理され、遺伝子データベースのレコードは検体ＩＤで管理されており、それぞれは異なる識別子で構成される。患者ＩＤと検体ＩＤは、識別子変換表により対応付けられている。
【００６７】
パターン抽出部２０１での前処理において、ユーザから支持回数の最小値の入力値が４と入力され、データ処理部２０２ａに接続されたデータ格納部２０３ａに症例データが格納され、データ処理部２０２ｂに接続されたデータ格納部２０３ｂに遺伝子データが格納され、各々のデータ処理部において図１４に示す局所頻出パターンが抽出され、識別子変換表１４０５が識別子変換部１２０１に格納された場合を考える。
【００６８】
図１４において、データ処理部２０２ａにおいて症例データベースに含まれる項目からなる局所頻出パターンとその支持回数と識別子のリスト１４０１、データ処理部２０２ｂにおいて遺伝子データベースに含まれる項目からなる局所頻出パターンとその支持回数と識別子のリスト１４０２が抽出され、パターン抽出部２０１においてデータ処理部２０２ａから送信された局所頻出パターンとその支持回数の情報１４０３及びデータ処理部２０２ｂから送信された局所頻出パターンとその支持回数の情報１４０４を保持している。
【００６９】
この例の場合、症例データベースから抽出された局所頻出パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分)｝、遺伝子データベースから抽出された局所頻出パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝を結合した場合、｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝の候補パターンが作成される。次に、候補パターンの支持回数の数え上げが行われる。集計データ処理部を遺伝子データベースを保持するデータ処理部２０２ｂとした場合、パターン抽出部２０１はデータ処理部２０２ａに項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分)｝と集計データ処理部をデータ処理部２０２ｂとすることを送信し、データ処理部２０２ｂに項目パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝と集計データ処理部をデータ処理部２０２ｂとすることを送信する。
【００７０】
データ処理部２０２ａでは、パターン抽出部２０１から送信された項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ)｝に対応するＩＤリスト１，２，３，５を取り出し、集計データ処理部の位置と共に識別子変換部１２０１に送信する。識別子変換部１２０１では、受信したＩＤリスト１，２，３，５に対応するＩＤのリストａ，ｂ，ｃ，ｅを受信した集計データ処理部の位置であるデータ処理部２０２ｂに送信する。データ処理部２０２ｂでは、パターン抽出部２０１から送信された項目パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝に対応するＩＤリストａ，ｃ，ｄ，ｆ，ｇを取り出し、識別子変換部１２０１から送信されたＩＤリストａ，ｂ，ｃ，ｅと比較し、共通するＩＤの数を求める。この例の場合、ＩＤａ，ｃが共通するため共通するＩＤの数は２となる。データ処理部２０２ｂは共通するＩＤの数である２をパターン抽出部２０１に送信する。
【００７１】
パターン抽出部２０１では、集計データ処理部に指定したデータ処理部２０２ｂから送信された数から、候補パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝の支持回数が２であることを得る。以上の処理により、候補パターンの支持回数を得る。頻出パターンか否かの判別、頻出パターンリスト又は稀少パターンリストへの追加、部分パターンの支持回数の上限値の計算、候補パターンの作成は実施例１と同様となる。
【００７２】
以上の解析処理によって、データベース毎にレコードの識別子が同一でない場合においても、パターン抽出部では、データ処理部２０２ａにおいて抽出された局所頻出パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分)｝と、データ処理部２０２ｂにおいて抽出された局所頻出パターン｛(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝とを結合して作成された項目パターン｛(病名＝高血圧),(薬剤＝薬剤Ａ),(薬剤効果＝降圧不十分),(遺伝子１＝ＡＡ),(遺伝子２＝ＡＴ)｝について、該項目パターンを満たす患者ＩＤ、検体ＩＤを特定することなく、支持回数が２であることを獲得する。
なお、本実施例においては識別子変換部１２０１を独立して配置したが、識別子変換部の処理をデータ処理部が重複して行うことも可能である。
【００７３】
また、以上に説明した実施形態においては、データ処理部は各々の局所頻出パターンを含むレコードの識別子のリストであるＩＤリストを保持する形態であったが、データ処理部はＩＤリストを保持せず、支持回数の数え上げ処理において、各々のデータ処理部がパターン抽出部から送信された項目パターンを含むレコードを自データ格納部を検索し、ＩＤリストを作成することによって、頻出パターンと支持回数を抽出することも出来る。
【００７４】
【発明の効果】
本発明によると、複数の異なるデータベースから、データベース間にまたがる項目パターンとその項目パターンを含むレコード数を分散処理によって抽出することが出来る。また、データベースを統合することを回避し、解析処理の途中過程においてもデータベースを統合するための情報の漏洩を防ぐため、データベースを統合することが許されない場合にもデータベース間にまたがる項目パターンを抽出することが出来る。また、含まれるレコード数が既知の項目パターンから、該項目パターンの部分集合である項目パターンを含むレコード数の上限値を推定して、探索する候補数を限定することにより、解析処理量を低減することが出来る。
【図面の簡単な説明】
【図１】  Apriori法の概要を示すフローチャート。
【図２】本発明の第１実施形態のシステム構成例を示す図。
【図３】本発明における、頻出パターン抽出の概要を示すフローチャート。
【図４】局所頻出パターン抽出処理を示すフローチャート。
【図５】候補パターンの支持回数を数え上げる処理を示すフローチャート。
【図６】相関ルールを作成する処理を示すフローチャート。
【図７】本発明の実施例における、解析対象データベースの例を示す図。
【図８】本発明の実施例における、局所頻出パターン抽出結果の例を示す図。
【図９】本発明における、候補パターン生成の処理を示すフローチャート。
【図１０】本発明の第２の実施形態のシステム構成例を示す図。
【図１１】本発明の第３実施形態のシステム構成例を示す図。
【図１２】本発明の第４実施形態のシステム構成例を示す図。
【図１３】本発明の実施例における、解析対象データベースの例を示す図。
【図１４】本発明の実施例における、局所頻出パターン抽出結果の例を示す図。
【符号の説明】
２０１…パターン抽出装置、２０２…データ処理装置、２０３…データ格納装置、２０４…通信路、７０１…症例データベース、７０２…遺伝子データベース、８０１…症例データベースによる局所頻出パターンリスト、８０２…遺伝子データベースによる局所頻出パターンリスト、８０３…症例データベースによる局所頻出パターン表、８０４…遺伝子データベースによる局所頻出パターン表、１００１…集計データ処理装置、１２０１…識別子変換装置、１３０１…症例データベース、１３０２…遺伝子データベース、１４０１…症例データベースによる局所頻出パターンリスト、１４０２…遺伝子データベースによる局所頻出パターンリスト、１４０３…症例データベースによる局所頻出パターン表、１４０４…遺伝子データベースによる局所頻出パターン表、１４０５…識別子変換表
【図１】
0003701633.tif 000005
【図２】
0003701633.tif 000006
【図３】
0003701633.tif 000007
【図４】
0003701633.tif 000008
【図５】
0003701633.tif 000009
【図６】
0003701633.tif 000010
【図７】
0003701633.tif 000011
【図８】
0003701633.tif 000012
【図９】
0003701633.tif 000013
【図１０】
0003701633.tif 000014
【図１１】
0003701633.tif 000015
【図１２】
0003701633.tif 000016
【図１３】
0003701633.tif 000017
【図１４】
0003701633.tif 000018