(57)【要約】【課題】次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定することができるようにする。【解決手段】入力部４００が、判定対象の事実の入力を受け付け、判定部５１０が、ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された前記事実が、前記ナレッジグラフの事実として正しいか否かを判定する。【選択図】図３
2019101995.tif 000002
【特許請求の範囲】
【請求項１】
エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの事実として正しいか否かを判定する判定装置であって、
判定対象の事実の入力を受け付ける入力部と、
前記ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された前記事実が、前記ナレッジグラフの事実として正しいか否かを判定する判定部と、
を備える判定装置。
【請求項２】
前記ニューラルネットワークモデルは、下記の式で表されることを特徴とする請求項１記載の判定装置。
【数１】
2019101995.tif 000100
ただし、ｓ、ｏはエンティティであり、ｒはｓとｏとの関係であり、
2019101995.tif 000101
は関係ｒに対するｎ次元のベクトルであり、
2019101995.tif 000102
は関係ｒに対する行列であり、
2019101995.tif 000103
はエンティティｓ、ｏに対するｄ次元ベクトルであり、
2019101995.tif 000104
における
2019101995.tif 000105
は、実対称行列を直交行列を用いてスペクトル分解することにより得られる対角行列であり、
2019101995.tif 000106
は非線形関数であり、
2019101995.tif 000107
は、
2019101995.tif 000108
を含むモデルパラメータである。
【請求項３】
前記ニューラルネットワークモデルは、下記の式で表されることを特徴とする請求項１記載の判定装置。
【数２】
2019101995.tif 000109
ただし、ｓ、ｏはエンティティであり、ｒはｓとｏとの関係であり、
2019101995.tif 000110
は関係ｒに対するｎ次元のベクトルであり、
2019101995.tif 000111
は関係ｒに対する行列であり、
2019101995.tif 000112
はエンティティｓ、ｏに対する２ｄ次元ベクトルであり、
2019101995.tif 000113
における
2019101995.tif 000114
は、実正規行列をユニタリ行列を用いてスペクトル分解することにより得られる複素数を対角成分に持つ対角行列であり、
2019101995.tif 000115
は非線形関数であり、
2019101995.tif 000116
は、
2019101995.tif 000117
を含むモデルパラメータである。
【請求項４】
エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの事実として正しいか否かを判定する判定方法であって、
入力部が、判定対象の事実の入力を受け付けるステップと、
判定部が、前記ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された前記事実が、前記ナレッジグラフの事実として正しいか否かを判定するステップと、
を含む判定方法。
【請求項５】
コンピュータを、請求項１乃至３の何れか１項記載の判定装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置、判定方法、およびプログラムに関し、特に、ナレッジグラフの事実予測の計算速度を向上させるための判定装置、判定方法、およびプログラムに関する。
【背景技術】
【０００２】
ナレッジグラフＧ＝（Ｅ，Ｆ）とは、知識をエンティティ間の関係で記述し、ラベル付き有向グラフで知識の集合を表したものである。図５にナレッジグラフの例を示す。エンティティはノード、関係は辺のラベルに相当し、辺はエンティティｓ、ｏとその関係ｒの三つ組［ｓ；ｒ；ｏ］とし、事実（Ｆａｃｔ）とも呼ばれる。ナレッジグラフＧにおけるＦは事実［ｓ；ｒ；ｏ］の集合であり、Ｅはエンティティｅ（任意のエンティティｅはｓにもｏにも成りうる）の集合とする。
【０００３】
ナレッジグラフ上での関係予測とは、事実の有無を自動予測することである。一般に、ナレッジグラフでは全ての必要な事実が登録されている訳ではなく、例えば、図５の点線に示した事実のように必要な事実が欠落している事がある。このような事実の欠落を何らかのスコア関数に基づいて自動的に補完することは、ナレッジグラフの構築や情報検索システムにおいて重要な技術となる。
【０００４】
高精度かつ高速な関係予測モデルを設計する事は重要な課題であるが、非特許文献１ではニューラルテンソルネットワーク（ＮＴＮｓ；Ｎｅｕｒａｌ  Ｔｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ）と呼ばれるモデルが提案されている。このモデルは事実［ｓ；ｒ；ｏ］に対して、下記式（１）のような数式でスコアをモデル化する。
【０００５】
【数１】
2019101995.tif 000003
【０００６】
ある未知の事実［ｓ；ｒ；ｏ］が与えられたとき、式（１）のスコアが高ければ、正しい事実であり、逆に低ければ間違った事実と判定できる。
【０００７】
式（１）において、
2019101995.tif 000004
は、関係ｒに対するｎ次元のベクトル、
2019101995.tif 000005
は、関係ｒに対する３次テンソル、
2019101995.tif 000006
は、関係ｒに対する行列、
2019101995.tif 000007
は、エンティティｓ、ｏに対するｄ次元ベクトル、
2019101995.tif 000008
は、シグモイド関数やｔａｎｈ関数のような非線形関数である。
【０００８】
また、次元数ｄ、ｎは、任意に与えられるものである。一般的に、関係の数やエンティティの数より小さい次元数が設定される。
【０００９】
ＮＴＮｓでは、ナレッジグラフＧを入力として受け取り、上記のベクトル、行列やテンソル（まとめてモデルパラメータ
2019101995.tif 000009
と表記する）を、下記式（２）で最適となるように学習する。
【００１０】
【数２】
2019101995.tif 000010
【００１１】
ここで、
2019101995.tif 000011
は、負例事実の集合である。
【００１２】
式（２）は、マージン最大学習と呼ばれる学習基準であり、正しい事実［ｓ；ｒ；ｏ］と負例事実［ｓ´；ｒ´；ｏ´］のスコア差ができるだけ大きくなるように、モデルパラメータ
2019101995.tif 000012
を設定する。この学習には、例えば、確率的勾配降下法（非特許文献１）が用いられる。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】"Reasoning with Neural Tensor Networks for Knowledge Base Completion", Richard Socher, Danqi Chen, Christopher D.Manning, Andrew Y.Ng, Proceedings of the NIPS, 2013.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記のＮＴＮｓモデルでは、
2019101995.tif 000013
のテンソル部分に、
2019101995.tif 000014
の空間使用量を必要とする。また、そのスコア計算にも、
2019101995.tif 000015
を必要とする。そのため、ＮＴＮｓは、次元数ｄ、ｎが増大すると、空間使用量も増大し、計算速度が低下するという問題が指摘されている。
【００１５】
本発明は、上記の点に鑑みてなされたものであり、次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定することができる判定装置、判定方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る判定装置は、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの事実として正しいか否かを判定する判定装置であって、判定対象の事実の入力を受け付ける入力部と、前記ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された前記事実が、前記ナレッジグラフの事実として正しいか否かを判定する判定部と、を備えて構成される。
【００１７】
また、本発明に係る判定方法は、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの事実として正しいか否かを判定する判定方法であって、入力部が、判定対象の事実の入力を受け付けるステップと、判定部が、前記ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された前記事実が、前記ナレッジグラフの事実として正しいか否かを判定するステップと、を含む。
【００１８】
本発明に係る判定装置及び判定方法によれば、入力部が、判定対象の事実の入力を受け付け、判定部が、ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された事実が、当該ナレッジグラフの事実として正しいか否かを判定する。
【００１９】
このように、ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された事実が、当該ナレッジグラフの事実として正しいか否かを判定することにより、次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定することができる。
【００２０】
また、本発明に係るニューラルネットワークモデルは、下記の式で表されることができる。
【００２１】
【数３】
2019101995.tif 000016
【００２２】
ただし、ｓ、ｏはエンティティであり、ｒはｓとｏとの関係であり、
2019101995.tif 000017
は関係ｒに対するｎ次元のベクトルであり、
2019101995.tif 000018
は関係ｒに対する行列であり、
2019101995.tif 000019
はエンティティｓ、ｏに対するｄ次元ベクトルであり、
2019101995.tif 000020
における
2019101995.tif 000021
は、実対称行列を直交行列を用いてスペクトル分解することにより得られる対角行列であり、
2019101995.tif 000022
は非線形関数であり、
2019101995.tif 000023
は、
2019101995.tif 000024
を含むモデルパラメータである。
【００２３】
また、本発明に係るニューラルネットワークモデルは、下記の式で表されることができる。
【００２４】
【数４】
2019101995.tif 000025
【００２５】
ただし、ｓ、ｏはエンティティであり、ｒはｓとｏとの関係であり、
2019101995.tif 000026
は関係ｒに対するｎ次元のベクトルであり、
2019101995.tif 000027
は関係ｒに対する行列であり、
2019101995.tif 000028
はエンティティｓ、ｏに対する２ｄ次元ベクトルであり、
2019101995.tif 000029
における
2019101995.tif 000030
は、実正規行列をユニタリ行列を用いてスペクトル分解することにより得られる複素数を対角成分に持つ対角行列であり、
2019101995.tif 000031
は非線形関数であり、
2019101995.tif 000032
は、
2019101995.tif 000033
を含むモデルパラメータである。
【００２６】
本発明に係るプログラムは、上記の判定装置の各部として機能させるためのプログラムである。
【００２７】
本発明に係るモデルパラメータ学習装置は、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの入力を受け付ける入力部と、前記入力部に入力された前記ナレッジグラフに基づいて、負例となる事実を少なくとも１以上含む負例データを生成する負例データ生成部と、判定対象の事実が、前記ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを、前記ナレッジグラフと、前記負例データ生成部が生成した前記負例データとを用いて学習するモデル学習部と、を備えて構成される。
【００２８】
また、本発明に係るモデルパラメータ学習方法は、入力部が、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの入力を受け付けるステップと、負例データ生成部が、前記入力部に入力された前記ナレッジグラフに基づいて、負例となる事実を少なくとも１以上含む負例データを生成するステップと、モデル学習部が、判定対象の事実が、前記ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを、前記ナレッジグラフと、前記負例データ生成部が生成した前記負例データとを用いて学習するステップと、を含む。
【００２９】
本発明に係るモデルパラメータ学習装置及びモデルパラメータ学習方法によれば、入力部が、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの入力を受け付け、負例データ生成部が、入力部に入力されたナレッジグラフに基づいて、負例となる事実を少なくとも１以上含む負例データを生成する。
【００３０】
そして、モデル学習部が、判定対象の事実が、ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを、ナレッジグラフと、負例データ生成部が生成した負例データとを用いて学習する。
【００３１】
このように、ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを、ナレッジグラフと、負例データ生成部が生成した負例データとを用いて学習することにより、次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定するための、モデルパラメータを学習することができる。
【発明の効果】
【００３２】
本発明に係る判定装置、判定方法、およびプログラムによれば、次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態に係るモデルパラメータ学習装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係るモデルパラメータ学習装置のモデルパラメータ学習処理ルーチンを示すフローチャートである。
【図３】本発明の実施の形態に係る判定装置の構成の一例を示すブロック図である。
【図４】本発明の実施の形態に係る判定装置の判定処理ルーチンを示すフローチャートである。
【図５】ナレッジグラフの例を示す図である。
【発明を実施するための形態】
【００３４】
以下、本発明の実施の形態について図面を用いて説明する。
【００３５】
＜本発明の実施の形態に係るモデルパラメータ学習装置の原理＞
まず、本発明の実施形態の原理について説明する。
【００３６】
本発明の実施形態における成果は、ＮＴＮｓモデルにおけるテンソル部分の各スライス（行列）
2019101995.tif 000034
に制限を設けることで、新しいニューラルネットワークモデルを２つ提案し、空間使用量と計算速度の問題を解決したことである。ここでは、２つのモデルを、それぞれニューラルスペクトラルテンソルネットワーク１、２（ＮＳＴＮｓ−１，２；Ｎｅｕｒａｌ  Ｓｐｅｃｔｒａｌ  Ｔｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ−１，２）と呼ぶ。
【００３７】
＜＜ＮＳＴＮｓ−１モデル＞＞
ＮＳＴＮｓ−１モデルでは、式（１）におけるテンソル部分の各行列（スライス）を実対称行列に制限する。実対称行列はスペクトル分解により直交行列
2019101995.tif 000035
を使って、下記式（３）として対角化できることが知られている。
【００３８】
【数５】
2019101995.tif 000036
【００３９】
式（３）から、式（１）の
2019101995.tif 000037
に対して、テンソル部分の各スライスを下記式（４）として変形することできる。
【００４０】
【数６】
2019101995.tif 000038
【００４１】
式（４）として変形することで、テンソル
2019101995.tif 000039
の空間使用量を、
2019101995.tif 000040
とすることができる。
【００４２】
すなわち、各スライス
2019101995.tif 000041
が対角成分のみから成るため、実際は
2019101995.tif 000042
の空間使用量に制限することができる。そのため、ＮＴＮｓの空間使用量、計算速度の問題を緩和することができる。
【００４３】
ＮＳＴＮｓ−１モデルの式は、下記式（５）のように表すことができる。
【００４４】
【数７】
2019101995.tif 000043
【００４５】
式（５）において、
2019101995.tif 000044
は、関係ｒに対するｎ次元のベクトル、
2019101995.tif 000045
は、関係ｒに対する３次テンソル（ただし、
2019101995.tif 000046
に対して
2019101995.tif 000047
は対角行列）、
2019101995.tif 000048
は、関係ｒに対する行列、
2019101995.tif 000049
は、エンティティｓ、ｏに対するｄ次元ベクトル、
2019101995.tif 000050
は、シグモイド関数やｔａｎｈ関数のような非線形関数とする。
【００４６】
また、ベクトル
2019101995.tif 000051
、及び、行列
2019101995.tif 000052
のパラメータをまとめて、モデルパラメータ
2019101995.tif 000053
とする。
【００４７】
＜＜ＮＳＴＮｓ−２モデル＞＞
２つ目のモデルでは、式（１）におけるテンソル部分の各行列を実正規行列に制限する。実正規行列は実対称行列よりも制限を緩めたクラスの行列であり、非対称な関係も扱うことができる。また、実対称行列もスペクトル分解によりユニタリ行列
2019101995.tif 000054
を使って、下記式（６）として対角化できることが知られている。
【００４８】
【数８】
2019101995.tif 000055
【００４９】
ここで、
2019101995.tif 000056
は、ユニタリ行列、
2019101995.tif 000057
は、複素数を対角成分に持つ対角行列とする。
【００５０】
ここで、対角行列
2019101995.tif 000058
と、非線形関数
2019101995.tif 000059
とは、同一の記号（γ）を一部に用いて表されているが、異なるものである。
【００５１】
なお、
2019101995.tif 000060
は、複素数の実部だけをとる操作であるとする。
【００５２】
また、複素数の行列を実数の行列に変換する操作として
2019101995.tif 000061
及び、
2019101995.tif 000062
を用いることができる。これにより、式（１）の
2019101995.tif 000063
に対して、テンソル部分の各スライスを下記式（７）として変形することで、テンソル
2019101995.tif 000064
の空間使用量を
2019101995.tif 000065
とすることができる。
【００５３】
【数９】
2019101995.tif 000066
【００５４】
このモデルでも、ＮＳＴＮｓ−１モデルと同様に、ＮＴＮｓの空間使用量、計算速度の問題を緩和することができる。一方で、ＮＳＴＮｓ−１モデルよりも表現力が高く、ナレッジグラフに現れる非対称な関係のモデル化にも向いている。ＮＳＴＮｓ−１モデルは、テンソル部分において対称な関係のみを考慮しているためである。
【００５５】
最終的に、ＮＳＴＮｓ−２モデルの式は、下記式（８）のように表すことができる。
【００５６】
【数１０】
2019101995.tif 000067
【００５７】
式（８）において、
2019101995.tif 000068
は、関係ｒに対するｎ次元のベクトル、
2019101995.tif 000069
は、関係ｒに対する３次テンソル（ただし、
2019101995.tif 000070
に対して、
2019101995.tif 000071
は、２×２ブロック対角行列）、
2019101995.tif 000072
は、関係ｒに対する行列、
2019101995.tif 000073
は、エンティティｓ、ｏに対する２ｄ次元ベクトル、
2019101995.tif 000074
は、シグモイド関数やｔａｎｈ関数のような非線形関数とする。
【００５８】
また、ベクトル
2019101995.tif 000075
、及び、行列
2019101995.tif 000076
のパラメータをまとめて、モデルパラメータ
2019101995.tif 000077
とする。
【００５９】
＜＜モデルパラメータの学習＞＞
【００６０】
下記式（９）に従って、ＮＳＴＮｓ−１及び２のモデルパラメータ
2019101995.tif 000078
を最適化して学習する。
【００６１】
【数１１】
2019101995.tif 000079
【００６２】
ここで、
2019101995.tif 000080
は、Ｌ１正則化項であり、モデルパラメータの値を０に近づける効果を持ち、オーバーフィッティングの問題を回避できる（参考文献１）。
【００６３】
［参考文献１］
"Regression Shrinkage and Selection via the Lasso", Tibshirani Robert, Journal of the Royal Statistical Society, Series B（Methodological）,267-288, 1996.
【００６４】
モデルパラメータ
2019101995.tif 000081
は、関係やエンティティなど複数種類のベクトル、行列パラメータを持つが、個々にＬ１正則化を書くと冗長となるため、まとめて
2019101995.tif 000082
として記述している。上記の式（９）の最適化には、例えば、確率的勾配降下法（非特許文献１）を用いることができる。
【００６５】
＜＜モデルパラメータの利用＞＞
【００６６】
式（９）によって学習されたモデルパラメータを用いて、入力された事実Ｆに対するＮＳＴＮｓ−１モデル（式（５））、または、ＮＳＴＮｓ−２モデル（式（８））のスコアを計算して、計算したスコアに基づいて事実の有無を予測する。例えば、予め定めた閾値を超えているか等に基づいて、事実の有無を判断する。
【００６７】
式（１）は、スコア計算において、
2019101995.tif 000083
を必要としたが、式（５）では、上記の通り空間使用量が、
2019101995.tif 000084
であるため、式（５）におけるスコア計算も
2019101995.tif 000085
に抑えることができる。
【００６８】
また、式（１）における
2019101995.tif 000086
と同様に、これを式（４）において変形した
2019101995.tif 000087
もｄ次元ベクトルであるため、この点においてスコア計算の速度に変化はない。
よって、式（５）では、式（１）に比してスコア計算の高速化を実現することができることがわかる。同様に、式（８）も式（１）に比してスコア計算の高速化を実現することができる。
【００６９】
したがって、ＮＳＴＮｓを用いることにより、未知の事実が正しいか誤っているかをＮＴＮｓよりも高精度かつ高速に判定できる。結果として、ナレッジグラフの構築（新しい事実の追加）や情報検索の高精度化につながる。
【００７０】
＜本発明の実施の形態に係るモデルパラメータ学習装置の構成＞
図１を参照して、本発明の実施の形態に係るモデルパラメータ学習装置の構成について説明する。図１は、本発明の実施の形態に係るモデルパラメータ学習装置の構成を示すブロック図である。
【００７１】
モデルパラメータ学習装置１０は、ＣＰＵと、ＲＡＭと、後述する行動選択学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００７２】
図１に示すように、本実施形態に係るモデルパラメータ学習装置１０は、入力部１００と、演算部２００と、出力部３００とを備えて構成される。
【００７３】
入力部１００は、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの入力を受け付ける。
【００７４】
具体的には、入力部１００は、入力されたナレッジグラフＧ＝（Ｅ，Ｆ）を受け付ける。
【００７５】
そして、入力部１００は、入力されたナレッジグラフＧを、負例データ生成部２１０に渡し、入力されたモデルをモデル選択部２２０に渡す。
【００７６】
演算部２００は、判定対象の事実が、ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを、ナレッジグラフが記述する複数の事実と、負例データとを用いて学習する。
【００７７】
具体的には、演算部２００は、負例データ生成部２１０と、モデル選択部２２０と、モデル学習部２３０とを備えて構成される。
【００７８】
負例データ生成部２１０は、入力部１００に入力されたナレッジグラフに基づいて、負例となる事実を少なくとも１以上含む負例データを生成する。
【００７９】
具体的には、負例データ生成部２１０は、入力されたナレッジグラフＧの集合Ｆに含まれる全ての事実
2019101995.tif 000088
、及び、任意のエンティティ
2019101995.tif 000089
に対して、［ｅ，ｒ，ｏ］、及び、［ｓ，ｒ，ｅ］の事実を生成し、サンプリングしたものを負例事実の集合
2019101995.tif 000090
に追加する。負例の定義、及び負例の生成方法は、任意の方法を採用することができ、例えば、非特許文献１の負例サンプリング法を用いることができる。
【００８０】
モデル選択部２２０は、ユーザの選択を受け付けて、モデル学習部２３０で用いる関数として、判定対象の事実が、ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを選択する。
【００８１】
具体的には、モデル選択部２２０は、モデル学習部２３０で用いる関数
2019101995.tif 000091
として、上記式（５）（ＮＳＴＮｓ−１モデル）、及び式（８）（ＮＳＴＮｓ−２モデル）の何れかを、選択する。例えば、モデル選択部２２０は、入力部１００に入力されたユーザの選択に応じて、学習するモデルを選択する。
【００８２】
また、モデル選択部２２０は、式（１）のＮＴＮｓモデルを選択できるように構成してもよい。
【００８３】
そして、モデル選択部２２０は、選択したモデルを、モデル学習部２３０に渡す。
【００８４】
モデル学習部２３０は、モデル選択部２２０により選択されたニューラルネットワークモデルを、ナレッジグラフが記述する複数の事実と、負例データ生成部２１０が生成した負例データとを用いて学習する。
【００８５】
具体的には、まず、モデル学習部２３０は、モデルパラメータ
2019101995.tif 000092
の各パラメータを、モデル選択部２２０により取得したＮＳＴＮｓモデルに応じて初期化する等の必要な処理を行う。
【００８６】
次に、モデル学習部２３０は、式（９）に従って、モデル選択部２２０により選択されたＮＳＴＮｓモデル（ＮＳＴＮｓ−１モデル、又はＮＳＴＮｓ−２モデル）のモデルパラメータ
2019101995.tif 000093
を最適化して学習する。最適化には、例えば、確率的勾配降下法（非特許文献１）を用いることができる。
【００８７】
また、式（１）（ＮＴＮｓモデル）が選択された場合、式（２）及び式（９）のいずれの式に従って、モデルパラメータ
2019101995.tif 000094
を最適化して学習してもよい。ここで、式（１）のモデルパラメータ
2019101995.tif 000095
を式（９）にしたがって最適化して学習した場合には、Ｌ１正則化項を用いるため、オーバーフィッティングの問題を回避することが可能である。
【００８８】
そして、モデル学習部２３０は、選択されたモデルと、学習したモデルパラメータ
2019101995.tif 000096
とを、出力部３００に渡す。
【００８９】
出力部３００は、モデル学習部２３０で学習されたモデルパラメータ
2019101995.tif 000097
を出力する。
【００９０】
＜本発明の実施の形態に係るモデルパラメータ学習装置の作用＞
図２は、本発明の実施の形態に係るモデルパラメータ学習処理ルーチンを示すフローチャートである。
【００９１】
入力部１００にナレッジグラフが入力されると、モデルパラメータ学習装置１０において、図２に示すモデルパラメータ学習処理ルーチンが実行される。
【００９２】
まず、ステップＳ１００において、入力部１００は、エンティティ間の関係を表す複数の事実を記述したラベル付き有向グラフであるナレッジグラフの入力を受け付ける。
【００９３】
ステップＳ１１０において、負例データ生成部２１０は、上記ステップＳ１００で入力されたナレッジグラフに基づいて、負例となる事実を少なくとも１以上含む負例データを生成する。
【００９４】
ステップＳ１２０において、モデル選択部２２０は、ユーザの選択を受け付けて、モデル学習部２３０で用いる関数として、判定対象の事実が、ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを選択する。
【００９５】
ステップＳ１３０において、モデル学習部２３０は、上記ステップＳ１２０において選択されたニューラルネットワークモデルのモデルパラメータの各パラメータを初期化する。
【００９６】
ステップＳ１４０において、上記ステップＳ１２０で選択されたニューラルネットワークモデルを、ナレッジグラフが記述する複数の事実と、上記ステップＳ１１０において負例データ生成部２１０が生成した負例データとを用いて学習する。
【００９７】
ステップＳ１５０において、上記ステップＳ１４０で学習されたモデルパラメータを出力する。
【００９８】
以上説明したように、本実施形態に係るモデルパラメータ学習装置によれば、ナレッジグラフにおける正しい事実であるか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを、ナレッジグラフと、負例データ生成部が生成した負例データとを用いて学習するため、次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定するための、モデルパラメータを学習することができる。
【００９９】
＜本発明の実施の形態に係る判定装置の構成＞
図３を参照して、本発明の実施の形態に係る判定装置の構成について説明する。図３は、本発明の実施の形態に係る判定装置の構成を示すブロック図である。
【０１００】
判定装置２０は、ＣＰＵと、ＲＡＭと、後述する判定処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【０１０１】
図３に示すように、本実施形態に係る判定装置２０は、入力部４００と、演算部５００と、出力部６００とを備えて構成される。
【０１０２】
入力部４００は、ナレッジグラフの事実として正しいか否かの判定対象となる事実の入力を受け付ける。
【０１０３】
具体的には、入力部４００は、ナレッジグラフの事実として正しいか否かの判定対象となる事実（ｓ，ｒ，ｏ）を受け付ける。
【０１０４】
そして、入力部４００は、入力された事実（ｓ，ｒ，ｏ）を、判定部５１０に渡す。
【０１０５】
演算部５００は、入力された事実が、ナレッジグラフの事実として正しいか否かを判定する。
【０１０６】
具体的には、演算部５００は、判定部５１０と、モデル記憶部５２０とを備えて構成される。
【０１０７】
判定部５１０は、ナレッジグラフの事実として正しいか否かの判定に用いるスコアを計算するためのニューラルネットワークモデルであって、前記関係に対応する３次テンソルに含まれる各行列を、実対称行列又は実正規行列としたニューラルネットワークモデルを用いて、入力された事実が、ナレッジグラフの事実として正しいか否かを判定する。
【０１０８】
具体的には、まず、判定部５１０は、モデル記憶部５２０から、モデルパラメータ学習装置１０によって学習されたニューラルネットワークモデル
2019101995.tif 000098
を取得する。ここで、判定に用いるニューラルネットワークモデルとして、ＮＴＮｓモデル（式（１））、ＮＳＴＮｓ−１モデル（式（５））、又はＮＳＴＮｓ−２モデル（式（８）））のうち、モデルパラメータ学習装置１０によって学習済みのモデルを取得する。学習済みのモデルが複数ある場合には、任意に選択できるように構成されてもよい。
【０１０９】
次に、判定部５１０は、入力された事実（ｓ，ｒ，ｏ）について、取得したニューラルネットワークモデル
2019101995.tif 000099
を用いて、スコアを算出する。
【０１１０】
そして、判定部５１０は、算出したスコアが予め定めた閾値以上である場合に、入力された事実（ｓ，ｒ，ｏ）が、ナレッジグラフの事実として正しいと判定する。また、判定部５１０は、算出したスコアが予め定めた閾値以上ではない場合に、入力された事実（ｓ，ｒ，ｏ）が、ナレッジグラフの事実として正しくないと判定する。
そして、判定部５１０は、判定結果を出力部６００に出力する。
【０１１１】
出力部６００は、判定部５１０の判定結果を出力する。
【０１１２】
＜本発明の実施の形態に係る判定装置の作用＞
図４は、本発明の実施の形態に係る判定処理ルーチンを示すフローチャートである。
【０１１３】
入力部４００に事実が入力されると、判定装置２０において、図４に示す判定処理ルーチンが実行される。
【０１１４】
まず、ステップＳ２００において、入力部４００が、事実の入力を受け付ける。
【０１１５】
ステップＳ２１０において、判定部５１０は、モデル記憶部５２０から、モデルパラメータ学習装置１０によって学習されたニューラルネットワークモデルを取得する。
【０１１６】
ステップＳ２２０において、判定部５１０は、上記ステップＳ２００で入力された事実について、上記ステップＳ２１０にて取得したニューラルネットワークモデルを用いて、スコアを算出する。
【０１１７】
ステップＳ２３０において、判定部５１０は、上記ステップＳ２２０で算出したスコアが予め定めた閾値以上である場合に、入力された事実が、ナレッジグラフの事実として正しいと判定する。また、判定部５１０は、算出したスコアが予め定めた閾値以上ではない場合に、入力された事実が、ナレッジグラフの事実として正しくないと判定する。
【０１１８】
ステップＳ２４０において、出力部６００は、判定部５１０の判定結果を出力する。
【０１１９】
以上説明したように、本実施形態に係る判定装置によれば、モデルパラメータ学習装置１０によって学習されたニューラルネットワークモデルを用いて、入力された事実が、ナレッジグラフの事実として正しいか否かを判定するため、次数の多いナレッジグラフにおいても、未知の事実が正しいか誤っているかを高精度かつ高速に判定することができる。
【０１２０】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２１】
また、本明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１２２】
１０   モデルパラメータ学習装置
２０   判定装置
１００ 入力部
２００ 演算部
２１０ 負例データ生成部
２２０ モデル選択部
２３０ モデル学習部
３００ 出力部
４００ 入力部
５００ 演算部
５１０ 判定部
５２０ モデル記憶部
６００ 出力部
【図１】
2019101995.tif 000118
【図２】
2019101995.tif 000119
【図３】
2019101995.tif 000120
【図４】
2019101995.tif 000121
【図５】
2019101995.tif 000122