JP2005285048A - データ解析方式 - Google Patents
データ解析方式 Download PDFInfo
- Publication number
- JP2005285048A JP2005285048A JP2004101940A JP2004101940A JP2005285048A JP 2005285048 A JP2005285048 A JP 2005285048A JP 2004101940 A JP2004101940 A JP 2004101940A JP 2004101940 A JP2004101940 A JP 2004101940A JP 2005285048 A JP2005285048 A JP 2005285048A
- Authority
- JP
- Japan
- Prior art keywords
- data
- items
- processing
- combination
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】本発明はデータの解析手段に係り特に頻出アイテムセットの高速抽出に関する。従来「商品1を購入する顧客は同時に商品2も購入する」といった分析がバスケット解析と呼ばれ実施されてきた。近年大量のデータが収集できるようになってきたが、従来技術で処理すると処理途中で処理対象の数が増加し処理しきれないといった問題があった。本発明は従来技術で処理すると途中で対象の数が増加し処理しきれないようなデータも高速に処理する事が可能なデータ解析方式を提供する。
【解決手段】複数の項目の値の組合せからなるデータを入力する手段とデータに含まれる項目の組合せを抽出する手段と抽出した項目の組合せを出力する手段を具備し、データに含まれる項目の組合せを抽出する手段が条件にあう全ての組合せの中から抽出処理の対象を選択する時に処理対象の数を減らす仕組を持つ。これにより従来遅くなり処理できなかったデータも処理できる。
【選択図】図1
【解決手段】複数の項目の値の組合せからなるデータを入力する手段とデータに含まれる項目の組合せを抽出する手段と抽出した項目の組合せを出力する手段を具備し、データに含まれる項目の組合せを抽出する手段が条件にあう全ての組合せの中から抽出処理の対象を選択する時に処理対象の数を減らす仕組を持つ。これにより従来遅くなり処理できなかったデータも処理できる。
【選択図】図1
Description
本発明はデータの解析手段に係り、特にバスケット解析などに利用される頻出アイテムセットの高速抽出に関する。
従来、例えば「商品1を購入する顧客は、同時に商品2も購入する」といった消費者の商品購入の分析が、バスケット解析と呼ばれるデータ解析として実施されてきた。バスケット解析は、顧客が商品を購入した時のレシートなどをデータとして入力し、そのデータに良く含まれる項目の組み合わせ、すなわち商品の組み合わせを抽出する。代表的なものに、非特許文献1などのものがある。
Rakesh Agrawal, Tomasz Imielinski, Arun N. Swami.Mining Association Rules between Sets of Items in Large Databases,Proc. of the 1993 {ACM} {SIGMOD} International Conference on Management of Data,207−216 (1993)
Rakesh Agrawal, Tomasz Imielinski, Arun N. Swami.Mining Association Rules between Sets of Items in Large Databases,Proc. of the 1993 {ACM} {SIGMOD} International Conference on Management of Data,207−216 (1993)
近年の技術の進歩にともない、大量のデータが収集できるようになってきており、対応するためにデータマイニングの高速化のアイデアが重要になってきている。背景には、上記従来技術で抽出処理を行うと、処理途中で処理の対象の数が極端に増加し、処理時間が増加しすぎて解析できない事がある。
本発明の目的は、上記のような従来技術で抽出処理を行うと、処理途中で処理対象の数が極端に増加し、処理しきれないようなデータも高速に処理する事が可能なデータ解析方式を提供することにある。
上記目的を達成するために、本発明は、複数の項目の値の組み合わせからなるデータを入力する手段と、データに含まれる項目の組合せを抽出する手段と、抽出した項目の組み合わせを出力する手段を具備し、データに含まれる項目の組合せを抽出する手段が、条件にあう全ての組み合わせの中から、抽出処理の対象を選択する時に処理対象の数を減らす仕組を持つ。処理対象の数を減らす事により処理時間を削減する事に第1の特徴がある。
また、本発明は処理対象の数を減らす仕組が、キャッシュアルゴリズムを利用する事に第2の特徴が、処理負荷を考慮して選択を制御する事に第3の特徴がある。
更に、本発明の1実施形態例においては、複数の項目の値の組み合わせからなるデータとして、発信者アドレス、受信者アドレス、ポート番号などのネットワークパケットの情報を入力し、ネットワーク上に頻出するアドレスやポートの組み合わせを抽出する事により、インターネットサービスの妨害を目的としたDoS攻撃の検出や、P2Pパケットの抽出を行う事にも、本発明の特徴がある。
本発明によれば従来技術で抽出処理を行うと、処理途中で処理の対象の数が極端に増加し、処理しきれないようなデータも高速に処理する事ができる。
以下、本発明の1実施例を図面を参照して説明する。図1は本発明の使用する内部データの構造の実施例を示した図である。
本実施例においては、データに含まれる項目数Nの組み合わせを抽出するために専用のキャッシュ構造を用いる。図では1、2、およびN項目の組み合わせを抽出するための例を図示している。11は項目数1用のキャッシュ構造、12は項目数2用のキャッシュ構造、13は項目数N用のキャッシュ構造である。本実施例では図2を用いて後述する処理手順で図1のデータの記憶内容を更新する事により、このキャッシュ構造の中にデータに含まれる項目の組み合わせを抽出する。
図2は本発明の1実施例の処理手順を示した図である。21が手続きの本体であり、全体を制御する処理25から呼出されてデータに含まれる項目の組み合わせを抽出する。第1引数Dは抽出する項目の数を制御する引数である。すなわちDが1の時はデータに含まれる1つの項目を抽出する。Dが2の時には2個の項目からなる項目の組み合わせを抽出する。手続き21は手続き21自身を再帰的に利用する事で、複数の項目からなる項目の組み合わせを抽出する。
全体を制御する処理25は入力したデータを内部形式に変換し(26)、Dを1として手続き21を呼出す(27)。手続き21は初めにD組の項目の組み合わせを抽出し(22)、次にDに1を加えたものを新しいDとして手続き21自身を再帰的に呼び出し(24)、D+1組の項目の組み合わせの抽出を行う。この時23で処理対象の選択を行うが、この処理については後述する。
手続き21の引数TAは入力データ中処理すみの項目の情報、TDは未処理の項目の情報である。これについては後述する。
図3は本発明の実施例の構成を示した図である。この実施例では、複数の項目の値の組み合わせからなるデータとして、発信者アドレス、受信者アドレス、ポート番号などのネットワークパケットの情報を入力し、図2に例示した処理を行う事により、ネットワーク上に頻出するアドレスやポートの組み合わせを抽出する。この事により、インターネットサービスの妨害を目的としたDoS攻撃の検出や、P2Pパケットの抽出ができる。
本実施例では、30はネットワークであり、接続されたパケット収集用スイッチ31から、ネットワークに流れるIPパケットの情報32を処理21に入力する構成となっている。説明の都合上この例ではIPパケットの情報32は発信者アドレス(192.168.0.1)の情報、受信者アドレス(192.168.1.1)の情報、およびポート番号(25)からなるものとする。処理21は入力したデータを内部構造(33)に変換(26)した後、手続き21を呼出す。内部構造への変換はhash関数を利用したもので良い。ここでは発信者アドレス(192.168.0.1)は1に、受信者アドレス(192.168.1.1)は2に、ポート番号(25)は3に変換されたものとする。
以下、図3の入力例を用いて、図2に例示した処理により図1に例示したキャッシュデータが、どう更新されるかを、図4〜図12を用いて説明する。図4は本発明の処理の例を示した図である。図5〜12は本発明の処理中の内部データの例を示した図である。また説明の便宜上、thresholdの値は充分小くmarkとの比較処理(24)は常に真であるとして説明する。
今、キャッシュの内容が空の状態(図5)で発信者アドレス(192.168.0.1)、受信者アドレス(192.168.1.1)、およびポート番号(25)からなるIPパケットの情報32を処理25が入力したとする(図2の26)。処理25は、TAをからの状態で、TDにその内容を内部状態に変換したデータ33を記憶し、Dを1とおき手続き21を呼出す(図2の27、図4の40)。
手続き21はTDに記憶された項目を順番に処理する。具体的にはまずTDに記憶された項目1を項目数1の項目としてキャッシュに記憶する(図2の22、図6の61、62)。この時、キャッシュ61に項目を記録する他、項目数1のデータを記録したのが幾つ目であるか変数skip[1]に記録する(62)。この例では1つ目であるので、変数skip[1]は1になる。また、各項目については、何回目の発生であるかも記憶しておく。即ち61のCounterは、この例では1と設定するが、次に同じ項目の組み合わせが来た時にはCounterの値を増加する事で、同じ項目の組み合わせが何回目であるか記憶する。またキャッシュはハッシュテーブルとし、同じ項目の組み合わせが再度発生した時にキャッシュの中から同じ組み合わせに関するデータが検索可能なようにする。
次にDに1加え、D=2として自分自身を再帰呼び出しする(図2の24)。この時処理した項目1をTAに加え、TDからは削除するので、呼出した時の変数はD=2、TA=「1」、TD=「2、3」となる(図4の41)。
D=2、TA=「1」、TD=「2、3」として呼ばれた手続き21は、項目「1、2」を項目数2の項目としてキャッシュに記憶する(図2の22、図7の71、72)。この時、キャッシュ71に項目を記録する他、項目数2のデータを記録したのが1つ目である事を変数skip[2]に記録する(72)。次にDに1加え、D=3として自分自身を再帰呼び出しする(図2の24)。この時処理した項目2をTAに加え、TDからは削除するので、呼出した時の変数はD=3、TA=「1、2」、TD=「3」となる(図4の42)。
D=3、TA=「1、2」、TD=「3」として呼ばれた手続き21は、項目「1、2、3」を項目数3の項目としてキャッシュに記憶する(図2の22、図8の81、82)。この時、キャッシュ81に項目を記録する他、項目数3のデータを記録したのが1つ目である事を変数skip[3]に記録する(82)。この段階で項目3の処理がされたので未処理のデータはなくなり(図4の401)、手続き21は呼び出し側に帰る。
帰り先の手続き21では項目数2の組み合わせとして「1、3」が残っている(すなわち呼出された時のTDを記憶したNDに3が残っている)ので、項目「1、3」を項目数2の項目としてキャッシュに記憶する(図2の22、図9の91、92)。この時、キャッシュ91に項目を記録する他、項目数2のデータを記録したのが2つ目である事を変数skip[2]に記録する(92)。この段階で未処理のデータはなくなり(図4の402)、手続き21は呼び出し側に帰る。
帰り先の手続き21では項目数2の組み合わせとして「2」が残っているので、項目「2」を項目数1の項目としてキャッシュに記憶する(図2の22、図9の101、102)。この時、キャッシュ101に項目を記録する他、項目数1のデータを記録したのが2つ目である事を変数skip[1]に記録する(102)。更に、この段階で未処理のデータ「3」があるので、呼出した時の変数はD=2、TA=「2」、TD=「3」として、自分自身を再帰呼び出しする(図2の24、図4の43)。
D=2、TA=「2」、TD=「3」として呼ばれた手続き21は、項目「2、3」を項目数2の項目としてキャッシュに記憶する(図2の22、図11の111、112)。この時、キャッシュ111に項目を記録する他、項目数2のデータを記録したのが3つ目である事を変数skip[2]に記録する(112)。この段階で未処理のデータはなくなり(図4の403)、手続き21は呼び出し側に帰る。
帰り先の手続き21では項目数1の組み合わせとして「3」が残っているので、項目「3」を項目数1の項目としてキャッシュに記憶する(図2の22、図12の121、122)。この時、キャッシュ121に項目を記録する他、項目数1のデータを記録したのが3つ目である事を変数skip[1]に記録する(122)。この段階で未処理のデータはなくなり(図4の404)、手続き21は呼び出し側(処理本体25)に帰り、発信者アドレス192.168.0.1、受信者アドレス192.168.1.1、およびポート番号25からなるIPパケット32のための処理を終了する。
次に同じ受信者アドレスと同じポート番号のような、同じ項目の組み合わせを含む別のIPパケットが来た時に、同じ処理を繰り返せば、対応するキャッシュのCounterが積算され、大きくなっていく。Counterがある一定以上大きくなったら表示する、Counterに一定以上大きな値を持つ項目の組み合わせを表示する、というような適当な処理を組み合わせる事により、ネットワーク上に頻出するアドレスやポートの組み合わせが抽出できる。即ち、インターネットサービスの妨害を目的としたDoS攻撃や、P2Pパケットはネットワーク上に多量の同じ組み合わせの項目を持つIPパケットを発生させるので、本発明により検出できる。
以上の説明では、説明の便宜上、thresholdの値は充分小くmarkとの比較処理(24)は常に真であるとして説明してきた。しかし、データに含まれる項目の数が多いと、このような方法では従来と同じく、処理対象の数が著しく増加する。すなわち手続き21への再帰呼び出しの数が大きくなり、処理時間が増加してしまう。本実施例では、この呼び出し回数を削減するために、キャッシュアルゴリズムを利用した処理と処理負荷を考慮した処理を備えている。
具体的には、図2の23のmarkの計算時に、Skipの値が大きい時にmarkの値が小くなるような式を用いている。具体的にはランダムに発生した値に、処理中の項目の組み合わせが発生した数を記憶しているCounterを乗じ、Skip の値で割っている。これによりSkipの値が大きくなった時に以降の処理を省略する可能性が高くなり、結果として処理時間が削減される。また処理中の項目の組み合わせが発生した数を記憶しているCounterを乗じる事で、多く発生している組み合わせの処理が継続される可能性を高くしている。
更に図1に例示したキャッシュにデータを記憶する時には項目の組み合わせからなるハッシュ値が、たまたま他の組み合わせのハッシュ値と同じになっても、幾つかの手法に見られるような再ハッシュの処理を行わず、単純に上書きする。これにより頻出する組み合わせは残るが、余り出てこない組み合わせは上書きされ、markの計算時に乗算されるCounterの数が小さいままになり、以降の処理を省略する可能性が高くなり、結果として処理時間が削減できる。
以上の実施例であきらかなように、本発明によれば従来技術で処理を行うと、処理途中で処理対象の数が極端に増加し、処理しきれないといった問題があったデータも高速に処理する事が可能なデータ解析方式を提供することができる。
本発明は、複数の項目の値の組み合わせからなるデータとして、発信者アドレス、受信者アドレス、ポート番号などのネットワークパケットの情報を入力し、ネットワーク上に頻出するアドレスやポートの組み合わせを抽出する事により、インターネットサービスの妨害を目的としてDoS攻撃の検出や、P2Pパケットの抽出が行える。すなわち、DoS攻撃もP2Pパケットも、どちらも特定のネットワークアドレスなどへのアクセスが集中するので、本発明により組み合わせを抽出する事により、検出可能である。またこれらはデータ数が多い事と、既に説明した組み合わせ爆発の問題から、従来技術での対応が困難であった。
11...項目数1用のキャッシュ構造、
12...項目数2用のキャッシュ構造、
13...項目数3用のキャッシュ構造、
21...手続きの本体、
22...項目数Dの処理本体、
23...処理対象の選択、
24...項目数 D+1 の処理呼び出し、
25...全体の処理、
26...データの入力処理、
27...手続き本体の呼び出し、
30...ネットワーク、
31...パケット収集用スイッチ、
32...IPパケット、
33...手続き本体へ渡されるデータの例、
61...組み合わせ「1」の記録、
62...項目数1の組み合わせの記憶数、
71...組み合わせ「12」の記録、
72...項目数2の組み合わせの記憶数、
81...組み合わせ「123」の記録、
82...項目数3の組み合わせの記憶数、
91...組み合わせ「13」の記録、
92...項目数2の組み合わせの記憶数、
101...組み合わせ「2」の記録、
102...項目数1の組み合わせの記憶数、
111...組み合わせ「23」の記録、
112...項目数2の組み合わせの記憶数、
121...組み合わせ「3」の記録、
122...項目数1の組み合わせの記憶数。
12...項目数2用のキャッシュ構造、
13...項目数3用のキャッシュ構造、
21...手続きの本体、
22...項目数Dの処理本体、
23...処理対象の選択、
24...項目数 D+1 の処理呼び出し、
25...全体の処理、
26...データの入力処理、
27...手続き本体の呼び出し、
30...ネットワーク、
31...パケット収集用スイッチ、
32...IPパケット、
33...手続き本体へ渡されるデータの例、
61...組み合わせ「1」の記録、
62...項目数1の組み合わせの記憶数、
71...組み合わせ「12」の記録、
72...項目数2の組み合わせの記憶数、
81...組み合わせ「123」の記録、
82...項目数3の組み合わせの記憶数、
91...組み合わせ「13」の記録、
92...項目数2の組み合わせの記憶数、
101...組み合わせ「2」の記録、
102...項目数1の組み合わせの記憶数、
111...組み合わせ「23」の記録、
112...項目数2の組み合わせの記憶数、
121...組み合わせ「3」の記録、
122...項目数1の組み合わせの記憶数。
Claims (4)
- 複数の項目の値の組み合わせからなるデータを入力し、データに含まれる項目の組合せを抽出する手段を備えており、抽出した項目の組み合わせを出力する、データ解析方式において、データに含まれる項目の組合せを抽出する手段が、条件にあう全ての組み合わせの中から、抽出処理の対象を選択し、処理対象の数を減らす仕組を持つ事を特徴とする、データ解析方式。
- 条件にあう全ての組み合わせの中から、抽出処理の対象を選択し、処理対象の数を減らす仕組が、キャッシュアルゴリズムを利用して処理対象を選択する事を特徴とする前記1項記載のデータ解析方式。
- 条件にあう全ての組み合わせの中から、抽出処理の対象を選択し、処理対象の数を減らす仕組が、処理負荷を考慮して選択するか否かの判断をする事を特徴とする前記1項記載のデータ解析方式。
- 複数の項目の値の組み合わせからなるデータとして、発信者アドレス、受信者アドレス、ポート番号などのネットワークパケットの情報を入力し、ネットワーク上に頻出するアドレスやポートの組み合わせを抽出する事を特徴とする前記1項記載のデータ解析方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004101940A JP2005285048A (ja) | 2004-03-31 | 2004-03-31 | データ解析方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004101940A JP2005285048A (ja) | 2004-03-31 | 2004-03-31 | データ解析方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005285048A true JP2005285048A (ja) | 2005-10-13 |
Family
ID=35183316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004101940A Pending JP2005285048A (ja) | 2004-03-31 | 2004-03-31 | データ解析方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005285048A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7609629B2 (en) | 2005-04-06 | 2009-10-27 | Alaxala Networks Corporation | Network controller and control method with flow analysis and control function |
US7953007B2 (en) | 2007-07-19 | 2011-05-31 | Alaxala Networks Corporation | Excessive flow detection device, excessive flow detection circuit, terminal apparatus and network node |
JP2012084062A (ja) * | 2010-10-14 | 2012-04-26 | Internatl Business Mach Corp <Ibm> | 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム |
US8345575B2 (en) | 2006-11-29 | 2013-01-01 | Alaxala Networks Corporation | Traffic analysis apparatus and analysis method |
-
2004
- 2004-03-31 JP JP2004101940A patent/JP2005285048A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7609629B2 (en) | 2005-04-06 | 2009-10-27 | Alaxala Networks Corporation | Network controller and control method with flow analysis and control function |
US8358592B2 (en) | 2005-04-06 | 2013-01-22 | Alaxala Networks Corporation | Network controller and control method with flow analysis and control function |
US8345575B2 (en) | 2006-11-29 | 2013-01-01 | Alaxala Networks Corporation | Traffic analysis apparatus and analysis method |
US7953007B2 (en) | 2007-07-19 | 2011-05-31 | Alaxala Networks Corporation | Excessive flow detection device, excessive flow detection circuit, terminal apparatus and network node |
JP2012084062A (ja) * | 2010-10-14 | 2012-04-26 | Internatl Business Mach Corp <Ibm> | 意味のある頻出アイテムセットを抽出するシステム、方法及びプログラム |
US8954468B2 (en) | 2010-10-14 | 2015-02-10 | International Business Machines Corporation | Extracting a meaningful frequent itemset |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200067790A1 (en) | Configuring the generation of ephemeral event streams by remote capture agents | |
US11086897B2 (en) | Linking event streams across applications of a data intake and query system | |
US8255572B1 (en) | Method and system to detect and prevent e-mail scams | |
US20190294598A1 (en) | Generating event streams including aggregated values from monitored netwrok data | |
US20150295779A1 (en) | Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams | |
CA2416959A1 (en) | System and method for unified messaging in inter/intranet telephony | |
US20150287336A1 (en) | Automated phishing-email training | |
US20110162070A1 (en) | Malware detection via reputation system | |
WO2007008524A3 (en) | Rich drag drop user interface | |
US8819587B1 (en) | Methods of managing items in a shared workspace | |
US7212529B2 (en) | System for retrieving destination of a packet with plural headers | |
CN104247378B (zh) | 提供基于规则的内容分析以管理web扩展的激活 | |
CN107124655A (zh) | 虚拟礼物消息展示方法及装置 | |
JP2019102960A (ja) | サイバー攻撃検知システム、特徴量選定システム、サイバー攻撃検知方法、及びプログラム | |
CN107533693A (zh) | 丰富附件的重新生成 | |
Las-Casas et al. | A big data architecture for security data and its application to phishing characterization | |
JP2005285048A (ja) | データ解析方式 | |
US8874666B2 (en) | Publisher-assisted, broker-based caching in a publish-subscription environment | |
US20170063760A1 (en) | Conversation modification for enhanced user interaction | |
CN107147947B (zh) | 关键帧识别方法及装置 | |
JP5673667B2 (ja) | パケット分類器、パケット分類方法、パケット分類プログラム | |
US20230229717A1 (en) | Optimized real-time streaming graph queries in a distributed digital security system | |
CN110351273A (zh) | 一种网络追踪长链条攻击的方法、装置和系统 | |
Al Fahdi et al. | Towards an automated forensic examiner (AFE) based upon criminal profiling & artificial intelligence | |
CN112541825A (zh) | 基于区块链的交易处理方法及装置、电子设备 |