An Introduction to Natural Language Processing Through Prolog: 1st Edition (Paperback) book cover

An Introduction to Natural Language Processing Through Prolog

1st Edition

By Clive Matthews


318 pages

Purchasing Options:$ = USD
Paperback: 9780582066229
pub: 1998-07-10
SAVE ~$15.79
Hardback: 9781138167315
pub: 2017-02-24
SAVE ~$36.00

FREE Standard Shipping!


Research into Natural Language Processing - the use of computers to process language - has developed over the last couple of decades into one of the most vigorous and interesting areas of current work on language and communication. This book introduces the subject through the discussion and development of various computer programs which illustrate some of the basic concepts and techniques in the field. The programming language used is Prolog, which is especially well-suited for Natural Language Processing and those with little or no background in computing.

Following the general introduction, the first section of the book presents Prolog, and the following chapters illustrate how various Natural Language Processing programs may be written using this programming language. Since it is assumed that the reader has no previous experience in programming, great care is taken to provide a simple yet comprehensive introduction to Prolog. Due to the 'user friendly' nature of Prolog, simple yet effective programs may be written from an early stage. The reader is gradually introduced to various techniques for syntactic processing, ranging from Finite State Network recognisors to Chart parsers. An integral element of the book is the comprehensive set of exercises included in each chapter as a means of cementing the reader's understanding of each topic. Suggested answers are also provided.

An Introduction to Natural Language Processing Through Prolog is an excellent introduction to the subject for students of linguistics and computer science, and will be especially useful for those with no background in the subject.

Table of Contents


Part I: Introduction

1. Natural Language Processing

1.1 Natural Language Interfaces

1.2 The Linguistic Application of NLP

1.3 NLP as a Tool for Linguistic Research

1.4 Further Reading

2. The Challenge of Natural Language Processing

2.1 Knowledge of the Linguistic Structure

2.2 Ambiguity and Contextual Knowledge

2.3 The Process of Language Understanding

2.4 Psycholinguistics and NLP

2.5 Further Reading

Part II: The Fundamentals of Prolog Programming

3. Facts

3.1 Facts

3.2 Asking Simple Questions in Prolog

3.3 Compound Questions

3.4 Questions and Variables

3.5 Finding Alternative Answers: Backtracking

3.6 Using Variables in Facts

3.7 Further Reading

4. Rules and Complex Names

4.1 Rules

4.2 How Prolog Answers Questions Using Rules

4.3 Structured Objects

5. Lists and Recursive Structures

5.1 Lists

5.2 Recursive Rules

6. Developing Prolog Programs

6.1 The Meaning of Prolog Programs

6.2 Designing Programs

6.3 Laying Out Programs

6.4 Search Trees

6.5 Search Strategies

6.6 Tracing a Proof

6.7 Some Common Programming Errors

7. Built-In Predicates

7.1 Input and Output

7.2 fail

7.3 consult and reconsult

7.4 Modifying a Database

7.5 Defining Operators

7.6 The 'cut'

7.7 Program Listing

Part III: Natural Language Processing with Prolog

8. Sentence Recognition And Finite State Grammars

8.1 Sentence Frame Grammars

8.2 A Sentence Frame Grammar-based Recognisor

8.3 An Alternative Notation for Sentence Frame Grammars

8.4 An FSG-Based Recognisor

8.5 Extending The Range of Finite State Grammars

8.6 Further Reading

8.7 Program Listings

9. Recursive Transition Networks

9.1 Constituent Structure

9.2 Extending the Network Notation

9.3 An RTN-Based Recognisor

9.4 Implementing an RTN Recognisor in Prolog

9.5 Extending the RTN Notation

9.6 Further Reading

9.7 Program Listings

10. Phrase Structure Grammars

10.1 Phrase Structure Grammars

10.2 A Simple Phrase Structure Recognisor

10.3 Directly Representing Phrase Structure Grammars in Prolog

10.4 Efficiency

10.5 Difference Lists

10.6 The Grammar Rule Notation

10.7 Further Reading

10.8 Program Listings

11. Definite Clause Grammars

11.1 Grammar Symbols as Complex Terms

11.2 Procedure Calls

11.3 Further Reading

11.4 Program Listings

12. Alternative Parsing Strategies

12.1 A Top-Down Interpreter

12.2 Problems with Top-Down Parsing

12.3 A Bottom-Up Interpreter

12.4 A Left-Corner Interpreter

12.5 Deterministic Parsing

12.6 Chart Parsing

12.7 Further Reading

12.8 Program Listings

Solutions to Exercises

Glossary of Terms



About the Author

Clive Matthews is a lecturer in Linguistics at the University of East Anglia.

About the Series

Learning about Language

Learning about Language is an exciting and ambitious series of introductions to fundamental topics in language, linguistics and related areas. The books are designed for students of linguistics and those who are studying language as part of a wider course.

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
LANGUAGE ARTS & DISCIPLINES / Linguistics / General