Natural Language Processing with Python
This book offers a highly accessible introduction to Natural Language Processing, the field that underpins a variety of language technologies, ranging from predictive text and email filtering to automatic summarization and translation. With Natural Language Processing with Python, you'll learn how tNatural Language processing with PythonNatural Language Processingwith PythonSteven Bird, Ewan Klein, and edward Loper○ REILLY°Beijing· Cambridge· Farnham·Koln· Sebastopol· apel· TokyoNatural Language processing with pythonby Steven Bird, Ewan Klein, and Edward LoperCopyright o 2009 Steven Bird, Ewan Klein, and Edward Loper. All rights reservedPrinted in the United States of americaPublished by O Reilly Media, Inc, 1005 Gravenstein Highway North, Sebastopol, CA 95472O'Reilly books may be purchased for educational, business, or sales promotional use. Online editionsarealsoavailableformosttitles(http://my.safaribooksonline.com).Formoreinformationcontactourcorporate/institutionalsalesdepartment(800)998-9938orcorporate@oreilly.comEditor: Julie SteeleIndexer: Ellen Troutman ZaigProduction editor: Loranah DimantCover Designer: Karen montgomeryCopyeditor: Genevieve d'EntremontInterior Designer David FutatoProofreader: Loranah DimantIllustrator: Robert romanoPrinting History:June 2009First editionNutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks ofO'Reilly Media, Inc. Natural Language Processing with Python, the image of a right whale, and relatedtrade dress are trademarks of O'Reilly Media, IncMany of the designations used by manufacturers and sellers to distinguish their products are claimed astrademarks. Where those designations appear in this book, and O Reilly media, Inc was aware of atrademark claim, the designations have been printed in caps or initial capsWhile every precaution has been taken in the preparation of this book, the publisher and authors assumeno responsibility for errors or omissions, or for damages resulting from the use of the information con-tained hereinISBN:978-0-596-51649-91244726609Table of contentsPreface1. Language Processing and Python1.1 Computing with Language: Texts and Words1.2 A Closer Look at Python: Texts as Lists of words1.3 Computing with Language: Simple Statistics161.4 Back to Python: Making Decisions and Taking Control221.5 Automatic Natural Language Understanding1. 6 Summar331.7 FurtherReading341. 8 Exercises352. Accessing Text Corpora and Lexical resources392.1 Accessing Text Corpora392.2 Conditional Frequency Distributions22.3 More Python: Reusing Code562.4 Lexical resources592.5 WordNet672.6 Summary2.7 Further reading732. 8 Exercises743. Processing Raw Text∴……3.1 Accessing Text from the Web and from Disk803.2 Strings: Text Processing at the Lowest Level3.3 Text Processing with Unicode3.4 Regular Expressions for Detecting Word Patterns3.5 Useful Applications of reExpressions1023.6 Normalizing Text1073.7 Regular Expressions for Tokenizing text1093.8 Segmentation1123.9 Formatting: from Lists to strings1163.10 Summary1213.11 Further reading1223.12 Exercises1234. Writing Structured Programs1294.1 Back to the basics1304.2 Sequences1334.3 Questions of Style1384.4 Functions: The Foundation of Structured Programming1424.5 Doing more with Functions1494.6 Program Development1544.7 Algorithm Design1604.8 A Sample of Python Libraries1674.9 Summary4.10 Further Reading1734.11 Exercises1735. Categorizing and Tagging Words1795.1 USing a Tagger1795.2 Tagged Corpora1815.3 Mapping Words to Properties Using Python Dictionaries1895.4 Automatic Tagging1985.5 N-Gram Tagging2025.6 Transformation-Based Tagging2085.7 How to Determine the Category of a Word2105. 8 Summary2135. 9 Further reading2145.10 Exercises2156. Learning to Classify Text2216. 1 Supervised classification2216.2 Further Examples of Supervised Classification2336.3 Evaluation2376. 4 Decision trees2426.5 Naive Bayes Classifiers2456.6 Maximum Entropy classifiers2506.7 Modeling linguistic Patterns2546. 8 Summary2566. 9 Further reading2566.10 Exercises2577. Extracting Information from Text2617. 1 Information extraction261ⅵ i Table of Contents7.2 Chunking2647.3 Developing and Evaluating Chunkers2707.4 Recursion in Linguistic structure2777.5 Named Entity recognition2817. 6 Relation extraction2847.7 Summary2857. 8 Further Readin2867.9 Exercises2868. Analyzing sentence structure...................... 2918. 1 Some grammatical Dilemmas2928.2 What's the Use of syntax2958. 3 Context-Free grammar2988.4 Parsing with Context-Free Grammar3028.5 Dependencies and Dependency grammar3108.6 Grammar Development3158. 7 Summary3218. 8 Further Reading3228.9 Exercises9. Building Feature-Based Grammars................... 3279. 1 Grammatical features3279.2 Processing feature structures379.3 Extending a Feature-Based grammar3449. 4 Summary3569.5 Further Reading3579.6 Exercises35810. Analyzing the meaning of sentences...................3610. 1 Natural Language Understanding36110.2 Propositional logic36810.3 First-Order logic37210.4 The Semantics of English Sentences3850.5 Discourse semantics39710.6 Summary40210.7 Further reading40310.8 Exercises40411. Managing Linguistic Data11.1 Corpus Structure: A Case Study40711.2 The Life Cycle of a Corpus41211.3 Acquiring data41611.4 Working with XML425Table of contents|ⅶi11.5 Working with Toolbox Data43111.6 Describing Language Resources Using OLAC Metadata43511.7 Summary43711. 8 Further reading43711.9 Exercises438Afterword The language challenge......................441Bibliography…nLTK Index459General Index,,,,,,463ⅶ ii Table of Contents
用户评论