A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/python/python-named-entity-recognition-ner-using-spacy/ below:

Python | Named Entity Recognition (NER) using spaCy

Python | Named Entity Recognition (NER) using spaCy

Last Updated : 12 Jul, 2025

Named Entity Recognition (NER) is used in Natural Language Processing (NLP) to identify and classify important information within unstructured text. These "named entities" include proper nouns like people, organizations, locations and other meaningful categories such as dates, monetary values and products. By tagging these entities, we can transform raw text into structured data that can be analyzed, indexed or used in applications.

Representation of Named Entity Recognition Use of spaCy in NER

spaCy is efficient in NLP tasks and is available in Python. It offers:

Implementation of NER using spaCy

Here is the step by step procedure to do NER using spaCy:

1. Install spaCy

We will download spaCy. We will use en_core_web_sm model which is used for english and is a lightweight model that includes pre-trained word vectors and an NER component. spaCy supports various entity types including:

A full list of entity types can be found in the spaCy documentation.

!pip install spacy
!python - m spacy download en_core_web_sm

The following code demonstrates how to perform NER using spaCy:

Python
import spacy
nlp = spacy.load('en_core_web_sm')
sentence = "Why Apple is looking at buying U.K. startup for $1 billion ?"
doc = nlp(sentence)

for ent in doc.ents:
    print(ent.text, ent.start_char, ent.end_char, ent.label_)

Output:

Apple 4 9 ORG
U.K. 31 35 GPE
$1 billion 48 58 MONEY

Here Apple is classified as an Organization (ORG), U.K. as a Geopolitical Entity (GPE) and $1 billion as Money (MONEY).

3. Effect of Case Sensitivity

Here we examine how capitalization affects entity recognition. Lowercasing an entity name may prevent it from being recognized correctly.

Python
sentence = "Why apple is now looking at buying U.K. startup for $1 billion ?"
doc = nlp(sentence)

for ent in doc.ents:
    print(ent.text, ent.start_char, ent.end_char, ent.label_)

Output:

U.K. 35 39 GPE
$1 billion 52 62 MONEY

Since "apple" is in lowercase it is no longer recognised as an organization.

4. Customizing Named Entity Recognition

Here we manually add a new named entity to spaCy's output. This technique is useful when you want to recognize specific terms that are not in the pre-trained model.

Python
from spacy.tokens import Span
doc = nlp("Tesla is planning to launch a new product.")

custom_label = "ORG"
doc.ents = (Span(doc, 0, 1, label=custom_label),)

for ent in doc.ents:
    print(ent.text, ent.label_)


Output:

Tesla ORG

Here "Tesla" was manually added as an organization. In a full NER training setup you can retrain the model using annotated datasets.

Named Entity Recognition (NER) is an essential tool for extracting valuable insights from unstructured text for better automation and analysis across industries. spaCy’s flexible capabilities allow developers to quickly implement and customize entity recognition for specific applications. It also offers an efficient and scalable solution for handling named entity recognition in real-world text processing.

You can download source code from here.



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4