# 日本語の Math Word Problems に対する深層学習モデルの適用 とデータ拡張の検証

村田夏樹柴田千尋
法政大学 理工学部 創生科学科
natsuki.murata.4d@stu.hosei.ac.jp, chihiro@hosei.ac.jp

## 概要

Transformer などの近年の深層学習モデルは，多く の自然言語理解を必要とするタスクで高い性能を 記録している.しかし，数学や物理の文章題などの 定量的な推論が必要なタスクでは，近年の言語モデ ルでも十分な結果を残せていない [1]. 本稿では, Math23Kというデータセットを利用して，日本語 MWP タスクに対して，既存の深層ニューラルネッ トモデルを組み合わせたモデルを適用し，検証を行 う.なお，Math23K データセットの問題文は，中国語で書かれているため，機械翻訳を用いて問題文を 日本語に翻訳しデータとして用いる. モデルの組 み合わせとしては， Goal-driven Tree Structured (GTS) ネットワーク， BERT, および Graph2Tree の 3つを 組み合わせたものを用いる. 特に，BERT - GTS の 組み合わせと， BERT - Graph2Tree - GTS の組み合わ せの比較を行う. 後者は, 問題文中のトークンの BERT の埋め込み表現をノードとして持つ特定のグ ラフを，中間表現として用いて，その後グラフ畳み 込みを行う手法であり，実際に後者のほうが精度が 高くなることを示す. さらに，解答となる数式を表現する木構造の可換ノードの置換や, 問題文中の単語の置き換えによるデータ拡張により，精度の向上 が見込めるかについて，検証を行う。

## 1 はじめに

Transformer に代表される最近のニューラル言語モ デルは，一般的に言って，自然言語理解を必要とす るような多くのタスクにおいて, 高い精度を達成し ているものの, 例えば，数学や物理の文章問題など の定量的な推論が必要なタスクでは，近年の言語モ デルを用いても解答が難しいケースがおおく，未だ 改善の余地が多く残されていることが知られてい る [1]. その中でも, Math Word Problems (MWP) は,文章問題から適切な数式を生成して，数式の演算を 通して解答を求めるタスクである。このタスクで は，文章中にはないが，数式の木構造の中に必要と なる 1 や $\pi, e$ といった推論が必要な問題などがあ るため, 現在も発展中のタスクである。既存の手法 の例として，事前学習済みモデルを使用した手法 や，木構造を取り入れた手法などがある。このタス クが抱える問題の一つに，データ数が十分でなく，推論が必要な問題について，十分に学習できない. Zhang ら [2] は， Math23K という数学に関する文章題のデータセットで， $77.4 \%$ の正解率 (出力された 計算式の計算結果の一致率) を得ている. しかし, Math23K は，中国語の問題文と解答となる式からな るデータセットであり，問題文が日本語の場合にお いて，同様の精度が得られるかについては，検証が 求められる.

そこで，本研究では，Math23Kを機械翻訳サービ スを用いて，中国語を日本語に翻訳してデータと して用い，BERT 及び Graph-to-Tree (Graph2Tree) を 用いて，日本語の数学の問題を解答するタスクを 学習させる. さらに, Graph2Tree に含まれる Graph Convolution Network (GCN) [3] がどのようなグラフ を生成するのかを検証するため，中間表現として構築されるグラフを可視化して検討を行う. 最後に， データ拡張を行うことで，本タスクにおける式の 精度と答えの精度に対し，効果があるのかを検証 する。

## 2 関連研究

## 2.1 BERT

BERT [4] は, Transformer モデルであり, 事前学習済みの BERT モデルを活用することにより，多くの 自然言語処理のタスクで高い精度を期待すること ができる．BERT の事前学習では，Masked Language

Model と Next Sentence Prediction の 2 つの事前学習 を行う，それぞれ行うタスクは，入力したトークン の一部にマスクをし，前後の情報から，マスクした 箇所の内容を予想するタスクと，2つの文章を大力 して，連続した文章かどうかを判定させるタスクで ある. 事前学習を行なった BERT は，入力の文章や トークンに対する，文脈を考慮した一般的な知識が 何らかの形で内部に獲得されていると考えられる ため， fine-tuneを行うことで，特定のタスクに対し て，高い精度を出すことが可能である.

## 2.2 Goal-driven Tree Structured Network

Goal-driven Tree Structured Netowrk (GTS) [5] は，表現木を生成するためのエンド to エンドの手法で，数式を表現する木構造の生成するニューラルネット ワークである. 生成する数式の木は， 2 分木であり, ルートノードから順に，演算記号が入り，左右の子 ノードには，数字あるいは記号が入る構造が再帰的 に取られている. 即ち, 数字または変数が入るノ一 ドは，葉ノードに対応し，演算記号が入るノード は，節ノードに対応する。

GTS のネットワーク構造について概要を説明す る.まず，入力問題文を単語トークンに変換し，各 トークンごとの埋め込み表現にしたのち，双方向 Gated Recurrent Unit (GRU) [6] に入力する. その後, GRU の出力結果から，数式の木を再帰型ニューラ ルネットワークを用いて生成する。 あるノードに対 して，アテンションを用いて文脈ベクトルを得たの ち，そのノードのラベルの確率，つまり，変数また は演算子（+ や×等）の確率を，文脈ベクトルを用 いて計算する. その後, 子ノードの文脈ベクトル を，順伝播型ネットワーク $(\mathrm{FCN})$ に通した結果およ び GRU の出力結果から再帰的に計算することを繰 り返すことで, 最終的に, 正解となる数式全体を生成するように学習する。

## 2.3 Graph-to-Tree

Graph2Tree [2] は， GCN [3] を含むモデルであり， 2 種類のグラフから構成され，数量間の関係や，文章の情報をグラフ構造で捉えることができる.

グラフ内のノードの内，ある量に関連する部分集合を数量セルと定義する. 数量セルが作るグラフ は，数量セルグラフと数量比較グラフを作る. 数量 セルグラフは，情報量の多い単語を数と関連付け，表現を豊かにすることができる．また，数量比較グ
ラフは，数の数值的性質を保持し，数量間の関係を 保持し，数量間の関係の表現を改善することができ る. 2 つのグラフを隣接行列で表し，この隣接行列 と特徴を表す行列（事前にLSTM などで得られた表現）を GCNに入力し，その後，得られた表現を連結した結果に対して，正規化と残差接続，また FCN 等を行うことで，問題文が最終的にエンコードされ た表現を得る。

## 3 提案手法

## 3.1 BERT と Graph2Tree を用いたモデル

本研究で用いるモデルの概要を図 1 に示す.ま ず，事前学習済みの BERTを使用して，文章題を入力し, 得られた埋め込み表現を得る. 次に，その埋 め込み表現から，前章で述べた Graph2Tree を使っ $\tau$ ，中間の埋め込み表現を得る. 最後に，得られた 中間表現から数式の木を生成する.

図 1: 使用するモデルの概要図

## 3.2 データセットの日本語化

## 3.2.1 Math23K

本研究では，Wang らの研究 [7] で提案されたデー タセット，Math $23 \mathrm{~K}^{11}$ を日本語に翻訳したものを使用する。この Math $23 \mathrm{~K}$ は, 中国語で書かれた問題文，式及び答えから構成され，データ数は，23,162 件ある.

## 3.2.2 前処理

まず，日本語のデータセットを作成するため， DeepL ${ }^{2)}$ という機械翻訳サービスを使用して，日本語に翻訳した。翻訳前（中国語）の文章と翻訳後 （日本語）の文章に含まれる数の集合（以後、「数集

1) https://ai.tencent.com/ailab/nlp/dialogue/

2) https://www.deepl.com/translator.html
合」と呼ぶ）を比較して，翻訳後の数集合が不足し ているデータは，削除した．使用したデータと削除 したデータの例をそれぞれ図 2 と図 3 に示す.

図 2: 使用したデータの例

 & \\

図 3: 削除したデータの例

図 2 では，翻訳前では， 2 及び 11 があり，翻訳後 でもこれらの数字があるため，このデータセットは 使用する。一方，図 3では，翻訳前では，5，25，45 及び 450 があるが，翻訳後では，5，25 及び 45 が ないため，削除する．削除したことにより，データ セットは，20,260 件になった.

## 3.3 データ拡張

本研究では，以下の二つのデータ拡張を行い，結果にどのような影響を与えるかを検討する。

一つ目は，正解の数式木に対するデータ拡張であ る. Math23Kで与えられる式は, 各問題分に対し, 1 つの式しか用意されていない. そこで，加法交換法則と乗法交換法則に着目し，交換可能な部分木をラ ンダムに交換することでデータ拡張を行う．拡張前後で，別の木構造について学習させる. ただし，や:だけで構成された式は，データ拡張できない.

表 1: 数式のデータ拡張の例

二つ目は，文章題の単語に一定の割合でマスクを かけるデータ拡張を用いて実験を行う．ただし，マ スクをかける際，数字にはマスクがかからないよう にする。

表 2: マスクの例

## 4 実験

## 4.1 実装

本実験では，BERT の事前学習済みモデルとして，東北大学のもの3）を用いた. また，節 3.1 で述べた モデルを学習する際に用いたハイパーパラメータ を，表 3 に示す。

表 3: 使用した関数及びハイパーパラメータ

 \\

## 4.2 Graph2Tree の有無による精度の比較

まず，Graph2Tree が与える影響を検証するため に，Graph2Treeを用いた場合と用いていない場合の 精度を比較を行う. 式の精度については, 生成した 式 (木構造) と模範解答が一致していない限り不正解 として取り扱う。

表 4: Graph2Tree 有無による精度の比較

表 4 より，BERT - Graph2Tree - GTS では，式の精度は向上しないが，答えの精度については，8\%ほ ど上昇することがわかる. Graph2Treeを用いること で，式の形が違っていても答えに辿り着く可能性が 上がることが分かる.

3) https://huggingface.co/cl-tohoku/bert-large-japanese

## 4.3 GCN のグラフの検討

前節の実験結果から，Graph2Tree を入れること で，精度が上がることが確かめられた。一方で， Math23K 中国語のデータセットに対して報告されて いる精度 (77.4\%) [2] に比較すると精度が低いことが わかる．そこで，この節では，その原因を検証する ために, Graph2Tree に含まれる GCNが，どの程度，意図したグラフを正しく生成できているのかを確認 するために，数量セルグラフと数量比較グラフを可視化を行う. 入力した文章は, 「2 台の車 $\mathrm{A}, \mathrm{B}$ が同時に A, B から反対方向に走り, 2 時間半後に途中 で出会う. 車 $\mathrm{A}$ の速度は $90 \mathrm{~km} / \mathrm{h}$, 車 B の速度は車 A の速度の (4/5) であることが分かっている. A と B の間の距離は何キロメートルくらいか聞いてみて ください.」を入力した. ただし，どちらの図につ いても，エッジがないノードや自己ループは可視化 していない.

(a) 数量セルグラフ

(b) 数量比較グラフ図 4: 例文より得られる Graph2Tree によるグラフ表現

図 $4 \mathrm{a}$ と図 $4 \mathrm{~b}$ は同一の文章から生成している. 図 4a は，単語毎のノードがあり，それを結び，ノード の $0 ， 1$ は，問題文の「2」と「台」に相当する. ま た，表示はしていないが，図 $4 \mathrm{a}$ では，エッジが結べ ていないノードが 92 個ある。つまり，数量セルグ ラフが，日本語における単語間の情報を結ぶエッジ を十分に結べていないことが分かる。

図 $4 \mathrm{~b}$ は，文章中にある数字を使って，数の関係性について学習をし，ノードの $0,23 ， 42$ と 60 は，問題文の $2 ， 2 ， 90 ，(4 / 5)$ に相当する. 図 $4 \mathrm{~b}$ では,数が小さい方から大きい方へ矢印を引いて，数量の 関係性について表現している。

## 4.4 データ拡張

式の精度は，前述の通り，Math23K に用意され ている正答の木と完全一致を見るため，データ拡張 を行う際，使用するモデルは，BERT - Graph2Tree GTS を使用して実験を行う．まず，数式をデータ拡表 5: 数式のデータ抳張

表 6: 単語のマスク

張した実験結果を表 5 に示す. データ拡張後では，式の精度は下がっているものの，答えの精度として は同程度となっている事がわかる。

次に，問題文にマスクをかけた実験では，50\%の 確率で maskをかけた． maskをかける単語について は，エポック毎にランダムで選択させた。単語にマ スクをかけた実験結果を表 6 に示す。単語にマスク をかけた場合も，同様に，式及び答えの精度に大き な差は見られていない.

どちらのデータ拡張の方法についても，本稿で用 いたモデルに対して有効かどうかは，差が僅かであ るため，さらなる検証が必要である.

## 5 おわりに

本研究では，他の言語のデータセットを日本語化 し，BERT や Graph2Tree を用いて，実験を行った. また, 日本語データ入力時における Graph2Tree で得 られるグラフ表現について，検討を行った. 二種類 のデータ拡張を用いた実験では，少なくとも現在の ネットワーク構成においては，式と答えの精度の観点から見て，効果は限定的であるという結果になっ た. 今後の展望として，より数式生成にふさわしい と考えられるグラフ表現の抽出方法，および，グラ フ構造を大きく変えるようなデータ拡張方法を探求 してゆく予定である.

## 謝辞

法政大学大学院理工学研究科システム理工学専攻 の辺見一成氏には，実験を行う際のプログラムの修正などご助言を頂きましたことを深く感謝申し上げ ます. 本研究の一部は JSPS 科研費 JP18K11449 の助成を受けたものです。

## 参考文献

[1] Aitor Lewkowycz, Anders Andreassen, David Dohan, Ethan Dyer, Henryk Michalewski, Vinay Ramasesh, Ambrose Slone, Cem Anil, Imanol Schlag, Theo Gutman-Solo, Yuhuai Wu, Behnam Neyshabur, Guy Gur-Ari, and Vedant Misra. Solving quantitative reasoning problems with language models, 2022.

[2] Jipeng Zhang, Lei Wang, Roy Ka-Wei Lee, Yi Bin, Yan Wang, Jie Shao, and Ee-Peng Lim. Graph-to-tree learning for solving math word problems. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 3928-3937, Online, July 2020. Association for Computational Linguistics.

[3] Thomas N. Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In International Conference on Learning Representations, 2017.

[4] 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. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[5] Zhipeng Xie and Shichao Sun. A goal-driven tree-structured neural model for math word problems. In Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI-19, pp. 5299-5305. International Joint Conferences on Artificial Intelligence Organization, 72019.

[6] Kyunghyun Cho, Bart van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using RNN encoder-decoder for statistical machine translation. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1724-1734, Doha, Qatar, October 2014. Association for Computational Linguistics.

[7] Yan Wang, Xiaojiang Liu, and Shuming Shi. Deep neural solver for math word problems. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pp. 845-854, Copenhagen, Denmark, September 2017. Association for Computational Linguistics.

[8] Liyuan Liu, Haoming Jiang, Pengcheng He, Weizhu Chen, Xiaodong Liu, Jianfeng Gao, and Jiawei Han. On the variance of the adaptive learning rate and beyond. In International Conference on Learning Representations, 2020.
 村田夏樹柴田千尋 法政大学 理工学部 創生科学科 natsuki.murata.4d@stu.hosei.ac.jp, chihiro@hosei.ac.jp  