(57)【特許請求の範囲】
【請求項１】
ネットワークから構造を抽出する方法であって、
複数のノードと、該複数のノードのうちの１又は複数のノードを互いに連結して、連結されたノード間の関係の強さを定める１又は複数のエッジとを含むネットワークを規定するエッジリストをプロセッサにより受け取るステップと、
所定のフィルタパラメータより少ない連結を有する前記エッジリストから１又は複数のノードをプロセッサによりフィルタ除去することによって、フィルタリング後に残っている前記エッジリストから前記１又は複数のノードを有するフィルタ処理済みネットワークを形成するステップと、
ダイクストラ法を利用して、前記フィルタ処理済みネットワーク内の１又は複数の異なる連結成分を識別するステップと、
前記フィルタ処理済みネットワークの前記１又は複数の異なる連結成分の各々を、前記１又は複数の異なる連結成分内における追加構造の存在について分析するステップであって、前記追加構造は更なる異なる連結成分に分解される、ステップと、
前記異なる連結成分の各々のツリー走査を実行するステップであって、前記ツリー走査からの結果として得られた階層構造は局所的モジュラリティ最適条件を決定するためにマージされる、ステップと、
前記局所的モジュラリティ最適条件に応答して、前記ネットワーク内の１又は複数の構造成分を生成するステップと、
前記所定のフィルタパラメータより少ない連結を有する前記エッジリストから前記１又は複数のノードのフィルタ除去された前記１又は複数のノードのうちのフィルタ処理済みノードを再アタッチするステップであって、該フィルタ処理済みノードを再アタッチするステップは投票プロセスに基づき、前記フィルタ処理済みノードは、前記フィルタ処理済みノードと、前記１又は複数の構造成分の前記１又は複数のノードとの間の関係の強さに基づいて、前記１又は複数の構造成分のうちの１つの構造成分に再アタッチされる、ステップと、
を含む、方法。
【請求項２】
第２の所定のフィルタパラメータに基づいて前記ネットワークをフィルタ処理するか否かを決定するステップと、
前記ネットワーク内の前記１又は複数の構造成分のノード間の伝導性に基づいて、前記方法の別の反復を完了するステップと、
を更に含む、請求項１に記載の方法。
【請求項３】
第１の反復における前記所定のフィルタパラメータは、第２の反復における第２の所定の連結数よりも少ない第１の所定の連結数を含む、請求項２に記載の方法。
【請求項４】
前記１又は複数のエッジの各々の長さは、連結されたノードの間の関係の強さに反比例する、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記１又は複数の異なる連結成分の各成分を分析するステップは、モジュラリティスペクトル分解法を利用する、請求項１から３のいずれか１項に記載の方法。
【請求項６】
前記所定のフィルタパラメータは、ノードに連結されたエッジの数を定める所定の値である、請求項１から３のいずれか１項に記載の方法。
【請求項７】
ネットワークから構造を抽出するためのシステムであって、
プロセッサと、
前記プロセッサに結合されて機械可読命令セットを記憶した非一時的プロセッサ可読メモリと、
を含み、前記機械可読命令セットは、前記プロセッサによって実行されたときに、該プロセッサに、請求項１から６のいずれか１項に記載の方法を実行させる、
システム。
【請求項８】
ネットワークから構造を抽出するための、命令を含む非一時的コンピュータプログラム製品であって、該命令は、コンピュータによって実行されたときに、該コンピュータに、
請求項１から６のいずれか１項に記載の方法を実行させる、非一時的コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２０１７年８月１日に出願された「大規模、高密度、高ノイズネットワークにおける構造を抽出するためのシステム及び方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｅｘｔｒａｃｔｉｎｇ  Ｓｔｒｕｃｔｕｒｅ  ｉｎ  Ｌａｒｇｅ，  Ｄｅｎｓｅ  ａｎｄ  Ｎｏｉｓｙ  Ｎｅｔｗｏｒｋｓ）」という名称の米国仮特許出願第６２／５３９，７５８号に対する優先権を主張する、２０１８年７月３１日に出願された「大規模、高密度、高ノイズネットワークから構造を抽出するためのシステム及び方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｅｘｔｒａｃｔｉｎｇ  Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｌａｒｇｅ，  Ｄｅｎｓｅ，  ａｎｄ  Ｎｏｉｓｙ  Ｎｅｔｗｏｒｋｓ）」という名称の米国特許出願第１６／０５０，１３８号の利益を主張するものであり、この文献の内容はその全体が引用により本明細書に組み入れられる。
【０００２】
本明細書は、一般にネットワークから構造を抽出するためのシステム及び方法に関し、具体的には、反復プロセスにおいて使用されるフィルタ処理法と分析法との組み合わせを利用して、大規模、高密度(dense)、高ノイズ(noisy)ネットワークモデルから構造を抽出するためのシステム及び方法に関する。
【背景技術】
【０００３】
科学的に興味深い多くのシステムは、一連のノードがエッジによって結合されたネットワークとして表すことができる。一例としては、インターネット及びワールドワイドウェブ、メタボリックネットワーク、フードウェブ、ニューラルネットワーク、通信及び分散ネットワーク、ソーシャルネットワーク、及びデータ解析のための大規模データセットが挙げられる。すなわち、ネットワークモデルは、エンティティ及びその連結方法を記述することができる。しかしながら、これらの大型で通常は高ノイズのネットワークモデル内のコミュニティ構造(community structures)の検出及び特徴付けには問題がある。一般に、この問題は、基底ネットワーク構造を規定する(define)関係が、構造を規定しない関係（例えば、ネットワークモデル内のいわゆる「ノイズ(noise)」）によってかき消されてしまう恐れがあるというものである。既存の方法は、高ノイズ関係(noisy relationships)を解決せず、従ってネットワークモデル全体を通じて基底構造を解決しないことが多い。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｎｅｗｍａｎ著、「ネットワークにおけるモジュラリティ及びコミュニティ構造（Ｍｏｄｕｌａｒｉｔｙ  ａｎｄ  ｃｏｍｍｕｎｉｔｙ  ｓｔｒｕｃｔｕｒｅ  ｉｎ  ｎｅｔｗｏｒｋｓ）」、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｐｎａｓ．ｏｒｇ／ｃｏｎｔｅｎｔ／ｐｎａｓ／１０３／２３／８５７７．ｆｕｌｌ．ｐｄｆ＞
【非特許文献２】Ｄｅ  Ｍｅｏ、Ｐａｓｑｕａｌｅ他著、「大規模ネットワークにおけるコミュニティ検出のための一般的Ｌｏｕｖａｉｎ法（Ｇｅｎｅｒａｌｉｚｅｄ  Ｌｏｕｖａｉｎ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｍｍｕｎｉｔｙ  Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｌａｒｇｅ  Ｎｅｔｗｏｒｋ）」、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｙｓｔｅｍｓ  Ｄｅｓｉｇｎ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ（ＩＳＤＡ）、２０１１、１１ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｙｓｔｅｍｓ  Ｄｅｓｉｇｎ  Ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ、ＩＥＥＥ、８８〜９３ページ、２０１１年
【発明の概要】
【課題を解決するための手段】
【０００５】
１つの実施形態では、ネットワークから構造を抽出する方法が、複数のノードと、複数のノードのうちの１つ又は２つ以上を互いに連結して(connecting)、連結されたノード間の関係の強さを定める１又は２以上のエッジとを含むネットワークを規定するエッジリストをプロセッサが受け取るステップと、所定のフィルタパラメータに基づいてエッジリストから１又は２以上のノードをプロセッサがフィルタ処理(filtering)することによって、フィルタ処理済みネットワークを形成するステップと、を含む。この方法は、ダイクストラ法(Dijkstra’s algorithm)を利用して、フィルタ処理済みネットワーク内の１又は２以上の異なる連結成分(distinct connected components)を識別するステップと、フィルタ処理済みネットワークの１又は２以上の異なる連結成分の各々を、１又は２以上の異なる連結成分内における追加構造の存在について分析して、追加構造をさらなる異なる連結成分に分解するステップと、異なる連結成分の各々のツリー走査(tree traversal)を実行し、ツリー走査からの結果として得られた階層構造を融合して（マージして）(merged)、局所的モジュラリティ最適条件(local modularity optimum)を決定するステップと、局所的モジュラリティ最適条件に応答して、ネットワーク内の１又は２以上の構造成分を生成するステップと、をさらに含む。
【０００６】
別の実施形態では、ネットワークから構造を抽出するシステムが、プロセッサと、プロセッサに結合されて機械可読命令セットを記憶した非一時的プロセッサ可読メモリとを含む。機械可読命令セットは、プロセッサによって実行された時に、プロセッサに、複数のノードと、複数のノードのうちの１つ又は２つ以上を互いに連結して、連結されたノード間の関係の強さを定める１又は２以上のエッジとを含むネットワークを規定するエッジリストを受け取り、所定のフィルタパラメータに基づいてエッジリストから１又は２以上のノードをフィルタ除去(filter out)することによって、フィルタ処理済みネットワークを形成することを行わせる。機械可読命令セットは、ダイクストラ法を利用して、フィルタ処理済みネットワーク内の１又は２以上の異なる連結成分を識別し、フィルタ処理済みネットワークの１又は２以上の異なる連結成分の各々を、１又は２以上の異なる連結成分内における追加構造の存在について分析して、追加構造をさらなる異なる連結成分に分解し、異なる連結成分の各々のツリー走査を実行し、ツリー走査からの結果として得られた階層構造を融合して、局所的モジュラリティ最適条件を決定し、局所的モジュラリティ最適条件に応答して、ネットワーク内の１又は２以上の構造成分を生成することをさらにプロセッサに行わせる。
【０００７】
さらに別の実施形態では、ネットワークから構造を抽出するためのコンピュータプログラム製品が、コンピュータによって実行された時に、コンピュータに、複数のノードと、複数のノードのうちの１つ又は２つ以上を互いに連結して、連結されたノード間の関係の強さを定める１又は２以上のエッジとを含むネットワークを規定するエッジリストを受け取るステップと、所定のフィルタパラメータに基づいてエッジリストから１又は２以上のノードをフィルタ除去することによって、フィルタ処理済みネットワークを形成するステップと、を実行させる。このコンピュータプログラム製品は、ダイクストラ法を利用して、フィルタ処理済みネットワーク内の１又は２以上の異なる連結成分を識別するステップと、フィルタ処理済みネットワークの１又は２以上の異なる連結成分の各々を、１又は２以上の異なる連結成分内における追加構造の存在について分析して、追加構造をさらなる異なる連結成分に分解するステップと、異なる連結成分の各々のツリー走査を実行し、ツリー走査からの結果として得られた階層構造を融合して、局所的モジュラリティ最適条件を決定するステップと、局所的モジュラリティ最適条件に応答して、ネットワーク内の１又は２以上の構造成分を生成するステップと、をコンピュータにさらに実行させる。
【０００８】
以下の詳細な説明を図面と共に考慮すれば、本明細書で説明する実施形態によって提供されるこれらの及びさらなる特徴が十分に理解されるであろう。
【０００９】
図面に示す実施形態は、説明的かつ例示的なものであり、特許請求の範囲に定める主題を限定するものではない。以下の例示的な実施形態についての詳細な説明は、同じ構造を同じ参照数字によって示す以下の図面と共に読むことによって理解することができる。
【図面の簡単な説明】
【００１０】
【図１】本明細書において図示し説明する１又は２以上の実施形態による、大規模、高密度、高ノイズネットワークモデルから構造を抽出するコンピュータネットワーク例を概略的に示す図である。
【図２】本明細書において図示し説明する１又は２以上の実施形態による、大規模、高密度、高ノイズネットワークモデルから構造を抽出するコンピュータ装置例を概略的に示す図である。
【図３】本明細書において図示し説明する１又は２以上の実施形態による、複数の基底構造を有する大規模、高密度ネットワークを図形的に示す図である。
【図４Ａ】本明細書において図示し説明する１又は２以上の実施形態による、基底構造を決定するネットワークモデルの一部の例示的な階層構造表現を示す図である。
【図４Ｂ】本明細書において図示し説明する１又は２以上の実施形態による、基底構造を決定するネットワークモデルに適用される関数当てはめ法の結果の例示的なグラフ表現を示す図である。
【図５】本明細書において図示し説明する１又は２以上の実施形態による、例示的な大規模、高密度、高ノイズネットワークを示す図である。
【図６】本明細書において図示し説明する１又は２以上の実施形態による、大規模、高密度、高ノイズネットワークから構造を反復的に抽出する方法例のフローチャートを図形的に示す図である。
【図７】本明細書において図示し説明する１又は２以上の実施形態による、本明細書で説明する方法を使用して構造を決定できる例示的なネットワークを例示的に示す図である。
【発明を実施するための形態】
【００１１】
ネットワークモデルは、エンティティ及びその連結方法を記述する。非限定的な例として、ネットワークモデルを使用して、書かれた記事間の関係及びこれらの間の引用、或いは出版物間における著者及び共同執筆者のリンクを記述することができる。例えば、記事及び著者は何千万も存在して何十億もの関係を有し、従って著しく大規模なネットワークを形成することができる。非限定的な例として、出版物は、執筆者、内部引用、出版物の媒体、主題、出版日及び改訂日などの、出版物を規定する１又は２以上の属性を有することができる。１つの出版物のこれらの各属性及びその他の属性を他の多くの出版物とリンクさせることによって、出版物のネットワークモデルを形成することができる。本明細書では構造成分とも呼ぶコミュニティは、ネットワークモデルに対して出版物が追加又は除去された時に形成されて存在することができる。このようなコミュニティの決定は、（カタログ又は探索システムなどの）システム又はユーザに、本明細書で説明するシステム及び方法によって決定された基底構造から決定できる固有の一連のコミュニティ（すなわち、一群のネットワーク化された出版物）を提供することができる。
【００１２】
このようなネットワークモデル内では、ネットワークモデルの基底構造を表す高密度な一群の関係を観察することができる。上述した記事の例では、これらの関係が、記事の共通の話題分野(common topic area)、又は著者のコミュニティを表すことができる。このような大規模ネットワークにわたってこの構造を抽出することは困難な場合があり、従ってこれらの群を識別するための複数のアルゴリズムが存在する。多くの場合、基底ネットワーク構造を規定する関係は、構造を規定しない関係、いわゆる「高ノイズ」エッジによってかき消されてしまう恐れがある。限定するわけではないが、ネットワークモデル内の出版物を表すことができる大量のノード（例えば、出版物）を含むことができる多くの理由で、どの関係が構造的であるか、及びどれがノイズであるかを事前に知ることは不可能となり得る。例えば、ネットワークモデル内の第１の出版物及び第２の出版物を、共同執筆者を共有するという理由で互いにリンクさせることはできるが、第１及び第２の出版物をリンクさせる共同執筆者が、第１の出版物で論じられている主題よりもむしろ第２の出版物で論じられている主題を有する出版物に主に執筆を行い、又はこちらの方に実質的に貢献している可能性もあるので、このリンクは「高ノイズ」リンクになり得る。従って、いくつかの例では、主題に基づくコミュニティが、第１の出版物と第２の出版物との間の関係に関するものではあるがそれほど重要ではないリンク（又は本明細書では「エッジ」とも呼ぶ）に起因して「高ノイズ」メンバを含む場合がある。
【００１３】
ネットワーク内の構造を抽出するいくつかの方法は、高ノイズ関係を解決せず、従ってネットワークモデル全体を通じて基底構造を解決しないことが多い。本開示の実施形態は、大規模、高密度、高ノイズネットワークモデル内の構造を抽出するために、高ノイズ関係を解決する反復法を使用して基底構造を解決するシステム及び方法に関する。
【００１４】
本明細書で説明するように、これらのシステム及び方法は、大規模、高密度、高ノイズネットワークモデルから、ネットワークモデル内の、本明細書では構造成分とも呼ぶコミュニティの定義をもたらす構造を抽出する。これらの構造成分は、データストレージ要素内に再アタッチ（再接続）ネットワーク(reattached networks)として記憶することができる。さらに、これらのコミュニティは、ビッグデータセットなどのデータを分析してデータから関係又は傾向などを決定する他のアプリケーション及び方法が利用することもできる。さらなるコンピュータ装置及びシステムがこれらのコミュニティを使用して知識ベースを構築し、又はデータ間の関係を識別することにより、本明細書で説明するシステム及び方法によって明らかになった関係のコミュニティに基づく予測アルゴリズムを通じて、検索アルゴリズムから戻される結果を改善し、及び／又はさらなる関連コンテンツの提案をユーザに行うこともできる。
【００１５】
以下、大規模、高密度、高ノイズネットワークモデルから構造を抽出する様々な実施形態について説明する。
【００１６】
ここで図面を参照すると、図１に、本明細書において図示し説明する１又は２以上の実施形態による、大規模、高密度、高ノイズネットワークモデルから構造を抽出するシステムの構成要素を示すコンピュータネットワーク例１００を示す。図１に示すように、ネットワーク１００は、インターネットなどのワイドエリアネットワーク、ローカルエリアネットワーク（ＬＡＮ）、モバイル通信ネットワーク、公衆交換電話網（ＰＳＴＮ）、及び／又はその他のネットワークを含むことができ、ユーザコンピュータ装置１０２、大規模、高密度、高ノイズネットワークモデルから構造を抽出する抽出コンピュータ１０３及び管理者コンピュータ装置１０４を電気的に及び／又は通信可能に接続するように構成することができる。
【００１７】
ユーザコンピュータ装置１０２は、ディスプレイ１０２ａと、処理装置１０２ｂと、入力装置１０２ｃとを含むことができ、これらの各々は、互いに及び／又はネットワーク１００に通信可能に結合することができる。ユーザコンピュータ装置１０２を使用して、大規模、高密度、高ノイズネットワークモデルから構造を抽出するシステム及び方法を利用できるフロントエンドアプリケーションと相互連結することができる。いくつかの実施形態では、１又は２以上のユーザコンピュータ装置を、本明細書で説明する１又は２以上の特定のステップを実行することによって大規模、高密度及び／又は高ノイズネットワークモデルから構造を抽出するように実装することができる。
【００１８】
また、図１には管理者コンピュータ装置１０４も含まれる。大規模、高密度、高ノイズネットワークモデルから構造を抽出する抽出コンピュータ１０３が監視、更新又は訂正を必要とする場合には、管理者コンピュータ装置１０４を、所望の監視、更新及び／又は訂正を行うように構成することができる。
【００１９】
ユーザコンピュータ装置１０２及び管理者コンピュータ装置１０４をパーソナルコンピュータとして示し、コンテンツ概要を生成する抽出コンピュータ１０３をサーバとして示しているが、これらは一例にすぎないと理解されたい。具体的に言えば、いくつかの実施形態では、これらの構成要素には、いずれもあらゆるタイプのコンピュータ装置（例えば、モバイルコンピュータ装置、パーソナルコンピュータ及びサーバなど）を使用することができる。また、図１にはこれらの各コンピュータ装置を単体のハードウェアとして示しているが、これも一例である。具体的に言えば、ユーザコンピュータ装置１０２、大規模、高密度、高ノイズネットワークモデルから構造を抽出する抽出コンピュータ１０３及び管理者コンピュータ装置１０４の各々は、複数のコンピュータ、サーバ、データベースなどを表すこともできる。例えば、ユーザコンピュータ装置１０２、大規模、高密度、高ノイズネットワークモデルから構造を抽出する抽出コンピュータ１０３、及び管理者コンピュータ装置１０４の各々は、本明細書で説明する方法を実行するための分散又はグリッドコンピューティングフレームワークを形成することができる。
【００２０】
図２に、大規模、高密度、高ノイズネットワークモデルから構造を抽出する抽出コンピュータ１０３の内部構成要素を示す。一般に、抽出コンピュータ１０３は、本明細書で説明するネットワークモデル内からの１又は２以上の構造成分のフィルタ処理、識別、分析及び生成を行う。大規模、高密度、高ノイズネットワークモデルから構造を抽出する抽出コンピュータ１０３は、このようなタスクを完了するために、本明細書において図示し説明する実施形態によるハードウェア、ソフトウェア及び／又はファームウェアを利用することができる。抽出コンピュータ１０３は、いくつかの実施形態では、必須ハードウェア、ソフトウェア及び／又はファームウェアを含む汎用コンピュータとして構成することができ、いくつかの実施形態では、本明細書で説明する機能を実行するように特異的に設計された専用コンピュータとして構成することもできる。抽出コンピュータ１０３が汎用コンピュータである実施形態では、本明細書で説明する抽出コンピュータ１０３によって完了したプロセスが、大規模、高密度、高ノイズネットワークモデルへのアクセスを効率化することによってコンピュータ機能を改善すると理解されたい。
【００２１】
やはり図２に示すように、抽出コンピュータ１０３は、プロセッサ２３０と、入力／出力ハードウェア２３２と、ネットワークインターフェイスハードウェア２３４と、エッジリスト２３８ａ、連結成分データ２３８ｂ、分解連結成分データ２３８ｃ、及び結果として得られる再アタッチネットワーク２３８ｄなどの形の構造成分を記憶するデータストレージ要素２３６と、メモリ２４０とを含むことができる。メモリ２４０は、機械可読メモリとすることができる（非一時的プロセッサ可読メモリと呼ぶこともできる）。メモリ２４０は、揮発性及び／又は不揮発性メモリとして構成することができ、従って（ＳＲＡＭ、ＤＲＡＭ及び／又はその他のタイプのランダムアクセスメモリを含む）ランダムアクセスメモリ、フラッシュメモリ、レジスタ、コンパクトディスク（ＣＤ）、デジタル多機能ディスク（ＤＶＤ）、及び／又はその他のタイプのストレージ要素を含むことができる。また、メモリ２４０は、オペレーティングロジック２４２、フィルタロジック２４４、連結成分ロジック２４６、分解ロジック２４８、ツリー走査ロジック２５０及び再アタッチロジック２５２を記憶するように構成することができ、これらの各々は、コンピュータプログラム、ファームウェア又はハードウェアとして具体化することができ、これについては以下で詳細に説明する。図２には、抽出コンピュータ１０３の構成要素間の通信を容易にするバス又はその他のインターフェイスとして実装できるローカルインターフェイス２４６も含まれる。
【００２２】
プロセッサ２３０は、（データストレージ要素２３６及び／又はメモリ２４０などから）プログラム命令を受け取って実行するように構成されたいずれかの処理要素を含むことができる。この命令は、データストレージ要素２３６及び／又はメモリ２４０に記憶された機械可読命令セット（例えば、１又は２以上のプログラム命令）の形をとることができる。入力／出力ハードウェア２３２は、モニタ、キーボード、マウス、プリンタ、カメラ、マイク、スピーカ、及び／又はデータの受信、送信及び／又は提示を行うその他の装置を含むことができる。ネットワークインターフェイスハードウェア２３４は、モデム、ＬＡＮポート、Ｗｉ-Ｆｉカード、ＷｉＭａｘカード、モバイル通信ハードウェア、及び／又は他のネットワーク及び／又は装置と通信するその他のハードウェアなどの、いずれかの有線又は無線ネットワーキングハードウェアを含むことができる。
【００２３】
データストレージ要素２３６は、抽出コンピュータ１０３の局所及び／又は遠隔地に存在して、抽出コンピュータ１０３及び／又はその他の構成要素がアクセスするための１又は２以上のデータを記憶するように構成することができると理解されたい。図２に示すように、データストレージ要素２３６は、例えばエッジリスト２３８ａを記憶する。エッジリスト２３８ａは、ネットワークモデルの数字表現とすることができる。例えば、エッジリスト２３８ａは、大規模、高密度、そして通常は高ノイズのネットワークモデルとすることができる。エッジリスト２３８ａは、ネットワークグラフ内のノードの一連の近隣を記述する。換言すれば、エッジリストは、複数のノードと、これらの複数のノードのうちの１又は２以上のノードを互いに連結するエッジとを含むネットワークを規定する。１又は２以上のエッジは、例えば、グラフ空間内のノード間の距離を定めるエッジ又はエッジの長さに関連する加重値によって連結ノード間の関係の強さをさらに定めることができる。例えば、長さが長いエッジは弱い関係を示すことができるのに対し、長さが短いエッジは、長さが長いエッジよりも強い関係を示すことができる。いくつかの実施形態では、隣接行列、隣接リスト、又はその他の数値／行列構造によってネットワークを規定することができる。
【００２４】
データストレージ要素２３６は、連結成分データ２３８ｂを記憶することもできる。連結成分データ２３８ｂは、本明細書でさらに詳細に説明する初期フィルタ処理動作によって生成された部分連結ノードとしてのネットワーク表現に関する情報を含むことができる。また、分解連結成分データ２３８ｃは、例えばモジュラリティスペクトル分解法(modularity spectral decomposition method)及び／又はルヴァン法(Louvain method)を使用して分析された後に連結成分データ２３８ｂから規定されるネットワークモデルの一部を含むことができる。すなわち、分解連結成分データ２３８ｃは、１又は２以上の連結成分２３８ｂ内の追加構造を規定する。ネットワークモデルの一部は、例えばワールドワイドウェブのネットワークモデルからの関連する話題に関する一連のウェブページ、ソーシャルネットワークのネットワークモデルからのソーシャルユニット又はコミュニティ、管轄、時間又は相互引用などに基づく関係を有するネットワークモデル判例法からの特定の問題又は話題に関する判例法に制限なく対応することができる。本明細書でさらに詳細に説明するように、これらの部分は、さらなる方法の反復を通じて精緻化することができるさらなる構造を含むことができる。
【００２５】
データストレージ要素２３６は、ネットワークから抽出された１又は２以上の構造成分を規定する再アタッチネットワーク２３８ｄに関するデータを含むこともできる。再アタッチネットワーク２３８ｄは、エッジリスト、隣接メトリクス、又はネットワークモデルの他の数値表現によって表すことができる。再アタッチネットワーク２３８ｄは、ネットワーク内に存在する１又は２以上の個々のコミュニティ構造を定める、大規模、高密度、高ノイズネットワークモデルから決定された１又は２以上の構造成分を含むことができる。例えば、コミュニティは、１又は２以上の著者を共有する一群の記事などの関連ノードのクラスタ(cluster)、又は大規模データ群から決定されることが望ましい他のいずれかの属性とすることができる。
【００２６】
メモリ２４０には、オペレーティングロジック２４２、フィルタロジック２４４、連結成分ロジック２４６、分解ロジック２４８、ツリー走査ロジック２５０、及び／又は再アタッチロジック２５２が含まれる。オペレーティングロジック２４２は、抽出コンピュータ１０３の構成要素を管理するためのオペレーティングシステム及び／又はその他のソフトウェアを含むことができる。フィルタロジック２４４は、メモリ２４０に記憶することもでき、所定のフィルタパラメータに基づいてエッジリストから１又は２以上のノードをフィルタ処理することによってフィルタ処理済みネットワークを形成するための命令を含むことができる。例えば、この所定のフィルタパラメータは、ノード次数(node degree)と呼ぶこともできるノードの連結数（例えば、ノードに連結されたエッジの数）を定める所定の値とすることができる。ネットワーク内の各ノードは、別のノードとの少なくとも１つの連結を有することができる。ネットワークは、ノード及び／又はエッジを除去するように所定のフィルタパラメータによってフィルタ処理される。１つの非限定的な例では、所定のフィルタパラメータがノード次数、すなわちそのノードからネットワーク内の他の全てのノードへの総エッジ数である。この非限定的な例では、連結が良好でなく所定の連結数未満の（例えば、非限定的な例として１、２、３、４、５、６、７、８、９、１０又は１１以上の連結未満の）連結しか有していないノードがネットワークからフィルタ除去される。所定のフィルタパラメータは、最初の反復において最小限に抑え、その後の反復において調整する（例えば、増加又は減少させる）ことができる。このようにしてノードを除去すると、構造及びノイズを示すノード及びエッジがいずれも減少する。すなわち、所定のフィルタパラメータ未満のノードを除去することによってネットワークモデル内の全体的なノード数が減少し、これによってネットワークモデル内の初期の一連の構造が露出し、或いは初期の一連のノイズ及びいくつかの少量の構造要素が少なくとも減少して、その後の処理がネットワークモデルの基底構造を良好に定義できるようになる。
【００２７】
メモリ２４０は、連結成分ロジック２４６を含むこともできる。連結成分ロジック２４６は、フィルタ処理済みネットワーク内の１又は２以上の異なる連結成分を識別するために使用される、例えばダイクストラ法などの１又は２以上のアルゴリズムとすることができる。例えば、ダイクストラ法は、ネットワーク内の第１のノードと第２のノードとの間の最短経路を定める複数の異なる連結成分を生成することができる。ダイクストラ法は、所与のノードについて、この所与のノードの連結先である他の数多くのノードまでの最短経路を決定することができる。これらの各々を組み合わせて連結成分を定めることができる。連結成分は、さらに規定すべき一群のコミュニティを含むことができる。
【００２８】
一般に、ダイクストラ法の実施形態は、ネットワークモデルを解析してネットワーク内の第１のノードと第２のノードとの間の最短経路を定めることにより、ネットワークモデル内の初期ノードから開始して１又は２以上の他のノードまでの経路及び／又はツリーを生成することができる。例えば、ダイクストラ法は、以下の一般的ステップを含むことができる。第１に、ネットワークモデル内の全てのノードに未訪問としてマーク付けし、例えば未訪問セットと呼ばれる全ての未訪問ノードのリストを形成する。第２に、全てのノードに暫定的な初期距離を割り当てることができる。初期ノードにゼロの値を割り当て、他の全てのノードを無限大に設定することができる。第３に、このアルゴリズムは、初期ノード（すなわち、最初の反復における現在のノード）から開始して、現在のノードからその各近隣ノードまでの暫定距離を計算する。この暫定距離を現在のノードの値に加算し、各近隣ノードについて決定された現在割り当てられている値と比較する。２つの値（すなわち、暫定距離、又はそれまでにノードの比較が行われていない場合には無限大の可能性がある近隣ノードの現在値）のうちの小さい方を近隣ノードに割り当てる。例えば、現在のノードＡに６の距離がマーク付けされており、このノードを近隣Ｂに連結するエッジが長さ２を有する場合、ＡからＢまでの距離は６＋２＝８になる。それまでに８よりも大きな距離がＢにマーク付けされていた場合、この値を８に変更する。そうでなければ、現在の値を維持する。第４に、現在のノードに訪問済みとしてマーク付けし、未訪問セットから削除する。訪問済みノードは、決して再びチェックされることはない。第５に、宛先ノードに訪問済みとのマーク付けが行われている場合（すなわち、２つの特定のノード間のルートを計画する場合）、或いは未訪問セット内のノード間の最小暫定距離が無限大である場合（初期ノードと残りの未訪問ノードとの間に連結が存在しない時に発生する、完全な走査を計画する場合）、このアルゴリズムは停止する。そうでなければ、現在のノードの一連の近隣ノードから最小暫定距離とのマーク付けが行われた未訪問ノードを選択し、新たな「現在のノード」として設定する。アルゴリズムは、第３のステップに戻って継続する。
【００２９】
引き続きメモリ２４０を参照すると、メモリ２４０には分解ロジック２４８を記憶することができる。分解ロジック２４８は、一般に連結成分内の追加構造の存在を判別するための１又は２以上の方法を含む。例えば、分解ロジック２４８は、ｈｔｔｐ：／／ｗｗｗ．ｐｎａｓ．ｏｒｇ／ｃｏｎｔｅｎｔ／ｐｎａｓ／１０３／２３／８５７７．ｆｕｌｌ．ｐｄｆにおいて閲覧できるＮｅｗｍａｎの論文「ネットワークにおけるモジュラリティ及びコミュニティ構造（Ｍｏｄｕｌａｒｉｔｙ  ａｎｄ  ｃｏｍｍｕｎｉｔｙ  ｓｔｒｕｃｔｕｒｅ  ｉｎ  ｎｅｔｗｏｒｋｓ）」に記載されているモジュラリティスペクトル分解法を完全に又は部分的に含み、又は別様に実装することができ、このサイトはその全体が引用により本明細書に組み入れられる。さらに、モジュラリティスペクトル分解法の代わりに、例えばＤｅ  Ｍｅｏ、Ｐａｓｑｕａｌｅ他著、「大規模ネットワークにおけるコミュニティ検出のための一般的Ｌｏｕｖａｉｎ法（Ｇｅｎｅｒａｌｉｚｅｄ  Ｌｏｕｖａｉｎ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｍｍｕｎｉｔｙ  Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｌａｒｇｅ  Ｎｅｔｗｏｒｋ）」、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｙｓｔｅｍｓ  Ｄｅｓｉｇｎ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ（ＩＳＤＡ）、２０１１、１１ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｙｓｔｅｍｓ  Ｄｅｓｉｇｎ  Ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ、ＩＥＥＥ、８８〜９３ページ、２０１１年、に記載されているＬｏｕｖａｉｎ法などの他の方法を制限なく利用することもできると理解されたい。さらに、フィルタ処理済みネットワークの１又は２以上の異なる連結成分の各々を１又は２以上の異なる連結成分内の追加構造の存在について分析することができ、追加構造の存在が決定された時に追加構造を異なる追加連結成分に分解できる他の方法を使用することもできる。
【００３０】
メモリ２４０は、ツリー走査ロジック２５０を含むこともできる。ツリー走査ロジック２５０は、各分解連結成分のツリー走査を実行するための命令を含むことができる。ツリー走査は、ネットワークの階層構造又は他のツリー表現などのツリーデータ構造内の各ノードを正確に一回訪問（すなわち、チェック及び／又は更新）するプロセスを意味するグラフ走査の一形態である。このような走査は、ノードが訪問を受ける順番によって分類される。一般に、ネットワークのノードを走査する方法には、中間順、先行順及び後行順という３つの深さ優先順が存在する。しかしながら、探索木の拡張を探索空間の無作為抽出に準拠させて最も期待できる動きを分析することに集中する他の３つの走査アルゴリズムも存在する。ツリー走査ロジック２５０は、例えば階層構造などの、結果として得られた構造を融合するためのロジックを含むこともできる。階層構造は、異なる連結成分毎にツリー走査を実行することから決定することができる。本明細書で詳細に説明するように、結果として得られた階層構造を融合して局所的モジュラリティ最適条件を発見することができる。これにより、ネットワーク内から検索できる複数の構造成分が提供される。例えば、モジュラリティスペクトル分解法を使用して１又は２以上の異なる連結成分を分析すると、結果として得られたツリーの最上位からツリー走査プロセス開始することができ、プロセスがツリーを下向きに走査する際に必要に応じて成分を下位成分に分解することができる。このプロセスは、分割すべき成分又は下位成分が無くなると停止する。次に、プロセスは、結果として得られたツリーを上向きに戻り、（例えば、ネットワークモデルの特性行列の固有ベクトルを通じて表現できる）モジュラリティパラメータによって最適な分割がどこであるかを決定する。例えばＬｏｕｖａｉｎモジュラリティ法を利用する実施形態などの他の実施形態では、ツリー走査法がノードから開始してノードを互いに結合し、モジュラリティパラメータの最適条件が観察されるまでツリーを上向きに遡る。モジュラリティパラメータの最適条件は、最初に全てのノードに作用することによって小さなコミュニティ（すなわち、小さな構造成分）を決定し、次に各小さなコミュニティを１つのノードにグループ化して、モジュラリティの増加が発生しなくなるまでツリー走査プロセスを繰り返すことができる。
【００３１】
図３に、大規模、高密度ネットワーク３００の図形表現を示す。ネットワーク３００のエンティティをノード３０２によって示し、ノード間の関係をエッジによって表す。なお、説明を容易にするために、図３にはネットワーク３００のエッジを示していない。ネットワーク３００内には基底構造が存在することもできるが、ネットワーク３００のサイズ、密度及びノイズの量に起因して見えない場合もあると理解されたい。例示及び説明を目的として、ネットワーク３００全体の基底構造を示すエンティティの構造（例えば、構造成分３０４Ａ〜３０４Ｅ）については異なるグレイスケール値で示す。基底構造を明らかにする方法は、ネットワークの表現（例えば、図３に示す表現）を作成した後に、本明細書で説明する方法を使用して構造を識別することを含む。
【００３２】
上述したように、図４に、例示的なネットワーク表現と、基底構造を決定する方法の図形表現とを示す。ネットワークの表現は、制限を伴わずにエッジリスト、隣接行列又は隣接リストなどとすることができる。本明細書でさらに詳細に説明するように、ネットワークモデルのエッジリストは、２つのノード間の個々の連結のリストを通じて規定を行う。隣接行列は、ノードによってインデックス付けされた行及び列と、セルの行及び列に対応するノード間にエッジが存在するかどうかを示すブール値を含むセルとを有する行列である。ネットワークモデルの隣接リストは、ネットワークモデルの各ノードをその一群の近隣ノード又はエッジに関連付ける。この基本理念には多くの変種が存在し、これらは、ノード及び群間の関連付けの実施方法についての詳細、群の実装方法、ノードとエッジを両方とも含むか、それとも第１種オブジェクト(first class objects)としてのノードのみを含むか、並びにどのような種類のオブジェクトを使用してノード及びエッジを表すかが異なる。
【００３３】
ネットワークにおける基底構造を決定するために利用される方法に関しては、反復プロセスを通じたフィルタ処理と共に、例えばダイクストラ法、スペクトルモジュラリティ分解法、（例えば、図４Ａに示すツリー構造によって示す）階層構造化法、（例えば、図４Ｂに示すネットワークモデルに適用される関数当てはめ法の結果のグラフによって示す）関数当てはめなどの方法を制限なく利用することができる。すなわち、これらの方法は、基底構造の決定をネットワーク内で正確に明らかにする（例えば、信号とノイズエッジとを区別する）のに単独では不十分であるが、本明細書で説明するように併用した時には、これらを使用して、同様のタイプの関係を共有するノードのコミュニティを定義する基底構造を決定することができる。
【００３４】
本明細書で言及する「ノイズ」は、基底構造に大きく寄与しないエッジとして定義される。図５に、大規模、高密度、高ノイズネットワークモデルの図を示す。このネットワークは、連結ノード間の関係を定めるエッジ５０４によって相互連結された複数のノード５０２を含む。ノイズは、一般にランダムなエッジによって生じる。実際には、ランダムなエッジは、長期的な活動のクラスタを生成し始めずにグラフの密な成分を形成するノード間の偶然の相互作用（例えば、一方の出版物が応用数学に関連し他方の出版物が電気工学に関連する場合の出版物に共通する共同執筆者、例えば異なる教授の下で働く大学院生）に起因して発生する。従って、これらのエッジは構造を示さず、これらのエッジの存在がこの構造をかき消してしまう恐れがある。なお、ネットワークは時間的に変化し、構造は発展することができる。従って、ある時点における高ノイズエッジが、さらなるエッジ５０４の形成を通じて時間と共に次第に中心的になり、将来的な何らかの時点で構造を示すようになることもある。図５の例では、ネットワークのノードがコミュニティｉをコミュニティｊに連結する確率Ｐijによって一様にランダムな連結モデルが規定さられる。コミュニティは、関連ノードのクラスタ又は構造成分と呼ぶことができる。一様にランダムな連結モデルでは、モジュラリティスペクトル分解法を用いた検出能の限界が
【数１】
0006970275.tif 000002
によって与えられることを数学的に証明することができる。経験的証拠では、全ての方法に検出限界があることが実証されている。ネットワーク内の構造を検出するには、異なるコミュニティのノード間の連結確率であるＰijを最小化し、同じコミュニティのノード間の連結確率であるＰiiを最大化する必要がある。しかしながら、ノイズと信号の違いを判別することはできないので、コミュニティ内エッジとコミュニティ間エッジとを区別することは困難であり、従って基底構造を明らかにするにはＰijの最小化とＰiiの最大化とを同時に行うことが課題である。なお、本開示の実施形態は、一様にランダムな連結グラフ内の構造を決定することに限定されるものではなく、このようなグラフは一例として示すものにすぎないと理解されたい。本明細書で説明する反復法は、あらゆるタイプのグラフに適用することができる。
【００３５】
以下、図６及び図７を参照しながら、反復プロセスにおいて使用されるフィルタ処理法と分析法との組み合わせを利用して大規模、高密度、高ノイズネットワークモデル７００から構造を抽出する方法について説明する。図６には、大規模、高密度、高ノイズネットワークモデル７００から構造を反復的に抽出する方法例のフローチャートを示す。図７には、図６に関して説明する方法を使用して構造を特定できるネットワーク７００を示す。図７にはかなり単純なネットワーク例７００を示しているが、これは説明目的にすぎず、本明細書で説明するシステム及び方法は、何百個、何千個、何百万個、何十億個、又はそれよりも多くのノード及びエッジを有するネットワーク上に実装することができると理解されたい。図７に示すネットワーク７００は、エッジ７２０〜７４４によって相互連結されたノード７０１〜７１６を含む。エッジ７２０〜７４４は、それぞれが長さを含むことができる。この長さは、連結ノード７２０〜７４４間の関係の強さを定めることができる。いくつかの実施形態では、エッジの長さが、連結ノード７２０〜７４４の間の関係の強さに反比例する。例えば、長いエッジの長さは弱い関係を示すことができ、一方で短いエッジの長さは連結ノード間の強い関係を示すことができる。また、上述したように、各ノードは、特定のノードに連結されたエッジの数を示すノード次数によって定めることができる。例えば、ノード７０１は１のノード次数を有し、ノード７０２は５のノード次数を有する。ノード間の関係の強さ又は弱さ（例えば、関係の度合い又は強度）は、ノードが共有する属性数の結果とすることができ、例えば２つの出版物は、共通の共同執筆者を共有しているという理由で互いにリンクすることができる。これらの２つの出版物が同様の又は関連する主題なども共有している場合には、さらに強いリンクを定めることができる。しかしながら、これは１つの限定的な例にすぎない。ネットワークのノードは、個々の消費者及び商取引方法（例えば、物理的店舗、オンライン小売店又はテレコマースなど）を表すこともでき、この場合、消費者は、購入頻度、返品頻度(return frequency)及びリピート購入頻度などの一連の習慣を通じて取引方法及び他の消費者にリンクされる。属性又は習慣の程度は、消費者の初期ネットワークモデル及び購入方法ネットワークモデルの生成時にモデル内の他のもので正規化することができる。
【００３６】
さて、大規模、高密度、高ノイズネットワークモデル７００から構造を抽出する方法の考察に関する図６及び図７を参照すると、ブロック６０２において、本発明のシステムはエッジリストを受け取ることができる。エッジリストは、ネットワークモデル全体を表す。エッジリストは、複数のノードと、複数のノードのうちの１つ又は２つ以上を互いに連結する１又は２以上のエッジとを含むネットワークモデル７００を規定し、１又は２以上のエッジは、連結ノード間の関係の強さを定める。例えば、以下の表１に、ネットワークモデル７００のエッジリストを示す。
表１
0006970275.tif 000003
【００３７】
いくつかの実施形態では、エッジリストがノードの行列のみを含むことができ、他の実施形態では、エッジ識別子及び／又はエッジ重みを示すことができる。さらに、エッジリストは、ネットワークモデルの規定及び入力のための表現の一例にすぎない。抽出コンピュータ又は他のコンピュータシステムが受け取って利用できる他の表現例としては、隣接行列又は隣接リストなどを挙げることができる。
【００３８】
ブロック６０４において、フィルタ処理法を使用して、所定のフィルタパラメータに基づいてエッジリストから１又は２以上のノードをフィルタ処理することによって、フィルタ処理済みネットワークを形成する。所定のフィルタパラメータは、フィルタ処理プロセスの適用時に所定のフィルタパラメータ以下のノード次数を有するあらゆるノード及び関連するエッジをフィルタ処理するノード次数値とすることができる。例えば、所定のフィルタパラメータが２の値に設定されている場合、ノード７０２、７０７及び７０９は、他のノードとの連結エッジが２以下であるためフィルタ除去される。このフィルタ処理プロセスの結果、少なくとも２つの異なる構造が明らかになる。ノード７０９が除去された結果、ノード７１３〜７１６を含むノードのクラスタは、残りのノードから分離して、クラスタが基底構造を示すことができる旨の初期指示を与える。この非限定的な例では、十分に連結されていないノードがネットワークモデル７００からフィルタ除去される。例えば、連結数が所定の数未満の（例えば、非限定的な例として連結数が２以下の）ノードがネットワークからフィルタ除去される。最初の反復では、この次数フィルタの程度を最小限に保つことができる。このようにノードを除去すると、構造及びノイズを示すノード及びエッジがいずれも減少する。しかしながら、構造の存在下ではノードがコミュニティ間連結よりもコミュニティ内連結を有している可能性が高いことを考えれば、ノードを一様に除去することで、コミュニティ内エッジ(Ｐii)よりもコミュニティ間エッジ(Ｐij) の方が多く減少するようになる。この結果、ネットワーク内の構造を規定する能力を強化することができる。
【００３９】
上述したように、ブロック６０４におけるフィルタ処理ステップ後には、ネットワーク内に異なる連結成分が残る。ブロック６０６において、異なる連結成分を発見する。１つの非限定的な例として、ダイクストラ法を使用して連結成分を識別することができる。ダイクストラ法は、ネットワーク内の第１のノードと第２のノードとの間の最短経路を定める複数の異なる連結成分を生成することができる。ダイクストラ法は、所与のノードについて、この所与のノードが連結された他の数多くのノードまでの最短経理を決定し、これらの経路を定める連結成分を出力することができる。例えば、ノード７０２の連結成分は、以下の表２のノードリストによって定めることができる。
表２
0006970275.tif 000004
【００４０】
これらのリストは、本明細書で説明したフィルタ処理プロセスの結果としてノード７０１、７０７及び７０９が除去された後の、フィルタ処理済みネットワーク内の複数の終点ノードまでの最短経路を表す。このプロセスを、異なる連結成分が識別されるようにネットワーク内の他の各ノードについても繰り返すことができる。
【００４１】
ブロック６０６で特定された各連結成分について、ブロック６０８及び６１０のプロセスを適用する。ブロック６０８において、ブロック６０６で発見された連結成分を分析してさらなる構造を発見する。すなわち、フィルタ処理済みネットワークの１又は２以上の異なる連結成分の各々を、１又は２以上の異なる連結成分内における追加構造の存在について分析し、追加構造の存在が判明した時点で、これらの追加構造をさらなる異なる連結成分に分解する。いくつかの実施形態では、ブロック６０８に示すステップの目的が、ノードを２又は３以上のグループに分離しながらグループ間に延びるエッジ数が最小化されるようにノード内の分割を決定することである。１つの方法は、「最小カット(minimum cut)」法と呼ばれる。しかしながら、この方法は、１つのグループが０個又は１個のノードを含んで他のグループが残りの全てのノードを含むような最適分割を規定することがある。従って、どの分割がコミュニティ間の最も少ないエッジ数を有するかについてコミュニティへのネットワーク分割を単独で決定できず、予想されるコミュニティ間のエッジよりも少なくなることがある。いくつかの実施形態では、モジュラリティと呼ばれる尺度を使用してこの方法を定量化することができる。
【００４２】
モジュラリティは、乗法定数(multiplicative constant)を上限として、グループ内に入るエッジの数から、エッジがランダムに配置された同等のネットワーク内の期待数を差し引いたものである。モジュラリティは、正又は負のいずれかとすることができ、正の値はコミュニティ構造が存在する可能性を示す。従って、システムは、正及び大きな値のモジュラリティを有するネットワークの分割を探すことによってコミュニティ構造を探索することができる。いくつかの実施形態では、モジュラリティプロセスが大規模ネットワーク問題に役立つようにするために、ヒューリスティック法又は外部最適化を使用することができる。しかしながら、本明細書で説明するように、モジュラリティプロセスは、対象ネットワークのスペクトル特性に関して再公式化することができる。この構造を識別するために使用される非限定的な方法例としては、モジュラリティスペクトル分解法が挙げられる。換言すれば、あるパラメータ（例えば、モジュラリティパラメータ）について連結成分を最適化する方法を使用する。いくつかの実施形態では、ブロック６０８において、スペクトル分解法、階層法又は関数当てはめ法を使用することができる。非限定的な例として、ネットワークモデルがｎ個のノードを含むと仮定する。ネットワークモデルの２つのグループへの特定の分割について、ノードｉがグループ１に属する場合にはｓi＝１とし、ノードｉがグループ２に属する場合にはｓi＝−１とする。ノードｉ及びｊ間のエッジ数をＡijとし、この値は通常は０又は１であるが、複数のエッジが許容されるネットワークでは大きな値も可能である。（量Ａijは、いわゆる隣接行列の要素である（すなわち、ネットワークモデルのエッジリスト又は他の行列表現から生成することができる））。同時に、エッジがランダムに配置された場合のノードｉ及びｊ間の予想エッジ数をｋiｋj／２ｍとし、ここでのｋi及びｋjはノード次数であり、
【数２】
0006970275.tif 000005
はネットワークモデル内の総エッジ数である。従って、モジュラリティＱは、同じグループに入る全てのノードペアｉ、ｊにわたる
【数３】
0006970275.tif 000006
の合計によって与えられる。
【００４３】
ｉ及びｊが同じグループに含まれる場合には量
【数４】
0006970275.tif 000007
が１であり、そうでなければ０であることを見てとると、モジュラリティは、以下の方程式１として表すことができ、
【数５】
0006970275.tif 000008
方程式１
ここでの第２の等式は、
【数６】
0006970275.tif 000009
との観察から得られる。１／４ｍという先頭の因数(leading factor)は便宜的なもの(conventional)にすぎない。従って、方程式１は、以下の方程式２のように行列形式で書くことができ、
【数７】
0006970275.tif 000010
方程式２
ここでの
0006970275.tif 000011
0006970275.tif 000012
【数８】
0006970275.tif 000013
方程式３
この方程式は、モジュラリティ行列(modularity matrix)と呼ばれる。なお、行列の行及び列の各々の要素を合計すると、常に固有値０の固有ベクトル（１，１，１，．．．）を
0006970275.tif 000014
【数９】
0006970275.tif 000015
で
【数１０】
0006970275.tif 000016
0006970275.tif 000017
この結果、以下のように表せる方程式４を見出すことができ、
【数１１】
0006970275.tif 000018
方程式４
0006970275.tif 000019
固有値がβ1≧β2≧…βnという減少順でラベル付けされると仮定する。
0006970275.tif 000020
適切な分割を選択することにより、モジュラリティを最大化することである。このことは、最大の（すなわち最も大きな正の）固有値を伴う方程式４の合計に関してできるだけ
0006970275.tif 000021
0006970275.tif 000022
比例するように選択することもできる。これにより、固有ベクトルが直交するので、最大固有値β1を伴う項に全ての重みが加えられ、他の項は自動的にゼロになる。
【００４４】
0006970275.tif 000023
0006970275.tif 000024
0006970275.tif 000025
0006970275.tif 000026
ｓi＝＋１に設定し、そうでなければｓi＝−１に設定することによって実現される。換言すれば、対応する要素が正である全てのノードが１つのグループに入り、残りは全て他のグループに入る。これにより、ネットワークを分割するアルゴリズムが得られる。すなわち、このアルゴリズムは、モジュラリティ行列の主要固有ベクトル(leading eigenvector)を計算し、このベクトルの要素の符号に従ってノードを２つのグループに分割する。説明するアルゴリズムは、主要固有ベクトルの要素の符号のみを利用するが、その大きさも情報を伝える。大きさが大きな要素に対応するノードは、（例えば、方程式４によって示すように）モジュラリティに大きく寄与し、小さな要素については逆である。或いは、ネットワークを２つのグループに最適に分割することができ、ノードを１つのグループから他のグループに移動させる場合、このノードのベクトル要素は、モジュラリティがどれほど減少するかについて示唆し、大きさが大きな要素に対応するノードは、大きなモジュラリティペナルティを伴わないと移動できないのに対し、小さな要素に対応するノードは、比較的低コストで移動することができる。従って、主要固有ベクトルの要素は、各ノードが割り当て先のコミュニティにいかにしっかりと属しているかについての測定単位となり、大きなベクトル要素を有するノードは、そのコミュニティの強力な中心メンバであるのに対し、小さな要素を有するノードは両面性が高い。
【００４５】
いくつかの実施形態では、ブロック６０８において、追加構造をさらなる異なる連結成分に分解することができる。例えば、上述したスペクトルモジュラリティ分解法は、固有ベクトルに基づく分割をエッジ７３２にわたって行うことができると判断し、これによって別のクラスタ（すなわち、異なる連結成分）を形成することができる。例えば、ブロック６０８において、スペクトルモジュラリティ分解法は、ノード７０２、７０３、７０４、７０５、７０６を有するグループ１、ノード７０８、７１０、７１１、７１２を有するグループ２、及び７１３、７１４、７１５、７１６を有するグループ３という少なくとも３つの異なる連結成分を制限なく形成する。
【００４６】
引き続き図６及び図７を参照すると、システムは、各異なる連結成分のツリー走査を実行することができ、ブロック６１０において、ツリー走査から結果として得られる階層構造を融合して局所的モジュラリティ最適条件を決定する。すなわち、局所的モジュラリティ最適条件は、グローバルネットワークモデル全体よりも小さな識別構造内のローカルクラスタ連結を定めることができる。例えば、出版物のネットワークモデルは、それぞれが特定の主題を含む１又は２以上の連結成分（例えば、構造）を有することができる一方で、１又は２以上の連結成分の各々には、執筆者又は副題などの間の関係にさらに具体的に基づく追加構造が存在することができる。局所的モジュラリティ最適条件は、これらの追加構造のローカルクラスタ（例えば、サブコミュニティ）間の分割を定めることができる。上述したように、ツリー走査の実行は、各分解連結成分を走査することを含むことができる。すなわち、ツリー走査は、ネットワークの階層構造又はその他のツリー表現などのツリーデータ構造内の各ノードを正確に１回訪問（すなわち、チェック及び／又は更新）するプロセスを示すグラフ走査の一形態である。結果として得られる階層構造を融合して、局所的モジュラリティ最適条件を発見する。これにより、ネットワーク内から取り出された複数の構造成分が得られる。モジュラリティスペクトル分解法を使用する上述の例では、プロセスがツリーの最上位から開始し、プロセスがツリーを下向きに走査する際に必要に応じて成分が下位成分に分解される。このプロセスは、分割すべき成分又は下位成分が無くなると停止する。次に、プロセスは、結果として得られたツリーを上向きに戻り、モジュラリティパラメータによって最適な分割がどこであるかを調べる。局所的モジュラリティ最適条件の決定に応答して、ネットワークから１又は２以上の構造成分を生成することができる。
【００４７】
ブロック６１０において１又は２以上の構造成分を生成した後に、ブロック６１２において、ブロック６０４のフィルタ処理によって除去されたノードを再接続させる（再アタッチする）(reattached)ことができる。具体的には、所定のフィルタパラメータに基づいてフィルタ処理された１又は２以上のノードのうちのフィルタ処理済みノードを、投票プロセス(voting process)に基づいて再接続させることができる。投票プロセスは、どのコミュニティ（例えば、構造成分）にノードを再接続させるべきであるかを決定することを含むことができる。例えば、フィルタ除去されたノードが、元々はコミュニティＡへの３つの連結と、コミュニティＢへの２つの連結とを有していた場合、コミュニティＡへの連結の方が多いという理由でコミュニティＡに特定のノードを接続させることができる。いくつかの実施形態では、ノードをコミュニティに連結するエッジの長さを考慮することができる。例えば、フィルタ除去されたノードが、元々はコミュニティＣとの１つの連結と、コミュニティＤとの１つの連結とを有していたが、コミュニティＤへの連結が、フィルタ処理済みノードをコミュニティＣに連結するエッジよりも長いライン長を有するエッジによって定められていた場合には、フィルタ処理済みノードをコミュニティＣに再連結することができる。従って、フィルタ処理済みノードは、必ずしも除去された同じ位置に再接続させなくてもよい。
【００４８】
反復（ブロック６０４〜６１２）の完了後、ブロック６１４において、再びフィルタ処理を行って別の反復を完了させるか、それともプロセスを停止するかを決定することができる。この決定は、方法の１又は２以上の反復によって生成された１又は２以上の構造成分によって定められるコミュニティの伝導性に基づくことができる。コミュニティの伝導性を決定するには、例えば以下のプロセスを利用することができる。Ｇ＝（Ｖ，Ｅ）がネットワークのグラフを示すものと仮定すると、一連のノードＳ⊂Ｖ（ここでは、Ｓが全てのノードの半分を超えるノードを含んでいないと仮定する）の伝導性φは、以下のように定義される。Ｓ内のノード次数の合計をｖとし、Ｓ内に１つのエンドポイントを有して、
0006970275.tif 000027
すると、Ｓの伝導性はφ＝ｓ／ｖ、又は同等にφ＝ｓ／（ｓ＋２ｅ）であり、ここでのｅは、両エンドポイントＳを有するエッジの数である。より形式的には、ＡがグラフＧの隣接行列である場合、以下のようになり、
【数１２】
0006970275.tif 000028
方程式６
ここでは
【数１３】
0006970275.tif 000029
であり、この例では、グラフＧの伝導性が以下のようになる。
【数１４】
0006970275.tif 000030
方程式７
【００４９】
0006970275.tif 000031
又はコミュニティＳの同系性を与える。実際に、コミュニティは、連結間よりも連結内の方が多い及び／又は良好な一連のノードと見なすべきであることがしばしば示される。コミュニティの検出及びその品質の評価に関心がある時には、小さな伝導性（すなわち、コミュニティの内部では密にリンクされ、コミュニティの外部では疎にリンクされる組）が好ましくなり得る。
【００５０】
再びフィルタ処理を行って別の反復を実行すると決定した場合には、ブロック６１６において、その後の反復中にネットワーク内のノイズに寄与する要素を除去するように所定のパラメータを増加させた後に、ブロック６０４に戻ってその後のフィルタ処理プロセスを実行する。いくつかの実施形態では、例えば最初の反復中に排除されたノードが多すぎる場合には、より多くのノードを許容するように所定のフィルタパラメータを減少させることができる。
【００５１】
方法の反復をさらに実行して大規模、高密度、高ノイズネットワークモデルから構造を抽出するかどうかにかかわらず、本明細書ではネットワーク内の構造成分とも呼ぶ、結果として得られたコミュニティを、データストレージ要素内に再アタッチネットワークとして記憶することができる。これらのコミュニティは、とりわけビッグデータセットなどのデータを分析してデータから関係又は傾向などを決定する他のアプリケーション及び方法が利用することもできる。いくつかの実施形態では、ネットワークを形成するデータセットが、ネットワーク全体の解析を通じて実行可能に分析されない多くの変数及び多くの関係に基づく。しかしながら、大規模かつ高密度な情報ネットワークから構造を抽出することにより、データが計算リソースにとって管理しやすくなるとともに、より効率的な分析結果を提供することができる。
【００５２】
本明細書で図示し説明したシステム及び方法は、反復プロセスを通じて大規模、高密度、高ノイズネットワークモデルから構造を抽出するものであると理解されたい。このプロセスは、一般に複数のノードと、複数のノードのうちの１又は２以上のノードを互いに接続する１又は２以上のエッジとを含むネットワークを規定するエッジリストを受け取るステップを含む。方法は、所定のフィルタパラメータに基づいてエッジリストから１又は２以上のノードをフィルタ除去することによって、フィルタ処理済みネットワークを形成するステップと、ダイクストラ法を利用して、フィルタ処理済みネットワーク内の１又は２以上の異なる連結成分を識別するステップと、フィルタ処理済みネットワークの１又は２以上の異なる連結成分の各々を１又は２以上の異なる連結成分内の追加構造の存在について分析し、追加構造の存在が判明した時に、追加構造をさらなる異なる連結成分に分解するステップとを含む。また、異なる連結成分の各々に対してツリー走査を実行し、ツリー走査から結果として得られた階層構造を融合して、局所的モジュラリティ最適条件を決定することもできる。ツリー走査プロセスから局所的モジュラリティ最適条件が決定されたことに応答して、ネットワーク内の１又は２以上の構造成分を生成することができる。
【００５３】
本明細書で使用する専門用語は、特定の態様を説明するためのものにすぎず、限定を意図するものではない。本明細書で使用する単数形の「１つの（英文不定冠詞）」及び「その（英文定冠詞）」は、その文脈で別途明確に示していない限り、複数形も含むように意図される。「又は」は、「及び／又は」を意味する。本明細書で使用する「及び／又は」という用語は、関連する１又は２以上の列挙項目のありとあらゆる組み合わせを含む。さらに、「備える、含む（ｃｏｍｐｒｉｓｅｓ及び／又はｃｏｍｐｒｉｓｉｎｇ、或いはｉｎｃｌｕｄｅｓ及び／又はｉｎｃｌｕｄｉｎｇ）」という用語は、本明細書で使用する場合、上述した特徴、領域、整数、ステップ、動作、要素及び／又はコンポーネントの存在を示すが、１又は２以上の他の特徴、領域、整数、ステップ、動作、要素、コンポーネント、及び／又はこれらの群の存在又は追加を除外するものではないと理解されたい。「又はこれらの組み合わせ（ｏｒ  ａ  ｃｏｍｂｉｎａｔｉｏｎ  ｔｈｅｒｅｏｆ）」という用語は、先行する要素のうちの少なくとも１つを含む組み合わせを意味する。
【００５４】
本明細書では、「実質的に（ｓｕｂｓｔａｎｔｉａｌｌｙ）」及び「約（ａｂｏｕｔ）」という用語を利用して、いずれかの定量比較、値、測定値又はその他の表現に起因し得る固有の不確実性度合いを表していることがある。本明細書では、これらの用語を利用して、対象となる主題の基本機能を変化させることなく、記載する内容から定量的表現が変化し得る度合いを表すことができる。
【００５５】
本明細書では特定の実施形態を図示し説明したが、特許請求する主題の趣旨及び範囲から逸脱することなく、他の様々な変更及び修正を行うことができると理解されたい。さらに、本明細書では、特許請求する主題の様々な態様を説明したが、このような態様を組み合わせて利用する必要はない。従って、添付の特許請求の範囲は、特許請求する主題の範囲内に収まる全てのこのような変更及び修正を対象とするように意図される。
【図１】
0006970275.tif 000032
【図２】
0006970275.tif 000033
【図３】
0006970275.tif 000034
【図４Ａ】
0006970275.tif 000035
【図４Ｂ】
0006970275.tif 000036
【図５】
0006970275.tif 000037
【図６】
0006970275.tif 000038
【図７】
0006970275.tif 000039