(57)【要約】【課題】ユーザが容易にネットワークの分析を行うことができるようにする。【解決手段】グラフ加工制御部１０５は、グラフ加工部２３を制御し、ノード名やノード属性名により指定されたノードをグラフに追加させるノード追加部１２１、グラフ加工部２３を制御し、ノード名やノード属性名により指定されたノードをグラフより削除させるノード削除部１２２、グラフ加工部２３を制御し、エッジ属性名やノード名により指定されたエッジをグラフに追加させるエッジ追加部１２３、および、グラフ加工部２３を制御し、エッジ属性名やノード名により指定されたエッジをグラフより削除させるエッジ削除部１２４を有している。本発明は、情報処理装置に適用することができる。【選択図】図４
2008052524.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置であって、
前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御手段を備える
ネットワーク分析支援装置。
【請求項２】
前記加工制御手段は、追加するノードまたはエッジの数の指定をさらに受け付け、前記指定により指定される数分のノードまたはエッジの前記ネットワークへの追加位置を決定する
請求項１に記載のネットワーク分析支援装置。
【請求項３】
前記ネットワークの、前記加工制御手段により決定された追加位置に、前記ノードまたは前記エッジを追加する加工手段をさらに備える
請求項１に記載のネットワーク分析支援装置。
【請求項４】
前記加工制御手段は、さらに、前記ネットワークより削除するノードの意味を示すノード属性、または前記ネットワークより削除するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、削除するノードまたはエッジを選択する
請求項１に記載のネットワーク分析支援装置。
【請求項５】
前記加工制御手段により選択された前記ノードまたは前記エッジを削除する加工手段をさらに備える
請求項４に記載のネットワーク分析支援装置。
【請求項６】
複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置のネットワーク分析支援方法であって、
前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御ステップを備える
ネットワーク分析支援方法。
【請求項７】
複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援する処理を制御するコンピュータが実行可能なプログラムであって、
前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御ステップをコンピュータに実行させる
プログラム。
【請求項８】
請求項７に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク分析支援装置および方法、プログラム並びに記録媒体に関し、特に、ユーザが容易にネットワークの分析を行うことができるようにしたネットワーク分析支援装置および方法、プログラム並びに記録媒体に関する。
【背景技術】
【０００２】
従来、要素の集合を、各要素をノードとし、関連性のある要素間をエッジとして結ぶネットワークとして解析し、傾向や特徴を分析する手法があった。また、その分析を支援するために分析対象のネットワークを画像化（グラフ化）する方法もあった。
【０００３】
例えば、ゲノム研究などにおいて、膨大なデータを対象に、特定の遺伝子についてそれらの関連性、特に共通性に着目し、その特徴を解析者が見て直感的に捉えることができるようにするために、共通の属性を持つ２つの要素ノードの間をエッジで接続した第１のネットワークと、要素ノードとその保有属性の属性ノードの間をエッジで接続した第２のネットワークとを表示する方法がある（例えば、特許文献１参照）。
【０００４】
また、例えば、任意の対象どうしの関連を視覚的に容易に確認することができるように、対象が有する属性に基づいて対象間の関連をグラフ化し、エッジ強度が所定値以上の２つの対象の間をエッジで結んだ関連グラフを生成する方法がある（例えば、特許文献２参照）。
【特許文献１】特開２００４−２６５１７９号公報
【特許文献２】特開２００６−３９９９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、近年においては、より複雑なネットワークの分析が行われるようになってきており、そのためにより多様な分析方法が求められているが、従来の方法においては、ノードやエッジの動的な変更に対応しておらず、例えば、その動的な変更によるネットワーク全体への影響の分析等を容易に行うことができない恐れがあった。
【０００６】
例えば、特許文献１に記載の方法においても、特許文献２に記載の方法においても、ネットワークに対してノードやエッジの追加、削除、または変更等を行うことができなかった。従って、このようなネットワークの動的な変更の影響の分析を支援することもできなかった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、ユーザが容易にネットワークの多様な分析を行うことができるように、ネットワークのノードやエッジを動的に変更することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の側面は、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置であって、前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御手段を備えるネットワーク分析支援装置である。
【０００９】
前記加工制御手段は、追加するノードまたはエッジの数の指定をさらに受け付け、前記指定により指定される数分のノードまたはエッジの前記ネットワークへの追加位置を決定することができる。
【００１０】
前記ネットワークの、前記加工制御手段により決定された追加位置に、前記ノードまたは前記エッジを追加する加工手段をさらに備えることができる。
【００１１】
前記加工制御手段は、さらに、前記ネットワークより削除するノードの意味を示すノード属性、または前記ネットワークより削除するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、削除するノードまたはエッジを選択することができる。
【００１２】
前記加工制御手段により選択された前記ノードまたは前記エッジを削除する加工手段をさらに備えることができる。
【００１３】
本発明の側面はまた、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置のネットワーク分析支援方法であって、前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御ステップを備えるネットワーク分析支援方法、プログラム、またはプログラムが記録された記録媒体である。
【００１４】
本発明の側面においては、ネットワークに追加するノードの意味を示すノード属性、またはネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、その指定により指定されるノード属性またはエッジ属性、並びに、ネットワークの構造に基づいて、追加するノードまたはエッジのネットワークへの追加位置が決定される。
【発明の効果】
【００１５】
本発明の側面によれば、ネットワークの解析を行うことができる。特に、ユーザが容易にネットワークの多様な分析を行うことができるように、ネットワークのノードやエッジを動的に変更することができる。
【発明を実施するための最良の形態】
【００１６】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１７】
本発明の側面は、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置（例えば、図１のネットワーク分析支援装置１）であって、前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御手段（例えば、図４のグラフ加工制御部１０５）を備えるネットワーク分析支援装置である。
【００１８】
前記加工制御手段は、追加するノードまたはエッジの数の指定をさらに受け付け（例えば、図１０のステップＳ１１２）、前記指定により指定される数分のノードまたはエッジの前記ネットワークへの追加位置を決定することができる。
【００１９】
前記ネットワークの、前記加工制御手段により決定された追加位置に、前記ノードまたは前記エッジを追加する加工手段（例えば、図１のグラフ加工部２３）をさらに備えることができる。
【００２０】
前記加工制御手段は、さらに、前記ネットワークより削除するノードの意味を示すノード属性、または前記ネットワークより削除するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、削除するノードまたはエッジを選択する（例えば、図１２のステップＳ１３９および図１３のステップＳ１４８）ことができる。
【００２１】
前記加工制御手段により選択された前記ノードまたは前記エッジを削除する加工手段（例えば、図１のグラフ加工部２３）をさらに備えることができる。
【００２２】
本発明の側面はまた、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置（例えば、図１のネットワーク分析支援装置１）のネットワーク分析支援方法であって、前記ネットワークに追加するノードの意味を示すノード属性、または前記ネットワークに追加するエッジの意味を示すエッジ属性の指定を受け付け、前記指定により指定される前記ノード属性または前記エッジ属性、並びに、前記ネットワークの構造に基づいて、追加するノードまたはエッジの前記ネットワークへの追加位置を決定する加工制御ステップ（例えば、図１０のステップＳ１１３および図１１のステップＳ１２５）を備えるネットワーク分析支援方法、プログラム、またはプログラムが記録された記録媒体である。
【００２３】
以下、本発明の実施の形態について説明する。
【００２４】
図１は、本発明を適用したネットワーク分析支援装置の構成例を示すブロック図である。
【００２５】
図１において、ネットワーク分析支援装置１は、要素の集合を、各要素をノードとし、要素間の関係（結びつき）をエッジとするネットワークとして画像化（グラフ化）して表示することにより、その集合の特徴や傾向を、分析を行うユーザに直感的（視覚的）に把握させる、ネットワーク分析作業を支援する情報処理装置である。
【００２６】
ネットワーク分析支援装置１は、主な構成として、図１に示されるように、データ変換、解析処理、表示制御等の各種処理を実行する処理部である情報処理部１１、生成されたグラフのデータであるグラフデータ３１を保持する保持部１２、ノードやエッジに関する情報をファイルとして格納する記憶部１３、並びに、例えばモニタやキーボードのような、ユーザ等に対する入出力デバイスよりなるユーザインタフェース部１４を有する。
【００２７】
情報処理部１１は、制御部２１、データ変換部２２、グラフ加工部２３、表示制御部２４、書き込み部２５、読み出し部２６、および解析部２７を有する。制御部２１は、各部を制御し、後述するようにネットワーク分析を支援する処理を実行させる。制御部２１が有する機能ブロックについては後述する。
【００２８】
データ変換部２２は、制御部２１に制御されて、データ変換に伴う処理を実行する処理部であり、例えば、記録用のデータ（ファイル）に記述されているノードやエッジをグラフ化したり、そのノードやエッジの属性をグラフ上で定義したりして、グラフデータ３１を生成する。また、データ変換部２２は、制御部２１に制御されて、逆に、グラフ化されたネットワークを記録用のデータに変換する（ファイル化する）。
【００２９】
グラフ加工部２３は、制御部２１に制御され、モニタに表示されているグラフに対して、ノードやエッジの、追加、削除、または変更等の処理を行い、その結果を制御部２１にかえす。表示制御部２４は、グラフ化されたネットワーク等の表示に関する処理を行う。書き込み部２５は、記憶部１３への（ファイル）の書き込みを行い、読み出し部２６は、記憶部１３に記憶されたデータ（ファイル）の読み出しを行う。
【００３０】
解析部２７は、制御部２１に指定された解析方法で、グラフデータ３１が示すグラフ化されたネットワークの解析を行い、その結果を制御部２１にかえす。
【００３１】
保持部１２は、例えばRAM（Random Access Memory）等の揮発性メモリにより構成され、制御部２１において処理された結果や、途中経過を一時的に保持する。例えば、保持部１２は、図１に示されるように、制御部２１の制御によりネットワークがグラフ化されて生成されたグラフデータ３１を保持する。
【００３２】
記憶部１３は、例えばハードディスクやフラッシュメモリ等のような大容量の不揮発性の記憶媒体により構成され、保存用にファイル化された各種データを記憶する。例えば、記憶部１３は、図１に示されるように、ノードやエッジおよびそれらの関係を示す情報を含むネットワークファイル４１、各ノードの特徴等を表すノード属性に関する情報を含むノード属性ファイル４２、各エッジの特徴等を表すエッジ属性に関する情報を含むエッジ属性ファイル４３、およびネットワークの解析結果を含む解析データファイル４４等を保存する。
【００３３】
ネットワークファイル４１は、ネットワークの各ノードと各エッジのリストが記述されているテキストデータを格納する。例えば、ノードがユーザである場合、ユーザ１、ユーザ２、ユーザ３、・・・のような名称が各ノードにノード名として割り当てられており、ネットワークファイル４１は、このようなノード名のリストを含む。さらに、どのノードとどのノードがエッジにより結ばれているかを示す、エッジに関する情報もリスト化され、ネットワークファイル４１に含まれる。
【００３４】
ノード属性ファイル４２は、ネットワークの各ノードのノード属性のリストが記述されているテキストデータを格納する。ノード属性とは、そのノードの特徴等を示す情報であり、例えば、ユーザをノードとする場合、そのユーザの性別、年齢、職業、住所、趣味等がノード属性となり得る。つまり、ノード属性は、ネットワーク内における、１つの要素の意味を示す情報である。
【００３５】
エッジ属性ファイル４３は、ネットワークの各エッジのエッジ属性のリストが記述されているテキストデータを格納する。エッジ属性とは、そのエッジの特徴等を示す情報であり、例えば、ユーザをノードとし、人間関係をエッジとする場合、趣味が同一、クラスメイト、性別、会話等のように人間関係の特徴を表すものがエッジ属性となり得る。つまり、エッジ属性は、ネットワーク内における、要素と要素の結びつきの意味を示す情報である。
【００３６】
解析データファイル４４はネットワークの解析結果のテキストデータを格納する。
【００３７】
これらのファイルは、例えば、テキストファイルやCSV（Comma Separated Values）ファイルとして構成される。もちろん、テキスト以外のデータが格納されるようにしてもよい。
【００３８】
ユーザインタフェース部１４は、キーボードやマウス等の入力部５１と、モニタやスピーカ等の出力部５２を有し、制御部２１に制御されて画像表示やユーザ指示入力受付に関する処理を行い、ユーザに対するインタフェースとしての処理を行う。
【００３９】
ネットワーク分析支援装置１は、制御部２１の制御の下、入力部５１によりユーザ指示を受け付け、記憶部１３に記憶されているネットワークファイル４１を読み出し部２６により読み出し、データ変換部２２によりそのネットワークファイル４１に格納されるノードやエッジのリストをグラフ化し、保持部１２により、その生成されたグラフデータ３１を保持するとともに、表示制御部２４により、グラフの画像を出力部５２のモニタに表示させる。また、ノード属性ファイル４２、エッジ属性ファイル４３、および解析データファイル４４等が存在する場合、データ変換部２２は、それらのファイルに含まれる各種データを、グラフ化したネットワークに反映させる。
【００４０】
このようにネットワーク分析支援装置１は、ネットワークファイル４１等に記述されたネットワークをグラフとして画像化し、モニタに表示する。図２は、出力部５２のモニタにおけるグラフの表示例を示している。図２に示されるように、グラフを表示する際、モニタの画面にはGUI（Graphical User Interface）であるグラフビューア６１がウィンドウとして表示される。このグラフビューア６１は表示領域６２と操作領域６３よりなり、グラフは表示領域６２に表示される。ユーザは操作領域６３に設けられたGUIボタン等を操作することにより、表示領域６２に表示されるグラフを解析処理したり編集したりすることができる。
【００４１】
次に、図２の表示領域６２に表示されるグラフについて説明する。図２において、ユーザ１乃至ユーザ４として描画された点（三角形や四角形）は、ノードを示し、それらを互いに結ぶ矢印はエッジを示している。このように、ネットワークは、要素を表すノードとノード間の関係を示すエッジとで構成されるものであり、ノードを示す点の形状、色、柄、濃度、大きさ等の視覚的な特徴によりそのノード属性が示され、エッジを示す矢印の色、柄、実線、点線、鎖線、濃度、または太さ等の視覚的な特徴によりそのエッジ属性が示されるようにグラフ化される。さらに、その矢印の向きにより、そのエッジの両端のノードの関係の方向（例えば参照関係や依存関係の方向）が示される。
【００４２】
例えば、図２のネットワークは、電話等の通話サービスの利用状況を示し、ノードが通話サービスの会員（ユーザ）を示し、エッジがユーザ間の通話サービスの利用を示し、ノードの形状がユーザの性別を示し、エッジの矢印の向きが電話をかけた側とかけられた側を示し、その矢印の視覚的な違いが通話頻度や会話の主な内容（例えばアンケート結果により得られた統計情報）を示すネットワークをグラフ化したものである。
【００４３】
このようにネットワークをグラフ化（画像化）することにより、分析者は、例えば、「ユーザ１は、サービス利用頻度が最も高いだけでなく、ユーザ２乃至ユーザ４の共通の通話の相手となっており、ユーザ２乃至ユーザ４にサービスを利用させるための大きな要因となっている」といったネットワークの特徴や傾向を視覚的に把握することができ、分析を容易に行うことができる。また、ネットワーク分析支援装置１は、単にネットワークを視覚化するだけでなく、後述するようにグラフの編集機能等を有しており、分析者はさらに分析を深め、例えば、どのようなノードやエッジの追加や削除を行うことにより、ネットワーク全体にどのような影響を及ぼすか、新たなサービスを提供することによりどのようなユーザのどのような利用を促進させるか等といったシミュレーションも含めた高度な分析も容易に行うことができる。つまり、ネットワーク分析支援装置１は、このような高度な分析も支援することができる。
【００４４】
なお、グラフ化されるネットワークは、要素を表すノードとノード間の関係を示すエッジとで構成されるものであればどのようなものを表すものであってもよく、例えば、各種サービスの利用状況だけでなく、たんぱく質の構成、統計情報、LAN等の電子機器のネットワーク等であってもよい。つまり、ノードとエッジがそれぞれどのようなものを示してもよい。さらに、ノード属性およびエッジ属性もそれぞれ任意のものを割り当てることができる。
【００４５】
また、図２においては、ネットワークを、エッジを矢印で表す有向グラフ、つまりノード間の関係の向きも示すグラフにグラフ化するように説明したが、エッジを線分で示す無向グラフ、つまりノード間の関係の向きを考慮しないグラフにグラフ化するようにしてもよい。
【００４６】
このようにしてネットワークがグラフ化されたグラフデータ３１（図１）は、例えば、図３のような構成を有する。図３の例の場合、グラフデータ３１は、グラフ全体に関する情報を含むグラフ７１、各ノードに関する情報を含むノード７２、各エッジに関する情報を含むエッジ７３、並びに、ノード属性やエッジ属性に関する情報を含む属性リスト７４および属性値リスト７５を有する。
【００４７】
グラフ７１は、ネットワークを有向グラフで示すか無向グラフで示すかを表す情報である無向・有向種別を含む。ノード７２は、グラフ７１が示すグラフに含まれる各ノードについて、ノードの名称を示すノード名、ノード属性の名称を示す属性名、ノード属性の値を示す属性値、接続されたエッジ数を示す次数、他のノードへの影響度を示す媒介中心性、関係の断絶（エッジの示すノード間の関係が他のエッジと重複する度合い）を示す構造的空隙等の、ノード毎の情報を含む。エッジ７３は、グラフ７１が示すグラフに含まれる各エッジについて、エッジ属性の名称を示す属性名、およびエッジ属性の値を示す属性値等の、エッジ毎の情報を含む。属性リスト７４は、ノード７２に示される各ノードのノード属性の名称と、エッジ７３に示される各エッジのエッジ属性の名称の一覧リストである。属性値リスト７５は、ノード７２に示される各ノード属性の名称と属性値、および、エッジ７３に示される各エッジ属性の名称と属性値をまとめたリストである。
【００４８】
ネットワーク分析支援装置１は、記憶部１３に記憶されたネットワークファイル４１等に基づいて、これらのような各種データを含むグラフデータ３１を生成し、ネットワークをグラフとしてモニタに表示させる。
【００４９】
次に、ネットワーク分析支援装置１が実行する具体的な処理について説明する。図４は、図１の制御部２１が有する機能ブロックの構成例を示す図である。
【００５０】
図４に示されるように、制御部２１は、ユーザによる実行処理の選択指示を受け付けるメインメニュー画面に関する処理を行うメインメニュー制御部１０１、ネットワークのグラフ化に関する処理を行うグラフ生成制御部１０２、グラフを定期的に更新する定期更新制御部１０３、ノードやエッジの属性の設定に関する処理を行う属性設定制御部１０４、グラフ加工部２３を制御し、グラフの加工に関する処理を行うグラフ加工制御部１０５、グラフの保存に関する処理を行うグラフ保存制御部１０６、および、終了時の処理を制御する終了処理制御部１０７を有している。
【００５１】
属性設定制御部１０４は、ノード属性の設定に関する処理を行うノード属性設定部１１１と、エッジ属性の設定に関する処理を行うエッジ属性設定部１１２を有する。グラフ加工制御部１０５は、グラフ加工部２３を制御し、ノード名やノード属性名により指定されたノードをグラフに追加させるノード追加部１２１、グラフ加工部２３を制御し、ノード名やノード属性名により指定されたノードをグラフより削除させるノード削除部１２２、グラフ加工部２３を制御し、エッジ属性名やノード名により指定されたエッジをグラフに追加させるエッジ追加部１２３、および、グラフ加工部２３を制御し、エッジ属性名やノード名により指定されたエッジをグラフより削除させるエッジ削除部１２４を有している。
【００５２】
以下において、フローチャートを参照しながら、各処理の具体的な説明を行う。
【００５３】
最初にメインメニューに関する処理ついて説明する。例えば図１のネットワーク分析支援装置１に電源が投入されたり、メインメニューを立ち上げるユーザ指示を受け付けたりすると、メインメニュー制御部１０１は、出力部５２を制御し、モニタにメインメニューを表示させ、ユーザからの選択指示を受け付ける。このメインメニューは、ネットワーク分析支援装置１に実行させる処理の主要な選択をユーザに行わせるGUIである。
【００５４】
例えば、メインメニューにおいては、ユーザが、ネットワークよりグラフを生成して表示させる処理、表示させているグラフを定期的に更新させる処理、属性を設定する処理、表示中のグラフの加工に関する処理、グラフを保存する処理、または、終了に関する処理のいずれかを選択をすることができるようになされている。つまり、メインメニューにおいては大まかな選択や重要な処理の選択が行われ、さらに選択した処理の中でさらに細かい選択が必要な場合は、他のメニューにおいて行われる。
【００５５】
このようなメインメニューに関する処理を行うためにメインメニュー制御部１０１が実行するメインメニュー処理について図５のフローチャートを参照して説明する。
【００５６】
メインメニュー処理を開始したメインメニュー制御部１０１は、ステップＳ１において、出力部５２のモニタにメインメニューを表示させ、ステップＳ２において、入力部５１を制御し、メニュー選択入力を受け付ける。メインメニューには、例えば、上述したような各処理の処理名の一覧が表示されており、ユーザは入力部５１を操作してカーソルを動かす等してその中から１つを選択する。この操作により、メニュー選択入力が入力される。
【００５７】
メインメニューのいずれかを選択するメニュー選択入力を受け付けると、メインメニュー制御部１０１は、最初にステップＳ３において、そのメニュー選択入力によりグラフ生成処理が選択されたか否かを判定する。グラフ生成処理は、記憶部１３よりネットワークファイル４１等を読み込み、そのネットワークをグラフ化して表示させる処理である。メインメニューが起動された初期状態（例えば電源投入時等）においては、ネットワークファイル４１等が読み込まれておらず、モニタにはグラフが表示されていない（グラフデータ３１が生成されていない）ので、メインメニューの他の処理（例えば、解析処理や表示制御処理）等を行うためには、このグラフ生成処理を少なくとも１回以上実行させる必要がある。
【００５８】
このグラフ生成処理が選択されたと判定した場合、メインメニュー制御部１０１は、処理をステップＳ４に進める。ステップＳ４において、グラフ生成制御部１０２は、グラフ生成処理を実行し、図２に示されるように、ネットワークをグラフ化して出力部５２のモニタに表示させる。ステップＳ４の処理が終了すると、定期更新制御部１０３は、ステップＳ５において、そのモニタに表示させたグラフを定期的に更新させるグラフ定期更新処理を開始する。定期更新制御部１０３がグラフ定期更新処理を開始すると、メインメニュー制御部１０１は、処理をステップＳ１に戻し、それ以降の処理を繰り返す。
【００５９】
また、ステップＳ３において、メニュー選択入力によりグラフ生成処理が選択されていないと判定した場合、メインメニュー制御部１０１は、処理をステップＳ６に進め、生成されたグラフが存在するか否か（グラフデータ３１が存在するか否か）を判定する。上述したようにグラフデータ３１が存在しないと解析処理や表示制御処理等の処理が実行できないので、生成されたグラフが存在しないと判定した場合、メインメニュー制御部１０１は、処理をステップＳ７に進め、モニタにグラフ生成を促すメッセージを表示し、処理をステップＳ１に戻し、それ以降の処理を繰り返す。
【００６０】
ステップＳ６において、グラフが存在すると判定した場合、メインメニュー制御部１０１は、処理をステップＳ８に進め、属性設定、グラフ加工、グラフ保存制御、終了処理等の予め用意された処理の中から選択された処理を実行する。ステップＳ８の処理を終了すると、メインメニュー制御部１０１は、メインメニュー処理を終了する。
【００６１】
次に、図５のステップＳ４において実行されるグラフ生成処理の流れの例を図６のフローチャートを参照して説明する。
【００６２】
グラフ生成処理を開始すると、グラフ生成制御部１０２は、ステップＳ２１において、出力部５２を制御し、モニタにグラフ生成メニューを表示させ、入力部５１を制御し、そのグラフ生成メニューにおけるメニュー選択指示を受け付ける。
【００６３】
上述したようにグラフ生成処理は、ネットワークをグラフ化する処理であるが、その際、ネットワークを新規グラフとしてグラフ化することもできるし、生成したグラフを既存のグラフに追加し、１つのグラフとすることもできる。グラフ生成メニューは、その処理の選択をユーザに行わせるGUIである。例えば、グラフ生成メニューには、「新規グラフを生成する」と表示されたGUIボタン（またはリンク、タブ等）と「既存のグラフに追加する」と表示されたGUIボタンが設けられており、ユーザは、入力部５１を操作し、カーソルを移動させ、このいずれかを選択することにより処理を選択する。
【００６４】
このようにして、新規グラフを生成して表示させるか、既に生成済みのグラフ（既存のグラフ）に追加させるグラフ（追加グラフ）を生成し、追加表示させるかを選択する選択指示が入力されて受け付けられると、グラフ生成制御部１０２は、処理をステップＳ２２に進め、その選択指示により新規グラフの生成が選択されたか否かを判定する。
【００６５】
新規グラフの生成が選択されたと判定した場合、グラフ生成制御部１０２は、処理をステップＳ２３に進め、入力部５１および出力部５２を制御し、GUIを表示する等して、グラフ生成に使用するネットワークファイル４１のファイル名の指定を受け付ける。ファイル名が指定されると、グラフ生成制御部１０２は、ステップＳ２４において、読み出し部２６を制御し、記憶部１３よりユーザに指定されたネットワークファイル４１を読み出して取得し、データを読み込む。
【００６６】
ステップＳ２５において、グラフ生成制御部１０２は、入力部５１および出力部５２を制御し、GUIを表示する等して、有向グラフを生成するか、または、無向グラフを生成するかの選択指示である有向無向選択指示を受け付ける。以上の準備が整うと、グラフ生成制御部１０２は、ステップＳ２６において、データ変換部２２を制御し、グラフデータ３１を生成させる。データ変換部２２においてグラフデータ３１が生成されると、グラフ生成制御部１０２は、そのグラフデータ３１を保持部１２に保持させ、処理をステップＳ３０に進める。
【００６７】
また、ステップＳ２２において、選択指示により既存のグラフに追加する追加グラフを生成し、既存のグラフに追加して表示させることが選択されたと判定した場合、グラフ生成制御部１０２は、処理をステップＳ２７に進め、入力部５１および出力部５２を制御し、GUIを表示する等して、グラフ生成に使用するネットワークファイル４１のファイル名の指定を受け付ける。ファイル名が指定されると、グラフ生成制御部１０２は、ステップＳ２８において、読み出し部２６を制御し、記憶部１３よりユーザに指定されたファイル（ネットワークファイル４１等）を読み出して取得し、データを読み込む。ステップＳ２９において、グラフ生成制御部１０２は、データ変幹部２２を制御し、読み込んだデータより追加グラフを生成させ、既存のグラフにその追加グラフのノードとエッジを追加させる。データ変換部２２において追加グラフが追加され、グラフデータ３１が更新されると、グラフ生成制御部１０２は、そのグラフデータ３１を保持部１２に保持させ、処理をステップＳ３０に進める。
【００６８】
ステップＳ３０において、グラフ生成制御部１０２は、ノード属性ファイル４２やエッジ属性ファイル４３が存在する場合これらの属性ファイルよりデータを読み込み、ステップＳ３１において、グラフデータ３１のネットワークにその属性を追加する。なお、これらの属性ファイルが存在しない場合、グラフ生成制御部１０２は、これらの処理を省略し、ステップＳ３２に処理を進める。属性の追加が終了すると、グラフ生成制御部１０２は、ステップＳ３２において、出力部５２を制御し、モニタに、読み込みが完了したことをユーザに通知する読み込み完了メッセージをモニタに表示し、グラフ生成処理を終了し、処理を図５のステップＳ４に戻し、ステップＳ５以降の処理を実行する。
【００６９】
次に、図５のステップＳ５において開始されるグラフ定期更新処理の流れについて、図７のフローチャートを参照して説明する。グラフ定期更新処理は、ユーザの指示無しに、ネットワークファイル４１の更新を定期的にグラフに反映させる処理である。この処理は、少なくとも１つのネットワークがグラフ化された状態、すなわち、保持部１２にグラフデータ３１が存在する間中、常に実行される。
【００７０】
グラフ定期更新処理が開始されると、定期更新制御部１０３は、ステップＳ５１において計時し、ステップＳ５２において現在時刻が、予め定められた所定のタイミングであるか否かを判定し、所定のタイミングであると判定した場合、処理をステップＳ５３に進める。
【００７１】
ステップＳ５３において、定期更新制御部１０３は、記憶部１３よりグラフデータ３１に対応するネットワークファイル４１を取得し、ステップＳ５４において、記憶部１３よりノード属性ファイル４２およびエッジ属性ファイル４３を読み出してノード情報およびエッジ情報を取得する。定期更新制御部１０３は、ステップＳ５５において、データ変換部２２を制御し、それらの情報に基づいてグラフを生成させる。ステップＳ５６において、定期更新制御部１０３は、ノード属性やエッジ属性などの属性情報が存在するか否かを判定し、存在すると判定した場合、ステップＳ５７に処理を進め、データ変換部２２を制御し、その属性をグラフのノードやエッジに追加し、処理をステップＳ５８に進める。また、ステップＳ５６において、属性情報が存在しないと判定した場合、定期更新制御部１０３は、ステップＳ５７の処理を省略し、ステップＳ５８に処理を進める。
【００７２】
ステップＳ５８において、定期更新制御部１０３は、予め定められた所定の設定に基づいて、解析部２７を制御し、生成した（更新した）グラフに対して、各ノードのエッジの数に基づいた解析、各ノードの他のノードへの影響度（媒介中心性）に基づいた解析、ノード同士がどれくらい密接に結びついているかを示すクラスタリング係数を用いた解析、エッジの経路（パス）上におけるノード間の距離である最短パス長を用いた解析、ネットワークの構造的空隙を用いた解析、各ノードに接続されるエッジのエッジ属性のパターンに基づいた解析、接続されるエッジに基づいたノードの価値を示すノードスコアの算出、他のノードのノードスコアに基づいたノードスコアの算出、または、他のノードのノードスコアの更新に伴う自ノードのノードスコアの再計算等の解析処理を行わせる。この解析処理はどのようなものであってもよいし、省略するようにしてもよい。解析処理が終了すると、定期更新制御部１０３は、グラフデータ３１を保持部１２に保持させるとともに、出力部５２を制御してモニタにグラフ（解析結果）を表示させ、処理をステップＳ５９に進める。また、ステップＳ５２において、現在時刻が所定のタイミングで無いと判定した場合、定期更新制御部１０３は、処理をステップＳ５９に進める。
【００７３】
ステップＳ５９において定期更新制御部１０３は、グラフ定期更新処理を終了するか否かを判定する。例えば、まだグラフ化されたネットワーク（すなわちグラフデータ３１）が存在し、グラフ定期更新処理を終了しないと判定した場合、定期更新制御部１０３は、処理をステップＳ５１に戻し、それ以降の処理を繰り返し実行する。また、ステップＳ５９において、電源終了時や、定期更新すべきグラフ（すなわちグラフデータ３１）が存在せず、グラフ定期更新処理を終了すると判定した場合、定期更新制御部１０３は、グラフ定期更新処理を終了する。
【００７４】
なお、以上においては、定期的にグラフの更新処理を行うように説明したが、この更新処理は、例えば、所定のイベント発生時に実行する等、不定期に更新するようにしてももちろんよい。
【００７５】
次に、図５のステップＳ８において実行される各種処理の流れについて説明する。
【００７６】
グラフデータ３１が存在する状態の時に、メインメニューにおいてグラフ生成以外の処理が選択されると、その選択された処理が実行される。そのような処理として、例えば、モニタに表示されたグラフのノードやエッジに対して、ユーザが属性を設定する（追加も含む）処理がある。メインメニューにおいてユーザがこの属性設定処理を選択すると、属性設定制御部１０４（図４）により属性設定処理が実行される。
【００７７】
図８および図９のフローチャートを参照して属性設定処理の流れの例を説明する。
【００７８】
属性設定処理が開始されると、属性設定制御部１０４は、ステップＳ７１において、入力部５１と出力部５２を制御し、モニタに属性設定メニューを表示し、設定選択指示を受け付ける。
【００７９】
属性設定メニューは、ユーザにノード属性の設定を行うか、エッジ属性の設定を行うかを選択させるGUIである。ユーザは、入力部５１を操作し、カーソルを移動させる等して、いずれを設定するかを選択する。ステップＳ７２において、属性設定制御部１０４は、このようにして入力部５１を介して入力された設定選択指示に基づいて、ノードの属性を設定するか否かを判定する。
【００８０】
ノード属性を設定すると判定した場合、属性設定制御部１０４のノード属性設定部１１１は、処理をステップＳ７３に進め、入力部５１および出力部５２を制御し、モニタに、ユーザに属性を設定するノードを選択させるGUIを表示し、ノード名条件の入力を受け付ける。この選択方法は任意であるが、例えば、グラフに存在するノードの一覧を表示してユーザにいずれかを選択させるようにしてもよいし、ユーザにノード名の一部または全部を入力させ、その入力文字列と一致する、または含むノード名のノードが選択されるようにしてもよい。つまり、この選択においては、ユーザは、ノード名を条件（絞り込み条件）として入力するため、識別情報を完全に把握していなくても多数のノードの中から絞り込みながら目的のノードを検索することができるし、また、複数のノードのノード属性を一度に設定することもできる。すなわち、ユーザは、多数のノードが存在する複雑なネットワークであっても容易に各ノードのノード属性の設定を行うことができる。
【００８１】
ノード名条件が入力されると、ノード属性設定部１１１は、ステップＳ７４において、入力部５１および出力部５２を制御し、モニタに、属性名や属性値を設定するためのGUIを表示し、ノード属性名およびノード属性値の入力を受け付ける。ノードを選択したユーザは、その選択したノードに対して新たなノード属性を追加する。そのために、ユーザはモニタに表示されたGUIを用いて、追加するノード属性名やノード属性値を入力する。
【００８２】
ノード属性名やノード属性値の入力を受け付けると、ノード属性設定部１１１は、ステップＳ７５に処理を進め、ステップＳ７３において入力されたノード名条件に該当するノードが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ７６に進め、データ変換部２２を制御し、その条件に該当するノードに、ステップＳ７４において入力されたノード属性名およびノード属性値を設定させる。設定が終了すると、ノード属性設定部１１１は、ノード属性が追加されたグラフデータ３１を保持部１２に保持させ、ステップＳ７７に処理を進め、出力部５２を制御してモニタに設定終了メッセージを表示し、属性設定処理を終了する。
【００８３】
また、ステップＳ７５において、入力されたノード名条件に該当するノードが、グラフに存在しない場合、ノード属性設定部１１１は、処理をステップＳ７８に進め、出力部５２を制御してモニタに、属性の設定に失敗したことをユーザに通知するエラーメッセージを表示し、属性設定処理を終了する。
【００８４】
さらに、ステップＳ７２において、ユーザがエッジ属性の設定を選択し、ノードの属性を設定しないと判定した場合、属性設定制御部１０４は、処理を図９のステップＳ８１に進める。
【００８５】
図９のステップＳ８１において、エッジ属性設定部１１２は、入力部５１および出力部５２を制御し、モニタにGUIを表示させ、ユーザに対して、入力する条件の選択を受け付ける。
【００８６】
エッジには名称が無い（ノード名はあるがエッジ名は無い）ので、ユーザは、エッジに接続されたノードに関する情報を用いて、属性を設定するエッジを特定する。つまり、ユーザは、絞り込み条件に該当するノードに接続されたエッジに対して属性の設定を行う。ネットワーク分析支援装置１においては、このノードに関する情報として、ノード名とノード属性名の２種類が設けられており、エッジ属性設定部１１２は、いずれの条件を用いるかをユーザに選択させる。
【００８７】
ステップＳ８２において、エッジ属性設定部１１２は、ユーザによりノード名条件が選択されたか否かを判定し、ノード名条件が選択されたと判定した場合、処理をステップＳ８３に進め、入力部５１および出力部５２を制御してモニタにGUIを表示させ、ノード名条件の入力を受け付け、処理をステップＳ８５に進める。
【００８８】
また、ステップＳ８２において、ノード名条件が選択されず、ノード属性条件が選択されたと判定した場合、エッジ属性設定部１１２は、処理をステップＳ８４に進め、入力部５１および出力部５２を制御してモニタにGUIを表示させ、ノード属性条件の入力を受け付け、処理をステップＳ８５に進める。
【００８９】
つまり、エッジの場合も、上述したノードの場合と同様に、一度に複数のエッジを選択することができる。また、絞り込み条件により、目的のエッジを検索することができる。すなわち、ユーザは、多数のエッジが存在する複雑なネットワークであっても容易に各エッジのエッジ属性の設定を行うことができる。
【００９０】
ノードの条件が受け付けられると、エッジ属性設定部１１２は、ステップＳ８５において、入力部５１および出力部５２を制御してモニタにGUIを表示させ、特定された処理対象エッジに対して設定するエッジ属性名およびエッジ属性値の入力を受け付ける。
【００９１】
ステップＳ８６において、エッジ属性設定部１１２は、以上のように入力された条件に該当するエッジ（入力されたノード条件に該当するノードに接続されたエッジ）が存在するか否かを判定する。該当するエッジが存在する場合、エッジ属性設定部１１２は、処理をステップＳ８７に進め、データ変換部２２を制御し、条件に該当するエッジに、入力されたエッジ属性名およびエッジ属性値を設定させ、エッジ属性が追加されたグラフデータ３１を保持部１２に保持させ、ステップＳ８８において、設定が終了したことをユーザに通知する設定終了メッセージを表示し、属性設定処理を終了する。
【００９２】
また、ステップＳ８６において、条件に該当するエッジが存在しないと判定した場合、エッジ属性設定部１１２は、処理をステップＳ８９に進め、出力部５２を制御してモニタに、属性の設定に失敗したことをユーザに通知するエラーメッセージを表示し、属性設定処理を終了する。
【００９３】
このように、ネットワーク分析支援装置１においては、ノード属性だけでなくエッジ属性、すなわち、ネットワークにおける要素間の結びつきの意味を示す情報もグラフに設定することができる。つまり、ネットワーク分析支援装置１は、ネットワークにどのようなノードが存在し、どのノードとどのノードが関係するか、ということだけでなく、さらに、どのノードとどのノードが、どのように関係するか、ということまで表現することができる。
【００９４】
例えば、ノードをユーザとし、エッジをユーザ同士の連絡とすると、従来のネットワークにおいては、どのユーザが連絡を取り合ったか、あるいは、何回連絡を取ったかというところまで表現することができるが、例えば、その連絡手段が何であったか、連絡の内容は何であったか、といったことを表現することができなかった。ネットワーク分析支援装置１は、上述したように、エッジ属性としてそのような情報を設定することができる。これにより、ネットワーク分析支援装置１は、ユーザが容易に複雑なネットワークに対して多様な分析を行うことができるように、より適切に分析を支援することができる。
【００９５】
以上においては、ノードをノード名条件により絞り込み、エッジをノード名条件またはノード属性名条件により絞り込むように説明したが、条件の種類はこれに限らずどのようなものであってもよく、それら以外の条件によりノードやエッジを絞り込むようにしてもよい。例えば、ノードやエッジの属性値や、エッジの向き（有向グラフの場合）等を条件としても良い。また、複数の条件を組み合わせて使用してもよい。
【００９６】
以上のようにして、ネットワークがグラフ化されて表示され、さらに必要に応じてノードやエッジに属性が設定されるので、ユーザは、ネットワークを視覚的に捉え、分析を容易に行うことができる。しかしながら、近年においてはより複雑なネットワークの分析を行うことが求められている。分析対象のネットワークが複雑なほど、ネットワークの分析は困難になるので支援の重要性が増すが、単純にグラフとして表示するだけでは、ユーザが十分に分析を行うことができなくなる。つまり、より複雑なネットワークの分析に対して、より有効な支援を行うためには、表示中のグラフのノードやエッジを変更する等の、より多様な操作性が必要となってくる。
【００９７】
そこで、グラフ加工制御部１０５は、グラフ加工部２３を制御して、表示中のグラフのノードやエッジを更新するグラフ加工処理を行う。このグラフ加工処理の指示は、メインメニューにて行われる。メインメニューにおいてユーザがグラフ加工処理を選択すると、図５のステップＳ８においてそのグラフ加工処理が実行される。
【００９８】
図１０乃至図１３のフローチャートを参照してグラフ加工処理の流れの例を説明する。また、必要に応じて、図１４乃至図２９を参照して説明する。
【００９９】
グラフ加工処理が開始されるとグラフ加工制御部１０５は、ステップＳ１０１において、入力部５１および出力部５２を制御し、ユーザにグラフ加工に関する処理を選択させるGUIであるグラフ加工メニューをモニタに表示し、そのグラフ加工メニューに対する処理選択指示を受け付ける。
【０１００】
処理選択指示を受け付けると、グラフ加工制御部１０５は、ステップＳ１０２において、その処理選択指示に基づいて表示中のグラフに対してノードを追加するか否かを判定し、追加すると判定した場合、処理をステップＳ１０３に進める。ステップＳ１０３において、ノード追加部１２１は、処理選択指示に基づいて、既存のノードを複製するか、新規のノードを生成するかを判定し、複製すると判定した場合、処理をステップＳ１０４に進める。
【０１０１】
ステップＳ１０４において、ノード追加部１２１は、GUIをモニタに表示させ、ノード名入力を受け付ける。つまり、ノード追加部１２１は、既存のノードを複製する場合、その複製元とする既存のノードを、そのノード名を用いて指定させる。
【０１０２】
図１４は、ノードを複製する場合に表示されるGUIの表示例を示す図である。図１４に示されるように、ステップＳ１０４において、ノード追加部１２１は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにノード名を入力させるノード追加ウィンドウ１３２をモニタに表示させる。ノード追加ウィンドウ１３２には、ノード名を入力する欄と、追加するノードの個数を指定する欄が設けられている。ユーザがこれらの欄に入力し、「ノード追加実行」ボタンを押下すると、確認ウィンドウ１３３が表示される。ユーザが、この確認ウィンドウ１３３において「はい（Ｙ）」ボタンを押下すると、ノード名入力（追加個数も含む）が受け付けられる。図１４の例においては、ノード「ユーザ１」を２個追加（複製）することが指示されている。
【０１０３】
図１０に戻り、ステップＳ１０５において、ノード追加部１２１は、受け付けたノード名に該当するノードが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ１０６に進め、グラフ加工部２３を制御し、指定されたノード名のノードを複製させ、ステップＳ１０７において、複製元のノードが有するエッジを新ノードに追加させ、グラフ（グラフデータ３１）を更新する。その更新が終了すると、ノード追加部１２１は、グラフ加工処理を終了する。
【０１０４】
図１５は、図１４に示されるノード追加ウィンドウ１３２において入力された指示に基づいて、図２に示されるグラフにノードが２個追加された場合のグラフの表示例を示す図である。図１５に示されるグラフには、「ユーザ１」のノードの複製である「ユーザ１＿１」と「ユーザ１＿２」が追加されている。これらのノードは「ユーザ１」の複製であるので、それらのノード属性は、「ユーザ１」と共通である。また、「ユーザ１＿１」と「ユーザ１＿２」の２つのノードは、いずれも、「ユーザ１」がエッジを介して接続される「ユーザ２」、「ユーザ３」、および「ユーザ４」の各ノードと、「ユーザ１」の場合と同じエッジ属性を有するエッジを介して接続される。換言すると、「ユーザ２」、「ユーザ３」、、および「ユーザ４」の各ノードは、それぞれ、「ユーザ１」、「ユーザ１＿１」、および「ユーザ１＿２」と、互いに同じエッジ属性を有する（向きも同じ）エッジにより接続される。
【０１０５】
このように、ユーザは、複製元とするノードを、そのノード名を用いて指定することができるので、容易に、目的のノードを指定し、その複製をグラフに追加することができる。なお、グラフにおいてノード名は各ノードの識別情報として機能するので、ノード追加部１２１は、ステップＳ１０６においてノードを複製する際に、ノード名を変更する。このとき、ノードが複製されたものであること、および、どのノードが複製元であるかをユーザが容易に把握することができるように、ノード追加部１２１は、複製元のノードのノード名を利用して、複製先のノードのノード名を生成する。図１５の例の場合、ノード追加部１２１は、複製元のノード名「ユーザ１」に新たに識別番号を付加し、複製先のノードのノード名「ユーザ１＿１」と「ユーザ１＿２」を生成している。
【０１０６】
図１０に戻り、ステップＳ１０５において、該当するノードが存在しないと判定した場合、ノード追加部１２１は、ステップＳ１０８に処理を進め、モニタに、複製不可能であることをユーザに通知するエラーメッセージを表示する等のエラー処理を行い、グラフ加工処理を終了する。
【０１０７】
また、ステップＳ１０３において、処理選択指示に基づいてノードを新規に作成すると判定した場合、ノード追加部１２１は、処理をステップＳ１０９に進め、モニタにGUIを表示させ、ノード属性名入力を受け付ける。
【０１０８】
図１６は、ノードを新規に生成する場合に表示されるGUIの表示例を示す図である。図１６に示されるように、ステップＳ１０９において、ノード追加部１２１は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにノード属性名を入力させるノード追加ウィンドウ１３４をモニタに表示させる。ノード追加ウィンドウ１３４には、ノード属性名を入力する欄と、そのノードに追加するエッジの個数を指定する欄が設けられている。ユーザがこれらの欄に入力し、「ノード追加実行」ボタンを押下すると、確認ウィンドウ１３５が表示される。ユーザが、この確認ウィンドウ１３５において「はい（Ｙ）」ボタンを押下すると、ノード属性名入力（追加エッジ数も含む）が受け付けられる。図１６の例においては、ノード属性が「男性」でエッジ数が２個のノードを追加することが指示されている。
【０１０９】
ノード名は、ノードの識別情報であるが、ネットワークの構成要素としての意味を持つ情報ではないので、ネットワークの分析においては、追加するノードのノード名そのものよりも、どのようなノードを追加するかということが重要になる。従って、ノード追加部１２１は、新規にノードを作成する場合、ノード属性名をユーザに指定させる。このようにすることにより、ユーザは、追加したノードの性質（意味）によるネットワーク全体への影響を分析することができる。追加するノードのノード名は、グラフ加工部２３において任意に生成しても良いし、ユーザが指定するようにしてもよい。
【０１１０】
図１０に戻り、ステップＳ１１０において、ノード追加部１２１は、受け付けたノード属性名に該当するノード属性が存在するか否かを判定し、存在しないと判定した場合、処理をステップＳ１０８に戻し、エラー処理を行い、グラフ加工処理を終了する。つまり、新規に追加するノードのノード属性は既存のノード属性が利用される。
【０１１１】
もちろん、新規のノード属性を割り当てることができるようにしても良い。ただし、例えば、ノード属性が単なる名称で無く、ノード属性毎にノードの重み（ノードスコア）や他のパラメータが割り当てられたり、他のノード属性との関連性があったりする場合、ノード属性名だけでなく、それらの付加情報の設定も併せて行うことができるようにするのが望ましい。また、ノード追加ウィンドウ１３４において、ノード属性を既存のノード属性の中から選択的に指定するようにする場合、このステップＳ１１０の判定処理を省略することができる。
【０１１２】
ステップＳ１１０において、該当するノード属性が存在すると判定した場合、ノード追加部１２１は、ステップＳ１１１に処理を進め、グラフ加工部２３を制御して、指定されたノード属性のノードを新たに生成し、ステップＳ１１２において、図１６に示されるノード追加ウィンドウ１３４において入力されたエッジ数指示を受け付け、ステップＳ１１３において、グラフ加工部２３を制御して、指定されたエッジ数分のエッジを、追加された新ノードと、既存のノードよりランダムに選択した他のノードとを接続するように追加させる。エッジを追加すると、ノード追加部１２１は、グラフ加工処理を終了する。
【０１１３】
図１７は、図１６に示されるノード追加ウィンドウ１３４において入力された指示に基づいて、図２に示されるグラフにノード「ユーザ５」が新たに追加された場合のグラフの表示例を示す図である。図１７に示されるグラフには、ランダムに選択された２つのノード「ユーザ２」と「ユーザ３」のそれぞれとエッジで接続される。ユーザがこれらのエッジのエッジ属性を指定することができるようにしてもよい。
【０１１４】
また、エッジを追加するノードを選択する方法として、ランダムに選択する以外にも、例えば、"Mean-field theory for scale-free random networks.Physica A”,A.-L. Barabasi, R.Albert,H.Jeong,272,173-187(1999)に記載されているような優先的選択などの任意のルールに従って接続先のノードを選択するようにしてもよい。
【０１１５】
ネットワークにノードを追加する際に、ノード属性（要素の意味）が何であるか、ということが重要であり、そのノードがどこに追加されるかは重要で無い場合、上述したように、ランダムに（または所定の方法で）エッジの接続先を自動的に決定するようにすることにより、ノード追加部１２１は、ユーザの負担を軽減させることができる。
【０１１６】
図１０に戻り、ステップＳ１０２において、処理選択指示に基づいてノードを追加しないと判定した場合、グラフ加工制御部１０５は、処理を図１１のステップＳ１２１に進め、エッジを追加するか否かを判定する。グラフ加工メニューにおいて、ユーザがエッジを追加するように指示したと判定した場合、グラフ加工制御部１０５は、その処理選択指示に基づいて処理をステップＳ１２２に進める。
【０１１７】
ステップＳ１２２において、エッジ追加部１２３は、処理選択指示に基づいて、追加するエッジを接続するノードを指定するか否かを判定し、ノードを指定しないと判定した場合、処理をステップＳ１２３に進め、GUIをモニタに表示させ、エッジ属性入力を受け付ける。
【０１１８】
図１８は、エッジ属性のみの指定によりエッジを追加する場合に表示されるGUIの表示例を示す図である。図１８に示されるように、ステップＳ１２３において、エッジ追加部１２３は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにエッジ属性名を入力させるエッジ追加ウィンドウ１４１をモニタに表示させる。エッジ追加ウィンドウ１４１には、エッジ属性名を入力する欄と、追加するエッジの数を指定する欄が設けられている。ユーザがこれらの欄に入力し、「エッジ追加実行」ボタンを押下すると、確認ウィンドウ１４２が表示される。ユーザが、この確認ウィンドウ１４２において「はい（Ｙ）」ボタンを押下すると、エッジ属性名入力（追加エッジ数も含む）が受け付けられる。図１８の例においては、エッジ属性「本」のエッジを２本追加することが指示されている。
【０１１９】
ネットワークの分析において、ノードの場合と同様に、「どのようなエッジを追加するか」ということが重要になるので、エッジ追加部１２３は、追加するエッジのエッジ属性名をユーザに指定させる。ただし、エッジの追加は、ノード間の関係を追加するものであり、ノードを追加する場合と比べて、その意味が異なる。具体的に説明すると、例えば通話サービスの分析を行うネットワークにおいて、ユーザをノードとし、ユーザの個人情報をノード属性とし、通話サービスの利用をエッジとし、利用時間帯をエッジ属性とする。このようなネットワークにおいて、新たなノードを追加し、その影響を調べることにより、例えば、どのようなユーザがサービスに加入することにより、ネットワーク全体に大きな影響を及ぼすか（つまり、どのようなユーザを勧誘すべきか）といった、ユーザ数に関する分析を主に行うことができる。これに対して、新たなエッジを追加することは、例えば、「どのような時間帯の利用数を増やせばよいか」ということや「どのようなユーザ間の利用数を増やせばよいか」といった、サービスの提供方法に関する分析を主に行うことができる。もちろん、いずれの場合も、上述した以外の分析を行うことが可能であるが、このように、ノードを追加する場合とエッジを追加する場合とで、分析の主旨や得意分野が互いに異なる。
【０１２０】
図１１に戻り、ステップＳ１２４において、エッジ追加部１２３は、受け付けたエッジ属性名に該当するエッジが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ１２５に進め、２つのノードをランダムに選択し、グラフ加工部２３を制御して、選択したノード間に指定されたエッジ属性名のエッジを追加させる。エッジの追加が終了すると、エッジ追加部１２３は、グラフ加工処理を終了する。
【０１２１】
図１９は、図１８に示されるエッジ追加ウィンドウ１４１において入力された指示に基づいて、図２に示されるグラフにエッジ属性が「本」のエッジが２本新たに追加された場合のグラフの表示例を示す図である。図１９に示されるグラフには、ランダムに選択された２つのノード「ユーザ２」と「ユーザ３」の間、並びに、「ユーザ１」と「ユーザ４」の間のそれぞれに、上述したエッジが追加されている。
【０１２２】
なお、エッジを追加するノードを選択する方法として、ランダムに選択する以外にも、例えば、上述した優先的選択などの任意のルールに従って接続先のノードを選択するようにしてもよい。
【０１２３】
ネットワークにエッジを追加する際に、エッジ属性（要素間の結びつきの意味）が何であるか、ということが重要であり、そのエッジがどこに追加されるかは重要で無い場合、上述したように、ランダムに（または所定の方法で）追加する場所を自動的に決定するようにすることにより、エッジ追加部１２３は、ユーザの負担を軽減させることができる。
【０１２４】
図１１に戻り、ステップＳ１２４において、該当するエッジが存在しないと判定した場合、エッジ追加部１２３は、ステップＳ１２６に処理を進め、モニタにエラーメッセージを表示する等のエラー処理を行い、グラフ加工処理を終了する。
【０１２５】
また、ステップＳ１２２において、処理選択指示に基づいてエッジを追加するノードを指定すると判定した場合、エッジ追加部１２３は、処理をステップＳ１２７に進め、モニタにGUIを表示させ、エッジ属性およびノード名の入力を受け付ける。
【０１２６】
図２０は、ノード名を指定する場合に表示されるGUIの表示例を示す図である。図２０に示されるように、ステップＳ１２７において、エッジ追加部１２３は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにエッジ属性名とノード名を入力させるエッジ追加ウィンドウ１４３をモニタに表示させる。エッジ追加ウィンドウ１４３には、エッジを追加するノード名を入力する欄と、そのエッジのエッジ属性を指定する欄が設けられている。ユーザがこれらの欄に入力し、「エッジ追加実行」ボタンを押下すると、確認ウィンドウ１４４が表示される。ユーザが、この確認ウィンドウ１４４において「はい（Ｙ）」ボタンを押下すると、エッジ属性およびノード名の入力が受け付けられる。図２０の例においては、エッジ属性が「映画」のエッジをノード「ユーザ３」と「ユーザ４」の間に追加することが指示されている。
【０１２７】
つまり、この場合、ユーザは、所望のエッジ属性のエッジを所望の位置に追加することができる。これにより、ユーザは、「どのようなエッジを、どのような位置に追加したか」ということまで詳細な指定を行うことができる。これにより、ユーザは、「エッジの追加位置によるネットワーク全体への影響の違い」といった、さらに高度な分析も行うことができる。
【０１２８】
図１１に戻り、ステップＳ１２８において、エッジ追加部１２３は、受け付けたエッジ属性名に該当するエッジが既存であるか否かを判定し、存在しないと判定した場合、処理をステップＳ１２６に戻し、エラー処理を行い、グラフ加工処理を終了する。つまり、追加するエッジのエッジ属性は既存のエッジ属性が利用される。なお、エッジ追加ウィンドウ１４３において、エッジ属性を既存のエッジ属性の中から選択的に指定するようにする場合、このステップＳ１２８の判定処理を省略することができる。ステップＳ１２８において、該当するエッジが存在すると判定した場合、エッジ追加部１２３は、ステップＳ１２９に処理を進め、グラフ加工部２３を制御して、指定された２ノード間に、指定されたエッジ属性のエッジを追加させる。エッジの追加が終了すると、エッジ追加部１２３は、グラフ加工処理を終了する。
【０１２９】
図２１は、指定されたノード間にエッジが新たに追加された場合のグラフの表示例を示す図である。図２１の例においては、図２０に示されるエッジ追加ウィンドウ１４３において入力された指示に基づいて、図２に示されるグラフの「ユーザ３」と「ユーザ４」の２ノード間に、エッジ属性が「映画」のエッジが新たに追加されている。
【０１３０】
図１１に戻り、ステップＳ１２１において、処理選択指示に基づいてエッジを追加しないと判定した場合、グラフ加工制御部１０５は、処理を図１２のステップＳ１３１に進め、ノードを削除するか否かを判定する。グラフ加工メニューにおいて、ユーザがノードを削除するように指示したと判定した場合、グラフ加工制御部１０５は、その処理選択指示に基づいて処理をステップＳ１３２に進める。
【０１３１】
ステップＳ１３２において、ノード削除部１２２は、処理選択指示に基づいて、削除するノードをノード名で指定するか否かを判定し、ノード名で指定すると判定した場合、処理をステップＳ１３３に進め、GUIをモニタに表示させ、ノード名入力を受け付ける。
【０１３２】
図２２は、ノード名を指定してノードを削除する場合に表示されるGUIの表示例を示す図である。図２２に示されるように、ステップＳ１３３において、ノード削除部１２２は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにノード名を入力させるノード削除ウィンドウ１５１をモニタに表示させる。ノード削除ウィンドウ１５１には、ノード名を入力する欄が設けられている。ユーザがこの欄にノード名を入力し、「ノード削除実行」ボタンを押下すると、確認ウィンドウ１５２が表示される。ユーザが、この確認ウィンドウ１５２において「はい（Ｙ）」ボタンを押下すると、削除するノードのノード名入力が受け付けられる。図２２の例においては、ノード名「ユーザ２」のノードの削除が指示されている。
【０１３３】
このようにノード名を用いた指定により、ユーザは、削除するノードを具体的に指定することができる。
【０１３４】
図１２に戻り、ステップＳ１３４において、ノード削除部１２２は、受け付けたノード名に該当するノードが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ１３５に進め、グラフ加工部２３を制御して、そのノードを削除させる。削除が完了するとノード削除部１２２は、グラフ加工処理を終了する。
【０１３５】
図２３は、図２２に示されるノード削除ウィンドウ１５１において入力された指示に基づいて、ノード名を用いて指定されたノードが削除された場合のグラフの表示例を示す図である。図２３の例においては、「ユーザ２」のノードが削除されている。このとき、不要になる、「ユーザ２」のノードに接続されていたエッジも削除される。
【０１３６】
図１２に戻り、ステップＳ１３４において、該当するノードが存在しないと判定した場合、ノード削除部１２２は、ステップＳ１３６に処理を進め、モニタにエラーメッセージを表示する等のエラー処理を行い、グラフ加工処理を終了する。
【０１３７】
また、ステップＳ１３２において、処理選択指示に基づいて、削除するノードを、ノード名で無くノード属性名で指定すると判定した場合、ノード削除部１２２は、処理をステップＳ１３７に進め、モニタにGUIを表示させ、ノード属性名の入力を受け付ける。
【０１３８】
図２４は、削除するノードをノード属性名で指定する場合に表示されるGUIの表示例を示す図である。図２４に示されるように、ステップＳ１３７において、ノード削除部１２２は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにノード属性名を入力させるノード削除ウィンドウ１５３をモニタに表示させる。ノード削除ウィンドウ１５３には、削除するノードのノード属性名を入力する欄が設けられている。ユーザがこの欄にノード属性名を入力し、「ノード削除実行」ボタンを押下すると、確認ウィンドウ１５４が表示される。ユーザが、この確認ウィンドウ１５４において「はい（Ｙ）」ボタンを押下すると、ノード属性名の入力が受け付けられる。図２４の例においては、ノード属性が「男性」のノードを削除することが指示されている。
【０１３９】
図１２に戻り、ステップＳ１３８において、ノード削除部１２２は、受け付けたノード属性名に該当するノードが存在するか否かを判定し、存在しないと判定した場合、処理をステップＳ１３６に戻し、エラー処理を行い、グラフ加工処理を終了する。なお、例えばノード削除ウィンドウ１５３において、ノード属性を既存のノード属性の中から選択的に指定するようにする場合、このステップＳ１３８の判定処理を省略することができる。ステップＳ１３８において、該当するノードが存在すると判定した場合、ノード削除部１２２は、ステップＳ１３９に処理を進め、グラフ加工部２３を制御し、該当するノードから１つのノードをランダムに選択させ、削除させる。ノードの削除を終了すると、ノード削除部１２２は、グラフ加工処理を終了する。
【０１４０】
図２５は、ノード属性を用いて指定されたノードを削除した場合のグラフの表示例を示す図である。図２５の例においては、図２４に示されるノード削除ウィンドウ１５３において入力された指示に基づいて、図２に示されるグラフより、ノード属性が「男性」である「ユーザ３」のノードが削除されている。
【０１４１】
なお、ステップＳ１３９において、ノード名が該当するノードが複数存在する場合、ノード削除部１２２は、削除するノードをランダムに選択するように説明したが、これ以外にも、例えば、“Highly clustered scale-free networks”,K.Klemm,V.M.Eguiluz, Physical Review E, 65, 036123 (2002) に記載されているような頂点非活性化などの任意のルールに従ってノードを選択するようにしてもよい。
【０１４２】
ネットワークの分析において、ネットワーク全体から「どのようなノードを削除したか」ということが重要な場合がある。例えば、エッジ（ノードのつながり）の形が重要で無いようなネットワークの分析の場合、同じノード属性を有するものであれば、どのノードを削除してもネットワークへの影響が同様であることがある。そのような場合、上述したようにノード属性を用いて削除するノードを選択させ、実際に削除するノードは、自動的に選択するようにすることにより、ノード削除部１２２は、ユーザの負担を軽減させることができる。
【０１４３】
図１２に戻り、ステップＳ１３１において、処理選択指示に基づいてノードではなくエッジを削除すると判定した場合、グラフ加工制御部１０５は、処理を図１３のステップＳ１４１に進める。
【０１４４】
ステップＳ１４１において、エッジ削除部１２４は、処理選択指示に基づいて、削除するエッジを、そのエッジが接続されるノード名により指定するか否かを判定し、ノード名で指定すると判定した場合、処理をステップＳ１４２に進め、GUIをモニタに表示させ、ノード名入力を受け付ける。
【０１４５】
図２６は、ノード名を指定してエッジを削除する場合に表示されるGUIの表示例を示す図である。図２６に示されるように、ステップＳ１４２において、エッジ削除部１２４は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにノード名を入力させるエッジ削除ウィンドウ１６１をモニタに表示させる。エッジ削除ウィンドウ１６１には、ノード名を入力する欄が２つ設けられている。ユーザがこれらの欄に、指定するエッジの両端のノード名を入力し、「エッジ削除実行」ボタンを押下すると、確認ウィンドウ１６２が表示される。ユーザが、この確認ウィンドウ１６２において「はい（Ｙ）」ボタンを押下すると、削除するノードのノード名入力が受け付けられる。図２６の例においては、「ユーザ１」のノードと、「ユーザ２」のノードとの間のエッジの削除が指示されている。
【０１４６】
つまり、この場合、ユーザは、所望のエッジを具体的に特定し、削除することができる。これにより、ユーザは、例えば、特定のノード間の関係（エッジ）を削除した場合の、ネットワークへの影響等を分析することができる。この場合、ユーザは、関係の意味よりもその位置に強く着目し、「どのような関係を絶つか」ということよりも、「どのユーザ間の関係を絶つか」ということを重視した分析を行うことができる。
【０１４７】
図１３に戻り、ステップＳ１４３において、エッジ削除部１２４は、受け付けたノード名の条件に該当するエッジが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ１４４に進め、グラフ加工部２３を制御し、そのエッジを削除させる。エッジの削除が終了すると、エッジ削除部１２４は、グラフ加工処理を終了する。
【０１４８】
図２７は、図２６に示されるエッジ削除ウィンドウ１６１において入力された指示に基づいて、エッジが削除された場合のグラフの表示例を示す図である。図２７の例においては、「ユーザ１」と「ユーザ２」を結ぶエッジが削除されている。
【０１４９】
図１３に戻り、ステップＳ１４３において、該当するノードが存在しないと判定した場合、エッジ削除部１２４は、ステップＳ１４５に処理を進め、モニタにエラーメッセージを表示する等のエラー処理を行い、グラフ加工処理を終了する。
【０１５０】
また、ステップＳ１４１において、処理選択指示に基づいて、削除するエッジを、ノード名で無くエッジ属性名で指定すると判定した場合、エッジ削除部１２４は、処理をステップＳ１４６に進め、モニタにGUIを表示させ、エッジ属性名の入力を受け付ける。
【０１５１】
図２８は、削除するエッジをエッジ属性名で指定する場合に表示されるGUIの表示例を示す図である。図２８に示されるように、ステップＳ１４６において、エッジ削除部１２４は、メインメニューが表示されるメインウィンドウ１３１の他に、ユーザにエッジ属性名を入力させるエッジ削除ウィンドウ１６３をモニタに表示させる。エッジ削除ウィンドウ１６３には、削除するエッジのエッジ属性名を入力する欄が設けられている。ユーザがこの欄にエッジ属性名を入力し、「エッジ削除実行」ボタンを押下すると、確認ウィンドウ１６４が表示される。ユーザが、この確認ウィンドウ１６４において「はい（Ｙ）」ボタンを押下すると、エッジ属性名の入力が受け付けられる。図２８の例においては、エッジ属性が「グルメ」のエッジを削除することが指示されている。
【０１５２】
図１３に戻り、ステップＳ１４７において、エッジ削除部１２４は、受け付けたエッジ属性名に該当するエッジが存在するか否かを判定し、存在しないと判定した場合、処理をステップＳ１４５に戻し、エラー処理を行い、グラフ加工処理を終了する。なお、例えばエッジ削除ウィンドウ１６３において、エッジ属性を既存のエッジ属性の中から選択的に指定するようにする場合、このステップＳ１４７の判定処理を省略することができる。ステップＳ１４７において、該当するエッジが存在すると判定した場合、エッジ削除部１２４は、ステップＳ１４８に処理を進め、該当するエッジから１つのエッジをランダムに選択し、グラフ加工部２３を制御して、そのエッジを削除させる。エッジの削除を終了すると、エッジ削除部１２４は、グラフ加工処理を終了する。
【０１５３】
図２９は、エッジ属性を用いて指定されたエッジを削除した場合のグラフの表示例を示す図である。図２９の例においては、図２８に示されるエッジ削除ウィンドウ１６３において入力された指示に基づいて、図２に示されるグラフより、エッジ属性が「グルメ」であるエッジ（「ユーザ１」と「ユーザ２」の間のエッジ）が削除されている。
【０１５４】
このようにエッジ属性を用いて削除するエッジを指定するようにすることにより、エッジ削除部１２４は、ユーザに、「ネットワークからどのような関係を削除することにより、どのような影響が現れるか」といった高度な分析を行わせることができる。つまり、エッジ削除部１２４は、単にユーザにエッジを指定させ、その指定されたエッジを削除するだけでは不可能な、より高度な分析も支援することができる。
【０１５５】
なお、ステップＳ１４８において、エッジ属性が該当するエッジが複数存在する場合、エッジ削除部１２４は、削除するエッジをランダムに選択するように説明したが、これ以外にも、例えば、“Highly clustered scale-free networks”,K.Klemm,V.M.Eguiluz, Physical Review E, 65, 036123 (2002) に記載されているような頂点非活性化などの任意のルールに従ってエッジを選択するようにしてもよい。
【０１５６】
以上においては、ノードやエッジの追加および削除について説明したが、ネットワーク分析支援装置１が、これらの処理や属性設定処理等を組み合わせることにより、例えば、ノードやエッジの移動や属性の変更などを行うこともできるようにすることも可能である。
【０１５７】
上述したような、グラフ加工処理等の各種処理を実行させることにより、ノードやエッジを更新させ、ネットワークに動的な変更を行うことができ、例えば図３０に示されるように、一部のノードやエッジを削除し、必要な情報のみを求めて表示させたり、仮想のノードやエッジを追加したりすることができるので、ユーザは、ネットワーク分析支援装置１を利用することにより、容易に、ネットワークの傾向や特徴をより的確に把握し、より高度で多様な分析を行うことができるとともに、上述したグラフ加工部２３によるグラフ加工処理や解析部２７による解析処理を組み合わせて行うことにより、ネットワークのシミュレーション等を行うこともできる。
【０１５８】
また、図３０に示されるように、グラフビューア６１の操作領域６３において、各ノードの表示サイズを指定することができるようにし、エッジが集中するような重要なノードを強調するために大きく表示したり、色や形を変更したりすることができるようにしてもよい。
【０１５９】
また、メインメニューにおいてユーザが保存処理を選択すると、以上のように更新された最新のグラフデータ３１をファイルに保存させることができる。このようにグラフの保存指示が受け付けられると、グラフ保存制御部１０６は、保存処理を開始し、グラフデータ３１をファイルに変換して、記憶部１３に記憶させる。
【０１６０】
図３１のフローチャートを参照して、保存処理の流れの例を説明する。
【０１６１】
保存処理が開始されると、グラフ保存制御部１０６は、ステップＳ１６１において、入力部５１および出力部５２を制御し、ユーザにファイル名を入力させるGUIをモニタに表示させ、そのGUIに対する入力を受け付けることにより、ユーザからのファイル名入力を受け付ける。
【０１６２】
ファイル名入力が受け付けられると、グラフ保存制御部１０６は、ステップＳ１６２において、指定されたファイル名に基づいて、データ変換部２２を制御し、グラフデータ３１を変換し、各情報を格納するファイル（ネットワークファイル４１、ノード属性ファイル４２、エッジ属性ファイル４３、および解析データファイル４４等）を生成する。
【０１６３】
ステップＳ１６３において、グラフ保存制御部１０６は、書き込み部２５を制御し、生成した各ファイルを記憶部１３に記録する。ファイルの記録が終了すると、グラフ保存制御部１０６は、ステップＳ１６４において、出力部５２を制御し、保存が終了したことをユーザに通知する保存終了メッセージを表示させ、保存処理を終了する。
【０１６４】
また、メインメニューにおいてユーザが終了処理を選択すると、終了処理制御部１０７が終了処理を行い、グラフの表示を終了する。図３２のフローチャートを参照して終了処理の流れの例を説明する。
【０１６５】
終了処理が開始されると、終了処理制御部１０７は、ステップＳ１８１において、最後の（最近の）保存後に、例えば解析処理や属性設定等によってグラフが変更される等して、グラフデータ３１が変更されたか否かを判定し、変更されたと判定した場合、処理をステップＳ１８２に進め、入力部５１および出力部５２を制御し、ユーザにグラフを保存するか否かを入力させるGUIを表示し、そのGUIに対する入力を受け付けることにより、グラフの保存を確認する。ユーザ指示を受け付けると、終了処理制御部１０７は、処理をステップＳ１８３に進め、そのユーザ指示に基づいてグラフを保存するか否かを判定する。グラフを保存すると判定した場合、終了処理制御部１０７は、処理をステップＳ１８４に進める。ステップＳ１８４において、終了処理制御部１０７は、グラフ保存制御部１０６を制御し、保存処理を実行させる。保存処理が終了すると、終了処理制御部１０７は、ステップＳ１８５において、グラフの表示を終了させた後、終了処理を終了する。
【０１６６】
また、ステップＳ１８１において最後の保存後にグラフが変更されていないと判定した場合、または、ステップＳ１８３において、ユーザがグラフを保存しないと指示した場合、終了処理制御部１０７は、処理をステップＳ１８５に進め、出力部５２を制御して、グラフの表示を終了させた後、終了処理を終了する。
【０１６７】
以上のように、ネットワーク分析支援装置１は、ユーザが容易にネットワークの分析を行うことができるように、ノードだけでなくエッジの属性も定義することができるようにし、また、それらを用いて多様な解析を行うことができる。
【０１６８】
以上においては、１台のネットワーク分析支援装置１により構成されるように説明したが、図１に示される構成を、ネットワークを介して互いに接続された複数の装置により、ネットワークシステムとして実現するようにしてもよい。
【０１６９】
例えば、図１においては、ネットワークファイル４１等が記憶部１３に記憶されるように説明したが、これらのファイルを、ネットワークを介してサーバ等より取得するようにしてもよい。
【０１７０】
図３３は、本発明の他の実施の形態を示す図である。図３３において、ネットワーク分析支援システム２００は、サーバ２０１、クライアント２０２−１、およびクライアント２０２−２がLANやインターネットに代表される有線または無線のネットワーク２０３を介して互いに接続されたネットワークシステムであり。クライアント２０２−１およびクライアント２０２−２のユーザが行う、ノード及びエッジよりなるネットワークの分析を支援するシステムである。以下において、クライアント２０２−１とクライアント２０２−２を互いに区別する必要の無い場合、クライアント２０２と称する。
【０１７１】
サーバ２０１は、ネットワークファイル４１乃至解析データファイル４４を登録するファイルデータベース２１１を有している。クライアント２０２において生成されたファイルは、このファイルデータベース２１１に登録され、一括管理される。
【０１７２】
クライアント２０２は、基本的に図１に示されるネットワーク分析支援装置１と同様の構成を有しているが、ネットワークファイル４１乃至解析データファイル４４は、記憶部１３に記憶させる代わりに、サーバ２０１に供給し、ファイルデータベース２１１に登録する。従って、クライアント２０２は、ファイルを読み込む際も、ネットワーク２０３を介してサーバ２０１にアクセスし、ファイルデータベース２１１より必要なファイルを取得する。
【０１７３】
このようにすることにより、ファイルを各クライアント２０２の間で共有することができる。
【０１７４】
なお、図３３に示されるネットワーク分析支援システム２００において、サーバ２０１、クライアント２０２、およびネットワーク２０３の数は、それぞれ任意であり、また、これら以外の構成を含むようにしても良い。
【０１７５】
また、サーバ２０１とクライアント２０２によって、図１のネットワーク分析支援装置１が行う処理を実現することができればよく、どの処理をいずれにおいて行うかは任意である。例えば、クライアント２０２においては、画像表示や入力受付等のユーザインタフェースの処理のみを行い、データ変換処理や解析処理等の各処理はサーバ２０１において行うようにしてもよい。
【０１７６】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図３４に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０１７７】
図３４において、パーソナルコンピュータ３００のCPU（Central Processing Unit）３０１は、ROM（Read Only Memory）３０２に記憶されているプログラム、または記憶部３１３からRAM３０３にロードされたプログラムに従って各種の処理を実行する。RAM３０３にはまた、CPU３０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１７８】
CPU３０１、ROM３０２、およびRAM３０３は、バス３０４を介して相互に接続されている。このバス３０４にはまた、入出力インタフェース３１０も接続されている。
【０１７９】
入出力インタフェース３１０には、キーボード、マウスなどよりなる入力部３１１、CRT（Cathode Ray Tube）、LCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部３１２、ハードディスクなどより構成される記憶部３１３、モデムなどより構成される通信部３１４が接続されている。通信部３１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０１８０】
入出力インタフェース３１０にはまた、必要に応じてドライブ３１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３１３にインストールされる。
【０１８１】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１８２】
この記録媒体は、例えば、図３４に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア３２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM３０２や、記憶部３１３に含まれるハードディスクなどで構成される。
【０１８３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８４】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０１８５】
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【産業上の利用可能性】
【０１８６】
本発明は、情報処理装置に適用することが可能である。
【図面の簡単な説明】
【０１８７】
【図１】本発明を適用したネットワーク分析支援装置の構成例を示すブロック図である。
【図２】グラフの表示例を示す図である。
【図３】グラフデータの構成例を示す図である。
【図４】機能ブロックの構成例を示す図である。
【図５】メインメニュー処理の流れの例を説明するフローチャートである。
【図６】グラフ生成処理の流れの例を説明するフローチャートである。
【図７】グラフ定期更新処理の流れの例を説明するフローチャートである。
【図８】属性設定処理の流れの例を説明するフローチャートである。
【図９】属性設定処理の流れの例を説明する、図８に続くフローチャートである。
【図１０】グラフ加工処理の流れの例を説明するフローチャートである。
【図１１】グラフ加工処理の流れの例を説明する、図１０に続くフローチャートである。
【図１２】グラフ加工処理の流れの例を説明する、図１１に続くフローチャートである。
【図１３】グラフ加工処理の流れの例を説明する、図１２に続くフローチャートである。
【図１４】ノード追加ウィンドウの表示例を示す図である。
【図１５】ノードの追加結果の例を示す図である。
【図１６】ノード追加ウィンドウの、他の表示例を示す図である。
【図１７】ノードの追加結果の、他の例を示す図である。
【図１８】エッジ追加ウィンドウの表示例を示す図である。
【図１９】エッジの追加結果の例を示す図である。
【図２０】エッジ追加ウィンドウの、他の表示例を示す図である。
【図２１】エッジの追加結果の、他の例を示す図である。
【図２２】ノード削除ウィンドウの表示例を示す図である。
【図２３】ノードの削除結果の例を示す図である。
【図２４】ノード削除ウィンドウの、他の表示例を示す図である。
【図２５】ノードの削除結果の、他の例を示す図である。
【図２６】エッジ削除ウィンドウの表示例を示す図である。
【図２７】エッジの削除結果の例を示す図である。
【図２８】エッジ削除ウィンドウの、他の表示例を示す図である。
【図２９】エッジの削除結果の、他の例を示す図である。
【図３０】グラフの、さらに他の表示例を示す図である。
【図３１】保存処理の流れの例を説明するフローチャートである。
【図３２】終了処理の流れの例を説明するフローチャートである。
【図３３】本発明を適用したネットワーク分析支援システムの構成例を示すブロック図である。
【図３４】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１８８】
１  ネットワーク分析支援装置，  １２  保持部，  １３  記憶部，  ２１  制御部，  ２２  データ変換部，  ２３  グラフ加工部，  ２４  表示制御部，  ３１  グラフデータ，  ４１  ネットワークファイル，  ４２  ノード属性ファイル，  ４３  エッジ属性ファイル，  ４４  解析データファイル，  ５１  入力部，  ５２  出力部，  １０１  メインメニュー制御部，  １０２  グラフ生成制御部，  １０３  定期更新制御部，  １０４  属性設定制御部，  １０５  グラフ加工制御部，  １１２  エッジ属性設定部，  １２１  ノード追加部，  １２２  ノード削除部，  １２３  エッジ追加部，  １２４  エッジ削除部，  ２００  ネットワーク分析支援システム，  ２１１  ファイルデータベース
【図１】
2008052524.tif 000003
【図２】
2008052524.tif 000004
【図３】
2008052524.tif 000005
【図４】
2008052524.tif 000006
【図５】
2008052524.tif 000007
【図６】
2008052524.tif 000008
【図７】
2008052524.tif 000009
【図８】
2008052524.tif 000010
【図９】
2008052524.tif 000011
【図１０】
2008052524.tif 000012
【図１１】
2008052524.tif 000013
【図１２】
2008052524.tif 000014
【図１３】
2008052524.tif 000015
【図１４】
2008052524.tif 000016
【図１５】
2008052524.tif 000017
【図１６】
2008052524.tif 000018
【図１７】
2008052524.tif 000019
【図１８】
2008052524.tif 000020
【図１９】
2008052524.tif 000021
【図２０】
2008052524.tif 000022
【図２１】
2008052524.tif 000023
【図２２】
2008052524.tif 000024
【図２３】
2008052524.tif 000025
【図２４】
2008052524.tif 000026
【図２５】
2008052524.tif 000027
【図２６】
2008052524.tif 000028
【図２７】
2008052524.tif 000029
【図２８】
2008052524.tif 000030
【図２９】
2008052524.tif 000031
【図３０】
2008052524.tif 000032
【図３１】
2008052524.tif 000033
【図３２】
2008052524.tif 000034
【図３３】
2008052524.tif 000035
【図３４】
2008052524.tif 000036