(57)【要約】【課題】ユーザが容易にネットワークの分析を行うことができるようにする。【解決手段】ステップＳ８６において、エッジ属性設定部は、ステップＳ８３またはステップＳ８４の処理において入力された条件に該当するエッジ（入力されたノード条件に該当するノードに接続されたエッジ）が存在すると判定した場合、ステップＳ８７において、データ変換部を制御し、条件に該当するエッジに、ステップＳ８５の処理において入力されたエッジ属性名およびエッジ属性値を設定させ、エッジ属性が追加されたグラフデータ３１を保持部１２に保持させる。本発明は、情報処理装置に適用することができる。【選択図】図９
2008052494.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を表示させ、そのGUIに対する入力を受け付けることにより、ノード属性指定を受け付ける。ノード属性指定が受け付けられると、ノード属性選択部１２２は、ステップＳ１０８に処理を進め、表示制御部２４を制御し、指定されたノード属性を有するノード群とそのノード間のエッジを抽出し、出力部５２を制御してそのノードおよびエッジをモニタに表示させ、表示制御処理を終了する。
【０１１３】
このようにすることにより、ユーザは、表示させるノードやエッジを、ノード属性により指定することができる。例えば、ネットワーク全体におけるノード属性の分布や傾向を分析する等、特定のノード属性に着目して分析を行う場合がある。このような場合、上述した処理により、ユーザは、目的のノード属性を指定するだけで、容易に、目的のノード属性を有するノードのみ（そのエッジも含む）を表示させ、不要な情報の表示を削減させることができる。つまり、ネットワーク分析支援装置１は、不要な情報の表示を削減し、分析に必要な情報のみをより的確に抽出して表示することができるので、ネットワークの分析をより有効に支援することができる。
【０１１４】
また、ステップＳ１０６において、上述したようにメインメニューにおいて、ユーザがフィルタリングもノード属性指定も選択せず、エッジ属性によるノードやエッジの表示指定を行うことが選択されたと判定した場合、グラフ表示制御部１０５は、処理をステップＳ１０９に進める。
【０１１５】
ステップＳ１０９において、エッジ属性選択部１２３は、入力部５１および出力部５２を制御してモニタに、表示させるノードに接続されたエッジのエッジ属性を指定させるGUIを表示させ、そのGUIに対する入力を受け付けることにより、エッジ属性指定を受け付ける。エッジ属性指定が受け付けられると、エッジ属性選択部１２３は、ステップＳ１１０に処理を進め、表示制御部２４を制御し、指定されたエッジ属性を有するエッジとそのエッジに接続されるノードを選択して抽出し、出力部５２を制御してそのノードおよびエッジのみをモニタに表示させ（それら以外のノードおよびエッジを削除し）、表示制御処理を終了する。
【０１１６】
このようにすることにより、ユーザは、表示させるノードやエッジを、エッジ属性により指定することができる。つまり、ユーザは、エッジ属性、すなわち、ノードの結びつきの意味に基づいてネットワークを分析することができる。
【０１１７】
例えば、電話等の通話サービスの利用結果を示すネットワークにおいて、ユーザをノードとし、通話サービスの利用事実をエッジとし、その利用時間帯をエッジ属性とする。従来のようにノード属性によりノードやエッジの表示指定を行っても、ユーザは、ユーザの性別や年齢等による利用状況の分布を把握することしかできない。また、エッジの頻度、つまり通話回数を用いてノード属性によりノードやエッジの表示指定を行っても、ユーザは、サービスの利用頻度の分布を把握することしかできない。
【０１１８】
これに対して、上述したように、エッジ属性に基づいてノードやエッジの表示指定を行うことにより、ユーザは、サービスの利用時間の分布を把握することができ、どのようなユーザがどのような時間帯にどれくらい通話したかということを分析することができる。この分析により、ユーザは、例えば、利用頻度の多い時間帯の通話料金を安くすることでサービスの更なる利用を促す等の提案を行うことができる。
【０１１９】
以上においてはメインメニューからの表示制御について説明したが、例えば、図１０に示されるように、グラフビューア６１に表示されたグラフのノードをユーザが選択することにより、そのノードに関する部分のみを表示させる（そのノードに関連しない部分を消去する）ようにすることもできる。
【０１２０】
図１２のフローチャートを参照して、そのような場合の表示制御処理の流れの例を説明する。なお、この処理は、グラフビューア６１にグラフが表示されている間実行される。
【０１２１】
表示制御処理が開始されると、グラフ表示制御部１０５は、ステップＳ１２１において、グラフビューアに表示されたグラフにおいて、ノードが選択されたか否かを判定する。ユーザによりノードが選択されたと判定すると、グラフ表示制御部１０５は、処理をステップＳ１２２に進め、表示制御部２４を制御し、グラフより、選択されたノード、そのノードが有するエッジ、および、そのエッジにより接続される他のノードを抽出し、モニタにそれらのみを表示させる。つまり、ユーザに選択されたノードと、そのノードの接続先とエッジのみが表示され、それら以外のノードやエッジは消去される。
【０１２２】
表示が終了すると、グラフ表示制御部１０５は、処理をステップＳ１２３に進める。また、ステップＳ１２１において、ノードが選択されていないと判定した場合、グラフ表示制御部１０５は、ステップＳ１２２の処理を行わずにステップＳ１２３に処理を進める。ステップＳ１２３において、グラフ表示制御部１０５は、表示制御処理を終了するか否かを判定し、まだグラフビューア６１にグラフが表示されており、表示制御処理を終了しないと判定した場合、処理をステップＳ１２１に戻し、それ以降の処理を繰り返す。また、ステップＳ１２３において、グラフの表示が終了し、表示制御処理を終了すると判定した場合、グラフ表示制御部１０５は、表示制御処理を終了する。
【０１２３】
このように表示を制御することにより、ユーザは、例えばグラフ表示中に所望のノードを選択するだけでそのノードの接続状況を容易に表示させることができ、特定のノードの状況を容易に把握し、それによってより的確なネットワークの分析を行うことができる。
等、このように、ネットワーク分析支援装置１は、ユーザの多様な分析を支援することができる。
【０１２４】
また、ネットワーク分析支援装置１は、ネットワークの解析を行い、その解析結果をユーザに提供することにより、ユーザによるネットワークの分析を支援することができる。
【０１２５】
この解析処理の流れの例を図１３および図１４のフローチャートを参照して説明する。
【０１２６】
例えば、メインメニューにおいて、ユーザが解析処理を選択すると、図５のステップＳ８において、解析処理が実行される。
【０１２７】
解析処理が開始されると、グラフ解析制御部１０６（図４）は、ステップＳ１４１において、入力部５１および出力部５２を制御して、解析の具体的な方法をユーザに選択させるGUIをモニタに表示してそのGUIに対する入力を受け付けることにより、解析方法選択を受け付ける。
【０１２８】
解析方法として、１つのノードに接続されたエッジの数（次数）の、ネットワーク上における分布を解析するために、各ノードについて次数を算出する次数分布解析、他のノードへの影響度を示す媒介中心性をノード毎に求める媒介中心性解析、任意のノード間の結びつきの強さの分布を解析するために、ネットワークの任意の２つのノード間を結ぶエッジが存在する可能性を示すクラスタリング係数をノード毎に算出するクラスタリング係数解析、ノード間の結びつきの強さの分布を解析するために、各ノードの最短パス長を求める最短パス長解析、ノード間の結びつきの弱さを求めるために、各ノードについて構造的空隙を求める構造的空隙解析、エッジの接続パターンに基づいてノード選択を行うエッジ指定解析、および、エッジのスコア値に基づいてノードスコアを算出する第１スコア解析が予め用意されている。ユーザは、これらの解析方法よりいずれか１つを選択し、解析処理を実行させる。
【０１２９】
ステップＳ１４２において、グラフ解析制御部１０６は、次数分布解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップＳ１４３に進める。ステップＳ１４３において、次数解析部１３１は、解析部２３を制御し、各ノードの次数を算出させる。ステップＳ１４３の処理を終了すると、次数解析部１３１は、処理をステップＳ１５０に進める。
【０１３０】
また、ステップＳ１４２において、次数分布解析が選択されていないと判定した場合、グラフ解析制御部１０６は、処理をステップＳ１４４に進め、媒介中心性解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップＳ１４５に進める。ステップＳ１４５において、媒介中心性解析部１３２は、解析部２３を制御し、各ノードの媒介中心性を算出させる。
【０１３１】
媒介中心性は、そのノードが他のノード間の関係に関与する割合の大きさを示すパラメータである。具体的に説明すると、ネットワークにおいて、あるノードの媒介中心性は、他の任意の２つのノード間を、エッジに沿って最短パスで結ぶときに、その最短パスがノードを経由する割合の大きさを示すパラメータである。例えば、次数が大きいノードＡであっても、そのノードＡと全く同様に他のノードに接続されるノードＢが別に存在する場合、そのノードＡが削除されても、ノードＢがノードＡの代替となる可能性が高く、ネットワーク全体に対して大きな影響を及ぼさない可能性がある。しかしながら、例えば、次数が小さくても、互いに異なるノードにより構成される２つのノード群を結ぶ唯一のノードであるノードＣが削除されると、その２つのノード群の間の関係は断絶されてしまい、ネットワーク全体に大きな影響を及ぼす可能性が高く、このようなノードＣはネットワークにとって重要なノードとなる。媒介中心性は、このような重要性を表すパラメータである。
【０１３２】
より具体的には、所定のノードｎiのコンテンツ媒介中心性Ce（ｎi）を、以下の式（１）を算出することにより求める。
【０１３３】
【数１】
2008052494.tif 000003
【０１３４】
なお、式（１）において、ｎは、対象となるノードｎi以外の２つのノードの組み合わせの数を示しており、ｎstは、ノードｎi以外の２つのノードであるノードｓとノードｔの間の、パス長が最も短いパス（最短パス）の本数を示しており、ｇi(st)は、ｎstのうち、ノードｎiを経由するパスの本数を示している。ただし、値ｓは値ｔより小さい。
【０１３５】
つまり、ノードｎiのコンテンツ媒介中心性Ce（ｎi）は、ノードｓとノードｔ間の最短パスのうち、ノードｎiを経由するパスの割合の、全てのノードｓとノードｔの組み合わせの平均値を示す。
【０１３６】
ステップＳ１４５の処理を終了すると、媒介中心性解析部１３２は、処理をステップＳ１５０に進める。
【０１３７】
また、ステップＳ１４４において、媒介中心性解析が選択されていないと判定した場合、グラフ解析制御部１０６は、処理をステップＳ１４６に進め、クラスタリング係数解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップＳ１４７に進める。ステップＳ１４７において、クラスタ係数解析部１３３は、解析部２３を制御し、各ノードのクラスタリング係数を算出させる。
【０１３８】
解析部２３は、ノードｎiが接続されている全てのノードペアに関し、それらが接続されているか否かを求める。すなわち、解析部２３は、各ノードについて、クラスタリング係数Ｃ（ｎi）を以下の式（２）を算出することにより求める。
【０１３９】
Ｃ（ｎi）＝接続されている件数／全ペア数  ・・・（２）
【０１４０】
ステップＳ１４７の処理を終了すると、クラスタ係数解析部１３３は、処理をステップＳ１５０に進める。
【０１４１】
また、ステップＳ１４６において、クラスタリング係数解析が選択されていないと判定した場合、グラフ解析制御部１０６は、処理をステップＳ１４８に進め、最短パス長解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップＳ１４９に進める。ステップＳ１４９において、最短パス長解析部１３４は、解析部２３を制御し、各ノードの最短パス長を算出させる。
【０１４２】
ステップＳ１４９の処理を終了すると、最短パス長解析部１３４は、処理をステップＳ１５０に進める。
【０１４３】
ステップＳ１５０において、グラフ解析制御部１０６は、算出された解析結果を解析データファイル４４に格納し、記憶部１３に記憶させ、解析処理を終了する。
【０１４４】
図１５は、解析結果の例を示す図である。解析結果は図１５に示されるようにリスト化され、例えば、CSVファイルとしてファイル化され、解析データファイル４４として記憶部１３に記録される。
【０１４５】
また、図１３において、ステップＳ１４８において、最短パス長解析が選択されていないと判定した場合、グラフ解析制御部１０６は、処理を図１４のステップＳ１６１に進める。
【０１４６】
図１４のステップＳ１６１において、グラフ解析制御部１０６は、構造的空隙解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップＳ１６２に進める。ステップＳ１６２において、構造的空隙解析部１３５は、解析部２３を制御し、構造的空隙について各ノードの効率を算出する。すなわち、解析部２３は、各ノードについて、以下の式（３）により有効サイズを求め、その有効サイズを用いて式（４）より効率を求める。
【０１４７】
【数２】
2008052494.tif 000004
【０１４８】
【数３】
2008052494.tif 000005
【０１４９】
なお、式（３）においてＥＳiは、ノードiの有効サイズを示し、Ｅiは、ノードiに接続されたエッジの総数であり、ｆi（ｎj，ｎk）は、ノードｎjまたはノードｎkがエッジを持てば値「１」を取り、エッジを持たなければ値「０」をとる関数である。
【０１５０】
ステップＳ１６２の処理を終了すると、構造的空隙解析部１３５は、処理を図１３のステップＳ１５０に戻す。
【０１５１】
また、図１４のステップＳ１６１において、構造的空隙解析が選択されていないと判定した場合、グラフ解析制御部１０６は、処理をステップＳ１６３に進め、エッジ接続パターン解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップＳ１６４に進める。
【０１５２】
エッジ属性パターン解析とは、エッジ属性の指定を受け付け、その指定されたエッジ属性を有するエッジにより互いに接続されるノード群をネットワークより抽出する処理である。このとき、ユーザは複数のエッジ属性を指定することにより、複数のエッジ、すなわち、エッジの分布パターン（換言すれば、エッジ属性の分布パターン）を指定することができる。つまり、このエッジ属性パターン解析は、エッジ属性の分布パターンが、ユーザに指定された特徴を有するエッジにより接続されるノード群をネットワークより抽出する。具体的に説明すると、エッジ属性パターン解析は、ユーザが指定した所定の関係を有するノード群をネットワークより抽出することができる。
【０１５３】
ステップＳ１６４において、エッジ指定解析部１３６は、入力部５１および出力部５２を制御し、ユーザにエッジ属性の分布パターン指定を入力させるGUIをモニタに表示し、そのGUIに対する入力を受け付けることにより、エッジ属性の分布パターン指定を受け付ける。ユーザからのエッジ属性パターン指定が受け付けられると、エッジ指定解析部１３６は、ステップＳ１６５に処理を進め、解析部２３を制御して、指定されたエッジ属性のパターンに該当するノードの組を求めさせる。
【０１５４】
例えば、ユーザが１つのエッジ属性を指定する場合、エッジ指定解析部１３６は、解析部２３を制御して、１つのエッジで接続される２つのノードを選択する。また、例えば、３つのノードを選択する場合、ユーザが３種類のエッジ属性を指定するようにする。
【０１５５】
ネットワーク内においては、エッジについて共通の特徴を有するノード群が複数存在する場合がある。例えば、ある地域の住人をノードとし、その血縁関係をエッジとする（具体的関係をエッジ属性とする）。このようなとき、同じ構成の家族が複数存在するとすると、ネットワークには、ノード間の関係（エッジ属性）のパターンが互いに同様であるノード群が複数存在することになる。
【０１５６】
このように、ユーザは、ノード間の結びつきの意味に基づいてノード分布の特徴を捉え、例えば、特定の関係のパターンを有するノード群を抽出したり、そのパターン毎にノードを分類したりすることができる。さらに、このような分析の結果に基づいて、ユーザは、例えば、大家族に対する場合と、核家族に対する場合とでサービスの提供方法を変更したときの効果を分析する等、より高度な分析も行うことができる。
【０１５７】
以上のようにノード群を選択させると、エッジ指定解析部１３６は、処理を図１３のステップＳ１５０に戻す。
【０１５８】
また、図１４のステップＳ１６３において、エッジ接続パターン解析が選択されていないと判定した場合、グラフ解析処理部１０６は、処理をステップＳ１６６に進め、エッジに基づいてノードスコア計算を行うか否かを判定し、行うと判定した場合、処理をステップＳ１６７に進める。ステップＳ１６７において、第１スコア解析部１３７は、入力部５１および出力部５２を制御して、各エッジ属性に対するスコアを入力させるGUIをモニタに表示させ、そのGUIに対する入力を受け付けることにより、各エッジ属性に対するスコア入力（エッジの、そのエッジ属性に関する重みの入力）を受け付ける。スコアの入力を受け付けると、第１スコア解析部１３７は、ステップＳ１６８において、解析部２３を制御し、その入力されたスコアに基づいて、各ノードのノードスコア（ノードの重み）を算出する。
【０１５９】
ノードスコアの算出が終了すると、第１スコア解析部１３７は、処理を図１３のステップＳ１５０に戻す。
【０１６０】
また、図１４のステップＳ１６６において、エッジに基づいてノードスコア計算を行わないと判定した場合、グラフ解析処理部１０６は、解析処理を行わずに、処理を図１３のステップＳ１５０に戻す。
【０１６１】
以上のように、ネットワーク分析支援装置１は、様々な解析手法を予め有しており、それらの手法を用いて多様な解析を行うことができ、その解析結果をユーザに提供することにより、多様な分析を支援することができる。
【０１６２】
なお、以上においては、メインメニューにおけるユーザ指示に基づいて解析を行うように説明したが、それ以外にも、例えば、図７のステップＳ５８や図１１のステップＳ１０３において解析処理を行う場合も、基本的に上述したのと同様の処理が実行される。ただし、これらの場合、ステップＳ１５０において解析結果をファイル化して保存する代わりに、解析結果を、例えばモニタに表示させたり、表示制御処理に利用したりする。また、例えば、解析結果を表示したり出力させたりするとともに、ファイル化して保存するようにしてもよい。
【０１６３】
以上においては解析手法の例を示したが、これ以外の手法を用いて解析を行うことができるようにしてもよい。例えば、自ノードのノードスコアが、自ノードにエッジを介して接続された他のノードのノードスコアに影響を及ぼすようなネットワークにおいて、その影響の様子をより正確に解析することができるように、他のノードのノードスコアを用いて自ノードのノードスコアを算出する解析手法を適用するようにしてもよい。
【０１６４】
例えば、ノードスコアの算出において、３つのノードがエッジにより互いに接続される３ノード間接続の状態にある各ノードに対して、他の２ノードのノードスコアを用いて自ノードのノードスコアを算出する。
【０１６５】
このような解析処理の流れの例を図１６のフローチャートを参照して説明する。例えば、メインメニューにおいてユーザにより選択され、解析処理が開始されると、第２スコア解析部１３８は、ステップＳ１８１において、読み出し部２６を制御して、ノード情報およびエッジ情報を、記憶部１３に記憶されているネットワークファイル４１乃至エッジ属性ファイル４３より読み込み、ステップＳ１８２において、読み出し部２６を制御して、既存のノードスコアデータを、記憶部１３に記憶されている解析データファイル４４のファイルより読み込み、ステップＳ１８３において、データ変換部２２を制御し、それらのデータに基づいてグラフを生成する。
【０１６６】
ステップＳ１８４において、第２スコア解析部１３８は、処理対象とするノードを未処理ノード中から選択し、ステップＳ１８５において、そのノードがスコア計算対象ノードであるか否かを判定する。例えば、第２スコア解析部１３８は、処理対象ノードが、３ノード間接続されているか否かを判定する。
【０１６７】
処理対象ノードが、３ノード間接続されるノードであり、スコア計算対象ノードであると判定した場合、第２スコア解析部１３８は、処理をステップＳ１８６に進め、解析部２３を制御して、他の２ノードのノードスコアに基づいてスコア計算を行う。スコア計算の方法は予め定められている。スコア計算の具体例については後述する。スコア計算が行われると、第２スコア解析部１３８は、ステップＳ１８７において、スコア値に応じてノードの表示設定を行い、ステップＳ１８８に処理を進める。また、ステップＳ１８５において、処理対象ノードが３ノード間接続を形成しておらず、スコア計算対象ノードでないと判定した場合、第２スコア解析部１３８は、ステップＳ１８８に処理を進める。
【０１６８】
ステップＳ１８８において、第２スコア解析部１３８は、スコア計算したノードを描画して表示する。ステップＳ１８９において第２スコア解析部１３８は、未処理ノードが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ１８４に戻し、次の未処理ノードについてそれ以降の処理を実行する。
【０１６９】
また、ステップＳ１８９において、未処理ノードが存在すると判定した場合、第２スコア解析部１３８は、処理をステップＳ１９０に進め、各エッジを描画して表示し、解析処理を終了する。
【０１７０】
このように、第２スコア解析部１３８は、各ノードに対して、３ノード間接続を形成する他の２ノードのノードスコアに基づいてノードスコアを算出する。
【０１７１】
次に、図１７を参照して、このノードスコアの計算の具体例について説明する。
【０１７２】
図１７は、分子セットにおける二分子相互関連状態と細胞機能との関連性の推定におけるノードスコアの計算例を説明する図である。このネットワークモデルは、蛋白質の分子間の相互作用と細胞機能との関連を数値化し、解析するためのモデルであり、例えば、細胞における検出目的分子(蛋白質)の発現量の解析等のように医療分野等における蛋白質情報の解析に利用される。
【０１７３】
図１７に示されるモデルは、蛋白質Ａおよび蛋白質Ｂよりなる分子セットと細胞機能Ｘとの関連性を推定するためのネットワークモデルであり、蛋白質Ａ、蛋白質Ｂ、および細胞機能Ｘをノードとし、蛋白質Ａ、蛋白質Ｂ、および細胞機能Ｘの互いの関連性をエッジとするネットワークモデルである。すなわち、細胞機能Ｘは、蛋白質Ａおよび蛋白質Ｂと、３ノード間接続の状態にある。
【０１７４】
蛋白質Ａおよび蛋白質Ｂの２分子の組み合わせの状態（二分子相互関連状態）によって、他方の分子を促進するか抑制するかという観点から、ＮＮ型、ＰＮ型、ＰＰ型、Ｐ型、および、Ｎ型の５つに分類されるものとする。この分類がエッジ属性となる。
【０１７５】
ＮＮ型は、蛋白質Ａおよび蛋白質Ｂの２つの分子が相互に抑制しあう組み合わせである。ＮＮ型の組み合わせの２分子において、一方が他方よりも量的あるいは機能的に勝っている場合、一方がオン（ON）となり、他方がオフ（OFF）となる分子スイッチの働きをする。ＰＮ型は、一方が他方を促進、他方が一方を抑制する組み合わせである。２つの分子が促進と抑制という異なった働きを及ぼす場合、促進側の情報はネガティブフィードバックにより振動しながら、一定の値に収束する。ＰＰ型は、双方が他方を促進する組み合わせである。すなわち、２つの分子が相互に促進し合っている場合は、両方の分子の情報がポジティブフィードバックにより増幅される。
【０１７６】
なお、図１７においてはその説明を省略するが、Ｐ型は、一方のみが他方を促進する組み合わせである。また、Ｎ型は、一方のみが他方を抑制する組み合わせである。
【０１７７】
図１７Ａに、ＮＮ型の分子セットにおける二分子相互関連状態と細胞機能との関連性を推定する場合のモデルを示す。この場合、分子セットの一方の蛋白質のノードスコアが他方のノードスコアより大きい場合、その蛋白質のノード属性は、オン（ON）になり、逆に小さい場合は、ノード属性がオフ（OFF）になる。ＮＮ型の分子セットが細胞機能Ｘに対して促進的に働く（POS）かまたは抑制的に働くか（NEG）は、細胞機能Ｘの、ノード属性がオン（ON）の蛋白質との接続の状態に依存する。すなわち、ノード属性がオン（ON）の蛋白質による細胞機能Ｘに対する接続がＰなら促進を示し、Ｎなら抑制を示す。図１７Ａの例においては、蛋白質Ａのノード属性がオン（ON）であるので、蛋白質Ａの細胞機能Ｘに対する接続がＰの場合、すなわち、図１７Ａ中左側の例の場合、ＮＮ型の分子セットは細胞機能Ｘに対して促進的に働き、逆に、蛋白質Ａの細胞機能Ｘに対する接続がＮの場合、すなわち、図１７Ａ中右側の例の場合、ＮＮ型の分子セットは細胞機能Ｘに対して抑制的に働く。
【０１７８】
このように、ＮＮ型の分子セットと細胞機能との関連性を推定する場合、第２スコア解析部１３８（図４）は、図１６のステップＳ１８６において、蛋白質Ａおよび蛋白質Ｂのノードスコアを用いて、促進のときは、式（５）を算出し、抑制のときは、式（６）を算出することにより細胞機能ＸのノードスコアＳxを求める。
【０１７９】
Ｓx＝｜Ａ−Ｂ｜×α  ・・・（５）
Ｓx＝−｜Ａ−Ｂ｜×α  ・・・（６）
【０１８０】
ただし、式（５）および式（６）において、αは定数を示し、Ａは蛋白質Ａのノードスコアを示し、Ｂは蛋白質Ｂのノードスコアを示している。
【０１８１】
図１７Ｂに、ＰＮ型の分子セットにおける二分子相互関連状態と細胞機能との関連性を推定する場合のモデルを示す。この場合、促進の働きが蛋白質Ａから蛋白質Ｂへもたらされる場合（蛋白質Ａから蛋白質Ｂへの接続がＰ接続で、蛋白質Ｂから蛋白質Ａへの接続がＮ接続である場合）、蛋白質Ａ（ON）から促進（Ｐ）、蛋白質Ｂ（OFF）から抑制（Ｎ）の作用を受ける細胞機能Ｙが存在するとき、このＰＮ型分子セットは細胞機能Ｙに対して促進的に働く（POS）とみなされる。同様に、蛋白質Ａ（ON）から抑制（Ｎ）、蛋白質Ｂ（OFF）から促進（Ｐ）の作用を受ける細胞機能Ｙが存在するとき、このＰＮ型分子セットは細胞機能Ｙに対して抑制的に働く（NEG）とみなされる。
【０１８２】
このように、ＰＮ型の分子セットと細胞機能との関連性を推定する場合、第２スコア解析部１３８（図４）は、図１６のステップＳ１８６において、蛋白質Ａおよび蛋白質Ｂのノードスコアを用いて、促進のときは、式（７）を算出し、抑制のときは、式（８）を算出することにより細胞機能ＹのノードスコアＳYを求める。
【０１８３】
ＳY＝Ａ×β  ・・・（７）
ＳY＝Ｂ×β  ・・・（８）
【０１８４】
ただし、式（７）および式（８）において、βは定数を示し、Ａは蛋白質Ａのノードスコアを示し、Ｂは蛋白質Ｂのノードスコアを示している。
【０１８５】
図１７Ｃに、ＰＰ型の分子セットにおける二分子相互関連状態と細胞機能との関連性を推定する場合のモデルを示す。この場合、蛋白質Ａおよび蛋白質Ｂから細胞機能Ｙへの接続がともにＰ接続（促進）であるときは、このＰＰ型分子セットは細胞機能Ｙに対して促進的に働く（POS）とみなされ、蛋白質Ａおよび蛋白質Ｂから細胞機能Ｙへの接続がともにＮ接続（抑制）であるときは、このＰＰ型分子セットは細胞機能Ｙに対して抑制的に働く（NEG）とみなされる。
【０１８６】
このように、ＰＰ型の分子セットと細胞機能との関連性を推定する場合、第２スコア解析部１３８（図４）は、図１６のステップＳ１８６において、蛋白質Ａおよび蛋白質Ｂのノードスコアを用いて、促進のときのみ、式（９）を算出することにより細胞機能ＹのノードスコアＳYを求める。
【０１８７】
ＳY＝Ａ×Ｂ×γ  ・・・（９）
【０１８８】
ただし、式（９）において、γは定数を示し、Ａは蛋白質Ａのノードスコアを示し、Ｂは蛋白質Ｂのノードスコアを示している。
【０１８９】
このように、第２スコア解析部１３８は、３ノード間接続を形成する他の２ノードのノードスコアに基づいてノードスコアを算出することができる。これにより、ネットワーク分析支援装置１は、上述したような蛋白質の分子セットと細胞機能の関連性の推定のような高度な分析にも対応することができる。このように、ユーザは、各ノードのノードスコアが他のノードのノードスコアに互いに影響を及ぼすような複雑なネットワークであっても、ネットワーク分析支援装置１を用いることにより、より容易に分析を行うことができる。
【０１９０】
もちろん、上述した例は一例であり、このような、３ノード間接続を形成する他の２ノードのノードスコアに基づいたノードスコアの算出は、どのような場合に用いてもよい。
【０１９１】
上述したような、表示制御処理や解析処理等の各種処理を実行させることにより、例えば図１０に示されるように、そのままでは分析不可能なほど大規模で複雑なネットワークであっても、例えば図１８に示されるように、必要な情報のみを求めて表示させることができるので、ユーザは、ネットワーク分析支援装置１を利用することにより、ネットワークの傾向や特徴を容易に把握することができる。
【０１９２】
図１８の例の場合、少なくとも、どのノードにエッジが集中しているかの傾向が、図１０の場合と比べて容易に把握することができるように表示されている。さらに、図１８において、例えば、グラフビューア６１の操作領域６３において、各ノードの表示サイズを指定することができるようにし、エッジが集中するような重要なノードを強調するために大きく表示したり、色や形を変更したりすることができるようにしてもよい。
【０１９３】
また、図１６の例においては、グラフを生成して解析する場合について説明したが、例えば、図１８のグラフビューア６１の操作領域６３において、各ノードのノードスコアを変更することができるようにしてもよい。その場合、上述した３ノード間接続の例のように他のノードスコアに影響を及ぼすようなネットワークにおいては、ノードスコアの再計算をネットワーク全体に渡って行う必要が生じる。
【０１９４】
そのような場合の解析処理の流れの例を図１９のフローチャートを参照して説明する。この解析処理は、グラフ表示中に継続的に実行される。
【０１９５】
グラフが表示され、解析処理が開始されると、スコア更新部１３９は、ステップＳ２１１において、入力部５１および出力部５２を制御し、表示中のグラフの各ノードのノードスコアを監視する。そして、スコア更新部１３９は、ステップＳ２１２において、いずれかのノードのノードスコアが変化したか否かを判定し、例えば、ユーザが入力する等して、ノードスコアが変化したと判定した場合、ステップＳ２１３に処理を進め、全ノード（または一部のノード）のノードスコアの再計算を開始する。
【０１９６】
スコア更新部１３９は、解析部２３を制御し、ステップＳ２１３において未処理のノードを処理対象ノードとして選択させ、ステップＳ２１４においてその処理対象ノードがスコア計算対象ノードに該当するか否かを判定する。処理対象ノードが、ノードスコアを再計算する必要があるスコア計算対象ノードであると判定した場合、スコア更新部１３９は、解析部２３を制御し、ステップＳ２１５において、処理対象ノードが形成する３ノード間接続に含まれる他の２ノードのノードスコアに基づいてスコア計算を行わせ、処理対象ノードのノードスコアを算出させる。ノードスコアが算出されると、スコア更新部１３９は、表示制御部２４を制御し、算出されたノードスコアの値であるスコア値に応じて、例えば表示サイズを決定する等の、処理対象ノードの表示設定を行う。表示設定が終了すると、スコア更新部１３９は、処理をステップＳ２１７に進める。
【０１９７】
また、ステップＳ２１４において、処理対象ノードがスコア計算対象ノードで無いと判定した場合、スコア更新部１３９は、ステップＳ２１５およびステップＳ２１６の処理を省略し、ステップＳ２１７に処理を進める。
【０１９８】
ステップＳ２１７において、スコア更新部１３９は、出力部５２を制御し、処理対象ノードを描画してモニタに表示させる。ステップＳ２１８において、スコア更新部１３９は、未処理ノードが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ２１３に戻し、他の未処理ノードについて、それ以降の処理を実行させる。また、ステップＳ２１８において、ネットワークの全てのノードについて処理を行うなどして、未処理ノードが存在しないと判定した場合、スコア更新部１３９は、処理をステップＳ２１９に進める。また、ステップＳ２１２において、どのノードについてもノードスコアが変化していないと判定した場合、スコア更新部１３９は、解析処理を終了するか否かを判定する。終了しないと判定した場合、スコア更新部１３９は、処理をステップＳ２１１に戻し、それ以降の処理を繰り返し実行させる。また、グラフ表示が終了するなどして、解析処理を終了すると判定した場合、スコア更新部１３９は、解析処理を終了する。
【０１９９】
このように、ネットワーク分析支援装置１はノードスコアの更新を行うこともできるので、ユーザは、例えば、ネットワーク内の一部のノードのノードスコアを変化させ、ネットワーク全体に対するその影響を調べる等の高度な分析も行うことができる。また、ネットワーク分析支援装置１は、ネットワークの最新の状態をユーザに提示することができるので、より適切な分析支援を行うことができる。
【０２００】
また、メインメニューにおいてユーザが保存処理を選択すると、以上のように更新された最新のグラフデータ３１をファイルに保存させることができる。このようにグラフの保存指示が受け付けられると、グラフ保存制御部１０７は、保存処理を開始し、グラフデータをファイルに変換して、記憶部１３に記憶させる。
【０２０１】
図２０のフローチャートを参照して、保存処理の流れの例を説明する。
【０２０２】
保存処理が開始されると、グラフ保存制御部１０７は、ステップＳ２３１において、入力部５１および出力部５２を制御し、ユーザにファイル名を入力させる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３０２や、記憶部３１３に含まれるハードディスクなどで構成される。
【０２２４】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２２５】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２２６】
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【産業上の利用可能性】
【０２２７】
本発明は、情報処理装置に適用することが可能である。
【図面の簡単な説明】
【０２２８】
【図１】本発明を適用したネットワーク分析支援装置の構成例を示すブロック図である。
【図２】グラフの表示例を示す図である。
【図３】グラフデータの構成例を示す図である。
【図４】機能ブロックの構成例を示す図である。
【図５】メインメニュー処理の流れの例を説明するフローチャートである。
【図６】グラフ生成処理の流れの例を説明するフローチャートである。
【図７】グラフ定期更新処理の流れの例を説明するフローチャートである。
【図８】属性設定処理の流れの例を説明するフローチャートである。
【図９】属性設定処理の流れの例を説明する、図８に続くフローチャートである。
【図１０】グラフの他の表示例を示す図である。
【図１１】表示制御処理の流れの例を説明するフローチャートである。
【図１２】表示制御処理の、他の流れの例を説明するフローチャートである。
【図１３】解析処理の流れの例を説明するフローチャートである。
【図１４】解析処理の流れの例を説明する、図１２に続くフローチャートである。
【図１５】解析結果の例を示す図である。
【図１６】解析処理の、他の流れの例を説明するフローチャートである。
【図１７】ノードスコアの計算の具体例について説明する図である。
【図１８】グラフの、さらに他の表示例を示す図である。
【図１９】解析処理の、さらに他の流れの例を説明するフローチャートである。
【図２０】保存処理の流れの例を説明するフローチャートである。
【図２１】終了処理の流れの例を説明するフローチャートである。
【図２２】本発明を適用したネットワーク分析支援システムの構成例を示すブロック図である。
【図２３】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２２９】
１  ネットワーク分析支援装置，  １２  保持部，  １３  記憶部，  ２１  制御部，  ２２  データ変換部，  ２３  解析部，  ２４  表示制御部，  ３１  グラフデータ，  ４１  ネットワークファイル，  ４２  ノード属性ファイル，  ４３  エッジ属性ファイル，  ４４  解析データファイル，  ５１  入力部，  ５２  出力部，  １０１  メインメニュー制御部，  １０２  グラフ生成制御部，  １０３  定期更新制御部，  １０４  属性設定制御部，  １０５  グラフ表示制御部，  １０６  グラフ解析制御部，  １１２  エッジ属性設定部，  １２１  フィルタリング部，  １２３  エッジ属性選択部，  １３１  次数解析部，  １３２  媒介中心性解析部，  １３３  クラスタ係数解析部，  １３４  最短パス長解析部，  １３５  構造的空隙解析部，  １３６  エッジ指定解析部，  １３７  第１スコア解析部，  １３８  第２スコア解析部，  １３９  スコア更新部，  ２００  ネットワーク分析支援システム，  ２１１  ファイルデータベース
【図１】
2008052494.tif 000006
【図２】
2008052494.tif 000007
【図３】
2008052494.tif 000008
【図４】
2008052494.tif 000009
【図５】
2008052494.tif 000010
【図６】
2008052494.tif 000011
【図７】
2008052494.tif 000012
【図８】
2008052494.tif 000013
【図９】
2008052494.tif 000014
【図１０】
2008052494.tif 000015
【図１１】
2008052494.tif 000016
【図１２】
2008052494.tif 000017
【図１３】
2008052494.tif 000018
【図１４】
2008052494.tif 000019
【図１５】
2008052494.tif 000020
【図１６】
2008052494.tif 000021
【図１７】
2008052494.tif 000022
【図１８】
2008052494.tif 000023
【図１９】
2008052494.tif 000024
【図２０】
2008052494.tif 000025
【図２１】
2008052494.tif 000026
【図２２】
2008052494.tif 000027
【図２３】
2008052494.tif 000028