Preface
1.Language Processing and Python
1.1 Computing with Language: Texts and Words
1.2 A Closer Look at Python: Texts as Lists of Words
1.3 Computing with Language: Simple Statistics
1.4 Back to Python: Making Decisions and Taking Control
1.5 Automatic Natural Language Understanding
1.6 Summary
1.7 Further Reading
1.8 Exercises
2.Accessing Text Corpora and Lexical Resources
2.1 Accessing Text Corpora
2.2 Conditional Frequency Distributions
2.3 More Python: Reusing Code
2.4 Lexical Resources
2.5 WordNet
2.6 Summary
2.7 Further Reading
2.8 Exercises
3.Processing Raw Text
3.1 Accessing Text from the Web and from Disk
3.2 Strings: Text Processing at the Lowest Level
3.3 Text Processing with Unicode
3.4 Regular Expressions for Detecting Word Patterns
3.5 Useful Applications of Regular Expressions
3.6 Normalizing Text
3.7 Regular Expressions for Tokenizing Text
3.8 Segmentation
3.9 Formatting: From Lists to Strings
3.10 Summary
3.11 Further Reading
3.12 Exercises
4.Writing Structured Programs
4.1 Back to the Basics
4.2 Sequences
4.3 Questions of Style
4.4 Functions: The Foundation of Structured Programming
4.5 Doing More with Functions
4.6 Program Development
4.7 Algorithm Design
4.8 A Sample of Python Libraries
4.9 Summary
4.10 Further Reading
4.11 Exercises
5.Categorizing andTagging Words
5.1 Using a Tagger
5.2 Tagged Corpora
5.3 Mapping Words to Properties Using Python Dictionaries
5.4 Automatic Tagging
5.5 N-Gram Tagging
5.6 Transformation-Based Tagging
5.7 How to Determine the Category of a Word
5.8 Summary
5.9 Further Reading
5.10 Exercises
6.Learning to Classify Text
6.1 Supervised Classification
6.2 Further Examples of Supervised Classification
6.3 Evaluation
6.4 Decision Trees
6.5 Naive Bayes Classifiers
6.6 Maximum Entropy Classifiers
6.7 Modeling Linguistic Patterns
6.8 Summary
6.9 Further Reading
6.10 Exercises
7.Extracting Information from Text
7.1 Information Extraction
7.2 Chunking
7.3 Developing and Evaluating Chunkers
7.4 Recursion in Linguistic Structure
7.5 Named Entity Recognition
7.6 Relation Extraction
7.7 Summary
7.8 Further Reading
7.9 Exercises
8.Analyzing Sentence Structure
8.1 Some Grammatical Dilemmas
8.2 What''s the Use of Syntax?
8.3 Context-Free Grammar
8.4 Parsing with Context-Free Grammar
8.5 Dependencies and Dependency Grammar
8.6 Grammar Development
8.7 Summary
8.8 Further Reading
8.9 Exercises
9.Building Feature-Based Grammars
9.1 Grammatical Features
9.2 Processing Feature Structures
9.3 Extending a Feature-Based Grammar
9.4 Summary
9.5 Further Reading
9.6 Exercises
10.Analyzing the Meaning of Sentences
10.1 Natural Language Understanding
10.2 Propositional Logic
10.3 First-Order Logic
10.4 The Semantics of English Sentences
10.5 Discourse Semantics
10.6 Summary
10.7 Further Reading
10.8 Exercises
11.Managing Linguistic Data
11.1 Corpus Structure: A Case Study
11.2 The Life Cycle of a Corpus
11.3 Acquiring Data
11.4 Working with XML
11.5 Working with Toolbox Data
11.6 Describing Language Resources Using OLAC Metadata
11.7 Summary
11.8 Further Reading
11.9 Exercises
Afterword: The Language Challenge
Bibliography
NLTK Index
General Index