(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-18
(45)【発行日】2023-04-26
(54)【発明の名称】パターン探索プログラム、パターン探索装置及びパターン探索方法
(51)【国際特許分類】
G06F 16/90 20190101AFI20230419BHJP
【FI】
G06F16/90
(21)【出願番号】P 2021550757
(86)(22)【出願日】2019-09-30
(86)【国際出願番号】 JP2019038528
(87)【国際公開番号】W WO2021064798
(87)【国際公開日】2021-04-08
【審査請求日】2021-10-22
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】岩下 洋哲
【審査官】早川 学
(56)【参考文献】
【文献】BAILEY, James et al.,Fast Algorithms for Mining Emerging Patterns,PKDD 2002:Principles of Data Mining and Knowledge Discovery [online],Springer, Berlin, Heidelberg,2002年09月18日,pp.39-50,[retrieved on 2019.10.29], Internet<URL:https://link.springer.com/chapter/10.1007/3-540-45681-3_4>
【文献】羽室行信、外2名,統合化顕在パターン判別モデルによるWebアクセスログデータの分析,オペレーションズ・リサーチ,社団法人日本オペレーションズ・リサーチ学会,2008年02月01日,Vol.53,No.2,pp.75~84
【文献】亀谷由隆、外1名,最小サポート上昇法に基づく上位k関連パターン発見,人工知能学会研究会資料 [online],社団法人人工知能学会,2011年12月14日,SIG-DOCMAS-B101-4,[検索日:2017.10.18], Internet<URL:https://jsai.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=234&file_id=1&file_no=1>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
それぞれが1以上の属性を示す複数の属性パターンに含まれる各属性についての複数のサンプル
のうち、負例の複数のサンプルにおける出現集合の包含関係に基づいて、前記複数の属性パターンに含まれる各属性の優先順位を決定し、
決定した前記優先順位に基づく探索順序に従って、前記複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行う、
処理をコンピュータに実行させ、
前記判定を行う処理では、第1属性パターンの前記
負例の複数のサンプルにおける出現頻度が、前記第1属性パターンに含まれる属性のうちの前記優先順位が最も低い属性以外の全ての属性を有する第2属性パターンの前記
負例の複数のサンプルにおける出現頻度以上である場合、前記第1属性パターンについての前記判定を行わない、
ことを特徴とするパターン探索プログラム。
【請求項2】
請求項1において、
前記優先順位を決定する処理では、
前記包含関係を有する2つの属性ごとに、前記出現集合が小さい属性から前記出現集合が大きい属性に向かう有向辺をそれぞれ生成し、
生成した前記有向辺のそれぞれから有向非巡回グラフを生成し、
生成した前記有向非巡回グラフに基づいて、前記複数の属性パターンに含まれる各属性の優先順位を決定する、
ことを特徴とするパターン探索プログラム。
【請求項3】
請求項2において、
前記優先順位を決定する処理では、前記有向非巡回グラフを参照し、前記有向辺のそれぞれにおける出力元の属性が出力先の属性よりも前の順序になるように、前記複数の属性パターンに含まれる各属性の優先順位を決定する、
ことを特徴とするパターン探索プログラム。
【請求項4】
請求項3において、
前記判定を行う処理では、前記複数の属性パターンの探索順序を、各属性パターンに含まれる属性が前記優先順位に従った辞書式順序になるように決定する、
ことを特徴とするパターン探索プログラム。
【請求項5】
請求項4において、
前記複数の属性パターンは、前記属性を含まない属性パターンを含み、
前記判定を行う処理では、前記属性を含まない属性パターンの探索順序が最も早くなるように、前記複数の属性パターンの探索順序を決定する、
ことを特徴とするパターン探索プログラム。
【請求項6】
請求項1において、
前記優先順位を決定する処理では、
前記負例の複数のサンプルにおける出現集合の包含関係として、前記複数の属性パターンに含まれる各属性についての前記
負例の複数のサンプルにおける出現頻度に基づいて、前記複数の属性パターンに含まれる各属性の優先順位を決定する、
ことを特徴とするパターン探索プログラム。
【請求項7】
請求項6において、
前記優先順位を決定する処理では、前記
負例の複数のサンプルにおける出現頻度がより
小さい属性の優先順位がより高くなるように、前記複数の属性パターンに含まれる各属性の優先順位を決定する、
ことを特徴とするパターン探索プログラム。
【請求項8】
請求項1において、
前記判定を行う処理では、前記第1属性パターンの前記
負例の複数のサンプルにおける出現頻度が、前記第2属性パターンの前記
負例の複数のサンプルにおける出現頻度から減少しない場合、前記第1属性パターンに他の属性を追加した他の属性パターンについての前記判定を行わない、
ことを特徴とするパターン探索プログラム。
【請求項9】
請求項1において、
前記判定を行う処理では、前記判定が行われるごとに、前記第1属性パターンを再決定する、
ことを特徴とするパターン探索プログラム。
【請求項10】
請求項9において、
前記判定を行う処理では、
前記
負例の複数のサンプルから、前記第2属性パターンの出現集合に対応する1以上のサンプルを特定し、
特定した前記1以上のサンプルごとに、前記複数の属性パターンに含まれる属性のうち、前記第2属性パターンに含まれる各属性よりも前記優先順位が低い1以上の属性を特定し、
特定した前記1以上の属性についての前記1以上のサンプルにおける出現集合の包含関係に基づいて、前記1以上の属性の優先順位を再決定し、
再決定した前記優先順位に基づく探索順序に従って、前記第1属性パターンの再決定を行う、
ことを特徴とするパターン探索プログラム。
【請求項11】
それぞれが1以上の属性を示す複数の属性パターンに含まれる各属性についての複数のサンプル
のうち、負例の複数のサンプルにおける出現集合の包含関係に基づいて、前記複数の属性パターンに含まれる各属性の優先順位を決定する順位決定部と、
決定した前記優先順位に基づく探索順序に従って、前記複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行うパターン判定部と、を有し、
前記パターン判定部は、次に前記判定が行われる第1属性パターンの前記
負例の複数のサンプルにおける出現頻度が、前記第1属性パターンに含まれる属性のうちの前記優先順位が最も低い属性以外の全ての属性を有する第2属性パターンの前記
負例の複数のサンプルにおける出現頻度以上である場合、前記第1属性パターンについての前記判定を行わない、
ことを特徴とするパターン探索装置。
【請求項12】
それぞれが1以上の属性を示す複数の属性パターンに含まれる各属性についての複数のサンプル
のうち、負例の複数のサンプルにおける出現集合の包含関係に基づいて、前記複数の属性パターンに含まれる各属性の優先順位を決定し、
決定した前記優先順位に基づく探索順序に従って、前記複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行う、
処理をコンピュータに実行させ、
前記判定を行う処理では、次に前記判定が行われる第1属性パターンの前記
負例の複数のサンプルにおける出現頻度が、前記第1属性パターンに含まれる属性のうちの前記優先順位が最も低い属性以外の全ての属性を有する第2属性パターンの前記
負例の複数のサンプルにおける出現頻度以上である場合、前記第1属性パターンについての前記判定を行わない、
ことを特徴とするパターン探索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パターン探索プログラム、パターン探索装置及びパターン探索方法に関する。
【背景技術】
【0002】
近年、収集されたデータを解析することによって新たな知見の発見を行うデータマイニングが盛んに行われている。このようなデータマイニングでは、例えば、それぞれ属性を有する複数のデータから所定の条件に合致するデータを抽出し、さらに、抽出したデータ間において共通している特徴的な傾向を特定することによって、新たな知見の発見を行う。
【0003】
具体的に、上記のようなデータマイニングでは、例えば、目標とする条件を満たすデータにおいて出現する頻度が高く、かつ、目標とする条件を満たさないデータにおいて出現する頻度が低い属性パターン(以下、エマージングパターンとも呼ぶ)の抽出を行うことによって、新たな知見の発見を行う(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】A.M. Garcia-Vico et al., “An overview of emerging pattern mining in supervised descriptive rule discovery: taxonomy, empirical study, trends, and prospects”, WIREs Data Mining and Knowledge Discovery 2018, 8:e1231. doi: 10.1002/widm.1231
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、上記のようなデータマイニングでは、解析結果の用途等によって、データの収集から解析までの時間に制約が設けられる場合がある。また、データマイニングにおいて解析が行われるデータ量は、年々増加する傾向にある。そのため、上記のようなデータマイニングの実施は、可能な限り効率的に行われる必要がある。
【0006】
しかしながら、データマイニングにおいて行われるエマージングパターンの抽出は、一般的に、計算処理のコストが高い処理であり、データの収集から解析までに長時間を要する場合がある。そのため、データ解析を行う企業や研究機関等では、エマージングパターンの抽出に要する計算処理コストの削減が求められている。
【0007】
そこで、一つの側面では、本発明は、エマージングパターンの抽出に要する計算処理コストを削減することを可能とするパターン探索プログラム、パターン探索装置及びパターン探索方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施の形態の一態様では、それぞれが1以上の属性を示す複数の属性パターンに含まれる各属性についての複数のサンプルにおける出現集合の包含関係に基づいて、前記複数の属性パターンに含まれる各属性の優先順位を決定し、決定した前記優先順位に基づく探索順序に従って、前記複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行う、処理をコンピュータに実行させ、前記判定を行う処理では、第1属性パターンの前記複数のサンプルにおける出現頻度が、前記第1属性パターンに含まれる属性のうちの前記優先順位が最も低い属性以外の全ての属性を有する第2属性パターンの前記複数のサンプルにおける出現頻度以上である場合、前記第1属性パターンについての前記判定を行わない。
【発明の効果】
【0009】
一つの側面によれば、エマージングパターンの抽出に要する計算処理コストを削減することを可能とする。
【図面の簡単な説明】
【0010】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、情報処理装置1のハードウエア構成を説明する図である。
【
図3】
図3は、情報処理装置1の機能のブロック図である。
【
図4】
図4は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図5】
図5は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図6】
図6は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図7】
図7は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図8】
図8は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図9】
図9は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図10】
図10は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図11】
図11は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図12】
図12は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。
【
図13】
図13は、データセットDの具体例について説明する図である。
【
図14】
図14は、データセットDにおける属性パターンの出現集合及び出現頻度を含むテーブルの具体例を説明する図である。
【
図15】
図15は、S12及びS13の処理の具体例を説明する図である。
【
図18】
図18は、データセットDの具体例について説明する図である。
【発明を実施するための形態】
【0011】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1は、情報処理システム10の構成について説明する図である。
【0012】
図1に示すように、情報処理システム10は、例えば、情報処理装置1と、操作端末2とを含む。情報処理装置1は、インターネット網等のネットワークNWを介して操作端末2と接続している。
【0013】
図1に示す例において、情報処理装置1は、例えば、操作端末2を介して入力された複数のデータ(以下、複数のサンプルとも呼ぶ)に含まれる属性パターンのそれぞれが、エマージングパターンであるか否かについての判定を行う。
【0014】
具体的に、本実施の形態における情報処理装置1は、それぞれが1以上の属性を示す複数の属性パターンに含まれる各属性についての複数のサンプルにおける出現集合の包含関係に基づいて、複数の属性パターンに含まれる各属性の優先順位を決定する。そして、情報処理装置1は、決定した優先順位に基づく探索順序に従って、複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行う。なお、本実施の形態におけるエマージングパターンは、目標とする条件を満たすデータにおいて出現する頻度が高く、かつ、目標とする条件を満たさないデータにおいて出現する頻度が低い属性パターンを意味している。
【0015】
ここで、情報処理装置1は、各属性パターンがエマージングパターンであるか否かの判定(以下、単に判定とも呼ぶ)を行うごとに、属性パターン(以下、第1属性パターンとも呼ぶ)の複数のサンプルにおける出現頻度が、第1属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターン(以下、第2属性パターンとも呼ぶ)の複数のサンプルにおける出現頻度以上であるか否かを判定する。そして、情報処理装置1は、第1属性パターンに対応する出現頻度が第2属性パターンに対応する出現頻度以上であると判定した場合、第1属性パターンについての判定を行わない。
【0016】
すなわち、本実施の形態における情報処理装置1は、第1属性パターンの出現頻度が第2属性パターンの出現頻度から減少していない場合、第1属性パターンが、他のエマージングパターンを含まないエマージングパターン(以下、極小なエマージングパターンとも呼ぶ)ではないと判定する。そのため、情報処理装置1は、極小なエマージングパターンの抽出を行うことが処理の目的である場合、第1属性パターンの出現頻度が第2属性パターンの出現頻度から減少していないことの検知に応じて、第1属性パターンについての判定の実施を省略する。
【0017】
さらに、本実施の形態における情報処理装置1は、上記のように判定の実施を省略できる第1属性パターンを多く作り出すために、複数の属性パターンに含まれる各属性の並び替え(各属性の優先順位の決定)を予め行う。
【0018】
これにより、情報処理装置1は、エマージングパターンの抽出に要する計算処理コストを削減することが可能になる。具体的に、情報処理装置1は、極小なエマージングパターンの抽出に要する計算処理コストを削減することが可能になる。
【0019】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図2は、情報処理装置1のハードウエア構成を説明する図である。
【0020】
情報処理装置1は、
図2に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0021】
記憶媒体104は、例えば、エマージングパターンを探索する処理(以下、パターン探索処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、パターン探索処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体204は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0022】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してパターン探索処理を行う。
【0023】
また、通信装置103は、例えば、ネットワークNWと通信を行う。
【0024】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図3は、情報処理装置1の機能のブロック図である。
【0025】
情報処理装置1は、
図3に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、情報管理部111と、情報受信部112と、順位決定部113と、パターン判定部114と、情報送信部115とを含む各種機能を実現する。
【0026】
また、情報処理装置1は、
図3に示すように、例えば、複数のサンプルを含むデータセットDと、グラフ情報131と、順位情報132と、パターン情報133とを情報格納領域130に記憶する。
【0027】
情報管理部111は、例えば、操作端末2を介して入力されたデータセットDを情報格納領域130に記憶する。
【0028】
情報受信部112は、例えば、エマージングパターンの探索を開始する旨の指示(以下、探索指示とも呼ぶ)を受信する。具体的に、情報受信部112は、例えば、操作端末2を介して入力された探索指示を受信する。
【0029】
順位決定部113は、複数の属性パターンに含まれる各属性についての複数のサンプルにおける出現集合の包含関係に基づいて、複数の属性パターンに含まれる各属性の優先順位を決定する。そして、情報管理部111は、例えば、順位決定部113が決定した各属性の優先順位を示す順位情報132を情報格納領域130に記憶する。
【0030】
パターン判定部114は、順位決定部113が決定した優先順位に基づく探索順序に従って、複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行う。この場合、パターン判定部114は、第1属性パターンの複数のサンプルにおける出現頻度が、第2属性パターンの複数のサンプルにおける出現頻度から減少しているか否かを判定する。そして、第1属性パターンに対応する出現頻度が第2属性パターンに対応する出現頻度から減少しないと判定した場合、パターン判定部114は、第1属性パターンについての判定を行わない。
【0031】
その後、パターン判定部114は、例えば、エマージングパターンであると判定した属性パターンのうち、極小なエマージングパターンを特定する。そして、情報管理部111は、例えば、パターン判定部114が極小なエマージングパターンであると判定した属性パターンを示すパターン情報133を情報格納領域130に記憶する。
【0032】
情報送信部115は、例えば、情報格納領域130に記憶されたパターン情報133を操作端末2に送信する。グラフ情報131の具体例については後述する。
【0033】
[第1の実施の形態]
次に、第1の実施の形態について説明する。
図4から
図12は、第1の実施の形態におけるパターン探索処理を説明するフローチャート図である。また、
図13から
図24は、第1の実施の形態におけるパターン探索処理の詳細を説明する図である。
【0034】
[データセットの具体例]
初めに、第1の実施の形態におけるデータセットDの具体例について説明を行う。
図13は、データセットDの具体例について説明する図である。具体的に、
図13(A)は、データセットDのうち、正例のサンプル(目標とする条件を満たすサンプル)を含むデータセットDPの具体例について説明する図である。また、
図13(B)は、データセットDのうち、負例のサンプル(目標とする条件を満たさないサンプル)を含むデータセットDNの具体例について説明する図である。
【0035】
図13に示すデータセットDは、データセットDに含まれる各サンプルの識別情報が設定される「ID」と、各サンプルに含まれる属性が設定される「属性」とを項目として有する。
【0036】
具体的に、
図13(A)に示すデータセットDPにおいて、「ID」が「1」であるサンプルの「属性」には、「既婚」が設定されている。また、「ID」が「2」であるサンプルの「属性」には、「男性」及び「既婚」が設定されており、「ID」が「3」であるサンプルの「属性」には、「男性」、「30代」及び「既婚」が設定されている。
【0037】
一方、
図13(B)に示すデータセットDNにおいて、「ID」が「4」であるサンプルの「属性」には、属性が設定されていないことを示す「なし」が設定されている。また、「ID」が「5」であるサンプルの「属性」には、「男性」及び「既婚」が設定されており、「ID」が「6」であるサンプルの「属性」には、「男性」及び「30代」が設定されている。
【0038】
[属性パターンの出現集合及び出現頻度の具体例]
次に、データセットDにおける属性パターンの出現集合及び出現頻度の具体例について説明を行う。
図14は、データセットDにおける属性パターンの出現集合及び出現頻度を含むテーブルの具体例を説明する図である。
【0039】
図14に示すテーブルは、各属性パターンの識別情報が設定される「属性パターン」を項目として有する。また、
図14に示すテーブルは、データセットDPに含まれるサンプルのうち、「属性パターン」に設定された属性のそれぞれを含むサンプルの「ID」が設定される「出現集合(DP)」と、「出現集合(DP)」に設定された属性の数が設定される「出現頻度(DP)」とを項目として有する。さらに、
図14に示すテーブルは、データセットDNに含まれるサンプルのうち、「属性パターン」に設定された属性のそれぞれを含むサンプルの「ID」が設定される「出現集合(DN)」と、「出現集合(DN)」に設定された属性の数が設定される「出現頻度(DN)」とを項目として有する。なお、「属性パターン」に「なし」が設定されているサンプル(1行目のサンプル)は、属性が含まれない属性パターンに対応するサンプルである。
【0040】
具体的に、
図14に示すテーブルにおいて、例えば、「属性パターン」が「なし」であるサンプル(1行目のサンプル)には、「出現集合(DP)」として「1」、「2」及び「3」が設定され、「出現頻度(DP)」として「3」が設定され、「出現集合(DN)」として「4」、「5」及び「6」が設定され、「出現頻度(DN)」として「3」が設定されている。
【0041】
また、
図14に示すテーブルにおいて、例えば、「属性パターン」が「男性」であるサンプル(2行目のサンプル)には、「出現集合(DP)」として「2」及び「3」が設定され、「出現頻度(DP)」として「2」が設定され、「出現集合(DN)」として「5」及び「6」が設定され、「出現頻度(DN)」として「2」が設定されている。
図14に含まれる他のデータについての説明は省略する。
【0042】
なお、データセットDに含まれる各サンプルのうち、属性パターンxを持つサンプルの出現集合Occ(x,D)は、以下の式(1)によって算出される。
【0043】
【0044】
また、データセットDに含まれる各サンプルにおける属性パターンxの出現頻度frq(x,D)は、以下の式(2)によって算出される。
【0045】
【0046】
[順位決定処理(1)]
次に、パターン探索処理のうち、複数の属性パターンに含まれる各属性の優先順位を決定する処理(以下、順位決定処理とも呼ぶ)について説明を行う。
図4は、順位決定処理を説明するフローチャート図である。
【0047】
情報処理装置1の情報受信部112は、
図4に示すように、例えば、操作端末2を介して入力された探索指示を受信するまで待機する(S11のNO)。
【0048】
そして、探索指示を受信した場合(S11のYES)、情報処理装置1の順位決定部113は、複数のサンプルにおける負例の出現集合が包含関係を有する2つの属性ごとに、出現集合が小さい属性から出現集合が大きい属性に向かう有向辺をそれぞれ生成する(S12)。
【0049】
続いて、順位決定部113は、S12の処理で生成した有向辺のそれぞれから有向非巡回グラフを生成する(S13)。その後、情報処理装置1の情報管理部111は、例えば、順位決定部113が生成した有向非巡回グラフを示す情報であるグラフ情報131を生成して情報格納領域130に記憶する。以下、S12及びS13の処理の具体例について説明を行う。
【0050】
[S12及びS13の処理の具体例]
図15は、S12及びS13の処理の具体例を説明する図である。
【0051】
図14で説明したテーブルにおいて、「属性パターン」に設定された属性パターンのそれぞれに含まれる属性は、「男性」、「30代」及び「既婚」である。そして、
図14で説明したテーブルにおいて、「属性パターン」が「男性」であるサンプル(2行目のサンプル)の「出現集合(DN)」には、「5」及び「6」が設定されており、「属性パターン」が「30代」であるサンプル(3行目のサンプル)の「出現集合(DN)」には、「6」が設定されており、「属性パターン」が「既婚」であるサンプル(4行目のサンプル)の「出現集合(DN)」には、「5」が設定されている。
【0052】
すなわち、
図14で説明したテーブルは、「30代」に対応する負例の出現集合である「6」が、「男性」に対応する負例の出現集合である「5」及び「6」に含まれていることを示している。また、
図14で説明したテーブルは、「既婚」に対応する負例の出現集合である「5」が、「男性」に対応する負例の出現集合である「5」及び「6」に含まれていることを示している。
【0053】
そのため、順位決定部113は、S12の処理において、「30代」に対応する頂点を出力元とし、「男性」に対応する頂点を出力先とする有向辺SD1を生成する。また、順位決定部113は、S12の処理において、「既婚」に対応する頂点を出力元とし、「男性」に対応する頂点を出力先とする有向辺SD2を生成する。
【0054】
そして、順位決定部113は、S13の処理において、
図15(A)に示すように、生成した有向辺SD1及び有向辺SD2を用いて各属性である「男性」、「30代」及び「既婚」を結び付けることによって、有向非巡回グラフGR1を生成する。
【0055】
図4に戻り、順位決定部113は、S13の処理で生成した有向非巡回グラフ(情報格納領域130に記憶されたグラフ情報131)を参照し、有向辺のそれぞれにおける出力元の属性が出力先の属性よりも高い順位になるように、複数の属性パターンに含まれる各属性の優先順位を決定する(S14)。そして、情報管理部111は、例えば、S14の処理で決定した優先順位を示す順位情報132を情報格納領域130に記憶する。
【0056】
具体的に、順位決定部113は、例えば、
図15(B)に示すように、出力元の頂点のそれぞれが出力先の頂点よりも前になるように順位付けを行うことにより、各属性の順位を「30代」、「既婚」及び「男性」の順に決定する。
【0057】
[順位決定処理(2)]
次に、
図4で説明した順位決定処理と異なる内容の順位決定処理(以下、他の順位決定処理とも呼ぶ)について説明を行う。
図5は、他の順位決定処理を説明するフローチャート図である。
【0058】
情報受信部112は、
図5に示すように、例えば、操作端末2を介して入力された探索指示を受信するまで待機する(S21のNO)。
【0059】
そして、探索指示を受信した場合(S21のYES)、順位決定部113は、複数のサンプルにおける負例の出現頻度が小さい属性の優先順位がより高くなるように、複数の属性パターンに含まれる各属性の優先順位を決定する(S22)。そして、情報管理部111は、例えば、S22の処理で決定した優先順位を示す順位情報132を情報格納領域130に記憶する。
【0060】
すなわち、例えば、複数の属性パターンに含まれる属性において、ある属性の負例の出現集合が他の属性の負例の出現集合を包含している場合、そのある属性の出現頻度は、他の属性の出現頻度よりも大きいと判断できる。そのため、順位決定部113は、各属性の出現頻度の大小関係に基づくことによっても、各属性の属性順位の決定を行うことが可能である。以下、S22の処理の具体例について説明を行う。
【0061】
[S22の処理の具体例]
図14で説明したテーブルにおいて、「属性パターン」に設定された属性パターンのそれぞれに含まれる属性は、「男性」、「30代」及び「既婚」である。そして、
図14で説明したテーブルにおいて、「属性パターン」が「男性」であるサンプル(2行目のサンプル)の「出現頻度(DN)」には、「2」が設定されており、「属性パターン」が「30代」であるサンプル(3行目のサンプル)の「出現頻度(DN)」には、「1」が設定されており、「属性パターン」が「既婚」であるデータ(4行目のデータ)の「出現頻度(DN)」には、「1」が設定されている。
【0062】
すなわち、
図14で説明したテーブルは、「30代」に対応する負例の出現頻度である「1」が、「男性」に対応する負例の出現頻度である「2」よりも小さいことを示している。また、
図14で説明したテーブルは、「既婚」に対応する負例の出現頻度である「1」が、「男性」に対応する負例の出現頻度である「2」よりも小さいことを示している。
【0063】
そのため、順位決定部113は、S22の処理において、例えば、各属性の順位を「30代」、「既婚」及び「男性」の順に決定する。
【0064】
[パターン判定処理(1)]
次に、パターン探索処理のうち、複数の属性パターンがエマージングパターンであるか否かを判定する処理(以下、パターン判定処理とも呼ぶ)について説明を行う。
図6から
図8は、パターン判定処理を説明するフローチャート図である。
【0065】
情報処理装置1のパターン判定部114は、
図6に示すように、例えば、パターン判定タイミングになるまで待機する(S31のNO)。パターン判定タイミングは、例えば、順位決定処理が終了した後のタイミングであってよい。また、パターン判定タイミングは、例えば、操作端末2を介してパターン判定処理を開始する旨の指示が入力されたタイミングであってよい。
【0066】
そして、パターン判定タイミングになった場合(S31のYES)、パターン判定部114は、S14の処理またはS22の処理で決定した各属性の優先順位に従って、複数の属性パターンのうち、先頭の探索順序に対応する属性パターンを特定する(S32)。
【0067】
具体的に、パターン判定部114は、例えば、複数の属性パターンの探索順序を、各属性パターンに含まれる属性がS14等の処理で決定した優先順位に従った辞書式順序になるように決定した場合に、先頭の探索順序に対応付けられる属性パターンの特定を行う。
【0068】
なお、属性が含まれない属性パターンが複数の属性パターンに含まれる場合、パターン判定部114は、先頭の探索順序に対応付けられる属性パターンとして、属性が含まれない属性パターンの特定を行う。
【0069】
具体的に、
図14で説明したテーブルにおいて、「属性パターン」に設定されたデータには、「なし」、「男性」、「30代」、「既婚」、「男性,30代」、「男性,既婚」、「30代,既婚」及び「男性,30代,既婚」が含まれている。そのため、パターン判定部114は、S32の処理において、「なし」を先頭の探索順序に対応する属性パターンとして決定する。
【0070】
続いて、パターン判定部114は、S32の処理で特定した属性パターンがエマージングパターンであるか否かについて判定を行う(S33)。
【0071】
その結果、S32の処理で特定した属性パターンがエマージングパターンであると判定した場合(S34のYES)、情報管理部111は、
図7に示すように、S32の処理で特定した属性パターンを示すパターン情報133を情報格納領域130に記憶する(S41)。
【0072】
その後、パターン判定部114は、S32の処理、S44の処理またはS52の処理において全ての属性パターンが特定済であるか否かを判定する(S42)。パターン判定部114は、S34の処理において、S32の処理で特定した属性パターンがエマージングパターンでないと判定した場合についても同様に(S34のNO)、S42の処理を行う。
【0073】
その結果、S32の処理、S44の処理またはS52の処理で全ての属性パターンが特定済でないと判定した場合(S42のNO)、パターン判定部114は、S14の処理またはS22の処理で決定した各属性の優先順位に従って、S32の処理、S44の処理またはS52の処理でまだ特定されていない属性パターンのうち、次の探索順序に対応する属性パターンを特定する(S44)。
【0074】
具体的に、
図14で説明したテーブルにおいて、「属性パターン」に設定されたデータには、「なし」、「男性」、「30代」、「既婚」、「男性,30代」、「男性,既婚」、「30代,既婚」及び「男性,30代,既婚」が含まれている。そのため、パターン判定部114は、S14の処理等で決定した各属性の順位が「30代」、「既婚」及び「男性」の順であった場合、1回目のS44の処理において、「30代」を次の探索順序に対応する属性パターンとして決定する。
【0075】
そして、パターン判定部114は、S44の処理で特定した属性パターンの負例の出現頻度が、S44の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少しているか否かを判定する(S45)。
【0076】
具体的に、S44の処理で特定した属性パターンが「30代」であった場合、S44の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンは、「なし」である。そのため、パターン判定部114は、この場合、「30代」に対応する負例の出現頻度が「なし」に対応する負例の出現頻度から減少しているか否かについての判定を行う。
【0077】
その結果、
図8に示すように、S44の処理で特定した属性パターンの負例の出現頻度が、S44の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少していないと判定した場合(S51のNO)、パターン判定部114は、S44の処理で特定した属性パターンに他の属性を追加した他の属性パターンのそれぞれを、S53の処理を行わない属性パターンとして特定する(S52)。
【0078】
すなわち、情報処理装置1は、S44の処理で特定した属性パターンの負例の出現頻度が、S44の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少していないと判定した場合、S44の処理で特定した属性パターンに他の属性を追加した他の属性パターンに、極小なエマージングパターンが含まれないものと判定することが可能である。そのため、情報処理装置1は、例えば、上記のように出現頻度が減少していないことを検知した場合、S44の処理で特定した属性パターンについての判定の実施と、S44の処理で特定した属性パターンに他の属性を追加した他の属性パターンについての判定の実施とを省略することを決定する。
【0079】
これにより、情報処理装置1は、極小なエマージングパターンの抽出に要する計算処理コストを削減することが可能になる。
【0080】
一方、S44の処理で特定した属性パターンの出現頻度が、S44の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少していると判定した場合(S51のYES)、パターン判定部114は、S44の処理で特定した属性パターンがエマージングパターンであるか否かについて判定を行う(S53)。
【0081】
そして、S44の処理で特定した属性パターンがエマージングパターンであると判定した場合(S54のYES)、情報管理部111は、S44の処理で特定した属性パターンを示すパターン情報133を情報格納領域130に記憶する(S55)。その後、パターン判定部114は、S52以降の処理を行う。
【0082】
すなわち、S44の処理で特定した属性パターンがエマージングパターンである場合、S44の処理で特定した属性パターンに他の属性を追加した他の属性パターンは、極小なエマージングパターンにならないと判断できる。そのため、パターン判定部114は、S44の処理で特定した属性パターンがエマージングパターンであると判定した場合、S44の処理で特定した属性パターンに他の属性を追加した他の属性パターンについての判定の実施を省略する。
【0083】
そして、S52の処理の後、または、S44の処理で特定した属性パターンがエマージングパターンでないと判定した場合(S54のNO)、パターン判定部114は、S42以降の処理を行う。
【0084】
その後、S42の処理において、S33の処理、S44の処理またはS52の処理で全ての属性パターンが特定済であると判定した場合(S42のYES)、情報処理装置1の情報送信部115は、例えば、情報格納領域130に記憶されたパターン情報133のうち、極小なエマージングパターンを示す情報を操作端末2に送信する(S43)。
【0085】
具体的に、パターン判定部114は、この場合、情報格納領域130に記憶されたパターン情報133が示す属性パターンから、極小なエマージングパターンを特定する。そして、情報送信部115は、パターン判定部114が特定した極小なエマージングパターンを示す情報の送信を行う。以下、
図6から
図8で説明したパターン判定処理の具体例について説明を行う。
【0086】
[パターン判定処理の具体例(1)]
図16及び
図17は、
図6から
図8で説明したパターン判定処理の具体例を説明する図である。
【0087】
図16及び
図17に示す例は、各属性パターンを各ノードに対応付けた木構造である。そして、
図16及び
図17に示す例において、各ノードに対応付けられた左側の数字は、
図14で説明したデータのうち、各ノードに対応する属性パターンの正例の出現頻度を示しており、各ノードに対応付けられた右側の数字は、
図14で説明したデータのうち、各ノードに対応する属性パターンの負例の出現頻度を示している。なお、以下、各属性パターンの正例の出現頻度が1以上であって、かつ、各属性パターンの負例の出現頻度が0である場合に、各属性パターンがエマージングパターンであると判定されるものとして説明を行う。
【0088】
(属性を含まない属性パターンの探索)
初めに、パターン判定部114は、S32の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、1番目の探索順序に対応する属性パターンである「なし」を特定する。そして、パターン判定部114は、
図16に示すように、例えば、特定した「なし」を根ノードに対応付ける。
【0089】
ここで、
図16に示す例において、属性パターンである「なし」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「3」である。そのため、パターン判定部114は、S33の処理において、「なし」がエマージングパターンでないと判定する。
【0090】
(「30代」を含む属性パターンの探索)
次に、パターン判定部114は、S44の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、2番目の探索順序に対応する属性パターンである「30代」を特定する。また、パターン判定部114は、
図16に示すように、例えば、特定した「30代」を根ノードの子ノードに対応付ける。
【0091】
ここで、
図16に示す例において、属性パターンである「30代」に対応するノードの負例の出現頻度である「1」は、「なし」に対応するノードの負例の出現頻度である「3」から減少している。そのため、パターン判定部114は、S53の処理において、「30代」がエマージングパターンであるか否かについての判定を行う。具体的に、
図16に示す例において、「30代」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「1」である。そのため、パターン判定部114は、S53の処理において、「30代」がエマージングパターンでないと判定する。
【0092】
(「30代」及び「既婚」を含む属性パターンの探索)
次に、パターン判定部114は、S44の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、3番目の探索順序に対応する属性パターンである「30代,既婚」を特定する。また、パターン判定部114は、
図16に示すように、例えば、特定した「30代,既婚」を「30代」に対応する子ノードに対応付ける。
【0093】
ここで、
図16に示す例において、「30代,既婚」に対応するノードの負例の出現頻度である「0」は、「30代」に対応するノードの負例の出現頻度である「1」から減少している。そのため、パターン判定部114は、S53の処理において、「30代,既婚」がエマージングパターンであるか否かについての判定を行う。具体的に、
図16に示す例において、「30代,既婚」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「1」及び「0」である。そのため、パターン判定部114は、S53の処理において、「30代,既婚」がエマージングパターンであると判定する。
【0094】
したがって、パターン判定部114は、S52の処理において、「30代,既婚」に対して新たな属性を追加した属性パターンについての判定を省略することを決定する。具体的に、パターン判定部114は、この場合、4番目の探索順序に対応する属性パターンである「30代,既婚,男性」についての判定を省略する。
【0095】
(「30代」及び「男性」を含む属性パターンの探索)
次に、パターン判定部114は、S44の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、5番目の探索順序に対応する属性パターンである「30代,男性」を特定する。また、パターン判定部114は、
図16に示すように、例えば、特定した「30代,男性」を「30代」に対応する2番目の子ノードに対応付ける。
【0096】
ここで、
図16に示す例において、「30代,男性」に対応するノードの負例の出現頻度である「1」は、「30代」に対応するノードの負例の出現頻度である「1」から減少していない。そのため、パターン判定部114は、S53の処理において、「30代,男性」がエマージングパターンであるか否かについての判定を行わない。
【0097】
(「既婚」を含む属性パターンの探索)
次に、パターン判定部114は、S44の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、6番目の探索順序に対応する属性パターンである「既婚」を特定する。また、パターン判定部114は、
図16に示すように、例えば、特定した「既婚」を根ノードの2番目の子ノードに対応付ける。
【0098】
ここで、
図16に示す例において、「既婚」に対応するノードの負例の出現頻度である「1」は、「なし」に対応するノードの負例の出現頻度である「3」から減少している。そのため、パターン判定部114は、S53の処理において、「既婚」がエマージングパターンであるか否かについての判定を行う。具体的に、
図16に示す例において、「既婚」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「3」及び「1」である。そのため、パターン判定部114は、S53の処理において、「既婚」がエマージングパターンでないと判定する。
【0099】
(「既婚」及び「男性」を含む属性パターンの探索)
次に、パターン判定部114は、S44の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、7番目の探索順序に対応する属性パターンである「既婚,男性」を特定する。また、パターン判定部114は、
図16に示すように、例えば、特定した「既婚,男性」を「既婚」に対応する子ノードに対応付ける。
【0100】
ここで、
図16に示す例において、「既婚,男性」に対応するノードの負例の出現頻度である「1」は、「既婚」に対応するノードの負例の出現頻度である「1」から減少していない。そのため、パターン判定部114は、S53の処理において、「既婚,男性」がエマージングパターンであるか否かについての判定を行わない。
【0101】
(「男性」を含む属性パターンの探索)
次に、パターン判定部114は、S44の処理において、
図14で説明したテーブルに含まれる属性パターンのうち、8番目の探索順序に対応する属性パターンである「男性」を特定する。また、パターン判定部114は、
図16に示すように、例えば、特定した「男性」を根ノードの3番目の子ノードに対応付ける。
【0102】
ここで、
図16に示す例において、「男性」に対応するノードの負例の出現頻度である「2」は、「なし」に対応するノードの負例の出現頻度である「3」から減少している。そのため、パターン判定部114は、S53の処理において、「男性」がエマージングパターンであるか否かについての判定を行う。具体的に、
図16に示す例において、「男性」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「2」及び「2」である。そのため、パターン判定部114は、S53の処理において、「男性」がエマージングパターンでないと判定する。
【0103】
すなわち、パターン判定部114は、
図17に示すように、エマージングパターンである属性パターン(「○」に対応する属性パターン)に他の属性を追加した他の属性パターンについての判定の実施を省略する。また、パターン判定部114は、
図17に示すように、極小なエマージンパターンである可能性がないと判断できる属性パターン(「×」に対応する属性パターン)についての判定の実施を省略する。
【0104】
これにより、パターン判定部114は、各属性パターンがエマージングパターンであるか否かについての判定が行われる回数を抑制しながら、極小なエマージングパターンである可能性があるエマージングパターンの抽出を行うことが可能になる。
【0105】
[パターン判定処理(2)]
次に、
図6から
図8で説明したパターン判定処理と異なる内容のパターン判定処理(以下、他のパターン判定処理とも呼ぶ)について説明を行う。
図9から
図12は、他のパターン判定処理を説明するフローチャート図である。
【0106】
パターン判定部114は、
図9に示すように、例えば、パターン判定タイミングになるまで待機する(S61のNO)。
【0107】
そして、パターン判定タイミングになった場合(S61のYES)、パターン判定部114は、S14の処理またはS22の処理で決定した各属性の優先順位に従って、複数の属性パターンのうち、先頭の探索順序に対応する属性パターンを特定する(S62)。
【0108】
具体的に、パターン判定部114は、例えば、複数の属性パターンの探索順序を、各属性パターンに含まれる属性がS14等の処理で決定した優先順位に従った辞書式順序になるように決定した場合に、先頭の探索順序に対応付けられる属性パターンの特定を行う。
【0109】
続いて、パターン判定部114は、S62の処理で特定した属性パターンがエマージングパターンであるか否かについて判定を行う(S63)。
【0110】
その結果、S62の処理で特定した属性パターンがエマージングパターンであると判定した場合(S64のYES)、情報管理部111は、
図10に示すように、S62の処理で特定した属性パターンを示すパターン情報133を情報格納領域130に記憶する(S71)。
【0111】
その後、パターン判定部114は、S62の処理、S75の処理またはS82の処理において全ての属性パターンが特定済であるか否かを判定する(S72)。パターン判定部114は、S64の処理において、S62の処理で特定した属性パターンがエマージングパターンでないと判定した場合についても同様に(S64のNO)、S72の処理を行う。
【0112】
その結果、S62の処理、S75の処理またはS82の処理で全ての属性パターンが特定済でないと判定した場合(S72のNO)、パターン判定部114は、複数の属性パターンに含まれる各属性の優先順位を再決定する処理(以下、再決定処理とも呼ぶ)を行う(S74)。
【0113】
すなわち、
図9から
図12に示す他のパターン判定処理では、各属性パターンがエマージングパターンであるか否かの判定を行うごとに、各属性の優先順位の再決定を行う。
【0114】
これにより、情報処理装置1は、各属性パターンがエマージングパターンであるか否かの判定の実施を省略できる状況をより多く作り出すことが可能になる。以下、再決定処理について説明を行う。
【0115】
[再決定処理]
図12は、再決定処理を説明するフローチャート図である。
【0116】
パターン判定部114は、S14の処理、S22の処理またはS74の処理において既に決定(再決定)した各属性の優先順位に従って、S62の処理、S75の処理またはS82の処理でまだ特定されていない属性パターンのうち、次の探索順序に対応する属性パターンを特定する(S101)。
【0117】
そして、パターン判定部114は、S101の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンを特定する(S102)。
【0118】
続いて、パターン判定部114は、S102の処理で特定した属性パターンの出現集合に対応する1以上のサンプルを特定する(S103)。
【0119】
具体的に、パターン判定部114は、例えば、データセットDNに含まれる複数のサンプルのうち、S102の処理で特定した属性パターンの出現集合を含む1以上のサンプルを特定する。
【0120】
そして、パターン判定部114は、S103の処理で特定した1以上のサンプルごとに、S102の処理で特定した属性パターンに含まれる各属性よりも、S14の処理、S22の処理またはS74の処理において既に決定した優先順位が低い1以上の属性を特定する(S104)。
【0121】
その後、パターン判定部114は、S104の処理で特定した1以上の属性についてのS103の処理で特定した1以上のサンプルにおける負例の出現集合の包含関係に基づいて、S104の処理で特定した1以上の属性の優先順位を再決定する(S105)。
【0122】
なお、パターン判定部114は、S102の処理で特定した属性パターンについてのS103以降の処理が既に行われている場合、S103以降の処理の実行を省略するものであってよい。
【0123】
図10に戻り、パターン判定部114は、S74の処理で決定した各属性の優先順位に従って、S62の処理、S75の処理またはS82の処理でまだ特定されていない属性パターンのうち、次の探索順序に対応する属性パターンを特定する(S75)。
【0124】
そして、パターン判定部114は、S75の処理で特定した属性パターンの負例の出現頻度が、S75の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少しているか否かを判定する(S76)。
【0125】
その結果、
図11に示すように、S75の処理で特定した属性パターンの負例の出現頻度が、S75の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少していないと判定した場合(S81のNO)、パターン判定部114は、S62の処理、S75の処理またはS82の処理でまだ特定されていない属性パターンから、S74の処理で特定した属性パターンに他の属性を追加した他の属性パターンのそれぞれを、S83の処理を行わない属性パターンとして特定する(S82)。
【0126】
すなわち、情報処理装置1は、S75の処理で特定した属性パターンの出現頻度が、S75の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少していないと判定した場合、S75の処理で特定した属性パターンに他の属性を追加した他の属性パターンに、極小なエマージングパターンが含まれないものと判定する。そのため、情報処理装置1は、例えば、上記のように出現頻度が減少していないことを検知した場合、S75の処理で特定した属性パターンについての判定の実施と、S75の処理で特定した属性パターンに他の属性を追加した他の属性パターンについての判定の実施とを省略することを決定する。
【0127】
さらに、情報処理装置1は、
図4及び
図5で説明した順位決定処理において、上記のように判定の実施を省略できる状況を多く作り出すことために、複数の属性パターンに含まれる各属性の優先順位を予め決定している。
【0128】
これにより、情報処理装置1は、極小なエマージングパターンの抽出に要する計算処理コストを削減することが可能になる。
【0129】
一方、S75の処理で特定した属性パターンの出現頻度が、S75の処理で特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターンの出現頻度から減少していると判定した場合(S81のYES)、パターン判定部114は、S75の処理で特定した属性パターンがエマージングパターンであるか否かについて判定を行う(S83)。
【0130】
そして、S75の処理で特定した属性パターンがエマージングパターンであると判定した場合(S84のYES)、情報管理部111は、S75の処理で特定した属性パターンを示すパターン情報133を情報格納領域130に記憶する(S85)。その後、パターン判定部114は、S82以降の処理を行う。
【0131】
すなわち、S75の処理で特定した属性パターンがエマージングパターンである場合、S75の処理で特定した属性パターンに他の属性を追加した他の属性パターンは、極小なエマージングパターンにならないと判断できる。そのため、パターン判定部114は、S75の処理で特定した属性パターンがエマージングパターンであると判定した場合、S75の処理で特定した属性パターンに他の属性を追加した他の属性パターンについての判定の実施を省略する。
【0132】
そして、S82の処理の後、または、S75の処理で特定した属性パターンがエマージングパターンでないと判定した場合(S84のNO)、パターン判定部114は、S72以降の処理を行う。
【0133】
その結果、S72の処理において、S63の処理、S75の処理またはS82の処理で全ての属性パターンが特定済であると判定した場合(S72のYES)、情報送信部115は、情報格納領域130に記憶されたパターン情報133のうち、極小なエマージングパターンを示す情報を操作端末2に送信する(S73)。
【0134】
具体的に、パターン判定部114は、この場合、例えば、情報格納領域130に記憶されたパターン情報133が示す属性パターンから、極小なエマージングパターンを特定する。そして、情報送信部115は、パターン判定部114が特定した極小なエマージングパターンを示す情報の送信を行う。以下、
図9から
図12で説明した他のパターン判定処理の具体例について説明を行う。
【0135】
[パターン判定処理の具体例(2)]
図18から
図24は、
図9から
図12で説明した他のパターン判定処理の具体例を説明する図である。
【0136】
図19、
図21、
図22及び
図24に示す例は、各属性パターンを各ノードに対応付けた木構造である。そして、
図19等に示す例において、各ノードに対応付けられた左側の数字は、各ノードに対応する属性パターンの正例の出現頻度を示しており、各ノードに対応付けられた右側の数字は、各ノードに対応する属性パターンの負例の出現頻度を示している。なお、以下、各属性パターンの正例の出現頻度が1以上であって、かつ、各属性パターンの負例の出現頻度が0である場合に、各属性パターンがエマージングパターンであると判定されるものとして説明を行う。
【0137】
[データセットの具体例]
初めに、
図9から
図12で説明した他のパターン判定処理の説明に用いるデータセットDの具体例について説明を行う。
図18は、データセットDの具体例について説明する図である。具体的に、
図18(A)は、正例のサンプルを含むデータセットDPの具体例について説明する図である。また、
図18(B)は、負例のサンプルを含むデータセットDPの具体例について説明する図である。
【0138】
図18に示すデータセットDは、
図13で説明したデータセットDと同じ項目を有している。
【0139】
具体的に、
図18(A)に示すデータセットDPにおいて、「ID」が「1」であるサンプルの「属性」には、「c」及び「e」が設定されており、「ID」が「2」であるサンプルの「属性」には、「b」、「c」及び「e」が設定されている。また、「ID」が「3」であるサンプルの「属性」には、「a」、「b」及び「d」が設定されており、「ID」が「4」であるサンプルの「属性」には、「a」、「b」及び「d」が設定されている。
【0140】
一方、
図18(B)に示すデータセットDNにおいて、「ID」が「5」であるサンプルの「属性」には、「d」が設定されており、「ID」が「6」であるサンプルの「属性」には、「c」及び「d」が設定されている。また、
図18(B)に示すデータセットDNにおいて、「ID」が「7」であるサンプルの「属性」には、「a」、「b」及び「c」が設定されており、「ID」が「8」であるサンプルの「属性」には、「a」、「b」、「c」及び「d」が設定されている。
【0141】
[他のパターン判定処理の具体例]
次に、
図9から
図12で説明した他のパターン判定処理の具体例について説明を行う。
【0142】
(属性を含まない属性パターンの探索)
初めに、パターン判定部114は、S62の処理において、先頭の探索順序に対応する属性パターンである「なし」を特定する。また、パターン判定部114は、例えば、
図19に示すように、特定した「なし」を根ノードに対応付ける。
【0143】
ここで、
図19に示す例において、「なし」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「4」である。そのため、パターン判定部114は、S63の処理において、「なし」がエマージングパターンでないと判定する。
【0144】
(「a」を含む属性パターンの探索)
次に、パターン判定部114は、S74の処理(再決定処理)において、複数の属性パターンに含まれる各属性の優先順位を「a」、「b」、「c」及び「d」の順に再決定する。そして、パターン判定部114は、S75の処理において、各属性の優先順位に従い、次の探索順序に対応する属性パターンである「a」を特定する。また、パターン判定部114は、例えば、
図19に示すように、特定した「a」を根ノードに対応する子ノードに対応付ける。
【0145】
ここで、
図19に示す例において、「a」に対応するノードの負例の出現頻度である「2」は、「なし」に対応するノードの負例の出現頻度である「4」から減少している。そのため、パターン判定部114は、S81の処理において、「a」がエマージングパターンであるか否かについての判定を行う。具体的に、
図19に示す例において、「a」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「2」である。そのため、パターン判定部114は、S83の処理において、「a」がエマージングパターンでないと判定する。
【0146】
(「a」及び「d」を含む属性パターンの探索)
次に、パターン判定部114は、S74の処理において、直前に決定(再決定)した各属性の優先順位である「a」、「b」、「c」及び「d」に従い、次の探索順序に対応する属性パターンとして「a,b」を特定する。そして、パターン判定部114は、特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の属性を含む属性パターンとして「a」を特定する。
【0147】
続いて、パターン判定部114は、S74の処理において、
図18(B)で説明したデータセットDNに含まれるサンプルのうち、特定した属性パターンである「a」を含むサンプルとして、3行目及び4行目のそれぞれに対応するサンプルを特定する。そして、パターン判定部114は、
図20(A)に示すように、3行目に対応するサンプルに含まれる属性のうち、優先順位が「a」よりも低い属性である「b」及び「c」を特定する。また、パターン判定部114は、
図20(A)に示すように、4行目に対応するサンプルに含まれる属性のうち、優先順位が「a」よりも低い属性である「b」、「c」及び「d」を特定する。さらに、パターン判定部114は、特定した各属性の優先順位を「d」、「b」及び「c」の順に再決定する。
【0148】
その後、パターン判定部114は、S75の処理において、「b」、「c」及び「d」を含む各属性の優先順位(「b」、「c」及び「d」)に従い、次の探索順序に対応する属性パターンとして「a,d」を特定する。また、パターン判定部114は、例えば、
図19に示すように、特定した「a,d」を「a」に対応する子ノードに対応付ける。
【0149】
ここで、
図19に示す例において、「a,d」に対応するノードの負例の出現頻度である「1」は、「a」に対応するノードの負例の出現頻度である「2」から減少している。そのため、パターン判定部114は、S81の処理において、「a,d」がエマージングパターンであるか否かについての判定を行う。具体的に、
図19に示す例において、「a,d」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「2」及び「1」である。そのため、パターン判定部114は、S83の処理において、「a,d」がエマージングパターンでないと判定する。
【0150】
(「a」、「b」及び「d」を含む属性パターンの探索)
次に、パターン判定部114は、S74の処理において、直前に決定(再決定)した各属性の優先順位である「d」、「b」及び「c」に従い、次の探索順序に対応する属性パターンとして「a,b,d」を特定する。そして、パターン判定部114は、特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の属性を含む属性パターンとして「a,d」を特定する。
【0151】
続いて、パターン判定部114は、S74の処理において、
図18(B)で説明したデータセットDNに含まれるサンプルのうち、属性パターンである「a,d」を含むサンプルとして、4行目に対応するサンプルを特定する。そして、パターン判定部114は、
図20(B)に示すように、4行目に対応するサンプルに含まれる属性のうち、優先順位が「d」よりも低い属性である「b」及び「c」を特定する。さらに、パターン判定部114は、特定した各属性の優先順位を「b」及び「c」の順に再決定する。
【0152】
その後、パターン判定部114は、S75の処理において、再決定した各属性の優先順位に従い、次の探索順序に対応する属性パターンとして「a,b,d」を特定する。また、パターン判定部114は、例えば、
図19に示すように、特定した「a,b,d」を「a,d」に対応する子ノードに対応付ける。
【0153】
ここで、
図19に示す例において、「a,b,d」に対応するノードの負例の出現頻度である「1」は、「a,d」に対応するノードの負例の出現頻度である「1」から減少していない。そのため、パターン判定部114は、S82の処理において、「a,b,d」がエマージングパターンであるか否かについての判定を行わないことを決定する。
【0154】
(「a」、「c」及び「d」を含む属性パターンの探索)
次に、パターン判定部114は、S75の処理において、既に決定した「b」及び「c」を含む各属性の優先順位(「b」及び「c」)に従い、次の探索順序に対応する属性パターンとして「a,c,d」を特定する。また、パターン判定部114は、例えば、
図19に示すように、特定した「a,c,d」を「a,d」に対応する2番目の子ノードに対応付ける。
【0155】
ここで、
図19に示す例において、「a,c,d」に対応するノードの負例の出現頻度である「1」は、「a,d」に対応するノードの負例の出現頻度である「1」から減少していない。そのため、パターン判定部114は、S82の処理において、「a,c,d」がエマージングパターンであるか否かについての判定を行わないことを決定する。
【0156】
(「a」及び「b」を含む属性パターンの探索)
次に、パターン判定部114は、S75の処理において、既に決定した「b」、「c」及び「d」を含む各属性の優先順位(「d」、「b」及び「c」)に従い、次の探索順序に対応する属性パターンとして「a,b」を特定する。また、パターン判定部114は、例えば、
図21に示すように、特定した「a,b」を「a」に対応する2番目の子ノードに対応付ける。
【0157】
ここで、
図21に示す例において、「a,b」に対応するノードの負例の出現頻度である「2」は、「a」に対応するノードの負例の出現頻度である「2」から減少していない。そのため、パターン判定部114は、S82の処理において、「a,b」がエマージングパターンであるか否かについての判定を行わないことを決定する。
【0158】
(「a」及び「c」を含む属性パターンの探索)
次に、パターン判定部114は、S75の処理において、既に決定した「b」、「c」及び「d」を含む各属性の優先順位(「d」、「b」及び「c」)に従い、次の探索順序に対応する属性パターンとして「a,c」を特定する。また、パターン判定部114は、例えば、
図21に示すように、特定した「a,c」を「a」に対応する3番目の子ノードに対応付ける。
【0159】
ここで、
図21に示す例において、「a,c」に対応するノードの負例の出現頻度である「2」は、「a」に対応するノードの負例の出現頻度である「2」から減少していない。そのため、パターン判定部114は、S82の処理において、「a,c」がエマージングパターンであるか否かについての判定を行わないことを決定する。
【0160】
(「b」を含む属性パターンの探索)
次に、パターン判定部114は、S75の処理において、既に決定した「a」、「b」、「c」及び「d」を含む各属性の優先順位(「a」、「b」、「c」及び「d」)に従い、次の探索順序に対応する属性パターンとして「b」を特定する。また、パターン判定部114は、例えば、
図22に示すように、特定した「b」を「なし」に対応する2番目の子ノードに対応付ける。
【0161】
ここで、
図22に示す例において、「b」に対応するノードの負例の出現頻度である「2」は、「なし」に対応するノードの負例の出現頻度である「4」から減少している。そのため、パターン判定部114は、S81の処理において、「b」がエマージングパターンであるか否かについての判定を行う。具体的に、
図22に示す例において、「b」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「3」及び「2」である。そのため、パターン判定部114は、S83の処理において、「b」がエマージングパターンでないと判定する。
【0162】
(「b」及び「d」を含む属性パターンの探索)
次に、パターン判定部114は、S74の処理において、既に決定した「a」、「b」、「c」及び「d」を含む各属性の優先順位(「a」、「b」、「c」及び「d」)に従い、次の探索順序に対応する属性パターンとして「b,c」を特定する。そして、パターン判定部114は、特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の属性を含む属性パターンとして「b」を特定する。
【0163】
続いて、パターン判定部114は、S74の処理において、
図18(B)で説明したデータセットDNに含まれるサンプルのうち、属性パターンである「b」を含むサンプルとして、3行目及び4行目のそれぞれに対応するサンプルを特定する。そして、パターン判定部114は、
図23(A)に示すように、3行目に対応するサンプルに含まれる属性のうち、優先順位が「b」よりも低い属性である「c」を特定する。また、パターン判定部114は、
図23(A)に示すように、4行目に対応するサンプルに含まれる属性のうち、優先順位が「b」よりも低い属性である「c」及び「d」を特定する。さらに、パターン判定部114は、特定した各属性の優先順位を「d」及び「c」の順に決定する。
【0164】
その後、パターン判定部114は、S75の処理において、再決定した各属性の優先順位に従い、次の探索順序に対応する属性パターンとして「b,d」を特定する。また、パターン判定部114は、例えば、
図22に示すように、特定した「b,d」を「b」に対応する子ノードに対応付ける。
【0165】
ここで、
図22に示す例において、「b,d」に対応するノードの負例の出現頻度である「1」は、「b」に対応するノードの負例の出現頻度である「2」から減少している。そのため、パターン判定部114は、S81の処理において、「b,d」がエマージングパターンであるか否かについての判定を行う。具体的に、
図22に示す例において、「b,d」に対応する正例の出現頻度及び負例の出現頻度は、それぞれ「2」及び「1」である。そのため、パターン判定部114は、S83の処理において、「b,d」がエマージングパターンでないと判定する。
【0166】
(「b」、「c」及び「d」を含む属性パターンの探索)
次に、パターン判定部114は、S74の処理において、直前に決定(再決定)した各属性の優先順位である「d」及び「c」に従い、次の探索順序に対応する属性パターンとして「b,c,d」を特定する。そして、パターン判定部114は、特定した属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の属性を含む属性パターンとして「b,d」を特定する。
【0167】
続いて、パターン判定部114は、S74の処理において、
図18(B)で説明したデータセットDNに含まれるサンプルのうち、属性パターンである「b,d」を含むサンプルとして、4行目に対応するサンプルを特定する。そして、パターン判定部114は、
図23(B)に示すように、4行目に対応するサンプルに含まれる属性のうち、優先順位が「d」よりも低い属性である「c」を特定する。
【0168】
その後、パターン判定部114は、S75の処理において、次の探索順序に対応する属性パターンとして「b,c,d」を特定する。また、パターン判定部114は、
図22に示すように、例えば、特定した「b,c,d」を「b,d」に対応する子ノードに対応付ける。
【0169】
ここで、
図22に示す例において、「b,c,d」に対応するノードの負例の出現頻度である「1」は、「b,d」に対応するノードの負例の出現頻度である「1」から減少していない。そのため、パターン判定部114は、S82の処理において、「b,c,d」がエマージングパターンであるか否かについての判定を行わないことを決定する。
【0170】
(「b」及び「c」を含む属性パターンの探索)
次に、パターン判定部114は、S75の処理において、既に決定した「a」、「b」、「c」及び「d」を含む各属性の優先順位(「a」、「b」、「c」及び「d」)に従い、次の探索順序に対応する属性パターンとして「b,c」を特定する。また、パターン判定部114は、例えば、
図24に示すように、特定した「b,c」を「d」に対応する2番目の子ノードに対応付ける。
【0171】
ここで、
図24に示す例において、「b,c」に対応するノードの負例の出現頻度である「2」は、「b」に対応するノードの負例の出現頻度である「2」から減少していない。そのため、パターン判定部114は、S82の処理において、「b,c」がエマージングパターンであるか否かについての判定を行わないことを決定する。
【0172】
このように、本実施の形態における情報処理装置1は、複数の属性パターンに含まれる各属性についての複数のサンプルにおける出現集合の包含関係に基づいて、複数の属性パターンに含まれる各属性の優先順位を決定する。そして、情報処理装置1は、決定した優先順位に基づく探索順序に従って、複数の属性パターンのそれぞれがエマージングパターンであるか否かの判定を行う。
【0173】
ここで、情報処理装置1は、各属性パターンがエマージングパターンであるか否かの判定を行うごとに、第1属性パターン(次に判定が行われる属性パターン)の複数のサンプルにおける出現頻度が、第2属性パターン(第1属性パターンに含まれる属性のうちの優先順位が最も低い属性以外の全ての属性を有する属性パターン)の複数のサンプルにおける出現頻度から減少しているか否かを判定する。そして、情報処理装置1は、第1属性パターンに対応する出現頻度が第2属性パターンに対応する出現頻度から減少しないと判定した場合、第1属性パターンについての判定を行わない。
【0174】
すなわち、本実施の形態における情報処理装置1は、第1属性パターンの出現頻度が第2属性パターンの出現頻度から減少していない場合、第1属性パターンが極小なエマージングパターンではないと判定する。そのため、情報処理装置1は、極小なエマージングパターンの抽出を行うことが処理の目的である場合、第1属性パターンの出現頻度が第2属性パターンの出現頻度から減少していないことの検知に応じて、第1属性パターンについての判定の実施を省略する。
【0175】
さらに、本実施の形態における情報処理装置1は、上記のように判定の実施を省略できる第1属性パターンを多く作り出すために、複数の属性パターンに含まれる各属性の並び替えを予め行う。
【0176】
これにより、情報処理装置1は、エマージングパターンの抽出に要する計算処理コストを削減することが可能になる。具体的に、情報処理装置1は、極小なエマージングパターンの抽出に要する計算処理コストを削減することが可能になる。
【符号の説明】
【0177】
1:情報処理装置 2:操作端末
10:情報処理システム NW:ネットワーク