A subtask of Natural Language Processing that involves identifying and classifying specific, real-world objects (entities) mentioned in unstructured text into predefined categories like names, organizations, dates, and locations.
Teaching a computer to read a sentence and highlight the “who, what, where, and when.” If you feed it a news article, NER will automatically tag “Apple” as a Company, “Tim Cook” as a Person, and “Cupertino” as a Location.
NER transforms unstructured text into structured data. It typically uses sequence labeling models (like BiLSTM-CRF or fine-tuned Transformers like BERT) to assign a specific tag (e.g., B-PER, I-PER for Person) to every token in a sentence. It is a foundational step for building knowledge graphs and powering search engines.
A highly efficient legal assistant reading a 100-page contract and using three different colored highlighters to mark all the dates in yellow, all the people in pink, and all the monetary values in green.
# Conceptual: NER using spaCy
import spacy
# Load the English NLP model
nlp = spacy.load("en_core_web_sm")
text = "Alex Nubla founded the AI Dictionary in San Francisco on August 18, 2026."
doc = nlp(text)
for ent in doc.ents:
print(f"Entity: {ent.text} | Label: {ent.label_} | Description: {spacy.explain(ent.label_)}")
# Output:
# Entity: Alex Nubla | Label: PERSON
# Entity: San Francisco | Label: GPE (Geopolitical Entity)
# Entity: August 18, 2026 | Label: DATE