In this fork I added a correct()
function to the original package in order to perform corrections on a piece of text (in French). Under the hood, corrections include:
- corrections suggested by Grammalecte
- corrections suggested by languagetool (using the
language_tool_python
API) - additional corrections (including: point at the end of sentences, capitalized first letters, replace some abbreviations, remove double punctuation, etc.).
Example:
text = """paire de Skis quasi neufs en très bonne état, modèle de lannée dernière ac fixatins Salomon
Très bonne affaire n hésitez pas !!!"""
pygrammalecte.correct(text)
Output:
Paire de Skis quasi neufs en très bon état, modèle de l'année dernière avec fixations Salomon.
Très bonne affaire n'hésitez pas !!
(english version at the bottom of this document)
Grammalecte, le correcteur grammatical en Python.
Pour être précis, ce projet n’est pas Grammalecte, mais un « wrapper » permettant de l’utiliser facilement en Python.
Vous devez utiliser un Python en version supérieure ou égale à 3.7.
L’utilisation d’un environnement virtuel est fortement recommandé.
python3 -m pip install pygrammalecte
from pygrammalecte import grammalecte_text
texte_bidon = """\
Coucou, je veut du fromage.
Je sais coder en VHDL.
Le VHDL est est compliquer.
"""
for message in grammalecte_text(texte_bidon):
print(message)
Vous devez fournir le chemin du fichier en str
ou en pathlib.Path
. Le fichier doit être un fichier texte brut (pas un fichier Word ou OpenDocument par exemple).
from pathlib import Path
from pygrammalecte import grammalecte_file
filepath = Path("toto.txt")
for message in grammalecte_file(filepath):
print(message)
Les fonctions grammalecte_file
et grammalecte_text
sont des générateurs, vous pouvez donc les utiliser dans une boucle for
. Elles génèrent des GrammalecteMessage
.
Deux types de GrammalecteMessage
existent :
-
GrammalecteSpellingMessage
qui a comme attributs :line
: numéro de la ligne dans le texte vérifiéstart
: numéro du caractère de début de l’erreur dans la ligneend
: numéro du caractère de fin de l’erreur dans la ligneword
: le mot non reconnu parGrammalecte
message
: message d’erreur
-
GrammalecteGrammarMessage
qui a comme attributs :line
: numéro de la ligne dans le texte vérifiéstart
: numéro du caractère de début de l’erreur dans la ligneend
: numéro du caractère de fin de l’erreur dans la ligneurl
: l’URL fournie parGrammalecte
color
: une couleur fournie parGrammalecte
, c’est une liste de 3 entiers entre 0 et 255.suggestions
: propositions de correctionmessage
: message d’erreurrule
: identifiant de la règle violéetype
: type de la règle ("conj"
…)
- Ajout de l'attribut
message
pourGrammalecteSpellingMessage
- Refactoring
- Ajout de l'intégration continue
- Première version !
- Utilisation de Grammalecte v1.11.0
This is a wrapper for the french grammatical checker called Grammalecte.