リケラボ論文検索は、全国の大学リポジトリにある学位論文・教授論文を一括検索できる論文検索サービスです。

リケラボ 全国の大学リポジトリにある学位論文・教授論文を一括検索するならリケラボ論文検索大学・研究所にある論文を検索できる

リケラボ 全国の大学リポジトリにある学位論文・教授論文を一括検索するならリケラボ論文検索大学・研究所にある論文を検索できる

大学・研究所にある論文を検索できる 「記憶装置付きニューラルネットワークモデルによる構造化知識を用いた質問応答・対話」の論文概要。リケラボ論文検索は、全国の大学リポジトリにある学位論文・教授論文を一括検索できる論文検索サービスです。

コピーが完了しました

URLをコピーしました

論文の公開元へ論文の公開元へ
書き出し

記憶装置付きニューラルネットワークモデルによる構造化知識を用いた質問応答・対話

村山, 友理 お茶の水女子大学

2023.03.23

概要

2022 年度博士学位論文

記憶装置付きニューラルネットワー
クモデルによる構造化知識を用いた
質問応答・対話

お茶の水女子大学大学院
人間文化創成科学研究科
理学専攻
村山 友理

指導教員 小林一郎 教授

2023 年 3 月

i

要約

本研究では,構造化知識を用いた質問応答及び対話に取り組んだ.自然言語表現と

Linked Open Data 形式で記述された知識ベースを結びつけるために,自然言語文を知
識ベース検索用のクエリ言語 SPARQL に変換することで知識への問い合わせを行う
様々な研究が行われてきたが,これらにおいて自然言語文から生成したクエリが正し
い答えを返すかは保証されていない.そこで,本研究では先行研究のアプローチを踏
まえて,自然言語文から抽出したエンティティを知識側の語彙と対応付け,エンティ
ティ間のリレーションを知識を繰り返し参照することで獲得することに重点を置いた

SPARQL クエリの自動生成手法を提案する.KNP による述語項構造・係り受け解析
と,データ主導による RDF トリプルの変形を用いた自然言語文から SPARQL クエリ
への変換手法により,クエリが完成されれば答えを返すことが保証される.また,基
本型,Degree 型,Count 型,List 型の 4 つの質問タイプを設定し,それぞれの質問タ
イプの自然言語質問文及び,より一般化した,それらを組み合わせた質問文に対して
それぞれ適切な SPARQL クエリを生成することができた.質問タイプを設定すること
により,正確なクエリを容易に生成し,自然言語文が意図する質問に回答することを
可能にした.
現在,自然言語処理では Transformer を用いた研究が主流であるが,いくつか問題点
も指摘されている.その中の一つとして,Transformer の長期的な情報保存についての問
題は Differentiable Neural Computer (DNC) が解決したが,別の問題として Transformer
のような汎用言語モデルは,大規模テキストデータで事前学習を行うことで,さまざ
まな自然言語処理タスクを解くことができる一方で,知識利用や演算処理などの能力
は大量のコーパス学習から暗黙的に得られるとされ,正しさは保証されないという問
題がある.そこで,本研究の Research Question として,DNC をベースに Transformer
と知識利用・演算処理を行うアーキテクチャを組み込むことで,知識と演算を必要と
する自然言語処理タスクでの性能の向上を目指す.本研究の目的は,計算機の原理で
あるチューリングマシンをニューラルネットワークで模した DNC に,Transformer と
知識利用・演算処理を行うアーキテクチャを組み込んだモデルを構築し,知識と演算

ii
を必要とする自然言語処理タスクを扱えるか検証を行うことである.
提案モデルを構築する前に,DNC を日本語対話に適用する予備研究を行った.文
脈を考慮した対話の研究は,言語として英語を扱ったものが大半であり,日本語を対
象としたものは少ない.また,日本語による対話のデータセットはいくつか存在する
が,明示的に文脈理解を問うようなデータセットではない.そこで,本研究では既存
の英語のデータセットである bAbI データセットを参考に,喫茶店での注文の場面を
想定した日本語注文対話データセットを作成し,課題の解決を試みる.作成したデー
タセットに対し DNC を適用することで,文脈を用いた日本語注文対話システムを構
築する.実験を行なった結果,平均テスト誤り率として低い値を得ることができた.
文脈理解と知識活用は対話にとって重要であるが,これらの課題を扱った研究は未だ
あまり進められていない.また,対話のアーキテクチャとして Seq2Seq や,T5,BART
といった sequence-to-sequence なモデル(相手の発話を入力として応答となる発話を
生成するモデル)が主流になっている.一方,より自然で知的な対話を行うには文脈
理解や知識活用が必要であるが,そのための長期間におけるデータ保存の能力には限
界があると議論されてきた.そこで,文脈情報などの長期の情報を保持するために,

DNC などの記憶装置付きニューラルネットワークモデルが提案されている.これら
のモデルは記憶装置を付け加えたことにより従来のモデルに比べてより複雑な情報処
理を行えるようになり,文脈を踏まえた対話においても高い精度を実現している.本
研究では,DNC を基盤とした,文脈を捉えつつ,分散表現による構造化知識を用い
た手法を提案する.一貫性があり,かつ大規模な知識を要求する質問応答で構成され
た CSQA データセットを用いた実験では,全体の評価事例における予測単語が不正解
であった割合を表す誤り率によって提案モデルとオリジナルの DNC モデルを評価し
た結果,全体の結果は DNC より下がってしまったが,10 項目中 5 項目で結果が向上
した.また,Dialog bAbI データセットを用いた実験では,DNC, rsDNC, DNC-MD に
対して知識を扱うメモリを追加した提案モデルがオリジナルモデルを上回った.特に,
各モデルは知識を要求するタスクで,それぞれおよそ 14%, 20%, 7%向上した.Movie

Dialog データセットの実験では,rsDNC, DNC-DMS に対する提案モデルがオリジナ
ルモデルより良い結果になった.
知識グラフを埋め込み空間内に表現し,論理計算を行う質問応答手法として Condi-

tional Theorem Provers や Query2Box が提案されている.しかし,これらの手法では
限られた計算のみしか扱うことができない.本研究では,DNC と,さらに DNC を改
良した rsDNC と DNC-DMS に対して,質問応答タスクにおいて重要な要素である知

iii
識利用と演算処理を新たに組み入れ,構造化知識に対する演算処理を含んだ質問文に
ついて正しい答えを生成するために任意の演算を用いて能力を向上させることを目指
す.アメリカの地理に関する知識と演算処理を要求する GEO データセットとそれを
拡張したデータセットにおいて,BERT をファインチューニングした結果より,DNC
モデルをベースに BERT と知識を扱うメモリと演算を行うユニットを追加した提案手
法の結果がすべて平均 top-1 accuracy と平均 top-10 accuracy の両方で向上した.さら
に,rsDNC を改良した提案手法は GEO データセットにおける平均 top-1 accuracy で最
も良い結果を達成し,総合的に DNC より高いスコアを得た.
キーワード:自然言語処理,構造化知識,深層学習

iv

Abstract

Various approaches to connect natural language with knowledge have been studied. As
the common problem for their studies, they aim to convert natural language into query
language in order to access from natural language expression to knowledge represented in
the formal form such as Linked Open Data. Based on the approaches of prior studies, in
this study, we propose a method that generates SPARQL queries by iteratively referencing
to knowledge compiled as Linked Open Data. In the experiment, our method was able to
generate correct SPARQL queries for each question type.
Nowadays Transformer-based studies are commonplace in the natural language processing, yet there are some problems. The Differentiable Neural Computer (DNC) solved one of
the problems that Transformer cannot store data over a long time. Another problem is that
a general-purpose language model such as Transformer is able to solve various natural language processing tasks by pre-training the large scale text data, whereas the ability such as
knowledge using and arithmetic processing is supposed to be obtained implicitly from training vast amount of corpora and the correctness is not guaranteed. Therefore, our research
question is that we aim to improve the performance on natural language processing tasks
requiring knowledge and the operation by incorporating architectures for knowledge and
arithmetic processing, and Transformer into DNC. Our objective is to build a model incorporating Transformer and architectures for knowledge and arithmetic processing into DNC,
a neural network modeling of the Turing machine which is the principle of the computer,
and verify whether the model can deal with natural language processing tasks requiring
knowledge and the operation.
Before building the proposed model, we conducted a preliminary study applying DNC to
Japanese dialogue. There are many works on dialogue systems considering context using
the neural network. In our work, to realize a robot cafeteria, we applied DNC to the process
of ordering dialogue. We created a Japanese ordering dialogue dataset and conducted an
experiment on it. As the result, we obtained the low mean test error rate.

v
It is essential for dialogue to understand context and use knowledge. However, researches
dealing with these issues have not progressed much yet. In addition, nowadays sequenceto-sequence models such as Seq2Seq, T5 and BART are commonplace for dialogue architectures. On the other hand, it is necessary for more natural and intellectual dialogue to
understand context and use knowledge. However, scientists have argued that such models
are limited in their ability to store data over a long time. To retain the long-term information,
neural network models with an external memory such as DNC have been proposed. These
models learned to process more complex information compared to standard ones by adding
the memory, and achieved a highly accurate performance in dialogue considering context.
In our work, we enrich the DNC architecture and propose a method using both context and
structured knowledge by the distributed representation. We conducted an experiment on
the CSQA dataset composed of a series of coherently linked question answering that require a large scale knowledge graph. Even though the overall test error rate of our proposed
method was lower than that of DNC, our method performed better at five out of ten items.
In an experiment with the Dialog bAbI dataset, our improved DNC, rsDNC and DNC-MD
outperformed their original models. In particular, each model obtained an improvement of
approximately 14%, 20% and 7% respectively on a task requiring knowledge. In the Movie
Dialog dataset, our improved rsDNC and DNC-DMS also yield better performance than
their original models.
DNC, a neural network model with an addressable external memory, can solve algorithmic and question answering tasks. As improved versions of DNC, rsDNC and DNC-DMS
have been proposed. However, how to integrate structured knowledge and calculation into
these DNC models remains a challenging research question. We incorporate architectures
for knowledge and calculation into such DNC models, i.e. DNC, rsDNC and DNC-DMS,
to improve the ability to generate correct answers for questions with multi-hop reasoning
and calculation over structured knowledge. Our improved rsDNC model achieved the best
performance for the mean top-1 accuracy and our improved DNC-DMS model scored the
highest for top-10 accuracy in GEO dataset. In addition, our model improving rsDNC outperformed the other models with the mean top-1 accuracy and the mean top-10 accuracy in
augmented GEO dataset.

Keywords: Natural Language Processing, Linked Open Data, Deep Learning

vi

目次

第1章

序論

1

1.1

研究背景と目的

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

記憶装置付きニューラルネットワークモデル

5

2.1

ノイマン型コンピュータと Differentiable Neural Computer . . . . . . . .

5

2.2

Differentiable Neural Computer . . . . . . . . . . . . . . . . . . . . . . .

6

第2章

2.3

2.2.1

メモリの構造

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.2.2

コントローラ

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2.3

Interface パラメータ . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.2.4

メモリの読み書き . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.2.5

メモリの番地付け . . . . . . . . . . . . . . . . . . . . . . . . . .

11

write weighting の更新 . . . . . . . . . . . . . . . . . . . . . . . .

11

Content-based addressing . . . . . . . . . . . . . . . . . . . . . .

11

retention vector ψt の構成 . . . . . . . . . . . . . . . . . . . . . .

11

usage vector ut の構成 . . . . . . . . . . . . . . . . . . . . . . . .

12

allocation weighting の構成 . . . . . . . . . . . . . . . . . . . . .

12

Write weighting . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

read weighting の更新 . . . . . . . . . . . . . . . . . . . . . . . .

13

Content-based addressing . . . . . . . . . . . . . . . . . . . . . .

13

precedence weighting の構成 . . . . . . . . . . . . . . . . . . . .

14

temporal link matrix の構成 . . . . . . . . . . . . . . . . . . . . .

14

forward/backward weighting の構成 . . . . . . . . . . . . . . . . .

15

Read weighting . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

関連研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

vii
第3章

自然言語文の SPARQL クエリ変換によるメニューオントロジーへの
アクセス

17

3.1

研究背景と目的

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2

関連技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

セマンティック Web . . . . . . . . . . . . . . . . . . . . . . . . .

18

リンクトデータ . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

RDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

SPARQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

述語項構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.3

提案手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.4

実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.4.1

実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.4.2

結果と考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.2.1

3.2.2

3.5
第4章

記憶装置付きニューラルネットワークモデルの文脈を考慮した日本語注
文対話への適用

27

4.1

研究背景と目的

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

4.2

文脈を考慮した日本語注文対話データセットの作成 . . . . . . . . . . .

27

4.3

予備実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.3.1

実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.3.2

結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.3.3

考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.4
第5章

記憶装置付きニューラルネットワークモデルによる文脈と構造化知識を
用いた対話

32

5.1

研究背景と目的

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

5.2

提案手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

知識メモリの構築 . . . . . . . . . . . . . . . . . . . . . . . . . .

34

実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5.3.1

実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5.3.2

CSQA データセット . . . . . . . . . . . . . . . . . . . . . . . . .

35

5.2.1
5.3

viii
結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Dialog bAbI データセット . . . . . . . . . . . . . . . . . . . . .

41

結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

Movie Dialog データセット . . . . . . . . . . . . . . . . . . . . .

44

結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

5.3.3
5.3.4
5.4
第6章

記憶装置付きニューラルネットワークモデルによる構造化知識と演算処
理を用いた質問応答

53

6.1

研究背景と目的

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

6.2

提案手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

プロセッサ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

プロセッサ処理 . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

6.3.1

実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

6.3.2

データセット

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

6.3.3

結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

結論

62

6.2.1
6.3

6.4
第7章

付 録 A 研究業績

70

ix

図目次

2.1

ノイマン型コンピュータ(左)と Neural Turing Machine(右)のアー
キテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.2

Differentiable Neural Computer の全体図 . . . . . . . . . . . . . . . . . .

7

3.1

RDF トリプルの基本要素 . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2

自然言語文から SPARQL クエリへの変換手法の全体図 . . . . . . . . .

20

3.3

メニューオントロジーの一部 . . . . . . . . . . . . . . . . . . . . . . . .

23

3.4

例「塩分が低くて,トマトを使ったパスタはありますか?」の処理の流れ 24

4.1

実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

5.1

知識メモリを持つ提案モデルの全体図 . . . . . . . . . . . . . . . . . . .

33

5.2

DNC モデルの各タイムステップにおけるメモリに対する読み出し/書き
込みのアテンションの重みの可視化結果 . . . . . . . . . . . . . . . . .

5.3

提案モデルの各タイムステップにおける文脈メモリに対する読み出し/
書き込みのアテンションの重みの可視化結果 . . . . . . . . . . . . . . .

5.4

40

提案モデルの各タイムステップにおける知識メモリからの読み出しの
アテンションの重みの可視化結果 . . . . . . . . . . . . . . . . . . . . .

5.5

39

41

提案モデルのテストデータにおける応答予測の一例.[] 内の単語は正
解を表す.予測した単語と正解が一致していれば緑字,異なれば赤字
で表示される.

5.6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

Dialog bAbI データセットでの rsDNC+KM の成功例における文脈メモ
リへの書き込みのアテンションの重みの可視化結果.横軸は文脈メモ
リにおける番地を表し,縦軸はタイムステップ毎の入力データあるい
はモデル出力を表す. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.7

49

Dialog bAbI データセットでの rsDNC+KM の成功例における文脈メモ
リからの読み出しのアテンションの重みの可視化結果 . . . . . . . . . .

50

図目次

5.8

x
Dialog bAbI データセットでの rsDNC+KM の成功例における知識メモ
リからの読み出しのアテンションの重みの可視化結果 . . . . . . . . . .

5.9

50

Dialog bAbI データセットでの rsDNC+KM の結果が悪い例における文
脈メモリへの書き込みのアテンションの重みの可視化結果 . . . . . . .

51

5.10 Dialog bAbI データセットでの rsDNC+KM の結果が悪い例における文
脈メモリからの読み出しのアテンションの重みの可視化結果 . . . . . .

52

5.11 Dialog bAbI データセットでの rsDNC+KM の結果が悪い例における知

6.1

識メモリからの読み出しのアテンションの重みの可視化結果 . . . . . .

52

知識メモリとプロセッサを持つ提案モデルの全体図 . . . . . . . . . . .

54

xi

表目次

3.1

質問タイプの分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.2

各質問タイプにおける知識抽出結果 . . . . . . . . . . . . . . . . . . . .

25

4.1

作成した注文対話データセットの例 . . . . . . . . . . . . . . . . . . . .

28

5.1

CSQA データセットの対話例 . . . . . . . . . . . . . . . . . . . . . . . .

35

5.2

各質問タイプにおける誤り率 . . . . . . . . . . . . . . . . . . . . . . . .

36

5.3

Dialog bAbI データセットにおける平均 per-response accuracy . . . . . .

42

5.4

Dialog bAbI データセットにおける詳細結果.“w/o KB facts” は知識ベー
スのファクトなしで答えられるタスクを表し,“w/ KB facts” は質問に
答えるのに知識ベースのファクトが必要なタスクを表す.“w/ KB facts

(OOV)” の結果はすべて 0.00%だったため省略した. . . . . . . . . . .
5.5

Dialog bAbI データセットでの rsDNC+KM の出力がすべて正解となっ
た成功例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.6

45

Movie Dialog データセットにおける平均 hits@k.“k=1” は hits@1,“k=10”
は hits@10 を意味する. . . . . . . . . . . . . . . . . . . . . . . . . . .

5.8

44

Dialog bAbI データセットでの rsDNC+KM の出力が “w/ KB facts” タス
クですべて不正解だったときの結果が悪い例 . . . . . . . . . . . . . . .

5.7

42

45

Movie Dialog データセットにおける詳細結果.“k=1” は hits@1,“k=10”
は hits@10 を意味する. . . . . . . . . . . . . . . . . . . . . . . . . . .

46

6.1

知識ベースの一部 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

6.2

GEO データセットと GEO 1380 における平均 Acc@k . . . . . . . . . .

58

6.3

GEO 1380 データセットにおける各質問タイプの平均 Acc@10 . . . . .

60

6.4

各質問タイプ数

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

1

第 1 章 序論

1.1

研究背景と目的

近年,様々な分野の膨大なデータベースを意味的に結びつけたデータ群が大規模知
識 (Linked Open Data) として公開されている.自然言語処理の中で背景知識として用
いることで,表層的な情報による推論だけでは難しい,常識などを含んだ自然言語理
解に役立てることができる [Bosselut 19, Young 17, Miller 16].本研究では,構造化知
識を用いた自然言語処理に取り組み,まず初めに自然言語文から知識にアクセスする
研究を行った.自然言語表現と Linked Open Data 形式で記述された知識ベースを結び
つけるために,自然言語文を SPARQL クエリに変換することで知識への問い合わせ
を行う様々な研究が行われてきた.[Wang 07] では,自然言語文の構文解析結果に対
して,知識を記述するための語彙や,WordNet [Miller 95] などの一般的な辞書からな
る語彙,ユーザが定義する語彙などを適用することで RDF トリプルに変換する手法
を提案している.[Zou 14] では,複数の RDF トリプルをつなぎ Semantic Query Graph
なる知識グラフを構築し,断片的な知識を複数のトリプルからなる知識に変換するこ
とで自然言語文の解釈の精度を高めている.また,[鈴木 15] では,自然言語文を構文
解析した結果を論理式に変換し,そこから SPARQL クエリを生成する手法を提案して
いる.しかし,これらにおいて自然言語文から生成したクエリが正しい答えを返すか
は保証されていない.そこで本研究の 1 つ目では,先行研究のアプローチを踏まえて,
自然言語文から抽出したエンティティを知識側の語彙と対応付け,エンティティ間の
リレーションを知識を繰り返し参照することで獲得することに重点を置いた SPARQL
クエリの自動生成手法を提案する.提案手法により SPARQL クエリが完成されれば,
答えを返すことが保証される.
本研究では次に,構造化知識をディープニューラルネットワークに取り入れる研
究を行った.まず,記憶装置付きニューラルネットワークモデル Differentiable Neural

Computer (DNC) [Graves 16] の背景を述べる.近年,ディープニューラルネットワー
クはコンピュータビジョンや自然言語処理といったさまざまなタスクの複雑なパター

第 1 章 序論

2

ンマッチングにおいて顕著な発展を遂げてきた. しかし,グラフや木などのデータ構
造の表現や変数の使用,長い系列に対する表現の操作といった能力には限界があると
されてきた.

Recurrent Neural Network (RNN) は系列データの長距離依存を捉えることができ,
チューリング完全であることも知られている [Siegelmann 95] ため,抽象的な処理を行
う能力があるとされるが,
「理論的には」の話であり,現実には勾配消失問題 [Bengio 94]
に苦しんだ. Long Short-Term Memory (LSTM) はこの問題について, RNN アーキテク
チャにゲート機構を導入し,毎タイムステップのゲート値との要素ごとの積によって
勾配を計算することで解決した [Hochreiter 97]. LSTM は大きく成功し,sequence-to-

sequence model [Sutskever 14] と attention mechanism [Bahdanau 14, Luong 15] のおかげ
で RNN を上回るのに貢献した. Transformer [Vaswani 17] は,ほとんどすべて attention

mechanism を基にしており,LSTM や伝統的なモデルをいろいろなタスクで打ち破っ
てきた. しかし,Transformer には長期的文脈情報を固定長の系列にエンコードするせ
いで context fragmentation problem [Dai 19] がある. この問題を解くために,過去の情
報をメモリ内にキャッシュしておくさまざまな手法 [Dai 19, Rae 19, Martins 22] が提案
されてきた. けれど未だ Transformer をベースとしたモデルは,先にディープニューラ
ルネットワークの限界として挙げた課題への真の解法には至っていない.
一方,ノイマン型コンピュータでは,プログラムは単純な算術演算と論理演算を行
う処理装置,制御命令文(順次実行,条件分岐,反復)を扱う制御装置,そして計算中
にデータや命令文が読み書きされるメモリという 3 つの基礎的な仕組みによって実行
される [Neumann 45].このアーキテクチャは複雑なデータ構造を表現でき,アルゴリ
ズムタスクを解くことができるように学習する. ノイマン型コンピュータはプロセッサ
(すなわち処理装置と制御装置)による計算とメモリを分けているが,ニューラルネッ
トワークは計算とメモリをネットワークの重みとして一緒にしている. 計算とメモリを
明示的に分けたニューラルネットワークとして提案されたのが Neural Turing Machine

(NTM) [Graves 14] である.NTM はテープの長さが無限であることによる有限状態
チューリングマシンから類推された,読み書き可能な外部メモリを持つ.NTM 全体は
微分可能なため,メモリへのアクセスのやり方を含めて end-to-end に学習できる. さら
に,メモリアクセス機構を改良した Differentiable Neural Computer (DNC) [Graves 16]
が提案され,路線図の最短路探索タスクや家系図の推測タスクなどの構造化データ上
のアルゴリズムタスクを解いた. 前提付きの質問応答における実験では,入力系列は
メモリに書き込まれ,答えを推測するのに必要な情報がメモリから読み出されること

第 1 章 序論

3

から,変数を表現している. DNC は動的メモリアクセス機構により長い系列を学習す
ることも可能にした.

DNC は Transformer の長期的な情報保存についての問題を解決したが,別の問題も
指摘されている.Transformer のような汎用言語モデルは,大規模テキストデータで事
前学習を行うことで,さまざまな自然言語処理タスクを解くことができる一方で,知
識利用や演算処理などの能力は大量のコーパス学習から暗黙的に得られるとされ,正
しさは保証されないという問題がある.そこで,本研究の Research Question として,

DNC をベースに Transformer と知識利用・演算処理を行うアーキテクチャを組み込む
ことで,知識と演算を必要とする自然言語処理タスクでの性能の向上を目指す.本研
究の目的は,計算機の原理であるチューリングマシンをニューラルネットワークで模
した DNC に,Transformer と知識利用・演算処理を行うアーキテクチャを組み込んだ
モデルを構築し,知識と演算を必要とする自然言語処理タスクを扱えるか検証を行う
ことである.
提案モデルを構築する前に,DNC を日本語対話に適用する予備研究を行った.文脈
を考慮した対話の研究は,言語として英語を扱ったものが大半であり,日本語を対象
としたものは少ない.また,日本語による対話のデータセットはいくつか存在するが,
明示的に文脈理解を問うようなデータセットではない.そこで,本研究では既存の英
語のデータセットである bAbI データセット [Weston 15]1 を参考に,喫茶店での注文の
場面を想定した日本語注文対話データセットを作成し,課題の解決を試みる.作成し
たデータセットに対し Differentiable Neural Computer (DNC) [Graves 16] を適用するこ
とで,文脈を用いた日本語注文対話システムを構築する.
文脈理解と知識活用は対話にとって重要であり,対話において知識を明示的に扱っ
た研究として [Dinan 18] や [Young 17] が,また文脈と知識の両方を扱った研究として

[Guo 18] などが挙げられるが,これらの課題を扱った研究は未だあまり進められてい
ない.また,対話のアーキテクチャとして Seq2Seq [Sutskever 14] や,T5 [Raffel 19],

BART [Lewis 19] といった sequence-to-sequence なモデル(相手の発話を入力として応
答となる発話を生成するモデル)が主流になっている.一方,より自然で知的な対話
を行うには文脈理解や知識活用が必要であるが,そのための長期間におけるデータ保
存の能力には限界があると議論されてきた.そこで,文脈情報などの長期の情報を保
持するために,Differentiable Neural Computer (DNC) [Graves 16] などの記憶装置付き
ニューラルネットワークモデルが提案されている.これらのモデルは記憶装置を付け
1

http://www.thespermwhale.com/jaseweston/babi/tasks\_1-20\_v1-2.
tar.gz

第 1 章 序論

4

加えたことにより従来のモデルに比べてより複雑な情報処理を行えるようになり,文
脈を踏まえた対話においても高い精度を実現している.
ここで,自然言語処理において知識を取り入れる際,形式的に記述された構造化知
識は正しい結果を導くが,形式を重んじることから柔軟に利用することができないと
いう問題がある.一方で,分散表現による知識表現では未知の知識項目に対しても柔
軟に対応することができる.そこで,本研究では構造化知識を分散表現にして用いる
ことで,正確に記述された知識をニューラルネットワークにおいて柔軟に活用する.
知識を導入することの利点として,文脈情報からだけでは答えることができない知識
を問う質問に対する応答,曖昧な質問の内容に対する正確な特定,そして未知の語彙
に対する柔軟な対応が可能になることが挙げられる.
本研究の 2 つ目では,Differentiable Neural Computer (DNC) [Graves 16] を基盤とし
た,文脈を捉えつつ,分散表現による構造化知識を用いた手法を提案する.
知識グラフを埋め込み空間内に表現し,論理計算を行う質問応答手法として Con-

ditional Theorem Provers [Minervini 20] や Query2Box [Ren 20] が提案されている.し
かし,これらの手法では限られた計算のみしか扱うことができない.本研究の 3 つ目
では,Differentiable Neural Computer (DNC) [Graves 16] と,さらに DNC を改良した

rsDNC [Franke 18] と DNC-DMS [Csord´as 19] に対して,質問応答タスクにおいて重要
な要素である知識利用と演算処理を新たに組み入れ,構造化知識に対する演算処理を
含んだ質問文について正しい答えを生成するために任意の演算を用いて能力を向上さ
せることを目指す.

1.2

論文の構成

本論文の構成は次の通りである.第 1 章では,研究背景と目的を述べた.第 2 章で
は,記憶装置付きニューラルネットワークモデルを説明する.第 3 章では,自然言語
文の SPARQL クエリ変換によるメニューオントロジーへのアクセス手法について述べ
る.第 4 章では,記憶装置付きニューラルネットワークモデルの文脈を考慮した日本
語注文対話への適用の研究について述べる.続いて第 5 章では,記憶装置付きニュー
ラルネットワークモデルによる文脈と構造化知識を用いた対話について述べる.第 6
章では,記憶装置付きニューラルネットワークモデルによる構造化知識と演算処理を
用いた質問応答について述べる.最後に第 7 章で結論を記す.

5

第 2 章 記憶装置付きニューラルネットワー
クモデル
2.1

ノイマン型コンピュータと Differentiable Neural Computer

近年,ディープニューラルネットワークはコンピュータビジョンや自然言語処理と
いったさまざまなタスクの複雑なパターンマッチングにおいて顕著な発展を遂げてき
た. しかし,グラフや木などのデータ構造の表現や変数の使用,長い系列に対する表
現の操作といった能力には限界があるとされてきた.

Recurrent Neural Network (RNN) は系列データの長距離依存を捉えることができ,
チューリング完全であることも知られている [Siegelmann 95] ため,抽象的な処理を行
う能力があるとされるが,
「理論的には」の話であり,現実には勾配消失問題 [Bengio 94]
に苦しんだ. Long Short-Term Memory (LSTM) はこの問題について, RNN アーキテク
チャにゲート機構を導入し,毎タイムステップのゲート値との要素ごとの積によって
勾配を計算することで解決した [Hochreiter 97]. LSTM は大きく成功し,sequence-to-

sequence model [Sutskever 14] と attention mechanism [Bahdanau 14, Luong 15] のおかげ
で RNN を上回るのに貢献した. Transformer [Vaswani 17] は,ほとんどすべて attention

mechanism を基にしており,LSTM や伝統的なモデルをいろいろなタスクで打ち破っ
てきた. しかし,Transformer には長期的文脈情報を固定長の系列にエンコードするせ
いで context fragmentation problem [Dai 19] がある. この問題を解くために,過去の情
報をメモリ内にキャッシュしておくさまざまな手法 [Dai 19, Rae 19, Martins 22] が提案
されてきた. けれど未だ Transformer をベースとしたモデルは,先にディープニューラ
ルネットワークの限界として挙げた課題への真の解法には至っていない.
一方,ノイマン型コンピュータでは,プログラムは単純な算術演算と論理演算を行
う処理装置,制御命令文(順次実行,条件分岐,反復)を扱う制御装置,そして計算中
にデータや命令文が読み書きされるメモリという 3 つの基礎的な仕組みによって実行
される [Neumann 45].ノイマン型コンピュータのアーキテクチャを図 2.1 に示す. こ
のアーキテクチャは複雑なデータ構造を表現でき,アルゴリズムタスクを解くことが

第 2 章 記憶装置付きニューラルネットワークモデル

6

図 2.1: ノイマン型コンピュータ(左)と Neural Turing Machine(右)のアーキテクチャ

できるように学習する. ノイマン型コンピュータはプロセッサ(すなわち処理装置と制
御装置)による計算とメモリを分けているが,ニューラルネットワークは計算とメモ
リをネットワークの重みとして一緒にしている. 計算とメモリを明示的に分けたニュー
ラルネットワークとして提案されたのが Neural Turing Machine (NTM) [Graves 14] で
ある.NTM はテープの長さが無限であることによる有限状態チューリングマシンか
ら類推された,読み書き可能な外部メモリを持つ.NTM のアーキテクチャを図 2.1 に
示す. NTM 全体は微分可能なため,メモリへのアクセスのやり方を含めて end-to-end
に学習できる. さらに,メモリアクセス機構を改良した Differentiable Neural Computer

(DNC) [Graves 16] が提案され,路線図の最短路探索タスクや家系図の推測タスクなど
の構造化データ上のアルゴリズムタスクを解いた. 前提付きの質問応答における実験
では,入力系列はメモリに書き込まれ,答えを推測するのに必要な情報がメモリから
読み出されることから,変数を表現している. DNC は動的メモリアクセス機構により
長い系列を学習することも可能にした.

2.2 Differentiable Neural Computer
最初に,DNC [Graves 16] の全体図を図 2.2 に示し,簡単に概要を説明する.

第 2 章 記憶装置付きニューラルネットワークモデル

7

図 2.2: Differentiable Neural Computer の全体図

各タイムステップ t で行う処理は以下の通りである:

1. コントローラ (RNN) は,毎時刻につき,入力 xt と前時刻でメモリから読み出し
た情報 rt−1 を合わせて受け取り,ht を出力する.

2. ht の線形変換により,出力 υt = Wy ht と,メモリを制御するためのパラメータ
を格納したベクトル ξt = Wξ ht に分ける.

3. ξt によってメモリへの書き込みが行われ,メモリの状態が更新される.
4. 最後にメモリからの読み出しが行われ,読み出された情報 rt は RNN の出力 υt
に yt = υt + Wr rt のように足されて出力 yt が計算されるのと同時に,次時刻の

RNN への入力に回される.
以上の処理を繰り返すことにより,メモリへの読み書き操作を取り入れたニューラル
ネットワークが実現される.

2.2.1

メモリの構造

メモリは N×W の行列である.N はメモリスロットの総数(アドレスの総数),W
はスロットの長さ(格納する数値ベクトルの次数)であり,どちらも固定とする.メ
モリの状態は刻々と更新されていき,タイムステップ t でのメモリを表す行列を Mt と
表記する.

第 2 章 記憶装置付きニューラルネットワークモデル

2.2.2

8

コントローラ

各タイムステップ t につき,コントローラはデータセットから入力 xt ∈ RX と前タ
1 , ..., r R を
イムステップのメモリ Mt−1 ∈ RN×W から読み出された R 個のベクトル rt−1
t−1

受け取り,yt ∈ RY を出力する.そして現タイムステップのメモリの制御方法を定義し
た interface vectorξt を出力する.表記を簡略化するために,入力と読み出しベクトル
1 ; ...; r R ] とする.LSTM の変数は以下の通りである.
を結合したものを χt = [xt ; rt−1
t−1

ilt

l
= σ(Wil [χt ; hlt−1 ; hl−1
t ] + bi )

l
ftl = σ(W lf [χt ; hlt−1 ; hl−1
t ] + bf )

slt

l
= ftl slt−1 + ilt tanh(W sl [χt ; hlt−1 ; hl−1
t ] + bs)

olt

l
= σ(Wol [χt ; hlt−1 ; hl−1
t ] + bo )

hlt = olt tanh(slt )
l はレイヤのインデックス,σ(x) = 1/(1 + exp(−x)) はロジスティックシグモイド関数,
hlt , ilt , ftl , slt , olt はそれぞれ時刻 t におけるレイヤ l の隠れベクトル,入力ゲートベクト
ル,忘却ゲートベクトル,状態ベクトル,そして出力ゲートベクトルである.すべて
の t に対して h0t = 0,すべての l について hl0 = sl0 = 0 である.W は重み行列,b は
バイアスを表す.
各タイムステップにおいて,コントローラは以下のように定義される output vector

υt と interface vector ξt ∈ R(W×R)+3W+5R+3 を出力する.
υt = Wy [h1t ; ...; htL ]
ξt

= Wξ [h1t ; ...; htL ]

コントローラが再帰的だとすると,その出力は現タイムステップまでの入力の完全な
履歴 (χ1 , ..., χt ) の関数である.したがって,コントローラが行う操作は以下のように
まとめられる.

(υt , ξt ) = N([χ1 ; ...; χt ]; θ)
ここで,θ はネットワークの重みである.最後に,read vector を結合したものと RW × Y
の重み行列 Wr を掛け合わせたベクトルに υt を足し,output vector yt を得る.

yt = υt + Wr [rt1 ; ...; rtR ]

第 2 章 記憶装置付きニューラルネットワークモデル

9

このようにすることで直前に読み出された情報を用いて出力を調整することができる.

2.2.3

Interface パラメータ

メモリに対して制御を行う前に,interface vector ξt は以下のように細かく分割される.
W ˆW
ˆ t ; vt ; fˆt1 ; ...; fˆtR ; gˆ at ; gˆ W
ˆ t1 ; ...; πˆ tR ]
ξt = [jtr,1 ; ...; βˆ r,R
t ;π
t ; k t ; βt ; e

個々の要素は正しい定義域内に含まれるよう様々な関数により処理される.ロジス
ティックシグモイド関数は [0, 1],oneplus 関数は [1, ∞) に制約をかけるために用いら
れる.

oneplus(x) = 1 + log(1 + e x )
Softmax 関数はベクトルを SN に制限するのに用いられる.


N







N
SN = 
α

R
:
α

[0,
1],
α
=
1

i
i




i=1

また,ˆ 記号はさらにスケール変換をかけることを意味する.1 ステップでメモリから
の読み出しは複数回,書き込みは 1 回のみ行われる.R はメモリからの読み出し回数
である.処理を行った後,以下のようなスカラ及びベクトルの集合を得る.

• R 個の read key{ktr,i ∈ RW ; 1 ≤ i ≤ R};
ˆ r,i
• R 個の read strength{βr,i
t = oneplus(βt ) ∈ [1, ∞); 1 ≤ i ≤ R};
• write keyktW ∈ RW ;
ˆW
• write strengthβW
t = oneplus(βt ) ∈ [1, ∞);
• erase vectoret = σ(eˆ t ) ∈ [0, 1]W ;
• write vectorvt ∈ RW ;
• R 個の free gate{ fti = σ( fˆti ) ∈ [0, 1]; 1 ≤ i ≤ R};
• allocation gategat = σ(ˆgat ) ∈ [0, 1];
• write gategwt = σ(ˆgwt ) ∈ [0, 1];

第 2 章 記憶装置付きニューラルネットワークモデル

10

• R 個の read mode{πti = so f tmax(πˆ ti ) ∈ S3 ; 1 ≤ i ≤ R};
これらの用途について次に説明する.

2.2.4

メモリの読み書き

メモリの読み書きを行うには,読み書き対象となるメモリスロットのアドレスを指
定する必要がある.この操作を微分可能な計算で表現するには,どのアドレスを重点的
に読み出す/書き込むかの重み付けを行えば良い.これらの重み,read/write weighting
は要素の総和がほぼ 1 である非負の数のベクトルである.



N







N
∆N = 
α

R
:
α

[0,
1],
α

1

i
i




i=1

read/write weighting をどのように求めるかが重要であり,これらを求めてしまえば
読み出し/書き込みの演算自体は単純である.読み出し操作では,R 個の read weight-

ing {wtr,1 , ..., wtr,R ∈ ∆N } によってアドレスの内容の重み付き和を計算し,read vector
{rt1 , ..., rtR } を以下のように定義する.
rti = Mt⊤ wtr,i
read vector は次時刻のコントローラへの入力に追加される.書き込み操作では,write
weighting wtW ∈ ∆N により,write vector vt ∈ RW (書き込みたいデータのベクトル)と
erase vector et ∈ [0, 1]W (スロット内のデータをどのようなパターンで消去するかを表
したベクトル)を接続し,以下のようにメモリ行列 Mt−1 に対して消去・書き込みを
行い更新する.
W ⊤
Mt = Mt−1 ◦ (E − wtW e⊤
t ) + wt v t

◦ は要素ごとの積,E はすべて 1 の N×W 行列を表す.
次に read/write weighting の計算について詳細に述べる.

第 2 章 記憶装置付きニューラルネットワークモデル

2.2.5

11

メモリの番地付け

write weighting の更新
書き込み先のアドレスの選択には 2 つの方法があり,write weighting は 2 つの要素
から構成される:

1. Content-based addressing: interface vector を通して入力された key をもとに書き
込み先スロットを選択する.

2. Dynamic memory allocation: 前タイムステップまでの読み出し状況をもとに使用
済みの情報が残っているスロットを選択する.

Content-based addressing
write keyktW ∈ RW とメモリ M ∈ RN×W の各スロットに格納されているデータを照合
し,類似度を計算する.

exp{D(k, M[i, ·])β}
C(M, k, β)[i] = ∑
j exp{D(k, M[ j, ·])β}
write strength βW
t ∈ [1, ∞) は weighting のピークの鋭さを調整するパラメータであり,
β → ∞ の極限で C は鋭いピークがひとつだけ立つ.D はコサイン類似度である.
D(u, v) =

u·v
|u||v|

weighting C(M, k, β) ∈ SN はメモリアドレスに対する正規化確率分布を定義する.こ
の方法による write content weighting は以下のようになる.
W W
cW
t = C(Mt−1 , kt , βt )

retention vector ψt の構成
コントローラが必要に応じてメモリを開放,確保できるように,使用可能なメモリ
スロットのリストを構築する.前タイムステップで読み出しを行ったメモリスロット
を開放して良いかどうかのフラグ(実際には 0∼1 の連続値なので重み)を free gate
r,i
r,i
fti (i = 1, ..., R) とする.
「 fti wt−1
≃ 1 ⇔ fti ≃ 1 かつ wt−1
≃ 1」ならば読み込み済みか

第 2 章 記憶装置付きニューラルネットワークモデル

12

r,i
r,i
つ開放可なので上書き可である.
「 fti wt−1
≃ 0 ⇔ fti ≃ 0 または wt−1
≃ 0」ならば前タ

イムステップで読み込まれていない,または,読み込み済みだったとしても開放フラ
グが立っていないので上書き不可となる.R 回分の使用中(上書き不可)フラグであ
る memory retention vector ψt ∈ [0, 1]N は free gate を用いて以下のように定義される.

ψt =

R


r,i
(1 − fti wt−1
)

i=1

R 回のうち 1 度でも上書き可になったメモリスロットは上書き可 ψt ≃ 0 となる.一方,
使用中(上書き不可)ψt ≃ 1 となるのは,R 回全てについて上書き不可だったときで
ある.

usage vector ut の構成
各メモリスロットの使用中度合いを表す重み memory usage vector ut ∈ [0, 1]N を以
下の更新式で定義する.
W
W
ut = (ut−1 + wt−1
− ut−1 ◦ wt−1
) ◦ ψt

◦ は要素ごとの積である.(·) 内第 3 項は ut の各要素が 1 を超えないように調整する
ための補正項である.ut = 1 に達すると書き込みによる重みの更新は停止し,もし

ut > 1 となっても更新により値を減少させる.直感的には,free gate により保持され
ている (ψt [i] ≈ 1),すでに使用中若しくは書き込まれたばかりのどちらかだった場合,
スロットは使用中となる.スロットへのあらゆる書き込みはその使用度を上げ(最大
で 1 になり),free gate が用いられたときのみ使用度は下がる(最小で 0 となる).し
たがって,ut の要素の範囲は [0, 1] に制約される.

allocation weighting の構成
ut の要素を値が小さい順に並べた時のメモリアドレスのインデックスのベクトルを
ϕt ∈ ZN とする.ϕt [1] は最も使用度が低いアドレスのインデックスとなる.ここで,
∆N に含まれる重みベクトルは総和が 1 以下であり,つまり重みがないということが
どのアドレスにもアクセスしない null 操作を明示的に担う.書き込みを行うための新

第 2 章 記憶装置付きニューラルネットワークモデル

13

しいアドレスを与える allocation weighting at ∈ ∆N を以下で定義する.

at [ϕt [ j]] = (1 − ut [ϕt [ j]])

j−1


ut [ϕt [i]]

i=1

1 − ut なので使用済み(書き込み可)の度合いを表す重みである.すべての使用度が
1 であると,at = 0 となり,コントローラはスロットの開放が行われない限りメモリ
を確保することができない.

Write weighting
コントローラは新しく確保されたスロット,または内容によって選ばれたスロットに書
き込み,あるいは書き込みはまったく行わないということもできる.allocation weighting
W
at と write content weighting cW
t ∈ SN を組み合わせて write weighting wt ∈ ∆N は以下

のように定義される.

[
]
wtW = gwt gat at + (1 − gat )cW
t

(2.1)

allocation gate gat ∈ [0, 1] は使用済みフラグあるいは key のどちらに基づいて書き込み
を行うかを制御するゲートである.write gate gw
t ∈ [0, 1] はそもそも書き込みを行うか
を制御し,メモリを不必要な上書きから保護するのに用いられる.

read weighting の更新
読み出し先のアドレスの選択にも 2 つの方法がある:

1. Content-based addressing: interface vector を通して入力された key をもとに読み
出し先スロットを選択する.

2. Temporal memory linkage: 書き込み順に従ってスロットを選択する.

Content-based addressing
write weighting のときと同様に,各読み出しヘッド i に対して read key{ktr,i ; 1 ≤ i ≤ R}
と read strength{βr,i
t ; 1 ≤ i ≤ R} を用いて類似度が計算される.この方法による read

第 2 章 記憶装置付きニューラルネットワークモデル

14

content weighting は以下である.
r,i r,i
cr,i
t = C(Mt , kt , βt )

precedence weighting の構成
前述のメモリを確保する方法では,メモリスロットに対して書き込みが行われた順
番に関する情報は一切保存されていない.しかし,このような情報を保持しておくこ
とが有用な場合も多くある.例えば,命令のシーケンスが順番通りに記録され,引き
出されなければならないときなどが挙げられる.したがって,メモリスロットが連続
して上書きされていくのを追跡するために temporal link matrix Lt ∈ [0, 1]N×N を用い
る.Lt を定義するために,成分 pt [i] がスロット i が最後に書き込まれたという程度を
表す precedence weighting pt ∈ ∆N を以下の更新式で定義する.

p0 = 0





W
wt [i] pt−1 + wtW
pt = 1 −
i

wtW は式 (3.1) で定義した write weighting である.
「強く」書き込みが行われた場合は,
∑ W
wt ≃ 1 となるので,前タイムステップの情報 pt−1 は消去され,現タイムステップ
でどこに書き込まれたかが保存される.書き込みが行われなかった場合は,最後に行
われた書き込みの重みが保持され続ける.

temporal link matrix の構成
メモリスロットへの書き込み順を表す Lt を構成する.Lt [i, j] はメモリ Mt において
スロット i はスロット j の後に書き込まれたという程度を表す.スロットが上書きされ
る度に,リンク行列はそのスロットに出入りする古いリンクを消去するよう更新され
る.そして最後に書き込みが行われたスロットからの新しいリンクが追加される.Lt

第 2 章 記憶装置付きニューラルネットワークモデル

15

の更新式を以下で与える.

L0 [i, j] = 0 ∀i, j
Lt [i, i]

= 0 ∀i

Lt [i, j] = (1 − wtW [i] − wtW [ j])Lt−1 [i, j] + wtW [i]pt−1 [ j]
i は現タイムステップ,j は前タイムステップである.あるスロットからそれ自身への
遷移をどのように表現するかは明確ではないため,自分自身へのリンクは除外される
(行列の対角成分は常に 0 とする).Lt の行と列はそれぞれ特定のメモリスロットへ
の,及び特定のメモリスロットからの一時的なリンクの重みを表している.

forward/backward weighting の構成
メモリへの書き込み順を考慮した forward/backward weighting {fti ∈ ∆N ; 1 ≤ i ≤

R/bit ∈ ∆N ; 1 ≤ i ≤ R} を以下で構成する.
r,i
fti = Lt wt−1

bit

r,i
= Lt⊤ wt−1

r,i
wt−1
は前タイムステップからの i 番目の read weighting である.

Read weighting
read mode vector πti ∈ S3 により,backward weighting bit と forward weighting fti ,そ
r,i
して read content weighting cr,i
t を合わせて,read weighting wt ∈ S3 を以下のように定

義する.
i
i
wtr,i = πti [1]bit + πti [2]cr,i
t + πt [3]ft

読み出しモードにおいて πti [2] が強ければ,ktr,i を用いた内容による検索に戻る.πti [3]
であれば,read key は無視し,読み出しヘッドは書き込まれた順にメモリスロットを
指していく.πti [1] であれば,読み出しヘッドは逆順で動いていく.

第 2 章 記憶装置付きニューラルネットワークモデル

2.3

16

関連研究

Memory Networks [Weston 14] は,巨大メモリとメモリへの入出力操作を行う学習
構成要素からなるメモリ付きニューラルネットワークである.メモリに文脈情報など
を格納しておき,そこから質問に関する情報を連鎖的に読み出し利用することにより,
文脈を考慮した質問応答を可能にしている.Memory Networks では,メモリに対して

hard attention を用いており,それは微分不可能なので,学習データをアノテーション
し,質問に関する情報の選択について別途学習させる必要がある.End-To-End Memory

Networks [Sukhbaatar 15] は,Memory Networks の質問に関する情報の選択において,
微分可能な Soft Attention を用いたモデルである.それを用いることにより,パラメータ
を end-to-end に学習することができ,学習データをアノテーションする必要がなくなる
ため,より多様なデータを扱うことができる.Dynamic Memory Networks [Kumar 15]
は,End-To-End Memory Networks に対して入力文や質問文,メモリ内部のベクトル
のエンコードに GRU を用いたモデルである.

17

第 3 章 自然言語文の SPARQL クエリ変換
によるメニューオントロジーへの
アクセス
3.1

研究背景と目的

近年,様々な分野の膨大なデータベースを意味的に結びつけたデータ群が大規模知
識 (Linked Open Data) として公開されている.自然言語処理の中で背景知識として用
いることで,表層的な情報による推論だけでは難しい,常識などを含んだ自然言語理
解に役立つことができる.自然言語表現と Linked Open Data 形式で記述された知識
ベースを結びつけるために,自然言語文を SPARQL クエリに変換することで知識への
問い合わせを行う様々な研究が行われてきた.[Wang 07] では,自然言語文の構文解
析結果に対して,知識を記述するための語彙や,WordNet [Miller 95] などの一般的な
辞書からなる語彙,ユーザが定義する語彙などを適用することで RDF トリプルに変
換する手法を提案している.[Zou 14] では,複数の RDF トリプルをつなぎ Semantic

Query Graph なる知識グラフを構築し,断片的な知識を複数のトリプルからなる知識
に変換することで自然言語文の解釈の精度を高めている.また,[鈴木 15] では,自然
言語文を構文解析した結果を論理式に変換し,そこから SPARQL クエリを生成する手
法を提案している.
しかし,これらにおいて自然言語文から生成したクエリが正しい答えを返すかは保
証されていない.そこで本研究では,先行研究のアプローチを踏まえて,自然言語文
から抽出したエンティティを知識側の語彙と対応付け,エンティティ間のリレーショ
ンを知識を繰り返し参照することで獲得することに重点を置いた SPARQL クエリの自
動生成手法を提案する.提案手法により SPARQL クエリが完成されれば,答えを返す
ことが保証される.

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

18

関連技術

3.2

セマンティック Web

3.2.1

セマンティック Web は,現在のドキュメント中心の Web からデータ中心の Web を
目指す構想であり,意味的なつながりを含めて Web データを構造的に表現することに
より機械処理を可能にし,膨大な知識を獲得することでコンピュータの知能を大幅に
向上させることが期待されている.Web の発明者ティム・バーナーズ=リーにより提
唱され,今日までにリンクトデータや RDF,SPARQL などの多くの技術が開発されて
きた.

リンクトデータ
リンクトデータはセマンティック Web において最も重要な要素である.従来の Web
ではドキュメント間をハイパーリンクによりつないでいたのに対し,リンクトデータ
ではもの,抽象物といったすべてのリソースについてその関係性が意味的にリンクさ
れる.
ティム・バーナーズ=リーによるリンクトデータに関する基本原則1 は次のように言
及されている:

1. 事物の名前に URI を用いる.
2. HTTP プロトコルで URI へアクセスして参照できる.
3. URI へアクセスしたとき,RDF や SPARQL などの標準技術を使って有益な情報
を得ることができる.

4. 他の URI へのリンクを含むことで,さらに他の事物を発見できる.
Linked Open Data (LOD,大規模知識) は,上述したリンクトデータ基本原則に基づ
き Web 上に公開されているオープンライセンスのリンクトデータが拡張され,さまざ
まな分野の機械可読なデータが互いに外部リンクでつながれることにより,意味的に
結合された膨大な知識群として実現されたものである.

1

https://www.w3.org/DesignIssues/LinkedData.html

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

$#

%#

19

!"#

図 3.1: RDF トリプルの基本要素

RDF
RDF (Resource Description Framework) はリソースに関する属性や関係を表現する枠
組みである.RDF グラフは,リソース間の意味的なリンク関係を記述するネットワー
クを構築し,主語,述語,目的語の三つ組(RDF トリプルと呼ぶ)による言明から構
成される.主語は URI が表すリソース,目的語は URI が表すリソースまたはリテラル
が表すデータ値,述語は URI が表す主語と目的語の関係としてそれぞれ記述される.

RDF トリプルは図 3.1 のようにグラフ構造で図示され,主語と目的語はノードで,述
語は二つのノード間のエッジで表される.

SPARQL
SPARQL (SPARQL Protocol And RDF Query Language) は,RDF グラフに問い合わ
せるための質問言語である.検索したい RDF データの条件をクエリで表現して問い
合わせると,SPARQL エンジンはクエリ文により RDF データを検索し答えを出力す
る.SPARQL のクエリには四つの形式がある:変数リストのデータテーブルを出力す
る SELECT 文,RDF データを構成する CONSTRUCT 文,指定リソースの RDF デー
タを出力する DESCRIBE 文,RDF データに対する条件判定を行う ASK 文.クエリ内
の記述において,変数は “?x” のようにクエスチョンマークの後ろに文字列を付けて表
現される.URI とリテラルは変数に代入される定数に相当する.
主語,述語,目的語に変数を含んだ RDF トリプルの拡張を RDF トリプルパターン
という.SPARQL クエリは RDF トリプルパターンによって検索条件を記述する.クエ
リの実行では,トリプルパターン内の変数に検索条件を満たす定数を代入する.条件
に一致するすべての組み合わせを検索し,つまり RDF グラフから部分グラフを検索す
る.例えば,SELECT ?x WHERE {
> ?x .} というクエリを DBpedia Japanese2 で検索するとが答え
として返ってくる.
2

http://ja.dbpedia.org

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

20

4/&defEGHg;Yghi5F;,'HbcK"`a;jk
0/&DE5FGHIJK0>L

:YZ118D[\81]71^D)D!"#$%&D9E_D$D+,"-%./D7

7/06&!"#$%&6&+,"-%./9

@ABC1!"#$%& FG&18
()* FG&+,"-%
+,"-% FG&18

!"#"$%&'(!%()$%&&8&&*+","&239&2222&&234/
5

`a;bcK"17186&!"#$%&6&+,"-%./9
*KAP)@N
I MCN@BA MCBA@PM@CN
!"#$%& +,"-%
IKAA BAKI@AL
+,"-%lm no *(
(CIKAOKA !"#$%&'()*+,"-%./0
123456

7186&!"#$%&#"'(")%*+9
!"#"$%&'(!%()$%&!""*+","&./01!"#$%& 2222&&234/
5

./01!"#
$%&

2222
234

HOPQR

STUV

STUV

234

7/&:;<=0>?

HOPQR
MN

WX

2222
239

Q/Epqr5F;sWtu`a;v?
@ABC1,-. '("'(")%
!"#"$%&'(!%()$%&$%&"*+","&./01!"#$%& 2222&&234/
5

‚ƒ*c,%{|}0
„…
R/&!S>,T#•€c;•n
!"#"$%&'(!%()$%&234&*+","&./01!"#$%& ./4::01;<=>??@AB@C&234/
5

./01!"#
$%&

./4::01;<=
>??@AB@C
234

./01!"#
$%&

2222
234

:/MNw;HPRxyzc,%{|}`a;~?
!"#"$%&'(!%()$%&$)*+ *+","&./01!"#$%& $)*+ 234/
5

./01!"#
$%&

2A@?
234

図 3.2: 自然言語文から SPARQL クエリへの変換手法の全体図

3.2.2

述語項構造

述語項構造とは,テキスト中に出現した述語とその項から構成される構造のことで
ある.述語は,動詞述語(例「太郎はお酒を飲む.
」),形容詞述語(例「太郎は背が
高い.
」),および名詞述語(例「太郎は学生だ.
」)の 3 つを本研究では述語とする.項
は,述語が表す動作や状態への参与者として不可欠な要素を指す.例えば,
「昨日,太
郎が車を運転した.
」という文では,述語「運転した」に対して「太郎が」はガ格の項,
「車を」はヲ格の項である.これを RDF トリプルで表すと,項はエンティティに,述
語はリレーションに対応し,
(太郎,運転,車)となる.

3.3

提案手法

喫茶店での注文の場面を想定し,ユーザの発話とメニューオントロジーを結びつけ
るために自然言語文を SPARQL クエリへ変換する手法を提案する.提案手法の全体図
を図 3.2 に示す.
入力として自然言語質問文を受け取り,6 つの処理を経て SPARQL クエリを自動生
成する手続きについて以下に示す.

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

21

表 3.1: 質問タイプの分類
!

"#

$%&'()*+,-

78!

9:
;<

=->?35@ABCD2-E3FGH
9IJKLM
N9:)*=->?35)*D2-E3FGO

!"#$%&./+)01,23*

$'(456)01,23*

!+&+,-*'.!-./,-**0**12+$+*3
456*4444**4578
9

4444
456

457

*P*H;QRSTU@VWJKLM
N;<)*STU)**P*O
':;<::!

XY
ZY

[\)XY=ZYSTU@]^KLM
NXY=ZY)*STU)*[\O

!+&+,-**'.!-./,-*0**12+$+*3
456*4444**4578
457*>87??@ABCDEFG*4BCDEFG8
9*H$'+$*IJ*#!,='!+,K4BCDEFGL*&.M.-*N

,DEFG!

OOOO

_1`34@]abVWJKLM
Ncd)*_1`34)*]abO

!+&+,-*'.!-./,-*K,HP/-K456L*BQ 4RDEFGL*
12+$+*3
456** 9

&WQG!

OOOO

ABCSTUfVWJKLM
Ncd)*STU)*OOOOO
!ghiCj

!+&+,-*'.!-./,-*456*12+$+*3
456** 9

456

4BCDEFG
4444

457

>87??@A
BCDEFG

456

A.5Te

1. 自然言語質問文の構文解析からのトリプル候補の抽出
京都大学黒橋河原研究室で開発された日本語構文・格・照応解析システム KNP3 を
用いて,自然言語質問文を解析し,語彙の依存関係および述語項構造を抽出す
る.述語項構造の解析結果の内,述語に対して項を 2 つ持つものから候補の RDF
トリプル(以下,トリプルと呼ぶ)として(述語,項 1,項 2)を抽出する.ト
リプルがとる各単語について WordNet [Miller 95] を用いてその類義語を調べる.
これは [Wang 07] の手法で用いているように,自然言語質問文中の表層表現や
類義語がデータ中のトリプルで記述されている語彙になっている可能性があり,
そのような知識に対して柔軟なアクセスができるように配慮するためである.

2. 述語による質問タイプの判別
候補のトリプルの述語に基づき,質問タイプを判別する.本研究で設定した述
語の種類ごとの質問タイプの分類を表 3.1 に示す.
「含む」「
,使う」などの述語は基本型としてテンプレートで {?x0 ????

?x1.}

を与える.
「低い」のような程度を問い合わせる述語は Degree 型とし,テンプレー
トで {?x0 ????

?x1.

?x1 j.1552:amount ?amount.} を与える.本

研究では知識のドメインを料理のメニューに限定しているため,程度に対する問
い合わせは「量」への問い合わせであるとする.ORDER BY ASC(?amount)

LIMIT 3 により,量によって答えを昇順に並べ上位 3 つを返すように設定して
いる.候補のトリプル中に「何種類」という単語が含まれる場合,Count 型とし,
3

http://nlp.ist.i.kyoto-u.ac.jp/index.php?KNP

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

22

テンプレート {?x0 rdf:type : クラス名.} と項目を数える COUNT 関数を
与える.
「どんなパスタがありますか?」の場合は,KNP を用いて三つ組の情報
を得られないため,提案手法のステップ 2,3,5 を除いて SPARQL クエリを生
成する.ある単語が「どんな」と「がありますか」の 2 つのキーワードに挟ま
れた場合,該当する項目をすべて回答する List 型に分類されるとする.
この段階では,項 1,項 2 はまだ未確定なのでそれぞれ?x0,?x1 としておく.
例えば,述語が「含む」であれば基本型と判定されることから,テンプレート
として {?x0 ????

?x1.} が与えられる.

3. 項の属性判定
候補のトリプルの項に注目して,その属性がクラス,インスタンス,リテラルの
いずれであるかを判定する.クラスとインスタンスの判定は,オントロジーに
沿って事前に作成した辞書を用いて行い,単語が辞書に存在しない場合はリテ
ラルと判断する.クラスと判定された場合はトリプルパターン {?x rdf:type

: クラス名 } を追加する.インスタンスだった場合は ‘?x ’を ‘: インスタンス
名 ’に変換する.リテラルの場合は変数のままにしておく.

4. 語彙表現からの回答対象候補の特定
質問文中の語彙表現によって質問の答えになる回答対象候補を特定する.候補
を特定する語彙表現として,
「どんな」,
「はありますか」,
「は何ですか」を採用
する.質問文中に「どんな」が現れた場合はその直後に来る単語を,
「はありま
すか」と「は何ですか」の場合は直前にくる単語を回答対象候補とし,それに
対応する変数を SELECT DISTINCT 後の変数リストに加える.

5. 知識への問合せによるリレーション候補の決定
上記の処理によって作成した SPARQL クエリの ????の部分を?rel に,SELECT

DISTINCT 後の変数を一旦?rel にしてリレーションの候補を知識に問い合わ
せることにより決定する.

6. SPARQL クエリの完成
リレーションの候補の検索結果において,各リレーション候補と,ステップ 1 で

WordNet を使って調べておいたトリプルの各単語の類義語すべての文字列のバ
イグラムを取り(例えば,{ha,as,sA,Al,ll,le,er,rg,ge,en} と

{al,ll,le,er,rg,gy}),Jaccard 係数によって類似度を求め,定めた閾値を

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

23

mc:料理
399

ハンバーグ
ステーキ

*,0%2+1

!"#$%&'()*+,-+(.

mi:牛ひき
肉_122
!"#%!34(.

100g

fi:11089

mc:ハン
バーグ

!"#"*-/+

mi:ハンバー
グステーキ

*,0#.6"+

mi:玉ね
ぎ_122
40g

*,0&#&4271%&&80

*,0#.6"+

!"#$%&511+*)+(

!"#$%&'()*+,-+(.

!"#%!34(.
391#&%!+5&

*,0&#&4271%&&80

*,0&#&4271%&&80

mc:サラ

mi:ミック
スグリル

mi:アレルゲ
ン_小麦_122

クラス

391#&%!+5&
391#&%!+5&

fi:6153

mc:グラ
タン

ai:小麦

インスタンス
リテラル

図 3.3: メニューオントロジーの一部

超えた候補を最適なリレーションと決定する.閾値以上の候補が複数存在する
場合は,Zipf の法則に従いより希少な方を最適なリレーションとして選択する.
以上の手続きにより入力された自然言語質問文の内容を反映した SPARQL クエ
リを完成させる.

3.4

実験

喫茶店におけるメニューに関して,設定した 4 つの質問タイプに基づく自然言語質
問文を入力として実験を行なった.提案手法によって生成された SPARQL クエリを,
クエリを通して知識から得られた回答の妥当性によって評価する.

3.4.1

実験設定

自然言語質問文から SPARQL クエリを生成する際に参照する知識として小規模のメ
ニューオントロジーを構築した.図 3.3 にメニューオントロジーの一部を示す.SPARQL
環境として,Virtuoso (version 07.20.3214), SPARQL 1.1 を使用した.

3.4.2

結果と考察

表 3.1 の例文に挙げた「カルボナーラはどんなアレルギー食材を含みますか?」
「ト
マトを使ったパスタはありますか?」
「塩分の低いパスタは何ですか?」
「ハンバーグは
何種類ありますか?」
「どんなハンバーグがありますか?」の 5 文に対して実験を行っ
た.また,
「塩分が低くて,トマトを使ったパスタはありますか?」のように Degree 型

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

24

$& A5?055BCDEFGH:IJKL
!"#"$%&&'(!%()$%&P&&*+","&./0&....&&./12
./1&;21<<=6>?@AB7&.>?@AB72
C&H,'",&IJ&K!$L.>?@AB7M&#(N(%&O

!"#
!!!!

(&MNCOPIQRST./0Q&./1UCVGHWXEI
YZ[L
!"#"$%&'(!%()$%&!"#$ *+","&./0&!"#$ ./12
./0&3456789: ;2166782
./1&3456789: ;21692
./1&;21<<=6>?@AB7&.>?@AB72
C

!"$

%&$''()
*+,-./

!"$

%&$''()
*+,-./

!"#

!*+,-./

012)/345
!"#$
678

012)/345
9

\&M./0Q&./1UC]^_VGHWXE`Sa
D>E(BF3:4G:B7IbcST(deC:VFfg
hSai12 =2`jkClmIno./0Q&./=U
CVGHWXEIYZ[L
!"#"$%&'(!%()$%&!"#$ *+","&./0 %&'(()*+,-./0"#12#/34./12
./0&3456789: ;2166782
./1&3456789: ;21692
./1&;21<<=6>?@AB7&.>?@AB72
./0&!"#$ ./=2
./=&3456789: ;216:;:2
C

!*+,-./

012)/345
!"(

:;:

!"#$
!"#

%&'(()*
+,-./0"#12#/3

012)/345

%&$''()
*+,-./

!"$
678

!*+,-./

012)/345
9

p& ./0Q&./=UC]^_VGHWXE`Sa
D>E(BF3:4G:B7IbcS*+","-CqrIstu[T
vwhxyzgh{|L}~IYZ[L
!"#"$%&'(!%()$%&!564*+","&./0 ;21<<=6D>E(BF3:4G:B7&./12
./0&3456789: ;2166782
./1&3456789: ;21692
./1&;21<<=6>?@AB7&.>?@AB72
./0&%&'(()*+,-./0"#12#/34./=2
./=&3456789: ;216:;:2
C&H,'",&IJ&K!$L.>?@AB7M&#(N(%&O

012)/345
!"(

:;:

%&'(()*
+,-./0"#12#/3
!45

%&$''()
<*=>.?051@5./

012)/345
!"$
678

012)/345

!*+,-./
%&$''()
*+,-./
9

図 3.4: 例「塩分が低くて,トマトを使ったパスタはありますか?」の処理の流れ

と基本型を組み合わせた,述語を 2 つ含む文に対しても実験を行った.この具体的な
処理の流れを図 3.4 に示す.
まず,KNP を用いて(低い,パスタ,塩分)(
,使う,パスタ,トマト)の 2 つの候補の
トリプルを抽出する.1 つ目のトリプル(低い,パスタ,塩分)に対し,提案手法のス
テップ 2 により Degree 型のテンプレートを与える.ステップ 3 により項の属性を判定し,

?x0,?x1 間のリレーションを知識に問い合わせ最適なものとして hasIngredient
を選択する.次に,2 つ目のトリプル(使う,パスタ,トマト)に対しても同様の処
理を行いクエリの WHERE {} 句内を完成させる.最後に,ステップ 4 により特定した
回答対象候補に対応する変数を SELECT DISTINCT 後の変数リストに加え,求める

SPARQL クエリを生成する.

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

25

表 3.2: 各質問タイプにおける知識抽出結果


自然言語質問文

基本型

カルボナーラはどんな
アレルギー食材を含み
ますか?
トマトを使ったパスタ
はありますか?

Degree 型

塩分の低いパスタは
何ですか?

Count 型

ハンバーグは何種類
ありますか?

List 型

どんなハンバーグが
ありますか?

Degree 型
+
基本型

塩分が低くて,トマト
を使ったパスタはあり
ますか?

生成された SPARQL クエリ
SELECT DISTINCT ?x1 WHERE {
j.2: カルボナーラ j.1552:hasAllergen ?x1.
}

SELECT DISTINCT ?x0 WHERE {
?x0 j.1552:hasIngredient ?x1.
?x0 rdf:type j.1: パスタ.
?x1 rdf:type j.1: トマト.
}
SELECT DISTINCT ?x0 WHERE {
?x0 j.1552:hasIngredient ?x1.
?x0 rdf:type j.1: パスタ.
?x1 rdf:type j.1: 塩.
?x1 j.1552:amount ?amount.
} ORDER BY ASC(?amount) LIMIT 3
SELECT DISTINCT (COUNT(?x0) as ?count)
WHERE {
?x0 rdf:type j.1: ハンバーグ.
}
SELECT DISTINCT ?x0 WHERE {
?x0 rdf:type j.1: ハンバーグ.
}

SELECT DISTINCT ?x0 WHERE {
?x0 j.1552:hasIngredient ?x1.
?x0 rdf:type j.1: パスタ.
?x1 rdf:type j.1: 塩.
?x1 j.1552:amount ?amount.
?x0 j.1552:hasIngredient ?x2.
?x2 rdf:type j.1: トマト.
} ORDER BY ASC(?amount) LIMIT 3

知識から得られた回答
アレルゲン ゼラチン 71,アレルゲン 小麦 71
アレルゲン 乳 71,アレルゲン 牛肉 71
アレルゲン 卵 71,アレルゲン 豚肉 71
アレルゲン 大豆 71,アレルゲン 鶏肉 71
トマトクリームスパゲッティ
ミートソースボロニア風
半熟卵のミートソースボロニア風

パルマ風スパゲッティ
ミートソースボロニア風
半熟卵のミートソースボロニア風

6

イタリアンハンバーグ
ハンバーグステーキ
ミックスグリル
焼肉とハンバーグの盛合せ
煮込みハンバーグ
野菜ソースのハンバーグ
ミートソースボロニア風
半熟卵のミートソースボロニア風
トマトクリームスパゲッティ

表 3.2 に示すように,各質問タイプにおいてそれぞれ質問文に答えるのに有用な知
識を得ることができ,したがって提案手法が適切な SPARQL クエリを生成したことが
確かめられた.

3.5

まとめ

KNP による述語項構造・係り受け解析と,データ主導による RDF トリプルの変形
を用いた,自然言語文から SPARQL クエリへ変換する手法を提案した.エンティティ
を知識側の語彙と対応付け,エンティティ間のリレーションを知識から獲得すること
によって,SPARQL クエリが完成されれば答えは保証される.また,基本型,Degree
型,Count 型,List 型の 4 つの質問タイプを設定し,それぞれの質問タイプの自然言
語質問文及び,より一般化した,それらを組み合わせた質問文に対してそれぞれ適切
な SPARQL クエリを生成することができた.質問タイプを設定することにより,正確
なクエリを容易に生成し,自然言語文が意図する質問に回答することを可能にした.

第 3 章 自然言語文の SPARQL 変換によるメニューオントロジーへのアクセス

26

問題点として,自然言語表現と知識側の語彙を対応づける難しさが挙げられる.そ
こで,形式的に記述された知識に対してより柔軟にアプローチするために,ニューラ
ルネットワークを用いる手法を検討する.

27

第 4 章 記憶装置付きニューラルネットワー
クモデルの文脈を考慮した日本語注
文対話への適用
4.1

研究背景と目的

文脈を考慮した対話の研究は,言語として英語を扱ったものが大半であり,日本語
を対象としたものは少ない.また,日本語による対話のデータセットはいくつか存在
するが,明示的に文脈理解を問うようなデータセットではない.そこで,本研究では
既存の英語のデータセットである bAbI データセット [Weston 15]1 を参考に,喫茶店で
の注文の場面を想定した日本語注文対話データセットを作成し,課題の解決を試みる.
作成したデータセットに対し Differentiable Neural Computer (DNC) [Graves 16] を適用
することで,文脈を用いた日本語注文対話システムを構築する.

4.2

文脈を考慮した日本語注文対話データセットの作成

喫茶店での注文の場面を想定し,bAbI データセット [Weston 15] の 20 タスクの内 10
タスクを参考に日本語の注文対話データセットを作成する.bAbI データセットとは人
間の行う推論を真似た学習ができるように人工的に作られたデータセットであり,タ
スク毎に “John is in the playground. John picked up the football. Bob went to the kitchen.

Where is the football? A:playground” のようなショートストーリーとそれについての質
問と答えを含んだデータが 20 種類用意されている.
表 4.1 に作成した注文対話データセットの例を示す.尚,例では A,B,C とアル
ファベット順に並んでいるが,この順番はランダムにしている.このデータセットに
含まれる質問は文脈を理解していなければ答えられないようになっており,これを用
いることで日本語における文脈を踏まえた推論の学習を行うことができる.
1

http://www.thespermwhale.com/jaseweston/babi/tasks\_1-20\_v1-2.
tar.gz

第 4 章 記憶装置付き NNM の文脈を考慮した日本語注文対話への適用

28

表 4.1: 作成した注文対話データセットの例
Single Supporting Fact(一文参照)
A : ハムサンド
B : クロワッサン
C : カルボナーラ
A の注文は? ハムサンド
B の注文は? クロワッサン
C の注文は? カルボナーラ
Two Supporting Facts(二文参照)
A : ハムサンド
B : クロワッサン
C : カルボナーラ
A : アップルパイ
B : バナナブレッド
C : チョコレートケーキ
A の注文は? ハムサンド, アップルパイ
B の注文は? クロワッサン, バナナブレッド
C の注文は? カルボナーラ, チョコレートケーキ
Three Supporting Facts(三文参照)
A : ハムサンド
B : クロワッサン
C : カルボナーラ
A : アップルパイ
B : バナナブレッド
C : チョコレートケーキ
A : アップルジュース
B : グレープフルーツジュース
C : カプチーノ
A の注文は? ハムサンド, アップルパイ, アップルジュース
B の注文は? クロワッサン, バナナブレッド, グレープフルーツジュース
C の注文は? カルボナーラ, チョコレートケーキ, カプチーノ
Conjunction(接続詞)
A : ハムサンドとアップルパイとアップルジュース
B : クロワッサンとグレープフルーツジュース
C : カルボナーラ
A の注文は? ハムサンド, アップルパイ, アップルジュース
B の注文は? クロワッサン, グレープフルーツジュース
C の注文は? カルボナーラ
Yes No Questions(イエスノー質問)
A : アップルパイ
B : バナナブレッド
C : チョコレートケーキ
A の注文はアップルパイですか? はい
B の注文はチョコレートケーキですか? いいえ
C の注文はバナナブレッドですか? いいえ

Counting(数え上げ)
A : グレープフルーツジュース
B : グレープフルーツジュース
C : レモンティー
グレープフルーツジュースの注文数は? 2
レモンティーの注文数は? 1
Lists(列挙)
A : ボロネーゼをシェアで
A : ハムサンド
B : クロワッサン
C : カルボナーラ
A の注文は? ハムサンド, ボロネーゼのシェア
B の注文は? クロワッサン, ボロネーゼのシェア
C の注文は? カルボナーラ, ボロネーゼのシェア
全員の注文は? ハムサンド, クロワッサン, カルボナーラ, ボロネーゼ
Simple Negation(否定)
A : ハムサンド
B : クロワッサン
C : カルボナーラ
B : クロワッサンではなくてハンバーガーにします
A の注文は? ハムサンド
B の注文は? ハンバーガー
C の注文は? カルボナーラ

Basic Coreference(基本的共参照)
A : グラタン
B : 私もそれで
C : ハムサンド
A の注文は? グラタン
B の注文は? グラタン
C の注文は? ハムサンド
Compound Coreference(複合的共参照)
A : グラタンとアイスティー
B : 私もそれらで
C : ハムサンドとアップルジュース
A の注文は? グラタン, アイスティー
B の注文は? グラタン, アイスティー
C の注文は? ハムサンド, アップルジュース

• Single Supporting Fact(一文参照)
bAbI データセットにおいて “ Mary went to the bathroom. John moved to the hallway. Mary travelled to the office. Where is Mary? A:office” のように 1 文を見れば
質問に対して答えられるようなタスクとなっており,本データセットでは「∼
の注文は?」という質問に対して該当する客の発言 1 文を見れば答えを出せるタ
スクとして用意した.

• Two Supporting Facts (二文参照)と Three Supporting Facts(三文参照)
Single Supporting Fact と同様に,それぞれ 2 文,3 文を参照すれば答えられるタ
スクとなっている.

第 4 章 記憶装置付き NNM の文脈を考慮した日本語注文対話への適用

29

• Conjunction(接続詞)
bAbI データセットでは接続詞の “and” を扱っており,本データセットでもそれ
に対応して「と」を扱うようにした.

• Yes No Questions(イエスノー質問)
質問に対して,はい/いいえで答えるタスクである.

• Counting(数え上げ)
bAbI データセットでは “ Daniel picked up the football. Daniel dropped the football.
Daniel got the milk. Daniel took the apple. How many objects is Daniel holding? A:
two” のように人物が物を拾ったり落としたりして最終的に持っている物の数を
答えるタスクだが,本研究では注文の場面を想定しているため,料理の注文数
を答えるタスクとした.

• Lists(列挙)
Counting タスクのように人物が物を拾ったり落としたりし,最終的に持ってい
る物のリストを答えるタスクであるが,本データセットでは「∼の注文は?」と
いう質問に加えて「全員の注文は?」といった質問にも答えるようにした.

• Simple Negation(否定)
否定表現を扱うタスクであり,本データセットでは注文の場面で想定されうる
注文の変更を扱うこととした.

• Basic Coreference(基本的共参照)
“ Daniel was in the kitchen. Then he went to the studio. Sandra was in the office.
Where is Daniel? A:studio” において代名詞 he が Daniel を指していることが分
からないと答えられないようなタスクであり,注文対話においても「私もそれ
で」の「それ」が何を指すかを問うタスクとした.

• Compound Coreference(複合的共参照)
Basic Coreference における代名詞が複数の人物や物を意味する場合に,きちん
と指し示すことができるかを試すタスクである.
本データセットでは,Counting タスク 408 個,Basic Coreference タスク 132 個,Com-

pound Coreference タスク 264 個,他はそれぞれ 1,320 個作成し,総数 10,044 個の注文
対話データセットを構築した.

第 4 章 記憶装置付き NNM の文脈を考慮した日本語注文対話への適用

30

図 4.1: 実験結果

4.3

予備実験

作成した注文対話データセットに対して DNC [Graves 16] を適用して予備実験を行
なった.

4.3.1

実験設定

モデルのハイパーパラメータは主に [Graves 16] に基づく;隠れ層サイズ 256 の 1
層 LSTM [Hochreiter 97],バッチサイズ 1,学習率 1 × 10−4 ,メモリ次元 256 × 64,読
み出しヘッド数 4,書き込みヘッド数 1,モメンタム 0.9 の RMSProp オプティマイ
ザ [Tieleman 12].7 万回学習を行ない,全体の評価事例における予測単語が不正解で
あった割合を表す誤り率によってモデルを評価した.

4.3.2

結果

実験結果を図 4.1 に示す.Yes No Questions タスクが最も誤り率が高かったが,学習が
進むにつれて値は低くなっていった.次に誤り率が高かったのが Basic Coreference タス
クであり,これも学習回数を重ねる毎に徐々に下がっていった.また,Simple Negation
タスクは,1 万回学習を行なった時点での誤り率はやや高かったが,2 万回以降 0 に
なった.平均誤り率は 7 万回での評価において 0 になるまで緩やかに減少していった.

第 4 章 記憶装置付き NNM の文脈を考慮した日本語注文対話への適用

4.3.3

31

考察

Yes No Questions タスクは質問に対して,本データセットにおいて唯一はい/いい
えのどちらかを答えるものであるが,間違えた例の全てにおいて正解が「はい」のと
ころを「いいえ」と誤答するなど,正解とは逆のものを答えてしまっていた.Basic

Coreference タスクについては,データセットの数が最も少ないタスクであり,データ
セット数が学習に影響したものと考えられる.Simple Negation タスクは,間違えた例
の全てが正解が「ボロネーゼ」の場合であり,誤答として「ハンバーガー」と「ミー
ト」が多く見られ,メインの料理の中で間違えていた.今回作成したデータセットは
語彙数も 72 と少なく,かなり単純なものだったため,学習の難易度は比較的低かった
と思われる.

4.4

まとめ

本研究では,喫茶店における注文対話の処理にニューラルネットワークモデルを適
用した.日本語の注文対話データセットを作成し,DNC を用いて実験を行なった結果,
平均テスト誤り率として低い値を得ることができた.今回,bAbI データセットを参考
に注文対話を作成したが,今後の課題として,実際の注文対話のコーパスを収集して
多様な注文対話に対応できるようにしていきたいと考えている.また,実際の喫茶店
で想定される,料理に関する質問などは文脈だけから答えることは難しいため,知識
を導入することによってより複雑な対話理解に取り組んでいきたい.

32

第 5 章 記憶装置付きニューラルネットワー
クモデルによる文脈と構造化知識を
用いた対話
5.1

研究背景と目的

文脈理解と知識活用は対話にとって重要であり,対話において知識を明示的に扱っ
た研究として [Dinan 18] や [Young 17] が,また文脈と知識の両方を扱った研究として

[Guo 18] などが挙げられるが,これらの課題を扱った研究は未だあまり進められてい
ない.また,対話のアーキテクチャとして Seq2Seq [Sutskever 14] や,T5 [Raffel 19],

BART [Lewis 19] といった sequence-to-sequence なモデル(相手の発話を入力として応
答となる発話を生成するモデル)が主流になっている.一方,より自然で知的な対話
を行うには文脈理解や知識活用が必要であるが,そのための長期間におけるデータ保
存の能力には限界があると議論されてきた.そこで,文脈情報などの長期の情報を保
持するために,Differentiable Neural Computer (DNC) [Graves 16] などの記憶装置付き
ニューラルネットワークモデルが提案されている.これらのモデルは記憶装置を付け
加えたことにより従来のモデルに比べてより複雑な情報処理を行えるようになり,文
脈を踏まえた対話においても高い精度を実現している.
ここで,自然言語処理において知識を取り入れる際,形式的に記述された構造化知
識は正しい結果を導くが,形式を重んじることから柔軟に利用することができないと
いう問題がある.一方で,分散表現による知識表現では未知の知識項目に対しても柔
軟に対応することができる.そこで,本研究では構造化知識を分散表現にして用いる
ことで,正確に記述された知識をニューラルネットワークにおいて柔軟に活用する.
知識を導入することの利点として,文脈情報からだけでは答えることができない知識
を問う質問に対する応答,曖昧な質問の内容に対する正確な特定,そして未知の語彙
に対する柔軟な対応が可能になることが挙げられる.
本研究では,Differentiable Neural Computer (DNC) [Graves 16] を基盤とした,文脈

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

33

2/$01 $'

+"
-0*

-0'
#"
-.
%"
'
&"()

-/

&"'

&"*

!"#
$%&'

!"#
$34'

$"

,"

()*+,$!""'

*
&"()

-1

!"
./$01#$'

図 5.1: 知識メモリを持つ提案モデルの全体図

を捉えつつ,分散表現による構造化知識を用いた手法を提案する.

5.2

提案手法

DNC [Graves 16] を拡張し知識を格納するメモリを追加することで,文脈と知識の
両方を用いた応答の生成を目指す.提案モデルの全体図を図 5.1 に示す.
知識メモリには構造化知識をあらかじめ格納したメモリを用い,書き換え操作は行
わず,読み出し操作のみを行う.

1 タイムステップで行う処理の流れは以下の通りである.
c ∈ RN×W
1. コントローラ (RNN) は入力 xt と,前タイムステップで文脈メモリ Mt−1
c = [r c,1 ; ...; r c,R ] (r c は r c,1 , ..., r c,R
から読み出した R 個のベクトルのセット rt−1
t−1
t−1
t−1
t−1
t−1
k ∈ RN×W から読み出した
の結合) に加えて,前タイムステップで知識メモリ Mt−1
k = [r k,1 ; ...; r k,R ] を受け取る.それから隠れベクト
R 個のベクトルのセット rt−1
t−1
t−1

ル ht を出力する.

2. ht の線形変換により,出力 υt = Wy ht と,現タイムステップにおける文脈メモ
リを制御するためのパラメータを格納したベクトル ξt = Wξ ht ,現タイムステッ
プにおける知識メモリを制御するためのベクトル ζt = Wζ ht を得る.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

34

3. ξt によって文脈メモリへの書き込みが行われ,メモリの状態が更新される.知
識メモリへの書き込みは行われない.

4. 最後に,現タイムステップで文脈メモリから読み出したベクトルを結合した rtc
と Wrc をかけて得られるベクトルと,現タイムステップで知識メモリから読み出
したベクトルを結合した rtk と Wrk をかけて得られるベクトルに υt を足し,出力

yt を計算する.
yt = υt + Wrc rtc + Wrk rtk
read vector rtc と rtk は次タイムステップの RNN への入力に追加される.
以上の処理を繰り返すことにより,二つのメモリへの読み書き操作を行う.

DNC との主な違いは,コントローラへの入力に前時刻で知識メモリから読み出した
k を,コントローラからの出力に知識メモリから読み出された情報 r k を新た
情報 rt−1
t

に与える点である.モデルは文脈メモリと知識メモリからの読み出し情報を継承して
いくため、multi-hop reasoning を実行する.

5.2.1

知識メモリの構築

本研究では知識として構造化知識,つまり,主語,述語,目的語の三つ組で表現さ
れたデータ(例えば,
「日本の首都は東京である.
」は三つ組 (日本,首都,東京) で表さ
れる)を扱う.DNC のモデルを用いて,三つ組の全要素を受け取った上で三つ組の内

2 つを入力され,残りの 1 つを出力する(例えば,“日本”,“首都”,“東京”,“日本”,
“首都” のような入力に対して “東京” を返す)ように学習し終わった後のメモリを提
案モデルの中で知識メモリとして利用する.

5.3
5.3.1

実験
実験設定

すべてのモデルのハイパーパラメータは主に [Graves 16] に基づく;隠れ層サイズ

256 の 1 層 LSTM [Hochreiter 97],バッチサイズ 32,学習率 1 × 10−4 ,文脈メモリ次元
256×64,知識メモリ次元 512×128,読み出しヘッド数 4,書き込みヘッド数 1,モメンタ
ム 0.9 の RMSProp オプティマイザ [Tieleman 12].[Franke 18] に従い rsDNC [Franke 18]
のドロップアウト率は 10%とした.知識ベースの単語の埋め込みには TransE [Bordes 13]

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

35

表 5.1: CSQA データセットの対話例
USER
Can you tell me which cities border Verderio Inferiore ?
And which cities flank that one ?
No, I meant Cornate d’Adda.
Which ones share border with Robbiate and are not part of Azerbaijan ?
Which city is the capital of min number of french administrative divisions ?
Is Rot am See located adjacent to that one ?
How many political territories have strategic relation with around 22 other countries ?
Which are the nations connected with Robbiate and are not located in Italy ?
No, show only a few of them.

How many countries are diplomatically related to Italy ?
And how many of them also with Australia ?
Which countries have lesser number of political relations with others than Australia ?

SYSTEM
Cornate d’Adda, Bernareggio, Robbiate
Did you mean Robbiate ?
Bottanuco, Busnago, Trezzo sull’Adda
Trezzo sull’Adda, Busnago, Bottanuco
Riga
No
11
The answer count is 11.
Do you want to see all possibilities ?
Papua New Guinea, Jamaica, Antigua
and Barbuda, Austria, New Zealand,
The Bahamas, Gabon
74
56
Denmark, Canada, Grenada

を使用した.知識ベースの語彙ではないが,対話に現れる “the” や “what” のような単
語には [Saha 18] を参考に GloVe embeddings [Pennington 14] を使用した.各単語の埋
め込みベクトルの次元は 200 である.学習中に Validation 結果の 10 エポック連続下降
を 5 回繰り返したら,Early stopping とした.ランダムな初期化の下で各モデルを 3 回
実行し,平均の結果を報告する.

5.3.2

CSQA データセット

Complex Sequential Question Answering (CSQA) データセット [Saha 18] は一貫性が
あり,かつ大規模な知識を要求する質問とその答えで構成された会話のデータセット
であり,以下の 4 つの能力を問うものとなっている.

1. 複雑な自然言語質問文の解析
2. 発話における共参照と省略を解決するために文脈の利用
3. 曖昧な質問の明確化
4. 質問に答えるために知識グラフの関係するサブグラフの検索
表 5.1 に CSQA データセットの対話例を示す.約 20 万対話(合計 160 万ターン)か
ら成り,知識として Wikidata1 が用いられている.今回の実験では,Wikidata に対して
1

https://www.wikidata.org/wiki/Wikidata:Main\_Page

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

36

表 5.2: 各質問タイプにおける誤り率

質問タイプ

All
Simple Question (Direct)
Simple Question (Coreferenced)
Simple Question (Ellipsis)
Logical Reasoning (All)
Quantitative Reasoning (All)
Comparative Reasoning (All)
Clarification
Verification (Boolean) (All)
Quantitative Reasoning (Count) (All)
Comparative Reasoning (Count) (All)

DNC
57.18%
70.26%
69.82%
78.23%
66.72%
61.31%
50.76%
29.11%
19.20%
43.07%
83.36%

提案手法

57.74%
69.98%
69.14%
78.57%
65.60%
64.16%
52.95%
28.45%
15.85%
47.06%
85.64%

Saha らと同じ前処理を行なった上で 10 回以上出現する単語のみを含んだトリプルを
抽出した結果,トリプルの総数は 9,453,367,エンティティとリレーションの語彙数は
それぞれ 920,391,328 となった.
まず,オリジナルの DNC モデルに対して Wikidata で学習し,知識をあらかじめ格
納した知識メモリを構築する.そして,その知識メモリを用いて提案モデルの実験を
行なった.また,提案モデルとの比較のため,Wikidata は用いず会話のデータセット
のみを用いて DNC モデルで実験を行い,知識メモリを追加することの有効性を検証
した.
知識メモリには 50 万回学習したメモリを用い,DNC モデルと提案モデルについて
は両方 10 万回学習を行なった.

結果
全体の評価事例における予測単語が不正解であった割合を表す誤り率によって評価
した.各質問タイプにおける誤り率の結果を表 5.2 に示す.

Simple Question は知識グラフ内の 1 つのトリプルのみで答えられる質問(例えば,
“Which city is the capital of Japan?”)である.“Q: Which rivers flow through Tokyo? A:
Sumida, Meguro, Kanda, ....” のような複数の正解を持つ,つまり,複数のトリプルが
関係している質問も複数トリプルによる複合的な推論を必要とする訳ではないので

Simple Question とする.また,文脈に依存するか否かにより,Direct と Indirect(共

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

37

参照と省略)に分かれる.Direct に比べて Coreferenced はあまり変わらなかったが,

Ellipsis では結果が下がった.Direct と Coreferenced で提案モデルの方が良い結果に
なった.

Simple Question に対して推論を必要とするような複雑な質問として,Logical Reasoning,Quantitative Reasoning,Comparative Reasoning の三つがある.Logical Reasoning は知識グラフ内の複数のトリプルに対して論理的推論を必要とする質問(例えば,
“Which rivers flow through Tokyo and Saitama?”)である.この質問に答えるにはトリ
プル (river, flows through, Tokyo) に現れる river の集合とトリプル (river, flows through,

Saitama) に含まれる river の集合の作成が必要であり,質問の最終的な答えはこれら 2
つの集合の共通集合である.

Quantitative Reasoning は max,min,count などの標準的な集合関数を含んだ推論を
必要とする質問(例えば,“Which river flows through maximum number of prefectures?”)
である.Quantitative Reasoning (Count) は “How many rivers flow through Tokyo?” のよ
うな数字を答えさせる質問である.

Comparative Reasoning は特定のリレーションに基づくエンティティ間の比較を必要
とする質問(例えば,“Which prefectures have more number of rivers than Tokyo?”)であ
る.知識グラフ内の複数のトリプルに対する推論が求められ,count,sort や more/less
といった演算子の学習が不可欠である.Comparative Reasoning (Count) は “How many

prefectures have more number of rivers than Tokyo?” のような比較の後に数え上げが必
要な質問である.

Simple Question に比べて Comparative Reasoning (Count) 以外の結果は上がったが,
Comparative Reasoning (Count) の結果が全質問タイプ中で最も悪かった.比較して数
え上げるというのがうまくモデル化できていないと思われる.Logical Reasoning のみ
提案モデルの方が結果が良くなった.

Verification (Boolean) は Yes/No によって答えられる確認をする質問(例えば,“Does
Sumida flow through Tokyo?”)である.他の質問タイプに比べてかなり誤り率は低く,
Yes/No のみで答えるため比較的簡単であったと思われる.
Clarification は例えば,直前に “Q: Which rivers flow through Tokyo? A: Sumida, Meguro, Kanda, ....” といったやり取りがあり,次に “And Does it also flow through Saitama?”
のような共参照を含むが参照先のエンティティが 1 つに定まらない場合に “Did you mean

Sumida?” のように質問の意図を明確化するために正しく聞き返すことができるかを問
うタスクである.他とは異なり,エンティティと知識グラフにない単語の系列からな

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

38

る自然言語の応答を生成しなければならない.知識グラフを用いなくても答えられる
ためか誤り率は低く,提案モデルの方が良い値となった.

考察
図 5.2 に DNC モデルの各タイムステップにおけるメモリからの読み/書きのアテン
ションの重みを可視化した結果,図 5.3 に提案モデルの各タイムステップにおける文
脈メモリからの読み/書きのアテンションの重みを可視化した結果,図 5.4 に提案モデ
ルの各タイムステップにおける知識メモリからの読み出しのアテンションの重みを可
視化した結果を示す.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

(a) 書き込みヘッド

(b) 読み出しヘッド 0

(c) 読み出しヘッド 1

(d) 読み出しヘッド 2

39

(e) 読み出しヘッド 3

図 5.2: DNC モデルの各タイムステップにおけるメモリに対する読み出し/書き込みのアテン
ションの重みの可視化結果

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

(a) 書き込みヘッド

(b) 読み出しヘッド 0

(c) 読み出しヘッド 1

(d) 読み出しヘッド 2

40

(e) 読み出しヘッド 3

図 5.3: 提案モデルの各タイムステップにおける文脈メモリに対する読み出し/書き込みのアテ
ンションの重みの可視化結果

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

(a) 読み出しヘッド 0

(b) 読み出しヘッド 1

(c) 読み出しヘッド 2

(d) 読み出しヘッド 3

41

図 5.4: 提案モデルの各タイムステップにおける知識メモリからの読み出しのアテンションの
重みの可視化結果

縦軸は各タイムステップ,つまり各単語に対応し,横軸はメモリのスロット数であ
る.図 5.2 ではアテンションが強くかかっている部分が所々あるものの,書き込み操
作と読み出し操作の間にあまり相関は見られなかった.図 5.3 についても同様の結果
となった.図 5.4 では特定のスロットのみにアテンションが当たっていた.
提案モデルのテストデータにおける応答予測の一例を図 5.5 に示す.

5.3.3

Dialog bAbI データセット

Dialog bAbI データセット [Bordes 16] はレストラン予約という設定におけるタスク
指向型対話 6 タスクのセットである.その中から,Task 1-4 をつなげた Task 5 (Full

dialogs) を使用し,さらにスペシャルトークン api call で始まる文を本研究では
除去した.訓練,開発,テストセットはそれぞれ 1,000 例である.訓練セットと開発

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

42

表 5.3: Dialog bAbI データセットにおける平均 per-response accuracy
Task
Full dialogs
Full dialogs (OOV)

DNC
83.04%
73.06%

DNC
+KM
86.52%
74.60%

rsDNC
87.77%
76.11%

rsDNC
+KM
92.46%
75.90%

DNC-DMS
84.48%
73.57%

DNC-DMS
+KM
83.83%
71.83%

DNC-MD
82.50%
72.33%

DNC-MD
+KM
84.30%
72.52%

表 5.4: Dialog bAbI データセットにおける詳細結果.“w/o KB facts” は知識ベースのファクト
なしで答えられるタスクを表し,“w/ KB facts” は質問に答えるのに知識ベースのファ
クトが必要なタスクを表す.“w/ KB facts (OOV)” の結果はすべて 0.00%だったため省
略した.
Task
w/o KB facts
w/ KB facts
w/o KB facts (OOV)

DNC
99.99%
29.53%
95.98%

DNC
+KM
99.99%
43.98%
98.01%

rsDNC
100.00%
49.14%
99.99%

rsDNC
+KM
100.00%
68.66%
99.72%

DNC-DMS
100.00%
35.49%
96.65%

DNC-DMS
+KM
100.00%
32.78%
94.37%

DNC-MD
99.99%
27.28%
95.03%

DNC-MD
+KM
100.00%
34.73%
95.27%

セットで現れなかったエンティティを含む Out-Of-Vocabulary (OOV) テストセットも

1,000 例用意されている.知識ベースは (resto seoul cheap korean 1stars,
R cuisine, korean) のようなレストランのドメインにおける 8,400 ファクトを持
つ.エンティティ数は 3,635,リレーション数は 7,対話の語彙サイズは 2,043 である.

結果
表 5.3 に Dialog bAbI データセットにおける全てのモデルのテスト 3 実行分の平
均 per-response accuracy を示す.DNC はオリジナルの DNC モデルであり,rsDNC は

robust and scalable DNC [Franke 18] であり,DNC-DMS [Csord´as 19] は 3 つの修正 (i.e.
de-allocation mechanisms, masked content based addressing, and sharpness enhancement)
を持ち,そして DNC-MD (DNC-DMS の一種) は masking と de-allocation modifications
のみである.“+KM” モデルは知識メモリユニットを追加した提案モデルである.

DNC+KM はオリジナルの DNC を Full dialogs と OOV タスクの両方で上回った.
rsDNC+KM は全体で最も高い結果を達成した.DNC-DMS+KM のスコアは DNC-DMS
のスコアより低かった.[Csord´as 19] で QA タスクにおいては DNC-DMS より DNC-MD
の方が結果が良かったと報告されているため,DNC-MD モデルの実験も行い,DNC-

MD+KM の値が DNC-MD より高いことが分かった.これは temporal memory linkage
を使わない知識メモリの性質によるものだと推察する.知識メモリを作成するときの知
識ベーストリプルの順番と対話中の単語の順番は無関係なので,sharpness enhancement
がうまく機能しなかったと考えられる.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

43

表 5.4 に KB facts なしで答えられるタスクと,質問に答えるのに KB facts を必要と
するタスクに分けた詳細な結果を示す.w/o KB facts タスクは 12,351 文,w/ KB facts
タスクは 3,912 文をテストセットに含む.知識を要求しない一般的な対話を扱う w/o

KB facts タスクと w/o KB facts (OOV) タスクについては,どちらも総じて高い結果と
なった.知識を要求する対話を扱う w/ KB facts タスクについては,DNC が 29.53%で,

DNC+KM が 43.98%であったため,提案モデルの方が 14.45%向上した.また,rsDNC
は 68.66%,rsDNC+KM は 49.14%だったため,提案モデルは 19.52%の結果の向上が
見られた.さらに,DNC-MD は 27.28%,DNC-MD+KM は 34.73%であり,提案モデ
ルが 7.45%向上した.

rsDNC+KM に注目し,モデルがメモリに何を書き込み,メモリから何を読み出す
のかを調査するために,タイムステップ毎のメモリに対する読み出し/書き込みのアテ
ンションの重みの結果を可視化する.図 5.6,図 5.7,図 5.8 は表 5.5 に示す,モデル
の出力がすべて正解となった成功例についてのアテンションの重みを可視化している.
図 5.6 において,横軸は文脈メモリにおける番地を表し,縦軸は入力データ,つまり
タイムステップ毎のユーザ発話あるいはモデル出力を表す.モデルは入力系列を受け
付ける間は何も返さず,入力がないタイミングに応答を生成する.例えば,入力系列
が “can, you, make, a, restaurant, reservation, in, paris, -, -, -” のとき出力系列は “-, -, -, -,

-, -, -, -, i’m, on, it” である(‘-’ はパディングワード).図 5.6 は表 5.5 の例のターン 2
からターン 6 における文脈メモリへの書き込みのアテンションの重みを示す.“paris”
のような知識ベースの単語に強いアテンションがあり,“actually” や “instead” などの
レストランの条件を変更するのに使われる単語にもアテンションがかかっているのが
興味深い.図 5.7 は表 5.5 の例のターン 8 からターン 14 における文脈メモリからの読
み出しのアテンションの重みを示す.モデルのメモリは 4 つの読み出しヘッドを使用
しており,その内の 1 つを示す.モデルがレストラン情報を出力するとき “indian” が
強く書き込まれたスロットにアテンションがあり,正解はインド料理のレストランな
ので,“indian” という読み出した情報が有効だったと思われる.図 5.8 は知識メモリ
からの読み出しのアテンションの重みを示す.モデルがレストラン情報を答える前に
アテンションがかかっている様子が見られたが,文脈メモリに比べて明瞭な特徴は見
つからなかった.
表 5.6 に示すようにモデルが w/ KB facts タスクを全部間違えたときの結果が悪い例
も検証した.図 5.9 は表 5.6 のターン 2 からターン 8 における文脈メモリへの書き込み
のアテンションの重みの結果の一部を示す.“moderate” や “british” といった知識ベー

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

44

表 5.5: Dialog bAbI データセットでの rsDNC+KM の出力がすべて正解となった成功例

7
8

ユーザの発話
good morning
can you make a restaurant reservation
in paris for six with indian cuisine

i am looking for a expensive restaurant
actually i would prefer in madrid
instead could it be in a moderate price
range
no


9
10

no i don’t like that


11
12

no i don’t like that


13
14

let’s do it
may i have the phone number of the
restaurant
you rock
no thanks

1
2
3
4
5
6

15
16

rsDNC+KM の出力
hello what can i help you with today 3
i’m on it 3

正解
hello what can i help you with today
i’m on it

which price range are looking for 3
ok let me look into some options for you 3
sure is there anything else to update 3
sure is there anything else to update 3

which price range are looking for
ok let me look into some options for you
sure is there anything else to update
sure is there anything else to update

ok let me look into some options for you 3
what do you think of this option:
resto madrid moderate indian 7stars 3
sure let me find an other option for you 3
what do you think of this option:
resto madrid moderate indian 5stars3
sure let me find an other option for you 3
what do you think of this option:
resto madrid moderate indian 2stars 3
great let me do the reservation 3
here it is
resto madrid moderate indian 2stars phone 3
is there anything i can help you with3
you’re welcome 3

ok let me look into some options for you
what do you think of this option:
resto madrid moderate indian 7stars
sure let me find an other option for you
what do you think of this option:
resto madrid moderate indian 5stars
sure let me find an other option for you
what do you think of this option:
resto madrid moderate indian 2stars
great let me do the reservation
here it is
resto madrid moderate indian 2stars phone
is there anything i can help you with
you’re welcome

スの単語に強いアテンションがあった.図 5.10 は表 5.6 のターン 10 からターン 14 に
おける文脈メモリからの読み出しのアテンションの重みの結果の一部を示す.モデル
がレストラン情報を出力するときに “british” が書き込まれたスロットと “with” が書き
込まれたスロットにアテンションがあった.“with” という不必要な情報がモデルの出
力に負の影響かもしれない.図 5.11 は知識メモリからの読み出しのアテンションの重
みを示す.モデルがレストラン情報を答える前にアテンションがかかっており,良例
における知識メモリからの読み出しのアテンションの重みと似た挙動を示した.

5.3.4

Movie Dialog データセット

Movie Dialog データセット [Dodge 16] は映画のトピックに関する 4 つの対話タスクの
セットである.質問応答タスクと推薦タスクを組み合わせた Task 3 (QA+Recommendation

Dialog) を使用した.対話は 3 ターン構成である:最初のターンは推薦を要求する, e.g.
“I’m looking for a Brian De Palma movie. Response: Blow Out”.2 番目のターンでは,
ユーザはモデルの前の応答についてのファクトイド型質問を尋ねる, e.g. “Who does

that star? Response: John Travolta, John Lithgow, Nancy Allen, Dennis Franz”.3 番目の
ターンでは,ユーザは別の推薦を要求し,彼らの趣向について追加情報を与える, e.g.

“I prefer Robert De Niro movies. Can you suggest an alternative? Response: Hi Mom!”.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

45

表 5.6: Dialog bAbI データセットでの rsDNC+KM の出力が “w/ KB facts” タスクですべて不正
解だったときの結果が悪い例

8
9
10

ユーザの発話
good morning
i’d like to book a table in a
moderate price range

with british food
madrid please
for four people please
instead could it be in a
expensive price range
actually i would prefer for six
no


11
12

no this does not work for me


13
14

i love that
do you have its phone number

15
16

thanks
no thank you

1
2
3
4
5
6
7

rsDNC+KM の出力
hello what can i help you with today 3
i’m on it 3

正解
hello what can i help you with today
i’m on it

any preference on a type of cuisine 3
where should it be 3
how many people would be in your party 3
ok let me look into some options for you 3
sure is there anything else to update 3

any preference on a type of cuisine
where should it be
how many people would be in your party
ok let me look into some options for you
sure is there anything else to update

sure is there anything else to update 3
ok let me look into some options for you 3
what do you think of this option:
resto london expensive british 4stars 7
sure let me find an other option for you 3
what do you think of this option:
resto paris expensive british 4stars 7
great let me do the reservation 3
here it is
resto madrid moderate british 5stars phone 7
is there anything i can help you with3
you’re welcome 3

sure is there anything else to update
ok let me look into some options for you
what do you think of this option:
resto madrid expensive british 8stars
sure let me find an other option for you
what do you think of this option:
resto madrid expensive british 6stars
great let me do the reservation
here it is
resto madrid expensive british 6stars phone
is there anything i can help you with
you’re welcome

表 5.7: Movie Dialog データセットにおける平均 hits@k.“k=1” は hits@1,“k=10” は hits@10
を意味する.
Task
Whole test set (k=1)
Whole test set (k=10)

DNC
18.74%
37.72%

DNC
+KM
18.54%
37.49%

rsDNC
18.26%
35.72%

rsDNC
+KM
18.54%
36.13%

DNC-DMS
18.57%
37.53%

DNC-DMS
+KM
18.61%
37.88%

DNC-MD
18.76%
38.38%

DNC-MD
+KM
18.58%
37.33%

データセットは訓練用に 100 万対話例,開発とテスト用に 1 万ずつ含む.それらの内,
計算資源の制約により訓練用に 100k,開発用に 4,907,そしてテスト用に 4,766 を使
用した.Movie Dialog データセットの知識ベースは Open Movie Database (OMDb)2 と

MovieLens dataset3 から構築されている.減らした対話データ中に出現するエンティ
ティを持つトリプルのみを元の知識ベースから抽出し,126,999 トリプルを得た.エ
ンティティ数は 37,055,リレーション数は 10,対話の語彙サイズは 26,314 である.

結果
表 5.7 に Movie Dialog データセットにおける全てのモデルのテスト 3 実行分の平
均 hits@1 及び hits@10 を示す.hits@1 と hits@10 のどちらも我々の DNC+KM と
2
3

http://beforethecode.com/projects/omdb/download.aspx.
http://grouplens.org/datasets/movielens/

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

46

表 5.8: Movie Dialog データセットにおける詳細結果.“k=1” は hits@1,“k=10” は hits@10 を
意味する.
Task

DNC

Response 1 (Recs) (k=1)
Response 2 (QA) (k=1)
Response 3 (Similar) (k=1)

22.07%
7.18%
38.16%

DNC
+KM
21.97%
6.80%
38.23%

Response 1 (Recs) (k=10)
Response 2 (QA) (k=10)
Response 3 (Similar) (k=10)

50.25%
18.84%
61.69%

50.52%
18.26%
61.62%

rsDNC

DNC-DMS

14.46%
8.97%
40.99%

rsDNC
+KM
14.56%
9.28%
41.39%

DNC-MD

21.49%
7.07%
38.35%

DNC-DMS
+KM
21.95%
6.82%
38.50%

21.87%
7.27%
38.30%

DNC-MD
+KM
21.64%
6.87%
38.64%

37.20%
20.62%
64.28%

37.97%
20.72%
64.90%

49.05%
18.79%
62.31%

50.28%
18.88%
62.23%

50.43%
19.89%
62.08%

49.36%
18.52%
61.68%

DNC-MD+KM はオリジナルモデルより結果が悪かったが,我々の rsDNC+KM と DNCDMS+KM はオリジナルモデルより結果が良かった.表 5.8 により詳細な分析のため
の結果を示す.それぞれのタスクの出力は知識ベースのエンティティのリストである.

Response 1 (Recs) は対話の最初のターンであり,推薦を要求する.Response 1 のテス
トセットに含まれるエンティティ数は 5,421 である.Response 2 (QA) は 2 番目のター
ンであり,モデルは前のターンから文脈を考えてファクトイド型質問に答える必要が
ある.Response 2 は 1 つ以上のエンティティを答えることをしばしば求められるため,
テストセットに 9,867 エンティティを持つ.Response 3 (Similar) は 3 番目のターンで
あり,モデルは彼らの趣向に関するユーザの追加情報を与えられて別の推薦を提供す
る.4,939 エンティティがテストセットに含まれる.Response 3 タスクでは知識メモ
リを持つ我々のモデルの hits@1 スコアがどの DNC モデルでも高かった.rsDNC モ
デルにおいては,rsDNC+KM の hits@1 と hits@10 はどちらも 3 タスクすべてで向上
した.rsDNC+KM のスコアが Response 2 と Response 3 タスクで他のモデルを上回っ
たにもかかわらず,Response 1 タスクの結果はかなり低かった.Response 1 タスク
は “Gentlemen of fortune, Revanche, Eternal sunshine of the spotless mind, Prometheus,

Fanny and Alexander, The hurt locker, and 127 hours are films I really like. I’m looking for
a Brian De Palma movie.” のような長い入力文を扱う必要があるため,rsDNC モデル
は長い系列の処理に難があると考えられる.

5.4

まとめ

DNC を拡張し,文脈を捉えつつ構造化知識を活用した対話のモデルを提案した.
CSQA データセットを用いて提案モデルとオリジナルの DNC モデルの実験を行ない,
誤り率を比較した結果,10 項目中 5 項目で結果は上がったが,全体の結果は DNC モ
デルより下がってしまった.原因の一つとして,知識メモリのサイズが約 900 万のト

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

47

リプルを記録するには 512 × 128 ではまだ小さすぎたことが考えられる.今回の実験
では学習イテレーション数が 10 万回だったので,学習回数を増やして結果をまた考
察したい.今後の課題として,提案モデルでは論理や集合といった関数が正しくモデ
ル化されていないので,自然言語文に対して正確なパージングを行なった上でこれら
の関数を end-to-end で設計する方法を考えていきたい.3 つの DNC モデル,vanilla

DNC, rsDNC, DNC-DMS に知識メモリを追加した.背景知識を必要とする対話タス
クにおける提案手法の効果について分析した.提案モデル,DNC+KM, rsDNC+KM,

DNC-MD+KM が the (6) dialog bAbI tasks dataset の full dialog tasks でオリジナルモデ
ルを上回った.特に,各モデルは KB ファクトを要求するタスクで,それぞれおよそ

14%, 20%, 7%向上した.Movie Dialog dataset では,rsDNC+KM, DNC-DMS+KM が
オリジナルモデルより良い結果になった.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

48

図 5.5: 提案モデルのテストデータにおける応答予測の一例.[] 内の単語は正解を表す.予測
した単語と正解が一致していれば緑字,異なれば赤字で表示される.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

49

図 5.6: Dialog bAbI データセットでの rsDNC+KM の成功例における文脈メモリへの書き込み
のアテンションの重みの可視化結果.横軸は文脈メモリにおける番地を表し,縦軸は
タイムステップ毎の入力データあるいはモデル出力を表す.

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

50

図 5.7: Dialog bAbI データセットでの rsDNC+KM の成功例における文脈メモリからの読み出
しのアテンションの重みの可視化結果

図 5.8: Dialog bAbI データセットでの rsDNC+KM の成功例における知識メモリからの読み出
しのアテンションの重みの可視化結果

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

51

図 5.9: Dialog bAbI データセットでの rsDNC+KM の結果が悪い例における文脈メモリへの書
き込みのアテンションの重みの可視化結果

第 5 章 記憶装置付き NNM による文脈と構造化知識を用いた対話

52

図 5.10: Dialog bAbI データセットでの rsDNC+KM の結果が悪い例における文脈メモリからの
読み出しのアテンションの重みの可視化結果

図 5.11: Dialog bAbI データセットでの rsDNC+KM の結果が悪い例における知識メモリからの
読み出しのアテンションの重みの可視化結果

53

第 6 章 記憶装置付きニューラルネットワー
クモデルによる構造化知識と演算処
理を用いた質問応答
6.1

研究背景と目的

知識グラフを埋め込み空間内に表現し,論理計算を行う質問応答手法として Condi-

tional Theorem Provers [Minervini 20] や Query2Box [Ren 20] が提案されている.しか
し,これらの手法では限られた計算のみしか扱うことができない.本研究では,Differen-

tiable Neural Computer (DNC) [Graves 16] と,さらに DNC を改良した rsDNC [Franke 18]
と DNC-DMS [Csord´as 19] に対して,質問応答タスクにおいて重要な要素である知識
利用と演算処理を新たに組み入れ,構造化知識に対する演算処理を含んだ質問文につ
いて正しい答えを生成するために任意の演算を用いて能力を向上させることを目指す.

6.2

提案手法

3 つのモデル,DNC, rsDNC, DNC-DMS を構造化知識を保存するための新たなメモ
リアーキテクチャとプロセッサアーキテクチャを追加することで拡張する.

6.2.1

プロセッサ

図 6.1 は DNC に基づく知識メモリとプロセッサを持つ提案モデルの全体図を示す.
提案モデルは control unit (RNN) と 2 つのメモリユニットとプロセッサユニットから
成る.
各タイムステップ t で行う処理は以下の通りである:
c ∈ RN×W
1. コントローラ (RNN) は入力 xt と,前タイムステップで文脈メモリ Mt−1
c = [r c,1 ; ...; r c,R ] (r c は r c,1 , ..., r c,R
から読み出した R 個のベクトルのセット rt−1
t−1
t−1
t−1
t−1
t−1

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

54

図 6.1: 知識メモリとプロセッサを持つ提案モデルの全体図
k ∈ RN×W から読み出し
の結合) に加えて,前タイムステップで知識メモリ Mt−1
k = [r k,1 ; ...; r k,R ],そして前タイムステップのプ
た R 個のベクトルのセット rt−1
t−1
t−1

ロセッサの演算結果のベクトル vt−1 を受け取る.それから隠れベクトル ht を出
力する.

2. ht の線形変換により,出力 υt = Wy ht と,現タイムステップにおける文脈メモ
リを制御するためのパラメータを格納したベクトル ξt = Wξ ht ,現タイムステッ
プにおける知識メモリを制御するためのベクトル ζt = Wζ ht ,そして現タイムス
テップのプロセッサに用いられるゲートベクトル gt = Wg ht を得る.

3. ξt によって文脈メモリへの書き込みが行われ,メモリの状態が更新される.知
識メモリへの書き込みは行われない.

4. プロセッサでの演算処理は gt と,現タイムステップで文脈メモリから読み出し
たベクトルを結合した rtc ,現タイムステップで知識メモリから読み出したベク
トルを結合した rtk を用いて行われる.

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

55

5. 最後に,rtc と Wrc をかけて得られるベクトルと,rtk と Wrk をかけて得られるベ
クトル,及び現タイムステップのプロセッサからのベクトル vt と Wv をかけて
得られるベクトルに υt を足し,出力 yt を計算する.

yt = υt + Wrc rtc + Wrk rtk + Wv vt
read vector rtc と rtk ,value vector vt は次タイムステップの RNN への入力に追加
される.

プロセッサ処理
プロセッサユニットにおいて単純な算術演算と論理演算を行うために,13 の演算を設
定した:Max, Min, More, Less, Major city, Major river, Major lake,

Not, Count, Density, Sum, Context, Knowledge. 文脈メモリからの read
vector r c と知識メモリからの read vector r k は,オリジナルの語彙トークンのリスト,
「文脈リスト」と「知識リスト」にそれぞれ変換される.

Superlatives : Max 演算は知識リストを受け取り,その最大値を返す.Min 演算は同
様に知識リストを受け取り,その最小値を返す.

Comparatives : More 演算は文脈リストと知識リストの両方を受け取り,知識リス
トの最初の数より大きい数を文脈リスト中から返す. Less 演算は同様に文脈リスト
と知識リストの両方を受け取り,知識リストの最初の数より小さい数を文脈リスト中
から返す. Major city, Major river, Major lake 演算は知識リストを受け取
り,それぞれ “150,000”, “750”, “5,000” より大きい数を返す.

Negation

: Not 演算は文脈リストと知識リストの両方を受け取り,文脈リストから

知識リストを引いた差を返す.

Calculation : Count 演算は知識リストを受け取り,その要素数を返す. Density 演
算は文脈リストと知識リストの両方を受け取り,要素毎に知識リストで割られた文脈
リストを返す. Sum 演算は知識リストを受け取り,その要素の和を返す.

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

56

No operation : Context 演算は文脈リストを受け取り,それ自身を返し,Knowledge
演算は知識リストを受け取り,同様にそれ自身を返す. これらの 2 つの演算は上記の
演算がどれも適当でない場合のために用意した.

13 の演算の出力は gate vector g のソフトマックス出力と結合し,value vector v を構
築する.

6.3
6.3.1

実験
実験設定

すべてのモデルのハイパーパラメータは主に [Graves 16] に基づく;隠れ層サイズ 256
の 1 層 LSTM [Hochreiter 97],バッチサイズ 2,学習率 1 × 10−4 ,メモリ次元 256 × 64,
読み出しヘッド数 4,書き込みヘッド数 1,モメンタム 0.9 の RMSProp オプティマイ
ザ [Tieleman 12].[Franke 18] に従い rsDNC [Franke 18] のドロップアウト率は 10%とし
た. HuggingFace1 bert-base-uncased model を隠れ次元 768 の BERT [Devlin 19] encoder
に使用した.数字は [Geva 20] を参考に 1 桁ずつ分割した.5 分割交差検証 [Stone 74]
で 5 エポックずつモデルを学習させた.ランダムな初期化の下で各モデルを 3 回実行
し,平均の結果を報告する.
知識ベースを用いて知識メモリを構築するために,3 つのオリジナルモデルをメモ
リ次元 256 × 64 で,5 分割交差検証で 10 エポックずつ学習させた.他の設定は前述の
通りである.DNC, rsDNC, DNC-DMS の top-10 accuracy はそれぞれ 78.90%, 78.39%,

79.63%だった.知識メモリ構築に用いる事前学習モデルと提案手法に用いる学習モデ
ルは 同じ種類である.つまり,DNC を用いて学習した知識メモリが,DNC をベース
とした提案モデルで使用される.

6.3.2

データセット

GEO データセット [Zelle 96]2 アメリカの地理に関する 880 の質問文と Prolog 形
式のファクトのデータベースを含む. 質問文の語彙サイズは 280 である. 質問文は

superlatives, comparatives, negation, count, density, sum といった calculation を含む. GEO
データセットは質問文に対する答えを含んでいなかったため,答えを人手でアノテー
1
2

https://github.com/huggingface/transformers
https://cs.stanford.edu/ pliang/software/

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

57

表 6.1: 知識ベースの一部

type
capital
population
area
located
len
traverse
next to
high point
elevation
low point

alabama
alabama
alabama
alabama
birmingham
mississippi
mississippi
alabama
alabama
cheaha mountain
alabama

state
montgomery
3894.0e+3
51.7e+3
alabama
3778
minnesota
tennessee
cheaha mountain
734
gulf of mexico

ションを行った. 答えはデータベースからの地理エンティティのリストである. 答えの
長さは 0 から 386 エンティティである. 例えば,“Which rivers flow through Alaska ?”
という質問は答えがなく,別の質問 “Give me the cities in the U.S. ?” はかなり多くの答
えを持つ. 600 サンプルを学習に,280 サンプルをテストに用いた.

GEO のデータベースから RDF 形式の三つ組を作成し,表 6.1 に示す. 1 列目はリ
レーション,2 列目はサブジェクトエンティティ,3 列目はオブジェクトエンティティ
である. 三つ組 (type, alabama, state) は alabama の type は state であ
ると意味する. type リレーションに対するオブジェクトエンティティとして,5 つの
エンティティ:state, city, river, mountain, lake を我々の KB に追加し
た. この KB は地理ドメイン内の 11 リレーション,1,275 エンティティ,2,250 トリプ
ルを含む.
さらに, 新たな 500 QA ペアを人手で作成し GEO データセットを拡張した. この拡
張したデータセットを “GEO 1380” と呼ぶ. 1,000 サンプルを学習に,380 サンプルを
テストに用いた.

6.3.3

結果

表 6.2 に,GEO データセットと GEO 1380 における全てのモデルのテスト 3 実行分の
平均 top-1 accuracy (Acc@1) と top-10 accuracy (Acc@10) を示す. 明快化のために,以下
の記法を用いる:DNC はオリジナルの DNC モデル [Graves 16],rsDNC は [Franke 18]
により提案された robust and scalable DNC モデル,DNC-DMS [Csord´as 19] は DNC

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

58

表 6.2: GEO データセットと GEO 1380 における平均 Acc@k

BERT (base) [Devlin 19]

GEO
Acc@1 Acc@10
18.44
39.73

GEO 1380
Acc@1 Acc@10
21.79
45.04

DNC [Graves 16] + BERT
rsDNC [Franke 18] + BERT
DNC-DMS [Csord´as 19] + BERT

20.93
20.76
20.20

44.98
44.86
44.46

24.37
26.04
25.37

51.16
53.41
52.53

DNC + BERT + Knowledge Memory
rsDNC + BERT + Knowledge Memory
DNC-DMS + BERT + Knowledge Memory

19.53
20.69
20.88

43.58
43.98
45.40

25.39
26.08
25.10

52.82
53.87
52.23

DNC + BERT + Knowledge Memory + Processor
rsDNC + BERT + Knowledge Memory + Processor
DNC-DMS + BERT + Knowledge Memory + Processor

20.03
21.20
19.51

43.82
45.16
43.58

23.76
25.79
22.82

51.46
53.28
50.69

に対して 3 つの修正 (i.e. de-allocation mechanisms, masked content based addressing,

sharpness enhancement) を持つ. “+KM” 表記付きのモデルは知識メモリユニットを追
加した我々の提案モデルである. “+KM+P” 表記付きのモデルは知識メモリユニットと
プロセッサユニットを追加した我々の 2 つ目の提案モデルである.

GEO データセットにおいて,rsDNC+KM+P は Acc@1 で最も良い結果を達成し,
DNC-DMS+KM は Acc@10 で最も高くスコアした. GEO 1380 データセットでは,rsDNC+KM は他のモデルを上回った. QA タスクに特化した rsDNC を基にしたモデル
は良い結果になる傾向がある. すべてのスコアが GEO 1380 で上がったため,より大
きなデータセットはモデルの精度向上に有効である.
表 6.3 に,GEO 1380 データセットにおける全てのモデルの各質問タイプのテスト 3
実行分の平均 Acc@10 を示す.

Simple : 1Hop は “What states border Texas?” のように質問文が 1 つのリレーション
を含むことを意味する. 例えば,“What states border states that border states that border

states that border Texas?” は 4 つのリレーションを含むため,この例は 4Hop である. 表
??に示すように,1Hop は GEO と GEO 1380 の両方の 30%以上を占めるため,このタ
イプで高くスコアすることが全体の良い結果につながる. 4Hop のポイントが 2Hop の
ポイントより高いのは,4Hop の方が 2Hop より難しいにも関わらず奇妙に思えるかも
しれない. これは 4Hop のサンプル数が少ないせいだと考えられ,マルチホップサンプ
ルを拡張する必要がある.

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

59

Superlatives : Argmax は “What is the largest state?” のように質問文が “largest”, “highest”, “longest” などといった単語を含むことを意味する. Argmax と Argmin において,
rsDNC+KM+P が最も高くスコアした. superlatives の他のタイプでは,rsDNC+KM+P
はトップスコアに届かなかったが,それでもベストなモデルと比べて

色ない.

Comparatives : このタイプは “What states high point are higher than that of Colorado?”
のように 3 つの表現:More, Less, Major を扱う. ホップ数が増えると,スコアは下がる.

Negation

: Not は “What state has no rivers?” のように質問文が否定表現を含むことを

意味する. 我々の rsDNC+KM は他のモデルを上回った.

Calculation : このタイプは “How many states are in the USA?” のように 3 つの演算:
Count, Density, Sum を扱う. Count と Sum のポイントは他のタイプと比べて比較的高
い一方で,Density の結果はとても低い.

Compound

: このタイプは “How many states have a higher point than the highest point

of the state with the largest capital city in the U.S.?” のように上記の 4 タイプ:Superlatives,
Comparatives, Negation, Calculation を複合した質問文を扱う. このタイプの質問文数は
小さい(ほとんどが 1)ため,極端な結果,100.0%が見られる. DNC+KM+P は他と比
べても良い結果となった.

6.4

まとめ

3 つの DNC モデル,vanilla DNC, rsDNC, DNC-DMS に知識メモリアーキテクチャ
とプロセッサアーキテクチャを追加し,実験を行い,背景知識や単純な算術演算と論
理演算を必要とする質問応答タスクに対して効果を分析した. 提案した rsDNC+KM+P
は GEO データセットにおいて平均 Acc@1 で最も良い結果を達成し,我々の DNC-

DMS+KM は平均 Acc@10 で最も高くスコアした. さらに,提案モデル rsDNC+KM は
GEO 1380 データセットにおいて平均 Acc@1 と平均 Acc@10 で他のモデルを上回った.
今後の課題では,提案モデルに順次実行,条件分岐,反復といった制御命令を処理
するアーキテクチャを加えて改良したい.

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

60

表 6.3: GEO 1380 データセットにおける各質問タイプの平均 Acc@10
BERT
(base)

DNC
+b

rsDNC
+b

DNC-dms
+b

DNC
+b+km

rsDNC
+b+km

DNC-dms
+b+km

DNC
+b+km+p

rsDNC
+b+km+p

DNC-dms
+b+km+p

69.68
18.95
17.86

74.83
23.60
46.43

75.98
25.67
60.71

76.29
26.53
59.52

77.03
23.77
66.67

79.23
24.29
51.19

76.93
23.94
66.67

78.46
21.96
50.0

77.85
24.29
52.38

74.59
22.74
47.62

65.50
81.60
70.41
66.67
72.11
35.29

67.44
85.28
75.85
79.63
88.44
43.79

67.83
85.28
78.91
82.10
89.12
50.33

68.60
85.06
76.19
79.01
89.80
56.21

68.99
86.15
75.51
77.16
92.52
50.98

68.22
85.93
76.53
82.10
88.44
47.71

67.83
85.50
75.85
79.01
89.12
48.37

67.44
81.82
72.45
75.93
85.71
41.18

69.38
85.71
77.21
83.33
90.48
54.90

67.05
84.42
77.21
80.86
83.67
32.68

59.32
32.84
14.29

70.62
42.69
21.43

84.18
49.26
22.79

77.40
40.72
21.43

80.23
42.86
20.07

86.44
46.96
21.77

68.36
40.23
23.13

79.66
36.95
22.45

77.40
45.65
20.75

72.88
39.90
21.09

36.62

52.27

63.64

60.61

60.86

65.15

56.31

54.55

60.35

56.06

97.53
80.0
50.0
6.17
81.25

100.0
96.0
100.0
8.11
81.25

100.0
96.0
100.0
7.68
81.25

100.0
85.33
66.67
7.62
81.25

100.0
97.33
100.0
8.59
81.25

100.0
92.0
100.0
9.32
81.25

100.0
90.67
83.33
8.05
81.25

100.0
88.0
100.0
8.35
81.25

100.0
94.67
100.0
8.23
81.25

100.0
93.33
100.0
8.41
81.25

83.33
80.95
83.33
100.0
50.0
100.0
100.0
100.0
47.62
66.67
87.50
73.81
100.0
87.50
21.37
66.67
50.0
100.0
55.56
50.0
100.0
54.39
10.79
83.33
45.04

83.33
85.71
83.33
100.0
50.0
100.0
100.0
95.83
33.33
77.78
83.33
78.57
83.33
91.67
58.97
100.0
83.33
100.0
88.89
33.33
100.0
57.89
13.97
83.33
51.16

100.0
85.71
100.0
100.0
50.0
100.0
100.0
100.0
38.10
77.78
91.67
80.95
83.33
100.0
74.36
88.89
100.0
100.0
66.67
33.33
100.0
57.89
12.38
83.33
53.41

100.0
85.71
83.33
100.0
50.0
100.0
100.0
100.0
38.10
66.67
91.67
76.19
83.33
95.83
65.81
100.0
100.0
100.0
88.89
50.0
100.0
57.89
12.38
83.33
52.53

83.33
85.71
83.33
100.0
50.0
100.0
100.0
100.0
28.57
66.67
95.83
85.71
50.0
95.83
56.41
100.0
100.0
100.0
77.78
66.67
100.0
59.65
13.02
83.33
52.82

83.33
80.95
100.0
100.0
66.67
100.0
100.0
100.0
33.33
88.89
75.0
73.81
83.33
91.67
41.88
100.0
100.0
100.0
77.78
50.0
100.0
60.53
14.60
83.33
53.87

100.0
80.95
100.0
100.0
50.0
100.0
100.0
100.0
38.10
66.67
87.50
76.19
50.0
95.83
65.81
100.0
100.0
100.0
88.89
50.0
100.0
61.40
14.60
83.33
52.23

100.0
85.71
100.0
100.0
50.0
100.0
100.0
100.0
57.14
66.67
100.0
85.71
50.0
100.0
56.41
100.0
100.0
100.0
100.0
50.0
100.0
63.16
3.81
83.33
51.46

83.33
85.71
83.33
100.0
50.0
100.0
100.0
100.0
33.33
66.67
87.50
78.57
83.33
91.67
69.23
100.0
100.0
100.0
66.67
50.0
100.0
59.65
12.06
83.33
53.28

100.0
80.95
100.0
100.0
66.67
100.0
100.0
100.0
42.86
77.78
87.50
78.57
83.33
87.50
48.72
100.0
100.0
100.0
88.89
50.0
100.0
59.65
11.43
83.33
50.69

Simple
1Hop
2Hop
4Hop
Superlatives
Argmax
Argmax-1Hop
Argmax-2Hop
Argmin
Argmin-1Hop
Argmin-2Hop
Comparatives
Major
Major-1Hop
Major-2Hop
Negation
Not-1Hop
Calculation
Count
Count-1Hop
Count-2Hop
Density
Sum-1Hop
Compound
Argmax-Argmax
Argmax-Argmax-3Hop
Argmax-Argmax-Major-1Hop
Argmax-Argmin-1Hop
Argmax-Argmin-2Hop
Argmax-Argmin-Density
Argmax-Major
Argmax-Major-1Hop
Argmax-Major-2Hop
Argmax-Not-1Hop
Argmax-Density
Argmax-Density-1Hop
Argmin-Argmax-1Hop
Argmin-Density
Not-Major-1Hop
Count-Argmax
Count-Argmax-2Hop
Count-More
Count-More-Argmax-Argmax-2Hop
Count-Less-2Hop
Cout-Not
Density-Argmax
Density-Argmax-1Hop
Density-Argmin
All

第 6 章 記憶装置付き NNM による構造化知識と演算処理を用いた質問応答

表 6.4: 各質問タイプ数
GEO
Simple

Superlatives

Comparatives

Negation
Calculation

Compound

1Hop
2Hop
4Hop
Argmax
Argmax-1Hop
Argmax-2Hop
Argmin
Argmin-1Hop
Argmin-2Hop
Major
Major-1Hop
Major-2Hop
Not-1Hop
Count
Count-1Hop
Count-2Hop
Density
Sum-1Hop
Argmax-Argmax
Argmax-Argmax-3Hop
Argmax-Argmax-Major-1Hop
Argmax-Argmin-1Hop
Argmax-Argmin-2Hop
Argmax-Argmin-Density
Argmax-Major
Argmax-Major-1Hop
Argmax-Major-2Hop
Argmax-Not-1Hop
Argmax-Density
Argmax-Density-1Hop
Argmin-Argmax-1Hop
Argmin-Density
Not-Major-1Hop
Count-Argmax
Count-Argmax-2Hop
Count-More
Count-More-Argmax-Argmax-2Hop
Count-Less-2Hop
Count-Not
Density-Argmax
Density-Argmax-1Hop
Density-Argmin
All

94
10
1
20
43
21
10
13
4
3
8
2
2
8
6
1
3
2
1
1
1
1
1
1
1
3
1
1
3
3
1
4
0
1
1
0
1
1
1
1
1
0
280

GEO
1380
145
11
1
27
49
24
16
15
5
5
12
3
3
11
11
1
4
2
1
1
1
2
1
1
1
3
1
1
3
3
1
4
1
1
1
1
1
1
1
2
1
1
380

61

62

第 7 章 結論

本研究では,データ主導によるクエリの生成および,記憶装置付きニューラルネッ
トワークモデルによる文脈と構造化知識を用いた対話システムの構築ならびに質問応
答を行った.計算機の原理であるチューリングマシンをニューラルネットワークで模し
た DNC に,Transformer と知識利用・演算処理を行うアーキテクチャを組み込んだモ
デルを構築し,知識と演算を必要とする自然言語処理タスクを扱えるか検証を行った.
第 2 章では,記憶装置付きニューラルネットワークモデルについて述べた.
第 3 章では,自然言語の SPARQL クエリ変換によるメニューオントロジーへのアク
セス手法について述べた.KNP による述語項構造・係り受け解析と,データ主導によ
る RDF トリプルの変形を用いた,自然言語から SPARQL クエリへ変換する手法を提
案した.エンティティを知識側の語彙と対応付け,エンティティ間のリレーションを
知識から獲得することによって,SPARQL クエリが完成されれば答えは保証される.
また,基本型,Degree 型,Count 型,List 型の 4 つの質問タイプを設定し,それぞれ
の質問タイプの自然言語質問文及び,より一般化した,それらを組み合わせた質問文
に対してそれぞれ適切な SPARQL クエリを生成することができた.質問タイプを設定
することにより,正確なクエリを容易に生成し,自然言語文が意図する質問に回答す
ることを可能にした.
第 4 章では,文脈を考慮した日本語の注文対話データセットを作成し,ニューラル
ネットワークモデルを適用して実験を行なった結果,平均テスト誤り率として低い値
を得ることができた.
第 5 章では,また,DNC を拡張し,文脈を捉えつつ構造化知識を活用した対話のモ
デルを提案した.CSQA データセットを用いて提案モデルとオリジナルの DNC モデ
ルの実験を行ない,誤り率を比較した結果,10 項目中 5 項目で結果は上がったが,全
体の結果は DNC モデルより下がってしまった.原因の一つとして,知識メモリのサ
イズが約 900 万のトリプルを記録するには 512 × 128 ではまだ小さすぎたことが考え
られる.今回の実験では学習イテレーション数が 10 万回だったので,学習回数を増や
して結果をまた考察したい.3 つの DNC モデル,vanilla DNC, rsDNC, DNC-DMS に

第 7 章 結論

63

知識メモリを追加した.背景知識を必要とする対話タスクにおける提案手法の効果に
ついて分析した.提案モデル,DNC+KM, rsDNC+KM, DNC-MD+KM が the (6) dialog

bAbI tasks dataset の full dialog tasks でオリジナルモデルを上回った.特に,各モデル
は KB ファクトを要求するタスクで,それぞれおよそ 14%, 20%, 7%向上した.Movie

Dialog dataset では,rsDNC+KM, DNC-DMS+KM がオリジナルモデルより良い結果に
なった.
第 6 章では,3 つの DNC モデル,vanilla DNC, rsDNC, DNC-DMS に知識メモリアー
キテクチャとプロセッサアーキテクチャを追加し,実験を行い,背景知識や単純な算
術演算と論理演算を必要とする質問応答タスクに対して効果を分析した. アメリカの
地理に関する知識と演算処理を要求する GEO データセットとそれを拡張したデータ
セットにおいて,BERT をファインチューニングした結果より,DNC モデルをベース
に BERT と知識を扱うメモリと演算を行うユニットを追加した提案手法の結果がすべ
て平均 top-1 accuracy と平均 top-10 accuracy の両方で向上した.さらに,rsDNC を改
良した提案手法は GEO データセットにおける平均 top-1 accuracy で最も良い結果を達
成し,総合的に DNC より高いスコアを得た.
以上の研究により,構造化知識を質問応答や対話に取り入れることの有用性ならび
に記憶装置付きニューラルネットワークモデルに BERT と知識と演算を扱うアーキテ
クチャを追加した手法の結果が BERT のみを用いた結果よりも向上することが確かめ
られた.

64

謝辞

本研究を進めるにあたり,指導教官として常日頃より熱心にご指導くださり,温か
く支え続けてくださった本学基幹研究院自然科学系の小林一郎教授に深謝いたします.
また,審査をご担当くださいました本学基幹研究院自然科学系の小口正人教授,戸次
大介准教授,浅井健一教授,伊藤貴之教授に厚く感謝申し上げます.
金子晃名誉教授には,計算機の使用に関してご指導いただき,実験環境の整備にご
尽力いただきました.Lis Kanashiro Pereira 特任講師には,研究について的確なご指導
をいただきました.心より感謝いたします.
慶應義塾大学の山口高平教授,ならびに森田武史准教授には,貴重なデータを提供
していただくとともに数多くのご教授をいただき,成蹊大学の中野有紀子教授には,
大変有益なご助言をいただきました.深く感謝いたします.
最後に,今まで研究以外の面においても支えてくださった小林研究室のメンバー,
友人,そしていつもそばで温かく見守ってくれた家族に心から感謝の意を表します.

65

関連図書

[Bahdanau 14] Bahdanau, D., Cho, K., and Bengio, Y.: Neural Machine Translation by
Jointly Learning to Align and Translate (2014)
[Bengio 94] Bengio, Y., Simard, P., and Frasconi, P.: Learning Long-Term Dependencies
with Gradient Descent is Difficult, Trans. Neur. Netw., Vol. 5, No. 2, p. 157–166 (1994)
[Bordes 13] Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., and Yakhnenko, O.:
Translating Embeddings for Modeling Multi-relational Data, in Burges, C. J. C., Bottou, L., Welling, M., Ghahramani, Z., and Weinberger, K. Q. eds., Advances in Neural
Information Processing Systems 26, pp. 2787–2795, Curran Associates, Inc. (2013)
[Bordes 16] Bordes, A. and Weston, J.: Learning End-to-End Goal-Oriented Dialog, CoRR,
Vol. abs/1605.07683, (2016)
[Bosselut 19] Bosselut, A., Rashkin, H., Sap, M., Malaviya, C., C¸elikyilmaz, A., and
Choi, Y.: COMET: Commonsense Transformers for Automatic Knowledge Graph Construction, CoRR, Vol. abs/1906.05317, (2019)
[Csord´as 19] Csord´as, R. and Schmidhuber, J.: Improving Differentiable Neural Computers Through Memory Masking, De-allocation, and Link Distribution Sharpness Control,
CoRR, Vol. abs/1904.10278, (2019)
[Dai 19] Dai, Z., Yang, Z., Yang, Y., Carbonell, J., Le, Q., and Salakhutdinov, R.:
Transformer-XL: Attentive Language Models beyond a Fixed-Length Context, in Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics,
pp. 2978–2988, Florence, Italy (2019), Association for Computational Linguistics
[Devlin 19] Devlin, J., Chang, M.-W., Lee, K., and Toutanova, K.: BERT: Pre-training
of Deep Bidirectional Transformers for Language Understanding, in Proceedings of the
2019 Conference of the North American Chapter of the Association for Computational

関連図書

66

Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp.
4171–4186, Minneapolis, Minnesota (2019), Association for Computational Linguistics
[Dinan 18] Dinan, E., Roller, S., Shuster, K., Fan, A., Auli, M., and Weston, J.: Wizard
of Wikipedia: Knowledge-Powered Conversational agents, CoRR, Vol. abs/1811.01241,
(2018)
[Dodge 16] Dodge, J., Gane, A., Zhang, X., Bordes, A., Chopra, S., Miller, A. H.,
Szlam, A., and Weston, J.: Evaluating prerequisite qualities for learning end-to-end dialog systems, Vol. abs/1511.06931, (2016)
[Franke 18] Franke, J., Niehues, J., and Waibel, A.: Robust and Scalable Differentiable
Neural Computer for Question Answering, CoRR, Vol. abs/1807.02658, (2018)
[Geva 20] Geva, M., Gupta, A., and Berant, J.: Injecting Numerical Reasoning Skills into
Language Models, in Proceedings of the 58th Annual Meeting of the Association for
Computational Linguistics, pp. 946–958, Online (2020), Association for Computational
Linguistics
[Graves 14] Graves, A., Wayne, G., and Danihelka, I.: Neural Turing Machines (2014),
cite arxiv:1410.5401
[Graves 16] Graves, A., Wayne, G., Reynolds, M., Harley, T., Danihelka, I., GrabskaBarwi´nska, A., Colmenarejo, S. G., Grefenstette, E., Ramalho, T., Agapiou, J., Badia, A. P., Hermann, K. M., Zwols, Y., Ostrovski, G., Cain, A., King, H., Summerfield, C., Blunsom, P., Kavukcuoglu, K., and Hassabis, D.: Hybrid computing using a
neural network with dynamic external memory, Nature, Vol. 538, No. 7626, pp. 471–476
(2016)
[Guo 18] Guo, D., Tang, D., Duan, N., Zhou, M., and Yin, J.: Dialog-to-Action: Conversational Question Answering Over a Large-Scale Knowledge Base, in Bengio, S., Wallach, H., Larochelle, H., Grauman, K., Cesa-Bianchi, N., and Garnett, R. eds., Advances
in Neural Information Processing Systems 31, pp. 2942–2951, Curran Associates, Inc.
(2018)
[Hochreiter 97] Hochreiter, S. and Schmidhuber, J.: Long short-term memory, Neural computation, Vol. 9, No. 8, pp. 1735–1780 (1997)

関連図書

67

[Kumar 15] Kumar, A., Irsoy, O., Su, J., Bradbury, J., English, R., Pierce, B., Ondruska, P.,
Gulrajani, I., and Socher, R.: Ask Me Anything: Dynamic Memory Networks for Natural
Language Processing, CoRR, Vol. abs/1506.07285, (2015)
[Lewis 19] Lewis, M., Liu, Y., Goyal, N., Ghazvininejad, M., Mohamed, A., Levy, O.,
Stoyanov, V., and Zettlemoyer, L.: BART: Denoising Sequence-to-Sequence Pretraining for Natural Language Generation, Translation, and Comprehension, CoRR, Vol.
abs/1910.13461, (2019)
[Luong 15] Luong, T., Pham, H., and Manning, C. D.: Effective Approaches to Attentionbased Neural Machine Translation, in Proceedings of the 2015 Conference on Empirical
Methods in Natural Language Processing, pp. 1412–1421, Lisbon, Portugal (2015), Association for Computational Linguistics
[Martins 22] Martins, P. H., Marinho, Z., and Martins, A.: ∞-former: Infinite Memory
Transformer, in Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 5468–5485, Dublin, Ireland (2022),
Association for Computational Linguistics
[Miller 95] Miller, G. A.: WordNet: A Lexical Database for English, COMMUNICATIONS
OF THE ACM, Vol. 38, pp. 39–41 (1995)
[Miller 16] Miller, A. H., Fisch, A., Dodge, J., Karimi, A., Bordes, A., and Weston, J.: KeyValue Memory Networks for Directly Reading Documents, CoRR, Vol. abs/1606.03126,
(2016)
[Minervini 20] Minervini, P.,

Riedel, S.,

Stenetorp, P.,

Grefenstette, E.,

and

Rockt¨aschel, T.: Learning Reasoning Strategies in End-to-End Differentiable Proving,
CoRR, Vol. abs/2007.06477, (2020)
[Neumann 45] Neumann, J. v.: First Draft of a Report on the EDVAC, Technical report
(1945)
[Pennington 14] Pennington, J., Socher, R., and Manning, C. D.: Glove: Global Vectors
for Word Representation., in EMNLP, Vol. 14, pp. 1532–1543 (2014)
[Rae 19] Rae, J. W., Potapenko, A., Jayakumar, S. M., and Lillicrap, T. P.: Compressive
Transformers for Long-Range Sequence Modelling, CoRR, Vol. abs/1911.05507, (2019)

関連図書

68

[Raffel 19] Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y.,
Li, W., and Liu, P. J.: Exploring the Limits of Transfer Learning with a Unified Text-toText Transformer, CoRR, Vol. abs/1910.10683, (2019)
[Ren 20] Ren, H., Hu, W., and Leskovec, J.: Query2box: Reasoning over Knowledge
Graphs in Vector Space using Box Embeddings, CoRR, Vol. abs/2002.05969, (2020)
[Saha 18] Saha, A., Pahuja, V., Khapra, M. M., Sankaranarayanan, K., and Chandar, S.:
Complex Sequential Question Answering: Towards Learning to Converse Over Linked
Question Answer Pairs with a Knowledge Graph (2018)
[Siegelmann 95] Siegelmann, H. and Sontag, E.: On the Computational Power of Neural
Nets, J. Comput. Syst. Sci., Vol. 50, No. 1, p. 132–150 (1995)
[Stone 74] Stone, M.: Cross-validatory choice and assessment of statistical predictions,
Roy. Stat. Soc., Vol. 36, pp. 111–147 (1974)
[Sukhbaatar 15] Sukhbaatar, S., szlam, a., Weston, J., and Fergus, R.: End-To-End Memory
Networks, in Cortes, C., Lawrence, N. D., Lee, D. D., Sugiyama, M., and Garnett, R.
eds., Advances in Neural Information Processing Systems 28, pp. 2440–2448, Curran
Associates, Inc. (2015)
[Sutskever 14] Sutskever, I., Vinyals, O., and Le, Q. V.: Sequence to Sequence Learning
with Neural Networks, CoRR, Vol. abs/1409.3215, (2014)
[Tieleman 12] Tieleman, T. and Hinton, G.: Lecture 6.5-rmsprop: Divide the gradient by a
running average of its recent magnitude (2012)
[Vaswani 17] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N.,
Kaiser, L. u., and Polosukhin, I.: Attention is All you Need, in Guyon, I., Luxburg, U. V.,
Bengio, S., Wallach, H., Fergus, R., Vishwanathan, S., and Garnett, R. eds., Advances in
Neural Information Processing Systems, Vol. 30, Curran Associates, Inc. (2017)
[Wang 07] Wang, C., Xiong, M., Zhou, Q., and Yu, Y.: PANTO: A Portable Natural Language Interface to Ontologies., in Franconi, E., Kifer, M., and May, W. eds., ESWC, Vol.
4519 of Lecture Notes in Computer Science, pp. 473–487, Springer (2007)

関連図書

69

[Weston 14] Weston, J., Chopra, S., and Bordes, A.: Memory Networks (2014), cite
arxiv:1410.3916
[Weston 15] Weston, J., Bordes, A., Chopra, S., Rush, A. M., Merri¨enboer, van B.,
Joulin, A., and Mikolov, T.: Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks (2015), cite arxiv:1502.05698
[Young 17] Young, T., Cambria, E., Chaturvedi, I., Huang, M., Zhou, H., and Biswas, S.:
Augmenting End-to-End Dialog Systems with Commonsense Knowledge, CoRR, Vol.
abs/1709.05453, (2017), Withdrawn.
[Zelle 96] Zelle, J. M. and Mooney, R. J.: Learning to Parse Database Queries Using Inductive Logic Programming, in Proceedings of the Thirteenth National Conference on
Artificial Intelligence - Volume 2, AAAI’96, p. 1050–1055, AAAI Press (1996)
[Zou 14] Zou, L., Huang, R., Wang, H., Yu, J. X., He, W., and Zhao, D.: Natural language
question answering over RDF: a graph data driven approach, in SIGMOD Conference
(2014)
[鈴木 15] 鈴木遼司, 三輪誠, 佐々木裕 F 交通オントロジーを対象とした質問文の
SPARQL クエリ変換 (2015)

70

付 録A

研究業績

原著論文

• Murayama, Y., Kobayashi, I.: Towards Question Answering with Multi-hop Reasoning and Calculation over Knowledge using a Neural Network Model with External
Memories. Journal of Advanced Computational Intelligence and Intelligent Informatics (JACIII) , 2022.
国際会議発表

• Murayama, Y., Kobayashi, I., Morita, T., Nakano, Y., and Yamaguchi, T.: Development of an Access Method to Menu Ontology Data through Converting Natural
Language into SPARQL Queries. The 8th Joint International Semantic Technology
Conference (JIST2018) Workshop, 2018.
• Murayama, Y., Pereira,L.K., and Kobayashi, I.: Dialogue over Context and Structured Knowledge using a Neural Network Model with External Memories. The 1st
Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing (AACL- IJCNLP2020) Knowledgeable NLP: the First Workshop on Integrating
Structured Knowledge and Neural Networks for NLP, 2020.
• Murayama, Y., Kobayashi, I.: Towards Question Answering with Multi-hop Reasoning over Knowledge using a Neural Network Model with External Memories. Joint
12th International Conference on Soft Computing and Intelligent Systems and 23rd
International Symposium on Advanced Intelligent Systems (SCISISIS), 2022.
国内学会発表

• 村山友理,小林一郎,森田武史,中野有紀子,山口高平,自然言語の SPARQL
クエリ変換に基づく大規模知識へのアクセス手法の基礎的検討,言語処理学会
第 24 回年次大会,2018 年 3 月.

付録A

研究業績

71

• 村山友理,小林一郎,森田武史,中野有紀子,山口高平,自然言語の SPARQL
クエリ変換に基づく構造化知識へのアクセス手法の開発,人工知能学会全国大
会 (第 32 回),2018 年 6 月.

• 村山友理,小林一郎,森田武史,中野有紀子,山口高平,文脈を考慮した対話
のニューラルネットワークモデルの日本語注文対話への適用,人工知能学会全
国大会 (第 33 回),2019 年 6 月.

• 村山友理,小林一郎,記憶装置付きニューラルネットワークモデルによる文脈
と知識を用いた対話システムの構築,NLP 若手の会(YANS)第 14 回シンポジ
ウム(2019),2019 年 8 月.

• 村山友理,小林一郎,記憶装置付きニューラルネットワークモデルによる文脈
と構造化知識を用いた対話への取り組み,言語処理学会第 26 回年次大会,2020
年 3 月.

• 村山友理,小林一郎,記憶装置付きニューラルネットワークモデルによる文脈
と構造化知識を用いた対話,人工知能学会全国大会 (第 34 回),2020 年 6 月.

• 村山友理,小林一郎,テンソル表現による知識を用いて論理計算を行う質問応
答に向けて,NLP 若手の会(YANS)第 16 回シンポジウム(2021),2021 年 8
月.

• 村山友理,小林一郎,記憶装置付きニューラルネットワークモデルによる構造
化知識と演算処理を用いた質問応答,言語処理学会第 29 回年次大会,2023 年 3
月.(発表予定)

全国の大学の
卒論・修論・学位論文

一発検索!

この論文の関連論文を見る