- Up -
Next >>
Table of Contents
Table of Contents
1 Finite State Automata
1.1 Finite State Recognizers and Generators
1.1.1 A Simple Machine that can laugh
1.1.2 Finite State Automata
1.2 Some Examples
1.3 Deterministic vs. Non-deterministic FSAs
1.4 FSAs in PROLOG
1.4.1 Representing FSAs in PROLOG
1.4.2 A Recognizer and Generator for FSAs without Jump Arcs
1.4.3 A Recognizer and Generator for FSAs with Jump Arcs
1.5 Finite State Methods in Computational Linguistics and their Limitations
1.6 The Programs
1.7 Practical Session
1.8 Exercises
1.9 Further Reading
2 Finite State Parsers and Transducers
2.1 Building Structure while Recognizing
2.1.1 Finite State Parsers
2.1.2 Separating out the Lexicon
2.2 Finite State Transducers
2.2.1 What are Finite State Transducers?
2.2.2 FSTs in Prolog
2.3 Morphological Analysis with Finite State Transducers
2.4 The Complete Programs
2.5 Practical Session
2.6 Exercises
2.7 Further Reading
3 Finite State Methods in Natural Language Processing
3.1 Morphology
3.2 Morphological Parsing
3.2.1 From the Surface to the Intermediate Form
3.2.2 From the Intermediate Form to the Morphological Structure
3.2.3 Combining the two Transducers
3.2.4 Putting it in Prolog
3.3 Regular Languages and Relations
3.4 Further Reading
4 Recursive Transition Networks (RTNs)
4.1 From FSAs to RTNs
4.2 A Closer Look
4.2.1 Stacks
4.2.2 Stacks and RTNs
4.2.3 An Example
4.3 Theoretical Remarks
4.4 Putting it in Prolog
4.5 Exercises
5 RTN transducers and ATNs
5.1 Using RTNs as transducers
5.1.1 Two examples
5.1.2 Handling RTN transducers in Prolog
5.2 Augmented Transition Networks (ATNs)
5.2.1 A first ATN: adding registers
5.2.2 A second ATN: adding tests
5.2.3 Shortcomings of ATNS
5.3 Concluding remarks
5.4 Exercises
6 Definite Clause Grammars
6.1 Review of DCGs
6.1.1 DCGs are a natural notation for context free grammars
6.1.2 DCGs are really syntactic sugar for difference lists
6.1.3 DCGs give us a natural notation for features
6.2 DCGs for Long Distance Dependencies
6.2.1 Relative Clauses
6.2.2 A First DCG
6.2.3 A Second DCG
6.2.4 Gap Threading
6.2.5 Questions
6.3 Pros and Cons of DCGs
6.4 Exercises
7 Bottom Up Parsing
7.1 Context Free Grammars
7.1.1 The Basics
7.1.2 The Tree Admissibility Interpretation
7.1.3 A Little Grammar of English
7.2 Bottom Up Parsing and Recognition
7.3 Putting it in Prolog
7.4 How Well Have we Done?
7.4.1 Implementation
7.4.2 Algorithmic Problems
7.5 The Code
7.6 Practical Session
7.7 Exercises
8 Top Down Parsing
8.1 Introduction
8.2 Top Down Parsing
8.2.1 With Depth First Search
8.2.2 With Breadth First Search
8.3 Top Down Recognition in Prolog
8.4 Top Down Parsing in Prolog
8.5 The Code
8.6 Practical Session
8.7 Exercises
9 Using Bottom Up and Top Down Information for Parsing
9.1 Left-Corner Parsing
9.1.1 Going Wrong with Top-down Parsing
9.1.2 Going Wrong with Bottom-up Parsing
9.1.3 Combining Top-down and Bottom-up Information
9.2 A Left-Corner Recognizer in Prolog
9.3 Using Left-corner Tables
9.4 The Code
9.5 Practical Session
9.6 Exercises
9.7 Further Reading
10 Passive Chart Parsing
10.1 Motivation
10.2 A bottom-up recognizer using a passive chart
10.3 Some Prolog Revision
10.3.1 Database manipulation
10.3.2 Failure Driven Loops
10.4 Putting it in Prolog
10.5 The Code
11 Bottom-up Active Chart Parsing
11.1 Active Edges
11.2 The Fundamental Rule
11.3 Using an Agenda
11.4 A General Algorithm for Active Chart Parsing
11.5 Bottom-up Active Chart Parsing
11.6 Putting it into Prolog
11.7 The Code
12 Top-down Active Chart Parsing
12.1 Adapting the general algorithm
12.1.1 Top-down rule selection
12.1.2 Initializing Chart and Agenda
12.2 An Example
12.3 Putting it into Prolog
12.4 The Code
13 Feature Structures
13.1 Agreement
13.2 Feature Structures
13.3 Comparing Feature Structures: Subsumption
13.4 Feature Structure Unification
13.5 Feature Structures in Prolog
13.5.1 Representing Feature Structures in Prolog
13.5.2 Implementing feature structure unification
13.5.3 Subsumption in Prolog
13.6 The Code
13.7 Exercises
14 Parsing Feature-based Grammars
14.1 Feature-based Grammars
14.2 Parsing Feature-based Grammars
14.2.1 The Fundamental Rule
14.2.2 Bottom-up Chart Parsing with Feature Based Grammars
14.3 Putting it in Prolog
14.3.1 Feature-based Grammars in Prolog
14.3.2 Parsing Feature-based Grammars in Prolog
14.4 The Code
15 Natural Language Generation -- A Top-down Generator
15.1 Parsing vs. Generation
15.2 A Top-down Generator
15.2.1 First Try
15.2.2 Second Try
15.3 Putting it in Prolog
15.4 Code
15.5 Further Reading
Bibliography
- Up -
Next >>
Patrick Blackburn
and
Kristina Striegnitz
Version 1.2.4 (20020829)