NER is typically framed as a sequence labeling task: each token gets a label like B-PER (beginning of person name), I-PER (inside person name), O (not an entity). The BIO tagging scheme handles multi-word entities: "New" gets B-LOC, "York" gets I-LOC. Fine-tuned BERT models are the standard for high-accuracy NER, though spaCy's built-in NER is popular for quick, good-enough extraction.
General NER models handle common entity types (person, org, location, date). Domain-specific applications need custom types: medical NER extracts drugs, symptoms, and dosages. Legal NER extracts case numbers, statutes, and parties. Financial NER extracts ticker symbols, financial metrics, and regulatory references. These require domain-specific training data, which is expensive to annotate but dramatically improves extraction quality in specialized contexts.
LLMs can perform NER through prompting: "Extract all person names and organizations from this text and return as JSON." This is slower and more expensive than dedicated NER models but handles novel entity types without training data and works across languages out of the box. For production systems processing millions of documents, dedicated models win on cost. For ad-hoc extraction or uncommon entity types, LLMs win on flexibility.