(57)【要約】【課題】異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てる。【解決手段】重みスコア算出部３１は、第１ネットワーク情報と第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する。ノードシーケンス生成部３２は、１つの初期ノードを取り出し、重みスコア算出部３１が算出した重みスコアに応じて設定されたノード間の類似度にしたがって初期ノードに類似する類似ノードを取り出し、初期ノードと類似ノードとが並べられたノードシーケンスを生成する。学習用コーパス登録部３３は、ノードシーケンス生成部３２が生成した複数のノードシーケンスを学習用コーパスとして登録する。ベクトル生成部３４は、学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成する。【選択図】図２
2019144939.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得するネットワーク情報取得部と、
前記ネットワーク情報取得部が取得した第１ネットワーク情報と前記第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する重みスコア算出部と、
前記第１ネットワーク情報に含まれるノードと前記第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスであって、１つの初期ノードを取り出し、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度にしたがって初期ノードに類似する類似ノードを取り出し、前記初期ノードと前記類似ノードとが並べられたノードシーケンスを生成するノードシーケンス生成部と、
前記ノードシーケンス生成部が生成した複数のノードシーケンスを学習用コーパスとして登録する学習用コーパス登録部と、
前記学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成するベクトル生成部と、
を備える情報処理装置。
【請求項２】
前記ノードシーケンス生成部は、前記１の初期ノードとの類似度が大きいノードほど、前記類似ノードとして取り出す蓋然性を高くする、
請求項１に記載の情報処理装置。
【請求項３】
ノードシーケンス生成部は、前記第１ネットワーク情報と前記第２ネットワーク情報とのそれぞれに含まれるノードを並べて構成されるノードシーケンスであって、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度に基づく遷移確率にしたがって２以上のノードが並べられたノードシーケンスを生成する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記ノードシーケンス生成部は、前記第１ネットワーク情報に含まれるノードを構成要素とする完全グラフである第１完全グラフと、前記第２ネットワーク情報に含まれるノードを構成要素とする完全グラフである第２完全グラフと、前記第１完全グラフに含まれるノードと前記第２完全グラフに含まれるノードとを接続するパスとを生成し、前記第１完全グラフ内のノード間の遷移確率、前記第２完全グラフ内のノード間の遷移確率、及び前記第１完全グラフのノードと前記第２完全グラフのノードとの間の遷移確率にしたがってノードシーケンスを生成する、
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記重みスコア生成部は、他のノードとの接続数が多いノードは、他のノードとの接続数が少ないノードよりも大きな重みスコアを割り当て、
前記ノードシーケンス生成部は、前記第１完全グラフのノードに割り当てられた重みスコアが大きいほど前記第２完全グラフのノードに遷移する確率を高く設定し、かつ前記第２完全グラフのノードに割り当てられた重みスコアが大きいほど前記第１完全グラフのノードに遷移する確率を高く設定する、
請求項４に記載の情報処理装置。
【請求項６】
前記ベクトル生成部は、前記学習用コーパスを構成する各ノードを単語とみなし、Ｓｋｉｐ−ｇｒａｍモデルを用いて各ノードの特徴ベクトルを生成する、
請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記ノードシーケンス生成部が生成した複数のノードシーケンスそれぞれを構成する各ノードを、当該ノードの重みスコアに置き換えたシーケンスの集合であるノードスコアシーケンス群を生成してノードスコアシーケンスを比較し、類似するノードシーケンス同士の組み合わせを構成するノードシーケンス比較部をさらに有し、
前記学習用コーパス登録部は、前記第１ネットワーク情報と前記第２ネットワーク情報とのそれぞれから得られた２つの異なるノードシーケンス群と、前記ノードシーケンス比較部において紐づけられたノードシーケンス群とから構成される学習用コーパスを登録する、
請求項１に記載の情報処理装置。
【請求項８】
前記ノードシーケンス比較部は、前記第１ネットワーク情報に由来するノードスコアシーケンスと、前記第２ネットワーク情報に由来するノードスコアシーケンスとを比較する、
請求項７に記載の情報処理装置。
【請求項９】
前記ベクトル生成部は、
前記第１ネットワーク情報に由来するノードシーケンスを学習データとして各ノードそれぞれについて他のノードとの関係性を示す第１特徴ベクトルを生成する第１生成部と、
前記第２ネットワーク情報に由来するノードシーケンスを学習データとして各ノードそれぞれについて他のノードとの関係性を示す第２特徴ベクトルを生成する第２生成部と、
前記学習用コーパスにおけるノードシーケンス群の各組み合わせについて、組み合わせを構成する一方のノードシーケンスに含まれる各ノードの特徴ベクトルの平均値と、他方のノードシーケンスに含まれる各ノードの特徴ベクトルの平均値との差分ベクトルの２ノルムを算出するノルム算出部と、を備え、
前記第１生成部と前記第２生成部とは、前記ノルム算出部が算出した２ノルムが小さくなるように、それぞれ前記第１特徴ベクトルと前記第２特徴ベクトルとを生成する、
請求項７又は８に記載の情報処理装置。
【請求項１０】
前記ベクトル生成部は、前記組み合わせシーケンス生成部が生成したノードシーケンスを連結してできる新たなノードシーケンスを構成する各ノードを単語とみなし、Ｓｋｉｐ−ｇｒａｍモデルを用いて各ノードの特徴ベクトルを生成する、
請求項７又は８に記載の情報処理装置。
【請求項１１】
プロセッサが、
複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得するステップと、
取得した前記第１ネットワーク情報と前記第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出するステップと、
前記第１ネットワーク情報に含まれるノードと前記第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスであって、１の初期ノードを取り出し、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度にしたがって前記初期ノードに類似する類似ノードを取り出すステップと、
前記初期ノードと前記類似ノードとが並べられたノードシーケンスを生成するステップと、
生成した複数のノードシーケンスを学習用コーパスとして登録するステップと、
前記学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成するステップと、
を実行する情報処理方法。
【請求項１２】
コンピュータに、
複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得する機能と、
取得した前記第１ネットワーク情報と前記第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する機能と、
前記第１ネットワーク情報に含まれるノードと前記第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスであって、１の初期ノードを取り出し、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度にしたがって前記初期ノードに類似する類似ノードを取り出す機能と、
前記初期ノードと前記類似ノードとが並べられたノードシーケンスを生成する機能と、
生成した複数のノードシーケンスを学習用コーパスとして登録する機能と、
前記学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理方法、及びプログラムに関し、特に、ネットワークを構成するノードの特徴を解析する技術に関する。
【背景技術】
【０００２】
従来、グラフマッチングという技術が提案されている。グラフマッチング技術を用いると、複数のネットワーク間の類似度を測り、それに応じてネットワーク上のノードやエッジを対応付けることができる。特に、ネットワークを構成するノードの数が違う条件下で、最もよい対応付けを行う問題は「厳密でない（inexact）グラフマッチング」と呼ばれ、何らかの最適化問題に帰着させ、解かれてきた。
【０００３】
ネットワークを構成するノードの分類を行う目標に対しては、各ノードに特徴量を割り当てることにより重点があり、「network embedding」と総称される各種手法が提案されている（例えば非特許文献１、非特許文献２を参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Grover, A., & Leskovec, J. (2016, August). node2vec: Scalable feature learning for networks. In Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 855-864). ACM.
【非特許文献２】Ribeiro, L. F., Saverese, P. H., & Figueiredo, D. R. (2017, August). struc2vec: Learning node representations from structural identity. In Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (pp. 385-394). ACM.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の技術は、単一のネットワークを構成する各ノードに特徴ベクトルを割り当てる技術である。しかしながら、異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを獲得することに関しては自明ではなかった。
【０００６】
そこで、本発明はこれらの点に鑑みてなされたものであり、異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は、情報処理装置である。この装置は、複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得するネットワーク情報取得部と、前記ネットワーク情報取得部が取得した第１ネットワーク情報と前記第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する重みスコア算出部と、前記第１ネットワーク情報に含まれるノードと前記第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスであって、１つの初期ノードを取り出し、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度にしたがって初期ノードに類似する類似ノードを取り出し、前記初期ノードと前記類似ノードとが並べられたノードシーケンスを生成するノードシーケンス生成部と、前記ノードシーケンス生成部が生成した複数のノードシーケンスを学習用コーパスとして登録する学習用コーパス登録部と、前記学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成するベクトル生成部と、を備える。
【０００８】
前記ノードシーケンス生成部は、前記１の初期ノードとの類似度が大きいノードほど、前記類似ノードとして取り出す蓋然性を高くしてもよい。
【０００９】
ノードシーケンス生成部は、前記第１ネットワーク情報と前記第２ネットワーク情報とのそれぞれに含まれるノードを並べて構成されるノードシーケンスであって、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度に基づく遷移確率にしたがって２以上のノードが並べられたノードシーケンスを生成してもよい。
【００１０】
前記ノードシーケンス生成部は、前記第１ネットワーク情報に含まれるノードを構成要素とする完全グラフである第１完全グラフと、前記第２ネットワーク情報に含まれるノードを構成要素とする完全グラフである第２完全グラフと、前記第１完全グラフに含まれるノードと前記第２完全グラフに含まれるノードとを接続するパスとを生成し、前記第１完全グラフ内のノード間の遷移確率、前記第２完全グラフ内のノード間の遷移確率、及び前記第１完全グラフのノードと前記第２完全グラフのノードとの間の遷移確率にしたがってノードシーケンスを生成してもよい。
【００１１】
前記重みスコア生成部は、他のノードとの接続数が多いノードは、他のノードとの接続数が少ないノードよりも大きな重みスコアを割り当ててもよく、前記ノードシーケンス生成部は、前記第１完全グラフのノードに割り当てられた重みスコアが大きいほど前記第２完全グラフのノードに遷移する確率を高く設定し、かつ前記第２完全グラフのノードに割り当てられた重みスコアが大きいほど前記第１完全グラフのノードに遷移する確率を高く設定してもよい。
【００１２】
前記ベクトル生成部は、前記学習用コーパスを構成する各ノードを単語とみなし、Ｓｋｉｐ−ｇｒａｍモデルを用いて各ノードの特徴ベクトルを生成してもよい。
【００１３】
前記情報処理装置は、前記ノードシーケンス生成部が生成した複数のノードシーケンスそれぞれを構成する各ノードを、当該ノードの重みスコアに置き換えたシーケンスの集合であるノードスコアシーケンス群を生成してノードスコアシーケンスを比較し、類似するノードシーケンス同士の組み合わせを構成するノードシーケンス比較部をさらに有してもよく、前記学習用コーパス登録部は、前記第１ネットワーク情報と前記第２ネットワーク情報とのそれぞれから得られた２つの異なるノードシーケンス群と、前記ノードシーケンス比較部において紐づけられたノードシーケンス群とから構成される学習用コーパスを登録してもよい。
【００１４】
前記ノードシーケンス比較部は、前記第１ネットワーク情報に由来するノードスコアシーケンスと、前記第２ネットワーク情報に由来するノードスコアシーケンスとを比較してもよい。
【００１５】
前記ベクトル生成部は、前記第１ネットワーク情報に由来するノードシーケンスを学習データとして各ノードそれぞれについて他のノードとの関係性を示す第１特徴ベクトルを生成する第１生成部と、前記第２ネットワーク情報に由来するノードシーケンスを学習データとして各ノードそれぞれについて他のノードとの関係性を示す第２特徴ベクトルを生成する第２生成部と、前記学習用コーパスにおけるノードシーケンス群の各組み合わせについて、組み合わせを構成する一方のノードシーケンスに含まれる各ノードの特徴ベクトルの平均値と、他方のノードシーケンスに含まれる各ノードの特徴ベクトルの平均値との差分ベクトルの２ノルムを算出するノルム算出部と、を備えてもよく、前記第１生成部と前記第２生成部とは、前記ノルム算出部が算出した２ノルムが小さくなるように、それぞれ前記第１特徴ベクトルと前記第２特徴ベクトルとを生成してもよい。
【００１６】
前記ベクトル生成部は、前記組み合わせシーケンス生成部が生成したノードシーケンスを連結してできる新たなノードシーケンスを構成する各ノードを単語とみなし、Ｓｋｉｐ−ｇｒａｍモデルを用いて各ノードの特徴ベクトルを生成してもよい。
【００１７】
本発明の第２の態様は、情報処理方法である。この方法において、プロセッサが、複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得するステップと、取得した前記第１ネットワーク情報と前記第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出するステップと、前記第１ネットワーク情報に含まれるノードと前記第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスであって、１の初期ノードを取り出し、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度にしたがって前記初期ノードに類似する類似ノードを取り出すステップと、前記初期ノードと前記類似ノードとが並べられたノードシーケンスを生成するステップと、生成した複数のノードシーケンスを学習用コーパスとして登録するステップと、前記学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成するステップと、を実行する。
【００１８】
本発明の第３の態様は、プログラムである。このプログラムは、コンピュータに、複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得する機能と、取得した前記第１ネットワーク情報と前記第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する機能と、前記第１ネットワーク情報に含まれるノードと前記第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスであって、１の初期ノードを取り出し、前記重みスコア算出部が算出した重みスコアに応じて設定されたノード間の類似度にしたがって前記初期ノードに類似する類似ノードを取り出す機能と、前記初期ノードと前記類似ノードとが並べられたノードシーケンスを生成する機能と、生成した複数のノードシーケンスを学習用コーパスとして登録する機能と、前記学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成する機能と、を実現させる。
【発明の効果】
【００１９】
本発明によれば、異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てることができる。
【図面の簡単な説明】
【００２０】
【図１】異なるネットワーク及び各ノードの特徴量を説明するための図ある。
【図２】第１の実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図３】第１の実施の形態に係る重みスコア算出部が算出する重みスコアを説明するための図である。
【図４】第１の実施の形態に係るノードシーケンス生成部によるノードシーケンスの生成を説明するための図である。
【図５】第１の実施の形態に係るノードシーケンス生成部によるノード選択のパラメータを説明するための図である。
【図６】第１の実施の形態に係るノードシーケンス生成部が算出するノード間の遷移確率を示す図である。
【図７】第１の実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【図８】第２の実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図９】第２の実施の形態に係るノードシーケンス比較部が生成するノードスコアシーケンス群を説明するための図である。
【図１０】第２の実施の形態に係るベクトル生成部の機能構成を模式的に示す図である。
【図１１】第２の実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００２１】
＜第１の実施の形態の概要＞
第１の実施の形態の概要を述べる。第１の実施の形態に係る情報処理装置は、互いに異なるネットワークを構成する各ノードに、同じ基準で特徴ベクトルを割り当てる。ここで、「ノードの特性を示す特徴ベクトル」とは、ネットワークにおける「他のノードとの接続関係」を示すベクトルである。
【００２２】
例えば、情報処理装置は、ネットワークの中心に位置し、多くの他のノードと接続するノード同士の特徴ベクトルは類似し、多くの他のノードと接続するノードの特徴ベクトルと、他のノードとの接続が少ないノードの特徴ベクトルとは非類似の関係を示すように、特徴ベクトルを算出する。同様に、情報処理装置は、ネットワークに端部に位置し、接続する他のノードの数が少ないノード同士の特徴ベクトルは類似し、ネットワークの中心に位置するノードの特徴ベクトルとは非類似となるように、特徴ベクトルを算出する。
【００２３】
したがって、あるノード間のホップ数が小さい場合であっても、情報処理装置が算出するそれらのノードの特徴ベクトルが必ずしも類似するわけではない。反対に、遠く離れたノード同士又は異なるネットワークに属するノード同士であっても、他のノードとの接続関係が類似していれば、情報処理装置は類似する特徴ベクトルを算出する。
【００２４】
図１は、異なるネットワーク及び各ノードの特徴量を説明するための図ある。具体的には、図１は、それぞれａからｆまでの６つの文字が付された６つのノードから構成される第１ネットワークと、１から４までの文字が付された４つのノードから構成される第２ネットワークとを示している。なお、以下本明細書において、各文字が付されたノードをその文字で表記することがある。例えば、文字「ａ」が付されたノードを「ノードａ」と表記し、文字「３」が付されたノードを「ノード３」等と表記することがある。
【００２５】
まず、情報処理装置は、第１ネットワークの接続関係及び第２ネットワークの接続関係に基づいて、各ネットワークを構成するノードを要素とする多数のノードシーケンスを生成する。詳細は後述するが、情報処理装置は、各ノードシーケンスにおいて隣り合うノード同士は、接続関係が類似するノードとなる確率が高くなるように、各ノードシーケンスを生成する。
【００２６】
次に、情報処理装置は、生成した各ノードシーケンスをそれぞれ「文」とみなし、「Ｗｏｒｄ２Ｖｅｃ」という名前で知られる既知の自然言語処理技術を用いて、特徴ベクトルを生成する。
【００２７】
既知の技術であるため詳細な説明は省略するが、Ｗｏｒｄ２Ｖｅｃは、文を構成する単語、すなわち、ノードシーケンスを構成する各ノードをベクトル化して表現する手法である。Ｗｏｒｄ２Ｖｅｃは２層のニューラルネットワークから構成されており、隠れ層は単層である。Ｗｏｒｄ２Ｖｅｃは、「同じ文脈の中にある単語はお互いに近い意味を持っている」という仮定に基づいて設計されている。言い換えると、Ｗｏｒｄ２Ｖｅｃは、文の中で似た意味の単語はお互いに近くに出現する可能性が高いことを前提としている。
【００２８】
この前提に立ち、Ｗｏｒｄ２Ｖｅｃは、学習を進めることにより、文（すなわち、ノードシーケンス）においてお互いに近くに存在する単語（ノード）に近しい方向の特徴ベクトルを割り当てるように設計されている。
【００２９】
したがって、情報処理装置は、１又は複数のネットワークを構成するノードの接続関係が似たノードが近くに現れるようにノードシーケンスを生成することができれば、Ｗｏｒｄ２Ｖｅｃの枠組みを利用することにより、類似の接続関係を持つノードに近しい方向の特徴ベクトルを割り当てることができる。
【００３０】
第１の実施の形態に係る情報処理装置は、ネットワークを構成する各ノードが接続する他のノードの数に基づいて算出された各ノードの類似度に基づいてノードを選択し、ノードシーケンスを構成する。情報処理装置は、複数の異なるネットワークを構成する各ノードを要素に含むノードシーケンス群を学習コーパスとして設定し、Ｗｏｒｄ２Ｖｅｃの手法を用いて各ノードの特徴ベクトルを算出する。学習コーパスに含まれるノードシーケンスは、類似の接続関係を持つノード近くに現れるノードシーケンスであるため、結果として、情報処理装置は、複数の異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てることができる。
【００３１】
＜第１の実施の形態に係る情報処理装置１の機能構成＞
図２は、第１の実施の形態に係る情報処理装置１の機能構成を模式的に示す図である。情報処理装置１は、記憶部２と制御部３とを備える。
【００３２】
記憶部２は、情報処理装置１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）や情報処理装置１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００３３】
制御部３は、情報処理装置１のＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等のプロセッサであり、記憶部２に記憶されたプログラムを実行することによってネットワーク情報取得部３０、重みスコア算出部３１、ノードシーケンス生成部３２、学習用コーパス登録部３３、及びベクトル生成部３４として機能する。
【００３４】
なお、図２は、情報処理装置１が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置１は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、記憶部２を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００３５】
ネットワーク情報取得部３０は、複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得する。ネットワーク情報取得部３０が取得するネットワーク情報は情報処理装置１が解析の対象とするネットワークに関する情報であり、記憶部２が保持している。
【００３６】
重みスコア算出部３１は、ネットワーク情報取得部３０が取得した第１ネットワーク情報と、第１ネットワーク情報とは異なる第２ネットワーク情報と、のそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する。
【００３７】
図３（ａ）−（ｆ）は、第１の実施の形態に係る重みスコア算出部３１が算出する重みスコアを説明するための図である。具体的には、図３（ａ）は図１における第１ネットワークを示す図であり、図３（ｂ）は第１ネットワークを構成する各ノードについて、他のノードとの接続数を表形式で示す図である。例えば、図３（ａ）において、ノードｄはノードａ、ノードｂ、及びノードeの３つのノードと接続しているため、接続数は３となる。
【００３８】
図３（ｃ）は、第１ネットワークを構成する各ノードの接続数に基づいて、重みスコア算出部３１が算出した重みスコアＷを表形式で示す図である。重みスコア算出部３１は、他のノードとの接続数が多いノードは、他のノードとの接続数が少ないノードよりも大きな重みスコアを割り当る。具体的には、重みスコア算出部３１は、ネットワークを構成する全てのノードの接続数の総和に対する各ノードの接続数の割合を、ノードの重みスコアＷとする。接続数は、１ホップで接続（いわゆる隣接）しているノード数でもよいし、ｋ（≧１）ホップで接続しているノード数でも構わない。以下の例は、１ホップで接続（いわゆる隣接）しているノード数とした場合を示す。
【００３９】
例えば、第１ネットワークを構成するノードの接続数の総和は、図３（ｂ）より、１０（１＋２＋１＋３＋２＋１）である。したがって、重みスコア算出部３１は、例えばノードａの重みスコアＷ（ａ）を、１／１０＝０．１と算出する。また、重みスコア算出部３１は、ノードｅの重みスコアＷ（ｅ）を、２／１０＝０．２と算出する。以下同様である。
【００４０】
図３（ｄ）は図１における第２ネットワークを示す図であり、図３（ｅ）は第２ネットワークを構成する各ノードについて、他のノードとの接続数を表形式で示す図である。また、図３（ｆ）は、第２ネットワークを構成する各ノードの接続数に基づいて、重みスコア算出部３１が算出した重みスコアＷを表形式で示す図である。
【００４１】
図２の説明に戻る。ノードシーケンス生成部３２は、重みスコア算出部３１が算出した重みスコアに応じて、ノード間の類似度を設定する。続いて、ノードシーケンス生成部３２は、第１ネットワーク情報に含まれるノードと第２ネットワーク情報に含まれるノードとの中から１つの初期ノードを取り出す。ノードシーケンス生成部３２は、設定した類似度にしたがって、初期ノードに類似する類似ノードを取り出す。さらに、ノードシーケンス生成部３２は、初期ノードと類似ノードとが並べられたノードの配列であるノードシーケンスを生成する。
【００４２】
ノードシーケンス生成部３２は、類似ノードを新たな初期ノードとみなし、さらに類似ノードを取り出す。これを繰り返すことにより、ノードシーケンス生成部３２は、第１ネットワーク情報に含まれるノードと第２ネットワーク情報に含まれるノードとを並べて構成されるノードシーケンスを生成する。
【００４３】
図４は、第１の実施の形態に係るノードシーケンス生成部３２によるノードシーケンスの生成を説明するための図である。ノードシーケンス生成部３２は、ノード間に設定された類似度にしたがってノードを遷移し、遷移したノードを並べることによってノードシーケンスを生成する。このとき、ノードシーケンス生成部３２は、異なるネットワークにおけるノードにも遷移するように、異なるネットワークにおけるノード同士にも類似度を設定している。
【００４４】
図４は、図１に示す第１ネットワークと第２ネットワークとの間の遷移を示す図である。ノードシーケンス生成部３２は、図４に示すように、「ステージ１」と「ステージ２」との２つの状態を行き来しながら、第１ネットワークのノードと第２ネットワークのノートとの間を遷移する。
【００４５】
ステージ１は、図１に示す第１ネットワーク及び第２ネットワークの接続関係を保っているグラフである。これに対し、ステージ２は、各ネットワークを構成する全てのノードが接続された完全グラフである。具体的には、ノードシーケンス生成部３２は、第１ネットワーク情報に含まれるノードを構成要素とする完全グラフである第１完全グラフと、第２ネットワーク情報に含まれるノードを構成要素とする完全グラフである第２完全グラフとを生成する。さらに、ノードシーケンス生成部３２は、第１完全グラフに含まれるノードと第２完全グラフに含まれるノードとを接続するパスも生成する。
【００４６】
ノードシーケンス生成部３２は、ノードがステージ１の状態のときは、接続関係を有するノードにのみ遷移できるが、ノードがステージ２の状態のときは、ノード間の類似度に応じて設定される遷移確率にしたがって、あらゆるノードに遷移することができる。
【００４７】
図４において、ステージ１の全ての各ノードはステージ２の対応するノードに遷移することができ、逆も同様である。また、ステージ２の全ての各ノードは、ネットワークの異同を問わず、他のノードに遷移することができる。例えば図４において、ステージ１における第１ネットワークの要素であるノードｂは、同じ第１ネットワークにおけるノードｃ又はノードｄに遷移することができる。また、ステージ１におけるノードｂは、ステージ２におけるノードｂに遷移することもできる。
【００４８】
図４において、同１つネットワーク内の遷移は実線で示し、ステージ間の遷移は破線で示し、異なるネットワーク間の遷移は一点鎖線で示している。なお、煩雑となりかえって不明瞭となることを避けるため、図４において、ステージ間の遷移及びネットワーク間の遷移はノードｂについてのみ示しているが、他のノードについても同様に遷移することができる。
【００４９】
例えば、ノードシーケンス生成部３２が、初期ノードとしてステージ１のノードｃを選択したとする。ノードシーケンス生成部３２は、まずステージ１のノードｃに設定されたステージ遷移確率にしたがい、ステージを遷移するか否かを決定する。この結果、ノードｃはステージを維持することになった場合、ノードｃはノードｂにしか遷移できない（すなわち、遷移確率は１００％）であるため、遷移先のノードである上述した類似ノードは、ステージ１のノードｂとなる。
【００５０】
続いて、ノードシーケンス生成部３２は、ノードｂを新たな初期ノードとし、ノードｂに設定されたステージ遷移確率にしたがい、ステージを遷移するか否かを決定する。この結果、ステージ２に遷移することになった場合、ノードシーケンス生成部３２は、ステージ２のノードｂに設定された各ノードとの類似度にしたがって、遷移先のノードを決定する。ステージ２においては、ノードシーケンス生成部３２は、実際のネットワークの構造に関係なく全てのノードと遷移することができるので、結果として類似度の高いノードに遷移することが多くなる。
【００５１】
このように、ステージ１においては、ノードシーケンス生成部３２によるノードの遷移は元のネットワークの構造に規制される。これにより、ノードシーケンス生成部３２は、生成するノードシーケンスに元のネットワークの構造を反映させることができる。一方、ステージ２においては、ノードシーケンス生成部３２は、ネットワークの異同及びネットワークにおけるノードの遠近関係に関わらず、類似度にしたがってノードを遷移させることができる。
【００５２】
言い換えると、ノードシーケンス生成部３２は、ステージ２において、第１完全グラフ内のノード間の遷移確率、第２完全グラフ内のノード間の遷移確率、及び第１完全グラフのノードと第２完全グラフのノードとの間の遷移確率にしたがってノードシーケンスを生成する。これにより、ノードシーケンス生成部３２は、異なるネットワークであっても、ノードの局所的な性質である接続関係に基づいてノードを遷移させることができる。結果として、ノードシーケンス生成部３２は、異なるネットワークを構成するノードを、統一の基準に基づいて選択して並べたノードシーケンスを生成することができる。
【００５３】
以下、ステージ遷移確率と類似度、及びノード遷移確率についてより詳細に説明する。
【００５４】
図５（ａ）−（ｂ）は、第１の実施の形態に係るノードシーケンス生成部３２によるノード選択のパラメータを説明するための図である。具体的には、図５（ａ）は、図１における第１ネットワークを構成するノードと第２ネットワークを構成するノードとのステージ遷移確率を表形式で示す図である。
【００５５】
ステージ遷移確率は、ステージ上昇確率とステージ降下確率とを含んでいる。図５（ａ）に示すように、ノードシーケンス生成部３２は、重みスコアＷが大きいほど、すなわちネットワークにおいて接続数が多いノードほどステージ上昇確率が大きくなるように設定している。
【００５６】
具体的には、ノードシーケンス生成部３２は、重みスコアがＷであるノード１のステージ上昇確率Ｐｕを以下の式（１）で算出する。
Ｐｕ＝ｌｏｇ（Ｗｋ（１）＊｜Ｖ｜＋ｅ）／｛ｄ＋ｌｏｇ（Ｗｋ（１）＊｜Ｖ｜＋ｅ）｝    （１）
【００５７】
ただし、式（１）において、ｋはステージの段数を表す。ステージがホップ数に応じて多段になっている場合は、ホップ数を表す。また、ｄは任意の定数（例えば１）、｜Ｖ｜はネットワークを構成するノードの数を表す。ｌｏｇ（ｘ）はｘの自然対数関数、ｅは自然対数の底を表す。ｅはｌｏｇ（）内のその他の項が０であったとしてもｌｏｇ（）の出力が１となるように底上げするために足されている。
【００５８】
また、ステージ降下確率Ｐｄは、以下の式（２）となる。
Ｐｄ＝１−Ｐｕ    （２）
【００５９】
なお、ノードシーケンス生成部３２は、各ノードの遷移に先立ってステージ間の遷移を判定するが、あるノードがステージ２にあるときにステージ上昇が判定された場合、そのノードはステージ２にとどまることを意味する。また、あるノードがステージ１にあるときにノードシーケンス生成部３２によってステージ下降が判定された場合、そのノードはステージ１にとどまることを意味する。
【００６０】
このことは、ステージ上昇確率が０．５（５０％）を超えるノード（すなわち、重みスコアＷが他のノードと比べて相対的に大きいノード）は、ステージ１よりもステージ２に存在する頻度が高くなる。結果として、重みスコアＷが他のノードと比べて相対的に大きいノードは、小さいノードと比較して、異なるネットワークに遷移する可能性が高まる。
【００６１】
図５（ｂ）は、図１における第１ネットワークを構成するノードと第２ネットワークを構成するノードとの間の類似度を表形式で示す図である。ノードシーケンス生成部３２は、ノード間の重みスコアＷの値が近いほど、類似度が大きくなるように類似度を算出する。具体的には、ノードシーケンス生成部３２は、重みスコアがＷ（ｉ）であるノードと、重みスコアがＷ（ｊ）であるノードとの間の類似度Ｓｉｊを、以下の式（３）で算出する。
【００６２】
Ｓｉｊ＝ｅｘｐ（−ｃ｜Ｗ（ｉ）−Ｗ（ｊ）｜）    （３）
ここでｅｘｐ（ｘ）はｘの指数関数を表し、｜ｘ｜はｘの絶対値を表す。また、ｃはスケーリングファクターであり、０より大きい実数である。図５（ｂ）はｃ＝１．０の場合を示している。なお、式（３）の絶対値に変えて、二乗値にしても構わない。
【００６３】
例えば、第１ネットワークのノードｆの重みスコアＷ（ｆ）は０．１であり、第２ネットワークのノード１の重みスコアＷ（１）は０．１７である。したがって、ノードｆとノード１との類似度Ｓｆ１は、Ｓｆ１＝ｅｘｐ（−｜０．１−０．１７｜）＝０．９３となる。
【００６４】
図６（ａ）−（ｂ）は、第１の実施の形態に係るノードシーケンス生成部３２が算出するノード間の遷移確率を示す図である。具体的には、図６（ａ）はステージ１におけるノード間の遷移確率を示し、図６（ｂ）はステージ２におけるノード間の遷移確率を示す。ノードシーケンス生成部３２は、各ノードから遷移可能な他のノードとの類似度に基づいて、各ノードから他のノードへの遷移確率を設定する。具体的には、ノードシーケンス生成部３２は、各ノードから遷移可能な他のノードへの遷移確率を、ノード間の類似度に応じて配分する。
【００６５】
なお、同一ネットワーク内でのノード間の遷移の場合は、式（３）を以下の式（３）’に置き換えてもよい。
Ｓｉｊ＝ｅｘｐ（−ｃｆｋ（ｉ，ｊ））    （３）’
【００６６】
式（３）’において、ｆｋ（ｉ，ｊ）はネットワークごとに定義され、同一ネットワーク内でノードｉに対応する近傍ノード次数集合ｉとノードｊに対応する近傍ノード次数集合ｊの間の距離を表す。式（３）’のｆｋ（ｉ，ｊ）に変えて、二乗値であるｆｋ（ｉ，ｊ）２にしても構わない。
【００６７】
図４において、ステージ１におけるノード３は、ノード１、ノード２、及びノード４に遷移可能である。ここでノード３とノード１との類似度Ｓ３１は、図６（ｂ）より、０．７２である。同様にＳ３２＝０．７２、Ｓ３４＝０．７２である。Ｓ３１＝Ｓ３２＝Ｓ３４であるため、Ｓ３２は、ステージ１におけるノード３からノード１、ノード２、及びノード４への遷移確率は全て等しい、３３［％］を算出する。
【００６８】
図４において、ステージ２におけるノードｂは、第１ネットワークを構成する各ノードと第２ネットワークを構成する各ノードとのいずれのノードにも遷移可能である。ここで、ノードｂと他の全てのノードとの類似度の総和は８．２５である。したがって、例えばステージ２において第１ネットワークを構成するノードｂから第２ネットワークを構成するノード３への遷移確率Ｐｂ３は、Ｓｂ３＝０．６７であるから、Ｐｂ３＝０．６７／９．２２×１００＝８．９７［％］となる。なお、一般に、Ｐｉｊ≠Ｐｊｉとなる。
【００６９】
このように、ノードシーケンス生成部３２は、初期ノードとの類似度が大きいノードほど、初期ノードからの遷移確率が高くなるように遷移確率を設定する。ノードシーケンス生成部３２は、重みスコア算出部３１が算出した重みスコアに応じて設定されたノード間の類似度に基づく遷移確率にしたがって２以上のノードが並べられたノードシーケンスを生成する。この結果、ノードシーケンス生成部３２が生成するノードシーケンスは、類似度が大きいノード同士が隣接する頻度が高くなる。
【００７０】
ノードシーケンス生成部３２は、異なるネットワーク間での遷移においても、初期ノードとの類似度が大きいノードほど、初期ノードからの遷移確率が高くなるように遷移確率を設定する。結果として、ノードシーケンス生成部３２は、第１完全グラフのノードに割り当てられた重みスコアＷが大きいほど第２完全グラフのノードに遷移する確率を高く設定し、かつ第２完全グラフのノードに割り当てられた重みスコアが大きいほど第１完全グラフのノードに遷移する確率を高く設定することになる。
【００７１】
つまり、ノードシーケンス生成部３２は、ネットワークの異同によらず、各ノードシーケンスにおいて隣り合うノード同士は、接続関係が類似するノードとなる確率が高くなるように、各ノードシーケンスを生成することができる。結果として、第１の実施の形態に係るノードシーケンス生成部３２が生成するノードシーケンスは、異なるネットワークを構成するノードが入り交ざったものとなり得る。
【００７２】
再び図２の説明に戻る。学習用コーパス登録部３３は、ノードシーケンス生成部３２が生成した複数のノードシーケンスを学習用コーパスとして登録する。ベクトル生成部３４は、学習用コーパス登録部３３が登録した学習用コーパスを用いて、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成する。
【００７３】
ベクトル生成部３４は、学習用コーパスを構成する各ノードを単語とみなし、上述した既知のＷｏｒｄ２Ｖｅｃの手法を用いて各ノードの特徴ベクトルを算出する。Ｗｏｒｄ２ＶｅｃにはＣＢＷＯ（Continuous Bag-of-Words）モデル及びＳｋｉｐ−Ｇｒａｍモデル等のモデルが知られているが、ベクトル生成部３４は、いずれのモデルを用いても特徴ベクトルを算出することができる。学習コーパスとして登録されたノードシーケンスのデータ量が所定以上ある場合には、ベクトル生成部３４は、Ｓｋｉｐ−ｇｒａｍモデルを用いて各ノードの特徴ベクトルを生成してもよい。Ｓｋｉｐ−ｇｒａｍモデルは、ＣＢＷＯモデルと比較して、学習データ量が多い場合の安定性が高いことが知られているからである。
【００７４】
学習用コーパスに登録されるノードシーケンスは、ネットワークの異同によらず、接続関係が類似するノードが隣接する確率が高い。ベクトル生成部３４は、学習用コーパスにＷｏｒｄ２Ｖｅｃの手法を適用することにより、接続関係が類似するノードに類似した特徴ベクトルを割り当てることができる。
【００７５】
＜第１の実施の形態に係る情報処理装置１が実行する情報処理の処理フロー＞
図７は、第１の実施の形態に係る情報処理装置１が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置１が起動したときに開始する。
【００７６】
ネットワーク情報取得部３０は、複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得する（Ｓ２）。重みスコア算出部３１は、ネットワーク情報取得部３０が取得した第１ネットワーク情報と、第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアＷを算出する（Ｓ４）。具体的には、重みスコア算出部３１は、ネットワークを構成する全てのノードの接続数の総和に対する各ノードの接続数の割合を、ノードの重みスコアＷとする。
【００７７】
ノードシーケンス生成部３２は、接続関係が類似するノードが隣接するように並べられた複数のノードシーケンスを生成する（Ｓ６）。学習用コーパス登録部３３は、ノードシーケンス生成部３２が生成した複数のノードシーケンスを学習用コーパスとして登録する（Ｓ８）。ベクトル生成部３４は、学習用コーパスにＷｏｒｄ２Ｖｅｃの手法を適用することにより、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成する（Ｓ１０）。ベクトル生成部３４が特徴ベクトルを生成すると、本フローチャートにおける処理は終了する。
【００７８】
＜第１の実施の形態に係る情報処理装置１が奏する効果＞
以上説明したように、第１の実施の形態に係る情報処理装置１によれば、複数の異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てることができる。
【００７９】
＜第２の実施の形態の形態＞
第２の実施の形態の概要を述べる。第２の実施の形態に係る情報処理装置１も、第１の実施の形態に係る情報処理装置１と同様に、互いに異なるネットワークを構成する各ノードに、同じ基準で特徴ベクトルを割り当てる。しかしながら、第２の実施の形態に係る情報処理装置１の学習用コーパス登録部３３が登録するノードシーケンスは、第１の実施の形態に係る学習用コーパス登録部３３が登録するノードシーケンスと異なる。
【００８０】
具体的には、第２の実施の形態に係る情報処理装置１の学習用コーパス登録部３３は、２つの異なるノードシーケンスを組み合わせた「対コーパス」を単位として、学習コーパスに登録する。このため、第２の実施の形態に係る情報処理装置１は、異なるノードシーケンス同士を比較し、類似するノードシーケンスを抽出するためのノードシーケンス比較部を備える点で、第１の実施の形態に係る情報処理装置１と異なる。学習用コーパス登録部３３は、類似するノードシーケンスを組み合わせた対コーパスを学習コーパスとして登録することにより、ベクトル生成部３４は、続関係が類似するノードに類似した特徴ベクトルを割り当てることができる。
【００８１】
以下、第２の実施の形態に係る情報処理装置１の機能構成を説明するが、第１の実施の形態に係る情報処理装置１と共通する箇所については、適宜省略又は簡略化して説明する。
【００８２】
＜第２の実施の形態に係る情報処理装置１の機能構成＞
図８は、第２の実施の形態に係る情報処理装置１の機能構成を模式的に示す図である。第２の実施の形態に係る情報処理装置１は記憶部２と制御部３とを備える。また、記憶部２は、ネットワーク情報取得部３０、重みスコア算出部３１、ノードシーケンス生成部３２、学習用コーパス登録部３３、ベクトル生成部３４、及びノードシーケンス比較部３５を備える。
【００８３】
ノードシーケンス比較部３５は、ノードシーケンス生成部３２が生成した複数のノードシーケンスそれぞれを構成する各ノードを重みスコアに置き換えたシーケンスの集合であるノードスコアシーケンス群を生成する。
【００８４】
図９（ａ）−（ｂ）は、第２の実施の形態に係るノードシーケンス比較部３５が生成するノードスコアシーケンス群を説明するための図である。具体的には、図９（ａ）はノードシーケンス比較部３５が生成したノードシーケンスを例示する図であり、図９（ｂ）は図９（ａ）に例示したノードシーケンスに対応するノードスコアシーケンスを示す図である。図９（ｂ）に示すように、ノードスコアシーケンスは、ノードシーケンスを構成する各ノードを重みスコアＷで置換したデータである。
【００８５】
ノードシーケンス比較部３５は、ノードスコアシーケンス同士を比較し、類似するノードシーケンス同士の組み合わせを対コーパスとして構成する。ノードシーケンス比較部３５は、ノードスコアシーケンスをベクトルとみなし、例えばベクトル同士のユークリッド距離やコサイン類似度やＤＴＷ（Dynamic Time Warping）を用いたシーケンス間の類似度を用いることで、対コーパスを構成することができる。
【００８６】
学習用コーパス登録部３３は、第１ネットワーク情報と第２ネットワーク情報とのそれぞれから得られた２つの異なるノードシーケンス群と、ノードシーケンス比較部３５において紐づけられたノードシーケンス群とから構成される学習用コーパスを登録する。
【００８７】
対コーパスを含む学習用コーパスから特徴量ベクトルを生成する場合、ベクトル生成部３４は、ＢｉｌＢＯＷＡ（Bilingual Bag-of-Words without Alignments）として知られる既知のアルゴリズムを用いる。
【００８８】
図１０は、第２の実施の形態に係るベクトル生成部３４の機能構成を模式的に示す図である。ＢｉｌＢＯＷＡは既知の手法であるため詳細な説明は省略するが、第２の実施の形態に係るベクトル生成部３４は、ＢｉｌＢＯＷＡの手法を実現するために第１生成部３４０、第２生成部３４１、及びノルム算出部３４２を備える。
【００８９】
第１生成部３４０は、第１ネットワーク情報に由来するノードシーケンスを学習データとして各ノードそれぞれについて他のノードとの関係性を示す第１特徴ベクトルを生成する。第２生成部３４１は、第２ネットワーク情報に由来するノードシーケンスを学習データとして各ノードそれぞれについて他のノードとの関係性を示す第２特徴ベクトルを生成する。
【００９０】
ノルム算出部３４２は、学習用コーパスにおけるノードシーケンス群の各組み合わせについて、組み合わせを構成する一方のノードシーケンスに含まれる各ノードの特徴ベクトルの平均値と、他方のノードシーケンスに含まれる各ノードの特徴ベクトルの平均値との差分ベクトルの２ノルムを算出する。第１生成部３４０と第２生成部３４１とは、ノルム算出部３４２が算出した２ノルムが小さくなるように、それぞれ第１特徴ベクトルと第２特徴ベクトルとを生成する。
【００９１】
ノルム算出部３４２が算出した２ノルムを小さくすることは、すなわち対コーパスを構成する２つのノードシーケンスに含まれる各ノードの特徴ベクトルの差が傾向として小さくなることを意味する。ノードシーケンス比較部３５は、類似するノードシーケンス同士を対コーパスとして構成するので、ベクトル生成部３４は、他のノードとの接続関係が類似していれば、類似する特徴ベクトルを算出することができる。また、対コーパスには異なるネットワークを構成するノードが含まれ得るため、ベクトル生成部３４は、異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てることができる。
【００９２】
＜第２の実施の形態に係る情報処理装置１が実行する情報処理の処理フロー＞
図１１は、第２の実施の形態に係る情報処理装置１が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置１が起動したときに開始する。
【００９３】
ネットワーク情報取得部３０は、複数のノード及び各ノード間の接続関係から構成されるネットワーク情報を取得する（Ｓ１２）。重みスコア算出部３１は、ネットワーク情報取得部３０が取得した第１ネットワーク情報と、第１ネットワーク情報とは異なる第２ネットワーク情報とのそれぞれについて、各ノードが接続する他のノードの数に基づいて各ノードの重みスコアを算出する（Ｓ１４）。具体的には、重みスコア算出部３１は、ネットワークを構成する全てのノードの接続数の総和に対する各ノードの接続数の割合を、ノードの重みスコアＷとする。
【００９４】
ノードシーケンス生成部３２は、接続関係が類似するノードが隣接するように並べられた複数のノードシーケンスを生成する（Ｓ１６）。ノードシーケンス比較部３５は、ノードシーケンス生成部３２が生成した複数のノードシーケンスそれぞれを構成する各ノードを、当該ノードの重みスコアに置き換えたシーケンスの集合であるノードスコアシーケンス群を生成する（Ｓ１８）。ノードシーケンス比較部３５は、ノードスコアシーケンスを比較し、類似するノードシーケンス同士を組み合わせた対コーパスを生成する（Ｓ２０）。
【００９５】
学習用コーパス登録部３３は、ノードシーケンス生成部３２が生成した複数のノードシーケンス及び対コーパスを学習用コーパスとして登録する（Ｓ２２）。ベクトル生成部３４は、学習用コーパスにＢｉｌＢＯＷＡの手法を適用することにより、各ノードそれぞれについて他のノードとの関係性を示す特徴ベクトルを生成する（Ｓ２４）。ベクトル生成部３４が特徴ベクトルを生成すると、本フローチャートにおける処理は終了する。
【００９６】
＜第２の実施の形態に係る情報処理装置１が奏する効果＞
以上説明したように、第２の実施の形態に係る情報処理装置１によれば、複数の異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てることができる。
【００９７】
＜第２の実施の形態の変形例＞
ノードシーケンス比較部３５は第１ネットワーク情報に由来するノードスコアシーケンスと、第２ネットワーク情報に由来するノードスコアシーケンスとを比較することにより、対コーパスを生成してもよい。これにより、ノードシーケンス比較部３５は、ステージ２において、第１完全グラフと第２完全グラフとを接続するパスを生成せずに、ノードスコアシーケンスを生成することができる。組み合わせが多大となる完全グラフ同士の接続を省略できるので、ノードシーケンス比較部３５はノードスコアの生成に要する計算量及びメモリを節約することができる。
【００９８】
上記では、ベクトル生成部３４は、ＢｉｌＢＯＷＡの手法を用いて特徴ベクトルを生成する場合について説明した。これに替えて、ベクトル生成部３４は、組み合わせシーケンス生成部が生成したノードシーケンスを連結してできる新たなノードシーケンスを構成する各ノードを単語とみなし、Ｓｋｉｐ−ｇｒａｍモデルを用いて各ノードの特徴ベクトルを生成してもよい。対コーパスは類似するノードシーケンス同士の組み合わせであり、異なるネットワークを構成するノードが含まれ得るため、ベクトル生成部３４は、異なるネットワークそれぞれを構成する各ノードに、統一した特徴ベクトルを割り当てることができる。
【００９９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【０１００】
＜第１の実施の形態及び第２の実施の形態に共通する変形例＞
上記では、重みスコア算出部３１は、ネットワークを構成する全てのノードの接続数の総和に対する各ノードの接続数の割合を、ノードの重みスコアＷとする場合について主に説明した。しかしながら、この重みスコアＷの算出方法は一例であり、他のノードとの接続数が多いノードは、他のノードとの接続数が少ないノードよりも大きな重みスコアＷとなることを条件として、重みスコア算出部３１は他の算出方法で重みスコアＷを算出してもよい。
【０１０１】
例えば、重みスコア算出部３１は、２ノード間の接続関係に基づく距離を算出し、それに基づいて重みスコアＷを決定しても構わない。以下、第２ネットワークを例にして、２ノード間の接続関係に基づく距離を利用した重みスコアＷの算出方法について説明する。
【０１０２】
まず、重みスコア算出部３１は、
・ノード１からｋホップで到達できる近傍ノード集合１をＲｋ（１）
・ノード２からｋホップで到達できる近傍ノード集合２をＲｋ（２）
・近傍ノード集合１に対応する各ノードの次数の集合を昇順にソートした近傍ノード次数集合１をｓ（Ｒｋ（１））
・近傍ノード集合２に対応する各ノードの次数の集合を昇順にソートした近傍ノード次数集合２をｓ（Ｒｋ（２））
とし、近傍ノード次数集合１と近傍ノード次数集合２をシーケンスとして比較し、ＤＴＷによりシーケンス間の距離に基づいて、２ノード間の接続関係に基づく距離ｆｋ（１，２）を評価する。
【０１０３】
次に、重みスコア算出部３１は、２ノード間の接続関係に基づく距離ｆｋ（１，２）を類似度に変換するため、ｆｋ（１，２）をｅｘｐ（−ｆｋ（１，２））とし、この大きさに応じてノードごとの重みの合計が１となるよう再配分する。第２ネットワークにはノード１以外にノード２、３、４があるので、重みスコア算出部３１は、
Ｗｋ（１，２）＝ｅｘｐ（−ｆｋ（１，２））／｛ｅｘｐ（−ｆｋ（１，２））＋ｅｘｐ（−ｆｋ（１，３））＋ｅｘｐ（−ｆｋ（１，４））｝
としてノード毎の重みの合計が１となるよう再配分する。
【０１０４】
最後に、あるネットワークを構成する各ノードのその他のノードの間の重みスコアＷｋ（・，・）の平均値をａ、であるノード１のステージＷｋ（１）をａを超えるＷｋ（１，・）の個数の割合として算出する。Ｗｋ（・，・）やＷｋ（１，・）のように示した場合の「・」は任意を意味する。ｋを無視して扱う場合は、Ｗｋ（１）を単にＷ（１）と表す。
【０１０５】
上記では、ノードシーケンス生成部３２は、式（１）に示す数式にしたがってステージの上昇確率を算出する場合について説明した。しかしながら、この上昇確率の算出方法は一例であり、重みスコアＷが大きいほど、すなわちネットワークにおいて接続数が多いノードほどステージ上昇確率が大きくなることを条件として、ノードシーケンス生成部３２は、他の算出方法で上昇確率を算出してもよい。
【０１０６】
上記では、ノードシーケンス生成部３２は、式（３）に示す数式にしたがってノード間の類似度を算出する場合について主に説明した。しかしながら、この類似度の算出方法は一例であり、ノード間の重みスコアＷの値が近いほど、類似度が大きくなることを条件として、ノードシーケンス生成部３２は、他の算出方法で類似度を算出してもよい。
【０１０７】
上記では、ネットワークの接続関係を保つステージ１と、各ネットワークを構成する全てのノードが接続された完全グラフとなるステージ２との、２つのステージ間を遷移する場合について説明した。これに替えて、ノードシーケンス生成部３２は、３以上のステージを用意し、３以上のステージを遷移しながらノードシーケンスを生成するようにしてもよい。
【０１０８】
例えば、ステージ２以上はｋホップで到達できる接続関係を表現し、ホップ数ｋに応じて多段になっていても構わない。この場合、各段間で上昇、下降できるようにする。このことにより、ホップ数の大きい大局的な接続関係に基づくノード間の類似度、ホップ数の小さい局所的な接続関係に基づくノード間の類似度を同時に表現することができる。さらに、大局的に見て中心性を持つノードはより上の段（ｋが大きいほう）に遷移しやすく、局所的にしか中心性を持たないノードはより下の段（ｋが小さいほう）に留まるといった性質を持たせることができる。
【０１０９】
ステージ２以上を多段にした場合の、段間の上昇、下降の確率は、ステージ間の遷移と同じく式（１）及び式（２）を用いて計算できる。式（１）及び式（２）にはホップ数を示すｋに関する式となっているため、計算方法は変わらない。
【０１１０】
また、ステージ２以上の段だけでノードシーケンスを生成しても構わない。さらに、ステージ２以上を多段にした場合、第１ネットワークと第２ネットワークの直径（最大のホップ数）に応じて、第１ネットワークと第２ネットワークのステージ２の段数が異なることがある。第１ネットワークのノードから第２ネットワークのノードへの遷移、第２ネットワークのノードから第１ネットワークのノードへの遷移の確率を定める際、第１ネットワークの段と第２ネットワークの段を対応付ける必要がある。この対応付けの方法は、下の段（ｋの小さいほう）から順番に対応付けする方法、上の段（ｋの大きいほう）から順番に対応付けする方法があり、どちらでも構わない。
【０１１１】
なお、ステージ２以上のステージは、各ネットワークを構成する全てのノードが接続された完全グラフとなるようにする。これにより、ステージ上昇確率が５０％を超えるノードは、ステージ１以外のステージに存在する可能性が高くなる。結果として、重みスコアＷが他のノードと比べて相対的に大きいノードは、小さいノードと比較して、異なるネットワークに遷移する可能性を高めることができる。
【符号の説明】
【０１１２】
１・・・情報処理装置
２・・・記憶部
３・・・制御部
３０・・・ネットワーク情報取得部
３１・・・重みスコア算出部
３２・・・ノードシーケンス生成部
３３・・・学習用コーパス登録部
３４・・・ベクトル生成部
３４０・・・第１生成部
３４１・・・第２生成部
３４２・・・ノルム算出部
３５・・・ノードシーケンス比較部
【図１】
2019144939.tif 000003
【図２】
2019144939.tif 000004
【図３】
2019144939.tif 000005
【図４】
2019144939.tif 000006
【図５】
2019144939.tif 000007
【図６】
2019144939.tif 000008
【図７】
2019144939.tif 000009
【図８】
2019144939.tif 000010
【図９】
2019144939.tif 000011
【図１０】
2019144939.tif 000012
【図１１】
2019144939.tif 000013