Instructions to use OpenVoiceOS/ovos-m2v-intents-en with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Model2Vec
How to use OpenVoiceOS/ovos-m2v-intents-en with Model2Vec:
from model2vec import StaticModel model = StaticModel.from_pretrained("OpenVoiceOS/ovos-m2v-intents-en") - Notebooks
- Google Colab
- Kaggle
OVOS intent classifier, English
A static-embedding intent classifier for OpenVoiceOS, fitted on the English
slice of the corpus. It maps an utterance to one of 209 intent labels of the
form <skill_id>:<intent_name>, exactly as the OVOS m2v pipeline registers them
at runtime.
At 16.1 MB it is about a fifth the size of the multilingual model and scores within 0.1 accuracy points of it on English held-out accuracy. It is not the OVOS m2v pipeline's default model, though: see "Trade-offs" below before choosing it over ovos-m2v-intents-multilingual, which is the pipeline default for every language, including English.
The base is minishlab/potion-base-8M (MIT). Inference is a vector lookup and an average, so it runs on a CPU with no neural network at inference time.
Use
from model2vec.inference import StaticModelPipeline
model = StaticModelPipeline.from_pretrained("OpenVoiceOS/ovos-m2v-intents-en")
model.predict(["turn off the kitchen light"])
Evaluation
On the English held-out split of 7504 rows, accuracy is 0.9923 and weighted F1 is 0.9915.
The corpus also carries golden rows: utterances taken from the end-to-end test corpora the skills ship themselves, which are the closest thing in the data to what a user actually says. On the 117 English golden rows in the held-out split, accuracy is 0.9145.
Trade-offs
Held-out accuracy (0.9923) is close to ovos-m2v-intents-multilingual's English accuracy (0.9933), but end-to-end dispatch testing found this model ranks paraphrases worse in prototype mode: utterances that are simple rewordings of a training example (e.g. "lights on now" against prototypes trained on "turn on the lights") are more likely to be scored below a correct-but-more-distant candidate. The multilingual model does not show this weakness on the same cases.
For that reason this model is not wired in as the OVOS m2v pipeline's
default for any language, English included; the pipeline defaults to
ovos-m2v-intents-multilingual everywhere and only loads this model when a
deployment selects it explicitly (model or models["en"] config). Pick it
when the 16 MB footprint matters more than paraphrase-ranking accuracy —
for example on constrained hardware serving English only in classifier
mode, where the ranking weakness is less exposed than in prototype mode.
How it was built
The corpus comes from the reproducible dataset pipeline in
ovos-m2v-pipeline at commit
173c1fe. Every source is pinned to an immutable revision, so the build is
repeatable: train/build_dataset.py resolves the sources, normalises and
deduplicates them, drops labels the pinned skill revisions do not attest, and
writes a stratified 80/20 split together with a manifest.
The build behind this model produced 284,687 rows over 210 labels and 54
locales. Its manifest hashes to
c6831002352fe59ed2a2e201f057ccf75807bafcb9fa74cef2b4e4f93a3de720
and the label file to
fdf0abefd0db94127804763c82e2497f33ff77d5d7fe0eb739ed4df8c849bae9.
The classifier is a model2vec StaticModelForClassification head fitted on the
training split and exported with to_pipeline().save_pretrained(). Weights are
float16, which reproduces the float32 predictions exactly on the full held-out
split.
labels.json ships beside the weights. It lists the label set the model was
fitted on, so the pipeline can restrict matching to labels this model can emit.
License
Apache-2.0. The base model is MIT.
- Downloads last month
- -