JP7157328B2 - Graph simplification method, graph simplification program, and information processing device - Google Patents
Graph simplification method, graph simplification program, and information processing device Download PDFInfo
- Publication number
- JP7157328B2 JP7157328B2 JP2018211325A JP2018211325A JP7157328B2 JP 7157328 B2 JP7157328 B2 JP 7157328B2 JP 2018211325 A JP2018211325 A JP 2018211325A JP 2018211325 A JP2018211325 A JP 2018211325A JP 7157328 B2 JP7157328 B2 JP 7157328B2
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- node
- hub
- core
- core node
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明はグラフ簡略化方法、グラフ簡略化プログラムおよび情報処理装置に関する。 The present invention relates to a graph simplification method, a graph simplification program, and an information processing apparatus.
多数のノードとノード間を接続するエッジとを含む大規模グラフを生成し、生成した大規模グラフを用いて様々な分析を行うことがある。例えば、人や企業や装置などの実体的存在(エンティティ)をノードで表現し、エンティティ間の関係をエッジで表現し、特定の条件を満たすエンティティまたは関係をグラフから検索することがある。 A large-scale graph including many nodes and edges connecting the nodes is generated, and various analyzes are performed using the generated large-scale graph. For example, entities such as people, companies, and devices are represented by nodes, relationships between the entities are represented by edges, and entities or relationships satisfying specific conditions are searched from the graph.
例えば、同一企業内のユーザ間で行われるコミュニケーションのうち業務との関連が強いコミュニケーションを抽出して、ユーザ間の人脈を定量的に評価する人脈分析検索システムが提案されている。提案の人脈分析検索システムは、相互にコミュニケーション量が多いユーザの集合をコミュニケーションコアとして抽出する。 For example, there has been proposed a personal-connection analysis/search system that extracts communications that are strongly related to work among communications between users in the same company, and quantitatively evaluates personal connections between users. The proposed personal network analysis and search system extracts a group of users who have a large amount of communication with each other as a communication core.
また、例えば、スケールフリー特性をもつ大規模グラフにおける最短経路探索を並列処理化するグラフ処理方法が提案されている。また、例えば、専用の論理回路を用いたハードウェア処理と汎用プロセッサを用いたソフトウェア処理とを併用して、グラフの最短経路探索を行う情報処理システムが提案されている。提案の情報処理システムは、接続エッジ数が最も大きいノードをハブノードとしてグラフから抽出し、ハブノードを中心に形成されるノード群を優先的にハードウェア処理に割り当てる。 Also, for example, a graph processing method has been proposed that parallelizes the shortest path search in a large-scale graph with scale-free characteristics. Further, for example, an information processing system has been proposed in which hardware processing using a dedicated logic circuit and software processing using a general-purpose processor are used together to search for the shortest path in a graph. The proposed information processing system extracts a node with the largest number of connected edges from the graph as a hub node, and preferentially assigns a node group formed around the hub node to hardware processing.
経路探索などの検索処理に用いるグラフは、多数のエッジをもつハブノードと、少数のエッジをもつ周辺ノードとから形成されていることがある。特に、人や企業の間の社会的関係を表すグラフなど、ある種類のグラフは、ハブノード同士が密に接続されたコアと周辺ノードが分散した周辺部とを有していることがある。 A graph used for search processing such as route search may be formed from hub nodes with many edges and peripheral nodes with a small number of edges. In particular, certain types of graphs, such as graphs representing social relationships between people and businesses, may have a core with densely connected hub nodes and a periphery with distributed peripheral nodes.
コアを有するグラフに対してそのまま検索処理を行うと、コアは多数のエッジを含むため計算量が大きくなってしまう。一方で、コア内部においては多くのハブノードが相互に接続されていることが期待されるため、検索処理上の重要性が比較的低く、厳密な検索処理が不要であることもある。そこで、検索処理の効率化のためにグラフを簡略化することが考えられる。例えば、周辺部に属する2つの周辺ノードの間の経路を、コアを簡略化したグラフを用いて探索することが考えられる。 If a search process is performed on a graph having a core as it is, the core includes a large number of edges, resulting in a large amount of calculation. On the other hand, since many hub nodes are expected to be interconnected inside the core, their importance in search processing is relatively low, and strict search processing may not be necessary. Therefore, it is conceivable to simplify the graph in order to improve the efficiency of search processing. For example, it is conceivable to search for a path between two peripheral nodes belonging to the periphery using a graph that simplifies the core.
しかし、コアを無視したりコアを1つのノードに置換するなどの極端な簡略化を行うと、コア内部のハブノードと周辺ノードとの間の接続関係についての情報が大きく失われ、検索処理の精度を低下させるという影響がある。 However, extreme simplification, such as ignoring the core or replacing the core with a single node, greatly reduces the information about the connection relationship between the hub node inside the core and the peripheral nodes, resulting in poor search accuracy. has the effect of lowering
1つの側面では、本発明は、グラフを用いた検索処理の精度への影響を低減するグラフ簡略化方法、グラフ簡略化プログラムおよび情報処理装置を提供することを目的とする。 An object of the present invention in one aspect is to provide a graph simplification method, a graph simplification program, and an information processing apparatus that reduce the influence on the accuracy of search processing using graphs.
1つの態様では、コンピュータが実行するグラフ簡略化方法が提供される。複数のノードとノード間を接続する複数のエッジとを含むグラフデータを取得する。グラフデータが示す複数のノードの中から、接続されたエッジの数が閾値より大きい複数のハブノードを検出し、検出した複数のハブノードのうちエッジによって連結された2以上のハブノードを含むコアノード集合を判定する。コアノード集合に属するハブノードの間の距離に基づいて、コアノード集合に対して中心ノードを設定し、中心ノード以外のコアノード集合に属するハブノード同士を接続するエッジに代えて、中心ノード以外のコアノード集合に属するハブノードと中心ノードとを接続するエッジを含む他のグラフデータを生成する。 In one aspect, a computer-implemented graph simplification method is provided. Obtain graph data including multiple nodes and multiple edges connecting the nodes. A plurality of hub nodes whose number of connected edges is greater than a threshold is detected from among the plurality of nodes indicated by the graph data, and a core node set including two or more hub nodes connected by edges is determined among the plurality of detected hub nodes. do. Based on the distance between the hub nodes belonging to the core node set, a central node is set for the core node set, and instead of the edge connecting the hub nodes belonging to the core node set other than the central node, the hub nodes belong to the core node set other than the central node. Generate other graph data containing edges connecting hub nodes and center nodes.
また、1つの態様では、コンピュータに実行させるグラフ簡略化プログラムが提供される。また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。 Also, in one aspect, a graph simplification program to be executed by a computer is provided. Also, in one aspect, an information processing apparatus having a storage unit and a processing unit is provided.
1つの側面では、グラフを用いた検索処理の精度への影響を低減する。 One aspect reduces the impact on the accuracy of search processing using graphs.
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, this embodiment will be described with reference to the drawings.
[First embodiment]
A first embodiment will be described.
図1は、第1の実施の形態の情報処理装置の例を説明する図である。
第1の実施の形態の情報処理装置10は、複数のノードおよびノード間のエッジを含むグラフを分析する。情報処理装置10をコンピュータと言うことがある。また、情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が分析するグラフは、人や企業や装置などのエンティティをノードで表現し、エンティティ間の関係をエッジで表現した大規模グラフである。例えば、グラフとして、人や企業の間の取引関係を表現した企業ネットワーク、通信装置間の接続関係を表現した通信ネットワーク、Webサイト間のリンク関係を表現したWebネットワークなどが挙げられる。情報処理装置10は、所定の条件を満たすノードまたはエッジをグラフから検索する検索処理を行ってもよい。例えば、検索処理として、最短経路探索など、あるノードから1以上のエッジを介して別のノードに到達する経路を探索する経路探索を行ってもよい。
FIG. 1 is a diagram illustrating an example of an information processing apparatus according to a first embodiment.
The
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
記憶部11は、グラフデータ13を記憶する。グラフデータ13は、複数のノードとノード間を接続する複数のエッジとを含む。処理部12は、グラフデータ13をグラフデータ14に変換する。グラフデータ14は、検索処理の計算量を削減するためにグラフデータ13を簡略化したものであり、グラフデータ13と同様に複数のノードとノード間を接続する複数のエッジとを含む。グラフデータ14は、例えば、記憶部11に記憶され、処理部12によって経路探索などの検索処理に使用される。例えば、グラフデータ13,14に含まれるノードはノードIDによって識別され、グラフデータ13,14に含まれるエッジは両端のノードの組み合わせによって識別される。
The
グラフデータ13からグラフデータ14への変換において、処理部12は、グラフデータ13が示す複数のノードの中から、接続されたエッジの数が閾値より大きい複数のハブノードを検出する。ハブノードは、関係をもつ他のエンティティの数が多い大規模エンティティを表している。処理部12は、検出された複数のハブノードのうちエッジによって連結された2以上のハブノードを含むコアノード集合15を判定する。コアノード集合15は、ハブノード同士が密に接続されたものであり、大規模エンティティの集合を表している。例えば、処理部12は、グラフデータ13からハブノードとハブノード間を接続するエッジとを抽出し、ハブノードによって形成される連結部分グラフ(連結成分)のうちハブノード数が最大の連結部分グラフをコアノード集合15と判定する。
In converting the
例えば、グラフデータ13がノードA,B,C,D,E,F,G,Hを含んでいるとする。ノードAのエッジ数(次数)は4、ノードBのエッジ数は4、ノードCのエッジ数は6、ノードDのエッジ数は4、ノードEのエッジ数は5、ノードFのエッジ数は1、ノードGのエッジ数は1、ノードHのエッジ数は1である。処理部12は、例えば、ノードA,B,C,D,Eをハブノードとして検出し、ノードA,B,C,D,Eによって形成される連結部分グラフをコアノード集合15と判定する。
For example, suppose
処理部12は、コアノード集合15に属するハブノードの間の距離に基づいて、コアノード集合15に対して中心ノード16を設定する。中心ノード16は、グラフデータ13においてコアノード集合15に含まれていたハブノードの1つであってもよいし、グラフデータ13においてコアノード集合15に含まれていない新規ノードであってもよい。処理部12は、中心ノード16以外のコアノード集合15に属するハブノード同士を接続するエッジを削除する。代わりに、処理部12は、中心ノード16以外のコアノード集合15に属するハブノードと中心ノード16とを接続するエッジを追加する。これにより、コアノード集合15がスター型の連結部分グラフに変形される。
The
処理部12は、スター型に変形されたコアノード集合15を含むグラフデータ14を生成する。グラフデータ13とグラフデータ14の主要な違いは、コアノード集合15に属するハブノード同士の接続関係である。グラフデータ14は、グラフデータ13に含まれるノードを含んでよい。また、グラフデータ14において、コアノード集合15に属さないノード同士を接続するエッジは、グラフデータ13と同様でよい。また、グラフデータ14において、コアノード集合15に属さないノードと、中心ノード16以外のコアノード集合15に属するハブノードとを接続するエッジは、グラフデータ13と同様でよい。
The
上記のように、中心ノード16の設定にあたってはコアノード集合15に属するハブノードの間の距離が参照される。例えば、処理部12は、新規ノードを中心ノード16として設定し、中心ノード16と各ハブノードとの間のエッジのウェイトを一定値に統一する。エッジのウェイトは、コアノード集合15に属するハブノードの間の距離に基づいて決定することが考えられる。ハブノードの間の距離の平均値の2分の1を、エッジのウェイトとしてもよい。また、例えば、処理部12は、既存のハブノードの1つを中心ノード16として設定し、中心ノード16と他のハブノードそれぞれとの間のエッジのウェイトをグラフデータ13上で算出される距離に決定することが考えられる。中心ノード16は、近接中心性など、ハブノード間の距離に基づいてハブノードの中から選択してもよい。
As described above, the distance between hub nodes belonging to the core node set 15 is referred to when setting the
例えば、処理部12は、コアノード集合15に対して新規の中心ノード16を追加する。処理部12は、コアノード集合15に属するノードA,B,C,D,Eの間の10個のエッジを削除し、代わりに中心ノード16とノードA,B,C,D,Eの間に5個のエッジを追加する。このようにして生成されたグラフデータ14では、コアノード集合15に属するノードA,B,C,D,Eは維持される。また、コアノード集合15内のノードCとコアノード集合15外のノードF,Gとの間のエッジは維持され、コアノード集合15内のノードEとコアノード集合15外のノードHとの間のエッジは維持される。
For example, the
処理部12は、グラフデータ14を用いて経路探索などの検索処理を実行してもよい。例えば、処理部12は、コアノード集合15外のノードFからコアノード集合15外のノードHに至る経路を探索することが考えられる。探索すべき経路はコアノード集合15を通過する可能性がある。しかし、コアノード集合15に属する複数のハブノードは相互に密に接続されていることが期待され、コアノード集合15内のルートを厳密に探索する必要性は低い。一方、コアノード集合15をスター型に簡略化しても、コアノード集合15に属するハブノードとコアノード集合15外のノードとの間の接続関係は維持される。このため、コアノード集合15外の2つのノードが、同じハブノードに接続されている場合と異なるハブノードに接続されている場合とを区別することができる。よって、グラフデータ14を用いて検索処理を行うことは、効率性および精度の観点から有用である。
The
第1の実施の形態の情報処理装置10によれば、グラフデータ13から複数のハブノードが検出され、エッジによって連結された2以上のハブノードを含むコアノード集合15が判定される。そして、コアノード集合15に属するハブノードの間の距離に基づいて中心ノード16が設定され、中心ノード16以外のコアノード集合15に属するハブノードと中心ノード16とがスター型に接続されたグラフデータ14が生成される。
According to the
これにより、グラフデータ14を用いて経路探索などの検索処理を行うことで、グラフデータ13を用いる場合よりも計算量を削減することができる。また、コアノード集合15を1つのノードに置換するなどの極端な簡略化を行う場合と比べて、コアノード集合15内のハブノードとコアノード集合15外のノードとの間の接続関係についての情報が大きく失われることを抑制できる。よって、検索処理の精度への影響を低減できる。
Accordingly, by performing search processing such as route search using the
[第2の実施の形態]
次に、第2の実施の形態を説明する。
第2の実施の形態の分析装置は、人や企業の間の関係を表すグラフである企業ネットワークを用いて、これらの人や企業の間で行われる可能性がある不正取引のリスクを分析する。第2の実施の形態の分析装置を、情報処理装置やコンピュータと言うこともある。分析装置は、クライアント装置でもよいしサーバ装置でもよい。
[Second embodiment]
Next, a second embodiment will be described.
The analysis device of the second embodiment analyzes the risk of fraudulent transactions that may occur between people and companies using a company network, which is a graph representing relationships between people and companies. . The analysis device of the second embodiment is also called an information processing device or a computer. The analysis device may be a client device or a server device.
図2は、第2の実施の形態の分析装置のハードウェア例を示すブロック図である。
分析装置100は、バスに接続されたCPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。分析装置100は、第1の実施の形態の情報処理装置10に対応する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
FIG. 2 is a block diagram showing an example of hardware of an analysis device according to the second embodiment.
The
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、分析装置100は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、CPU101が実行するプログラムやCPU101が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。なお、分析装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
The
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。なお、分析装置100は、フラッシュメモリやSSD(Solid State Drive)など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。
The
画像信号処理部104は、CPU101からの命令に従って、分析装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを使用することができる。
The image
入力信号処理部105は、分析装置100に接続された入力デバイス112から入力信号を受信する。入力デバイス112として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用できる。また、分析装置100に複数の種類の入力デバイスが接続されてもよい。
The input
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
The
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置と通信を行う。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
The
次に、企業ネットワークについて説明する。
図3は、企業ネットワークの関係性分析の例を示す図である。
企業ネットワーク30は、複数のノードおよびノード間を接続する複数のエッジを含む無向グラフまたは有向グラフである。ただし、第2の実施の形態では無向グラフを想定する。企業ネットワーク30に含まれる各ノードは、人または企業を表す。企業ネットワーク30に含まれる各エッジは、企業間の関係または人と企業の間の関係を表す。
Next, the corporate network will be explained.
FIG. 3 is a diagram showing an example of relationship analysis of a corporate network.
The enterprise network 30 is an undirected or directed graph that includes multiple nodes and multiple edges connecting between the nodes. However, the second embodiment assumes an undirected graph. Each node included in enterprise network 30 represents a person or enterprise. Each edge included in enterprise network 30 represents a relationship between enterprises or a relationship between a person and an enterprise.
企業ネットワーク30は、EDINET(Electronic Disclosure for Investor's Network)やTDNET(Timely Disclosure Network)などの公開データベースが開示する公開投資情報から生成することができる。ノードが表す企業には、株式会社や持分会社などの事業会社、事業会社に投資する機関投資家、事業会社を監査する監査法人などが含まれる。ノードが表す人には、取締役や執行役や監査役など事業会社に従事する役員、事業会社に投資する個人投資家などが含まれる。エッジが表す企業間の関係には、親子会社関係や関連会社関係などのグループ関係、機関投資家による事業会社への投資、監査法人による事業会社の監査、その他の重要な取引関係などが含まれる。エッジが表す人と企業の間の関係には、事業会社の役員への就任、個人投資家による事業会社への投資、事業会社と個人の間のその他の重要な取引関係などが含まれる。 The corporate network 30 can be generated from public investment information disclosed by public databases such as EDINET (Electronic Disclosure for Investor's Network) and TDNET (Timely Disclosure Network). Companies represented by nodes include operating companies such as stock companies and equity companies, institutional investors investing in operating companies, and auditing firms that audit operating companies. Persons represented by nodes include directors, executive officers, auditors, and other executives engaged in operating companies, as well as individual investors investing in operating companies. Relationships between companies represented by edges include group relationships such as parent-subsidiary relationships and affiliated company relationships, investment in operating companies by institutional investors, audits of operating companies by auditing firms, and other important business relationships. . The relationship between a person and a company represented by an edge includes the appointment of a director of a business company, an investment in a business company by a private investor, and other significant business relationships between a business company and an individual.
企業ネットワーク30は、数万個から数十万個のノードを含む大規模グラフである。分析装置100は、企業ネットワーク30を用いて関係性分析を行う。関係性分析では、インサイダー取引やマネーロンダリングなどの不正取引が行われる可能性のある要注意関係を検出する。関係性分析のために、分析装置100は、ある2つのノードが1以上の他のノードを介して繋がっている経路を企業ネットワーク30から探索する。経路は、3以上の主体が関与する連続的な取引関係を表すことがある。このとき、機関投資家を表すノードや監査法人を表すノードなど多数のエッジをもつノードを介した短い経路(当たり前の経路)だけでなく、多数のエッジをもつノードを迂回するような長い経路(当たり前ではない経路)も探索することが好ましい。これにより、一方の企業が役員を介して他方の企業に影響を与えるような不正リスクの高い関係を発見することができる。
A corporate network 30 is a large-scale graph containing tens of thousands to hundreds of thousands of nodes. The
一例として、企業ネットワーク30は、企業C1を表すノード31、企業C2を表すノード32、企業C3を表すノード33、機関投資家Iを表すノード34および役員Kを表すノード35を含む。ノード31とノード34、ノード31とノード33、ノード32とノード34、ノード32とノード35、ノード33とノード35の間にエッジがある。
As an example, corporate network 30 includes
ノード31とノード34の間のエッジは、機関投資家Iによる企業C1への投資を表す。ノード32とノード34の間のエッジは、機関投資家Iによる企業C2への投資を表す。よって、ノード31からノード34を介してノード32に至る経路は「当たり前の経路」であり、企業C1と企業C2の間の関係性分析では重要性が比較的低い。一方、ノード31からノード33,35を介してノード32に至る経路は「当たり前ではない経路」である。役員Kが企業C2,C3に影響を与えることで不正取引が行われるリスクがあるため、企業C1と企業C2の間の関係性分析では重要性が比較的高い。
The edge between
「当たり前ではない経路」を発見しやすくするため、分析装置100は、企業ネットワーク30に対して次数ウェイト付き経路探索を行う。
無向グラフに含まれるエッジeに対してウェイトw(e)が割り当てられているとする。また、ある経路がノードv0,v1,…,vhというh+1個のノードを順に通過するものとする。ノードv0は始点ノードsであり、ノードvhは終点ノードtである。k=1,2,…,hとして、経路上で隣接するノードvk-1とノードvkの間のエッジをek-1,kとする。すると、その経路の長さ(経路長)は数式(1)のように定義される。
In order to facilitate the discovery of “unobvious routes”, the
Assume that a weight w(e) is assigned to an edge e included in an undirected graph. It is also assumed that a certain route passes through h+1 nodes of nodes v 0 , v 1 , . . . , v h in order. Node v0 is the starting node s and node vh is the ending node t. Let k = 1 , 2, . Then, the length of the path (path length) is defined as in Equation (1).
無向グラフに含まれるノードvに対してウェイトw(v)が割り当てられている場合、エッジeのウェイトw(e)はノードvのウェイトw(v)から算出できる。ノードviとノードvjがエッジei,jで接続されており、ノードviにウェイトw(vi)が割り当てられており、ノードvjにウェイトw(vj)が割り当てられているとする。すると、エッジei,jのウェイトw(ei,j)は数式(2)のように定義される。すなわち、あるエッジのウェイトは、そのエッジの両端にあるノードのウェイトの平均値である。 When weight w(v) is assigned to node v included in the undirected graph, weight w(e) of edge e can be calculated from weight w(v) of node v. Node v i and node v j are connected by edge e i,j , node v i is assigned weight w(v i ), and node v j is assigned weight w(v j ) and Then, the weight w(e i,j ) of the edge e i,j is defined as Equation (2). That is, the weight of an edge is the average of the weights of the nodes at both ends of that edge.
次数ウェイト付き経路探索では、ノードvのウェイトw(v)として、ノードvに接続されたエッジの数、すなわち、ノードvの次数deg(v)を用いる。ノードviとノードvjがエッジei,jで接続されており、ノードviの次数がdeg(vi)であり、ノードvjの次数がdeg(vj)であるとする。すると、エッジei,jのウェイトw(ei,j)は数式(3)のように定義される。すなわち、あるエッジのウェイトは、そのエッジの両端にあるノードの次数の平均値である。 In the degree-weighted route search, the number of edges connected to the node v, ie, the degree deg(v) of the node v, is used as the weight w(v) of the node v. Suppose that nodes v i and v j are connected by an edge e i,j , the degree of node v i is deg(v i ), and the degree of node v j is deg(v j ). Then, the weight w(e i,j ) of the edge e i,j is defined as Equation (3). That is, the weight of an edge is the average degree of the nodes at both ends of the edge.
次数ウェイト付き経路探索では、機関投資家を表すノードや監査法人を表すノードなど次数の大きいノードを通過する経路の長さは大きく算出される。このため、次数ウェイト付き経路探索と、短い経路を優先的に探索する経路探索アルゴリズムとを組み合わせると、「当たり前の経路」だけでなく「当たり前ではない経路」も発見しやすくなる。そこで、第2の実施の形態では次数ウェイト付き経路探索を採用する。 In order-weighted route search, the length of a route passing through a node with a large order such as a node representing an institutional investor or a node representing an audit firm is calculated to be large. Therefore, by combining a route search with degree weight and a route search algorithm that preferentially searches for short routes, it becomes easier to discover not only "obvious routes" but also "abnormal routes". Therefore, in the second embodiment, a route search with an order weight is adopted.
図4は、企業ネットワークの形状例を示す図である。
人や企業の間の関係を表す企業ネットワークは、図4に示すような形状をとることが多い。企業ネットワーク40は、コア41および周辺部42を含む。
FIG. 4 is a diagram showing an example of the shape of a corporate network.
Corporate networks representing relationships between people and companies often take the form shown in FIG. Corporate network 40 includes core 41 and perimeter 42 .
コア41は、多数のハブノードが密結合した連結部分グラフ(任意の2つのノードを結ぶ経路が存在する部分グラフ)である。ハブノードは、企業ネットワーク40に含まれるノードのうち次数が閾値を超えるノードである。ハブノードとしては、機関投資家を表すノードや監査法人を表すノードなど、多数の他の企業と関係をもつハブ企業を表すノードが想定される。企業ネットワーク40に含まれるノードのうち数パーセントから数十パーセントのノードが、コア41に属することがある。図4では、コア41に属するハブノードを円の外周に配置している。 The core 41 is a connected subgraph (a subgraph in which there is a path connecting any two nodes) in which many hub nodes are tightly coupled. A hub node is a node whose degree exceeds a threshold among the nodes included in the corporate network 40 . The hub node is assumed to be a node representing a hub company having relationships with many other companies, such as a node representing an institutional investor or a node representing an audit firm. A few percent to several tens of percent of the nodes included in the corporate network 40 may belong to the core 41 . In FIG. 4, the hub nodes belonging to the core 41 are arranged on the outer circumference of the circle.
周辺部42は、それぞれ少数の他のノードとのみエッジで接続された周辺ノードから形成される部分グラフである。周辺部42は2つの階層を含むことがある。周辺部42の第1階層に属するノードは、コア41に属する少数のハブノードとエッジで接続されている。ただし、第1階層に属するノード同士が直接接続されていることもある。第1階層に属するノードとしては、機関投資家や監査法人などのハブ企業と関係をもつ一般事業会社を表すノードが想定される。周辺部42の第2階層に属するノードは、コア41に属する少数のハブノードや周辺部42の第1階層に属する少数の周辺ノードとエッジで接続されている。第2階層に属するノードとしては、役員などの人を表すノードが想定される。 Periphery 42 is a subgraph formed from peripheral nodes that are each connected by edges to only a few other nodes. Periphery 42 may include two layers. Nodes belonging to the first layer of the peripheral part 42 are connected to a small number of hub nodes belonging to the core 41 by edges. However, nodes belonging to the first layer may be directly connected to each other. Nodes belonging to the first hierarchy are assumed to represent general business companies that have relationships with hub companies such as institutional investors and audit firms. Nodes belonging to the second layer of the peripheral portion 42 are connected by edges to a small number of hub nodes belonging to the core 41 and a small number of peripheral nodes belonging to the first layer of the peripheral portion 42 . As a node belonging to the second hierarchy, a node representing a person such as an executive is assumed.
図5は、企業ネットワークの特徴例を示す分布図である。
分散図50は、企業ネットワーク40に含まれるノードの次数とノードの相対頻度の関係を表す。分散図50の横軸は、ノードの次数、すなわち、ノードに接続されたエッジの数を対数表記したものである。分散図50の縦軸は、ある次数をもつノードの出現頻度、すなわち、ある次数をもつノードの全ノードに対する割合を対数表記したものである。分散図50は領域51および領域52を含む。
FIG. 5 is a distribution diagram showing a characteristic example of a corporate network.
The scatter diagram 50 represents the relationship between the degrees of nodes included in the corporate network 40 and the relative frequencies of the nodes. The horizontal axis of the scatter diagram 50 is a logarithmic representation of the degree of a node, that is, the number of edges connected to the node. The vertical axis of the scatter diagram 50 is the logarithmic representation of the appearance frequency of nodes with a certain degree, that is, the ratio of nodes with a certain degree to all nodes. Scatter diagram 50 includes
領域51は、企業ネットワーク40の周辺部42に対応する。領域51が示すように、周辺部42はスケールフリーネットワークの特徴をもっていると言える。スケールフリーネットワークは、大多数のノードは少数の相手とのみエッジをもち、一部のノードは多数の相手とエッジをもつという特徴をもつネットワークである。
一方、領域52は、企業ネットワーク40のコア41に対応する。領域52が示すように、コア41はランダムグラフの特徴をもっていると言える。ランダムグラフは、任意の2つのノード間に一定の確率pでエッジを張ったグラフである。ランダムグラフに含まれるノードの次数と相対頻度との関係はポアソン分布に従う。
分析装置100は、このような特徴をもつ企業ネットワークから、次数ウェイト付き経路探索により経路長が短いものから優先的に複数の経路を探索する。
図6は、経路探索の例を示す図である。
The
FIG. 6 is a diagram showing an example of route search.
経路探索にはダイクストラ(Dijkstra)法や双方向ダイクストラ法などの経路探索アルゴリズムを応用することができる。ただし、第2の実施の形態では、経路長が最も短い最短経路だけでなく、最短経路ではない他の経路も探索される。そこで、純粋なダイクストラ法を拡張したものなど、複数の経路を探索可能な経路探索アルゴリズムを使用する。 A route search algorithm such as the Dijkstra method or the two-way Dijkstra method can be applied to the route search. However, in the second embodiment, not only the shortest route with the shortest route length, but also other routes that are not the shortest route are searched. Therefore, we use a route search algorithm capable of searching multiple routes, such as an extension of the pure Dijkstra algorithm.
例えば、ダイクストラ法に従ってノード毎に始点ノードからの経路長および前段ノードを示す情報を更新する際に、経路長が最小の情報だけでなく経路長が最小ではない情報も履歴として残しておく。そして、経路長が最小でない情報も用いて次段ノードの情報を複数パターン作成する。ノード毎の情報としては経路長が小さい方から所定個までの情報を保持しておく。これにより、始点ノードから終点ノードに至る経路として、最短経路に加えて、比較的経路長が小さい準最短経路も探索することができる。 For example, when updating the information indicating the path length from the starting node and the preceding node for each node according to the Dijkstra algorithm, not only the information with the minimum path length but also the information with the non-minimum path length are left as history. Then, a plurality of patterns of information of the next-level node are created using the information that the path length is not the minimum. As information for each node, up to a predetermined number of pieces of information from the shortest path length are held. As a result, it is possible to search not only the shortest path but also the semi-shortest path with a relatively small path length as the path from the start node to the end node.
一例として、グラフ70はノード71~77(ノードa,b,c,d,e,f,g)を含む。ノード71とノード72との間にはウェイト1のエッジがある。ノード71とノード73との間にはウェイト7のエッジがある。ノード71とノード74との間にはウェイト2のエッジがある。ノード72とノード75との間にはウェイト4のエッジがある。ノード73とノード75との間にはウェイト2のエッジがある。ノード73とノード76との間にはウェイト3のエッジがある。ノード74とノード76との間にはウェイト5のエッジがある。ノード75とノード77との間にはウェイト6のエッジがある。ノード76とノード77との間にはウェイト2のエッジがある。
As an example, graph 70 includes nodes 71-77 (nodes a, b, c, d, e, f, g). There is an edge of
始点ノードをノード71、終点ノードをノード77として、ダイクストラ法に準じて経路探索を行うことを考える。まず、ノード71が選択され、ノード71に対して長さ0のラベルが付与される。すると、ノード72に対して長さ1かつ前段ノードaのラベルが付与され、ノード73に対して長さ7かつ前段ノードaのラベルが付与され、ノード74に対して長さ2かつ前段ノードaノラベルが付与される。
It is assumed that a route search is performed according to Dijkstra's algorithm, with the
次に、最小経路長をもつノード72が選択される。すると、ノード75に対して長さ5かつ前段ノードbのラベルが付与される。次に、最小経路長をもつノード74が選択される。すると、ノード76に対して長さ7かつ前段ノードdのラベルが付与される。次に、最小経路長をもつノード75が選択される。すると、ノード73に対して、長さ7かつ前段ノードaのラベルを残して、長さ7かつ前段ノードeのラベルが追加される。また、ノード77に対して長さ11かつ前段ノードeのラベルが付与される。
Next, the
次に、最小経路長をもつノードとしてノード73が選択されたとする。すると、ノード76に対して、ノード73の1つ目のラベルに対応して長さ10かつ前段ノードcのラベルが追加される。また、ノード73の2つ目のラベルに対応して長さ10かつ前段ノードcのラベルが追加される。このとき、長さ7かつ前段ノードdのラベルは残しておく。次に、最小経路長をもつノード76が選択される。すると、ノード77に対して、ノード76の1つ目のラベルに対応して長さ9かつ前段ノードfのラベルが追加される。また、ノード76の2つ目のラベルに対応して長さ12かつ前段ノードfのラベルが追加される。また、ノード76の3つ目のラベルに対応して長さ12かつ前段ノードfのラベルが追加される。このとき、長さ11かつ前段ノードeのラベルは残しておく。
Now assume that
これにより、ノード71,74,76,77を順に辿る経路が長さ9の最短経路として抽出される。また、ノード71,72,75,77を順に辿る経路が長さ11の経路として抽出される。また、ノード71,72,75,73,76,77を順に辿る経路が長さ12の経路として抽出される。また、ノード71,73,76,77を順に辿る経路が長さ12の経路として抽出される。このようにして、グラフ70から、経路長が短い方から優先的に所定個までの経路を探索することが可能である。
As a result, the shortest route of
次に、企業ネットワークにおける経路探索の問題点について説明する。
前述の図4の企業ネットワーク40を用いた不正調査では、周辺部42に属する1つのノードから周辺部42に属する別のノードに至る経路を複数通り探索したいことがある。例えば、ある人を表すノードから別の人を表すノードに至る経路であって、極端に遠回りではない経路を網羅的に探索したいことがある。探索すべき経路の中にはコア41を通過しないものがある。例えば、始点ノードから1以上の一般事業会社を表すノードを経由して終点ノードに至る経路が存在することがある。一方、探索すべき経路の中にはコア41を通過するものもある。例えば、始点ノードから1以上のハブ企業を表すノードを経由して終点ノードに至る経路が存在することがある。
Next, the problem of route search in corporate networks will be described.
In the above-described fraud investigation using the corporate network 40 of FIG. For example, there is a case where it is desired to comprehensively search for a route from a node representing a person to a node representing another person, which is not extremely detoured. Some paths to be searched do not pass through the core 41 . For example, there may be a path from the start node to the end node via nodes representing one or more general business companies. On the other hand, some routes to be searched pass through the core 41 . For example, there may be a path from a starting node through nodes representing one or more hub companies to an ending node.
しかし、コア41内ではハブノード同士が密に接続されており経由するハブノードの選択パターンが多数存在するため、コア41を通過する経路を探索する計算量が大きくなってしまうという問題がある。一方で、企業ネットワーク40を用いた不正調査では、コア41内のハブノードは相互に接続されていることが「当たり前」であるため、周辺部42で何れのノードを経由するかは重要性が高いもののコア41で何れのノードを通過するかは重要性が低い。すなわち、コア41内で厳密な探索を行う必要性は低い。そこで、分析装置100は、企業ネットワーク40のコア41を簡略化し、簡略化した企業ネットワークを用いて経路探索を行って計算量を削減する。
However, since the hub nodes are densely connected within the core 41 and there are many selection patterns of hub nodes to pass through, there is a problem that the amount of calculation for searching for a route passing through the core 41 becomes large. On the other hand, in fraud investigations using the corporate network 40, it is "natural" that the hub nodes in the core 41 are interconnected, so it is very important which nodes are routed in the peripheral part 42. It is less important which node is passed through in the core 41 of the object. That is, there is little need to perform a rigorous search within core 41 . Therefore, the
ただし、コア41を1つの仮想ノードに置換するような極端な簡略化を行うと、企業ネットワーク40がもっていたコア41と周辺部42との間の関係についての情報が大きく失われてしまうおそれがある。例えば、周辺部42の1つのノードと周辺部42の別ノードとが、コア41の異なるハブノードに接続されている場合がある。また、周辺部42の1つのノードと周辺部42の別ノードとが、コア41の同じハブノードに接続されている場合がある。コア41を1つの仮想ノードに置換すると、上記の2つの場合が同一視されてしまう。これは、2以上の役員または一般事業会社が同一のハブ企業と関係をもつ場合と、2以上の役員または一般事業会社が異なるハブ企業と関係をもつ場合とを同一視することになる。その結果、経路探索の精度が低下するという問題がある。 However, an extreme simplification, such as replacing the core 41 with a single virtual node, may result in a large loss of information about the relationship between the core 41 and the periphery 42 that the corporate network 40 had. be. For example, one node of the periphery 42 and another node of the periphery 42 may be connected to different hub nodes of the core 41 . Also, one node in the peripheral part 42 and another node in the peripheral part 42 may be connected to the same hub node of the core 41 . Replacing the core 41 with one virtual node equates the above two cases. This equates the case where two or more executives or general operating companies have relationships with the same hub company and the case where two or more executives or general operating companies have relationships with different hub companies. As a result, there is a problem that the accuracy of route search is lowered.
そこで、分析装置100は、コア41に属するハブノードは残しつつコア41に含まれるエッジを削減して、コア41を簡略化した企業ネットワークを生成する。簡略化した企業ネットワークはスター型のコアを含む。
Therefore, the
図7は、企業ネットワークの簡略化例を示す図である。
企業ネットワーク60は、企業ネットワーク40を簡略化したものである。企業ネットワーク60は、コア61および周辺部62を含む。コア61は企業ネットワーク40のコア41に対応し、周辺部62は企業ネットワーク40の周辺部42に対応する。
FIG. 7 is a diagram showing a simplified example of a corporate network.
Enterprise network 60 is a simplified version of enterprise network 40 . Corporate network 60 includes core 61 and perimeter 62 . Core 61 corresponds to core 41 of enterprise network 40 and perimeter 62 corresponds to perimeter 42 of enterprise network 40 .
コア61は、コア41と同じハブノードを含む。また、コア61は中心ノード63を含む。中心ノード63は、コア41に含まれていなかった新規ノードでもよいし、コア41に含まれている何れか1つのハブノードでもよい。コア61では、コア41に含まれていたハブノード間のエッジは削除されている。その代わりにコア61では、設定された中心ノード63と各ハブノードとがエッジで直接接続され、スター型部分グラフを形成している。 Core 61 contains the same hub nodes as core 41 . Core 61 also includes central node 63 . The central node 63 may be a new node not included in the core 41 or any one hub node included in the core 41 . In core 61, the edges between hub nodes included in core 41 are deleted. Instead, in the core 61, the set central node 63 and each hub node are directly connected by edges to form a star subgraph.
周辺部62は周辺部42と同様である。周辺部62に属するノードとコア61に属するハブノードとは、企業ネットワーク40と同様のエッジで接続されている。ただし、中心ノード63がコア41に属するハブノードの1つである場合、中心ノード63と周辺部62に属するノードとの間のエッジは削除される。すなわち、中心ノード63はコア61に属するハブノードのみと接続され、周辺部62に属するノードとは接続されない。 Perimeter 62 is similar to perimeter 42 . Nodes belonging to the periphery 62 and hub nodes belonging to the core 61 are connected by edges similar to the corporate network 40 . However, if the central node 63 is one of the hub nodes belonging to the core 41, the edges between the central node 63 and the nodes belonging to the periphery 62 are deleted. That is, the core node 63 is connected only to the hub nodes belonging to the core 61 and not to the nodes belonging to the periphery 62 .
中心ノード63が新規ノードである場合、分析装置100は、中心ノード63とコア61に属するハブノードとの間にあるエッジのウェイトを一定値に統一する。
具体的には、分析装置100は、簡略化前のコア41の中で、コア41に属するハブノード間の最短経路の経路長(距離)の平均値を算出する。このとき、コア41に属するハブノード間の最短経路として、ハブノード同士を接続するエッジのみを辿る経路を探索すればよく、周辺部42を経由する経路は考慮しなくてよい。分析装置100は、全てのハブノードの組み合わせについて距離を算出して実際平均値を求めてもよい。また、分析装置100は、コア41から一部のハブノードの組み合わせをサンプリングし、サンプリングした組み合わせのみ距離を算出して推定平均値を求めてもよい。分析装置100は、算出した平均値の2分の1を、中心ノード63と各ハブノードとの間のエッジのウェイトとする。これにより、ハブノード間の平均距離でコア61を通過できるようになる。
When the center node 63 is a new node, the
Specifically, the
一方、中心ノード63が既存ハブノードの1つである場合、分析装置100は、コア41の中から何れか1つのハブノードを中心ノード63として選択する。そして、分析装置100は、中心ノード63と他のハブノードそれぞれとの間にあるエッジのウェイトを、コア41における当該2つのノードの間の距離に設定する。
On the other hand, if the central node 63 is one of the existing hub nodes, the
具体的には、分析装置100は、コア41に属するハブノードそれぞれに対して、中心性を表す指標として近接中心性を算出する。近接中心性は、あるノードが他のノードとの関係でグラフの中心にどの程度近いかを示す指標である。着目するノードをvi、他の1つのノードをvj、ノードviとノードvjの距離をd(vi,vj)とする。すると、ノードviの近接中心性Cc(vi)は数式(4)のように定義される。数式(4)の近接中心性Cc(vi)は、他のノードとの間の距離の和の逆数である。ただし、ノード数をnとして、ノードviの近接中心性Cc(vi)を数式(5)のように定義することもできる。数式(5)の近接中心性Cc(vi)は、他のノードとの間の平均距離の逆数である。
Specifically, the
分析装置100は、コア41から近接中心性が最大のハブノードを中心ノード63として選択する。中心ノード63とコア61の他のハブノードとの間にあるエッジのウェイトは、近接中心性を求める際に算出した当該2つのハブノードの間の距離を用いればよい。よって、中心ノード63を新規ノードとする方法の場合、コア61に含まれるエッジのウェイトは一定値に統一されるのに対し、中心ノード63を既存ハブノードの1つとする方法の場合、コア61に含まれるエッジのウェイトは統一されない。
The
中心ノード63を既存ハブノードの1つとする方法では、コア61に含まれる複数のエッジはそれぞれ、コア41のハブノード間の関係を考慮した異なるウェイトをもつ。よって、コア41のハブノードの個性をコア61に反映させることができ、企業ネットワーク60を用いた経路探索の精度を向上させることができる。一方、中心ノード63を新規ノードとする方法では、近接中心性の計算など中心ノード63を選択するための処理が軽減される。また、ハブノード間の距離の平均値をサンプリングによって推定することが可能であり、ハブノード間の距離計算を軽減することもできる。 In the method in which the central node 63 is one of the existing hub nodes, each of the multiple edges included in the core 61 has a different weight considering the relationship between hub nodes of the core 41 . Therefore, the personality of the hub node of the core 41 can be reflected in the core 61, and the accuracy of route search using the corporate network 60 can be improved. On the other hand, in the method of setting the center node 63 as a new node, processing for selecting the center node 63 such as calculation of proximity centrality is reduced. Moreover, it is possible to estimate the average value of the distances between hub nodes by sampling, and it is also possible to reduce the distance calculation between hub nodes.
次に、分析装置100の機能および処理手順について説明する。
図8は、分析装置の機能例を示すブロック図である。
分析装置100は、グラフデータ記憶部121、接続情報生成部122、接続情報記憶部123、経路探索部124および探索結果表示部125を有する。グラフデータ記憶部121および接続情報記憶部123は、例えば、RMA102またはHDD103の記憶領域を用いて実装される。接続情報生成部122、経路探索部124および探索結果表示部125は、例えば、CPU101が実行するプログラムを用いて実装される。
Next, functions and processing procedures of the
FIG. 8 is a block diagram showing an example of functions of the analyzer.
The
グラフデータ記憶部121は、簡略化前の企業ネットワークを示すグラフデータを記憶する。グラフデータは、EDINETやTDNETなどの公開データベースが開示する公開投資情報から生成される。グラフデータは、分析装置100が生成してもよいし他の情報処理装置が生成してもよい。グラフデータは、それぞれ人または企業を表す複数のノードと、人や企業の間の関係を表す複数のエッジとを含む。エッジのウェイトは、接続情報生成部122においてグラフデータから自動的に算出される。
The graph
接続情報生成部122は、グラフデータ記憶部121に記憶されたグラフデータから、ノード間の接続関係を示す接続情報を生成する。接続情報は隣接行列として表現される。このとき、接続情報生成部122は、各ノードの次数をウェイトとして算出し、各ノードのウェイトを用いてノード間を接続する各エッジのウェイトを算出する。
The connection
接続情報の生成にあたり、接続情報生成部122は、簡略化フラグおよび次数閾値を含むオプション情報をユーザから受け付ける。簡略化フラグは、企業ネットワークの簡略化を行うか否かを示すフラグである。次数閾値は、企業ネットワークの簡略化を行う場合に適用されるパラメータであり、ハブノードとみなすノードの次数の閾値である。簡略化フラグがOFFである場合、接続情報生成部122は、グラフデータが示す簡略化前の企業ネットワークに相当する元隣接行列を出力する。一方、簡略化フラグがONである場合、接続情報生成部122は、簡略化前の企業ネットワークを簡略化後の企業ネットワークに変換し、簡略化後の企業ネットワークに相当する簡略化隣接行列を出力する。
In generating the connection information, the connection
接続情報記憶部123は、接続情報生成部122が生成した接続情報を記憶する。簡略化フラグがOFFである場合、接続情報記憶部123には、簡略化前の企業ネットワークに相当する元隣接行列が記憶される。簡略化フラグがONである場合、接続情報記憶部123には、簡略化後の企業ネットワークに相当する簡略化隣接行列が記憶される。接続情報が1度生成されれば、生成された接続情報を用いて経路探索を繰り返し実行できる。
The connection
経路探索部124は、接続情報記憶部123に記憶された接続情報を用いて、企業ネットワーク上の経路探索を行う。経路探索にあたり、経路探索部124は、始点ノード、終点ノード、出力する経路の個数およびウェイトを考慮するか否かのフラグを含むオプション情報をユーザから受け付ける。すると、経路探索部124は、ダイクストラ法に準じた経路探索アルゴリズムなどを用いて、経路長の短い方から優先的に始点ノードから終点ノードに至る複数の経路を探索する。ウェイトを考慮するか否かのフラグがOFFである場合、経路探索部124は、接続情報が示すウェイトにかかわらず各エッジのウェイトを1とみなして経路探索を行う。ウェイトを考慮するか否かのフラグがONである場合、経路探索部124は、接続情報が示すウェイトに基づいて経路探索を行う。
The
探索結果表示部125は、経路探索部124の探索結果をディスプレイ111に表示する。例えば、探索結果表示部125は、複数のノードおよび複数のエッジを含む企業ネットワークを図形情報として表示し、探索された経路を太線で表すなど企業ネットワーク上で強調表示する。また、例えば、探索結果表示部125は、経由するノードを列挙した文字列で経路を表現し、複数の経路を表す複数の文字列を並べたリストを表示する。また、探索結果表示部125は、探索結果をHDD103などのストレージに保存してもよいし、ネットワーク114を介して他の情報処理装置に送信してもよいし、分析装置100が有する他の出力デバイスに出力するようにしてもよい。
A search
図9は、グラフデータの例を示す図である。
ノードテーブル131は、企業ネットワークに含まれるノードを示す。ノードテーブル131は、グラフデータ記憶部121に記憶される。ノードテーブル131は、ノードID、ノード名およびウェイトの項目を含む。ノードIDは、ノードを識別する識別子である。ノード名は、人物名や企業名などノードの意味を表す文字列である。ウェイトは、接続情報生成部122によって算出されるノードの次数である。
FIG. 9 is a diagram showing an example of graph data.
A node table 131 indicates the nodes included in the corporate network. The node table 131 is stored in the graph
エッジテーブル132は、企業ネットワークに含まれるエッジを示す。エッジテーブル132は、グラフデータ記憶部121に記憶される。エッジテーブル132は、エッジID、始点、終点およびウェイトの項目を含む。エッジIDは、エッジを識別する識別子である。始点は、エッジの一端にあるノードを識別する識別子である。終点は、エッジの他端にあるノードを識別する識別子である。ウェイトは、接続情報生成部122によって両端のノードのウェイトから算出されるエッジのウェイトである。
Edge table 132 shows the edges involved in the corporate network. The edge table 132 is stored in the graph
図10は、接続情報の例を示す図である。
隣接行列133は、企業ネットワークに含まれるノードの間に存在するエッジを示す接続情報である。隣接行列133は、接続情報記憶部123に記憶される。生成時に簡略化フラグがOFFに指定された場合、接続情報記憶部123に保存される隣接行列133は、簡略化前の企業ネットワークに相当する元隣接行列である。生成時に簡略化フラグがONに指定された場合、接続情報記憶部123に保存される隣接行列133は、簡略化後の企業ネットワークに相当する簡略化隣接行列である。
FIG. 10 is a diagram showing an example of connection information.
The
隣接行列133の行は、企業ネットワークに含まれるノードを識別するノードIDに対応付けられている。同様に、隣接行列133の列は、企業ネットワークに含まれるノードを識別するノードIDに対応付けられている。隣接行列133の1つの要素は、当該要素の行番号に対応するノードと当該要素の列番号に対応するノードとの間に存在するエッジのウェイトを示す。要素の値が0であることは、エッジが存在しないことを示す。接続情報生成部122は、まず簡略化前の企業ネットワークを表す元隣接行列を生成する。簡略化フラグがONに指定された場合、接続情報生成部122は、元隣接行列を更新することで、簡略化後の企業ネットワークを示す簡略化隣接行列を生成する。
Rows of
次に、接続情報生成部122による企業ネットワークの簡略化について説明する。まず中心ノードとしてコアに新規ノードを追加する第1の方法を説明し、その次に中心ノードとしてコアの中から既存ハブノードの1つを選択する第2の方法を説明する。
Next, simplification of the corporate network by the connection
図11は、グラフ簡略化の手順例を示すフローチャートである。
(S10)接続情報生成部122は、EDINETやTDNETが開示する公開投資情報に基づいて予め生成されたグラフデータをグラフデータ記憶部121から読み込む。また、接続情報生成部122は、ユーザが入力したオプション情報を読み込む。オプション情報は、簡略化フラグおよび次数閾値を含む。
FIG. 11 is a flow chart showing an example procedure for graph simplification.
(S10) The connection
(S11)接続情報生成部122は、グラフデータに基づいて、各ノードに接続されたエッジをカウントして各ノードの次数をウェイト(次数ウェイト)として算出する。接続情報生成部122は、各エッジについて、当該エッジの両端にあるノードのウェイトを平均化して当該エッジのウェイトを算出する。
(S11) Based on the graph data, the
(S12)接続情報生成部122は、簡略化前の企業ネットワークを示す元隣接行列を生成する。元隣接行列の行数および列数は、グラフデータが示すノードの数である。元隣接行列の要素は、ステップS11で算出したエッジのウェイトである。
(S12) The connection
(S13)接続情報生成部122は、ステップS10で読み込んだオプション情報に含まれる簡略化フラグがONであるか判断する。簡略化フラグがONである場合はステップS14に進み、簡略化フラグがOFFである場合はステップS21に進む。
(S13) The
(S14)接続情報生成部122は、グラフデータまたは元隣接行列に基づいて、次数が閾値より大きいノードをハブノードとして企業ネットワークから抽出する。ここで使用する閾値は、ステップS10で読み込んだオプション情報に含まれる次数閾値である。
(S14) Based on the graph data or the original adjacency matrix, the connection
(S15)接続情報生成部122は、2以上のハブノードがエッジによって連結されている連結部分グラフを抽出する。連結部分グラフは、例えば、元隣接行列からハブノードに対応する行および列のみを抽出することで特定できる。このとき、不連続な2つ以上の連結部分グラフが抽出されることがある。接続情報生成部122は、抽出された連結部分グラフのうちハブノード数が最大のものをコアと判定する。
(S15) The
(S16)接続情報生成部122は、コアに属するハブノードの間の平均距離を算出する。例えば、接続情報生成部122は、コアに属する各ハブノードを始点ノードとして、ダイクストラ法などの経路探索アルゴリズムにより他のハブノードとの距離を算出する。接続情報生成部122は、コアに属する全てのハブノードの組の距離を網羅的に算出して平均値を求めてもよい。また、接続情報生成部122は、コアに属する幾つかのハブノードの組をサンプリングして平均距離の推定値を求めてもよい。
(S16) The
(S17)接続情報生成部122は、コアに新規の中心ノードを追加する。例えば、接続情報生成部122は、隣接行列に対して1つの行および1つの列を追加する。
(S18)接続情報生成部122は、コア内のハブノードの間のエッジ、すなわち、コア内のハブノードからコア内の別のハブノードへのエッジを削除する。例えば、接続情報生成部122は、隣接行列に含まれる要素のうち、コア内のハブノードに対応する行番号およびコア内のハブノードに対応する列番号をもつ要素の値を0に書き換える。そして、接続情報生成部122は、コア内の各ハブノードと中心ノードとの間のエッジを追加する。追加されるエッジは、隣接行列において、中心ノードに対応する行番号およびコア内のハブノードに対応する列番号をもつ要素と、コア内のハブノードに対応する行番号および中心ノードに対応する列番号をもつ要素に相当する。
(S17) The
(S18) The
(S19)接続情報生成部122は、ステップS18で追加したエッジのウェイトを設定する。追加したエッジのウェイトは、ステップS16で算出した平均距離の2分の1とする。例えば、接続情報生成部122は、隣接行列に含まれる要素のうち、ステップS18で特定した追加エッジに相当する要素の値を平均距離の2分の1に設定する。
(S19) The
(S20)接続情報生成部122は、ステップS14~S20を通じて生成された簡略化隣接行列を接続情報記憶部123に出力する。そして、グラフ簡略化が終了する。
(S21)接続情報生成部122は、ステップS12で生成された元隣接行列を接続情報記憶部123に出力する。
(S20) The connection
(S21) The connection
図12は、グラフ簡略化の他の手順例を示すフローチャートである。
ステップS30~S35,S40,S41の処理は、図11のステップS10~S15,S20,S21と同様であるため説明を省略する。
FIG. 12 is a flowchart showing another procedure example of graph simplification.
Since the processes of steps S30 to S35, S40 and S41 are the same as those of steps S10 to S15, S20 and S21 of FIG. 11, description thereof will be omitted.
(S36)接続情報生成部122は、コアに属する各ハブノードの近接中心性を算出する。例えば、接続情報生成部122は、コアに属する各ハブノードを始点ノードとして、ダイクストラ法などの経路探索アルゴリズムにより他のハブノードとの距離を算出する。接続情報生成部122は、例えば、ハブノード毎に、他のハブノードとの間の距離の和の逆数または平均距離の逆数を近接中心性として算出する。
(S36) The
(S37)接続情報生成部122は、コア内のハブノードの中から、ステップS36で算出した近接中心性が最大であるハブノードと中心ノードとして選択する。
(S38)接続情報生成部122は、コア内のハブノードの間のエッジ、すなわち、コア内のハブノードからコア内の別のハブノードへのエッジを削除する。そして、接続情報生成部122は、ステップS37で選択した中心ノードとコア内の他のハブノードとの間のエッジを追加する。追加されるエッジは、隣接行列において、中心ノードに対応する行番号および他のハブノードに対応する列番号をもつ要素と、他のハブノードに対応する行番号および中心ノードに対応する列番号をもつ要素に相当する。
(S37) The connection
(S38) The
(S39)接続情報生成部122は、ステップS38で追加したエッジのウェイトを設定する。追加したエッジのウェイトは、当該エッジの両端にあるハブノードの間の距離とする。この距離は、簡略化前の企業ネットワークの接続関係を基準に算出される距離であり、ステップS36で近接中心性を求める過程で算出された距離を用いることができる。例えば、接続情報生成部122は、隣接行列に含まれる要素のうち、ステップS38で特定した追加エッジに相当する要素の値を、両端のノードに応じた距離に設定する。
(S39) The
第2の実施の形態の分析装置100によれば、企業ネットワークから次数の大きいハブノードが検出され、複数のハブノードが連結したコアが検出される。そして、コアに中心ノードが設定され、コアに属するハブノード同士はコアを介して接続されているスター型コアになるように企業ネットワークが簡略化される。これにより、コアを通過する経路を探索するための計算量が削減され、企業ネットワーク上での経路探索が高速化される。また、コアを1つの仮想ノードに置換するなどの極端な簡略化と比べて、コアに属するハブノードは削除されず、コアに属するハブノードと周辺部に属する周辺ノードとの間の接続関係の情報が維持される。よって、経路探索の精度の低下を抑制できる。
According to the
10 情報処理装置
11 記憶部
12 処理部
13,14 グラフデータ
15 コアノード集合
16 中心ノード
REFERENCE SIGNS
Claims (6)
複数のノードとノード間を接続する複数のエッジとを含むグラフデータを取得し、
前記グラフデータが示す前記複数のノードの中から、接続されたエッジの数が閾値より大きい複数のハブノードを検出し、前記検出した複数のハブノードのうちエッジによって連結された3以上のハブノードを含むコアノード集合を判定し、
前記コアノード集合に属するハブノードそれぞれと前記コアノード集合に属する他のハブノードとの間の距離に基づいて、前記コアノード集合に属するハブノードの中から中心ノードを選択し、前記中心ノード以外の前記コアノード集合に属するハブノード同士を接続するエッジに代えて、前記中心ノード以外の前記コアノード集合に属するハブノードと前記中心ノードとを接続するエッジを含む他のグラフデータを生成する、
グラフ簡略化方法。 the computer
obtaining graph data including a plurality of nodes and a plurality of edges connecting the nodes;
detecting, from among the plurality of nodes indicated by the graph data, a plurality of hub nodes each having a number of connected edges greater than a threshold value, and a core node including three or more hub nodes connected by edges among the plurality of detected hub nodes; determine the set,
Based on the distance between each hub node belonging to the core node set and other hub nodes belonging to the core node set, a core node is selected from hub nodes belonging to the core node set, and belonging to the core node set other than the core node set. generating other graph data including edges connecting hub nodes belonging to the core node set other than the central node and the central node instead of the edges connecting the hub nodes;
Graph simplification method.
請求項1記載のグラフ簡略化方法。 In setting the core node, the hub node belonging to the core node set other than the core node and the core node are connected based on the distance between the core node and the hub node belonging to the core node set other than the core node. determine the edge weight,
The graph simplification method of claim 1 .
請求項1記載のグラフ簡略化方法。 searching for a path between a first node that does not belong to the core node set and a second node that does not belong to the core node set based on the other graph data;
The graph simplification method of claim 1.
前記複数のエッジの少なくとも一部は、企業間の関係を示しており、
前記複数のハブノードは、前記複数のハブノード以外のノードが示す企業よりも関係をもつ他の企業が多いハブ企業を示している、
請求項1記載のグラフ簡略化方法。 at least some of the plurality of nodes are indicative of an enterprise;
at least a portion of the plurality of edges are indicative of relationships between companies;
The plurality of hub nodes indicate hub companies with which there are more other companies with which they have a relationship than the companies indicated by the nodes other than the plurality of hub nodes,
The graph simplification method of claim 1.
複数のノードとノード間を接続する複数のエッジとを含むグラフデータを取得し、
前記グラフデータが示す前記複数のノードの中から、接続されたエッジの数が閾値より大きい複数のハブノードを検出し、前記検出した複数のハブノードのうちエッジによって連結された3以上のハブノードを含むコアノード集合を判定し、
前記コアノード集合に属するハブノードそれぞれと前記コアノード集合に属する他のハブノードとの間の距離に基づいて、前記コアノード集合に属するハブノードの中から中心ノードを選択し、前記中心ノード以外の前記コアノード集合に属するハブノード同士を接続するエッジに代えて、前記中心ノード以外の前記コアノード集合に属するハブノードと前記中心ノードとを接続するエッジを含む他のグラフデータを生成する、
処理を実行させるグラフ簡略化プログラム。 to the computer,
obtaining graph data including a plurality of nodes and a plurality of edges connecting the nodes;
detecting, from among the plurality of nodes indicated by the graph data, a plurality of hub nodes each having a number of connected edges greater than a threshold value, and a core node including three or more hub nodes connected by edges among the plurality of detected hub nodes; determine the set,
Based on the distance between each hub node belonging to the core node set and other hub nodes belonging to the core node set, a core node is selected from hub nodes belonging to the core node set, and belonging to the core node set other than the core node set. generating other graph data including edges connecting hub nodes belonging to the core node set other than the central node and the central node instead of the edges connecting the hub nodes;
A graph simplification program that does the work.
前記グラフデータが示す前記複数のノードの中から、接続されたエッジの数が閾値より大きい複数のハブノードを検出し、前記検出した複数のハブノードのうちエッジによって連結された3以上のハブノードを含むコアノード集合を判定し、前記コアノード集合に属するハブノードそれぞれと前記コアノード集合に属する他のハブノードとの間の距離に基づいて、前記コアノード集合に属するハブノードの中から中心ノードを選択し、前記中心ノード以外の前記コアノード集合に属するハブノード同士を接続するエッジに代えて、前記中心ノード以外の前記コアノード集合に属するハブノードと前記中心ノードとを接続するエッジを含む他のグラフデータを生成する処理部と、
を有する情報処理装置。 a storage unit that stores graph data including a plurality of nodes and a plurality of edges connecting the nodes;
detecting, from among the plurality of nodes indicated by the graph data, a plurality of hub nodes each having a number of connected edges greater than a threshold value, and a core node including three or more hub nodes connected by edges among the plurality of detected hub nodes; determining a set , selecting a core node from hub nodes belonging to the core node set based on the distance between each hub node belonging to the core node set and other hub nodes belonging to the core node set; a processing unit that generates other graph data including edges connecting hub nodes belonging to the core node set other than the core node and the core node instead of the edges connecting the hub nodes belonging to the core node set;
Information processing device having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018211325A JP7157328B2 (en) | 2018-11-09 | 2018-11-09 | Graph simplification method, graph simplification program, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018211325A JP7157328B2 (en) | 2018-11-09 | 2018-11-09 | Graph simplification method, graph simplification program, and information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020077299A JP2020077299A (en) | 2020-05-21 |
JP7157328B2 true JP7157328B2 (en) | 2022-10-20 |
Family
ID=70724223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018211325A Active JP7157328B2 (en) | 2018-11-09 | 2018-11-09 | Graph simplification method, graph simplification program, and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7157328B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7388566B2 (en) | 2020-08-31 | 2023-11-29 | 富士通株式会社 | Data generation program, method and device |
CN112465637B (en) * | 2020-11-05 | 2023-07-14 | 中国人民大学 | Method for intelligent automatic guiding and detecting money back washing and computer readable storage medium |
JP7323898B1 (en) | 2022-05-30 | 2023-08-09 | 株式会社Fronteo | Information processing system and information processing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007323385A (en) | 2006-06-01 | 2007-12-13 | Nippon Telegr & Teleph Corp <Ntt> | Network core extraction method and device, network core extraction program, and recording medium recording the program |
JP2009151471A (en) | 2007-12-19 | 2009-07-09 | Ntt Data Corp | Evaluation device, evaluation method and evaluation program |
JP2013164693A (en) | 2012-02-09 | 2013-08-22 | Fujitsu Ltd | Calculation apparatus, calculation program, and calculation method |
-
2018
- 2018-11-09 JP JP2018211325A patent/JP7157328B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007323385A (en) | 2006-06-01 | 2007-12-13 | Nippon Telegr & Teleph Corp <Ntt> | Network core extraction method and device, network core extraction program, and recording medium recording the program |
JP2009151471A (en) | 2007-12-19 | 2009-07-09 | Ntt Data Corp | Evaluation device, evaluation method and evaluation program |
JP2013164693A (en) | 2012-02-09 | 2013-08-22 | Fujitsu Ltd | Calculation apparatus, calculation program, and calculation method |
Also Published As
Publication number | Publication date |
---|---|
JP2020077299A (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959015B2 (en) | Systems and methods for monitoring and analyzing performance in a computer system with node pinning for concurrent comparison of nodes | |
US11734233B2 (en) | Method for classifying an unmanaged dataset | |
US10210189B2 (en) | Root cause analysis of performance problems | |
AU2018253478B2 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
JP7157328B2 (en) | Graph simplification method, graph simplification program, and information processing device | |
JP3815218B2 (en) | Data analysis method and apparatus | |
US10255364B2 (en) | Analyzing a query and provisioning data to analytics | |
JP6898561B2 (en) | Machine learning programs, machine learning methods, and machine learning equipment | |
CN110110154B (en) | Graph file processing method, device and storage medium | |
JP2023015340A (en) | Node information estimation method, node information estimation program, and information processing apparatus | |
Bernard et al. | Discovering customer journeys from evidence: a genetic approach inspired by process mining | |
US20220229854A1 (en) | Constructing ground truth when classifying data | |
JPWO2017203672A1 (en) | Item recommendation method, item recommendation program and item recommendation device | |
US20090094695A1 (en) | Account association generation | |
Ficara et al. | Social network analysis: The use of graph distances to compare artificial and criminal networks | |
JP2017076170A (en) | Risk evaluation device, risk evaluation method and risk evaluation program | |
Punn et al. | Testing big data application | |
Lin et al. | Discriminative Graph-level Anomaly Detection via Dual-students-teacher Model | |
CN110895564A (en) | Potential customer data processing method and device | |
WO2016157707A1 (en) | Table operation system, method, and program | |
Bhaduri et al. | Dynamics of Reward‐Based Crowdfunding: Kickstarter Rock Music Projects | |
Branch et al. | Bizmap: a framework for mapping business applications to it infrastructure | |
Pradhan et al. | IPL: from lens of data science | |
KR20240032493A (en) | Method and system for visualizing target data | |
Kappi et al. | Artificial intelligence and machine learning for disaster prediction: a scientometric analysis of highly cited papers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210810 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210820 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220824 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7157328 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |