Menz Agitat's Soundex
(support arrêté)
Information importante
Menz Agitat's Soundex est désormais remplacé par
HaploPhone.
Description
MenzAgitat's Soundex est un soundex français.
Un soundex permet de retourner une valeur phonétique pour une chaîne de caractères donnée.
L'intérêt est par exemple de comparer 2 phrases orthographiées différemment et de pouvoir dire si elles sont équivalentes ou non phonétiquement parlant.
Ce principe est utilisé par les correcteurs orthographiques et présente un intérêt en ce qui concerne les pseudo-IA de type chatterbot.
Ce script pourvoit l'eggdrop du package
MenzAgitats_Soundex :
package provide MenzAgitats_Soundex 2.2
Syntaxe
::MAS::soundex
[-keepspaces
] [-keepchars
<caractères non-alphanumériques à préserver
>] <string
>
L'option
-keepspaces force le soundex à considérer chaque mot séparément plutôt que l'ensemble de la phrase comme une entité phonétique.
L'option
-keepchars force le soundex à préserver le(s) caractère(s) que vous spécifiez. Par défaut, tous les caractères non-alphanumériques sont filtrés.
En raison du traitement interne du soundex, vous ne devez pas exclure des chiffres au moyen de
-keepchars.
Les caractères que vous excluez doivent être proprement échappés si nécessaire, notamment pour les caractères suivants : } { ] [ " $ \
Dans le but d'accroître la rapidité d'exécution, la validité de la syntaxe de la commande n'est pas vérifiée. Veillez donc à la respecter scrupuleusement, sans quoi cela ne fonctionnera pas comme prévu et vous n'en serez pas averti par le script.
Exemples
::MAS::soundex "ceci, est un test qui fonctionne !"
-> 30300103190609307
::MAS::soundex "seussies aie hein tayste ki fonksione"
-> 30300103190609307
::MAS::soundex "ceci est un autre test"
-> 30300121031
::MAS::soundex -keepspaces "ceci, est un test qui fonctionne !"
-> 3030 0 0 1031 90 609307
::MAS::soundex -keepspaces "seussies aie hein tayste ki fonksione"
-> 3030 0 0 1031 90 609307
::MAS::soundex -keepspaces "ceci est un autre test"
-> 3030 0 0 012 1031
::MAS::soundex -keepspaces -keepchars ",." "ceci, est un test..."
-> 3030, 0 0 1031...
Changelog
1.0
1.01
- Compression des double phonèmes consécutifs après suppression des espaces.
- Correction d'une incohérence sur les phonèmes de classe "CH", ils étaient ignorés (merci à Artix de me l'avoir signalé).
- Amélioration de la rapidité de 2 regexp, merci à Artix (encore).
1.02
- Différenciation des phonèmes sifflants S X Z C G J et des phonèmes gutturaux GA GO GU QU Q K et C (si C n'est pas suivi par E/I/Y).
2.0
- Ajout d'une option -keepspaces.
- Ajout d'une option -keepchars <caractères non-alphanumériques à préserver>
- Correction d'un bug qui laissait parfois les voyelles en fin de mot.
- Le soundex ne retourne plus d'erreur lorsqu'on lui envoie une chaîne de caractères ne contenant aucun caractère alphabétique.
- Prise en compte de nombreux nouveaux phonèmes et cas particuliers.
- G et J ont quitté le groupe phonétique des S/X/Z pour rejoindre celui des CH.
- Le soundex préserve désormais les sons voyelles riches comme dans "noyau" ou "ouailles".
- Les phonèmes ouverts sont maintenant préservés en fin de mot s'ils se prononcent. Par exemple dans "misée" mais pas dans "mise"
- Quelques optimisations pour la rapidité.
2.01
- Correction d'un problème sans conséquences dans la prise en compte des arguments de la commande.
- Passage sous licence Creative Commons.
2.1
- Les caractères non alphabétiques supprimés lors du filtrage sont désormais considérés comme des espaces plutôt que comme rien.
Par exemple, "porte-clé" était remplacé par "porteclé" au lieu de "porte clé", ce qui peut avoir une influence sur la phonétique dans certains cas.
2.2
- Correction : les chiffres ne sont plus considérés comme valeurs de soundex lors du traitement, et sont désormais préservés.
- Correction : l'option -keepchars ne supportait pas les "@".
- Correction : la préservation des sons voyelles riches ne fonctionnait que pour la 1ère occurrence.
Téléchargement
MenzAgitat's Soundex v2.2
Laissez vos commentaires / questions
ici.