349+xlvi pages, plus a
1.44 meg floppy
containing all programs in the book and Prolog Interpreters for DOS, Windows,
and Macintosh.
An Introductory book that shows how to encode Chomsky's
generative grammar into Prolog. It is aimed at an intelligent reader who knows
little or nothing about Chomsky's grammar and less about Prolog. For linguistic
tenderloins and computational greenhorns the book might bear the subtitle: Start
here.
If
you have any comments concerning the book, please let me know. In response to
readers, I have added several pages of backup materials to help those using it
in classes or
on their
own. If you have an interesting program, please send it to me. Perhaps we
can place it on this website.
Introductory Materials from the Book
Here is the Preface and Introduction to the book in Adobe
PDF format. You should install the Adobe PDF free software so you can read the
newspapers of the world: The NY Times, Le Monde, Der Spiegel,
and so on.
Chapters and Appendices
- Natural Intelligence, Linguistics, and Prolog.
- How to Read and Write in Prolog
- How to Load, Run, and Edit a Prolog Program
- Tables of Data as Prolog Facts and Relations
- How Prolog Backtracks in Searches
- The Canonical Form of a Prolog Relation
- Computational Tools for Language Processing
- Computational Tools for Sentence Processing
How to Use this Book: A Pictorial Essay
- Figure 1. Mice yield to NLP.
- Figure 2. A parser indicates the internal
structure of a string of sounds, morphemes, words, or phrases.
- Figure 3. Three necessary disks.
- Figure 4. A natural language parser is an intelligent machine.
- Figure 5. All programs in the book are
available on disk or by ftp.
- Figure 6. How to use the Prolog program files
on disk to follow the session files in this book.
- Figure 7. Three ways for a teacher to present
the materials to students: screen projection, overheads, blackboard.
- Figure 8. How to make overheads and
presentations from Figureures and tables on disk.
- Figure 9. A transparency projection setup for
faculty and students doing research and development.
- Figure 10. A New York University student
computer workstation.
- Figure 11. NLP Lotus Show disks.
- Figure 12. Presenting the NLP Lotus Show files on a big monitor.
1.0. Natural Intelligence, Linguistics, and Prolog.
1.1. The Information Society
1.2. An Old Theory of Computer Intelligence
1.3. A New Theory of Computer Intelligence
1.4. A Prolog Theory of Computer Intelligence
1.5. Why Study Linguistics and Prolog?
1.6. Natural Language Computing in Prolog
1.7. Artificial Intelligence Machines
2.0. How to Read and Write in Prolog
2.1. Six Characteristics of Prolog Programs
2.2. How to Read and Write in Prolog
2.3. Four Steps to Running a Prolog Program
- Figure 2.1. Three possible computer
configurations.
- Figure 2.2. The four steps of any Prolog
session.
- Figure2.3. The session (script) file is the
screen contents.
2.4. Running shareware Prolog on an IBM PC
3.0. How to Load, Run, and Edit a Prolog Program
3.1. The Prolog Interpreter and Workspace
- Figure 3.1. A functional view of the
Prolog workspace.
3.2. How to Load and Run a Prolog Program
- Figure 3.2. The form of Prolog problems,
solutions, and answers.
- Figure 3.3. The form of Prolog problems,
solutions, and answers.
- Figure 3.4. How Prolog seeks values of
A,B,C...I for which sqword is true.
- Figure 3.5. How Prolog seeks values of
A,B,C...I for which p0310 is true.
3.3. Running Prolog on an IBM PC
3.4. Modifying the Word Squares Program
3.5. The Edit-Prolog-Edit Loop
- Figure 3.6. The Edit-Prolg-Edit loop.
4.0. Tables of Data as Prolog Facts and Relations
- Figure 4.1. Representing tables in
Prolog.
4.1. Converting Tables into Facts and Relations
4.2. How to Extract Information from Tables
4.3. Variables in a Query
4.4. Variables in the Database
4.5. Tables with Holes: cut, fail, and an empty category
5.0. How Prolog Backtracks in Searches
- Figure 5.1. Representing a bibliography
in Prolog.
5.1. Information Retrieval: Bibliographic Searches
5.2. Searches with and without Backtracking
5.3. Backtracking Caused by Filters
- Figure 5.2. How search1 (A,B,C) works in
Session 5.1.
- Figure 5.3. How search4 (A,B,C) works in
Session 5.5.
- Figure 5.4. How search4 (A,B,C) works in
Session 5.5.
5.4. Bound and Unbound Variables
5.5. Bounded and Unbounded Variables
5.6. A Blunder Popular with Beginning Programmers
5.7. Report Generation: Formatting Output and write
6.0. The Canonical Form of a Prolog Relation
6.1. Some Irregular Verbs in English
6.2. The Six Modules of a Prolog Program
- Figure 6.1. The canonical form of a
Prolog relation.
6.3. The Bracketing of Logical Constituents
7.0. Computational Tools for Language Processing
7.1. The Levels of Human Language Structure
- Figure 7.1. The term "grammar"
is ambiguous.
- Figure 7.2. Levels of linguistic structure.
- Figure 7.3. A Prolog program defines each
level.
- Figure 7.4. A phrase marker is a linguistic
data structure.
- Figure 7.5. Four phrase markers for simple
sentences.
- Figure 7.6. The grammar is neutral between
perception and production.
- Figure 7.7. An overview of our interaction
with the computation model of the grammar.
7.2. Morphological Parsers
- Figure 7.8. Linguistic levels below the
word level.
- Figure 7.9. Three types of morphological
problems.
- Figure 7.10. In Prolog the orthographic and
morpheme levels are lists of (lists of (lists)).
- Figure 7.11. Prolog append is a three place
predicate.
- Figure 7.12. The relation among word, root,
and suffix.
- Figure 7.13. Two "append" statement
linked by "and."
- Figure 7.14. An ambiguous compound noun has
two structures.
7.3. Recursion: Affixes on the Affixes
- Figure 7.15. The relation "affix_all_1(word)."
- Figure 7.16. "Append" can
recursively remove affixes.
- Figure 7.17. "Append" recursively
removes prefixes and suffixes.
- Figure 7.18. A "tree search" diagram
on a complex word.
- Figure 7.19. Independent prefix and suffix
parsers in parallel.
- Figure 7.20. Left-branching versus
right-branching structures.
7.4. Regular and Irregular Morphology
- Figure 7.21. In the workspace, Prolog
uses only numbers.
- Figure 7.22. The Prolog data structures of the
"plural" relation.
7.5. The Minimalist Framework
- Figure 7.23. The non-procedural logic
minimalist theory.
- Figure 7.24. An analysis of ambiguity
following from combinatorial principles of morphology.
- Figure 7.25. An analysis of ambiguity
following from combinatorial principles of syntax.
8.0. Computational Tools for Sentence Processing
8.1. Syntax: Representations and Parsers
- Figure 8.1. A coordinate conjoined
compound sentence.
- Figureure Figure
8.2. A subordinate compound sentence structure.
- Figure 8.3. I-language assumes the grammar is
a cluster of Prolog parsers in parallel.
- Figure 8.4. The functional view of the
organization of universal grammar.
- Figure 8.5. How a Prolog parser builds
structure using the lexicon and "append" to define phrases and
sentences.
- Figure 8.6. The sources of language samples to
be fed to the parser.
8.2. Rule Governed Creativity: Derivations
- Figure 8.7. The relation "np(X) :-
det(A),n(B),append(A,B,X)."
- Figure 8.8. A "top-down" parser
searches for tokens of categories.
- Figure 8.9. A "bottom-up" parser
tags items lexically by category.
- Figure 8.10 The application of the recursion
principle.
8.3. Parsers Assign Structure to an Ordered String
- Figure 8.11. How g0806 assigns structure
in Session 8.5.
8.4. Top-Down and Bottom-Up Parsing
- Figure 8.12. A parser defines a pair
string,constituent_structure.
- Figure 8.13. The parser solves a puzzle in
combinatorics and geometry.
- Figure 8.14. Grammar defines the geometric and
combinatorial constraints of sentence construction.
- Figure 8.15. A Prolog parser functions like a
domino playing machine.
- Figure 8.16. Prolog backtracking is equivalent
to removing dominos from the board.
- Figure 8.17. Parallel Prolog parsing
strategies.
- Figure 8.18. The domino playing parser is
matching a string with a phrase marker.
- Figure 8.19. The Prolog interpreter joins the
pieces which are defined by the "append" relation.
- Figure 8.20. Linguistic research defines the
possible complexity of puzzle pieces.
8.5. Horizontal Appends: Complement Structures
- Figure 8.21. Phrase markers defined by
g0810 and g0811.
- Figure 8.22. Phrase markers defined by g08110
and g0811.
- Figure 8.23. "Horizontal appends"
define the head's arguments.
- Figure 8.24. "Vertical appends"
define the selection properties.
8.6. Vertical Appends: Selection Restrictions
- Figure 8.25. Lexical entries defined with
"append" relations.
- Figure 8.26. A phrase marker with some
complement and adjunct constructions labeled.
APPENDICES
I. The Disk Included with this Book
II. How to Access the New York University BBS
III. Flavor Files
IV. Looking into Prolog: listing, trace, and breakpont
REFERENCES
INDEX OF NAMES
INDEX