Installing and Getting Started with spaCy for NLP

Introduction to spaCy and its Installation

In the field of Natural Language Processing (NLP), spaCy reigns supreme as one of the most popular libraries. It is designed specifically for large-scale information extraction tasks, providing robust implementations for a range of NLP tasks like tokenization, part-of-speech tagging, named entity recognition, and many more.

To get started with spaCy, you need to install the library on your device. You can install spaCy by running the following pip command in your terminal or command prompt:

pip install -U spacy

If the metacharacter ! works in your development environment (such as Jupyter notebooks), you can alternatively use:

!pip install -U spacy

Additionally, we need to download a model to perform NLP tasks with spaCy. For this lesson, we will be using en_core_web_sm, a small English language model for spaCy. This command should be executed at the terminal/command prompt.

!python -m spacy download en_core_web_sm

Loading the English Model

Once we have spaCy and the English language model installed, we can load the model into our Python environment to start using it. Although spaCy provides larger models with more capabilities, we are using a smaller model for our aims because it is quicker to download and requires less memory.

Check out the following code block that imports the spacy library and loads the English language model.

import spacy
nlp = spacy.load('en_core_web_sm')

The nlp object is now a language model capable of performing several NLP tasks.

Process a Text Using spaCy

In this section, we'll dive into how we can use the loaded spaCy model to analyze some text. When we process a piece of text with the model, several operations occur. First, the text is tokenized, or split up into individual words or symbols called tokens. Then, the model performs a range of annotation steps, using statistical models to make predictions about each token - for instance, whether a token is a named entity, or what part of speech a word is.

In this basic example, we're mainly interested in the tokenization process. Let's give it a try:

doc = nlp("I am learning Natural Language Processing with spaCy")
for token in doc:
    print(token.text)

The output of the above code will be:

I
am
learning
Natural
Language
Processing
with
spaCy

This code takes the string "I am learning Natural Language Processing with spaCy", processes it through the NLP pipeline, and then iterates through the resultant doc object, printing out the text of each token. Under the hood, spaCy is tokenizing the string for us.

Sign up

Join the 1M+ learners on CodeSignal

Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal