OK
AJAX error!

Les forumsGrammalecteGrammalecte 2.x

Grammalecte 2.x

Grammalecte v2.0

Nouveautés :
— [Dictionnaire] Modification du format interne du dictionnaire de Grammalecte. À savoir : Grammalecte 2 peut lire les dictionnaires de Grammalecte 1, mais l’inverse n’est pas vrai.
— [Dictionnaire] Moteur de suggestion orthographique accéléré.
— [Writer et Python] Modification du format de fichier du dictionnaire (format binaire vers JSON).
— [Firefox et Thunderbird] Lexicographe : analyseur grammatical et lexical.
— Nouvelles règles de contrôle.
— Beaucoup d’anciennes règles ont été consolidées.
— Moins de faux positifs.
— Correction de nombreux bugs mineurs, comme des messages mal écrits ou mal configurés.
— Procédures de test consolidées.
— Nettoyage du vieux code.

À l’origine, cette version n’était pas prévue pour être étiquetée 2.0, même si incrémenter le numéro de version majeur était envisagé depuis pas mal de temps.

Les dictionnaires
Le format interne des dictionnaires a été modifié suite à des optimisations faites par un contributeur (IllusionPerdu) qui cherchait à améliorer la vitesse du dictionnaire.
Jusqu’alors le dictionnaire interne était constitué d’une très longue chaîne d’octets représentant les nodes et les arcs d’un graphe de mots, qu’on parcourait en calculant la valeur des nombres à partir des octets constituant les nodes et les adresses vers d’autres nodes. Par exemple, si l’adresse d’un node était représentée par 3 octets, on convertissait ces trois octets en un entier qui donnait la position du node dans la chaîne d’octets du dictionnaire. Autrement dit, c’était un format de données très compact, et c’était d’ailleurs le but recherché, en 2012, quand j’ai créé ce format.
Accélérer le dictionnaire consiste tout simplement à précalculer toutes les données du graphe à partir de la chaîne d’octets, et à stocker ça dans une liste d’entier. Bien sûr, ça va plus vite, mais ça consomme beaucoup plus de mémoire.
Le problème, c’est que si ce précalcul passait inaperçu sur Firefox et Thunderbird, il ralentissait énormément le démarrage de Writer.
C’est pourquoi j’ai décidé de modifier le format de données du dictionnaire et de stocker dorénavant les données dans une liste d’entiers, au lieu d’une chaîne d’octets.

Tout est transparent pour les utilisateurs. Ceux qui ont créé des dictionnaires personnels n’ont rien à faire, Grammalecte 2.0 fera la conversion automatiquement. Mais ceux qui exportent et importent leurs dictionnaires personnels doivent savoir que Grammalecte 2.x reconnaîtra les dictionnaires faits avec Grammalecte 1.x, mais Grammalecte 1.x ne pourra pas lire les dictionnaires conçus à partir de Grammalecte 2.x.

Autre détail interne, qui n’a aucune conséquence pour les utilisateurs, le format de fichiers des dictionnaires pour Python et Writer est désormais le JSON, en lieu et place d’un format binaire ad hoc. Ça simplifie la maintenance de n’avoir qu’un seul format de fichiers pour Python et JavaScript. Le désavantage, c’est que la taille des dictionnaires pour Python et Writer a quasiment triplé, passant en moyenne de 1,5 Mo à presque 4 Mo.

Le lexicographe
En version bêta, voire alpha, uniquement sur Firefox et Thunderbird pour l’instant, le lexicographe propose dorénavant deux types d’analyse : une lexicale (c’est-à-dire en indiquant ce que sont les mots sans tenir compte du contexte), une grammaticale (en tenant compte du contexte pour dire de quelle nature sont les mots).
La seconde analyse est encore inachevée et très expérimentale, et elle le sera certainement encore pour un bon bout de temps, attendu que c’est plus complexe que ce à quoi je m’attendais et que ce que je prévoyais de faire a des incidences sur le correcteur grammatical lui-même. Pour aboutir, il faudra refondre nombre de règles de fonctionnement. Ça s’améliorera donc progressivement avec les versions suivantes.
Par la suite, cette nouvelle fonction devrait me permettre d’écrire des règles de contrôle plus précises.

Règles de contrôle de Grammalecte
En un an et demi, beaucoup de nouvelles règles et d’améliorations ont été apportées. Quelques chiffres :

Grammalecte 2.0 (décembre 2020) :
— Analyse des paragraphes : 170 règles par expression régulière.
— Analyse des phrases : 10 134 règles par description de tokens réparties en 10 graphes différents, et 21 règles par expression régulière.

Grammalecte 1.0 (avril 2019) :
— Analyse des paragraphes : 165 règles par expression régulière.
— Analyse des phrases : 5 377 règles par description de tokens réparties en 9 graphes différents, et 38 règles par expression régulière.

D’une manière générale, Grammalecte 2 est la continuation directe de Grammalecte 1. Il n’y a pas de gros changements internes, seulement de nouvelles fonctionnalités dans les mécanismes d’analyse et d’innombrables micro-améliorations diverses.

Historique des versions :
version 1.x : grammalecte.net…
version 0.6 : grammalecte.net…
version 0.5 : grammalecte.net…
version 0.4 : grammalecte.net…
version 0.3 : grammalecte.net…
version 0.2 : grammalecte.net…
version 0.1 : grammalecte.net…
version 0.0 : grammalecte.net…
le 05 décembre 2020 à 09:47
Grammalecte v2.1.0 :
— Nombreuses nouvelles règles.
— Moins de faux positifs.
— Suggestions grammaticales : tout le code de suggestion a été revu, corrigé et testé, ce qui permis de supprimer bon nombre de micro-bugs, de filtrer dans certains cas nombre de suggestions absurdes, d’affiner les suggestions dans d’autres cas.
— Suggestions orthographiques : extension de l’échantillon de graphies proches repérées.
— [Writer] Formateur de texte: éditeur de transformations personnalisées.
— [Thunderbird] La signature ne sera dorénavant plus vérifiée et ne devrait donc plus être altérée.
— [Thunderbird] Réduction des altérations non souhaitables.
le 10 février 2021 à 15:03
Grammalecte v2.1.1 :
— Quelques nouvelles règles.
— Éradication de nombreux faux positifs.
— [Graphspell] amélioration du moteur de suggestion orthographique.

Cette version est essentiellement une version de consolidation, car j’avais constaté quelques faux positifs que je jugeais rédhibitoires sur la version précédente.
Afin de prévenir l’apparition de nouveaux faux positifs, Grammalecte effectue dorénavant environ 350 000 tests de contrôle.
le 22 février 2021 à 15:11
Grammalecte v2.1.2 :
— [LibreOffice] Correction des bugs d’importation/exportation du dictionnaire personnel.
— Quelques nouvelles règles.

La mise à jour ne concerne que LibreOffice.
le 08 mars 2021 à 19:03

Notification par e-mail    6