Autant de fautes dans un commentaire sur les correcteurs grammaticaux.
Moi aussi, j’en fais. Être attentif à tout, ce n’est pas facile.
Pourquoi es-tu si réticent vis-à-vis de la "tokenisation" ?
Je ne suis pas réticent vis-à-vis de la tokenisation en général. J’y suis réticent dans Grammalecte en l’état des choses. Parce que Grammalecte est basé sur un autre concept, pas incompatible avec la tokenisation, mais utiliser cet autre procédé juste pour faire de la désambiguïsation, ce serait du gaspillage de ressources. Ou alors il faudrait que ça serve à autre chose, ou tout réécrire depuis le commencement. Pour l’instant, l’étape suivante, c’est faire ce que j’ai proposé dans la campagne de financement.
Ne crains-tu pas que l'explosion combinatoire des règles que tu mets en place (même après les phases de simplification) et la cohérence entre ces règles ne finissent par rendre le logiciel trop lent ?
Ça fait partie des problèmes à gérer. J’y suis attentif. Il y a encore pas mal de choses optimisables çà et là. Il y a justement le remplacement de Hunspell qui fournit les données en vrac en XML, la refonte des dictionnaires avec des étiquettes plus adaptées, et diverses parties du code qui peuvent être améliorées.
Est-on vraiment obligé d'en passer par un couplage avec OO/LO ?
Non, mais si on veut s’en passer et pouvoir faire des choses intéressantes par la suite, il y a pas mal à faire.
Pourquoi ne pas analyser des textes bruts plutôt que des ODF pour tes TUs ?
Ça, c’est ce qu’on me proposait de faire temporairement en attendant une solution plus efficace, mais c’est sur des textes bruts que je compte faire des tests.
De même pourrais-tu détailler un peu la solution que tu envisages pour la "désambiguisation", car même après la lecture de ton billet je ne comprends pas très bien ce que serait un "index de balises" ?
Plutôt que tokeniser et faire l’étiquetage de tous les tokens, je vais dresser avec des règles de désambiguïsation un dictionnaire temporaire avec pour clés les positions des mots désambiguïsés et pour valeurs les étiquettes grammaticales à utiliser.
Ensuite, lors des règles de contrôle, lorsqu’on fait appel à la commande d’analyse lexicale, celle-ci, avant d’interroger le lexique, va regarder si la position du mot à analyser existe dans le dictionnaire comme clé (ce que j’ai appelé une balise). Si c’est le cas, pas besoin d’interroger le lexique, le correcteur utilisera la valeur indiquée par le dictionnaire temporaire. Sinon il interrogera le lexique.
Concernant ta structure pour stocker le vocabulaire et la nature grammaticale des mots, ne crains tu pas que ceci ne puisse plus te permettre de proposer des suggestions sur des mots mal orthographiés dès le début.
Pour commencer, il est prévu de se passer de Hunspell pour la grammaire, mais pas pour l’orthographe. Ensuite, avec le temps, j’espère aussi remplacer Hunspell pour l’orthographe, mais peut-être que ce ne sera pas toujours possible partout à cause des performances. Le graphe de mots devrait pouvoir servir de base pour faire des suggestions orthographiques (reste à trouver un algo efficace). Quoi qu’il en soit, le dictionnaire pour Hunspell va subir une grosse cure de simplification de ses règles internes, et ça devrait le rendre plus efficace.
aurais-tu quelques références à nous indiquer pour effleurer ce sujet, car des adjectifs épicènes, des lemmes, des thesaurus
Pour le vocabulaire, Wikipédia, c’est pas mal. Sinon, il y a des masses de papiers trouvables en ajoutant "filetype:pdf" à vos recherches dans Google, plus que vous ne pourrez en lire. Je ne sais pas quoi conseiller. :)
[^] # Re: Questions en vrac
Posté par Olivier . En réponse à la dépêche Grammalecte, correcteur grammatical. Évalué à 4.
Moi aussi, j’en fais. Être attentif à tout, ce n’est pas facile.
Je ne suis pas réticent vis-à-vis de la tokenisation en général. J’y suis réticent dans Grammalecte en l’état des choses. Parce que Grammalecte est basé sur un autre concept, pas incompatible avec la tokenisation, mais utiliser cet autre procédé juste pour faire de la désambiguïsation, ce serait du gaspillage de ressources. Ou alors il faudrait que ça serve à autre chose, ou tout réécrire depuis le commencement. Pour l’instant, l’étape suivante, c’est faire ce que j’ai proposé dans la campagne de financement.
Ça fait partie des problèmes à gérer. J’y suis attentif. Il y a encore pas mal de choses optimisables çà et là. Il y a justement le remplacement de Hunspell qui fournit les données en vrac en XML, la refonte des dictionnaires avec des étiquettes plus adaptées, et diverses parties du code qui peuvent être améliorées.
Non, mais si on veut s’en passer et pouvoir faire des choses intéressantes par la suite, il y a pas mal à faire.
Ça, c’est ce qu’on me proposait de faire temporairement en attendant une solution plus efficace, mais c’est sur des textes bruts que je compte faire des tests.
Plutôt que tokeniser et faire l’étiquetage de tous les tokens, je vais dresser avec des règles de désambiguïsation un dictionnaire temporaire avec pour clés les positions des mots désambiguïsés et pour valeurs les étiquettes grammaticales à utiliser.
Ensuite, lors des règles de contrôle, lorsqu’on fait appel à la commande d’analyse lexicale, celle-ci, avant d’interroger le lexique, va regarder si la position du mot à analyser existe dans le dictionnaire comme clé (ce que j’ai appelé une balise). Si c’est le cas, pas besoin d’interroger le lexique, le correcteur utilisera la valeur indiquée par le dictionnaire temporaire. Sinon il interrogera le lexique.
Pour commencer, il est prévu de se passer de Hunspell pour la grammaire, mais pas pour l’orthographe. Ensuite, avec le temps, j’espère aussi remplacer Hunspell pour l’orthographe, mais peut-être que ce ne sera pas toujours possible partout à cause des performances. Le graphe de mots devrait pouvoir servir de base pour faire des suggestions orthographiques (reste à trouver un algo efficace). Quoi qu’il en soit, le dictionnaire pour Hunspell va subir une grosse cure de simplification de ses règles internes, et ça devrait le rendre plus efficace.
Pour le vocabulaire, Wikipédia, c’est pas mal. Sinon, il y a des masses de papiers trouvables en ajoutant "filetype:pdf" à vos recherches dans Google, plus que vous ne pourrez en lire. Je ne sais pas quoi conseiller. :)