(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022188894
(43)【公開日】2022-12-22
(54)【発明の名称】相関ルール生成プログラム、装置、及び方法
(51)【国際特許分類】
G06F 16/36 20190101AFI20221215BHJP
【FI】
G06F16/36
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021097159
(22)【出願日】2021-06-10
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】村上 勝彦
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
(57)【要約】
【課題】上位概念も適切に取り込んだ相関ルールを生成する。
【解決手段】相関ルール生成装置は、1以上のアイテムを含むトランザクションデータを複数含むトランザクションデータ集合を取得し、トランザクションデータの各々について、オントロジーを参照して、トランザクションデータに含まれるアイテムの各々の上位概念となるアイテムをトランザクションデータに追加し、上位概念となるアイテムが追加されたトランザクションデータ集合に含まれるアイテムを2以上含むアイテム集合のうち、上位下位の関係にあるアイテムの組み合わせを含まず、支持数が閾値以上のアイテム集合を抽出し、抽出したアイテム集合から相関ルールを生成する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
1以上のデータ値を含む複数の組み合わせデータを取得し、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加し、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する
ことを含む処理をコンピュータに実行させるための相関ルール生成プログラム。
【請求項2】
前記上位概念となるデータ値が追加された前記複数の組み合わせデータに含まれるデータ値を2以上含むデータ値集合のうち、所定の条件を満たすデータ値集合から、前記相関ルールを生成する請求項1に記載の相関ルール生成プログラム。
【請求項3】
前記所定の条件は、前記データ値集合に、上位概念と下位概念との関係にあるデータ値の組み合わせを含まないことである請求項2に記載の相関ルール生成プログラム。
【請求項4】
前記所定の条件を満たすデータ値集合をアプリオリアルゴリズムにより抽出し、抽出したデータ値集合に含まれる一部のデータ値の組み合わせで表現される条件部と、残りのデータ値の組み合わせで表現される帰結部とで表現される相関ルールを生成する請求項2又は請求項3に記載の相関ルール生成プログラム。
【請求項5】
前記所定の条件は、前記複数の組み合わせデータにおける前記データ値集合の出現頻度に関する指標が閾値を超えることである請求項2~請求項4のいずれか1項に記載の相関ルール生成プログラム。
【請求項6】
前記複数の組み合わせデータとして、組み合わせデータの各々に含まれるデータ値を表形式で表現したデータを取得し、
予め用意された、前記データ値に関する上位概念と下位概念との関係を参照して、前記データ値の上位概念となるデータ値を前記組み合わせデータに追加する
請求項1~請求項5のいずれか1項に記載の相関ルール生成プログラム。
【請求項7】
前記複数の組み合わせデータとして、組み合わせデータの各々に含まれるデータ値、及び前記データ値と上位概念と下位概念との関係を示すデータ値の各々をノードで表現し、前記データ値間の関係を前記ノード間を接続するエッジで表現したナレッジグラフを取得し、
前記ナレッジグラフを、組み合わせデータの各々に含まれるデータ値及び前記データ値の上位概念となるデータ値を表形式で表現したデータに変換することにより、前記データ値の上位概念となるデータ値を追加した前記複数の組み合わせデータを取得する
請求項1~請求項5のいずれか1項に記載の相関ルール生成プログラム。
【請求項8】
1以上のデータ値を含む複数の組み合わせデータを取得する取得部と、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加する追加部と、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する生成部と、
を含む相関ルール生成装置。
【請求項9】
1以上のデータ値を含む複数の組み合わせデータを取得し、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加し、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する
ことを含む処理をコンピュータが実行する相関ルール生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、相関ルール生成プログラム、相関ルール生成装置、及び相関ルール生成方法に関する。
【背景技術】
【0002】
従来、取得されたデータから相関ルールを生成することが行われている。相関ルールとは、ある事象Xの下で、ある事象Yが発生する関係を表し、矢印を用いて[X→Y]と記述される場合が多い。矢印の左側のXの部分を条件部(前提部ともいう)、Yの部分を帰結部(結論部ともいう)と呼ぶ。例えば、コンビニエンスストアでAさんが(パン、牛乳、ジャム)を買い、Bさんが(お握り、お茶、漬物)を買ったとする。両者と同じ組み合わせで商品を購入する人が多く存在する場合、「パンを買う人は牛乳とジャムを買う」、「パンと牛乳を買う人はジャムも買う」、「お握りとお茶を買う人は漬物も買う」といった相関ルールが読み取れる。
【0003】
また、生成される相関ルールの解釈性を高めること等を目的として、取得されたデータに含まれるインスタンスを上位概念化したアイテムを用いて相関ルールを生成する技術が存在する。ここでのインスタンスとは、上記のコンビニエンスストアの例における商品のように、取得されるデータに元から含まれているデータ値である。例えば、相関ルールに使用するインスタンスをフィルタリングするために、インスタンスと、そのインスタンスの上位概念であるアイテムとの関係を示すオントロジーを参照するシステムが提案されている。このシステムは、取得されたデータに含まれインスタンスを上位概念のアイテムに変換し、指定されたオントロジーの階層に属するアイテムの全てを用いて、アプリオリアルゴリズムにより、相関ルールの生成に使用するアイテム集合を抽出する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Andrea Bellandi, Barbara Furletti, Valerio Grossi, and Andrea Romei, "Ontology-Driven Association Rule Extraction: A Case Study", Conference: Proceedings of the International Workshop on Contexts and Ontologies: Representation and Reasoning (C&O:RR) Collocated with the 6th International and Interdisciplinary Conference on Modelling and Using Context (CONTEXT-2007), Roskilde, Denmark, August 21st, 2007.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、オントロジーにおいて異なる階層間のアイテム集合を使用した相関ルールを生成することができないという問題がある。また、取得されたデータに含まれるアイテムを使用した相関ルールを生成し、生成した相関ルールを従来技術のようなオントロジーを用いて上位概念化することも考えられる。しかしながら、この場合、下位概念から相関ルールを生成するアイテム集合として抽出されないアイテム集合については、上位概念化した相関ルールも生成されないという問題がある。
【0006】
一つの側面として、開示の技術は、上位概念も適切に取り込んだ相関ルールを生成することを目的とする。
【課題を解決するための手段】
【0007】
一つの態様として、開示の技術は、1以上のデータ値を含む複数の組み合わせデータを取得し、前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加する。そして、開示の技術は、前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する。
【発明の効果】
【0008】
一つの側面として、上位概念も適切に取り込んだ相関ルールを生成することができる、という効果を有する。
【図面の簡単な説明】
【0009】
【
図1】相関ルール生成装置の機能ブロック図である。
【
図2】トランザクションデータ集合の一例を示す図である。
【
図4】追加済みトランザクションデータ集合の一例を示す図である。
【
図6】相関ルール生成装置として機能するコンピュータの概略構成を示すブロック図である。
【
図7】相関ルール生成処理の一例を示すフローチャートである。
【
図8】k-アイテム抽出処理の一例を示すフローチャートである。
【
図9】本実施形態に係る相関ルール生成装置の効果を説明するための図である。
【
図10】医療データに関するオントロジーの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0011】
図1に示すように、相関ルール生成装置10には、トランザクションデータ集合及びオントロジーが入力される。相関ルール生成装置10は、入力されたトランザクションデータ集合及びオントロジーを用いて相関ルールを生成し、出力する。
【0012】
トランザクションデータ集合は、1以上のアイテムを含むトランザクションデータの集合である。
図2に、トランザクションデータ集合の一例を示す。
図2の例では、トランザクションデータ集合に含まれる複数のトランザクションデータを表形式で表しており、各行(各レコード)が1つのトランザクションデータに相当する。各トランザクションデータは、トランザクションデータの識別番号である「TID」と、トランザクションデータに含まれる「アイテム」とが対応付けられたデータである。
【0013】
アイテムとは、トランザクションデータに含まれるエンティティである。例えば、コンビニエンスストア等での1回の会計に関するレシートをトランザクションデータとする場合、レシートに記載された購入商品がそれぞれアイテムとなる。また、例えば、1人の患者の遺伝子検査の結果をトランザクションデータとする場合、検査結果に含まれる変異の種類がそれぞれアイテムとなる。なお、トランザクションデータは、開示の技術の組み合わせデータの一例であり、アイテムは、開示の技術のデータ値の一例である。
【0014】
オントロジーは、アイテムに関する上位概念と下位概念との関係を表すデータである。例えば、オントロジーは、アイテムをノードで表現し、IS-A関係、part-of関係等の上下関係となるアイテム間に対応するノード間をエッジで接続したナレッジグラフとしてよい。
図3に、オントロジーの一例を示す。
図3の例では、丸印で各ノードを表しており、丸印内の記号が、そのノードに対応するアイテムを表している。以下では、アイテム「X」に対応するノードを「ノードX」と表記する。また、最下層のノード、すなわち葉となるノードのそれぞれが、トランザクションデータに含まれ得る各アイテムに対応する。上位の階層の各ノードには、下位に接続されたノードに対応するアイテムを上位概念化したアイテムが対応付けられる。
【0015】
例えば、上記の購入商品についてのトランザクションデータを対象とする場合、一例として、ノードaはアイテム「リンゴ」、ノードbはアイテム「バナナ」、ノードGはアイテム「果物」、ノードJはアイテム「食品」等となる。また、例えば、ゲノムデータ(医療データ)を対象とする場合、一例として、ノードa~fは遺伝子内変異、ノードG、H、及びIは遺伝子名、ノードJ及びKは遺伝子ファミリー等となる。なお、
図3の例では、3階層のオントロジーの例を示しているが、オントロジーの階層数は2階層でもよいし、4階層以上でもよい。
【0016】
相関ルール生成装置10は、機能的には、
図1に示すように、取得部12と、追加部14と、生成部16とを含む。
【0017】
取得部12は、相関ルール生成装置10に入力されたトランザクションデータ集合及びオントロジーを取得し、追加部14へ受け渡す。
【0018】
追加部14は、取得部12から受け渡されたトランザクションデータ集合に含まれるトランザクションデータの各々について、トランザクションデータに含まれるアイテムの各々の上位概念となるアイテムを、トランザクションデータに追加する。具体的には、追加部14は、取得部12から受け渡されたオントロジーを参照して、各アイテムの上位概念となるアイテムを特定し、特定したアイテムを対応するトランザクションデータに追加する。オントロジーが3階層以上で構成される場合、追加部14は、トランザクションデータに元々含まれるアイテムに対応する最下層のノードからエッジで接続された上位層のノードを順次辿り、最上層までの各層のノードから上位概念のアイテムを特定する。
【0019】
例えば、
図2に示すTID=2の場合、トランザクションデータには、アイテムとして、b及びcが含まれる。
図3に示すオントロジーを参照すると、ノードbの上位層のノードとして、ノードG及びノードJが接続されているため、アイテムbの上位概念となるアイテムはG及びJとなる。同様に、アイテムcの上位概念となるアイテムはH及びJとなる。したがって、追加部14は、TID=2のトランザクションデータに、アイテムG、H、及びJを追加する。
図2に示すトランザクションデータ集合に、
図3に示すオントロジーを参照して、上位概念となるアイテムが追加された例を
図4上図に示す。
図4において、太線枠で示す部分が、追加された上位概念となるアイテムである。
【0020】
また、追加部14は、後段の処理のために、
図4下図に示すように、上位概念となるアイテムが追加されたトランザクションデータ集合を、各アイテムについてのワンホット表現の表に変換してもよい。追加部14は、上位概念となるアイテムが追加されたトランザクションデータ集合(以下、「追加済みトランザクションデータ集合」という)、及びオントロジーを生成部16へ受け渡す。
【0021】
生成部16は、追加部14から受け渡された追加済みトランザクションデータ集合を用いて、アイテム間の相関を示す相関ルールを生成する。
【0022】
具体的には、生成部16は、追加済みトランザクションデータ集合に含まれるアイテムのうち、2以上のアイテムを組み合わせたアイテム集合のうち、所定の条件を満たすアイテム集合を抽出する。生成部16は、所定の条件を満たすアイテム集合をアプリオリアルゴリズムにより抽出してよい。アプリオリアルゴリズムによるアイテム集合の抽出の詳細については後述する。所定の条件は、追加済みトランザクションデータ集合におけるアイテム集合の出現頻度に関する指標が閾値以上であることとしてよい。例えば、生成部16は、指標として、追加済みトランザクションデータ集合において、アイテム集合が出現するトランザクションデータの数を示す支持数を適用し、支持数が所定の閾値以上となるアイテム集合を抽出してよい。
【0023】
生成部16は、抽出したアイテム集合に含まれる一部のアイテムの組み合わせで表現される条件部と、残りのアイテムの組み合わせで表現される帰結部とで表現される相関ルールを生成する。例えば、生成部16は、アイテム集合として{b,H}を抽出した場合、このアイテム集合から、[b→H]及び[H→b]という相関ルールを生成する。また、例えば、生成部16は、アイテム集合として{b,G,H}を抽出した場合、このアイテム集合から、[b→(G,H)]、[G→(b,H)]、[H→(b,G)]、[(G,H)→b]、[(b,H)→G]、及び[(b,G)→H]という相関ルールを生成する。
【0024】
ここで、追加済みトランザクションデータ集合には、元のアイテムの上位概念となるアイテムが追加されている。そのため、追加済みトランザクションデータ集合に含まれるアイテムの組み合わせであるアイテム集合から相関ルールを生成することにより、上位概念で表現されたアイテムを使用した相関ルールを生成することが可能になる。これにより、生成される相関ルールの解釈性及び一般性が向上する。すなわち、見通しが良く、より一般に成り立つ確率が高い相関ルールが生成される。
【0025】
ただし、追加済みトランザクションデータ集合に含まれるアイテムを組み合わせたアイテム集合から単純に相関ルールを生成した場合、[b→G]や[b→J]のような、アイテム間の既知の上下関係を表すような相関ルールも生成されてしまう。また、[(J,H)→f]と[H→f]とのような包含関係にある相関ルールは、いずれか一方のみ生成されれば十分であるが、両方とも生成されてしまう。相関ルールに基づいて、今までに気付いていなかったようなアイテム間の関係を発見し、今後の検討に生かしたい場合などには、上記のような相関ルールは冗長な相関ルールであり、相関ルールとして生成されないことが望ましい。
【0026】
そこで、生成部16は、抽出するアイテム集合が、上位概念と下位概念との関係にあるアイテムの組み合わせを含まないことを、上記の所定の条件に加える。具体的には、生成部16は、オントロジーに基づいて、上位概念と下位概念との関係にあるアイテムの組み合わせを排除リストとして作成する。そして、生成部16は、追加済みトランザクションデータ集合に含まれるアイテムを組み合わせたアイテム集合のうち、排除リストの組み合わせを含むアイテム集合を、抽出するアイテム集合から排除する。
【0027】
例えば、生成部16は、各アイテムと、オントロジーにおいて、そのアイテムに対応するノードからエッジで接続された上位層のノードを順次辿り、最上層までの各層のノードから特定される上位概念のアイテムの各々とのペアを記述した排除リストを作成する。
図5に、排除リストの一例を示す。
図5の例では、例えば「list(a)=(G,J)」は、アイテムaとGとの組み合わせを含むアイテム集合、及びアイテムaとJとの組み合わせを含むアイテム集合を排除することを表す。
【0028】
これにより、アイテム集合{b,G}や{b,J}は、排除リストの「list(b)=(G,J)」に基づいて排除されるため、上記の[b→G]や[b→J]のような、アイテム間の既知の上下関係を表すような相関ルールは生成されない。また、アイテム集合{f,J,H}は、排除リストの「list(H)=(J)」に基づいて排除されるため、[(J,H)→f]のような相関ルールは生成されない。一方、アイテム集合{f,H}は、排除リストに基づく排除は行われないため、[H→f]のような相関ルールが生成される。したがって、包含関係にある[(J,H)→f]と[H→f]とのうち、[H→f]の相関ルールのみが生成されることになる。
【0029】
さらに、生成部16は、生成した相関ルールのうち、所定の指標が閾値以上となる相関ルールを最終的に生成した相関ルールとして出力してよい。指標は、例えば、下記に示す支持度supp(X→Y)、確信度conf(X→Y)、及びリフトlift(X→Y)の少なくとも1つとしてよい。なお、Xは相関ルールの条件部となるアイテム集合、Yは帰結部となるアイテム集合である。
【0030】
supp(X→Y)=σ(X∪Y)/M
conf(X→Y)=σ(X∪Y)/σ(X)
=supp(X→Y)/supp(X)
lift(X→Y)=conf(X→Y)/supp(Y)
【0031】
上記において、Mは、追加済みトランザクションデータ集合に含まれるトランザクションデータの数、σ(X∪Y)は、アイテム集合X及びYを含むトランザクションデータの数、σ(X)は、アイテム集合Xを含むトランザクションデータの数である。
【0032】
例えば、上記のアイテム集合の抽出の際の所定の条件として、支持数が閾値以上のアイテム集合を抽出し、抽出したアイテム集合から生成した相関ルールのうち、確信度が閾値以上の相関ルールを出力するとする。この場合、最低支持度(支持度の閾値)及び最低確信度(確信度の閾値)を満たす相関ルールが出力されることになる。
【0033】
相関ルール生成装置10は、例えば
図6に示すコンピュータ40で実現されてよい。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力部、表示部等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0034】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現されてよい。記憶媒体としての記憶部43には、コンピュータ40を、相関ルール生成装置10として機能させるための相関ルール生成プログラム50が記憶される。相関ルール生成プログラム50は、取得プロセス52と、追加プロセス54と、生成プロセス56とを有する。
【0035】
CPU41は、相関ルール生成プログラム50を記憶部43から読み出してメモリ42に展開し、相関ルール生成プログラム50が有するプロセスを順次実行する。CPU41は、取得プロセス52を実行することで、
図1に示す取得部12として動作する。また、CPU41は、追加プロセス54を実行することで、
図1に示す追加部14として動作する。また、CPU41は、生成プロセス56を実行することで、
図1に示す生成部16として動作する。これにより、相関ルール生成プログラム50を実行したコンピュータ40が、相関ルール生成装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0036】
なお、相関ルール生成プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0037】
次に、本実施形態に係る相関ルール生成装置10の作用について説明する。相関ルール生成装置10にトランザクションデータ集合及びオントロジーが入力され、相関ルールの生成が指示されると、相関ルール生成装置10において、
図7に示す相関ルール生成処理が実行される。なお、相関ルール生成処理は、開示の技術の相関ルール生成方法の一例である。
【0038】
ステップS10で、取得部12が、相関ルール生成装置10に入力されたトランザクションデータ集合及びオントロジーを取得し、追加部14へ受け渡す。ここでは、
図2に示すトランザクションデータ集合、及び
図3に示すオントロジーが取得されたものとする。
【0039】
次に、ステップS20で、追加部14が、取得部12から受け渡されたオントロジーを参照して、トランザクションデータに含まれる各アイテムの上位概念となるアイテムを特定し、特定したアイテムを対応するトランザクションデータに追加する。これにより、
図4に示すような追加済みトランザクションデータ集合が得られる。追加部14は、追加済みトランザクションデータ集合、及びオントロジーを生成部16へ受け渡す。
【0040】
次に、ステップS30で、k-アイテム抽出処理が実行される。k-アイテムとは、追加済みトランザクションデータ集合に含まれるアイテムのうち、k個のアイテムを組み合わせたアイテム集合である。ここで、
図8を参照して、k-アイテム抽出処理について詳述する。なお、k-アイテム抽出処理は、上述したアプリオリアルゴリズムを適用した処理である。
【0041】
ステップS32で、生成部16が、追加部14から受け渡された追加済みトランザクションデータ集合に含まれるアイテムから、支持数が閾値以上のアイテムを抽出し、集合L1に追加する。支持数の閾値を3とすると、L1={b,G,H,J}となる。
【0042】
次に、ステップS34で、生成部16が、追加部14から受け渡されたオントロジーに基づいて、
図5に示すような排除リストを作成する。次に、ステップS36で、生成部16が、kを2に設定する。
【0043】
次に、ステップS38で、生成部16が、集合Lk-1に含まれる(k-1)-アイテムから、k-アイテムの候補を抽出する。なお、Lk-1に含まれていない(k-1)-アイテムは、支持数が閾値未満であり、(k-1)-アイテムを含むk-アイテムの支持数も必ず閾値未満となるため、本ステップの処理は、集合Lk-1に含まれる(k-1)-アイテムを対象とすればよい。ここでは、2-アイテムの候補として、(b,G)、(b,H)、(b,J)、(G,H)、(G,J)、及び(H,J)が抽出される。
【0044】
次に、ステップS40で、生成部16が、上記ステップS38で抽出されたk-アイテムの候補に排除リストを適用し、排除されることなく残ったk-アイテムの候補を集合Ckに追加する。ここでは、(b,G)、(b,J)、(G,J)、及び(H,J)が排除リストに基づいて排除されるため、C2={(b,H),(G,H)}となる。
【0045】
次に、ステップS42で、生成部16が、集合Ckに含まれるk-アイテムの候補のうち、支持数が閾値以上となる候補をk-アイテムとして抽出し、集合Lkに追加する。ここでは、2-アイテムである(b,H)及び(G,H)は、いずれも支持数が3であるため、L2={(b,H),(G,H)}となる。
【0046】
次に、ステップS44で、生成部16が、上記ステップS42で、k-アイテムが抽出されたか否かを判定する。k-アイテムが抽出された場合には、ステップS46へ移行し、生成部16が、kを1インクリメントして、ステップS38に戻る。一方、k-アイテムが抽出されていない場合には、k-アイテム抽出処理は終了し、相関ルール生成処理(
図7)に戻る。ここでは、2-アイテムが抽出されているため、ステップS38に戻る。
【0047】
k=3におけるステップS38では、生成部16が、L
2={(b,H),(G,H)}に含まれるアイテムの組み合わせから、3-アイテムの候補(b,G,H)を抽出する。次に、ステップS40で、生成部16が(b,G,H)に排除リストを適用すると、(b,G,H)には、排除リストのlist(b)=(G,J)が表すbとGとのペアが含まれるため、(b,G,H)は排除される。したがって、3-アイテムは抽出されず、ステップS44で否定判定となり、k-アイテム抽出処理は終了し、相関ルール生成処理(
図7)に戻る。
【0048】
なお、ステップS42では、生成部16は、k-アイテムの候補に含まれるアイテムの組み合わせからなる(k-1)アイテムのうち、前回のステップS42で得られた支持数が閾値未満の(k-1)アイテムを含むか否かを判定する。生成部16は、支持数が閾値未満の(k-1)アイテムを含まない場合、そのk-アイテムの候補をk-アイテムとして抽出し、Lkへ追加する。一方、生成部16は、支持数が閾値未満の(k-1)アイテムを含む場合、そのk-アイテムの候補をk-アイテムとして抽出しない。これにより、k-アイテムの支持数が閾値以上か否かの判定を簡略化することができる。
【0049】
次に、相関ルール生成処理(
図7)のステップS50で、生成部16が、k-アイテム抽出処理で抽出されたk-アイテム、すなわち、L
k(k≧2)に含まれるk-アイテムの各々から相関ルールを生成する。上記の例の場合、L
2={(b,H),(G,H)}とうk-アイテムが抽出されているため、[b→H]、[H→b]、[G→H]、及び[H→G]という相関ルールが生成される。生成部16は、生成した相関ルールの各々の確信度を算出し、確信度が閾値以上の相関ルールを出力する。確信度の閾値を80%とすると、最終的に出力される相関ルールは、[b→H]及び[G→H]となる。相関ルールが出力されると、相関ルール生成処理は終了する。
【0050】
以上説明したように、本実施形態に係る相関ルール生成装置は、1以上のアイテムを含む複数のトランザクションデータを取得する。また、相関ルール生成装置は、トランザクションデータの各々について、トランザクションデータに含まれる1以上のアイテムの各々の上位概念となるアイテムをトランザクションデータに追加する。そして、相関ルール生成装置は、上位概念となるアイテムが追加された複数のトランザクションデータに含まれるアイテム2以上の組み合わせからなるアイテム集合を用いて、アイテム間の相関を示す相関ルールを生成する。これにより、上位概念も適切に取り込んだ相関ルールを生成することができる。
【0051】
例えば、
図9左図に示すように、上位概念となるアイテムを追加する前のトランザクションデータ集合において、最低支持数3、すなわち支持数が3以上のアイテム集合を抽出して相関ルールを生成したとする。この場合、[b→c]及び[b→d]という相関ルールは生成されない。一方、
図9右図に示すように、上位概念となるアイテムをトランザクションデータに追加した場合、[b→c]及び[b→d]の上位概念となる、[b→H]及び[G→H]という相関ルールが生成される。このように、本実施形態によれば、下位概念では生成されない相関ルールであっても、その上位概念となる相関ルールを生成することができる。
【0052】
また、非特許文献2に記載の技術のように、上位概念のアイテムから相関ルールを生成する場合であっても、指定された同一階層のアイテムから相関ルールを生成する場合には、本実施形態で生成可能な[b→H]のような相関ルールは生成することができない。本実施形態によれば、異なる階層に属するアイテム集合からも相関ルールを生成することができる。
【0053】
また、本実施形態に係る相関ルール生成装置は、アイテム集合を抽出する際に、アイテムの上下関係に基づいて作成した排除リストを適用して、不要なアイテム集合を排除する。これにより、アイテム間の既知の上下関係を表すような相関ルールや、包含関係にある相関ルール等の冗長な相関ルールの生成が抑制される。また、アイテム集合を抽出する際に排除リストを適用することで、生成された相関ルールを後からフィルタリングする場合に比べ、処理を高速化することができる。例えば、排除リストにおいて、各アイテムとペアになるアイテム数の平均をsとすると、排除リストを用いない場合に比べ、2-アイテムを抽出する際には、s2倍、3-アイテムを抽出する際には、s3倍速く処理することができる。なお、sは、アイテムの上位下位の関係を示すデータ(オントロジー)の階層が深くなるほど大きくなる傾向がある。
【0054】
本実施形態の効果を、具体例を用いて説明する。例えば、発現している変異と、薬剤の薬効の有無とが対応付けられたトランザクションデータと、
図10に示すようなオントロジーとが取得されるとする。
図10の例では、変異a及び変異bは遺伝子Gの変異の一種であり、変異c及び変異dは遺伝子Hの変異の一種であり、変異e及び変異fは遺伝子Iの変異の一種であり、それぞれ上位下位の関係にある。そして、変異の組み合わせを条件部、薬効の有無を帰結部とする相関ルールが生成されるものとする。この場合、条件部である変異の組み合わせを、上記実施形態におけるアイテム抽出の手法により抽出すればよい。
【0055】
ここで、以下の2つの現象を仮定する。
(1)変異aは遺伝子機能への影響がなく、その他の変異は、その変異が発現している場合に、上位の遺伝子が機能しなくなる。
(2)遺伝子G及び遺伝子Iが同時に機能しなくなっている場合、ある薬剤の薬効が有る。
【0056】
この場合、トランザクションデータに上位概念となるアイテムを追加しない手法では、[(変異b,変異e)→薬効有]、及び[(変異b,変異f)→薬効有]という相関ルールがそれぞれ生成される。しかし、[(変異b,遺伝子Iの変異)→薬効有]という相関ルールの方が、少ない数のルールで上記の現象を表現でき、理解し易い。すなわち、下位概念のみで記述された相関ルールよりも、上位概念も含めた概念で記述された相関ルールの方が、実際のメカニズムを論理的に反映し、見通しが良い相関ルールとなる。また、上位概念による相関ルールの方が、該当するトランザクションデータの数も多くなるため、より正確に現象を表現する相関ルールとなる。医療分野では、実際に上記のようなタイプのメカニズムが存在することも少なくないため、本実施形態の手法が特に有効であると考えられる。
【0057】
また、本実施形態で生成される相関ルールは、データの妥当性を検証する場合や、未知の関係性を発見する場合に特に有効である。例えば、医療分野に関して、本実施形態の手法で生成された相関ルールは、医師などの知識と照合することにより、収集されたデータの妥当性をチェックする場合にも有効である。また、意外な相関ルールを発見して、その相関ルールが示す内容について実験等で確認し、真の医学的発見につなげる場合などにも有効である。また、生成された相関ルールに基づいて、薬剤の薬効のメカニズムの理解をすすめる場合にも有効である。
【0058】
なお、上記実施形態では、表形式のトランザクションデータと、オントロジーとをそれぞれ入力として取得する場合について説明したが、これに限定されない。例えば、トランザクションデータに含まれるアイテムが、そのアイテムと上位下位の関係となるアイテムと共にナレッジグラフで表現されたデータを取得してもよい。この場合、取得されたナレッジグラフを、
図4に示すような、表形式の追加済みトランザクションデータ集合に変換すればよい。
【0059】
また、上記実施形態では、相関ルール生成プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【0060】
以上の実施形態に関し、さらに以下の付記を開示する。
【0061】
(付記1)
1以上のデータ値を含む複数の組み合わせデータを取得し、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加し、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する
ことを含む処理をコンピュータに実行させるための相関ルール生成プログラム。
【0062】
(付記2)
前記上位概念となるデータ値が追加された前記複数の組み合わせデータに含まれるデータ値を2以上含むデータ値集合のうち、所定の条件を満たすデータ値集合から、前記相関ルールを生成する付記1に記載の相関ルール生成プログラム。
【0063】
(付記3)
前記所定の条件は、前記データ値集合に、上位概念と下位概念との関係にあるデータ値の組み合わせを含まないことである付記2に記載の相関ルール生成プログラム。
【0064】
(付記4)
前記所定の条件を満たすデータ値集合をアプリオリアルゴリズムにより抽出し、抽出したデータ値集合に含まれる一部のデータ値の組み合わせで表現される条件部と、残りのデータ値の組み合わせで表現される帰結部とで表現される相関ルールを生成する付記2又は付記3に記載の相関ルール生成プログラム。
【0065】
(付記5)
前記所定の条件は、前記複数の組み合わせデータにおける前記データ値集合の出現頻度に関する指標が閾値を超えることである付記2~付記4のいずれか1項に記載の相関ルール生成プログラム。
【0066】
(付記6)
前記複数の組み合わせデータとして、組み合わせデータの各々に含まれるデータ値を表形式で表現したデータを取得し、
予め用意された、前記データ値に関する上位概念と下位概念との関係を参照して、前記データ値の上位概念となるデータ値を前記組み合わせデータに追加する
付記1~付記5のいずれか1項に記載の相関ルール生成プログラム。
【0067】
(付記7)
前記複数の組み合わせデータとして、組み合わせデータの各々に含まれるデータ値、及び前記データ値と上位概念と下位概念との関係を示すデータ値の各々をノードで表現し、前記データ値間の関係を前記ノード間を接続するエッジで表現したナレッジグラフを取得し、
前記ナレッジグラフを、組み合わせデータの各々に含まれるデータ値及び前記データ値の上位概念となるデータ値を表形式で表現したデータに変換することにより、前記データ値の上位概念となるデータ値を追加した前記複数の組み合わせデータを取得する
付記1~付記5のいずれか1項に記載の相関ルール生成プログラム。
【0068】
(付記8)
1以上のデータ値を含む複数の組み合わせデータを取得する取得部と、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加する追加部と、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する生成部と、
を含む相関ルール生成装置。
【0069】
(付記9)
前記生成部は、前記上位概念となるデータ値が追加された前記複数の組み合わせデータに含まれるデータ値を2以上含むデータ値集合のうち、所定の条件を満たすデータ値集合から、前記相関ルールを生成する付記8に記載の相関ルール生成装置。
【0070】
(付記10)
前記所定の条件は、前記データ値集合に、上位概念と下位概念との関係にあるデータ値の組み合わせを含まないことである付記9に記載の相関ルール生成装置。
【0071】
(付記11)
前記生成部は、前記所定の条件を満たすデータ値集合をアプリオリアルゴリズムにより抽出し、抽出したデータ値集合に含まれる一部のデータ値の組み合わせで表現される条件部と、残りのデータ値の組み合わせで表現される帰結部とで表現される相関ルールを生成する付記9又は付記10に記載の相関ルール生成装置。
【0072】
(付記12)
前記所定の条件は、前記複数の組み合わせデータにおける前記データ値集合の出現頻度に関する指標が閾値を超えることである付記9~付記11のいずれか1項に記載の相関ルール生成装置。
【0073】
(付記13)
前記取得部は、前記複数の組み合わせデータとして、組み合わせデータの各々に含まれるデータ値を表形式で表現したデータを取得し、
前記追加部は、予め用意された、前記データ値に関する上位概念と下位概念との関係を参照して、前記データ値の上位概念となるデータ値を前記組み合わせデータに追加する
付記8~付記12のいずれか1項に記載の相関ルール生成装置。
【0074】
(付記14)
前記取得部は、前記複数の組み合わせデータとして、組み合わせデータの各々に含まれるデータ値、及び前記データ値と上位概念と下位概念との関係を示すデータ値の各々をノードで表現し、前記データ値間の関係を前記ノード間を接続するエッジで表現したナレッジグラフを取得し、
前記追加部は、前記ナレッジグラフを、組み合わせデータの各々に含まれるデータ値及び前記データ値の上位概念となるデータ値を表形式で表現したデータに変換することにより、前記データ値の上位概念となるデータ値を追加した前記複数の組み合わせデータを取得する
付記8~付記12のいずれか1項に記載の相関ルール生成装置。
【0075】
(付記15)
1以上のデータ値を含む複数の組み合わせデータを取得し、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加し、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する
ことを含む処理をコンピュータが実行する相関ルール生成方法。
【0076】
(付記16)
前記上位概念となるデータ値が追加された前記複数の組み合わせデータに含まれるデータ値を2以上含むデータ値集合のうち、所定の条件を満たすデータ値集合から、前記相関ルールを生成する付記15に記載の相関ルール生成方法。
【0077】
(付記17)
前記所定の条件は、前記データ値集合に、上位概念と下位概念との関係にあるデータ値の組み合わせを含まないことである付記16に記載の相関ルール生成方法。
【0078】
(付記18)
前記所定の条件を満たすデータ値集合をアプリオリアルゴリズムにより抽出し、抽出したデータ値集合に含まれる一部のデータ値の組み合わせで表現される条件部と、残りのデータ値の組み合わせで表現される帰結部とで表現される相関ルールを生成する付記16又は付記17に記載の相関ルール生成方法。
【0079】
(付記19)
前記所定の条件は、前記複数の組み合わせデータにおける前記データ値集合の出現頻度に関する指標が閾値を超えることである付記16~付記18のいずれか1項に記載の相関ルール生成方法。
【0080】
(付記20)
1以上のデータ値を含む複数の組み合わせデータを取得し、
前記組み合わせデータの各々について、前記組み合わせデータに含まれる前記1以上のデータ値の各々の上位概念となるデータ値を前記組み合わせデータに追加し、
前記上位概念となるデータ値が追加された前記複数の組み合わせデータを用いて、データ値間の相関を示す相関ルールを生成する
ことを含む処理をコンピュータに実行させるための相関ルール生成プログラムを記憶した記憶媒体。
【符号の説明】
【0081】
10 相関ルール生成装置
12 取得部
14 追加部
16 生成部
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50 相関ルール生成プログラム