There is a sense in which MT, that dream of the 1950s, is now a reality, and there is a sense in which it works. It is a reality because there are commercial software houses selling MT programs and customers in the marketplace buying those programs. Current MT programs work in the following sense: some of the companies that use them save money on translation. They do not 'work' when that is taken to mean 'consistently produce translations from raw text that are indistinguishable from those produced by skilled human translators with unlimited time on their hands'. They all require either pre-editing of the input into some form they can accept, or post-editing to revise or replace the passages that they cannot handle, or both. However, translation by humans is a very expensive and time-consuming enterprise, and, in practice, it also invariably requires post-editing. Anything that speeds up the process and reduces the number of hours that a skilled translator or post-editor has to spend with the material stands a chance of saving money. One example of such a 'working' MT program is METEO, which has translated weather forecasts from English to French on a regular basis in Canada since 1977. More than three-quarters of what it translates is done correctly, without any intervention from human translators.
Another growing application of NLP research is in the field of natural language front ends to databases. A computer database is a store of information about some domain. Thus, a company might have a database listing all employees, their age, their current job, the date they were hired, the number of their office, their home address, the equipment they have at their disposal, the name of their immediate superior, and so on. Given such a store of information, a way of accessing it is needed, and, until recently, this has been done in one of two ways:
(1) The system interrogates you, the user, usually via a menu of options, to find out what you want to know, (2) You interrogate the system by asking it questions in a database query language (see Chapter 9 for an example).
The first strategy is simple and does not require that users have any special training or knowledge of the structure of the database. But it is slow and, more importantly, very inflexible. The second strategy is fast and flexible, but requires users to become familiar with the database and to learn a formal language that is usually as complex as a programming language. Programs that translate a (very restricted subset of a) natural language into a database query language are known as natural language front ends. They promise to provide the best of both strategies via the familiarity and flexibility of a natural language (see Chapter 9 which provides an example). A number of such front ends are now available commercially.
The future of MT depends, minimally, on the availability of formal grammars for both the source and target languages. Likewise, the spread of natural language front ends beyond the confines of the English-speaking world depends on the availability of grammars for languages other than English. In these circumstances, there is a need for computational tools that will permit people with some linguistic training to develop formal grammars for a range of different languages. The first generation of such tools has already emerged. They allow linguists to build up a large grammar gradually, testing the consequences of each rule as they go along, experimentally parsing test sentences, checking if the grammar correctly excludes ungrammatical strings, and examining the semantics to see what ambiguities, if any, have been detected, and what meanings have been assigned.
Even with such tools, a formal grammar for even a fragment of a natural language represents a massive investment of skilled labour. This cost could be radically reduced if grammars could be constructed in a largely automatic fashion on the basis of written texts; that is, by grammar acquisition programs. This is an area fraught with profound theoretical problems: under one idealization, it is possible to demonstrate mathematically that no such programs could ever achieve their goal. On the other hand, in at least one very circumscribed domain (numeral systems), there has been demonstrable progress. At the very least, we can soon expect to see the appearance of programs that induce the grammatical idiosyncrasies of particular words on the basis of large corpora. And if, as many theoretical linguists of different persuasions now suppose, languages differ much less in their syntax than they do in their lexicons, then there are some grounds for cautious optimism in this area.
Readers familiar with the current generation of word-processing software know that these indispensable devices allow you to issue commands, albeit usually in a very terse notation, that correspond to, for example, 'find all instances of competant' or 'copy lines 15 through 72 to another file'. But these programs do not allow you to issue commands like, for example, 'find all references to contemporary politicians' or 'copy all the material on Ireland to another file' or even 'correct all the misspellings'. And yet such instructions are routinely given to secretaries. However, even to correct spelling as intelligently as a human being, it is necessary to understand the meaning of the text, and sometimes understanding will be needed even to detect the misspelling in the first place. We can expect soon to see syntax-based spelling correctors replacing the word-based systems that are currently available. Spelling correctors based on a real understanding of the texts they work on are still, however, a long way off.
Explanation generation for expert systems is another area where NLP techniques are beginning to be applied. An expert system is a computer program that offers advice. It may assist or even replace a human expert. The advice itself may require almost nothing in the way of NLP; thus, a medical expert system for disease diagnosis might just produce the name of a disease, together with the probability that the patient has that disease. As this example may illustrate, however, humans are not, in general, satisfied merely with advice, no matter what degree of confidence they have in the expert - and with computerized experts, this may not be high. They want to know what the basis of the advice is; in other words, they want an explanation of how the expert arrived at the advice given. For any class of problems that are hard enough to make it worth constructing an expert system, there will typically be a vast number of bases for the advice given, and so an articulate expert system must be able to express itself in a correspondingly vast number of different ways. This makes the incorporation of potted scripts for each of the possible explanations quite impractical. The program needs to be able to synthesize a comprehensible explanation from scratch on the basis of the particular chain of inferences that led it to the advice it gave. To be able to do this, it needs to have a very good grasp of the syntax and semantics of the fragment of a natural language that will be used in its explanations. As expert systems become more common, explanation generation is becoming an increasingly important application area for NLP. Many of those working in the area of expert systems regard the explanation-giving facility as the key to public acceptance of expert systems. The explanations also have an educational value, of course - for junior doctors who consult an expert system for diagnostic purposes can learn from it in much the same way that they might learn from a consultant.
Send us a comment.