(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
(実施形態)
〔1−1.生成処理(第1クラスタリング)〕
図1〜
図3では、ソーシャルネットワーキングサービス(以下、「SNS」と記載する場合がある)におけるユーザ間の情報通信に基づくグラフ(ソーシャルグラフ)に関する情報(以下、「グラフ情報」ともいう)を対象に分類する場合を示す。なお、グラフ情報の取得元となるSNSは、どのようなソーシャルネットワーキングサービスであってもよく、例えば、Twitter(登録商標)やFacebook(登録商標)等、どのようなサービスであってもよい。また、以下では、ノードを分類することをクラスタリングと称する場合がある。
【0012】
まず、
図1を用いて、実施形態に係る生成処理の一例について説明する。
図1は、実施形態に係る生成処理の一例を示す図である。
図1では、生成装置100(
図4参照)が、所定のSNSにおけるグラフ情報を用いて、グラフに含まれるノード(ユーザ)をグラフ構造に基づいて分類する。具体的には、
図1は、生成装置100が、第1クラスタリングの処理により第1分類情報を生成する場合を示す。
【0013】
図1に示すように、生成装置100は、所定のSNSにおけるグラフ情報G11を取得する。グラフ情報G11は、ネットワーク上における主体(ユーザ)の各々に対応する複数のノードと、ネットワーク上における情報通信に関する対応関係を有するノード間を連結するエッジとを含むグラフ情報である。すなわち、ノードは、ネットワーク上における主体(ユーザ)と読み替えてもよい。また、ここでいう対応関係は、SNSにおけるあるノードから他のノードへの投稿であってもよい。また、以下でいう通信回数は、SNSにおけるあるノードから他のノードへの投稿回数や、あるノードと他のノードとの間の投稿回数であってもよい。すなわち、通信回数は、投稿回数と読み替えてもよい。
【0014】
例えば、グラフ情報G11は、通信一覧表IN11に示すような通信回数に関する情報のうち、各ノードが交差する領域に1以上の数値が割り当てられたノード間をエッジで連結する。以下、通信一覧表IN11に示す通信回数に関する情報等の通信に関する情報を通信情報とする場合がある。例えば、通信一覧表IN11において、ノードN1の行と、ノードN2の列が交差する領域には、「5」が割り当てられる。そのため、グラフ情報G11では、ノードN1のユーザ、ノードN2のユーザとは、ネットワーク上における通信を行ったユーザ同士であるとして、ノードN1とノードN2は、エッジで連結される。なお、生成装置100は、通信一覧表IN11に示す通信情報からグラフ情報G11を生成してもよい。
【0015】
ここで、通信一覧表IN11について説明する。例えば、通信一覧表IN11は、
図5に示す通信回数情報記憶部121に対応する。例えば、通信一覧表IN11における行に示すノードは、情報の送信元となるノードに対応する。また、例えば、通信一覧表IN11における列に示すノードは、情報の送信先となるノードに対応する。なお、
図1〜
図3に示す例において、説明を簡単にするために25個のノードN1〜N25のみを図示するが、ノード数は、広く用いられているSNSのユーザ数のように多数(例えば100万ユーザや1000万ユーザ等)であってもよい。
【0016】
通信一覧表IN11において、縦の行に示すノードN1〜N4等と、横の列に示すノードN1〜N4との各々が交差する領域の数値は、縦の行に示すノードから横の列に示すノードへ情報通信を行った回数を示す。例えば、縦の行のノードN2と横の列のノードN1とが交差する領域の数値「10」は、ノードN2のユーザがノードN1のユーザに対して情報を10回送信したことを示す。また、例えば、縦の行のノードN1と横の列のノードN2とが交差する領域の数値「5」は、ノードN1のユーザがノードN2のユーザに対して情報を5回送信したことを示す。このように、
図1に示す例では、通信一覧表IN11には、情報の送信元と送信先を区別して各ノード間の通信情報が割り当てられる。なお、送信元から送信先への情報通信は、SNSに応じてどのような内容であってもよい。例えば、送信元から送信先への情報通信は、送信元から送信先へのメールの送信であってもよいし、送信元から送信先のタイムラインへの情報投稿であってもよいし、送信元から送信先へのリツイート等種々の内容であってもよい。また、情報通信の方向を考慮しない場合、通信一覧表IN11には、交差する領域には同じ数値が割り当てられてもよいし、片方の領域にのみ数値が割り当てられてもよい。
【0017】
また、
図1に示す例においては、グラフ情報G11は、2つのノード間における通信回数が1回以上であるノード間をエッジで連結した場合を示す。
図1の例では、いずれのノードが送信元であるかを問わず1回以上通信回数がある2つのノード間をエッジで連結した場合を示す。なお、グラフ情報G11は、2つのノード間の通信回数が所定の閾値以上である場合、2つのノード間をエッジで連結したグラフ情報であってもよい。
【0018】
ここで、生成装置100は、グラフ情報G11における複数のノード間のエッジの連結に基づいてノードを分類する第1分類情報G12を生成する(ステップS11)。具体的には、生成装置100は、ノード間の構造的類似度に基づいて、第1分類情報G12を生成する。なお、
図1に示す例では、第1分類情報G12にグラフ情報G11が含まれる場合を示すが、第1分類情報G12は、第1クラスタリングの結果を示す情報であれば、どのような情報であってもよい。例えば、第1分類情報G12は、各第1分類D11〜D15の各々に含まれるノードを示す情報が含まれれば、どのような情報であってもよい。
【0019】
ここで、第1クラスタリングにおいては、生成装置100は、例えば、クラスタリング手法SCAN(非特許文献1参照)を用いてもよい。なお、生成装置100は、クラスタリング手法SCANに限らず、グラフ中のノードを構造的な類似度に基づいてクラスタリングを行う手法であれば、どのような手法を用いてもよい。例えば、クラスタリング手法SCAN++(非特許文献2参照)や他のクラスタリング手法(非特許文献3参照)等、種々の手法を適宜用いてもよい。
【0020】
以下では、グラフ情報は、「G=(V,E)」で示される。ここで、「G」は、グラフ情報に対応し、「V」はグラフ情報に含まれるノードを示し、「E」はグラフ情報に含まれるエッジを示す。例えば、「|V|」はグラフ情報に含まれるノードの数を示し、「|E|」はグラフ情報に含まれるエッジの数を示す。また、例えば、生成装置100は、クラスタリング手法SCANを用いる場合、以下の式(1)を用いて各ノード間の構造的類似度を算出する。
【0022】
上記式(1)において、「u」及び「v」は、類似度を算出する対象となるノードを示し、σ(u,v)は、ノードu、v間の構造的類似度を示す。|Γ(v)|は、ノードvの隣接ノードの数を示し、以下の式(2)により算出される。
【0024】
上記式(2)において、「v∈V」とするとき、ノードvの隣接ノード集合はノードvとエッジで接続されるノードとノードv自身が含まれる。すなわち、上記式(2)の左辺「Γ(v)」は、ノードvの隣接ノード集合を示す。
【0025】
上記式(1)の右辺の分母は、ノードuの隣接ノードの数とノードvの隣接ノードの数とを乗算して、ルート(平方根)をとった値に対応する。また、上記式(1)の右辺の分子は、ノードuの隣接ノード集合とノードvの隣接ノード集合との間に共通して含まれるノードの数(値)に対応する。
【0026】
また、上記式(1)及び(2)により、ノードu、v間の構造的類似度を示すσ(u,v)は、ノードu、v間に共通の隣接ノードがない場合に「0」となる。また、σ(u,v)は、ノードuの隣接ノードと、ノードvの隣接ノードとが互いに全て共有する場合に「1」となる。すなわち、σ(u,v)は、0〜1の値となる。
【0027】
生成装置100は、上記式(1)により算出されるノード間の構造的類似度σに基づいて、グラフ情報G11中のノードにおけるコアノードを抽出する。例えば、生成装置100は、以下の式(3)及び式(4)を用いて、コアノードを抽出する。また、生成装置100は、コアノードを抽出する際に、以下の2つのパラメータ「ε」、「μ」を用いる。
【0030】
(パラメータ1) 「ε」:クラスタを構成するための構造的類似度の閾値
(パラメータ2) 「μ」:クラスタに含まれる最小ノード数
【0031】
上記式(3)の左辺「N
ε[u]」は、ノードuの間の構造的類似度σが閾値「ε」以上であるノードの集合に対応する。以下では、「N
ε[u]」をノードuのε隣接ノードと称する場合がある。また、上記式(4)の左辺「|N
ε[u]|」は、ノードuのε隣接ノードの数を示す。そして、上記式(4)の右辺「μ」は、クラスタを構成するための構造的類似度の閾値に対応する。すなわち、生成装置100は、上記式(4)を満たすノードをコアノードとして、第1クラスタリングを行う。例えば、生成装置100は、クラスタリング手法SCAN(非特許文献1参照)により、グラフ情報G11中のノードN1〜N25を構造的に分類する。
【0032】
上述した処理により、生成装置100は、第1分類D11にノードN1、N2、N3が含まれることや、第1分類D12にノードN6、N7、N8、N9が含まれること等を示す第1分類情報G12を生成する。例えば、生成装置100は、上記2つのパラメータ「ε」、「μ」を適宜設定することにより適切なコアノードを抽出し、第1クラスタリングを行う。また、
図1では、生成装置100は、ノードN4、N12、N17等をハブ(以下、「ハブノード」ともいう)として抽出する。例えば、ハブノードは、グラフ構造において、複数のクラスタ(分類)間を連結するノードであり、周辺のクラスタに影響力のあるノードとされる場合がある。例えば、ノードN12は、第1分類D11(ノードN3)と第1分類D13(ノードN13)とを連結するハブノードである。また、生成装置100は、ノードN5、N10、N11、N25等をアウトライアー(以下、「外れノード」ともいう)として抽出する。例えば、外れノードは、ノイズとして扱われる場合がある。
【0033】
なお、生成装置100は、上記に限らず、種々の手法を適宜用いて、構造的にグラフ中のノードをクラスタリング(分類)する第1分類情報を生成してもよい。例えば、生成装置100は、ノード間の通信回数に基づく重みを用いて、ノード間の構造的類似度を算出してもよい。例えば、生成装置100は、以下の式(5)を用いて各ノード間の構造的類似度を算出してもよい。
【0035】
上記式(5)において、「u」及び「v」は、類似度を算出する対象となるノードを示し、σ
w(u,v)は、ノードu、v間の通信回数に基づく重みを用いた構造的類似度を示す。ω(u,v)は、ノードu、v間の通信回数を示す。例えば、
図1に示す例において、ノードuをノードN1とし、ノードvをノードN2とした場合、ω(N1,N2)は、ノードN1からノードN2への通信回数「5」と、ノードN2からノードN1への通信回数「10」とを合計した通信回数「15」であってもよい。なお、上記式(5)において分母を「ω(u,v)+1」とすることにより、通信回数が多い程、重みが大きくなり、通信回数が多くなる程、通信回数が少ない場合に比べて、二つの値はほとんど近似することになる。例えば、通信回数が「1000」と「1001」とを比較する場合、通信回数が「1」と「2」とを比較する場合に比べて、二つの値はほとんど近似することになる。
【0036】
〔1−2.生成処理(第2クラスタリング)〕
次に、
図2を用いて、実施形態に係る生成処理の一例について説明する。
図2は、実施形態に係る生成処理の一例を示す図である。
図2では、生成装置100が、第1分類情報G12を用いて、第1分類D11〜D15等を通信内容に基づいて分類する。具体的には、
図2は、生成装置100が第2クラスタリングの処理により第2分類情報を生成する場合を示す。
【0037】
生成装置100は、第1分類情報G12と、通信内容に関する分類とに基づいて、ノードを分類する第2分類情報G13を生成する(ステップS12)。具体的には、生成装置100は、通信内容に関するトピックの類似性に基づいて、第1分類D11〜D15等を分類する第2分類情報G13を生成する。なお、
図2に示す例では、第2分類情報G13にグラフ情報G11が含まれる場合を示すが、第2分類情報G13は、第2クラスタリングの結果を示す情報であれば、どのような情報であってもよい。例えば、第2分類情報G13は、各第2分類C11、C12等の各々に含まれるノードを示す情報が含まれれば、どのような情報であってもよい。
【0038】
例えば、生成装置100は、各第1分類D11〜D15に含まれるノード間の通信における情報の内容を解析することにより、各第1分類D11〜D15に含まれるノード間での通信内容のトピックを推定(抽出)してもよい。例えば、生成装置100は、第1分類D11に含まれるノードN1、N2、N3との間で通信される文字情報や画像情報等に基づいて、第1分類D11内における通信のトピックを抽出してもよい。なお、生成装置100は、トピック分析(解析)等の種々の従来手法を適宜用いて、各第1分類D11〜D15に含まれるノード間での通信内容からトピックを抽出してもよい。例えば、生成装置100は、各第1分類D11〜D15に含まれるノード間で通信される文字情報を形態素解析等の自然言語処理技術を適宜用いて解析することにより、その文字情報から重要なキーワードを対応する第1分類におけるトピックとして抽出してもよい。
【0039】
また、生成装置100は、各第1分類D11〜D15における通信内容に関するコサイン類似度に基づいて、第1分類D11〜D15等を分類する第2分類情報G13を生成してもよい。例えば、生成装置100は、各第1分類D11〜D15におけるトピック間のコサイン類似度に基づいて、第1分類D11〜D15等を分類する第2分類情報G13を生成する。例えば、生成装置100は、ある第1分類と他の第1分類とのコサイン類似度が所定の閾値以上である場合、ある第1分類と他の第1分類とを同じクラスタ(第2分類)としてもよい。
【0040】
なお、所定のSNSがTwitter(登録商標)である場合、生成装置100は、ハッシュタグの類似性に基づいて、第2分類情報G13を生成してもよい。例えば、生成装置100は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグのうち、最も頻度の高いハッシュタグに関するトピックの類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。例えば、生成装置100は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグのうち、最も頻度の高いハッシュタグに関するトピックの類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。
【0041】
また、例えば、生成装置100は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグをトピックとし、その分布の類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。例えば、生成装置100は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグ(トピック)の回数に基づく割合の類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。例えば、
図2の例の場合、第1分類D11に含まれるノード間の通信においては、トピックAのスコアが「0.8」であり、トピックCのスコアが「0.5」であるため、トピックAがハッシュタグとして用いられた回数が、トピックCがハッシュタグとして用いられた回数よりも多いことを示す。すなわち、
図2の例の場合、トピックAがトピックCよりも、第1分類D11に含まれるノード間の通信の内容が反映されたトピックであることを示す。また、例えば、
図2の例の場合、第1分類D11に含まれるノード間の通信においては、トピックBのスコアが「0」であるため、トピックBがハッシュタグとして用いられていないことを示す。例えば、生成装置100の通信内容情報記憶部122(
図5参照)に記憶された通信内容情報から抽出されたトピックAは「歌手A」であってもよく、通信内容情報記憶部122に記憶された通信内容情報から抽出されたトピックBは「グループB」であってもよい。
【0042】
ここで、
図2に示す例では、トピック一覧IN12に示すように、各第1分類D11〜D15に含まれるノード間の通信におけるトピックをスコアとして算出した場合を示す。例えば、トピック一覧IN12は、
図7に示すトピック記憶部123に対応する。例えば、スコアが大きいトピック程、対応する第1分類に含まれるノード間で通信された情報の内容に関する通信が多いことを示すものとする。例えば、トピック一覧IN12では、クラスタD12(第1分類D12)に含まれるノード間では、トピックBのスコアが最大の値「1.1」であり、第1分類D12ではトピックBの内容に関する通信が多いことを示す。また、例えば、トピック一覧IN12では、クラスタD14(第1分類D14)に含まれるノード間では、トピックBのスコアが最大の値「0.8」であり、第1分類D14ではトピックBの内容に関する通信が多いことを示す。そのため、生成装置100は、第1分類D12及び第1分類D14を、同じ第2分類C12に分類する。
【0043】
上述した処理により、生成装置100は、第2分類C11に第1分類D11、D13が含まれることや、第2分類C12に第1分類D12、D14、D15が含まれること等を示す第2分類情報G13を生成する。なお、生成装置100は、上記に限らず、種々の手法を適宜用いて、通信の内容に基づいてグラフ中のノードをクラスタリング(分類)する第2分類情報を生成してもよい。
【0044】
〔1−3.生成処理(第3クラスタリング)〕
次に、
図3を用いて、実施形態に係る生成処理の一例について説明する。
図3は、実施形態に係る生成処理の一例を示す図である。
図2では、生成装置100が、第2分類情報G13を用いて、ノードN1〜N25等を分類する。具体的には、
図3は、生成装置100が第3クラスタリングの処理により第3分類情報を生成する場合を示す。
【0045】
生成装置100は、第2分類情報G13と、ノード間のエッジ(接続関係)を示す情報(例えばグラフ情報G11)とにより算出されるスコアに基づいて、ノードを分類する第3分類情報G14を生成する(ステップS13)。例えば、第3クラスタリングにおいては、生成装置100は、例えば、ページランク(非特許文献3参照)に関する技術を用いてもよい。なお、生成装置100は、第3クラスタリングにおいては、ページランク(非特許文献3参照)に限らず、種々の手法を適宜用いてもよい。例えば、生成装置100は、以下の式(6)〜(8)を用いて、第2分類ごとに各ノードのスコアを算出する。
【0047】
上記式(6)における左辺「P
i,j」は、行列Pにおける各要素に対応する。例えば、行列Pはグラフ情報G11におけるノード数が「m(=|V|)」である場合、m行m列の行列であってもよい。すなわち、上記式(6)は、行列P(例えば、下記の式(8)中の行列「P」)における各要素の値を算出するために用いられる。例えば、上記式(6)における左辺「P
i,j」は、下記の式(8)中の行列「P」中のi行j列の要素であってもよい。
【0048】
また、右辺「A
i,j」は、行列Aにおける各要素に対応する。ここで、行列Aは、各行と列に対応するノード間での通信回数を示す。例えば、行列Aはグラフ情報G11におけるノード数が「m(=|V|)」である場合、m行m列の行列であってもよい。例えば、行列Aにおける各行は、送信元となるノードに対応し、行列Aにおける各列は、通信先となるノードに対応してもよい。
【0049】
例えば、
図1に示す例において、ノードN1が行列Aのi行に対応し、ノードN2が行列Aのj列に対応する場合、「A
i,j」の値は、ノードN1からノードN2への通信回数「5」であってもよい。また、例えば、
図1に示す例において、ノードN2が行列Aのi行に対応し、ノードN1が行列Aのj列に対応する場合、「A
i,j」の値は、ノードN2からノードN1への通信回数「10」であってもよい。
【0050】
また、右辺中の分母「Σ
jA
i,j」は、行列Aのi行に対応するノードから他のノードへの通信回数を合計した値であってもよい。この場合、上記式(6)における左辺「P
i,j」は、行列Aのi行に対応するノードを送信元とする全通信回数に対する、行列Aのi行に対応するノードを送信元とし、j列に対応するノードを送信先とする通信回数の割合を示す。
【0052】
上記式(7)における「S」は、ノード集合Vの部分集合であり、シードノード(ユーザ)の集合を示す。また、上記式(7)における左辺「s
i」は、ノード数が「m(=|V|)」である場合、m次元のベクトルのi列目の要素であってもよい。また、上記式(7)における左辺「s
i」は、下記の式(8)中の行列「s」のi列目の要素であってもよい。例えば、「s
i」に対応するノード「V
i」が、部分集合Sに含まれる場合、「s
i」の値は、「1」を部分集合Sの数で除した値「1/|S|」となる。また、例えば、「s
i」に対応するノード「V
i」が、部分集合Sに含まれない場合、「s
i」の値は、「0」となる。
【0054】
例えば、上記式(8)中の左辺「m
(t)」は、時刻tにおける各ノードのスコア(確率値)に対応する。例えば、上記式(8)中の左辺「m
(t)」は、ある第2分類に含まれるノードをシードノードとした場合における、時刻tにおける各ノードのスコア(確率値)に対応する。
【0055】
また、「α」は0〜1の値を取る確率値に対応する。例えば、生成装置100は、上記式(8)が収束するまで計算を繰り返す。例えば、生成装置100は、所定の値を超えた全時刻tに対して「m
(t)=m
(t−1)」となるまで計算を繰り返す。
【0056】
図3の例においては、生成装置100は、上記式(6)〜(8)を用いて、各第2分類C11、C12等における各ノードのスコアを算出する。このように算出された各第2分類に対応する各ノードのスコアは、グラフ内のノードをランダムウォークした場合における、各ノードに位置する確率を示す。すなわち、各第2分類に対応する各ノードのスコアが高い程、グラフ内のノードをランダムウォークした場合において、そのノードに位置する確率が高いことを示す。そのため、例えば、各第2分類に対応する各ノードのスコアは、その第2分類における各ユーザの重要度を示す指標となる。例えば、各第2分類に対応する各ノードのスコアが大きい程、そのユーザは第2分類において重要なユーザとなる。
【0057】
ここで、
図3に示す例では、スコア一覧IN13に示すように、各第2分類C11、C12等の各々における各ノードN1〜N25等のスコアを算出した場合を示す。例えば、スコア一覧IN13は、
図8に示すスコア情報記憶部124に対応する。また、スコア一覧IN13は、各第2分類C11、C12等の各々において、各ノードをスコアが高い方から順にランキングした状態を示す。そして、生成装置100は、各第2分類C11、C12等の各々において、順位が高いほうから所定数のノードを各第2分類C11、C12に分類するノードとする。例えば、生成装置100は、各第2分類C11、C12等の各々において、順位が高いほうから100個のノードを各第2分類C11、C12に分類するノードとしてもよい。
【0058】
図3に示す例において、生成装置100は、各第2分類C11に対応する順位が高いノードN13、N2、N12、N1等を第2分類C11に分類するノードとする。このように、第3クラスタリングにおいて、第2クラスタリングでは第2分類C11に含まれていなかったノードN12(ハブノードN12)が第2分類C11に分類される。
【0059】
図3に示す例において、生成装置100は、各第2分類C12に対応する順位が高いノードN19、N7、N17、N11等を第2分類C12に分類するノードとする。このように、第3クラスタリングにおいて、第2クラスタリングでは第2分類C12に含まれていなかったノードN17(ハブノードN17)やノードN11(外れノードN11)が第2分類C12に分類される。なお、各ノードは、第3クラスタリング後において、複数の第2分類C11、C12等に含まれてもよい。例えば、
図3に示す例において、ノードN4は、2つの第2分類C11、C12の両方に分類されてもよい。
【0060】
このように、生成装置100は、第2分類C11にノードN13、N2、N12、N1等が含まれることや、第2分類C12にノードN19、N7、N17、N11が含まれること等を示す第3分類情報G14を生成する。これにより、生成装置100は、グラフにおけるノード間の接続構造およびノード間において通信された情報の内容の両方に基づいて、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0061】
〔2.生成装置の構成〕
次に、
図4を用いて、実施形態に係る生成装置100の構成について説明する。
図4は、実施形態に係る生成装置の構成例を示す図である。生成装置100は、第1分類情報や第2分類情報や第3分類情報を生成する情報処理装置である。
図4に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、各種の情報を表示する表示部や、各種の情報を入力する入力部を有してもよい。
【0062】
(通信部110)
通信部110は、例えば、NIC等によって実現される。そして、通信部110は、所定のネットワークと有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。
【0063】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、
図4に示すように、通信内容情報記憶部122と、通信回数情報記憶部121と、トピック記憶部123と、スコア情報記憶部124とを有する。
【0064】
(通信回数情報記憶部121)
実施形態に係る通信回数情報記憶部121は、所定のSNSにおける通信回数に関する情報(「通信回数情報」ともいう)を記憶する。
図5は、実施形態に係る通信回数情報記憶部の一例を示す図である。例えば、通信回数情報記憶部121は、所定のSNSにおける各ノード間の通信回数を記憶する。また、例えば、通信回数情報記憶部121は、グラフ情報G11等を生成するために用いる情報を記憶する。
図5に示すように、通信回数情報記憶部121は、通信回数情報として、ノードIDにより識別されるノード間の通信回数を記憶する。
【0065】
例えば、
図5に示す例において、ノードID「N1」の行とノードID「N2」の列とが交差する領域の数値「5」は、ノードN1のユーザがノードN2のユーザに対して情報を5回送信したことを示す。ノードID「N2」の行とノードID「N1」の列とが交差する領域の数値「10」は、ノードN2のユーザがノードN1のユーザに対して情報を10回送信したことを示す。また、ノードIDは、
図1〜
図3に示す各ノードの符号に対応する。例えば、ノードID「N1」により識別されるユーザは、
図1〜
図3に示すノードN1に対応する。すなわち、ノードID「N1」により識別されるノードと、
図1〜
図3中のノードN1とは同じノードを示し、
図1〜
図3に示す他のノードについても同様である。また、
図6や
図8に示す例においても同様である。
【0066】
なお、通信回数情報記憶部121は、通信方向を問わず通信回数の合計を記憶する場合、ノードID「N1」の行とノードID「N2」の列とが交差する領域かノードID「N2」の行とノードID「N1」の列とが交差する領域かのいずれか一方のみを記憶してもよい。また、
図5に示す例においては、ノードIDとノードIDとの行列(マトリクス)の形状で記憶される場合を一例として図示したが、通信回数情報を記憶できれば、どのように記憶されてもよい。例えば、通信回数情報記憶部121は、各ノードIDのユーザが通信を行ったノードID及びその通信回数をリスト形式で記憶してもよい。例えば、通信回数情報記憶部121に記憶される通信回数情報は、各ノードIDのユーザと通信したことがあるユーザのノードID及びその通信回数のリストを保存する辞書の形状で記憶されてもよい。
【0067】
(通信内容情報記憶部122)
実施形態に係る通信内容情報記憶部122は、所定のSNSにおける通信内容に関する情報(「通信内容情報」ともいう)を記憶する。
図6は、実施形態に係る通信内容情報記憶部の一例を示す図である。
図6に示す例においては、通信内容情報として、所定のSNSにおける各ノード間における通信の履歴情報が記憶される。例えば、通信内容情報記憶部122に記憶された通信内容情報は、第2クラスタリングの際に用いるトピックの抽出に用いられる。
図6に示すように、通信内容情報記憶部122は、取引情報として、「通信ID」、「送信元ID(ノードID)」、「送信先ID(ノードID)」、「日時」、「内容」等の項目を有する。
【0068】
「通信ID」は、所定のSNSにおける各ノード間における通信を識別するための識別情報を示す。「送信元ID(ノードID)」は、対応する通信IDにより識別される通信における送信元である主体(ユーザ)を識別するための識別情報を示す。また、「送信先ID(ノードID)」は、対応する通信IDにより識別される通信における送信先である主体(ユーザ)を識別するための識別情報を示す。また、「日時」は、対応する通信IDにより識別される通信が行われた日時を示す。また、「内容」は、対応する通信IDにより識別される通信において送受信された文字情報を示す。
【0069】
例えば、
図6に示す例において、通信ID「T11」により識別される取引は、送信元ID(ノードID)「N1」により識別されるノードに対応するユーザが、送信先ID「N2」により識別されるユーザへ、文字情報「歌手Aのライブ…」を、日時「2016/5/1 13:05」に送信したことを示す。
【0070】
なお、通信内容情報記憶部122は、上記に限らず、所定のSNSにおける各ノード間における通信に関する項目であれば、目的に応じて種々の項目を有してもよい。また、例えば、一斉送信等のように送信先が複数である場合は、1つの「通信ID」に対応する「送信先(ノードID)」が複数であってもよい。また、「内容」には、対応する通信IDにより識別される通信において送受信された文字情報に限らず、通信に関する情報であればどのような情報が含まれてもよい。例えば、「内容」には、画像情報や動画情報や位置情報や送信元のユーザのコンテキストに関する情報や送信先のユーザのコンテキストに関する情報等が含まれてもよい。
【0071】
(トピック記憶部123)
実施形態に係るトピック記憶部123は、各第1分類(クラスタ)に含まれるノード間の通信におけるトピックに関する情報(「トピック情報」ともいう)を記憶する。
図7は、実施形態に係るトピック記憶部の一例を示す図である。
図7に示す例においては、トピック記憶部123には、各第1分類D11〜D15に含まれるノード間の通信におけるトピックごとに算出されるスコアがトピック情報として記憶される。
図7に示すように、トピック記憶部123は、トピック情報として、「クラスタ」、「トピックA」、「トピックB」、「トピックC」等の項目を有する。
【0072】
例えば、
図7に示す例においては、クラスタ「D11」により識別されるクラスタ(第1分類D11)は、「トピックA」のスコアが「0.8」であり、「トピックB」のスコアが「0」であり、「トピックC」のスコアが「0.5」であることを示す。すなわち、第1分類D11〜D15に含まれるノード間の通信における内容としては、3つのトピックA〜Cの中では、スコアが最大であるトピックAが適切であることを示す。
【0073】
例えば、通信内容情報記憶部122に記憶された通信内容情報から抽出されたトピックAは「歌手A」であってもよく、通信内容情報記憶部122に記憶された通信内容情報から抽出されたトピックBは「グループB」であってもよい。なお、トピック記憶部123は、項目は上記に限らず、各第1分類に含まれるノード間の通信に関するトピック情報であれば、目的に応じて種々の項目を有してもよい。
【0074】
(スコア情報記憶部124)
実施形態に係るスコア情報記憶部124は、第2分類ごとに算出された各ノードのスコアに関する情報(「スコア情報」ともいう)と、スコア情報に基づくランキング(順位)に関する情報(「ランキング情報」ともいう)を記憶する。
図8は、実施形態に係るスコア情報記憶部の一例を示す図である。
図8に示す例においては、各第2分類C11、C12等の各々について、各ノードN1〜N25をスコアに基づいてランキングした情報が記憶される。
図8に示すように、スコア情報記憶部124は、「順位」、「C11」、「C12」の項目を有する。
【0075】
「順位」は、第2分類ごとの各ノードの順位を示す。また、項目「C11」及び「C12」は、第2分類C11、C12に各々対応し、「ノードID」、「スコア」といった項目が含まれる。なお、項目は上記に限らず、スコア情報記憶部124は、目的に応じて種々の項目を有してもよい。
【0076】
例えば、
図8に示す例においては、第2分類C11については、ノードN13のスコアが最大の「0.09」であり、ノードN13の順位が1位である、すなわち最も順位が高いことを示す。また、例えば、
図8に示す例においては、第2分類C12については、ノードN19のスコアが最大の「0.085」であり、ノードN19の順位が1位であることを示す。
【0077】
(制御部130)
図4の説明に戻って、制御部130は、例えば、コントローラ(Controller)であり、CPUやMPU等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、コントローラ(Controller)であり、ASICやFPGA等の集積回路により実現される。
【0078】
図4に示すように、制御部130は、取得部131と、第1生成部132と、第2生成部133と、第3生成部134と、送信部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
【0079】
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含むグラフ情報を取得する。例えば、取得部131は、ネットワーク上におけるユーザの各々に対応する複数のノードと、ネットワーク上における情報通信に関する対応関係を有するノード間を連結するエッジとを含むグラフ情報を取得する。例えば、取得部131は、所定のSNSにおける通信情報を取得する。例えば、取得部131は、所定のSNSにおける通信回数情報や通信内容情報を取得する。例えば、取得部131は、グラフ情報や第1分類情報や第2分類情報を取得してもよい。
【0080】
(第1生成部132)
第1生成部132は、第1分類情報を生成する。例えば、第1生成部132は、取得部131により取得されたグラフ情報における複数のノード間のエッジの連結に基づいてノードを分類する第1分類情報を生成する。例えば、第1生成部132は、ノード間における情報通信の回数に基づいて、第1分類情報を生成する。例えば、第1生成部132は、
図1に示す第1クラスタリングに関する処理を行う。
【0081】
図1の例では、第1生成部132は、グラフ情報G11から第1分類情報G12を生成する。例えば、第1生成部132は、ノード間の構造的類似度に基づいて、第1分類情報G12を生成する。例えば、第1生成部132は、クラスタリング手法SCAN(非特許文献1参照)を用いて第1クラスタリングに関する処理を行ってもよい。
【0082】
また、
図1の例では、第1生成部132は、上記式(1)により算出されるノード間の構造的類似度σに基づいて、グラフ情報G11中のノードにおけるコアノードを抽出する。例えば、第1生成部132は、上記式(3)及び式(4)を用いて、コアノードを抽出する。第1生成部132は、上記式(4)を満たすノードをコアノードとして、第1クラスタリングを行う。例えば、第1生成部132は、クラスタリング手法SCAN(非特許文献1参照)により、グラフ情報G11中のノードN1〜N25を構造的に分類する。
【0083】
また、
図1の例では、第1生成部132は、第1分類D11にノードN1、N2、N3が含まれることや、第1分類D12にノードN6、N7、N8、N9が含まれること等を示す第1分類情報G12を生成する。例えば、第1生成部132は、上記2つのパラメータ「ε」、「μ」を適宜設定することにより適切なコアノードを抽出し、第1クラスタリングを行う。
【0084】
なお、第1生成部132は、上記に限らず、種々の手法を適宜用いて、構造的にグラフ中のノードをクラスタリング(分類)する第1分類情報を生成してもよい。例えば、第1生成部132は、ノード間の通信回数に基づく重みを用いて、ノード間の構造的類似度を算出してもよい。例えば、第1生成部132は、以下の式(5)を用いて各ノード間の構造的類似度を算出してもよい。
【0085】
(第2生成部133)
第2生成部133は、第2分類情報を生成する。例えば、第2生成部133は、第1生成部132により生成された第1分類情報と、所定の対応関係に関する分類とに基づいて、ノードを分類する第2分類情報を生成する。また、例えば、第2生成部133は、取得部131により取得された第1分類情報と、所定の対応関係に関する分類とに基づいて、ノードを分類する第2分類情報を生成する。例えば、第2生成部133は、ノード間における情報通信の内容に基づいて、第2分類情報を生成する。また、例えば、第2生成部133は、ノード間の情報通信に含まれる内容に関する分類に基づいて、第2分類情報を生成する。例えば、第2生成部133は、ノード間の情報通信の内容から推定(抽出)されるトピックを分類として、第2分類情報を生成する。例えば、第2生成部133は、
図2に示す第2クラスタリングに関する処理を行う。
【0086】
図2の例では、第2生成部133は、第1分類情報G12と、通信内容に関する分類とに基づいて、ノードを分類する第2分類情報G13を生成する。例えば、第2生成部133は、通信内容に関するトピックの類似性に基づいて、第1分類D11〜D15等を分類する第2分類情報G13を生成する。
【0087】
例えば、第2生成部133は、各第1分類D11〜D15に含まれるノード間の通信における情報の内容を解析することにより、各第1分類D11〜D15に含まれるノード間での通信内容のトピックを抽出してもよい。例えば、第2生成部133は、第1分類D11に含まれるノードN1、N2、N3との間で通信される文字情報や画像情報等に基づいて、第1分類D11内における通信のトピックを抽出してもよい。なお、第2生成部133は、トピック分析(解析)等の種々の従来手法を適宜用いて、各第1分類D11〜D15に含まれるノード間での通信内容からトピックを抽出してもよい。例えば、第2生成部133は、各第1分類D11〜D15に含まれるノード間で通信される文字情報を形態素解析等の自然言語処理技術を適宜用いて解析することにより、その文字情報から重要なキーワードを対応する第1分類におけるトピックとして抽出してもよい。
【0088】
また、第2生成部133は、各第1分類D11〜D15における通信内容に関するコサイン類似度に基づいて、第1分類D11〜D15等を分類する第2分類情報G13を生成してもよい。例えば、第2生成部133は、各第1分類D11〜D15におけるトピック間のコサイン類似度に基づいて、第1分類D11〜D15等を分類する第2分類情報G13を生成する。例えば、第2生成部133は、ある第1分類と他の第1分類とのコサイン類似度が所定の閾値以上である場合、ある第1分類と他の第1分類とを同じクラスタ(第2分類)としてもよい。
【0089】
なお、所定のSNSがTwitter(登録商標)である場合、第2生成部133は、ハッシュタグの類似性に基づいて、第2分類情報G13を生成してもよい。例えば、第2生成部133は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグのうち、最も頻度の高いハッシュタグに関するトピックの類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。例えば、第2生成部133は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグのうち、最も頻度の高いハッシュタグに関するトピックの類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。
【0090】
また、例えば、第2生成部133は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグをトピックとし、その分布の類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。例えば、第2生成部133は、各第1分類D11〜D15に含まれるノード間の通信において用いられたハッシュタグ(トピック)の回数に基づく割合の類似性に基づいて、第1分類D11〜D15等を分類することにより、第2分類情報G13を生成してもよい。
【0091】
図2の例では、第2生成部133は、第2分類C11に第1分類D11、D13が含まれることや、第2分類C12に第1分類D12、D14、D15が含まれること等を示す第2分類情報G13を生成する。なお、第2生成部133は、上記に限らず、種々の手法を適宜用いて、通信の内容に基づいてグラフ中のノードをクラスタリング(分類)する第2分類情報を生成してもよい。
【0092】
(第3生成部134)
第3生成部134は、第3分類情報を生成する。例えば、第3生成部134は、第2生成部133により生成された第2分類情報と、ノード間のエッジとにより算出されるスコアに基づいて、ノードを分類する第3分類情報G14を生成する。例えば、第3生成部134は、スコアを算出してもよい。また、例えば、第3生成部134は、取得部131により取得された第2分類情報により第3分類情報を生成してもよい。例えば、第3生成部134は、第2分類情報に含まれるクラスタ毎に算出されるスコアに基づいて、スコアが所定の条件を満たすノードが各クラスタに含まれる第3分類情報を生成する。例えば、第3生成部134は、第2分類情報に含まれるクラスタ毎に算出されるスコアに基づいて、スコアに基づく順位が所定の閾値以上のノードが各クラスタに含まれる第3分類情報を生成する。なお、第3生成部134は、上記に限らず、種々の基準に基づいて第3分類情報を生成してもよい。例えば、第3生成部134は、スコアが所定の閾値以上であるノードが各クラスタに含まれる第3分類情報を生成してもよい。また、例えば、第3生成部134は、スコアが所定の閾値以下であるノードが各クラスタに含まれる第3分類情報を生成してもよい。また、第3生成部134は、複数の閾値を用いて第3分類情報を生成してもよい。例えば、第3生成部134は、第1閾値以上かつ第2閾値以下であるノードが各クラスタに含まれる第3分類情報を生成してもよい。第3生成部134は、確率値や尤度をスコアとして算出し、算出したスコアが所定の条件を満たすノードが各クラスタに含まれる第3分類情報を生成してもよい。このように、第3生成部134は、種々の情報をスコアとして算出してもよい。また、例えば、第3生成部134は、ノードから選択されたシードノードからのエッジの連結に基づいて、第3分類情報を生成する。例えば、第3生成部134は、
図3に示す第3クラスタリングに関する処理を行う。
【0093】
図3の例では、第3生成部134は、第2分類情報G13と、ノード間のエッジ(接続関係)を示す情報(例えばグラフ情報G11)とにより算出されるスコアに基づいて、ノードを分類する第3分類情報を生成する。例えば、第3生成部134は、第3クラスタリングにおいては、ページランク(非特許文献3参照)に関する技術を用いてもよい。なお、第3生成部134は、第3クラスタリングにおいては、ページランク(非特許文献3参照)に限らず、種々の手法を適宜用いてもよい。例えば、第3生成部134は、上記式(6)〜(8)を用いて、第2分類ごとに各ノードのスコアを算出する。例えば、第3生成部134は、上記式(6)〜(8)を用いて、各第2分類C11、C12等における各ノードのスコアを算出する。例えば、第3生成部134は、上記式(8)が収束するまで計算を繰り返すことにより、第2分類ごとに各ノードのスコアを算出する。
【0094】
図3の例では、第3生成部134は、各第2分類C11に対応する順位が高いノードN13、N2、N12、N1等を第2分類C11に分類するノードとする。また、第3生成部134は、各第2分類C12に対応する順位が高いノードN19、N7、N17、N11等を第2分類C12に分類するノードとする。このように、
図3の例では、第3生成部134は、第2分類C11にノードN13、N2、N12、N1等が含まれることや、第2分類C12にノードN19、N7、N17、N11が含まれること等を示す第3分類情報G14を生成する。
【0095】
(送信部135)
送信部135は、各種情報を外部装置へ送信する。例えば、送信部135は、外部の情報処理装置に第3生成部134により生成された第3分類情報を送信してもよい。
【0096】
〔3.生成処理のフロー〕
次に、
図9を用いて、実施形態に係る生成装置100による生成処理の手順について説明する。
図9は、実施形態に係る生成装置100による生成処理手順を示すフローチャートである。
【0097】
図9に示すように、生成装置100の取得部131は、通信情報を取得する(ステップS101)。例えば、取得部131は、所定のSNSにおける通信情報を取得する。その後、生成装置100の第1生成部132は、第1クラスタリングの処理を行う(ステップS102)。例えば、第1生成部132は、第1クラスタリングの処理により第1分類情報を生成するが、詳細は
図10において説明する。
【0098】
その後、生成装置100の第2生成部133は、第2クラスタリングの処理を行う(ステップS103)。例えば、第2生成部133は、第2クラスタリングの処理により第2分類情報を生成するが、詳細は
図11において説明する。その後、生成装置100の第3生成部134は、第3クラスタリングの処理を行う(ステップS104)。例えば、第3生成部134は、第3クラスタリングの処理により第3分類情報を生成するが、詳細は
図12において説明する。
【0099】
〔3−1.第1クラスタリング〕
次に、
図10を用いて、実施形態に係る生成装置100による第1クラスタリングの処理の手順について説明する。
図10は、実施形態に係る第1クラスタリングの処理手順を示すフローチャートである。
【0100】
図10に示すように、生成装置100の取得部131は、グラフの構造に関する情報を取得する(ステップS201)。例えば、取得部131は、グラフ情報や通信回数情報を取得する。例えば、取得部131は、通信回数情報記憶部121から通信回数情報を取得する。
【0101】
そして、生成装置100の第1生成部132は、グラフの構造に基づいてノードを分類する(ステップS202)。例えば、第1生成部132は、取得部131により取得されたグラフ情報G11や通信回数情報に基づいてノードを分類する。
【0102】
そして、第1生成部132は、第1分類情報を生成する(ステップS203)。例えば、第1生成部132は、第1分類情報G12を生成する。
【0103】
〔3−2.第2クラスタリング〕
次に、
図11を用いて、実施形態に係る生成装置100による第2クラスタリングの処理の手順について説明する。
図11は、実施形態に係る第2クラスタリングの処理手順を示すフローチャートである。
【0104】
図11に示すように、生成装置100の取得部131は、第1分類情報を取得する(ステップS301)。例えば、取得部131は、第1生成部132から第1分類情報G12を取得する。また、取得部131は、ノード間の通信内容に関する情報を取得する(ステップS302)。例えば、取得部131は、通信内容情報記憶部122から通信内容情報を取得する。
【0105】
そして、生成装置100の第2生成部133は、ノード間の通信内容に基づいてノードを分類する(ステップS303)。第2生成部133は、ノード間の通信内容に基づいて推定される第1分類ごとのトピックに基づいてノードを分類する。
【0106】
そして、第2生成部133は、第2分類情報を生成する(ステップS304)。例えば、第2生成部133は、第2分類情報G13を生成する。
【0107】
〔3−3.第3クラスタリング〕
次に、
図12を用いて、実施形態に係る生成装置100による第3クラスタリングの処理の手順について説明する。
図12は、実施形態に係る第3クラスタリングの処理手順を示すフローチャートである。
【0108】
図12に示すように、生成装置100の取得部131は、第2分類情報を取得する(ステップS401)。例えば、取得部131は、第2生成部133から第2分類情報G13を取得する。また、取得部131は、グラフの構造に関する情報を取得する(ステップS402)。例えば、取得部131は、グラフ情報G11を取得する。
【0109】
そして、生成装置100の第3生成部134は、第2分類ごとに各ノードのスコアを算出する(ステップS403)。例えば、第3生成部134は、各第2分類C11、C12等の各々における各ノードN1〜N25等のスコアを算出する。
【0110】
そして、第3生成部134は、第3分類情報を生成する(ステップS404)。例えば、第3生成部134は、第3分類情報G14を生成する。
【0111】
〔4.通信情報について〕
なお、生成装置100は、情報の種別に基づいて、通信される情報を分類して、上記の処理を行ってもよい。例えば、生成装置100は、情報の種別に応じて割り当てられる各種別の重みと、各種別の通信回数とに基づいて上記の処理を行ってもよい。
【0112】
例えば、生成装置100は、情報の種別に基づいて、第1種別通信と第2種別通信とに通信を分類し、上記の処理を行ってもよい。例えば、通信が電子メールである場合、生成装置100は、宛先が1つ(送信先は一のユーザのみ)である場合を第1種別通信とし、宛先が複数である場合(例えば一斉送信等の場合)を第2種別通信として、上記の処理を行ってもよい。例えば、対象とするSNSがTwitter(登録商標)である場合、リプとリツイートとを別の種別の通信に分類して、上記の処理を行ってもよい。また、生成装置100は、3種類以上ある場合は、その通信内容に応じて第1種別通信〜第N種別通信に通信を分類して、上記の処理を行ってもよい。
【0113】
〔5.効果〕
上述してきたように、実施形態に係る生成装置100は、取得部131と、第1生成部132と、第2生成部133とを有する。取得部131は、ネットワーク上における主体の各々に対応する複数のノードと、所定の対応関係を有するノード間を連結するエッジとを含むグラフ情報(
図1では「グラフ情報G11」。以下同じ)を取得する。第1生成部132は、取得部131により取得されたグラフ情報における複数のノード間のエッジの連結に基づいてノードを分類する第1分類情報(
図1では「第1分類情報G12」。以下同じ)を生成する。第2生成部133は、第1生成部132により生成された第1分類情報と、所定の対応関係に関する分類とに基づいて、ノードを分類する第2分類情報(
図2では「第2分類情報G13」。以下同じ)を生成する。
【0114】
これにより、実施形態に係る生成装置100は、グラフにおけるノード間の接続構造およびノード間において通信された情報の内容の両方に基づいて、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0115】
また、実施形態に係る生成装置100は、第3生成部134を有する。第3生成部134は、第2分類情報と、ノード間のエッジとにより算出されるスコアに基づいて、ノードを分類する第3分類情報(
図3では「第3分類情報G14」。以下同じ)を生成する。
【0116】
これにより、実施形態に係る生成装置100は、グラフにおけるノード間の接続構造およびノード間において通信された情報の内容の両方に基づく第2分類情報と、ノード間のエッジとにより算出されるスコアを用いて、さらにノードを分類することにより、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0117】
また、実施形態に係る生成装置100において、第3生成部134は、第2分類情報に含まれるクラスタ毎に算出されるスコアに基づいて、スコアが所定の条件を満たすノードが各クラスタに含まれる第3分類情報を生成する。
【0118】
これにより、実施形態に係る生成装置100は、第2分類に基づいて算出された第2分類ごとの各ノードのスコアに基づく順位(ランキング)が上位のノードをその第2分類に含まれるノードとして分類することにより、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0119】
また、実施形態に係る生成装置100において、第3生成部134は、ノードから選択されたシードノードからのエッジの連結に基づいて、第3分類情報を生成する。
【0120】
これにより、実施形態に係る生成装置100は、ノードから選択されたシードノードからのエッジの連結に基づいて、ノードを分類することにより、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0121】
また、実施形態に係る生成装置100において、取得部131は、ネットワーク上におけるユーザの各々に対応する複数のノードと、ネットワーク上における情報通信に関する対応関係を有するノード間を連結するエッジとを含むグラフ情報を取得する。
【0122】
これにより、実施形態に係る生成装置100は、ネットワーク上におけるユーザの各々に対応する複数のノードと、ネットワーク上における情報通信に関する対応関係を有するノード間を連結するエッジとを含むグラフ情報に基づいて、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0123】
また、実施形態に係る生成装置100において、第1生成部132は、ノード間の構造的類似度に基づいて、第1分類情報を生成する。
【0124】
これにより、実施形態に係る生成装置100は、グラフにおけるノード間の構造的類似度に基づいて、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0125】
また、実施形態に係る生成装置100において、第1生成部132は、ノード間における情報通信の回数に基づいて、第1分類情報を生成する。
【0126】
これにより、実施形態に係る生成装置100は、グラフにおけるノード間の通信回数に基づくグラフの構造的情報に基づいて、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0127】
また、実施形態に係る生成装置100において、第2生成部133は、ノード間の情報通信に含まれる内容に関する分類に基づいて、第2分類情報を生成する。
【0128】
これにより、実施形態に係る生成装置100は、グラフにおけるノード間において通信された情報の内容に関する分類に基づいて、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0129】
また、実施形態に係る生成装置100において、第2生成部133は、ノード間の情報通信の内容から推定されるトピックを分類として、第2分類情報を生成する。
【0130】
これにより、実施形態に係る生成装置100は、グラフにおけるノード間において通信された情報の内容から推定されたトピックによりノードを分類することにより、グラフに含まれるノードを適切に分類する分類情報を生成することができる。
【0131】
〔6.ハードウェア構成〕
上述してきた実施形態に係る生成装置100は、例えば
図13に示すような構成のコンピュータ1000によって実現される。
図13は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0132】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0133】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定のネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定のネットワークNを介して他の機器へ送信する。
【0134】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0135】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0136】
例えば、コンピュータ1000が実施形態に係る生成装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定のネットワークNを介してこれらのプログラムを取得してもよい。
【0137】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0138】
〔7.その他〕
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0139】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1分類情報を生成する装置と、第2分類情報を生成する装置と、第3分類情報を生成する装置とは別体であってもよい。
【0140】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0141】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。