Est-ce que quelqu'un connaît une bonne bibliothèque pour faire correspondre le nom d'une personne à son sexe? [fermé]

90

Je recherche une bibliothèque ou une base de données qui peut fournir des estimations sur le fait qu'une personne est un homme ou une femme en fonction de son nom ou de son surnom. Quelque chose comme

john => "M",
mary => "F",
alex => "A", #ambiguous

Je recherche quelque chose qui prend en charge les noms autres que les noms anglais (tels que japonais, indien, etc.).

Avant que j'obtienne une autre réponse du genre "vous allez offenser les gens en supposant leur sexe / genre" laissez-moi être clair, mon application n'interagit avec personne. Il n'envoie aucun e-mail ni ne contacte personne de toute façon. Il n'y a aucun utilisateur à demander. Dans de nombreux cas, la personne en question est décédée et les seules informations dont je dispose sont le nom, la date de naissance et la date du décès. La raison pour laquelle je veux connaître le sexe de l'individu est de rendre la grammaire de la sortie plus agréable et d'aider à d'éventuelles recherches qui peuvent survenir plus tard.

Chas. Owens
la source
33
Wow ... tout le monde semble répondre à la question "devrais-je faire ça", plutôt qu'à la question posée "comment faire ça?" Pas étonnant, juste intéressant.
bsneeze
9
Je pense en fait que c'est une excellente question. Si vous allez sur un site Web et que 90% du temps il indique votre sexe, je peux voir l'avantage. J'aimerais que mon téléviseur puisse faire de même. Je regardais des rediffusions de King of the Hill sur un vol récent et toutes les 3 minutes il y avait une annonce pour "masseurs personnels".
Uri
6
@mP Wow, il y a moyen de passer du fait de deviner le sexe pour rendre la grammaire plus agréable au profilage racial.
Chas. Owens
2
chas, ce n'est pas la chose que les gens ne veulent pas vous donner à cause d'une chose morale, c'est comme si cela n'avait aucun sens au début, alors vous demandez une solution d'échec. aussi, vous mentionnez des noms autres que les noms anglais, et en référence interculturelle, cela devient encore plus compliqué. pour moi, c'est un non.
zalew
2
Comment savoir si un nom est masculin ou féminin? Alex pourrait être l'abréviation d'Alexandre (un homme) ou d'Alexandra (une femme). Je connais un Micah qui est un homme et un qui est une femme. Et qu'en est-il des noms étrangers?
Gabe

Réponses:

66

Le genre d'un nom est quelque chose qui ne peut pas être déduit par programme dans le cas général. Vous avez besoin d'une base de données de noms. Voici une base de données de noms gratuite du US Census Bureau .

EDIT : Le lien pour le nom 2010 est mort mais il y a des liens de travail et des bibliothèques dans les commentaires.

Ayman Hourieh
la source
2
C'est bien. Semble être exactement ce dont le demandeur a besoin. Les noms ambigus pourraient avoir le sexe «deviné» en fonction de la fréquence de l'homme par rapport à la fréquence de la femme.
stalepretzel
1
J'ai construit une bibliothèque pour cela en utilisant les données du recensement et cela fonctionne très bien! Applications potentielles: analyse, choix du genre de voix IVR.
Chris McCall le
9
Voici le nom -> sexe à partir des données du recensement comme dict python: raw.github.com/Bemmu/gender-from-name/master/gender.py
Bemmu
3
Le lien d'origine est mort, mais le recensement conserve toujours la liste. Une version spécifique aux années 1990 (je ne sais pas pourquoi) est ici: recensement.gov/genealogy/www/data/1990surnames/names_files.html
Chipmonkey
2
22 Mo de prénoms américains avec sexe par année de naissance: ssa.gov/oact/babynames/limits.html (lien valide en juillet 2015)
Dylan Hogg
70

gender.c est un programme C open source qui fait du bon travail. Il est livré avec des données pour 44568 prénoms du monde entier. Il existe une bonne documentation et une description du format de fichier (essentiellement du texte brut), il ne devrait donc pas être trop difficile de le lire à partir de votre propre application.

Voici ce que dit l'auteur:

Quelques mots sur la qualité des données

Le dictionnaire des prénoms a été élaboré avec le plus grand soin. Par exemple, les noms turc, indien et coréen de ce dictionnaire ont tous été classés indépendamment par plusieurs locuteurs natifs. J'ai également pris un soin particulier à ne lister que les noms qui peuvent être trouvés actuellement.

La leçon à tirer de cela?

Toutes les modifications doivent être effectuées avec beaucoup de prudence (et elles doivent également respecter le tri requis par l'algorithme de recherche). Par exemple, sachant que «Sascha» est le prénom d'un garçon en Allemagne, l'auteur n'a jamais supposé que l'anglais «Sasha» était le nom d'une fille. Sachant que "Jan" est un nom de garçon en Allemagne, je n'ai jamais supposé que c'était aussi une forme abrégée anglaise de "Janet". Un autre exemple est le nom «Esra». C'est le prénom d'un garçon en Allemagne, mais le nom d'une fille en Turquie.

Le programme calcule une probabilité que le nom soit masculin ou féminin. Il peut le faire avec le nom comme entrée seul ou avec le nom et le pays d'origine, ce qui donne des résultats nettement meilleurs.

Vous pouvez le télécharger sur le site du magazine informatique allemand c't 40 000 Namen . L'article est en allemand mais ne vous inquiétez pas, toute la documentation est en anglais. Voici le lien ftp direct 0717-182.zip si l'article ne vous intéresse pas. Le fichier zip contient le code source, un exécutable Windows, la base de données et la documentation.

Ludwig Weinzierl
la source
C'est merveilleux, merci.
Dale Athanasias
Voir ici pour le portage python - pypi.python.org/pypi/SexMachine
philshem
33

"Je te le dis, la vie n'est pas facile pour un garçon nommé 'Sue'."

... Alors, pourquoi rendre les choses plus difficiles? Si vous avez besoin de connaître le sexe, demandez simplement ... Sinon, ne vous inquiétez pas.

Shog9
la source
15
@Chas: même si vous parvenez à faire les choses correctement 80% du temps, cela va toujours irriter deux personnes sur dix utilisant votre logiciel. Pas si bien ... Je comprends la motivation, mais il vaut vraiment mieux reformuler vos messages de manière à ce qu'ils ne soient pas sexistes.
Shog9
2
Je me demande si quelqu'un d'autre se souvient de "Pat" de SNL.
erickson
8
En relisant ceci, je viens de faire une terrible prédication ... Je ne veux pas laisser tomber votre idée, je pense que c'est une idée intéressante ... Mais aussi très risquée. J'avais l'habitude de travailler comme télévendeur, et peu importe le nombre de noms que vous connaissez, même si vous êtes doué pour reconnaître les voix, vous finissez toujours par deviner mal parfois ... et ce n'est jamais amusant. Et donc, c'est quelque chose que j'éviterais, à moins qu'il y ait un gros avantage pour avoir réussi à le deviner correctement .
Shog9
3
Je prendrais les conseils de Shog9. À moins que votre candidature ne soit dans des langues autres que l'anglais, il pourrait être plus facile d'utiliser simplement des pronoms neutres - par exemple, ils, un, il / elle, etc.
Calvin
11
Le nom de ma copine est Kevan. Elle fait en sorte que suffisamment de gens devinent son sexe à tort à partir de son nom, elle n'a pas besoin d'ordinateurs pour le faire. La chose dont il faut se méfier est de créer une entrée de base de données qui indique le sexe d'une personne en fonction de la supposition d'un ordinateur; les gens qui regardent cela peuvent supposer que cela est fourni par la personne elle-même, et devenir vraiment confus lorsque leurs hypothèses se révèlent fausses (par opposition à un peu confuses uniquement en fonction du nom).
Brian Campbell
29

J'ai créé une API gratuite qui donne une estimation probabiliste du sexe en fonction d'un prénom. Au lieu d'utiliser l'une des approches mentionnées ci-dessus, j'utilise plutôt un énorme ensemble de données de profils provenant de réseaux sociaux pour fournir une estimation probabiliste avec un facteur de certitude. Il prend également en charge le filtrage facultatif des identifiants de pays ou de langue. Les choses s'améliorent de jour en jour à mesure que de plus en plus de profils sont ajoutés à l'ensemble de données.

Son utilisation est gratuite sur http://genderize.io

Une chose que vous devriez considérer est d'utiliser un outil qui prend en compte les données démographiques, car les conventions de dénomination reposeront fortement sur cela.

Exemple

http://api.genderize.io?name=kim
{"name":"kim","gender":"female","probability":"0.89","count":1440}

http://api.genderize.io?name=kim&country_id=dk
{"name":"kim","gender":"male","probability":"0.95","count":44,"country_id":"dk"}
Stromgren
la source
2
Extensions de code - genderize.io/#extensions
philshem
22

Voici deux approches bizarres qui peuvent même ne pas fonctionner et qui ne fonctionneraient probablement pas en masse sans violer les termes d'une licence:

  1. Utilisez l'API Facebook (dont je ne sais pratiquement rien, ce n'est peut-être même pas possible) pour effectuer deux recherches: une pour les utilisateurs masculins FB avec ce prénom et une pour les femmes. Utilisez les deux nombres pour décider de la probabilité de sexe.

  2. Beaucoup plus lâche mais plus évolutif, utilisez l'API Google et recherchez le nom ainsi que les pronoms spécifiques au sexe, et comparez les chiffres. Par exemple, il y a 592 000 000 de résultats pour la recherche de «Richard son» (pas comme une expression), mais seulement 179 000 000 pour «Richard elle».

richardtallent
la source
Mis à part le consensus général sur le fait qu'un logiciel essaie de deviner des choses comme le sexe à partir d'un prénom, c'est une réponse algorithmique vraiment cool à la question originale. Bien joué.
peSHIr
Bonne idée. Vous pouvez probablement ajouter quelques mots dans la langue d'un pays donné pour le localiser.
Nosredna
Bon point, Nosrenda ... bien sûr, Google vous permet également de filtrer les résultats de recherche par code de langue déjà. Vous pouvez même voler la langue préférée de l'utilisateur à partir de la requête HTTP. Le paramètre de langue de leur navigateur peut correspondre ou non à l'appartenance ethnique de leur nom, mais c'est quand même une technique floue.
richardtallent
2
J'ai trouvé que Google est chauvin: plus de résultats reviennent pour les hommes que pour les femmes car plus d'hommes sont sur Google. L'API Facebook est probablement beaucoup plus représentative.
Chris McCall
6

Compte tenu de vos contraintes déclarées, votre meilleure option est de reformuler tout ce que vous écrivez pour être neutre à moins que vous ne sachiez quel genre ils veulent être appelés dans chaque cas.

Si vous écrivez en anglais , rappelez-vous que le singulier «ils» est grammaticalement correct en tant que pronom à la troisième personne du singulier non sexiste.

Un bon exemple est le titre de cette question. Tel quel actuellement:

    … Faire correspondre le nom d'une personne à son sexe?

Ce serait moins gênant s'il était écrit:

    … Faire correspondre le nom d'une personne à son sexe?
gros nez
la source
Ce n'est pas tout à fait «parfaitement» grammatical. Même l'article de Wikipédia admet qu'il a été utilisé, en particulier dans le contexte moderne, en raison de l'inconfort de certains écrivains avec le «il» générique. Je n'ai pas de gros problème avec les écrivains qui font cela (bien que si la neutralité de genre est vraiment importante, je préfère reformuler la construction pour que je puisse utiliser des pronoms comme "un"), mais appelons-la comme elle est.
Ben Collins
Je dirais que nous avons tous les deux raison. Toute grammaire, en particulier la grammaire anglaise, a des problèmes importants; mais je dirais que toute définition de «grammaire parfaite» qui s'applique réellement à tout ce qui est en anglais s'applique ici aussi. Soit le singulier «ils» est parfaitement grammatical, soit rien en anglais ne l'est :-)
bignose
Fait à noter, Grammar Girl (auteur Mignon Fogarty) penche depuis un certain temps vers l'acceptation du singulier «ils». grammar.quickanddirtytips.com/…
Karen Lopez
4

Il est également peu pratique de supposer que les utilisateurs doivent être des hommes ou des femmes. Il existe un nombre restreint mais significatif de personnes "intersexuées", dont la plupart en ont marre de ne pas avoir de case à cocher ..
bignose: intéressant sur le "singulier ils". Je ne savais pas qu'il avait une si longue histoire.

Karl
la source
4

Ce n'est pas un service, mais une petite application avec une base de données:
http://www.codeproject.com/KB/cpp/genderizer.aspx

Et cet outil est en allemand:
http://www.faq-o-matic.net/2011/06/01/zu-einem-vornamen-das-geschlecht-finden/

Et un autre en VB:
http://www.vbarchiv.net/tipps/tipp_1925-geschlecht-anhand-des-vornamens-ermitteln.html

Je pense qu'en combinaison avec certaines listes de "Prénoms les plus utilisés en 2011", vous devriez être en mesure de créer quelque chose de décent.

Remy
la source
4

Le package python SexMachine le fera pour vous. Étant donné n'importe quel prénom, il revient s'il est masculin, féminin ou unisexe. Il s'appuie sur les données du programme gender.c de Jorg Michael.

jm_tagarro
la source
3

La seule chose que vous obtiendrez en essayant de l'automatiser, c'est un groupe d'utilisateurs mécontents. À partir de ces données de recensement:

JAMES, JOHN, ROBERT, MICHAEL, WILLIAM, DAVID, RICHARD, CHARLES, JOSEPH, THOMAS, CHRISTOPHER, DANIEL, PAUL, MARK, DONALD, GEORGE, KENNETH, STEVEN, EDWARD, BRIAN, RONALD, ANTHONY, KEVIN, JASON, MATTHEW, GARY, TIMOTHY, JOSE, LARRY, JEFFREY, FRANK, SCOTT, ERIC, STEPHEN, ANDREW, RAYMOND, GREGORY, JOSHUA, JERRY, DENNIS, WALTER, PATRICK, PETER, HAROLD, HENRY, CARL, ARTHUR, RYAN, JOE, JUAN, JACK, ALBERT, JUSTIN, TERRY, GERALD, KEITH, SAMUEL, WILLIE, LAWRENCE, ROY, BRANDON, ADAM, FRED, BILLY, LOUIS, JEREMY, AARON, RANDY, EUGENE, CARLOS, RUSSELL, BOBBY, VICTOR, MARTIN, JESSE, SHAWN, CLARENCE, SEAN, CHRIS, JOHNNY, JIMMY, ANTONIO, TONY, LUIS, MIKE, DALE, CURTIS, NORMAN, ALLEN, GLENN, TRAVIS, LEE, MELVIN, KYLE, FRANCIS, JÉSUS, RAY, JOEL, EDDIE, TROY, ALEXANDER, MARIO, FRANCISCO, MICHEAL, OSCAR, JAY, ALEX, JON, RONNIE, TOMMY, LEON, LEO, WESLEY, DEAN, DAN, LEWIS,COREY, MAURICE, VERNON, ROBERTO, CLYDE, SHANE, SAM, LESTER, CHARLIE, TYLER, GENE, BRETT, ANGEL, LESLIE, CECIL, ANDRE, ELMER, GABRIEL, MITCHELL, ADRIAN, KARL, CORY, CLAUDE, JAMIE, JESSIE, CHRISTIAN, LONNIE, CODY, JULIO, KELLY, JIMMIE, JORDAN, JAIME, CASEY, JOHNNIE, SIDNEY, JULIAN, DARYL, VIRGIL, MARSHALL, PERRY, MARION, TRACY, RENE, FREDDIE, AUSTIN, JACKIE, JOEY, DONNIE, SHANNON, ANGELO, SHAUN, LYNN, CAMERON, BLAKE, KERRY, JEAN, IRA, RUDY, BENNIE, ROBIN, LOREN, NOEL, DEVIN, KIM, GUADALUPE, CARROLL, SAMMY, MARTY, TAYLOR, ELLIS, DALLAS, LAURENCE, DREW, JODY, FRANKIE, PAT, MERLE, TERRELL, DARNELL, TOMMIE, TOBY, VAN, COURTNEY, JAN, CARY, SANTOS, AUBREY, MORGAN, LOUIE, STACY, MICAH, BILLIE, LOGAN, DÉMÉTRIUS, ROBBIE, KENDALL, ROYCE, MICKEY, DEVON, ASHLEY, CAREY, FILS, MARLIN, ALI, SAMMIE, MICHEL, RORY, KRIS, AVERY, ALEXIS, GERRY, STACEY,CARMEN, SHELBY, RICKIE, BOBBIE, OLLIE, DENNY, DION, ODELL, MARY, COLBY, HOLLIS, KIRBY, CRUZ, MERRILL, LANE, CLEO, BLAIR, CHIFFRES, CLAIR, BERNIE, JOAN, DOMINIQUE, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIAN, LAVERN, REFUGIO, IVOIRE, ANDREA, SANG, DEON, CAROL, YONG, BERRY, TRINIDAD, SHIRLEY, MARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, HOMME, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY et JEWELCLAIR, BERNIE, JOAN, DOMINIQUE, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIAN, LAVERN, REFUGIO, IVOIRE, ANDREA, SANG, DEON, CAROL, YONG, BERRY, TRINIDAD, SHIRLEY, MARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, HOMME, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY et JEWELCLAIR, BERNIE, JOAN, DOMINIQUE, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIAN, LAVERN, REFUGIO, IVOIRE, ANDREA, SANG, DEON, CAROL, YONG, BERRY, TRINIDAD, SHIRLEY, MARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, HOMME, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY et JEWELMARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, HOMME, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY et JEWELMARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, HOMME, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY et JEWEL

sont tous des noms qui fonctionnent à la fois pour les hommes et les femmes. Si le nom d'une fille est Robert et que tout le monde, y compris votre logiciel, continue de l'appeler un homme, elle serait plutôt énervée.

nitromaster101
la source
25
Supposons qu'il existe une fille appelée Mark (n'hésitez pas à en indiquer une). Si j'étais elle, je serais énervé contre mes parents et pas contre le logiciel de Chas ...
Darko Z
6
Et si le logiciel ne l'appelait jamais un homme, mais présentait la version «masculine» de l'interface utilisateur? Ou elle est regroupée avec des hommes dans un agrégat sur un ensemble de données utilisé pour développer des supports marketing? Elle pourrait même ne pas le remarquer.
Chris McCall
Pour beaucoup de ces noms, j'obtiens une certitude à 100% basée sur les données de 500 à 1200 profils Facebook du nom donné. api.genderize.io/?name=robert api.genderize.io/?name=andrew api.genderize.io/?name=john
Stromgren
3

Bien que les bases de données soient probablement la solution la plus pratique, si vous voulez vous amuser, vous pouvez peut-être essayer d'écrire un réseau de neurones (ou d'utiliser une bibliothèque de réseaux de neurones) qui prend le nom et génère l'une de ces 3 options (F, M, A ).

Vous pouvez le former en utilisant les ensembles de données qui existent dans les bases de données suggérées par d'autres réponses, ainsi qu'avec toute autre donnée dont vous disposez.

Cette solution vous permettrait de gérer des noms non spécifiquement catégorisés précédemment, et également de gérer différentes langues. Vous voudrez peut-être également transmettre le langage (si vous le connaissez) en tant qu'entrée au réseau neuronal.

Je ne sais pas si je peux dire que les réseaux neuronaux (ou tout autre apprentissage automatique) feraient un bon travail de catégorisation.

les fromages
la source
3

Cela dépend de la culture / région: prenez Andrea, car les Italiens sont uniquement masculins, car la Suède est un prénom féminin tandis qu'Andreas est pour les hommes; Shawn est ambigu en anglais. Si une langue a une déclinaison, comme le latin ou le russe, les lettres finales changeront selon les règles grammaticales,

Les noms de famille identiques aux noms personnels sont une autre source d'ambiguïtés.

À mon avis, il est impossible de résoudre en général.

Giulio Vian
la source
Si OP avait une variable associée indiquant la culture d'origine, le lieu de naissance, la nationalité, tout ce qui serait utile. Mais il a dit qu'il ne le faisait pas, il vous suffit donc de faire une estimation statistique fondée sur des agrégats.
smci
3

L'idée ne fonctionnera clairement pas dans la plupart des langues.

Cependant, si vous pouviez dire la nationalité à l'avance, vous pourriez avoir plus de chance. Dans la plupart des langues slaves (par exemple le russe, le polonais, le bulgare), vous pouvez supposer que tous les noms de famille se terminant par -va -cha -ska (-a en général sont féminins) tandis que -v -ch -shi sont masculins.

En fait, tout nom de famille a une forme féminine et masculine selon la terminaison. Les mêmes noms utilisés dans d'autres pays (par exemple les États-Unis) pourraient n'utiliser que la forme masculine.

La même chose pourrait être dite pour les prénoms (-a -ya sont féminins) mais ce n'est pas exact à 100%.

Mais en général, vous n'obtiendrez guère une bibliothèque suffisamment précise.

Dimitar Slavchev
la source
comment un nom de famille est-il masculin ou féminin?
Simon_Weaver
2
@Simon_Weaver Le nom de famille de mon père est Slavchev et le nom de ma mère est Slavcheva. C'est en fait le même nom de famille, il est orthographié différemment pour les hommes et les hommes. Ceci est courant pour les noms slaves.
Dimitar Slavchev
2

Je ne l'ai pas utilisé, mais IBM a une bibliothèque Global Name Analytics (pour un prix!) Qui semble assez complète.

Altan
la source
2

Le répertoire Z (sur vettrasoft.com) a une fonction de langage C, fonctionne quelque chose comme ceci:

void func()
{
    char c = z_guess_sex_byfirstname ("Lon");
    switch(c)
    {
    case 'M': std::cout << "It's a boy!\n"; break;
    case 'F': std::cout << "It's a girl!\n"; break;
    case 'B': std::cout << "this name is for both sexes\n"; break;
    case '?': std::cout << "sex unknown sorry\n"; break;
    }
}

il est basé sur une base de données, la table a quelque chose comme 10000+ noms je pense, mais vous devez télécharger et installer le répertoire z (comprend de nombreux autres éléments topo comme les pays, les repères géographiques, les aéroports, les États, les indicatifs régionaux, les codes postaux, etc. ainsi que des fonctions et des objets c ++ pour accéder aux données). Cependant, les noms sont très orientés vers l'anglais. Le tableau est un travail en cours et mis à jour progressivement.

Gorth
la source
1

Les cartes nom-genre peuvent fonctionner, mais dans les pays multiculturels, cela ressemble plus à des suppositions. Je peux vous donner un exemple: Marian en polonais est un prénom masculin typique, alors que le même nom en Grande-Bretagne est un prénom féminin. À l'ère des immigrés partout dans le monde, je ne suis pas sûr qu'une telle base de données soit très précise. Bonne chance!

Michal Rogozinski
la source
1
Non, mais tant qu'il vaut mieux que 50%, il vaut mieux traiter les noms comme toujours masculins.
Chas. Owens
@Chas, alors pourquoi s'accrocher à cette fausse dichotomie? Vous avez l'option de la neutralité de genre.
bignose
nous avons même 2 politiques célèbres qui ont un deuxième nom «maria» - «mary» qui serait classé dans votre base de données comme féminin. juste pour les lols.
zalew
@JZ Je parle du prénom et non du nom (ou vice versa pour les cultures qui font l'inverse).
Chas. Owens
@bignose, le langage non sexiste a l'air bizarre et est alambiqué, je préfère produire quelque chose qui a l'air plus joli quand je le peux. Ceci n'est pas communiqué aux individus (s'ils existent même), donc il n'y a aucune chance d'offense, je ne sais pas pourquoi les gens passent autant de temps à discuter cela au lieu de simplement fournir des liens vers des bases de données s'ils connaissent un bien une.
Chas. Owens
1

Certaines cultures ont des noms unisexes - comme le mien. Que faites-vous alors? Je pense que la réponse est claire et simple - ne présumez pas - vous pourriez offenser. Demandez simplement si c'est nécessaire, sinon la neutralité de genre.

Preet Sangha
la source
5
La question a déjà répondu à votre réponse: alex => "A", #ambiguous. Que la question ait une réponse ou non, ce n'est pas votre réponse.
Programmeur Windows
Je ne suis pas d'accord - Je veux dire que tous les noms sont potentiellement ambigus.
Preet Sangha
Si les noms sont unisexes, ils seraient tous classés comme A et j'opterais pour la neutralité de genre, mais si un nom est principalement masculin ou féminin, je peux utiliser un langage beaucoup plus naturel.
Chas. Owens
Je vois quel est votre raisonnement mais je vous renvoie à ce dernier commentaire.
Preet Sangha
3
Mais si vous voyez un "Preet" sur StackOverflow, c'est probablement un homme.
Nosredna
1

Eh bien, plus maintenant. IBM breveté cette idée il y a quelque temps.

Donc, si vous recherchez un niveau de flexibilité quelconque (autre chose qu'une liste de noms), vous devrez soit (haleter!) Demander à l'utilisateur, ou simplement payer IBM pour les droits :)

Dans tous les cas, une telle détection automatique est ennuyeuse pour de nombreuses personnes qui ont des noms ambigus entre les sexes, ou même simplement des parents. Ne rendons pas cela plus difficile pour eux.

lfaraone
la source
3
Il semble qu'IBM ait breveté le choix d'un avatar basé sur son nom. Heureusement, ce n'est pas l'une des applications pour lesquelles j'ai l'intention d'utiliser ceci, donc je ne viole pas leur brevet. Quant à demander à l'utilisateur, cela suppose que j'ai des utilisateurs à demander par opposition à une liste de noms. J'ai répété à plusieurs reprises qu'il n'y avait aucun utilisateur, aucune interaction et aucun message destiné aux personnes auxquelles appartiennent les noms.
Chas. Owens
1

Ce n'est pas gratuit, mais c'est une belle bibliothèque que j'ai utilisée auparavant:

NetGender pour .NET vous permet de créer rapidement et facilement la vérification de nom, l'analyse et la détermination du sexe dans vos applications personnalisées. Vérifiez avec précision si un champ particulier contient une personne ou une entreprise valide. NetGender utilise un dictionnaire de noms de plus de 100 000 personnes ethniquement diversifié en combinaison avec un dictionnaire de noms de sociétés de plus de 8 000 pour garantir une détermination précise du sexe.

http://www.softwarecompany.com/dotnet/netgender.htm

Richard West
la source
1

C'est intéressant que vous disiez que vous avez une date de naissance. Cela pourrait aider. J'ai vu des bases de données d'histoires de popularité de noms.

Dans le film Splash (1984), c'était drôle que le personnage de Darryl Hannah choisisse le nom "Madison" d'un panneau de rue de Madison Avenue, car manifestement "Madison" n'est pas le nom d'une fille.

24 ans plus tard, Madison est le 4e nom le plus populaire pour les bébés filles!


Nommez l'histoire du gouvernement. (Découvrez le triste déclin de Mary au cours des 100 dernières années.)


Quand j'ai écrit à la Maison Blanche quand j'étais enfant, Richard Nixon (ou peut-être un secrétaire) m'a répondu avec quelques photos du lieu historique, adressées à «Mlle Rhett Anderson». «Miss Rhett? Cela n'a même pas de sens! Peut-on VRAIMENT ne pas faire la différence entre Rhett de Clark Gable (avec une moustache, dans Autant en emporte le vent!) Et Scarlett de Vivian Lee? Je ne lui pardonnerai jamais, malgré l'assurance de Neil Young que «même Richard Nixon a une âme».

Nosredna
la source
Bon point, la date entre définitivement en jeu ici.
Chas. Owens
1

Je suis presque sûr qu'aucun service de ce type ne pourrait exister avec un niveau de précision acceptable. Voici les problèmes que je pense insurmontables:

  • Il y a beaucoup de noms pour les hommes et les femmes.
  • Il y a beaucoup de noms différents dans ce monde, même si vous ne considérez qu'un seul pays.
  • Il y a le problème "A Boy Named Sue", soulevé avec tant d'éloquence par Johnny Cash :-)
Steve McLeod
la source
2
Une bonne base de données aurait le pourcentage d'hommes / femmes pour les noms androgynes par région et quand l'échantillon a été prélevé, etc.
Qu'en est-il des langues comme le japonais? J'apprends le japonais donc je me trompe peut-être ici, mais les noms <-> Kanji ne sont pas des relations simples, il y a eu des jeux de mots et des malentendus sur "ce que" kanji compose le nom d'une personne.
Pharaun
1

Vous pouvez jeter un œil à mon projet de détection de genre python https://github.com/muatik/genderizer

Il essaie de détecter le sexe des auteurs en recherchant leurs noms et / ou un échantillon de texte (par exemple des tweets) d'eux.

Et il prend également en charge mongodb, memcached pour les performances.

Muatik
la source
Cela semble bien, mais si vous en avez besoin pour connaître le "pays d'origine", consultez gender.c ou genderize.io ci-dessous
HaveAGuess le
0

Ce n'est pas vraiment un problème de programmation - cela revient à obtenir une table de probabilité.

AFAIK il n'y a pas de bases de données publiques sous forme distillée. Vous pouvez soit construire cela à partir des données du recensement, soit acheter les données à quelqu'un.

Par exemple, c'est quelqu'un qui vend la table de probabilité pour le Canada .

Uri
la source
0

À mon humble avis, c'est généralement une mauvaise idée de déterminer le sexe à partir du nom d'un individu. Beaucoup de noms sont intersexuels (bon chagrin, est-ce même un mot ?? :-), et ils peuvent aussi être un sexe dans une culture et un autre dans une autre.

Quelques exemples stupides, juste quelques-uns qui me sont venus à l'esprit (de ma part du monde, CE)

Vanja - femme, dans les pays de l'est d'ici, principalement de sexe masculin
Alex - intersexe (abréviation de Sandra, femme et Sandro, homme)
Robin - dans les cultures occidentales, peut être les deux

Dans certaines parties du monde, le sexe d'une personne peut être déterminé en regardant comment le nom se termine. Par exemple, Marija, Sandra, Ivana, Petra, Sara, Lucija, Ana - vous pouvez voir que la plupart de ces prénoms féminins se terminent par «ja» ou «ra». Il existe également d'autres exemples.

Pourtant, je pense qu'il vaut mieux simplement demander du sexe à l'utilisateur.

Tour
la source
9
"Pourtant, je pense que c'est mieux de simplement demander du sexe à l'utilisateur." - Je suis d'accord, ce serait bien mieux que de publier des commentaires sur Stack Overflow.
Programmeur Windows
2
UPS. Okeey, ça ne s'est pas bien passé :-)
Rook
C'était mieux avant l'édition :-)
Programmeur Windows
0

Je ne connais aucun service de ce type. Cependant, vous pouvez peut-être trouver les données que vous recherchez. Le gouvernement américain publie des données sur la prévalence des noms et le sexe de la personne à laquelle ils sont attachés. L'administration de la sécurité sociale a une telle page , et le recensement peut aussi bien, mais je n'ai pas pris le temps de regarder. Peut-être que d'autres gouvernements mondiaux font des choses similaires.

rmeador
la source
0

Cependant, je ne connais aucun service de ce type.

Dans certains pays (par exemple en Allemagne), le nom qu'une personne peut recevoir est limité par la loi - il existe peut-être des publications à ce sujet, qui pourraient être récoltées (mais je n'en connais pas pour le moment).

miku
la source
0

Ce que je ferais, c'est faire un hack qui prend le nom et le recherche sur l'API Facebook. Examine ensuite les utilisateurs résultants et compte combien d'entre eux sont des femmes ou des hommes. Vous pouvez ensuite retourner un pourcentage. Plus si insurmontable. :)

Ajayjapan
la source
-2

Demandez simplement aux gens, et s'ils sont gentils, ils vous donneront leur «M» ou «F», et s'ils ne le sont pas, donnez-leur un «A».

Azder
la source
2
Je ne suis pas en communication avec les personnes dont je veux cartographier les noms.
Chas. Owens