ナレッジグラフ推論チャレンジ ツール部門用応募フォーム

グラフニューラルネットワークによる犯人推定～まだらの紐と未知エンティティ問題～
穴田研究室4年
勝島修平
g1623019@tcu.ac.jp

東京都市大学目次（推論・推理過程の説明）⚫ 問題の概要⚫ アプローチの特徴と結論⚫ 既存研究の問題点⚫ 問題の定式化⚫ グラフニューラルネットワークについて⚫ ナレッジグラフデータのトリプルへの変換
⚫ 結果
⚫ 課題

⚫ まとめ
⚫ 実行環境・資料共有について
2

問題の概要

人工知能の発展に伴った説明性を持つAIの開発の必要性

ナレッジグラフ推論チャレンジの開催
小説の内容を構造化した大規模ナレッジグラフを利用し“推理小説の犯人を説明付きで推定すること”

昨年度のチャレンジでは、“知識グラフ補完＋述語論理式の充足可能性問題”として解いた野村総合研究所が最優秀賞を獲得

3

アプローチの特徴と結論⚫ 特徴① 今回の問題を、文章のナレッジグラフ上に捜査方法が欠落していると考え、それを補完するために通常の知識グラフ補完ではなく、“未知エンティティ問題”とみなした① 未知エンティティ問題の解法に“グラフニューラルネットワーク”を利用⚫ 結論
小説上の登場人物と、犯人であるロイロットとのトリプルの補完を確認(犯人推定のみ）

4

既存研究の問題点
野村総合研究所の推定フロー昨年度野村総合研究所の応募フォームから抜粋

日本語文からSAT問題に移行する際の自然言語処理の反復による、元の解釈とのずれ→できるだけ元の知識グラフの表現は変えないまま犯人推定を行いたい
ところが、通常の知識グラフ補完では、説明性のための“ルール”や“常識”の追加ができない5

知識グラフ補完
TransE；エンティティや関係を連続値のベクトルで表現

文章表現（トリプル）

先頭エンティティ

関係

末尾エンティティ

ホームズ

会う

ヘレン

𝑉ℎ𝑉𝑟

𝑉𝑡

トリプルの先頭エンティティと関係、末尾エンティティの表現ベクトルがそれぞれ𝑉ℎ , 𝑉𝑟 , 𝑉𝑡 の時、”𝑉ℎ + 𝑉𝑟 = 𝑉𝑡 “ が成り立つようにベクトルの学習を行う*今回のナレッジグラフの加工についてはスライドp15参照
6

問題の定式化（通常の知識グラフ補完）
BAC

B

AC

犯人検証時

～は（equalTo)

ロイロット

ロイロット

D

犯人D“*正例”判定！
*正例：正しいトリプル
負例：間違っているトリプル⚫ 既存のナレッジグラフ上のエンティティのベクトルを訓練⚫ 学習したベクトルを利用し、赤線の関係を含めたオレンジ点線枠のトリプルの正誤を判断“犯人エンティティと小説上の犯人であるロイロットとのトリプルの補完”を目指す
7

問題の定式化（未知エンティティ問題）
ナレッジグラフを訓練
B
A
C欠落
犯人B

犯人を推定するための知識“常識”や“ルール”が欠落している

AC＝エンティティが不完全
ロイロット＝未知エンティティ問題とみなす

ロイロット

D

D

B
A

補助知識

C

⚫ 犯人エンティティを後から追加するため、そのベクトルをどのように獲得するかが課題

犯人

未知エンティティ
ロイロットと補助知識を追加

D
8グラフニューラルネットワーク（GNN)⚫ 概要
小説ナレッジグラフ上にないエンティティのベクトルを獲得するため、濱口らのグラフニューラルネットワークを導入

⚫ 特徴

①

グラフ構造上に定義されたニューラルネットワークの一種② 伝播モデルと出力モデルを組み合わせることで、ベクトルの学習とトリプルの正誤判断を行う

9グラフニューラルネットワーク（GNN)

ニューラルネットワーク

𝑋1
入力

𝑋2

𝑊1𝑊2𝑢

出力…

𝑊𝑛𝑋𝑛
⚫ ニューロンの信号を入力とし、それに重みをかけ、出力を行う

10

グラフニューラルネットワーク（GNN)

グラフニューラルネットワーク
𝐕ℎ1𝑨ℎ𝑒𝑎𝑑𝑟1

𝐕𝑒𝐕ℎ2…

入力

𝐕ℎ𝑛𝑨ℎ𝑒𝑎𝑑𝑟2e𝑨ℎ𝑒𝑎𝑑𝑟𝑛
𝑇ℎ𝑒𝑎𝑑 𝐕ℎ ; ℎ, 𝑟, 𝑒 = 𝑅𝑒𝐿𝑈(𝐵𝑁 𝑨ℎ𝑒𝑎𝑑𝐕ℎ )𝑟𝐕ℎ ：先頭エンティティのベクトル、𝑇ℎ𝑒𝑎𝑑 ：遷移関数、
𝐵𝑁：batch normalization、 𝑅𝑒𝐿𝑈 ：ランプ関数⚫ グラフニューラルネットワークでは、あるエンティティ（e）の近傍エンティティのベクトルが入力、そしてそれをつなぐ関係が重みとなる

11グラフニューラルネットワーク（GNN)
伝播モデル
⚫ 概要
伝播モデルを用いることにより、近傍のベクトルから未知エンティティのベクトルを獲得する➢遷移関数

エンティティ𝑒とその近傍ℎ, 𝑡との関係𝑟を反映するような近傍のベクトル𝐕ℎ ,𝐕𝑡 を変換する𝑇ℎ𝑒𝑎𝑑 𝐕ℎ ; ℎ, 𝑟, 𝑒 = 𝑅𝑒𝐿𝑈(𝐵𝑁 𝑨ℎ𝑒𝑎𝑑𝐕ℎ )𝑟𝑇𝑡𝑎𝑖𝑙 𝐕𝒕 ; 𝑒, 𝑟, 𝑡 = 𝑅𝑒𝐿𝑈(𝐵𝑁 𝑨𝑡𝑎𝑖𝑙𝑟 𝐕𝑡 )➢プーリング関数

先頭・末尾の近傍集合から共通の側面を抜き出す
𝑆ℎ𝑒𝑎𝑑 𝑒 = 𝑇ℎ𝑒𝑎𝑑 𝐕ℎ ; ℎ, 𝑟, 𝑒 |(ℎ, 𝑟, 𝑒) ∈ 𝑁ℎ (𝑒)𝑆𝑡𝑎𝑖𝑙 𝑒 = 𝑇𝑡𝑎𝑖𝑙 𝐕𝑡 ; 𝑒, 𝑟, 𝑡 |(𝑒, 𝑟, 𝑡) ∈ 𝑁𝑡 (𝑒)𝐕𝑒 = 𝑃 𝑆ℎ𝑒𝑎𝑑 (𝑒) ∪ 𝑆𝑡𝑎𝑖𝑙 (𝑒)𝑁ℎ (𝑒), 𝑁𝑡 (𝑒)はそれぞれ先頭近傍、末尾近傍
𝑃はプーリング関数（要素ごとの平均）
12グラフニューラルネットワーク（GNN)
出力モデル
⚫ 概要
伝播モデルで計算されたベクトルを用いてトリプルの正誤と最小化すべき関数を定義➢ スコア関数あるトリプル ℎ, 𝑟, 𝑡 がどれくらい妥当かを評価(正しい知識を表すトリプルに対しては小さい値）𝑓 ℎ, 𝑟, 𝑡 = 𝐕ℎ + 𝐕𝑟 −𝐕𝑡➢ 目的関数スコア関数に基づいて最小化すべき関数を定義： ℎ𝑖′ , 𝑟𝑖 , 𝑡𝑖′ は負例（間違っているトリプル）を表す
𝜁 = ෍ 𝑓 ℎ𝑖 , 𝑟𝑖 , 𝑡𝑖 − 𝜏 − 𝑓 ℎ𝑖′ , 𝑟𝑖 , 𝑡𝑖′+𝑖13

犯人推定までのプロセス
小説ナレッジグラフ①SPARQLによる抽出

ナレッジグラフ（トリプル）

追加知識②伝播モデル

ベクトル獲得

④学習⑤常識の追加③出力モデル

スコア関数と目的関数
ナレッジグラフ＋追加知識⑥伝播モデル

ベクトル獲得⑧学習⑦出力モデル

スコア関数と目的関数⑨判定

トリプルの正誤（犯人推定）14

ナレッジグラフデータのトリプルへの変換⚫ 目的
グラフニューラルネットワークを用いて解くためにナレッジグラフの変換を行う⚫ 概要
昨年度の野村総合研究所のテンソル変換を参考にし、文章のオントロジーデータからSPARQLによってRDFデータを抽出し、トリプルの表現に変換
id

主語
1 Helen4 Helen

述語comenotHave

目的語
house_of_Holmesmoney

5 HelengetMarried within_2_months

6 Helen
6 Helen
7 Helen
7 Helen8 Helen
9 Roylottobtainobtain
pay
pay
live
equalTo

10 Roylott

getMarried mother_of_Helen

11 sister

includemoney
within_2_months
money
reward_of_request
mansion_of_Roylott
father-in-law
Julia

…
15

結果（仕様）ナレッジグラフの各要素数
主語

述語

目的語

トリプル数

45

27

129258

主な追加したエンティティと補助知識会ったことがある

殺害犯

存命している

殺害動機がある被害者（ジュリア）被害者殺害日

被害者

16

結果
“トリプルの補完”を確認～である(equalTo)

殺害犯

ロイロット
（犯人）

既存手法と提案手法の表現力の違い
既存手法（Tucker分解のみ）

提案手法

エンティティ数

18151

総関係数

14627新知識の追加

不可

可能

犯人推定

不可

可能

Tucker分解のみでは捜査手法となる知識の追加が出来ないため犯人推定まではできないが提案手法では追加するエンティティとの関係性を定義することで犯人推定が行える

17

結果（目的関数の推移）⚫ 0には収束していないが、目的関数で負例のトリプルを考慮しているためだと考えられる

18

課題⚫ 追加知識の精査
今回は犯人推定を行えることを示すために主観に基づき追加知識を設定したが、説明性のために、文章からトリプルを作成したり、テキストからベクトルを求める方法を使って犯人推定を行うことが望まれる⚫ 嘘の考慮
小説のナレッジグラフの情報をそのまま取り込み学習を行っていくため、このモデルでは嘘の考慮ができない⚫ 手作業の削減
文章のオントロジーデータからトリプルを作成する際に手作業が多く入るためデータ整形に関するシステム化の向上を目指したい

19

まとめ

⚫ 本問題をナレッジグラフにおける“未知エンティティ問題”として解くことで小説上の犯人であるロイロットの推定を行うことができた⚫ エキスパートシステム寄りの方法ではなく、あくまで機械学習での推定を行った⚫ ただし、説明性の点では不十分なままとなってしまった⚫ 他の説明性のあるモデル（決定木など）での解釈が可能でないか、今後も模索したい

20

実行環境・資料共有について⚫ Windows10⚫ プロセッサ：Intel® Core™ i7-9700CPU⚫ Python3.7.3⚫ 参考文献濱口拓男他：“未知エンティティを伴う知識ベース補完：グラフニューラルネットワークを用いたアプローチ”, 人工知能学会論文誌, 33巻2号F（2018年）⚫ 応募フォーム：共有可⚫ 変換したナレッジグラフデータ：共有可21