Instructions to use somniusx/recmeets-laya-words with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Laya
How to use somniusx/recmeets-laya-words with Laya:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
RecMeets Laya v1 (run 4): Greek and English, 8-bit ONNX
Browse files- .gitattributes +1 -0
- README.md +47 -0
- laya.json +13 -0
- model.onnx +3 -0
- tokenizer.json +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: convaiinnovations/laya
|
| 4 |
+
language: [el, en]
|
| 5 |
+
pipeline_tag: text-classification
|
| 6 |
+
tags: [laya, speech-recognition, asr-error-detection, recmeets, onnx]
|
| 7 |
+
datasets: [google/fleurs]
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# RecMeets' Laya: is this word a speech-recognition mistake?
|
| 11 |
+
|
| 12 |
+
A fine-tune of [Laya](https://huggingface.co/convaiinnovations/laya) (`laya-multilingual`, Apache 2.0) for [RecMeets](https://lefteros.com/apps/recmeets/)' Check words: given a word in its sentence as a speech recognizer wrote it, how likely is it a mistake? Greek and English.
|
| 13 |
+
|
| 14 |
+
**Input** (Laya's `noul` question, one per word): the question in `laya.json`, and this state:
|
| 15 |
+
|
| 16 |
+
```
|
| 17 |
+
Sentence: <about ten words either side, the word marked ⟦ ⟧>
|
| 18 |
+
Word: <the word>
|
| 19 |
+
Engine confidence: <0.00–1.00, or unknown>
|
| 20 |
+
In the <Greek|English> dictionary: <yes|no|can't tell>
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
**Output:** the probability of "true" (a mistake), after the temperature in `laya.json`.
|
| 24 |
+
|
| 25 |
+
## Data
|
| 26 |
+
|
| 27 |
+
Real mistakes of the engine RecMeets uses (whisper.cpp, large-v3-turbo, as RecMeets configures it): [FLEURS](https://huggingface.co/datasets/google/fleurs) Greek and English (Google, CC BY 4.0) transcribed in 10-minute files, each word labelled by aligning the transcript with FLEURS' reference text. Train: 71,906 Greek and 54,845 English words (9,880 and 2,547 mistakes), balanced to 35% mistakes. Test: FLEURS' test split (other speakers). The dictionary answer comes from LibreOffice's el_GR and en_US hunspell dictionaries.
|
| 28 |
+
|
| 29 |
+
## Results (AUROC on FLEURS test)
|
| 30 |
+
|
| 31 |
+
| | Greek, all words | Greek, unsure words | English, unsure words |
|
| 32 |
+
|---|---|---|---|
|
| 33 |
+
| the engine's confidence alone | 0.82 | 0.63 | 0.74 |
|
| 34 |
+
| the dictionary alone | | 0.85 | 0.70 |
|
| 35 |
+
| stock laya-multilingual (same question) | 0.41 | | |
|
| 36 |
+
| **this model** | **0.90** | **0.91** | **0.86** |
|
| 37 |
+
| TypeSafe Jev (cloud), the same input | | 0.93 | 0.89 |
|
| 38 |
+
|
| 39 |
+
"Unsure words": the engine's confidence under 0.5, four letters or more (what Check words lists).
|
| 40 |
+
|
| 41 |
+
## Files
|
| 42 |
+
|
| 43 |
+
- `model.onnx` (343 MB): exported with Laya's `export_onnx.py`; matrix products in ONNX Runtime's 8-bit block format (`MatMulNBits`), the embedding table in 8 bits; the same AUROC as the 32-bit model. Inputs `input_ids`, `attention_mask`, `marker_pos`, `marker_mask`, `qtype` (2), output `logits`. One sequence at a time (the export keeps batch size 1 inside its rotary code).
|
| 44 |
+
- `tokenizer.json`: mmBERT's, unchanged.
|
| 45 |
+
- `laya.json`: the question, the token budgets, special tokens and the fitted temperature.
|
| 46 |
+
|
| 47 |
+
How it was made: `scripts/laya/` and `docs/research/laya-finetune.md` in the RecMeets repository. By Lefteris Iliadis (Lefteros.com), 2026.
|
laya.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"instructions": "A speech recognizer wrote this sentence. Is the word marked ⟦ ⟧ a recognition mistake: a word the speaker most likely did not say?",
|
| 3 |
+
"criteria_false": "right: the word the speaker said, spelled correctly",
|
| 4 |
+
"criteria_true": "a mistake: misheard, misspelled, not a real word, or the wrong word here",
|
| 5 |
+
"max_len": 1024,
|
| 6 |
+
"head_max_len": 256,
|
| 7 |
+
"cls": 2,
|
| 8 |
+
"sep": 1,
|
| 9 |
+
"mask": 4,
|
| 10 |
+
"pad": 0,
|
| 11 |
+
"mask_token": "<mask>",
|
| 12 |
+
"temperature": 1.7306629419326782
|
| 13 |
+
}
|
model.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a7b35f5c4943a87fa323fb5355876773860875cecf46dc90fa9f86d1e0d10efd
|
| 3 |
+
size 343202156
|
tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:609d8f4c067cd3950f88594c5a802616cea245823836ef5848ee4fc40aab5b6f
|
| 3 |
+
size 34363188
|