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 Distribution

neon_transformers-1.0.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

Details for the file neon_transformers-1.0.0.tar.gz.

File metadata

  • Download URL: neon_transformers-1.0.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for neon_transformers-1.0.0.tar.gz
Algorithm Hash digest
SHA256 12aa944216551155f8853f8b57a07ac13be17358d1bbe68d26938031b28961f6
MD5 1427c291ff498b612084396085b583cf
BLAKE2b-256 c1993e0753011df8847e977f271807c7a9d2a95fadfd773d8fb6d2695bc6a28f

See more details on using hashes here.

File details

Details for the file neon_transformers-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for neon_transformers-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 210ee645f9e64b148c3d7c1a13aaa1976e3b040b7fd28bc3fb6c0653a5bb37fa
MD5 accb4d25d015fa52fa7a6efa5ca26bc9
BLAKE2b-256 1da2147abbb602ff66e29f29a3d472ecef2e9d84e86a0c5237f2e9916502f969

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