MTR menu
overview
previous page    next page
British Computer Society's coat of arms British Computer Society
Natural Language Translation
Specialist Group

URL: http://www.bcs-mt.org.uk/
WEB PAGE 10
Machine Translation Review
No. 2, October 1995.   ISSN: 1358-8346
http://www.bcs-mt.org.uk/mtreview/2/10.htm

 
Book Reviews
 
String Processing and Text Manipulation in C
Bernice Sacks Lipkin (1994)
Prentice Hall. (Sbk) £27.50. ISBN 0-13-121443-8.
 
Reviewer: David Wigg
 
This book satisfies the apparent American criteria for quantity. It has 433 pages of closely packed information in an A5 format and a thirteen-page index.
 
Of the seven chapters, the first is a very useful review of the basic concepts of C which actually takes more than its fair share of the book — 78 pages. The book assumes a general knowledge of programming, and although it disclaims any pretence of being a general text for the C language or grammar, its coverage is comprehensive, not being confined to just text processing.
 
Chapter Two plunges into a detailed analysis of text data, referred to as strings — how these are declared, defined, and loaded into preset or dynamic storage where they can be processed.
 
The next chapter explores the use of pointers in text processing and explains some of the finer points of C syntax and semantics. Lots of detailed examples are provided.
 
Chapter Four starts to introduce application-oriented functions such as the 'setbreak' utility and 'bitmapping' functions which the newcomer to C may be forgiven for thinking are part of the C language. In fact, the author has slipped into describing particular functions 'transcribed' from a particular text processing system called TXT and written in another language called SAIL.
 
The fifth chapter reverts to some in-depth analysis of techniques for storing and handling text data in two-dimensional arrays, as in tables.
 
Chapter Six introduces the theory and practice of structures and linked lists in C. It shows how they can be implemented for text processing, as always, with numerous examples.
 
The final chapter concentrates on a set of loosely defined functions for processing individual strings, said to be a selection taken from TXT; these are also on the disk supplied with the book. In fact all the examples of programs shown in the text are on the disk and the few that I tried worked correctly.
 
I think this book would be most useful for inexperienced programmers who find some of C's features, such as pointers, difficult to use. At the same time they may have to spend some time going through the numerous examples in order to find the ones they want. Experienced C programmers, on the other hand, would probably soon lose interest in the text, but they might be interested in picking up the coded functions supplied on the disk; these are described in considerable detail in the text and should be reasonably easy to tailor for one's own use.
 
To summarize, this is a rather long text for the subject matter, but some beginners and some experienced programmers might just find what they are looking for here. My advice is to have a good look at it first before paying the asking price.

 
 
Computational Linguistics — a Handbook and Toolbox for Natural Language Processing
A. M. McEnery (1992)
Wilmslow: Sigma Press. Paperback. £14.95. 263 pages. ISBN 1-85058-247-5.
 
Reviewer: Derek Lewis
 
This book has been written with clear aims: to present in an accessible style some of the principles of NLP; to provide examples of working systems; to enable the reader to implement some of these systems on a standard basic PC; and to encourage the reader to embark on further research and to experiment by writing his own application programs.
 
The book begins by explaining the nature and scope of computational linguistics: concerned on the one hand with linguistic theory and on the other with the practical requirements of implementing commercial language processing systems, the discipline faces in two opposite directions — what the author calls the Janus Principle. The core fields of speech processing and text processing (which includes machine translation) are reviewed in terms of their main concerns and their typical application areas. The author divides approaches to computational linguistics into cognitive (holistic) and probabilistic (reductionist) ones. While the first approach tries to model language in terms of how the whole human mind perceives and handles information, the second concentrates on simulating individual language phenomena by using statistical processing techniques to achieve specific goals. The distinction is partially mirrored by the difference between declarative and procedural programming languages: to illustrate this, the author contrasts the operation of a short backtracking PROLOG programme with a routine written in C.
 
Starting out from the principles of information theory, the author describes a simple algorithm for calculating the statistical probability and information content of an event. Transferring these principles to language, he outlines the operation of Markov models and transition probabilities; there is a detailed exposition of how such models operate for individual words, based on a 'database' of two short sample sentences. The explanatory approach and the presentation of the process for setting up tables of probabilities for words are excellent. But the more interesting procedure for deciding what syntactic functions a word can have in syntagmatic relationships may not be so transparent to the lay reader. The data presented in illustrative tables would benefit greatly from more explanation for those unfamiliar with statistical methods: one transition item appears twice for no apparent reason, and it is unclear how the sum of probabilities is arrived at (page 53). The copy editing could have been improved: there is, for instance, some confusion between the terms digrams, diagrams and equations (pages 50–51). Nevertheless, the reader can gain a general idea of how Markov models operate.
 
Markov models are used extensively in the Lancaster University-based UCREL project. UCREL (Unit for Computer Research on the English Language) was established to provide automatic grammatical tagging of the one million word Lancaster-Oslo-Bergen (LOB) corpus of English texts. Various versions of the CLAWS (Constituent-Likelihood Automatic Word-Tagging System) software system, which incorporates a Markov model, were used to carry out the tagging. Most recently UCREL has concentrated on using a stochastic Markov-based syntactic parser (developed from the LOB corpus) to support an acoustic speech processing system: the idea is that the parser resolves ambiguities in spoken input that the acoustic component (which is also Markov-based) is unable to by itself. The book gives a detailed account of the some of the processes and problems involved in operating a probabilistic tagging mechanism. Although CLAWS tags individual words only, some progress has been made towards developing a Constituent Likelihood Grammar that arranges tagged words into structural units, or phrases, between word and sentence level.
 
As an example of a cognitive parsing mechanism, the book describes the operation of a small Augmented Transition Network written in PROLOG. A simple knowledge base in which objects and properties are arranged as linked attribute-value sets is also presented. Maintaining his balance between theoretical research and practical considerations, the author points out that, despite the relative ease with which such grammars can be written in PROLOG, the language is inefficient in terms of memory requirements and processing speed, especially for large applications.
 
Two large application systems, both implemented in PROLOG, are presented in some detail. The first is 'The Schoolboy' — an extensive database of verb forms which has been used in teaching environments to illustrate various aspects of linguistic systems design, including the principles of morphological analysis and lexicon construction. The second system is the Hierophant Project (1984–89). The object of this project was to implement a natural language querying system for accessing and returning responses from a database of social security information. The developers considered three methods for producing anglicized output: super slot attributes, semantic attributes, and an ATN frame grammar. They finally chose the frame technique, which uses pattern matching to see if an input sentence matches a predefined 'frame' or structural template. Natural language output is also derived from the progressive selection of appropriate frames: a so-called application-sensitive corpus-based approach is used to set up a sub-grammar of frames that are finely tuned to the characteristics of the corpus. The author goes to considerable pains to explain how the system works, although the material can become rather technical on occasion, as the following sentence shows: 'The savings would be gleaned from the system as there would be no need to find the real value after it has been ascertained that it is not the target value, as the mechanics of objects only able to inherit a single item in a slot will give that information implicitly in combination with logic, thus the data item may be deduced as a virtual item' (page 148). The developers of Hierophant were especially concerned with providing informative output in natural language form: the author has some particularly interesting observations on the communicative aspect of language-based interaction between the computer and the human being.
 
The final section discusses the so-called Bench-Capon and McEnery (BCM) Hypothesis, which warns against regarding interpersonal linguistic interaction between human beings as a model for building computerized natural language interfaces. According to the BCM the user should not be lured into pretending he is interacting with another human being but acknowledge that the computer is a medium or channel of intercourse like many others. Drawing on insights from intensional linguistics and pragmatics theory, the author maintains that such an awareness would help avoid misunderstandings and errors on the part of the human user and enable appropriate codes of communication to be developed.. The BCM Hypothesis is contrasted with the Barlow, Rada and Diaper Antithesis, which regards the (inanimate) computer as an equal interlocutor in the user's mind operating on the same communicative level.
 
In conclusion, this book is impressive for its range of coverage and its attempt to integrate the theory of linguistic communication with programming practice. The appendices contain listings of the systems presented. The book should most certainly act as a stimulus for its reader to explore the field further.

 
 
An Introduction to Machine Translation, London
W. John Hutchins and Harold L. Somers (1992)
Academic Press. Hardback. £19.95. 362 pages. ISBN 0-12-362830-X.
 
Reviewer: Catharine Scott
 
As the authors of this book state in their introductory chapter, Machine Translation is an interesting combination of a number of disciplines, drawing on such diverse subjects as linguistics, computer science, artificial intelligence, and translation theory. It also consists of an unusual combination of an abstract, theoretical, highly technical side and a commercial side. Thus the field of MT has seen a number of real life, implemented systems which correspond in some cases very closely to a theoretical model and in other cases considerably less so. The two authors embody these two contrasting aspects: John Hutchins is well known and highly respected throughout the world of MT for his knowledge of the history of the subject and for his overview of current systems; Harold Somers enjoys a similar reputation as a result of the leading-edge practical and theoretical work that he conducts at UMIST. This book is the result of their combined skills and knowledge of the subject.
 
It seems to me that this eighteen-chapter volume goes considerably beyond its modest title of an introduction to the subject: in my own experience of using it as a textbook for a final year undergraduate module in MT, it comes as close as any to being the complete textbook for the course, and as such has no direct competitor in the field. The first three chapters provide the essential underpinnings of the subject for total beginners: a general context and a brief history; an introduction to the linguistic background; followed by an introduction to the computational background.
 
Each chapter introduces itself with some useful comments to help the reader find his way around the topic: for example, suggestions as to who might not need to read the chapter, or which bits the more experienced reader might wish to skip; and each chapter is completed by a short section on further reading, which is a nice way of saying, 'well, if you did not find what you were hoping for in our book, here are some other places you could look for it.' The authors provide an interesting mix of factual information and opinion in these sections, an informal note which contrasts agreeably with some of the drier, technical sections.
 
The next group of chapters, numbers four through to nine, cover the various theoretical approaches and break down the theory of MT into digestible chunks. There is a chapter on basic strategies (Chapter Four), followed by one each on analysis (Five) and generation (Seven); Chapter Six discusses the problems of transfer and interlingua. As a general rule the authors use examples extensively, drawing from a good selection of familiar European and less familiar language groups; this approach is highly effective in fleshing out the points being made. Each chapter can be read in its entirety or can be tackled in parts by less experienced readers, who are encouraged to feel they can return to grapple with a more difficult point at a second attempt. Chapter Eight offers an account of the practical uses of MT systems and covers issues which will be much more familiar to translators. This is followed by a chapter on the evaluation of MT systems, which is the final part of the general material in the book.
 
The next eight chapters of the book provides a more detailed account of MT systems. These are in turn: Systran, SUSY, Meteo, Ariane (GETA), Eurotra, Metal, Rosetta, and DLT. At the time of writing (1992) these chapters present an up-to-date description of both the commercial and the research aspects of major recent work in MT; they further provide both a counter-balance and some illustration to the preceding chapters of the book. Each system is placed in its historical context; an account is provided of the particular features and technical methods used and each report offers a section of summary, conclusions and discussion, which makes no apology for its subjective commentary. These are very useful for the newcomer. each chapter has the usual excellent suggestions on further reading for those interested in looking in more detail.
 
The final chapter looks to the future, acknowledging that contemporary MT research offers a confusing picture. The concluding comments apply not only to that chapter, but in fact to the whole book. The enthusiasm of the authors for their subject comes over here as throughout the volume.
 
I would happily recommend this book, both for the kind of undergraduate introductory course where students have to come to terms very quickly with the unfamiliar terminology and theory of Machine Translation, and also to the interested layperson, who is setting out to explore what the subject encompasses. I find the informal approach and language in parts makes the complexity of some of the material much easier to absorb, and I cannot think that I have come across a more thorough introduction to any other subject at such a reasonable price. It is almost within the purchasing capacity of a student!