Files
semantica/docs/cookbook/introduction/Entity_Extraction.ipynb
T

3.4 KiB

Entity Extraction

Overview

This notebook demonstrates how to extract named entities from text using Semantica's NER modules. You'll learn to use NERExtractor and NamedEntityRecognizer to identify entities in text.

Learning Objectives

  • Use NERExtractor to extract entities from text
  • Use NamedEntityRecognizer for advanced entity recognition
  • Understand entity types and confidence scores
  • Extract entities from multiple documents

Step 1: Basic Entity Extraction

Extract entities using NERExtractor.

In [ ]:
from semantica.semantic_extract import NERExtractor

ner_extractor = NERExtractor()

text = "Apple Inc. is a technology company founded by Steve Jobs in Cupertino, California in 1976."

entities = ner_extractor.extract(text)

print(f"Extracted {len(entities)} entities:")
for entity in entities[:5]:
    entity_text = entity.get('text', entity.get('entity', ''))
    entity_type = entity.get('type', 'Unknown')
    print(f"  - {entity_text} ({entity_type})")

Step 2: Advanced Entity Recognition

Use NamedEntityRecognizer for more control.

In [ ]:
from semantica.semantic_extract import NamedEntityRecognizer

named_entity_recognizer = NamedEntityRecognizer()

texts = [
    "Tim Cook is the CEO of Apple Inc.",
    "Microsoft Corporation is headquartered in Redmond, Washington.",
    "Amazon was founded by Jeff Bezos in 1994."
]

all_entities = []
for text in texts:
    entities = named_entity_recognizer.extract_entities(text)
    all_entities.extend(entities)
    print(f"Text: {text[:40]}...")
    print(f"  Entities: {len(entities)}")
    for entity in entities[:3]:
        print(f"    - {entity.get('text', entity.get('entity', ''))} ({entity.get('type', 'Unknown')})")
    print()

Summary

You've learned how to extract entities from text:

  • NERExtractor: Basic entity extraction
  • NamedEntityRecognizer: Advanced entity recognition with multiple models

Next: Learn how to extract relationships in the Relation_Extraction notebook.