commit 8b2fe93e86125f4b85ab69af6e30b2568bcb6ca8
parent 9b8a5a4f696aa1a92466ee7c554ebe91c6c75b48
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date: Mon, 17 Nov 2025 23:41:30 -0500
[tst] Modifier le programme de test
La précision et le rappel est maintenant calculée, de même que la F1.
Diffstat:
| M | bin/rapport.py | | | 178 | +++++++++++++++++++++++++++++++++++++++++++++---------------------------------- |
| D | verbes/verbes.pre | | | 498 | ------------------------------------------------------------------------------- |
2 fichiers modifiés, 102 insertions(+), 574 suppressions(-)
diff --git a/bin/rapport.py b/bin/rapport.py
@@ -2,108 +2,134 @@
#
# rapport.py -- Produire un rapport sur la performance du modèle.
#
-# $1 - chemin vers l’extension
-# $2 - chemin vers un échantillon
-# $3 - chemin vers les préfixes
+# $1 - Chemin vers l’extension
+# $2 - Chemin vers l’échantillon
+# $3 - Chemin vers les préfixes
import sys
-# Charger dans un ensemble les lignes contenues dans un fichier.
-def charger_lignes(fichier):
- with open(fichier, "r") as f:
- lignes = {ligne.rstrip() for ligne in f}
- return lignes
-
-# Charger dans un dictionnaire les paires contenues dans un fichier. Ces paires
-# doivent figurer une par ligne et leurs éléments doivent être séparés par un
-# caractère de tabulation.
+# Charger dans un ensemble de tuples les paires contenues dans un fichier. Ces
+# paires doivent figurer une par ligne et leurs éléments doivent être séparés
+# par un caractère de tabulation.
def charger_paires(fichier):
- paires = {}
+ paires = set()
with open(fichier, "r") as f:
for ligne in f:
champs = ligne.rstrip().split("\t")
if len(champs) != 2:
- raise ValueError("{}: {} plutôt que 2".format(fichier, len(champs)))
- paires[champs[0]] = champs[1]
+ raise ValueError(f"{fichier}: {len(champs)} champ(s) plutôt que 2.")
+ paires.add((champs[0], champs[1]))
return paires
-# Le test d’inclusion vérifie si l’échantillon est un sous-ensemble de
-# l’extension. Il rapporte l’identité des paires de l’échantillon qui ne sont
-# pas incluses dans l’extension.
-def inclusion(echantillon, extension):
- excluses = {}
- for f in echantillon:
- if f not in extension:
- excluses[f] = (echantillon[f], None)
- elif echantillon[f] != extension[f]:
- excluses[f] = (echantillon[f], extension[f])
- return excluses
+def charger_lignes(fichier):
+ lignes = set()
+ with open(fichier, "r") as f:
+ lignes = {ligne.rstrip() for ligne in f}
+ return lignes
+
+# Convertir les paires d’un ensembe de couples à un dictionnaire dont la clé en
+# est le premier élément et la valeur le second. Aucune information n’est
+# perdue si le transducteur est séquentiel.
+def paires_vers_dict(paires):
+ return {paire[0]:paire[1] for paire in paires}
+
+# Tester la séquentialité de l’extension dans le sens de la génération. Une
+# description abstraite doit correspondre à une seule forme. Renvoie un
+# ensemble contenant les descriptions abstraites qui rendent l’extension
+# non-séquentielle.
+def tester_sequentialite(extension):
+ desc = set()
+ doublons = set()
+ for paire in extension:
+ if paire[0] not in desc:
+ desc.add(paire[0])
+ else:
+ doublons.add(paire[0])
+ return doublons
+
+# Renvoyer les formes générés correctes.
+def vrais_positifs(echantillon, extension):
+ vp = set()
+ for c in echantillon:
+ if c in extension and echantillon[c] == extension[c]:
+ vp.add(c)
+ return vp
+
+# Renvoyer les formes générées incorrectes.
+def faux_positifs(echantillon, extension):
+ fp = set()
+ for c in echantillon:
+ if c in extension and echantillon[c] != extension[c]:
+ fp.add(c)
+ return fp
-# Le test de retenue vérifie si le modèle de surgénère pas. Il rapporte
-# l’identité des paires de l’extension qui ne sont pas incluses dans
-# l’échantillon. Cependant, puisque, par définition, l’échantillon est un
-# sous-ensemble des formes correctes et que l’extension doit tendre à inclure
-# toutes les formes correctes, il faut que le test ne porte que sur un
-# sous-ensemble de l’extension, sous-ensemble qui doit être inclus dans
-# l’échantillon. Ce sous-ensemble est déterminé par l’ensemble _prefixe_, qui
-# cause l’exclusion des formes dont il n’est pas le préfixe.
-def retenue(echantillon, extension, prefixes):
+# Renvoyer les formes non générées qui auraient dû l’être.
+def faux_negatifs(echantillon, extension):
+ fn = set()
+ for c in echantillon:
+ if c not in extension:
+ fn.add(c)
+ return fn
- def filtrer(extension, prefixes):
- extfiltre = {}
- for c in extension:
- for pref in prefixes:
- if c.startswith(pref):
- extfiltre[c] = extension[c]
- return extfiltre
+def precision(vp, fp):
+ return len(vp) / (len(vp) + len(fp)) * 100
- extfiltre = filtrer(extension, prefixes)
+def rappel(vp, fn):
+ return len(vp) / (len(vp) + len(fn)) * 100
- return (inclusion(extfiltre, echantillon), len(extfiltre))
+def f1(pre, rap):
+ return 2 * (pre * rap) / (pre + rap)
-# Afficher un petit rapport en sortie standard.
-def rapporter(echantillon, extension, prefixes):
+# Afficher le rapport un sortie standard.
+def rapporter (echantillon, extension):
print("=== RAPPORT ===")
print()
- print("Nombre de formes générées: {}".format(len(extension)))
- funiques = {extension[c] for c in extension}
- print("Nombre de formes uniques générées: {}".format(len(funiques)))
- print("Taille de l’échantillon: {}".format(len(echantillon)))
+ res = tester_sequentialite(extension)
+ if res:
+ print("NON SÉQUENTIEL!")
+ for desc in res:
+ print(desc)
+ return
+ # Convertir les paires
+ echantillon = paires_vers_dict(echantillon)
+ extension = paires_vers_dict(extension)
+ print(f"Nombre de formes générées: {len(extension)}")
+ res = len({extension[c] for c in extension})
+ print("Nombre de formes uniques générées: "
+ f"{res} ({res/len(extension)*100:.2f}%)")
+ print(f"Taille de l’échantillon: {len(echantillon)} "
+ f"({len(echantillon)/len(extension)*100:.2f}%)")
print()
- print("--- INCLUSION ---")
+ vp = vrais_positifs(echantillon, extension)
+ fp = faux_positifs(echantillon, extension)
+ fn = faux_negatifs(echantillon, extension)
+ print("--- FAUX POSITIFS ---")
print()
- excluses = inclusion(echantillon, extension)
- stat = [0,0]
- for e in excluses:
- if excluses[e][1] == None:
- print("{}: {}".format(e, excluses[e][0]))
- stat[0] = stat[0] + 1
- else:
- print("{}: {} ({})".format(e, excluses[e][0], excluses[e][1]))
- stat[1] = stat[1] + 1
- if excluses: # Afficher une ligne vide seulement si nécessaire
+ for f in fp:
+ print(f"{f}: {echantillon[f]} ({extension[f]})")
+ if fp:
print()
- print("Nombre de formes manquantes: {}".format(stat[0]))
- print("Nombre de formes erronnées: {}".format(stat[1]))
- print("Performance: {:.2f}%".format((1 - (len(excluses) / len(extension))) * 100))
- print()
- print("--- RETENUE ---")
+ print("--- FAUX NÉGATIFS ---")
print()
- surgenerees, n = retenue(echantillon, extension, prefixes)
- for s in surgenerees:
- print("{}: {}".format(s, surgenerees[s][0]))
- if surgenerees: # Afficher une ligne vide seulement si nécessaire
+ for f in fn:
+ print(f"{f}: {echantillon[f]}")
+ if fn:
print()
- print("Nombre de formes surgénérées: {}".format(len(surgenerees)))
- print("Couverture: {:.2f}%".format(n / len(extension) * 100))
- print("Performance: {:.2f}%".format((1 - (len(surgenerees) / len(extension))) * 100))
+ print(f"Nombre de vrais positifs: {len(vp)}")
+ print(f"Nombre de faux positifs: {len(fp)}")
+ print(f"Nombre de faux négatifs: {len(fn)}")
+ pre = precision(vp, fp)
+ print(f"Précision: {pre:.2f}")
+ rap = rappel(vp, fn)
+ print(f"Rappel: {rap:.2f}")
+ f = f1(pre, rap)
+ print(f"F1: {f:.2f}")
if __name__ == "__main__":
- if len(sys.argv) != 4:
+ if len(sys.argv) != 3:
raise RuntimeError("Mauvais arguments.")
ext = charger_paires(sys.argv[1])
ech = charger_paires(sys.argv[2])
- pre = charger_lignes(sys.argv[3])
- rapporter(ech, ext, pre)
+ rapporter(ech, ext)
diff --git a/verbes/verbes.pre b/verbes/verbes.pre
@@ -1,498 +0,0 @@
-akushu+VAI+Est+Indép+Dub+Prés
-akushu+VAI+Est+Indép+Ind+Pas
-akushu+VAI+Est+Indép+Ind+Prés
-akushu+VAI+Est+Indép+Indir+Pas
-akushu+VAI+Est+Indép+Indir+Prés
-akushu+VAI+Ouest+Indép+Dub+Prés
-akushu+VAI+Ouest+Indép+Ind+Pas
-akushu+VAI+Ouest+Indép+Ind+Prés
-akushu+VAI+Ouest+Indép+Indir+Pas
-akushu+VAI+Ouest+Indép+Indir+Prés
-apashtau+VAI+Est+Indép+Dub+Prés
-apashtau+VAI+Est+Indép+Ind+Pas
-apashtau+VAI+Est+Indép+Ind+Prés
-apashtau+VAI+Est+Indép+Indir+Pas
-apashtau+VAI+Est+Indép+Indir+Prés
-apashtau+VAI+Ouest+Indép+Dub+Prés
-apashtau+VAI+Ouest+Indép+Ind+Pas
-apashtau+VAI+Ouest+Indép+Ind+Prés
-apashtau+VAI+Ouest+Indép+Indir+Pas
-apashtau+VAI+Ouest+Indép+Indir+Prés
-apatan+VII+Est+Indép+Dub+Prés
-apatan+VII+Est+Indép+Ind+Pas
-apatan+VII+Est+Indép+Ind+Prés
-apatan+VII+Est+Indép+Indir+Pas
-apatan+VII+Est+Indép+Indir+Prés
-apatan+VII+Ouest+Indép+Dub+Prés
-apatan+VII+Ouest+Indép+Ind+Pas
-apatan+VII+Ouest+Indép+Ind+Prés
-apatan+VII+Ouest+Indép+Indir+Pas
-apatan+VII+Ouest+Indép+Indir+Prés
-apishashu+VII+Est+Indép+Dub+Prés
-apishashu+VII+Est+Indép+Ind+Pas
-apishashu+VII+Est+Indép+Ind+Prés
-apishashu+VII+Est+Indép+Indir+Pas
-apishashu+VII+Est+Indép+Indir+Prés
-apishashu+VII+Ouest+Indép+Dub+Prés
-apishashu+VII+Ouest+Indép+Ind+Pas
-apishashu+VII+Ouest+Indép+Ind+Prés
-apishashu+VII+Ouest+Indép+Indir+Pas
-apishashu+VII+Ouest+Indép+Indir+Prés
-ashtueimᵘ+VTI+Est+Indép+Ind+Prés
-ashtueimᵘ+VTI+Ouest+Indép+Ind+Prés
-atusseu+VAI+Est+Indép+Dub+Prés
-atusseu+VAI+Est+Indép+Ind+Pas
-atusseu+VAI+Est+Indép+Ind+Prés
-atusseu+VAI+Est+Indép+Indir+Pas
-atusseu+VAI+Est+Indép+Indir+Prés
-atusseu+VAI+Ouest+Indép+Dub+Prés
-atusseu+VAI+Ouest+Indép+Ind+Pas
-atusseu+VAI+Ouest+Indép+Ind+Prés
-atusseu+VAI+Ouest+Indép+Indir+Pas
-atusseu+VAI+Ouest+Indép+Indir+Prés
-auassiu+VAI+Est+Indép+Dub+Prés
-auassiu+VAI+Est+Indép+Ind+Pas
-auassiu+VAI+Est+Indép+Ind+Prés
-auassiu+VAI+Est+Indép+Indir+Pas
-auassiu+VAI+Est+Indép+Indir+Prés
-auassiu+VAI+Ouest+Indép+Dub+Prés
-auassiu+VAI+Ouest+Indép+Ind+Pas
-auassiu+VAI+Ouest+Indép+Ind+Prés
-auassiu+VAI+Ouest+Indép+Indir+Pas
-auassiu+VAI+Ouest+Indép+Indir+Prés
-ishikapau+VAI+Est+Indép+Dub+Prés
-ishikapau+VAI+Est+Indép+Ind+Pas
-ishikapau+VAI+Est+Indép+Ind+Prés
-ishikapau+VAI+Est+Indép+Indir+Pas
-ishikapau+VAI+Est+Indép+Indir+Prés
-ishikapau+VAI+Ouest+Indép+Dub+Prés
-ishikapau+VAI+Ouest+Indép+Ind+Pas
-ishikapau+VAI+Ouest+Indép+Ind+Prés
-ishikapau+VAI+Ouest+Indép+Indir+Pas
-ishikapau+VAI+Ouest+Indép+Indir+Prés
-itishaueu+VTA+Est+Indép+Dub+Prés
-itishaueu+VTA+Est+Indép+Ind+Pas
-itishaueu+VTA+Est+Indép+Ind+Prés
-itishaueu+VTA+Est+Indép+Indir+Pas
-itishaueu+VTA+Est+Indép+Indir+Prés
-itishaueu+VTA+Ouest+Indép+Dub+Prés
-itishaueu+VTA+Ouest+Indép+Ind+Pas
-itishaueu+VTA+Ouest+Indép+Ind+Prés
-itishaueu+VTA+Ouest+Indép+Indir+Pas
-itishaueu+VTA+Ouest+Indép+Indir+Prés
-katueu+VTA+Est+Indép+Dub+Prés
-katueu+VTA+Est+Indép+Ind+Pas
-katueu+VTA+Est+Indép+Ind+Prés
-katueu+VTA+Est+Indép+Indir+Pas
-katueu+VTA+Est+Indép+Indir+Prés
-katueu+VTA+Ouest+Indép+Dub+Prés
-katueu+VTA+Ouest+Indép+Ind+Pas
-katueu+VTA+Ouest+Indép+Ind+Prés
-katueu+VTA+Ouest+Indép+Indir+Pas
-katueu+VTA+Ouest+Indép+Indir+Prés
-minu+VAI+Est+Indép+Dub+Prés
-minu+VAI+Est+Indép+Ind+Pas
-minu+VAI+Est+Indép+Ind+Prés
-minu+VAI+Ouest+Indép+Dub+Prés
-minu+VAI+Ouest+Indép+Ind+Pas
-minu+VAI+Ouest+Indép+Ind+Prés
-mishishtu+VAI+Est+Indép+Dub+Prés
-mishishtu+VAI+Est+Indép+Ind+Pas
-mishishtu+VAI+Est+Indép+Ind+Prés
-mishishtu+VAI+Est+Indép+Indir+Pas
-mishishtu+VAI+Est+Indép+Indir+Prés
-mishishtu+VAI+Ouest+Indép+Dub+Prés
-mishishtu+VAI+Ouest+Indép+Ind+Pas
-mishishtu+VAI+Ouest+Indép+Ind+Prés
-mishishtu+VAI+Ouest+Indép+Indir+Pas
-mishishtu+VAI+Ouest+Indép+Indir+Prés
-mińeu+VTA+Est+Indép+Dub+Prés
-mińeu+VTA+Est+Indép+Ind+Pas
-mińeu+VTA+Est+Indép+Ind+Prés
-mińeu+VTA+Est+Indép+Indir+Pas
-mińeu+VTA+Est+Indép+Indir+Prés
-mińeu+VTA+Ouest+Indép+Dub+Prés
-mińeu+VTA+Ouest+Indép+Ind+Pas
-mińeu+VTA+Ouest+Indép+Ind+Prés
-mińeu+VTA+Ouest+Indép+Indir+Pas
-mińeu+VTA+Ouest+Indép+Indir+Prés
-mińuateu+VTA+Est+Indép+Dub+Prés
-mińuateu+VTA+Est+Indép+Ind+Pas
-mińuateu+VTA+Est+Indép+Ind+Prés
-mińuateu+VTA+Est+Indép+Indir+Pas
-mińuateu+VTA+Est+Indép+Indir+Prés
-mińuateu+VTA+Ouest+Indép+Dub+Prés
-mińuateu+VTA+Ouest+Indép+Ind+Pas
-mińuateu+VTA+Ouest+Indép+Ind+Prés
-mińuateu+VTA+Ouest+Indép+Indir+Pas
-mińuateu+VTA+Ouest+Indép+Indir+Prés
-napessiu+VAI+Est+Indép+Ind+Prés
-napessiu+VAI+Ouest+Indép+Ind+Prés
-natau+VAI+Est+Indép+Dub+Prés
-natau+VAI+Est+Indép+Ind+Pas
-natau+VAI+Est+Indép+Ind+Prés
-natau+VAI+Est+Indép+Indir+Pas
-natau+VAI+Est+Indép+Indir+Prés
-natau+VAI+Ouest+Indép+Dub+Prés
-natau+VAI+Ouest+Indép+Ind+Pas
-natau+VAI+Ouest+Indép+Ind+Prés
-natau+VAI+Ouest+Indép+Indir+Pas
-natau+VAI+Ouest+Indép+Indir+Prés
-natutamᵘ+VTI+Est+Indép+Dub+Prés
-natutamᵘ+VTI+Est+Indép+Ind+Pas
-natutamᵘ+VTI+Est+Indép+Ind+Prés
-natutamᵘ+VTI+Est+Indép+Indir+Pas
-natutamᵘ+VTI+Est+Indép+Indir+Prés
-natutamᵘ+VTI+Ouest+Indép+Dub+Prés
-natutamᵘ+VTI+Ouest+Indép+Ind+Pas
-natutamᵘ+VTI+Ouest+Indép+Ind+Prés
-natutamᵘ+VTI+Ouest+Indép+Indir+Pas
-natutamᵘ+VTI+Ouest+Indép+Indir+Prés
-nikamu+VAI+Est+Indép+Dub+Prés
-nikamu+VAI+Est+Indép+Ind+Pas
-nikamu+VAI+Est+Indép+Ind+Prés
-nikamu+VAI+Est+Indép+Indir+Pas
-nikamu+VAI+Est+Indép+Indir+Prés
-nikamu+VAI+Ouest+Indép+Dub+Prés
-nikamu+VAI+Ouest+Indép+Ind+Pas
-nikamu+VAI+Ouest+Indép+Ind+Prés
-nikamu+VAI+Ouest+Indép+Indir+Pas
-nikamu+VAI+Ouest+Indép+Indir+Prés
-nipau+VAI+Est+Indép+Dub+Prés
-nipau+VAI+Est+Indép+Ind+Pas
-nipau+VAI+Est+Indép+Ind+Prés
-nipau+VAI+Est+Indép+Indir+Pas
-nipau+VAI+Est+Indép+Indir+Prés
-nipau+VAI+Ouest+Indép+Dub+Prés
-nipau+VAI+Ouest+Indép+Ind+Pas
-nipau+VAI+Ouest+Indép+Ind+Prés
-nipau+VAI+Ouest+Indép+Indir+Pas
-nipau+VAI+Ouest+Indép+Indir+Prés
-nipiu+VII+Est+Indép+Dub+Prés
-nipiu+VII+Est+Indép+Ind+Pas
-nipiu+VII+Est+Indép+Ind+Prés
-nipiu+VII+Est+Indép+Indir+Pas
-nipiu+VII+Est+Indép+Indir+Prés
-nipiun+VII+Ouest+Indép+Dub+Prés
-nipiun+VII+Ouest+Indép+Ind+Pas
-nipiun+VII+Ouest+Indép+Ind+Prés
-nipiun+VII+Ouest+Indép+Indir+Pas
-nipiun+VII+Ouest+Indép+Indir+Prés
-papatau+VAI+Est+Indép+Dub+Prés
-papatau+VAI+Est+Indép+Ind+Pas
-papatau+VAI+Est+Indép+Ind+Prés
-papatau+VAI+Est+Indép+Indir+Pas
-papatau+VAI+Est+Indép+Indir+Prés
-papatau+VAI+Ouest+Indép+Dub+Prés
-papatau+VAI+Ouest+Indép+Ind+Pas
-papatau+VAI+Ouest+Indép+Ind+Prés
-papatau+VAI+Ouest+Indép+Indir+Pas
-papatau+VAI+Ouest+Indép+Indir+Prés
-pashteu+VII+Est+Indép+Dub+Prés
-pashteu+VII+Est+Indép+Ind+Pas
-pashteu+VII+Est+Indép+Ind+Prés
-pashteu+VII+Est+Indép+Indir+Pas
-pashteu+VII+Est+Indép+Indir+Prés
-pashteu+VII+Ouest+Indép+Dub+Prés
-pashteu+VII+Ouest+Indép+Ind+Pas
-pashteu+VII+Ouest+Indép+Ind+Prés
-pashteu+VII+Ouest+Indép+Indir+Pas
-pashteu+VII+Ouest+Indép+Indir+Prés
-peshueu+VTA+Est+Indép+Dub+Prés
-peshueu+VTA+Est+Indép+Ind+Pas
-peshueu+VTA+Est+Indép+Ind+Prés
-peshueu+VTA+Est+Indép+Indir+Pas
-peshueu+VTA+Est+Indép+Indir+Prés
-peshueu+VTA+Ouest+Indép+Dub+Prés
-peshueu+VTA+Ouest+Indép+Ind+Pas
-peshueu+VTA+Ouest+Indép+Ind+Prés
-peshueu+VTA+Ouest+Indép+Indir+Pas
-peshueu+VTA+Ouest+Indép+Indir+Prés
-petamᵘ+VTI+Est+Indép+Dub+Prés
-petamᵘ+VTI+Est+Indép+Ind+Pas
-petamᵘ+VTI+Est+Indép+Ind+Prés
-petamᵘ+VTI+Est+Indép+Indir+Pas
-petamᵘ+VTI+Est+Indép+Indir+Prés
-petamᵘ+VTI+Ouest+Indép+Dub+Prés
-petamᵘ+VTI+Ouest+Indép+Ind+Pas
-petamᵘ+VTI+Ouest+Indép+Ind+Prés
-petamᵘ+VTI+Ouest+Indép+Indir+Pas
-petamᵘ+VTI+Ouest+Indép+Indir+Prés
-petueu+VTA+Est+Indép+Dub+Prés
-petueu+VTA+Est+Indép+Ind+Pas
-petueu+VTA+Est+Indép+Ind+Prés
-petueu+VTA+Est+Indép+Indir+Pas
-petueu+VTA+Est+Indép+Indir+Prés
-petueu+VTA+Ouest+Indép+Dub+Prés
-petueu+VTA+Ouest+Indép+Ind+Pas
-petueu+VTA+Ouest+Indép+Ind+Prés
-petueu+VTA+Ouest+Indép+Indir+Pas
-petueu+VTA+Ouest+Indép+Indir+Prés
-pikupańu+VII+Est+Indép+Dub+Prés
-pikupańu+VII+Est+Indép+Ind+Pas
-pikupańu+VII+Est+Indép+Ind+Prés
-pikupańu+VII+Est+Indép+Indir+Pas
-pikupańu+VII+Est+Indép+Indir+Prés
-pikupańu+VII+Ouest+Indép+Dub+Prés
-pikupańu+VII+Ouest+Indép+Ind+Pas
-pikupańu+VII+Ouest+Indép+Ind+Prés
-pikupańu+VII+Ouest+Indép+Indir+Pas
-pikupańu+VII+Ouest+Indép+Indir+Prés
-pimiu+VII+Est+Indép+Ind+Prés
-pimiun+VII+Ouest+Indép+Ind+Prés
-puamu+VAI+Est+Indép+Dub+Prés
-puamu+VAI+Est+Indép+Ind+Pas
-puamu+VAI+Est+Indép+Ind+Prés
-puamu+VAI+Est+Indép+Indir+Pas
-puamu+VAI+Est+Indép+Indir+Prés
-puamu+VAI+Ouest+Indép+Dub+Prés
-puamu+VAI+Ouest+Indép+Ind+Pas
-puamu+VAI+Ouest+Indép+Ind+Prés
-puamu+VAI+Ouest+Indép+Indir+Pas
-puamu+VAI+Ouest+Indép+Indir+Prés
-sheimᵘ+VTI+Est+Indép+Dub+Prés
-sheimᵘ+VTI+Est+Indép+Ind+Pas
-sheimᵘ+VTI+Est+Indép+Ind+Prés
-sheimᵘ+VTI+Est+Indép+Indir+Pas
-sheimᵘ+VTI+Est+Indép+Indir+Prés
-sheimᵘ+VTI+Ouest+Indép+Dub+Prés
-sheimᵘ+VTI+Ouest+Indép+Ind+Pas
-sheimᵘ+VTI+Ouest+Indép+Ind+Prés
-sheimᵘ+VTI+Ouest+Indép+Indir+Pas
-sheimᵘ+VTI+Ouest+Indép+Indir+Prés
-shikatshu+VAI+Est+Indép+Dub+Prés
-shikatshu+VAI+Est+Indép+Ind+Pas
-shikatshu+VAI+Est+Indép+Ind+Prés
-shikatshu+VAI+Est+Indép+Indir+Pas
-shikatshu+VAI+Est+Indép+Indir+Prés
-shikatshu+VAI+Ouest+Indép+Dub+Prés
-shikatshu+VAI+Ouest+Indép+Ind+Pas
-shikatshu+VAI+Ouest+Indép+Ind+Prés
-shikatshu+VAI+Ouest+Indép+Indir+Pas
-shikatshu+VAI+Ouest+Indép+Indir+Prés
-shipeku+VII+Est+Indép+Dub+Prés
-shipeku+VII+Est+Indép+Ind+Pas
-shipeku+VII+Est+Indép+Ind+Prés
-shipeku+VII+Est+Indép+Indir+Pas
-shipeku+VII+Est+Indép+Indir+Prés
-shipekun+VII+Ouest+Indép+Dub+Prés
-shipekun+VII+Ouest+Indép+Ind+Pas
-shipekun+VII+Ouest+Indép+Ind+Prés
-shipekun+VII+Ouest+Indép+Indir+Pas
-shipekun+VII+Ouest+Indép+Indir+Prés
-shitamu+VII+Est+Indép+Dub+Prés
-shitamu+VII+Est+Indép+Ind+Pas
-shitamu+VII+Est+Indép+Ind+Prés
-shitamu+VII+Est+Indép+Indir+Pas
-shitamu+VII+Est+Indép+Indir+Prés
-shitamu+VII+Ouest+Indép+Dub+Prés
-shitamu+VII+Ouest+Indép+Ind+Pas
-shitamu+VII+Ouest+Indép+Ind+Prés
-shitamu+VII+Ouest+Indép+Indir+Pas
-shitamu+VII+Ouest+Indép+Indir+Prés
-shiueńu+VAI+Est+Indép+Dub+Prés
-shiueńu+VAI+Est+Indép+Ind+Pas
-shiueńu+VAI+Est+Indép+Ind+Prés
-shiueńu+VAI+Est+Indép+Indir+Prés
-shiueńu+VAI+Ouest+Indép+Dub+Prés
-shiueńu+VAI+Ouest+Indép+Ind+Pas
-shiueńu+VAI+Ouest+Indép+Ind+Prés
-shiueńu+VAI+Ouest+Indép+Indir+Prés
-takuan+VII+Est+Indép+Dub+Prés
-takuan+VII+Est+Indép+Ind+Pas
-takuan+VII+Est+Indép+Ind+Prés
-takuan+VII+Est+Indép+Indir+Pas
-takuan+VII+Est+Indép+Indir+Prés
-takuan+VII+Ouest+Indép+Dub+Prés
-takuan+VII+Ouest+Indép+Ind+Pas
-takuan+VII+Ouest+Indép+Ind+Prés
-takuan+VII+Ouest+Indép+Indir+Pas
-takuan+VII+Ouest+Indép+Indir+Prés
-takushinu+VAI+Est+Indép+Dub+Prés
-takushinu+VAI+Est+Indép+Ind+Pas
-takushinu+VAI+Est+Indép+Ind+Prés
-takushinu+VAI+Est+Indép+Indir+Pas
-takushinu+VAI+Est+Indép+Indir+Prés
-takushinu+VAI+Ouest+Indép+Dub+Prés
-takushinu+VAI+Ouest+Indép+Ind+Pas
-takushinu+VAI+Ouest+Indép+Ind+Prés
-takushinu+VAI+Ouest+Indép+Indir+Pas
-takushinu+VAI+Ouest+Indép+Indir+Prés
-tashkaimᵘ+VTI+Est+Indép+Ind+Pas
-tashkaimᵘ+VTI+Est+Indép+Ind+Prés
-tashkaimᵘ+VTI+Est+Indép+Indir+Prés
-tashkaimᵘ+VTI+Ouest+Indép+Ind+Pas
-tashkaimᵘ+VTI+Ouest+Indép+Ind+Prés
-tashkaimᵘ+VTI+Ouest+Indép+Indir+Prés
-tshiminamᵘ+VTI+Est+Indép+Dub+Prés
-tshiminamᵘ+VTI+Est+Indép+Ind+Pas
-tshiminamᵘ+VTI+Est+Indép+Ind+Prés
-tshiminamᵘ+VTI+Est+Indép+Indir+Pas
-tshiminamᵘ+VTI+Est+Indép+Indir+Prés
-tshiminamᵘ+VTI+Ouest+Indép+Dub+Prés
-tshiminamᵘ+VTI+Ouest+Indép+Ind+Pas
-tshiminamᵘ+VTI+Ouest+Indép+Ind+Prés
-tshiminamᵘ+VTI+Ouest+Indép+Indir+Pas
-tshiminamᵘ+VTI+Ouest+Indép+Indir+Prés
-tshimuan+VII+Est+Indép+Dub+Prés
-tshimuan+VII+Est+Indép+Ind+Pas
-tshimuan+VII+Est+Indép+Ind+Prés
-tshimuan+VII+Est+Indép+Indir+Pas
-tshimuan+VII+Est+Indép+Indir+Prés
-tshimuan+VII+Ouest+Indép+Dub+Prés
-tshimuan+VII+Ouest+Indép+Ind+Pas
-tshimuan+VII+Ouest+Indép+Ind+Prés
-tshimuan+VII+Ouest+Indép+Indir+Pas
-tshimuan+VII+Ouest+Indép+Indir+Prés
-tshipaimᵘ+VTI+Est+Indép+Dub+Prés
-tshipaimᵘ+VTI+Est+Indép+Ind+Pas
-tshipaimᵘ+VTI+Est+Indép+Ind+Prés
-tshipaimᵘ+VTI+Est+Indép+Indir+Pas
-tshipaimᵘ+VTI+Est+Indép+Indir+Prés
-tshipaimᵘ+VTI+Ouest+Indép+Dub+Prés
-tshipaimᵘ+VTI+Ouest+Indép+Ind+Pas
-tshipaimᵘ+VTI+Ouest+Indép+Ind+Prés
-tshipaimᵘ+VTI+Ouest+Indép+Indir+Pas
-tshipaimᵘ+VTI+Ouest+Indép+Indir+Prés
-tshishishu+VAI+Est+Indép+Dub+Prés
-tshishishu+VAI+Est+Indép+Ind+Pas
-tshishishu+VAI+Est+Indép+Ind+Prés
-tshishishu+VAI+Ouest+Indép+Dub+Prés
-tshishishu+VAI+Ouest+Indép+Ind+Pas
-tshishishu+VAI+Ouest+Indép+Ind+Prés
-tshishiteu+VII+Est+Indép+Ind+Prés
-tshishiteu+VII+Ouest+Indép+Ind+Prés
-tshitapatamᵘ+VTI+Est+Indép+Dub+Prés
-tshitapatamᵘ+VTI+Est+Indép+Ind+Pas
-tshitapatamᵘ+VTI+Est+Indép+Ind+Prés
-tshitapatamᵘ+VTI+Est+Indép+Indir+Pas
-tshitapatamᵘ+VTI+Est+Indép+Indir+Prés
-tshitapatamᵘ+VTI+Ouest+Indép+Dub+Prés
-tshitapatamᵘ+VTI+Ouest+Indép+Ind+Pas
-tshitapatamᵘ+VTI+Ouest+Indép+Ind+Prés
-tshitapatamᵘ+VTI+Ouest+Indép+Indir+Pas
-tshitapatamᵘ+VTI+Ouest+Indép+Indir+Prés
-tshitimu+VAI+Est+Indép+Dub+Prés
-tshitimu+VAI+Est+Indép+Ind+Pas
-tshitimu+VAI+Est+Indép+Ind+Prés
-tshitimu+VAI+Ouest+Indép+Dub+Prés
-tshitimu+VAI+Ouest+Indép+Ind+Pas
-tshitimu+VAI+Ouest+Indép+Ind+Prés
-tshitshipańu+VII+Est+Indép+Ind+Pas
-tshitshipańu+VII+Est+Indép+Ind+Prés
-tshitshipańu+VII+Est+Indép+Indir+Prés
-tshitshipańu+VII+Ouest+Indép+Ind+Pas
-tshitshipańu+VII+Ouest+Indép+Ind+Prés
-tshitshipańu+VII+Ouest+Indép+Indir+Prés
-tshiuepańu+VAI+Est+Indép+Dub+Prés
-tshiuepańu+VAI+Est+Indép+Ind+Pas
-tshiuepańu+VAI+Est+Indép+Ind+Prés
-tshiuepańu+VAI+Est+Indép+Indir+Pas
-tshiuepańu+VAI+Est+Indép+Indir+Prés
-tshiuepańu+VAI+Ouest+Indép+Dub+Prés
-tshiuepańu+VAI+Ouest+Indép+Ind+Pas
-tshiuepańu+VAI+Ouest+Indép+Ind+Prés
-tshiuepańu+VAI+Ouest+Indép+Indir+Pas
-tshiuepańu+VAI+Ouest+Indép+Indir+Prés
-tshiueu+VAI+Est+Indép+Dub+Prés
-tshiueu+VAI+Est+Indép+Ind+Pas
-tshiueu+VAI+Est+Indép+Ind+Prés
-tshiueu+VAI+Est+Indép+Indir+Pas
-tshiueu+VAI+Est+Indép+Indir+Prés
-tshiueu+VAI+Ouest+Indép+Dub+Prés
-tshiueu+VAI+Ouest+Indép+Ind+Pas
-tshiueu+VAI+Ouest+Indép+Ind+Prés
-tshiueu+VAI+Ouest+Indép+Indir+Pas
-tshiueu+VAI+Ouest+Indép+Indir+Prés
-tutamᵘ+VTI+Est+Indép+Ind+Pas
-tutamᵘ+VTI+Est+Indép+Ind+Prés
-tutamᵘ+VTI+Est+Indép+Indir+Prés
-tutamᵘ+VTI+Ouest+Indép+Ind+Pas
-tutamᵘ+VTI+Ouest+Indép+Ind+Prés
-tutamᵘ+VTI+Ouest+Indép+Indir+Prés
-uapameu+VTA+Est+Indép+Dub+Prés
-uapameu+VTA+Est+Indép+Ind+Pas
-uapameu+VTA+Est+Indép+Ind+Prés
-uapameu+VTA+Est+Indép+Indir+Pas
-uapameu+VTA+Est+Indép+Indir+Prés
-uapameu+VTA+Ouest+Indép+Dub+Prés
-uapameu+VTA+Ouest+Indép+Ind+Pas
-uapameu+VTA+Ouest+Indép+Ind+Prés
-uapameu+VTA+Ouest+Indép+Indir+Pas
-uapameu+VTA+Ouest+Indép+Indir+Prés
-uapatamᵘ+VTI+Est+Indép+Dub+Prés
-uapatamᵘ+VTI+Est+Indép+Ind+Pas
-uapatamᵘ+VTI+Est+Indép+Ind+Prés
-uapatamᵘ+VTI+Est+Indép+Indir+Pas
-uapatamᵘ+VTI+Est+Indép+Indir+Prés
-uapatamᵘ+VTI+Ouest+Indép+Dub+Prés
-uapatamᵘ+VTI+Ouest+Indép+Ind+Pas
-uapatamᵘ+VTI+Ouest+Indép+Ind+Prés
-uapatamᵘ+VTI+Ouest+Indép+Indir+Pas
-uapatamᵘ+VTI+Ouest+Indép+Indir+Prés
-uapau+VII+Est+Indép+Dub+Prés
-uapau+VII+Est+Indép+Ind+Pas
-uapau+VII+Est+Indép+Ind+Prés
-uapau+VII+Est+Indép+Indir+Pas
-uapau+VII+Est+Indép+Indir+Prés
-uapau+VII+Ouest+Indép+Dub+Prés
-uapau+VII+Ouest+Indép+Ind+Pas
-uapau+VII+Ouest+Indép+Ind+Prés
-uapau+VII+Ouest+Indép+Indir+Pas
-uapau+VII+Ouest+Indép+Indir+Prés
-uepashtan+VII+Est+Indép+Dub+Prés
-uepashtan+VII+Est+Indép+Ind+Pas
-uepashtan+VII+Est+Indép+Ind+Prés
-uepashtan+VII+Est+Indép+Indir+Pas
-uepashtan+VII+Ouest+Indép+Dub+Prés
-uepashtan+VII+Ouest+Indép+Ind+Pas
-uepashtan+VII+Ouest+Indép+Ind+Prés
-uepashtan+VII+Ouest+Indép+Indir+Pas
-ueńutishiu+VAI+Est+Indép+Dub+Prés
-ueńutishiu+VAI+Est+Indép+Ind+Pas
-ueńutishiu+VAI+Est+Indép+Ind+Prés
-ueńutishiu+VAI+Est+Indép+Indir+Pas
-ueńutishiu+VAI+Est+Indép+Indir+Prés
-ueńutishiu+VAI+Ouest+Indép+Dub+Prés
-ueńutishiu+VAI+Ouest+Indép+Ind+Pas
-ueńutishiu+VAI+Ouest+Indép+Ind+Prés
-ueńutishiu+VAI+Ouest+Indép+Indir+Pas
-ueńutishiu+VAI+Ouest+Indép+Indir+Prés
-uikan+VII+Est+Indép+Ind+Prés
-uikan+VII+Ouest+Indép+Ind+Prés
-uitsheueu+VTA+Est+Indép+Dub+Prés
-uitsheueu+VTA+Est+Indép+Ind+Pas
-uitsheueu+VTA+Est+Indép+Ind+Prés
-uitsheueu+VTA+Est+Indép+Indir+Pas
-uitsheueu+VTA+Est+Indép+Indir+Prés
-uitsheueu+VTA+Ouest+Indép+Dub+Prés
-uitsheueu+VTA+Ouest+Indép+Ind+Pas
-uitsheueu+VTA+Ouest+Indép+Ind+Prés
-uitsheueu+VTA+Ouest+Indép+Indir+Pas
-uitsheueu+VTA+Ouest+Indép+Indir+Prés
-uitshieu+VTA+Est+Indép+Dub+Prés
-uitshieu+VTA+Est+Indép+Ind+Pas
-uitshieu+VTA+Est+Indép+Ind+Prés
-uitshieu+VTA+Est+Indép+Indir+Pas
-uitshieu+VTA+Est+Indép+Indir+Prés
-uitshieu+VTA+Ouest+Indép+Dub+Prés
-uitshieu+VTA+Ouest+Indép+Ind+Pas
-uitshieu+VTA+Ouest+Indép+Ind+Prés
-uitshieu+VTA+Ouest+Indép+Indir+Pas
-uitshieu+VTA+Ouest+Indép+Indir+Prés
-upau+VAI+Est+Indép+Dub+Prés
-upau+VAI+Est+Indép+Ind+Pas
-upau+VAI+Est+Indép+Ind+Prés
-upau+VAI+Est+Indép+Indir+Pas
-upau+VAI+Est+Indép+Indir+Prés
-upau+VAI+Ouest+Indép+Dub+Prés
-upau+VAI+Ouest+Indép+Ind+Pas
-upau+VAI+Ouest+Indép+Ind+Prés
-upau+VAI+Ouest+Indép+Indir+Pas
-upau+VAI+Ouest+Indép+Indir+Prés
-ńutin+VII+Est+Indép+Ind+Pas
-ńutin+VII+Est+Indép+Ind+Prés
-ńutin+VII+Est+Indép+Indir+Prés
-ńutin+VII+Ouest+Indép+Ind+Pas
-ńutin+VII+Ouest+Indép+Ind+Prés
-ńutin+VII+Ouest+Indép+Indir+Prés