chrislit / abydos

Abydos NLP/IR library for Python
GNU General Public License v3.0
183 stars 34 forks source link

add Henry code #73

Open chrislit opened 6 years ago

chrislit commented 6 years ago

French Soundex-type algorithm: https://doi.org/10.3138/CHR-053-04-03

https://www.persee.fr/doc/adh_0066-2062_1976_num_1976_1_1313

chrislit commented 6 years ago

The English-language description predates and is different from the French-language specification.

chrislit commented 6 years ago

Pour des raisons techniques le couplage des données relatives à une même personne, un même couple, un même ménage est devenu une nécessité en démographie, tant historique que contemporaine.

En démographie contemporaine, tant qu'il s'agit des personnes, le couplage se fait plutôt à partir du numéro national d'identité qu'à partir du nom et des prénoms ; mais comme ce numéro est individuel, il ne convient pas au rapprochement de données sur les divers membres, d'une famille ; il ne convient pas non plus au passé, proche ou lointain où l'identification ne se faisait qu'à partir des noms et prénoms.

A l'heure actuelle, le nom de famille doit être toujours écrit de la même manière ; il est cependant inévitable que de légères variantes soient introduites de temps à autre dans les nombreux documents concernant une personne ou une famille ; à ces variantes d'écriture, s'ajoutent, lors du relevé des noms en vue d'opérations de couplage, des variantes par erreur de lecture ou erreur de copie. Pour le passé, les variantes sont fréquentes et parfois importantes jusqu'assez avant dans le xixe siècle ; les écritures anciennes sont de surcroît souvent difficiles à lire, ce qui rend les erreurs de lecture plus fréquentes.

Ces variantes n'ont cependant pas empêché la reconstitution des familles depuis au moins le dernier quart du xviie siècle ; en effet, les déformations d'un nom par la prononciation, l'orthographe et les erreurs de lecture ne vont pas, en général, jusqu'à le rendre méconnaissable. Les traits principaux demeurent et beaucoup de personnes se montrent capables de reconnaître les noms plus ou moins altérés, comme beaucoup sont capables d'identifier quelqu'un sous des déguisements divers.

Tant que la reconstitution des familles est restée une opération manuelle, on ne s'est guère préoccupé des problèmes d'identification ; l'expérience montrait qu'il suffisait d'instructions succinctes aux personnes chargées de cette reconstitution pour qu'elles s'en acquittent bien.

Les choses ont changé quand on a voulu passer à la reconstitution des familles par ordinateur. Cette machine n'a aucune perception globale et elle ne couple pas, par exemple, neveu et neveux, sans instruction préalable, alors que l'employé le moins hardi penserait, de lui-même, à rapprocher des documents à ces deux noms.

Dans la reconstitution des familles, les renseignements sont surabondants lorsqu'on a pour chaque personne célibataire le nom et le prénom de son père et de sa mère et pour chaque personne mariée ou veuve le nom et le prénom de son conjoint. On peut alors réduire les noms de famille à un squelette constitué de la lettre initiale et de deux consonnes significatives, ce qui a été fait au département de démographie de l'Université de Montréal dans la grande étude, en cours, sur la population française du Québec depuis ses débuts.

L'emploi de ce squelette, appelé aussi trame, est recommandé dans les opérations manuelles pour classer les fiches car il permet, plus que le classement alphabétique classique, de rapprocher les noms peu différents et facilite ainsi l'identification.

La trame est, cependant, moins riche d'information que le nom et celui-ci sert toujours pour trancher les cas litigieux; elle est d'autre part, insuffisante pour identifier un individu mentionné sans référence, ni à ses parents, ni à son conjoint éventuel. D'autre part, l'orthographe française est si compliquée, qu'il faut écrire un programme très détaillé, et donc très long, pour que l'ordinateur extraie la trame du nom de famille mis tel quel sur carte perforée.

Nous avons pensé qu'une transcription phonétique du nom de famille, ajoutée ou substituée à ce nom permettrait à la fois de garder la plus grande partie de l'information contenue dans ce nom et de faciliter beaucoup l'extraction de la trame, toujours utile dans les opérations de couplage. Nous envisageons, d'autre part, de mécaniser l'exploitation des fiches de famille établies à la main ; le nom est une information à conserver, ne serait-ce que pour étudier la répétition des alliances entre deux familles.

Cette transcription phonétique peut se faire à divers moments ; l'idéal aurait été de la faire en même temps que le chiffrement ; il aurait alors fallu, soit perdre de l'information, soit introduire dans les noms des signes qui les auraient beaucoup déformés. Comme nous voulons éviter l'un et l'autre, la transcription phonétique doit être antérieure au chiffrement ; cela a d'ailleurs l'avantage de permettre de modifier le chiffrement à mesure que les signes utilisables dans les ordinateurs augmentent ou se modifient alors que la transcription phonétique demeure invariable.

Cette transcription phonétique doit, en outre, remplir un certain nombre de conditions : a) n'utiliser, sauf exception, que les lettres et les accents utilisés en français ; b) conserver le plus possible aux lettres la valeur qu'elles ont en français ; c) condenser le plus possible les noms transcrits ; d) tenir compte à la fois des variations d'orthographe et des risques de confusion à la lecture, condition qui nous éloigne de la pure phonétique. e) ne pas tenir pour distincts les sons qui ne le sont pas toujours, ne pas tenir pour prononcées les lettres qui fréquemment ne le sont pas.

Transcription des voyelles Laissons de côté les différences de prononciation de a, de e non muet, de eu et de o, d'ailleurs variables d'une région à l'autre, et le e muet sur lequel nous reviendrons ; nous avons sept voyelles dont quatre ont, en outre, une forme nasale. Les voici avec, à droite, les manières très diverses de les écrire (tableau 1) :

Ceci suppose, bien entendu, qu'on peut toujours distinguer le e muet des autres. Il est, de ce fait, d'une extrême importance de relever soigneusement les accents ; on a tendance à les oublier lorsqu'on inscrit les noms en capitales, comme les instructions de relevé le prescrivent ; il faut en outre éviter qu'ils disparaissent lors de la frappe ou de la perforation.

La première décision à prendre concerne les voyelles à conserver.

Dans les voyelles orales toutes sont à conserver sauf peut-être eu, car suivant les régions et les époques sa prononciation va de u à presque o. Comme la confusion avec u modifie couramment l'orthographe ancienne, nous confondons souvent eu et u, conformément à la condition e; nous pouvons cependant conserver EU comme voyelle séparée lorsque la confusion avec u est à peu près exclue comme dans bœuf et les noms en euil, dubreuil par exemple.

Dans les voyelles nasales, un se confond avec in dans certaines régions ; nous étendrons cette confusion à toute la France ; il ne restera donc que trois voyelles nasales an, in et on.

La lettre y a plusieurs rôles : forme élégante de I, cas fréquent dans le passé, double I, semi-consonne. Tant qu'il n'est qu'une forme élégante de i, il se confond avec cette voyelle et est transcrit de la même manière. Les autres cas sont traités plus loin.

Il faut, d'autre part, trouver un symbole pour transcrire la voyelle ou ; nous aurions pu, comme le fait l'association phonétique internationale, utiliser le u et transcrire le u français par une autre lettre ; cette entorse à la condition b aurait eu plus d'inconvénients qu'une entorse à la condition a ; c'est pourquoi nous avons décidé de conserver à la lettre u la valeur qu'elle a en français et de traduire ou par le chiffre 8. C'est la seule exception à la condition a que nous ayons consentie.

Pourquoi le chiffre 8 ? Parce qu'il a été utilisé par les Jésuites, au Canada, pour écrire le son ou dans les noms indiens.

L'emploi de deux lettres pour les voyelles nasales est incommode ; nous les avons transcrites par une voyelle surmontée d'un accent circonflexe ; c'est le procédé qu'emploient les imprimeurs quand ils n'ont pas le caractère qui, en portugais, nasalise une voyelle.

Les transcriptions adoptées sont données dans le tableau 2.

Reste le e muet ; le plus simple serait de ne pas le transcrire du tout et nous pensons qu'il n'y aurait guère d'inconvénients à le faire. On peut cependant, par prudence, transcrire par un point chaque E muet intérieur à un nom ; on ne transcrit pas, de toute manière, les e muets en fin de nom, celui de bataille par exemple.

Diphtongues - Hiatus

En français, les diphtongues sont formées de deux voyelles (qui peuvent être orthographiées à l'aide de plusieurs lettres) dont l'une, dite semi-consonne, a une prononciation différente de la voyelle simple correspondante ; il en est ainsi du i de barbier, du ou de bois, du u de tuilier. Dans le hiatus au contraire les deux voyelles gardent leur prononciation de voyelle simple ; il en est ainsi dans les noms communs trahir, chahut (ou h sépare les deux voyelles), haïr où le tréma entraîne le hiatus, chaos où les deux voyelles ne peuvent se lier, pays et paysan où rien dans l'orthographe ne signale le hiatus ; dans ce dernier cas, il est impossible de distinguer hiatus et diphtongue à la lecture. C'est pourquoi nous devons donner les règles de transcription des diphtongues avant celles des hiatus.

Semi-consonnes

Des deux voyelles associées dans une diphtongue, une seule, la semi-consonne mérite un traitement à part ; l'autre sera transcrite comme les autres voyelles 3 ; ceci parce que les semi-consonnes, surtout i et ou sont plus stables que les voyelles et que, de ce fait, elles ont plus d'importance dans l'identification des noms : ainsi ozoir et ouzouér ont en commun la semi-consonne ou et celle-ci y joue un tel rôle qu'on aurait avantage à la faire figurer dans la trame.

Les semi-consonnes i, ou et u seront transcrites comme suit :

Cette règle s'applique lorsque la semi-consonne précède la voyelle et lorsqu'elle la suit : le i de barbier comme le y de bayard seront transcrits y.

Dans les hiatus avec un son i, comme paysan, on devrait transcrire ce son par un i ; mais lorsque le nom de famille n'est pas emprunté aux noms communs, il est impossible à la lecture d'en connaître la prononciation quand le hiatus n'est signalé ni par un H, ni par un tréma. On rencontre d'autre part des noms où la présence du tréma n'empêche pas de prononcer le i comme une semi-consonne : ainsi bay souvent prononcé comme bailly.

En conséquence dans le hiatus avec i, celui-ci sera traité comme une semi-consonne et transcrit par Y.

Remarque sur le Y

La lettre Y joue plusieurs rôles : — semi-consonne, commÇilans bayard, fayard ; — à la fois i et semi-consonne, comme dans payeur ; — deux fois i, comme dans paysan.

Enfin dans les noms de famille et les noms de lieu, Y est très fréquemment une forme élégante de i, surtout comme finale : bailly, barbey. Dans ce dernier cas, il est transcrit par i ou par e, dans les autres il l'est par y.

Exemples

Avant de passer à la transcription des consonnes profitons des cas où celle-ci se fait par la même lettre pour donner quelques exemples.

Consonnes

Quelques remarques, avant de passer à la transcription de celles-ci.

Suivant sa place dans le nom ou la lettre qui la précède ou la suit, la consonne (lettre) peut être muette ou sonore.

La lettre h n'est jamais sonore : après c elle est le symbole d'une consonne particulière, écrite ch ; après p, elle transforme celui-ci en F. Dans les noms de famille, on trouve encore H après G, l et peut-être, N. Autrement, h est muet ou joue le même rôle que le tréma. Dans tous les cas, il disparaît dans la transcription.

Lorsque n ou m sert à nasaliser une voyelle, il ne joue pas un rôle de consonne et disparaît de la transcription des consonnes, puisque remplacé par un accent circonflexe sur la voyelle qu'il nasalise. Dans ce qui suit, il ne sera question que des M et des N qui jouent leur rôle de consonne.

L mouillé

Actuellement, le l mouillé joue un des rôles du y : il n'y a pas de différence de prononciation entre maillet et mayet. Il n'en était pas de même avant le milieu du xixe siècle et le même nom de famille, pouvait s'écrire avec ill, lli ou li ; on trouve aussi, dans la partie sud de la France, l'ensemble lh, dans paulhaguet par exemple, qui actuellement se prononce comme ill.

En raison de cette différence entre ill et Y la fréquence des passages d'une graphie à l'autre est faible.

N mouillé

Représenté par gn, il faut prévoir qu'il le soit par nh, des noms de village étant dans ce cas.

Lettre Q

Cette lettre, rare comme initiale, se rencontre peu dans le corps des noms ; ceux-ci étant écrits en minuscules, initiale comprise, avant le xixe siècle, le risque de confusion avec G est grand dans les syllabes que, qui ; ce qui explique que les règles de transcription aient plus tenu compte de l'écriture que du son.

Lettre T

Dans les noms de forme savante, t devant I a souvent le même son que deux s ; n'ayant jamais rencontré ce cas dans les noms de famille, nous opérons comme si t n'y avait que sa prononciation propre.

Consonnes doubles

A moins qu'elles n'aient deux sons différents, comme les deux c d'accent, les consonnes doubles autres que s et L mouillé se prononcent comme les consonnes simples ; leur présence évite seulement de mettre un accent sur le e qui, le cas échéant, les précède; ce rôle disparaît dans la transcription phonétique puisque le E transcrit est toujours non muet.

L'exception du double s ne peut être conservée, car l'orthographe ancienne des sons ss et z est trop incertaine.

Le L mouillé rentre à son tour dans la règle si, le conservant comme l en raison de la prononciation ancienne, on convient de ne pas distinguer IL et ill, ce que justifient, ici encore, les incertitudes de l'orthographe dans le passé.

Finalement toutes les consonnes doubles seront considérées comme formées d'une consonne sonore et d'une consonne muette, sauf lorsque les deux lettres identiques associées représentent deux sons différents. Un groupe de deux consonnes différentes de même son sera aussi considéré comme une consonne double ; c'est le cas de se dans scieur.

Variations régionales

Les règles de transcription qui suivent s'appliquent d'abord à la France septentrionale et aux régions qui en ont subi l'influence. Il faudra les modifier pour les appliquer à d'autres régions, Wallonie où le w devient la semi-consonne ou, Languedoc et Roussillon où b et v se confondent, etc. Ces changements éventuels ne s'imposent que si la prononciation d'une lettre change ou se confond avec une autre ; ils sont mutiles lorsque la règle appliquée supprime seulement une partie de l'information fournie par la prononciation de certaines régions, les finales dans le Sud-Ouest par exemple. A l'usage on s'apercevra peutêtre qu'il y aurait intérêt à traiter toute la France comme le Languedoc et à transcrire v, assez peu fréquent, par B.

Règles de transcription

A - Lettres non muettes.

1) Les lettres b, d, f, j, k, l non mouillées, \i, n non mouillé, r, s, t, v sont transcrites telles quelles, w est transcrit par v, x et z le sont par s.

2) Pour les autres consonnes, la transcripticn est la suivante :

Nota. — il ne sera transcrit par yl que lorsqu'il représentera, de manière certaine, un L mouillé ; ill ne sera transcrit par il que lorsqu'il représentera de manière certaine un i non mouillé comme dans ville.

Lorsque le n mouillé est suivi d'un i, celui-ci n'est pas transcrit : gagnon et gagnion ont la même transcription ganyo.

B - Lettres muettes

Dans la transcription aucun signe ne signale la présence des consonnes muettes.

Règles de classement des consonnes en muettes et non muettes.

Nous connaissons maintenant les règles de transcription des consonnes non muettes et muettes ; il nous reste à distinguer les premières des secondes. Il faut, pour cela, tenir compte de la place Je la consonne dans le nom.

A - Initiale

H étant considéré comme inexistant, on prend pour initiale d'un nom commençant par H la voyelle ou la semi-consonne qui suit.

Pour les autres consonnes, plusieurs cas sont à considérer.

1) Si elle est suivie d'une voyelle ou d'une diphtongue, la consonne initiale n'est jamais muette.

2) B, F (écrit F ou ph), g, k (écrit c, CH ou k), p suivis de L ou de R ; d, t et v suivis de r ne sont jamais muets.

3) Dans les autres cas, la consonne initiale est muette. Ces autres cas sont ceux d'un p devant s ou T et d'un s devant c (son s), K (éventuellement représenté par c), l, p, t.

Remarque. — Le cas 3 est peu fréquent sauf en Alsace et pour les noms d'origine étrangère ; on pourra être conduit à décider de chaque cas séparément.

B - Intérieure

Commençons par les consonnes mentionnées ci-dessus en A-2 et A-3.

Les consonnes l et r mentionnées en A-2 ne sont jamais muettes.

La consonne qui suit l'initiale muette du cas A-3 n'est jamais muette; si cette consonne est suivie à son tour de L ou R, comme en A-2, ce L ou ce r ne sont pas muets.

Ainsi dans scribe, s est muet, c (prononcé k) et r ne le sont pas.

Les autres consonnes intérieures se trouvent isolées ou en groupes, entre deux voyelles ou diphtongues.

1) Consonnes isolées. Seul H considéré comme inexistant est muet. 2) Groupe de deux consonnes. a) Aucune de ces consonnes n'est muette lorsque le groupe est un de ceux qui sont mentionnés en A-2, ci-dessus. b) II en est de même lorsque la première consonne du groupe : — est R et la seconde différente de r ; — est L et la seconde différente de l, m, n, t ; c) Dans les autres cas, la première des deux consonnes est muette.

Il en résulte que la première lettre des consonnes doubles est toujours muette, même lorsque ces deux consonnes ont des sons différents : dans accent, par exemple, le premier c, de son k, disparaît et il ne reste que le second de son s.

Cette règle élimine des consonnes qui sont prononcées dans le français contemporain, le c (prononcé k) de facteur, le s de pasteur; mais ces consonnes ont disparu au cours des siècles de la langue populaire et pasteur a un doublet pâtre, sans s, même si on trouve l'orthographe pastre, par suite du goût de bien des curés pour les orthographes archaïques ; de manière analogue, l'élimination du l de palme, le rapproche de paume de même origine.

3) Groupe de trois consonnes ou plus. Ce cas peu fréquent, se ramène au précédent si le groupe comprend une lettre double ; sinon on y trouve presque toujours au moins un L ou un r, comme dans Bertrand ; R n'est jamais muet, L l'est dans les mêmes conditions que pour deux consonnes. Il sera prudent de décider cas par cas, compte tenu de ce que l'on peut savoir de la prononciation locale et des variations d'orthographe. Ainsi dans becblanc, le c de bec peut rester prononcé ou être devenu muet auquel cas la variante béblanc est probable.

C - Finale

Elle est plus fréquemment muette que la consonne intérieure, avec de grandes variations d'une région à l'autre. D'après les principes énoncés au début, nous tiendrons pour muette une consonne qui l'est dans une grande partie de la France, même si elle est prononcée ailleurs. Il faut cependant réserver certains cas, même celui de bosc qui se prononce bo en Normandie et bosk ailleurs.

La finale peut être une consonne simple ou un groupe de consonnes. 1) Consonne simple. Etant entendu que le M et le N des voyelles nasales ne sont pas considérées comme des consonnes, la consonne finale simple est précédée d'une voyelle, orale ou nasale, simple ou en fin de diphtongue. a - Lorsque cette voyelle est nasale la consonne finale est toujours muette ; il en est ainsi dans beauchamp, estaing, legrand, Vincent. b - Lorsque cette voyelle est orale, la consonne finale est muette si elle est autre qu'une de celles dont le son est B, ch, f, g, k, l, p, r. En outre, l est muet après i ; r est muet après e. 2) Consonnes doubles. Elles sont traitées comme des consonnes simples ; ck et cq sont considérées comme des consonnes doubles. 3) Groupe de consonnes différentes. On ne trouve à peu près jamais plus de deux consonnes en fin de nom. Les groupes les plus courants sont : — R suivi d'une autre consonne : R est prononcé, l'autre consonne muette ; — l, suivi d'une autre consonne : il est toujours muet ; la dernière consonne est prononcée si elle est c (son k), f ou m ; — s suivi d'une autre consonne : il est toujours traité comme muet ; la dernière consonne est le plus souvent traitée aussi comme muette, parmi les exceptions signalons le c (son k) de bosc.

En raison de fortes restrictions imposées par ces règles, on pourra consentir des exceptions pour des finales dont on est sûr qu'elles sont toujours ou presque toujours prononcées.

Champ d'application

Les noms qui commencent par a, ala, ale, au, d, de, des, du, l, le, la, les, peuvent perdre la première lettre ou la première syllabe. Lorsqu'ils la perdent de temps à autre, ce dont on s'aperçoit assez vite, on exclut la partie instable de la transcription phonétique. Pour les noms formés d'un nom commun précédé de delà on éliminera toujours le de ; ainsi delaroche sera toujours réduit à laroche.

Dans les noms qui commencent par saint ou sainte, ce début peut être instable ; on peut, par exemple, avoir Martin ou saint martin pour la même famille ; dans ce cas on lie garde pas saint ou sainte dans la transcription phonétique. Lorsque saint et sainte constituent un début stable, on peut lui appliquer les règles de transcription. On peut aussi convenir de le transcrire en bloc par une lettre ; la lettre x, qui est libre, a été choisie.

Exemples

Les exemples qui suivent illustrent l'ensemble des règles présentées ici. Lorsqu'il y a deux transcriptions pour le même nom, la deuxième est une exception motivée par la prononciation courante.

Le nombre de lettres de ces noms de famille est 197. Le nombre de lettres ou des points des transcriptions est 144 ou 141 suivant qu'on prend les transcriptions les plus courtes ou les plus longues ; le gain est d'au moins 27%.

On peut essayer d'aller plus loin en remplaçant certains groupes de lettres fréquents par une seule. On peut, par exemple, envisager de remplacer le groupe wa par w ; en effet, la semi-consonne ou se trouve souvent dans les diphtongues oi, oua ou oue ; la diphtongue oui qui la contient aussi est nettement plus rare : on continuerait à la transcrire wi.

Cas douteux

II arrive que le releveur ne puisse identifier avec certitude les lettres qu'il lit, qu'il hésite, par exemple, entre olagné et olagué, le n et le u minuscule étant souvent difficiles à distinguer dans les écrits. Il doit alors indiquer la lettre qu'il pense avoir lue et la mettre entre parenthèses ; il écrit alors, mettons, olag(n)é. Si l'on tient le n pour probable on transcrit olanye ; ce faisant, on laisse de côté la lettre G qui est probablement la plus sûre, étant la moins exposée aux erreurs de lecture. Il vaudrait mieux transcrire OLAGnE, la minuscule indiquant que la lettre correspondante est peut-être un n ; on pourra alors donner aux noms ayant des minuscules plusieurs places dans les listages et trancher les cas litigieux. Soit, par exemple, à identifier un Louis olag(n)é mentionné dans un acte ; si dans le listage Louis OLAGnE se trouve à côté d'un Louis olage et d'aucun Louis olanye, on conclura que le n présumé était en fait un u.

Emploi des transcriptions phonétiques

La transcription phonétique contient la plus grande partie de l'information contenue dans le nom (il lui manque les finales qui, comme le T, sont prononcées dans certaines régions, Le Languedoc par exemple). Elle sera donc particulièrement utile pour identifier les personnes qui ne sont guère connues que par leur nom et leurs prénoms.

II faudra toutefois prendre garde qu'en raison des particularités de la prononciation locale et des erreurs de lecture, toutes les lettres de la transcription n'ont pas le même poids ; il faudra donc dans les appariements de transcriptions phonétiques tenir compte des poids à donner aux lettres ; ces poids pourront être déterminés d'après la fréquence des variantes observées lors de la reconstitution des familles ; il est souhaitable d'introduire aussi dans la pondération ce que l'on sait de la prononciation. Ainsi, la prononciation du a peut se rapprocher de celle du o, mais pas de celle du e ou du I ; de manière analogue on ne lit pas B pour G, mais on lit assez souvent R pour V.

La transcription phonétique servira aussi à l'extraction automatique de la trame. On pourra, en même temps, améliorer celle-ci en y introduisant les semi-consonnes w et y, soit pour la compléter, soit à la place de consonnes jugées moins stables.

On peut, enfin, envisager de créer, entre la transcription phonétique et la trame une sorte de résumé du nom, de longueur variable, où l'on trouve tout ce qu'il a d'essentiel.

Prenons, par exemple, paulhaguet et solignac. Ce sont des noms de lieux, de sorte que s'ils sont mal écrits, on ne peut pas les reconstituer comme on le fait, par exemple, pour des noms de métier ; dans paulhaguet on ne distinguera ni au de ou, ni A de o et gu paraît seulement plus probable que gn ; dans solignac le premier o pourra être lu a, mais le n après G sera forcément lu correctement de même que le a qui suit, les noms en ac étant courants, alors qu'il n'y a guère de noms en oc. On peut alors imaginer de ne garder que deux groupes de voyelles, le groupe A, o, au, ou et le groupe t, I, ai, ei, u et de désigner le premier par un trait d'union, le second par un accent aigu. Les résumés des deux noms ci-dessus s'écrivent :

P-YL-GUE S-L'NYAK.

Ce résumé est encore très riche d'information ; l'incertitude sur la lettre qui suit G, importante au point de vue prononciation, est assez peu gênante.

Autre exemple : boyer, foyer, noyer, royer, voyer existent comme noms de famille ; loyer et soyer existent peut-être. Imaginons qu'en raison de l'écriture, il y ait risque de confusion entre b et L, F et s, n, r, s et v. Le releveur inscrit alors l'initiale entre parenthèses et l'on a les transcriptions bwY, fwY, Iwy. nwY, rwY, swy, vwy. L'identification d'un Mie (r)oyer peut alors se faire comme celle de Jean olag(n)e.

chrislit commented 6 years ago

def henry(word): """Calculate the Henry code for a word.

Henry Code is defined in:
Henry, Louis. 1976. "Projet de transcription phonétique des noms de
famille." Annales de Démographie Historique, 1976. 201--214.
https://www.persee.fr/doc/adh_0066-2062_1976_num_1976_1_1313

:param word:
:return:
"""
word = word.upper()

if word[-1:] == 'E':
    word = word[:-1]

if word not in {'JE', 'NE', 'TE', 'QUE', 'DE'}:
    for pos, ch in enumerate(word):
        if ch == 'E' and word[pos+1:pos+2] != 'N':
            if (word[pos-2:pos-1] in {'', 'A', 'E', 'I', 'O', 'U', 'È', 'É', 'Y'}
                and
                word[pos-1:pos] not in {'A', 'E', 'I', 'O', 'U', 'È', 'É', 'Y'}):
                word = word[:pos]+'.'+word[pos+1:]

replacements = {3: {'AEN': 'Â', 'AON': 'Â', 'AIN': 'Ê', 'EIN': 'Ê',
                    'OEU': 'U'},
                2: {'AN': 'Â', 'EN': 'Â', 'IN': 'Ê', 'ON': 'Ô', 'UN': 'Ê',
                    'EI': 'E', 'AI': 'E', 'Ê': 'E', 'É': 'E', 'È': 'E',
                    'AU': 'O', 'OE': 'U', 'OU': '8'},
                1: {'Y': 'I'}}

new_word = ''
pos = 0
while pos < len(word):
    for seqlen in range(3, 0, -1):
        if word[pos:pos+seqlen] in replacements[seqlen]:
            new_word += replacements[seqlen][word[pos:pos+seqlen]]
            pos += seqlen
            break
    else:
        new_word += word[pos]
        pos += 1

word, new_word = new_word, ''

return new_word
chrislit commented 6 years ago

I'm not sure that Henry code can be implemented on the basis of https://www.persee.fr/doc/adh_0066-2062_1976_num_1976_1_1313. There's too much underspecification, ambiguity, & subjectivity.

chrislit commented 5 years ago

Alternative description?: https://www150.statcan.gc.ca/n1/pub/85-602-x/4193729-eng.pdf