JP2008052494A - ネットワーク分析支援装置および方法、プログラム並びに記録媒体 - Google Patents

ネットワーク分析支援装置および方法、プログラム並びに記録媒体 Download PDF

Info

Publication number
JP2008052494A
JP2008052494A JP2006227866A JP2006227866A JP2008052494A JP 2008052494 A JP2008052494 A JP 2008052494A JP 2006227866 A JP2006227866 A JP 2006227866A JP 2006227866 A JP2006227866 A JP 2006227866A JP 2008052494 A JP2008052494 A JP 2008052494A
Authority
JP
Japan
Prior art keywords
node
edge
graph
network
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006227866A
Other languages
English (en)
Inventor
Shinako Matsuyama
科子 松山
Takeshi Hamada
雄 浜田
Tetsuya Shiraishi
哲也 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006227866A priority Critical patent/JP2008052494A/ja
Priority to US11/842,627 priority patent/US20080052378A1/en
Publication of JP2008052494A publication Critical patent/JP2008052494A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ユーザが容易にネットワークの分析を行うことができるようにする。
【解決手段】ステップS86において、エッジ属性設定部は、ステップS83またはステップS84の処理において入力された条件に該当するエッジ(入力されたノード条件に該当するノードに接続されたエッジ)が存在すると判定した場合、ステップS87において、データ変換部を制御し、条件に該当するエッジに、ステップS85の処理において入力されたエッジ属性名およびエッジ属性値を設定させ、エッジ属性が追加されたグラフデータ31を保持部12に保持させる。本発明は、情報処理装置に適用することができる。
【選択図】図9

Description

本発明は、ネットワーク分析支援装置および方法、プログラム並びに記録媒体に関し、特に、ユーザが容易にネットワークの分析を行うことができるようにしたネットワーク分析支援装置および方法、プログラム並びに記録媒体に関する。
従来、要素の集合を、各要素をノードとし、関連性のある要素間をエッジとして結ぶネットワークとして解析し、傾向や特徴を分析する手法があった。また、その分析を支援するために分析対象のネットワークを画像化(グラフ化)する方法もあった。
例えば、ゲノム研究などにおいて、膨大なデータを対象に、特定の遺伝子についてそれらの関連性、特に共通性に着目し、その特徴を解析者が見て直感的に捉えることができるようにするために、共通の属性を持つ2つの要素ノードの間をエッジで接続した第1のネットワークと、要素ノードとその保有属性の属性ノードの間をエッジで接続した第2のネットワークとを表示する方法がある(例えば、特許文献1参照)。
また、例えば、任意の対象どうしの関連を視覚的に容易に確認することができるように、対象が有する属性に基づいて対象間の関連をグラフ化し、エッジ強度が所定値以上の2つの対象の間をエッジで結んだ関連グラフを生成する方法がある(例えば、特許文献2参照)。
特開2004−265179号公報 特開2006−39990号公報
しかしながら、近年においては、より複雑なネットワークの分析が行われるようになってきており、そのためにより多様な分析方法が求められているが、従来の方法においては、例えば、エッジの、ノード間の結びつきとしての意味を表す属性の定義を行ったり、ノードやエッジのフィルタリングや演算処理等を多様に行ったりすることができず、ノードやエッジの性質に応じたネットワーク分析を容易に行うことができない恐れがあった。
例えば、特許文献1に記載の方法では、エッジは、ノード間で共有するノードの属性のみを示しており、ノード間の多様な関係を示すことはできない。従って、エッジに対して、ノード間の結びつきとしての意味を表す属性の定義を行うことはできない。また、フィルタリング処理等の多様な解析を行うことはできない。さらに、特許文献2に記載の方法では、頻度を示すエッジ強度の定義は行われているが、エッジに対してノードの結びつきの意味を示す属性を定義することはできない。また、多様な解析を行うこともできない。
本発明は、このような状況に鑑みてなされたものであり、ユーザが容易にネットワークの分析を行うことができるように、ノードだけでなくエッジの属性も定義することができるようにし、また、それらを用いて多様な解析を行うことができるようにするものである。
本発明の側面は、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置であって、前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定手段を備えるネットワーク分析支援装置である。
前記ネットワークをグラフとして画像化し、モニタに表示させる表示制御手段をさらに備え、前記表示制御手段は、視覚的な特徴により前記エッジ属性を示すように前記グラフを表示させることができる。
エッジ属性の指定を受け付け、指定された前記エッジ属性を有するエッジ、および前記エッジに接続されるノードを前記ネットワークより選択して抽出するエッジ属性選択手段をさらに備え、前記グラフ表示制御手段は、前記エッジ属性選択手段により選択された前記エッジおよび前記ノードのみを表示することができる。
エッジ属性の指定を受け付け、指定された前記エッジ属性を有するエッジにより互いに接続されるノード群を前記ネットワークより抽出するエッジ指定解析手段をさらに備えることができる。
ノードの重みを示すノードスコアを算出するスコア算出手段をさらに備えることができる。
前記スコア算出手段は、処理対象のノードに接続されるエッジの重みを示すエッジスコアに基づいて、前記処理対象のノードのノードスコアを算出することができる。
処理対象のノードに前記エッジを介して接続される他のノードのノードスコアに基づいて、前記処理対象のノードのノードスコアを算出することができる。
本発明の側面はまた、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置のネットワーク分析支援方法であって、前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定ステップを備えるネットワーク分析支援方法、プログラム、またはプログラムが記録された記録媒体である。
本発明の側面においては、エッジに対して、ノードの結びつきの意味を示すエッジ属性が設定される。
本発明の側面によれば、ネットワークの解析を行うことができる。特に、ユーザが容易にネットワークの分析を行うことができるように、ノードだけでなくエッジの属性も定義することができるようにし、また、それらを用いて多様な解析を行うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の側面は、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置(例えば、図1のネットワーク分析支援装置1)であって、前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定手段(例えば、図4のエッジ属性設定部112)を備えるネットワーク分析支援装置である。
前記ネットワークをグラフとして画像化し、モニタに表示させる表示制御手段(例えば、図1の表示制御部24)をさらに備え、前記表示制御手段は、視覚的な特徴により前記エッジ属性を示すように前記グラフを表示させることができる。
エッジ属性の指定を受け付け、指定された前記エッジ属性を有するエッジ、および前記エッジに接続されるノードを前記ネットワークより選択して抽出するエッジ属性選択手段(例えば、図4のエッジ属性選択部123)をさらに備え、前記グラフ表示制御手段は、前記エッジ属性選択手段により選択された前記エッジおよび前記ノードのみを表示することができる。
エッジ属性の指定を受け付け、指定された前記エッジ属性を有するエッジにより互いに接続されるノード群を前記ネットワークより抽出するエッジ指定解析手段(例えば、図4のエッジ指定解析部136)をさらに備えることができる。
ノードの重みを示すノードスコアを算出するスコア算出手段(例えば、図4の第1スコア解析部137または第2スコア解析部138)をさらに備えることができる。
本発明の側面はまた、複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置(例えば、図1のネットワーク分析支援装置1)のネットワーク分析支援方法であって、前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定ステップ(例えば、図9のステップS87)を備えるネットワーク分析支援方法、プログラム、またはプログラムが記録された記録媒体である。
以下、本発明の実施の形態について説明する。
図1は、本発明を適用したネットワーク分析支援装置の構成例を示すブロック図である。
図1において、ネットワーク分析支援装置1は、要素の集合を、各要素をノードとし、要素間の関係(結びつき)をエッジとするネットワークとして画像化(グラフ化)して表示することにより、その集合の特徴や傾向を、分析を行うユーザに直感的(視覚的)に把握させる、ネットワーク分析作業を支援する情報処理装置である。
ネットワーク分析支援装置1は、主な構成として、図1に示されるように、データ変換、解析処理、表示制御等の各種処理を実行する処理部である情報処理部11、生成されたグラフのデータであるグラフデータ31を保持する保持部12、ノードやエッジに関する情報をファイルとして格納する記憶部13、並びに、例えばモニタやキーボードのような、ユーザ等に対する入出力デバイスよりなるユーザインタフェース部14を有する。
情報処理部11は、制御部21、データ変換部22、解析部23、表示制御部24、書き込み部25、および読み出し部26を有する。制御部21は、各部を制御し、後述するようにネットワーク分析を支援する処理を実行させる。制御部21が有する機能ブロックについては後述する。
データ変換部22は、制御部21に制御されて、データ変換に伴う処理を実行する処理部であり、例えば、記録用のデータ(ファイル)に記述されているノードやエッジをグラフ化したり、そのノードやエッジの属性をグラフ上で定義したりして、グラフデータ31を生成する。また、データ変換部22は、制御部21に制御されて、逆に、グラフ化されたネットワークを記録用のデータに変換する(ファイル化する)。
解析部23は、制御部21に指定された解析方法で、グラフデータ31が示すグラフ化されたネットワークの解析を行い、その結果を制御部21にかえす。表示制御部24は、グラフ化されたネットワーク等の表示に関する処理を行う。書き込み部25は、記憶部13への(ファイル)の書き込みを行い、読み出し部26は、記憶部13に記憶されたデータ(ファイル)の読み出しを行う。
保持部12は、例えばRAM(Random Access Memory)等の揮発性メモリにより構成され、制御部21において処理された結果や、途中経過を一時的に保持する。例えば、保持部12は、図1に示されるように、制御部21の制御によりネットワークがグラフ化されて生成されたグラフデータ31を保持する。
記憶部13は、例えばハードディスクやフラッシュメモリ等のような大容量の不揮発性の記憶媒体により構成され、保存用にファイル化された各種データを記憶する。例えば、記憶部13は、図1に示されるように、ノードやエッジおよびそれらの関係を示す情報を含むネットワークファイル41、各ノードの特徴等を表すノード属性に関する情報を含むノード属性ファイル42、各エッジの特徴等を表すエッジ属性に関する情報を含むエッジ属性ファイル43、およびネットワークの解析結果を含む解析データファイル44等を保存する。
ネットワークファイル41は、ネットワークの各ノードと各エッジのリストが記述されているテキストデータを格納する。例えば、ノードがユーザである場合、ユーザ1、ユーザ2、ユーザ3、・・・のような名称が各ノードにノード名として割り当てられており、ネットワークファイル41は、このようなノード名のリストを含む。さらに、どのノードとどのノードがエッジにより結ばれているかを示す、エッジに関する情報もリスト化され、ネットワークファイル41に含まれる。
ノード属性ファイル42は、ネットワークの各ノードのノード属性のリストが記述されているテキストデータを格納する。ノード属性とは、そのノードの特徴等を示す情報であり、例えば、ユーザをノードとする場合、そのユーザの性別、年齢、職業、住所、趣味等がノード属性となり得る。つまり、ノード属性は、ネットワーク内における、1つの要素の意味を示す情報である。
エッジ属性ファイル43は、ネットワークの各エッジのエッジ属性のリストが記述されているテキストデータを格納する。エッジ属性とは、そのエッジの特徴等を示す情報であり、例えば、ユーザをノードとし、人間関係をエッジとする場合、趣味が同一、クラスメイト、性別、会話等のように人間関係の特徴を表すものがエッジ属性となり得る。つまり、エッジ属性は、ネットワーク内における、要素と要素の結びつきの意味を示す情報である。
解析データファイル44は、解析部23によるネットワークの解析結果のテキストデータを格納する。
これらのファイルは、例えば、テキストファイルやCSV(Comma Separated Values)ファイルとして構成される。もちろん、テキスト以外のデータが格納されるようにしてもよい。
ユーザインタフェース部14は、キーボードやマウス等の入力部51と、モニタやスピーカ等の出力部52を有し、制御部21に制御されて画像表示やユーザ指示入力受付に関する処理を行い、ユーザに対するインタフェースとしての処理を行う。
ネットワーク分析支援装置1は、制御部21の制御の下、入力部51によりユーザ指示を受け付け、記憶部13に記憶されているネットワークファイル41を読み出し部26により読み出し、データ変換部22によりそのネットワークファイル41に格納されるノードやエッジのリストをグラフ化し、保持部12により、その生成されたグラフデータ31を保持するとともに、表示制御部24により、グラフの画像を出力部52のモニタに表示させる。また、ノード属性ファイル42、エッジ属性ファイル43、および解析データファイル44等が存在する場合、データ変換部22は、それらのファイルに含まれる各種データを、グラフ化したネットワークに反映させる。
このようにネットワーク分析支援装置1は、ネットワークファイル41等に記述されたネットワークをグラフとして画像化し、モニタに表示する。図2は、出力部52のモニタにおけるグラフの表示例を示している。図2に示されるように、グラフを表示する際、モニタの画面にはGUI(Graphical User Interface)であるグラフビューア61がウィンドウとして表示される。このグラフビューア61は表示領域62と操作領域63よりなり、グラフは表示領域62に表示される。ユーザは操作領域63に設けられたGUIボタン等を操作することにより、表示領域62に表示されるグラフを解析処理したり編集したりすることができる。
次に、図2の表示領域62に表示されるグラフについて説明する。図2において、ユーザ1乃至ユーザ4として描画された点(三角形や四角形)は、ノードを示し、それらを互いに結ぶ矢印はエッジを示している。このように、ネットワークは、要素を表すノードとノード間の関係を示すエッジとで構成されるものであり、ノードを示す点の形状、色、柄、濃度、大きさ等の視覚的な特徴によりそのノード属性が示され、エッジを示す矢印の色、柄、実線、点線、鎖線、濃度、または太さ等の視覚的な特徴によりそのエッジ属性が示されるようにグラフ化される。さらに、その矢印の向きにより、そのエッジの両端のノードの関係の方向(例えば参照関係や依存関係の方向)が示される。
例えば、図2のネットワークは、電話等の通話サービスの利用状況を示し、ノードが通話サービスの会員(ユーザ)を示し、エッジがユーザ間の通話サービスの利用を示し、ノードの形状がユーザの性別を示し、エッジの矢印の向きが電話をかけた側とかけられた側を示し、その矢印の視覚的な違いが通話頻度や会話の主な内容(例えばアンケート結果により得られた統計情報)を示すネットワークをグラフ化したものである。
このようにネットワークをグラフ化(画像化)することにより、分析者は、例えば、「ユーザ1は、サービス利用頻度が最も高いだけでなく、ユーザ2乃至ユーザ4の共通の通話の相手となっており、ユーザ2乃至ユーザ4にサービスを利用させるための大きな要因となっている」といったネットワークの特徴や傾向を視覚的に把握することができ、分析を容易に行うことができる。また、ネットワーク分析支援装置1は、単にネットワークを視覚化するだけでなく、後述するように様々な解析機能等を有しており、分析者はさらに分析を深め、例えば、どのようなユーザがサービス全体により大きな影響を及ぼすか、どのような関係のユーザ間でサービスがどのように利用されるか、どのようなサービスが最も受け入れられるか、等といった高度な分析も容易に行うことができる。つまり、ネットワーク分析支援装置1は、このような高度な分析も支援することができる。
なお、グラフ化されるネットワークは、要素を表すノードとノード間の関係を示すエッジとで構成されるものであればどのようなものを表すものであってもよく、例えば、各種サービスの利用状況だけでなく、たんぱく質の構成、統計情報、LAN等の電子機器のネットワーク等であってもよい。つまり、ノードとエッジがそれぞれどのようなものを示してもよい。さらに、ノード属性およびエッジ属性もそれぞれ任意のものを割り当てることができる。
また、図2においては、ネットワークを、エッジを矢印で表す有向グラフ、つまりノード間の関係の向きも示すグラフにグラフ化するように説明したが、エッジを線分で示す無向グラフ、つまりノード間の関係の向きを考慮しないグラフにグラフ化するようにしてもよい。
このようにしてネットワークがグラフ化されたグラフデータ31(図1)は、例えば、図3のような構成を有する。図3の例の場合、グラフデータ31は、グラフ全体に関する情報を含むグラフ71、各ノードに関する情報を含むノード72、各エッジに関する情報を含むエッジ73、並びに、ノード属性やエッジ属性に関する情報を含む属性リスト74および属性値リスト75を有する。
グラフ71は、ネットワークを有向グラフで示すか無向グラフで示すかを表す情報である無向・有向種別を含む。ノード72は、グラフ71が示すグラフに含まれる各ノードについて、ノードの名称を示すノード名、ノード属性の名称を示す属性名、ノード属性の値を示す属性値、接続されたエッジ数を示す次数、他のノードへの影響度を示す媒介中心性、関係の断絶(エッジの示すノード間の関係が他のエッジと重複する度合い)を示す構造的空隙等の、ノード毎の情報を含む。エッジ73は、グラフ71が示すグラフに含まれる各エッジについて、エッジ属性の名称を示す属性名、およびエッジ属性の値を示す属性値等の、エッジ毎の情報を含む。属性リスト74は、ノード72に示される各ノードのノード属性の名称と、エッジ73に示される各エッジのエッジ属性の名称の一覧リストである。属性値リスト75は、ノード72に示される各ノード属性の名称と属性値、および、エッジ73に示される各エッジ属性の名称と属性値をまとめたリストである。
ネットワーク分析支援装置1は、記憶部13に記憶されたネットワークファイル41等に基づいて、これらのような各種データを含むグラフデータ31を生成し、ネットワークをグラフとしてモニタに表示させる。
次に、ネットワーク分析支援装置1が実行する具体的な処理について説明する。図4は、図1の制御部21が有する機能ブロックの構成例を示す図である。
図4に示されるように、制御部21は、ユーザによる実行処理の選択指示を受け付けるメインメニュー画面に関する処理を行うメインメニュー制御部101、ネットワークのグラフ化に関する処理を行うグラフ生成制御部102、グラフを定期的に更新する定期更新制御部103、ノードやエッジの属性の設定に関する処理を行う属性設定制御部104、グラフの表示に関する処理を行うグラフ表示制御部105、グラフの解析に関する処理を行うグラフ解析制御部106、グラフの保存に関する処理を行うグラフ保存制御部107、および、終了時の処理を制御する終了処理制御部108を有している。
属性設定制御部104は、ノード属性の設定に関する処理を行うノード属性設定部111と、エッジ属性の設定に関する処理を行うエッジ属性設定部112を有する。グラフ表示制御部105は、表示するノードやエッジを制限するための、各種の条件を用いたフィルタリング処理を行うフィルタリング部121、ノード属性を用いたノードやエッジの選択を行うノード属性選択部122、および、エッジ属性を用いたノードやエッジの選択を行うエッジ属性選択部123を有している。
グラフ解析制御部106は、各ノードの次数を用いた解析を行う次数解析部131、各ノードの媒介中心性を用いた解析を行う媒介中心性解析部132、ノード同士がどれくらい密接に結びついているかを示すクラスタリング係数を用いた解析を行うクラスタ係数解析部133、エッジの経路(パス)上におけるノード間の距離である最短パス長を用いた解析を行う最短パス長解析部134、ネットワークの構造的空隙を用いて解析を行う構造的空隙解析部135、各ノードに接続されるエッジのエッジ属性のパターンに基づいた解析を行うエッジ指定解析部136、接続されるエッジに基づいてノードの価値を示すノードスコアを算出する第1スコア解析部137、他のノードのノードスコアに基づいてノードスコアを算出する第2スコア解析部138、および他のノードのノードスコアの更新に伴う自ノードのノードスコアの再計算を行うスコア更新部139を有している。
以下において、フローチャートを参照しながら、各処理の具体的な説明を行う。
最初にメインメニューに関する処理ついて説明する。例えば図1のネットワーク分析支援装置1に電源が投入されたり、メインメニューを立ち上げるユーザ指示を受け付けたりすると、メインメニュー制御部101は、出力部52を制御し、モニタにメインメニューを表示させ、ユーザからの選択指示を受け付ける。このメインメニューは、ネットワーク分析支援装置1に実行させる処理の主要な選択をユーザに行わせるGUIである。
例えば、メインメニューにおいては、ユーザが、ネットワークよりグラフを生成して表示させる処理、表示させているグラフを定期的に更新させる処理、属性を設定する処理、グラフ表示に関する処理、グラフ解析に関する処理、グラフを保存する処理、または、終了に関する処理のいずれかを選択をすることができるようになされている。つまり、メインメニューにおいては大まかな選択や重要な処理の選択が行われ、さらに選択した処理の中でさらに細かい選択が必要な場合は、他のメニューにおいて行われる。
このようなメインメニューに関する処理を行うためにメインメニュー制御部101が実行するメインメニュー処理について図5のフローチャートを参照して説明する。
メインメニュー処理を開始したメインメニュー制御部101は、ステップS1において、出力部52のモニタにメインメニューを表示させ、ステップS2において、入力部51を制御し、メニュー選択入力を受け付ける。メインメニューには、例えば、上述したような各処理の処理名の一覧が表示されており、ユーザは入力部51を操作してカーソルを動かす等してその中から1つを選択する。この操作により、メニュー選択入力が入力される。
メインメニューのいずれかを選択するメニュー選択入力を受け付けると、メインメニュー制御部101は、最初にステップS3において、そのメニュー選択入力によりグラフ生成処理が選択されたか否かを判定する。グラフ生成処理は、記憶部13よりネットワークファイル41等を読み込み、そのネットワークをグラフ化して表示させる処理である。メインメニューが起動された初期状態(例えば電源投入時等)においては、ネットワークファイル41等が読み込まれておらず、モニタにはグラフが表示されていない(グラフデータ31が生成されていない)ので、メインメニューの他の処理(例えば、解析処理や表示制御処理)等を行うためには、このグラフ生成処理を少なくとも1回以上実行させる必要がある。
このグラフ生成処理が選択されたと判定した場合、メインメニュー制御部101は、処理をステップS4に進める。ステップS4において、グラフ生成制御部102は、グラフ生成処理を実行し、図2に示されるように、ネットワークをグラフ化して出力部52のモニタに表示させる。ステップS4の処理が終了すると、定期更新制御部103は、ステップS5において、そのモニタに表示させたグラフを定期的に更新させるグラフ定期更新処理を開始する。定期更新制御部103がグラフ定期更新処理を開始すると、メインメニュー制御部101は、処理をステップS1に戻し、それ以降の処理を繰り返す。
また、ステップS3において、メニュー選択入力によりグラフ生成処理が選択されていないと判定した場合、メインメニュー制御部101は、処理をステップS6に進め、生成されたグラフが存在するか否か(グラフデータ31が存在するか否か)を判定する。上述したようにグラフデータ31が存在しないと解析処理や表示制御処理等の処理が実行できないので、生成されたグラフが存在しないと判定した場合、メインメニュー制御部101は、処理をステップS7に進め、モニタにグラフ生成を促すメッセージを表示し、処理をステップS1に戻し、それ以降の処理を繰り返す。
ステップS6において、グラフが存在すると判定した場合、メインメニュー制御部101は、処理をステップS8に進め、属性設定、グラフ表示制御、グラフ解析、グラフ保存制御、終了処理等の予め用意された処理の中から選択された処理を実行する。ステップS8の処理を終了すると、メインメニュー制御部101は、メインメニュー処理を終了する。
次に、図5のステップS4において実行されるグラフ生成処理の流れの例を図6のフローチャートを参照して説明する。
グラフ生成処理を開始すると、グラフ生成制御部102は、ステップS21において、出力部52を制御し、モニタにグラフ生成メニューを表示させ、入力部51を制御し、そのグラフ生成メニューにおけるメニュー選択指示を受け付ける。
上述したようにグラフ生成処理は、ネットワークをグラフ化する処理であるが、その際、ネットワークを新規グラフとしてグラフ化することもできるし、生成したグラフを既存のグラフに追加し、1つのグラフとすることもできる。グラフ生成メニューは、その処理の選択をユーザに行わせるGUIである。例えば、グラフ生成メニューには、「新規グラフを生成する」と表示されたGUIボタン(またはリンク、タブ等)と「既存のグラフに追加する」と表示されたGUIボタンが設けられており、ユーザは、入力部51を操作し、カーソルを移動させ、このいずれかを選択することにより処理を選択する。
このようにして、新規グラフを生成して表示させるか、既に生成済みのグラフ(既存のグラフ)に追加させるグラフ(追加グラフ)を生成し、追加表示させるかを選択する選択指示が入力されて受け付けられると、グラフ生成制御部102は、処理をステップS22に進め、その選択指示により新規グラフの生成が選択されたか否かを判定する。
新規グラフの生成が選択されたと判定した場合、グラフ生成制御部102は、処理をステップS23に進め、入力部51および出力部52を制御し、GUIを表示する等して、グラフ生成に使用するネットワークファイル41のファイル名の指定を受け付ける。ファイル名が指定されると、グラフ生成制御部102は、ステップS24において、読み出し部26を制御し、記憶部13よりユーザに指定されたネットワークファイル41を読み出して取得し、データを読み込む。
ステップS25において、グラフ生成制御部102は、入力部51および出力部52を制御し、GUIを表示する等して、有向グラフを生成するか、または、無向グラフを生成するかの選択指示である有向無向選択指示を受け付ける。以上の準備が整うと、グラフ生成制御部102は、ステップS26において、データ変換部22を制御し、グラフデータ31を生成させる。データ変換部22においてグラフデータ31が生成されると、グラフ生成制御部102は、そのグラフデータ31を保持部12に保持させ、処理をステップS30に進める。
また、ステップS22において、選択指示により既存のグラフに追加する追加グラフを生成し、既存のグラフに追加して表示させることが選択されたと判定した場合、グラフ生成制御部102は、処理をステップS27に進め、入力部51および出力部52を制御し、GUIを表示する等して、グラフ生成に使用するネットワークファイル41のファイル名の指定を受け付ける。ファイル名が指定されると、グラフ生成制御部102は、ステップS28において、読み出し部26を制御し、記憶部13よりユーザに指定されたファイル(ネットワークファイル41等)を読み出して取得し、データを読み込む。ステップS29において、グラフ生成制御部102は、データ変幹部22を制御し、読み込んだデータより追加グラフを生成させ、既存のグラフにその追加グラフのノードとエッジを追加させる。データ変換部22において追加グラフが追加され、グラフデータ31が更新されると、グラフ生成制御部102は、そのグラフデータ31を保持部12に保持させ、処理をステップS30に進める。
ステップS30において、グラフ生成制御部102は、ノード属性ファイル42やエッジ属性ファイル43が存在する場合これらの属性ファイルよりデータを読み込み、ステップS31において、グラフデータ31のネットワークにその属性を追加する。なお、これらの属性ファイルが存在しない場合、グラフ生成制御部102は、これらの処理を省略し、ステップS32に処理を進める。属性の追加が終了すると、グラフ生成制御部102は、ステップS32において、出力部52を制御し、モニタに、読み込みが完了したことをユーザに通知する読み込み完了メッセージをモニタに表示し、グラフ生成処理を終了し、処理を図5のステップS4に戻し、ステップS5以降の処理を実行する。
次に、図5のステップS5において開始されるグラフ定期更新処理の流れについて、図7のフローチャートを参照して説明する。グラフ定期更新処理は、ユーザの指示無しに、ネットワークファイル41の更新を定期的にグラフに反映させる処理である。この処理は、少なくとも1つのネットワークがグラフ化された状態、すなわち、保持部12にグラフデータ31が存在する間中、常に実行される。
グラフ定期更新処理が開始されると、定期更新制御部103は、ステップS51において計時し、ステップS52において現在時刻が、予め定められた所定のタイミングであるか否かを判定し、所定のタイミングであると判定した場合、処理をステップS53に進める。
ステップS53において、定期更新制御部103は、記憶部13よりグラフデータ31に対応するネットワークファイル41を取得し、ステップS54において、記憶部13よりノード属性ファイル42およびエッジ属性ファイル43を読み出してノード情報およびエッジ情報を取得する。定期更新制御部103は、ステップS55において、データ変換部22を制御し、それらの情報に基づいてグラフを生成させる。ステップS56において、定期更新制御部103は、ノード属性やエッジ属性などの属性情報が存在するか否かを判定し、存在すると判定した場合、ステップS57に処理を進め、データ変換部22を制御し、その属性をグラフのノードやエッジに追加し、処理をステップS58に進める。また、ステップS56において、属性情報が存在しないと判定した場合、定期更新制御部103は、ステップS57の処理を省略し、ステップS58に処理を進める。
ステップS58において、定期更新制御部103は、解析部23を制御し、予め定められた所定の設定に基づいて、生成した(更新した)グラフに対して解析処理を行わせる。解析処理の詳細については後述する。解析処理が終了すると、定期更新制御部103は、グラフデータ31を保持部12に保持させるとともに、出力部52を制御してモニタにグラフ(解析結果)を表示させ、処理をステップS59に進める。また、ステップS52において、現在時刻が所定のタイミングで無いと判定した場合、定期更新制御部103は、処理をステップS59に進める。
ステップS59において定期更新制御部103は、グラフ定期更新処理を終了するか否かを判定する。例えば、まだグラフ化されたネットワーク(すなわちグラフデータ31)が存在し、グラフ定期更新処理を終了しないと判定した場合、定期更新制御部103は、処理をステップS51に戻し、それ以降の処理を繰り返し実行する。また、ステップS59において、電源終了時や、定期更新すべきグラフ(すなわちグラフデータ31)が存在せず、グラフ定期更新処理を終了すると判定した場合、定期更新制御部103は、グラフ定期更新処理を終了する。
なお、以上においては、定期的にグラフの更新処理を行うように説明したが、この更新処理は、例えば、所定のイベント発生時に実行する等、不定期に更新するようにしてももちろんよい。
次に、図5のステップS8において実行される各種処理の流れについて説明する。
グラフデータ31が存在する状態の時に、メインメニューにおいてグラフ生成以外の処理が選択されると、その選択された処理が実行される。そのような処理として、例えば、モニタに表示されたグラフのノードやエッジに対して、ユーザが属性を設定する(追加も含む)処理がある。メインメニューにおいてユーザがこの属性設定処理を選択すると、属性設定制御部104(図4)により属性設定処理が実行される。
図8および図9のフローチャートを参照して属性設定処理の流れの例を説明する。
属性設定処理が開始されると、属性設定制御部104は、ステップS71において、入力部51と出力部52を制御し、モニタに属性設定メニューを表示し、設定選択指示を受け付ける。
属性設定メニューは、ユーザにノード属性の設定を行うか、エッジ属性の設定を行うかを選択させるGUIである。ユーザは、入力部51を操作し、カーソルを移動させる等して、いずれを設定するかを選択する。ステップS72において、属性設定制御部104は、このようにして入力部51を介して入力された設定選択指示に基づいて、ノードの属性を設定するか否かを判定する。
ノード属性を設定すると判定した場合、属性設定制御部104のノード属性設定部111は、処理をステップS73に進め、入力部51および出力部52を制御し、モニタに、ユーザに属性を設定するノードを選択させるGUIを表示し、ノード名条件の入力を受け付ける。この選択方法は任意であるが、例えば、グラフに存在するノードの一覧を表示してユーザにいずれかを選択させるようにしてもよいし、ユーザにノード名の一部または全部を入力させ、その入力文字列と一致する、または含むノード名のノードが選択されるようにしてもよい。つまり、この選択においては、ユーザは、ノード名を条件(絞り込み条件)として入力するため、識別情報を完全に把握していなくても多数のノードの中から絞り込みながら目的のノードを検索することができるし、また、複数のノードのノード属性を一度に設定することもできる。すなわち、ユーザは、多数のノードが存在する複雑なネットワークであっても容易に各ノードのノード属性の設定を行うことができる。
ノード名条件が入力されると、ノード属性設定部111は、ステップS74において、入力部51および出力部52を制御し、モニタに、属性名や属性値を設定するためのGUIを表示し、ノード属性名およびノード属性値の入力を受け付ける。ノードを選択したユーザは、その選択したノードに対して新たなノード属性を追加する。そのために、ユーザはモニタに表示されたGUIを用いて、追加するノード属性名やノード属性値を入力する。
ノード属性名やノード属性値の入力を受け付けると、ノード属性設定部111は、ステップS75に処理を進め、ステップS73において入力されたノード名条件に該当するノードが存在するか否かを判定し、存在すると判定した場合、処理をステップS76に進め、データ変換部22を制御し、その条件に該当するノードに、ステップS74において入力されたノード属性名およびノード属性値を設定させる。設定が終了すると、ノード属性設定部111は、ノード属性が追加されたグラフデータ31を保持部12に保持させ、ステップS77に処理を進め、出力部52を制御してモニタに設定終了メッセージを表示し、属性設定処理を終了する。
また、ステップS75において、入力されたノード名条件に該当するノードが、グラフに存在しない場合、ノード属性設定部111は、処理をステップS78に進め、出力部52を制御してモニタに、属性の設定に失敗したことをユーザに通知するエラーメッセージを表示し、属性設定処理を終了する。
さらに、ステップS72において、ユーザがエッジ属性の設定を選択し、ノードの属性を設定しないと判定した場合、属性設定制御部104は、処理を図9のステップS81に進める。
図9のステップS81において、エッジ属性設定部112は、入力部51および出力部52を制御し、モニタにGUIを表示させ、ユーザに対して、入力する条件の選択を受け付ける。
エッジには名称が無い(ノード名はあるがエッジ名は無い)ので、ユーザは、エッジに接続されたノードに関する情報を用いて、属性を設定するエッジを特定する。つまり、ユーザは、絞り込み条件に該当するノードに接続されたエッジに対して属性の設定を行う。ネットワーク分析支援装置1においては、このノードに関する情報として、ノード名とノード属性名の2種類が設けられており、エッジ属性設定部112は、いずれの条件を用いるかをユーザに選択させる。
ステップS82において、エッジ属性設定部112は、ユーザによりノード名条件が選択されたか否かを判定し、ノード名条件が選択されたと判定した場合、処理をステップS83に進め、入力部51および出力部52を制御してモニタにGUIを表示させ、ノード名条件の入力を受け付け、処理をステップS85に進める。
また、ステップS82において、ノード名条件が選択されず、ノード属性条件が選択されたと判定した場合、エッジ属性設定部112は、処理をステップS84に進め、入力部51および出力部52を制御してモニタにGUIを表示させ、ノード属性条件の入力を受け付け、処理をステップS85に進める。
つまり、エッジの場合も、上述したノードの場合と同様に、一度に複数のエッジを選択することができる。また、絞り込み条件により、目的のエッジを検索することができる。すなわち、ユーザは、多数のエッジが存在する複雑なネットワークであっても容易に各エッジのエッジ属性の設定を行うことができる。
ノードの条件が受け付けられると、エッジ属性設定部112は、ステップS85において、入力部51および出力部52を制御してモニタにGUIを表示させ、特定された処理対象エッジに対して設定するエッジ属性名およびエッジ属性値の入力を受け付ける。
ステップS86において、エッジ属性設定部112は、以上のように入力された条件に該当するエッジ(入力されたノード条件に該当するノードに接続されたエッジ)が存在するか否かを判定する。該当するエッジが存在する場合、エッジ属性設定部112は、処理をステップS87に進め、データ変換部22を制御し、条件に該当するエッジに、入力されたエッジ属性名およびエッジ属性値を設定させ、エッジ属性が追加されたグラフデータ31を保持部12に保持させ、ステップS88において、設定が終了したことをユーザに通知する設定終了メッセージを表示し、属性設定処理を終了する。
また、ステップS86において、条件に該当するエッジが存在しないと判定した場合、エッジ属性設定部112は、処理をステップS89に進め、出力部52を制御してモニタに、属性の設定に失敗したことをユーザに通知するエラーメッセージを表示し、属性設定処理を終了する。
このように、ネットワーク分析支援装置1においては、ノード属性だけでなくエッジ属性、すなわち、ネットワークにおける要素間の結びつきの意味を示す情報もグラフに設定することができる。つまり、ネットワーク分析支援装置1は、ネットワークにどのようなノードが存在し、どのノードとどのノードが関係するか、ということだけでなく、さらに、どのノードとどのノードが、どのように関係するか、ということまで表現することができる。
例えば、ノードをユーザとし、エッジをユーザ同士の連絡とすると、従来のネットワークにおいては、どのユーザが連絡を取り合ったか、あるいは、何回連絡を取ったかというところまで表現することができるが、例えば、その連絡手段が何であったか、連絡の内容は何であったか、といったことを表現することができなかった。ネットワーク分析支援装置1は、上述したように、エッジ属性としてそのような情報を設定することができる。これにより、ネットワーク分析支援装置1は、ユーザが容易に複雑なネットワークに対して多様な分析を行うことができるように、より適切に分析を支援することができる。
以上においては、ノードをノード名条件により絞り込み、エッジをノード名条件またはノード属性名条件により絞り込むように説明したが、条件の種類はこれに限らずどのようなものであってもよく、それら以外の条件によりノードやエッジを絞り込むようにしてもよい。例えば、ノードやエッジの属性値や、エッジの向き(有向グラフの場合)等を条件としても良い。また、複数の条件を組み合わせて使用してもよい。
以上のようにして、ネットワークがグラフ化されて表示され、さらに必要に応じてノードやエッジに属性が設定されるので、ユーザは、ネットワークを視覚的に捉え、分析を容易に行うことができる。しかしながら、近年においてはより複雑なネットワークの分析を行うことが求められている。分析対象のネットワークが複雑なほど、ネットワークの分析は困難になるので支援の重要性が増すが、単純にグラフとして表示するだけでは、ユーザが十分に分析を行うことができなくなる。つまり、より複雑なネットワークの分析に対して、より有効な支援を行うためには、より多様な解析手法が必要となってくる。
図10にグラフの表示例を示す。図10に示されるグラフビューア61には、図2に示した例のグラフよりもノードやエッジが多い複雑なグラフが表示されている。このように、ノードやエッジの数が増大すると、ノードやエッジが互いに重なり合って表示が潰れてしまい、細かい分析が困難になる恐れがある。
また、例えば拡大や縮小等の表示機能を設け、必要に応じてグラフの一部を拡大して表示させることで、ノードやエッジを潰れないように表示させることも可能であるが、その場合、グラフ全体に対するノードの位置や関係、さらには同時に表示不可能な位置の他のノードとの関係等を把握するのに表示の切り替えが必要になり、分析が困難になる恐れがある。
さらに、ネットワーク分析支援装置1は、ネットワークの分析を支援するのが目的であり、必要な情報をユーザに提示することができればよく、常に全てのノードやエッジを表示する必要はない。
そこで、グラフ表示制御部105は、表示制御部24を制御して、グラフの一部のノードやエッジのみを選択して表示させる表示制御処理を行う。この表示制御処理の指示は、メインメニューにて行われる。メインメニューにおいてユーザが表示制御処理を選択すると、図5のステップS8においてその表示制御処理が実行される。
図11のフローチャートを参照して表示制御処理の流れの例を説明する。
表示制御処理が開始されるとグラフ表示制御部105は、ステップS101において、ユーザ指示に基づいてフィルタリングを行うか否かを判定する。メインメニューには、表示制御処理として、例えば、グラフ解析結果を用いたフィルタリング、ノード属性による表示指定、および、エッジ属性による表示指定の選択機能が設けられており、ユーザが、このいずれかを選択すると、表示制御処理が実行される。グラフ表示制御部105は、この選択において、ステップS101において、フィルタリングが選択されたか否かを判定する。
フィルタリングが選択されたと判定した場合、グラフ表示制御部105は、処理をステップS102に進める。ステップS102において、フィルタリング部121は、入力部51および出力部52を制御し、フィルタリングに用いる解析方法を選択するGUIをモニタに表示させ、そのGUIに対するユーザ入力を受け付けることにより、ユーザからの解析方法選択を受け付ける。フィルタリング部121は、ステップS103において、解析部23を制御し、選択された解析方法によりグラフ解析を実行させる。
グラフ解析が終了し、解析結果が得られると、グラフ表示制御部105は、ステップS104において、入力部51および出力部52を制御し、ノードの価値を示すノードスコアについての、フィルタリングに用いる閾値の指定を入力させるGUIをモニタに表示させ、そのGUIに対するユーザ入力を受け付けることにより、ノードスコアの閾値指定を受け付ける。
ノードスコアとは、グラフ解析により得られる解析結果であり、その解析手法における各ノードの価値を示すパラメータである。例えば、各ノードに接続されたエッジ数を求める解析において、そのエッジ数(またはエッジ数に基づく他のパラメータ)をノードスコアとすることができる。つまり、この場合、接続されたエッジの数に応じて各ノードの価値が決定される。もちろん、ノードスコアとするパラメータは、エッジ数以外にもどのようなものであってもよく、解析手法も限定されない。
このノードスコアとするパラメータや、その指定方法は任意であるが、図11の表示制御処理においては、解析手法毎に予め定められているものとして説明する。また、このフィルタリングにおいては、このようなノードスコアが、ユーザが指定した閾値より小さいノードを削除する(表示しない)ものとする。もちろん、逆にノードスコアが閾値以上のノードを削除するようにしてもよい。
ステップS104の処理によりノードスコアの閾値指定が受け付けられると、フィルタリング部121は、処理をステップS105に進め、表示制御部24を制御し、グラフデータ31のグラフの中から、指定された閾値以上の値のノードスコアを有するノードと、それらのノード間のエッジを抽出し、出力部52を制御して、抽出されたノードとエッジのみをモニタに表示させ、表示制御処理を終了する。
このようにすることにより、ネットワーク分析支援装置1は、解析結果に基づいて抽出されたノードとエッジのみを表示することができる。つまり、ネットワーク分析支援装置1は、不要な情報の表示を削減し、分析に必要な情報のみをより的確に抽出して表示することができるので、ネットワークの分析をより有効に支援することができる。
また、ステップS101において、ユーザがフィルタリングを選択せず、フィルタリングを行わないと判定した場合、グラフ表示制御部105は、処理をステップS106に進め、ノード属性を指定するか否かを判定する。上述したようにメインメニューにおいて、ノード属性によるノードやエッジの表示指定を行うことが選択されたと判定した場合、グラフ表示制御部105は、処理をステップS107に進める。
ステップS107において、ノード属性選択部122は、入力部51および出力部52を制御してモニタに、表示させるノードのノード属性を指定させるGUIを表示させ、そのGUIに対する入力を受け付けることにより、ノード属性指定を受け付ける。ノード属性指定が受け付けられると、ノード属性選択部122は、ステップS108に処理を進め、表示制御部24を制御し、指定されたノード属性を有するノード群とそのノード間のエッジを抽出し、出力部52を制御してそのノードおよびエッジをモニタに表示させ、表示制御処理を終了する。
このようにすることにより、ユーザは、表示させるノードやエッジを、ノード属性により指定することができる。例えば、ネットワーク全体におけるノード属性の分布や傾向を分析する等、特定のノード属性に着目して分析を行う場合がある。このような場合、上述した処理により、ユーザは、目的のノード属性を指定するだけで、容易に、目的のノード属性を有するノードのみ(そのエッジも含む)を表示させ、不要な情報の表示を削減させることができる。つまり、ネットワーク分析支援装置1は、不要な情報の表示を削減し、分析に必要な情報のみをより的確に抽出して表示することができるので、ネットワークの分析をより有効に支援することができる。
また、ステップS106において、上述したようにメインメニューにおいて、ユーザがフィルタリングもノード属性指定も選択せず、エッジ属性によるノードやエッジの表示指定を行うことが選択されたと判定した場合、グラフ表示制御部105は、処理をステップS109に進める。
ステップS109において、エッジ属性選択部123は、入力部51および出力部52を制御してモニタに、表示させるノードに接続されたエッジのエッジ属性を指定させるGUIを表示させ、そのGUIに対する入力を受け付けることにより、エッジ属性指定を受け付ける。エッジ属性指定が受け付けられると、エッジ属性選択部123は、ステップS110に処理を進め、表示制御部24を制御し、指定されたエッジ属性を有するエッジとそのエッジに接続されるノードを選択して抽出し、出力部52を制御してそのノードおよびエッジのみをモニタに表示させ(それら以外のノードおよびエッジを削除し)、表示制御処理を終了する。
このようにすることにより、ユーザは、表示させるノードやエッジを、エッジ属性により指定することができる。つまり、ユーザは、エッジ属性、すなわち、ノードの結びつきの意味に基づいてネットワークを分析することができる。
例えば、電話等の通話サービスの利用結果を示すネットワークにおいて、ユーザをノードとし、通話サービスの利用事実をエッジとし、その利用時間帯をエッジ属性とする。従来のようにノード属性によりノードやエッジの表示指定を行っても、ユーザは、ユーザの性別や年齢等による利用状況の分布を把握することしかできない。また、エッジの頻度、つまり通話回数を用いてノード属性によりノードやエッジの表示指定を行っても、ユーザは、サービスの利用頻度の分布を把握することしかできない。
これに対して、上述したように、エッジ属性に基づいてノードやエッジの表示指定を行うことにより、ユーザは、サービスの利用時間の分布を把握することができ、どのようなユーザがどのような時間帯にどれくらい通話したかということを分析することができる。この分析により、ユーザは、例えば、利用頻度の多い時間帯の通話料金を安くすることでサービスの更なる利用を促す等の提案を行うことができる。
以上においてはメインメニューからの表示制御について説明したが、例えば、図10に示されるように、グラフビューア61に表示されたグラフのノードをユーザが選択することにより、そのノードに関する部分のみを表示させる(そのノードに関連しない部分を消去する)ようにすることもできる。
図12のフローチャートを参照して、そのような場合の表示制御処理の流れの例を説明する。なお、この処理は、グラフビューア61にグラフが表示されている間実行される。
表示制御処理が開始されると、グラフ表示制御部105は、ステップS121において、グラフビューアに表示されたグラフにおいて、ノードが選択されたか否かを判定する。ユーザによりノードが選択されたと判定すると、グラフ表示制御部105は、処理をステップS122に進め、表示制御部24を制御し、グラフより、選択されたノード、そのノードが有するエッジ、および、そのエッジにより接続される他のノードを抽出し、モニタにそれらのみを表示させる。つまり、ユーザに選択されたノードと、そのノードの接続先とエッジのみが表示され、それら以外のノードやエッジは消去される。
表示が終了すると、グラフ表示制御部105は、処理をステップS123に進める。また、ステップS121において、ノードが選択されていないと判定した場合、グラフ表示制御部105は、ステップS122の処理を行わずにステップS123に処理を進める。ステップS123において、グラフ表示制御部105は、表示制御処理を終了するか否かを判定し、まだグラフビューア61にグラフが表示されており、表示制御処理を終了しないと判定した場合、処理をステップS121に戻し、それ以降の処理を繰り返す。また、ステップS123において、グラフの表示が終了し、表示制御処理を終了すると判定した場合、グラフ表示制御部105は、表示制御処理を終了する。
このように表示を制御することにより、ユーザは、例えばグラフ表示中に所望のノードを選択するだけでそのノードの接続状況を容易に表示させることができ、特定のノードの状況を容易に把握し、それによってより的確なネットワークの分析を行うことができる。
等、このように、ネットワーク分析支援装置1は、ユーザの多様な分析を支援することができる。
また、ネットワーク分析支援装置1は、ネットワークの解析を行い、その解析結果をユーザに提供することにより、ユーザによるネットワークの分析を支援することができる。
この解析処理の流れの例を図13および図14のフローチャートを参照して説明する。
例えば、メインメニューにおいて、ユーザが解析処理を選択すると、図5のステップS8において、解析処理が実行される。
解析処理が開始されると、グラフ解析制御部106(図4)は、ステップS141において、入力部51および出力部52を制御して、解析の具体的な方法をユーザに選択させるGUIをモニタに表示してそのGUIに対する入力を受け付けることにより、解析方法選択を受け付ける。
解析方法として、1つのノードに接続されたエッジの数(次数)の、ネットワーク上における分布を解析するために、各ノードについて次数を算出する次数分布解析、他のノードへの影響度を示す媒介中心性をノード毎に求める媒介中心性解析、任意のノード間の結びつきの強さの分布を解析するために、ネットワークの任意の2つのノード間を結ぶエッジが存在する可能性を示すクラスタリング係数をノード毎に算出するクラスタリング係数解析、ノード間の結びつきの強さの分布を解析するために、各ノードの最短パス長を求める最短パス長解析、ノード間の結びつきの弱さを求めるために、各ノードについて構造的空隙を求める構造的空隙解析、エッジの接続パターンに基づいてノード選択を行うエッジ指定解析、および、エッジのスコア値に基づいてノードスコアを算出する第1スコア解析が予め用意されている。ユーザは、これらの解析方法よりいずれか1つを選択し、解析処理を実行させる。
ステップS142において、グラフ解析制御部106は、次数分布解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップS143に進める。ステップS143において、次数解析部131は、解析部23を制御し、各ノードの次数を算出させる。ステップS143の処理を終了すると、次数解析部131は、処理をステップS150に進める。
また、ステップS142において、次数分布解析が選択されていないと判定した場合、グラフ解析制御部106は、処理をステップS144に進め、媒介中心性解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップS145に進める。ステップS145において、媒介中心性解析部132は、解析部23を制御し、各ノードの媒介中心性を算出させる。
媒介中心性は、そのノードが他のノード間の関係に関与する割合の大きさを示すパラメータである。具体的に説明すると、ネットワークにおいて、あるノードの媒介中心性は、他の任意の2つのノード間を、エッジに沿って最短パスで結ぶときに、その最短パスがノードを経由する割合の大きさを示すパラメータである。例えば、次数が大きいノードAであっても、そのノードAと全く同様に他のノードに接続されるノードBが別に存在する場合、そのノードAが削除されても、ノードBがノードAの代替となる可能性が高く、ネットワーク全体に対して大きな影響を及ぼさない可能性がある。しかしながら、例えば、次数が小さくても、互いに異なるノードにより構成される2つのノード群を結ぶ唯一のノードであるノードCが削除されると、その2つのノード群の間の関係は断絶されてしまい、ネットワーク全体に大きな影響を及ぼす可能性が高く、このようなノードCはネットワークにとって重要なノードとなる。媒介中心性は、このような重要性を表すパラメータである。
より具体的には、所定のノードniのコンテンツ媒介中心性Ce(ni)を、以下の式(1)を算出することにより求める。
Figure 2008052494
なお、式(1)において、nは、対象となるノードni以外の2つのノードの組み合わせの数を示しており、nstは、ノードni以外の2つのノードであるノードsとノードtの間の、パス長が最も短いパス(最短パス)の本数を示しており、gi (st)は、nstのうち、ノードniを経由するパスの本数を示している。ただし、値sは値tより小さい。
つまり、ノードniのコンテンツ媒介中心性Ce(ni)は、ノードsとノードt間の最短パスのうち、ノードniを経由するパスの割合の、全てのノードsとノードtの組み合わせの平均値を示す。
ステップS145の処理を終了すると、媒介中心性解析部132は、処理をステップS150に進める。
また、ステップS144において、媒介中心性解析が選択されていないと判定した場合、グラフ解析制御部106は、処理をステップS146に進め、クラスタリング係数解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップS147に進める。ステップS147において、クラスタ係数解析部133は、解析部23を制御し、各ノードのクラスタリング係数を算出させる。
解析部23は、ノードniが接続されている全てのノードペアに関し、それらが接続されているか否かを求める。すなわち、解析部23は、各ノードについて、クラスタリング係数C(ni)を以下の式(2)を算出することにより求める。
C(ni)=接続されている件数/全ペア数 ・・・(2)
ステップS147の処理を終了すると、クラスタ係数解析部133は、処理をステップS150に進める。
また、ステップS146において、クラスタリング係数解析が選択されていないと判定した場合、グラフ解析制御部106は、処理をステップS148に進め、最短パス長解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップS149に進める。ステップS149において、最短パス長解析部134は、解析部23を制御し、各ノードの最短パス長を算出させる。
ステップS149の処理を終了すると、最短パス長解析部134は、処理をステップS150に進める。
ステップS150において、グラフ解析制御部106は、算出された解析結果を解析データファイル44に格納し、記憶部13に記憶させ、解析処理を終了する。
図15は、解析結果の例を示す図である。解析結果は図15に示されるようにリスト化され、例えば、CSVファイルとしてファイル化され、解析データファイル44として記憶部13に記録される。
また、図13において、ステップS148において、最短パス長解析が選択されていないと判定した場合、グラフ解析制御部106は、処理を図14のステップS161に進める。
図14のステップS161において、グラフ解析制御部106は、構造的空隙解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップS162に進める。ステップS162において、構造的空隙解析部135は、解析部23を制御し、構造的空隙について各ノードの効率を算出する。すなわち、解析部23は、各ノードについて、以下の式(3)により有効サイズを求め、その有効サイズを用いて式(4)より効率を求める。
Figure 2008052494
Figure 2008052494
なお、式(3)においてESiは、ノードiの有効サイズを示し、Eiは、ノードiに接続されたエッジの総数であり、fi(nj,nk)は、ノードnjまたはノードnkがエッジを持てば値「1」を取り、エッジを持たなければ値「0」をとる関数である。
ステップS162の処理を終了すると、構造的空隙解析部135は、処理を図13のステップS150に戻す。
また、図14のステップS161において、構造的空隙解析が選択されていないと判定した場合、グラフ解析制御部106は、処理をステップS163に進め、エッジ接続パターン解析が選択されたか否かを判定し、選択されたと判定した場合、処理をステップS164に進める。
エッジ属性パターン解析とは、エッジ属性の指定を受け付け、その指定されたエッジ属性を有するエッジにより互いに接続されるノード群をネットワークより抽出する処理である。このとき、ユーザは複数のエッジ属性を指定することにより、複数のエッジ、すなわち、エッジの分布パターン(換言すれば、エッジ属性の分布パターン)を指定することができる。つまり、このエッジ属性パターン解析は、エッジ属性の分布パターンが、ユーザに指定された特徴を有するエッジにより接続されるノード群をネットワークより抽出する。具体的に説明すると、エッジ属性パターン解析は、ユーザが指定した所定の関係を有するノード群をネットワークより抽出することができる。
ステップS164において、エッジ指定解析部136は、入力部51および出力部52を制御し、ユーザにエッジ属性の分布パターン指定を入力させるGUIをモニタに表示し、そのGUIに対する入力を受け付けることにより、エッジ属性の分布パターン指定を受け付ける。ユーザからのエッジ属性パターン指定が受け付けられると、エッジ指定解析部136は、ステップS165に処理を進め、解析部23を制御して、指定されたエッジ属性のパターンに該当するノードの組を求めさせる。
例えば、ユーザが1つのエッジ属性を指定する場合、エッジ指定解析部136は、解析部23を制御して、1つのエッジで接続される2つのノードを選択する。また、例えば、3つのノードを選択する場合、ユーザが3種類のエッジ属性を指定するようにする。
ネットワーク内においては、エッジについて共通の特徴を有するノード群が複数存在する場合がある。例えば、ある地域の住人をノードとし、その血縁関係をエッジとする(具体的関係をエッジ属性とする)。このようなとき、同じ構成の家族が複数存在するとすると、ネットワークには、ノード間の関係(エッジ属性)のパターンが互いに同様であるノード群が複数存在することになる。
このように、ユーザは、ノード間の結びつきの意味に基づいてノード分布の特徴を捉え、例えば、特定の関係のパターンを有するノード群を抽出したり、そのパターン毎にノードを分類したりすることができる。さらに、このような分析の結果に基づいて、ユーザは、例えば、大家族に対する場合と、核家族に対する場合とでサービスの提供方法を変更したときの効果を分析する等、より高度な分析も行うことができる。
以上のようにノード群を選択させると、エッジ指定解析部136は、処理を図13のステップS150に戻す。
また、図14のステップS163において、エッジ接続パターン解析が選択されていないと判定した場合、グラフ解析処理部106は、処理をステップS166に進め、エッジに基づいてノードスコア計算を行うか否かを判定し、行うと判定した場合、処理をステップS167に進める。ステップS167において、第1スコア解析部137は、入力部51および出力部52を制御して、各エッジ属性に対するスコアを入力させるGUIをモニタに表示させ、そのGUIに対する入力を受け付けることにより、各エッジ属性に対するスコア入力(エッジの、そのエッジ属性に関する重みの入力)を受け付ける。スコアの入力を受け付けると、第1スコア解析部137は、ステップS168において、解析部23を制御し、その入力されたスコアに基づいて、各ノードのノードスコア(ノードの重み)を算出する。
ノードスコアの算出が終了すると、第1スコア解析部137は、処理を図13のステップS150に戻す。
また、図14のステップS166において、エッジに基づいてノードスコア計算を行わないと判定した場合、グラフ解析処理部106は、解析処理を行わずに、処理を図13のステップS150に戻す。
以上のように、ネットワーク分析支援装置1は、様々な解析手法を予め有しており、それらの手法を用いて多様な解析を行うことができ、その解析結果をユーザに提供することにより、多様な分析を支援することができる。
なお、以上においては、メインメニューにおけるユーザ指示に基づいて解析を行うように説明したが、それ以外にも、例えば、図7のステップS58や図11のステップS103において解析処理を行う場合も、基本的に上述したのと同様の処理が実行される。ただし、これらの場合、ステップS150において解析結果をファイル化して保存する代わりに、解析結果を、例えばモニタに表示させたり、表示制御処理に利用したりする。また、例えば、解析結果を表示したり出力させたりするとともに、ファイル化して保存するようにしてもよい。
以上においては解析手法の例を示したが、これ以外の手法を用いて解析を行うことができるようにしてもよい。例えば、自ノードのノードスコアが、自ノードにエッジを介して接続された他のノードのノードスコアに影響を及ぼすようなネットワークにおいて、その影響の様子をより正確に解析することができるように、他のノードのノードスコアを用いて自ノードのノードスコアを算出する解析手法を適用するようにしてもよい。
例えば、ノードスコアの算出において、3つのノードがエッジにより互いに接続される3ノード間接続の状態にある各ノードに対して、他の2ノードのノードスコアを用いて自ノードのノードスコアを算出する。
このような解析処理の流れの例を図16のフローチャートを参照して説明する。例えば、メインメニューにおいてユーザにより選択され、解析処理が開始されると、第2スコア解析部138は、ステップS181において、読み出し部26を制御して、ノード情報およびエッジ情報を、記憶部13に記憶されているネットワークファイル41乃至エッジ属性ファイル43より読み込み、ステップS182において、読み出し部26を制御して、既存のノードスコアデータを、記憶部13に記憶されている解析データファイル44のファイルより読み込み、ステップS183において、データ変換部22を制御し、それらのデータに基づいてグラフを生成する。
ステップS184において、第2スコア解析部138は、処理対象とするノードを未処理ノード中から選択し、ステップS185において、そのノードがスコア計算対象ノードであるか否かを判定する。例えば、第2スコア解析部138は、処理対象ノードが、3ノード間接続されているか否かを判定する。
処理対象ノードが、3ノード間接続されるノードであり、スコア計算対象ノードであると判定した場合、第2スコア解析部138は、処理をステップS186に進め、解析部23を制御して、他の2ノードのノードスコアに基づいてスコア計算を行う。スコア計算の方法は予め定められている。スコア計算の具体例については後述する。スコア計算が行われると、第2スコア解析部138は、ステップS187において、スコア値に応じてノードの表示設定を行い、ステップS188に処理を進める。また、ステップS185において、処理対象ノードが3ノード間接続を形成しておらず、スコア計算対象ノードでないと判定した場合、第2スコア解析部138は、ステップS188に処理を進める。
ステップS188において、第2スコア解析部138は、スコア計算したノードを描画して表示する。ステップS189において第2スコア解析部138は、未処理ノードが存在するか否かを判定し、存在すると判定した場合、処理をステップS184に戻し、次の未処理ノードについてそれ以降の処理を実行する。
また、ステップS189において、未処理ノードが存在すると判定した場合、第2スコア解析部138は、処理をステップS190に進め、各エッジを描画して表示し、解析処理を終了する。
このように、第2スコア解析部138は、各ノードに対して、3ノード間接続を形成する他の2ノードのノードスコアに基づいてノードスコアを算出する。
次に、図17を参照して、このノードスコアの計算の具体例について説明する。
図17は、分子セットにおける二分子相互関連状態と細胞機能との関連性の推定におけるノードスコアの計算例を説明する図である。このネットワークモデルは、蛋白質の分子間の相互作用と細胞機能との関連を数値化し、解析するためのモデルであり、例えば、細胞における検出目的分子(蛋白質)の発現量の解析等のように医療分野等における蛋白質情報の解析に利用される。
図17に示されるモデルは、蛋白質Aおよび蛋白質Bよりなる分子セットと細胞機能Xとの関連性を推定するためのネットワークモデルであり、蛋白質A、蛋白質B、および細胞機能Xをノードとし、蛋白質A、蛋白質B、および細胞機能Xの互いの関連性をエッジとするネットワークモデルである。すなわち、細胞機能Xは、蛋白質Aおよび蛋白質Bと、3ノード間接続の状態にある。
蛋白質Aおよび蛋白質Bの2分子の組み合わせの状態(二分子相互関連状態)によって、他方の分子を促進するか抑制するかという観点から、NN型、PN型、PP型、P型、および、N型の5つに分類されるものとする。この分類がエッジ属性となる。
NN型は、蛋白質Aおよび蛋白質Bの2つの分子が相互に抑制しあう組み合わせである。NN型の組み合わせの2分子において、一方が他方よりも量的あるいは機能的に勝っている場合、一方がオン(ON)となり、他方がオフ(OFF)となる分子スイッチの働きをする。PN型は、一方が他方を促進、他方が一方を抑制する組み合わせである。2つの分子が促進と抑制という異なった働きを及ぼす場合、促進側の情報はネガティブフィードバックにより振動しながら、一定の値に収束する。PP型は、双方が他方を促進する組み合わせである。すなわち、2つの分子が相互に促進し合っている場合は、両方の分子の情報がポジティブフィードバックにより増幅される。
なお、図17においてはその説明を省略するが、P型は、一方のみが他方を促進する組み合わせである。また、N型は、一方のみが他方を抑制する組み合わせである。
図17Aに、NN型の分子セットにおける二分子相互関連状態と細胞機能との関連性を推定する場合のモデルを示す。この場合、分子セットの一方の蛋白質のノードスコアが他方のノードスコアより大きい場合、その蛋白質のノード属性は、オン(ON)になり、逆に小さい場合は、ノード属性がオフ(OFF)になる。NN型の分子セットが細胞機能Xに対して促進的に働く(POS)かまたは抑制的に働くか(NEG)は、細胞機能Xの、ノード属性がオン(ON)の蛋白質との接続の状態に依存する。すなわち、ノード属性がオン(ON)の蛋白質による細胞機能Xに対する接続がPなら促進を示し、Nなら抑制を示す。図17Aの例においては、蛋白質Aのノード属性がオン(ON)であるので、蛋白質Aの細胞機能Xに対する接続がPの場合、すなわち、図17A中左側の例の場合、NN型の分子セットは細胞機能Xに対して促進的に働き、逆に、蛋白質Aの細胞機能Xに対する接続がNの場合、すなわち、図17A中右側の例の場合、NN型の分子セットは細胞機能Xに対して抑制的に働く。
このように、NN型の分子セットと細胞機能との関連性を推定する場合、第2スコア解析部138(図4)は、図16のステップS186において、蛋白質Aおよび蛋白質Bのノードスコアを用いて、促進のときは、式(5)を算出し、抑制のときは、式(6)を算出することにより細胞機能XのノードスコアSxを求める。
x=|A−B|×α ・・・(5)
x=−|A−B|×α ・・・(6)
ただし、式(5)および式(6)において、αは定数を示し、Aは蛋白質Aのノードスコアを示し、Bは蛋白質Bのノードスコアを示している。
図17Bに、PN型の分子セットにおける二分子相互関連状態と細胞機能との関連性を推定する場合のモデルを示す。この場合、促進の働きが蛋白質Aから蛋白質Bへもたらされる場合(蛋白質Aから蛋白質Bへの接続がP接続で、蛋白質Bから蛋白質Aへの接続がN接続である場合)、蛋白質A(ON)から促進(P)、蛋白質B(OFF)から抑制(N)の作用を受ける細胞機能Yが存在するとき、このPN型分子セットは細胞機能Yに対して促進的に働く(POS)とみなされる。同様に、蛋白質A(ON)から抑制(N)、蛋白質B(OFF)から促進(P)の作用を受ける細胞機能Yが存在するとき、このPN型分子セットは細胞機能Yに対して抑制的に働く(NEG)とみなされる。
このように、PN型の分子セットと細胞機能との関連性を推定する場合、第2スコア解析部138(図4)は、図16のステップS186において、蛋白質Aおよび蛋白質Bのノードスコアを用いて、促進のときは、式(7)を算出し、抑制のときは、式(8)を算出することにより細胞機能YのノードスコアSYを求める。
Y=A×β ・・・(7)
Y=B×β ・・・(8)
ただし、式(7)および式(8)において、βは定数を示し、Aは蛋白質Aのノードスコアを示し、Bは蛋白質Bのノードスコアを示している。
図17Cに、PP型の分子セットにおける二分子相互関連状態と細胞機能との関連性を推定する場合のモデルを示す。この場合、蛋白質Aおよび蛋白質Bから細胞機能Yへの接続がともにP接続(促進)であるときは、このPP型分子セットは細胞機能Yに対して促進的に働く(POS)とみなされ、蛋白質Aおよび蛋白質Bから細胞機能Yへの接続がともにN接続(抑制)であるときは、このPP型分子セットは細胞機能Yに対して抑制的に働く(NEG)とみなされる。
このように、PP型の分子セットと細胞機能との関連性を推定する場合、第2スコア解析部138(図4)は、図16のステップS186において、蛋白質Aおよび蛋白質Bのノードスコアを用いて、促進のときのみ、式(9)を算出することにより細胞機能YのノードスコアSYを求める。
Y=A×B×γ ・・・(9)
ただし、式(9)において、γは定数を示し、Aは蛋白質Aのノードスコアを示し、Bは蛋白質Bのノードスコアを示している。
このように、第2スコア解析部138は、3ノード間接続を形成する他の2ノードのノードスコアに基づいてノードスコアを算出することができる。これにより、ネットワーク分析支援装置1は、上述したような蛋白質の分子セットと細胞機能の関連性の推定のような高度な分析にも対応することができる。このように、ユーザは、各ノードのノードスコアが他のノードのノードスコアに互いに影響を及ぼすような複雑なネットワークであっても、ネットワーク分析支援装置1を用いることにより、より容易に分析を行うことができる。
もちろん、上述した例は一例であり、このような、3ノード間接続を形成する他の2ノードのノードスコアに基づいたノードスコアの算出は、どのような場合に用いてもよい。
上述したような、表示制御処理や解析処理等の各種処理を実行させることにより、例えば図10に示されるように、そのままでは分析不可能なほど大規模で複雑なネットワークであっても、例えば図18に示されるように、必要な情報のみを求めて表示させることができるので、ユーザは、ネットワーク分析支援装置1を利用することにより、ネットワークの傾向や特徴を容易に把握することができる。
図18の例の場合、少なくとも、どのノードにエッジが集中しているかの傾向が、図10の場合と比べて容易に把握することができるように表示されている。さらに、図18において、例えば、グラフビューア61の操作領域63において、各ノードの表示サイズを指定することができるようにし、エッジが集中するような重要なノードを強調するために大きく表示したり、色や形を変更したりすることができるようにしてもよい。
また、図16の例においては、グラフを生成して解析する場合について説明したが、例えば、図18のグラフビューア61の操作領域63において、各ノードのノードスコアを変更することができるようにしてもよい。その場合、上述した3ノード間接続の例のように他のノードスコアに影響を及ぼすようなネットワークにおいては、ノードスコアの再計算をネットワーク全体に渡って行う必要が生じる。
そのような場合の解析処理の流れの例を図19のフローチャートを参照して説明する。この解析処理は、グラフ表示中に継続的に実行される。
グラフが表示され、解析処理が開始されると、スコア更新部139は、ステップS211において、入力部51および出力部52を制御し、表示中のグラフの各ノードのノードスコアを監視する。そして、スコア更新部139は、ステップS212において、いずれかのノードのノードスコアが変化したか否かを判定し、例えば、ユーザが入力する等して、ノードスコアが変化したと判定した場合、ステップS213に処理を進め、全ノード(または一部のノード)のノードスコアの再計算を開始する。
スコア更新部139は、解析部23を制御し、ステップS213において未処理のノードを処理対象ノードとして選択させ、ステップS214においてその処理対象ノードがスコア計算対象ノードに該当するか否かを判定する。処理対象ノードが、ノードスコアを再計算する必要があるスコア計算対象ノードであると判定した場合、スコア更新部139は、解析部23を制御し、ステップS215において、処理対象ノードが形成する3ノード間接続に含まれる他の2ノードのノードスコアに基づいてスコア計算を行わせ、処理対象ノードのノードスコアを算出させる。ノードスコアが算出されると、スコア更新部139は、表示制御部24を制御し、算出されたノードスコアの値であるスコア値に応じて、例えば表示サイズを決定する等の、処理対象ノードの表示設定を行う。表示設定が終了すると、スコア更新部139は、処理をステップS217に進める。
また、ステップS214において、処理対象ノードがスコア計算対象ノードで無いと判定した場合、スコア更新部139は、ステップS215およびステップS216の処理を省略し、ステップS217に処理を進める。
ステップS217において、スコア更新部139は、出力部52を制御し、処理対象ノードを描画してモニタに表示させる。ステップS218において、スコア更新部139は、未処理ノードが存在するか否かを判定し、存在すると判定した場合、処理をステップS213に戻し、他の未処理ノードについて、それ以降の処理を実行させる。また、ステップS218において、ネットワークの全てのノードについて処理を行うなどして、未処理ノードが存在しないと判定した場合、スコア更新部139は、処理をステップS219に進める。また、ステップS212において、どのノードについてもノードスコアが変化していないと判定した場合、スコア更新部139は、解析処理を終了するか否かを判定する。終了しないと判定した場合、スコア更新部139は、処理をステップS211に戻し、それ以降の処理を繰り返し実行させる。また、グラフ表示が終了するなどして、解析処理を終了すると判定した場合、スコア更新部139は、解析処理を終了する。
このように、ネットワーク分析支援装置1はノードスコアの更新を行うこともできるので、ユーザは、例えば、ネットワーク内の一部のノードのノードスコアを変化させ、ネットワーク全体に対するその影響を調べる等の高度な分析も行うことができる。また、ネットワーク分析支援装置1は、ネットワークの最新の状態をユーザに提示することができるので、より適切な分析支援を行うことができる。
また、メインメニューにおいてユーザが保存処理を選択すると、以上のように更新された最新のグラフデータ31をファイルに保存させることができる。このようにグラフの保存指示が受け付けられると、グラフ保存制御部107は、保存処理を開始し、グラフデータをファイルに変換して、記憶部13に記憶させる。
図20のフローチャートを参照して、保存処理の流れの例を説明する。
保存処理が開始されると、グラフ保存制御部107は、ステップS231において、入力部51および出力部52を制御し、ユーザにファイル名を入力させるGUIをモニタに表示させ、そのGUIに対する入力を受け付けることにより、ユーザからのファイル名入力を受け付ける。
ファイル名入力が受け付けられると、グラフ保存制御部107は、ステップS232において、指定されたファイル名に基づいて、データ変換部22を制御し、グラフデータ31を変換し、各情報を格納するファイル(ネットワークファイル41、ノード属性ファイル42、エッジ属性ファイル43、および解析データファイル44等)を生成する。
ステップS233において、グラフ保存制御部107は、書き込み部25を制御し、生成した各ファイルを記憶部13に記録する。ファイルの記録が終了すると、グラフ保存制御部107は、ステップS234において、出力部52を制御し、保存が終了したことをユーザに通知する保存終了メッセージを表示させ、保存処理を終了する。
また、メインメニューにおいてユーザが終了処理を選択すると、終了処理制御部108が終了処理を行い、グラフの表示を終了する。図21のフローチャートを参照して終了処理の流れの例を説明する。
終了処理が開始されると、終了処理制御部108は、ステップS251において、最後の(最近の)保存後に、例えば解析処理や属性設定等によってグラフが変更される等して、グラフデータ31が変更されたか否かを判定し、変更されたと判定した場合、処理をステップS252に進め、入力部51および出力部52を制御し、ユーザにグラフを保存するか否かを入力させるGUIを表示し、そのGUIに対する入力を受け付けることにより、グラフの保存を確認する。ユーザ指示を受け付けると、終了処理制御部108は、処理をステップS253に進め、そのユーザ指示に基づいてグラフを保存するか否かを判定する。グラフを保存すると判定した場合、処理をステップS254に進める。ステップS254において、終了処理制御部108は、グラフ保存制御部107を制御し、保存処理を実行させる。保存処理が終了すると、終了処理制御部108は、ステップS255において、グラフの表示を終了させた後、終了処理を終了する。
また、ステップS251において最後の保存後にグラフが変更されていないと判定した場合、または、ステップS253において、ユーザがグラフを保存しないと指示した場合、終了処理制御部108は、処理をステップS255に進め、出力部52を制御して、グラフの表示を終了させた後、終了処理を終了する。
以上のように、ネットワーク分析支援装置1は、ユーザが容易にネットワークの分析を行うことができるように、ノードだけでなくエッジの属性も定義することができるようにし、また、それらを用いて多様な解析を行うことができる。
以上においては、1台のネットワーク分析支援装置1により構成されるように説明したが、図1に示される構成を、ネットワークを介して互いに接続された複数の装置により、ネットワークシステムとして実現するようにしてもよい。
例えば、図1においては、ネットワークファイル41等が記憶部13に記憶されるように説明したが、これらのファイルを、ネットワークを介してサーバ等より取得するようにしてもよい。
図22は、本発明の他の実施の形態を示す図である。図22において、ネットワーク分析支援システム200は、サーバ201、クライアント202−1、およびクライアント202−2がLANやインターネットに代表される有線または無線のネットワーク203を介して互いに接続されたネットワークシステムであり。クライアント202−1およびクライアント202−2のユーザが行う、ノード及びエッジよりなるネットワークの分析を支援するシステムである。以下において、クライアント202−1とクライアント202−2を互いに区別する必要の無い場合、クライアント202と称する。
サーバ201は、ネットワークファイル41乃至解析データファイル44を登録するファイルデータベース211を有している。クライアント202において生成されたファイルは、このファイルデータベース211に登録され、一括管理される。
クライアント202は、基本的に図1に示されるネットワーク分析支援装置1と同様の構成を有しているが、ネットワークファイル41乃至解析データファイル44は、記憶部13に記憶させる代わりに、サーバ201に供給し、ファイルデータベース211に登録する。従って、クライアント202は、ファイルを読み込む際も、ネットワーク203を介してサーバ201にアクセスし、ファイルデータベース211より必要なファイルを取得する。
このようにすることにより、ファイルを各クライアント202の間で共有することができる。
なお、図22に示されるネットワーク分析支援システム200において、サーバ201、クライアント202、およびネットワーク203の数は、それぞれ任意であり、また、これら以外の構成を含むようにしても良い。
また、サーバ201とクライアント202によって、図1のネットワーク分析支援装置1が行う処理を実現することができればよく、どの処理をいずれにおいて行うかは任意である。例えば、クライアント202においては、画像表示や入力受付等のユーザインタフェースの処理のみを行い、データ変換処理や解析処理等の各処理はサーバ201において行うようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図23に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図23において、パーソナルコンピュータ300のCPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または記憶部313からRAM303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU301、ROM302、およびRAM303は、バス304を介して相互に接続されている。このバス304にはまた、入出力インタフェース310も接続されている。
入出力インタフェース310には、キーボード、マウスなどよりなる入力部311、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部312、ハードディスクなどより構成される記憶部313、モデムなどより構成される通信部314が接続されている。通信部314は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース310にはまた、必要に応じてドライブ315が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア321が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部313にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図23に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア321により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM302や、記憶部313に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明は、情報処理装置に適用することが可能である。
本発明を適用したネットワーク分析支援装置の構成例を示すブロック図である。 グラフの表示例を示す図である。 グラフデータの構成例を示す図である。 機能ブロックの構成例を示す図である。 メインメニュー処理の流れの例を説明するフローチャートである。 グラフ生成処理の流れの例を説明するフローチャートである。 グラフ定期更新処理の流れの例を説明するフローチャートである。 属性設定処理の流れの例を説明するフローチャートである。 属性設定処理の流れの例を説明する、図8に続くフローチャートである。 グラフの他の表示例を示す図である。 表示制御処理の流れの例を説明するフローチャートである。 表示制御処理の、他の流れの例を説明するフローチャートである。 解析処理の流れの例を説明するフローチャートである。 解析処理の流れの例を説明する、図12に続くフローチャートである。 解析結果の例を示す図である。 解析処理の、他の流れの例を説明するフローチャートである。 ノードスコアの計算の具体例について説明する図である。 グラフの、さらに他の表示例を示す図である。 解析処理の、さらに他の流れの例を説明するフローチャートである。 保存処理の流れの例を説明するフローチャートである。 終了処理の流れの例を説明するフローチャートである。 本発明を適用したネットワーク分析支援システムの構成例を示すブロック図である。 本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
符号の説明
1 ネットワーク分析支援装置, 12 保持部, 13 記憶部, 21 制御部, 22 データ変換部, 23 解析部, 24 表示制御部, 31 グラフデータ, 41 ネットワークファイル, 42 ノード属性ファイル, 43 エッジ属性ファイル, 44 解析データファイル, 51 入力部, 52 出力部, 101 メインメニュー制御部, 102 グラフ生成制御部, 103 定期更新制御部, 104 属性設定制御部, 105 グラフ表示制御部, 106 グラフ解析制御部, 112 エッジ属性設定部, 121 フィルタリング部, 123 エッジ属性選択部, 131 次数解析部, 132 媒介中心性解析部, 133 クラスタ係数解析部, 134 最短パス長解析部, 135 構造的空隙解析部, 136 エッジ指定解析部, 137 第1スコア解析部, 138 第2スコア解析部, 139 スコア更新部, 200 ネットワーク分析支援システム, 211 ファイルデータベース

Claims (10)

  1. 複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置であって、
    前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定手段を備える
    ネットワーク分析支援装置。
  2. 前記ネットワークをグラフとして画像化し、モニタに表示させる表示制御手段をさらに備え、
    前記表示制御手段は、視覚的な特徴により前記エッジ属性を示すように前記グラフを表示させる
    請求項1に記載のネットワーク分析支援装置。
  3. エッジ属性の指定を受け付け、指定された前記エッジ属性を有するエッジ、および前記エッジに接続されるノードを前記ネットワークより選択して抽出するエッジ属性選択手段をさらに備え、
    前記グラフ表示制御手段は、前記エッジ属性選択手段により選択された前記エッジおよび前記ノードのみを表示する
    請求項2に記載のネットワーク分析支援装置。
  4. エッジ属性の指定を受け付け、指定された前記エッジ属性を有するエッジにより互いに接続されるノード群を前記ネットワークより抽出するエッジ指定解析手段をさらに備える
    請求項1に記載のネットワーク分析支援装置。
  5. ノードの重みを示すノードスコアを算出するスコア算出手段をさらに備える
    請求項1に記載のネットワーク分析支援装置。
  6. 前記スコア算出手段は、処理対象のノードに接続されるエッジの重みを示すエッジスコアに基づいて、前記処理対象のノードのノードスコアを算出する
    請求項5に記載のネットワーク分析支援装置。
  7. 処理対象のノードに前記エッジを介して接続される他のノードのノードスコアに基づいて、前記処理対象のノードのノードスコアを算出する
    請求項5に記載のネットワーク分析支援装置。
  8. 複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援するネットワーク分析支援装置のネットワーク分析支援方法であって、
    前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定ステップを備える
    ネットワーク分析支援方法。
  9. 複数のノードと前記ノードの結びつきを示すエッジよりなるネットワークの分析を支援する処理を制御するコンピュータが実行可能なプログラムであって、
    前記エッジに対して、前記結びつきの意味を示すエッジ属性を設定するエッジ属性設定ステップをコンピュータに実行させる
    プログラム。
  10. 請求項9に記載のプログラムが記録されている記録媒体。
JP2006227866A 2006-08-24 2006-08-24 ネットワーク分析支援装置および方法、プログラム並びに記録媒体 Pending JP2008052494A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006227866A JP2008052494A (ja) 2006-08-24 2006-08-24 ネットワーク分析支援装置および方法、プログラム並びに記録媒体
US11/842,627 US20080052378A1 (en) 2006-08-24 2007-08-21 Network analysis assisting apparatus and method, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006227866A JP2008052494A (ja) 2006-08-24 2006-08-24 ネットワーク分析支援装置および方法、プログラム並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2008052494A true JP2008052494A (ja) 2008-03-06

Family

ID=39197947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006227866A Pending JP2008052494A (ja) 2006-08-24 2006-08-24 ネットワーク分析支援装置および方法、プログラム並びに記録媒体

Country Status (2)

Country Link
US (1) US20080052378A1 (ja)
JP (1) JP2008052494A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282574A (ja) * 2008-05-19 2009-12-03 Sony Corp 情報処理装置、情報処理方法、およびプログラム
WO2020153150A1 (ja) * 2019-01-23 2020-07-30 日本電信電話株式会社 グラフ要約装置、グラフ要約方法及びプログラム
WO2020235468A1 (ja) * 2019-05-17 2020-11-26 株式会社アイエクセス クラスタ解析方法、クラスタ解析システム、及びクラスタ解析プログラム
JP2021502617A (ja) * 2018-09-28 2021-01-28 蘇州達家迎信息技術有限公司 ソーシャルネットワークにおける中心頂点の確定方法、装置、デバイスおよび記憶媒体

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429199B2 (en) * 2007-08-31 2013-04-23 Oracle International Corporation Load on demand network analysis
US10530894B2 (en) 2012-09-17 2020-01-07 Exaptive, Inc. Combinatorial application framework for interoperability and repurposing of code components
CN103227731B (zh) * 2013-04-23 2016-04-20 西北工业大学 基于改进“结构洞”的复杂网络节点重要性局部计算方法
EP2916268A1 (en) * 2014-03-05 2015-09-09 Fujitsu Limited A computer-implemented k-shortest path finding method
US10120956B2 (en) * 2014-08-29 2018-11-06 GraphSQL, Inc. Methods and systems for distributed computation of graph data
US10467538B2 (en) * 2014-09-09 2019-11-05 International Business Machines Corporation Link de-noising in a network
US10417134B2 (en) * 2016-11-10 2019-09-17 Oracle International Corporation Cache memory architecture and policies for accelerating graph algorithms
US11120082B2 (en) 2018-04-18 2021-09-14 Oracle International Corporation Efficient, in-memory, relational representation for heterogeneous graphs
USD982021S1 (en) * 2019-09-03 2023-03-28 Silvus Technologies, Inc. Display screen or portion thereof with a graphical user interface
CN117172286B (zh) * 2023-09-05 2024-05-07 岭南师范学院 一种基于改进结构洞的多层融合网络关键节点识别方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001040988A1 (en) * 1999-11-30 2001-06-07 Maxamine International Pty Ltd Web map tool
US7251688B2 (en) * 2000-05-26 2007-07-31 Akamai Technologies, Inc. Method for generating a network map
US7194466B2 (en) * 2003-05-01 2007-03-20 Microsoft Corporation Object clustering using inter-layer links
US7818394B1 (en) * 2004-04-07 2010-10-19 Cisco Techology, Inc. Social network augmentation of search results methods and apparatus
US8572221B2 (en) * 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US10373173B2 (en) * 2004-06-14 2019-08-06 Facebook, Inc. Online content delivery based on information from social networks
US7716140B1 (en) * 2004-12-31 2010-05-11 Google Inc. Methods and systems for controlling access to relationship information in a social network
KR100690021B1 (ko) * 2005-03-15 2007-03-08 엔에이치엔(주) 다면적인 관계 설정을 촉진하기 위한 온라인상 휴먼네트워크 관리 시스템 및 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282574A (ja) * 2008-05-19 2009-12-03 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP4720853B2 (ja) * 2008-05-19 2011-07-13 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US8456477B2 (en) 2008-05-19 2013-06-04 Sony Corporation Information processing apparatus, information processing method and program for generating and displaying network structures
JP2021502617A (ja) * 2018-09-28 2021-01-28 蘇州達家迎信息技術有限公司 ソーシャルネットワークにおける中心頂点の確定方法、装置、デバイスおよび記憶媒体
WO2020153150A1 (ja) * 2019-01-23 2020-07-30 日本電信電話株式会社 グラフ要約装置、グラフ要約方法及びプログラム
JP2020119261A (ja) * 2019-01-23 2020-08-06 日本電信電話株式会社 グラフ要約装置、グラフ要約方法及びプログラム
JP7120043B2 (ja) 2019-01-23 2022-08-17 日本電信電話株式会社 グラフ要約装置、グラフ要約方法及びプログラム
WO2020235468A1 (ja) * 2019-05-17 2020-11-26 株式会社アイエクセス クラスタ解析方法、クラスタ解析システム、及びクラスタ解析プログラム
JP6852941B1 (ja) * 2019-05-17 2021-03-31 株式会社アイエクセス クラスタ解析方法、クラスタ解析システム、及びクラスタ解析プログラム
US11636144B2 (en) 2019-05-17 2023-04-25 Aixs, Inc. Cluster analysis method, cluster analysis system, and cluster analysis program

Also Published As

Publication number Publication date
US20080052378A1 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
JP2008052494A (ja) ネットワーク分析支援装置および方法、プログラム並びに記録媒体
Hon et al. pqsfinder: an exhaustive and imperfection-tolerant search tool for potential quadruplex-forming sequences in R
Kurant et al. On the bias of BFS (breadth first search)
JP4720853B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN103535056B (zh) 呈现与位置相关联的消息
US8484197B2 (en) Search apparatus, search method, and computer readable medium
CN109992699B (zh) 用户群的优化方法及装置、存储介质、计算机设备
JP4714080B2 (ja) ネットワークコア抽出方法および装置、ネットワークコア抽出プログラムとそのプログラムを記録した記録媒体
CN116028829A (zh) 基于传递步长调整的修正聚类处理方法、设备及存储介质
US20160070732A1 (en) Systems and methods for analyzing and deriving meaning from large scale data sets
CN111353103A (zh) 用于确定用户社群信息的方法和装置
JP6898542B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2014016916A (ja) ソーシャル・グラフの拡張方法、プログラム及びシステム
Gao Density-based approach for fuzzy rule interpolation
JP2011248534A (ja) グラフパターンを用いたネットワーク分析装置、ネットワーク分析方法、およびネットワーク分析用プログラム
JP2013257677A (ja) イベント検出装置、イベント検出方法およびイベント検出プログラム
US8923822B2 (en) Method and apparatus for managing interruptions from different modes of communication
JP7398944B2 (ja) 電子アルバム生成装置、電子アルバム生成方法及びプログラム
JP2010113683A (ja) 情報推薦装置、情報推薦方法および情報推薦プログラム
CN111460324B (zh) 一种基于链接分析的引文推荐方法及***
JP6129815B2 (ja) 情報処理装置、方法及びプログラム
Liao et al. Analyzing social network data using deep neural networks: A case study using Twitter posts
JP2010009489A (ja) データ処理装置、ワークフローシステム、データ処理方法及びコンピュータプログラム
CN111597396A (zh) 异构网络社群检测方法、装置、计算机设备及存储介质
JP2010250569A (ja) 画像検索装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090407