Sam 16 Sep, 2006 19:19
La première question à régler est celle de la génération des formes conjuguées, cela représente déjà un travail considérable.
Ensuite vous avez deux possibilités :
Vous avez beaucoup de place : vous pouvez travailler à partir d'une base de données contenant toutes les conjugaisons : c'est la solution la plus simple à mettre en oeuvre.
Pour un seul verbe non défectif (le cas général) , vous avez déjà 97 formes différentes:
indicatif : 8 temps X 6 personnes = 48 formes
subjonctif : 4 temps X 6 personnes = 24 formes
impératif : 2 temps X 3 personnes = 6 formes
conditionnel : 2 temps X 6 personnes = 12 formes
infinitif : 2 formes
participe : 5 formes
Je vous laisse faire le calcul pour 8 000 à 10 000 verbes ...
Vous êtes limité en place ou vous trouvez que la première solution est inélégante. Vous pensez que c'est plus intéressant et amusant d'automatiser la lemmatisation. (C'est le nom de l'opération consistant à regrouper les différentes formes fléchies d'un mot. Par exemple, brevètent, brevetaient, brevetassent --> breveter ou alors menteur, menteuse, menteurs, menteuses --> menteur.)
Il vous faut alors analyser la forme, faire quelques hypothèses et les vérifier. Pour prendre un exemple:
volerai peut s'analyser en voler et ai ou bien vol et erai,
dans les deux cas il s'agit de la première personne du singulier du futur
simple de l'indicatif. (en réalité, volerai peut s'analyser en bien plus de cas mais c'est là où intervient le petit plus qui fait la différence ... et je n'en parlerai pas ici.)
En gros cela donne :
Séparer radical et désinence
Construire infinitif(s) à partir du radical
Vérifier existence infinitif(s)
Vérifier pour chaque infinitif valide que la forme conjuguée initiale est correcte
Voilà, j'espère ne pas avoir enfreint un brevet ...