特許第6625507号(P6625507)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧
特許6625507対応付け装置、対応付け方法及びプログラム
<>
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000021
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000022
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000023
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000024
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000025
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000026
  • 特許6625507-対応付け装置、対応付け方法及びプログラム 図000027
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6625507
(24)【登録日】2019年12月6日
(45)【発行日】2019年12月25日
(54)【発明の名称】対応付け装置、対応付け方法及びプログラム
(51)【国際特許分類】
   G06F 16/906 20190101AFI20191216BHJP
【FI】
   G06F16/906
【請求項の数】7
【全頁数】15
(21)【出願番号】特願2016-206082(P2016-206082)
(22)【出願日】2016年10月20日
(65)【公開番号】特開2018-67189(P2018-67189A)
(43)【公開日】2018年4月26日
【審査請求日】2018年11月28日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】岩田 具治
【審査官】 鹿野 博嗣
(56)【参考文献】
【文献】 特開2013−171329(JP,A)
【文献】 特開2015−219880(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/906
(57)【特許請求の範囲】
【請求項1】
複数のネットワークのデータが入力されたときに、当該複数のネットワークのデータの各ノードの対応付けを見つける対応付け装置であって、
各ノードとクラスタとの関係を推定するときに、前記入力されたデータ、該当ノード以外のクラスタ割当集合、該当ノード以外の関連割当集合、及びパラメータに基づき、該当ノードがクラスタに関連するかどうかを推定するクラスタ関連推定部と、
前記パラメータがどのくらい前記入力されたデータをもっともらしく説明できているかを示す尤度が高くなるようにパラメータを推定するパラメータ推定部と、
前記クラスタ関連推定部における推定を、終了条件が満たされるまで繰り返す終了条件判定部と、
を有する対応付け装置。
【請求項2】
前記クラスタ関連推定部は、該当ノードがクラスタに関連しない場合、ノードによって異なる確率でノード間のリンクがはられると仮定し、該当ノードがクラスタに関連するかどうかを推定する、請求項1に記載の対応付け装置。
【請求項3】
前記パラメータ推定部は、前記パラメータに対してガンマ事前分布を仮定して事後確率からサンプリングすることで、前記パラメータを推定する、請求項1又は2に記載の対応付け装置。
【請求項4】
複数のネットワークのデータが入力されたときに、当該複数のネットワークのデータの各ノードの対応付けを見つける対応付け装置における対応付け方法であって、
各ノードとクラスタとの関係を推定するときに、前記入力されたデータ、該当ノード以外のクラスタ割当集合、該当ノード以外の関連割当集合、及びパラメータに基づき、該当ノードがクラスタに関連するかどうかを推定するクラスタ関連推定ステップと、
前記パラメータがどのくらい前記入力されたデータをもっともらしく説明できているかを示す尤度が高くなるようにパラメータを推定するパラメータ推定ステップと、
前記クラスタ関連推定ステップにおける推定を、終了条件が満たされるまで繰り返す終了条件判定ステップと、
を有する対応付け方法。
【請求項5】
前記クラスタ関連推定ステップにおいて、該当ノードがクラスタに関連しない場合、ノードによって異なる確率でノード間のリンクがはられると仮定し、該当ノードがクラスタに関連するかどうかを推定する、請求項4に記載の対応付け方法。
【請求項6】
前記パラメータ推定ステップにおいて、前記パラメータに対してガンマ事前分布を仮定して事後確率からサンプリングすることで、前記パラメータを推定する、請求項4又は5に記載の対応付け方法。
【請求項7】
コンピュータを、請求項1乃至3のいずれか1項に記載の対応付け装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のネットワークのデータが与えられたときに、与えられたデータの各ノードの対応付けを見つける対応付け装置、対応付け方法及びプログラムに関する。
【背景技術】
【0002】
異なるネットワークのノードを対応付ける技術は様々な場面で必要となる。例えば、異なるデータベースのIDを対応付けたり、語彙を対応付けることで辞書を作成したり、画像と説明文の対応を見つけたりする際に、ノードの対応付けが必要となる。
【0003】
これまでにノードの対応付け手法は数多く提案されている(例えば、非特許文献1及び2参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Yuya Yoshikawa, Tomoharu Iwata, Hiroshi Sawada, Takeshi Yamada,"Cross-Domain Matching for Bag-of-Words Data via Kernel Embeddings of Latent Distributions,"Advances in Neural Information Processing Systems, 2015
【非特許文献2】Tomoharu Iwata, James Robert Lloyd, Zoubin Ghahramani,"Unsupervised Many-to-Many Object Matching for Relational Data,"IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.38, No.3, 607-619, 2016
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1の対応付け手法は、異なるネットワークのノードの距離が計測できることや、一部のノード間の対応が既知であることを仮定しており、距離が計測できず、かつ、対応が全く得られない場合に、利用できないという問題がある。
【0006】
非特許文献2の対応付け手法は、距離が計測できず、かつ、対応が全く得られない場合にも適用可能な、教師なし対応付け手法である。しかし、データにノイズが含まれる場合に精度が低くなるという問題点がある。
【0007】
本発明は、各ノードがクラスタに関連するかどうかを推定しながら各ノードをクラスタに割り当てることにより、ノイズを含むデータであっても各ノードの対応付けを見つけることができる対応付け装置、対応付け方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一形態に係る対応付け装置は、
複数のネットワークのデータが入力されたときに、当該複数のネットワークのデータの各ノードの対応付けを見つける対応付け装置であって、
各ノードとクラスタとの関係を推定するときに、前記入力されたデータ、該当ノード以外のクラスタ割当集合、該当ノード以外の関連割当集合、及びパラメータに基づき、該当ノードがクラスタに関連するかどうかを推定するクラスタ関連推定部と、
前記パラメータがどのくらい前記入力されたデータをもっともらしく説明できているかを示す尤度が高くなるようにパラメータを推定するパラメータ推定部と、
前記クラスタ関連推定部における推定を、終了条件が満たされるまで繰り返す終了条件判定部と、
を有することを特徴とする。
【0009】
また、本発明の一形態に係る対応付け方法は、
複数のネットワークのデータが入力されたときに、当該複数のネットワークのデータの各ノードの対応付けを見つける対応付け装置における対応付け方法であって、
各ノードとクラスタとの関係を推定するときに、前記入力されたデータ、該当ノード以外のクラスタ割当集合、該当ノード以外の関連割当集合、及びパラメータに基づき、該当ノードがクラスタに関連するかどうかを推定するクラスタ関連推定ステップと、
前記パラメータがどのくらい前記入力されたデータをもっともらしく説明できているかを示す尤度が高くなるようにパラメータを推定するパラメータ推定ステップと、
前記クラスタ関連推定ステップにおける推定を、終了条件が満たされるまで繰り返す終了条件判定ステップと、
を有する対応付け方法。
【0010】
また、本発明の一形態に係るプログラムは、
コンピュータを、上記の対応付け装置の各部として機能させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、ノイズを含むデータであっても各ノードの対応付けを見つけることが可能になる。
【図面の簡単な説明】
【0012】
図1】本発明の実施例に係る対応付け装置の機能ブロック図
図2】本発明の実施例に係る対応付け装置における処理を示すフローチャート
図3】本発明の実施例によるネットワークの生成過程を示す図
図4】クラスタ割当及び関連割当を行った結果を示す図
図5】本発明の実施例によるシミュレーション結果を示す図
図6】本発明の実施例による単語のクラスタ割当と関連割当結果を示す図
図7】本発明の実施例に係る対応付け装置のハードウェア構成例を示す図
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施例について説明する。
【0014】
本発明の実施例では、複数のネットワークのデータが入力されたときに、当該複数のネットワークのデータの各ノードの対応付けを見つける対応付け装置について説明する。
【0015】
入力データとしてD個のネットワークデータが与えられたとする。ネットワーク表現されていないデータの場合、事例間の類似度などをもとにリンクをはることにより、ネットワークデータに変換することで、本発明の実施例が適用可能になる。このように、入力データはノード及びリンクの有無によって表現される。簡単のため、以下の実施例ではタイプ1のノードとタイプ2のノードで構成される重みのない二部グラフについて説明を行うが、重み付きのネットワークや、二部グラフではない一般的なグラフ、リンクに複数のタイプがあるネットワーク(リンクが友人関係、家族関係、仕事関係等の属性があるネットワーク)など、他のネットワークでも適用可能である。
【0016】
入力データは
【0017】
【数1】
と表現する。ここで
【0018】
【数2】
はd番目のネットワーク、xdnm∈{0,1}はタイプ1のn番目のノードとタイプ2のm番目のノードの間にリンクの有無を表す変数であり、リンクがある場合xdnm=1、リンクがない場合xdnm=0である。また、Dはネットワーク数であり、Ndtはネットワークdのタイプtのノード数である。
【0019】
また、以下の説明において、Ktはタイプtのクラスタ数であり、zdtnはネットワークdのタイプtのn番目のノードのクラスタ割当を表し、zdtn∈{0,1,…,∞}である。rdtnはネットワークdのタイプtのn番目のノードの関連割当であり、関連する場合rdtn=1、関連しない場合rdtn=0である。
【0020】
例えば、後述の例にて説明するWikipediaは、1つ文章に含まれる単語がリンクによって他の文章に結びつけられている。Wikipediaの例では、1つの文章を構成するノードをタイプ1のノードとし、他の文章を構成するノードをタイプ2のノードとして、本発明の実施例に係る対応付け装置は、タイプ1及びタイプ2の各ノードがクラスタに関連するかどうか、また、どのクラスタに割り当てられるかを推定する。更に、異なる言語のWikipediaを異なるネットワークとして扱うことにより、各ノードを複数ネットワークに共通するクラスタに割り当てる。
【0021】
図1は、本発明の実施例に係る対応付け装置100の機能ブロック図である。対応付け装置100は、クラスタ関連推定部110と、パラメータ推定部120と、終了条件判定部130とを有する。
【0022】
図2を参照して、図1の対応付け装置100における処理について説明する。
【0023】
ステップS101において、クラスタ関連推定部110は、入力データを受け取り、ステップS102において、クラスタ関連推定部110は、各ノードがクラスタに関連するかどうかを推定する。具体的には、クラスタ関連推定部110は、各ネットワークの各タイプの各ノードがどのクラスタに割り当てられるか、および、関連があると割り当てるか、を表す割当度を計算する。関連があると割り当てる場合には、ノードはいずれかのクラスタに割り当てられ、関連がないと割り当てる場合には、ノードはクラスタに割り当てられない。ノードとクラスタとの関係を示す割当度は、入力データ、該当ノード以外のクラスタ割当集合、該当ノード以外の関連割当集合、及びパラメータを考慮したものである。そして、クラスタ関連推定部110は、割当度に基づいて、クラスタ割当(各ノードをクラスタに割り当てること)と関連割当(各ノードがクラスタに関連するかどうかを割り当てること)を繰り返す。
【0024】
ここで、クラスタ関連推定部110は、クラスタと関連がどのくらい入力データをもっともらしく説明できているかを表す尤度が高くなるように、クラスタ割当と関連割当を繰り返す。同じようなリンク構造を持っている関連するノードが同じクラスタに割り当てられる場合、尤度は高くなる。また、ランダムにリンクがはられる場合、関連がないと割り当てると尤度が高くなり、リンクがクラスタ構造に従ってはられている場合、関連があると割り当てると尤度が高くなる。
【0025】
図3は、本発明の実施例によるネットワークデータの生成過程を示す図である。リンク確率を用いることで、ノード間のリンクがはられる。関連がない場合、ノードによらず一定の確率でノード間のリンクがはられると仮定した場合で以下の説明を進めるが、ノードによって異なる確率でノード間のリンクがはられると仮定してもよい。なお、本発明の実施例では、ネットワークデータは与えられるため、逆問題を解いてネットワークデータからリンク確率等を推定することができる。
【0026】
ステップS103において、パラメータ推定部120は、クラスタ関連推定部110において用いたパラメータがどのくらい入力データをもっともらしく説明できているかを表す尤度が高くなるようにパラメータを推定する。
【0027】
ステップS104において、終了条件判定部130は、クラスタ関連推定部110での処理と、パラメータ推定部120での処理を終了条件が満たされるまで繰り返す。終了条件としては、尤度が収束した、繰り返し数が一定数をこえた、クラスタや関連、パラメータの変化量があるしきい値以下であった、などが用いられる。なお、クラスタ関連推定部110は、割当度に従ってクラスタ割当と関連割当を決めるため、終了条件判定部130は、クラスタ関連推定部110のみの処理を繰り返すことで求められた推定結果に対して、終了条件が満たされているかを判定してもよい。すなわち、パラメータ推定部120におけるパラメータの更新が行われずに、クラスタ関連推定部110の処理を繰り返すことで求められた別のクラスタ割当と関連割当に対して、終了条件が満たされているかを判定してもよい。
【0028】
ステップS105において、クラスタ関連推定部110は、終了条件が満たされたときの推定結果であるクラスタ割当と関連割当を出力する。図4は、クラスタ関連推定部110において複数のネットワークのノードに対してクラスタ割当と関連割当を行った結果を示している。最後に、関連するノードのうち、同じクラスタに割り当てられたノードが対応するノードと判断する。
【0029】
なお、尤度の代わりに、事後確率など同等の性質を持つ値を用いることも可能である。また、以下ではマルコフ連鎖モンテカルロ法に基づいて潜在ベクトルを割り当てる場合について記述するが、最尤推定法や変分ベイズ法などを用いることも可能である。
【0030】
次に、クラスタ関連推定部110について詳細に説明する。
【0031】
図1に示すように、クラスタ関連推定部110は、初期化部111と、割当部112とを備えている。
【0032】
まず、初期化部111により、各ノードにランダムにクラスタ、関連を割り当てる。
【0033】
次に、割当部112において、まず、各ネットワークの各タイプの各ノードがどのクラスタに割り当てられるか、および、関連があると割り当てるか、を表す割当度を計算する。割当度は、入力として、ネットワークデータ、該当ノード以外のクラスタ割当集合と関連割当集合、パラメータ、をとり、これらの値を考慮したものである必要がある。ここではクラスタの割当は無限混合モデル(Charles Kemp, Joshua Tenenbaum, Thomas Griffiths, Takeshi Yamada, Naonori Ueda,"Learning Systems of Concepts with an Infinite Relational Model,"AAAI, 2006)をもとに行っているが、ネットワークのリンク構造に基づいてクラスタリングを行う手法であれば、他のクラスタリング手法を用いてもよい。
【0034】
クラスタ割当集合を
【0035】
【数3】
とし、関連割当集合を
【0036】
【数4】
とする。例えば、ネットワークdのタイプtのn番目のクラスタ割当zdtnと関連割当rdtnは、i=(d,t,n)としたとき、割当度は下式で計算できる。
【0037】
【数5】
ここで
【0038】
【数6】
はノードiを除いたときの集合や値を表し、
【0039】
【数7】
はノードiに関するリンクの集合、
【0040】
【数8】
である。
【0041】
第一因子は
【0042】
【数9】
で計算できる。ここで
【0043】
【数10】
は関連割当rのタイプtのノード数、
【0044】
【数11】
は関連すると割り当てられたクラスタkに割り当てられたタイプtのノード数を表す。
【0045】
関連しない場合の第二因子は
【0046】
【数12】
で計算できる。ここで
【0047】
【数13】
は関連しないノードのリンク数、
【0048】
【数14】
は関連しないノードの非リンク数、+i0はri=0とした場合の
【0049】
【数15】
に関する統計量を表す。
【0050】
関連する場合の第二因子は
【0051】
【数16】
で計算できる。ここで
【0052】
【数17】
はクラスタkとlに割り当てられた関連するノードの間のリンク数、
【0053】
【数18】
はクラスタkとlに割り当てられた関連するノードの間の非リンク数、+ikはri=1とzi=kとした場合の
【0054】
【数19】
に関する統計量を表す。
【0055】
次に、パラメータ推定部120について詳細に説明する。
【0056】
パラメータ推定部120は、パラメータαt,a,b,c,d,e,fがどのくらい入力データをもっともらしく説明できているかを表す尤度が高くなるようにパラメータを推定する。例えば、パラメータに対してガンマ事前分布を仮定して事後確率からサンプリングすることにより尤度が高くなるように、パラメータを推定できる。
【0057】
<本発明の実施例の評価>
本発明の実施例を評価するため、Wikipediaの英語、ドイツ語、イタリア語、日本語の5カテゴリ(ノーベル物理学賞、ノーベル化学賞、アメリカのバスケットボール選手、アメリカの作曲家、イングランドのサッカー選手)の文書を用いて実験を行った。各言語ペアで各カテゴリから50文書をサンプリングし2つの文書単語ネットワークを作成した。ここでストップワードを除去し、頻出する1000語彙を用いた。1つの文書単語ネットワークのサイズは(150×1000)である。
【0058】
比較手法として、ReMatch(非特許参考文献2)とIRM+KSを用いた。IRM+KSは無限関係モデル(Charles Kemp, Joshua Tenenbaum, Thomas Griffiths, Takeshi Yamada, Naonori Ueda,"Learning Systems of Concepts with an Infinite Relational Model,"AAAI, 2006)を用いてクラスタリングした後に教師なし対応付け手法であるカーネル並び替え法(Nemanja Djuric, Mihajlo Grbovic, Slobodan Vucetic,"Convex Kernelized Sorting,"AAAI, 2012)を用いて、クラスタの対応を見つける手法である。評価尺度としてはMatching Adjusted Rand Index (MARI)を用いた。
MARIは正しいクラスタ対応付ができるほど高い値をとる。図5にその結果である平均MARIとその標準誤差を示す。太字は最もよい手法に比べてt検定により有意差がなかったことを示す。図5から、本発明の実施例が比較手法に比べ高い性能を示しており、その有効性が確認できる。
【0059】
図6は、は英語(EN)とドイツ語(DE)のデータでのクラスタ割当および関連割当結果を示す。2行ずつで1つのクラスタに対応し、そのなかの上の行が英語の単語であり、下の行がドイツ語の単語である。一番下の2行は関連しないと割り当てられた単語である。例えば、一番上のクラスタには音楽に関連する単語がクラスタリングされており、2番目のクラスタにはバスケットボールに関連する単語がクラスタリングされている。このように、言語をまたいで関連する単語がクラスタリングされ、また、トピックに関係しない単語が関連なしと判断されている。
【0060】
<ハードウェア構成例>
図7に、本発明の実施例に係る対応付け装置100のハードウェア構成例を示す。対応付け装置100は、CPU(Central Processing Unit)151等のプロセッサ、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ装置152、ハードディスク等の記憶装置153等から構成されたコンピュータでもよい。例えば、対応付け装置100の機能及び処理は、記憶装置153又はメモリ装置152に格納されているデータやプログラムをCPU151が実行することによって実現される。また、対応付け装置100に必要な情報は、入出力インタフェース装置154から入力され、対応付け装置100において求められた結果は、入出力インタフェース装置154から出力されてもよい。
【0061】
<補足>
説明の便宜上、本発明の実施例に係る対応付け装置は機能的なブロック図を用いて説明しているが、本発明の実施例に係る対応付け装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係る対応付け装置の機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
【0062】
以上、ノイズを含むデータであっても各ノードの対応付けを見つけることができる手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【0063】
100 対応付け装置
110 クラスタ関連推定部
111 初期化部
112 割当部
120 パラメータ推定部
130 終了条件判定部
151 CPU
152 メモリ装置
153 記憶装置
154 入出力インタフェース装置
図1
図2
図3
図4
図5
図6
図7