Skip to main content

Entity Recognition Parser for Swarmauri.

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_parser_entityrecognition


Swarmauri Parser Entityrecognition

Named-entity recognition (NER) parser for Swarmauri built on spaCy. Extracts entities (PERSON, ORG, GPE, etc.) from unstructured text and returns Document objects with entity metadata.

Features

  • Uses spaCy's en_core_web_sm model by default (downloads automatically if missing).
  • Falls back to a blank English pipeline with minimal regex-based tagging when the full model is unavailable (best-effort mode).
  • Emits Document instances containing the entity text and metadata (entity_type, entity_id).

Prerequisites

  • Python 3.10 or newer.
  • spaCy and its English model. The parser attempts to download en_core_web_sm if missing; set SPACY_HOME or pre-install the model in production deployments.
  • If running without internet access, install the model ahead of time: python -m spacy download en_core_web_sm.

Installation

# pip
pip install swarmauri_parser_entityrecognition

# poetry
poetry add swarmauri_parser_entityrecognition

# uv (pyproject-based projects)
uv add swarmauri_parser_entityrecognition

Quickstart

from swarmauri_parser_entityrecognition import EntityRecognitionParser

text = "Barack Obama was born in Hawaii and served as President of the United States."
parser = EntityRecognitionParser()
entities = parser.parse(text)

for entity_doc in entities:
    print(entity_doc.content, entity_doc.metadata["entity_type"])

Batch Processing

texts = [
    "Apple Inc. unveiled new MacBooks in California.",
    "Tim Cook met investors in New York City.",
]

parser = EntityRecognitionParser()
results = [parser.parse(t) for t in texts]

for doc_set in results:
    for doc in doc_set:
        print(doc.content, doc.metadata["entity_type"])

Handling Fallback Mode

When spaCy's English model is unavailable, the parser performs best-effort matching using a blank pipeline and simple regex patterns. Check for entity_type values and the entity_id metadata to understand which mode produced the result.

parser = EntityRecognitionParser()
entities = parser.parse("Tim Cook announced new products in New York City for Apple Inc.")
print([d.metadata for d in entities])

Install spaCy models before production use to avoid fallback accuracy losses.

Tips

  • For languages beyond English, load a different spaCy model by changing the initialization logic (e.g., subclass the parser and load es_core_news_sm).
  • Preprocess text to remove noise (HTML tags, markup) before parsing to improve NER accuracy.
  • Combine with Swarmauri middleware or pipelines to fuse entity data with downstream tasks (e.g., knowledge graph enrichment, anonymization).

Want to help?

If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file swarmauri_parser_entityrecognition-0.8.3.dev22.tar.gz.

File metadata

  • Download URL: swarmauri_parser_entityrecognition-0.8.3.dev22.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_parser_entityrecognition-0.8.3.dev22.tar.gz
Algorithm Hash digest
SHA256 4abe4cbc3ba8d38d1de319edaf5eb9f1fa1913853b853d1da88c3b2c0b4e47ab
MD5 9f1183b4adcbb2b3c9d8523ba1c2dfbc
BLAKE2b-256 c47c2d2a8a45408be3a3eba03aba369bf1309578bb98ff50e64766fe5256cb03

See more details on using hashes here.

File details

Details for the file swarmauri_parser_entityrecognition-0.8.3.dev22-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_parser_entityrecognition-0.8.3.dev22-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_parser_entityrecognition-0.8.3.dev22-py3-none-any.whl
Algorithm Hash digest
SHA256 efd02369e32fbe9cc3e8d85b4f834f46b3e40454638c2e28c9932fc685d42e4f
MD5 dfa21f15ffc3dbc8043313b9580d23ba
BLAKE2b-256 325015ac8799996b32e20f7c8c62cf9a1d9d728f5762b1d348c25b1a930850c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page