(57)【要約】【課題】ノードをエッジで接続して表現する有向グラフを解析する方法において、ノード間の連結性を維持しながら、重要エッジの強調を行う。【解決手段】各ノード（Ａ〜Ｃ）について、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録し、一対のノード間の代替パスに応じて、一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う。このため、ノード間の連結性を維持したまま、有向グラフの重要な部分を自動的に強調することでき、効率的な情報分析が可能となる。【選択図】図１２
2004178270.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析方法において、
複数のノード間の接続関係を示すデータセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録するステップと、
前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う強調処理ステップとを有する
ことを特徴とする有向グラフ解析方法。
【請求項２】
複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析装置において、
複数のノード間の接続関係を示すデータセットを格納するファイル装置と、
前記データセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録し、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う強調処理するデータ処理ユニットとを有する
ことを特徴とする有向グラフ解析装置。
【請求項３】
前記データ処理ユニットは、前記強調処理として、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を実行する
ことを特徴とする請求項２の有向グラフ解析装置。
【請求項４】
前記データ処理ユニットは、前記強調処理として、前記一対のノード間の代替パスが１つ以上ある時に、前記代替パスを構成する各エッジの重みを増加する処理を実行する
ことを特徴とする請求項２の有向グラフ解析装置。
【請求項５】
前記データ処理ユニットは、前記重み付けされた各エッジを重みの順にソートし、前記ソート結果に従い、重みの小さいエッジを削除する処理を更に実行する
ことを特徴とする請求項４の有向グラフ解析装置。
【請求項６】
前記データ処理ユニットは、前記削除されたエッジを前記エッジの重みに従い、絞り込む処理を更に実行する
ことを特徴とする請求項５の有向グラフ解析装置。
【請求項７】
前記データ処理ユニットは、前記登録処理として、指定された代替パス長以下の代替パスを前記リストに登録する処理を実行する
ことを特徴とする請求項２の有向グラフ解析装置。
【請求項８】
複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析プログラムにおいて、
複数のノード間の接続関係を示すデータセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録する第１のプログラムデータと、
前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行い、強調処理する第２のプログラムデータとを有する
ことを特徴とする有向グラフ解析プログラム。
【請求項９】
前記第２のプログラムデータは、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を行うプログラムデータからなる
ことを特徴とする請求項８の有向グラフ解析プログラム。
【請求項１０】
前記第２のプログラムデータは、前記一対のノード間の代替パスが１つ以上ある時に、前記代替パスを構成する各エッジの重みを増加する処理を行うプログラムデータからなる
ことを特徴とする請求項９の有向グラフ解析プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンテンツ情報を分析するため、情報をノードとエッジとで構成する有向グラフで視覚化するための有向グラフ解析方法、解析装置及びそのプログラムに関し、特に、グラフの重要部分を自動的に強調するための有向グラフ解析方法、解析装置及びそのプログラムに関する。
【０００２】
【従来の技術】
近年、インターネットの普及や全文データベースの増加に伴い、電子化された大量のコンテンツ情報が利用できるようになってきた。このような大量の情報を分析し、そこから役に立つ情報を抽出する技術への期待が高まっている。
【０００３】
そのような技術のひとつに、情報をノードとエッジから構成される有向グラフで表現する視覚化技術がある。例えば、技術情報分析では、特許や文献をノード、引用関係や関連関係をエッジとする有向グラフで表す。これにより、代表的な特許や文献がどれであるか、また技術の流れがどうなっているかなどの分析が可能となる。又、他にも、ＷＥＢページとそのリンク関係を、有向グラフで表し、ＷＥＢブラウズに利用するなどのように、文書とその間の各種関係を、有向グラフで表現する、又は、対象とその間の関係を、有向グラフで表現するなどに利用することができる。
【０００４】
このようなノードとエッジとによるグラフ表示においては、多数のノードとエッジが対象となる場合には、単に、グラフ表示しても、ユーザーによる分析は、容易とならない。このため、分析がし易いように、グラフを解析し、視覚により、効率良く分析できる方法が必要となる。この方法として、以下の技術が提案されている。
【０００５】
従来の第１の有向グラフの視覚化方法は、すべての情報を１枚の図にし、興味あるところは大きく、それ以外は小さくというように、効率よく視覚化するものである（例えば、特許文献１参照）。
【０００６】
又、第２の従来技術は、プログラム構造の解析において、不要なノードを削除して、グラフ表示するものである（例えば、特許文献２参照）。
【０００７】
第３の従来技術は、ネットワーク図の作成において、根幹以外の冗長なエッジ（パス）を削除し、重要なパスのみを視覚化する方法である（例えば、特許文献３参照）。
【０００８】
【特許文献１】
米国特許第５、６１９、６３２号公報（第２０図）
【０００９】
【特許文献２】
特開平６−１８７１３８号公報（図８）
【００１０】
【特許文献３】
特開平１−１２４０６０号公報（第２図乃至第６図）
【００１１】
【発明が解決しようとする課題】
しかしながら、第１の従来技術では、ノードやエッジの数は、変化せず、拡大、縮小表示するため、有向グラフの性質を利用して、冗長部分を削除して、重要部分を強調するグラフを表示しないため、大量の情報を分析することが困難であった。
【００１２】
又、第２の従来技術では、階層化されたプログラムのように、ノードの重要度が予め判っているものに対しては、有効であるが、ノードの重要度が判らず、これを分析する用途に使用することには、適していない。
【００１３】
更に、第３の従来技術では、冗長なパスを削除して、ノード間の関係を理解し易いが、根幹のパスを基準とするため、根幹以外のパスの一部が削除され、重要部分が欠落するおそれがあった。このため、有向グラフの性質を利用した重要部分を強調するグラフ化が困難であり、グラフによる情報の分析がしにくいという問題があった。
【００１４】
従って、本発明の目的は、有向グラフの性質を利用して、重要なエッジを強調するための有向グラフの解析方法、解析装置及びそのプログラムを提供することにある。
【００１５】
又、本発明の他の目的は、有向グラフの性質を利用して、重要なエッジを削除することなく、エッジの絞込み（冗長エッジの削除）を行うための有向グラフの解析方法、解析装置及びそのプログラムを提供することにある。
【００１６】
更に、本発明の他の目的は、有向グラフの性質を利用して、エッジの重み付けを行い、重要なエッジを強調する有向グラフの解析方法、解析装置及びそのプログラムを提供することにある。
【００１７】
【課題を解決するための手段】
この目的の達成のため、本発明の有向グラフ解析方法は、複数のノード間の接続関係を示すデータセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録するステップと、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う強調処理ステップとを有する。
【００１８】
本発明の有向グラフ解析装置は、複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析装置において、複数のノード間の接続関係を示すデータセットを格納するファイル装置と、前記データセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録し、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う強調処理するデータ処理ユニットとを有する。
【００１９】
本発明の有向グラフ解析プログラムは、複数のノード間の接続関係を示すデータセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録する第１のプログラムデータと、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行い、強調処理する第２のプログラムデータとを有する。
【００２０】
本発明では、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録し、一対のノード間の代替パスに応じて、一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行うので、連結性を維持したまま、有向グラフの重要な部分を自動的に強調することでき、効率的な情報分析が可能となる。
【００２１】
又、本発明では、好ましくは、前記強調処理は、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理からなる。これにより、代替パスが存在する場合に、冗長エッジを削除するため、連結性を保ちつつ、グラフの重要エッジを強調できる。
【００２２】
又、本発明では、好ましくは、前記強調処理は、前記一対のノード間の代替パスが１つ以上ある時に、前記代替パスを構成する各エッジの重みを増加する処理からなる。代替パスに応じて、エッジの重みを制御するため、連結性を保ちつつ、重要エッジを強調できる。
【００２３】
更に、本発明では、好ましくは、前記強調処理は、更に、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を有する。これにより、重み付けに加え、冗長エッジを削除するため、一層、有向グラフの分析が容易となる。
【００２４】
更に、本発明では、好ましくは、前記重み付けされた各エッジを重みの順にソートするステップと、前記ソート結果に従い、重みの小さいエッジを削除するステップとを更に有する。これにより、代表的なグラフの流れを把握でき、一層グラフの分析が容易となる。
【００２５】
更に、本発明では、好ましくは、前記削除されたエッジを前記エッジの重みに従い、絞り込むステップを更に有する。これにより、絞り込みで捨てられたエッジを順次表現でき、一層グラフの分析が容易となる。
【００２６】
更に、本発明では、好ましくは、前記登録ステップは、指定された代替パス長以下の代替パスを前記リストに登録するステップからなる。これにより、絞り込みの程度をユーザーが制御でき、ユーザーの分析に自由度を持たせることができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を、有向グラフ解析システム、エッジ絞込み及び重み付け処理、エッジ絞込みと重み付けの他の強調処理、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【００２８】
［有向グラフ解析システム］
図１は、本発明の一実施の形態の有向グラフ解析システムの全体ブロック図、図２は、有向グラフの説明図、図３は、この有向グラフのデータセットの説明図、図４は、エッジ絞込みされた有向グラフの説明図、図５は、エッジ重み付けされた有向グラフの説明図、図６は、エッジ絞込み及び重み付けされた有向グラフの説明図である。
【００２９】
図１に示すように、解析システムは、パーソナルコンピュータ等のデータ処理装置で構成され、対象とするデータセットを格納するファイル装置２と、データセットをグラフ処理し、ユーザーに表示するデータ処理ユニット１とで構成される。典型的なデータ処理ユニット１のハード構成は、ＣＰＵ、メモリ、デイスプレイ、入力ユニットで構成される。
【００３０】
データ処理ユニット１にインストールされるグラフ操作プログラムモジュールは、ａｌｌｃｈｅｃｋモジュール１０、ｎｏｄｅｃｈｅｃｋモジュール１１、ｃａｌｃ＿ａｌｔｐａｔｈモジュール１２、ｇｒａｐｈｏｐ＿ｅｄｇｅｃｕｔモジュール１３、ｇｒａｐｈｏｐ＿ｅｄｇｅｗｅｉｇｈｔモジュール１４、ｓｕｍｍａｒｉｚｅモジュール１５、ｓｕｍｍａｒｉｚｅｎモジュール１６、ｓｕｍｍａｒｉｚｅｎｅｘｔモジュール１７、ｓｕｍｍａｒｉｚｅｎｎｅｘｔモジュール１８、ＧＵＩモジュール１９とで構成されている。
【００３１】
先ず、有向グラフを、図２により説明する。図２に示すように、５つのノードＡ，Ｂ，Ｃ，Ｄ，Ｅが、存在し、例えば、ノードが文献を、エッジ（接続関係）が、文献の引用関係を表している。この場合、文献Ａ，Ｂ，Ｄは，共通の文献Ｃから引用されていることを表す。このような場合に、両者の間には何らかの関連性が存在することが多い。
【００３２】
本発明では、そのようなノード間のパス（連続するエッジ）を際立たせることで、研究や技術の流れを明確にし、効率的な情報分析を可能とすることを目的とする。このパスを際立たせるためのグラフ操作としては、図３に示すように、冗長エッジ（ここでは、図２のＡ−Ｃ，Ｄ−Ｃ）を削除するエッジ絞り込みと、図４に示すように、エッジの重み付けを行い、重要エッジを強調するエッジ重み付けがある。図４では、重要エッジＡ−Ｄ，Ａ−Ｅ，Ｄ−Ｂ，Ｅ−Ｂ，Ｂ−Ｃを太線で表示している。同様に、この操作は組み合わせてもよい。
【００３３】
図５に示すように、エッジ重み付けを行う場合に、その後でエッジ重み付けに基づく絞り込みを行うこともできる。その場合に、さらに、絞り込みで捨てられた情報を知るために、既出のエッジを除いた絞り込みを行うこともできる。更に、グラフ操作を適用する場合の代替パス長さに制約を加えることもできる。これにより、グラフ操作を適用するエッジ共起を制御できる。
【００３４】
次に、言葉の定義を行う。ノードｎの親ノードｐとは、ノードｎを終点とするエッジの存在するノードである。図２の例では、ノードＢは、ノードＣの親ノードである。又、パスとは、連続するエッジである。パスの長さとは、パスを構成するエッジの数である。
【００３５】
図３は、ファイル装置２に格納されたグラフのデータセットＧの構成図であり、データセットは、各ノードＡ〜Ｅの親ノードを示す。図３は、図２の有向グラフの場合の各ノードの親ノードの関係テーブルを示す。
【００３６】
次に、図１の各プログラムモジュールの概要を説明する。ａｌｌｃｈｅｃｋモジュール１０は、ユーザーからのエッジ共起に基づいて、データセット２のグラフ上の各ノードｎについて、モジュール１１〜１４の操作をチエックする。Ｎｏｄｅｃｈｅｃｋモジュール１１は、各ノードｎのグラフ操作を行う。Ｃａｌｃ＿ａｌｔｐａｔｈモジュール１２は、ノードｎへの全てのパスを始点ノードに保持する操作を行う。Ｇｒａｐｈｏｐ＿ｅｄｇｅｃｕｔモジュール１３は、エッジの絞込みを行う。Ｇｒａｐｈｏｐ＿ｅｄｇｅｗｅｉｇｈｔモジュール１４は、重要なエッジを際立たせるグラフ操作を行う。
【００３７】
Ｓｕｍｍａｒｉｚｅモジュール１５は、エッジ重み付けに基づき、エッジ重み最小値ｍｉｎ以上のエッジへ絞り込むグラフ操作を行う。Ｓｕｍｍａｒｉｚｅｎモジュール１６は、エッジ重み付けに基づきノード数ｎに絞り込むグラフ操作を行う。Ｓｕｍｍａｒｉｚｅｎｅｘｔモジュール１７は、既出（エッジ重み最小値ｍｉｎ１以上）のエッジを除いたエッジ重み最小値ｍｉｎ２以上のエッジへ絞り込むグラフ操作を行う。
【００３８】
Ｓｕｍｍａｒｉｚｅｎｎｅｘｔモジュール１８は、既出（ノード数ｎ１）のエッジを除いたノード数ｎへ絞り込むグラフ操作を行う。ＧＵＩモジュール１９は、ユーザーの指示に応じて、これらモジュール１０〜１８を操作し、処理結果を表示する。
【００３９】
［エッジ絞込み及び重み付け処理］
次に、モジュール１０〜１２により、データセットのノード情報からエッジを求め、更に、モジュール１３，１４により、エッジの絞込み、重み付けを行うグラフ解析処理を説明する。先ず、データセットのノード情報から全エッジを求める処理を説明する。図７は、ａｌｌｃｈｅｃｋモジュール１０によるチエック処理フロー図である。
【００４０】
（Ｓ１０）エッジ共起指示に応じて、データセット２からグラフ（ノード及びエッジ）に関する情報Ｇ（図３のノードテーブル）を得る。
【００４１】
（Ｓ１２）得たグラフ上の各ノードｎについて、図８で後述するｎｏｄｅｃｈｅｃｋ（ｎ，Ｇ）を実行する。そして、終了する。
【００４２】
図８は、ｎｏｄｅｃｈｅｃｋモジュール１１による各ノードｎのパス計算起動処理フロー図である。尚、ｃｈｅｃｋｅｄ（ｎ）は、処理済みかをチエックするフラグであり、ｃｉｒｃｌｅｃｈｅｃｋｅｄ（ｎ）は、既に一度通ったノードかをチエックするためのフラグであり、ａｌｔｐａｔｈは、ノード間のパスを示し、ａｌｔｐａｔｈｌｉｓｔ（ｎ）は、ノードｎの代替パス集合のリストである。
【００４３】
（Ｓ２０）ａｌｌｃｈｅｃｋモジュール１０のステップＳ１２で、ｎｏｄｅｃｈｅｃｋ（ｎ，Ｇ）が、コールされると、処理済フラグｃｈｅｃｋｅｄ（ｎ）をチェックし、既に処理済であれば終了する。
【００４４】
（Ｓ２２）処理済でない時は、処理済フラグｃｈｅｃｋｅｄ（ｎ）  に、処理済とマークする。
【００４５】
（Ｓ２４）ノードｎの各親ノードｐについて、ｎｏｄｅｃｈｅｃｋ（ｐ，Ｇ）を実行する。即ち、図３のデータセットから、ノードｎの親ノードｐがあるかを調べ、親ノードｐがある時は、親ノードの処理を先に行う。
【００４６】
（Ｓ２６）データａｌｔｐａｔｈｌｉｓｔｓ，ａｌｔｐａｔｈ，ｃｉｒｃｌｅｃｈｅｃｋを空に初期化する。
【００４７】
（Ｓ２８）ノードｎへのすべてのパスを、それぞれのパスの始点ノードに保持するために、図９で後述するｃａｌｃ＿ａｌｔｐａｔｈ（ｎ，ａｌｔｐａｔｈ，Ｇ）モジュール１２を実行する。
【００４８】
（Ｓ３０）ノードｎの各親ノードｐについてのｃａｌｃ＿ａｌｔｐａｔｈ（ｎ，ａｌｔｐａｔｈ，Ｇ）の結果ａｌｔｐａｔｈｌｉｓｔｓ（ｎ）を用いて、ｐからｎへのエッジの代替パスを求める。代替パスがひとつ以上あれば、定められたグラフ操作（図１１のエッジカット、図１４のエッジウェイト）を、ノードｎ，その親ノードｐ，ｐからｎへのエッジの代替パス集合ａｌｔｐａｔｈｌｉｓｔ，グラフ情報Ｇを引数にして呼び出す。
【００４９】
次に、ノードｎへのすべてのパスを，始点ノードに保持するｃａｌｃ＿ａｌｔｐａｔｈ（ｎ，ａｌｔｐａｔｈ，Ｇ）の処理を、図９により説明する。
【００５０】
（Ｓ３２）ｃａｌｃ＿ａｌｔｐａｔｈ（ｎ，ａｌｔｐａｔｈ，Ｇ）がコールされると、処理済フラグｃｉｒｃｌｅｃｈｅｃｋ（ｎ）をチェックし、既に処理済であれば終了する。処理済フラグｃｉｒｃｌｅｃｈｅｃｋ（ｎ）は、既に一度通ったノードかどうかをチェックするためのフラグである。
【００５１】
（Ｓ３４）処理済でなければ、パスａｌｔｐａｔｈの末尾に、ノードｎを追加する。
【００５２】
（Ｓ３６）処理済フラグｃｉｒｃｌｅｃｈｅｃｋ（ｎ）に、処理済とマーキングする。
【００５３】
（Ｓ３８）パスａｌｔｐａｔｈの長さが、２以上ならば、始点ｎに保持しているパス集合ａｌｔｐａｔｈｌｉｓｔｓ（ｎ）にパスａｌｔｐａｔｈを追加する。
【００５４】
（Ｓ４０）ノードｎの各親ノードｐについて、ｃａｌｃ＿ａｌｔｐａｔｈ（ｐ，ａｌｔｐａｔｈ，Ｇ）を実行する。
【００５５】
（Ｓ４２）処理済フラグｃｉｒｃｌｅｃｈｅｃｋ（ｎ）をクリアする。
【００５６】
（Ｓ４４）パスａｌｔｐａｔｈの末尾から、先頭ノードをひとつ削除する。そして、終了する。
【００５７】
図１０により、図２及び図３のグラフ情報の例で動作を説明する。ここでは、ノードｎ＝Ｃの処理の場合のデータｃｈｅｃｋｅｄ（ｎ）、ｃｉｒｃｌｅｃｈｅｃｋ（ｎ）、ａｌｔｐａｔｈ、ａｌｔｐａｔｈｌｉｓｔｓ（ｎ）の関係を示す。
【００５８】
ノードｎ＝Ｃを、ｎｏｄｏｃｈｅｃｋモジュール１１で処理する場合に、図３のノードの関係から、親ノードｐ＝Ａ，Ｂ，Ｄ、更に、ノードＢの親ノードＥのｃａｌｃ＿ａｌｔｐａｔｈモジュールの処理が実行される。先ず、親ノードＢが、ａｌｔｐａｔｈの末尾に追加され、次に、その親ノードＤが、ａｌｔｐａｔｈの末尾に追加される。更に、その親ノードＡが、ａｌｔｐａｔｈの末尾に追加される。
【００５９】
ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＢ−Ｄ−Ａが、ａｌｔｐａｔｈｌｉｓｔｓ（Ａ）に追加される。次に、ステップＳ４４により、ａｌｔｐａｔｈの末尾の先頭ノードＡが削除され、ａｌｔｐａｔｈＢ−Ｄとなり、同様に、ａｌｔｐａｔｈの末尾の先頭ノードＤが削除され、ａｌｔｐａｔｈＢとなる。
【００６０】
次に、親ノードＢの次の親ノードＥの処理が行われ、親ノードＥが、ａｌｔｐａｔｈの末尾に追加される。更に、その親ノードＡが、ａｌｔｐａｔｈの末尾に追加される。ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＢ−Ｅ−Ａが、ａｌｔｐａｔｈｌｉｓｔｓ（Ａ）に追加される。次に、ステップＳ４４により、ａｌｔｐａｔｈの末尾の先頭ノードＡが削除され、ａｌｔｐａｔｈＢ−Ｅとなり、同様に、ａｌｔｐａｔｈの末尾の先頭ノードＥが削除され、ａｌｔｐａｔｈＢとなる。しかし、親ノードＢの親ノードの処理が終了したため、ノードＣの処理に移る。
【００６１】
先ず、ノードＣの親ノードＡが、ａｌｔｐａｔｈの末尾に追加される。親ノードＡの親ノードがなく、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上とならないため、ａｌｔｐａｔｈｌｉｓｔｓへ追加されず、親ノードＡの処理を終了する。
【００６２】
次に、ノードＣの親ノードＢに移り、親ノードＢが、ａｌｔｐａｔｈの末尾に追加される。更に、その親ノードＤが、ａｌｔｐａｔｈの末尾に追加される。ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＣ−Ｂ−Ｄが、ａｌｔｐａｔｈｌｉｓｔｓ（Ｄ）に追加される。
【００６３】
次に、ノードＤの親ノードＡが、ａｌｔｐａｔｈの末尾に追加される。ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＣ−Ｂ−Ｄ−Ａが、ａｌｔｐａｔｈｌｉｓｔｓ（Ａ）に追加される。次に、ステップＳ４４により、ａｌｔｐａｔｈの末尾の先頭ノードＡが削除され、ａｌｔｐａｔｈＣ−Ｂ−Ｄとなり、同様に、ａｌｔｐａｔｈの末尾の先頭ノードＤが削除され、ａｌｔｐａｔｈＣ−Ｂとなる。
【００６４】
次に、ノードＢの別の親ノードＥの処理に移り、親ノードＥが、ａｌｔｐａｔｈの末尾に追加される。ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＣ−Ｂ−Ｅが、ａｌｔｐａｔｈｌｉｓｔｓ（Ｅ）に追加される。更に、その親ノードＡが、ａｌｔｐａｔｈの末尾に追加される。ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＣ−Ｂ−Ｅ−Ａが、ａｌｔｐａｔｈｌｉｓｔｓ（Ａ）に追加される。
【００６５】
次に、ステップＳ４４により、ａｌｔｐａｔｈの末尾の先頭ノードＡが削除され、ａｌｔｐａｔｈＣ−Ｂ−Ｅとなり、同様に、ａｌｔｐａｔｈの末尾の先頭ノードＥが削除され、ａｌｔｐａｔｈＣ−Ｂとなる。更に、ステップＳ４４により、ａｌｔｐａｔｈの末尾の先頭ノードＢが削除され、ａｌｔｐａｔｈＣとなる。
【００６６】
ノードＣの別の親ノードＤに移り、親ノードＤが、ａｌｔｐａｔｈの末尾に追加される。更に、その親ノードＡが、ａｌｔｐａｔｈの末尾に追加される。ここで、ステップＳ３８で、パスａｌｔｐａｔｈの長さ（エッジ数）が２以上となるため、ａｌｔｐａｔｈＣ−Ｄ−Ａが、ａｌｔｐａｔｈｌｉｓｔｓ（Ａ）に追加される。
【００６７】
このようにして、パス長が２以上の全てのパスが、ａｌｔｐａｔｈｌｉｓｔｓの始点ノードに保持される。
【００６８】
次に、グラフの流れを簡潔に表現するために、グラフ操作としてエッジ絞り込みを行う処理を、図１１乃至図１３で説明する。エッジ絞り込みは、より代表的な研究や技術の流れに対応するエッジが残るため、研究や技術の流れが明確に表される。
【００６９】
図１１は、図１のｇｒａｐｈｏｐ＿ｅｄｇｅｃｕｔモジュール１３の処理フロー図である。
【００７０】
（Ｓ５０）本アルゴリズムは、図８のステップＳ３０から、ノードｎ，その親ノードｐ，ｐからｎへのエッジの代替パス集合ａｌｔｐａｔｈｌｉｓｔ（＝ａｌｔｐａｔｈｌｉｓｔｓ（ｐ））  を引数にして呼び出され，ｐからｎへのエッジを削除する。
【００７１】
即ち、図１０の例の代替パス集合ａｌｔｐａｔｈｌｉｓｔｓを、グラフ表示すると、図１２のようになる。前述の図８の処理において、ノードｐからｎへの代替パスが、代替パス集合ａｌｔｐａｔｈｌｉｓｔｓに、１つ以上ある時は、親ノードｐからノードｎへのエッジを削除する。図１０の代替パス集合ａｌｔｐａｔｈｌｉｓｔｓを参照すると、ノードＣと親ノードＤ，ノードＣと親ノードＡの代替パスが存在するため、ノードＣと親ノードＤ，Ａのエッジ関係を削除する。
【００７２】
即ちノード間の関係（エッジ）を示すデータセットテーブル２（図３参照）で、図１３に示すように、ノードＣの親ノードＡ，Ｄが削除される。このテーブルを図示すると、図１２に示すように、実線部分のエッジが残り、点線及び一点鎖線のエッジは削除される。
【００７３】
図１４は、文献情報の流れについて、エッジの絞込みを行った例の説明図である。図１４の上段では、１０個の文献（ノード）について、左から右に年代順に、且つ引用関係をエッジでグラフ表示したものである。エッジの絞込みを行うと、図１４の下段のように、冗長なエッジが削除され、より代表的な研究や技術の流れに対応するエッジが残る。このため、研究や技術の流れが明確に表される。又、有向グラフとしての方向を示すエッジは、必ず残るため、研究や技術の流れを正確に簡潔化できる。
【００７４】
次に、重要なエッジを際立たせるために、グラフ操作としてエッジ重み付け処理を図１５乃至図１７により説明する。より代表的な研究や技術の流れに対応するエッジの重みが大きくなるため、  重みに応じてエッジ幅を太く視覚化するなどにより、研究や技術の流れが明確に表される。
【００７５】
図１５は、図１のｇｒａｐｈｏｐ＿ｅｄｇｅｗｅｉｇｈｔモジュール１４の処理フロー図である。
【００７６】
（Ｓ５２）本アルゴリズムは、図８のステップＳ３０から、ノードｎ，その親ノードｐ，ｐからｎへのエッジの代替パス集合ａｌｔｐａｔｈｌｉｓｔ（＝ａｌｔｐａｔｈｌｉｓｔｓ（ｐ））  を引数にして呼び出され，ｐからｎへのエッジを各代替パスの重みを更新する。
【００７７】
即ち、図１０の例の代替パス集合ａｌｔｐａｔｈｌｉｓｔｓでは、ノードＡとＣの代替パスは、５つあり、ノードＤとＣの代替パスは、１つある。ノードＥとＣの代替パスもあるが、元々ノードＥとＣは、つながっていないため、考慮しない。この６つのパスを構成する各エッジに重みを加える。
【００７８】
即ち、図１６に示すように、前述のデータセットテーブル２は、各親ノードに、属性として、重みＷ１〜Ｗ７が付与されている。前述の図８及び図１５の処理において、代替パスが１つ以上ある時は、親ノードｐからノードｎへのエッジの重み（親ノードの重み属性）を更新するため、図１０の代替パスリストａｌｔｐａｔｈｌｉｓｔｓに従い、ノードＢの親ノードＤ，Ｅ，ノードＣの親ノードＢ，Ｄ，ノードＤの親ノードＡ，ノードＥの親ノードＡの重みが、そのエッジ数分加算される。
【００７９】
この重みを線の太さで表示し、データセットテーブル２をグラフ表示すると、図５に示したように、重複部分のエッジが太線で、他のエッジは細線で表示される。
【００８０】
図１７は、文献情報の流れについて、エッジの重み付けを行った例の説明図である。図１７の上段では、１０個の文献（ノード）について、左から右に年代順に、且つ引用関係をエッジでグラフ表示したものである。エッジの重み付けを行うと、図１７の下段のように、重複するエッジのエッジ幅が太く表示され、エッジを保存したまま、研究や技術の流れを明確にする効果は大きくなる。
【００８１】
代替パスの重みの更新方法は、例えば、「１」を加える。他にも、１／（ｎを終点とするエッジ数×ｐからｎへのエッジの代替パス数）を加える、又は、１／（ｐからｎへのエッジの代替パス数）を加える，又は、ｐからｎへのエッジ重み／（ｎを終点とするエッジ数×ｐからｎへのエッジの代替パス数）を加える方法も適用できる。さらに、エッジ属性（始点や終点に対応する特許の出願年や文献の掲載年など）を加味したものを加える方法でもよい。
【００８２】
図１８は、図１１乃至図１４で説明したエッジ絞込みと、図１５乃至図１７で説明したエッジ重み付けとを施した例の説明図である。図１８の上段では、１０個の文献（ノード）について、左から右に年代順に、且つ引用関係をエッジでグラフ表示したものである。エッジの絞込みと重み付けを行うと、図１８の下段のように、重複するエッジのエッジ幅が太く表示され、冗長するエッジは削除される。このため、研究や技術の流れを明確にする効果はより大きくなる。
【００８３】
［エッジ絞込み及びエッジ重み付けの他の強調処理］
次に、前述のエッジの重み付けを利用して、ノード数の絞込みを行う方法を説明する。この方法は、ノード数が多いような場合に、ノード数を絞り込むために、図１５及び図１６で説明したエッジ重み付けを行った後、エッジ重み付けに基づくエッジとノードの絞り込みを行う方法である。
【００８４】
図１９に、エッジ重み付けに基づく、エッジ及びノードの絞り込みの実施例を示す。代表的な研究や技術の流れに対応するエッジが残るため、代表的な研究や技術の流れを容易に知ることが出来る。この方法として、２つの方法があり、１つは、最小値以上のエッジに絞り込むｓｕｍｍａｒｉｚｅモジュール１５による処理であり、もう１つは、指定エッジ数にエッジを絞り込むｓｕｍｍａｒｉｚｅｎモジュール１６による処理である。
【００８５】
図２０は、ｓｕｍｍａｒｉｚｅモジュール１５によるエッジ重み付けに基づき、エッジ重み最小値ｍｉｎ以上のエッジへと絞り込む処理フロー図である。
【００８６】
（Ｓ６０）データセット２からグラフに関する情報Ｇを得る。この情報Ｇは、前述の図１６の重み付け後のテーブル２である。
【００８７】
（Ｓ６２）すべてのノードｎの各親ノードｐについて、ｐからｎへのエッジの重み（親ノードの重み属性）が、最小値ｍｉｎ未満ならば，そのエッジを削除する。即ち、その親ノードをテーブル２から削除する。
【００８８】
（Ｓ６４）すべてのノードｎの入次数（ノードｎへの入力エッジ数＝親ノード数）ｉｎ（ｎ）および出次数（ノードｎからの出力エッジ数）ｏｕｔ（ｎ）を「０」に初期化する。
【００８９】
（Ｓ６６）すべてのノードｎの各親ノードｐについて、ｎの入次数ｉｎ（ｎ）およびｐの出次数ｏｕｔ（ｐ）を，「１」増やす。
【００９０】
（Ｓ６８）すべてのノードｎについて、入次数ｉｎ（ｎ）が「０」で、かつ出次数ｏｕｔ（ｎ）が「０」ならば、そのノードを削除する。
【００９１】
即ち、最小値未満のエッジを削除した後、エッジの削除に伴い、孤立したノードを、ステップＳ６４〜Ｓ６６で検出し、削除する。この方法は、最小値をユーザーが指定する。
【００９２】
図２１は、ｓｕｍｍａｒｉｚｅｎモジュール１６による、エッジ重み付けに基づき、ノード数ｎへと絞り込む処理フロー図である。
【００９３】
（Ｓ７０）データセット２からグラフに関する情報Ｇを得る。この情報Ｇは、前述の図１６の重み付け後のテーブル２である。
【００９４】
（Ｓ７２）エッジ重みの大きい順にエッジ（子ノードと親ノードの対）をソートする。
【００９５】
（Ｓ７４）エッジ重みの大きい順に、エッジ両端のノード数（通常「２」）をカウントする。但し、同じノードはひとつにカウントする。ノードカウント数が、指定ノード数ｎ以上になったら終了する。
【００９６】
（Ｓ７６）残りのエッジ（エッジ重みの小さなエッジ）を削除する。
【００９７】
（Ｓ７８）すべてのノードｎの入次数（ノードｎへの入力エッジ数＝親ノード数）ｉｎ（ｎ）および出次数（ノードｎからの出力エッジ数）ｏｕｔ（ｎ）を「０」に初期化する。
【００９８】
（Ｓ８０）すべてのノードｎの各親ノードｐについて、ｎの入次数ｉｎ（ｎ）およびｐの出次数ｏｕｔ（ｐ）を，「１」増やす。
【００９９】
（Ｓ８２）すべてのノードｎについて、入次数ｉｎ（ｎ）が「０」で、かつ出次数ｏｕｔ（ｎ）が「０」ならば、そのノードを削除する。
【０１００】
即ち、エッジ重みの大きい順に、エッジのノード数をカウントし、カウント値が指定値ｎになったら、それ以外のエッジを削除した後、エッジの削除に伴い、孤立したノードを、ステップＳ７８〜Ｓ８２で検出し、削除する。この方法は、ノード数をユーザーが指定する。
【０１０１】
次に、図１９で示したエッジ重み付けに基づく絞り込みにより、捨てられた情報を知るために、既出のエッジを除いた絞り込みを行う処理ｓｕｍｍａｒｉｚｅｎｅｘｔモジュール１７及びｓｕｍｍａｒｉｚｅｎｎｅｘｔモジュール１８を、図２２乃至図２５で説明する。
【０１０２】
図２２は、図１８で示したエッジの絞込み及び重み付けを行った後の有向グラフＶ０の画面図、図２３は、図１９乃至図２１で説明したエッジ重み付けに基づく絞り込みを行った後の有向グラフＶ１と、この既出のエッジを除いた絞り込みを行った後の有向グラフＶ２の画面図である。
【０１０３】
一般に、同時に視覚化できるノード数には上限があるため、図２２のように、視覚化対象が大量になると、すべてを同時に視覚化することは困難になる。そのような場合に、図２３に示すように、この方法で、Ｖ１，Ｖ２と順次視覚化を行えば、知りたい情報を次々と視覚化していくことが可能となる。
【０１０４】
先ず、図２０で既出されたエッジ（エッジ重み最小値ｍｉｎ１以上のエッジ）を除いたエッジについて、エッジ重み最小値ｍｉｎ２以上のエッジへと絞り込む処理ｓｕｍｍａｒｉｚｅｎｅｘｔモジュール１７を、図２４で説明する。
【０１０５】
（Ｓ９０）データセット２からグラフに関する情報Ｇを得る。この情報Ｇは、前述の図１６の重み付け後のテーブル２である。
【０１０６】
（Ｓ９２）すべてのノードｎの各親ノードｐについて、ノードｐからノードｎへのエッジの重みが，最小値ｍｉｎ１以上あるいは最小値ｍｉｎ２未満ならば，そのエッジを削除する。
【０１０７】
（Ｓ９４）すべてのノードｎの入次数（ノードｎへの入力エッジ数＝親ノード数）ｉｎ（ｎ）および出次数（ノードｎからの出力エッジ数）ｏｕｔ（ｎ）を「０」に初期化する。
【０１０８】
（Ｓ９６）すべてのノードｎの各親ノードｐについて、ｎの入次数ｉｎ（ｎ）およびｐの出次数ｏｕｔ（ｐ）を，「１」増やす。
【０１０９】
（Ｓ９８）すべてのノードｎについて、入次数ｉｎ（ｎ）が「０」で、かつ出次数ｏｕｔ（ｎ）が「０」ならば、そのノードを削除する。そして、終了する。
【０１１０】
このようにして、最小値ｍｉｎ１以上と最小値ｍｉｎ２未満のエッジを削除した後、エッジの削除に伴い、孤立したノードを、ステップＳ９４〜Ｓ９８で検出し、削除する。この方法は、最小値をユーザーが指定する。
【０１１１】
次に、図２１で既出されたエッジ（ノード数ｎ１のエッジ）を除いたエッジについて、ノード数ｎ２のエッジへと絞り込む処理ｓｕｍｍａｒｉｚｅｎｎｅｘｔモジュール１８を、図２５で説明する。
【０１１２】
（Ｓ１００）データセット２からグラフに関する情報Ｇを得る。この情報Ｇは、前述の図１６の重み付け後のテーブル２である。
【０１１３】
（Ｓ１０２）エッジ重みの大きい順にエッジ（子ノードと親ノードの対）をソートする。
【０１１４】
（Ｓ１０４）エッジ重みの大きい順に、エッジ両端のノード数（通常「２」）をカウントする。但し、同じノードはひとつにカウントする。ノードカウント数が、指定ノード数ｎ１以上になったら終了する。これまでのエッジは、削除する。
【０１１５】
（Ｓ１０６）残りのエッジについて、エッジ両端のノード数（通常「２」）を新たにカウントする。但し、同じノードはひとつにカウントする。ノードカウント数が、指定ノード数ｎ２以上になったら終了する。
【０１１６】
（Ｓ１０８）残りのエッジ（エッジ重みの小さなエッジ）を削除する。
【０１１７】
（Ｓ１１０）すべてのノードｎの入次数（ノードｎへの入力エッジ数＝親ノード数）ｉｎ（ｎ）および出次数（ノードｎからの出力エッジ数）ｏｕｔ（ｎ）を「０」に初期化する。
【０１１８】
（Ｓ１１２）すべてのノードｎの各親ノードｐについて、ｎの入次数ｉｎ（ｎ）およびｐの出次数ｏｕｔ（ｐ）を，「１」増やす。
【０１１９】
（Ｓ１１４）すべてのノードｎについて、入次数ｉｎ（ｎ）が「０」で、かつ出次数ｏｕｔ（ｎ）が「０」ならば、そのノードを削除する。
【０１２０】
即ち、エッジ重みの大きい順に、エッジのノード数をカウントし、カウント値が指定値ｎ１になったら、それ以外のエッジを対象とし、エッジの重みの大きい順に、エッジのノード数をカウントする。カウント値が、指定値ｎ２になったら、これ以外のエッジを削除した後、エッジの削除に伴い、孤立したノードを、ステップＳ１１０〜Ｓ１１４で検出し、削除する。この方法は、ノード数をユーザーが指定する。
【０１２１】
［他の実施の形態］
前述の図８のｎｏｄｅｃｈｅｃｋモジュールでは、代替パスの長さを制限せずに、代替パス集合に登録していた。この実施の形態では、グラフ操作を制御するために、グラフ操作を適用する場合の代替パス長さに制約を加える方法を説明する。
【０１２２】
図２６は、代替パスの長さの制約をしない場合のエッジ重みによる絞り込みを行った有向グラフの説明図であり、図８のｎｏｄｅｃｈｅｃｋモジュール１１で代替パスの長さの制約をしない場合に、ｇｒａｐｈｏｐ＿ｅｄｇｅｗｅｉｇｈｔモジュール１４及びｓｕｍｍａｒｉｚｅｎモジュール１６により、エッジ重みで、４５０５ノードから上位４０ノードに絞り込んだグラフを示す。
【０１２３】
図２７は、代替パスの長さの制約をした場合のエッジ重みによる絞り込みを行った有向グラフの説明図であり、図８のｎｏｄｅｃｈｅｃｋモジュール１１で代替パスの長さを「２」に制約をした場合に、ｇｒａｐｈｏｐ＿ｅｄｇｅｗｅｉｇｈｔモジュール１４及びｓｕｍｍａｒｉｚｅｎモジュール１６により、エッジ重みで、４５０５ノードから上位４０ノードに絞り込んだグラフを示す。
【０１２４】
この例で判るように、図２６及び図２７のように、代替パス長さを長くするほど、より大きな流れを明確にすることが出来る。一方、代替パスの長さを制約すると、絞り込みの程度を調整でき、分析範囲を自由に操作できる。
【０１２５】
図２８は、代替パス長さに制約（代替パス長さ最大値ｍａｘ）を加える処理フロー図であり、図８のｎｏｄｅｃｈｅｃｋモジュール１１のステップＳ３０を、次のステップＳ３０−２に変更する。
【０１２６】
（Ｓ３０−２）図８のステップＳ２８終了後、ノードｎの各親ノードｐについてのｃａｌｃ＿ａｌｔｐａｔｈ（ｎ，ａｌｔｐａｔｈ，Ｇ）の結果ａｌｔｐａｔｈｌｉｓｔｓ（ｎ）を用いて、ｐからｎへのエッジの代替パスを求める。この際に、ノードｐからノードｎへの代替パス集合ａｌｔｐａｔｈｌｉｓｔからパスの長さ（エッジの数）が、最大値ｍａｘより長いパスを削除する。代替パスがひとつ以上あれば、定められたグラフ操作（図１１のエッジカット、図１４のエッジウェイト）を、ノードｎ，その親ノードｐ，ｐからｎへのエッジの代替パス集合ａｌｔｐａｔｈｌｉｓｔ，グラフ情報Ｇを引数にして呼び出す。
【０１２７】
このように、所定長以上の代替パスを削除するため、代替パスの数が減少するため、既存のエッジがより残る有向グラフが得られる。
【０１２８】
上述の実施の形態では、特許文献、論文を対象とした有向グラフ操作を例に説明したが、他の種類の対象物を対象とした有向グラフにも適用できる。又、重要エッジの強調方法として、絞り込み、重み付け、絞り込みと重み付けの組み合わせ、エッジ重み付けに基づく絞り込み、絞り込み後の残余エッジの絞り込み、代替パス長の制約による絞り込みを説明したが、これらを単独で使用又は複数組み合わせて適用できる。
【０１２９】
又、グラフ出力は、表示のみならず、印刷出力しても良い。以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１３０】
（付記１）複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析方法において、複数のノード間の接続関係を示すデータセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録するステップと、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う強調処理ステップとを有することを特徴とする有向グラフ解析方法。
【０１３１】
（付記２）前記強調処理は、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理からなることを特徴とする付記１の有向グラフ解析方法。
【０１３２】
（付記３）前記強調処理は、前記一対のノード間の代替パスが１つ以上ある時に、前記代替パスを構成する各エッジの重みを増加する処理からなることを特徴とする付記１の有向グラフ解析方法。
【０１３３】
（付記４）前記強調処理は、更に、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を有することを特徴とする付記３の有向グラフ解析方法。
【０１３４】
（付記５）前記重み付けされた各エッジを重みの順にソートするステップと、前記ソート結果に従い、重みの小さいエッジを削除するステップとを更に有することを特徴とする付記３の有向グラフ解析方法。
【０１３５】
（付記６）前記削除されたエッジを前記エッジの重みに従い、絞り込むステップを更に有することを特徴とする付記５の有向グラフ解析方法。
【０１３６】
（付記７）前記登録ステップは、指定された代替パス長以下の代替パスを前記リストに登録するステップからなることを特徴とする付記１の有向グラフ解析方法。
【０１３７】
（付記８）複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析装置において、複数のノード間の接続関係を示すデータセットを格納するファイル装置と、前記データセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録し、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行う強調処理するデータ処理ユニットとを有することを特徴とする有向グラフ解析装置。
【０１３８】
（付記９）前記データ処理ユニットは、前記強調処理として、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を実行することを特徴とする付記８の有向グラフ解析装置。
【０１３９】
（付記１０）前記データ処理ユニットは、前記強調処理として、前記一対のノード間の代替パスが１つ以上ある時に、前記代替パスを構成する各エッジの重みを増加する処理を実行することを特徴とする付記８の有向グラフ解析装置。
【０１４０】
（付記１１）前記データ処理ユニットは、前記強調処理として、更に、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を実行することを特徴とする付記１０の有向グラフ解析装置。
【０１４１】
（付記１２）前記データ処理ユニットは、前記重み付けされた各エッジを重みの順にソートし、前記ソート結果に従い、重みの小さいエッジを削除する処理を更に実行することを特徴とする付記１０の有向グラフ解析装置。
【０１４２】
（付記１３）前記データ処理ユニットは、前記削除されたエッジを前記エッジの重みに従い、絞り込む処理を更に実行することを特徴とする付記１２の有向グラフ解析装置。
【０１４３】
（付記１４）前記データ処理ユニットは、前記登録処理として、指定された代替パス長以下の代替パスを前記リストに登録する処理を実行することを特徴とする付記１の有向グラフ解析装置。
【０１４４】
（付記１５）複数のノードと、一対のノード間の接続を示すエッジとで表現される有向グラフを解析する有向グラフ解析プログラムにおいて、複数のノード間の接続関係を示すデータセットから、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録する第１のプログラムデータと、前記一対のノード間の代替パスに応じて、前記一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行い、強調処理する第２のプログラムデータとを有することを特徴とする有向グラフ解析プログラム。
【０１４５】
（付記１６）前記第２のプログラムデータは、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を行うプログラムデータからなることを特徴とする付記１５の有向グラフ解析プログラム。
【０１４６】
（付記１７）前記第２のプログラムデータは、前記一対のノード間の代替パスが１つ以上ある時に、前記代替パスを構成する各エッジの重みを増加する処理を行うプログラムデータからなることを特徴とする付記１５の有向グラフ解析プログラム。
【０１４７】
（付記１８）前記第２のプログラムデータは、更に、前記一対のノード間の代替パスが１つ以上ある時に、前記一対のノード間のエッジを削除する処理を行うプログラムデータを有することを特徴とする付記１７の有向グラフ解析プログラム。
【０１４８】
（付記１９）前記重み付けされた各エッジを重みの順にソートし、前記ソート結果に従い、重みの小さいエッジを削除する第３のプログラムデータを更に有することを特徴とする付記１７の有向グラフ解析プログラム。
【０１４９】
（付記２０）前記削除されたエッジを前記エッジの重みに従い、絞り込む第４のプログラムデータを更に有することを特徴とする付記１９の有向グラフ解析プログラム。
【０１５０】
（付記２１）前記第１のプログラムデータは、指定された代替パス長以下の代替パスを前記リストに登録するプログラムデータを含むことを特徴とする付記１５の有向グラフ解析プログラム。
【０１５１】
【発明の効果】
以上、説明したように、本発明によれば、各ノードについて、各ノードを始点とし、２つ以上の連結されたエッジで構成される一対のノード間の代替パスを計算し、リストに登録し、一対のノード間の代替パスに応じて、一対のノード間のエッジの絞り込み又は重み付けの少なくとも一方を行うので、連結性を維持したまま、有向グラフの重要な部分を自動的に強調することでき、効率的な情報分析が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の有向グラフ解析システムの構成図である。
【図２】図１のシステムにおける有向グラフ例の説明図である。
【図３】図１のシステムにおけるデータセットの構成図である。
【図４】図１のシステムによるエッジ絞り込み処理の説明図である。
【図５】図１のシステムによるエッジ重みつけ処理の説明図である。
【図６】図１のシステムによるエッジ重み付けとエッジ絞り込みを組み合わせた処理の説明図である。
【図７】図１のａｌｌｃｈｅｃｋモジュールの処理フロー図である。
【図８】図１のｎｏｄｅｃｈｅｃｋモジュールの処理フロー図である。
【図９】図１のｃａｌｃ＿ａｌｔｐａｔｈモジュールの処理フロー図である。
【図１０】図７、図８及び図９のモジュールの動作説明図である。
【図１１】図１のｇｒａｐｈｏｐ＿ｅｄｇｅｃｕｔモジュールの処理フロー図である。
【図１２】図１１の動作説明図である。
【図１３】図１１の処理によるエッジカットの説明図である。
【図１４】図１１のエッジカット処理による有向グラフの説明図である。
【図１５】図１のｇｒａｐｈｏｐ＿ｅｄｇｅｗｅｉｇｈｔモジュールの処理フロー図である。
【図１６】図１５の処理によるエッジ重み付けの説明図である。
【図１７】図１５のエッジ重み付け処理による有向グラフの説明図である。
【図１８】図１１のエッジカット処理と図１５のエッジ重み付け処理とを組み合わせた処理による有向グラフの説明図である。
【図１９】図１のエッジ重み付けに基づく絞り込みによる有向グラフの説明図である。
【図２０】図１のｓｕｍｍａｒｉｚｅモジュールの処理フロー図である。
【図２１】図１のｓｕｍｍａｒｉｚｅｎモジュールの処理フロー図である。
【図２２】図１８の処理による有向グラフの説明図である。
【図２３】図１の絞り込み後のエッジ重み付けに基づく絞り込み処理による有向グラフの説明図である。
【図２４】図１のｓｕｍｍａｒｉｚｅｎｅｘｔモジュールの処理フロー図である。
【図２５】図１のｓｕｍｍａｒｉｚｅｎｎｅｘｔモジュールの処理フロー図である。
【図２６】図１の代替パス長さの制約なしの場合のエッジ重み付けに基づく絞り込みによる有向グラフの説明図である。
【図２７】図１の代替パス長さの制約ありの場合のエッジ重み付けに基づく絞り込みによる有向グラフの説明図である。
【図２８】図８のモジュールに代替パス長の制約を加えたｎｏｄｅｃｈｅｃｋモジュールの処理フロー図である。
【符号の説明】
１  データ処理装置
２  ファイル装置
１２  代替パス計算モジュール
１３  エッジカットモジュール
１４  エッジ重み付けモジュール
１５、１６  エッジ重み付けに基づく絞り込みモジュール
１７、１８  残余エッジの絞り込みモジュール
【図１】
2004178270.tif 000003
【図２】
2004178270.tif 000004
【図３】
2004178270.tif 000005
【図４】
2004178270.tif 000006
【図５】
2004178270.tif 000007
【図６】
2004178270.tif 000008
【図７】
2004178270.tif 000009
【図８】
2004178270.tif 000010
【図９】
2004178270.tif 000011
【図１０】
2004178270.tif 000012
【図１１】
2004178270.tif 000013
【図１２】
2004178270.tif 000014
【図１３】
2004178270.tif 000015
【図１４】
2004178270.tif 000016
【図１５】
2004178270.tif 000017
【図１６】
2004178270.tif 000018
【図１７】
2004178270.tif 000019
【図１８】
2004178270.tif 000020
【図１９】
2004178270.tif 000021
【図２０】
2004178270.tif 000022
【図２１】
2004178270.tif 000023
【図２２】
2004178270.tif 000024
【図２３】
2004178270.tif 000025
【図２４】
2004178270.tif 000026
【図２５】
2004178270.tif 000027
【図２６】
2004178270.tif 000028
【図２７】
2004178270.tif 000029
【図２８】
2004178270.tif 000030