Reconstruction de synonymes - correction

On s'intéresse la construction automatiquement de synonymes. En résumé :

L'objectif est alors de proposer une méthode pour reconstruire la base de synonymes.

Génération des données

Construction de la base de synonymes

On passe en revue toute la basse (il y a environ 120.000 lignes) et on s'arrête après 10000 synonymes car sinon, cela prend un temps fou.

On affiche les premiers groupes :

Génération d'une base de phrases modifiées

On utilise Zadig.

On découpe en mot.

On génère les phrases modifiées :

On traite tous les mots :

Exercice : retrouver une partie des synonymes à partir du dernier fichier créé

Le fichier utilisé peut être généré à partir du code précédent ou utiliser cette version : zadig_augmente.zip.

On lit le texte pour voir un peu de qu'il contient :

On supprime les caractères indésirables avec la fonction strip :

Pour détecter les synonymes, on imagine le processus suivant qu'on pourra améliorer au vu des premiers résultats :

On supprime les phrases qui incluent des espaces entre chaque lettre. On a la choix entre les garder, les jeter ou les corriger. On choisit l'option la plus simple : les jeter quitte à y revenir plus tard. Si un espace existe en chaque lettre, cela veut que le nombre de lettres (sans espace) est égal au nombre de mot.

On découpe en mot avec la fonction split :

On code les petits bouts :

Et l'autre :

Pour la boucle final, on procède par étape, on affiche des résultats intermédiaires :

On complète cette première boucle en supposant qu'une bonne paire de synonymes doit provenir d'une paire de mots ayant en pourcentage de mots communs supérieur à 50% et une seule paire de synonymes :

On regarde le résultat en triant par ordre de fréquence décroissante :

Vérifications

Ces mots ne paraissent pas très pertinents au regard de la langue française. La méthode est néanmoins valable si elle permet de retrouver des synonymes qui ont permis de générer ce texte zadig_augmente.txt.

Améliorations

stop words

prise en compte de plus ligne

Et pas seulement deux lignes consécutives

Ca ne change pas grand compte tenu de la façon dont la base a été construite.