(57)【要約】      （修正有）【課題】大きな任意のデータセットから関心のある情報を求めるためのグラフクラスタリング用リソースの管理を、効率的かつ正確に行う。【解決手段】第１頂点と第２頂点との間のリンクの候補として、グラフ内の第１頂点と第２頂点とを識別する。第１頂点および第２頂点がデータセット内の要素を表し、リンクは、第１頂点と第２頂点との関係の種類および強度を示している。さらに、第１頂点に関連する第１のリンクカウントと第２頂点に関連する第２のリンクカウントとに基づいて、リンク指標を決定する。リンクカウントは、頂点の各リンクの重みの和を示している。また、リンク指標とリンク閾値との一致に基づいて、リンクによって第１頂点と第２頂点とを接続するか否かを決定する。このリンク閾値は、リンクを用いて２つの頂点を接続するか否かを決定するための測定値を表している。【選択図】図２Ａ
2015162246.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサによって実行されると前記プロセッサに方法を実行させる命令を記憶しているメモリと、
を備えるコンピュータシステムであって、前記方法が、
グラフ内の第１頂点と第２頂点との間のリンクの候補として、前記第１頂点と前記第２頂点とを識別することであって、前記第１頂点と前記第２頂点とがデータセット内の要素を表し、前記リンクが、前記第１頂点と前記第２頂点との間の関係の種類および強度を表す、識別することと、
前記第１頂点に関連する第１のリンクカウントと、前記第２頂点に関連する第２のリンクカウントとに基づいてリンク指標を決定することであって、リンクカウントは、頂点のリンクのそれぞれの重みの合計を示す、決定することと、
リンクを用いて２つの頂点を接続するか否かを決定するための測定値を表すリンク閾値と、前記リンク指標との一致に基づいて、前記第１頂点と前記第２頂点とを接続するか否かを決定することと、
を含む、コンピュータシステム。
【請求項２】
前記リンク指標は、
前記リンク閾値と数値的に同等な値を返す、前記第１および第２のリンクカウントの関数、および
前記リンク閾値と数値的に同等な１つ以上の値を返す、前記グラフの頂点群のリンクカウントの関数のうちの１つ以上である、請求項１に記載のコンピュータシステム。
【請求項３】
前記方法はさらに、前記第１および第２のリンクカウントの少なくとも１つが０であることに応答して、前記第１頂点と前記第２頂点とをリンクによって接続することを含む、請求項１に記載のコンピュータシステム。
【請求項４】
前記方法はさらに、前記第１頂点と前記第２頂点とをリンクによって接続することに応答して、前記第１および第２のリンクカウントを増加させることを含む、請求項１に記載のコンピュータシステム。
【請求項５】
前記方法はさらに、割り当てられたメモリのサイズに基づいて前記リンク閾値を決定することを含む、請求項１に記載のコンピュータシステム。
【請求項６】
前記リンク閾値を決定することは、
前記割り当てられたメモリのサイズからメモリオーバーヘッドのサイズを減算することにより、頂点メモリサイズを決定することと、
前記頂点メモリサイズを前記グラフ内の頂点の数で除算することにより、頂点当たりの平均メモリセグメントを決定することと、
前記頂点当たりの平均メモリセグメントを２乗することと、
を含む、請求項５に記載のコンピュータシステム。
【請求項７】
前記方法はさらに、前記グラフ上のグラフクラスタリングに割り当てられたメモリサイズを、高閾値または低閾値に制限することを含む、請求項１に記載のコンピュータシステム。
【請求項８】
前記方法はさらに、前記低閾値より増大したメモリサイズまたは前記高閾値よりも減少したメモリサイズを表す変更されたメモリサイズを有する前記グラフに、適切なグラフクラスタリング手法を適用することを含む、請求項７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ管理に関する。より具体的には、本開示は、関心のある情報を検出するための、効率的なデータ管理のための方法およびシステムに関する。
【背景技術】
【０００２】
計算能力の急激な向上によって、関心のある情報、例えば、買物嗜好、ソーシャルメディア活動、医療情報照会、および電子メール通信パターンなどを、効率的なデータ解析を使用して抽出することが可能となっている。このようなデータ解析要求に伴って、効率的な計算に対する需要が増加してきた。この結果、機器ベンダーは、関心のある情報を効率的に算出するための、グラフクラスタリングなどの汎用機能を備えたより大規模でより高速なコンピュータ装置を競って製造している。しかしながら、コンピュータ装置の計算能力は無限に向上することができない。少しだけ例を挙げると、計算能力は、物理空間、消費電力、および設計の複雑性によって制限される。さらに、高い能力を有するコンピュータ装置は、通常、より複雑で高価である。より重要なことに、過度に大きくかつ複雑なコンピュータ装置は、多くの場合、経済的なメリットを提供しないため、コンピュータ装置の機能を単に向上させるだけでは、経済的に不利である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この課題に対処する１つの方法は、大きな任意のデータセットから関心のある情報を抽出するために使用するデータ解析ツールの効率を向上させることである。そのような大きなデータセットのデータ解析効率を向上させると、解析ツールがより複雑化し、通常、大規模な現実の配備に適さなくなる。このため、効率的なデータ解析技術は、現実の配備を実行可能にする必要がある。
【０００４】
グラフクラスタリングは、大きなデータセットを解析するためのツールである。典型的には、データセット内の要素は頂点として表され、要素間の関係はグラフ内のリンク（エッジまたは接続と呼ぶことができる）として表される。グラフクラスタリングは、あるクラスタにおける頂点が、他のクラスタにおける頂点よりも互いに密に接続されるように、同様の要素のクラスタ（群）を求める。このように、データセットは、より抽象的なレベルで見ることができ、コンピュータ装置が関心のある情報を決定するのを可能にする。
【０００５】
グラフクラスタリングは、データ解析に多くの望ましい特徴をもたらすが、未解決の問題も残されている。つまり、大きな任意のデータセットから関心のある情報を求めるためのグラフクラスタリング用リソースの管理を、効率的かつ正確に行わなければならないということである。
【課題を解決するための手段】
【０００６】
本発明の一実施形態は、コンピュータシステムを提供する。コンピュータシステムは、プロセッサおよびメモリを含む。メモリは、プロセッサによって実行されるとプロセッサに方法を実行させる命令を記憶する。該方法は、第１頂点と第２頂点との間のリンクの候補として、グラフ内の第１頂点と第２頂点とを識別することを含む。第１頂点および第２頂点がデータセット内の要素を表し、リンクは、第１頂点と第２頂点との関係の種類および強度を示している。方法はさらに、第１頂点に関連する第１のリンクカウントと第２頂点に関連する第２のリンクカウントとに基づいて、リンク指標を決定することを含む。リンクカウントは、頂点の各リンクの重みの和を示している。方法はまた、リンク指標とリンク閾値との一致に基づいて、リンクによって第１頂点と第２頂点とを接続するか否かを決定することを含む。このリンク閾値は、リンクを用いて２つの頂点を接続するか否かを決定するための測定値を表している。
【０００７】
本実施形態の変形例においては、リンク指標は、（ｉ）第１および第２のリンクカウントの関数であって、リンク閾値と数値的に同等な値を返す関数、および（ｉｉ）グラフの頂点群のリンクカウントの関数、のうち１つ以上である。前記関数は、前記リンク閾値と数値的に同等な１つ以上の値を返す。
【０００８】
本実施形態の変形例において、本方法はまた、第１および第２のリンクカウントの少なくとも１つが０であることに応答して、第１頂点と第２頂点とをリンクによって接続することを含む。
【０００９】
本実施形態の変形例において、本方法は、第１頂点と第２頂点とをリンクによって接続することに応答して、第１および第２のリンクカウントを増加させることを含む。
【００１０】
本実施形態の変形例では、本方法は、割り当てられたメモリのサイズに基づいてリンク閾値を決定することを含む。
【００１１】
さらなる変形例では、リンク閾値を決定することは、割り当てられたメモリのサイズからメモリオーバーヘッドのサイズを減算することにより、頂点メモリサイズを決定することと、頂点メモリサイズをグラフ内の頂点数で除算することにより、頂点当たりの平均メモリセグメントを決定することと、頂点当たりの平均メモリセグメントを２乗することと、を含む。
【００１２】
本実施形態の変形例において、本方法はまた、グラフ上でグラフクラスタリングに割り当てられたメモリサイズを高閾値または低閾値に制限することを含む。
【００１３】
さらなる変形例では、本方法は、変更されたメモリサイズのグラフに、適したグラフクラスタリング手法を適用することを含む。この変更されたメモリサイズが、低閾値よりも増大したメモリサイズまたは高閾値よりも減少したメモリサイズを示している。
【図面の簡単な説明】
【００１４】
【図１Ａ】図１Ａは、本発明の一実施形態に係る、グラフクラスタリングに基づいて関心のある情報を効率的に検出するための例示的なシステムを示している。
【図１Ｂ】図１Ｂは、本発明の一実施形態に係る、グラフクラスタリングのための例示的なグラフ還元を示している。
【図２Ａ】図２Ａは、本発明の一実施形態に係る、接続性を確立するための頂点間の例示的なリンクを示している。
【図２Ｂ】図２Ｂは、本発明の一実施形態に係る、頂点接続性のための例示的なリンク閾値計算を示している。
【図３Ａ】図３Ａは、本発明の一実施形態に係る、頂点接続性のための関心情報検出システムのリンクカウント初期化処理を示すフローチャートである。
【図３Ｂ】図３Ｂは、本発明の一実施形態に係る、頂点接続性のための関心情報検出システムのリンク閾値算出処理を示すフローチャートである。
【図４】図４は、本発明の一実施形態に係る、グラフクラスタリングのための関心情報検出システムのリンク形成処理を示すフローチャートである。
【図５】図５は、本発明の一実施形態に係る、データセットを表すグラフのための、関心情報検出システムのグラフクラスタリング手法選択処理を示すフローチャートである。
【図６】図６は、本発明の一実施形態に係る、例示的な関心情報検出システムを示している。
【発明を実施するための形態】
【００１５】
図面において、同様の参照符号は同一の図面要素を示している。
【００１６】
以下の説明は、当業者が本発明を作成し、使用できるようにするためのものであり、特定の用途およびその要件の文脈において提供される。開示された実施形態に対する種々の変形は当業者には容易に明らかであり、本明細書で定義される一般原理は、本発明の精神および範囲から逸脱することなく他の実施形態および用途に適用され得る。したがって、本発明は図示される実施形態に限定されるものではなく、特許請求の範囲に合致する最も広い範囲が認められるべきである。
【００１７】
本発明の実施形態では、大きいおよび／または任意のデータセットから関心のある情報を効率的に収集するという課題は、リソース効率的かつ扱いやすい方法でグラフクラスタリング用の頂点を接続することで解決する。大規模データセットは、意味のある情報を提供しないことが多い。例えば、小売店舗での買物履歴は、顧客の買物嗜好や同様の買物嗜好を持つ顧客などの、関心のある情報を直接的に示すことなく、データの任意のセットを提示することができる。関心のある情報を得る１つの方法は、データセット中の要素および要素間の相互関係を、それぞれグラフにおいて頂点およびリンクとして表し、これら頂点をクラスタリングすることである。頂点（および／または対応するリンク）をクラスタリングする１つの方法は、ある頂点の「ラベル」を別の頂点に伝搬することにより、同じラベルを持つ頂点のクラスタ（例えば、グループ）を形成することである。本開示では、用語「頂点識別子」は、グラフにおける頂点を識別するために使用することができる任意の値を指す。「ラベル」および「識別子」という用語は、互換的に使用されている。
【００１８】
既存のツールでは、グラフクラスタリングは多くの場合、効率的でなく、大規模になりすぎて、利用可能な計算資源および／または所望の時間的要件の範囲内で関心のある情報を得ることができない場合がある。結果として、グラフクラスタリングは、実行可能な方法で関心のある情報を得ることができない場合がある。例えば、そのようなツールは、保持するリンクを決定する前に、データセット中の要素を表す一方で全てのリンクを作成して格納することができない場合がある。これは、リンクを格納するのに十分なメモリがない場合があるからである。ツールが、複数のパスを用いてリンクを検査し、例示化することによってメモリ内の全てのリンクに関する情報を保持することを回避する場合であっても、結果として生じる計算は遅くなる。また、単純に一定のパターンでリンクを間引くことにより、またはランダムにリンクを省略することにより、分離された頂点を残す可能性がある。結果として、これらの分離された頂点はクラスタリングすることができない。
【００１９】
この問題を解決するために、ある条件に基づいて２つの頂点を接続し、リンク（エッジまたは接続と呼ぶこともできる）を形成することにより、冗長な、またはあまり重要でない（例えば、新たな情報をほとんど導入しない）リンクを破棄することができる。このようにして、軽く接続された頂点に取り付けられるリンクは、強く接続された頂点間のリンクを調整することによって維持することができる。一部の実施形態では、データセットから関心のある情報を得るためのシステムは、リンクカウントと各頂点とを対応付ける。リンクカウントは、その頂点のためのリンクの重みの合計を示す。各リンクの重みが１である場合には、頂点のリンクカウントは、その頂点のリンクの数を表している。頂点のこのリンクカウントは、新しいリンクがその頂点で確立されると、その新しいリンクの重み分だけ増分される（例えば、リンクが頂点に加算される）。リンクの重みが１である場合には、リンクカウントは１だけ増分される。
【００２０】
２つの頂点間のリンクを確立するために、システムは、２つの頂点のリンクカウントに基づいてリンク指標を計算する。一部の実施形態では、このリンク指標は、リンクカウントの積である。システムは、リンク指標がリンク閾値と一致するか否かに基づいて、２つの頂点を接続することを控える。このリンク閾値は、２つの頂点がリンクによって接続されるべきか否かを示す。例えば、対応するリンクカウントの積がリンク閾値よりも大きい場合、システムは、２つの頂点を接続することを控えることができる。このようにして、システムは、データセットを表すグラフのサイズを減少させ、それによって、メモリおよび計算にとって効率的な方法で、グラフから関心のある情報を得るためにグラフクラスタリングを行うことができる。
【００２１】
図１Ａは、本発明の一実施形態に係る、グラフクラスタリングに基づいて関心のある情報を効率的に検出するための例示的なシステムを示している。図１Ａに示されるように、関心情報検出システム１３０がネットワーク１３２に接続されている。システム１３０は、１つ以上のコンピュータ装置における、独立型または分散型アプリケーションまたはモジュールとすることができる。ネットワーク１３２の例としては、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、またはインターネットが含まれるが、これらに限定されない。動作中、システム１３０は、情報を含む入力データを受信する。一部の実施形態では、システム管理者は、入力データをシステム１３０に提供する。入力データ内の情報の例には、買物取引、ソーシャルメディアメッセージ、医療情報照会の記録、および電子メールメッセージが含まれるが、これらに限定されない。システム１３０は、入力データから、関心のある情報と呼ぶことができる、推論の集合を生成することができる。関心のある情報の例としては、買物嗜好、ソーシャルメディア活動、照会（例えば、医療情報照会）、および電子メール通信パターンを挙げることができるが、これらに限定されない。
【００２２】
この例では、入力データは、人物１１０および人物１２０に関する情報が含まれる。人物１１０に関する情報は、属性１１２、１１４、および１１６を含む。人物１２０に関する情報は、属性１２２、１２４、および１２６を含む。一部の実施形態では、システム１３０は、ネットワーク１３２を介して、人物１１０がコンピュータ装置１０２を使用する間に属性１１２、１１４、および１１６を収集し、人物１２０がコンピュータ装置１０４を使用する間に属性１２２、１２４、および１２６を収集する。収集された属性に基づいて、システム１３０は、データセット１００を生成する。尚、これらの属性は、コンピュータ装置１０２および１０４、または人物１１０および１２０と関連付けられなくてもよい（すなわち、データセット内の属性は、人や装置に対応せずに任意のものとすることができる）。一方、人物１１０および／または１２０の情報は、人物１１０および／または１２０がコンピュータ装置と対話しなくてもシステム１３０に入力することができる。例えば、システム１３０は、人物１１０および／または１２０が実在の店舗で買い物をしたり、医師によって照会されたり、または第三者のソーシャルメディア投稿または電子メールメッセージで言及されるときに、人物１１０および／または１２０に関する属性を含むことができる。システム１３０は、人物１１０の属性を表す頂点１６２と、人物１２０の属性を表す頂点１６４とを作成する。頂点１６２および１６４の間の関係の種類および強度に基づいて、システム１３０は、頂点１６２および１６４の間のリンク１４２および１４４を作成することができる。
【００２３】
このようにして、システム１３０は、任意の属性を有する任意のデータセット１００を使用することができ、これらの属性と、対応する頂点およびリンクとを関連付ける。一部の実施形態では、データセット１００は、構造化されたデータセットであり、データセット１００は、頂点１６２および１６４、ならびに頂点１６２と１６４との間のリンク１４２および１４４を備えている。システム１３０も、同様に構造化データセットを直接受信することができ、このデータセットは属性に基づいて既に前処理されている。この際、頂点およびリンクが既に構築されているので、属性と、対応する頂点およびリンクとを関連付ける必要がない。例えば、異なる物理的または仮想システムが属性を処理して、構造化データセット１００を生成し、この構造化データセット１００をシステム１３０に供給することができる。システム１３０は、メモリ転送を介して（例えば、光ドライブまたはフラッシュドライブを介して）、またはネットワーク１３２を介して、入力されたデータ（および／またはデータセット１００）を受信することができる。
【００２４】
頂点に関連付けられた属性を持つのとは異なり、システム１３０は、リンクを使用して頂点をクラスタリングする。属性間の各関係は、頂点間のリンクにマッピングされる。例えば、リンクは、「〜は・・・の友人である」、「〜は・・・の親である」、「ソース頂点が目的地頂点を購入した」、「２月に、ソースが目的地に電子メールを送信した」等の、頂点間の異なるタイプの関係を表すことができる。このようにして、２つの頂点は、それらの間の１つ以上の所望の関係に基づいて、共にクラスタリングすることができる。さらに、２つの頂点間のリンクは、これら頂点間の関係の強さを表す重みと関連付けることができる。図１Ａの例では、リンク１４２は、属性１１２および１２４に基づいて、頂点１６２および１６４の間の関係をそれぞれ表している。同様に、リンク１４４は、属性１１４および１２６に基づいて、頂点１６２および１６４の間の関係をそれぞれ表している。リンク１４２によって表される関係がリンク１４４によって表される関係よりも強い場合、リンク１４２の重みがリンク１４４の重みを超えていてもよい。尚、低い重みがより強力な関係を表す場合には、リンク１４２の重みを、リンク１４４の重みよりも小さくすることができる。
【００２５】
リンク１４２および１４４の種類および重みに基づいて、システム１３０は、頂点１６２および１６４をグループにクラスタリングできる。このグループ化によって、データセット１００を解釈可能に抽象化でき、関心のある所望の情報を表すことができる。データセット１００は、小売店舗での買物履歴を含むものとする。頂点１６２は、人物１１０の買物取引（例えば、購入または返品）を表し、頂点１６４は、人物１２０の買物取引を表す。リンク１４２および１４４は、人物１１０および人物１２０の買物取引間の関係を表すことができる。例えば、リンク１４２および１４４は、取引の類似度（例えば、類似色、類似の衣類タイプ、類似ブランドの購入）と、購入の頻度（例えば、頻度、１年のうちどの時期に購入したか、販売イベントへの参加）とを表すことができる。頂点１６２および１６４をクラスタリングすることによって、システム１３０は、「何人の人が１年の特定の時期に特定のタイプの衣類を購入したか」、または「販売イベントでの販売価格がどの程度有効であったか」などの関心のある情報を提供することができる。
【００２６】
しかしながら、システム１３０は、保持するリンクを決定する前に、データセット１００に関連付けられた関係を表す一方で全てのリンクを作成して格納することができない場合がある。これは、リンクを格納する十分なメモリがない場合があるからである。システム１３０が、複数のパスを用いてリンクを検査し、例示化することによってメモリ内の全てのリンクに関する情報を保持することを回避する場合であっても、結果として生じる計算は遅くなる。また、単純に一定のパターンでデータセット１００に関連付けられたリンクを間引くことにより、またはランダムにリンクを省略することにより、分離された頂点を残す可能性がある。結果として、これらの分離された頂点はクラスタリングすることができない。例えば、システム１３０がリンク１４２および１４４をランダムに破棄すると、頂点１６２および１６４が分離されて、クラスタリングすることができなくなる。
【００２７】
この問題を解決するために、頂点１６２および１６４は、ある条件に基づいてリンク（例えば、リンク１４２または１４４）を形成するように接続することができる。これらリンクの１つは、冗長な、またはあまり重要でない（例えば、新たな情報をほとんど導入しない）場合がある。例えば、リンク１４２および１４４のいずれか一方のみで、頂点１６２と１６４との間の関係を十分に表すことができる。リンク１４２または１４４のうちの１つは、メモリに格納されているリンクの数を小さくするために破棄することができる。このようにして、軽く接続された頂点に取り付けられるリンクは、強く接続された頂点間のリンクを調整することによって維持することができる。一部の実施形態では、システム１３０は、それぞれのリンクカウントと頂点１６２および１６４とを関連付ける。このリンクカウントは、頂点のためのリンクの重みの合計を示す。各リンクの重みが１である場合には、頂点のリンクカウントは、この頂点のリンクの数を表している。頂点１６２で新たなリンクが確立されると、対応するリンクカウントは、そのリンクの重みだけ増分される。例えば、リンク１４２が頂点１６２と１６４との間に追加されると、頂点１６２および１６４のためのリンクカウントは、リンク１４２の重みだけ増分される。リンク１４２の重みが１である場合、頂点１６２および１６４のリンクカウントが１だけ増分される。
【００２８】
頂点１６２と１６４との間のリンクを確立するために、システム１３０は、頂点１６２および１６４のリンクカウントに基づいてリンク指標を計算する。一部の実施形態では、このリンク指標は、リンクカウントの積である。システム１３０は、リンク指標がリンク閾値と一致するか否かに基づいて、リンクによって頂点１６２および１６４を接続することを控える。例えば、対応するリンクカウントの積がリンク閾値よりも大きい場合、システム１３０は、リンクによって頂点１６２および１６４を接続することを控えることができる。このようにして、システム１３０は、データセットを表すグラフのサイズを縮小し、それによって、メモリおよび計算にとって効率的な方法で、グラフから関心のある情報を得るためにグラフクラスタリングを行うことができる。
【００２９】
図１Ｂは、本発明の一実施形態に係る、グラフクラスタリングのための例示的なグラフ還元を示している。この例では、データセット１００はさらに、人物１５０に関する情報を含む。人物１５０に関する情報は、属性１５２、１５４、および１５６を含み、頂点１６６で表される。属性が人物１１０、１２０、および１５０の買物履歴を表しているものとする。例えば、属性１１２、１１４、および１１６は、それぞれ、人物１１０が赤い靴、青いシャツ、および黒い帽子を購入したことを示している。同様に、属性１２２、１２４、および１２６は、それぞれ、人物１２０が金のリング、赤い靴、および緑のシャツを購入したことを示している。属性１５２、１５４、および１５６は、それぞれ、人物１５０が電子書籍、スポーツ用品、および緑のシャツを購入したことを示している。システム１３０は、これらの属性を解析し、頂点１６２、１６４、および１６６によって人物１１０、１２０、および１５０の買物履歴をそれぞれ示している。
【００３０】
関心のある情報が類似の買物取引をした顧客である場合、リンクが人物１１０、１２０、および１５０の買物取引間の類似度を表すように、システム１３０は、頂点１６２、１６４、および１６６を接続することができる。例えば、人物１１０および１２０は、いずれも靴を購入しているため、システム１３０は、頂点１６２および１６４を接続して、対応するリンク１４２を作成することができる。同様に、人物１２０および１５０は、いずれもシャツを購入しているため、システム１３０は、頂点１６４および１６６を接続して、対応するリンク１４８を作成することができる。一部の実施形態では、システム１３０は、関係の強さに基づいて、リンクに対して重みを割り当てる。
【００３１】
頂点１６２、１６４、および１６６のうち任意の２つの頂点間のリンクを確立するために、システム１３０は、頂点１６２、１６４、および１６６リンクカウントに基づいてリンク指標を計算する。一部の実施形態では、このリンク指標は、リンクカウントの積である。システム１３０は、リンク指標がリンク閾値と一致するか否かに基づいて、２つの頂点を接続することを控える。例えば、対応するリンクカウントの積がリンク閾値よりも大きい場合、システム１３０は、リンクによって２つの頂点を接続することを控えることができる。
【００３２】
閾値を３とすると、各リンクの重みは１であり、リンク１４２および１４８のみが頂点１６２、１６４、および１６６の間で確立されている。リンク１４２および１４８のために、頂点１６４のリンクカウントは２であり、頂点１６２および１６６のリンクカウントはいずれも１である。人物１１０および１５０は、いずれもシャツを購入しているので、システム１３０は、リンクの候補として対応する頂点１６２および１６６を識別する。頂点１６２および１６６のリンクカウントの積は１であり、これは閾値未満である。結果として、システム１３０は、頂点１６２と１６６とを接続し、リンク１４６を確立する。そして、システム１３０は、頂点１６２および１６６のリンクカウントを、それぞれ２および２に増分する。
【００３３】
一方、人物１１０および１２０は、いずれもシャツを購入しているので、システム１３０は、リンクの候補として対応する頂点１６２および１６４を識別する。リンク１４６に対して増分された、頂点１６２および１６４のリンクカウントの積は４であり、これは閾値よりも大きい。結果として、システム１３０は、頂点１６２と１６４との間のリンク１４４を確立しない（破線で示される）。このようにして、システム１３０は、データセット１００を表すグラフのサイズを減少させ、それによって、メモリおよび計算にとって効率的な方法で、グラフから関心のある情報を得るためにグラフクラスタリングを行うことができる。
【００３４】
図１Ｂの例では、システム１３０は、対応するリンク指標がリンク閾値に一致するか否かに基づいて、２つの頂点間のリンクを確立する。リンク指標は、２つの頂点間のリンクが確立されるべきか否かを示す測定値（例えば、値）を表す。リンク閾値は、２つの頂点がリンクによって接続されるべきか否かを決定するために、リンク指標の一致度を確認するための測定値を表す。図２Ａは、本発明の一実施形態に係る、接続性を確立するための頂点間の例示的なリンクを示している。
【００３５】
動作中、関心情報検出システムは、データセットから頂点２０２、２０４、２１２、２１４、２１６、２１８、２２２、および２２４を形成（または受信）して、グラフ２００を形成する。リンクカウントは、グラフ２００の各頂点に関連付けられている。一部の実施形態において、新たなリンクが頂点に確立される（例えば、リンクが頂点に加えられる）度に、リンクカウントが０に初期化され、グラフ２００において１とすることができる、この新たなリンクの重みだけ増分される。図１Ｂに関連して説明したように、データセット内の関係に基づいて、システムは、リンクの候補として２つの頂点を識別することができる。２つの頂点のリンク指標がリンク閾値と一致する場合、システムは、リンクとの接続性を確立する。一部の実施形態では、リンク指標は、対応するリンクカウントの積であり、リンク閾値は真に正の数である。各リンクカウントの積がリンク閾値を超える場合、リンクを２つの頂点間に追加することができない。このように、頂点の第１潜在的リンクは常に例示化することができる。これは、初期カウントである０と、任意の他のカウント値との積が、真に正である閾値よりも小さくなるためである。
【００３６】
高度に接続された数個の頂点を有することが好まれる場合、一部の実施形態では、頂点候補のいずれかについてのリンクカウントが０である場合には、システムは、２つの頂点間のリンクを確立する（すなわち、リンクを開始または生成する）。例えば、頂点２１２、２１４、および２１６が、頂点２０２に接続されているものとする。この場合、頂点２０２のリンクカウントは３である。動作中、システムは、リンクのための候補となる頂点２０２および２１８を識別する。そして、システムは、頂点２１８についてのリンクカウントを０に決定する。システムは、リンク閾値にかかわらず頂点２１８を頂点２０２に接続することができる。これにより、高度に接続された数個の頂点を形成することができる。
【００３７】
システムが頂点２１２、２１４、２１６、および２１８を頂点２０２に接続すると、頂点２０２のリンクカウントは４に増分される。これは、頂点２０２が４つのリンクを有することを示す。同様に、システムが頂点２２２および２２４を頂点２０４に接続すると、頂点２０４のリンクカウントは２に増分される。これは、頂点２０４が２つのリンクを有することを示す。システムが、リンク（点線で示される）に対する候補となる頂点２０２および２０４を識別すると、システムは、頂点２０２および２０４のリンク指標がリンク閾値に一致するか否かを確認する。リンク指標は、２つのリンクカウントの関数とすることができる。この関数は、リンク閾値と数値的に同等な値を返す。リンク指標の例には、頂点２０２および２０４の各リンクカウントの和、積、ならびに比が含まれるが、これらに限定されない。例えば、システムは、２つのリンクカウントのうち小さい方に対する、２つのリンクカウントのうち大きい方の比がリンク閾値を超えているか否かを確認して、２つの頂点を接続すべきかどうかを決定する。
【００３８】
図２Ａの例では、リンク指標がリンクカウントの和であり、リンク閾値が７であるものとする。頂点２０２および２０４のリンクカウントは、それぞれ４および２である。システムは、頂点２０２および２０４の各リンクカウントを加算することにより（合計６）、頂点２０２および２０４のリンク指標を６と算出する。リンク指標が７未満なので、システムは、リンク２１０を介して頂点２０２および２０４を接続し、それらのリンクカウントをそれぞれ５および３に増分する。
【００３９】
図２Ａの別の例では、リンク指標がリンクカウントの積であり、リンク閾値が７であるものとする。頂点２０２および２０４のリンクカウントは、それぞれ４および２である。システムは、頂点２０２および２０４の各リンクカウントを乗算することにより、頂点２０２および２０４のリンク指標を８と算出する。リンク指標が７よりも大きいので、システムは、頂点２０２および２０４を接続せず、それぞれのリンクカウントを保持する。
【００４０】
図２Ａの別の例では、リンク指標は、２つのリンクカウントのうち小さい方に対する、２つのリンクカウントのうち大きい方の比であり、リンク閾値は７であるものとする。頂点２０２および２０４のリンクカウントは、それぞれ４および２である。システムは、４と２との比を計算することにより、頂点２０２および２０４のリンク指標を２と算出する。リンク指標が７未満なので、システムは、リンク２１０を介して頂点２０２および２０４を接続し、それらのリンクカウントをそれぞれ５および３に増分する。
【００４１】
一部の実施形態では、２つの頂点間の個々のリンクを確立するかどうかを独立して決定する代わりに、システムは、リンクがリンク／グループ指標に一致していれば、潜在的なリンクを、互いに素であるセットへ分割してセット内のリンクを接続する。例えば、リンク／グループ指標は、リンク閾値に一致したリンクのセットにおける、リンクのサブセットであってもよい。換言すれば、リンク／グループ指標は、グラフにおける頂点（すなわち、サブセット内のリンクに関連付けられた頂点）のグループのリンクカウントの関数である。この関数は、リンク閾値と数値的に同等な１つ以上の値を返す。このサブセットの例としては、サブセット内の全てのリンク、サブセット内のリンクのうち少なくとも１つ、サブセットの最も大きく重み付けされたリンク、およびこれらの組合せを含むが、これらに限定されない。システムはこの技術を使用してグラフの一部を接続または切断することができ、それにより、グラフの最終的なトポロジーを制御する何らかの方法をシステム（またはシステムのユーザ）に提供することができる。一部の実施形態では、グラフがハイパーグラフ（リンクが任意の数の頂点を接続可能なグラフ）である場合、この技術は、リンクを確立するかどうかを決定するために使用することができる。
【００４２】
２つの頂点がそれらの間にリンクを有するようになるかどうかは、それら頂点のリンク指標およびリンク閾値に依存する。図２Ｂは、本発明の一実施形態に係る、例示的なリンク閾値計算を示す。図２Ｂの例では、プロセッサとメモリとを備えたコンピュータ装置であってもよい、関心情報検出システム２５０は、データセットからグラフ２００の頂点を形成する。システム２５０は、グラフ形成およびその後のグラフクラスタリングに関連する計算を実行する。一部の実施形態では、ユーザ（例えば、システム管理者）からの入力によって、システム２５０のメモリがどの程度コンピュータシステム専用になっているかを特定することができる。ユーザ入力の例としては、コマンド・ライン・インターフェース・コマンド、グラフィカルユーザインターフェース（ＧＵＩ）入力、テキストファイル、およびスクリプトが挙げられるが、これらに限定されない。
【００４３】
ユーザからの指定に基づいて、システム２５０は、システム２５０のメモリからグラフメモリ２６０を割り当てることができる。グラフメモリ２６０は、関心のある情報の抽出に関連する計算を行うために使用することができる。一部の実施形態では、システム２５０は、グラフメモリ２６０からメモリオーバーヘッド２６２を識別する。オーバーヘッド２６２は、計算を行うための不可避なオーバーヘッドである。残りのメモリは頂点メモリ２６４と呼ぶことができ、典型的には頂点のクラスタリングに用いられる。システム２５０は、グラフメモリ２６０のサイズからオーバーヘッド２６２のサイズを減算して、頂点メモリ２６４のサイズを決定する。システム２５０は、頂点メモリ２６４のサイズを頂点の数（例えば、図２Ａの例では８個）で除算して、頂点当たりの平均メモリセグメント２６６を推定する。
【００４４】
システムは、頂点当たりの平均メモリセグメント２６６のサイズに基づいてリンク閾値を決定する。一部の実施形態では、システムは、頂点当たりの平均メモリセグメント２６６のサイズ（すなわち、除算の結果）を２乗して、リンク閾値を取得する。閾値を決定するこの方法によって、頂点の対は、それら頂点が平均許容リンク数を有するまで接続される。この閾値によって、多数の頂点がそれぞれ、強く接続された頂点に対して１つのリンクを有することが可能になるが、この閾値は軽く接続された頂点間のリンクにとって有利である。
【００４５】
図２Ａおよび図２Ｂの例では、関心情報検出システムは、リンクカウントと各頂点とを関連付け、リンク閾値を決定し、それぞれのリンクカウントに基づいて頂点対のリンク指標を算出し、リンク指標とリンク閾値との一致度に基づいて頂点間にリンクを確立すべきか否かを確認する。これらの動作に基づいて、システムは、データセットを表すグラフのサイズを減少させ、それによって、メモリおよび計算にとって効率的な方法で、グラフから関心のある情報を得るためにグラフクラスタリングを行うことができる。
【００４６】
図３Ａは、本発明の一実施形態に係る、リンク／頂点接続性のための関心情報検出システムのリンクカウント初期化処理を示すフローチャートである。動作中、システムは、データセットを表す頂点を特定する（動作３０２）。図１Ａの例では、システムは、販売活動のデータセットにおける顧客を識別し、その顧客を頂点として表している。システムは、リンクカウントを各頂点に関連付ける（動作３０４）。一部の実施形態において、リンクカウントは、カウンタ（例えば、整数）である。そして、システムは、各頂点のリンクカウントを初期化する（動作３０６）。一部の実施形態では、システムは、リンクカウントを０に初期化する。リンク指標が２つのリンクカウントの積である場合、０の初期値によって、リンクを有しない頂点が、他の頂点のリンクカウントにかかわらず、当該他の頂点に接続される。
【００４７】
図３Ｂは、本発明の一実施形態に係る、頂点接続性のための関心情報検出システムのリンク閾値算出処理を示すフローチャートである。動作中、システムは、グラフクラスタリングのために割り当てられたメモリを識別し、割り当てられたメモリのサイズを決定する（動作３３２）。一部の実施形態では、ユーザは、ユーザによって決定された特定のサイズのメモリを割り当てる。システムは次に、グラフクラスタリング計算に関連するメモリオーバーヘッドのサイズを決定する（動作３３４）。メモリオーバーヘッドは、グラフクラスタリングの非頂点に特有の動作に対応することができる。
【００４８】
図２Ｂに関連して説明したように、システムは、割り当てられたメモリサイズからメモリオーバーヘッドのサイズを減算して頂点メモリサイズを得る（動作３３６）。頂点メモリは、グラフクラスタリングの頂点に特有の動作のために使用することができる。システムは、グラフ内の頂点の数によって頂点メモリサイズを除算して、頂点当たりの平均メモリセグメントサイズを推定する（ステップ３３８）。システムは次に、図２Ｂに関連して説明したように、得られた頂点当たりの平均メモリセグメントサイズに基づいてリンク閾値を決定する（動作３４０）。一部の実施形態では、システムは、頂点当たりの平均メモリセグメントサイズ（すなわち、動作３３８での除算の結果）を２乗して、リンク閾値を取得する。
【００４９】
図４は、本発明の一実施形態に係る、グラフクラスタリングのための関心情報検出システムのリンク形成処理を示すフローチャートである。動作中、システムは、候補頂点対（つまり、ペア）の間のリンクを確立するために、候補頂点対を識別する（動作４０２）。図２Ａに関連して説明したように、システムは、頂点対内の頂点のそれぞれのリンクカウントを取得し（動作４０４）、取得したリンクカウントに基づいてリンク指標を算出する（動作４０６）。リンク指標は、２つのリンクカウントの関数とすることができる。この関数は、リンク閾値と数値的に同等な値を返す。リンク指標の例には、得られたリンクカウントの和、積、および比が含まれるが、これらに限定されない。
【００５０】
システムは次に、リンク指標とリンク閾値とに基づいて、頂点対内の頂点間で接続性が許可されているか否かを判定する（動作４０８）。一部の実施形態において、リンク閾値は、ユーザが割り当てたメモリサイズに基づいて決定される。システムは、接続性が許可されているか否かを確認する（動作４１０）。接続性が許可されている場合、システムは、頂点の間に新たなリンクを加えることにより、頂点対内の頂点間の接続性を確立し（動作４１２）、その新たなリンクの重み分だけ、頂点対内の頂点の各リンクカウントを増分する（動作４１４）。新たなリンクの重みが１である場合、リンクカウントは１だけ増分される。接続性が許可されない場合、システムは、頂点対内の頂点間のリンクを確立しない（動作４１６）。
【００５１】
図２Ｂに関連して説明したように、大量のメモリが利用可能であり、ユーザがメモリ制限を極めて高く設定した場合、閾値が高くなる。結果として、より多くのリンクが頂点間で確立され（すなわち、破棄されるリンクはほとんどない）、グラフクラスタリングの精度が向上する。しかし、このような高精度のグラフクラスタリングでは、グラフクラスタリングに伴うグラフトラバースを実行するのに比較的長い時間がかかることがある。本発明の実施形態は、より少ないリンクが確立されるように（すなわち、より多くのリンクを破棄するように）人為的にメモリ制限を減少させることによってこの問題を解決する。システムによって、ユーザがメモリ制限を設定することができる。結果として、グラフクラスタリング精度が低下しても、グラフクラスタリング性能は向上する（例えば、高速収束）。これにより、ユーザは、低いメモリ制限で複数のグラフクラスタリング手法を比較的迅速に適用して、ユーザが特定のタイプのグラフクラスタリング手法を選択すると、精度を向上するためにメモリ制限を増加させることができる。
【００５２】
図５は、本発明の一実施形態に係る、データセットを表すグラフのための、関心情報検出システムのグラフクラスタリング手法選択処理を示すフローチャートである。動作中、システムは、１つ以上のグラフクラスタリング手法を含むリストを取得する（動作５０２）。一部の実施形態では、ユーザは、リストをシステムに提供する。システムは、グラフクラスタリングのために利用可能なメモリサイズに人為的に制限を設ける（動作５０４）。メモリ制限は、高閾値または低閾値を有することができる。人為的にメモリサイズを低閾値に制限することにより、精度低下と引き換えにグラフクラスタリング速度が向上する。一方、人為的にメモリサイズを高閾値に制限すると、性能低下と引き換えに精度が向上する。例えば、高閾値が利用可能なメモリの全てを表している場合、人為的にメモリサイズを高閾値に制限すると、メモリアクセスが遅くなる可能性がある。システムは、ユーザからメモリ制限と高閾値または低閾値とを得ることができる。そして、システムは、リストからグラフクラスタリング手法を選択して（動作５０６）、制限されたメモリサイズを有するデータセットを表すグラフに、選択されたグラフクラスタリング手法を適用する（動作５０８）。
【００５３】
システムは、リスト中の全ての手法が適用されているか否かを確認する（動作５１０）。全ての手法が適用されていない場合、システムは、リストから別のグラフクラスタリング手法を選択して（動作５０６）、制限されたメモリサイズを有するグラフに、選択されたグラフクラスタリング手法を適用する（動作５０８）。リスト中の全ての手法を適用した場合、システムは、得られたグラフのクラスタに基づいて、関心のある情報を得るのに適したグラフクラスタリング手法を選択する（動作５１２）。一部の実施形態では、ユーザが適切な手法を決定する。システムは次に、変更されたグラフクラスタリング精度のためにメモリサイズの制限を変更し（動作５１４）、メモリ制限が増加したグラフに、選択された適切なグラフクラスタリング手法を適用する（動作５１６）。この変更されたメモリサイズは、低閾値よりも増大したメモリサイズまたは高閾値よりも減少したメモリサイズを表すことができる。尚、メモリサイズを人為的に高閾値または低閾値に制限することは、他のグラフクラスタリング手法にも用いることができる。このような手法の例には、以下に限定されるものではないが、メモリサイズを低閾値に制限することによってシステムを迅速に検査すること、および、メモリサイズを低閾値に制限することによって迅速にグラフをクラスタに区画し、この低閾値よりメモリサイズを増加させることによって元のグラフの一部のクラスタをより正確に生成することが含まれる。
【００５４】
図６は、本発明の一実施形態に係る、例示的な関心情報検出システムを示している。一実施形態において、コンピュータおよび通信システム６００は、関心情報検出システムとして動作する。コンピュータおよび通信システム６００は、プロセッサ６０２、メモリ６０４、および記憶装置６０６を含む。記憶装置６０６は、関心情報検出アプリケーション６０８に加えて、アプリケーション６１０および６１２などの他のアプリケーションを記憶している。動作中、関心情報検出アプリケーション６０８は、記憶装置６０６からメモリ６０４にロードされ、プロセッサ６０２によって実行される。プログラムを実行しながら、プロセッサ６０２は上記の機能を実行する。コンピュータおよび通信システム６００は、オプションの表示装置６１４、キーボード６１６、およびポインティングデバイス６１８に結合される。一部の実施形態では、関心情報検出アプリケーション６０８は、複数のコンピュータおよび通信システム上で実行することができる。これら複数のコンピュータおよび通信システムは、関心情報検出アプリケーション６０８に関連する動作の状態を記述するデータを交換することができる。
【００５５】
尚、上記モジュールは、ハードウェアと同様にソフトウェアで実装することができる。一実施形態では、これらのモジュールは、コンピュータおよび通信システム６００内の１つ以上のプロセッサに結合されたメモリに記憶されているコンピュータ実行可能命令で具体化することができる。実行されると、これらの命令は、プロセッサ（単数または複数）に上述した機能を実行させる。
【００５６】
要約すると、本発明の実施形態は、関心のある情報を検出するためのコンピュータシステムおよび方法を提供する。一実施形態では、コンピュータシステムは、プロセッサおよびメモリを含む。メモリは、プロセッサによって実行されるとプロセッサに方法を実行させる命令を記憶する。該方法は、第１頂点と第２頂点との間のリンクの候補として、グラフ内の第１頂点と第２頂点とを識別することを含む。第１頂点および第２頂点がデータセット内の要素を表している。方法はさらに、第１頂点に関連する、頂点のリンクのそれぞれの重みの合計を示す第１のリンクカウントと、第２頂点に関連する第２のリンクカウントとに基づいて、リンク指標を決定することを含む。方法はまた、リンク指標とリンク閾値との一致に基づいて、リンクによって第１頂点と第２頂点とを接続するか否かを決定することを含む。リンク閾値が、リンクを用いて２つの頂点を接続するか否かを決定する。
【００５７】
本明細書に記載される方法およびプロセスは、コードおよび／またはデータとして具体化することができ、このコードおよび／またはデータは、コンピュータ読み取り可能な一過性の記憶媒体に格納することができる。コンピュータシステムが、コンピュータ読み取り可能な一過性の記憶媒体に記憶されたコードおよび／またはデータを読み出して実行すると、コンピュータシステムは、データ構造およびコードとして具体化されて媒体内に記憶された方法およびプロセスを実行する。
【００５８】
本明細書に記載される方法およびプロセスは、ハードウェアモジュールまたはハードウェア機器によって実行され、および／またはハードウェアモジュールまたはハードウェア機器に含むことができる。これらモジュールまたは機器は、以下に限定されないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールまたは１つのコードを実行する専用または共用のプロセッサ、および／または現在既知であるか今後開発される他のプログラマブル・ロジック・デバイスを含むことができる。ハードウェアモジュールまたはハードウェア機器を起動するとき、それらは、ハードウェアモジュールまたはハードウェア機器に含まれる方法およびプロセスを実行する。
【図１Ａ】
2015162246.tif 000003
【図１Ｂ】
2015162246.tif 000004
【図２Ａ】
2015162246.tif 000005
【図２Ｂ】
2015162246.tif 000006
【図３Ａ】
2015162246.tif 000007
【図３Ｂ】
2015162246.tif 000008
【図４】
2015162246.tif 000009
【図５】
2015162246.tif 000010
【図６】
2015162246.tif 000011