To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
If you wanted to make some money out of natural language processing, an appropriate strategy might be to identify an area of technology that was relatively mature—one where the more fundamental technical problems had been resolved through a significant amount of research activity—and then identify potential applications for that technology.
This paper presents modifications to a standard probabilistic context-free grammar that enable a predictive parser to avoid garden pathing without resorting to any ad-hoc heuristic repair. The resulting parser is shown to apply efficiently to both newspaper text and telephone conversations with complete coverage and excellent accuracy. The distribution over trees is peaked enough to allow the parser to find parses efficiently, even with the much larger search space resulting from overgeneration. Empirical results are provided for both Wall St. Journal and Switchboard test corpora.
We present an Augmented Template-Based approach to text realization that addresses the requirements of real-time, interactive systems such as a dialog system or an intelligent tutoring system. Template-based approaches are easier to implement and use than traditional approaches to text realization. They can also generate texts more quickly. However traditional template-based approaches with rigid templates are inflexible and difficult to reuse. Our approach augments traditional template-based approaches by adding several types of declarative control expressions and an attribute grammar-based mechanism for processing missing or inconsistent slot fillers. Therefore, augmented templates can be made more general than traditional ones, yielding templates that are more flexible and reusable across applications.
A principal aim of this journal is to bridge the gap between traditional computational linguistics research and the implementation of practical applications with potential real-world use. This new column aims to help with that bridge-building, by providing a window on to what is happening with speech and language technologies in the industrial and commercial worlds, and a discussion forum for topics of interest in the technology transfer space.
Most information systems that deal with natural language texts do not tolerate much deviation from their idealized and simplified model of language. Spoken dialog is notoriously ungrammatical, however. Because the MAREDI project focuses in particular on the automatic analysis of scripted dialogs, we needed to develop a robust capacity to analyze transcribed spoken language. This paper summarizes the current state of our work. It presents the main elements of our approach, which is based on exploiting surface markers as the best route to the semantics of the conversation modelled. We highlight the foundations of our particular conversational model, and give an overview of the MAREDI system. We then discuss its three key modules, a connectionist network to recognise speech acts, a robust syntactic analyzer, and a semantic analyzer.
We aim at finding the minimal set of fragments that achieves maximal parse accuracy in Data Oriented Parsing (DOP). Experiments with the Penn Wall Street Journal (WSJ) treebank show that counts of almost arbitrary fragments within parse trees are important, leading to improved parse accuracy over previous models tested on this treebank. We isolate a number of dependency relations which previous models neglect but which contribute to higher accuracy. We show that the history of statistical parsing models displays a tendency towards using more and larger fragments from training data.
The GEIG metric for quantifying the accuracy of parsing became influential through the Parseval programme, but many researchers have seen it as unsatisfactory. The Leaf-Ancestor (LA) metric, first developed in the 1980s, arguably comes closer to formalizing our intuitive concept of relative parse accuracy. We support this claim via an experiment that contrasts the performance of alternative metrics on the same body of automatically-parsed examples. The LA metric has the further virtue of providing straightforward indications of the location of parsing errors.
FOR SOME SPECIFIC domains and constraints for which no efficient solving methods exist or are known to exist specialised techniques have been developed. The aim of this chapter is to illustrate such techniques on a number of examples. In each case they amount to reducing a given CSP to a simpler one that is equivalent to the original one. Because in general from the resulting CSP one cannot immediately generate solutions to it, these methods amount in the terminology of Chapter 4 to incomplete constraint solvers. We define these incomplete constraint solvers using the proof theoretic framework introduced in Section 4.1, so by means of the proof rules that work on CSPs.
Ideally, we would like to use the general rules defined in Chapter 5. Unfortunately, this is easier said than done. Consider for example the HYPER-ARC CONSISTENCY rule of Section 5.3 that is clearly of interest, since given a constraint C on the variables x1, …, xk, it allows us to remove all ‘unneeded’ elements from the domains of the variables x1, …, xk. When the constraints are defined using a specific language, it is not clear how to compute the new variable domains that appear in the rule conclusion. So for each specific language we rather provide rules that are defined syntactically and consequently can be readily implemented.
IN THE PREVIOUS chapters we discussed various aspects of constraint programming. We did it by concentrating on the relevant ingredients of this programming style separately. In principle we could put them together using the general framework of Section 3.2. There are, however, other issues that naturally arise when one tries to incorporate these techniques in a programming language or system. In this chapter we shall discuss these matters and also shed light on the resulting programming style. At the same time we shall provide a short summary of various research topics currently pursued in constraint programming.
We discuss in turn the issues concerned with modeling (in Section 9.1), constraint programming languages (in Section 9.2), constraint propagation (in Section 9.3), constraint solvers (in Section 9.4), search (in Section 9.5) and over-constrained problems (in Section 9.6). Finally, at the end of the chapter, in the bibliographic remarks, we provide pointers to a number of useful surveys that should allow the reader to embark on research in constraint programming. As the final bibliography is just ‘next door’ we do not list the, rather extensive, list of references at the end of this chapter.
Modeling
Recall that in Chapter 1 we formulated the following principle:
Constraint programming is about a formulation of the problem as a constraint satisfaction problem and about solving it by means of domain specific or general methods.
THE AIM OF this chapter is to discuss various examples of constraint satisfaction problems (CSPs2 in short). The notion of a CSP is very general, so it is not surprising that these examples cover a wide range of topics. We limit ourselves here to the examples of CSPs that are simple to explain and that illustrate the use of general methods of constraint programming. In particular, we included here some perennial puzzles, since, as it has been recognised for some time, they form an excellent vehicle to explain certain principles of constraint programming.
As already mentioned in Chapter 1 the representation of a problem as a CSP is usually called modeling. The selected examples clarify a number of aspects of modeling. First, as we shall see, some of the problems can be formalised as a CSP in a straightforward way. For other problems the appropriate representation as a CSP is by no means straightforward and relies on a non-trivial ‘background’ theory that ensures correctness of the adopted representation. Also for several problems, more than one natural representation exists.
When presenting the CSPs it is useful to classify them according to some criterion. In general, the techniques used to solve CSPs depend both on the domains over which they are defined and on the syntax of the used constraints. In most examples we use some simple language to define the constraints. Later, in Chapters 4 and 6, we shall be more precise and shall discuss in detail specific languages in which the constraints will be defined.
IDEALLY, WE WOULD like to solve CSPs directly, by means of some efficient algorithm. But the definition of a CSP is extremely general, so, as already mentioned in Chapter 1, no universal efficient methods for solving them exist. Various general techniques were developed to solve CSPs and in the absence of efficient algorithms a combination of these techniques is a natural way to proceed.
In Chapter 3 we explained that the main idea is to reduce a given CSP to another one that is equivalent but easier to solve. This process is called constraint propagation and the algorithms that achieve this reduction are called constraint propagation algorithms. They are discussed in Chapter 7. These algorithms usually aim at reaching some form of ‘local consistency’. Several forms of local consistency have been defined but it is not clear how to provide a satisfactory formalisation of this notion. So we rather confine ourselves to a review of the most common types of local consistency. Informally, local consistency means that some subparts of the considered CSP are in a ‘desired form’, for example consistent.
To achieve a smooth transition between this chapter and Chapter 7, each time we introduce a notion of local consistency we also provide its characterisation. These characterisations are then used in Chapter 7 to generate the appropriate constraint propagation algorithms. They are based on the proof theoretic framework introduced in Section 4.1.
THIS BOOK IS about constraint programming, an alternative approach to programming which relies on a combination of techniques that deal with reasoning and computing. It has been successfully applied in a number of fields including molecular biology, electrical engineering, operations research and numerical analysis. The central notion is that of a constraint. Informally, a constraint on a sequence of variables is a relation on their domains. It can be viewed as a requirement that states which combinations of values from the variable domains are admitted. In turn, a constraint satisfaction problem consists of a finite set of constraints, each on a subsequence of a given sequence of variables.
To solve a given problem by means of constraint programming we first formulate it as a constraint satisfaction problem. To this end we
introduce some variables ranging over specific domains and constraints over these variables;
choose some language in which the constraints are expressed (usually a small subset of first-order logic).
This part of the problem solving is called modeling. In general, more than one representation of a problem as a constraint satisfaction problem exists. Then to solve the chosen representation we use either
domain specific methods,
or
general methods,
or a combination of both.
The domain specific methods are usually provided in the form of implementations special purpose algorithms.
THE ALGORITHMS THAT achieve local consistency are called constraint propagation algorithms. In the literature, perhaps to confuse newcomers entering the field, several other names have also been used. In fact, we found the following alternative names for these algorithms: consistency, local consistency, local propagation, consistency enforcing, Waltz, filtering and narrowing algorithms. The aim of this chapter is to discuss various constraint propagation algorithms. These algorithms form a crucial ingredient of the generic procedure Solve of Figure 3.1 from Section 3.2 that can be used to solve a given CSP.
Sometimes a CSP can already be solved solely by means of a constraint propagation algorithm. Examples are furnished by some of the results proved in Chapter 5, namely the Consistency 2 Theorem 5.48, the Directional Arc Consistency Theorem 5.49, and the Directional Path Consistency Theorem 5.50. Another example is provided by the crossword puzzle of Example 2.8. We saw at the end of Section 5.2 that the CSP that represents this puzzle can be solved by transforming it to an equivalent arc consistent CSP. So arc consistency turned out to be sufficient to find a solution to this CSP.
When introducing in Chapter 5 several local consistency notions we characterised them by means of proof rules of the proof theoretic framework of Section 4.1. Also in Chapter 6 we defined some incomplete constraint solvers using rules.
BY A constraint solver we mean any procedure that transforms a CSP into an equivalent one. In practice we are interested in efficient constraint solvers. In this book we distinguish between complete and incomplete constraint solvers.
Intuitively, a complete constraint solver transforms the initial CSP to one from which it is straightforward to generate all solutions to or to determine that no solution exists. Admittedly, this statement is imprecise. In the case of the solvers discussed in this chapter we shall make it precise by employing the notion of a solved form. Its definition depends on the type of constraints used.
We call a constraint solver that is not complete an incomplete constraint solver. Intuitively, such a constraint solver transforms the initial CSP into a simpler one, all solutions to which can be eventually found by a, possibly repeated, case analysis modeled by splitting. As such a repeated case analysis results in general in an exponential running time, we do not allow it to be a part of the constraint solvers.
For the incomplete solvers a natural question arises what they actually achieve. To clarify this issue we introduce various notions of local consistency. This explains the order of the chapters that follow. In this one we focus on some complete constraint solvers, in the next one on various notions of local consistency and in Chapter 6 we study a number of incomplete constraint solvers.
For a number of domains and constraints complete constraint solvers were developed. The aim of this chapter is to illustrate such solvers by means of three well-known examples.