OK
AJAX error!

Les forumsTribune libremetagraphe.py

metagraphe.py

Bonjour,

J'essaye de convertir la fonction getPhonex() de metagraphe.py en langage LUA, et certains aspects de cette fonction me laissent perplexe au point de me demander si j'interprète mal la logique du code, ou s'il pourrait s'agir d'un bug.

Le début de la fonction commence par simplifier la chaîne et ses accents (et à convertir "ç" en "S") :

s = s.lower().translate(PHMAP)



Juste après, on cesse de convertir la chaîne si elle se termine par une ou plusieurs majuscules ou chiffres ou ne contient qu'un caractère.


if re.match("[A-Z0-9]+$", s) or len(s) == 1:
return s



Sauf que la seule lettre majuscule possible est le 'S' issu de la conversion du 'ç'.

Je pensais qu'il s'agissait d'exclure les acronymes, les nombres, les "1er", "2nd", etc, mais ça colle pas avec l'ordre du code.
S'agit-il d'un bug, ou ai-je mal interprété le rôle de ce re.match() ?
le 07 avril 2019 à 21:15
Bonjour,

Aïe ! Ça remonte à loin, ce truc. Métagraphe est un algo totalement expérimental que j’ai écrit à l’arrache durant un jour ou deux, puis je n’y ai plus retouché. Il n’est pas fini et ne gère pas tous les cas de figure pour autant que je me souvienne. Vous ne devriez pas vous soucier de ça, m’est avis.

Effectivement, l’idée était d’exclure les sigles, donc passer en minuscule juste avant c’est une erreur
le 09 avril 2019 à 15:32
Ah, c'est pour ça que je ne trouvais pas d'autres implémentations de l'algorithme sur internet :-)

Effectivement, il n'est pas tout à fait complet.
Il lui manque notamment la conversion des "gn" en "ni" ou en "g'n", et il ne distingue pas les 'ch' qui font 'sh' de ceux qui font 'k'.

Malgré tout, il me semblait être une bonne base pour le convertisseur de phonétique dont j'ai besoin.


PS : J'ai trouvé bien amusant de découvrir que l'algo convertissait les nombres romains en phonétique. Ca m'a rappelé un épisode d'Asterix et Obelix où Obelix essayait de prononcer les nombres romains : XVII => "ksviiii" :-)
le 09 avril 2019 à 20:45
Le problème de “gn” et de “ch”, c’est qu’il y a deux prononciations possibles et que je ne sais pas comment faire le distinguo.
le 09 avril 2019 à 21:19

Notification par e-mail    0