The NLP Engine: A Universal Turing Machine for NLP

02/28/2015 ∙ by Jiwei Li, et al. ∙ Carnegie Mellon University Stanford University 0

It is commonly accepted that machine translation is a more complex task than part of speech tagging. But how much more complex? In this paper we make an attempt to develop a general framework and methodology for computing the informational and/or processing complexity of NLP applications and tasks. We define a universal framework akin to a Turning Machine that attempts to fit (most) NLP tasks into one paradigm. We calculate the complexities of various NLP tasks using measures of Shannon Entropy, and compare `simple' ones such as part of speech tagging to `complex' ones such as machine translation. This paper provides a first, though far from perfect, attempt to quantify NLP tasks under a uniform paradigm. We point out current deficiencies and suggest some avenues for fruitful research.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The purpose of this paper is to suggest a unified framework in which modern NLP research can quantitatively describe and compare NLP tasks. Even though everyone agrees that some NLP tasks are more complex than others, e.g., machine translation is ‘harder’ than syntactic parsing, which in turn is ‘harder’ than part-of-speech tagging, we cannot compute the relative complexities of different NLP tasks and subtasks.

In the typical current NLP paradigm, researchers apply several machine learning algorithms to a problem, report on their performance levels, and establish the winner as setting the level to beat in the future. We have no single overall model of NLP that subsumes and regularizes its various tasks. If you were to ask NLP researchers today they would say that no such model is possible, and that NLP is a collection of several semi-independent research directions that all focus on language and mostly use machine learning techniques. Researchers will tell you that a good summarization system on DUC/TAC dataset obtains a ROUGE score of 0.40, a good French-English translation system achieves a BLUE score of 37.0, 20-news classifiers can achieve accuracy of 0.85, and named entity recognition systems a recall of 0.95, and these numbers are not comparable. Further, we usually pay little attention to additional important factors such as the performance curve with respect to the amount of training data, the amount of preprocessing required, the size and complexity of auxiliary information required, etc. And even when some studies do report such numbers, in NLP we don’t know how to characterize these aspects in general and across applications, how to quantify them in relationship to each other.

We here describe our first attempt to develop a single generic high-level model of NLP. We adopt the model of a universal machine, akin to a Turing Machine but specific to the concerns of language processing, and show how it can be instantiated in different ways for different applications. We employ Shannon Entropy within the machine to measure the complexity of each NLP task.

In his epoch-making work, Shannon shannon1951prediction demonstrated how to compute the amount of information in a message. He considered the case in which a string of input symbols is considered one by one, and the uncertainty of the next is measured by counting how difficult it is to guess. We make the fundamental assumption that most NLP tasks can be viewed as transformations of notation, in which a stream of input symbols is transformed and/or embellished into a stream of output symbols (for example, POS tagging is the task of embellishing each symbol with its tag, and MT is the task of outputting the appropriate translation word(s)). Under this assumption one can ask: how much uncertainty is there in making the embellishment or transformation? This clearly depends on the precise nature of the task, on the associated auxiliary knowledge resources, and on the actual algorithm employed. We discuss each of these issues below. We first describe the key challenge involved in performing uncertainty comparison using the Entropy measure in Section 2. In Section 3 we provide high-level comments on what properties a framework should have to enable fair complexity comparison. In Section 4, based on the properties identified in Section 3, we consider the theoretical nature of NLP tasks and provide suggestions for instantiating the paradigm. The framework is described in Sections 5, 6 and our results are presented in Section 7. We point out current deficiencies and suggest avenues for fruitful research in Section 8, followed by a conclusion.

2 The Dilemma for Shannon Entropy

2.1 Review of Entropy and Cross Entropy

Entropy, denoted as

, illustrates the amount of information contained in a message, and can be characterized as the uncertainty of a random variable of a process. For example, Shannon shannon1951prediction reported an upper bound of 1.3 bits/character symbol for English character prediction and 5.9 bits/word symbol for English word prediction, meaning that it is highly likely that English word prediction is a harder task than English character prediction.

If the output is a sequence generated from the input, a stationary stochastic process. Then the entropy of Y is given by:


By the Shannon-McMillan-Breiman theorem [Algoet and Cover1988] this can be written as:


So we can define its hardness or complexity by computing entropy from the distribution for tasks like Shannon’s word prediction model, or extend it to a noisy channel model [Shannon1948]: given a sequence of inputs , the uncertainty of the output transformation is given by , interpreted as the amount of uncertainty remaining about Y when X is already known.

The true distribution over

is hard to estimate. Normally we estimate the upper bound of entropy — the cross entropy denoted as

—-to approximate the true value of entropy:


where denotes the KL divergence between two distributions and . A good model will closely approximate using , leading to smaller value of , i.e., bringing the value cross-entropy closer to that of the real one. Different models would obtain different values of .  Various studies since Shannon’s work (e.g.,[Kucera and Francis1967, Cover and King1978, Gopinath and Cover1987, Brown et al.1992]) have explored methods to lower the upper bound of character prediction entropy in English by using more sophisticated models.

2.2 The Dilemma for Entropy

While entropy describes the intrinsic nature of the problem or task, its actual value estimation has to be determined by the specific model you adopt for prediction. When Shannon approached the character prediction task, his wife acted as the predictor. Alternatively, if Shannon had used a child as predictor, he would have obtained a much larger estimated entropy.

Similarly, if one wishes to compare the entropy of two tasks, for example, to determine which language sequence is harder to predict, English or French, it would be problematic if one compares the entropy computed via a linguist for English and a child for French. One requires twins who are mathematically and linguistically identical in terms of English and French for a fair comparison [Cover and Thomas2012]

. However, in real world, it is almost impossible to find such twins. Different models are attuned differently to different scenarios, tasks, datasets, evaluation metrics, parameter settings, or optimization strategies. One model might not fit all tasks equally well, e.g., SVMs are not designed to predict probabilities, CRFs offer more insights in sequence labeling tasks than SVMs but are hard to use straightforwardly for text classification, etc.

In summary, though entropy provides a theoretical definition about the uncertainty of a data source or task, the fact that its estimation must be performed using a real specific model poses a dilemma for the accurate estimation of the uncertainty of tasks and hence for their fair comparison.

3 Prerequisites for Fair Comparison

We claim that a framework should incorporate the following elements to enable a fair complexity comparison of disparate NLP tasks and systems:

A universal measure:

Complexity can be measured in terms of multiple aspects (e.g., the amount of training data required, the amount of preprocessing required, the size and complexity of auxiliary information, training time, memory usage, or even lines of code). But we need a universal and appropriate metric. In this work, we propose Shannon Entropy as the universal metric, which we believe reflects the intrinsic randomness, predictability, and uncertainty of datasets and tasks. All the above aspects are highly correlated with Shannon Entropy.

A universal Engine:

A POS tagging system makes decisions by selecting tags with highest probability while a summarization system selects the top-ranked sentences. A fair comparison of complexity, however, requires a single general and unified engine to define all (at least most of) NLP tasks within the same framework. The abovementioned notation transformation paradigm, elaborated in the following section, accommodates most NLP tasks.

A universal model:

We cannot fairly compare the entropy obtained from a logistic regression model on POS tags to that produced from a large framework of interdependent alignment, phrase extraction, decoding algorithms for machine translation. A unified model should work with predictions for all (or at least most) current NLP tasks, and should make relatively accurate predictions (a random guess model, for example, is general but would not be helpful). We propose in Section 6 a candidate model.

4 The Nature of NLP

In order to propose a single multi-purpose unified Engine for NLP one has to adopt a very general perspective. When constructing an NL system one typically assembles a variety of components. Some of them are active modules that instantiate algorithms and perform transformations. Others are passive resources (like lexicons, probability tables, or rulesets) that support the former. Active modules are sometimes built to produce passive ones. It is important to differentiate the role of modules in a framework in order to properly estimate the overall complexity. In this section we first categorize the primary roles of NLP (sub)systems and then postulate that modern NLP algorithms (largely) fall into three distinct complexity types.

4.1 Three Classes of NLP System

NLP systems generally perform one of the following three functions/roles: (i) research into aspects of the nature of language(s), (ii) application tasks and subtasks, and (iii) support algorithms. The majority of NLP development today falls into the second and third classes.

Research into language includes such studies as determining the Zipfian nature and the entropy of language, discovering changes in patterns of use over time and across geographic regions, identifying text genres by for example creating word and constituent distribution profiles, and so on.

Application tasks include machine translation, information retrieval, speech recognition, natural language interpretation (both syntactic parsing and semantic analysis), information extraction, question answering, dialogue processing, text summarization, text (sentence and multi-sentence) generation, sentiment analysis / opinion mining, text mining / harvesting, and others. Subtasks include part of speech tagging, chunking, coreference resolution, text segmentation, query analysis, bitext alignment, reference generation, profiling/characterization of language producers, and many others, as well as numerous resource creation tasks including building monolingual and bilingual lexicons, distributional semantic word profiles and embeddings, word sense lists, ontologies / taxonomies, word-sentiment lists, and many others.

Support algorithms include a variety of generic procedures that are reused in many applications. In addition to the classic Finite State / Augmented Transition Network technology from the 1960s and later, modern NLP usually works with the statistical properties of large collections of words, and modern support algorithms such as HMMs and others generally assign and use count-derived scores to [sets of] words, such as tf.idf, PMI, and others, or distribute probability across sets of labels, words or documents, such as Expectation Maximization, Probabilistic Graphical Models, Topic Modeling algorithms, certain clustering algorithms, etc. Some support algorithms focus on processing human labeling (annotation) and comparing the results of various different labeling agents (human and machine), such as Jensen-Shannon and other distribution comparison scoring, annotation optimization procedures, etc.

4.2 Three Levels of NLP Algorithm

We postulate that (almost every) NLP task / subtask can be defined as [a combination of] one of three basic operations, listed in order of complexity:

Level 1: Prediction: The algorithm reads its input, which includes principally a sequence of units of some kind, and predicts the next item in the sequence. Example: predicting the next word in a stream, as used by Shannon to calculate the information content of text.

Level 2: Labeling: The algorithm reads its input and generate label(s) based on it. Labeling tasks can be divided into two subcategories:

  • Aligned Labeling: there is a one-to-one correspondence between inputs and outputs. Aligned tasks include most tagging tasks (e.g., named entity tagging and part-of-speech tagging).

  • Unaligned Labeling: no aligned correspondence exists between inputs and outputs. Unaligned sequence-label tasks can be further divided into single-label tasks such as categorization or clustering, in which a single label is assigned given the input (e.g., classification of documents each into one class), and sequence-label tasks, in which a sequence of labels is produced (e.g., MT, where the labels are target language words).

Level 3: Scoring: The algorithm reads its input and assigns a score (without loss of generality, a real value between zero and unity) to some unit(s) in it. The score may be a probability, rating, or some other score. Example: tf.idf scoring of words.

In a probabilistic paradigm, the probability of Level 1 tasks can be characterized as where denotes the sequence to predict. Level 2 tasks can be characterized as where denotes the input and denotes the label(s) to generate.

Often, one operation is used to perform another. It is typical in modern-day (post-1990s) NLP to perform all kinds of labeling (Level 2 operations) by scoring all relevant possible categories (a Level 3 operation) and then returning the highest-scoring one as the selected tag. This contrasts with pre-1990s NLP that generally computed a single result, such as the desired label, as the one and only possible answer.

A task may require several operations in sequence. For example, syntactic parsing requires labeling the part of speech tag of each word, labeling the start and end words of syntactic constituents, labeling the head of each constituent, and labeling the syntactic role of each constituent with regard to its immediate head. Sometimes the label is drawn from a small set of possible tags that is predefined by theorists or the researcher, such as the part of speech tags. Sometimes the label is provided in the text, such as the head word of a syntactic constituent. Sometimes the label is a value computed by a scoring operation, such as the PMI score of a word pair in a corpus.

5 The Universal NLP Engine

The generic NLP Engine contains (see Figure 1):

The transformation engine E, which takes as input one or more symbols from S and produces zero or more labels in response.

The input stream , which contains the text (without loss of generality, we talk about text (a sequence of words and punctuation), but S might instead be a sequence of symbols from some other vocabulary, such as part of speech tags, or a mixture of several vocabularies, such as words with their individual part of speech tags). We therefore consider S as consisting of an essentially infinite stream of units, each unit being a symbol (or set of associated symbols) for which a label (or set of labels) is to be computed by E. Let denote the set of source symbols.

The data resource(s) R, typically a lexicon, a grammar, a probability model, or the output of some subtask, used by E to perform its transformation.

The output label(s) Y, a set of predefined symbols that E produces. Let denote the set of target symbols (including labels). We have and also possibly .

We next describe a generic procedure for implementing the machine based on the following assumption.

Assumption 0.1

[Most] modern NLP tasks can be viewed as predicting a (sequence of) token(s) (i.e., ) using a finite-state Turing Machine.

Such a procedure allows one to measure and compare various aspects of [almost] any NLP task and subtask in a systematic way, and to thereby compare the computational properties of alternative approaches and implementations to any NLP (sub)task.

The following examples, using the same input stream =“Dog eats apple”, illustrate how the engine works by phrasing several modern NLP tasks as sequential token prediction problems:

  • Sentiment Classification:
    “-1”, “0”, “1”, respectively for negative, neutral, and positive sentiment
    =“0” (meaning: neutral sentiment).

  • POS tagging:

    “NNP VBZ NN”.

  • Syntactic Parsing:

    =(ROOT (S (NP (NNP ) ) (VP (VBZ ) (NP (NN ) ) ) ) ).

  • Semantic analysis:

    =“ e . eat ( e ) agent ( e , dog ) patient ( e , apple )”.

  • Word Sense Disambiguation:

    =“1 3 1”, correspond to the 1st, 3rd, and 1st senses for the correspondent token.

  • Machine Translation:

    =“chien mange pomme”.

  • Summarization:

    =“dog eats apple” (the gold-standard summary is the original sentence).

The proposed framework is inspired by recent progress of sequence-to-sequence prediction models in NLP, such as machine translation [Sutskever et al.2014, Bahdanau et al.2014, Vinyals et al.2014, Cho et al.2014, Graves et al.2014] and the work of Andreas et al. andreas2013semantic that illustrates that semantic parsing can to some extent be viewed as a machine translation problem. Treating syntactic parsing as a string prediction task is defined and implemented in [Vinyals et al.2014].

6 The Universal Entropy Model

In this section, we discuss the generic model for computing Entropy within a Language Engine.

6.1 Requirements

We first identify requirements for the universal model. The random guess model satisfies the generality property as it can be used in any predictive model. But it of course does not constitute a good predictive model, since it delivers estimated distributions far away from the actual distribution. In contrast, n-order Markov models (n=1,2,3…) seem to serve the purpose well and can be easily applied in sequence-labeling tasks such as NER and POS tagging. However it is tricky to adapt them to single-label predictions such as text classification. Additionally, their dependence on specific feature selections make fair comparison across different implementations complicated or impossible.

This consideration leads to the first requirement for a model:

Requirement 0.1

The model should be able to leverage different types of features automatically to avoid infinitely complicated feature engineering procedures.

We consider and to gain insights about better predictions for entropy calculation. We use for illustration as it can be easily extended to . In the sequence prediction task, let denote the entropy where predictions are made given previous tokens (an n-order Markov model). As proved by Shannon [Shannon1951], monotonically decreases with respect to and is strictly bounded by :


Taking as example an n-gram word prediction model, theoretically estimated entropy decreases as predictions are made based on increasingly many preceding tokens, roughly stated in

[Shannon1951]. However, issues arise when is too large to maintain an n-gram probability table.

Based Shannon’s proof, for the purpose of to the largest extent approximating real entropy using estimated entropy, we generalize the second property of the model as follows:

Requirement 0.2

The model should be able to memorize earlier information as much as possible given the computing power and storage capacity available.

6.2 Model

This line of thinking suggests using as model recurrent neural networks

[Mikolov et al.2010, Funahashi and Nakamura1993] or sophisticated versions like LSTM [Hochreiter and Schmidhuber1997] (Please see Appendix for details about LSTM models).

Recurrent networks obtain a fixed-sized vector for each step within the processing sequence by convoluting current information with output from earlier step(s). Such vectors can be viewed as combining evidence obtained so far, and are used to predict the subsequent token(s), typically using a softmax function. For labeling tasks, recurrent neural networks first map the input

of arbitrary length to a fixed-sized vector, which can be viewed as evidence, and then map that vector to the output by convoluting feature representations at each step.

Recurrent models have the following merits: (1) They obey requirement 1 by automatically encoding “features” in the real-valued representation vectors without explicit feature selection and engineering. Though the models still require significant parameter tuning, they provide a relatively unified procedure for comparison. (2) By sequentially convoluting each token with output from earlier step(s) they have the ability to ‘remember’ information required to approximate (to some degree) the conditional probability of , which partially addresses requirement 2. (3) The model is manageable since it uses constant memory size and runs in linear time.

We explicitly do not claim that recurrent neural models are a perfect choice as model in an NLP Engine. We acknowledge their numerous shortcomings, and discuss some pros and cons in the concluding section. However, we believe that they do offer advantages over other models we have considered with regard to tradeoffs of generality, computing power, and storage capacity. These thoughts are inspired by recent progress of sequence-to-sequence generation models [Sutskever et al.2014, Bahdanau et al.2014, Vinyals et al.2014, Cho et al.2014].

7 Experiments: Comparing the Uncertainty of NLP Tasks

Using the above framework, we now calculate the exact entropy for a few NLP tasks. What must never be overlooked however is the impact of the training/testing datasets used (e.g., the complexity for guessing subsequent words in novels and newspapers can be different) and how exactly the task is defined (e.g., differences of complexity in sentiment classification between a 5-class and 2-class problem are huge).

7.1 Tasks and Datasets

Prediction Tasks:

We use Wikipedia 2014 corpus, divided half and half for training and testing. We employ the most-frequent 200,000 words and add an “unknown” symbol to represent the remainder, making it a 200,001-class prediction problem. This is a simple Prediction task.

Sentiment Analysis

[Pang et al.2002]’s dataset comprises sentences containing gold-standard sentiment labels tagged at the start of each sentence. We divide the original dataset into training(8101)/dev(500)/testing(2000). This is an Unaligned Labeling (single) task.

Question-Answering (UMD)

The dataset comprises two domains, History and Literature, and contains roughly 2,000 questions where each question is paired with an answer [Iyyer et al.2014]. Since answers are selected from a pool of roughly 100 answer candidates, this is not an open QA problem but a multi-class classification problem; i.e., an Unaligned Labeling (single) task.

Machine Translation

We use the WMT14 English-French dataset and the OpenMT12 English-Chinese dataset. This is an Unaligned Labeling (sequence) task.

Part-of-Speech Tagging (Penn Treebank)

We use a random sample of Wiki2014 as training and testing dataset, each of which containing 1 million sentences. Gold-standard labels are assigned using the Stanford POS tagger. This is an Aligned Labeling task.

Name Entity Recognition (CoNLL)

We use the CoNLL-2003 English benchmark for training, which labels four entity types (person, location, organization, miscellaneous). The models are tested on CoNLL-2003 testing data.. This is an Aligned Labeling task.

Syntactic Parsing

Training data is the OntoNotes corpus [Hovy et al.2006] and English Web Treebank [Petrov and McDonald2012] with an additional 5 million random sentences, all parsed by the Stanford Parser [Socher et al.2013]. The testing dataset is Section 22 of the Penn Treebank plus 1000 sentences from the Question Treebank. We followed protocols defined in [Vinyals et al.2014]. This is an Unaligned Labeling (sequence) task.

Question Answer (Open-domain)

We use the Yahoo Comprehensive QA dataset. The dataset comprises roughly 4 million QA pairs. Questions and answers are sequences of tokens. Questions are treated as inputs and models predict word sequences as responsive answers. This is an Unaligned Labeling (sequence) task.

7.2 Implementations

7.2.1 Prediction Task

Implementations for prediction tasks, where is to be estimated, are similar to recurrent language models as defined in [Mikolov et al.2010]. Let denote the representation obtained for timestep based on preceding information from the LSTM. Let denote the feature representation for the token to be predicted at time . By adopting a softmax function, the conditional probability for the occurrence of the current token given earlier evidence is given by:


where denotes the compositional function between vectors and . In this paper, we adopt the form of exponential dot product for :


7.2.2 Labeling Task

We refer to frameworks [Sutskever et al.2014, Bahdanau et al.2014, Vinyals et al.2014]) by first concatenating input and output . Let denote the LTSM output at timestep by convoluting all preceding tokens before in , i.e., .

Unaligned Single Labeling

Single-tag Labeling corresponds to the special case where the size of is 1. Taking Sentiment Analysis as an example, sentence-level embeddings (denoted as , where denotes the length of the current sentence) are first obtained recurrently from the LSTM. As it is a binary classification problem, we have:


Question-Answering (UMD) is implemented in a similar way.

Unaligned Sequence Labeling

Following [Bahdanau et al.2014, Vinyals et al.2014], the conditional probability for predicting the current token in is given by


takes the same form as in Eq.6.

Aligned Sequence Labeling

In aligned sequence labeling tasks, there is a one-to-one correspondences between output and input , which should be captured in the model. Decisions at timestep are made by combining LSTM representation and input representation :


is given as below:


where denotes the concatenation of the three vectors and and denote convolutional matrix and vector to project the concatenated vector to a scalar. Taking POS tagging as example, for the sentence “dog eats bones” with correspondent labels “NN VBZ NNS”, we first concatenate with : “dog eats bones NN VBZ NNS”. When making predictions at token “VBZ”, let denote the LSTM embedding computed at preceding token “NN”, denote the embedding for token “VBZ”, denote the correspondent input embedding for token “eats”. Then the probability for generating part-of-speech tag VBZ is given by:


7.3 Details

For each task, word embeddings are initialized o the same pre-trained vectors for fairness. Pre-trained embeddings were obtained from word2vec on a 6-billion-word corpus with dimensionality 512. LSTM models are composed of one single hidden layer. Stochastic gradient decent (without momentum) with mini-batch [Cotter et al.2011]

is adopted. For each task, we use a learning initial learning rate of 0.5 with a linear decay. Learning stops after 4 iterations. We initialized the LSTM parameters using a uniform distribution between [-0.1, 0.1]. Referring to

[Sutskever et al.2014], the gradient is normalized if its value exceeds a threshold to avoid exploding gradients. For unaligned sequence prediction tasks (i.e., syntactic parsing, QA(open domain)), inputs are reversed, as suggested in [Sutskever et al.2014].

7.4 Results

Task Avg Entropy
Word Prediction (Wiki) 7.12
English-Chinese Translation 5.17
English-French Translation 3.92
QA (Open-domain) 3.87
Syntactic Parsing 1.18
QA (UMD) 1.08
Text Classification (20 news) 0.70
Sentiment (Pang) 0.58
Part-of-Speech Tagging 0.42
Name Entity Recognition 0.31
Table 1: Average entropy for different NLP tasks with correspondent dataset specified.

Estimated entropies for different tasks computed in the proposed paradigm are presented in Table 1. As can be seen, MT is less complex than word prediction tasks, which is in line with our expectation: for MT, output tokens are predicated on source tokens. The input data provides additional information and lowers the degree of uncertainty: for any and .

As discussed earlier, estimated entropies are subjective to datasets. Being significantly short in training data, a high level of entropy is observed for summarization. This phenomenon demonstrate one key disadvantage of the proposed model—the failure to consider the impact of datasets. In particular, we are computing the upper bound for a specific task given the specific dataset adopted. How to take into account the influence of different datasets (e.g., amounts of training data, quality of training data) poses a great challenge to developing a general NLP Engine.

8 Deficiencies and Directions for Improvement

We have proposed a paradigm with three requirements, which we believe to be essential for a universal NLP engine. We are fully aware that it is impossible to come up with instantiations that perfectly meet all the requirements using current algorithms and frameworks. We consider the search for optimal solutions to be a long-term task. In this section we identify deficiencies involved in the proposed framework and suggest avenues for improvements.

The Metric: We proposed to use Shannon Entropy as uncertainty measurement to evaluate the complexity of tasks because we believe that entropy more deeply reflects the nature of uncertainty than other current measures such as accuracy or recall. However, if a theoretical computer scientist were to develop a more optimal measure that avoids the dilemma described in Section 2, we would replace entropy with that measure.

The Engine: In this paper, we are using an end-to-end turning string prediction engine, which says nothing substantive about complexity of resource and intermediate procedures. This could be problematic. Consider the following scenarios: in case 1 we have a long table that lists each input possibility and its output answer is a simple lookup, where the work then goes into creating the table, and in case 2 we have a small resource of rules but a lot of feature creation and rule application in the main engine to perform the same task. It is then true that the entropy from input to output is the same if the two systems produce exactly the same output (though one takes perhaps a lot more time, the other requires perhaps more space). But is the amount of work required (and hence the entropy effect) to create the two resources the same? In other words, can one argue that because the ‘outside’ end-to-end turning prediction task is constant in entropy, therefore the inner resources have to contain the same amount of entropy reducing ‘power’? This is not necessarily true. But should the one resource contain significantly more than the other, it appears that the outside engine doesn’t actually use that.

The Model: Before discussing disadvantages of applied recurrent neural models, it is noteworthy that there is an alternative to a universal and unified model (we call it unified model for short) for the framework. One can instead find the best informants (we call such a strategy best models) from various places and ask them to perform the transformation predictions. Alternatively, one can exhaust all combinations of models, algorithms, and features, and report the best results (smallest value of entropy) as the complexity comparison. Though all these strategies have pros and cons, we postulate that unified models might be more suitable than best models, as different informants might have different levels of education.

To meet the two requirements described in Section 6, we adopted recurrent neural models. Recurrent models are by no means perfect: they inevitably forget previous information and are fundamentally incapable of capturing long-term dependencies [Bengio et al.1994]. This becomes especially problematic in tasks where long-term dependencies play a vital role such as discourse parsing. Without trying to defend the model too far, we note that recurrent models seem to offer advantages over other current models that we can think of, e.g., transition models. We are optimistic that other and more sophisticated variations of neural models or other models, such as LDCRFs (Long-Dependency CRFs) [Morency et al.2007], memory networks [Weston et al.2015] will cope with the aforementioned disadvantages bit by bit. At least, one can replace recurrent models if more suitable algorithms come up.

9 Conclusion: Toward a Theory of NLP

Almost all NLP researchers today would all agree that there is no such thing as a theory of NLP. We hope that in this paper we lay some groundwork toward such a theory.

Any theory addresses some complex phenomenon by (i) identifying some categories (of objects or states or events) within it, (ii) providing some characteristics and perhaps some definitions for them, (iii) if possible describing some relationships between them, and (iv) if possible quantifying (some) aspects of these relationships. A scientific theory measures aspects of some phenomena and uses rules expressing the relationships to predict the values of other phenomena under certain conditions.

The framework outlined in this paper names as categories the commonly used linguistic phenomena of NLP such as words, part of speech tags, syntactic classes, and any other linguistically motivated category that NLP researchers choose to study. But it also has as categories various algorithms and data structures and other aspects of computation, including language models, the notion of training data and evaluation against a gold standard, classification, scoring, etc. The General NLP Engine puts the notions together in a single generic framework and suggests a way to measure their separate individual characteristics with regard to a single whole, namely the performance of tasks phrased in a very generic manner. This allows one to hold all but one category constant and vary the characteristics of either a linguistic or a computational category and study its effect on the overall task relative to any other variation, even if applied to some other category.

It is of course possible to generalize the General NLP Engine to apply to many other application areas in Computer Science. However the domain of NLP has properties that make it very attractive for fleshing out the nature of the Engine and the general ‘theory’, among others that NLP is a relatively mature domain within Computer Science, being just over 60 years old; NLP addresses a very large and complex subject field, namely natural language, NLP uses a variety of quite different techniques, including finite state transformation engines, machine learning, etc., and numerous types of representations, including vector spaces, symbolic notations, and connectionist embeddings.

In summary, though far from perfect, this paper provides a first attempt to quantify NLP tasks under a uniform paradigm which might have the potential to significantly impact natural language processing areas.


  • [Algoet and Cover1988] Paul H Algoet and Thomas M Cover. 1988. A sandwich proof of the shannon-mcmillan-breiman theorem. The annals of probability, pages 899–909.
  • [Andreas et al.2013] Jacob Andreas, Andreas Vlachos, and Stephen Clark. 2013. Semantic parsing as machine translation. In ACL (2), pages 47–52.
  • [Bahdanau et al.2014] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.
  • [Bengio et al.1994] Yoshua Bengio, Patrice Simard, and Paolo Frasconi. 1994. Learning long-term dependencies with gradient descent is difficult. Neural Networks, IEEE Transactions on, 5(2):157–166.
  • [Brown et al.1992] Peter F Brown, Vincent J Della Pietra, Robert L Mercer, Stephen A Della Pietra, and Jennifer C Lai. 1992. An estimate of an upper bound for the entropy of english. Computational Linguistics, 18(1):31–40.
  • [Cho et al.2014] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. 2014. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.
  • [Cotter et al.2011] Andrew Cotter, Ohad Shamir, Nati Srebro, and Karthik Sridharan. 2011. Better mini-batch algorithms via accelerated gradient methods. In Advances in Neural Information Processing Systems, pages 1647–1655.
  • [Cover and King1978] Thomas M Cover and R King. 1978. A convergent gambling estimate of the entropy of english. Information Theory, IEEE Transactions on, 24(4):413–421.
  • [Cover and Thomas2012] Thomas M Cover and Joy A Thomas. 2012. Elements of information theory. John Wiley & Sons.
  • [Funahashi and Nakamura1993] Ken-ichi Funahashi and Yuichi Nakamura. 1993. Approximation of dynamical systems by continuous time recurrent neural networks. Neural networks, 6(6):801–806.
  • [Gopinath and Cover1987] B Gopinath and Thomas M Cover. 1987. Open problems in communication and computation. Springer-Verlag.
  • [Graves et al.2014] Alex Graves, Greg Wayne, and Ivo Danihelka. 2014. Neural turing machines. arXiv preprint arXiv:1410.5401.
  • [Hochreiter and Schmidhuber1997] Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory. Neural computation, 9(8):1735–1780.
  • [Hovy et al.2006] Eduard Hovy, Mitchell Marcus, Martha Palmer, Lance Ramshaw, and Ralph Weischedel. 2006. Ontonotes: the 90% solution. In Proceedings of the human language technology conference of the NAACL, Companion Volume: Short Papers, pages 57–60. Association for Computational Linguistics.
  • [Iyyer et al.2014] Mohit Iyyer, Jordan Boyd-Graber, Leonardo Claudino, Richard Socher, and Hal Daumé III. 2014. A neural network for factoid question answering over paragraphs. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 633–644.
  • [Kucera and Francis1967] Henry Kucera and Nelson Francis. 1967. Computational analysis of present-day American English. Brown university press.
  • [Mikolov et al.2010] Tomas Mikolov, Martin Karafiát, Lukas Burget, Jan Cernockỳ, and Sanjeev Khudanpur. 2010. Recurrent neural network based language model. In INTERSPEECH 2010, 11th Annual Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, September 26-30, 2010, pages 1045–1048.
  • [Morency et al.2007] L Morency, Ariadna Quattoni, and Trevor Darrell. 2007. Latent-dynamic discriminative models for continuous gesture recognition. In Computer Vision and Pattern Recognition, 2007. CVPR’07. IEEE Conference on, pages 1–8. IEEE.
  • [Pang et al.2002] Bo Pang, Lillian Lee, and Shivakumar Vaithyanathan. 2002. Thumbs up?: sentiment classification using machine learning techniques. In Proceedings of the ACL-02 conference on Empirical methods in natural language processing-Volume 10, pages 79–86. Association for Computational Linguistics.
  • [Petrov and McDonald2012] Slav Petrov and Ryan McDonald. 2012. Overview of the 2012 shared task on parsing the web. In Notes of the First Workshop on Syntactic Analysis of Non-Canonical Language (SANCL), volume 59. Citeseer.
  • [Shannon1948] Claude Elwood Shannon. 1948. A mathematical theory of communication. ACM SIGMOBILE Mobile Computing and Communications Review, 5(1):3–55.
  • [Shannon1951] Claude E Shannon. 1951. Prediction and entropy of printed english. Bell system technical journal, 30(1):50–64.
  • [Socher et al.2013] Richard Socher, John Bauer, Christopher D Manning, and Andrew Y Ng. 2013. Parsing with compositional vector grammars. In In Proceedings of the ACL conference. Citeseer.
  • [Sutskever et al.2014] Ilya Sutskever, Oriol Vinyals, and Quoc VV Le. 2014. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems, pages 3104–3112.
  • [Vinyals et al.2014] Oriol Vinyals, Lukasz Kaiser, Terry Koo, Slav Petrov, Ilya Sutskever, and Geoffrey Hinton. 2014. Grammar as a foreign language. arXiv preprint arXiv:1412.7449.
  • [Weston et al.2015] Jason Weston, Antoine Bordes, Sumit Chopra, and Tomas Mikolov. 2015. Towards ai-complete question answering: A set of prerequisite toy tasks. arXiv preprint arXiv:1502.05698.

10 Appendix

Long-short Term Memory

LSTM model, first proposed in [Hochreiter and Schmidhuber1997], maps an input sequence to a fixed-sized vector by sequentially convoluting the current representation with the output representation of the previous step. LSTM associates each time epoch with an input, control and memory gate, and tries to minimize the impact of unrelated information. Letting , and correspond to gate states at time , and denote the output representation at time , and , denote the embedding associated with the token at time , as defined in [Hochreiter and Schmidhuber1997], we have



denotes the sigmoid function.

, and are scalars within the range of [0,1].