Syllabation, graphémisation, barbarismes, correction de 800 erreurs

41 views
Skip to first unread message

Glen

unread,
Nov 4, 2023, 8:48:27 AM11/4/23
to Lexique
Bonjour à tous ! En tant qu’informaticien curieux mais sans réelle compétence en lingüistique (mes excuses si j’emploie le jargon trop approximativement…), j’ai travaillé avec la base Lexique 3.83 pour un projet personnel (concernant le rapport entre l’orthographe et la prononciation). Je vous fais part de 4 sous-produits de ce projet.

(1) Une nouvelle syllabation phonologique.

Celle-ci est obtenue par un algo simple, qui diffère parfois de l’actuelle mais la plupart du temps en mieux (je pense).

(2) Une "graphémisation" des mots.

c-à-d. un découpage de l’orthographe en graphèmes mis en correspondance avec leur prononciation (p.ex. "oi":[wa],"s":[z],"eau":[o] pour "oiseau":[wazo]). À priori un tel découpage pourrait ne pas être unique (p.ex. "eau" pourrait être découpé en "e":muet,"au":[o] ou comme "eau":[o]) ; j’ai inclus des arbitrages pour le rendre unique. Quelques centaines de mots étrangers (environ 650) n’ont pas de découpage. Ils ont été marqués manuellement (voir (3)), ce sont tous des mots étrangers (beaucoup d’anglais) dont les graphèmes diffèrent trop du français.

(3) Un étiquetage manuel des barbarismes.

Environ 2800 mots sont étiquetés, classés par (groupes de) langues.

L’étiquetage est incomplet, il s’agit des mots qui sont tombés dans les limites de mes algorithmes, qui présentaient certaines caractéristiques de phonologie ou d’orthographe, ou qui sont passés sous mes yeux en parcourant manuellement la base. Le but premier est d’identifier les mots qui ne se conforment pas aux règles orthographiques habituelles du français, et pour lesquels on autorise la graphémisation à échouer, mais j’ai aussi commencé à marquer des mots dont l’orthographe est compatible avec le français (p.ex. "kugelhof / kouglof"), donc la limite est assez arbitraire. Tous les mots pour lesquels la graphémisation échoue sont étiquetés.

(4) La correction de nombreuses erreurs dans la base.

Détectées soit parce qu’elles sont passées sous mes yeux, soit parce qu’elles présentaient des caractéristiques inhabituelles telles que détectées par mes algos. Plus de 800 corrections manuelles, essentiellement de phonologie (650) mais aussi des lemmes ou catégories grammaticales incorrects, voire quelques coquilles d’orthographe.

Idées pour le futur :

La graphémisation ouvre la voie à d’autres améliorations, p.ex. :

- restaurer les ligatures Œ et Æ, actuellement confondues avec OE et AE;
- marquer les H aspirés (p.ex. en croisant avec le Wiktionnaire (dans un autre dossier, j’ai aussi un projet d’extraction des données du Wiktionnaire));
- ajouter dans la phonologie les schwas qui ont été complètement omis (en détectant les "e" muets), ou du moins les prendre en compte dans la syllabation;
- aider à calculer une syllabation orthographique sur la base de la syllabation phonologique et en veillant à casser les consonnes doubles;
- détecter et corriger des phonologies un peu bizarres (p.ex. "au" prononcé "O", o ouvert);
- ...

On peut aussi envisager d’activer des graphèmes supplémentaires en fonction de la langue.

Autant d’améliorations que j’aurais aimées faire moi-même, mais mon temps alloué à ce projet touche à sa fin (voir fichier TODO).

Liens :

Le code source et plus d’explications se trouvent ici : https://gitlab.crans.org/mevel/dictionnaires/-/tree/master/traiter-lex3
En particulier, la liste des barbarismes se trouve dans le fichier source `lex3_barbarismes.py`
et la liste des correctifs dans `lex3_patchs.py` (plutôt que de modifier manuellement le tableur TSV dans mon coin, je me suis arrangé pour présenter les correctifs sous forme d’opérations appliquées par mon programme à partir du tableur source, ce qui j’espère devrait faciliter leur relecture et leur intégration dans la base).

Par ailleurs, toutes les modifs effectuées sont consignées dans `log.SAVE.txt` .

Enfin, le tableur résultat se trouve ici: https://gitlab.crans.org/mevel/dictionnaires/-/raw/master/traiter-lex3/Lexique383.traité.SAVE.tsv
(il contient 2 nouveaux champs, `graphemes` et `lang`, mais il ne contient pas les champs du tableur d’origine qui ne m’intéressent pas, qui sont redondants ou trop pénibles à maintenir à travers les corrections effectuées).

Merci pour Lexique, et bonne journée. :-)

Christophe Pallier

unread,
Nov 4, 2023, 9:09:43 AM11/4/23
to Glen, Lexique
Merci BEAUCOUP !
On va regarder tout ça.

Concernant la.syllabation phonologique, il y a plusieurs théories, décrites dan ma thèse, et j ai choisi l une d elle. 

Bonne journée et merci encore pour votre travail.


--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Lexique".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse lexiqueorg+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/lexiqueorg/fa6b432c-a7d8-4194-94b5-f77d41c814f8n%40googlegroups.com.

Glen

unread,
Nov 8, 2023, 6:45:01 PM11/8/23
to Lexique
Pour la syllabation : le résultat me semble le plus souvent meilleur, cependant vous ne trouverez peut-être pas l’algo très satisfaisant car (comme expliqué dans le README) j’ai simplement écrit les règles de coupure à la main, pour chaque séquence consonantique existant dans la base. Ces règles ad-hoc sont peut-être résumables par des règles générales, en fonction des types de consonnes, etc. mais je n’ai pas essayé. Parfois aussi, la syllabation essaie de suivre la morphologie (possible car pour les séquences consonantiques suffisamment spécifiques, j’ai choisi la règle en fonction des occurrences dans la base).

J’ai oublié de signaler une autre liste d’erreurs, que mon programme détecte (consigné dans le log) mais ne corrige pas. Ces erreurs concernent les verbes à l’infinitif. On fait quelques vérifications sur les champs "islem" et "infover" des mots VER ou AUX, et on signale ces 3 erreurs :
  (1) verbe indiqué comme lemme mais dont l’infover ne contient pas "inf"
  (2) au contraire, verbe indiqué comme non-lemme mais dont l’infover contient "inf"
  (3) infover qui contient à la fois "inf" et d’autres formes verbales
Les cas 2 et 3 ne sont pas exclusifs. Le cas 2 peut aussi être légitime, dans le cas d’une variante orthographique (par exemple "re-biberonner" est infinitf mais son lemme indiqué est "rebiberonner").

Je joins ci-dessous la centaine d’erreurs détectées. Garder à l’esprit que ce sont seulement les erreurs qui restent après les corrections effectuées par mon programme.

! infinitif mal étiqueté: "abandonner;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "accoupler;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "acheter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "aduler;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "affecter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "agacer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "alterner;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "apprendre;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "appuyer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "assurer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "astiquer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "attirer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "avouer;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "braquer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "brider;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "carboniser;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "carter;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "causer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "clouer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "comprendre;VER;" (imp:pre:2p;ind:imp:3s;inf;)
! infinitif mal étiqueté: "compromettre;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "condamner;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "couler;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "coûter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "crier;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "cuisiner;VER;" (imp:pre:2p;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "devoir;VER;dois" (imp:pre:2s;ind:pre:1s;ind:pre:2s;inf;)
! infinitif mal étiqueté: "devoir;VER;dois" (imp:pre:2s;ind:pre:1s;ind:pre:2s;inf;)
! infinitif mal étiqueté: "dorer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "débarquer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "décerveler;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "dégoûter;VER;" (imp:pre:2p;ind:pre:2p;inf;)
! infinitif mal étiqueté: "embêter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "employer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "enlever;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "enrôler;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "essayer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "excuser;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "exposer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "faciliter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "fier;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "filer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "fondre;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "imaginer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "imiter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "incliner;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "indiquer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "informer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "injecter;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "jurer;VER;" (ind:pre:2p;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "lamer;VER;" (imp:pre:2p;)
! infinitif mal étiqueté: "lancer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "manager;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "marcher;VER;" (ind:imp:3s;inf;)
! infinitif mal étiqueté: "menacer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "monter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "nettoyer;VER;" (imp:pre:2p;ind:pre:2p;inf;)
! infinitif mal étiqueté: "offenser;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "orienter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "penser;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "piper;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "piquer;VER;" (ind:imp:3s;inf;)
! infinitif mal étiqueté: "porter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "prouver;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "prévenir;VER;" (ind:imp:3s;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "rebiberonner;VER;re-biberonner" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reblinder;VER;re-blinder" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reboucler;VER;re-boucler" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "rechiader;VER;re-chiader" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reclasser;VER;re-classer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reconnaître;VER;re-connaître" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "recontacter;VER;re-contacter" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "redécorer;VER;re-décorer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "redéménager;VER;re-déménager" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "repenser;VER;re-penser" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reremplir;VER;re-remplir" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "rerentrer;VER;re-rentrer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "rerespirer;VER;re-respirer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reréparer;VER;re-réparer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "resigner;VER;re-signer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "retuer;VER;re-tuer" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "revérifier;VER;re-vérifier" (inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reéchanger;VER;re-échanger" (inf;)
! infinitif mal étiqueté: "remettre;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "renseigner;VER;" (ind:pre:2p;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "reprendre;VER;reprenons" (imp:pre:1p;ind:pre:1p;inf;)
! infinitif mal étiqueté: "reprendre;VER;reprenons" (imp:pre:1p;ind:pre:1p;inf;)
! infinitif mal étiqueté: "ressembler;VER;" (ind:pre:2p;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "revenir;VER;reviendra" (ind:fut:3s;inf;)
! infinitif mal étiqueté: "revenir;VER;reviendra" (ind:fut:3s;inf;)
! infinitif mal étiqueté: "revoir;VER;" (ind:imp:3s;inf;)
! infinitif mal étiqueté: "ruminer;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "réarranger;VER;" (ind:pre:2p;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "réprimer;VER;réprimés" (inf;par:pas;)
! infinitif mal étiqueté: "réprimer;VER;réprimés" (inf;par:pas;)
! verbe lemme-conjugué ou flexion-infinitif: "sous-signer;VER;soussigner" (inf;)
! infinitif mal étiqueté: "supplier;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "surfer;VER;" (imp:pre:2p;inf;)
! infinitif mal étiqueté: "tacher;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "taper;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "tenter;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "tourner;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "transformer;VER;" (ind:imp:3s;inf;)
! infinitif mal étiqueté: "transporter;VER;" (ind:pre:2p;inf;)
! verbe lemme-conjugué ou flexion-infinitif: "venir;VER;viens" (imp:pre:2s;ind:pre:1s;ind:pre:2s;inf;)
! infinitif mal étiqueté: "venir;VER;viens" (imp:pre:2s;ind:pre:1s;ind:pre:2s;inf;)
! infinitif mal étiqueté: "virer;VER;" (imp:pre:2p;ind:pre:2p;inf;)
! infinitif mal étiqueté: "vivre;VER;" (ind:imp:3s;inf;)
! infinitif mal étiqueté: "voiler;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "échapper;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "échauffer;VER;" (ind:pre:2p;inf;)
! infinitif mal étiqueté: "épier;VER;" (imp:pre:2p;inf;)

(Mon programme détecte aussi les infinitifs en "-er" qui sont mal prononcés, souvent c’est que la terminaison est prononcée [-9R] comme un anglicisme... mais j’ai écrit les corrections manuelles pour toutes ces erreurs. De toute façon une simple requête suffit pour trouver ces erreurs.)

Bonne journée,
Reply all
Reply to author
Forward
0 new messages