初めに、本発明が解析対象にするデータについて説明する。本発明が解析対象にするデータは、各データが1つ以上の要素(以下、プロパティと記すこともある。)を有し、一部のデータもしくは全てのデータが他データと何らかの供給関係を有するものである。ここで、供給関係とは、各データが表わす対象間において、情報、物、人などのやり取りが行われる関係を意味する。また、各要素には、個々の特異性を定量化した値(以下、特異度と記す。)が事前に割り当てられているものとする。
本発明が扱うデータの例として、企業、人、Webページ、論文などのデータが挙げられる。データが企業であれば、各企業が扱う製品、保有技術、所在地などが要素(プロパティ)になり、各企業間は、物や金、人材などを供給する関係がある。データが人であれば、趣味や能力などが要素(プロパティ)になり、各人の間には、それに基づく労働や賃金などを供給する関係がある。Webページや論文がデータの場合、キーワードや重要文が要素(プロパティ)になる。また、Webページや論文の中にハイパーリンクや参考文献など、人による明示的なリンクが与えられる場合がある。また、このリンクには、参照先の情報を利用(引用)した内容が記載されることが多い。そのため、このような文書間の関係を表す内容は、情報の伝達を表す供給関係とみなすことができる。
本発明では、個々のデータと、データ間をつなぐ供給関係をグラフで表現する。また、以下の説明では、個々のデータをノード、データ間を繋ぐ供給関係をエッジ、各データが有する要素をプロパティと記載する。すなわち、本発明におけるグラフは、特異度が割り当てられたプロパティを有するノードとノード間を接続するエッジとを含んでいると言える。また、本発明におけるエッジは、供給関係を有するノード間を供給元のノードから供給先のノード方向へ向けて接続するものである。以下の説明では、ノード間のエッジが1つの場合について説明するが、ノード間のエッジの数は1つに限定されず、2つ以上であってもよい。
次に、本発明の理解を容易にするため、本発明の背景と概略について説明する。
ある特徴的な要素を有しているデータは、その要素をもとに構成される他のデータや、その要素をもとに行われる処理等を含む他のデータと何らかの関係性を有することが多い。言い換えると、特徴的な要素の存在は、その要素を含むデータと関係性を有する他のデータに影響を与えることが多いと言える。本発明では、個々のデータとそのデータ間の関係を示すグラフにおいて、他ノードに影響する要素であるか否かを、データ間の要素の伝播に着目して解析する。以下の説明で、伝播とは、供給関係を有するデータ間において見られる要素の共通性を意味するものとする。
ノード間に供給関係がある場合、そのノード間には、各ノードが有するプロパティにおいて部分的な共通性があると考えられる。例えば、A社が「レアメタルαを保有」し、A社がB社と供給関係にある場合、B社も「レアメタルαを保有」や「レアメタルαを加工」といった要素を有すると考えるのが自然である。特に、レアメタルαを保有することが企業全体において特異であり、要素「レアメタルαを保有」を共通して有するノード間であれば、その間の供給関係は、レアメタルαに関連するものである可能性が高まる。
さらに、特異性の高いプロパティは、各ノードの主要なプロパティと捉えられるため、特異性の高いプロパティの有無は、供給関係に大きな影響を与えるか否かの基準になる。例えば、上記例において、レアメタルαを生成できる会社が、A社だけであったとし、B社に対する供給関係がレアメタルαに関するものであるとする。このとき、A社の「レアメタルαを保有」というプロパティを代替できる企業は社会において存在しないことになるため、このプロパティの有無が、B社に対して大きな影響を与えることになる。仮に、A社とB社の供給関係がレアメタルαに関するものでなく、他社ともレアメタルαの供給関係にないのであれば、A社の「レアメタルαを保有」というプロパティの有無は、なんら他者に影響を与えるものではない。
このように、各ノードのプロパティの重要性を解析するには、各プロパティがノード集合において特異であり、そのノードに基づく供給関係があるか否かが鍵になる。本発明では、このようなプロパティの有無を伝播により解析する。なお、特異性の高いプロパティは、他のノードに影響を与える重要なプロパティと言うことができる。そのため、以下の説明では、プロパティに付与された特異度(すなわち、各プロパティの特異性を定量化した値)のことを、プロパティ重要度と記す。また、さらに必要であれば、エッジで繋がれた各ノードの供給関係の強さを重要度として定量化することにより、このようなプロパティの有無を解析する。
次に、本発明の概要について説明する。上述したとおり、本発明では、他ノードに影響を与える特徴的なプロパティを重要なものと捉える。そこで、本発明におけるグラフ解析方法では、特徴的な(すなわち、特異性の高い)プロパティがノード間のエッジに関連するものであるかどうかを解析する。さらに、影響を与えているかどうかだけで重要性を判断した場合、エッジに関連するプロパティであれば影響が小さい場合でもそれを重要と判断してしまう恐れがある。そこで、本発明におけるグラフ解析方法では、他のノードにどの程度影響を与えるエッジであるかを定量化し、そのエッジに関連するプロパティの重要性を判断できるようにする。
図1は、本発明におけるグラフ解析装置の概要を説明する説明図である。本発明におけるグラフ解析装置は、関連プロパティ特定部81と、エッジ評価部82とを備えている。関連プロパティ特定部81は、エッジで接続されたノード間における重要度の高いプロパティの伝播状態に基づいて、エッジに関連したプロパティ(以下、関連プロパティと記す。)を特定する。なお、伝播状態とは、ノード間のプロパティの共通性と言える。
エッジ評価部82は、特定された関連プロパティを他ノードに影響を与える特徴的なプロパティと判断する。また、エッジ評価部82は、各エッジによる影響の大きさをそのエッジの重要度として定量化する。エッジ評価部82がエッジの重要度を定量化する方法については後述する。以下の説明では、重要度を求めるエッジを対象エッジと記し、対象エッジの重要性を定量化した値をエッジ重要度と記す。また、エッジで繋がれた各ノードの供給関係の強さを定量化した値をエッジ強度と記し、ノードの重要性の強さを定量化した値を、ノード強度と記す。なお、エッジ強度とノード強度は、事前に与えられているものとする。
エッジ重要度を定量化する場合、エッジ評価部82は、下記(a)〜(e)の基準を満たすような計算式を用いてエッジ重要度を定量化する。エッジ評価部82は、以下の基準を満たすような計算式を用いるにあたり、対象エッジが影響を与える側のノード(以下、矢尻側のノード、供給先のノードと記す。)に接続されている全エッジと対象エッジとの相違度を関連プロパティの類似性に基づいて定量化してもよい。なお、エッジ評価部82は、エッジ重要度を定量化する場合、下記(a)〜(e)の全ての基準を用いる必要はなく、例えば、ユーザの指示に応じ、下記(a)〜(e)の一つ以上を組み合わせた基準を用いてエッジ重要度を定量化してもよい。また、エッジ評価部82は、下記(a)〜(e)以外の基準を用いてエッジ重要度を算出してもよい。
(a)対象エッジにおける関連プロパティのプロパティ重要度が高ければ、エッジ重要度は大きい。
(b)対象エッジに関わる関連プロパティが多ければ、エッジ重要度は大きい。
(c)対象エッジのエッジ強度が大きければ、エッジ重要度は大きい。
(d)同一ノードに対象エッジと関連プロパティが類似するエッジが接続されていれば、エッジ重要度は小さい。
(e)対象エッジの矢尻側のノードのノード強度が高ければ、エッジ重要度は大きい。
上記(a)〜(e)の基準について、図1及び具体例を用いて説明する。ここでは、企業間の関係がグラフとして与えられているものとする。この場合、各ノードが企業を表し、所在地、主力商品などがプロパティになる。また、エッジは、材料業者Aと加工業者Bとを接続しているものとし、材料業者Aから加工業者Bに対して供給がなされていることが分かっているとする。また、関連プロパティ特定部81は、上記関係から、ノードである「材料業者A」のプロパティ「銀を保有」を関連プロパティとして特定しているものとする。さらに、エッジ強度が供給量で、ノード強度が株価で与えられるものとする。
材料業者Aの「銀を保有」というプロパティが、全企業内において特異であり、これに関連する供給関係があれば、このプロパティは他社に影響を与え、かつ代替のない重要なものと判断できる。(a)の基準を用いると、エッジ評価部82は、このような関係を重視してエッジ重要度を算出できる。また、対象エッジが、「銀を保有」以外の関連プロパティとして、「所在地が関東」という関連プロパティを関わっている場合など、複数の関連プロパティに関わっている場合、その関連プロパティの組み合わせも重要になる。(b)の基準を用いると、エッジ評価部82は、関連プロパティの数を考慮したエッジ重要度を算出できる。さらに、材料業者Aがより多くの供給を行っている場合、他のノード(加工業者B)に与える影響は大きくなるため、この供給量の大きさも指標になる。そのため、(c)の基準を用いると、エッジ評価部82は、エッジ強度を考慮したエッジ重要度を算出できる。
また、供給先の企業(ここでは、加工業者B)に対して、複数の企業から供給関係があり、その関連プロパティ(ここでは、「銀を保有」)が類似している場合、ほぼ同様の物(ここでは、「銀」)が供給されていると判断できる。その場合、一つ一つのエッジが他のノードに与える影響は小さくなると考えられる。そのため、(d)の基準を用いると、エッジ評価部82は、矢尻側のノードに接続されている他のエッジ及びノードを考慮したエッジ重要度を算出できる。さらに、対象エッジが、プロパティ強度の大きいノードに接続されていれば、そのエッジに関わる関連プロパティは重要と考えられる。例えば、対象エッジが、株価の高い企業を表すノードに接続されていれば、そのエッジに関わる関連プロパティは重要と考えられる。そのため、(e)の基準を用いると、エッジ評価部82は、ノード強度を考慮したエッジ重要度を算出できる。
次に、本発明の実施形態を図面を参照して説明する。
実施形態1.
図2は、本発明の第1の実施形態におけるグラフ解析装置の例を示すブロック図である。本実施形態におけるグラフ解析装置は、関連プロパティ特定部101と、エッジ評価部102とを備えている。図2に例示するグラフデータ10は、グラフ解析装置に入力される情報を、結果11は、グラフ解析装置から出力される情報をそれぞれ表す。
グラフデータ10には、ノードの情報とエッジの情報とが含まれる。すなわち、グラフデータ10は、個々のデータとそのデータ間の関係を示すグラフが含まれていると言える。ノードの情報には、各ノードが有するプロパティとプロパティ重要度が含まれる。また、エッジの情報には、接続するノードのペア、関連プロパティ、エッジ強度が含まれる。なお、グラフデータ10は、グラフ解析装置の記憶部(図示せず)に記憶され、後述の関連プロパティ特定部101がそのグラフデータ10を読み取ってもよい。もしくは、グラフデータ10は、他の装置から送信され、後述の関連プロパティ特定部101が、送信されたグラフデータ10を受信してもよい。なお、グラフデータ10をグラフ解析装置の記憶部(図示せず)に記憶する方法は、上記内容を一意に特定できる方法であれば、特定の方法に限定されない。
グラフデータ10の例を図3に示す。図3に例示するグラフは、企業をノードとし、企業間における供給関係をエッジで表現したものである。図3に例示するグラフでは、エッジを矢印で表わし、エッジの矢尻側のノードが供給先のノード、その反対側のノードが供給元のノードを表す。具体的には、図3に例示するエッジは、材料業者A社,B社,C社及びD社から、加工業者K社及びL社への供給関係を表す。なお、本実施形態の説明では、各エッジには、左から順にそれぞれ「e数字」というIDを割り当てて識別することにする。例えば、図3に示す例では、英字「e」と数字「1」とを組み合わせたID「e1」を用いて、A社からL社への供給関係を表すエッジを識別していることを示す。
また、図3に例示するグラフデータ10のデータ構造の例を図4に示す。図4に示す例では、ノードテーブル、エッジテーブル及びプロパティテーブルの3つの表形式のデータ構造を用いてグラフデータ10を表現していることを示す。なお、グラフ解析装置の記憶部(図示せず)は、図4に例示するデータ構造でグラフデータ10を記憶してもよい。
ノードテーブルは、グラフ中に含まれる各ノードの識別子(以下、ノードIDと記す。)と、そのノードの「プロパティ」とを対応付けて一つの(1行の)レコードで表現したテーブルである。図3に例示するグラフには、4社の材料業者と2社の加工業者とが含まれるため、ノードテーブルには、計6つのノードが含まれることになる。また、図4に例示するプロパティには、各ノードが保有する材料や開発物が含まれていることを示す。
プロパティテーブルは、各プロパティとそのプロパティの重要度(プロパティ重要度)とを対応付けて表現したテーブルである。エッジテーブルは、ソースとターゲットとを対応付けて一つの(1行の)レコードで表現したテーブルである。ここで、ソース及びターゲットとは、エッジに接続されたノードを意味し、ソース列は矢尻がない方(すなわち、供給元のノード)、ターゲット列は矢尻がある方(すなわち、矢尻側のノードもしくは供給先のノード)に接続されていることを意味する。ソース列及びターゲット列は、該当するノードのノードIDが示されるものとする。これにより、各エッジがどのノードのペアに接続されるものであるかが分かる。
なお、ノードテーブル、エッジテーブル及びプロパティテーブルのデータ構造は、上記構造に限定されない。例えば、各プロパティとプロパティ用の識別子(以下、プロパティIDと記す。)とを対応付け、ノードテーブルのプロパティ列に、プロパティIDを含むようにしてもよい。このような構造を記憶部(図示せず)に記憶させる場合、その記憶部が記憶するメモリサイズを小さくできる。
また、同一のプロパティでも保有するノードによってそのプロパティ重要度が異なる場合も考えられる。そのため、各ノードの各プロパティに異なるプロパティ重要度を対応付けられるように、図5に例示するノードテーブルのデータ構造でプロパティとプロパティ重要度とを対応付けてもよい。この場合、ノードテーブルにプロパティテーブルをまとめることができるため、プロパティテーブルを別途設ける必要はない。
グラフデータ10は、ユーザにより入力されるデータであってもよいし、Web上のニュース記事などから抽出されるデータであってもよい。Web上のニュース記事からデータが抽出される場合、図6に例示すように、ノードテーブルは、各情報源を参照するためのパスを情報源として含んでいてもよい。なお、上記説明では、企業間の供給関係をグラフデータ10とする場合について説明したが、グラフデータ10は企業間の供給関係に限定されない。例えば、SNS(Social Network Service)などのサイトをグラフデータ10としてもよい。この場合、そのグラフデータ10からは人間関係が抽出される。他にも、Webサイトのハイパーリンクの関係や論文の参照関係をグラフデータ10として扱ってもよい。
関連プロパティ特定部101は、エッジが張られたノード間のプロパティの伝播に基づいて、関連プロパティを特定する。具体的には、関連プロパティ特定部101は、エッジで接続されたノード間のプロパティの共通性と特異度の値の大きさに基づいて関連プロパティを特定する。ノード間に供給関係があれば、そのノード間のプロパティには何らかの共通性があると考えられる。そこで、関連プロパティ特定部101は、情報、物、人、金などの伝播によってプロパティに共通性が生じたものと捉え、エッジに関連する関連プロパティを特定する。
関連プロパティ特定部101は、エッジテーブルを参照し、ソース及びターゲットになるノードを抽出する。次に、関連プロパティ特定部101は、ソース及びターゲットの各ノードのプロパティをノードテーブルから抽出し、プロパティの共通性を測る。関連プロパティ特定部101は、プロパティが共通すると判断した場合、共通すると判断した供給元ノードがエッジを生じさせたものと判断し、供給元ノードのプロパティを関連プロパティとする。供給元ノードのプロパティのみを関連プロパティとするのは、どのプロパティが他ノードに影響を与えているかという観点でグラフを解析するためである。伝播に基づいて共通性を判断するためには、ノード間で供給されるものを比較対象とする必要がある。供給物は名詞であることが多いため、関連プロパティ特定部101は、プロパティとして含まれている文字列の形態素解析を行い、名詞だけを抽出する。ただし、サ変名詞など行為を表現するのに利用される名詞は共通性を測る対象から除外する。また、国名や土地名など供給物となりにくいものは、予め辞書を用意して置き、共通性を測る対象から除外するようにしてもよい。
プロパティの共通性の最も単純な測り方は、文字列の類似性を調べる方法である。そこで、関連プロパティ特定部101は、読み取った名詞に対して文字列の比較を行う。このとき、文字列は必ずしも完全一致である必要はなく、部分一致であってもよい。部分一致で共通性を測る場合は、どの程度一致している場合に同一とみなすか判断するための閾値(以下、類似度閾値と記す。)を事前に設定しておき、関連プロパティ特定部101は、その類似度閾値をもとにプロパティの共通性を測ってもよい。例えば、類似度閾値は、比較する文字列の中で一致する文字数などであってもよい。この場合、関連プロパティ特定部101は、エッジに接続された両ノードが有するプロパティに、類似度閾値を超える文字数だけ一致する文字列が含まれている場合、その文字列を含むプロパティを関連プロパティであると特定してもよい。さらに、関連プロパティ特定部101は、同義語辞書や類義語辞書などを用いることにより、文字列の一致性ではなく、プロパティの共通性に概念的な類似性を取り入れてもよい。すなわち、関連プロパティ特定部101は、両ノードが有するプロパティの共通性を同義語辞書又は類義語辞書を用いて判断してもよい。
図3の例を用いて具体的に説明する。まず、図3に例示する材料業者A社と加工業者K社との供給関係(すなわち、エッジe1における関係)に着目する。関連プロパティ特定部101は、材料業者A社と加工業者K社のプロパティに形態素解析を行い、サ変名詞を除外すると金属名だけを抽出できる。この処理により、関連プロパティ特定部101は、A社とK社との間でAuが伝播していると判断できる。このとき、関連プロパティ特定部101は、Auのプロパティ重要度を参照し、そのプロパティ重要度が高ければエッジe1における供給関係は「Auの保有」に基づいて発生したものと判断して「Auの保有」をエッジe1の関連プロパティとする。
上記説明では、関連プロパティ特定部101が、企業間の供給関係をもとに共通性を測る場合について説明した。他にも、関連プロパティ特定部101は、SNSなどのサイトから抽出された「人」の情報の共有関係を解析して共通性を測ってもよい。「人」のプロパティを解析する場合、関連プロパティ特定部101は、例えば、趣味や参加コミュニティ、日記などに出てくる頻出単語を対象とする。このとき、友人としてリンクが張られている「人」同士で、プロパティが類似していれば、それに基づいた情報のやり取りがあると考えられるため、関連プロパティ特定部101は、上記リンク(すなわち、エッジ)に関する関連プロパティを特定できる。
また、図6に例示するように、各ノードの情報源を参照できる情報が与えられている場合、関連プロパティ特定部101は、ノード間のエッジを決定する情報に関するテキスト情報を利用して関連プロパティを特定してもよい。すなわち、関連プロパティ特定部101は、供給元のノードに含まれるテキスト情報であって、供給先のノードとの関係を示すテキスト情報に含まれる文字列が、供給先のプロパティとの間で予め定められた共通性の基準を満たす場合、その文字列を関連プロパティであると特定してもよい。例えば、情報源がWebページの場合、一つのWebページをノードとし、ハイパーリンクを供給関係とする。また、例えば、情報源が論文であれば、一つの論文をノードとし、参照関係を供給関係とする。このとき、Webページも論文も、文書内の重要文やキーワードをプロパティにすればよい。
通常、情報源になるデータには、関連プロパティを特定するための情報がテキスト情報として含まれている。例えば、Webページのハイパーリンクであれば、ハイパーリンクが付与されているテキストの周辺にテキスト情報が存在する。また、論文の参照関係であれば、論文の本文中に「・・・と報告されている[1]。」など、参考文献を参照する部分が明記されており、その周辺にテキスト情報が存在する。これらの情報(すなわち、ハイパーリンクが付与されているテキストの周辺のテキスト情報や、参考文献を参照する部分)は、参照先(供給先)のノードとの関係を示すテキスト情報であると言える。
このテキスト情報にハイパーリンクが示すリンク先のプロパティや、参照先のプロパティに相当する情報が記載されている場合、そのプロパティがエッジの生成に関連するものであると考えられる。そこで、関連プロパティ特定部101は、参照先のノードのプロパティと、参照元の周辺のテキスト情報に含まれる文字列とを比較し、それらに共通性のある文字列があった場合、その文字列を関連プロパティと特定する。関連プロパティ特定部101は、同様に、リンク先のノードのプロパティと、リンク元の周辺のテキスト情報に含まれる文字列とを比較し、それらに共通性のある文字列があった場合、その文字列を関連プロパティと特定する。なお、文字列を比較する方法は、上述のプロパティの共通性の測り方と同様の方法を用いればよい。
関連プロパティ特定部101が周辺のテキストとして比較する範囲は、ユーザなどにより予め設定ファイル等に設定される。なお、比較する範囲は、ハイパーリンクが付与された文字列や参照する部分の文字列の前後γ文以内としてもよい。なお、設定する範囲はこの内容に限定されず、例えば、比較する範囲を同一段落のテキストとしてもよい。また、比較する範囲は、ユーザなどにより変更できるようにしてもよい。
例えば、企業間の関係を表す情報源として、各企業のプレスリリース記事などが挙げられる。この場合、関連プロパティ特定部101は、明示的なハイパーリンクではなく、A社のプレスリリースに記載された「B社に○○を供給」という文字列に基づいて、企業間の供給関係を抽出してもよい。このような場合においても、その文字列の周辺テキストを用いて同様に関連プロパティを特定してもよい。
エッジ評価部102は、関連プロパティ特定部101から、グラフデータ10(すなわち、各ノード及び各プロパティ重要度)と、関連プロパティとを受け取ると、その関連プロパティが他ノードに影響を与えるか否かを評価することにより、その関連プロパティを特定する。そして、エッジ評価部102は、その評価結果を結果11として出力する。
エッジ評価部102は、各エッジに対する関連プロパティがあるか否かを評価し、関連プロパティがある場合には、その関連プロパティのプロパティ重要度をグラフデータ10から抽出する。抽出した関連プロパティのプロパティ重要度が予め定められた閾値(以下、プロパティ評価閾値と記す。)より大きい場合、エッジ評価部102は、このプロパティを他データに影響を与える関連プロパティと評価する。
図3及び図4の例を用いて具体的に説明する。ここでは、同じ金属名が含まれていることをプロパティの共通性とみなし、プロパティ重要度が0.7以上のものだけを特徴的なプロパティと判断するものとする。このとき、エッジ評価部102は、A社のAu、B社のCuというプロパティがデータ集合に影響を与えるプロパティであると特定できる。また、C社はノード集合で唯一Beを保有しており、プロパティ重要度は1.0と高い。しかしながら、C社とL社間の供給関係e4にBeは関係ないため、エッジ評価部102は、Beを関連プロパティと評価しない。このように、Beは特徴的であるが、他データに影響を与えるプロパティとはならないため、エッジ評価部102は、C社にとってBeを保有していることは現状の社会において強みにならないことを評価できる。本発明によれば、このような評価を容易に行うことができる。
関連プロパティ特定部101と、エッジ評価部102とは、プログラム(グラフ解析プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、グラフ解析装置の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、関連プロパティ特定部101及びエッジ評価部102として動作してもよい。また、関連プロパティ特定部101と、エッジ評価部102とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、動作について説明する。図7は、本実施形態における処理の例を示すフローチャートである。関連プロパティ特定部101が行う処理がステップS1に、エッジ評価部102が行う処理がステップS2にそれぞれ対応する。すなわち、関連プロパティ特定部101は、エッジに接続されたノード間のプロパティの共通性とプロパティ重要度の値の大きさに基づいて、各エッジの関連プロパティを特定する(ステップS1)。すなわち、関連プロパティ特定部101は、プロパティとエッジとを紐付けて関連プロパティを特定する。エッジ評価部102は、エッジの関連プロパティが他のノードに影響を与えるか否かを評価することにより、その関連プロパティを特定する(ステップS2)。例えば、エッジ評価部102は、プロパティ重要度がプロパティ評価閾値よりも高い関連プロパティを、需給関係を特徴付けるプロパティとして抽出してもよい。
以上のことから、本実施形態によれば、関連プロパティ特定部101が、エッジに接続された両ノードが有するプロパティの共通性とそのプロパティに付与されたプロパティ重要度に基づいて、エッジに関連する関連プロパティを特定する。そして、エッジ評価部102は、エッジの関連プロパティが他のノードに影響を与えるか否かを評価することにより関連プロパティを特定する。そのため、個々のデータとそのデータ間の関係を示すグラフにおいて、他データに影響を与える特徴的なプロパティを解析できる。
実施形態2.
本実施形態におけるグラフ解析装置は、エッジに関連する関連プロパティの有無だけではなく、そのエッジ自身が他データへ与える影響を重要度(すなわち、エッジ重要度)として定量化し、この重要度を用いて関連プロパティを評価する。図8は、本発明の第2の実施形態におけるグラフ解析装置の例を示すブロック図である。なお、第1の実施形態と同様の構成については、図2と同一の符号を付し、説明を省略する。
本実施形態におけるグラフ解析装置は、第1の実施形態におけるエッジ評価部102が、エッジ重要度算出部202を含む点において第1の実施形態と異なる。以下の説明では、第1の実施形態との差分についてのみ説明する。
まず、本実施形態及び後述の実施形態の説明で用いるグラフについて説明する。図9は、企業間における供給関係を表現したグラフの例を示す説明図である。図9に例示するグラフは、企業をノードとし、企業間における供給関係をエッジで表現したものである。図9に例示するグラフでは、エッジを矢印で表わし、エッジの矢尻側のノードが供給先のノード、その反対側のノードが供給元のノードを表す。具体的には、図9に例示するエッジは、材料業者A社,B社,C社及びD社から、加工業者K社及びL社への供給関係を表す。なお、本実施形態における説明では、各エッジには、左から順にそれぞれ「e数字」というIDを割り当てて識別することにする。以下の説明では、図9の例に示す7つのエッジのエッジ重要度を算出する場合について説明する。
また、図9に例示するグラフのデータ構造の例を図10に示す。図10に例示するデータ構造は、図4に例示するノードテーブル、エッジテーブル及びプロパティテーブルと同様である。ただし、本実施形態では、エッジテーブルに関連プロパティ特定部101が特定した関連プロパティを含む。すなわち、グラフはノードとエッジの情報により表現される。そして、ノードテーブルには、各ノードが有するプロパティが含まれ、エッジテーブルには、接続しているノードのペア、関連プロパティ、エッジ強度が含まれ、プロパティテーブルには関連プロパティのプロパティ重要度が含まれている。なお、図9に示す例では、サ変名詞である「保有」や「開発」といった名詞を省略してプロパティを記載する。また、グラフ解析装置の記憶部(図示せず)が、図10に例示するデータ構造でグラフの内容を示すデータを記憶してもよい。
グラフデータ10は、他にも、各ノードのクラスや各エッジの種類を示すクラスを含んでいてもよい。さらに、グラフデータ10は、各プロパティの強度の程度を示す値(以下、プロパティ強度と記す。)や各ノードの強度(すなわち、ノード強度)を含んでいてもよい。ここで、プロパティ強度とは、各ノードにおいて各プロパティがどれほど重視すべきものであるかを表す値である。プロパティの強度は、例えば、プロパティとなる単語の出現数の多さに基づいて定量化してもよい。
ここで、プロパティ重要度とプロパティ強度について説明する。図11は、プロパティ重要度とプロパティ強度の例を示す説明図である。プロパティ重要度は、あるノードに含まれるプロパティが、ノードの集合内での(プロパティの希少さに基づいて定められる)重要さの度合を示す値である。ここでは、図11(a)に例示するように、4つのノードA〜Dが存在し、それぞれがプロパティx、y、zのいずれかを有するものとする。また、プロパティxは全てのノードに現れ、プロパティyはノードAのみに現れ、プロパティzはノードB〜Dの3つのノードに現れるものとする。このとき、プロパティ重要度の値はy>z>xを満たす関係になる。これは、プロパティyがノード集合内で最も希少なためである。一方、プロパティ強度は、各ノードにおけるプロパティの重要さの度合いを示す値である。ここでは、図11(b)に例示するように、ノードEにはプロパティxが3つ現れ、プロパティyが1つ現れるとする。このとき、数が多いものが重要であれば、プロパティ強度の値は、x>yを満たす関係になる。
また、プロパティ強度を算出するプロパティ強度算出手段(図示せず)が、ノード内の文章の中から、プロパティになる単語が抽出された文章の意味解析を行いその文章に含まれる数値情報などに基づいてプロパティ強度を算出してもよい。例えば、プロパティになる単語が抽出された文章が、「昨年度のPC(パーソナルコンピュータ)の販売台数は10万台であった」だった場合、プロパティ強度算出手段(図示せず)が、プロパティ「PC」に関する数値情報「10万台」に基づいてプロパティ強度を算出してもよい。
図9に示す例では、各企業が保有するAuやCuなどの保有量がプロパティ強度に相当し、株価など企業の重要性を表す指標がノード強度に相当する。
図12は、クラス及びプロパティ強度を含むデータ構造の例を示す説明図である。図12に示す例では、図10に例示するノードテーブルに、クラス列と(プロパティ)強度列が加えられていることを示す。また、図10に示す例では、各ノードが、クラス列に記載された「材料」又は「加工」のいずれかのクラスに所属していることを示す。ここで、「材料」とは材料業者、「加工」とは加工業者を意味するものとする。なお、ノードテーブルにノード強度を含んでいてもよい。
また、図12に示すノードテーブルでは、プロパティ強度を、どのノードに含まれるプロパティに対応するかが分かるように、ノード及びプロパティごとに対応付ける。また、「日本」などのように定量化しづらいプロパティの強度は、固定値(例えば、1など)を対応付けてもよいし、値がなくてもよい。図12の例に示すプロパティ強度列の値は、AuやCuなど材料の保有量を表し、同列の「−」は、値がないことを表すものとする。
図9に例示するグラフについて、さらに説明する。図9に例示するe1〜e7は、図10に例示するエッジテーブルのID列の値と対応している。以下、各エッジの関連プロパティに基づいて、e1〜e7の定性的な特徴について説明する。
e1は、グラフ内でA社だけが保有するAuというプロパティと所在地が日本であることに起因するエッジである。このようなエッジは、例えば、K社の所在地も日本であり、国内からAuを調達したいという要望がある場合に発生する関係を示す。この関係を生じさせているプロパティはA社の強みになる。e2とe3は、Cuに関する供給関係を表すエッジである。K社への供給という観点でみると、A社とB社は競合関係にあるため、どちらかが断たれる可能性もある。そのため、e2やe3を生じさせているプロパティはデータ集合への影響が必ずしも大きいわけではない。
e4とe7は、L社に対する供給という観点でみると、Cuと海外というプロパティに起因するエッジである。これらのエッジは、例えばL社の所在地が日本であり、Cuを海外から輸入したい状況などで生じるものである。Cuや海外といったプロパティは、ノード集合内では珍しくない。また、これらは、共通するL社に対する供給関係であるため、e4とe7を生じさせているプロパティもデータ集合への影響が大きいとは言えない。e5は、Feに関する供給関係を表すエッジである。L社に対してFeを提供している関係はe5だけであるが、Feは全ての材料業者が保有しており、それほど特徴的とは言えない。e7は、Znに関する供給関係を表すエッジである。Znは、C社のみが保有しており、それを活かして他社に影響を与えているためe7を発生させるプロパティはC社の強みと言える。本実施形態では、プロパティ重要度を用いて、エッジ重要度を算出する場合について説明する。
エッジ重要度算出部202は、グラフデータ10をもとに、各エッジのエッジ重要度を算出する。エッジ重要度算出部202は、対象エッジの関連プロパティに対応するプロパティ重要度の値が大きいほど、その対象エッジのエッジ重要度を大きく算出する。ここで、対象エッジのi番目の関連プロパティをxiとし、関連プロパティの個数をM個とする。このとき、エッジ重要度算出部202は、上述の(a)、(b)の基準を満たすエッジ重要度を、例えば、以下の(式1)を用いて算出する。
対象エッジのエッジ重要度 =1−Π{(1−s(xi))} (式1)
(式1)内のs(xi)は関連プロパティxiのプロパティ重要度を表す。なお、s(xi)の値域は[0:1]である。Πは、i=1〜Mの積演算子である。
対象エッジにおける関連プロパティのプロパティ重要度が高くなるほど、1−s(xi)を含む負の項が小さな値になるため、エッジ重要度は大きくなる。このことから、(式1)は、(a)の基準を満たしていると言える。また、Mの値が大きくなるほど、Π{(1−s(xi))}の値が小さくなる。そのため、関連プロパティの個数が多くなるほどエッジ重要度が大きくなりやすい。このことから、(式1)は、(b)の基準を満たしていると言える。
エッジ重要度算出部202は、算出したエッジ重要度が予め定められた閾値(以下、エッジ重要度閾値と記す。)より大きいエッジの関連プロパティを特定する。すなわち、エッジ重要度算出部202は、エッジ重要度閾値より大きいエッジの関連プロパティを、他データに影響を与える関連プロパティと評価する。そして、エッジ重要度算出部202は、その評価結果を結果11として出力する。
また、エッジ重要度算出部202は、算出したエッジ重要度を出力してもよい。例えば、エッジ重要度算出部202は、図13に例示する表形式で結果11を出力してもよい。もしくは、エッジ重要度算出部202は、図14に例示するように、エッジ重要度をエッジの太さに反映させたグラフ構造形式で結果11を出力してもよい。この場合、ユーザは、どのエッジが重要であるかを視覚的に判断することができる。なお、図14に示す例では、エッジ重要度が高いほど太い線でエッジを表示したグラフ構造形式を示している。
また、グラフ構造形式で出力する場合、エッジ重要度算出部202は、予め定められたエッジ重要度の閾値を用い、エッジ重要度がその閾値以下のエッジを削除した結果11を表示してもよい。このようにすることで、ユーザは、各ノードの特徴的なプロパティに関連する他ノードとのエッジを把握しやすくなる。
上記説明では、エッジ重要度算出部202が算出したエッジ重要度をもとに関連プロパティを特定する場合について説明した。なお、グラフデータ10に、予めエッジ重要度が含まれている場合、エッジ重要度算出部202は、そのエッジ重要度を使用して関連プロパティを特定してもよい。
関連プロパティ特定部101と、エッジ評価部102(より具体的には、エッジ重要度算出部202)とは、プログラム(グラフ解析プログラム)に従って動作するコンピュータのCPUによって実現される。また、関連プロパティ特定部101と、エッジ評価部102(より具体的には、エッジ重要度算出部202)とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、動作について説明する。図15は、第2の実施形態における処理の例を示すフローチャートである。エッジ重要度算出部202が行う処理がステップS4に対応する。関連プロパティ特定部101が関連プロパティを特定する処理については、第1の実施形態におけるステップS1と同様である。そして、エッジ評価部102は、エッジの関連プロパティが他のノードに影響を与えるか否かを評価することにより、その関連プロパティを特定する(ステップS2)。具体的には、エッジ重要度算出部202は、各エッジのエッジ重要度を算出し(ステップS4)、関連プロパティを特定する。そして、エッジ重要度算出部202は、特定した関連プロパティが他のノードに影響を与えるか否かを評価することにより、その関連プロパティを特定する。
以上のことから、本実施形態によれば、エッジ重要度算出部202が、エッジ重要度がエッジ重要度閾値より大きいエッジに関連するプロパティを関連プロパティに特定する。具体的には、エッジ重要度算出部202が、対象エッジに関連するプロパティのプロパティ重要度が大きいほど、その対象エッジのエッジ重要度を大きく算出する。そして、エッジ重要度算出部202が算出したエッジ重要度がエッジ重要度閾値より大きいエッジに関連するプロパティを関連プロパティに特定する。このように、エッジ重要度も考慮して関連プロパティを評価するので、より適切な関連プロパティを特定することができる。
実施形態3.
本実施形態におけるグラフ解析装置は、プロパティ重要度以外の要素を用いてエッジ重要度を算出する。図16は、本発明の第3の実施形態におけるグラフ解析装置の例を示すブロック図である。なお、第1の実施形態及び第2の実施形態と同様の構成については、図2及び図8と同一の符号を付し、説明を省略する。
本実施形態におけるグラフ解析装置は、第2の実施形態におけるエッジ評価部102が、エッジ重要度算出部202に加え、エッジ重要度を求めるためのエッジ相違度算出部201を含む点において第2の実施形態と異なる。以下の説明でも、第2の実施形態で使用したグラフ及びグラフデータ(すなわち、図9に例示するグラフ及び図10に例示するグラフデータ10)を用いて説明する。
エッジ相違度算出部201は、グラフデータ10と、関連プロパティ特定部101が特定したグラフデータ10の関連プロパティとをもとに、後述のエッジ相違度を算出し、その結果をエッジ重要度算出部202に通知する。例えば、エッジ相違度算出部201は、影響ノードに接続する各エッジの関連プロパティの違いに基づいて、対象エッジと他エッジとの相違の程度(以下、エッジ相違度と記す。)を定量化する。すなわち、ここでの対象エッジとは、エッジ重要度算出部202がエッジ重要度を求める対象のエッジを意味する。また、影響ノードとは、対象エッジの矢尻側のノードのことを意味する。エッジ相違度は、共通する関連プロパティが少ないほど大きくなる値である。具体的には、エッジ相違度は、対象エッジと、その対象エッジの影響ノードを共有する1つ以上の他のエッジとの間における関連プロパティの違いの程度を示す値である。
以下、グラフデータ10が、図10に例示する構造のノードテーブル、エッジテーブル及びプロパティテーブルを含んでいる場合について説明する。まず、エッジ相違度算出部201は、エッジテーブルから、対象エッジと影響ノードが同一であるエッジを抽出する。具体的には、エッジ相違度算出部201は、エッジテーブルから対象エッジの行のターゲット列の値を抽出し、その値とターゲット列の値が同一である他のエッジを抽出する。エッジ相違度算出部201は、抽出したエッジの関連プロパティ列の値を参照し、抽出したエッジごとに関連プロパティを抽出する。エッジ相違度算出部201は、例えば、抽出した関連プロパティを一時的にメモリなどに記憶させてもよい。一時的に記憶された情報の例を図17に示す。図17に示す例では、同じ影響ノードに接続されている3つのエッジea、eb、ecと、その関連プロパティとの関係を示している。図17に示す例では、関連プロパティを「c数字」という形式で表現し、同じ数字で表現される関連プロパティが同一の関連プロパティを表すものとする。
eaを対象エッジとしてエッジ相違度を求める方法について、図17を用いて説明する。対象エッジの関連プロパティの集合である対象プロパティ集合をCoとする。また、対象エッジ以外のエッジの数(すなわち、一時的に記憶されたエッジの数)をMとし、そのエッジの中でi番目のエッジの関連プロパティの集合である比較プロパティ集合をCiとする。このとき、エッジ相違度算出部201は、対象エッジeoに対するエッジ相違度d(eo)を、以下の(式2)により算出する。
エッジ相違度d(eo)=1/(1+Σ{|Co∩Ci|/|Co|}) (式2)
(式2)内の|で囲まれた部分は、集合の要素数を表し、∩は共通集合を表す。例えば、|S|と記載された場合、S集合の要素数を表す。Σは、i=1〜Mを範囲とする総和演算子である。図17に示す例では、eaの他にebとecが存在するため、M=2になる。この式では、i番目のエッジの関連プロパティが対象エッジの関連プロパティを包含する場合、|Co∩Ci|が|Co|と等しくなり、|Co∩Ci|/|Co|の項が最大値1になるため、エッジ相違度が小さくなる。逆に、i番目のエッジと対象エッジの関連プロパティが共通集合を持たない場合、|Co∩Ci|/|Co|の項が最小値0になるため、エッジ相違度は大きくなる。図17に示す例では、エッジ相違度d(ea)=1/{1+(2/2+1/2)}=0.4になる。
図10に例示するグラフデータ10に対し、エッジ相違度算出部201が、(式2)により算出したエッジ相違度の例を図18に示す。図18に例示する値によれば、同一の関連プロパティを有し、同一の影響ノードに接続されているe2、e3、e6、e7のエッジ相違度が、同一の関連プロパティを有さないe1、e4、e5と比べて小さい値になっていることが確認できる。
また、エッジ相違度算出部201は、各プロパティの重要度(プロパティ重要度)を使用してエッジ相違度を算出してもよい。この場合も、上記算出方法と同様に、エッジ相違度算出部201は、エッジテーブルから対象エッジの行のターゲット列の値を抽出し、その値とターゲット列の値が同一である他のエッジを抽出する。そして、エッジ相違度算出部201は、抽出したエッジの関連プロパティ列の値を参照し、抽出したエッジごとに関連プロパティを抽出する。このとき、エッジ相違度算出部201は、関連プロパティと併せてプロパティ重要度を抽出する。この場合も、エッジ相違度算出部201は、例えば、抽出した関連プロパティ及びプロパティ重要度を一時的にメモリなどに記憶させてもよい。一時的に記憶された情報の例を図19に示す。図19に例示すプロパティ重要度の列の値は、各関連プロパティに対するプロパティ重要度を表す。関連プロパティがプロパティ重要度の値を持たない場合、プロパティ重要度には、1など所定の固定値を用いてもよい。
エッジ相違度にプロパティの重要度を反映するために、エッジ相違度算出部201は、(式2)のΣ{|Co∩Ci|/|Co|}の部分を変更する。具体的には、エッジ相違度算出部201は、(式2)の分母の項|Co|を、対象エッジの関連プロパティにおけるプロパティ重要度の総和に変更する。さらに、エッジ相違度算出部201は、(式2)の分子の項|Co∩Ci|を以下に示す内容に変更する。まず、CoとCiにおける共通の関連プロパティのうち、j番目のものをxijとする。jの値の範囲は1〜Qであり、Qは、CoとCiに共通する関連プロパティの数である。また、Co側のxijに対するプロパティ重要度をs(xoj)とし、Ci側のxijに対するプロパティ重要度をs(xij)とする。このとき、エッジ相違度算出部201は、(式2)における|Co∩Ci|をΣmin{s(xoj),s(xij)}に変更する。エッジ相違度算出部201が、(式2)を変更した式を(式3)に示す。
エッジ相違度d(eo)=1/(1+Σ{Σmin{s(xoj),s(xij)}/対象エッジの関連プロパティにおけるプロパティ重要度の総和}) (式3)
ここで、min{s(xoj),s(xij)}は、s(xoj)とs(xij)のうちの小さい方を意味する演算子であり、Σはj=1〜Qの総和演算子である。(式3)を用いることにより、エッジ相違度算出部201は、一致する関連プロパティの重要度が高く、かつ、対象エッジのプロパティ重要度と比較して他のエッジのプロパティ重要度が高いほど、エッジ相違度を低く算出できる。
エッジ相違度算出部201は、エッジ相違度を計算する処理において、特定のプロパティを除外するようにしても良い。例えば、ユーザが、供給物が似ているか否かによってエッジの類似度を判定したいと考えているとする。この場合、エッジ相違度算出部201は、例えば、日本や海外と行った供給物に直接関係しないプロパティを計算処理から除外する。この場合、除外する対象のプロパティは、例えば、ユーザにより予め設定ファイル等に設定され、エッジ相違度算出部201は、そのファイルを参照して、除外するプロパティを判断してもよい。
このように、エッジ相違度算出部201は、所定のエッジと矢尻側のノードを共有する1つ以上の他エッジとの間における関連プロパティの共通性に基づいて、所定のエッジに対する相違度を算出する。
エッジ重要度算出部202は、グラフデータ10と、エッジ相違度算出部201が算出したエッジ相違度とをもとに、各エッジのエッジ重要度を算出する。ここで、対象エッジを識別するためのIDをeoとし、対象エッジのi番目の関連プロパティをxiとし、関連プロパティの個数をM個とする。このとき、エッジ重要度算出部202は、上述の(a)、(b)及び(d)の基準を満たすエッジ重要度を、例えば、以下の(式4)を用いて算出する。
対象エッジのエッジ重要度=d(eo)×(1−Π{(1−s(xi))}) (式4)
対象エッジにおける関連プロパティのプロパティ重要度が高くなるほど、1−s(xi)を含む負の項が小さな値になるため、エッジ重要度は大きくなる。このことから、(式4)は、(a)の基準を満たしていると言える。また、Mの値が大きくなるほど、Π{(1−s(xi))}の値が小さくなる。そのため、関連プロパティの個数が多くなるほどエッジ重要度が大きくなりやすい。このことから、(式4)は、(b)の基準を満たしていると言える。 また、影響ノードに対象エッジと類似するエッジが接続されている場合、エッジ相違度d(eo)の値は、異なるエッジが接続されている場合に比べて小さな値になる。すなわち、エッジ相違度が大きくなるほど、エッジ重要度は大きくなる。(式4)では、対象エッジのエッジ相違度d(eo)を乗じているため、影響ノードに対象エッジと類似するエッジが接続されていれば、対象エッジのエッジ重要度を小さくできる。このことから、(式4)は、(d)の基準を満たしていると言える。
また、エッジ重要度算出部202は、グラフデータ10と、エッジ相違度算出部201が算出したエッジ相違度以外にも、ノード強度やエッジ強度をもとに、各エッジのエッジ重要度を算出してもよい。このとき、エッジ重要度算出部202は、上述の(a)〜(e)の基準を満たすエッジ重要度を、例えば、以下の(式5)を用いて算出する。
対象エッジのエッジ重要度=s(inf)×s(eo)×d(eo)×(1−Π{(1−s(xi))}) (式5)
(式5)内のs(inf)は影響ノードの強度(ノード強度)を表す。また、s(eo)は、対象エッジのエッジ強度を、d(eo)は、対象エッジのエッジ相違度を、s(xi)は関連プロパティxiのプロパティ重要度をそれぞれ表す。なお、s(xi)の値域は[0:1]である。Πは、i=1〜Mの積演算子である。このとき、ノード強度を、全ノードのノード強度もしくは同一クラス内のノード強度で最大値が1になるように正規化しておく。
(式5)では、対象エッジのエッジ強度s(eo)を乗じていることから、エッジの強度が大きくなるほど対象エッジのエッジ重要度は大きくなる。このことから、(式5)は、(c)の基準を満たしていると言える。また、影響ノードの強度が大きいほど場合、影響ノードの強度s(inf)の値は大きくなる。(式5)では、影響ノードの強度s(inf)を乗じていることから、影響ノードの強度が大きくなるほど対象エッジの重要度も大きくなる。このことから、(式5)は、(e)の基準を満たしていると言える。
なお、上述の通り、エッジ評価部102は、エッジ重要度を算出する場合、下記(a)〜(e)の全ての基準を用いる必要はなく、例えば、ユーザの指示に応じ、下記(a)〜(e)の一つ以上を組み合わせた基準を用いてエッジ重要度を定量化してもよい。また、エッジ評価部102は、下記(a)〜(e)以外の基準を用いてエッジ重要度を算出してもよい。
すなわち、エッジ重要度算出部202は、対象エッジに関連するプロパティに付与されたプロパティ重要度が大きいほど、エッジ重要度を大きく算出する。これは、(a)の基準に相当する。また、エッジ重要度算出部202は、対象エッジの関連プロパティの数が多くなるほど、エッジ重要度を大きく算出してもよい。これは、(b)の基準に相当する。さらに、エッジ重要度算出部202は、エッジ相違度が大きくなるほど、エッジ重要度を大きく算出してもよい。これは、(d)の基準に相当する。また、エッジ重要度算出部202は、エッジ強度が大きくなるほど、エッジ重要度を大きく算出してもよい。これは、(c)の基準に相当する。さらに、エッジ重要度算出部202は、ノード強度が供給先のノードで高くなるほど、その供給先のノードに接続されたエッジのエッジ重要度を大きく算出してもよい。これは、(e)の基準に相当する。
図10に例示するグラフデータに対し、エッジ重要度算出部202が、(式5)を用いて算出したエッジ重要度の例を図20に示す。具体的には、エッジ重要度算出部202は、図10に例示するプロパティ重要度を用いてエッジ重要度を算出する。図20に示す例では、各ノードが固有のプロパティを有している場合、それを関連プロパティとするエッジのエッジ重要度が、固有のプロパティを有していない他のエッジよりも高い値になっていることが分かる。以下、その内容を具体的に説明する。
e1は、A社の「Au」と「国内」という他のノードにはないプロパティに関連するエッジであるため、エッジ重要度は最も高くなっている。次にエッジ重要度が高いエッジはe6である。e6は、Znに関連する唯一のエッジのため、e1以外の他のエッジに比べて重要度が高くなっている。同様に、e5もFeに関連する唯一のエッジである。しかし、Znが2社しか保有しないプロパティであるのに対して、Feは4社全ての企業が有するプロパティである。そのため、この代替の可能性の違いにより、よりレアなe6の方が、e5よりもデータ集合に影響を与える特徴的なエッジといえる。そのため、e6の方がe5よりもエッジ重要度が大きくなっている。また、e2とe3は同一の影響ノードに対する同一の関連プロパティに基づくエッジである。したがって、上記のエッジと比べてエッジ重要度は低くなっている。ここで、e2の方がe3よりもエッジ強度(ここでは、Cuの供給量など)が大きいため、その差がエッジ重要度の差として現れる結果になっている。
以上のことから、上記結果は、上述した図10に例示するグラフデータの各エッジの定性的な説明と一致する。すなわち、エッジ重要度算出部202が(式5)を用いて算出するエッジ重要度は、上記(a)〜(e)の基準を満たしていると言える。
関連プロパティ特定部101と、エッジ評価部102(より具体的には、エッジ相違度算出部201と、エッジ重要度算出部202)とは、プログラム(グラフ解析プログラム)に従って動作するコンピュータのCPUによって実現される。また、関連プロパティ特定部101と、エッジ評価部102(より具体的には、エッジ相違度算出部201と、エッジ重要度算出部202)とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、動作について説明する。図21は、第1の実施形態における処理の例を示すフローチャートである。エッジ相違度算出部201が行う処理がステップS3に、エッジ重要度算出部202が行う処理がステップS4にそれぞれ対応する。関連プロパティ特定部101が関連プロパティを特定する処理については、第1の実施形態におけるステップS1と同様である。そして、エッジ評価部102は、エッジの関連プロパティが他のノードに影響を与えるか否かを評価することにより、その関連プロパティを特定する(ステップS2)。
ステップS2の処理について、具体的に説明する。まず、エッジ相違度算出部201は、エッジ相違度を算出する(ステップS3)。エッジ重要度算出部202は、エッジ相違度算出部201が算出したエッジ相違度などをもとに、各エッジのエッジ重要度を算出し(ステップS4)、関連プロパティを特定する。そして、エッジ重要度算出部202は、特定した関連プロパティが他のノードに影響を与えるか否かを評価することにより、その関連プロパティを特定する。
以上のことから、本発明によれば、エッジ重要度算出部202が、エッジ相違度が大きくなるほどエッジ重要度を大きく算出する。具体的には、エッジ重要度算出部202が、各エッジの関連プロパティの違いに基づいてエッジ相違度を算出し、そのエッジ相違度が大きくなるほど、エッジ重要度を大きく算出する。このようにして算出されたエッジ重要度を用いて関連プロパティを評価するため、より適切な関連プロパティを特定することができる。
実施形態4.
本実施形態におけるグラフ解析装置は、解析対象になるグラフデータ10の生成過程を含む処理を行う。図22は、本発明の第4の実施形態におけるグラフ解析装置の例を示すブロック図である。なお、第1の実施形態と同様の構成については、図7と同一の符号を付し、説明を省略する。
本実施形態におけるグラフ解析装置は、第1の実施形態の構成に加え、プロパティ抽出部301と、プロパティ重要度算出部302と、エッジ抽出部303とを備えている。図22に例示する情報源20は、グラフ解析装置に入力され、後述のプロパティ抽出部301等により解析される情報を表す。
例えば、企業の情報を対象にする場合、各企業のWebサイトが情報源20として挙げられる。企業のWebサイトには、会社概要やプレスリリースなどが存在する。これらサイトには、開発している製品や供給関係にある企業など解析に利用できる情報が多く記載されているからである。また、例えば、人の情報を対象にする場合、SNSサイトが情報源20として挙げられる。各人のサイトには、その人の趣味や参加コミュニティ、日記などが記載されているからである。さらに、Webサイトや論文を対象にする場合、Webサイトや論文そのものを情報源20とすることができる。
プロパティ抽出部301は、情報源20を受け取ると、その情報源20から各ノードになるデータを切り分ける。そして、プロパティ抽出部301は、ノードになる各データからプロパティを抽出し、その結果を、プロパティ重要度算出部302及びエッジ抽出部303に通知する。
プロパティ抽出部301は、例えば、ユーザが解析したい粒度に基づいてノードの単位を決定すればよい。例えば、ユーザが、企業社会全体に影響を与える各企業のプロパティを解析したいと考える場合、プロパティ抽出部301は、一つの企業の情報をノードの単位として決定すればよい。もしくは、ユーザが、ある企業の中の部単位で解析をしたいと考える場合、プロパティ抽出部301は、部の情報をノードの単位として決定すればよい。
プロパティ抽出部301は、例えば、情報源20として企業のWebサイトの集合を受け取ると、企業のWebサイトごとにプロパティを抽出する。プロパティ抽出部301は、Webサイトのテキスト情報を解析し、主力製品の種類や保有技術などを抽出し、それらをプロパティとする。プロパティ抽出部301は、PCや携帯電話など、製品の種類名が予め登録された辞書ファイルをもとにプロパティを抽出してもよい。例えば、プロパティ抽出部301は、プレスリリースのテキスト情報に、その種類名に合致する単語があるか否かを評価し、合致する単語が存在した場合、その単語を各企業が保有するプロパティとして特定してもよい。
上記のような辞書ファイルを使わない場合、プロパティ抽出部301は、各企業のサイトで頻出する所定の品詞の単語や複合名詞などをその企業のプロパティに加えてもよい。また、プロパティ抽出部301は、抽出すべきでない単語(ストップワード)として予め定められた単語を除くようにしてもよい。このようにすることで、例えば、サイト内に「弊社」など、不要な単語が多く出現する場合にも、そのような単語を排除することができる。なお、プロパティ抽出部301は、プロパティをキーワード単位ではなく、文単位で抽出してもよい。この場合、プロパティ抽出部301は、SVM(Support Vector Machine)など、文章内から重要な文を抽出する広く知られた技術を用いて重要文を抽出してもよい。
プロパティ抽出部301は、情報源20として企業以外の場合を受信した場合も、上記と同様の処理によりプロパティを抽出できる。例えば、SNSのサイトを情報源20として受信した場合、プロパティ抽出部301は、辞書ファイルに趣味や特技に関するデータを含む情報を使用することで、スキルや能力などをプロパティとする「人」のノードを得ることができる。プロパティ抽出部301は、Webサイトや論文などの情報源20からも同様に、辞書ファイルに合致する単語や頻出単語等を抜き出すことができる。
プロパティ抽出部301は、抽出したプロパティを、どのノードから抽出したプロパティであるかが分かるように対応づけておく。例えば、プロパティ抽出部301は、図4に例示するデータ構造を用いてノードとプロパティとを対応付けておいてもよい。また、プロパティ抽出部301は、情報源20からプロパティ強度を抽出しても良い。例えば、プロパティ抽出部301は、プロパティになる単語が情報源20に出現する数の多さに基づいてプロパティ強度を定量化してもよい。もしくは、プロパティ抽出部301は、プロパティになる単語を抽出した文の意味解析を行うことにより、プロパティ強度を決定しても良い。例えば、プロパティが「PC」であり、その単語を抽出した文が、「昨年度のPCの販売台数は10万台であった」である場合、プロパティ抽出部301は、数値情報「10万台」に基づいてプロパティ強度を決定してもよい。
他にも、プロパティ抽出部301は、ノードのクラスを抽出しても良い。ここで、ノードのクラスとは、ノードの種類を意味する。プロパティ抽出部301は、例えば、プロパティ抽出部301は、辞書ファイルに登録された業種を示す情報などをもとに、情報源20からクラスを抽出してもよい。同様に、プロパティ抽出部301は、各企業の株価などを抽出し、その値を各ノードのノード強度としてもよい。そして、プロパティ抽出部301は、少なくともどのノードがどのプロパティを有するかをまとめた情報(例えば、図4に例示するノードテーブルの情報)を、プロパティ重要度算出部302およびエッジ抽出部303に通知する。
プロパティ重要度算出部302は、受け取ったノード集合と各ノードのプロパティをもとに、各プロパティのプロパティ重要度を算出し、その結果を関連プロパティ特定部101に通知する。具体的には、プロパティ重要度算出部302は、ノード集合における各プロパティの特異性に基づいてプロパティ重要度を算出する。すなわち、プロパティ重要度算出部302は、ノード集合において希少なプロパティであるほどプロパティ重要度を高く、多くのノードに現れるプロパティほどプロパティ重要度を低く算出する。プロパティ重要度算出部302は、例えば、以下の(式6)に例示するidf(逆出現頻度)の基準を用いてプロパティ重要度を算出する。
プロパティ重要度=log(N/df)+1 (式6)
(式6)において、Nは総ノード数を表し、dfは、プロパティ重要度を求めるプロパティを含むノードの数である。
図4に例示するグラフデータをもとに、プロパティ重要度算出部302が、(式6)を用いてプロパティ重要度を算出した結果を図23に示す。図23は、ノード数、各プロパティを含むノードの数(以下、保有ノード数と記す。)、プロパティ重要度及び正規化したプロパティ重要度の例を示す説明図である。図4に示す例では、プロパティ重要度の算出対象は{Au保有、Cu保有,Fe保有、Be保有、Au加工、Cu加工、Fe加工}の7つであり、総ノード数は6であることがわかる。これらの情報をもとに、プロパティ重要度算出部302がプロパティ重要度を算出した結果が、図23に例示するプロパティ重要度である。なお、図23に例示するプロパティ重要度は、プロパティ重要度算出部302が、(式6)のlogの底を2として算出した値である。また、図23に例示する正規化後のプロパティ重要度は、プロパティ値の最大値を1にするように正規化された値である。この結果から分かるように、プロパティ重要度算出部302は、Au保有やBe保有など、全ノード中において稀にしか存在しないプロパティであるほどプロパティ重要度を高く算出する。
なお、上記説明では、プロパティ重要度算出部302が、(式6)を用いてプロパティ重要度を算出する場合について説明した。他にも、プロパティ重要度算出部302は、例えば、以下に示す(式7)を用いてプロパティ重要度を算出してもよい。プロパティ重要度算出部302は、(式7)を用いた場合も、(式6)と類似する結果を得ることができる。(式7)を用いた場合、プロパティ重要度算出部302は、logの計算を必要としない。そのため、(式6)と比べて計算処理にかかる負担を抑えられる。
プロパティ重要度=1−(df+1)/(N+1) (式7)
また、ノードのクラスが明らかである場合、プロパティ重要度算出部302は、ノードのクラスごとにプロパティ重要度を算出してもよい。例えば、プロパティ重要度算出部302は、対象のプロパティが現れるノードが所属するクラス内の全ノード数を(式6)のNとおきかえた式を用いてプロパティ重要度を算出しても良い。例えば、プロパティ重要度算出部302は、クラス「保有」に関するNを材料業者の数である4として、また、「加工」に関するNを加工業者の数である2としてプロパティ重要度を算出する。この算出結果の例を図24に示す。図23に例示するプロパティ重要度と図24に例示するプロパティ重要度とを比較すると、図24に例示する方が、各プロパティ重要度の差が顕著になっている。このように、クラスごとにプロパティ重要度を算出することにより、少数しかないプロパティをより重要とする結果を得ることができる。
さらに、グラフデータがプロパティ強度を含む場合、プロパティ重要度算出部302は、プロパティ強度と(式6)に例示するidfの基準との積を計算することにより、個々のノードから見た各プロパティ重要度を補正してもよい。具体的には、(式6)を用いて算出されたプロパティ重要度をa1とし、同一のプロパティに対するプロパティ強度をb1とすると、プロパティ重要度算出部302は、補正後のプロパティ重要度をa1×b1により算出できる。これは、プロパティ強度をtf(単語の出現頻度)とみなした場合におけるtf−idfの基準に相当する。この場合、プロパティ重要度算出部302は、各ノードのプロパティごとに異なるプロパティ重要度を算出できる。なお、プロパティ強度は、オリジナルのデータでは単位が統一されていないこともあるため、プロパティ重要度算出部302は、上記計算を行う前に、同一のプロパティにおいて、強度の最大値を1になるように正規化しておくことが望ましい。
プロパティ重要度算出部302は、例えば、ユーザにより予め準備された設定ファイルに指定された計算方法を用いてプロパティ重要度を算出してもよい。例えば、与えられたグラフデータに基づいて計算方法を決定する旨の情報が設定ファイルに定められている場合、プロパティ重要度算出部302は、グラフデータを受け取ったときに、その設定ファイルの内容に基づいて計算方法を決定してもよい。
また、プロパティ重要度算出部302は、プロパティ重要度が予め定められた閾値(以下、プロパティ重要度閾値と記す。)よりも小さいプロパティ(すなわち、特徴的でないプロパティ)を解析の候補から除外してもよい。上述のとおり、本発明によるグラフ解析方法では、解析を行う際、データ集合に影響を与える特徴的なプロパティであるか否かを重視する。そのため、プロパティ重要度算出部302が、特徴的でないプロパティを除外することにより、解析対象のプロパティ数が減るため、後の処理に対する処理負担を軽減できる。
そして、プロパティ重要度算出部302は、算出したプロパティ重要度を関連プロパティ特定部101に通知する。
エッジ抽出部303は、情報源20とプロパティ抽出部301の出力結果から、どのノード間が供給関係を有するかを特定し、その結果を関連プロパティ特定部101に通知する。抽出しやすい単純なエッジには、Webサイト間のハイパーリンクが挙げられる。この場合、各Webサイトがノードになる。WebサイトAからWebサイトBにリンクが張られている場合、エッジ抽出部303は、WebサイトAは、WebサイトBになんらかの情報を供給していると捉え、WebサイトAをターゲット(すなわち、供給元のノード)、WebサイトBをソース(すなわち、供給先のノード)と決定する。エッジ抽出部303は、例えば、HTML(HyperText Markup Language )を解析することによりハイパーリンクを抽出できる。
近年では、ノードが論文の場合でも、学会などが論文をWeb上で公開していることも多い。この場合、論文と参考文献との関係がハイパーリンクで与えられていることもある。解析対象のデータが、このようにWeb上で公開されている場合、エッジ抽出部303は、そのHTMLを解析し、参考文献を表すハイパーリンクに基づいて論文間の参照関係を抽出してもよい。
そのような情報がない場合、エッジ抽出部303は、各論文のテキスト情報に対して文字列をマッチングさせる方法などにより、参考文献が記載されているところを特定する。そして、エッジ抽出部303は、ナンバリング(番号付与)やアイテマイズ(箇条書き)されているテキストを一つの論文情報とみなす。また、エッジ抽出部303は、このような論文情報を対象に、””や「」で囲まれている文字列を論文タイトルとして抽出してもよい。また、エッジ抽出部303は、日本語であればスペースを含まない連続α以上の文字列、英語であれば「,」を含まない連続βワード以上の文字列、などのルールを用いて、論文タイトルを抽出してもよい。また、エッジ抽出部303は、抽出したタイトルを文書の前方に有する論文を参照先の論文としてもよい。エッジ抽出部303は、参考文献を挙げている側をターゲット、参考文献として挙げられている側をソースとして参考文献による供給関係を抽出してもよい。
また、ノードが人である場合、エッジ抽出部303は、例えば、SNSサイトから各人の友人関係を抽出してもよい。このとき、エッジ抽出部303は、SNSサイトのHTMLを解析し、友人のサイトへのハイパーリンクが張られている場所を特定する。そして、エッジ抽出部303は、各サイトを個々の人と捉え、人の情報の供給関係を抽出する。なお、双方向に関係が成り立つ場合は、エッジ抽出部303は、便宜上相互に単方向のエッジで結ばれていると捉えればよい。
また、ノードが企業である場合、エッジ抽出部303は、プレスリリース内のテキスト情報を解析し、関係のある企業を抽出する。このとき、エッジ抽出部303は、一つの文の中に企業名との関係を表す単語が含まれている場合、そのプレスリリースを発行している企業と、含まれていた企業名との関係を抽出してもよい。なお、エッジ抽出部303は、企業名や供給関係を表す単語を含むファイルとして予め設定された辞書ファイルなどをもとに、企業間の関係を抽出してもよい。また、関係を表す単語ごとに、どちらがソース又はターゲットになるかを示す条件が予め定められている場合、エッジ抽出部303は、その条件に基づいて関係を抽出してもよい。
また、エッジ抽出部303は、エッジ強度を推定してもよい。エッジ強度は、ノード間の関係の強さを表す値であるため、エッジ抽出部303は、情報源20において、あるノード間の関係に対応する量に基づいてエッジの強度を推定できる。例えば、関係に対応する数値情報が存在する場合、エッジ抽出部303は、その数値に基づいてエッジの強度を決定してもよい。具体的には、供給関係に対応する情報が「B社に対して銅を5t供給した」である場合、エッジ抽出部303は、数値「5t」に基づいてエッジ強度を決定してもよい。
エッジ抽出部303は、抽出した関係(エッジ)を、グラフ解析装置が備える記憶部(図示せず)に、図4に例示するエッジテーブルのようなデータ構造で記憶させてもよい。エッジ抽出部303は、抽出した関係を、例えば、図4に例示するデータ構造で関連プロパティ特定部101に通知する。関連プロパティ特定部101が、エッジ抽出部303から抽出した関係(エッジ)を、プロパティ重要度算出部302からプロパティ重要度を、それぞれ受け取った後の処理は、第1の実施形態〜第3の実施形態と同様である。
例えば、第4の実施形態におけるプロパティ抽出部301、プロパティ重要度算出部302及びエッジ抽出部303を、第2の実施形態及び第3の実施形態と組み合わせ、情報源20から作成されたグラフデータに基づき、エッジ重要度算出部202が、エッジ重要度を求めてもよい。
プロパティ抽出部301と、プロパティ重要度算出部302と、エッジ抽出部303と、関連プロパティ特定部101と、エッジ評価部102とは、プログラム(グラフ解析プログラム)に従って動作するコンピュータのCPUによって実現される。また、プロパティ抽出部301と、プロパティ重要度算出部302と、エッジ抽出部303と、関連プロパティ特定部101と、エッジ評価部102とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、動作について説明する。図25は、第4の実施形態における処理の例を示すフローチャートである。プロパティ抽出部301が行う処理がステップS5に、プロパティ重要度算出部302が行う処理がステップS6に、エッジ抽出部303が行う処理がS7にそれぞれ対応する。すなわち、プロパティ抽出部301は、情報源20を受け取ると、その情報源20から各ノードになるデータを切り分ける。そして、プロパティ抽出部301は、ノードになる各データからプロパティを抽出し(ステップS5)、その結果を、プロパティ重要度算出部302及びエッジ抽出部303に通知する。プロパティ重要度算出部302は、受け取ったノード集合と各ノードのプロパティをもとに、各プロパティのプロパティ重要度を算出し、その結果を関連プロパティ特定部101に通知する(ステップS6)。また、エッジ抽出部303は、情報源20とプロパティ抽出部301の出力結果から、どのノード間が供給関係を有するか(すなわち、エッジ)を特定し、特定結果を関連プロパティ特定部101に通知する(ステップS7)。以降の処理は、第1の実施形態の処理(すなわち、図7におけるステップS1〜S2)と同様である。
以上のことから、本実施形態によれば、プロパティ重要度算出部302が、総ノード数とプロパティ重要度を算出する対象のプロパティを含むノード数との比率に基づいて、そのプロパティを含むノード数が少なくなるほど、プロパティ重要度を大きく算出する。このように算出されたプロパティ重要度を用いて関連プロパティを評価するので、より適切な関連プロパティを特定することができる。
次に、本発明の最小構成を説明する。図26は、本発明の最小構成を示すブロック図である。本発明によるグラフ解析装置は、特異性を定量化した値である特異度(例えば、プロパティ重要度)が付与された1つ以上のプロパティを有するノードと、供給関係を有するノード間を供給元のノードから供給先のノード方向へ向けて接続される少なくとも1組以上のエッジを含むグラフ(例えば、グラフデータ10)をもとに、エッジに関連するプロパティである関連プロパティを特定する関連プロパティ特定手段91(例えば、関連プロパティ特定部101)と、エッジの関連プロパティが他のノードに影響を与えるか否かを評価することによりその関連プロパティを特定するエッジ評価手段92(例えば、エッジ評価部102)とを備えている。
関連プロパティ特定手段91は、エッジに接続された両ノードが有するプロパティの共通性(例えば、完全一致、類似度閾値を用いた部分一致など)とそのプロパティに付与された特異度の大きさ(例えば、プロパティ評価閾値よりも大きい特異度)とに基づいて関連プロパティを特定する。そのような構成により、個々のデータとそのデータ間の関係を示すグラフにおいて、他データに影響を与える特徴的なプロパティを解析できる。
なお、少なくとも以下に示すようなグラフ解析装置も、上記に示すいずれかの実施形態に記載されている。
(1)特異性を定量化した値である特異度(例えば、プロパティ重要度)が付与された1つ以上のプロパティを有するノードと、供給関係を有するノード間を供給元のノードから供給先のノード方向へ向けて接続される少なくとも1組以上のエッジを含むグラフ(例えば、グラフデータ10)をもとに、エッジに関連するプロパティである関連プロパティを特定する関連プロパティ特定手段(例えば、関連プロパティ特定部101)と、エッジの関連プロパティが他のノードに影響を与えるか否かを評価することによりその関連プロパティを特定するエッジ評価手段(例えば、エッジ評価部102)とを備え、関連プロパティ特定手段が、エッジに接続された両ノードが有するプロパティの共通性(例えば、完全一致、類似度閾値を用いた部分一致など)とそのプロパティに付与された特異度の大きさ(例えば、プロパティ評価閾値よりも大きい特異度)とに基づいて関連プロパティを特定するグラフ解析装置。
(2)関連プロパティ特定手段が、エッジに接続された両ノードが有するプロパティに予め定められた共通性の基準を満たす文字列(例えば、類似度閾値を超える文字数だけ一致する文字列)が含まれている場合、その文字列を含むプロパティをエッジに関連する関連プロパティであると特定するグラフ解析装置。
(3)関連プロパティ特定手段が、供給元のノードに含まれるテキスト情報であって、供給先のノードとの関係を示すテキスト情報(例えば、ハイパーリンクが付与されているテキストの周辺のテキスト情報や、参考文献を参照する部分)に含まれる文字列が、供給先のプロパティとの間で予め定められた共通性の基準を満たす場合、その文字列を関連プロパティであると特定するグラフ解析装置。
(4)関連プロパティ特定手段が、両ノードが有するプロパティの共通性を同義語辞書又は類義語辞書を用いて判断するグラフ解析装置。
(5)エッジ評価手段が、関連プロパティの特異度が予め定められた閾値(例えば、プロパティ評価閾値)より大きい場合に、その関連プロパティが他のデータに影響を与える関連プロパティと評価するグラフ解析装置。
(6)エッジ評価手段(例えば、エッジ重要度算出部202)が、エッジの重要性を定量化した値であるエッジ重要度が予め定められた閾値(例えば、エッジ重要度閾値)より大きいエッジに関連するプロパティを関連プロパティに特定するグラフ解析装置。
(7)対象エッジに関連するプロパティに付与された特異度が大きいほど、その対象エッジのエッジ重要度を大きく算出する(例えば、(a)の基準を満たすように計算する)エッジ重要度算出手段(例えば、エッジ重要度算出部202)を備え、エッジ評価手段が、エッジ重要度算出手段が算出したエッジ重要度が予め定められた閾値(例えば、エッジ重要度閾値)より大きいエッジに関連するプロパティを関連プロパティに特定するグラフ解析装置。
(8)エッジ重要度算出手段が、対象エッジの関連プロパティの数が多くなるほど、エッジ重要度を大きく算出する(例えば、(b)の基準を満たすように計算する)グラフ解析装置。
(9)エッジ重要度算出手段が、対象エッジと、その対象エッジの供給先ノードを共有する1つ以上の他のエッジとの間における関連プロパティの違いの程度を示す値であるエッジ相違度が大きくなるほど、エッジ重要度を大きく算出する(例えば、(d)の基準を満たすように計算する)グラフ解析装置。
(10)各エッジの関連プロパティの違いに基づいてエッジ相違度を算出するエッジ相違度算出手段(例えば、エッジ相違度算出部201)を備え、エッジ重要度算出手段が、エッジ相違度算出手段が算出したエッジ相違度が大きくなるほど、エッジ重要度を大きく算出する(例えば、(d)の基準を満たすように計算する)グラフ解析装置。
(11)エッジ相違度算出手段が、対象エッジの関連プロパティの集合である対象プロパティ集合(例えば、Co)と他のエッジの関連プロパティの集合である比較プロパティ集合(例えば、Ci)との共通集合の要素数(例えば、|Co∩Ci|)と、対象プロパティ集合の要素数(例えば、|Co|)との比率(例えば、|Co∩Ci|/|Co|)を、他のエッジごとに算出し、エッジごとに算出された比率を加算した値の逆数をエッジ相違度として算出する(例えば、(式2)を用いて算出する)ことにより、共通集合の要素数が少なくなるほど、エッジ相違度を大きく算出するグラフ解析装置。
(12)エッジ相違度算出手段が、対象エッジの関連プロパティの集合である対象プロパティ集合と他のエッジの関連プロパティの集合である比較プロパティ集合との共通集合である共通関連プロパティ集合をもとに、共通関連プロパティごとに対象プロパティ集合側のプロパティの特異度と比較プロパティ集合側のプロパティの特異度とで小さい特異度を選択した場合のその特異度の総和(例えば、Σmin{s(xoj),s(xij)})と、対象プロパティ集合の各関連プロパティの特異度の総和との比率の逆数に基づいて(例えば、(式3)を用いて)エッジ相違度を算出するグラフ解析装置。
(13)エッジ重要度算出手段が、エッジで繋がれた各ノードの供給関係の強さを定量化した値であるエッジ強度が大きくなるほど、エッジ重要度を大きく算出する(例えば、(c)の基準を満たすように計算する)グラフ解析装置。
(14)エッジ重要度算出手段が、ノードの重要性の強さを定量化した値であるノード強度が供給先のノードで高くなるほど、その供給先のノードに接続されたエッジのエッジ重要度を大きく算出する(例えば、(e)の基準を満たすように計算する)グラフ解析装置。
(15)エッジ相違度算出手段が、予め定められた1つ以上の関連プロパティ(例えば、ユーザにより予め設定ファイルに設定された除外する対象のプロパティ)をエッジ相違度の算出過程から除外するグラフ解析装置。
(16)プロパティの特異度を算出するプロパティ特異度算出手段(例えば、プロパティ重要度算出部302)を備え、プロパティ特異度算出手段が、総ノード数とプロパティを含むノード数との比率に基づいて、プロパティを含むノード数が少なくなるほど、プロパティの特異度を大きく算出する(例えば、(式6)を用いて計算する)グラフ解析装置。
(17)プロパティの特異度を算出するプロパティ特異度算出手段(例えば、プロパティ重要度算出部302)を備え、プロパティ特異度算出手段が、プロパティを含むノードと同一の種類のノード数と、プロパティを含むノード数との比率に基づいて、プロパティを含むノード数が少なくなるほど、プロパティの特異度を大きく算出する(例えば、(式7)を用いて計算する)グラフ解析装置。
(18)プロパティ特異度算出手段が、プロパティの強度の程度を示す値であるプロパティ強度に基づいてプロパティ特異度を補正する(例えば、a1×b1によりプロパティ重要度を算出する)グラフ解析装置。