JP5700841B2 - Graph data visualization display device, method, and program - Google Patents
Graph data visualization display device, method, and program Download PDFInfo
- Publication number
- JP5700841B2 JP5700841B2 JP2012025577A JP2012025577A JP5700841B2 JP 5700841 B2 JP5700841 B2 JP 5700841B2 JP 2012025577 A JP2012025577 A JP 2012025577A JP 2012025577 A JP2012025577 A JP 2012025577A JP 5700841 B2 JP5700841 B2 JP 5700841B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- additional
- graph
- arrangement
- 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
- Processing Or Creating Images (AREA)
Description
本発明は、グラフデータ可視化表示装置及び方法及びプログラムに係り、特に、複数ノードと当該ノード間をつなぐエッジで構成されるグラフデータを可視化するためのグラフデータ可視化表示装置及び方法及びプログラムに関する。 The present invention relates to a graph data visualization display device, method, and program, and more particularly, to a graph data visualization display device, method, and program for visualizing graph data composed of a plurality of nodes and edges connecting the nodes.
ネットワークをグラフとして可視化する技術(以下、単に「可視化技術」と記す)は、一般にデータとデータとの関連性によってネットワークを形成したグラフデータを可視化することを指す。グラフデータでは、当該要素を示すノードとノード間を繋ぐエッジとで表すことにより視覚化することが可能である。例えば、インターネット上のハイパーリンクの張られたWEBページであれば、各WEBページをノードとして、ハイパーリンクをエッジとして表現することにより、グラフ可視化表示をすることが可能である。また、例えば、金融・通信・交通・社会組織・遺伝子情報などのネットワーク表示、化学・生物学・医学などのデータをグラフ化したものの表示、テキストデータや画像データを関連性をもとにグラフ化したものの表示、関連性のあるモジュール群の組み合わせ表示(例えば、ICチップのLSI設計図)、地図や参考書の図解表示に用いられるラベル表示などのように、種々の用途が考えられる。それゆえ、コンピュータによる力学的アルゴリズムを用いたグラフ可視化表示技術は、非常に幅広い分野での需要のある技術である。 A technique for visualizing a network as a graph (hereinafter simply referred to as “visualization technique”) generally refers to visualizing graph data that forms a network based on the relationship between data. The graph data can be visualized by expressing it with a node indicating the element and an edge connecting the nodes. For example, in the case of a WEB page with hyperlinks on the Internet, graph visualization can be performed by expressing each WEB page as a node and a hyperlink as an edge. In addition, for example, network display such as finance / communication / transport / social organization / gene information, graph display of data such as chemistry / biology / medicine, and graph display of text data and image data based on relevance Various applications are possible, such as display of the display, combination display of related module groups (for example, an LSI design drawing of an IC chip), and label display used for graphical display of maps and reference books. Therefore, a graph visualization display technique using a mechanical algorithm by a computer is a technique in demand in a very wide range of fields.
<条件>
グラフ可視化表示技術における重要かつ最大の目的は、グラフ可視化表示装置上において、次の2つの条件を可能な限り満たすことが好ましいとされている。
<Conditions>
An important and greatest object in the graph visualization display technology is that it is preferable to satisfy the following two conditions as much as possible on the graph visualization display device.
[条件1] ノード同士を重ならないように配置する。 [Condition 1] Arrange the nodes so as not to overlap each other.
[条件2] 関連性のあるノード同士はエッジを介して接続させ、近傍に配置する。 [Condition 2] Relevant nodes are connected via an edge and arranged in the vicinity.
これらの条件を図1に示す。[条件1]は、異なるノード情報が重なって表示されることによる情報の誤読を防ぐためである。[条件2]は、関連性のあるノードを近傍に配置することにより視覚的な情報認識精度を向上させるためである。上記の2つの条件を満たすべく、ノードのグラフ可視化表示装置上での配置座標を求めることが必要である。 These conditions are shown in FIG. [Condition 1] is to prevent misreading of information due to overlapping display of different node information. [Condition 2] is to improve visual information recognition accuracy by arranging related nodes in the vicinity. In order to satisfy the above two conditions, it is necessary to obtain the arrangement coordinates of the node on the graph visualization display device.
<関連技術>
[基本技術]
従来、上記の条件を満たすためのグラフ可視化表示技術には、一般的に力学モデルを用いた手法が広く利用されており、以下の2つが世界中で最も頻繁に利用されている。
<Related technologies>
[Basic technology]
Conventionally, a technique using a dynamic model has been widely used as a graph visualization display technique for satisfying the above conditions, and the following two are most frequently used all over the world.
・バネモデル法:全てのノード間に仮想的なバネを仮定し、座標の更新手法を1ノードずつ逐次的に行う手法である。一般的に、ノード間のグラフ上での最短経路パス数を、ノード間のバネの自然長として計算を行う(例えば、非特許文献1参照)。 ・ Spring model method: This is a method in which a virtual spring is assumed between all nodes and the coordinate update method is sequentially performed one node at a time. In general, the number of shortest path paths on the graph between the nodes is calculated as the natural length of the spring between the nodes (for example, see Non-Patent Document 1).
・Force-directed法:全てのノード間で斥力を与え(例えば、分子間に働くクーロン斥力のように)、接続されているノード間(エッジ)には引力を与え、座標の更新をこの引力と斥力の総和を用いてまとめて更新していく(例えば、非特許文献2参照)。 Force-directed method: Gives a repulsive force between all nodes (for example, Coulomb repulsive force that works between molecules), gives an attractive force between connected nodes (edges), and updates coordinates with this attractive force The total sum of repulsive forces is used for updating (for example, see Non-Patent Document 2).
上記の2つのいずれの手法においても、全てのノード間に反発する力が働き[条件1]で要求される、ノード同士の重なりの排除を実施することができる。また、接続するノード同士では引き合う力が働き、[条件2]で要求される、接続ノードを近傍に配置することを実施することができる。 In either of the two methods described above, a repulsive force is exerted between all the nodes, and it is possible to eliminate the overlap between the nodes required by [Condition 1]. In addition, an attractive force works between the nodes to be connected, and the connection nodes required in [Condition 2] can be arranged in the vicinity.
また、上記の2つの手法においては、引力と斥力の関数が一意に決まると、最急降下法やニュートン法などの数値計算法を用いて、目的関数が収束する(最大エントロピーが求まる)ように座標を更新する。 In the above two methods, when the attractive and repulsive functions are uniquely determined, the coordinates are set so that the objective function converges (maximum entropy is obtained) using a numerical calculation method such as the steepest descent method or Newton method. Update.
上記の条件2に対して、「最適な配置を高速に求める」という技術に対するグラフ可視化表示技術に関しては、1980年代以降様々な手法が提案されてきた。最適な配置を高速に求めることに関する問題は、大きく分けて2つのアプローチがある。
With respect to the
[アプローチ1]効率的な初期配置を行い、数値計算の目的関数に対する収束を早めさせる。 [Approach 1] Perform efficient initial placement to speed up convergence on the objective function of numerical computations.
[アプローチ2]最適配置のための数値計算を高速化する。 [Approach 2] Speed up numerical calculations for optimal placement.
通常、演算の高速化に関して特に効果的なのは[アプローチ2]であり、いかに高速に処理を行うかが鍵となっている。しかしながら、本発明において、問題視している課題は「ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータ」に対して、リアルタイムにグラフ可視化表示を行う技術の要求である。そのため、[アプローチ1]で述べた「効率的な初期配置手法」が、特に大規模なストリーミングデータを扱うグラフ可視化表示に関して要求される。尚、[アプローチ2]では、特に近似手法を用いた高速化は幾つかの手法が提案されているが、本発明とは対立せず、両立可能な技術であるため、本発明の課題として含めない。 Normally, [Approach 2] is particularly effective for speeding up the operation, and the key is how fast the processing is performed. However, in the present invention, a problem that is regarded as a problem is a request for a technique for visualizing and displaying graphs in real time for "streaming data whose data structure keeps changing such as the number of nodes and the number of edges". Therefore, the “efficient initial arrangement method” described in [Approach 1] is required particularly for the graph visualization display that handles large-scale streaming data. In [Approach 2], several methods have been proposed for speeding up using an approximation method in particular. However, since this method is compatible with and compatible with the present invention, it is included as a subject of the present invention. Absent.
[アプローチ1]では、代表的な手法として、LGL法を用いたグラフ可視化計算手法がある(例えば、非特許文献3参照)。LGL法は、グラフデータ構造から最小全域木を作成し、作成された全域木の木構造を元に描画を行う。 In [Approach 1], as a typical method, there is a graph visualization calculation method using the LGL method (for example, see Non-Patent Document 3). The LGL method creates a minimum spanning tree from a graph data structure and draws based on the created spanning tree.
また次数を考慮して次数の高いものから中心付近に配置して計算処理を行ってゆく方法が提案されている(例えば、特許文献1参照)。当該手法は、ターゲットとするグラフデータは数十〜数百ノード程度で、全てのノードが連結されている場合に非常に有効である。 In addition, a method has been proposed in which calculation processing is performed by placing the higher order near the center in consideration of the order (see, for example, Patent Document 1). This method is very effective when the target graph data is about several tens to several hundreds of nodes and all the nodes are connected.
上述したグラフ可視化表示技術に対して、基本的に求められる要件は、「最適な配置を高速に求める」ことである。具体的には、パソコンのディスプレイ装置に表示されたウィンドウ内、もしくは印刷に耐えられる画像データのサイズ内に収まる程度(現実的には数百から数千ノード規模)のグラフデータをウィンドウ内であれば数秒程度で、印刷物としても数分以内に配置の計算を行う必要性がある。このとき、上記の2つの条件である「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすことが要求される。 A fundamental requirement for the above-described graph visualization display technique is “to obtain an optimum arrangement at high speed”. Specifically, graph data within a window displayed on a personal computer display device or within the size of image data that can withstand printing (in reality, several hundred to several thousand nodes) should be displayed in the window. In a few seconds, it is necessary to calculate the arrangement within a few minutes even for printed materials. At this time, it is required to satisfy the above two conditions “nodes do not overlap” and “relevant things are arranged in the vicinity”.
また、近年では、Twitter(登録商標)やFacebook(登録商標)といった、SNS(Social Networking Service)を利用したマイクロブログが流行し、常にデータが増加し続ける。このWeb上で増え続けている大規模データ分析においては、データストリームをリアルタイムに処理し、同時に「可視化」することが要求されている。それゆえ、グラフ可視化技術においても、ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータの可視化技術が要求されている。 In recent years, microblogging using Social Networking Service (SNS) such as Twitter (registered trademark) and Facebook (registered trademark) has become popular, and data continues to increase. In the large-scale data analysis that continues to increase on the Web, it is required to process the data stream in real time and “visualize” it at the same time. Therefore, in the graph visualization technique, there is a demand for a visualization technique for streaming data whose data structure keeps changing, such as the number of nodes and the number of edges changing.
また、初期配置とストリーミング処理における[アプローチ1]における最小全域木を用いた手法では、接続関係を排除するという近似の影響が強く出てしまうため、エッジ接続を持ちながら、極端に離れたノードのペアが生じてしまうため、好ましくない結果が生じる。つまり、[条件1]を満たすことは可能であるが、[条件2]に関しては可読性を十分満たすことができない。 In addition, in the method using the minimum spanning tree in [Approach 1] in the initial arrangement and the streaming processing, the influence of approximation that eliminates the connection relation is strong, so that the node of the extremely remote node has the edge connection. Undesirable results occur because of the pairing. That is, [Condition 1] can be satisfied, but [Condition 2] cannot sufficiently satisfy the readability.
また、特許文献1の手法では、部分グラフから構成されているグラフデータや、特に大規模なグラフデータでは有効な手段ではない。
Further, the method of
本発明は、上記の点に鑑みなされたもので、グラフ可視化表示技術において、ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータに対して、ノード同士が重ならず、かつ、関連性のあるものは近傍に配置、という2つの条件を満たし、リアルタイムに最適な配置を高速に求めることが可能なグラフデータ可視化表示装置及び方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above points, and in the graph visualization display technology, nodes do not overlap each other with respect to streaming data whose data structure continues to change, such as the number of nodes and the number of edges, and the like. It is an object of the present invention to provide a graph data visualization display device, method and program that satisfy two conditions that the related ones are arranged in the vicinity and can obtain an optimum arrangement at high speed in real time.
上記の課題を解決するため、本発明(請求項1)は、複数のノードと該ノード間をつなぐエッジで構成されるグラフデータを可視化するグラフ可視化表示装置であって、
複数のノードと該ノード間の関係性をエッジとして表現したグラフデータに基づいて、グラフ可視化イメージを生成する処理手段と、
前記処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を備え、
前記処理手段は、
前記表示手段に表示されるディスプレイ空間上にノードを追加する際には、追加される追加ノードと接続関係にある、既に配置されている既存配置ノード群の重心に前記追加ノードを配置した後に、所定の力学モデルに従って各ノードの位置を修正し、
複数の追加ノードを追加する際には、当該複数の追加ノードのいずれかのみと接続関係にある追加ノードよりも、いずれかの前記既存配置ノードと接続関係にある追加ノードから先に配置を行う。
In order to solve the above problems, the present invention (Claim 1) is a graph visualization display device for visualizing graph data composed of a plurality of nodes and edges connecting the nodes,
Processing means for generating a graph visualization image based on graph data expressing a relationship between a plurality of nodes and the nodes as edges;
Display means for displaying the graph visualization image generated in the processing means,
The processing means includes
Wherein when on the display space displayed on the display unit to add a node is a connection relationship between additional nodes that will be added, the additional node to the center of gravity of the existing arrangement node group that have already been arranged after placing the, correct the position of each node according to Jo Tokoro dynamics model,
When adding a plurality of additional nodes, the arrangement is made before any additional nodes that are connected to any of the existing arrangement nodes, rather than the additional nodes that are connected to only one of the plurality of additional nodes. .
また、本発明(請求項2)は、前記処理手段において、
前記既存配置ノード群の重心に前記追加ノードを配置する際に、同じ接続情報を持つノードが存在する場合には、乱数を用いて微少に配置をずらして前記追加ノードを追加する。
The present invention (Claim 2 ) provides the processing means,
When placing the additional node to the center of gravity of the existing arrangement node group, if the node with the same connection information exists, to add the additional node staggered arrangement minutely using a random number.
また、本発明(請求項3)は、前記処理手段において、
前記追加ノードが前記既存配置ノードとの接続関係が一つだけである場合は、接続関係にある該既存配置ノードの近傍に前記追加ノードを配置する。
The present invention (Claim 3 ) provides the processing means,
When the additional node is only one connection relationship is between the existing arrangement node, place the additional node to the vicinity of the existing arrangement nodes in a connected relationship.
また、本発明(請求項4)は、前記処理手段において、
前記既存配置ノードとの接続関係がない前記追加ノードを、前記ディスプレイ空間上の任意の場所に配置する。
Further, the present invention (Claim 4 ) provides the processing means,
Said additional node is not connected to the relationship between the pre-Symbol existing placement node, it placed anywhere on the display space.
上述のように、本発明によれば、ストリーミングデータや時系列グラフデータのように、グラフデータのノード情報に追加や削除が起きる場合、グラフ可視化表示における処理速度の向上を図り、追加ノード配置の効率化による品質の向上と高速な処理という要求を高度に両立させることが可能となる。 As described above, according to the present invention, when addition or deletion occurs in node information of graph data such as streaming data or time-series graph data, the processing speed in the graph visualization display is improved, and It is possible to achieve a high degree of compatibility between the demands for quality improvement and high-speed processing through efficiency.
以下、図面と共に本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図2は、本発明の一実施の形態におけるグラフデータ可視化表示装置の構成を示す。 FIG. 2 shows a configuration of a graph data visualization display device according to an embodiment of the present invention.
同図に示すグラフ可視化表示装置10は、処理対象であるグラフデータを格納した記憶装置14、グラフ可視化表示処理をプログラム制御により実行する処理装置(CPU)11、処理装置11を制御するプログラムを格納した主メモリ12、処理装置11により生成されたグラフデータの可視化イメージを表示するディスプレイ装置13から構成される。
The graph
なお、図2には、本実施の形態を実現するための構成のみを図示している。実際には、図2の構成の他に、各種の命令やデータを入力するためのキーボードやマウス等の入力装置、各種周辺機器、ネットワークに対するインタフェースなどが設けられていることを前提とする。 FIG. 2 shows only the configuration for realizing the present embodiment. Actually, in addition to the configuration of FIG. 2, it is assumed that an input device such as a keyboard and a mouse for inputting various commands and data, various peripheral devices, an interface for a network, and the like are provided.
また、本実施の形態におけるグラフデータ可視化表示装置は、グラフデータに基づいて追加する追加ノード初期配置決定部21と、削除ノード処理部22と、所定の力学モデルに従い、ノード座標の最適化計算を行うノード配置座標最適化更新処理部23と、を備え、各種構成要素は、主メモリ12に保持されているコンピュータプログラムにより制御された処理装置11において実現される仮想的なソフトウェアプログラムである。
In addition, the graph data visualization display device according to the present embodiment performs optimization calculation of node coordinates according to an additional node initial
図3は、本発明の一実施の形態における処理装置の動作のフローチャートである。 FIG. 3 is a flowchart of the operation of the processing apparatus according to the embodiment of the present invention.
以下では、追加ノード初期配置決定部21、削除ノード処理部22及びノード配置座標最適化更新処理部23による、追加ノードの配置、及び削除ノードの削除及び全体のノードの座標の最適化更新処理について説明する。
In the following, the addition node initial
ステップ301) 記憶装置14からグラフデータを取得する。
Step 301) Obtain graph data from the
ステップ302) 処理装置11は、各ノードに対して追加または削除を行うタイミングを決定する。当該タイミングは、Wikipedia(登録商標)の人物リストデータ(後述する図8〜図12)を例にとると、誕生年と没年のデータを読み込み、時間窓を1年に設定し、誕生年にノード(この場合は人物)を追加するように、また、没年にノードを削除するように事前処理を行っておくことにより決定されるものとする。
Step 302) The
ステップ303) ノード情報を更新するタイミングであれば、ステップ304に移行し、そうでなければステップ306に移行する。 Step 303) If it is time to update the node information, the process proceeds to step 304; otherwise, the process proceeds to step 306.
ステップ304) 追加ノード配置決定部21において、追加ノードの座標を決定する。詳細な処理については図4で後述する。
Step 304) The additional node
ステップ305) 削除ノード処理部22において、削除ノードを削除する。実際には、ノード更新時にリストに含まれない場合、更新のタイミングで排除している。
Step 305) The delete
ステップ306) ノード配置座標最適化更新処理部23は、所定の力学モデルに従う運動方程式よりノードの最適な配置を算出して更新する。最適化としては、例えば、ニュートン法等を用いることができる。
Step 306) The node arrangement coordinate optimization
ステップ307) ノード配置座標最適化更新処理部23は、全ノードの座標を更新する。
Step 307) The node arrangement coordinate optimization
ステップ308) 停止条件を満たす場合は当該処理を終了し、満たさない場合はステップ303に移行する。 Step 308) If the stop condition is satisfied, the process is terminated; otherwise, the process proceeds to Step 303.
次に、上記のステップ304の処理について説明する。
Next, the process in
図4は、本発明の一実施の形態における追加ノード配置決定部の処理のフローチャートである。 FIG. 4 is a flowchart of the process of the additional node arrangement determining unit in the embodiment of the present invention.
ステップ401) 追加ノード配置決定部21は、記憶装置14からグラフデータを取得する。
Step 401) The additional node
ステップ402) グラフデータから追加するノードの接続エッジ情報を抽出する。 Step 402) The connection edge information of the node to be added is extracted from the graph data.
ステップ403) 新規追加ノードを任意に1つ選択する。 Step 403) Arbitrarily select one newly added node.
ステップ404) 選択した新規追加ノードにエッジ接続があるかを判定し、ある場合はステップ406に移行し、ない場合はステップ405に移行する。 Step 404) It is determined whether the selected newly added node has an edge connection. If there is an edge connection, the process proceeds to Step 406, and if not, the process proceeds to Step 405.
ステップ405) エッジ接続がない場合は、新規追加ノードの座標を乱数を用いて、当該追加ノード配置決定部21内のメモリ上の描画領域内にランダムに配置し、ステップ411に移行する。
Step 405) If there is no edge connection, the coordinates of the newly added node are randomly placed in the drawing area on the memory in the added node
ステップ406) エッジ接続がある場合は、当該エッジ接続先に既存の配置ノードがあるかを判定し、ある場合はステップ408に移行し、ない場合はステップ407に移行する。 Step 406) If there is an edge connection, it is determined whether there is an existing placement node at the edge connection destination. If there is an edge connection, the process proceeds to step 408, and if not, the process proceeds to step 407.
ステップ407) 残る全ての新規ノードのエッジ接続先が新規ノードである場合はステップ405に移行し、そうでない場合は、ステップ403に移行する。 Step 407) If the edge connection destinations of all the remaining new nodes are new nodes, the process proceeds to Step 405. Otherwise, the process proceeds to Step 403.
ステップ408) エッジ接続先の既存の配置ノードは1つであるかを判定し、1つである場合はステップ410に移行し、そうでない場合はステップ409に移行する。 Step 408) It is determined whether there is one existing arrangement node of the edge connection destination. If there is one, the process proceeds to Step 410, and if not, the process proceeds to Step 409.
ステップ409) エッジ接続先の既存配置ノードが複数ある場合は、接続先の既存配置ノード群の重心に新規追加ノードの座標を配置し、ステップ411に移行する。 Step 409) When there are a plurality of existing arrangement nodes of the edge connection destination, the coordinates of the newly added node are arranged at the center of gravity of the existing arrangement node group of the connection destination, and the process proceeds to Step 411.
ステップ410) エッジの接続先の既存配置ノードが1つの場合は、接続先の既存配置ノードの近傍に配置し、ステップ411に移行する。 Step 410) When there is one existing arrangement node at the connection destination of the edge, the node is arranged in the vicinity of the existing arrangement node at the connection destination, and the process proceeds to Step 411.
ステップ411) 接続エッジ情報にまだ追加ノードが残っている場合はステップ403に移行し、残っていない場合は当該処理を終了する。 Step 411) If additional nodes still remain in the connection edge information, the process proceeds to Step 403, and if not, the process ends.
以下に、上記の図4のフローチャートに示す処理についてノードを配置する4つのパターンを説明する。 Hereinafter, four patterns for arranging nodes in the processing shown in the flowchart of FIG. 4 will be described.
<ノード追加処理(1)>
追加ノード配置決定部21は、追加するノードについて、追加エッジを元に、接続関係にある既存配置ノードに対しての重心に配置を行っていく(ステップ409)。例えば、図5のように、(a)の既存配置ノードに対して、(b)と(c)で示されるノードとエッジの追加を行うとき、9番ノードは5番と8番の重心に、10番ノードは1番と5番と4番の重心に、11番ノードは2番と4番の重心に配置する。ノード配置座標最適化更新処理部23は、追加配置した(d)の座標を元に、所定の力学モデルに従って配置の最適化計算を行い、(e)の配置を得る。
<Node addition processing (1)>
The additional node
<ノード追加処理(2)>
追加された当該ノードが既存配置されているノードとの接続関係にあり、かつ、追加ノードとも接続関係にある場合(ステップ409)、追加ノード配置決定部21は、既存配置ノードと接続関係にあるノードから先に追加を行い、逐次的にノードの追加を行うことによって、追加ノードを既存配置ノードの重心に配置していく。例えば、図6のように、(a)の既存配置ノードに対して、(b)と(c)で示されるノードとエッジの追加を行うとき、まずは、9番ノードを接続する5番と8番の重心に(d)のように配置する。次に10番ノードを9番と5番と4番の重心に(f)のように配置する。次に11番ノードを10番と2番の重心に(h)のように配置する。ノード配置座標最適化更新処理部23は、(h)の配置を元に所定の力学モデルに従って最適化計算を行い、(i)の最適配置を得る。
<Node addition processing (2)>
When the added node is in a connection relationship with a node that is already arranged and is also in a connection relationship with the additional node (step 409), the additional node
<ノード追加処理(3)>
追加するノードが、接続関係にある既存配置ノードが一つの場合、追加ノード配置決定部21は、重心ではなく既存配置ノードの近傍に配置を行う(ステップ410)。例えば、図7のように、(a)の配置済みノードに対して、(b)と(c)で示されるノードとエッジの追加を行うとき、9番ノードは5番の近傍に、10番ノードは1番の近傍に、11番ノードは4番の近傍に配置する。ノード配置座標最適化更新処理部23は、追加配置した(d)の座標を元に、所定の力学モデルに従って最適化計算を行い、(e)の最適配置を得る。
<Node addition processing (3)>
When the number of nodes to be added is one existing placement node that is in a connection relationship, the additional node
<ノード追加処理(4)>
既に配置されているノードとの接続関係がないものは、ディスプレイ空間上の任意の場所に配置を行う(ステップ405)。
<Node addition processing (4)>
Those having no connection relationship with nodes that have already been arranged are arranged at an arbitrary location on the display space (step 405).
次に、上記の実施の形態の処理を具体的に説明する。 Next, the process of the above embodiment will be specifically described.
図8は、本発明の一実施の形態における人物データを用いた共起グラフ可視化の例である。用いたデータはWikipedia(登録商標)より、人物リストを収集し、Wikipedia(登録商標)の記事に出現する頻度を元に共起度の計算を行い、共起度を元にグラフデータを作成したものである。図8の(a)では、160年に生存していた人物の共起データを元に、所定の力学モデルに従い最適配置を行い表示した様子を示している。同図(b)では、161年に生存していた人物の座標配置を行ったものであり、(a)の160年のデータと比べて新たに『劉備』が追加されたことがわかる。このとき、『劉備』は既存配置されていた『曹操』ら4人の人物と共起度が高く接続関係にあるため、4人の既存配置座標の重心に追加配置を行った。(b)の配置座標を元に再び所定の力学モデルによる最適配置計算を行い、その結果得られた配置が(c)となる。このグラフ可視化表示を実現するために用いたサンプルデータを図9、図10に示す。 FIG. 8 is an example of co-occurrence graph visualization using person data according to an embodiment of the present invention. The data used was a person list collected from Wikipedia (registered trademark), the co-occurrence degree was calculated based on the frequency of appearance in Wikipedia (registered trademark) articles, and graph data was created based on the co-occurrence degree Is. FIG. 8A shows a state in which optimal placement is performed according to a predetermined dynamic model based on the co-occurrence data of a person alive in 160 years. In FIG. 6B, the coordinate arrangement of the person who was alive in 161 was performed, and it can be seen that “Liu Bei” was newly added compared to the data of 160 in FIG. At this time, “Liu Bei” had a high degree of co-occurrence with 4 people such as “Cao Cao” who had already been placed, and was connected to the center of gravity of the existing placement coordinates of the 4 people. Based on the arrangement coordinates of (b), the optimum arrangement calculation is again performed using a predetermined dynamic model, and the resulting arrangement is (c). Sample data used for realizing the graph visualization display are shown in FIGS.
<従来技術と本願発明の比較>
本発明の効果を考察するために、前述したWikipedia(登録商標)の人物リストデータを用いて検証を行った。定量評価としては、所定の力学モデルを用いて、計算の最適化を行い、グラフデータのエッジ長の平均と分散で評価を行った。
<Comparison between the prior art and the present invention>
In order to consider the effect of the present invention, verification was performed using the above-described person list data of Wikipedia (registered trademark). As the quantitative evaluation, calculation was optimized using a predetermined dynamic model, and evaluation was performed based on the average and variance of the edge length of the graph data.
まず、初めに1970年のデータを用いて、配置計算が十分収束するまでの所定の力学モデルによる最適配置計算を行い、1970年の配置座標を取得する。取得した1970年の座標を元に1971年のデータを追加し、本発明の方法を用いて追加配置の初期化を行った場合と、乱数を用いて追加配置の初期化を行った場合で比較を行った。図11がその結果である。同図の(a)及び(b)は、従来手法と本発明におけるエッジ長の平均値で、従来手法と比べて本発明の手法の方が早期に収束していることがわかる。また、初期値として同図(a)の従来手法の方が本発明の手法の倍近い値になるのは、非常に長いエッジが発生してしまうためである。 First, using the data for 1970, optimal placement calculation is performed using a predetermined dynamic model until the placement calculation sufficiently converges, and the 1970 placement coordinates are obtained. Comparison between the case where 1971 data was added based on the acquired 1970 coordinates, and the additional arrangement was initialized using the method of the present invention, and the case where the additional arrangement was initialized using a random number Went. FIG. 11 shows the result. (A) and (b) of the figure are average values of edge lengths in the conventional method and the present invention, and it can be seen that the method of the present invention converges earlier than the conventional method. In addition, the reason why the conventional method in FIG. 6A is nearly twice as large as the method of the present invention as an initial value is that a very long edge occurs.
一方、(b)の本発明の手法では、長いエッジの発生を抑えることができるため、平均値が初期から低く抑えることができている。この分散値は0に近ければ近いほどよく、しかしながら、次元圧縮の問題で、複雑なネットワークデータは2次元に完全に埋め込むことが物理上不可能であるため、0の値をとることは不可能であるが極力小さい値になるように計算を行う。 On the other hand, in the method of the present invention of (b), since the generation of long edges can be suppressed, the average value can be kept low from the beginning. The closer the variance value is to 0, the better. However, it is impossible to take a value of 0 because complex network data is physically impossible to embed completely in 2 dimensions due to the problem of dimensional compression. However, the calculation is performed so that the value is as small as possible.
同図(c)及び(d)は、従来手法と本発明のエッジ長の分散値で、平均値と同様に従来手法と比べて本発明の手法が早期に収束していることがわかる。また、初期値として(c)の従来手法が本発明の手法と比べて圧倒的に大きい値になるのも、前述したように非常に長いエッジが発生してしまうことが原因である。図11の結果からわかることは、従来手法だと収束までに4000回ほどの反復計算をするのに対して、本発明の手法だと1000回にも満たず、100回程度で殆ど収束してしまうことがわかる。 FIGS. 7C and 7D show the edge length variance values of the conventional method and the present invention, and it can be seen that the method of the present invention converges earlier than the conventional method as with the average value. In addition, the reason why the conventional method (c) is overwhelmingly larger than the method of the present invention as the initial value is that a very long edge occurs as described above. From the results shown in FIG. 11, it can be seen that the conventional method performs an iterative calculation about 4000 times until convergence, whereas the method of the present invention does not reach 1000 times and almost converges in about 100 times. I understand that.
図12は、前述したWikipedia(登録商標)のデータを、132年のデータから2010年までのデータを用いて配置計算を行った結果である。それぞれ各年代において、同一条件で100回の、所定の力学モデルによる反復計算を行った。(a)及び(b)は、従来手法及び本発明の手法のエッジ長の平均値で、従来手法がノードの増加に伴い収束できなくなっているのに対して、本発明の手法では、100回程度の反復計算で精度を保って計算が進んでいることがわかる。図12の中の図は図12の1900年から2010年を拡大したものである。本発明の手法では、ノード数の急激な増加(この場合、各年代に約100人程増えている)にも耐えていることがわかる。
FIG. 12 shows the result of the layout calculation of the above-mentioned Wikipedia (registered trademark) data using data from 132 to 2010. In each age, 100 iterations were performed using a predetermined dynamic model under the same conditions. (A) and (b) are the average values of the edge lengths of the conventional method and the method of the present invention, and the conventional method can no longer converge as the number of nodes increases, whereas in the method of the present invention, 100 times. It can be seen that the calculation is progressing while maintaining accuracy with a degree of iterative calculation. The figure in FIG. 12 is an enlargement of the
上記のように、ディスプレイ空間上にノードの追加を行う際に、グラフデータの接続関係に応じて、
1) 既に配置されているノード群の重心に配置する;
2) 既に配置されているノードとの接続関係が1つだけのものについては、接続関係にあるノード近傍に配置する;
3) 既に配置されているノードと接続関係がないものは、ディスプレイ空間上の任意の場所に配置する;
のいずれかを逐次的に行う。そして、追加したノードと、ディスプレイ空間上に既に配置されているノードとの間に所定の力学モデルを適用して各ノードの位置を修正する。
As mentioned above, when adding a node on the display space, depending on the connection relationship of the graph data,
1) Place it at the center of gravity of the nodes already placed;
2) If there is only one connection relationship with a node that has already been placed, place it near the node in the connection relationship;
3) If there is no connection with a node that has already been placed, place it at any location on the display space;
One of the above is performed sequentially. Then, a predetermined dynamic model is applied between the added node and a node already arranged on the display space to correct the position of each node.
これにより、ノードやエッジが逐次追加、もしくは削除されているデータを可視化する際に、より高速に、かつ高精度に処理を行うことが可能となる。 This makes it possible to perform processing at higher speed and with higher accuracy when visualizing data in which nodes and edges are sequentially added or deleted.
また、本発明は、上記の実施の形態における図2に示す処理装置11の動作をプログラムとして構築し、グラフ可視化表示装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
Further, the present invention constructs the operation of the
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。 The present invention is not limited to the above-described embodiments and examples, and various modifications and applications are possible within the scope of the claims.
10 グラフ可視化表示装置
11 処理装置(CPU)
12 主メモリ
13 ディスプレイ装置
21 追加ノード配置決定部
22 削除ノード処理部
23ノード配置座標最適化更新処理部
10 Graph
12
Claims (9)
複数のノードと該ノード間の関係性をエッジとして表現したグラフデータに基づいて、グラフ可視化イメージを生成する処理手段と、
前記処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を備え、
前記処理手段は、
前記表示手段に表示されるディスプレイ空間上にノードを追加する際には、追加される追加ノードと接続関係にある、既に配置されている既存配置ノード群の重心に前記追加ノードを配置した後に、所定の力学モデルに従って各ノードの位置を修正し、
複数の追加ノードを追加する際には、当該複数の追加ノードのいずれかのみと接続関係にある追加ノードよりも、いずれかの前記既存配置ノードと接続関係にある追加ノードから先に配置を行う、
ことを特徴とするグラフ可視化表示装置。 A graph visualization display device for visualizing graph data composed of a plurality of nodes and an edge connecting between the nodes,
Processing means for generating a graph visualization image based on graph data expressing a relationship between a plurality of nodes and the nodes as edges;
Display means for displaying the graph visualization image generated in the processing means,
The processing means includes
Wherein when on the display space displayed on the display unit to add a node is a connection relationship between additional nodes that will be added, the additional node to the center of gravity of the existing arrangement node group that have already been arranged after placing the, correct the position of each node according to Jo Tokoro dynamics model,
When adding a plurality of additional nodes, the arrangement is made before any additional nodes that are connected to any of the existing arrangement nodes, rather than the additional nodes that are connected to only one of the plurality of additional nodes. ,
A graph visualization display device characterized by that.
前記既存配置ノード群の重心に前記追加ノードを配置する際に、同じ接続情報を持つノードが存在する場合には、乱数を用いて微少に配置をずらして前記追加ノードを追加する
請求項1記載のグラフ可視化表示装置。 The processing means includes
When placing the additional node to the center of gravity of the existing arrangement node group, if the node with the same connection information exists, to add the additional node staggered arrangement minutely using a random number <br / The graph visualization display device according to claim 1.
前記追加ノードが前記既存配置ノードとの接続関係が一つだけである場合は、接続関係にある該既存配置ノードの近傍に前記追加ノードを配置する
請求項1記載のグラフ可視化表示装置。 The processing means includes
Wherein if additional nodes is only one connection relationship is between the existing arrangement node graph visualization of the you place additional nodes <br/> claim 1, wherein in the vicinity of the existing arrangement nodes in a connected relationship Display device.
前記既存配置ノードとの接続関係がない前記追加ノードを、前記ディスプレイ空間上の任意の場所に配置する
請求項1記載のグラフ可視化表示装置。 The processing means includes
Before Symbol existing arrangement node and said additional node connection relationship is not of any you placed where <br/> claim 1 graph visualization device according on the display space.
複数のノードと該ノード間の関係性をエッジとして表現したグラフデータに基づいて、グラフ可視化イメージを生成する処理手段と、
前記処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を備える装置において、
前記処理手段が、
前記表示手段に表示されるディスプレイ空間上にノードを追加する際には、追加される追加ノードと接続関係にある、既に配置されている既存配置ノード群の重心に前記追加ノードを配置する配置ステップと、
前記配置ステップの後に、所定の力学モデルに従って各ノードの位置を修正する修正ステップと、
を行い、
前記配置するステップにおいて、複数の追加ノードを追加する際には、当該複数の追加ノードのいずれかのみと接続関係にある追加ノードよりも、いずれかの前記既存配置ノードと接続関係にある追加ノードから先に配置を行う、
ことを特徴とするグラフ可視化表示方法。 A graph visualization display method for visualizing graph data composed of a plurality of nodes and an edge connecting the nodes,
Processing means for generating a graph visualization image based on graph data expressing a relationship between a plurality of nodes and the nodes as edges;
In a device comprising: display means for displaying the graph visualization image generated in the processing means;
The processing means is
Wherein when on the display space displayed on the display unit to add a node is a connection relationship between additional nodes that will be added, the additional node to the center of gravity of the existing arrangement node group that have already been arranged a placement step of placing a
After the placement step, a correction step for correcting the position of each node according to Jo Tokoro dynamics model,
The stomach line,
In the step of arranging, when adding a plurality of additional nodes, an additional node connected to any of the existing arranged nodes rather than an additional node connected to only one of the plurality of additional nodes To place first,
A graph visualization display method characterized by that.
前記既存配置ノード群の重心に前記追加ノードを配置する際に、同じ接続情報を持つノードが存在する場合には、乱数を用いて微少に配置をずらして前記追加ノードを追加する
請求項5記載のグラフ可視化表示方法。 In the placing step,
When placing the additional node to the center of gravity of the existing arrangement node group, if the node with the same connection information exists, according to claim 5, wherein adding the additional node staggered arrangement minutely using a random number Graph visualization display method.
前記追加ノードが前記既存配置ノードとの接続関係が一つだけである場合は、接続関係にある該既存配置ノードの近傍に前記追加ノードを配置する
請求項5記載のグラフ可視化表示方法。 In the placing step,
The graph visualization display method according to claim 5 , wherein when the additional node has only one connection relationship with the existing arrangement node, the additional node is arranged in the vicinity of the existing arrangement node in the connection relation.
前記既存配置ノードとの接続関係がない前記追加ノードを、前記ディスプレイ空間上の任意の場所に配置する
請求項5記載のグラフ可視化表示方法。 In the placing step,
It said additional node is not connected to the relationship between the pre-Symbol existing placement node, graphical visualization method of claim 5 wherein the located anywhere on the display space.
請求項1乃至4のいずれか1項に記載のグラフ可視化表示装置の各手段として機能させるためのグラフ可視化表示プログラム。 Computer
The graph visualization display program for functioning as each means of the graph visualization display apparatus of any one of Claims 1 thru | or 4 .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012025577A JP5700841B2 (en) | 2012-02-08 | 2012-02-08 | Graph data visualization display device, method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012025577A JP5700841B2 (en) | 2012-02-08 | 2012-02-08 | Graph data visualization display device, method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013161455A JP2013161455A (en) | 2013-08-19 |
| JP5700841B2 true JP5700841B2 (en) | 2015-04-15 |
Family
ID=49173599
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012025577A Active JP5700841B2 (en) | 2012-02-08 | 2012-02-08 | Graph data visualization display device, method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5700841B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5988450B2 (en) | 2014-10-23 | 2016-09-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method for displaying nodes, computer for displaying nodes, and computer program therefor |
| JP6268322B1 (en) * | 2017-07-14 | 2018-01-24 | Ndiソリューションズ株式会社 | Learning data accuracy visualization system, learning data accuracy visualization method, and program |
| CN111899106A (en) * | 2020-08-06 | 2020-11-06 | 天津大学 | Visual analysis system for futures big data |
| JP7402140B2 (en) * | 2020-09-23 | 2023-12-20 | 株式会社日立製作所 | Registration device, registration method, and registration program |
| CN112612846B (en) * | 2020-12-23 | 2022-07-26 | 厦门市美亚柏科信息股份有限公司 | Method and terminal for visualizing association relationship |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3790679B2 (en) * | 2001-04-06 | 2006-06-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Graph data visualization device, graphics creation method, program, and storage medium |
-
2012
- 2012-02-08 JP JP2012025577A patent/JP5700841B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013161455A (en) | 2013-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220351016A1 (en) | Presentation module for webinterface production and deployment system | |
| US9947119B2 (en) | User interface framework for viewing large scale graphs on the web | |
| US8456477B2 (en) | Information processing apparatus, information processing method and program for generating and displaying network structures | |
| JP6013642B2 (en) | Campaign optimization for experience content datasets | |
| AU2014235416B2 (en) | Real world analytics visualization | |
| US9563974B2 (en) | Aggregating graph structures | |
| JP5700841B2 (en) | Graph data visualization display device, method, and program | |
| Dunne et al. | Readability metric feedback for aiding node-link visualization designers | |
| US11983554B2 (en) | Automating semantically-related computing tasks across contexts | |
| US8495521B2 (en) | Relationship map generator | |
| CN104508683A (en) | Handwriting input support device and method | |
| JP5903394B2 (en) | Graph visualization display device, method, and program | |
| CN108027809A (en) | The function of body design based on deep learning is related | |
| JP4936295B2 (en) | A method to support creation, extension, and verification of accessibility metadata executed by computer systems | |
| WO2020090356A1 (en) | Ink data generation device, method, and program | |
| JP4939486B2 (en) | Graph visualization coordinate calculation apparatus, method, program, and recording medium recording the program | |
| CN104461119B (en) | Stroke process device and stroke process method | |
| CN104484481A (en) | Data matching method, device and system of ticket order | |
| CN104169852A (en) | Interactive control over link curvature | |
| JP6321362B2 (en) | Definition of object groups in 3D | |
| CN111191174A (en) | Sprite image integration method, system and device | |
| CN113971237A (en) | Method, device and electronic device for generating advertisement filtering rule | |
| JP2013242622A (en) | Graph data visualization apparatus, method and program | |
| JP6402637B2 (en) | Analysis program, analysis method, and analysis apparatus | |
| JP2017182767A (en) | Emotion propagation device, emotion propagation method, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20131001 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140225 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141203 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141216 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150121 |
|
| 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: 20150210 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150216 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5700841 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |