Skip to main content

An extension for spaCy, making pattern matching as flexible as using regular expressions.

Project description

spaCyEx

spacy ex logo

spaCyEx is a powerful extension for spaCy, designed to make pattern matching as flexible and easy as using regular expressions. It builds upon the existing capabilities of spaCy's Matcher, enhancing it with a more accessible syntax for defining complex patterns. spaCyEx allows for intuitive and detailed text pattern specifications, perfect for extracting detailed linguistic features from texts.

Installation

You can install spaCyEx via pip:

pip install spacyex

Features

  • Create complex matching patterns using a simple syntax.
  • Supports all dictionary properties that are used by spaCy's Matcher.
  • Easy integration with existing spaCy pipelines.

Usage

Here is a simple example to get started with spaCyEx:

import spacyex as se
import spacy

nlp = spacy.load("en_core_web_sm")
text = "John Smith runs fast, but Jacob Smith walks slowly."
pattern = "(ent_type=person|op={2}) (lemma=in[run,walk]) (pos=ADV)"

results = se.search(pattern, text, nlp)
for match in results:
    print(match[0].text, "Start:", match[1], "End:", match[2])

This code will match sequences in the text based on the defined pattern, using named entities, lemmas, and parts of speech.

Roadmap

  • Support for all dictionary properties in patterns.
  • Additional utilities and helper functions for more complex pattern scenarios.

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

spacyex-0.0.2.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

spacyex-0.0.2-py3-none-any.whl (2.9 kB view hashes)

Uploaded Python 3

Supported by

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