Trouver la racine commune pour des mots simples

Exemples de mots et leurs formes pluriel, féminin, féminin pluriel

En français, un mot régulier, comme "ami", va avoir une forme masculin, la plus courte et la plus simple, une forme pluriel masculin, une forme féminin, une forme pluriel féminin.

Exemple :

. Singulier Pluriel
Masculin Ami Amis
Féminin Amie Amies

On voit donc que la transformation masculin → féminin se fait avec un "e" en fin de mot, que le pluriel se fait avec un "s" en fin de mot. Donc la forme inclusive se fait avec "-e-s" en fin de mot, c'est très simple.

In [4]:
def femininregulier(singuliermasculin):
    return singuliermasculin + "e"
In [5]:
def plurielregulier(singuliermasculin):
    return singuliermasculin + "s"
In [6]:
def femininplurielregulier(singuliermasculin):
    return plurielregulier(femininregulier(singuliermasculin))
In [7]:
def formeinclusive(singuliermasculin, sep="-"):
    return singuliermasculin + sep + "e" + sep + "s"
In [10]:
liste_de_mots_singuliermasculin = ["ami", "docteur", "compétent", "joli"]
In [11]:
for func in [femininregulier, plurielregulier, femininplurielregulier, formeinclusive]:
    for mot in liste_de_mots_singuliermasculin:
        print(f"{mot} -> {func(mot)} à la forme {func.__name__}.")
ami -> amie à la forme femininregulier.
docteur -> docteure à la forme femininregulier.
compétent -> compétente à la forme femininregulier.
joli -> jolie à la forme femininregulier.
ami -> amis à la forme plurielregulier.
docteur -> docteurs à la forme plurielregulier.
compétent -> compétents à la forme plurielregulier.
joli -> jolis à la forme plurielregulier.
ami -> amies à la forme femininplurielregulier.
docteur -> docteures à la forme femininplurielregulier.
compétent -> compétentes à la forme femininplurielregulier.
joli -> jolies à la forme femininplurielregulier.
ami -> ami-e-s à la forme formeinclusive.
docteur -> docteur-e-s à la forme formeinclusive.
compétent -> compétent-e-s à la forme formeinclusive.
joli -> joli-e-s à la forme formeinclusive.
In [13]:
from IPython.display import Markdown, display
In [41]:
def voirTable(mot):
    text = f"""
| | Singulier | Pluriel |
|---|---|----|
| Masculin | {mot} | {plurielregulier(mot)} |
| Féminin  | {femininregulier(mot)} | {femininplurielregulier(mot)} |
"""
    display(Markdown(text))
    return text
In [42]:
for mot in liste_de_mots_singuliermasculin:
    _ = voirTable(mot)
Singulier Pluriel
Masculin ami amis
Féminin amie amies
Singulier Pluriel
Masculin docteur docteurs
Féminin docteure docteures
Singulier Pluriel
Masculin compétent compétents
Féminin compétente compétentes
Singulier Pluriel
Masculin joli jolis
Féminin jolie jolies

Ce genre de méthode naïve atteint vite ses limites !

In [ ]:
 
In [43]:
liste_erreurs = ["chien", "chat", "gentil", "cheval", "auteur", "beau"]
In [44]:
for func in [femininregulier, plurielregulier, femininplurielregulier, formeinclusive]:
    print("\n")
    for mot in liste_erreurs:
        print(f"{mot} -> {func(mot)} à la forme {func.__name__}.")

chien -> chiene à la forme femininregulier.
chat -> chate à la forme femininregulier.
gentil -> gentile à la forme femininregulier.
cheval -> chevale à la forme femininregulier.
auteur -> auteure à la forme femininregulier.
beau -> beaue à la forme femininregulier.


chien -> chiens à la forme plurielregulier.
chat -> chats à la forme plurielregulier.
gentil -> gentils à la forme plurielregulier.
cheval -> chevals à la forme plurielregulier.
auteur -> auteurs à la forme plurielregulier.
beau -> beaus à la forme plurielregulier.


chien -> chienes à la forme femininplurielregulier.
chat -> chates à la forme femininplurielregulier.
gentil -> gentiles à la forme femininplurielregulier.
cheval -> chevales à la forme femininplurielregulier.
auteur -> auteures à la forme femininplurielregulier.
beau -> beaues à la forme femininplurielregulier.


chien -> chien-e-s à la forme formeinclusive.
chat -> chat-e-s à la forme formeinclusive.
gentil -> gentil-e-s à la forme formeinclusive.
cheval -> cheval-e-s à la forme formeinclusive.
auteur -> auteur-e-s à la forme formeinclusive.
beau -> beau-e-s à la forme formeinclusive.
In [ ]: