(57)【要約】【課題】  グラフ可視化技術において、「ノード数やエッジ数が変化するなどの、データ構造が変化し続けるストリーミングデータ」に対して「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすグラフ可視化表示を、「リアルタイム」に「最適な配置を高速に求める」ことを可能にする。【解決手段】  本発明は、表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、既存の両端のノードを近づけるように、あるいは、遠ざけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更手段と、配置変更手段の後に、追加されたノードを配置する追加ノード配置決定手段と、全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新手段と、を有する。【選択図】  図２
2014142900.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークをグラフとして可視化するグラフ視覚化表示装置であって、
複数のノードと当該ノード間の関係性をエッジとして表現したグラフデータに基づきグラフ可視化イメージを生成する可視化処理手段と、
前記可視化処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を有し、
前記可視化処理手段は、
前記表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、
既存の両端のノードを近づけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更手段と、
前記配置変更手段の後に、追加されたノードを配置する追加ノード配置決定手段と、
全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新手段と、
を有することを特徴とするグラフ視覚化表示装置。
【請求項２】
前記配置変更手段は、
既存の両端のノードの移動距離の割合を、ノードの次数が高いほど割合を小さくし、該割合に基づいてノードの配置を変更する手段を含む
請求項１記載のグラフ視覚化表示装置。
【請求項３】
前記配置変更手段は、
既存ノード間に追加されたエッジの、元のエッジ長が、全エッジ長平均を元に定めた閾値以上の場合のみ、前記既存の両端のノードを移動させる手段を含む
請求項１または２記載のグラフ視覚化表示装置。
【請求項４】
前記配置変更手段は、
複数のエッジが追加された場合、該エッジのエッジ長の長いものから順に移動処理を行う手段を含む
請求項１または２記載のグラフ視覚化表示装置。
【請求項５】
ネットワークをグラフとして可視化するグラフ視覚化表示装置であって、
複数のノードと当該ノード間の関係性をエッジとして表現したグラフデータに基づきグラフ可視化イメージを生成する可視化処理手段と、
前記可視化処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を有し、
前記可視化処理手段は、
前記表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、
既存の両端のノードを近づけるように、あるいは、遠ざけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更手段と、
前記配置変更手段の後に、追加されたノードを配置する追加ノード配置決定手段と、
全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新手段と、
を有することを特徴とするグラフ視覚化表示装置。
【請求項６】
前記配置変更手段が、
移動方向及び移動距離を、全エッジ長平均に基づいて定める手段を含む
請求項５記載のグラフ視覚化表示装置。
【請求項７】
前記配置変更手段は、
既存の両端のノードの移動距離の割合を、ノードの次数が高いほど割合を小さくし、該割合に基づいてノードの配置を変更する手段を含む
請求項５記載のグラフ視覚化表示装置。
【請求項８】
前記配置変更手段は、
複数のエッジが追加された場合、該エッジのエッジ長の長いものから順に移動処理を行う手段を含む
請求項５または６記載のグラフ視覚化表示装置。
【請求項９】
ネットワークをグラフとして可視化するグラフ視覚化表示方法であって、
複数のノードと当該ノード間の関係性をエッジとして表現したグラフデータに基づきグラフ可視化イメージを生成する可視化処理手段と、
前記可視化処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を有する装置において、
前記表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、
前記可視化処理手段が、既存の両端のノードを近づけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更ステップと、
前記可視化処理手段が、前記配置変更手段の後に、追加されたノードを配置する追加ノード配置決定ステップと、
前記可視化処理手段が、全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新ステップと、
を行うことを特徴とするグラフ視覚化表示方法。
【請求項１０】
ネットワークをグラフとして可視化するグラフ視覚化表示方法であって、
複数のノードと当該ノード間の関係性をエッジとして表現したグラフデータに基づきグラフ可視化イメージを生成する可視化処理手段と、
前記可視化処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を有する装置において、
前記表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、
前記可視化処理手段が、既存の両端のノードを近づけるように、あるいは、遠ざけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更ステップと、
前記可視化処理手段が、前記配置変更手段の後に、追加されたノードを配置する追加ノード配置決定ステップと、
前記可視化処理手段が、全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新ステップと、
を行うことを特徴とするグラフ視覚化表示方法。
【請求項１１】
コンピュータを、
請求項１乃至８のいずれか１項に記載のグラフ視覚化表示装置の各手段として機能させるためのグラフ視覚化表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフ視覚化表示装置及び方法及びプログラムに係り、特に、複数ノードと当該ノード間をつなぐエッジで構成されるグラフデータを可視化するためのグラフ視覚化表示装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワークをグラフとして可視化する技術（以下、単に「可視化技術」と記す）は、一般にデータとデータとの関連性によってネットワークを形成したグラフデータを可視化することを指す。グラフデータでは、当該要素を示すノードとノード間を繋ぐエッジとで表すことにより視覚化することが可能である。例えば、インターネット上のハイパーリンクの張られたWEBページであれば、各WEBページをノードとして、ハイパーリンクをエッジとして表現することにより、グラフ可視化表示することが可能である。また、例えば、金融・通信・交通・社会組織・遺伝子情報などのネットワーク表示、化学・生物学・医学などのデータをグラフ化したものの表示、テキストデータや画像データについて、関連性を元にグラフ化したものの表示、関連性のあるモジュール群の組み合わせ表示（例えば、ICチップのLSI設計図）、地図や参考書の図解表示に用いられるラベル表示などのように、種々の用途が考えられる。それゆえ、コンピュータによる力学的アルゴリズムを用いたグラフ可視化表示技術は、非常に幅広い分野で需要のある技術である。
【０００３】
＜条件＞
グラフ可視化表示技術における重要かつ最大の目的として、グラフ可視化表示装置上において、次の二つの条件を可能な限り満たすことが好ましいとされている。
【０００４】
［条件１］ノード同士を重ならずに配置する。
【０００５】
［条件２］関連性のあるノード同士はエッジを介して接続させ、近傍に配置する。
【０００６】
これらの条件を図１に示す。
【０００７】
［条件１］は、異なるノード情報が重なって表示されることによる情報の誤読を防ぐためである。［条件２］は、関連性のあるノードを近傍に配置することにより視覚的な情報認識精度を向上させるためである。上記の２つの条件を満たすべく、ノードのグラフ可視化表示装置上での最適な配置座標を高速に計算することが求められている。
【０００８】
具体的には、パーソナルコンピュータのディスプレイ装置に表示されたウィンドウ内、もしくは印刷に耐えられる画像データのサイズ内に収まる程度（現実的には数百から数千ノード規模）のグラフデータに対して、ウィンドウ内であれば数秒程度で、印刷物としても数分以内に配置の計算を行う必要性がある。この時、上記の２つの条件である「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすことが要求される。
【０００９】
また、近年では、Twitter(登録商標)やFacebook（登録商標）といった、SNS(Social Networking Service)を利用したマイクロブログが流行し、常にデータが増加し続ける。このWEB上で増え続けている大規模データ分析においては、データストリームをリアルタイムに処理し、同時に「見える化」することが要求されている。それゆえ、グラフ可視化技術においても、ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータの可視化技術が要求されている。なお、ここでは、ノード数やエッジ数が時系列などによって変化するなどといった、データ構造が変化し続けるデータを、ストリーミングデータと呼ぶ。
【００１０】
グラフ可視化表示技術において、このような「ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータ」に対して、「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすグラフ可視化表示を、「リアルタイム」に「最適な配置を高速に求める」グラフ可視化表示技術を発明することが求められている。
【００１１】
＜関連技術＞
「最適な配置を高速に求める」という技術に対するグラフ可視化表示技術に関して、様々な手法が提案されてきた。最適な配置を高速に求めることに関する問題は、大きく分けて二つのアプローチがある。
【００１２】
［アプローチ１］  効率的な初期配置を行い、数値計算の目的関数に対する収束を早めさせる。
【００１３】
［アプローチ２］  最適配置のための数値計算を高速化する。
【００１４】
通常、演算の高速化に関して特に効果的なのは［アプローチ２］であり、いかに高速に処理を行うかが鍵となっている。しかしながら、本発明において問題視している課題は「ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータ」に対して、リアルタイムにグラフ可視化表示を行う技術の要求である。そのため、［アプローチ１］で述べた「効率的な初期配置手法」が、特に大規模なストリーミングデータを扱うグラフ可視化表示に関して要求される。なお、［アプローチ２］では、特に近似手法を用いた高速化はいくつかの手法が提案されている。これらの手法は、本発明とは対立せず、両立可能な技術であるため、本発明の課題として含めない。
【００１５】
［アプローチ１］では、代表的な手法として、LGL(Large Graph Layout)法を用いたグラフ可視化計算手法がある（参考文献１:Adai, LGL: creating a map of protein function with an algorithm for visualizing very large biological networks Lyon, B.: The Opte Project (2005) http://www.opte.org/）。LGL法は、グラフデータ構造から最小全域木を作成し、作成された全域木の木構造を元に描画を行う。しかしながら、最小全域木を用いた手法では、接続関係を排除するという近似の影響が強く出てしまうため、エッジ接続を持ちながら、極端に離れたノードのペアが生じてしまい、好ましくない結果が生じる。つまり［条件１］は満たすことは可能であるが、［条件２］に関しては可読性を十分満たすことができない。
【００１６】
また、次数を考慮して次数の高いものから中心付近に配置して計算処理を行っていく方法が提案されている（例えば、参考文献２:土井、伊藤：力学モデルを用いた階層型グラフデータ画面配置手法の改良手法とウェブサイト視覚化への応用，芸術科学会論文誌，Vol．  3，No. 4，pp. 250-263, (2004)）。当該手法は、ターゲットとするグラフデータは数十〜百ノード程度で、全てのノードが連結されている場合に非常に有効である。しかしながら、部分グラフから構成されているグラフデータや、特に大規模なグラフデータでは有効な手段ではない。
【００１７】
また、ストリーミングデータに対する、ノードの追加を考慮した効率的な初期配置が提案されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】松林達史，西田京介、星出高秀、藤村考：リアルタイムグラフ可視化：東日本大震災時のTwitter，第８回ネットワーク生態学シンポジウムＯ3-5 (2012).
【発明の概要】
【発明が解決しようとする課題】
【００１９】
上記のことから、「ノード数やエッジ数が変化するなど、データ構造が変化し続けるストリーミングデータ」に対して「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすグラフ可視化計算のために、効率のよい初期配置を考えることが必要である。
【００２０】
しかしながら、非特許文献１の技術では、既存ノード間に新たにエッジが追加された場合は考慮していない。そこで、本発明では、既存ノード間にエッジが追加された際、それを考慮することで、より効率のよい初期配置を決定する手法を提案する。
【００２１】
本発明は、上記の点に鑑みなされたもので、グラフ可視化技術において、「ノード数やエッジ数が変化するなどの、データ構造が変化し続けるストリーミングデータ」に対して「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすグラフ可視化表示を、「リアルタイム」に「最適な配置を高速に求める」ことが可能なグラフ視覚化表示装置及び方法及びプログラムを提供することを目的とする。
【００２２】
この際、前述した非特許文献１で考慮されていなかった、既存ノード間に追加された新規エッジを考慮することで、より高速、高精度な初期配置を決定する。
【課題を解決するための手段】
【００２３】
上記の課題を解決するため、本発明（請求項１）は、ネットワークをグラフとして可視化するグラフ視覚化表示装置であって、
複数のノードと当該ノード間の関係性をエッジとして表現したグラフデータに基づきグラフ可視化イメージを生成する可視化処理手段と、
前記可視化処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を有し、
前記可視化処理手段は、
前記表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、
既存の両端のノードを近づけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更手段と、
前記配置変更手段の後に、追加されたノードを配置する追加ノード配置決定手段と、
全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新手段と、を有する。
【００２４】
また、本発明（請求項２）は、請求項１の前記配置変更手段において、
既存の両端のノードの移動距離の割合を、ノードの次数が高いほど割合を小さくし、該割合に基づいてノードの配置を変更する手段を含む
請求項１記載のグラフ視覚化表示装置。
【００２５】
また、本発明（請求項３）は、請求項１または２の前記配置変更手段において、
既存ノード間に追加されたエッジの、元のエッジ長が、全エッジ長平均を元に定めた閾値以上の場合のみ、前記既存の両端のノードを移動させる手段を含む。
【００２６】
また、本発明（請求項４）は、請求項１または２の前記配置変更手段において、
複数のエッジが追加された場合、該エッジのエッジ長の長いものから順に移動処理を行う手段を含む。
【００２７】
本発明（請求項５）は、ネットワークをグラフとして可視化するグラフ視覚化表示装置であって、
複数のノードと当該ノード間の関係性をエッジとして表現したグラフデータに基づきグラフ可視化イメージを生成する可視化処理手段と、
前記可視化処理手段において生成された前記グラフ可視化イメージを表示する表示手段と、を有し、
前記可視化処理手段は、
前記表示手段のディスプレイ空間上に既に配置されている二つのノード間に、新たにエッジが追加された場合に、
既存の両端のノードを近づけるように、あるいは、遠ざけるように移動させ、その移動距離の和を特定の値の範囲として移動させてノードの配置を変更する配置変更手段と、
前記配置変更手段の後に、追加されたノードを配置する追加ノード配置決定手段と、
全ノードに対して所定の力学モデルを適用して各ノードの位置を修正するノード配置座標最適化更新手段と、を有する。
【００２８】
また、本発明（請求項６）は、請求項５の前記配置変更手段において、
移動方向及び移動距離を、全エッジ長平均に基づいて定める手段を含む。
【００２９】
また、本発明（請求項７）は、請求項５の前記配置変更手段において、
既存の両端のノードの移動距離の割合を、ノードの次数が高いほど割合を小さくし、該割合に基づいてノードの配置を変更する手段を含む。
【００３０】
また、本発明（請求項８）は、請求項５または６の前記配置変更手段において、
複数のエッジが追加された場合、該エッジのエッジ長の長いものから順に移動処理を行う手段を含む。
【発明の効果】
【００３１】
上記のように、本発明では、エッジ追加において、両端のノードを、
・両者の移動距離の和を特定の値の範囲とする；
・両者の移動距離の割合を、ノードの次数が高いほど割合を小さくする；
・元のエッジ長がエッジ長平均を元に定めた閾値以上の場合のみ、移動処理を行う；
・複数のエッジが追加された場合、そのエッジ長の長いものから順に移動処理を行う；ことにより、最適な配置に近い初期配置を得ることができ、再配置計算の収束が早くなる。
【００３２】
また、本発明は、新たなエッジを追加する際に、その両端のノードを近づけるだけではなく、元のエッジ長が短い場合には遠ざける処理も行うことにより、ノードやエッジの重なりの増加から可読性を低下させることなく、エッジ長のばらつきを抑えることが可能となり、リアルタイム性の重視されるストリーミングデータの可視化に有効である。その際は、上記の４つの特徴のうち、３つ目のエッジ長平均を元に定めた閾値による処理対象の条件付けは実施せず、代わりに、全ての既存ノード間追加エッジに対して、エッジ長平均をもとにノードの移動方向や移動距離を決定する。
【図面の簡単な説明】
【００３３】
【図１】グラフ可視化表示技術におけるグラフ可視化表示装置上の条件である。
【図２】本発明の第１の実施の形態におけるグラフ可視化表示装置の構成図である。
【図３】本発明の第１の実施の形態における概要動作のフローチャートである。
【図４】本発明の第１の実施の形態による既存ノード間新規エッジの追加方法の概要を示す図である。
【図５】本発明の第１の実施の形態による「既存ノード間の新規エッジの追加方法その１」を説明するための図である。
【図６】本発明の第１の実施の形態におけるグラフ可視化表示装置の処理全体のフローチャートである。
【図７】本発明の第１の実施の形態における図６のＳ３０４の詳細な処理のフローチャートである。
【図８】本発明の第１の実施の形態と第２の実施の形態との既存ノード間のエッジ追加処理の比較である。
【図９】本発明の第２の実施の形態におけるα・βの値に応じた評価結果である。
【図１０】本発明の第１の実施の形態におけるノードの追加・最適化計算まで含めた評価結果である。
【図１１】本発明の第１の実施の形態における追加エッジ長の条件の評価結果である。
【図１２】本発明の第１の実施の形態におけるエッジを考慮する順番の評価結果である。
【図１３】本発明の第１の実施の形態における別時刻のデータを含む評価結果である。
【図１４】本発明の第１の実施の形態における各特徴がもたらす効果の評価結果である。
【図１５】従来手法による初期配置結果である。
【図１６】第１の実施の形態の手法による初期配置結果である。
【図１７】第２の実施の形態の手法による初期配置結果である。
【発明を実施するための形態】
【００３４】
以下、図面と共に本発明の実施の形態を説明する。
【００３５】
［第１の実施の形態］
まず、本実施の形態の概要を説明する。
【００３６】
図２は、本発明の第１の実施の形態におけるグラフ可視化表示装置の構成を示す。
【００３７】
本発明のグラフ可視化表示装置は、グラフデータに基づいてノードと、ノード間の接続を表すエッジとを含む可視化イメージを生成する処理部１１と、この処理部１１において生成された可視化イメージを表示する表示部１３と、を備える。
【００３８】
処理部１１は、表示部１３に表示されるディスプレイ空間に、ノードの最適配置計算結果を反映したノードを配置する。この際、図３に示すように、まず、既存のノードに新たに加わったエッジに対して（ステップ１）、ノード間距離（エッジの長さ）、ノードの次数比率、平均エッジ長などを考慮に入れて、既存ノードの配置修正を行う（ステップ２）。配置修正の後にノードの追加や削除に従って初期配置を決定する（ステップ３）。更に、全ノードに対して所定の力学モデルを適用して配置の最適化を行っていく（ステップ４）。
【００３９】
例えば、図４のように、（ａ）の既存配置ノードに対して、（ｂ）と（ｃ）で示されるノードとエッジの追加を行うとき、（ｄ）の従来手法による配置に比べて、ノード追加処理の前に、既存ノード間の新規エッジを考慮して座標の移動を行った（ｅ）の本発明の手法による初期配置の方が、全体的なエッジ長のばらつきが小さく、好ましい初期配置になっている。また、新規ノードの追加処理よりも前に、既存ノード間の追加エッジを考慮することで、新規追加ノードである１０番の初期配置も、従来手法に比べて力学モデル適用時の移動距離が少なくなるような配置となっている。
【００４０】
本発明では、新たなエッジを追加する場合、その両端のノードを互いに近づけるように移動させる処理を行う際に、以下のように、ノードの移動のさせ方、移動処理の可否の基準、あるいは、移動処理の順番を考慮する。
【００４１】
（１）両者の移動距離の割合を、ノードの次数が高い方ほど割合を小さくする（例：次数に反比例させる）。
【００４２】
（２）両者の移動距離の和を特定の値の範囲とする（例：元のエッジ長以下にする、あるいは、元のエッジ長の半分〜元のエッジ長とする）
（３）元のエッジ長が、エッジ長平均を元に定めた閾値以上の場合のみ、移動処理を行う。
【００４３】
（４）複数のエッジが追加された場合、そのエッジ長の長いものから順に移動処理を行う。
【００４４】
エッジ追加において、両端のノードに対して上記の移動処理を行うことにより、最適な配置に近い初期配置を得ることができ、再配置計算（従来技術）の収束が早くなる。
【００４５】
以下、詳細に説明する。
【００４６】
［既存ノード間エッジ追加処理その１］
まず、上記の（１）、（２）の処理について説明する。
【００４７】
新たに接続関係を持った既存ノードの初期配置を互いに近づける際、各点の移動距離は、２点の次数に反比例させる。また、２点の移動距離の総和を、元のエッジ長の半分程度に抑える。すなわち、２点ａ，ｂの元の位置をそれぞれ、ａ→、ｂ→（ただし、→はベクトルを表す）とし、２点のａ，ｂの次数をそれぞれｄa，ｄbとするとき、移動後の点ａ，点ｂの位置は以下のようになる。
【００４８】
【数１】
2014142900.tif 000003
ここで、αは２点を近づける割合であり、座標の移動距離の総和に値する。後述する図９及び実施例の「発明を用いた処理の定量的評価」で示すように、α＝0.5が優れていた。
【００４９】
例えば、図５（ａ）の既存配置ノードに対して、（ｂ）で示される既存ノード間のエッジの追加を行う場合を考える。２番と１０番を移動させる場合、２番の次数は５、１０番の次数は６なので、（ｃ）にあるように、６：５の割合で移動させる。同様にして、１番と１０番を移動させる場合も、１番の次数は５、１０番の次数は６なので、（ｄ）に示されるように、６：５の割合で移動させる。いずれも、座標移動距離の総和であるαは、元のエッジ長の半分を示す0.5としてある。
【００５０】
［既存ノード間エッジ追加処理その２］
上記の（３）について説明する。
【００５１】
新規エッジが検出された２点を近づける際、移動前の２点間の距離が閾値よりも近い場合、エッジが近づきすぎて重なってしまうことを避けるために、移動を行わない。閾値としては、エッジ長平均の倍数で、エッジ長平均よりも小さい値をとる。例えば、図９より0.5μを用いている。ここで、μは既存エッジ長の平均値である。
【００５２】
［既存ノード間エッジ追加処理その３］
新規エッジが複数検出された際には、配置変更前のエッジの長さが長いものから順に、逐次的に処理を行う。後述する図１０にあるように、経験的にこの順が最も効果的であると判断したためである。例えば、図５では、元のエッジ長が長い２番と１０番のエッジを、元のエッジ長が短い１番と１０番のエッジよりも先に考慮している。
【００５３】
以下、図２のグラフ可視化表示装置の図に基づいて詳細に説明する。
【００５４】
図２では、グラフデータの可視化表示を行うグラフ可視化表示装置としてのコンピュータシステムの構成を示す。
【００５５】
グラフ可視化表示装置１０は、グラフ可視化表示処理をプログラム制御により実行する処理部（ＣＰＵ）１１、処理部１１を制御するプログラムを格納した主メモリ１２、処理部１１により生成されたグラフデータの可視化イメージを表示する表示部１３、処理対象であるグラフデータを格納した記憶部１４を備える。
【００５６】
なお、図２では、本実施の形態を実現するための構成のみを図示している。実際には、図示された構成の他に、各種の命令やデータを入力するためのキーボードやマウスなどの入力装置、各種周辺機器、ネットワークに対するインタフェースなどが設けられていることを前提とする。
【００５７】
また、本実施の形態によるグラフ可視化表示装置１０の処理部１１は、グラフデータに基づいて、既存のノード同士の新規エッジを検出して、それらの初期配置に近づける既存ノード間追加エッジによる初期配置決定部２１、追加ノード配置決定部２２、削除ノード処理部２３、所定の力学モデルに従いノード座標の最適化計算を行うノード配置座標最適化更新処理部２４を備え、各種構成要素は、主メモリ１２に保持されているコンピュータプログラムにより制御された処理部１１において実現される仮想的なソフトウェアプログラムである。
【００５８】
ノード配置座標最適化更新処理部２４では、グラフ配置に関する前述した二つの条件である「ノード同士が重ならず」かつ「関連性のあるものは近傍に配置」を満たすために、一般的に広く用いられている力学モデルを利用する。この力学モデルとして、世界中でバネモデル法（Kamada, T., and Kawai, S.: An algorithm for drawing general undirected graphs, Information Processing Letters, 12, 31, 7-15 (1989)）、Force-directed法（Fruchterman, T. M. J., and Reingold, E. M.: Graph Drawing by Force-directed Placement, Software - Practice and Experience, 11, 21, 1129 -1164 (1991)）の２つが最も頻繁に利用されている。バネモデル法は、全てのノード間に仮想的なバネを仮定し、座標の更新手法を１ノードずつ逐次的に行う手法である。一方、Force-directed法では、全てのノード間で斥力を与え（例えば、分子間に働くクーロン斥力のように）、接続されているノード間（エッジ）には引力を与え、座標をこの引力と斥力の総和を用いて、まとめて更新していく。上記の二つの、いずれかの手法においても、全てのノード間に反発する力が働き、［条件１］で要求される、ノード同士の重なりの排除を実施することができる。また、接続するノード同士では引き合う力が働き、［条件２］で要求される、接続ノードを近傍に配置することを実施することができる。また、上記の二つの手法においては、引力と斥力の関数が一意に決まると、最急降下法やニュートン法などの数値計算法を用いて、目的関数が収束する（最大エントロピーが求まる）ように座標を更新する。
【００５９】
図６は、本発明の第１の実施の形態における、グラフ可視化表示装置の処理全体のフローチャートである。
【００６０】
当該フローチャートでは、既存ノード間追加エッジによる初期配置決定部２１、追加ノード配置決定部２２、削除ノード処理部２３、及び、ノード配置座標最適化更新処理部２４による、追加エッジ、追加ノードの配置及び削除に加えて、全てのノードの座標の最適化更新処理を示す。
【００６１】
記憶部１４よりグラフデータ入力され（ステップ３０１）、入力されたグラフデータに対し、ノード情報を更新するタイミングになったら（ステップ３０２、ステップ３０３，Yes）、既存ノード間の新規エッジを検出して既存ノードの座標を移動させた後（ステップ３０４）、ノードの追加や削除を実施し（ステップ３０５、３０６）、力学モデルによる最適化を行うことで、最終的な配置を決定する（ステップ３０７）。ノードの追加処理の前に、既存ノード間の新規エッジを考慮した座標変更を行うことで、該当ノードと接続関係を持つ新規エッジの初期配置にも座標変更を反映させることが可能になる。
【００６２】
上記の図６における既存ノード間新規エッジを考慮して既存ノードの座標を更新するステップ３０４の処理について説明する。
【００６３】
図７は、本発明の第１の実施の形態における図６のステップ３０４の詳細な処理のフローチャートである。
【００６４】
入力データの中に、既存ノード間の新規追加エッジが検出された場合（ステップ４０１，４０２）、エッジ長の長いものから優先的に、追加エッジを構成する２点の座標を変更していく（ステップ４０３,４０５）。この際、エッジ長が全エッジ長の平均の半分よりも短い場合は、２点が重なってしまうことを避けるため、座標変更処理を実施しない（ステップ４０４,No）。
【００６５】
［第２の実施の形態］
本実施の形態のグラフ可視化表示措置の構成は、第１の実施の形態の図２の構成と同様である。
【００６６】
第１の実施の形態では、既存ノード追加エッジによる初期配置決定部２１において、既存ノード間に追加されたエッジについて、既存ノード同士を近づけるように移動させたが、本実施の形態では、新たに接続を持った既存ノードの初期配置を変更する際、元のエッジ長が十分長い場合には、第１の実施の形態にと同様に、２点を近づける処理を行い、逆に元のエッジ長が短い場合には、２点を遠ざける処理を行う。
【００６７】
以下では、第１の実施の形態とは異なる既存ノード間追加エッジによる初期配置決定部２１の処理について説明する。
【００６８】
図８は、本発明の第２の実施の形態における既存ノード間の新規エッジ追加処理の例を示す。
【００６９】
同図（ａ）は、処理前を示し、（ｂ）の追加エッジは、既存ノード間に追加されたエッジである。第１の実施の形態の手法では、エッジ長が0.5μよりも短い、２番、３番を結ぶ新規エッジについては（ｃ）に示すように、移動の対象とはならなかった。これに対し、本実施の形態では、同エッジについて、２点を遠ざける処理を行い、（ｄ）に示すように座標移動を実施する。本実施の形態では、よりエッジ長のばらつきが少なく、限られたディスプレイ空間の有向活用が必須となる可視化において、理想的な配置を得ることができる。
【００７０】
本実施の形態では、移動後の点の位置を以下の式で算出する。
【００７１】
【数２】
2014142900.tif 000004
ここでは、αは第１の実施の形態の式(1)、(2)と同様に、２点を近づける割合を示すが、座標の移動距離の総和に値するとは限らない。βは、移動距離の大きさに加え、移動方向（正ならば近づける方向、負ならば遠ざける方向）を決める定数である。βにより、２点を近づけるか遠ざけるかを判定する閾値が定まる。α、βの値としては、図９と後述する第２の実施例の"定量評価"で示すように、α＝0.8、β＝0.8が優れていた。
【００７２】
上記の式(3)、(4)では、第１の実施の形態の式(1)、(2)と異なり、エッジ長がβμよりも長い場合は正の方向、短い場合は負の方向に移動が行われる。従って、第１の実施の形態における、元のエッジ長に応じた処理対象の選択は不要となる。
【００７３】
また、エッジ長が短い場合に、処理を行わないだけでなく、負の方向への移動、すなわち２点を遠ざける方向への移動が行われるため、より初期配置結果におけるエッジ長のばらつきが少なくなる。加えて、第１の実施の形態の式(1)、(2)では、２点の移動距離の総和を示す割合を全エッジとしてαで固定していたが、本実施の形態では、元のエッジ長の長さに比例して、２点の移動距離の総和を示す割合も増減するため、元から平均エッジ長に近く、あまり長くもなかったエッジが近づきすぎることを防ぐこともできる。
【００７４】
また、エッジ長が特に長かったものに対しては、第１の実施の形態の場合のα＝0.5以上に近づけることができる。
【実施例】
【００７５】
［第１の実施例］
以下に、第１の実施の形態の手法を用いた処理の定量的評価を示す。
【００７６】
本発明の第１の実施の形態の効果を考察するために、検証を行った。
【００７７】
用いたデータは、twitter（登録商標）の発言の１％ストリーミングデータのうち、東日本大震災が発生した2011年3月11日前後のものである。本発明は、twitter（登録商標）データのような、ダイナミックにノードやエッジが変化するデータに対して、特に効果を持つと考えられるためである。
【００７８】
このストリーミングデータで、５分毎に時間窓を設定して形態素解析によるキーワード抽出を行い、キーワードをノードとした。また、各時間窓内において、キーワードの出現頻度から、Jaccard係数を用いて同つぶやきにおける共起度が0.05以上のエッジ情報を抽出した。最終的に、この時間窓を１分ごとにずらしたネットワークデータを複数用意して利用した。今回定量評価に用いた時刻におけるデータの規模は、ノード数が500前後、エッジ数が2000前後であった。定量評価としては、所定の力学モデルを用いて、計算の最適化配置を行い、以下の式（5）で導かれるグラフデータのエッジ長の平均二乗誤差σで評価を行った。
【００７９】
【数３】
2014142900.tif 000005
ここで、Eは全エッジ、xijはｉ番目の点とｊ番目の点から構成される辺の長さ、μは全エッジ長の平均である。σが小さいほど、辺の長さのばらつきが少なく、限られたディスプレイ空間の有効活用が必須となる可視化において、理想的なグラフであるといえる。
【００８０】
まず、初めに、20時50分のデータを用いて、配置計算が十分収束するまで所定の力学モデルによる最適配置計算を行い、20時50分の配置座標を取得する。取得した20時50分の座標を元に20時51分のデータを追加し、第１の実施の形態の手法を用いて配置の初期化を行った場合と、エッジの追加を考慮していない従来手法（非特許文献１）を用いて配置の初期化を行った場合で比較を行った。
【００８１】
図１０がその結果である。（ａ）及び（ｂ）は、従来手法と第１の実施の形態の手法のエッジ長の平均二乗誤差で、従来手法と比べて第１の実施の形態の手法の方がエッジ長のばらつきが小さくなっていることが分かる。また、初期値として（ａ）の従来手法に比べて、（ｂ）の第１の実施の形態の手法は30%近く小さい値となっている。この結果、最適化処理の初期からエッジ長のばらつきを少なく抑えることができている。
【００８２】
第１の実施の形態の手法では、既存ノード間の新規エッジが検出された際に、２点を近づける割合αを、２点が完全に一致する移動を１としたとき、その半分の0.5としている。すなわち、２点の総移動距離が、元のエッジ長の半分となっている。また、検出されたエッジの長さが0.5μ（μエッジ長の平均）よりも大きかった場合のみ、既存ノードを近づける処理を実施している。これらの有意性を考察する。
【００８３】
図１１は、エッジを近づける割合と、移動するエッジ長の条件を変化させた際のエッジ長のばらつきσを検証したものである。追加エッジを処理する順番については、エッジ長の長い順とした。エッジ長の条件選択に関わらず、エッジを近づける場合αが0.5付近の時に、最もエッジ長の平均二乗誤差σが小さくなっていることが確認できる。また、（ａ）条件を設けず、全ての新規エッジに対して移動を行った場合に比べて、（ｃ）0.5μより長い辺のみを動かすという条件を設定した際に、σが小さくなっていることも確認できる。
【００８４】
また、第１の実施の形態の手法では、既存ノード間の新規エッジが同時刻に複数検出された際、エッジ長が長いものから順に、ノードの移動を実施する。この処理順序の有意性を検証する。
【００８５】
図１２は、エッジの追加を処理する順番に応じて、エッジを近づける割合αとエッジの平均二乗誤差σの変化を計測した結果である。処理を行うエッジ長の条件については、平均エッジ長の半分（0.5μ）で固定した。２点の次数和の降順・昇順、エッジ長の降順・昇順についてそれぞれ観察したところ、（ｂ）のエッジ長が長い順とした際に、最もエッジ長の平均二乗誤差σが短くなることが確認できる。また、２点を近づける割合についても、α＝0.5付近のσが最も小さくなっている。
【００８６】
さらに、αを0.5に固定した状態で、第１の実施の形態を適用した際の、σの詳細な値を図１３に示す。他の２種類の時刻についても検証した。全ての時刻について、少なくとも約30%ほど最適化更新処理前のエッジの平均二乗誤差σが削減できていることが分かる。また、座標を移動させるエッジにエッジ長で条件を付ける処理、考慮するエッジの順番をエッジ長の降順にする処理のそれぞれにおいて、全ての時刻でσが小さくなっていることが分かる。
【００８７】
次に、第１の実施の形態で提案した各特徴を単独及び複数で用いた場合の効果を検証した結果を図１２に示す。また、図１４中の４つの特徴の詳細を以下に示す。
【００８８】
（１）移動割合：
新たなエッジを追加する場合、その両端のノードを互いに近づけるように移動させる。その際、移動距離の割合を、ノードの次数が高いほど割合を小さくする（例：次数に反比例させる）。
【００８９】
（２）移動距離和：
両者の移動距離の和を特定の値の範囲とする（例：元のエッジ長以下にする、あるいは、元のエッジ長の半分〜元のエッジ長とする）
（３）処理対象：
元のエッジ長が、エッジ長平均を元に定めた閾値以上の場合のみ、移動処理を行う。
【００９０】
（４）処理順：
複数のエッジが追加された場合、そのエッジ長の長いものから順に移動処理を行う。
【００９１】
ここで、特徴（２）を除いてしまうと、２点を全く近づけない（α＝０）または２点が完全に一致するまで近づける（α＝１）ということになってしまうため、特徴（２）を用いた上で他の３つの特徴の効果を検証した。図１４を見ると、（ａ）の特徴（２）単独の場合でも、ある程度の効果が出ていることがわかる。（ａ）の特徴（２）単独の場合に比べ、（ｂ）（１）＋（２）、（ｃ）（２）＋（３）、（ｄ）（２）＋（４）では、それぞれ効果が高くなっており、（３）、（４）に比べて（１）の方がより効果的であることがわかる。加えて、２つの特徴を同時に加えた場合、（ｈ）の全ての特徴を同時に用いた場合を見ると、用いる特徴数が多いほど効果的であるといえる。以上のように、第１の実施の形態で提案した各特徴を単独または複数で用いると、全てにおいて一定の効果を示すことができ、複数用いる場合にはさらに効果が高くなることを示すことができた。
【００９２】
［第２の実施例］
＜定量評価＞
上記の第１の実施例と同じデータを用いて、α、βを変化させた時の、20時51分の初期配置の平均二乗誤差σを計算した結果を、等高線図で描いた結果は図９に示す通りである。α＝0.8、β＝0.8付近で、最も平均二乗誤差が小さくなることが分かった。このとき、平均二乗誤差のσの値は、0.6888901となっており、第１の実施の形態の手法を、同じデータの同時刻に用いたときの平均二乗誤差0.6990143から、若干の向上が見られた。
【００９３】
＜可視化結果の考察＞
初期配置を可視化した結果について、考察を行う。図１５に、従来手法（非特許文献１）を用いた場合の、20時51分の初期配置可視化結果を、図１６に第１の実施の形態の手法を用いた場合の、同時刻の初期配置可視化結果を、図１７に第２の実施の形態の手法を用いた場合の同時刻の初期配置可視化結果を示す。図中で点線で描かれているエッジは、既存ノード間に新規に追加されたエッジである。
【００９４】
図１５〜図１７の３つの図を比較すると、従来手法（図１５）に比べ、第１の実施の形態の手法（図１６）、第２の実施の形態の手法（図１７）の両方で、既存ノード間に追加されたエッジのうち、特にエッジ長が長いものが減り、エッジ長のばらつきが少なくなっていることが分かる。
【００９５】
また、特に太線で囲まれた三角形（ａ）を比較すると、従来手法では、新規エッジで結ばれた既存ノードが非常に遠くに配置され、大きな三角形ができてしまっているものの、第１の実施の形態の手法では、三角形の各辺の長さが半分以下に縮められていることが分かる。
【００９６】
さらに、第２の実施の形態の手法では、第１の実施の形態の手法よりも各辺の長さが平均エッジ長に近くなっている。これは、第２の実施の形態の手法では、元のエッジ長に比例して、近づける割合を増減することができるため、長いエッジを持つノードほど、より近くに再配置することができるためである。ここでは、＜定量評価＞で示したように、エッジ長の平均二乗誤差が最も小さかったα＝0.8、β=0.8を採用しているが、第１の実施の形態と異なり、新たにβを設定することで、長いエッジに対しては、第１の実施の形態の場合のα=0.5以上の割合で近づけることが可能になっている。これにより、第２の実施の形態の手法では、三角形（ａ）の大きさが、第１の実施の形態のものよりも小さくなっていると考えられる。
【００９７】
続いて、灰色の楕円（ｂ）で囲まれている箇所に注目して比較を行う。従来手法では、既存ノードを１つ飛び越えて、既存ノード間の新規エッジが張られてしまっているが、第１の実施の形態と、第２の実施の形態の手法では、ノードの配置が入れ替わり、新規に接続関係を持ったノードが関連するノードに近づくように配置されている。第２の実施の形態と第１の実施の形態の手法を比べると、第２の実施の形態では、楕円（ｂ）で囲まれている既存エッジと、隣接する既存ノード間新規エッジの長さが、ほぼ等しくなっており、よりエッジ長のばらつきが減って、初期配置の精度が高くなっていることが分かる。
【００９８】
第２の実施の形態の効果として、特に楕円（ｃ）に囲まれている箇所を上げることができる。第１の実施の形態の手法では、点線で示された既存ノード間新規エッジについてノードが近づきすぎてしまい、他の既存エッジにまぎれてしまう位置まで移動させられているため、ノードの移動を実施していない従来手法よりも可読性が低下してしまっている。第１の実施の形態の手法では、閾値によって処理対象を限定しているが、閾値よりは長いものの、比較的短いエッジも近づけるように作用する。これによって、比較的短いエッジが、さらに短くなってしまう場合があり、このようなノードの重なりが生じてしまう場合がある。
【００９９】
一方、第２の実施の形態の手法では、既存ノード間に追加されたエッジのうち、閾値より短いものは短いものほど長くなるように、閾値より長いものは、長いものほど短くなるようにノードの移動を行い、閾値と同じくらいの長さのものはあまり長さを変えない。これにより、ノードやエッジの重なりの増加から可読性を低下させることなく、エッジ長のばらつきを抑えることが可能となった。
【０１００】
以上の評価から、改良手法により、平均二乗誤差の若干の向上に加えて、可視化結果の可読性の向上が見られることが分かる。第２の実施の形態の手法は、リアルタイム性の重視されるストリーミングデータの可視化に、よりふさわしい初期配置手法であるといえる。
【０１０１】
上記の図２に示す処理部１１の動作を主メモリ１２に格納して実行する以外に、処理部の動作をプログラムとして構築し、ネットワークを介して流通させることも可能である。
【０１０２】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１０３】
１０  グラフ可視化表示装置
１１  処理部
１２  主メモリ
１３  表示部
１４  記憶部
２１  既存ノード間追加エッジによる初期配置決定部
２２  追加ノード配置決定部
２３  削除ノード処理部
２４  ノード配置座標最適化更新処理部
【図１】
2014142900.tif 000006
【図２】
2014142900.tif 000007
【図３】
2014142900.tif 000008
【図４】
2014142900.tif 000009
【図５】
2014142900.tif 000010
【図６】
2014142900.tif 000011
【図７】
2014142900.tif 000012
【図８】
2014142900.tif 000013
【図９】
2014142900.tif 000014
【図１０】
2014142900.tif 000015
【図１１】
2014142900.tif 000016
【図１２】
2014142900.tif 000017
【図１３】
2014142900.tif 000018
【図１４】
2014142900.tif 000019
【図１５】
2014142900.tif 000020
【図１６】
2014142900.tif 000021
【図１７】
2014142900.tif 000022