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

村山友理 小林一郎
お茶の水女子大学
\{murayama.yuri,koba\}@is.ocha.ac.jp

## 概要

3 つの DNC モデル，vanilla DNC, rsDNC, DNC-DMS に知識と演算のためのアーキテクチャを新たに組み 入れ，構造化知識に対する演算処理を含んだ質問文 について正しい答えを生成する能力を向上させるこ とを目指す。rsDNC, DNC-DMS をべースとした提案 モデルはそれぞれ GEO データセットにおいて平均 top-1 accuracy，平均 top-10 accuracy で最も良い結果 を達成した。さらに，rsDNCをべースとした提案手法は拡張した GEO データセットにおいて平均 top-1 accuracy と平均 top-10 accuracy の両方で他のモデル を上回った。

## 1 はじめに

近年, Transformer [1] などのディープニューラル ネットワークはコンピュータビジョンや自然言語処理といったさまざまなタスクの複雑なパターンマッ チングにおいて顕著な発展を遂げてきた. しかし， Transformer には長い文脈情報を固定長の系列に工 ンコードするせいで context fragmentation problem [2] があり，この問題を解くために過去の情報をメモリ 内にキャッシュしておくさまざまな手法 $[2,3,4]$ が 提案されてきたが，Transformer をべースとしたモデ ルは，グラフや木などのデータ構造の表現や変数 の使用，長い系列に対する表現の操作といった抽象的な処理を行う能力には限界があるとされてき た. Neural Turing Machine [5] や Differentiable Neural Computer (DNC) [6] は外部に読み書き可能なメモリ を持つことで，構造化データ上のアルゴリズムタス クを解き，変数の表現や，長い系列の学習を可能に した. 本研究では，DNC と，さらにDNC を改良し た rsDNC [7] と DNC-DMS [8] に対して，質問応答夕 スクにおいて重要な要素である知識利用と演算処理 を新たに組み入れることを試み，構造化知識に対す
る演算処理を含んだ質問文について正しい答えを生成する能力を向上させることを目指す.

## 2 関連研究

Differentiable Neural Computer (DNC) [6] は外部にメ モリ行列 $M \in \mathbb{R}^{N \times W}$ を持つニューラルネットワー クである. メモリ行列 $M$ の $N$ 個の番地に対し，ど の番地について主に読み出す，または書き込むかを 表す重みを定義するのに attention mechanism が用い られる。

読み出し操作では, read vector $\boldsymbol{r}$ はメモリ $M$ に read weighting $\boldsymbol{w}^{r}$ をかけた，メモリ番地に対する重 み付き和として計算される：

$
\boldsymbol{r}=\sum_{i=1}^{N} M[i, \cdot] \boldsymbol{w}^{r}[i]
$

ここで， ‘’は $j=1, \ldots, W$ を表す。

書き込み操作では，メモリ $M$ は write weighting $\boldsymbol{w}^{w}$ を用いてまず erase vector $\boldsymbol{e}$ により不要な番地が 消去され，write vector $v$ を足すことで更新される：

$
M[i, j] \leftarrow M[i, j]\left(1-\boldsymbol{w}^{w}[i] \boldsymbol{e}[j]\right)+\boldsymbol{w}^{w}[i] \boldsymbol{v}[j]
$

重みは内容に基づく番地付け，一時的なメモ リのリンク付け，動的メモリ割り当て，の 3 つの attention mechanism によって定義される。DNC を改良したモデルとして，QA タスクに特化した robust and scalable DNC (rsDNC) [7] や DNC に対して 3 つ の改良 (i.e. de-allocation mechanisms, masked content based addressing, sharpness enhancement)を行なった DNC-DMS [8] などが提案されている.

## 3 提案手法

3 つのモデル，DNC [6], rsDNC [7], DNC-DMS [8] に新たに構造化知識を保存するためのメモリアー キテクチャと，単純な算術演算と論理演算を行うた めのプロセッサアーキテクチャを追加する. 図 1 は

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

DNC に基づく知識メモリとプロセッサを持つ提案 モデルの全体図を示す. 各タイムステップ $\mathrm{t}$ で行う 処理は以下の通りである：

1. コントローラ $(\mathrm{RNN})$ は大力 $\boldsymbol{x}_{t}$ と, 前タイム ステップで文脈メモリ $M_{t-1}^{c} \in \mathbb{R}^{N \times W}$ から 読み出した R 個のベクトルのセット $\boldsymbol{r}_{t-1}^{c}=$ $\left[\boldsymbol{r}_{t-1}^{c, 1} ; \ldots ; \boldsymbol{r}_{t-1}^{c, R}\right]\left(\boldsymbol{r}_{t-1}^{c}\right.$ は $\boldsymbol{r}_{t-1}^{c, 1}, \ldots, \boldsymbol{r}_{t-1}^{c, R}$ の結合) に 加えて，前タイムステップで知識メモリ $M_{t-1}^{k} \in \mathbb{R}^{N \times W}$ から読み出した $\mathrm{R}$ 個のベクトル のセット $\boldsymbol{r}_{t-1}^{k}=\left[\boldsymbol{r}_{t-1}^{k, 1} ; \ldots ; \boldsymbol{r}_{t-1}^{k, R}\right]$, そして前タイム ステップのプロセッサの演算結果のベクトル $v_{t-1}$ を受け取る。それから隠れべクトル $h_{t}$ を 出力する.
2. $\boldsymbol{h}_{t}$ の線形変換により, 出力 $\boldsymbol{v}_{t}=W_{y} \boldsymbol{h}_{t}$ と, 現夕 イムステップにおける文脈メモリを制御するた めのパラメータを格納したベクトル $\xi_{t}=W_{\xi} \boldsymbol{h}_{t}$,現タイムステップにおける知識メモリを制御す るためのベクトル $\zeta_{t}=W_{\zeta} \boldsymbol{h}_{t}$, そして現タイム ステップのプロセッサに用いられるゲートベク トル $\boldsymbol{g}_{t}=W_{g} \boldsymbol{h}_{t}$ を得る.
3. $\xi_{t}$ によって文脈メモリへの書き込みが行われ, メモリの状態が更新される. 知識メモリへの書 き込みは行われない。

4. プロセッサでの演算処理は $g_{t}$ と, 現タイムス テップで文脈メモリから読み出したべクトルを 結合した $\boldsymbol{r}_{t}^{c}$, 現タイムステップで知識メモリか ら読み出したべクトルを結合した $\boldsymbol{r}_{t}^{k}$ を用いて 行われる。

5. 最後に， $\boldsymbol{r}_{t}^{c}$ と $W_{r}^{c}$ をかけて得られるべクトル と, $\boldsymbol{r}_{t}^{k}$ と $W_{r}^{k}$ をかけて得られるべクトル，及び 現タイムステップのプロセッサからのベクトル $\boldsymbol{v}_{t}$ と $W_{v}$ をかけて得られるべクトルに $\boldsymbol{v}_{t}$ を足 し，出力 $\boldsymbol{y}_{t}$ を計算する.

$
\boldsymbol{y}_{t}=\boldsymbol{v}_{t}+W_{r}^{c} \boldsymbol{r}_{t}^{c}+W_{r}^{k} \boldsymbol{r}_{t}^{k}+W_{v} \boldsymbol{v}_{t}
$

read vector $\boldsymbol{r}_{t}^{c}$ と $\boldsymbol{r}_{t}^{k}$, value vector $\boldsymbol{v}_{t}$ は次タイムス テップの RNNへの入力に追加される.

以上の処理を繰り返すことにより，二つのメモリへ の読み書き操作とプロセッサ操作を行う.

## 3.1 知識メモリ構築

知識メモリは知識ベース $(\mathrm{KB})$ を用いて構築され る. KB のファクトは Resource Description Framework $(R D F)^{1)}$ 形式の三つ組 (主語, 述語, 目的語) で表現 される。例えば，「日本の首都は東京である.」は三 つ組 (日本，首都，東京) で表される．DNC のモデル に三つ組の内どれか 2 つを与え，残りの 1 つを返す ように学習させることで KB ファクトを学習する.例えば，入力が “日本”，“首都” のとき，出力は “東京”である．モデルは KB のすべてのトリプルを用 いて学習し，KB 全体を保存したメモリユニットを 作成する。そして，事前学習したメモリユニットを 提案モデルの知識メモリユニットとして利用する。

## 3.2 プロセッサ処理

プロセッサユニットにおいて単純な算術演算と論理演算を行うために，13 の演算を設定 ᄂ た:Max, Min, More, Less, Major_city, Major_river, Major_lake, Not, Count, Density, Sum, Context, Knowledge. 文脈义 モリからの read vector $\boldsymbol{r}^{c}$ と知識メモリからの read vector $\boldsymbol{r}^{k}$ はオリジナルの語彙トークンのリスト,「文脈リスト」と「知識リスト」にそれぞれ変換さ れる。

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

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

表 1 知識ベースの一部.

type alabama state

capital alabama montgomery

population alabama $3894.0 \mathrm{e}+3$

Negation : Not 演算は文脈リストと知識リスト の両方を受け取り，文脈リストから知識リストを引 いた差を返す。

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

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

13 の演算の出力は gate vector $\boldsymbol{g}$ のソフトマックス 出力と結合し， value vector $\boldsymbol{v}$ を構築する。

## 4 実験

## 4.1 データセット

GEO データセット $[9]^{2}$ はアメリカの地理に関す る 880 の質問文と Prolog 形式のファクトのデータ ベースを含む，質問文の語彙サイズは 280 である.質問文は superlatives, comparatives, negation や count, density, sum といった calculation を含む. GEO データ セットには質問文に対する答えが含まれていなかっ たため，答えを人手でアノテーションを行った. 答 えはデータベースからの地理エンティティのリスト であり，長さは 0 から 386 エンティティである. 例 えば，“Which rivers flow through Alaska?” という質問 は答えがなく，別の質問 “Give me the cities in the U.S. ?"は 386 エンティティというかなり多くの答えを持 つ. 600 サンプルを学習に， 280 サンプルをテストに 用いた.

GEO のデータベースから RDF 形式の三つ組を 作成し, 表 1 に示す. 三つ組 (type， alabama， state) はalabama のtype は stateであると意味する. type リレーションに対するオブジェクト エンティティとして，5つのエンティティ：state， city, river, mountain, lakeを我々のKBに

2) https://cs.stanford.edu/ pliang/software/表 2 GEO データセットと GEO 1380 における平均 Acc@k.

追加した.この KB は地理ドメイン内の 11 リレー ション, 1,275 エンティティ, 2,250トリプルを含む. さらに, 新たな $500 \mathrm{QA}$ ペアを人手で作成し $\mathrm{GEO}$ データセットを拡張した.この拡張したデータセッ トを“GEO 1380” と呼ぶ. 1,000 サンプルを学習に， 380 サンプルをテストに用いた.

## 4.2 結果

表 2 に GEO データセットと GEO 1380 における 全てのモデルのテスト 3 実行分の平均 top-1 accuracy (Acc@1) と top-10 accuracy (Acc@10)を示す.“+KM” と“+P” はそれぞれ提案手法である知識メモリユ ニット (KM) の追加，プロセッサユニット (P) の追加を表す.

GEO データセットにおいて, rsDNC+KM+P は Acc@1 で最も良い結果を達成し，DNC-DMS+KM は Acc@10で最も高いスコアを得た. GEO 1380 デー タセットでは， rsDNC+KM は他のモデルを上回っ た. QA タスクに特化した $\mathrm{rsDNC}$ を基にしたモデル は良い結果になる傾向がある. 提案モデルのほとん どはオリジナルのモデルより低いが，提案手法のポ イントは異なるハイパーパラメータだと上回ること があるため，アーキテクチャによるものだとは考え ていない. すべてのスコアが GEO 1380 で上がった ため，より大きなデータセットはモデルの精度向上 に有効である.

表 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 つのリ
表 3 GEO 1380 データセットにおける各質問タイプの平均 Acc@10.

レーションを含むため，この例は4Hop である. 1 Hop は GEO と GEO 1380 の両方の $30 \%$ 以上を占めるた め，このタイプで高いスコアを得ることが全体の良 い結果につながる. 4Hop のポイントが 2Hop のポイ ントより高いのは，4Hop の方が 2 Hop より難しい にも関わらず奇妙に思えるかもしれないが，これ は 4Hop のサンプル数が少ないせいだと考えられ， multi-hop のサンプルを拡張する必要がある.

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 の結果はとて も低い。

## 4.3 課題

質問タイプ数のバランスを取るためにデータセッ トをより拡張する必要がある。また，GEO データ セットのサイズは僅か 880 であり，拡張を行なって もまだ 1380 であり，ニューラルネットワークの学習には小さすぎるため，WikiTableQuestions [10]のよ うな大規模データセットを用いて学習することが望 まれる。

## 5 おわりに

3 つの DNC モデル，vanilla DNC, rsDNC, DNC-DMS に知識メモリとプロセッサを追加し，実験を行い，背景知識や単純な算術演算と論理演算を必要とす る質問応答タスクに対して効果を分析した. 提案し た rsDNC+KM+P と DNC-DMS+KM はそれぞれ GEO データセットにおいて平均 Acc@1 と平均 Acc@10 で最も良い結果を達成した. さらに，提案モデル rsDNC+KM は GEO 1380 データセットにおいて平均 Acc@1 と平均 Acc@10 の両方で他のモデルを上回っ た. 今後の課題では，提案モデルに順次実行，条件分岐，反復といった制御命令を処理するアーキテク チャを加えて改良したい。

## 謝辞

本研究は JSPS 科研費 JP20J23182 の助成を受けた ものです.

## 参考文献

[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, L ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 30. Curran Associates, Inc., 2017.

[2] Zihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell, Quoc Le, and Ruslan Salakhutdinov. 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, July 2019. Association for Computational Linguistics.

[3] Jack W. Rae, Anna Potapenko, Siddhant M. Jayakumar, and Timothy P. Lillicrap. Compressive transformers for long-range sequence modelling. CoRR, Vol. abs/1911.05507, , 2019.

[4] Pedro Henrique Martins, Zita Marinho, and Andre Martins. $\infty$-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, May 2022. Association for Computational Linguistics.

[5] Alex Graves, Greg Wayne, and Ivo Danihelka. Neural turing machines, 2014. cite arxiv:1410.5401.

[6] Alex Graves, Greg Wayne, Malcolm Reynolds, Tim Harley, Ivo Danihelka, Agnieszka Grabska-Barwińska, Sergio Gómez Colmenarejo, Edward Grefenstette, Tiago Ramalho, John Agapiou, Adrià Puigdomènech Badia, Karl Moritz Hermann, Yori Zwols, Georg Ostrovski, Adam Cain, Helen King, Christopher Summerfield, Phil Blunsom, Koray Kavukcuoglu, and Demis Hassabis. Hybrid computing using a neural network with dynamic external memory. Nature, Vol. 538, No. 7626, pp. 471-476, October 2016.

[7] Jörg Franke, Jan Niehues, and Alex Waibel. Robust and scalable differentiable neural computer for question answering. CoRR, Vol. abs/1807.02658, , 2018.

[8] Róbert Csordás and Jürgen Schmidhuber. Improving differentiable neural computers through memory masking, de-allocation, and link distribution sharpness control. CoRR, Vol. abs/1904.10278, , 2019.

[9] John M. Zelle and Raymond J. Mooney. 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.

[10] Panupong Pasupat and Percy Liang. Compositional semantic parsing on semi-structured tables. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 14701480, Beijing, China, July 2015. Association for Computational Linguistics.

[11] Sepp Hochreiter and Jürgen Schmidhuber. Long shortterm memory. Neural computation, Vol. 9, No. 8, pp. 1735-1780, 1997.

[12] T Tieleman and G Hinton. Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. 2012.

[13] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 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 Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 41714186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[14] Mor Geva, Ankit Gupta, and Jonathan Berant. Injecting numerical reasoning skills into language models. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 946-958, Online, July 2020. Association for Computational Linguistics.

[15] M. Stone. Cross-validatory choice and assessment of statistical predictions. Roy. Stat. Soc., Vol. 36, pp. 111-147, 1974.

## A 実験設定

すべてのモデルのハイパーパラメータは主に [6] に基づく；隠れ層サイズ 256 の 1 層 LSTM [11]，バッ チサイズ 2 , 学習率 $1 \times 10^{-4}$, メモリ次元 $256 \times 64$,読み出しへッド数 4 , 書き込みへッド数 1 , モメ ンタム 0.9 の RMSProp オプティマイザ [12]. [7] に 従い rsDNC [7] のドロップアウト率は $10 \%$ とした. HuggingFace ${ }^{3)}$ bert-base-uncased model を隠れ次元 768 の BERT [13] encoder に使用した。数字は [14] を参考に 1 标ずつ分割した. 5 分割交差検証 [15] で 5 エ ポックずつモデルを学習させた. ランダムな初期化 の下で各モデルを 3 回実行し, 平均の結果を報告 する.

知識ベースを用いて知識メモリを構築するため に，3つのオリジナルモデルをメモリ次元 $256 \times 64$ で， 5 分割交差検証で 10 エポックずつ学習させた.他の設定は前述の通りである. DNC, rsDNC, DNCDMS の top-10 accuracy はそれぞれ 78.90\%, 78.39\%， $79.63 \%$ だった. 知識メモリ構築に用いる事前学習モ デルと提案手法に用いる学習モデルは同じ種類で ある。つまり，DNCを用いて学習した知識メモリ が，DNCをべースとした提案モデルで使用される。

## B データセット

GEO データセット [9] と GEO 1380 の各質問タ イプ数を表 4 に示す. 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を複合した質問文を扱っており，さまざ まな組み合わせが用意されている。

 村山友理 小林一郎 お茶の水女子大学 \{murayama.yuri,koba\}@is.ocha.ac.jp  