Computational semantics is the art and science of computing meaning in natural language. The meaning of a sentence is derived from the meanings of the individual words in it, and this process can be made so precise that it can be implemented on a computer. Designed for students of linguistics, computer science, logic and philosophy, this comprehensive text shows how to compute meaning using the functional programming language Haskell. It deals with both denotational meaning (where meaning comes from knowing the conditions of truth in situations), and operational meaning (where meaning is an instruction for performing cognitive action). Including a discussion of recent developments in logic, it will be invaluable to linguistics students wanting to apply logic to their studies, logic students wishing to learn how their subject can be applied to linguistics, and functional programmers interested in natural language processing as a new application area.
• Assumes no previous knowledge or experience of programming • All formal definitions are implemented as computer programs so that they can be executed and checked on a computer • Each chapter includes exercises and implementation challenges to enable the reader to put into practice what they have learnt
1. Formal study of natural language; 2. Lambda calculus, types and functional programming; 3. Functional programming with Haskell; 4. Formal syntax for fragments; 5. Formal semantics for fragments; 6. Model checking with predicate logic; 7. The composition of meaning in natural language; 8. Extension and intension; 9. Parsing; 10. Handling relations and scoping; 11. Continuation passing style semantics; 12. Discourse representation and context; 13. Communication as informative action.
'This remarkable textbook teaches you the know-how to become an active participant in this rapidly evolving interdisciplinary field.' Johan van Benthem, University of Amsterdam and Stanford University
'This book is a major contribution to computational semantics. The authors provide important insights into a wide range of current issues in semantic theory, setting a very high standard for work in computational semantics.' Shalom Lappin, King's College, London
'The authors do an excellent job of exploring the connections between functional programming and Montague-style formal semantics for natural language. Anyone interested in logic-based computational semantics will learn something from this book.' Stephen Pulman, University of Oxford