JP2010165166A - グラフ構造推定システム、グラフ構造推定方法、およびプログラム - Google Patents

グラフ構造推定システム、グラフ構造推定方法、およびプログラム Download PDF

Info

Publication number
JP2010165166A
JP2010165166A JP2009006740A JP2009006740A JP2010165166A JP 2010165166 A JP2010165166 A JP 2010165166A JP 2009006740 A JP2009006740 A JP 2009006740A JP 2009006740 A JP2009006740 A JP 2009006740A JP 2010165166 A JP2010165166 A JP 2010165166A
Authority
JP
Japan
Prior art keywords
link
importance
graph
node
nodes
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
JP2009006740A
Other languages
English (en)
Inventor
Yasutaka Yamamoto
康高 山本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009006740A priority Critical patent/JP2010165166A/ja
Publication of JP2010165166A publication Critical patent/JP2010165166A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】解析目的に適したグラフ構造を推定できるグラフ構造推定システム、グラフ構造推定方法、およびプログラムを提供すること。
【解決手段】本発明は、二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、ノード間のリンクの種別の特徴量とに基づいて、二種類以上のリンクの重要度を推定するリンク種別重要度推定部と、リンクの重要度を用いて二種類以上のリンクの強度を補正するグラフ補正部と、を備えるグラフ構造推定システムである。
【選択図】図28

Description

本発明は、グラフ構造推定システム、方法、およびプログラムに関する。
グラフとは頂点(ノード)の集合と辺(リンク)の集合とを有するデータを表す。人間関係をグラフで表すならば、ノードが人、リンクが血縁関係やコミュニケーションの関係などとなる。近年、WWWのリンク構造やSNSにおける人の関係、生物学におけるタンパク質/遺伝子間の関係などグラフのデータ解析(以降、グラフ解析)が注目されている。グラフ解析には、ノードのランキング/クラスタリング/クラシフィケーション、ノード間のリンクの予測、グラフ中の特徴的な構造の抽出など、様々な種類がある。
グラフの構造は、ノード間に張られるリンクの有無やそのリンクの強度によって決まる。ここでは、ノード間に対するリンクの有無や強度を表現したものをグラフ構造と呼ぶ。
解析者がグラフ解析を行う際には、まず解析対象となるデータのグラフ構造を決める。例えば、Webページを解析するのであれば、Webページをノード、Webページ間のハイパーリンクをリンクとみなしグラフ構造とすることが多い。このとき、内容の類似性やドメインの共通性、作成者の同一性をリンクとしてもよい。また、人のコミュニケーションを解析するのであれば、人をノード、人同士のコミュニケーションツールの使用状況などをリンクとすることなどが多い。このとき、利用回数に応じてリンクの強度を定量化することも多い。情報共有のツールの例としては、e−mail、電話、ファイル共有システムなどがある。
上記例から分かるように、あるノード集合に対して、リンクの種類は複数存在する。どの種類のリンクが重要であるかは解析者や解析したい内容によって変化し、重視するリンクの種類が変わればグラフ構造も変化する。そのため、グラフ解析技術の解析結果がグラフ構造に依存する場合、グラフ構造をどのように構築するかが極めて重要となる。しかしながら、どのような種類のリンクを重視するかは解析者の主観に委ねられていることが多く明確な基準はない。
そこで、解析目的に適したグラフ構造を推定できる技術が望まれている。
従来、解析目的に適したグラフ構造を推定するための技術は報告されていない。類似する技術として、非特許文献1のように、ノードの特徴量を利用して、該ノード間における潜在的なリンクの有無を推定するリンク推定技術があるが、解析目的に適したグラフ構造を得るために、どのような種類のリンクを重視するかを決定するものではない。
鹿島久嗣,"ネットワーク構造予測",人工知能学会論文誌, Vol. 22, No. 3, pp.344‐347,2007
グラフは潜在的に複数種類のリンクを有する。Webページや人の関係においても、上記例のように複数種類のリンクを付与できることがわかる。ただし、リンクは、ある情報源に基づいて、一定の基準により付与するものであるため、基準が決まれば、一つの種類のリンクで繋げるノードは固定的なものとなる。すなわち、一種類のリンクによって任意のグラフ構造を表現できるわけではない。また、付与できるリンクの種類を全て付与すると、グラフ構造が煩雑になる以外に、余分な種類のリンクのせいでグラフ解析が正しく行えないこともある。そのため、解析目的に適したグラフ構造を推定することが課題となる。
そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は、解析目的に適したグラフ構造を推定できるグラフ構造推定システム、グラフ構造推定方法、およびプログラムを提供することである。
上記課題を解決する本発明は、二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、前記二種類以上のリンクの重要度を推定するリンク種別重要度推定部と、前記リンクの重要度を用いて前記二種類以上のリンクの強度を補正するグラフ補正部とを備えることを特徴とするグラフ構造推定システムである。
上記課題を解決する本発明は、二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、前記二種類以上のリンクの重要度を推定するリンク種別重要度推定ステップと、前記リンクの重要度を用いて前記二種類以上のリンクの強度を補正するグラフ補正ステップとを備えることを特徴とするグラフ構造推定方法である。
上記課題を解決する本発明は、二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、前記二種類以上のリンクの重要度を推定するリンク種別重要度推定手段と、前記リンクの重要度を用いて前記二種類以上のリンクの強度を補正するグラフ補正手段として動作させることを特徴とするグラフ構造推定プログラムである。
本発明により、解析の目的に合ったグラフ構造を得ることができる。
複数のリンクの種類の一例を示す説明図である。 ノード間のリンクの強度の一例を示す説明図である。 ノード間の別のリンクの強度の別の一例を示す説明図である。 第1の実施の形態を示すブロック図である。 人物間のグラフの一例を示す説明図である。 複数種類のリンクの隣接行列の一例を示す説明図である。 リンク情報を記録する方法の一例を示す説明図である。 リンク情報をリンクの強度と共に記録する方法の一例を示す説明図である。 グラフ管理表の記録方式の一例を示す説明図である。 本発明における解析情報の出力形式の一例を示す説明図である。 隣接行列を加算したグラフ構造の一例を示す説明図である。 ランキング結果の一例を示す説明図である。 クラスタリングの入力に用いるデータの一例を示す説明図である。 クラスタリング結果の一例をデンドログラムで示す説明図である。 クラスタリング結果を示す説明図である。 解析情報表の一例を示す説明図である。 ランキング結果の出力形式の一例を示す説明図である。 クラスタリング結果の出力形式の一例を示す説明図である。 クラスタリング結果の別の出力形式の一例を示す説明図である。 ランキング結果に対する修正の一例を示す説明図である。 クラスタリング結果に対する修正の一例を示す説明図である。 クラスタリング結果に対する修正結果を数値化した一例を示す説明図である。 ノード相違度行列の一例を示す説明図である。 リンク数行列の一例を示す説明図である。 リンク相違度行列の一例を示す説明図である。 推定したリンクの重要度を反映したランキング結果の一例を示す説明図である。 推定したリンクの重要度を反映したクラスタリング結果の一例を示す説明図である。 グラフ構造推定部のブロック図を示す説明図である。 グラフの解析情報の一例を示す説明図である。 推定されたグラフ構造の一例を示す説明図である。 推定されたグラフ構造の出力方式の一例を示す説明図である。 ノードの特徴ベクトルの一例を示す説明図である。 ノードの特徴ベクトルを2値化した一例を示す説明図である。 ノードの特徴ベクトルと隣接行列を繋げたリンク数行列の一例を示す説明図である。 ノードの選択結果の一例を示す説明図である。 2つの隣接行列で構成されるリンク数行列の一例を示す説明図である。 各種リンクの重要度を求めた結果の一例を示す説明図である。 各リンクの種類が出現する確率を求めた一例を示す説明図である。 各種リンクの重要度を求めた結果の一例を示す説明図である。
(実施の形態1)
グラフ解析装置が算出した解析結果の妥当性の判断は解析者にしか行えない。そこで、解析者が妥当と判断する解析情報(ノードの解析情報に相当する)に基づいて、グラフ解析装置が算出した解析結果の各種リンクの重要度を推定し、リンクの強度を補正する。解析者が解析結果の全てを事前に把握していることはありえないが、結果の少なくとも一部については事前に確信を持てることが多い。例えば、企業内の人のコミュニケーションの活発さを解析することを想定しても、企業全体の状況は把握していないが、解析者の身近な人であればその活発さをある程度把握できているものと思われる。このような既知の情報は解析結果に少なからず含まれており、その結果について誤りがあれば、解析者は望ましい解析結果に修正できると考えられる。
解析結果が、解析者の知っている情報と食い違う場合、グラフ解析が正しく行えていないか、解析対象としているグラフ構造が不適切であるかの2つの要因が考えられる。グラフ解析を行うエンジンがパラメタを有し、その調整をしても知っている情報と食い違う結果しか得られない場合、グラフ構造が不適切である可能性は高まる。そこで、複数種類ある各リンクの重要度を修正しグラフ構造を変化させることで、求める結果に近づける。このとき得られるグラフ構造を、解析目的に適した構造とみなす。
以上のように、本発明では、グラフ解析の妥当さの要因をグラフ構造の適切さに求め、各種リンクの重要度を推定する問題に帰着させる。以下に、本発明において各種リンクの重要度を求めるための着想点を述べる。
グラフ解析エンジンは、グラフ構造によって解析結果が変化するものであり、同一種類のリンクが張られているノードは同一の解析結果となりやすいことを前提とする。この前提条件を満たすグラフ解析エンジンを用いる際に、解析目的に適した解析結果を得られるよう各種リンクの重要度を推定する。
処理の要点を以下にまとめる。
まず、妥当な解析結果をノード毎にまとめた解析情報ベクトル(ノードベクトル)を用いて、ノード間の相違度である「ノード相違度行列」を求める。ノード相違度行列は、行数および列数が共にノード数の正方行列であり、i番目のノードとj番目のノードとのノードベクトルの相違度をi行j列の要素に記録する。ノード相違度行列の要素は、類似するノードベクトルを有するノード間の相違度が小さく、ノードベクトルが似ていないノード間の相違度が高くなる。
次に、各ノードが他のノードとどの種類のリンクで繋がっているかをリンクの種類毎に数える。これにより各ノードが、リンクの種類毎に、何個のノードと繋がっているかを得ることができる。この情報を用いて、ノード間で何個のノードと繋がっているかの相違度をまとめた「リンク相違度行列」をリンクの種類毎に求める。リンク相違度行列はリンクの種類数分生成されることになる。各リンク相違度行列は、行数および列数が共にノード数の正方行列であり、i行j列の要素にi番目のノードとj番目のノードが有するリンクの数の相違度を記録する。リンク相違度行列の要素は、同一のリンクの種類で他ノードと繋がっているノード間の相違度が小さく、そうでないノード間の相違度が高くなる。このとき上記の解析エンジンの前提に基づくと、ノード相違度行列と重視するリンクのリンク相違度行列とは相関が高くなるはずである。そこで各種リンクのリンク相違度行列の加重和がノード相違度行列との相関が高くなるように、リンク相違度行列に乗ずる各種リンクの重要度を推定する。
図1はSNSのネットワークからピックアップした4名の人に張られた4種類のリンクを示している。図1(a)は共通して所属しているコミュニティ数が多い人を表すリンク、(b)はメールをやり取りしている頻度が高い人を表すリンク、(c)は互いのサイトを閲覧し合っている回数が多い人を表すリンク、(d)は互いの日記への書き込み数が多い人を表すリンクであるとする。各人が有しているリンクの種類別のリンクの数は、図1からわかるように、A{a、b、c、d}={1、3、0、2}、B{a、b、c、d}={1、1、1、2}、C{a、b、c、d}={0、1、1、1}、D{a、b、c、d}={2、1、2、1}である(ノード間のリンクの種別の特徴量に相当する。)。
このグラフからコミュニケーションのキーパーソンを見つけるタスクを考える。グラフ解析エンジンは、各ノードに繋がっているリンクの強度の総計でコミュニケーション度合いを求めるものとする。このグラフ解析エンジンは、グラフ構造によって解析結果が変化し、同一の種類のリンクが張られている場合に解析結果が類似する特徴を有するため、前記の前提条件に合致する。
まず、解析者が図1の4種のリンクを用いて作ったグラフ構造が図2であるとする。図2中の数字はリンクの強度を表している。ここでは各ノード間に存在するリンクの種類数をリンクの強度としている。この値は、リンクの有無をリンクの強度の1又は0で表し、各種リンクの重要度を1.0とした場合において、ノード間のリンクの強度の加重和に相当する。解析エンジンは各ノード間のリンクの強度から、{A、B、C、D}={6、5、3、6}を出力する。すなわち、AとDとがキーパーソンと判定される。
ここで、解析者が解析対象者BとDとを知っており、Bの方がDよりもキーパーソンであると感じていたとする。この場合、解析者にとってこの解析結果は妥当ではない。そこで、解析者がDよりもBがキーパーソンであると入力したとする(ノードの解析情報に相当する。)。本発明では、この入力内容に基づいて、例えば、図1(b)のリンクの重要度と図1(d)のリンクの重要度とが1.0、図1(a)のリンクの重要度と図1(c)のリンクの重要度とが0.0というような各種リンクの重要度を推定する。これは、図1(b)と(d)とのリンクを重視し、(a)と(c)とを重視しないことを表す。
図1(b)と(d)とを用いて生成されたグラフ構造を図3に示す。図3に示すグラフ構造を同じグラフ解析エンジンで解析すると{A、B、C、D}={4、3、2、2}という解析結果が得られる。この結果は、BよりもDの方がコミュニケーション度合いを表す値が高くなっており、解析者が想定している結果に近づいている。
上述のような、例えば解析者が知りうる少なくとも一部の情報に基づいて各種のリンクの重要度を推定することで、解析の目的に合ったグラフ構造を得る方法について、以下で図面を参照しながら詳細に説明する。
実施の形態1で実現するグラフ構造メンテナンス装置のブロック図を図28に示す。図28に示すように、グラフ構造メンテナンス装置は、グラフ補正部102とリンク種別重要度推定部101とを有するグラフ構造推定部10を含む。また、推定対象となるグラフ構造を記録するグラフDB301がある。グラフ構造推定部10は、プログラムに従って動作するコンピュータ(例えば、パーソナルコンピュータ等の情報処理装置)によって実現される。
本実施の形態では、解析器や解析者がノードまたはノード間の特徴量の少なくとも一部である解析情報を入力すると、グラフDB301に記録されているグラフ構造から抽出できる前記ノード間のリンクの種別の特徴量に基づいて、グラフ構造推定部10が解析目的に適したグラフ構造を推定する。解析目的に適したグラフ構造を出力できるので、解析者は推定されたグラフを使ってより良い解析を行うことができる。
以下、図5に示すグラフを例に各構成の処理について説明する。図5は、3種類のリンクを有するグラフである。各ノードは人であり、3種類のリンクは、「メッセンジャー」「電話」「e−mail」の3種類のコミュニケーション手段を表す。リンクで繋がれた人同士は、各種リンクが表すコミュニケーション手段により、頻繁に連絡しているものとする。なお、解析の際、ノード毎に予めユニークなID(ノードID)を付与しておく。こうすることで、コミュニケーション手段毎に別々に対話ログが記録されている場合でも同一人物を特定できる。図5の例では、各人にA〜GのIDが割り当てられているものとする。
まず、与えられているデータについて説明する。
グラフDB301には、グラフの各種類のリンク情報が記録されている。グラフDB301は、グラフ管理表によりグラフを管理する。グラフ管理表の1例を図9に示す。グラフ管理表には、グラフID、ノードID、リンクIDが記録される。「グラフID」欄には各々のグラフが特定できるようにユニークな値が記録される。グラフIDは人が付与しても良いし、グラフDB301に記録する際に自動で採番されるようにしても良い。「ノードID」欄には前記グラフ中に含まれるノードIDを記録する。なお、記録順は後述の隣接行列の要素順とする。「リンクID」欄には前記グラフ間に含まれるリンクの種類のIDを記録する。また、リンクIDとリンク情報とを対応付けて記録するテーブルを別途用意しておく。「リンク情報」欄には、隣接行列など、ノード間の繋がりが参照できる情報を記録する。隣接行列とは、ノード数×ノード数の正方行列に、どのノード間が繋がっているかを記録したものである。隣接行列のi行j列に格納される値は、i番目のノードからj番目のノードに対するリンクの有無を表し、繋がっていれば1、繋がっていなければ0を記録する。なお、隣接行列では、ノード間のリンクの強度を連続値として記録しても良い。隣接行列は、無向グラフである場合に対称行列となり、有向グラフである場合、非対称行列となる。
図5に示すグラフの各種リンクの隣接行列を図6に示す。図6は、3種類のコミュニケーション手段によるリンクの状態を0又は1で表した隣接行列である。通常e−mail等は一方から他方への情報提供も行えるため、有向のリンクとなるが、ここでは単純化のため、双方向の繋がりとみなしている。この場合、隣接行列が対称行列になるため、図6では、隣接行列の下三角行列部分のデータを記載していない。また、図6の例では、メッセンジャー、電話、e−mailの各隣接行列にそれぞれL1、L2、L3というIDを割り当てている。なお、隣接行列を記録する際、対称行列である場合には、下三角行列部分の情報を記録する必要はない。こうすることでメモリの使用量を抑えることができる。
なお、「リンク情報」欄には、隣接行列以外の記録方法を用いても良い。例えば、図7に示すように各ノードに繋がっているノードのIDをノード毎に記録するようにしても良い。
また、各リンク間の強度を記載する場合には、図8のように繋がっているノードのIDに加え、そのIDとのリンクの強度を記録するようにしても良い。図8では、「繋がっているノード:リンクの強度」というフォーマットで記録する例を示している。図7や図8のフォーマットでは、リンクを有するものに着目しているため、これらの情報を記録する際、記録容量を少なくできる効果がある。特に、隣接行列がスパースである場合、この効果は大きい。
次に、解析情報501について説明する。
解析情報501は、ノードの特徴量、ノード間の特徴量又はノード間の特徴量の類似度のいずれか又はその一部を表す。この解析情報501は、解析者が準備すれば良く、グラフDB301のグラフデータを見て、自ら解析を行った結果を用いても良いし、リンクの強度に基づく既存のグラフ解析エンジンなどの解析結果を用いても良い。また、グラフ解析エンジンの解析結果を人が修正したものを用いても良い。また、グラフ解析エンジンの解析結果に対する妥当性を人手で評価し定量化した値を用いても良い。さらに、解析情報501は、ノード単位の特徴量以外に、ノード間に対する特徴量であっても良い。この例として妥当と判断できる各ノードの解析結果の関係性に対して、その確信度を[0:1]で付与したものを解析情報501とすることが挙げられる。解析結果の関係性とは、ノードのランキングにおける上下関係、クラスタリングにおける所属クラスタの同一性などである。下記の例では、解析情報501として、各ノードの重要度が得られているものとする。
各ノードの重要度の一例を図30に示す。本例では、解析情報がノード毎に一つの定量値となっているが、解析情報501が、ノード毎に複数の値を持っても構わない。また、定量値以外に、文字列やカテゴリカルな値であっても良い。
リンク種別重要度推定部101は、解析情報501とグラフDB301とからグラフデータに基づいて、各種類のリンクの重要度を算出し、その結果をグラフ補正部102に出力する。
リンク種別重要度推定部101では、解析情報501の類似度とノード間に付与されている各種リンクの類似度とに基づいて重要なリンクの種類を推定する。以下に処理手順について述べる。
まず、リンク種別重要度推定部101は解析情報501に基づいて、ノード間のノード相違度行列を求める。解析情報501が各ノードに対してベクトル形式で表現されている場合、解析情報501はノード数×ベクトルの要素数の行列で表すことができる。これを一般的に記載すると式1のように書ける。
(式1)
Figure 2010165166
なお、以降の説明では、ノード数をn、解析情報501のベクトル(ノードベクトル)の要素数をmとする。
ノード相違度行列は、i番目のノードとj番目のノードのノードベクトル同士のノルムの2乗を、i行j列の要素とする行列である。そのため、式2を用いると、ノード相違度行列は対称行列であり、対角要素は0となる。ノード相違度行列の導出方法を式2に示す。なお、式2から分かるように、i番目とj番目のノードのノードベクトルが類似する場合、i行j列の要素の値は小さくなる。
(式2)
Figure 2010165166
図30に示すノードの重要度から得られるノード相違度行列を図23に示す。本例におけるノード相違度行列は対称行列となるため、下三角行列の記述を省略している。なお、ノード相違度行列を求める際は、必ずしも式2を用いる必要はなく、2つのノードのノードベクトルの類似度を測れれば、任意の関数で構わない。ノードベクトルの中に文字列が含まれる場合は、文字列の一致度を用いてノード相違度行列を求め、また、ノードベクトルの中にカテゴリカルなデータが含まれる場合には、数量化するなどしてその距離を測るようにしても良い。なお、上述したように解析情報501としてノードの関係性の確信度が与えられている場合は、それをノード相違度行列としても良い。
次に、リンク種別重要度推定部101はリンク相違度行列を求める。グラフDB301からグラフの各リンクの種類の隣接行列を受け取る。次に、各種類のリンクの隣接行列から、リンク数行列を生成する。リンク数行列とは、各ノードが他のノードとどの種類のリンクで繋がっているかをリンクの種類毎に数え、まとめたものである。リンクの種類数をdとするとリンク数行列は、式3に示すn×dの行列となる。式3の各行は、各ノードがリンクの種類毎に何個のノードと繋がっているかを表し、これをリンクベクトルと呼ぶ。
(式3)
Figure 2010165166
図5に示すグラフに対するリンク数行列を図24に示す。図24のL1、L2、L3はリンクIDであり、該行列の各要素の値は、図6の各種リンクの隣接行列から求められる。例えば図24のL1列は、L1の隣接行列である図6のL1に対する隣接行列において行毎に横方向の総和を求めた値となる。
次に式3に示すリンク数行列から式4に示すリンク相違度行列を求める。リンクベクトルの各要素は、リンクの種類に対応する。リンク相違度行列は、i番目のノードとj番目のノードのリンクベクトルのノルムの2乗を、i行j列の要素とする行列である。そのため、式4を用いるとリンク相違度行列は対称行列であり、対角要素は0となる。また、式4から分かるように、i番目とj番目のノードのリンクベクトルが類似する場合、i行j列の要素の値は小さくなる。式4に付与されているwkは、k種類目のリンクの重要度を表す。
(式4)
Figure 2010165166
本発明では、解析目的に適したwkを推定する。図24に示すリンク数行列のリンク相違度行列を求めると図25のようになる。図25では、Aに対する各ノードとのリンク相違度を記載している。例えば、A={2、0、0}とB={2、2、0}とが交差するセルでは、式4から(2−2)^2×w1+(0−2)^2×w2+(0−0)^2×w3=4w2となる。なお「^2」は2乗を表す。また、本例におけるリンク相違度行列は対称行列となるため、下三角行列の記述を省略している。さらに、リンク相違度行列を求める際は、必ずしも式4を用いる必要はなく、2つのノードのリンクベクトルの類似度を測れる式であれば、任意の関数で構わない。
また、リンクベクトルは、他の特徴量を用いても構わない。例えば、ノード毎に各種リンクの隣接行列をつなぎ合わせたものをリンクベクトルとしてもよい。このとき、リンクの種類数がd個、ノード数がn個の場合、m=d×nとなり、各ノードがどのノードとどの種類のリンクと繋がっているかという詳細な類似度を求めることになる。また、リンク数行列を求める際に各リンクの種類別に出次数と入次数とを分けて数えるようにしても良い。さらに、各ノードが何らかの特徴ベクトルを有する場合、上記のリンクに関する特徴ベクトルと前記ノードの特徴ベクトルとをつなぎ合わせたものをリンクベクトルとしても良い。こうすることで、リンクの特徴量では測れないノードの類似度を考慮することができる。
最後に、リンク種別重要度推定部101は、ノード相違度行列と、リンク相違度行列とに基づいて、各リンクの種類の重要度を求める。本発明で前提としている「同一種類のリンクが張られているノードは同一の解析結果となりやすいこと」という性質に基づくと、式2と式4との各要素の相関係数が高くなる。そこで、式5を目的関数として、式5の値が最大となる各種リンクの重要度wを推定する。式5のcorrelは、引数である2つの行列の各要素を比較して相関係数を求める関数である。
(式5)
Figure 2010165166
なお、各種リンクの重要度を示すベクトルの要素数はリンクの種類数dに等しい。wは、リンクの種類数を要素数とし、グラフDB301のリンクID欄に記載されているリンクIDとその要素の順番が対応するものとする。そのため図9のG1に対するwは、要素数が3であり、w={L1に対する重要度,L2に対する重要度,L3に対する重要度}という値を持つ。
wを推定する方法は、既存の最適化方法を用いれば良い。式5をwについて微分し最急降下法などで最適化しても良い。ただし、wについては、各要素の総和が1となる、またノルムが1になる、など制約を加え最適化する。このとき制約は、予め解析者が登録しておいた値域の範囲内で行うようにしても良い。また、回帰分析を用いて解を導出しても良い。線形回帰を用いた場合、ノード相違度行列の各要素を目的変数、wを説明変数とすることで、容易にwを解くことができる。この際には、求められた各リンクの種類に対する重要度の有意性を検定し、有意でないリンクの重要度を0とみなすこともできる。
図30に示すノードの重要度が与えられている場合の処理について述べる。各種リンクの重要度がw={1、1、1}の場合、式5の目的関数の値は0.127となる。これに対してリンク種別重要度推定部101により、式5を最大化するwを求めるとw≒{0.4、0.6、0}が得られる。このときの目的関数の値は0.402をとる。すなわち、図30のノードの重要度に対しては、L1:メッセンジャーとL2:電話によるリンクとを重視し、L3:e−mailを無視する方が、前記望ましい解析結果を表すグラフ構造となる。以上のようにして、各種リンクの重要度を推定する。
なお、解析情報がノードの重要性を表すものである場合には、該重要なノードのみでノード相違度行列やリンク相違度行列を生成し、各種リンクの重要度を求めるようにしても良い。
次に、リンクの種類の重要度を求める他の方法として、解析情報501として、妥当な解析結果を有するノードに対して確信度が与えられている場合や、ノード間の解析結果の関係性に関する確信度が入力されている場合に適した重要度の推定方法を説明する。該方法では、選択されたノードに対するリンクの類似度を用いて各種リンクの重要度を求める。以下では、妥当な解析結果を有するノードに対して確信度が与えられている場合において各種類のリンクの重要度を求める方法について説明する。
図35に解析情報の例を示す。図35はAからDの4つのノード毎の解析情報である。表中の0又は1は確信度を表し、1が確信度の高い重要なノード、0がそうでないノードを表す。本例では、確信度を0又は1にしているが、確信度は[0:1]の範囲で連続値としてもよい。各論文(ノード)のリンク数行列の一例を図36に示す。該リンク数行列は、各論文の参照関係と類似内容の隣接行列をつなぎ合わせたものである。これは、前述したように、リンクベクトルがリンクの種類数(d)×ノード数(n)になるパターンである。このとき、リンクベクトルの要素数(m)はd×n個となるため、求める重要度の個数もmとなる。すなわち、該例においては、各論文が「ある特定の論文を参照(/類似)している」という関係が一つのリンクの種類となる。以下では、リンクの種類に対する重要度(m個)を求める処理について述べる。
まず、単純なものとして、解析情報の0と1と、各々の隣接行列の各列の0と1との相関性が高いリンクの種類を重要とみなす方法を述べる。
リンク種別重要度推定部101は、確信度が1である論文のリンクベクトルの各要素の値を加算し、リンクの種類の重要度を求める。該処理により、確信度の高いノードに共通する種類リンクを重視する重要度を求めることができる。
図36の例に対して該処理を適用した結果を図37に示す。図37では、論文AとCとに共通して1が含まれている「参照:D列」と「類似内容:B列」に対する重要度の値が高くなっている。これは、各論文において、論文Dを参照するリンクを含み、かつ論文Bと内容が類似するというリンクを含むことが、解析情報501において選択されやすい条件であることを表す。
ただし、この方法では、リンク数行列において、縦方向に1が多く含まれるリンクの種類が重要と判断されやすくなる。例えば、図36に示す例の「類似内容:B列」は、要素の全てが1であるため、どの論文が選択されても重要度が高くなる。そのため、解析情報と、リンク数行列の縦方向の各列のベクトルとの相関係数を重要度としてもよい。この場合においては、解析情報のベクトルが{0、1、0、1}であり、リンク数行列の「類似内容:B列」は{1、1、1、1}であるため、該リンクの相関係数が0となり類似内容:Bの重要度を0と判定することができる。なお、本処理において相関係数が負である場合は、重要度を0とする。
また、各リンクの種類の出現確率を用いて各種類のリンクの重要度を求めることができる。図38は図36に示すリンク数行列の縦列(リンクの種類)毎にそのリンクが張られる確率を計算した結果である。例えば、「参照:B列」であれば、4つのノードのうち1つのノードが1となっているため、出現確率は1/4=0.25となる。すなわち、各論文において、論文Bを参照するリンクの出現確率は0.25であることを表す。
このようにして求めた確率を用いて、確信度の高いノードが、各種リンクをどの程度含みやすいかを重要度とする。この指標は、上記の方法と同様、確信度の高いノードにおいて、よく張られている種類のリンクに対する重要度が高くなる。
以下に処理の詳細を述べる。第i列のリンクの種類の出現確率をpiとする。解析情報501において、選択されているノード数がri個であるとする。なお、riを求める際には確信度が連続値である場合を考慮し、各種リンクにおける全ノードの確信度の総和としても良い。さらに、確信度に対して各種リンクに対するリンクベクトルがリンクの強度で与えられている場合には、該リンクの強度と確信度の積和をriとして用いても良い。第i列のリンクの種類において、選択されたノードに該リンクの種類が含まれる平均的個数uiとその分散siは、二項分布の公式より式6および式7により求められる。
(式6)
Figure 2010165166
(式7)
Figure 2010165166
リンク種別重要度推定部101は、まず、このuiおよびsiをリンクの種類毎に求める。次に、リンク種別重要度推定部101は、選択されたノードのうち、第i列目のリンクの種類において、該リンクの種類を含んでいる数xiを数える。次に、xiを式8により、平均0、分散1に標準化した値であるziを求める。
(式8)
Figure 2010165166
二項分布は、ri×piおよびri×(1−pi)の値が大きい場合、正規分布で近似できることが知られている。そこで、標準正規分布N(0、1)を−∞からziまで積分した値をリンクの種類の重要度とする。なお、riが大きくpiが小さい場合は、ポアソン分布に従うため、正規分布ではなくポアソン分布を用いる。
図36に示すリンク数行列に対して、該処理を適用して求めた各種リンクの重要度を図39に示す。図39から、Dの論文を参照しているリンクの種類(「参照:D列」)が最大の重要度となっている。これは、選択されている論文がAとCであるのに対して、論文Dを参照するという種類のリンクがAとCとに含まれているためである。上記処理により、選択されている論文と相関性の高いリンクの種類の重要とみなす重要度を導出することができる。また、「参照:B列」と「類似内容:C列」とはxiの値が同じ1となるが、1の出現確率が低い「参照:B列」に対する重要度の方が高くなっている。これにより、上記処理が、出現しづらいリンクの種類が選択されているノードに含まれている場合に、該リンクの種類に対する重要度を高める効果があることを確認できる。
なお、上記処理で求めた重みは、総和が1、2乗ノルム1、最小値が0で最大値が1などの補正を行っても良い。
また、解析情報が重要なノードを選択した結果である場合、グラフ補正部102は、グラフDB301から各種リンク情報を得、また各種リンクの重要度に基づいてグラフ構造を求め、出力部201に出力する。
各種類のリンクの有無やリンクの強度の値は同一の基準であるとは限らない。これは、リンクの強度を定量化した場合において、電話のリンクの1.0と、e−mailのリンクにおける1.0とが比較できないことを意味する。そのため、リンクの強度に対する基準を設け、リンクの強度を補正する。これは、リンクの種類毎の重要度を決めることと等価である。
なお、上記処理は、ノード間の解析結果の関係性に関する確信度が与えられている場合においても同様に適用できる。その場合には、確信度の高いノード間に含まれる各種リンクの数とノードとの組み合わせ数の比により前記出現確率をpiを計算するようにすればよい。
グラフ補正部102は、リンク種別重要度推定部101から出力された各リンクの種類に対する重要度をリンクの強度に乗算することにより、該リンクの強度を補正しグラフ構造を求める。本例では、グラフDB301から図6に示す隣接行列を得、リンク種別重要度推定部101で推定された各リンクの重要度w={0.4,0.6,0}を乗算することにより、グラフ構造を得る。得られるグラフ構造を図30に示す。最後に、グラフ補正部102は、求められたグラフ構造をグラフDB301に出力し、グラフデータを更新する。
(実施の形態2)
実施の形態2は、グラフ構造推定部10を用いたグラフ解析装置である。グラフ解析装置の構成を図4に示す。図4は図28の構成に加え、グラフ化部202とグラフ解析部203と出力部201と修正入力部204、および元データDB302と解析結果DB303とを有する。
本実施の形態では、グラフ解析部203や修正入力部204をグラフ構造推定部10と連携させることにより、解析器又は解析者によってノードの特徴量、ノード間の特徴量又はノード間の特徴量のいずれか又はその一部である解析情報が入力されると、解析目的に適したグラフ構造の推定ができる。
元データDB302はグラフ解析を行う元データを記録する。
解析データの対象は任意のもので良い。人の対話ログ、Webページや論文、特許など様々な情報源がある。対話ログは人同士のコミュニケーション状態を解析する際に用いることができる。図5に示すようなグラフによってコミュニケーションを分析するのであれば、メッセンジャー、電話、e−mail、に関するログを記録しておく。メッセンジャーでは、発言日時、発言者、発言内容を記録し、電話では、通話時刻、From、To、通話時間などを記録しておく。また、e−mailであれば送受信日時、From、To、内容などをログとする。
グラフ化部202は、元データDB302から解析対象となるデータを得、任意の基準に従いノードとリンクとを抽出しグラフを生成する。また、得られたグラフをグラフDB301に記録する。
グラフ化部202は、想定される様々なリンクの種類をデータに付与する。何をノードとし、何をリンクとするかは、事前に人が指定するものとする。ノードは、解析したい内容と直結しているため容易に決定できる。人のコミュニケーションを解析する場合は、人をノードとし、Webページを解析するのであればWebページをノードとすればよい。
一方、リンクはノード間の何かしらの関係性を表すため、潜在的に複数種類あることが多く、どのようなリンクが解析にとって望ましいものであるかを決めることは容易ではない。そのため、解析に関係しそうなリンクはできる限りノード間に付与しておく。
図5に示す例では、単純化のため、3種類のコミュニケーションツールでリンクを張っている。しかしながら、これ以外にも、掲示板、ブログなど様々な手段があるため、本来はそれらのログを用いてリンクを張っておくことが望ましい。
グラフ化部202では、元データから各種類のリンクでどのようにノードが繋がっているかがわかる情報を生成する。その一つに隣接行列の生成がある。グラフ化部202は、事前に定められたノードとなる情報間のリンクの有無およびそのリンクの強度を元データから求める。対話ログを用いる場合、人をノードとし、e−mailのログであれば、FromとToとの人間で、ある一定回数以上のメールのやり取りがあれば、e−mailのリンクがあると判定すればよい。
また、やり取りされているe−mailの数に応じてリンクの強度を変化させても良い。このときリンクとみなす回数の閾値や、回数をリンクの強度に変換する関数は、事前に解析者が設定ファイル等に記載し、グラフ化部202が処理前にそれを読みこむようにしておく。以上の処理によって、隣接行列が求められる。
また、複数のログ情報に基づいて複数種類のリンクを抽出する以外に、一つの情報源から情報抽出を行い、複数種類のリンクを張っても良い。その代表例としてWebページが挙げられる。Webページの解析は、HTML文からハイパーリンクを抽出することによってページ間の直接的なリンクを張ることができる。
また、そのほかにも各ページのURLからドメインを抽出し、そのドメインの文字列の一致率によって類似度を求め、リンクを張るようにしても良い。この場合には、類似度の大きさをリンクの強度とすることもできる。また、同じ類似度でも、各ページの文字列を抽出し、ページ間における文字列の類似度を判定すれば、内容の類似度を測れる。また、ノードとなる情報が特徴ベクトルを有する際、特徴ベクトルにおける各特徴量の値毎にリンクの種類を変えるようにしても良い。
論文間にリンクを張る例を用いて処理について説明する。AからDの4つの論文が図32に示す特徴ベクトルを有するとする。図32の例では、発行年、著者、キーワードが、各論文の特徴ベクトルとして与えられている。このとき、各特徴量の値を一つのリンクの種類とみなし、その値を含む/含まないで論文の特徴量を2値化する。
図32の例を2値化した結果を図33に示す。図33の例では、名義尺度で与えられている著者とキーワードは、各著者名、各キーワードを一つのリンクの種類としている。また順序尺度で与えられている発行年は、2005年を区切りに特徴量を2値化している。順序尺度の区切り位置に関しては、解析者がグラフ化部202の設定ファイルに記載し、グラフ化部202が実行時に該設定ファイルを読み込むようにすれば良い。
このようなデータ変換を行った後、リンクの種類毎にリンクを張る。すなわち、「著者」という単位ではなく、図33の例では、「著者=山本」という単位を一つのリンクの種類とみなす。著者=山本という種類のリンクでは、論文Aと論文Bとが結ばれることになる。このようなデータ変換を行うことでリンクの種類を細分化することができるため、グラフの解析において、より詳細な解析を行えるようになる。
なお、名義尺度を分ける際には、図33のように値毎に一つの分類項目を割り当てるのではなく、複数の値で一つの分類項目にしても良い。例えば、図33の著者の列において、「山本、細見」を一つの分類項目とするなどである。
また、このようにノードの特徴量ベクトルに基づくリンクと、上記の例のように、ノード間での引用関係や類似度などをさらにリンクの種類として加えても良い。
図34は、論文間の参照関係や類似度を隣接行列にしたものを前記の2値化後の論文の特徴量に付与したものである。本発明では、図34のようなデータを前記のリンク数行列としても利用できる。
グラフ化部202の出力の一例を図6に示す。図6は、3種類のコミュニケーション手段によるリンクの状態を0又は1で表した隣接行列である。この隣接行列は図5のグラフ構造と対応している。
最後に、グラフ化部202は、リンクの種類毎に求めた隣接行列をグラフDB301に出力する。なお、どのリンクに対する隣接行列であるかがわかるようにあらかじめ、各隣接行列には、ユニークなIDを割り当てて、そのIDと共に隣接行列を出力する。図6の例では、メッセンジャー、電話、e−mailの各隣接行列にそれぞれL1、L2、L3というIDを割り当てている。
なお、リンクの情報の出力方法は隣接行列でなくても良い。例えば、実施の形態1でも説明したように図7に示すように各ノードに繋がっているノードのIDを出力するようにしても良い。
グラフDB301は、グラフ化部202から出力された各種類のリンク情報を記録する。グラフDB301は、グラフ管理表によりグラフを管理する。グラフ管理表の一例を図9に示す。グラフ管理表には、グラフID、ノードID、リンクIDを記録する。「グラフID」欄には各グラフを特定できるようにユニークな値を記録する。グラフIDは人が付与しても良いし、グラフDB301が自動で割り当てても良い。「ノードID」欄には前記グラフ中に含まれるノードIDを記録する。なお、記録順は後述の隣接行列の要素順とする。「リンクID」欄には前記グラフ間に含まれるリンクの種類のIDを記録する。また、リンクIDとリンク情報を対応付けて記録するテーブルを別途用意しておく。「リンク情報」欄には、隣接行列など、ノード間の繋がりが参照できる情報を記録する。なお、隣接行列を記録する際、対称行列である場合には、下三角行列部分の情報を記録する必要はない。こうすることでメモリの使用量を抑えることができる。また、「リンク情報」欄には、グラフ化部202で説明したようにノード毎に繋がっているノードを記録するようにしても良い。
なお、予め元データDB302に記録されている元データにデータIDを付与しておき、データIDとグラフIDとを対応付けておいても良い。こうすることで、グラフDB301から元データを参照することができるようになる。
この他、グラフ管理表には、各種リンクIDに割り当てるラベルを記録しても良い。ラベルはグラフの登録者やグラフ解析システムのユーザが登録できるようにしておけば良く、図6の例であれば、L1、L2、L3にそれぞれ「メッセンジャー」、「電話」、「e−mail」というラベルを割り当てることなどが考えられる。
グラフ補正部102は、グラフDB301から各種リンク情報を得、また各種リンクの重要度に基づいてグラフ構造を求め、グラフ解析部203に出力する。
グラフ補正部102の動作は実施の形態1と同様である。本発明では、このリンクの重要度を後述する処理により、解析結果に対する解析者の修正に基づいて推定する。ここで、各種リンクに対する重視度を重みベクトルwで表す。wは、リンクの種類数を要素数とし、グラフDB301のリンクID欄に記載されているリンクIDとその要素の順番とが対応するものとする。そのため図9のG1に対するwは、要素数が3であり、w={L1に対する重要度,L2に対する重要度,L3に対する重要度}という値を持つ。
グラフ補正部102は、リンク種別重要度推定部101から出力された各リンクの種類に対する重要度をリンクの強度に乗算することにより、その値を補正しグラフ構造を求める。なお、最初の処理では、リンク種別重要度推定部101からの出力がないため、事前に解析者によって与えられた重要度を用いる。解析者による重要度は設定ファイルに記載するものとし、グラフ補正部102がその値を読み込めば良い。なお、設定ファイル等を用意せず、事前に定めておいた値をグラフ補正部102が与えるようにしても良い。
また、リンク種類において解析に対して明らかに重要なものがあることを考慮できるように、リンクの種類毎に重要度の値域を設定できるようにしても良い。この値域はグラフ構造推定部10が情報を保有することにより、リンク種別重要度推定部101が、この値域内で重要度を求められるようになる。
本例では、グラフDB301から図6に示す隣接行列を得、事前に定められた各リンクの重要度をw={1,1,1}であるとする。これは、リンクの各種類でリンクの強度の基準は同等であることを表す。上記wを用いると、隣接行列とグラフ構造とが同等のものになるため、以後、図6に示す隣接行列をグラフ構造として処理の詳細を述べる。
最後に、グラフ補正部102は、求められたグラフ構造をグラフ解析部203に出力する。上記例では、図6の情報を出力することになる。
グラフ解析部203は、グラフ補正部102から得たグラフ構造を解析し、解析結果を所定の出力形式にて解析結果DB303および出力部201に出力する。
グラフ解析部203は、前述のように、グラフ構造によって解析結果が変化するものであり、同一種類のリンクが張られているノードは同一の解析結果となりやすいことを前提とする。また、グラフの各ノードの解析結果が要素数m個のベクトルであるとすると、全ノードn個の解析結果はn×mの行列形式で表せる。
この出力形式で解析結果を出力できるグラフ解析技術は多い。その例を図10に示す。例えば、ノードのランキングは、ノード毎の重要度を出力するため、図10(a)に示す出力形式で表現できる。すなわち、m=1のベクトルが解析結果と考えればよい。また、ノードのクラスタリングやクラシフィケーションであれば、m=クラス数とし、図10(b)の出力形式で表現できる。図10(b)はクラス数を3とした場合の例であり、各ノードの行で1が付与されているクラスに該ノードが所属していることを表す。図10(b)では、各ノードがどのクラスに所属するかを0又は1で分けているが、ソフトクラスタリングなどの場合は、各ノードが各クラスへ所属する確率である所属度を出力するようにしてもよい。また、ノード間のリンクを推定する問題や類似度を判定する解析であれば、図10(c)に示すように、m=nとした行列によって出力を表現できる。i行j列の要素に、i番目とj番目のノード間にリンクが存在する確率やノードの類似度を出力する。図10(c)は、その値を0又は1で出力した場合の例を示している。
グラフ解析部203の具体例を挙げる。例えば、解析者は、コミュニケーションのキーパーソンを見つけるために、各ノードの重要度を求めるランキングエンジンを用いたとする。このグラフ解析部203は、図6に示すようなコミュニケーションに関するグラフ構造に基づいて、コミュニケーションの各メンバのキーパーソン度合いを求める。
このランキングエンジンは、様々なコミュニケーション手段で多くの人と連絡をとっている人を重要とするアルゴリズムで動作する。直感的には、図5のグラフにおいて、各ノードに繋がっているリンクをそのリンクの種類の重要度を考慮し、加重和をとるものである。
下記にランキングエンジンが行う処理の概要を説明する。各ノード間における各種類のリンクの強度の総和を求める。この処理は、図6の3種類のリンクの強度を加算する処理に等しい。加算計算の結果を図11に示す。
次に、この行列の縦方向の総和を計算し、求められた値を各列に対応するノードの重要度とする。この処理は各ノードの入次数を数える処理になる。こうして得られる、各ノードの重要度を図12に示す。図6における各リンクの種類の重要度を等価としているため、図12の結果では、図5に示すリンクの本数順にキーパーソンとなる結果が得られている。
次に別のグラフ解析部203の具体例について説明する。
各メンバが形成するコミュニティを発見するために、グラフ解析用のクラスタリングエンジンを用いたことを仮定する。
ここでクラスタリングエンジンとして、隣接するノードが類似するノードを一つにまとめる方法を用いたとする。このクラスタリング手法は隣接行列を各ノードの特徴ベクトルとみなし、その特徴ベクトルのノード間の距離を測ることで実現できる。
そこで、図6に示すグラフ構造の和を求め総合的な隣接行列に対してクラスタリングを行う。ただし、図6のグラフ構造をそのまま用いるのではなく、対角要素を1に変えたものを用いる。これは、自分自身とは情報共有が行えていることを表すためである。図6に示すグラフ構造を加算した結果を図13に示す。
また、この行列に対してウォード法によりクラスタリングを行うことで得られるデンドログラムを図14に示す。図14の左側のA〜GはノードIDを表している。また、図中でマージされているノードは、図中の上部の数字が表す距離で同一クラスタとみなされることを意味する。すなわち、FとGは距離約2.5で一つのクラスタと判定されたことになる。図14によれば、クラス数を2とした場合には、{A、B、C、D、E}と{F、G}という2つのクラスタに分かれることになる。グラフ解析部203はこの結果を、図15に示すフォーマットで出力する。
解析結果DB303は、グラフ解析部203から出力される解析結果を入力となるグラフ構造と対応付けて記録する。
解析結果の記録方法の一例を図16に示す。図16に示す解析情報表は、各解析に対するユニークなID、解析対象となったグラフのグラフID、グラフを解析した方法、解析の際に用いた各リンクの種類に対する重み、および、解析結果を記録する。該図では、上記ランキング結果を記録した例を示している。解析方法に関しては、解析手法などに予めIDを付与しておき、そのIDを記録するようにしておけば良い。
出力部201は、グラフ解析部203から解析結果を受け、その解析結果を解析者にわかるように表示する。出力部201は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。
例えば、グラフ解析部203で用いた解析技術がランキングであれば、重要度の高い順にノードIDを表示すれば良い。ランキングにおける出力形式の一例を図17に示す。図17に示す出力により、Eさんが様々な人とコミュニケーションを交わしていることが解析者に伝えられる。なお、出力結果は後に、解析者に修正されることを想定しているため、図17に示す出力結果であれば、ノードの順位を入れ替えられるようにしておくことや、重要度の数値を変更できるようにしておく。
次に、グラフ解析部203で用いた解析技術がクラスタリングである場合を述べる。クラスタリングにおいては、図15に示すデータをそのまま出力しても良いし、図18に示すように、図15の結果をラジオボタンとして表示しても良い。ラジオボタンとすることで、解析者は結果を容易に修正することができる。
また、図19のようにクラスタリング結果がわかりやすいようグラフを表示し視覚的にクラスタ情報を表現しても良い。図19の例では、枠線に囲まれたノード群が一つのクラスタを表している。このとき、ノードは自由に動かせるようにしておき、解析者が解析結果を見た際、クラスタを自由に変更できるようにしておいても良い。図19を表示するためには、出力の際、グラフ構造の情報も必要となるため、出力部201は、グラフDB301から、グラフIDをキーとして各リンクの隣接行列を参照する必要がある。
修正入力部204は、出力部201によって提示された結果に対する解析者からの修正情報をリンク種別重要度推定部101に出力する。
修正は、キーボードやマウスなど既存の入力デバイスを用いれば良い。
修正入力部204を用いて解析者が行う操作を具体的に説明する。ランキングの解析結果として図17に示す出力が提示されていることを想定する。解析者がBとEとは個人的に知り合いであり、EよりもむしろBの方がコミュニケーションのキーパーソンであると感じていたとする。しかしながら、図17に示す出力結果では、Eの方がBよりも上位にランクされている。解析者は、自身が思う基準でランキングされていないと判断した場合、解析結果を修正する。修正の一例を図20に示す。該図ではEの重要度をBの重要度より低い3に変えている。
また、クラスタリングの解析結果として図18に示す出力が提示されていることを想定する。このとき、解析者がB、E、Fとは知り合いであり、FとG間よりもBとF間の情報交換が密であると感じていたとする。このとき、解析者は、自らが思う基準でクラスタリングされていないと判断した場合、解析結果を修正する。修正の一例を図21に示す。該図では、クラス1をBとFとに変更している。
このような変更がなされた場合、修正入力部204は、この修正情報を解析結果の出力形式に合うようにし、リンク種別重要度推定部101に出力する。
図20のようにランキングであれば、変更後の重要度を出力する。なお、ランキングの出力に対して、出力順序を変更できるようなUI(User Interface)を用いた場合は、一意に変更後の重要度が求められない場合がある。
例えば、図17において、EをFの下に位置させる操作が行われた場合は、重要度が4であるFと重要度が3であるCとの間にEが来ることになるため、前記2つの重要度の平均値をEの重要度として、リンク種別重要度推定部101に出力するようにする。
図21のようにクラスタリングであれば、各クラスタへの所属度をリンク種別重要度推定部101に出力する。図21の修正結果を、本発明の出力形式に合うように、所属度として表現した結果を図22に示す。図22を見てわかるように、所属クラスが変更されたA及びCからFは、変更後のクラスの所属度が大きくなっている。尚、本例では、各クラスタへの所属度を0又は1で表現している。このとき、一つのノードに対して、複数のクラスタを選択できるようにしておき、選択されたクラスタの数の逆数を、選択されたクラスタの所属度にするようにしても良い。また、図18に示す出力形式ではなく、図15に示すように、所属度そのものを出力するようにし、その値を解析者自らが変更できるようにしておいても良い。この場合、どのデータとどのデータとが類似しているかという細かい要望をリンク種別重要度推定部101に伝えることができる。
なお、修正入力部204では、例えば、解析者が興味あるノードを選択するような出力形式であれば、選択されたノードのIDを受け取り、該ノードの値を1、そうでないノードの値を0とする解析結果を生成するようにしても良い。
最後に、修正入力部204は、どのグラフに対する解析結果であるかがわかるように解析IDおよび修正後の解析結果をリンク種別重要度推定部101に出力する。このとき、修正結果としては、修正した部分を出力するようにしても良い。こうすることで、出力するデータ量を減らすことができる。
リンク種別重要度推定部101は、修正入力部204から入力されるノードの解析情報とグラフDB301に格納されているグラフの情報であるノード間のリンクの種別の特徴量、ならびに解析結果DB303に格納されている情報を用いて、各種類のリンクの重要度を算出し、その結果をグラフ補正部102に出力する。
リンク種別重要度推定部101の動作は、実施の形態1と同様である。ただし、ノードの解析情報が修正入力部204から出力される点が、ノードの解析情報を事前に用意している実施の形態1とは異なる。なお、実施の形態1における式1が、修正入力部204の出力に相当する。
グラフ解析部203としてランキングエンジンを用い、この解析結果に対して解析者が、図20に示す修正を行ったとする。初期状態であるw={1、1、1}の場合、式5の目的関数の値は0.127となる。ここでリンク種別重要度推定部101により、式5を最大化するwを求めるとw≒{0.4、0.6、0}のとなる。このときの目的関数の値は0.402をとる。すなわち、図20に示す修正が行われた場合は、L1:メッセンジャーやL2:電話によるリンクを重視し、L3:e−mailを無視する方が、解析者が望む解析結果を得やすいことになる。
この後、リンク種別重要度推定部101は、求められた各リンクの種類への重要度をグラフ補正部102に出力する。グラフ補正部101は各隣接行列に対して前記重要度を掛け合わせ、グラフ構造を決定する。このグラフ構造を、再度、グラフ解析部203においてランキングした結果を図26に示す。該図が示すように、解析者の修正を反映し、Eの重要度は小さくなっている。このように、解析目的にあうグラフ構造を推定できる。
また、図26をみても分かるように、最適化により得られた重要度を基準とすると、BがDよりもコミュニケーションのキーパーソンであることが出力できるため、解析者に対して新たな気付きを与えることができる。
また、出力部201を用いて、推定されたグラフ構造を図31のように表示しても良い。図31では、リンクの強度に応じて線の太さを変化させている。また、リンクの強度がゼロであるe−mailに関するリンクは表示していない。このような表示方法をとることで、入力した解析結果の観点からは、人のコミュニケーションにおいて、メッセンジャーや電話が重要であり、e−mailに関しては重要でないことを、解析者に容易に把握させることができる。
次に、グラフ解析部としてクラスタリングエンジンを用い、この解析結果に対して解析者が、図21に示す修正を行ったとする。初期状態であるw={1、1、1}の場合、式5の目的関数の値は0.256となる。ここで、リンク種別重要度推定部101により、式5を最大化する2を求めるとw≒{0、0.67、0.33}となる。このときの目的関数の値は、0.283をとる。すなわち、図21に示す修正が行われた場合は、L2:電話およびL3:メールによるリンクを重視し、L1:メッセンジャーを無視する方が、解析者が望む解析結果を得やすいことになる。
この後、リンク種別重要度推定部101は求められた各リンクの種類への重要度をグラフ補正部102に出力する。グラフ補正部102は各隣接行列に対して前記重要度を掛け合わせ、グラフ構造を決定する。このグラフ構造を、再度、グラフ解析部203においてクラスタリングした結果を図27に示す。この図からわかるように、解析者が望むようにBとFとが早い段階でマージされていることがわかる。この結果を2クラスで分類すると、{A、B、F、G}{C、D、E}となる。これは、解析者が修正した後のクラスタそのものではないが、修正した一部の情報を反映した解析結果であり、解析者がクラスタを行いたい基準が、L2:電話およびL3:メールであるという示唆を解析者自身に与えることができる。
本発明のグラフ構造推定システムを実装することにより、二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、各種のリンクの種類の重要度を推定することで、解析目的に適したグラフ構造を推定することができる。
10 グラフ構造推定部
101 リンク種別重要度推定部
102 グラフ補正部
201 出力部
202 グラフ化部
203 グラフ解析部
204 修正入力部
301 グラフDB
302 元データDB
303 解析結果DB
501 解析情報

Claims (32)

  1. 二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、前記二種類以上のリンクの重要度を推定するリンク種別重要度推定部と、
    前記リンクの重要度を用いて前記二種類以上のリンクの強度を補正するグラフ補正部と、
    を備えることを特徴とするグラフ構造推定システム。
  2. 前記解析情報は、ノードの特徴量、ノード間の特徴量又はノード間の特徴量の類似度のいずれかであることを特徴とする請求項1に記載のグラフ構造推定システム。
  3. 前記リンク種別重要度推定部は、前記ノード間の特徴量の類似度と、前記ノード間のリンクの種別の特徴量のノード間の類似度との相関係数に基づいて、前記各種リンクの重要度を推定することを特徴とする請求項1又は請求項2に記載のグラフ構造推定システム。
  4. 前記リンク種別重要度推定部は、前記相関係数が高くなるように、前記各種リンクの重要度を推定することを特徴とする請求項3に記載のグラフ構造推定システム。
  5. 前記リンク種別重要度推定部は、前記相関係数が高くなる各種リンクの重要度を、所定の値域内で推定することを特徴とする請求項4に記載のグラフ構造推定システム。
  6. 前記リンク種別重要度推定部は、前記リンクの種別の特徴量に基づく類似度を説明変数とし、前記ノード間の特徴量の類似度を目的変数とすることにより回帰分析を行い、前記各種リンクの重要度を推定することを特徴とする請求項1から請求項5のいずれかに記載のグラフ構造推定システム。
  7. 前記リンク種別重要度推定部は、前記回帰分析により求められる各種リンクの重要度において、統計的に有意でない重要度と推定された種類のリンクの重要度を0とすることを特徴とする請求項6に記載のグラフ構造推定システム。
  8. 前記リンク種別重要度推定部は、ノード間の特徴量の類似度を、リンクの強度に基づいて行ったグラフ解析結果におけるノード間の類似度とすることを特徴とする請求項1から7のいずれかに記載のグラフ構造推定システム。
  9. 前記リンク種別重要度推定部は、ノード間の特徴量又はノード間の特徴量の類似度を、ノードの解析結果の関係性に対する確信度とすることを特徴とする請求項1又は請求項2に記載のグラフ構造推定システム。
  10. 前記リンク種別重要度推定部は、前記確信度の高いノード間の各種リンクの数により,前記各種リンクの重要度を推定することを特徴とする請求項9に記載のグラフ構造推定システム。
  11. 前記リンク種別重要度推定部は、ノード間の前記確信度の大きさと、前記ノード間の各種リンクの数との相関係数に基づいて前記各種リンクの重要度を推定することを特徴とする請求項9に記載のグラフ構造推定システム。
  12. 前記リンク種別重要度推定部は、各種リンクの出現確率に対して、確信度が高いノード間において前記各種リンクが出現する回数の統計的珍しさを推定し、各種リンクの重要度とすることを特徴とする請求項9に記載のグラフ構造推定システム。
  13. 前記リンク種別重要度推定部は、前記各種リンクの出現回数が確率分布に従うものとして、前記出現回数を上限とする積分区間において前記確率分布の関数を積分した値を各種リンクの重要度とすることを特徴とする請求項12に記載のグラフ構造推定システム。
  14. 前記分布関数を正規分布により近似することを特徴とする請求項13に記載のグラフ構造推定システム
  15. 前記リンク種別重要度推定部は、各ノードが繋がっている他ノードの個数を前記リンクの特徴量とすることを特徴とする請求項1から14のいずれかに記載のグラフ構造推定システム。
  16. 前記リンク種別重要度推定部は、各ノードが有する各種類のリンクにおける隣接行列をつなぎ合わせたものを前記リンクの特徴量とすることを特徴とする請求項1から15のいずれかに記載のグラフ構造推定システム。
  17. 前記リンク種別重要度推定部は、各ノードが繋がっている他ノードの個数を入次数と出次数に分けリンクの種類毎にまとめたものを前記リンクの特徴量とすることを特徴とする請求項1から16のいずれかに記載のグラフ構造推定システム。
  18. 前記リンク種別重要度推定部は、前記リンクの特徴量に各ノードの特徴量を含めることを特徴とする請求項1から17のいずれかに記載のグラフ構造推定システム。
  19. 前記グラフ補正部は、重要度が高いリンクの種類に対するリンクの強度を強める補正を行うことを特徴とする請求項1から18のいずれかに記載のグラフ構造推定システム。
  20. リンクの強度に基づいてグラフ解析を行い、ノード毎の特徴量を出力するグラフ解析部を備えることを特徴とする請求項1から19のいずれかに記載のグラフ構造推定システム。
  21. 前記グラフ解析部は、ノード毎の特徴量をノード毎の重要度とすることを特徴とする請求項20に記載のグラフ構造推定システム。
  22. 前記グラフ解析部は、ノード毎の特徴量をノード毎の各クラスへの所属度とすることを特徴とする請求項20に記載のグラフ構造推定システム。
  23. 解析者が前記解析情報を修正できる修正入力部を備えることを特徴とする請求項1から22のいずれかに記載のグラフ構造推定システム。
  24. 前記修正入力部は、重要度で順位付けられたノードの順位を修正した場合に、修正したノードの前後の順位のノードの重要度に基づいて、前記修正したノードの重要度を推定することを特徴とする請求項23に記載のグラフ構造推定システム。
  25. 前記修正入力部は、各ノードが所属するクラスを修正した場合に、前記ノードの前記クラスへの所属度を大きくすることを特徴とする請求項23に記載のグラフ構造推定システム。
  26. 前記修正入力部は、ノードが2つ以上のクラスに所属していると修正した場合に、前記ノードの各クラスへの所属度を、前記解析者が与えたクラス数の逆数とすることを特徴とする請求項23に記載のグラフ構造推定システム。
  27. 各ノードが保有する他ノードへの参照関係もしくは各ノードの特徴量と他ノードの特徴量との類似度に基づいて、ノード間に二種類以上のリンクの強度を求めるグラフ化部を備えることを特徴とする請求項1から26のいずれかに記載のグラフ構造推定システム。
  28. 前記グラフ化部は、各ノードの特徴量が名義尺度で与えられている場合、前記名義尺度の1つの項目を1つのリンクの種類とみなすことを特徴とする請求項27に記載のグラフ構造推定システム。
  29. 前記グラフ化部は、各ノードの特徴量が名義尺度で与えられている場合、前記名義尺度の複数個の項目を1つのリンクの種類とみなすことを特徴とする請求項27に記載のグラフ構造推定システム。
  30. 前記グラフ化部は、各ノードの特徴量が順序尺度で与えられている場合、前記順序尺度を1つ以上に分割しカテゴリカルデータに変換することを特徴とする請求項27に記載のグラフ構造推定システム。
  31. 二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、前記二種類以上のリンクの重要度を推定するリンク種別重要度推定ステップと、
    前記リンクの重要度を用いて前記二種類以上のリンクの強度を補正するグラフ補正ステップと、を備えることを特徴とするグラフ構造推定方法。
  32. コンピュータを、
    二種類以上のリンクが含まれるグラフにおいて、ノードの解析情報と、前記ノード間のリンクの種別の特徴量とに基づいて、前記二種類以上のリンクの重要度を推定するリンク種別重要度推定手段と、
    前記リンクの重要度を用いて前記二種類以上のリンクの強度を補正するグラフ補正手段として動作させることを特徴とするグラフ構造推定プログラム。
JP2009006740A 2009-01-15 2009-01-15 グラフ構造推定システム、グラフ構造推定方法、およびプログラム Pending JP2010165166A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009006740A JP2010165166A (ja) 2009-01-15 2009-01-15 グラフ構造推定システム、グラフ構造推定方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009006740A JP2010165166A (ja) 2009-01-15 2009-01-15 グラフ構造推定システム、グラフ構造推定方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2010165166A true JP2010165166A (ja) 2010-07-29

Family

ID=42581276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009006740A Pending JP2010165166A (ja) 2009-01-15 2009-01-15 グラフ構造推定システム、グラフ構造推定方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2010165166A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014533389A (ja) * 2011-09-08 2014-12-11 アルカテル−ルーセント 電気通信呼グラフのノード間の辺の複合紐帯メトリックを導き出すための方法および装置
KR20150079370A (ko) * 2013-12-27 2015-07-08 경희대학교 산학협력단 대용량 그래프 데이터베이스에서 링크를 예측하는 방법
JP2017162237A (ja) * 2016-03-10 2017-09-14 ヤフー株式会社 生成装置、生成方法、及び生成プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014533389A (ja) * 2011-09-08 2014-12-11 アルカテル−ルーセント 電気通信呼グラフのノード間の辺の複合紐帯メトリックを導き出すための方法および装置
US9159077B2 (en) 2011-09-08 2015-10-13 Alcatel Lucent Method and apparatus for deriving composite tie metric for edge between nodes of a telecommunication call graph
KR20150079370A (ko) * 2013-12-27 2015-07-08 경희대학교 산학협력단 대용량 그래프 데이터베이스에서 링크를 예측하는 방법
KR101591595B1 (ko) * 2013-12-27 2016-02-19 경희대학교 산학협력단 대용량 그래프 데이터베이스에서 링크를 예측하는 방법
JP2017162237A (ja) * 2016-03-10 2017-09-14 ヤフー株式会社 生成装置、生成方法、及び生成プログラム

Similar Documents

Publication Publication Date Title
KR101708508B1 (ko) 향상된 개체 발췌에 기초하여 메시지 및 대화 간의 의미 유사성을 계산하는 방법
JP4920023B2 (ja) オブジェクト間競合指標計算方法およびシステム
US8682830B2 (en) Information processing apparatus, information processing method, and program
CN109872162B (zh) 一种处理用户投诉信息的风控分类识别方法及系统
US9015158B2 (en) Contents creating device and contents creating method
JP2019536119A (ja) ユーザ興味の識別方法、装置およびコンピュータ読み取り可能な記憶媒体
CN108701155B (zh) 社交网络中的专家检测
Weng et al. Using text classification and multiple concepts to answer e-mails
JP2012118977A (ja) 文書類似性計算の機械学習に基づく最適化およびカスタマイズのための方法およびシステム
CN104067567A (zh) 用于使用字符直方图进行垃圾邮件检测的系统和方法
CN111984873B (zh) 一种服务推荐系统和方法
CN117151870B (zh) 一种基于客群画像行为分析方法及系统
CN115130711A (zh) 一种数据处理方法、装置、计算机及可读存储介质
CN105159898B (zh) 一种搜索的方法和装置
CN114913021A (zh) 针对数字金融大数据的交互服务分析方法及系统
JP2010165166A (ja) グラフ構造推定システム、グラフ構造推定方法、およびプログラム
KR101064256B1 (ko) 최대 개념강도 인지기법을 이용한 최적의 데이터베이스 선택장치 및 그 방법
Bourqui et al. Detecting structural changes and command hierarchies in dynamic social networks
CN107609921A (zh) 一种数据处理方法及服务器
CN115376668B (zh) 一种应用于智慧医疗的大数据业务分析方法及系统
JP4802523B2 (ja) 電子メッセージ分析装置および方法
CN108369559B (zh) 应用了图像处理的文档结构分析装置
CN114387005A (zh) 一种基于图分类的套利团伙识别方法
CN113722484A (zh) 基于深度学习的谣言检测方法、装置、设备及存储介质
KR102188337B1 (ko) 스파스 토픽들을 위한 분류자 리콜 추정