Natural Language Processing with Python and over 2 million other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
Trade in Yours
For a 7.75 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Natural Language Processing with Python on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Natural Language Processing with Python [Paperback]

Steven Bird , Ewan Klein , Edward Loper
4.8 out of 5 stars  See all reviews (4 customer reviews)
RRP: 34.50
Price: 22.42 & FREE Delivery in the UK. Details
You Save: 12.08 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 6 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Friday, 25 April? Choose Express delivery at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition 16.43  
Paperback 22.42  
Amazon.co.uk Trade-In Store
Did you know you can use your mobile to trade in your unwanted books for an Amazon.co.uk Gift Card to spend on the things you want? Visit the Books Trade-In Store for more details or check out the Trade-In Amazon Mobile App Guidelines on how to trade in using a smartphone. Learn more.

Book Description

10 July 2009 0596516495 978-0596516499 1

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.

Frequently Bought Together

Natural Language Processing with Python + Python Text Processing with NLTK 2.0 Cookbook
Buy the selected items together


Product details

  • Paperback: 504 pages
  • Publisher: O'Reilly Media; 1 edition (10 July 2009)
  • Language: English
  • ISBN-10: 0596516495
  • ISBN-13: 978-0596516499
  • Product Dimensions: 23.4 x 17.5 x 3 cm
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: 139,001 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

Book Description

Analyzing Text with the Natural Language Toolkit

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.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:


Customer Reviews

3 star
0
2 star
0
1 star
0
4.8 out of 5 stars
4.8 out of 5 stars
Most Helpful Customer Reviews
19 of 20 people found the following review helpful
Format:Paperback
Natural Language Processing with Python has to have one of the most intimidating pre-ambles of any book I've picked up. Not only does it set out to cover Natural Language Processing, using the author's own Natural Language Toolkit (NLTK) as the teaching tool, but also teach the basics of Python and good programming techniques. After reading this I put the book aside for a day while I lay down in a darkened room to gather my strength!
Having now worked my way through the book, lets take a look at how well it stands up to it's claims. Bad news first. The coverage of Python really didn't work for me, though I admit that this may be due to my background as a procedural rather than object oriented programmer. Without additional Python resources I was seriously struggling so if you are a complete Python and OO neophyte like me then I would strongly suggest working through either a good Python book or one of the many online tutorials before you attempt to tackle Natural Language Processing with Python. The other main problem was the amount of information that the book tries to cover. I found it helpful to scan read the book to get it into some sort of order in my mind before reading it any depth.

If I do have any other criticism of Natural Language Processing with Python, it's probably that it could probably be more accurately titled something like "Natural Language Toolkit: The Missing Manual".

Right that's the bad news out of the way, now for the good. The actual coverage of NLTK and, to a slightly lesser degree, natural language processing is excellent. The theme of the book is very pragmatic and task centred, so if you have a specific problem in mind which you feel needs a natural language approach then this book could well be the answer to your prayers.
Read more ›
Comment | 
Was this review helpful to you?
1 of 1 people found the following review helpful
5.0 out of 5 stars Useful for the Practical Teaching of NLP/CL 29 Sep 2013
Format:Paperback
I'm using this book as one of several references for a lecture course in Information Extraction & Big Data I teach at the University of Zurich. Python is easy, concise, and has a lot of libraries, three criteria for making it a good choice for teaching, and the author's NLTK is the library of choice for education in computational linguistics and natural language processing. The book covers a wide range of topics at the beginner's level, and the tandem approach of book + open source software gives the students a "hands on" feeling that they cannot get from introductory textbook alternatives (e.g. Manning/Schütze or Jurafsky/Martin), which therefore supplement rather than substitute "NLP with Python" by Bird et al. Invaluable from a teaching perspective is also that the NLTK software package upon download installs standard datasets, which are useful to the student even without NLTK

The chapters on information extraction, parsing, semantics and managing linguistic data go beyond typical text mining books that only teach bag-of-word approaches and statistical sequence tagging in that logical/propositional semantics and discourse are covered from context-free grammars for parsing sentences to Discourse Representation Theory with lambda calculus for handling the composition of sentence semantics to discourse units, and dealing with the scope of quantifiers. The application of analyzing meaning is shown in a chapter on a toy database, which can be queried in natural language.

Two areas that would be nice to cover in future editions are statistical parsing and statistical machine translation.
Read more ›
Comment | 
Was this review helpful to you?
5.0 out of 5 stars Great for students 17 Mar 2014
By Y
Format:Paperback|Verified Purchase
I have been using this book to help me with my final year project on text mining in a Computer Science course, and I love it! It was overwhelming at first because I was brand new to Python and natural language processing, but after I learnt a bit more about the topics the book became very helpful for me and I use it almost every day at the moment.
Comment | 
Was this review helpful to you?
5.0 out of 5 stars Good introduction book 19 Jan 2012
Format:Paperback|Verified Purchase
Very good book to introduce Language engineering. Strats by assuming no programming knowledge and ramps up easily. Later chapters are a bit hard and require more provate study but on the whole very recommended to have book for Lang Engineering
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.0 out of 5 stars  26 reviews
104 of 109 people found the following review helpful
4.0 out of 5 stars Heavy on code, somewhat light on theory 19 July 2009
By calvinnme - Published on Amazon.com
Format:Paperback
This book really delivers when it comes to code. It starts with simple tasks using the Python NLTK (Natural Language Toolkit) and builds up from there, teaching you a little bit of Python, a little bit of NLP theory, and delivering much in the way of useful applications. The author takes the time to explain the code and what is going on behind the scenes. He starts with extracting explicit words from documents and builds on that until at the end of the book you are analyzing sentence structure and building feature-based grammars.

This is not, however, an introduction to either the mathematics or information theory of natural language processing. It is not even a tutorial on Python. The book's sole purpose is to help you solve real problems using a common language without necessarily understanding the theory or the language you are using. If you really want to understand Python I suggest Learning Python. It's not as interestng as this book, but it gets the job done. To understand the theory behind natural language processing and also see how algorithms are coded up I suggest An Introduction to Language Processing with Perl and Prolog: An Outline of Theories, Implementation, and Application with Special Consideration of English, French, and German (Cognitive Technologies).

As for this book, I think it makes a great supplement to the other books I mention and also as a recipe book of solutions to real-world problems. I really don't think it is a gentle introduction to Speech and Language Processing (2nd Edition) (Prentice Hall Series in Artificial Intelligence), as it claims to be in the preface. Currently the table of contents is not listed in the product description. I include that next for your convenience:

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

NLTK is a Python library that offers many standard NLP tools (tokenizers, POS taggers, parsers, chunkers and others). It comes with samples of several dozens of text corpora typically used in NLP applications, as well as with interfaces to dictionary-like resources such as WordNet and VerbNet. No FrameNet, though. NLTK is well documented, so you might not need this book initially. However, it definitely helps to have it on your desk if you are serious about using NLTK.

The first chapters are a bit messy, as they attempt to introduce all three themes (NLP, NLTK and Python) together. Beginners may have some difficulty sorting things out. By the time you reach the WordNet section, you either got lost in the forest, realize that you would never understand this topic without the book, or both. However, if you are a bit patient and try out all simple code examples, you'll make it eventually. In my opinion, NLTK remains the simplest, most elegant and well rounded library of its kind.
15 of 15 people found the following review helpful
4.0 out of 5 stars Suitable for NLP people interested in learning Python and NLTK 28 Aug 2009
By Eli Bendersky - Published on Amazon.com
Format:Paperback
There are three kinds of people who might think this book could be useful:

1. Natural language processing (NLP) researchers and students who want a learn a solid programming tool to help them with their work.
2. Python programmers who want to find out more about NLP.
3. Newbies in both Python and NLP who just think the topic sounds cool and those whales on the cover are kinda cute.

In my opinion, the only kind that will find this book suitable and useful is (1). If you're familiar with Python and know no NLP it won't help you much, because it doesn't really teach NLP. It shows a few domains of this vast field, with nice code examples and all, but you should probably start with some introductory textbook on the subject or a course. You won't really learn NLP here.

The book's focus is mostly on the NLTK library written in Python by the authors. This library implements many NLP algorithms and comes with lots of data for testing and training. Almost no algorithms are implemented in the book - some are explained, and the code always imports the required modules from NLTK and shows their usage. The Python code is well-written and clean.

To conclude, if you're a NLP researcher or student, this is a very good book to read. Especially if you plan to start working with NLTK (which seems like a mature and powerful tool) - this book will serve as a great introduction. If you have other interests, this is probably not the right book.
18 of 20 people found the following review helpful
5.0 out of 5 stars Excellent intro to NLP 18 July 2009
By P. H. Adams - Published on Amazon.com
Format:Paperback
Excellent introduction to the field of Natural Language Processing. I've been using the Natural Language Toolkit, the Python library explained in this book, for about two years and have seen it continually improve and become more robust. I eagerly awaited this text, which I first learned about over a year ago, and I must say the wait was worth it. Although most useful for those with a background in computer science or linguistics, it's a fairly gentle introduction to the field, so anyone with interest in the subject should find it useful and easy to understand. Stephen, Ewan, and Edward have done an excellent job of explaining language technologies and associated algorithmic functions for analyzing text.
9 of 9 people found the following review helpful
3.0 out of 5 stars For an experienced programmer, not so helpful 17 Jan 2011
By John Brady - Published on Amazon.com
Format:Paperback
Natural Language Processing with Python is an extended tutorial using the Natural Language Toolkit (NLTK) Python library to explore Natural Language Processing (NLP) concepts. It's probably best suited for readers who already have a background in NLP but who want to learn Python/NLTK; approaching the text as an experienced programmer curious about NLP, I found it disappointing.

The authors start out well, quickly establishing a working environment and providing code examples using the NLTK library; note that you'll need Python 2.x as NLTK is not yet ported to Python 3. The library provides extensive test data and the exercises can be completed without errors.

Very early on, though, I found myself asking "why am I doing this?" as I completed a code sample. As an example, it's very nice that the NLTK library can display a dispersion plot, but what does this really tell me about the data, and more importantly, why do I need to know that? Assuming that my lack of NLP background was the problem, I continued on, only to have the text jump to a discussion of Python functions and lists. By the third chapter, I had lost interest.

I plan to review some of the background materials suggested by the authors in the "Further Reading" sections and possibly return to this book if time permits. For now it remains mostly unread, as the alternating NLP/Python discussions just weren't helpful to fully grasp either topic.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews
ARRAY(0xa89b81d4)

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category


Feedback