Voici une question qui, je pense, pourrait être résolue avec une exploration de données et un algorithme sophistiqué, mais je ne sais pas trop comment. Tous les conseils sur les sources de données à utiliser et l'algorithme à appliquer sont les bienvenus.
Contexte: Je suis un Roumain-Hongrois qui attend un bébé avec un Polonais-Ukrainien et n'a pas tout à fait décidé dans quel pays nous voulons nous installer. Comme vous pouvez vous y attendre, le choix d'un prénom est de la plus haute importance et un débat brûlant. De mon côté, je suis toujours traumatisé par tous les tracas que j'ai dû traverser lorsque quelqu'un mal orthographié mon nom alors que je déménageais d'un pays à l'autre. Par exemple, si vous vous appeliez "Adrian", vous seriez béni en Roumanie, seulement pour découvrir que vous avez fini par être "Adri e n" est un document officiel français. Donc, ma seule exigence est de rendre extrêmement improbable que le nom du bébé soit mal orthographié dans certains pays européens.
Énoncé du problème: étant donné un ensemble de pays, par exemple la France, l'Allemagne, la Suède, la Pologne et la Roumanie, trouvez la liste des prénoms qui, lorsqu'ils sont prononcés correctement, ne risquent pas d'être mal orthographiés par les habitants.
Plus formellement: Soit p (c, n) une fonction qui renvoie la probabilité que le nom n soit mal orthographié dans le pays c . Étant donné C un ensemble de pays et p₀ une probabilité, trouver N un ensemble de prénoms, tels que
pour tout n ∈ N et c ∈ C , p (c, n) <p₀
Pensées initiales : Le problème central est de savoir comment implémenter p (c, n) . On pourrait essayer de l'approcher avec une heuristique. De toute évidence, un nom est susceptible d'être mal orthographié dans deux cas:
- Il est peu utilisé dans ce pays.
- C'est semblable à un nom différent, qui n'est pas peu utilisé dans ce pays.
Je ne sais pas comment je pourrais utiliser Internet, par exemple Wikipédia, pour répondre efficacement à ces deux questions. Comment pourrait-on énumérer les noms utilisés assez fréquemment dans un pays? Comment rechercherait-on des orthographes similaires?
Réponses:
Il existe certaines approches qui fonctionneraient mieux pour certaines langues que pour d'autres. Par exemple, soundex (et une autre description que j'aime ) a été conçu pour les prononciations anglaises des noms. Avec soundex,
Michael
devient M240. Cela comprend plusieurs étapes:M
etichael
)M
etchl
)c
-> 2l
-> 4Le regroupement des conversions de consonnes sont basées sur leur similitude phonétique -
B
,F
,P
etV
mappent toutes1
.Et il y a des variations à ce sujet au fil du temps . Il est particulièrement utile en généalogie où l'orthographe d'un nom peut changer avec le temps, mais la prononciation reste similaire.
Il existe également des approches telles que l' évaluation des correspondances qui a été développée par les compagnies aériennes pour les noms (plutôt que la généalogie américaine).
L'encodage de l'approche par notation (MRA) est:
Michael
devientMchl
etAnthony
devientAnthny
)La spécification complète pour cela peut être trouvée sur archive.org - notez qu'elle n'est "pas petite" (le formulaire imprimé est de 214 pages).
Les comparaisons ont un seuil de correspondance basé sur la longueur du texte.
Il existe également d' autres algorithmes phonétiques .
Donc, ce que je vous encourage à faire est de prendre le soundex tel quel, d'adopter l'approche de l'évaluation des correspondances tel quel ou de modifier le soundex en fonction des consonnes roumaines et polonaises .
Rappelez - vous que avec soundex, les consonnes sont groupées (en polonais,
m
,n
,ɲ
sont à regrouper toutes les consonnes nasales, et vous regrouperait probablement les labiales, dentaires et occlusives alvéolaires - qu'ils soient ou sans voix exprimées ensemble - accordée, je ne connaître le polonais, donc je ne sais pas si je dis juste des choses qui ne sont pas vraies là-bas).Ensuite, convertissez simplement tous les noms de la base de données en deux systèmes Soundex différents et découvrez quels noms ont le plus faible nombre de collisions dans les différentes langues. Cela vous donne des noms distincts. Donc, cela
Smith
n'apparaît pas commeSmyth
.Cela, cependant, ne résout que le «nom susceptible d'entrer en collision avec d'autres noms et d'être mal entendu». Il n'aborde pas l'autre sens du «nom entendu correctement, mal écrit» et pour cela, il faut concentrer son attention sur les noms communs.
Par exemple,
Michael
était un nom très courant aux États-Unis du début des années 1950 à la fin des années 1970. Il était vraiment populaire . Cependant, pour une raison quelconque, le nomMicheal
était assez populaire dans les années 1950 (a atteint le 83e nom le plus courant à son apogée). Et je suis certain que les personnes nommées se fontMicheal
constamment mal orthographier leur nom.Ainsi, vous devez vous concentrer sur les noms où il y a un nom qui domine la popularité du nom pour une prononciation donnée. Jetant à un autre consommateur de données pour les noms par année, vous pouvez voir que les noms commençant par Jam ... pour un garçon sont un gâchis avec
Jamaal
,Jamal
,Jamar
et d' autres. Soit dit en passant, ces noms ont des expressions sonores légèrement différentes pour l' américain (J540
,J540
etJ560
-l
etr
sont dans des groupes différents même s'ils sont étroitement liés en phonétique). Cependant, pour quelqu'un du Japon, par exemple, il n'y a qu'un seul son dans la région phonétique oùl
etr
sont prononcés en anglais américain. Cela peut également poser un problème avec les principales consonnes utilisant soundex dont il faut être conscient (j'ai déjà travaillé avec une femme japonaise qui s'appelait Risa (avec un `` R '') plutôt que Lisa comme romanisation de son nom japonais).Vous remarquerez que mes exemples concernent les États-Unis. Ces données sont facilement accessibles. Apparemment, il y a certaines choses pour la Pologne et le hongrois , et seulement des indices sur la similitude des noms hongrois ... Je soupçonne que la recherche dans une langue autre que l'anglais pourrait y être utile.
Donc, étant donné le soundex pour un nom, peu de collisions et l'orthographe réelle se trouvent dans l'ensemble des collisions. De préférence, il s'agit d'un nom commun. En regardant cette liste hongroise, y aller
Krisztián
aurait probablement des fautes d'orthographe alors que,Zoltán
moins probable (le 22ème nom de bébé le plus courant en 2011 en Hongrie!). Cela dit, vous ne pouvez pas vous tromperMichael
.la source
Vous voudrez probablement vous pencher sur l'algorithme phonétique Double Metaphone, qui est conçu pour gérer la façon dont les mots sont prononcés dans différentes langues. Il y a aussi un Metaphone 3, mais cela coûte de l'argent à utiliser.
la source