Recurrent Neural Network Grammars

We introduce recurrent neural network grammars, probabilistic models of sentences with explicit phrase structure. We explain efficient inference procedures that allow application to both parsing and language modeling. Experiments show that they provide better parsing in English than any single previously published supervised generative model and better language modeling than state-of-the-art sequential RNNs in English and Chinese.


Introduction
Sequential recurrent neural networks (RNNs) are remarkably effective models of natural language.In the last few years, language model results that substantially improve over long-established state-ofthe-art baselines have been obtained using RNNs (Zaremba et al., 2015;Mikolov et al., 2010) as well as in various conditional language modeling tasks such as machine translation (Bahdanau et al., 2015), image caption generation (Xu et al., 2015), and dialogue generation (Wen et al., 2015).Despite these impressive results, sequential models are a priori inappropriate models of natural language, since relationships among words are largely organized in terms of latent nested structures rather than sequential surface order (Chomsky, 1957).
In this paper, we introduce recurrent neural network grammars (RNNGs; §2), a new generative probabilistic model of sentences that explicitly models nested, hierarchical relationships among words and phrases.RNNGs operate via a recursive syntactic process reminiscent of probabilistic context-free grammar generation, but decisions are parameterized using RNNs that condition on the entire syntactic derivation history, greatly relaxing context-free independence assumptions.
The foundation of this work is a top-down variant of transition-based parsing ( §3).We give two variants of the algorithm, one for parsing (given an observed sentence, transform it into a tree), and one for generation.While several transition-based neural models of syntactic generation exist (Henderson, 2003(Henderson, , 2004;;Emami and Jelinek, 2005;Titov and Henderson, 2007;Buys and Blunsom, 2015b), these have relied on structure building operations based on parsing actions in shift-reduce and leftcorner parsers which operate in a largely bottomup fashion.While this construction is appealing because inference is relatively straightforward, it limits the use of top-down grammar information, which is helpful for generation (Roark, 2001). 1 RNNGs maintain the algorithmic convenience of transitionbased parsing but incorporate top-down (i.e., rootto-terminal) syntactic information ( §4).
The top-down transition set that RNNGs are based on lends itself to discriminative modeling as well, where sequences of transitions are modeled conditional on the full input sentence along with the incrementally constructed syntactic structures.Similar to previously published discriminative bottomup transition-based parsers (Henderson, 2004;Sagae and Lavie, 2005;Zhang and Clark, 2011, inter alia), greedy prediction with our model yields a lineartime deterministic parser (provided an upper bound on the number of actions taken between processing subsequent terminal symbols is imposed); however, our algorithm generates arbitrary tree structures directly, without the binarization required by shift-reduce parsers.The discriminative model also lets us use ancestor sampling to obtain samples of parse trees for sentences, and this is used to solve a second practical challenge with RNNGs: approximating the marginal likelihood and MAP tree of a sentence under the generative model.We present a simple importance sampling algorithm which uses samples from the discriminative parser to solve inference problems in the generative model ( §5).
Experiments show that RNNGs are effective for both language modeling and parsing ( §6).Our generative model obtains (i) the best-known parsing results using a single supervised generative model and (ii) better perplexities in language modeling than state-of-the-art sequential LSTM language models.Surprisingly-although in line with previous parsing results showing the effectiveness of generative models (Henderson, 2004;Johnson, 2001)parsing with the generative model obtains significantly better results than parsing with the discriminative model.

RNN Grammars
Formally, an RNNG is a triple (N, Σ, Θ) consisting of a finite set of nonterminal symbols (N ), a finite set of terminal symbols (Σ) such that N ∩ Σ = ∅, and a collection of neural network parameters Θ.It does not explicitly define rules since these are implicitly characterized by Θ.The algorithm that the grammar uses to generate trees and strings in the language is characterized in terms of a transition-based algorithm, which is outlined in the next section.In the section after that, the semantics of the parameters that are used to turn this into a stochastic algorithm that generates pairs of trees and strings are discussed.

Top-down Parsing and Generation
RNNGs are based on a top-down generation algorithm that relies on a stack data structure of partially completed syntactic constituents.To emphasize the similarity of our algorithm to more familiar bottom-up shift-reduce recognition algorithms, we first present the parsing (rather than generation) version of our algorithm ( §3.1) and then present modifications to turn it into a generator ( §3.2).

Parser Transitions
The parsing algorithm transforms a sequence of words x into a parse tree y using two data structures (a stack and an input buffer).As with the bottomup algorithm of Sagae and Lavie (2005), our algorithm begins with the stack (S) empty and the complete sequence of words in the input buffer (B).The buffer contains unprocessed terminal symbols, and the stack contains terminal symbols, "open" nonterminal symbols, and completed constituents.At each timestep, one of the following three classes of operations (Fig. 1) is selected by a classifier, based on the current contents on the stack and buffer: The parsing algorithm terminates when there is a single completed constituent on the stack and the buffer is empty.Fig. 2 shows an example parse using our transition set.Note that in this paper we do not model preterminal symbols (i.e., part-ofspeech tags) and our examples therefore do not include them. 2 Our transition set is closely related to the operations used in Earley's algorithm which likewise introduces nonterminals symbols with its PREDICT operation and later COMPLETEs them after consuming terminal symbols one at a time using SCAN (Earley, 1970).It is likewise closely related to the "linearized" parse trees proposed by Vinyals et al. (2015) and to the top-down, left-to-right decompositions of trees used in previous generative parsing and language modeling work (Roark, 2001(Roark, , 2004;;Charniak, 2010).
A further connection is to LL( * ) parsing which uses an unbounded lookahead (compactly represented by a DFA) to distinguish between parse alternatives in a top-down parser (Parr and Fisher, 2011); however, our parser uses an RNN encoding of the lookahead rather than a DFA.
Constraints on parser transitions.To guarantee that only well-formed phrase-structure trees are produced by the parser, we impose the following constraints on the transitions that can be applied at each step which are a function of the parser state (B, S, n) where n is the number of open nonterminals on the stack: • The NT(X) operation can only be applied if B is not empty and n < 100.To designate the set of valid parser transitions, we write A D (B, S, n).

Generator Transitions
The parsing algorithm that maps from sequences of words to parse trees can be adapted with minor changes to produce an algorithm that stochastically generates trees and terminal symbols.Two changes are required: (i) there is no input buffer of unprocessed words, rather there is an output buffer (T ), and (ii) instead of a SHIFT operation there are GEN(x) operations which generate terminal symbol x ∈ Σ and add it to the top of the stack and the output buffer.At each timestep an action is stochastically selected according to a conditional distribution that depends on the current contents of B and T .
The algorithm terminates when a single completed constituent remains on the stack.Fig. 4 shows an example generation sequence.
Constraints on generator transitions.The generation algorithm also requires slightly modified constraints.These are: • The GEN(x) operation can only be applied if n ≥ 1.
• The REDUCE operation can only be applied if the top of the stack is not an open nonterminal symbol and n ≥ 1.
To designate the set of valid generator transitions, we write A G (T, S, n).This transition set generates trees using nearly the same structure building actions and stack configurations as the "top-down PDA" construction proposed by Abney et al. (1999), albeit without the restriction that the trees be in Chomsky normal form.

Transition Sequences from Trees
Any parse tree can be converted to a sequence of transitions via a depth-first, left-to-right traversal of a parse tree.Since there is a unique depth-first, leftro-right traversal of a tree, there is exactly one transition sequence of each tree.For a tree y and a sequence of symbols x, we write a(x, y) to indicate the corresponding sequence of generation transitions, and b(x, y) to indicate the parser transitions.

Runtime Analysis
A detailed analysis of the algorithmic properties of our top-down parser is beyond the scope of this paper; however, we briefly state several facts.Assuming the availability of constant time push and pop operations, the runtime is linear in the number of the nodes in the parse tree that is generated by the parser/generator (intuitively, this is true since although an individual REDUCE operation may require  Input: The hungry cat meows .

Stack Buffer Action
The   applying a number of pops that is linear in the number of input symbols, the total number of pop operations across an entire parse/generation run will also be linear).Since there is no way to bound the number of output nodes in a parse tree as a function of the number of input words, stating the runtime complexity of the parsing algorithm as a function of the input size requires further assumptions.Assuming our fixed constraint on maximum depth, it is linear.

Comparison to Other Models
Our generation algorithm algorithm differs from previous stack-based parsing/generation algorithms in two ways.First, it constructs rooted tree structures top down (rather than bottom up), and second, the transition operators are capable of directly generating arbitrary tree structures rather than, e.g., assuming binarized trees, as is the case in much prior work that has used transition-based algorithms to produce phrase-structure trees (Sagae and Lavie, 2005;Zhang and Clark, 2011;Zhu et al., 2013).

Generative Model
RNNGs use the generator transition set just presented to define a joint distribution on syntax trees (y) and words (x).This distribution is defined as a sequence model over generator transitions that is parameterized using a continuous space embedding of the algorithm state at each time step (u t ); i.e., and where action-specific embeddings r a and bias vector b are parameters in Θ.
The representation of the algorithm state at time t, u t , is computed by combining the representation of the generator's three data structures: the output buffer (T t ), represented by an embedding o t , the stack (S t ), represented by an embedding s t , and the history of actions (a <t ) taken by the generator, represented by an embedding h t , where W and c are parameters.Refer to Figure 5 for an illustration of the architecture.
The output buffer, stack, and history are sequences that grow unboundedly, and to obtain representations of them we use recurrent neural networks to "encode" their contents (Cho et al., 2014).Since the output buffer and history of actions are only appended to and only contain symbols from a finite alphabet, it is straightforward to apply a standard RNN encoding architecture.The stack (S) is more complicated for two reasons.First, the elements of the stack are more complicated objects than symbols from a discrete alphabet: open nonterminals, terminals, and full trees, are all present on the stack.Second, it is manipulated using both push and pop operations.To efficiently obtain representations of S under push and pop operations, we use stack LSTMs (Dyer et al., 2015).

Syntactic Composition Function
When a REDUCE operation is executed, the parser pops a sequence of completed subtrees and/or tokens (together with their vector embeddings) from the stack and makes them children of the most recent open nonterminal on the stack, "completing" the constituent.To compute an embedding of this new subtree, we use a composition function based on bidirectional LSTMs, which is illustrated in Fig. 6.The first vector read by the LSTM in both the forward and reverse directions is an embedding of the label on the constituent being constructed (in the figure, NP).This is followed by the embeddings of the child subtrees (or tokens) in forward or reverse order.Intuitively, this order serves to "notify" each LSTM what sort of head it should be looking for as it processes the child node embeddings.The final state of the forward and reverse LSTMs are concatenated, passed through an affine transformation and a tanh nonlinearity to become the subtree embedding. 4Because each of the child node embeddings (u, v, w in Fig. 6) is computed similarly (if it corresponds to an internal node), this composition function is a kind of recursive neural network.

Word Generation
To reduce the size of A G (S, T, n), word generation is broken into two parts.First, the decision to generate is made (by predicting GEN as an action), and then choosing the word, conditional on the current parser state.To further reduce the computational complexity of modeling the generation of a word, we use a class-factored softmax (Baltescu and Blunsom, 2015;Goodman, 2001).By using |Σ| classes for a vocabulary of size |Σ|, this prediction step runs in time O( |Σ|) rather than the O(|Σ|) of the full-vocabulary softmax.To obtain clusters, we use the greedy agglomerative clustering algorithm of Brown et al. (1992).

Training
The parameters in the model are learned to maximize the likelihood of a corpus of trees.

Discriminative Parsing Model
A discriminative parsing model can be obtained by replacing the embedding of T t at each time step with an embedding of the input buffer B t .To train this model, the conditional likelihood of each sequence of actions given the input string is maximized.5

Inference via Importance Sampling
Our generative model p(x, y) defines a joint distribution on trees (y) and sequences of words (x).
To evaluate this as a language model, it is necessary to compute the marginal probability p(x) = y ∈Y(x) p(x, y ).And, to evaluate the model as a parser, we need to be able to find the MAP parse tree, i.e., the tree y ∈ Y(x) that maximizes p(x, y).However, because of the unbounded dependencies across the sequence of parsing actions in our model, exactly solving either of these inference problems is intractable.To obtain estimates of these, we use a variant of importance sampling (Doucet and Johansen, 2011).
Our importance sampling algorithm uses a conditional proposal distribution q(y | x) with the following properties: (i) p(x, y) > 0 =⇒ q(y | x) > 0; (ii) samples y ∼ q(y | x) can be obtained efficiently; and (iii) the conditional probabilities q(y | x) of these samples are known.While many such distributions are available, the discrim-inatively trained variant of our parser ( §4.4) fulfills these requirements: sequences of actions can be sampled using a simple ancestral sampling approach, and, since parse trees and action sequences exist in a one-to-one relationship, the product of the action probabilities is the conditional probability of the parse tree under q.We therefore use our discriminative parser as our proposal distribution.
Importance sampling uses importance weights, which we define as w(x, y) = p(x, y)/q(y | x), to compute this estimate.Under this definition, we can derive the estimator as follows: We now replace this expectation with its Monte Carlo estimate as follows, using N samples from q: To obtain an estimate of the MAP tree ŷ, we choose the sampled tree with the highest probability under the joint model p(x, y).

Experiments
We present results of our two models both on parsing (discriminative and generative) and as a language model (generative only) in English and Chinese.
Data.For English, §2-21 of the Penn Treebank are used as training corpus for both, with §24 held out as validation, and §23 used for evaluation.Singleton words in the training corpus with unknown word classes using the the Berkeley parser's mapping rules. 6Orthographic case distinctions are preserved, and numbers (beyond singletons) are not normalized.For Chinese, we use the Penn Chinese Treebank Version 5.1 (CTB) (Xue et al., 2005 Model and training parameters.For the discriminative model, we used hidden dimensions of 128 and 2-layer LSTMs (larger numbers of dimensions reduced validation set performance).For the generative model, we used 256 dimensions and 2layer LSTMs.For both models, we tuned the dropout rate to maximize validation set likelihood, obtaining optimal rates of 0.2 (discriminative) and 0.3 (generative).For the sequential LSTM baseline for the language model, we also found an optimal dropout rate of 0.3.For training we used stochastic gradient descent with a learning rate of 0.1.All parameters were initialized according to recommendations given by Glorot and Bengio (2010).
English parsing results.Table 2 (last two rows) gives the performance of our parser on Section 23, as well as the performance of several representative models.For the discriminative model, we used a greedy decoding rule as opposed to beam search in some shift-reduce baselines.For the generative model, we obtained 100 independent samples from a flattened distribution of the discriminative parser (by exponentiating each probability by α = 0.8 and renormalizing) and reranked them according to the generative model.9 Chinese parsing results.Chinese parsing results were obtained with the same methodology as in English and show the same pattern (Table 6).
Language model results.We report held-out perword perplexities of three language models, both sequential and syntactic.Log probabilities are normalized by the number of words (excluding the stop

Discussion
It is clear from our experiments that the proposed generative model is quite effective both as a parser and as a language model.This is the result of (i) relaxing conventional independence assumptions (e.g., context-freeness) and (ii) inferring continuous representations of symbols alongside non-linear models of their syntactic relationships.The most significant question that remains is why the discriminative model-which has more information available to it than the generative model-performs  2015) was able to obtain results similar to those of our generative model (albeit using much larger training sets obtained through semisupervision) but similar results to those of our discriminative parser using the same data.In light of their results, we believe Henderson's hypothesis is correct, and that generative models should be considered as a more statistically efficient method for learning neural networks from small data.

Related Work
Our language model combines work from two modeling traditions: (i) recurrent neural network language models and (ii) syntactic language modeling.Recurrent neural network language models use RNNs to compute representations of an unbounded history of words in a left-to-right language model (Zaremba et al., 2015;Mikolov et al., 2010;Elman, 1990).Syntactic language models jointly generate a syntactic structure and a sequence of words (Baker, 1979;Jelinek and Lafferty, 1991).
There is an extensive literature here, but one strand of work has emphasized a bottom-up generation of the tree, using variants of shift-reduce parser actions to define the probability space (Chelba and Jelinek, 2000;Emami and Jelinek, 2005).The neural-network-based model of Henderson (2004) is particularly similar to ours in using an unbounded history in a neural network architecture to parameterize generative parsing based on a left-corner model.Dependency-only language models have also been explored (Titov and Henderson, 2007;Buys and Blunsom, 2015a,b).Modeling generation top-down as a rooted branching process that recursively rewrites nonterminals has been explored by Charniak (2000) and Roark (2001).Of particular note is the work of Charniak (2010), which uses random forests and hand-engineered features over the entire syntactic derivation history to make decisions over the next action to take.
The neural networks we use to model sentences are structured according to the syntax of the sentence being generated.Syntactically structured neural architectures have been explored in a number of applications, including discriminative parsing (Socher et al., 2013a;Kiperwasser and Goldberg, 2016), sentiment analysis (Tai et al., 2015;Socher et al., 2013b), and sentence representation (Socher et al., 2011;Bowman et al., 2006).However, these models have been, without exception, discriminative; this is the first work to use syntactically structured neural models to generate language.Earlier work has demonstrated that sequential RNNs have the capacity to recognize contextfree (and beyond) languages (Sun et al., 1998;Siegelmann and Sontag, 1995).In contrast, our work may be understood as a way of incorporating a context-free inductive bias into the model structure.

Outlook
RNNGs can be combined with a particle filter inference scheme (rather than the importance sampling method based on a discriminative parser, §5) to produce a left-to-right marginalization algorithm that runs in expected linear time.Thus, they could be used in applications that require language models.
A second possibility is to replace the sequential generation architectures found in many neural network transduction problems that produce sentences conditioned on some input.Previous work in machine translation has showed that conditional syntactic models can function quite well without the computationally expensive marginalization process at decoding time (Galley et al., 2006;Gimpel and Smith, 2014).
A third consideration regarding how RNNGs, human sentence processing takes place in a left-toright, incremental order.While an RNNG is not a processing model (it is a grammar), the fact that it is left-to-right opens up several possibilities for developing new sentence processing models based on an explicit grammars, similar to the processing model of Charniak (2010).
Finally, although we considered only the supervised learning scenario, RNNGs are joint models that could be trained without trees, for example, using expectation maximization.

Conclusion
We introduced recurrent neural network grammars, a probabilistic model of phrase-structure trees that can be trained generatively and used as a language model or a parser, and a corresponding discriminative model that can be used as a parser.Apart from out-of-vocabulary preprocessing, the approach requires no feature design or transformations to treebank data.The generative model outperforms every previously published parser built on a single supervised generative model in English, and a bit behind the best-reported generative model in Chinese.As language models, RNNGs outperform the best single-sentence language models.

Figure 1 :
Figure 1: Parser transitions showing the stack, buffer, and open nonterminal count before and after each action type.S represents the stack, which contains open nonterminals and completed subtrees; B represents the buffer of unprocessed terminal symbols; x is a terminal symbol, X is a nonterminal symbol, and each τ is a completed subtree.The top of the stack is to the right, and the buffer is consumed from left to right.Elements on the stack and buffer are delimited by a vertical bar ( | ).

Figure 3 :
Figure 3: Generator transitions.Symbols defined as in Fig. 1 with the addition of T representing the history of generated terminals.

Figure 6 :
Figure 6: Syntactic composition function based on bidirectional LSTMs that is executed during a REDUCE operation; the network on the right models the structure on the left.

Figure 5 :
Figure 5: Neural architecture for defining a distribution over at given representations of the stack (St), output buffer (Tt) and history of actions (a<t).Details of the composition architecture of the NP, the action history LSTM, and the other elements of the stack are not shown.This architecture corresponds to the generator state at line 7 of Figure 4.
Buffer t Open NTs t Action Stack t+1 Buffer t+1 Open NTs t+1

Table 1 :
). 7 For the Chinese experiments, we use a single unknown word class.Corpus statistics are given in Table 1. 8 Corpus statistics.

Table 4 :
Language model perplexity results.