(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023030306
(43)【公開日】2023-03-08
(54)【発明の名称】データ処理装置、データ処理方法、及びプログラム
(51)【国際特許分類】
G06N 3/045 20230101AFI20230301BHJP
G06N 3/044 20230101ALI20230301BHJP
【FI】
G06N3/04 154
G06N3/04 145
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021135363
(22)【出願日】2021-08-23
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(71)【出願人】
【識別番号】508354533
【氏名又は名称】Unipos株式会社
(71)【出願人】
【識別番号】305027401
【氏名又は名称】東京都公立大学法人
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】春田 秀一郎
(72)【発明者】
【氏名】小西 達也
(72)【発明者】
【氏名】黒川 茂莉
(72)【発明者】
【氏名】塚常 健太
(72)【発明者】
【氏名】水谷 優斗
(57)【要約】
【課題】グラフデータに対応する特徴ベクトルを精度よく生成できるようにする。
【解決手段】
複数の過去特徴ベクトルを記憶する記憶部と、新規グラフデータを取得するデータ取得部と、データ取得部が取得した新規グラフデータに基づいて複数の暫定特徴ベクトルを生成する暫定ベクトル生成部と、複数の過去特徴ベクトルのうち、暫定特徴ベクトルとの類似度が閾値以上の一以上の類似特徴ベクトルを特定する類似ベクトル特定部と、暫定特徴ベクトルに一以上の類似特徴ベクトルを用いた所定の演算をして、新規グラフデータに対応する新規特徴ベクトルを生成する特徴ベクトル生成部とを備える、データ処理装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
時刻に関連付けて、複数の過去グラフデータに含まれる複数のノードの特徴を示す複数の過去特徴ベクトルを記憶する記憶部と、
新規グラフデータを取得するデータ取得部と、
前記データ取得部が取得した前記新規グラフデータをグラフニューラルネットワークに入力することにより、前記グラフニューラルネットワークから出力され、前記新規グラフデータに含まれる複数のノードに対応する複数の基本特徴ベクトルに基づいて、前記新規グラフデータに含まれる複数のノードの特徴を示す複数の暫定特徴ベクトルを生成する暫定ベクトル生成部と、
前記記憶部に記憶された複数の前記過去特徴ベクトルのうち、前記暫定特徴ベクトルとの類似度が閾値以上の一以上の類似特徴ベクトルを特定する類似ベクトル特定部と、
前記新規グラフデータに含まれる複数のノードの少なくとも一つのノードに対応する前記暫定特徴ベクトルに一以上の前記類似特徴ベクトルを用いた所定の演算をして、前記新規グラフデータに対応する新規特徴ベクトルを生成する特徴ベクトル生成部と
を備える、データ処理装置。
【請求項2】
前記特徴ベクトル生成部は、前記類似ベクトル特定部が複数の前記類似特徴ベクトルを特定した場合、前記暫定特徴ベクトルに複数の前記類似特徴ベクトルを重み付け加算することにより前記新規特徴ベクトルを生成する、
請求項1に記載のデータ処理装置。
【請求項3】
前記新規特徴ベクトル及び前記過去特徴ベクトルは、前記過去グラフデータに含まれる第1ノードの特徴に前記第1ノード以外の一以上のノードの特徴を加味した特徴量を有し、
前記暫定特徴ベクトルは、前記新規グラフデータに含まれる前記第1ノードの特徴に前記第1ノードに隣接する一以上のノードの特徴を加味した特徴量を有する、
請求項1又は2に記載のデータ処理装置。
【請求項4】
前記暫定ベクトル生成部は、複数の前記グラフニューラルネットワークのそれぞれから出力される複数の前記基本特徴ベクトルをリカレントニューラルネットワークに入力し、前記リカレントニューラルネットワークから出力された特徴ベクトルを前記暫定特徴ベクトルとする、
請求項1から3のいずれか一項に記載のデータ処理装置。
【請求項5】
前記新規特徴ベクトルに基づいて、前記新規グラフデータに対応する出力指標値又は出力指標ベクトルを予測するグラフ指標予測部を更に有する、
請求項4に記載のデータ処理装置。
【請求項6】
前記グラフ指標予測部の第1時刻における第1時刻よりも将来の第2時刻の予測結果と、第2時刻において前記特徴ベクトル生成部が生成した前記新規特徴ベクトルから算出された前記出力指標値又は前記出力指標ベクトルとの比較結果に基づき、前記暫定ベクトル生成部及び前記特徴ベクトル生成部が用いるパラメータを更新するパラメータ更新部を更に備える、
請求項5に記載のデータ処理装置。
【請求項7】
複数の前記グラフニューラルネットワークは、それぞれの前記グラフニューラルネットワークに設定されている第1パラメータに基づいて、前記基本特徴ベクトルをそれぞれ出力し、
前記リカレントニューラルネットワークは、前記リカレントニューラルネットワークに設定されている第2パラメータに基づいて、前記暫定特徴ベクトルを出力し、
前記特徴ベクトル生成部は、前記特徴ベクトル生成部に設定されている第3パラメータに基づいて、前記新規特徴ベクトルを生成し、
前記パラメータ更新部は、前記グラフ指標予測部が前記出力指標値又は前記出力指標ベクトルを予測する毎に、前記第1パラメータ、前記第2パラメータ、及び前記第3パラメータを更新する、
請求項6に記載のデータ処理装置。
【請求項8】
コンピュータが実行する、データ処理方法であって、
時刻に関連付けて、複数の過去グラフデータに含まれる複数のノードの特徴を示す複数の過去特徴ベクトルを記憶部に記憶するステップと、
新規グラフデータを取得するステップと、
取得した前記新規グラフデータをグラフニューラルネットワークに入力することにより、前記新規グラフデータに含まれる複数のノードに対応する複数の基本特徴ベクトルを前記グラフニューラルネットワークから出力するステップと、
複数の前記基本特徴ベクトルに基づいて、前記新規グラフデータに含まれる複数のノードの特徴を示す複数の暫定特徴ベクトルを生成するステップと、
前記記憶部に記憶された複数の前記過去特徴ベクトルのうち、前記暫定特徴ベクトルとの類似度が閾値以上の一以上の類似特徴ベクトルを特定するステップと、
前記新規グラフデータに含まれる複数のノードの少なくとも一つのノードに対応する前記暫定特徴ベクトルに一以上の前記類似特徴ベクトルを用いた所定の演算をすることにより、前記新規グラフデータに対応する新規特徴ベクトルを生成するステップと
を有する、データ処理方法。
【請求項9】
コンピュータにより実行されると、前記コンピュータを請求項1から7のいずれか一項に記載の前記データ処理装置として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフデータに含まれるノードの特徴を特定するためのデータ処理装置、データ処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、GNN(Graph Neural Network)を用いて、グラフデータの特徴を解析する技術が知られている。特許文献1には、隣接行列を用いてノードの特徴量を加工する技術が開示されている。非特許文献1には、GNNを用いて、時間の経過とともに変化するグラフデータの特徴ベクトルを算出する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Emanuele Rossi, Ben Chamberlain, Fabrizio Frasca, Davide Eynard, Federico Monti, Michael Bronstein著“Temporal Graph Networks for Deep Learning on Dynamic Graphs” https://arxiv.org/abs/2006.10637
【発明の概要】
【発明が解決しようとする課題】
【0005】
グラフデータには長期間にわたって観測された多数のノードが含まれていることがあり、隣接するノード以外のノードの中にも、特徴ベクトルを算出する対象となるノードに類似する挙動を示すノードが存在する場合がある。しかしながら、従来の技術においては、特徴ベクトルを算出する対象となるノードに隣接するノードの特徴量を畳み込むことで、特徴ベクトルを算出する対象となるノードの特徴ベクトルを算出していた。したがって、隣接するノード以外のノードの挙動が特徴ベクトルを算出する対象となるノードに類似するとしても、隣接するノード以外のノードの特徴量を利用していないので、算出した特徴ベクトルの精度が低くなってしまうことがあった。
【0006】
そこで、本発明はこれらの点に鑑みてなされたものであり、グラフデータに対応する特徴ベクトルを精度よく生成できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様においては、時刻に関連付けて、複数の過去グラフデータに含まれる複数のノードの特徴を示す複数の過去特徴ベクトルを記憶する記憶部と、新規グラフデータを取得するデータ取得部と、前記データ取得部が取得した前記新規グラフデータをグラフニューラルネットワークに入力することにより、前記グラフニューラルネットワークから出力され、前記新規グラフデータに含まれる複数のノードに対応する複数の基本特徴ベクトルに基づいて、前記新規グラフデータに含まれる複数のノードの特徴を示す複数の暫定特徴ベクトルを生成する暫定ベクトル生成部と、前記記憶部に記憶された複数の前記過去特徴ベクトルのうち、前記暫定特徴ベクトルとの類似度が閾値以上の一以上の類似特徴ベクトルを特定する類似ベクトル特定部と、前記新規グラフデータに含まれる複数のノードの少なくとも一つのノードに対応する前記暫定特徴ベクトルに一以上の前記類似特徴ベクトルを用いた所定の演算をして、前記新規グラフデータに対応する新規特徴ベクトルを生成する特徴ベクトル生成部とを備える、データ処理装置を提供する。
【0008】
前記特徴ベクトル生成部は、前記類似ベクトル特定部が複数の前記類似特徴ベクトルを特定した場合、前記暫定特徴ベクトルに複数の前記類似特徴ベクトルを重み付け加算することにより前記新規特徴ベクトルを生成してもよい。
【0009】
前記新規特徴ベクトル及び前記過去特徴ベクトルは、前記過去グラフデータに含まれる第1ノードの特徴に前記第1ノード以外の一以上のノードの特徴を加味した特徴量を有し、前記暫定特徴ベクトルは、前記新規グラフデータに含まれる前記第1ノードの特徴に前記第1ノードに隣接する一以上のノードの特徴を加味した特徴量を有してもよい。
【0010】
前記暫定ベクトル生成部は、複数の前記グラフニューラルネットワークのそれぞれから出力される複数の前記基本特徴ベクトルをリカレントニューラルネットワークに入力し、前記リカレントニューラルネットワークから出力された特徴ベクトルを前記暫定特徴ベクトルとしてもよい。
【0011】
前記新規特徴ベクトルに基づいて、前記新規グラフデータに対応する出力指標値又は出力指標ベクトルを予測するグラフ指標予測部を更に有してもよい。
【0012】
前記グラフ指標予測部の第1時刻における第1時刻よりも将来の第2時刻の予測結果と、第2時刻において前記特徴ベクトル生成部が生成した前記新規特徴ベクトルから算出された前記出力指標値又は前記出力指標ベクトルとの比較結果に基づき、前記暫定ベクトル生成部及び前記特徴ベクトル生成部が用いるパラメータを更新するパラメータ更新部を更に備えてもよい。
【0013】
複数の前記グラフニューラルネットワークは、それぞれの前記グラフニューラルネットワークに設定されている第1パラメータに基づいて、前記基本特徴ベクトルをそれぞれ出力し、前記リカレントニューラルネットワークは、前記リカレントニューラルネットワークに設定されている第2パラメータに基づいて、前記暫定特徴ベクトルを出力し、前記特徴ベクトル生成部は、前記特徴ベクトル生成部に設定されている第3パラメータに基づいて、前記新規特徴ベクトルを生成し、前記パラメータ更新部は、前記グラフ指標予測部が前記出力指標値又は前記出力指標ベクトルを予測する毎に、前記第1パラメータ、前記第2パラメータ、及び前記第3パラメータを更新してもよい。
【0014】
本発明の第2の態様においては、コンピュータが実行する、データ処理方法であって、時刻に関連付けて、複数の過去グラフデータに含まれる複数のノードの特徴を示す複数の過去特徴ベクトルを記憶部に記憶するステップと、新規グラフデータを取得するステップと、取得した前記新規グラフデータをグラフニューラルネットワークに入力することにより、前記新規グラフデータに含まれる複数のノードに対応する複数の基本特徴ベクトルを前記グラフニューラルネットワークから出力するステップと、複数の前記基本特徴ベクトルに基づいて、前記新規グラフデータに含まれる複数のノードの特徴を示す複数の暫定特徴ベクトルを生成するステップと、前記記憶部に記憶された複数の前記過去特徴ベクトルのうち、前記暫定特徴ベクトルとの類似度が閾値以上の一以上の類似特徴ベクトルを特定するステップと、前記新規グラフデータに含まれる複数のノードの少なくとも一つのノードに対応する前記暫定特徴ベクトルに一以上の前記類似特徴ベクトルを用いた所定の演算をすることにより、前記新規グラフデータに対応する新規特徴ベクトルを生成するステップとを有する、データ処理方法を提供する。
【0015】
本発明の第3の態様においては、コンピュータにより実行されると、前記コンピュータを第1の態様の前記データ処理装置として機能させる、プログラムを提供する。
【発明の効果】
【0016】
本発明によれば、グラフデータに対応する特徴ベクトルを精度よく生成できるという効果を奏する。
【図面の簡単な説明】
【0017】
【
図1】本実施形態に係るデータ処理装置10の構成例を示す。
【
図2】本実施形態に係る類似ベクトル特定部140及び特徴ベクトル生成部150の動作の概念を示す。
【
図3】本実施形態に係る類似ベクトル特定部140が類似特徴ベクトルを特定する動作の概念を示す。
【
図4】本実施形態に係るデータ処理装置10の動作フローの一例を示す。
【
図5】本実施形態に係るデータ処理装置10の変形例を示す。
【発明を実施するための形態】
【0018】
<データ処理装置10の構成例>
図1は、本実施形態に係るデータ処理装置10の構成例を示す。データ処理装置10は、入力した時系列のグラフデータに対応する時系列の特徴ベクトルを、過去に算出した特徴ベクトルを用いて精度よく算出する。
図1において、データ処理装置10に入力する時系列のグラフデータを新規グラフデータとし、入力した時系列のグラフデータに対応する時系列の特徴ベクトルを新規特徴ベクトルとする。
【0019】
ここで、グラフデータは、複数のノード、ノード間の隣接関係をエッジ等で表現したデータである。例えば、エッジは、0から1までの数値である。また、それぞれのノードには、ノード自体の特徴を示すノードの特徴量を示すデータを有する。ノードの特徴量、数、エッジの値は時間の経過に伴って変化してもよい。
【0020】
グラフデータは、例えば、SNS(Social Networking Service)に参加しているメンバーの構成、ベンゼン環の構造、分子構造、インターネットのWebサイトの構成、WebサイトのWEBページの構成、交通網、神経回路、3Dデータのポリゴン構造等を示すデータである。時系列のグラフデータは、これらの構成の時間的な変化を表現できるデータである。
【0021】
データ処理装置10は、例えば、サーバ等のコンピュータである。データ処理装置10は、データ取得部110と、暫定ベクトル生成部120と、記憶部130と、類似ベクトル特定部140と、特徴ベクトル生成部150とを備える。
【0022】
データ取得部110は、グラフデータを取得する。データ取得部110は、時間の経過と共に時系列に並ぶグラフデータを順次取得してもよく、これに代えて、時系列に並ぶ複数のグラフデータをまとめて取得してもよい。データ取得部110は、例えば、外部のデータベース等からグラフデータを取得する。また、データ取得部110は、グラフデータを生成する装置、サーバ等からグラフデータを取得してもよい。本実施形態において、このようにデータ取得部110が取得したグラフデータを新規グラフデータと呼ぶ。データ取得部110は、例えば、インターネット、イントラネット等を介して新規グラフデータを取得する。
【0023】
暫定ベクトル生成部120は、データ取得部110が取得した新規グラフデータに対応する暫定特徴ベクトルを生成する。暫定ベクトル生成部120は、新規グラフデータを含む複数のグラフデータから複数の基本特徴ベクトルを生成し、生成した複数の基本特徴ベクトルから暫定特徴ベクトルを生成する。暫定ベクトル生成部120は、グラフニューラルネットワーク122とリカレントニューラルネットワーク124とを有する。
【0024】
図1は、暫定ベクトル生成部120がk個のグラフニューラルネットワーク122を有し、グラフニューラルネットワーク122をGNNと示した例を示す。複数のグラフニューラルネットワーク122は、データ取得部110が取得したグラフデータが入力したことにより、グラフデータに含まれる複数のノードに対応する複数の基本特徴ベクトルを出力する。
【0025】
暫定ベクトル生成部120は、例えば、時刻t1において、1つの新規グラフデータを第1GNN122-1に入力する。ここで、データ取得部110が時系列に並ぶグラフデータのうち新規グラフデータよりもs個だけ過去のグラフデータを取得した時刻をt1-sとし、過去のグラフデータを過去グラフデータとする。
【0026】
この場合、暫定ベクトル生成部120は、時刻t1において、データ取得部110が時刻t1-1に取得した過去グラフデータを第2GNN122-2に入力する。同様に、暫定ベクトル生成部120は、時刻t1において、データ取得部110が時刻t1-kに取得した過去グラフデータを第kGNN122-kに入力する。このように、暫定ベクトル生成部120は、一の時刻において、時系列に並ぶk個のグラフデータ(G1,G2,・・・,Gk)をk個のグラフニューラルネットワーク122に入力する。kは予め定められた値である。
【0027】
グラフニューラルネットワーク122は、入力したグラフデータに含まれている複数のノードの特徴量と、ノード間の関係を示すエッジとの情報に基づいて、特徴ベクトルを生成して出力する。本実施形態において、グラフニューラルネットワーク122が出力する特徴ベクトルを基本特徴ベクトルとする。グラフニューラルネットワーク122は、例えば、複数のノードのうちの第1ノードの特徴量を、当該第1ノードと隣接する第1ノード以外の一以上の隣接ノードの値の畳み込みによって算出する。
【0028】
グラフニューラルネットワーク122は、例えば、第1ノードの隣接ノードの値の平均値を第1ノードの特徴量として算出する。これに代えて、グラフニューラルネットワーク122は、第1ノードの隣接ノードの値を重み付き加算してからReLU(ランプ関数)等の活性化関数に入力した結果を第1ノードの特徴量として算出してもよい。グラフニューラルネットワーク122は、グラフデータに含まれている複数のノード毎に、基本特徴ベクトルを算出して出力する。
【0029】
例えば、第1GNN122-1は、グラフデータG1が入力したことに応じて、ノードXに対する基本特徴ベクトルF1Xを算出して出力する。この場合、グラフニューラルネットワーク122は、k個のグラフデータ(G1,G2,・・・,Gk)が入力したことに応じて、ノードXに対するk個の基本特徴ベクトルF1X,F2X,・・・,FkXを出力する。
【0030】
複数のグラフニューラルネットワーク122は、それぞれのグラフニューラルネットワーク122に設定されている第1パラメータに基づいて、基本特徴ベクトルをそれぞれ出力する。第1パラメータは、例えば、グラフニューラルネットワーク122毎に、複数設定されている複数のパラメータを含む。第1パラメータは、所定のタイミングにおいて更新されることが望ましい。また、ユーザ等が第1パラメータの値を調節することにより、グラフニューラルネットワーク122の動作を調整してもよい。このようなグラフニューラルネットワーク122は、グラフデータを取り扱える既知のニューラルネットワークであり、ここでは詳細な説明を省略する。
【0031】
暫定ベクトル生成部120は、複数のグラフニューラルネットワーク122のそれぞれから出力される複数の基本特徴ベクトルをリカレントニューラルネットワーク124に入力する。リカレントニューラルネットワーク124は、入力した複数の基本特徴ベクトルに対応する暫定特徴ベクトルを出力する。
図1において、リカレントニューラルネットワーク124をRNNと示す。
図1は、時刻tにおいて、リカレントニューラルネットワーク124がk個のグラフニューラルネットワーク122から出力されたノードXに対するk個の基本特徴ベクトルF
1X,F
2X,・・・,F
kXに対応する1つの暫定特徴ベクトルX
tを出力する例を示す。
【0032】
リカレントニューラルネットワーク124は、新規グラフデータに含まれる複数のノード毎に、各ノードの特徴量を要素として含む特徴ベクトルを生成して出力する。本実施形態において、リカレントニューラルネットワーク124が出力する特徴ベクトルを暫定特徴ベクトルとする。時刻tにおける暫定特徴ベクトルは、新規グラフデータに含まれているノードの数と同じ数の特徴ベクトルを含む。このような時刻tにおける暫定特徴ベクトルは、時刻tから時刻t-kまでの間に変化したグラフデータの特徴に対応する特徴ベクトルである。
【0033】
言い換えると、リカレントニューラルネットワーク124は、時刻tから時刻t-kまでといった、一定の期間に変化したグラフデータの特徴に対応する暫定特徴ベクトルを出力するニューラルネットワークである。リカレントニューラルネットワーク124は、リカレントニューラルネットワーク124に設定されている第2パラメータに基づいて、暫定特徴ベクトルを出力する。
【0034】
第2パラメータは、複数のパラメータを含む。第2パラメータは、所定のタイミングにおいて更新されることが望ましい。また、ユーザ等が第2パラメータの値を調節することにより、リカレントニューラルネットワーク124の動作を調整してもよい。このようなリカレントニューラルネットワーク124は、時系列データを取り扱えるように拡張した既知のニューラルネットワークであり、ここでは詳細な説明を省略する。
【0035】
記憶部130は、時刻に関連付けて、複数の過去グラフデータに含まれる複数のノードの特徴を示す複数の過去特徴ベクトルを記憶する。記憶部130は、過去にデータ取得部110が取得した新規グラフデータに基づいて、過去にデータ処理装置10が算出した新規特徴ベクトルを過去特徴ベクトルとして蓄積する。
【0036】
記憶部130は、データ処理装置10が動作の過程で生成する(又は利用する)中間データ、算出結果、閾値、基準値、及びパラメータ等をそれぞれ記憶してもよい。また、記憶部130は、データ処理装置10内の各部の要求に応じて、記憶したデータを要求元に供給してもよい。
【0037】
記憶部130は、例えば、コンピュータがデータ処理装置10として機能する場合、コンピュータを機能させるOS(Operating System)、及びプログラム等の情報を格納してもよい。また、記憶部130は、当該プログラムの実行時に参照されるデータベースを含む種々の情報を格納してもよい。例えば、コンピュータは、記憶部130に記憶されたプログラムを実行することによって、データ取得部110、暫定ベクトル生成部120、類似ベクトル特定部140、及び特徴ベクトル生成部150として機能する。
【0038】
記憶部130は、例えば、コンピュータ等のBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)、及び作業領域となるRAM(Random Access Memory)を含む。また、記憶部130は、HDD(Hard Disk Drive)及び/又はSSD(Solid State Drive)等の大容量記憶装置を含んでもよい。また、コンピュータは、GPU(Graphics Processing Unit)等を更に備えてもよい。
【0039】
類似ベクトル特定部140は、記憶部130に記憶された複数の過去特徴ベクトルのうち、暫定特徴ベクトルとの類似度が閾値以上の一以上の過去特徴ベクトルを類似特徴ベクトルとして特定する。類似ベクトル特定部140は、例えば、記憶部130を検索して、暫定特徴ベクトルの要素に類似する要素を有する一又は複数の過去特徴ベクトルを、類似特徴ベクトルとして抽出する。
【0040】
特徴ベクトル生成部150は、新規グラフデータに対応する新規特徴ベクトルを生成する。特徴ベクトル生成部150は、新規グラフデータに含まれる複数のノードの少なくとも一つのノードに対応する暫定特徴ベクトルに一以上の類似特徴ベクトルを用いた所定の演算をすることにより、新規特徴ベクトルを生成する。特徴ベクトル生成部150は、生成した新規特徴ベクトルをデータ処理装置10の外部に出力する。また、特徴ベクトル生成部150は、生成した新規特徴ベクトルを過去特徴ベクトルとして記憶部130に記憶する。
【0041】
以上のように、データ処理装置10は、複数のグラフニューラルネットワーク122とリカレントニューラルネットワーク124とを用いて、新規グラフデータに基づく暫定特徴ベクトルを生成する。ここで、グラフニューラルネットワーク122は、第1ノードと第1ノードに隣接する他のノードとを用いて基本特徴ベクトルを生成する。
【0042】
したがって、グラフニューラルネットワーク122が出力する基本特徴ベクトルは、新規グラフデータに含まれる第1ノードの特徴に第1ノードに隣接する一以上のノードの特徴を加味した特徴量を有することになる。そして、リカレントニューラルネットワーク124は、このような基本特徴ベクトルに基づいて暫定特徴ベクトルを生成するので、暫定特徴ベクトルも、新規グラフデータに含まれる第1ノードの特徴に第1ノードに隣接する一以上のノードの特徴を加味した特徴量を有する。
【0043】
ここで、新規グラフデータに含まれているノードの数は、数百から数千を超えることもあるので、特徴ベクトルの計算に影響を及ぼす特徴量を有するノードは、隣接ノードに限られないことがある。例えば、第1ノードと隣接しない第2ノードの挙動が、第1ノードに類似することがある。しかしながら、暫定特徴ベクトルの算出には第1ノードと隣接しない第2ノードの特徴量を直接利用していない。したがって、暫定特徴ベクトルを新規グラフデータに対応する特徴ベクトルとして採用しても、新規グラフデータの挙動を十分に表現しきれず、精度が低い特徴ベクトルになってしまうことがある。
【0044】
そこで、本実施形態に係るデータ処理装置10は、新規グラフデータに含まれている第1ノードの隣接ノードの特徴量と、隣接ノード以外のノードのうち第1ノードの特徴に類似するノードの特徴量とを用いて、新規特徴ベクトルを算出する。これにより、データ処理装置10は、第1ノードの特徴に第1ノード以外の一以上のノードの特徴を加味した特徴量を有する新規特徴ベクトルを生成することができる。このようなデータ処理装置10の動作について次に説明する。
【0045】
<類似ベクトル特定部140及び特徴ベクトル生成部150の動作>
図2は、本実施形態に係る類似ベクトル特定部140及び特徴ベクトル生成部150の動作の概念を示す。
図2は、暫定ベクトル生成部120が生成した時刻tにおけるノードXの暫定特徴ベクトルX
tに基づき、類似ベクトル特定部140及び特徴ベクトル生成部150が対応する新規特徴ベクトルを生成する動作の概念を示す。
図2には、記憶部130に記憶されている過去特徴ベクトルの概念も示す。
【0046】
過去特徴ベクトルは、過去の所定の時刻毎に生成された新規特徴ベクトルである。
図2は、複数の過去特徴ベクトルのうち、時刻t=τ、時刻t=τ+fにおいて生成された過去特徴ベクトルの例を示す。また、過去特徴ベクトルは、ノード毎に生成される。
図2は、過去グラフデータのノードの数がn個であり、過去特徴ベクトルの特徴次元がdである例を示す。特徴次元は、例えば、過去特徴ベクトルに含まれている要素の数を示す。このような過去特徴ベクトルは、次式で示すような特徴行列で表現できる。
【数1】
【0047】
なお、過去特徴ベクトルの数は、新規グラフデータに含まれているノードの数が増減した場合、ノードの数の増減に対応して増減してもよい。例えば、過去のある時点から新規グラフデータに新しいノードが発生した場合、過去特徴ベクトルの数は、過去のある時点から新しいノードの数だけ増加する。また、過去のある時点から新規グラフデータのノードが消滅した場合、過去特徴ベクトルの数は、過去のある時点から消滅したノードの数だけ減少する。
【0048】
類似ベクトル特定部140は、このような過去特徴ベクトルを検索して、暫定特徴ベクトルXtに類似する過去特徴ベクトルを抽出する。類似ベクトル特定部140は、例えば、コサイン類似度等の類似指標が閾値を超える過去特徴ベクトルを抽出する。
【0049】
ここで、類似度関数をSim()、時刻tにおけるノードiの過去特徴ベクトルをi
t、閾値をCとすると、時刻tにおいてノードXに対して類似度が高い過去特徴ベクトルの集合Sは次式のように示される。
【数2】
【0050】
類似ベクトル特定部140は、例えば、(数2)式の集合Sを用いて、類似ベクトル特定部140が時刻tよりも過去の時刻τから時刻t-1までの時刻τ+fにおける過去特徴ベクトルから類似度が高い1又は複数の過去特徴ベクトルを抽出する。ここで、fはハイパーパラメータである。類似ベクトル特定部140は、記憶部130に記憶されている全ての時刻、及び全てのノードの過去特徴ベクトルを検索することが望ましい。例えば、時刻0において記憶部130に過去特徴ベクトルの蓄積を開始した場合、時刻τを0にすることが望ましい。
【0051】
類似ベクトル特定部140は、抽出した過去特徴ベクトルを類似特徴ベクトルとして特徴ベクトル生成部150に供給する。
図2は、類似ベクトル特定部140が時刻τにおけるノードmの過去特徴ベクトルを類似特徴ベクトルとして特徴ベクトル生成部150に供給した例を示す。
【0052】
そして、特徴ベクトル生成部150は、時刻tにおけるノードXの暫定特徴ベクトルXtの類似特徴ベクトルを用いて、新規特徴ベクトルを生成する。特徴ベクトル生成部150は、例えば、暫定特徴ベクトルXtと類似特徴ベクトルとの和、平均値等を算出し、算出した特徴ベクトルを新規特徴ベクトルとする。これにより、特徴ベクトル生成部150は、ノードXに隣接していない非隣接ノードの過去の状態遷移を考慮に入れた新規特徴ベクトルを生成できる。
【0053】
特徴ベクトル生成部150は、例えば、類似ベクトル特定部140が複数の類似特徴ベクトルを特定した場合、暫定特徴ベクトルに複数の類似特徴ベクトルを重み付け加算することにより新規特徴ベクトルを生成する。この場合、特徴ベクトル生成部150は、データ取得部110が新規グラフデータを取得した時刻に近いほど重みが大きくなるように複数の類似特徴ベクトルを重み付け加算してもよい。
【0054】
また、特徴ベクトル生成部150は、イベントが発生した時刻等といった特定の時刻に近いほど重みが大きくなるように複数の類似特徴ベクトルを重み付け加算してもよい。なお、特定の時刻の情報は、データ処理装置10のユーザ等が予め記憶部130に記憶することが望ましい。
【0055】
以上の特徴ベクトル生成部150は、特徴ベクトル生成部150に設定されている第3パラメータに基づいて、新規特徴ベクトルを生成する。第3パラメータは、例えば、上述の重みといった、所定の演算に用いる複数のパラメータを含む。第3パラメータは、所定のタイミングにおいて更新されることが望ましい。また、ユーザ等が第3パラメータの値を調節することにより、特徴ベクトル生成部150の動作を調整してもよい。
【0056】
特徴ベクトル生成部150は、生成した新規特徴ベクトルを外部に出力する。また、特徴ベクトル生成部150は、新規特徴ベクトルを記憶部130に記憶されている過去特徴ベクトルに追加して、時刻tにおけるノードXの過去特徴ベクトルとして記憶する。
【0057】
<類似ベクトル特定部140の動作>
図3は、本実施形態に係る類似ベクトル特定部140が類似特徴ベクトルを特定する動作の概念を示す。
図3(A)は、新規グラフデータが示す複数のノードの一例を示す。
図3(A)は、ノード1、ノード2、及びノード3が、ノード0の隣接ノードである例を示す。また、ノードV1及びノードV2は、ノード0の非隣接ノードである例を示す。
【0058】
図3(B)は、
図3(A)に示す複数のノードに対応する新規特徴ベクトルをデータ処理装置10が算出した結果の例を示す。
図3(B)は、横軸が時間を示す。データ処理装置10は、時刻t=0から一定の時間毎に複数のノードに対応する新規特徴ベクトルを算出する。
図3(B)は、d次元の新規特徴ベクトルを1つの四角形として示している。
【0059】
図3は、データ処理装置10が、時刻0から時刻T4-1までの間に、各ノードに対応する新規特徴ベクトルを算出し、過去特徴ベクトルとして蓄積した例を示す。例えば、データ処理装置10は、ノード0の新規特徴ベクトルを非隣接ノード(ノードV1及びノードV2)の値を用いずに、隣接ノード(ノード1、ノード2、及びノード3)の値を用いて新規特徴ベクトルを算出し、過去特徴ベクトルとして蓄積した例を示す。
【0060】
ここで、ノード0の時刻T3から時刻T3+3(=T4-1)までの4つの過去特徴ベクトルのパターンが、非隣接ノードV1の時刻T1から時刻T1+3までの過去特徴ベクトルの変化パターンと略一致しているとする。この場合、類似ベクトル特定部140は、非隣接ノードV1の時刻T2+4から時刻T4-1までの間の過去特徴ベクトルを、類似特徴ベクトルとして特定する。
【0061】
また、ノード0の時刻T3から時刻T3+3までの4つの過去特徴ベクトルのパターンが、非隣接ノードV2の時刻T2から時刻T2+3までの過去特徴ベクトルの変化パターンと略一致しているとする。この場合、類似ベクトル特定部140は、非隣接ノードV2の時刻T3+4から時刻T4-1までの間の過去特徴ベクトルを、類似特徴ベクトルとして更に特定する。
【0062】
そして、特徴ベクトル生成部150は、ノード0の時刻T4における新規特徴ベクトルを、時刻T4における新規グラフデータの隣接ノード(ノード1、ノード2、及びノード3)の値と、時刻T2+4におけるノードV1の過去特徴ベクトルの値と、時刻T3+4におけるノードV2の過去特徴ベクトルの値とを用いて算出する。同様に、特徴ベクトル生成部150は、ノード0の時刻T4+1の新規特徴ベクトルを、時刻T4+1における新規グラフデータの隣接ノード(ノード1、ノード2、及びノード3)の値と、時刻T2+5におけるノードV1の過去特徴ベクトルの値と、時刻T3+5におけるノードV2の過去特徴ベクトルの値とを用いて算出する。
【0063】
なお、特徴ベクトル生成部150は、類似ベクトル特定部140が一の非隣接ノードの過去特徴ベクトルを類似特徴ベクトルとして特定した場合、当該一の非隣接ノードの類似特徴ベクトルの値を用いて新規特徴ベクトルを算出した時刻から時間が経過する毎に重みを小さくして類似特徴ベクトルを重み付け加算してよい。また、特徴ベクトル生成部150は、類似ベクトル特定部140が類似特徴ベクトルの特定するために用いた非隣接ノードの過去特徴ベクトルの変化パターンの時間的な長さが長いほど、重みを大きくして類似特徴ベクトルを重み付け加算してもよい。
【0064】
以上のように、データ処理装置10は、新規グラフデータに含まれている第1ノードの特徴ベクトルを、第1ノードの状態変化に類似する過去のノードの状態変化を考慮して算出することができるので、特徴ベクトルの表現力を向上させることができる。また、データ処理装置10は、第1ノードの特徴ベクトルを非隣接ノードの状態変化も含めて算出するので、より精度の高い特徴ベクトルを出力することができる。
【0065】
<データ処理装置10の動作フローの一例>
図4は、本実施形態に係るデータ処理装置10の動作フローの一例を示す。データ処理装置10は、
図4に示す動作フローを実行して、入力する新規グラフデータに対応する新規特徴ベクトルを出力する。
【0066】
まず、データ取得部110は、時系列に並ぶ新規グラフデータを取得する(S21)。データ取得部110は、例えば、予め定められた数の新規グラフデータを定期的に取得する。
図3は、データ取得部110が新規グラフデータを1つずつ取得する例を示す。なお、データ処理装置10が処理動作を開始した直後の場合、データ取得部110は、暫定ベクトル生成部120が暫定特徴ベクトルを生成するために必要なk個の新規グラフデータ(G
1,G
2,・・・,G
k)を取得してもよい。
【0067】
次に、暫定ベクトル生成部120は、新規グラフデータに基づいて暫定特徴ベクトルを生成する(S22)。暫定ベクトル生成部120は、時系列に並ぶk個のグラフデータ(G1,G2,・・・,Gk)を対応するk個のグラフニューラルネットワーク122にそれぞれ入力する。グラフニューラルネットワーク122のそれぞれは、入力したグラフデータに対応するk個の基本特徴ベクトルF1X,F2X,・・・,FkXを出力する。
【0068】
そして、暫定ベクトル生成部120は、k個のグラフニューラルネットワーク122が出力したk個の基本特徴ベクトルをリカレントニューラルネットワーク124に入力する。リカレントニューラルネットワーク124は、k個の基本特徴ベクトルの入力に応じて、新規グラフデータに含まれているノードのそれぞれに対応する複数の暫定特徴ベクトルを生成して出力する。
【0069】
次に、データ処理装置10は、新規グラフデータに含まれているノード毎に、S23からS26に動作を繰り返して、それぞれのノードに対応する新規特徴ベクトルを生成する。ここで、新規グラフデータに第1ノードから第nノードまでのn個のノードが含まれている例を説明する。
【0070】
類似ベクトル特定部140は、第1ノードの暫定特徴ベクトルに類似する1又は複数の類似特徴ベクトルを特定する(S24)。そして、特徴ベクトル生成部150は、特定された1又は複数の類似特徴ベクトルを用いて、第1ノードに対する新規特徴ベクトルを生成する(S25)。特徴ベクトル生成部150は、生成した新規特徴ベクトルを出力する。また、特徴ベクトル生成部150は、生成した新規特徴ベクトルを過去特徴ベクトルとして記憶部130に記憶する。
【0071】
同様に、類似ベクトル特定部140及び特徴ベクトル生成部150は、第2ノードに対する新規特徴ベクトルを生成する。類似ベクトル特定部140及び特徴ベクトル生成部150は、新規特徴ベクトルの生成の動作をn回繰り返して、第1ノードから第nノードまでのn個のノードに対応する新規特徴ベクトルを生成する。
【0072】
データ処理装置10は、動作を継続する場合(S27:No)、S21に戻る。そして、データ取得部110は、次の新規グラフデータGk+1を取得し、暫定ベクトル生成部120は、新規グラフデータGk+1を含むk個のグラフデータ(G2,G3,・・・,Gk+1)を用いて次の暫定特徴ベクトルを生成する。データ処理装置10は、以上の動作を繰り返して、時系列に並ぶ新規グラフデータに対応する新規特徴ベクトルを生成して出力する。
【0073】
データ処理装置10は、例えば、次の新規グラフデータがなくなった場合、又はデータ処理装置10の操作者から動作の中止を指示する入力があった場合(S27:Yes)、動作を終了する。以上により、データ処理装置10は、入力したグラフデータに対応する特徴ベクトルを精度よく生成することができる。
【0074】
以上の本実施形態に係るデータ処理装置10は、新規グラフデータに対応する新規特徴ベクトルを生成する例を説明したが、これに限定されることはない。データ処理装置10は、生成した新規特徴ベクトルを用いて、新規グラフデータを評価するための指標を予測してもよい。このようなデータ処理装置10について、次に説明する。
【0075】
<データ処理装置10の変形例>
図5は、本実施形態に係るデータ処理装置10の変形例を示す。
図5に示す変形例のデータ処理装置10において、
図1に示された本実施形態に係るデータ処理装置10の動作と略同一のものには同一の符号を付け、説明を省略する。変形例のデータ処理装置10は、グラフ指標予測部210とグラフ指標比較部220とパラメータ更新部230とを更に備える。
【0076】
グラフ指標予測部210は、新規特徴ベクトルに基づいて、新規グラフデータに対応する出力指標値又は出力指標ベクトルを予測する。出力指標値又は出力指標ベクトルは、将来のグラフデータを評価するための値又はベクトルであり、例えば、将来のグラフデータに含まれているノードのリンクの状態、将来のグラフデータに含まれているノードの分類等を示す。なお、グラフ指標予測部210による出力指標値又は出力指標ベクトルの予測動作は、グラフニューラルネットワークの技術において既知の動作であり、ここでは詳細な説明は省略する。
【0077】
例えば、グラフ指標予測部210は、新規特徴ベクトルに基づいて、新規グラフデータに含まれる第1ノードと第1ノード以外の一以上のノードとの隣接関係の変化を予測する。この場合、グラフ指標予測部210は、過去の複数の時刻に対応する複数の新規特徴ベクトルが示す第1ノードと他のノードとの隣接関係の変化に基づいて、将来の第1ノードと他のノードとの隣接関係を予測する。グラフ指標予測部210は、ノード毎に、他のノードとの隣接関係を予測してもよい。
【0078】
そして、グラフ指標予測部210は、一例として、第1ノードと他のノードとが、次の時刻においてリンクされるかどうかを出力指標値とする。この場合、グラフ指標予測部210は、1又は複数のノードのリンクの予測結果を出力指標値又は出力指標ベクトルの予測結果として出力する。グラフ指標予測部210は、予測した出力指標値又は出力指標ベクトルを記憶部130に記憶する。また、グラフ指標予測部210は、予測した出力指標値又は出力指標ベクトルを表示部等に表示させてもよく、外部のサーバ等に送信してもよい。
【0079】
これに代えて、又は、これに加えて、グラフ指標予測部210は、将来の複数のノードの隣接関係の予測結果から、複数のノードの分類の変化を出力指標値としてもよい。例えば、新規グラフデータがSNSに参加しているメンバーの状態を示している場合、グラフ指標予測部210は、SNSに参加しているメンバーを友達又はフォロアの数、友達又はフォロアの数の変化率、共通の友達又はフォロアの数等といった特徴と閾値とを比較して分類する。そして、グラフ指標予測部210は、複数の分類の予測結果を出力指標値又は出力指標ベクトルの予測結果として出力する。
【0080】
グラフ指標比較部220は、グラフ指標予測部210による将来の一の時点の出力指標値又は出力指標ベクトルの予測結果と、実際に一の時点が到来した場合の出力指標値又は出力指標ベクトルの算出結果とを比較する。例えば、グラフ指標比較部220は、記憶部130からグラフ指標予測部210の第1時刻における第1時刻よりも将来の第2時刻の予測結果を取得する。また、グラフ指標比較部220は、第2時刻において特徴ベクトル生成部150が生成した新規特徴ベクトルから第2時刻の出力指標値又は出力指標ベクトルを算出する。
【0081】
そして、グラフ指標比較部220は、第1時刻における第2時刻の出力指標値又は出力指標ベクトルの予測結果と、第2時刻における出力指標値又は出力指標ベクトルの算出結果とを比較する。第1時刻及び第2時刻の時間差は、より短い時間であることが望ましく、例えば、データ処理装置10が複数の新規特徴ベクトルを順次出力する時間間隔に略等しい。グラフ指標比較部220は、例えば、データ処理装置10が複数の新規特徴ベクトルを出力する毎に、出力指標値又は出力指標ベクトルの予測結果と算出結果とを比較する。
【0082】
パラメータ更新部230は、グラフ指標比較部220の比較結果に基づき、データ処理装置10が新規特徴ベクトルを算出するために用いたパラメータを更新する。パラメータ更新部230は、例えば、グラフ指標比較部220の比較結果がより小さくなるように、暫定ベクトル生成部120及び特徴ベクトル生成部150が用いるパラメータを更新する。パラメータ更新部230は、パラメータを更新する毎にグラフ指標比較部220の比較結果が変化する傾向を蓄積して、更新するパラメータの値を変化させてよい。
【0083】
この場合、パラメータ更新部230は、グラフニューラルネットワーク122に設定されている第1パラメータ、リカレントニューラルネットワーク124に設定されている第2パラメータ、及び特徴ベクトル生成部150に設定されている第3パラメータのうち、少なくとも一部のパラメータを更新してよい。また、パラメータ更新部230は、第1パラメータ、第2パラメータ、及び第3パラメータを順次更新してもよい。
【0084】
パラメータ更新部230は、グラフ指標予測部210が出力指標値又は出力指標ベクトルを予測する毎に、第1パラメータ、第2パラメータ、及び第3パラメータを更新することが望ましい。これにより、データ処理装置10は、時間の経過に伴ってパラメータを最適化して、より精度を向上させた特徴ベクトルを出力することができる。また、データ処理装置10は、精度を向上させた特徴ベクトルを様々な用途に適用させることができる。
【0085】
なお、本発明により、国連が主導する持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」に貢献することが可能となる。以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0086】
10 データ処理装置
110 データ取得部
120 暫定ベクトル生成部
122 グラフニューラルネットワーク
124 リカレントニューラルネットワーク
130 記憶部
140 類似ベクトル特定部
150 特徴ベクトル生成部
210 グラフ指標予測部
220 グラフ指標比較部
230 パラメータ更新部