An introduction to natural language processing with Python using spaCy, a leading Python natural language processing library.Natural Language Processing with Python and spaCy will show you how to create NLP applications like chatbots, text-condensing scripts, and order-processing tools quickly and easily. You'll learn how to leverage the spaCy library to extract meaning from text intelligently; how to determine the relationships between words in a sentence (syntactic dependency parsing); identify nouns, verbs, and other parts of speech (part-of-speech tagging); and sort proper nouns into categories like people, organizations, and locations (named entity recognizing). You'll even learn how to transform statements into questions to keep a conversation going.You'll also learn how ÌýÌýâ€�ÌýÌýWork with word vectors to mathematically find words with similar meanings (Chapter 5)ÌýÌýâ€�ÌýÌýIdentify patterns within data using spaCy's built-in displaCy visualizer (Chapter 7)ÌýÌýâ€�ÌýÌýAutomatically extract keywords from user input and store them in a relational database (Chapter 9)ÌýÌýâ€�ÌýÌýDeploy a chatbot app to interact with users over the internet (Chapter 11)"Try This" sections in each chapter encourage you to practice what you've learned by expanding the book's example scripts to handle a wider range of inputs, add error handling, and build professional-quality applications.By the end of the book, you'll be creating your own NLP applications with Python and spaCy.
To start I did receive this book from the publisher, but the thoughts and opinions of this book and it's contents are all my own
The Natural Language Toolkit is where you start to learn language processing, but spaCy is the final amazing step to take on your journey and this book will make that step easy. If you're looking to get the fastest language processing library up and running then this book is for you. If you aren't looking to do only that then this book is just cool to have, but might not be necessary. If you're ok with this then jump on into the wonderful world of NLP with spaCy. As this book is showing off a specific library and does so quite well, it is best for Students looking to expand what they might learn in a library like NLTK and Senior developers to hand to their staff if they choose spaCy as their go to library for natural language processing.
Readability : How easy would it be for someone to sit down with this book and finish it quickly.
Accuracy : How accurate is the information being given? Could you write every single line of code in this book and have the books answers match the code you wrote. Normally this is a -1 out of 10 per major mistake and per 4 minor mistakes the book makes
Subject : Does this book do what it wants to do and is what it wants to do good?
Bonus points: for books that provide outside resources. If the outside resources expand on the subject matter of the book then even more bonus points.
Readabiltiy : 7/10
This is the kind of book that you will sit down with and read using your computer. I was able to get through the book in 7 days reading through about 20 pages a day. You want to read through this book while doing the code that it shows you on your PC. This book is made to teach you how to use a single library, so it can only be so readable as it has to give a sizable section of its pages to writing code. The parts that go over the concepts of natural language processing (NLP) are written well and allow you to grasp what's going on behind the scenes. Unfortunately these parts are few and far between as this book is trying to teach you a library rather than just explain the concepts of NLP to you. It does do a very good job staying away from common sins within the code writing world by doing things like staying away from using individual letters within its code to describe variables.
Accuracy : 10/10
I didn't find any mistakes in the code or in the text and besides some environment issues on my end and I didn't find anything in this book difficult to do or overcome. Because this book involves machine learning the exact output of the code won't always be the same.
Subject : 7/10 This book does everything well as far as showing real applications for using this NLP library, the exploration of the library, and it's major components. This includes adding other libraries like Cython to improve the speed of spaCy and introduce you to coding in C. Because of the more native nature of spaCy it is the fastest possible library to use for natural language processing without having to go to other add-ons like cudos to max out your GPU's. The problem with the subject of this book is that it's niche even within the machine learning community. If you are looking to create an application in machine learning then considering this library is about the money you will save in processing vs the money you will spend in getting your developers to learn this library. If you're going into machine learning then this book can give you the edge in being considered a specialist within your company. The go to person for natural language processing and a potential leg up against other companies that might not be able to offer the same speed. Unfortunately that might not be enough to recommend this book to you depending on your situation and your companies needs. So, like in many books in code, take this information and use it based on your needs and the needs of those you intend to work for.
Bonus Points: +1 To the documentation: As this book is basically a better version of the introduction module that the documentation provides, it becomes a good lead in for the docs themselves.
This isn't in the book, but I have to give a shout out to this authors twitter: You will want to go to this authors twitter @VasilieYuli where he has been creating and posting articles about NLP and machine learning since he started mentioning this book to anyone. He currently has 13 articles written and a small collection of other neat information to look at for machine learning and natural language processing. This is a nice series to look at if you want to seriously expand this books potential as it goes over different places where you can pull data, find other NLP bots, and work with stock market information for your Machine learning projects.
This book was really helpful in learning how to make something useful with spaCy.
Would have been 5 stars, but Chapter 10 (making custom NER and Dependency Parser) is out-of-date. (Not the author's fault, spaCy's training workflow was reworked in 2021.) I used this to learn custom NER instead: I used a similar workflow to make a dependency parser.
I mean, it's a super niche topic and my English Lit. degree definitely helped, but to be honest, the topic is slightly more complicated than I would have thought and some of the examples later on get a bit messy with lots of logic checks that wouldn't catch all or even most edge cases of sentence structures. He does acknowledge this, but it might have been nice if there was a link to an actual production chatbot in a GitHub repo or even as an appendix.
I also can't help but feel that the fact Spacy essentially does all the parsing of syntactic tags for you kind of skips over a whole part of the process I thought would be interesting.