Kit G2P / P2G
Kit d'entrainement G2P / P2G
Corpus annote, scripts d'entrainement et modeles pre-entraines pour le francais
Presentation
Kit complet pour entrainer et reproduire les modeles G2P (grapheme vers phoneme) et P2G (phoneme vers grapheme) de Lectura. Contient les donnees, les scripts et les modeles exportes.
| Corpus phrases | 22 649 phrases annotees (train / dev / test) |
| Lexique aligne | 1 163 639 mots avec alignement phone-grapheme |
| Scripts | Preparation, entrainement, evaluation, export ONNX |
| Modeles | G2P unifie (98.5%) + P2G unifie (93.1%) |
| Taille totale | ~215 Mo |
| Sources | UD French-GSD (CC BY-SA 4.0), GLAFF 1.2.1 (CC BY-SA 3.0), Lexique383 (CC BY-SA 4.0) |
| Licence | A definir — nous contacter |
Contenu du kit
1. Corpus de phrases annotees
22 649 phrases du francais avec annotation complete pour chaque token :
{
"sent_id": "fr-ud-train_00001",
"text": "Les commotions cérébrales sont ...",
"tokens": [
{"form": "Les", "pos_tag": "ART:def", "phone": "le", "morpho": {"Number": "Plur"}},
{"form": "commotions", "pos_tag": "NOM", "phone": "komosjɔ̃", "morpho": {"Gender": "Fem", "Number": "Plur"}},
...
]
}
| Split | Phrases | Usage |
|---|---|---|
| Train | 17 968 | Entrainement |
| Dev | 2 969 | Validation / early stopping |
| Test | 1 712 | Evaluation finale |
Source : Universal Dependencies French-GSD, enrichi avec phonetique IPA et liaisons.
2. Lexique aligne
1 163 639 mots avec alignement caractere par caractere entre phonemes et graphemes :
{"ipa": "abaka", "labels": ["a", "b", "a", "c", "a"]}
{"ipa": "ʃɔkɔla", "labels": ["ch", "o", "c", "o", "l", "a", "t_"]}
Le label _CONT marque les continuations dans les sequences multi-caracteres (ex: “ch”, “ou”, “ss”).
| Split | Entrees | Usage |
|---|---|---|
| Train | 1 062 225 | Pre-entrainement sur mots isoles |
| Eval | 101 414 | Evaluation hors vocabulaire |
Sources : GLAFF 1.2.1 + Lexique383, phonetiquement alignes.
3. Scripts d’entrainement
Pipeline complet en Python (PyTorch) pour les deux directions :
| Script | G2P | P2G | Role |
|---|---|---|---|
preparer_donnees.py |
✓ | ✓ | Alignement du corpus et creation des splits |
entrainer.py |
✓ | ✓ | Entrainement en 2 phases |
evaluer.py |
✓ | ✓ | Evaluation multi-tache |
exporter.py |
✓ | ✓ | Export ONNX INT8 + poids JSON (NumPy) |
Entrainement en 2 phases :
- Pre-entrainement sur le lexique aligne (1M mots isoles, 30 epochs)
- Fine-tuning multi-tache sur les phrases (G2P/P2G + POS + morphologie + liaison, 80 epochs avec early stopping)
4. Modeles pre-entraines
Deux modeles multi-taches inclus, chacun au format ONNX INT8 et poids JSON :
| Modele | Taches | ONNX INT8 | Poids JSON |
|---|---|---|---|
| G2P unifie | G2P + POS + morphologie + liaison | 1.8 Mo | 18 Mo |
| P2G unifie | P2G + POS + morphologie | 2.6 Mo | 26 Mo |
Tables de vocabulaire et corrections incluses.
Architecture des modeles
Entree → Char Embedding (64d) → Shared BiLSTM (2×160h → 320d)
|
+-------------------+-------------------+
v v
Tete G2P/P2G (par char) Word BiLSTM (128h → 256d)
Linear(320 → n_classes) |
+------+------+------+------+
POS Genre Nombre Mode Temps ...
- 1.75M parametres (G2P) / 2.1M parametres (P2G)
- Entrainement : ~90 min sur GPU (phase 1 + phase 2)
- 3 backends d’inference : ONNX Runtime (~2 ms), NumPy (~50 ms), pur Python (~200 ms)
Performances
G2P — Grapheme vers Phoneme
| Tache | Metrique | Score |
|---|---|---|
| G2P | Accuracy (par mot) | 98.5% |
| G2P | PER (Phoneme Error Rate) | 0.54% |
| POS | Accuracy | 98.2% |
| Liaison | F1 macro | 90.6% |
| Morphologie | Accuracy | 94–99% |
P2G — Phoneme vers Grapheme
| Tache | Metrique | Score |
|---|---|---|
| P2G | Accuracy (par mot) | 93.1% |
| P2G | CER (Character Error Rate) | 2.19% |
| POS | Accuracy | 97.0% |
| Morphologie | Accuracy | 92–97% |
Mesurees sur le split test (1 712 phrases, ~25 000 mots en contexte).
Obtenir le kit
Le kit d’entrainement G2P/P2G n’est pas encore distribue publiquement. Si vous etes interesse pour reproduire les modeles, entrainer sur vos propres donnees ou adapter les modeles a votre usage, contactez-nous :