# Recurrent Neural Network CCG 構文解析器の実装

田上青空 戸次大介
お茶の水女子大学
\{tagami.sora, bekki\}@is.ocha.ac.jp

## 概要

自然言語処理において広く利用されている深層学習モデルは、文をトークン列とみなして処理を行 う。しかし文には統語構造が存在しており、意味合成のような言語学的な計算を行うためには、表層的 な情報を越えた統語構造を明示的にモデル化する必要があると考えられる。文の統語構造を考慮する言語モデルとして、Recurrent Neural Network Grammars (RNNGs)[1] がある。RNNGs は言語モデルと構文解析器の二つの側面を持ち、内部の文法としては CFG を用いている。本研究では RNNGs の内部文法とし て、CFGに代えて、より自然言語の統語構造を適切に捉える文法である CCG を用いた実装を行い、 $\mathrm{CFG}$ によるモデルとの比較・検証を実施した。

## 1 はじめに

近年、BERT[2] や GPT-3[3] に代表される深層学習 を用いた言語モデルの発展はめざましく、あらゆる 自然言語処理タスクにおいて高精度を誇っている。 これらのモデルは、膨大なデータと巨大なパラメー タによって、データからある種の「傾向」を抽出す ることに優れている。しかし、文を文字またはサブ ワードからなるトークン列とみなして解析を行なっ ているため、文がもつ統語構造や依存関係を考慮し ているわけではない。したがって、これらのモデル からは文が持つ言語学的な情報を得られず、統語解析やそれに基づく意味解析を行うことは難しい。

一方で、C\&C[4]、EasyCCG[5]、depccg[6]など、組合せ範疇文法 (Combinatory Categorial Grammar; 以後 CCG) を用いた構文解析器の開発が進んでいる。組合せ範疇文法は形式統語論の理論であり、これらの 構文解析器の出力として得られる CCG の統語構造 は、ccg2lambda[7]にみられるように意味合成に用い ることができる。しかしながら、構文解析器の性能 を向上するには、人手でアノテーションした専門的 でコストの高いデータが必要となるため、このアプ
ローチには大量のデータを用意するのが難しいとい う欠点が存在する。また言語モデルではないため、単語の埋め込みという形での出力や単語の出現確率 などの確率的な情報は得ることができない。

そのような潮流のなかで、 Recurrent Neural Network Grammars (以後 RNNGs)[1] は、文の統語構造を考慮 した深層学習モデルであり、言語モデルと構文解析器の 2 つの側面を併せ持つ。このモデルは、両方の側面で文脈自由文法 (Context-Free Grammar; 以後 CFG) を用いて統語情報を獲得する。RNNGs は LSTMs に比べ長期的な依存関係が捉えられること が知られている $[8,9]$ 。また、RNNGs が学習する内容は脳波に現れる人間の言語処理の困難さの指標と も対応し、人の文処理モデルとしての妥当性も示唆 されている [10]。

本研究では、RNNGs のモデルで使用する文法を CFG から CCG に変更したモデル (RNN-CCG)を構成・実装することを試みる。この変更には、CCGの 統語構造を獲得し、そのまま意味合成につなげるこ とができるという利点がある。実験を通して、文法 として CFG を使用した場合とどのような違いが生 じるかを検証を行い、CCG 特有の特徴を考慮するモ デル構成や手法を検討する。

## 2 Recurrent Neural Network Grammars

RNNGs は、単語間やフレーズ間のネストした階層関係を明示的にモデル化する言語モデルおよび $\mathrm{CFG}$ 構文解析器である。ここでは構文解析モデル としての振る舞いを例に挙げる。内部では Stack、 Buffer の 2 つのデータ構造が用いられており、初期状態では Buffer に全単語ベクトルが格納されてい る。それらに対する操作は Action として以下のよう に定義される。

-SHIFT: 単語ベクトルを Buffer の先頭から除い て、Stack に追加。

・NT X: 非終端記号 X に対応するべクトルを

図 1 RNNGs のアーキテクチャ

Stack に追加。この時追加される非終端記号 X は、「開いた」状態とされる。
- REDUCE: Stack から、最初に見つけた開いた 非終端記号 Xまでを除く。それらをエンコード した新しいべクトルを生成し、新たな要素とし て Stack に再追加する。

各時点での Stack、Buffer、これまでの Action 履歴は それぞれ LSTMs と RNNs を用いてエンコードされ、 それらをもとに次の Action が決定される形で構文解析が行われる。Stackに対して操作が行われるたび 先頭から計算し直すことは非効率であるため、stack LSTMs[11] という機構を用いて最適化されている。図 1 に示すのは、The hungry cat meows. という例文が すべて正しく解析されている場合において、meows に対応するべクトルを SHIFT することを予測する 際の状態を表したものである。

RNNGs には後続する研究が行われており、いく つかの類似するモデルが存在する。Bufferを廃止 しStackのみを用いた stack-only RNNGs[12]、並列実行を実現しより大きなデータを学習することに 対応した Pytorch 実装モデル [13]、RNNs ではなく Transformer を用いたモデル $[14,15]$ などがあげられ るが、本稿では最もシンプルな形である元論文のモ デル [1] を参照し、構文解析器の側面に着目して実験を行った。

## 3 RNN-CCG

本研究では、RNNGs の再実装である RNN-CFG と、RNNGs で使用する文法を CFG ではなく CCG に替えたモデルである RNN-CCG を実装した。CCG の統語範疇を $\mathrm{CFG}$ の終端記号として扱えば、CCG も句構造文法とみなすことができる。したがって、 CCG を用いた場合でも、Action の判定は多値分類問題として解くことができ、CFG を使用した場合と同様に実装することができる。

## 3.1 組合せ範疇文法 (CCG)

組合せ範疇文法（CCG）[16,17,18] は語彙化文法 の一種である。文脈自由文法のような句構造文法で は統語構造に関わる情報の大部分が書き換え規則 によって記述され、辞書は比較的単純であるのに対 し、語彙化文法では、それらの情報の大部分が辞書 に記述され、組合せ規則は比較的単純であるという 特徴がある。また、CCGによる統語構造は、そのま ま意味合成の計算経路を決定するという大きな利点 をもつ。

文脈自由文法において、The hungry cat meows. を 生成するには以下の規則が必要である。1）非終端記号がこれらの書き換え規則によって、再帰的に書き 換えられることにより文が解析される。

$
\begin{array}{rll}
S & \rightarrow & N P V P \\
V P & \rightarrow & \text { meows } \\
N P & \rightarrow \quad \text { The hungrycat }
\end{array}
$

一方で CCG においては、各語彙は以下のように 定義される。この例の場合には、CCG の組合せ規則 である逆関数適用規則を用いて二つの語彙が組み上 げられ、一つの文となる。

$
\begin{array}{rll}
\text { The hungry cat } & \vdash & N P \\
\text { meows } & \vdash & (S \backslash N P)
\end{array}
$

CCG の組合せ規則の一部を以下に挙げる。

関数適用規則 $: \frac{X / Y Y}{X}>\frac{Y \quad X \backslash Y}{X}<$

関数合成規則 : $\frac{X / Y \quad Y / Z}{X / Z}>\mathbf{B} \quad \frac{Y \backslash Z \quad X \backslash Y}{X \backslash Z}<\mathbf{B}$

## 3.2 RNN-CCG vs. Transformer

RNNGs が登場した当初は BERT[2]、GPT-3[3] のよ うな大規模言語モデルがまだ存在していなかった。 しかし、その後の大規模言語モデルの成功により、言語モデルとしての RNNGs の存在意義は薄れつつ あるように見受けられる。後続する研究 $[14,15]$ は、 RNNGs の後継モデルというよりは、Transformer に 構成素が持つ情報を与えてファインチューニングす


る方法論を採っている。しかし RNNGs には、以下 の 2 つの側面において再評価すべき余地があると考 える。

1. RNNGs も Transformer も、ある箇所に現れる言語表現の情報を、周囲の文脈を使って予測する 点では共通している。しかし、周囲の文脈とし て参与するのは Transformer ではサブワードで あるのに対し、RNNGs では構成素である。そ れによって、RNNGs では「構成素の埋め込み」 が「周囲を予測する情報」を担うことになる。

2. またRNNGs ではある箇所に現れる言語表現と いうのは、サブワードだけではなく構成素であ る。したがって RNNGs ではサブワードの出現 と構成素の出現を区別することなく予測しなけ ればならない。それによって、RNNGsでは「構成素の埋め込み」が「周囲によって予測される 情報」を担うことになる。

結果的に、RNNGsにおける構成素は、同様の環境 に現れうる構成素と近い埋め込みを持つことが期待 される。これによって、RNNGsでは語と句を区別す ることなく捉えることができる。これは Transformer にはない特徴である。

また、構文解析にせよ文生成にせよ、RNNGs は （各構成素の分散表現だけではなく）文全体の統語構造を出力する。これもまた Transformer にはない 特徵である。

RNNGsのこれら二つの特徵を考慮すると、RNNGs において CFG ではなく $\mathrm{CCG}$ を採用することには 2 つの利点があると考えられる。以下順に述べる。

まず 1 つ目の特徴に対して、CCG は CFG と比較 して（等位接続構文や長距離移動構文等を含む）よ り多彩な統語環境において、何が構成素であり何が 構成素ではないのかを適切に切り分けることがで きる。もし RNNGs が採用する文法が CFG ではなく CCG であれば、RNNGs はより妥当な構成素概念を 持つことになり、それに対する分散表現の割り当て もより適切なものになることが期待される。

次に 2 つ目の特徴に対して、CCG は CFG と異な り、意味合成の仕組みを誘導する。すなわち、 $\mathrm{CCG}$ では統語構造と意味合成が準同型の関係にあるた め、CCGでは統語解析に成功すれば意味合成は必ず 成功する、という保障が得られる。これは $\mathrm{CFG}$ に 基づく文法にはみられない利点である。

このように、RNNGs には Transformer ベースの言語モデルにはない二つの特徴があるが、採用する文法理論を CFG から CCG に置き換えることによっ て、この二つの特徵を明確な利点に置き換えること につながると考えられる。

## 4 実験

## 4.1 実験設定

RNN-CFG と RNN-CCG の実装には、Torchの Haskell インターフェースである hasktorch ${ }^{2)}$ を用 いた。学習には、CFGデータとして Penn Treebank $\left.{ }^{3}\right)$ CCG データとして $\mathrm{CCGbank}^{4)}$ を用いた。ど ちらも Wall Street Jarnal コーパスの §2-21を学習デー タ、§24を検証データ、§23を評価データとして使用した。詳細は表 1 の通りである。

実験環境には、産総研 $\mathrm{AI}$ 橋渡しクラウド $(\mathrm{ABCI})^{5}$ の rt_G.large (NVIDIA V100 for NVLink 16GiB HBM2) を1ノード使用した。

## 4.2 実験結果

それぞれのデータでの、いくつかの Action の F1 スコアと、全体の microF1 スコアを表 2,3 に示した。

表 2 CFG での実験結果

表 3 CCG での実験結果

一般的に構文解析器は間違った予測をするとそ れ以降の予測にも影響がでるが、ここでの F1 スコ アの値においては、各タイムステップ以前の予測結果は全て正解データを用いた予測の上で算出して いる。

## 4.3 考察

UNK ラベルの位置づけ学習データに含まれてい

2) http://hasktorch.org/

3) https://catalog.ldc.upenn.edu/LDC99T42

4) https://catalog.ldc.upenn.edu/LDC2005T13

5) https://abci.ai/

ないラベルが評価時に出現した場合は誤った出力結果とした。一般に、出現頻度の低いラベルについて は unknown タグ (以下 UNK) としてまとめてしまうこ とが多い。

この選択肢は、RNN-CFG では問題とならない。 たとえば、本来 $A \leftarrow B, C, D$ という書き換え規則が あるところで、 $C$ の頻度が低くUNK となった場合 は、Stackには $B$, UNK, $D$ が並ぶことになる。これを、 $A$ として REDUCEしたところで、解析としては問題なく、得られる統語構造も正解の近似といった位置づけとなる。

しかし RNN-CCG では、たとえば本来 Stack が $N P, S \backslash N P$ となって REDUCE して $S$ となるべきとこ ろを、仮に NP の頻度が低くUNK となった場合など では、Stackには UNK, $S \backslash N P$ が並ぶことになる。その ような場合には組合せ規則の適用ができず、自動的 に不整合な予測結果となってしまうことを考慮し、本研究では UNK を用いない設定で評価を行った。

RNN-CFG vs. RNN-CCG 各ラベルごとのF1スコ アをみると、RNN-CFG、RNN-CCG のどちらにおい ても、SHIFT、REDUCE、NT S 等、出現頻度が高い Action に関しては正しく予測されていることが多 い。一方で、CFGではハイフンで区切られた小分類 を含む非終端記号、CCGでは/,\を含む統語範疇を 生成する Action などは、学習データにおいて出現頻度が低い傾向にあり精度の低下に繋がっていると考 えられる。

また RNN-CFG と比較して RNN-CCG の microF1 が高い原因として、以下の 2 つが挙げられる。ま ず、RNN-CFG の方が学習データにおいて出現頻度 の低い Action の割合が高いことである。前述した通 り、出現頻度が低い Action は十分に学習されておら ず精度に影響するが、出現頻度が 10 回以下の Action は、RNN-CFG では全 Action の 83.9\%、RNN-CCG で は 67.9\%を占める。次に、RNN-CFG の方が Action 次元数が多いことである。Action 次元数は表 1 の通 りであり、これはそのまま多值分類問題のクラス数 となるため、多い方が難易度の高いタスクとなる。

POSタグについて RNN-CFGでは POS タグは考慮されていない。そのため同じ枠組みで RNN-CCG を実装した場合には、出力された Action 系列から図 1 に示すような構文木を得ることになる。この例に おいて、disclosed の統語範疇は $S[p s s] \backslash N P$ であるこ とが推測されるが、CCG 統語構造の利点である意味合成の経路を得るにはこのような語の統語範疇を補完し、もう一段階解像度の高い統語情報を復元する 必要がある。さらに、were や’nt に関しては統語範疇の補完自体が自明ではなく、意味合成に用いる文法としては現状の RNN-CCG は不十分であると考え られる。

図 1 RNN-CCGで扱われる構文木

## 5 おわりに

本研究では、RNNGs モデルの内部で使用する 言語を CFG から CCGに置き換えたモデルである RNN-CCG を実装し、従来の RNNGs モデルである RNN-CFG と比較実験を行った。その結果、RNNGs を CCGを用いて実装した場合も、CFG を用いた実装と同様の恩恵を得られることが示された。ただ し、 4.3 節で述べたように、文法として CFG ではな くCCG を用いることの利点を生かすためには、更 に解像度の高い出力を得る必要も生じている。

今後の課題としては 2 つ挙げられる。第一に、不整合な出力結果の除去である。RNN-CCG では RNN-CFG と異なり、出力された Action 系列が不整合である場合がある。RNN-CFG では “NT X” で生成されるどのような非終端記号列も、そのような書 き換え規則が存在するとみなせば適切である。しか しRNN-CCG では、組合せ規則を適用できない出力 は不整合な結果であり、意味合成にも用いることが できない。また 4.3 節に述べた通り、単語の統語範疇が出力されないことも構文解析器の出力結果とし ては不十分であり、後続タスクに影響を及ぼす。こ れらの問題への対処は今後の課題としたい。

第二に、出現頻度が低い統語範疇への対応であ る。実験結果が示す通り、出現頻度が低く十分に学習できていない統語範疇は精度が低下する原因であ るため、改善が望まれる。

3.2 節で述べた通り、RNN-CCG は RNN-CFG とは 異なった利点を持つものと考えられる。そのため、構文解析器としての精度を向上させることに加え、 CCG の特徴をより活かしたモデル構成を探ってい きたい。

## 参考文献

[1] Chris Dyer, Adhiguna Kuncoro, Miguel Ballesteros, and Noah A. Smith. Recurrent neural network grammars. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, June 2016.

[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers for language understanding. CoRR, Vol. abs/1810.04805, , 2018.

[3] Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, and Dario Amodei. Language models are few-shot learners. CoRR, Vol. abs/2005.14165, , 2020.

[4] Stephen Clark and James R. Curran. Wide-coverage efficient statistical parsing with CCG and log-linear models. Computational Linguistics, Vol. 33, No. 4, pp. 493-552, 2007.

[5] Mike Lewis and Mark Steedman. A* CCG parsing with a supertag-factored model. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), October 2014.

[6] Masashi Yoshikawa, Hiroshi Noji, and Yuji Matsumoto. A* CCG parsing with a supertag and dependency factored model. CoRR, Vol. abs/1704.06936, , 2017

[7] Pascual Martínez-Gómez, Koji Mineshima, Yusuke Miyao, and Daisuke Bekki. On-demand injection of lexical knowledge for recognising textual entailment. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers, April 2017.

[8] Adhiguna Kuncoro, Chris Dyer, John Hale, Dani Yogatama, Stephen Clark, and Phil Blunsom. LSTMs can learn syntax-sensitive dependencies well, but modeling structure makes them better. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), July 2018.

[9] Ethan Wilcox, Peng Qian, Richard Futrell, Miguel Ballesteros, and Roger Levy. Structural supervision improves learning of non-local grammatical dependencies. 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), June 2019.

[10] John Hale, Chris Dyer, Adhiguna Kuncoro, and Jonathan Brennan. Finding syntax in human encephalography with

beam search. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), July 2018.

[11] Chris Dyer, Miguel Ballesteros, Wang Ling, Austin Matthews, and Noah A. Smith. Transition-based dependency parsing with stack long short-term memory. CoRR, Vol. abs/1505.08075, , 2015.

[12] Adhiguna Kuncoro, Miguel Ballesteros, Lingpeng Kong, Chris Dyer, Graham Neubig, and Noah A. Smith. What do recurrent neural network grammars learn about syntax? In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers, April 2017.

[13] Hiroshi Noji and Yohei Oseki. Effective batching for recurrent neural network grammars. CoRR, Vol. abs/2105.14822, , 2021.

[14] Laurent Sartran, Samuel Barrett, Adhiguna Kuncoro, Miloš Stanojević, Phil Blunsom, and Chris Dyer. Transformer grammars: Augmenting transformer language models with syntactic inductive biases at scale. Transactions of the Association for Computational Linguistics, Vol. 10, pp. 1423-1439, 2022.

[15] Peng Qian, Tahira Naseem, Roger Levy, and Ramón Fernandez Astudillo. Structural guidance for transformer language models. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), August 2021.

[16] Mark J. Steedman. Surface Structure and Interpretation. The MIT Press, Cambridge, 1996.

[17] Mark J. Steedman. The Syntactic Process (Language, Speech, and Communication). The MIT Press, Cambridge, 2000.

[18] 戸次大介. 日本語文法の形式理論 一 活用体系・統語範疇・意味合成 —. くろしお出版, 2010.
 田上青空 戸次大介 お茶の水女子大学 \{tagami.sora, bekki\}@is.ocha.ac.jp  