Skip to main content

No project description provided

Project description

Neon Transformers

About

Utterance Transformers

A utterance transformer takes utterances and a context as input, then returns the modified utterances and a new context

context is simply a python dictionary, it can contain anything

utterances is a list of transcription candidates, assumed to be a single utterance not a list of unrelated documents!

A transformer might change the utterances or simply return them unmodified with a context

eg.

  • The translator transformer will detect language and translate as necessary, it returns modified utterances
  • the NER transformer return unmodified utterances and the context contains extracted entities

Transformers may also depend on other transformers

from neon_utterance_KeyBERT_plugin import KeyBERTExtractor
from neon_utterance_wn_entailment_plugin import WordNetEntailments

# depends on keywords being tagged by a prev transformer
entail = WordNetEntailments()

kbert = KeyBERTExtractor()  # or RAKE or YAKE ...

utts = ["The man was snoring very loudly"]
_, context = kbert.transform(utts)
_, context = entail.transform(utts, context)
print(context)
# {'entailments': ['exhale', 'inhale', 'sleep']}

mycroft integration

Usage with mycroft-core is limited to skills, it is useful for fallback and common_qa skills

You can import individual transformers directly in skills

neon integration

neon-core integrate the neon_transformers service in the nlp pipeline transparently

  • neon_transformers are integrated into mycroft after STT but before Intent parsing
  • all enabled transformer plugins (mycroft.conf) are loaded
  • each plugin has a priority that the developer sets and the user can override (mycroft.conf)
  • utterances are passed to each transformer sequentially
    • utterances are replaced with the text returned by a transformer
    • if utterances are transformed, the next transformer receives the transformed utterances
    • context is merged with context returned by previous transformer
  • the transformed utterances are passed to the intent stage
  • context is available in message.context for skills during intent handling
    • skills can add transformers to their requirements.txt
    • for compatibility with vanilla mycroft-core skills should handle message.context as optional data
    • if a certain transformer is absolutely necessary, load it directly if message.context is missing data

ovos-core integration

WIP - not available

Audio Transformers

TODO

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

neon_transformers-0.2.1a1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file neon_transformers-0.2.1a1-py3-none-any.whl.

File metadata

File hashes

Hashes for neon_transformers-0.2.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 02c28d5f72e343066ff38b154ae868eac5afb3c62fa9d103880f303ee3e3952c
MD5 8f136e48f592e29068ec56513fa8ffa0
BLAKE2b-256 aac327f2b94b6d9606a0499831b4af4a4d148d4183fabcfe1971086e43761221

See more details on using hashes here.

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