05/06/2009, 00:50
(This post was last modified: 28/08/2013, 22:00 by MenzAgitat.)
Ce script pourvoit l'eggdrop du package Levenshtein :
tcl
Package provide Levenshtein 1.0
Description :
La distance de Levenshtein mesure la similarité entre deux chaînes de caractères.
Elle est égale au nombre minimal de caractères qu'il faut supprimer, insérer ou remplacer pour passer d'une chaîne à l'autre.
(voir http://fr.wikipedia.org/wiki/Distance_de_Levenshtein )
Intérêts :
- Permet à un correcteur orthographique de faire des suggestions pour tel mot mal orthographié, en proposant d'autres mots dont la distance de Levenshtein par rapport au premier est faible.
- Permet à une pseudo-IA de type chatterbot d'avoir une tolérance orthographique : si tel mot comparé à tel autre a une distance inférieure à une tolérance donnée, on peut décider qu'il est équivalent.
- ...
Syntaxe :
Exemples :
Code:
levenshtein::distance "bonjour" "bougeoir"
-> 4
- BONJOUR
- BOUJOUR -> on remplace le N par un U
- BOUGOUR -> on remplace le J par un G
- BOUGEOUR -> on insère un E
- BOUGEOIR -> on remplace le U par un I
Code:
levenshtein::distance "antiquaire" "antikaire"
-> 2
Il est important d'avoir à l'esprit qu'une distance de 2 entre deux mots de 10 lettres dénote une ressemblance, tandis qu'une distance de 2 entre deux mots de 3 lettres signifie qu'ils sont très différents comme le montre l'exemple suivant :
Code:
levenshtein::distance "pin" "pas"
-> 2
Afin de préserver la pertinence des résultats, vous prendrez soin de toujours lier la tolérance à la longueur, proportionnellement.
Code:
levenshtein::distance "antiquaire" "dimanche"
-> 8
Téléchargement :Distance de Levenshtein v1.0
Toute l'actualité de mes scripts ici (dernière mise à jour le 22/04/2020)
Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.