Synopses & Reviews
This book offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. With it, you'll learn how to write Python programs that work with large collections of unstructured text. You'll access richly annotated datasets using a comprehensive range of linguistic data structures, and you'll understand the main algorithms for analyzing the content and structure of written communication.
Packed with examples and exercises, Natural Language Processing with Python will help you:
- Extract information from unstructured text, either to guess the topic or identify "named entities"
- Analyze linguistic structure in text, including parsing and semantic analysis
- Access popular linguistic databases, including WordNet and treebanks
- Integrate techniques drawn from fields as diverse as linguistics and artificial intelligence
This book will help you gain practical skills in natural language processing using the Python programming language and the Natural Language Toolkit (NLTK) open source library. If you're interested in developing web applications, analyzing multilingual news sources, or documenting endangered languages -- or if you're simply curious to have a programmer's perspective on how human language works -- you'll find Natural Language Processing with Python
both fascinating and immensely useful.
This book offers a complete introduction to the key technology used in web search engines, predictive text, and more. Natural Language Processing is the computer manipulation of human language, a technology that interests a wide range of people, from programmers to academics. With this book, you'll not only learn how concepts from Natural Language Processing and linguistics are used to describe and analyze language, you'll also learn how to write simple programs to manipulate and analyze language data using the Python programming language -- whether or not you already know how to program. Natural Language Processing with Python introduces the Natural Language Toolkit (NLTK) open source library, and contains hundreds of fully-worked examples and exercises for using it. Perfect for individual study or as a textbook on Natural Language Processing or computational linguistics, this book also teaches the basics of Python in a way that's understandable for beginners as well as experienced programmers new to the language.
This book offers a complete introduction to natural language processing, the key technology used in Web search engines, predictive text, and more.
About the Author
Steven Bird is Associate Professor in the Department of Computer Science and Software Engineering at the University of Melbourne, and Senior Research Associate in the Linguistic Data Consortium at the University of Pennsylvania. He completed a PhD on computational phonology at the University of Edinburgh in 1990, supervised by Ewan Klein. He later moved to Cameroon to conduct linguistic fieldwork on the Grassfields Bantu languages under the auspices of the Summer Institute of Linguistics. More recently, he spent several years as Associate Director of the Linguistic Data Consortium where he led an R&D team to create models and tools for large databases of annotated text. At Melbourne University, he established a language technology research group and has taught at all levels of the undergraduate computer science curriculum. In 2009, Steven is President of the Association for Computational Linguistics.
Ewan Klein is Professor of Language Technology in the School of Informatics at the University of Edinburgh. He completed a PhD on formal semantics at the University of Cambridge in 1978. After some years working at the Universities of Sussex and Newcastle upon Tyne, Ewan took up a teaching position at Edinburgh. He was involved in the establishment of Edinburgh's Language Technology Group in 1993, and has been closely associated with it ever since. From 2000-2002, he took leave from the University to act as Research Manager for the Edinburgh-based Natural Language Research Group of Edify Corporation, Santa Clara, and was responsible for spoken dialogue processing. Ewan is a past President of the European Chapter of the Association for Computational Linguistics and was a founding member and Coordinator of the European Network of Excellence in Human Language Technologies (ELSNET).
Edward Loper has recently completed a PhD on machine learning for natural language processing at the the University of Pennsylvania. Edward was a student in Steven's graduate course on computational linguistics in the fall of 2000, and went on to be a TA and share in the development of NLTK. In addition to NLTK, he has helped develop two packages for documenting and testing Python software, epydoc, and doctest.
Table of Contents
- Chapter 1: Language Processing and Python
- Chapter 2: Accessing Text Corpora and Lexical Resources
- Chapter 3: Processing Raw Text
- Chapter 4: Writing Structured Programs
- Chapter 5: Categorizing and Tagging Words
- Chapter 6: Learning to Classify Text
- Chapter 7: Extracting Information from Text
- Chapter 8: Analyzing Sentence Structure
- Chapter 9: Building Feature-Based Grammars
- Chapter 10: Analyzing the Meaning of Sentences
- Chapter 11: Managing Linguistic Data
- Afterword: The Language Challenge
- NLTK Index
- General Index