Documentation de l’Api mlconjug

Référence de l’API pour les classes dans mlconjug.mlconjug.py

Module principal de MLConjug .

Ce module déclare les classes principales avec lesquelles l’utilisateur interagit.
Le module définit les classes nécessaires à l’interface avec les modèles de Machine Learning.
mlconjug.mlconjug.extract_verb_features(verb, lang, ngram_range)[source]
Vectorizer optimisé pour extraire les fonctionnalités des verbes.
Le Vectorizer hérite de la classe sklearn.feature_extraction.text.CountVectorizer.
Comme dans les langues indo-européennes les verbes sont infléchis en ajoutant un suffixe morphologique, le vectorizer extrait les terminaisons verbales et d’autres traits caractéristiques et produit une représentation vectorielle du verbe avec des caractéristiques binaires.
Pour améliorer les résultats de l’extraction de caractéristiques, plusieurs autres fonctionnalités ont été incluses:
Les caractéristiques sont la fin du verbe n-grammes, départ n-grammes, la longueur du verbe, le nombre de voyelles, le nombre de consonnes et le rapport des voyelles sur les consonnes.
Paramètres:
  • verb – string. Verbe à vectoriser.
  • lang – string. Langue à analyser.
  • ngram_range – tuple. La taille de la fenêtre de n-grams.
Renvoie:

list. Liste des caractéristiques les plus saillantes du verbe pour la tâche de trouver sa classe de conjugaison.

class mlconjug.mlconjug.Conjugator(language='fr', model=None)[source]
C’est la classe principale du projet.
La classe gère la base de données de Verbiste et fournit une interface avec le modèle scikit-learn.
Si aucun paramètre n’est fourni, la langue par défaut est le français et le modèle de conjugaison pré-entraîné du français est utilisé.
La classe définit la méthode conjugate(verbe, langue) qui est la méthode principale du module.
Paramètres:
  • language – string. Langue du conjugateur. La langue par défaut est “fr” pour le français.
  • model – mlconjug.Model ou scikit-learn Pipeline ou Classifier implémentant les méthodes fit () et predict (). Un pipeline fourni par l’utilisateur si l’utilisateur a formé son propre pipeline.
conjugate(verb, subject='abbrev')[source]
C’est la méthode principale de cette classe.
La méthode vérifie d’abord si le verbe est dans Verbiste.
Si ce n’est pas le cas, et qu’un modèle d’apprentissage de scikit-learn pré-entraîné a été fourni, la méthode appelle alors le modèle
Renvoie un objet Verb ou None.
Paramètres:
  • verb – string. Verbe à conjuguer.
  • subject – string. Active les pronoms abrégés ou entiers. La valeur par défaut est “abbrev” Sélectionnez “pronoun” pour les pronoms complets.
Renvoie:

Objet Verb ou None.

set_model(model)[source]

Assigne le modèle scikit-learn pré-entraîné fourni afin de conjuguer les verbes inconnus.

Paramètres:model – Classificateur ou Pipeline scikit-learn.
class mlconjug.mlconjug.DataSet(verbs_dict)[source]
Cette classe contient et gère l’ensemble de données nécessaires à l’entrainement du modèle d’apprentissage.
Définit les fonctions d’assistance pour la gestion des tâches d’apprentissage automatique, telles que la construction d’un ensemble d’entraînement et de test.
Paramètres:verbs_dict – Un dictionnaire de verbes et leur classe de conjugaison correspondante.
construct_dict_conjug()[source]
Remplit le dictionnaire contenant les classes de conjugaison.
Remplit les listes contenant les verbes et leurs classes.
split_data(threshold=8, proportion=0.5)[source]

Divise les données en un ensemble d’entrainement et un ensemble de test.

Paramètres:
  • threshold – int. Taille minimale de la classe de conjugaison à diviser.
  • proportion – float. Proportion d’échantillons dans l’ensemble d’entraînement. Doit être compris entre 0 et 1.
class mlconjug.mlconjug.Model(vectorizer=None, feature_selector=None, classifier=None, language=None)[source]

Bases : object

Cette classe gère le modèle scikit-learn.
Le Pipeline comprend un vectoriseur de caractéristiques, un sélecteur de caractéristiques et un classificateur.
la méthode __init__ fournira des valeurs par défaut acceptables qui obtiennent plus de 92% de précision de prédiction en moyenne selon les langues.
Paramètres:
  • vectorizer – scikit-learn Vectorizer.
  • feature_selector – scikit-learn Classifier avec une méthode fit_transform ()
  • classifier – scikit-learn Classifier avec une méthode predict ()
  • language – langue du corpus de verbes à analyser.
train(samples, labels)[source]

Entraîne le modèle sur les échantillons et les labels fournis.

Paramètres:
  • samples – list. Liste de verbes.
  • labels – list. Liste de classes de cojugaison de verbes.
predict(verbs)[source]

Prédit la classe de conjugaison de la liste de verbes fournie.

Paramètres:verbs – list. Liste de verbes.
Renvoie:list. Liste des classes de conjugaison prédites.

Référence de l’API pour les classes dans mlconjug.PyVerbiste.py

PyVerbiste.

Une bibliothèque Python pour conjuguer les verbes en français, anglais, espagnol, italien, portugais et roumain (et plus bientôt!).
La librarie contient des données de conjugaison générées par des modèles d’apprentissage automatique utilisant la bibliothèque Python mlconjug.
Plus d’informations sur mlconjug sur https://pypi.org/project/mlconjug/
Les données de conjugaison sont conformes au schéma XML défini par Verbiste.
Plus d’informations sur Verbiste à https://perso.b2b2c.ca/~sarrazip/dev/conjug_manager.html
class mlconjug.PyVerbiste.ConjugManager(language='default')[source]

C’est la classe qui manipule et sert d’interface avec les fichiers json.

Paramètres:language – string. | Langue du conjugateur. La langue par défaut est “fr” pour le français.
_load_verbs(verbs_file)[source]

Charge et analyse les verbes du fichier json.

Paramètres:verbs_file – string ou Path object. Chemin d’accès au fichier json des verbes.
_load_conjugations(conjugations_file)[source]

Charge et analyse les conjugaisons à partir du fichier json.

Paramètres:conjugations_file – string ou objet Path. Chemin d’accès au fichier xml de conjugaison.
_detect_allowed_endings()[source]
Détecte les terminaisons autorisées des verbes dans les langues prises en charge.
Toutes les langues prises en charge à l’exception de l’anglais limitent la forme qu’un verbe peut prendre.
Comme l’anglais est beaucoup plus productif et varié dans la morphologie de ses verbes, n’importe quel mot est autorisé comme un verbe.
Renvoie:set. Un ensemble contenant les terminaisons autorisées des verbes dans la langue cible.
is_valid_verb(verb)[source]
Vérifie si le verbe est un verbe valide dans la langue cible.
Les mots anglais sont toujours traités comme des verbes possibles.
Les verbes dans les autres langues sont filtrés par leurs terminaisons.
Paramètres:verb – string. Le verbe à conjuguer.
Renvoie:bool. True si le verbe est un verbe valide dans la langue. False sinon.
get_verb_info(verb)[source]

Récupère les informations du verbe et renvoie une instance de VerbInfo.

Paramètres:verb – string. Verbe à conjuguer.
Renvoie:Objet VerbInfo ou None.
get_conjug_info(template)[source]

Récupère les informations de conjugaison correspondant à la classe de conjugaison donné.

Paramètres:template – string. Nom de la classe de conjugaison du verbe.
Renvoie:OrderedDict ou None. OrderedDict contenant les suffixes conjugués de la classe de conjugaison.
class mlconjug.PyVerbiste.Verbiste(language='default')[source]

Bases : mlconjug.PyVerbiste.ConjugManager

C’est la classe qui manipule et sert d’interface avec les fichiers xml de Verbiste.

Paramètres:language – string. | Langue du conjugateur. La langue par défaut est “fr” pour le français.
_load_verbs(verbs_file)[source]

Charge et analyse les verbes du fichier XML.

Paramètres:verbs_file – string ou Path object. Chemin d’accès au fichier xml des verbes.
_parse_verbs(file)[source]

Analyse le fichier XML.

Paramètres:file – FileObject. Fichier XML contenant les verbes.
Renvoie:OrderedDict. Un OrderedDict contenant le verbe et sa classe de conjugaison pour tous les verbes dans le fichier.
_load_conjugations(conjugations_file)[source]

Charge et analyse les conjugaisons à partir du fichier json.

Paramètres:conjugations_file – string ou objet Path. Chemin d’accès au fichier xml de conjugaison.
_parse_conjugations(file)[source]

Analyse le fichier XML.

Paramètres:file – FileObject. Fichier XML contenant les classes de conjugaison.
Renvoie:OrderedDict. Un OrderedDict contenant toutes les classes de conjugaison dans le fichier.
_load_tense(tense)[source]

Charge et analyse les formes fléchies du temps à partir du fichier xml.

Paramètres:tense – liste des balises xml contenant des formes fléchies. La liste des formes fléchies pour le temps courant en cours de traitement.
Renvoie:list. Liste de formes conjuguées.
_detect_allowed_endings()
Détecte les terminaisons autorisées des verbes dans les langues prises en charge.
Toutes les langues prises en charge à l’exception de l’anglais limitent la forme qu’un verbe peut prendre.
Comme l’anglais est beaucoup plus productif et varié dans la morphologie de ses verbes, n’importe quel mot est autorisé comme un verbe.
Renvoie:set. Un ensemble contenant les terminaisons autorisées des verbes dans la langue cible.
get_conjug_info(template)

Récupère les informations de conjugaison correspondant à la classe de conjugaison donné.

Paramètres:template – string. Nom de la classe de conjugaison du verbe.
Renvoie:OrderedDict ou None. OrderedDict contenant les suffixes conjugués de la classe de conjugaison.
get_verb_info(verb)

Récupère les informations du verbe et renvoie une instance de VerbInfo.

Paramètres:verb – string. Verbe à conjuguer.
Renvoie:Objet VerbInfo ou None.
is_valid_verb(verb)
Vérifie si le verbe est un verbe valide dans la langue cible.
Les mots anglais sont toujours traités comme des verbes possibles.
Les verbes dans les autres langues sont filtrés par leurs terminaisons.
Paramètres:verb – string. Le verbe à conjuguer.
Renvoie:bool. True si le verbe est un verbe valide dans la langue. False sinon.
class mlconjug.PyVerbiste.VerbInfo(infinitive, root, template)[source]

Cette classe définit la structure d’information du verbe Verbiste.

Paramètres:
  • infinitive – string. Forme infinitive du verbe.
  • root – string. Racine lexicale du verbe.
  • template – string. Nom de la classe de conjugaison du verbe.
class mlconjug.PyVerbiste.Verb(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

This class defines the Verb Object. TODO: Make the conjugated forms iterable by implementing the iterator protocol.

Paramètres:
  • verb_info – Objet VerbInfo.
  • conjug_info – OrderedDict.
  • subject – string. Active les pronoms abrégés ou entiers. La valeur par défaut est “abbrev” Sélectionnez “pronoun” pour les pronoms complets.
  • predicted – bool. Indique si les informations de conjugaison ont été prédites par le modèle ou extraites de l’ensemble de données.
iterate()[source]

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ceci est la version générique de cette méthode.
Cette version n’ajoute pas de pronoms personnels aux formes conjuguées.
Cette méthode peut gérer n’importe quel nouvelle langue si la structure de conjugaison est conforme au schéma XML de Verbiste.
class mlconjug.PyVerbiste.VerbFr(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

Bases : mlconjug.PyVerbiste.Verb

Cette classe définit l’objet Verb français.

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ajoute les pronoms personnels aux verbes fléchis.
iterate()

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

class mlconjug.PyVerbiste.VerbEn(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

Bases : mlconjug.PyVerbiste.Verb

Cette classe définit l’objet de Verb anglais.

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ajoute les pronoms personnels aux verbes fléchis.
iterate()

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

class mlconjug.PyVerbiste.VerbEs(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

Bases : mlconjug.PyVerbiste.Verb

Cette classe définit l’objet Verb espagnol.

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ajoute les pronoms personnels aux verbes fléchis.
iterate()

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

class mlconjug.PyVerbiste.VerbIt(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

Bases : mlconjug.PyVerbiste.Verb

Cette classe définit l’objet Verb italien.

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ajoute les pronoms personnels aux verbes fléchis.
iterate()

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

class mlconjug.PyVerbiste.VerbPt(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

Bases : mlconjug.PyVerbiste.Verb

Cette classe définit l’objet Verb portugais.

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ajoute les pronoms personnels aux verbes fléchis.
iterate()

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

class mlconjug.PyVerbiste.VerbRo(verb_info, conjug_info, subject='abbrev', predicted=False)[source]

Bases : mlconjug.PyVerbiste.Verb

Cette classe définit l’objet Verb roumain.

iterate()

Iterates over all conjugated forms and returns a list of tuples of those conjugated forms. :return:

_load_conjug()[source]
Remplit les formes fléchies du verbe.
Ajoute les pronoms personnels aux verbes fléchis.