¿Alguien sabe de una buena biblioteca para asignar el nombre de una persona a su género? [cerrado]

90

Estoy buscando una biblioteca o base de datos que pueda proporcionar conjeturas sobre si una persona es hombre o mujer según su nombre o apodo. Algo como

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

Estoy buscando algo que admita nombres que no sean nombres en inglés (como japonés, indio, etc.).

Antes de obtener otra respuesta como "vas a ofender a las personas asumiendo su sexo / género", déjame ser claro, mi aplicación no interactúa con nadie. No envía correos electrónicos ni se comunica con nadie de ninguna manera. No hay usuarios para preguntar. En muchos casos, la persona en cuestión está muerta y la única información que tengo es el nombre, la fecha de nacimiento y la fecha de fallecimiento. La razón por la que quiero saber el sexo del individuo es para hacer que la gramática del resultado sea más agradable y ayudar en las posibles búsquedas que puedan surgir más tarde.

Chas. Owens
fuente
33
Vaya ... todo el mundo parece estar respondiendo a la pregunta "debería hacer esto", en lugar de la pregunta "¿cómo hago esto?" No es sorprendente, solo interesante.
bsneeze
9
De hecho, creo que esta es una gran pregunta. Si vas a un sitio web y el 90% de las veces calcula tu género, puedo ver el beneficio. Ojalá mi televisor pudiera hacer lo mismo. Estaba viendo reposiciones de King of the Hill en un vuelo reciente y cada 3 minutos había un anuncio de "masajeadores personales".
Uri
6
@mP Wow, mucho camino por recorrer desde adivinar el sexo para hacer que la gramática sea más agradable hasta el perfil racial
Chas. Owens
2
chas, no es lo que la gente no quiere darte por una cuestión moral, es como si no tuviera sentido al principio, así que estás pidiendo una solución fallida. Además, mencionas otros nombres que no sean en inglés, y en referencia intercultural, se vuelve aún más complicado. para mí, no es posible.
zalew
2
¿Cómo puede saber si un nombre es masculino o femenino? Alex podría ser la abreviatura de Alexander (un hombre) o Alexandra (una mujer). Conozco a un Micah que es hombre y otro que es mujer. ¿Y los nombres extranjeros?
Gabe

Respuestas:

66

El género de un nombre es algo que no se puede inferir programáticamente en el caso general. Necesita una base de datos de nombres. Aquí hay una base de datos de nombres gratuita de la Oficina del Censo de EE . UU .

EDITAR : El enlace para el nombre de 2010 está muerto, pero hay enlaces que funcionan y bibliotecas en los comentarios.

Ayman Hourieh
fuente
2
Esto es genial. Parece ser justo lo que necesita el solicitante. Los nombres ambiguos podrían tener el género "adivinado" según la frecuencia de Hombre versus la frecuencia de Mujer.
Stalepretzel
1
¡Construí una biblioteca para esto usando los datos del Censo y funciona muy bien! Aplicaciones potenciales: análisis, elección de género de voz IVR.
Chris McCall
9
Aquí está el nombre -> género de los datos del censo como dict de Python: raw.github.com/Bemmu/gender-from-name/master/gender.py
Bemmu
3
El enlace original está muerto, pero el censo aún mantiene la lista. Una versión específica de la década de 1990 (no sé por qué) está aquí: census.gov/genealogy/www/data/1990surnames/names_files.html
Chipmonkey
2
22 MB de nombres de bebés de EE. UU. Con sexo por año de nacimiento: ssa.gov/oact/babynames/limits.html (enlace válido a julio de 2015)
Dylan Hogg
70

gender.c es un programa C de código abierto que hace un buen trabajo. Viene con datos de 44568 nombres de todo el mundo. Hay buena documentación y una descripción del formato del archivo (básicamente texto plano) por lo que no debería ser difícil leerlo desde su propia aplicación.

Esto es lo que dice el autor:

Algunas palabras sobre la calidad de los datos

El diccionario de nombres se ha elaborado con sumo cuidado. Por ejemplo, los nombres turco, indio y coreano de este diccionario han sido clasificados de forma independiente por varios hablantes nativos. También tuve especial cuidado en enumerar solo los nombres que se pueden encontrar actualmente.

¿La lección de esto?

Cualquier modificación debe hacerse con mucha precaución (y también debe cumplir con la clasificación requerida por el algoritmo de búsqueda). Por ejemplo, sabiendo que "Sascha" es el nombre de un niño en Alemania, el autor nunca asumió que el inglés "Sasha" fuera el nombre de una niña. Sabiendo que "Jan" es un nombre de niño en Alemania, nunca asumí que fuera también una forma corta en inglés de "Janet". Otro ejemplo es el nombre "Esra". Este es un nombre de niño en Alemania, pero un nombre de niña en Turquía.

El programa calcula una probabilidad de que el nombre sea masculino o femenino. Puede hacerlo con el nombre como entrada solo o con el nombre y el país de origen, lo que da resultados significativamente mejores.

Puede descargarlo del sitio web de la revista informática alemana c't 40 000 Namen . El artículo está en alemán, pero no se preocupe, toda la documentación está en inglés. Aquí está el enlace ftp directo 0717-182.zip si no está interesado en el artículo. El archivo zip contiene el código fuente, un ejecutable de Windows, la base de datos y la documentación.

Ludwig Weinzierl
fuente
Esto es maravilloso, gracias.
Dale Athanasias
Vea aquí el puerto de Python - pypi.python.org/pypi/SexMachine
philshem
33

"Te lo digo, la vida no es fácil para un chico llamado 'Sue'".

... Entonces, ¿por qué hacerlo más difícil? Si necesitas saber el sexo, pregunta ... De lo contrario, no te preocupes.

Shog9
fuente
15
@Chas: incluso si logra hacerlo bien el 80% del tiempo, eso seguirá irritando a dos de cada diez personas que usan su software. No tan bien ... Entiendo la motivación, pero es mejor que reformule sus mensajes de manera que sean neutrales al género.
Shog9
2
Me pregunto si alguien más recuerda a "Pat" de SNL.
erickson
8
Releyendo esto, estoy saliendo de un terrible sermón ... No quiero dejar de lado tu idea, creo que es interesante ... Pero también muy arriesgado. Solía ​​trabajar como vendedor por teléfono, y no importa cuántos nombres conozcas, no importa lo bueno que seas reconociendo voces, a veces terminas adivinando mal ... y nunca es divertido. Entonces, es algo que evitaría, a menos que haya una gran recompensa por lograr adivinarlo correctamente .
Shog9
3
Seguiría el consejo de Shog9. A menos que su solicitud esté en otros idiomas además del inglés, podría ser más fácil usar pronombres neutrales al género, por ejemplo, ellos, uno, él / ella, etc.
Calvin
11
El nombre de mi novia es Kevan. Obtiene suficientes personas adivinando erróneamente su género a partir de su nombre, no necesita computadoras que también lo hagan. Lo que hay que tener en cuenta es crear una entrada en la base de datos que indique el género de una persona basándose en la suposición de una computadora; las personas que miran eso pueden asumir que es proporcionado por la persona misma, y ​​se confunden mucho cuando sus suposiciones resultan ser incorrectas (en contraposición a estar algo confusas basadas solo en el nombre).
Brian Campbell
29

Creé una API gratuita que ofrece una suposición probabilística sobre el género según el nombre. En lugar de utilizar cualquiera de los enfoques mencionados anteriormente, utilizo un enorme conjunto de datos de perfiles de redes sociales para proporcionar una suposición probabilística junto con un factor de certeza. También admite el filtrado opcional a través de identificaciones de país o idioma. Está mejorando día a día a medida que se agregan más perfiles al conjunto de datos.

Es de uso gratuito en http://genderize.io

UNA cosa que debe considerar es utilizar una herramienta que tenga en cuenta la demografía, ya que las convenciones de nomenclatura dependerán en gran medida de esto.

Ejemplo

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"}
rev.
fuente
2
Extensiones de código - genderize.io/#extensions
philshem
22

Aquí hay dos enfoques extraños que pueden ni siquiera funcionar, y probablemente no funcionarían en masa sin violar los términos de una licencia:

  1. Use la API de Facebook (de la que no sé prácticamente nada, puede que ni siquiera sea posible) para realizar dos búsquedas: una para usuarios masculinos de FB con ese nombre y otra para mujeres. Usa los dos números para decidir la probabilidad de género.

  2. Mucho más flexible pero más escalable, use la API de Google y busque el nombre más los pronombres específicos de género, y compare los números. Por ejemplo, hay 592.000.000 de resultados para la búsqueda de "Richard su" (no como una frase), pero sólo 179.000.000 de "Richard ella".

richardtallent
fuente
Aparte del consenso general de que el software intente adivinar cosas como el sexo a partir de un nombre, esta es una respuesta algorítmica realmente genial a la pregunta original. Bien hecho.
peSHIr
Gran idea. Probablemente también pueda agregar algunas palabras en el idioma de un país determinado para localizarlo.
Nosredna
Buen punto, Nosrenda ... por supuesto, Google también te permite filtrar los resultados de búsqueda por código de idioma. Incluso puede robar el idioma preferido del usuario de la solicitud HTTP. La configuración del idioma de su navegador puede coincidir o no con el origen étnico de su nombre, pero esta es una técnica confusa de todos modos.
richardtallent
2
Descubrí que Google es chovinista: se obtienen más resultados para hombres que para mujeres porque hay más hombres en Google. La API de Facebook probablemente sea mucho más representativa.
Chris McCall
6

Dadas las limitaciones establecidas, su mejor opción es reformular lo que sea que esté escribiendo para que sea neutral en cuanto al género, a menos que sepa de qué género quieren que se les llame en cada caso.

Si escribe en inglés , recuerde que el singular "ellos" es gramaticalmente correcto como pronombre de tercera persona del singular de género neutro.

Un buen ejemplo es el título de esta pregunta. Como está actualmente:

    … ¿Mapeando el nombre de una persona a su sexo?

Eso sería menos incómodo si estuviera escrito:

    … ¿Mapeando el nombre de una persona a su sexo?
nariz grande
fuente
No es del todo "perfectamente" gramatical. Incluso el artículo de Wikipedia admite que se ha utilizado, particularmente en el contexto moderno, como resultado de la incomodidad de algunos escritores con el genérico "él". No tengo un gran problema con los escritores que hacen esto (aunque si la neutralidad de género es realmente importante, prefiero reformular el constructo para poder usar pronombres como "uno"), pero llamémoslo como es.
Ben Collins
Yo diría que ambos tenemos razón. Toda la gramática, especialmente la gramática inglesa, tiene problemas importantes; pero yo diría que cualquier definición de "gramática perfecta" que realmente se aplique a cualquier cosa en inglés también se aplica aquí. O el singular "ellos" es perfectamente gramatical, o nada en inglés es :-)
bignose
Es de destacar que Grammar Girl (autor Mignon Fogarty) se ha inclinado hacia la aceptación del singular "ellos" desde hace un tiempo. grammar.quickanddirtytips.com/…
Karen Lopez
4

También es una mala práctica suponer que los usuarios deben ser hombres o mujeres. Hay un número pequeño pero significativo de personas "intersexuales", la mayoría de las cuales están harta de no tener una casilla para marcar ...
bignose: interesante en el "singular ellos". No me di cuenta de que tenía una historia tan larga.

Karl
fuente
4

El paquete de Python SexMachine lo hará por ti. Dado cualquier nombre, devuelve si es masculino, femenino o unisex. Se basa en los datos del programa gender.c de Jorg Michael.

jm_tagarro
fuente
3

Lo único que obtendrá al intentar automatizarlo es un grupo de usuarios descontentos. De esos datos del censo:

JAMES, JOHN, ROBERT, MICHAEL, WILLIAM, DAVID, RICHARD, CHARLES, JOSEPH, THOMAS, CHRISTOPHER, DANIEL, PAUL, MARK, DONALD, GEORGE, KENNETH, STEVEN, EDWARD, BRIAN, RONALD, ANTHONY, KEVINTH, JASON 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, VICESSTOR, MARTIN, SHAWN, CLARENCE, SEAN, CHRIS, JOHNNY, JIMMY, ANTONIO, TONY, LUIS, MIKE, DALE, CURTIS, NORMAN, ALLEN, GLENN, TRAVIS, LEE, MELVIN, KYLE, FRANCIS, JESUS, 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, JACKANIE, JOEY, DONNIE, SHANNON, ANGELO, SHAUN, LYNN, CAMERON, BLAKE, KERRY, JEAN, IRA, RUDY, BENNIE, ROBIN, LOREN, NOEL, DEVIN, KIM, GUADALUPE, CARROLL, SAMMY, MARTY, TAYLOR, ELLISENCE, DALLAS, LA DREW, JODY, FRANKIE, PAT, MERLE, TERRELL, DARNELL, TOMMIE, TOBY, VAN, COURTNEY, JAN, CARY, SANTOS, AUBREY, MORGAN, LOUIE, STACY, MICAH, BILLIE, LOGAN, DEMETRIUS, ROBBIE, KENDALL MICKEY, DEVON, ASHLEY, CAREY, HIJO, 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, NÚMEROS, 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, IVORY, 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, HOMBRE, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY y 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, IVORY, 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, HOMBRE, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY y 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, IVORY, 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, HOMBRE, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY y 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, HOMBRE, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY y 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, HOMBRE, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY y JEWEL

son todos nombres que funcionan tanto para hombres como para mujeres. Si el nombre de una chica es Robert y todos, incluido tu software, siguen llamándola hombre, estaría bastante enojada.

nitromaster101
fuente
25
Supongamos que existe una chica llamada Mark (siéntase libre de señalar una). Si yo fuera ella, estaría enojado con mis padres y no con el software de Chas ...
Darko Z
6
¿Qué pasa si el software nunca la llama hombre, pero presenta la versión "masculina" de la interfaz de usuario? ¿O está agrupada con los hombres en conjunto sobre un conjunto de datos utilizado para desarrollar material de marketing? Puede que ni siquiera se dé cuenta.
Chris McCall
Para muchos de estos nombres, obtengo una certeza del 100% basada en datos de 500-1200 perfiles de Facebook del nombre de pila. api.genderize.io/?name=robert api.genderize.io/?name=andrew api.genderize.io/?name=john
Stromgren
3

Aunque las bases de datos son probablemente la solución más práctica, si quieres divertirte un poco tal vez podrías intentar escribir una red neuronal (o usar una biblioteca de redes neuronales) que tome el nombre y genere una de esas 3 opciones (F, M, A ).

Puede entrenarlo utilizando los conjuntos de datos que existen en las bases de datos sugeridas por otras respuestas, así como con cualquier otro dato que tenga.

Esta solución le permitiría manejar nombres que no se hayan categorizado específicamente anteriormente y también manejar diferentes idiomas. Es posible que también desee pasar el idioma (si lo conoce) como una entrada a la red neuronal.

Sin embargo, no sé si puedo decir que las redes neuronales (o cualquier otro aprendizaje automático) harían un buen trabajo al categorizar.

queso
fuente
3

Es dependiente de la cultura / región: por ejemplo, Andrea, porque los italianos es solo masculino, porque Suecia es un nombre femenino, mientras que Andreas es para hombres; Shawn es ambiguo en inglés. Si un idioma tiene declinación, como el latín o el ruso, las letras finales cambiarán de acuerdo con las reglas gramaticales,

Otra fuente de ambigüedades son los apellidos idénticos a los nombres personales.

En mi opinión, es imposible de resolver en general.

Giulio Vian
fuente
Si OP tuviera una variable acompañante que indique cultura de origen, lugar de nacimiento, nacionalidad, lo que sea, sería útil. Pero dijo que no, así que solo tienes que hacer una suposición estadísticamente informada basada en agregados.
smci
3

Claramente, la idea no funcionará en la mayoría de los idiomas.

Sin embargo, si pudiera decir la nacionalidad de antemano, podría tener más suerte. En la mayoría de los idiomas eslavos (por ejemplo, ruso, polaco, búlgaro) se puede asumir con seguridad que todos los apellidos que terminan con -va -cha -ska (-a en general son femeninos) mientras que -v -ch -shi son masculinos.

De hecho, cualquier apellido tiene forma femenina y masculina según el final. Sin embargo, los mismos nombres utilizados en otros países (por ejemplo, EE. UU.) Pueden usar solo la forma masculina.

Lo mismo podría decirse de los nombres de pila (-a -ya son femeninos) pero no es 100% exacto.

Pero, en general, difícilmente obtendría una biblioteca lo suficientemente precisa.

Dimitar Slavchev
fuente
¿Cómo es un apellido masculino o femenino?
Simon_Weaver
2
@Simon_Weaver El apellido de mi padre es Slavchev, y el apellido de mi madre es Slavcheva. De hecho, es el mismo apellido, pero se escribe de manera diferente para hombres y mujeres. Esto es común para los nombres eslavos.
Dimitar Slavchev
2

No lo he usado, pero IBM tiene una biblioteca de Global Name Analytics (¡por un precio!) Que parece bastante completa.

altan
fuente
2

El directorio Z (en vettrasoft.com) tiene una función de lenguaje C, funciona así:

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;
    }
}

está basada en la base de datos, la tabla tiene algo así como más de 10,000 nombres, creo, pero necesita descargar e instalar el directorio z (incluye muchos otros elementos topo como países, puntos de referencia geográficos, aeropuertos, estados, códigos de área, códigos postales, etc. junto con funciones y objetos de c ++ para acceder a los datos). Sin embargo, los nombres están muy orientados al idioma inglés. La tabla es un trabajo en progreso y se actualiza gradualmente.

gorth
fuente
1

Los mapas de nombres y género pueden funcionar, pero en países multiculturales es más como adivinar. Les puedo dar un ejemplo: Marian en polaco es un nombre masculino típico, mientras que el mismo nombre en Gran Bretaña es un nombre femenino. En la era de las personas que inmigran por todo el mundo, no estoy seguro de que esa base de datos sea muy precisa. ¡Buena suerte!

Michal Rogozinski
fuente
1
No, pero siempre que sea mejor que el 50%, es mejor tratar los nombres como siempre masculinos.
Chas. Owens
@Chas, entonces, ¿por qué aferrarse a esa falsa dicotomía? Tiene la opción de la neutralidad de género.
bignose
incluso tenemos 2 políticos famosos que tienen un segundo nombre 'maria' - 'mary' que se clasificaría en su base de datos como femenino. solo para los lols.
zalew
@JZ Estoy hablando del nombre, no del apellido (o viceversa para las culturas que hacen lo contrario).
Chas. Owens
@bignose, el lenguaje de género neutro parece extraño y complicado, prefiero producir algo que se vea mejor cuando pueda. Esto no se comunica a las personas (si es que existen), por lo que no hay posibilidad de ofender, no sé por qué la gente pasa tanto tiempo discutiendo esto en lugar de simplemente proporcionar enlaces a bases de datos si conocen un buen uno.
Chas. Owens
1

Algunas culturas tienen nombres unisex, como el mío. ¿Que haces entonces? Creo que la respuesta es simple, no asuma que podría ofender. Solo pregunte si es necesario, de lo contrario neutralidad de género.

Preet Sangha
fuente
5
La pregunta ya respondió a tu respuesta: alex => "A", # ambiguo. Ya sea que la pregunta tenga o no una respuesta, su respuesta no es así.
Programador de Windows
No estoy de acuerdo: lo que quiero decir es que todos los nombres son potencialmente ambiguos.
Preet Sangha
Si los nombres son unisex, todos se clasificarían como A y yo optaría por la neutralidad de género, pero si un nombre es predominantemente masculino o femenino, puedo usar un lenguaje mucho más natural.
Chas. Owens
Veo cuál es su razonamiento, pero le remito al último comentario.
Preet Sangha
3
Pero si ve un "Preet" en StackOverflow, probablemente sea un hombre.
Nosredna
1

Bueno, ya no. IBM patentó esa idea hace un tiempo.

Entonces, si está buscando cualquier nivel de flexibilidad (algo que no sea una lista de nombres), tendrá que (¡jadeo!) Preguntarle al usuario, o simplemente pagarle a IBM por los derechos :)

En cualquier caso, tal autodetección es molesta para muchas personas que tienen nombres ambiguos en cuanto al género, o incluso simplemente padres malos. No hagamos esto más difícil para ellos.

lfaraone
fuente
3
Parece que IBM patentó la elección de un avatar en función del nombre. Afortunadamente, esa no es una de las aplicaciones para las que pretendo usar esto, así que no estoy violando su patente. En cuanto a preguntar al usuario, eso supone que tengo usuarios para preguntar en lugar de una lista de nombres. He dicho repetidamente que no hay usuarios, ni interacción, ni mensajes que vayan a las personas a las que pertenecen los nombres.
Chas. Owens
1

No es gratis, pero esta es una buena biblioteca que he usado antes:

NetGender para .NET le permite crear rápida y fácilmente la verificación de nombres, el análisis y la determinación de género en sus aplicaciones personalizadas. Verifique con precisión si un campo en particular contiene una persona o empresa válida. NetGender utiliza un diccionario de nombres de más de 100.000 personas étnicamente diverso en combinación con un diccionario de nombres de empresas de más de 8.000 para garantizar una determinación precisa del género.

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

Richard West
fuente
1

Es interesante que diga que tiene fecha de nacimiento. Eso podría ayudar. He visto bases de datos de historias de popularidad de nombres.

En la película Splash (1984), era gracioso que el personaje de Darryl Hannah eligiera el nombre "Madison" de un letrero de la calle Madison Avenue, porque obviamente "Madison" no es un nombre de niña.

¡24 años después, Madison es el cuarto nombre más popular para niñas bebés!


Nombre del historial del gobierno. (Vea el triste declive de Mary en los últimos 100 años).


Cuando escribí a la Casa Blanca cuando era niño, Richard Nixon (o, tal vez un secretario) me respondió con algunas fotos del lugar histórico, dirigidas a "Miss Rhett Anderson". "¿Señorita Rhett?" ¡Ni siquiera tiene sentido! ¿Realmente no podemos notar la diferencia entre el Rhett de Clark Gable (con bigote, en Lo que el viento se llevó!) Y Scarlett de Vivian Lee? Nunca lo perdonaré, a pesar de que Neil Young asegura que "incluso Richard Nixon tiene alma".

Nosredna
fuente
Buen punto, la fecha definitivamente entra en juego aquí.
Chas. Owens
1

Estoy bastante seguro de que ningún servicio de este tipo podría existir con un nivel aceptable de precisión. Estos son los problemas que creo que son insuperables:

  • Hay muchos nombres que son tanto para hombres como para mujeres.
  • Hay muchos nombres diferentes en este mundo, incluso si solo considera un país.
  • Está el problema de "A Boy Named Sue", planteado tan elocuentemente por Johnny Cash :-)
Steve McLeod
fuente
2
Una buena base de datos tendría el porcentaje de hombres / mujeres para los nombres andróginos por región y cuándo se tomó la muestra, etc.
¿Qué pasa con idiomas como el japonés? Estoy aprendiendo japonés, así que podría estar equivocado aquí, pero los nombres <-> kanji no son una relación directa, ha habido juegos de palabras y malentendidos sobre "qué" kanji constituye el nombre de una persona.
Pharaun
1

Puedes echar un vistazo a mi proyecto de detección de género de Python https://github.com/muatik/genderizer

Intenta detectar el género de los autores buscando sus nombres y / o texto de muestra (por ejemplo, tweets) de ellos.

Y también es compatible con mongodb, memcached para rendimiento.

Muatik
fuente
Parece bueno, pero si necesita que sea consciente del "país de origen", consulte gender.c o genderize.io a continuación
HaveAGuess
0

Esto no es realmente un problema de programación, se trata de obtener una tabla de probabilidad.

AFAIK no hay bases de datos públicas en formas destiladas. Puede construir esto a partir de datos del censo o comprar los datos de alguien.

Por ejemplo, se trata de alguien que vende la tabla de probabilidades para Canadá .

Uri
fuente
0

En mi humilde opinión, en general es una mala idea determinar el sexo a partir del nombre de un individuo. Muchos nombres son intersexuales (Dios mío, ¿es esto incluso una palabra? :-), y también pueden ser de un sexo en una cultura y otro en otra.

Algunos ejemplos estúpidos, solo algunos que me vinieron a la mente (de mi parte del mundo, CE)

Vanja - mujer, en los países del este de aquí, en su mayoría hombre
Alex - intersex (abreviatura de Sandra, mujer, y Sandro, hombre)
Robin - en las culturas occidentales, puede ser ambos

En algunas partes del mundo, el sexo de una persona se puede determinar observando cómo termina el nombre. Por ejemplo, Marija, Sandra, Ivana, Petra, Sara, Lucija, Ana, puedes ver que la mayoría de estos nombres femeninos terminan en "ja" o "ra". También hay otros ejemplos.

Aún así, creo que es mejor pedirle sexo al usuario.

Torre
fuente
9
"Aún así, creo que es mejor pedirle sexo al usuario". - Estoy de acuerdo, eso sería mucho mejor que publicar comentarios en Stack Overflow.
Programador de Windows
2
UPS. Okeey, eso no salió bien :-)
Torre
Era mejor antes de editar :-)
Programador de Windows
0

No conozco tal servicio. Sin embargo, quizás pueda encontrar los datos que busca. El gobierno de los Estados Unidos publica datos sobre la prevalencia de nombres y el género de la persona a la que están vinculados. La Administración del Seguro Social tiene una página así , y el censo también puede, pero no me he tomado el tiempo de buscar. Quizás otros gobiernos del mundo hagan cosas similares.

rmeador
fuente
0

Sin embargo, no conozco tal servicio.

En algunos países (por ejemplo, alemania) el nombre que se le puede dar a una persona está limitado por la ley; tal vez haya algunas publicaciones sobre ese tema, que podrían cosecharse (pero no conozco ninguna en este momento).

miku
fuente
0

Lo que haría es hacer un truco que tome el nombre y lo busque en la api de Facebook. Luego, observa los usuarios resultantes y cuenta cuántos de ellos son mujeres o hombres. Luego puede devolver un porcentaje. Ya no es tan insuperable. :)

ajayjapan
fuente
-2

Pregúntele a la gente, y si son amables le darán sus 'M's o' F's, y si no lo son, entonces les darán una 'A'.

Azder
fuente
2
No estoy en comunicación con las personas cuyos nombres quiero mapear.
Chas. Owens