Book contents
- Frontmatter
- Contents
- Foreword
- Preface
- 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
- Afterword
- Bibliography
- Index
Preface
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Foreword
- Preface
- 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
- Afterword
- Bibliography
- Index
Summary
This book on applications of logic in the semantic analysis of language pays the reader the compliment of not assuming anything about what he or she knows (in particular, no specific logical knowledge or experience with programming is presupposed), while making very flattering assumptions about his or her intelligence and interest in the subject matter.
The method used throughout in the book is the pursuit of logical questions and implementation issues occasioned by concrete examples of formally defined language fragments. At first, no distinction is made between formal and natural language; in the first chapter it is explained why. At the end of the text the reader should have acquired enough knowledge and skills for the development of (at least the semantic part of) fairly serious Natural Language Processing applications. The reader who makes it to the end of the book will also find that he or she has acquired considerable programming skills, and will have learned how to put a wide variety of logical systems to use for natural language analysis.
Throughout the text, abstract concepts are linked to concrete representations in the functional programming language Haskell. Haskell is a language that is well suited for our purposes because it comes with a variety of very easy to use interpreters: Hugs, GHCi, and Helium. Haskell interpreters, compilers, and documentation are freely available from the Internet.
- Type
- Chapter
- Information
- Computational Semantics with Functional Programming , pp. xiii - xviPublisher: Cambridge University PressPrint publication year: 2010