Кто-либо знает о хорошей библиотеке для отображения имени человека к его полу? [закрытый]

Это работает, но:

  • вы должны быть на самом деле в автономном режиме
  • NODE_ENV не production (иначе не gatsby build)

Смотрите реализацию здесь

Так что я думаю, что это просто удобный флаг, который позволит вам разрабатывать без подключения к интернету. Я не уверен, что документ имел в виду под export ..., но так как они проверяют process.env.GATSBY_CONTENTFUL_OFFLINE, вы можете установить его, добавив его к любой команде, которую вы запускаете в терминале (игнорируйте $): [1112 ]

$ gatsby develop
# GATSBY_CONTENTFUL_OFFLINE is undefined

$ GATSBY_CONTENTFUL_OFFLINE=true gatsby develop
# GATSBY_CONTENTFUL_OFFLINE is true

$ GATSBY_CONTENTFUL_OFFLINE=true gatsby build
# GATSBY_CONTENTFUL_OFFLINE is true, but contenful doesn't care
# because NODE_ENV is always set to `production`

При этом (после выключения вашей сети) вы должны увидеть это в консоли:

Использование Contentful Offline cache ⚠️

Cache может быть признано недействительным, если вы редактируете файлы package.json, gatsby-node.js или gatsby-config.js

blockquote>

90
задан 7 revs, 5 users 100% 18 August 2013 в 22:20
поделиться

25 ответов

The gender of a name is something that cannot be inferred programmatically in the general case. You need a name database. Here is a free name database from the US Census Bureau.

EDIT: The link for the 2010 name is dead but there are working links and a libraries in the comments.

66
ответ дан 24 November 2019 в 06:57
поделиться

Just ask people, and if they are nice they will give you their 'M's or 'F's , and if they are not then give'em an 'A' .

-2
ответ дан 24 November 2019 в 06:57
поделиться

ИМХО, вообще плохая идея определять пол по имени человека. Многие имена являются интерсексуальными (хорошее горе, это даже слово ?? :-), и также они могут быть одного пола в одной культуре и другого в другой.

Несколько глупых примеров, только некоторые из них пришли к разум (из моей части мира, CE)

Ваня - женщина, отсюда в восточных странах, в основном, мужчины
Алекс - интерсекс (сокращение от Сандра, женщина, и Сандро, мужчина)
Робин - в западных культурах может быть как

. В некоторых частях мира пол человека можно определить, посмотрев на то, как кончается имя. Например, Мария, Сандра, Ивана, Петра, Сара, Люсия, Ана - вы можете видеть, что большинство этих женских имен заканчиваются на «я» или «ра». Есть и другие примеры.

Тем не менее, я думаю, что лучше просто спросить пользователя о сексе.

0
ответ дан 24 November 2019 в 06:57
поделиться

Карты имени и пола могут работать, но в мультикультурных странах это больше похоже на угадывание. Я могу привести один пример: «Мариан» на польском языке - это типичное мужское имя, тогда как в Великобритании это же имя - женское. В эпоху людей, иммигрирующих по всему миру, я не уверен, что такая база данных будет очень точной. Удачи!

1
ответ дан 24 November 2019 в 06:57
поделиться

This is not really a programming problem - it comes down to getting a probability table.

AFAIK there are no public databases in distilled forms. You could either build this from census data, or buy the data from someone.

For example, this is someone who sells the probability table for Canada.

0
ответ дан 24 November 2019 в 06:57
поделиться

Учитывая ваши заявленные ограничения, ваш лучший вариант - перефразировать то, что вы пишете, чтобы быть гендерно-нейтральный , если вы не знаете , какой пол они хотят называть в каждом конкретном случае.

Если вы пишете на английском , помните, что единственное «они» грамматически прекрасен как местоимение третьего лица в единственном числе.

Хорошим примером является заголовок этого вопроса. Как и в настоящее время:

    … mapping a person's name to his or her sex?

Это было бы менее неловко, если бы было написано:

    … mapping a person's name to their sex?
6
ответ дан 24 November 2019 в 06:57
поделиться

Хотя базы данных, вероятно, являются наиболее практичным решением, если вы хотите повеселиться, вы можете попробовать написать нейронную сеть (или использовать библиотеку нейронных сетей), которая берет имя и выводит один из этих 3 вариантов (F, M, A).

Вы можете обучить его, используя наборы данных, которые существуют в базах данных, предложенных другими ответами, а также с любыми другими данными, которые у вас есть.

Это решение позволит вам обрабатывать имена, которые не были специально классифицированы ранее, а также обрабатывать разные языки. Возможно, вы захотите передать язык (если вы его знаете) и в качестве входных данных для нейронной сети.

Я не знаю, могу ли я сказать, что нейронные сети (или любое другое машинное обучение) хорошо бы классификация, хотя.

3
ответ дан 24 November 2019 в 06:57
поделиться

Some cultures have unisex names - like mine. What do you do then? I think the answer is plain and simple - don't assume - you could cause offence. Just ask if its needed, otherwise gender neutrality.

1
ответ дан 24 November 2019 в 06:57
поделиться

The only thing you'll get from trying to automate it is a bunch of unhappy users. From that census data:

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, 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, JACKIE, JOEY, EVAN, DANA, 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, DEMETRIUS, ROBBIE, KENDALL, ROYCE, MICKEY, DEVON, ASHLEY, CAREY, SON, 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, NUMBERS, 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, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY, and JEWEL

are all names that work for both males and females. If a girl's name is Robert and everyone, including your software, keeps on calling her a man, she'd be rather pissed.

3
ответ дан 24 November 2019 в 06:57
поделиться

Также считается плохой практикой предполагать, что пользователи должны быть мужчинами или женщинами. Есть небольшое, но значительное количество "интерсекс" людей, большинство из которых от всего сердца устали от того, что у них нет коробки для галочки.
bignose: интересно на «единственном числе». Я не осознавал, что у него такая длинная история.

4
ответ дан 24 November 2019 в 06:57
поделиться

"I tell ya, life ain't easy for a boy named 'Sue.'"

...So, why make it any harder? If you need to know the sex, just ask... Otherwise, don't worry about it.

32
ответ дан 24 November 2019 в 06:57
поделиться

gender.c is an open source C program that does a good job. It comes with data for 44568 first names from all around the world. There is good documentation and a description of the file format (basically plain text) поэтому не должно быть затруднительно читать его из собственного приложения.

Вот что говорит автор:

Несколько слов о качестве данных

Словарь имен был подготовлен с особой тщательностью. Например, турецкие, индийские и корейские имена в этом словаре все были независимо классифицированы несколькими носителями языка. Я также позаботился, чтобы перечислить только те имена, которые могут в настоящее время быть найден.

Урок от этого?

Любые изменения должны быть сделаны очень осторожно (и они должны также придерживаться сортировки, требуемой алгоритмом поиска). Например, зная, что «Саша» - это имя мальчика в Германии, автор никогда не предполагал, что английская "Саша" будет именем девушки. Зная, что «Ян» - это имя мальчика в Германии, я никогда не предполагал, что also a English short form of "Janet". Another case in point is the name "Esra". This is a boy's name in Germany, but a girl's name in Turkey.

The program calculates a probability for the name being male of female. It can do so with the name as input alone or with the name and country of origin, which gives significantly better results.

You can download it from the website of the German computer magazine c't 40 000 Namen. The article is in German but don't worry, all documentation is English. Here is the direct ftp link 0717-182.zip if you are not interested in the article. The zip-File contains the source code, an windows executable, the database and the documentation.

70
ответ дан 24 November 2019 в 06:57
поделиться

Ну, больше нет. IBM запатентовала эту идею некоторое время назад.

Поэтому, если вы ищете какой-либо уровень гибкости (что-то кроме списка имен), вам придется (задохнуться!) Спросить пользователя или просто заплатить IBM за права:)

В любом случае, такое автоопределение раздражает многих людей, чьи имена неоднозначны по признаку пола. или даже просто имею ввиду родителей. Давайте не будем усложнять им это.

1
ответ дан 24 November 2019 в 06:57
поделиться

Here are two oddball approaches that may not even work, and likely wouldn't work en masse without violating the terms of a license:

  1. Use the Facebook API (which I know virtually nothing about, it may not even be possible) to perform two searches: one for FB male users with that first name, and one for female. Use the two numbers to decide the probability of gender.

  2. Much looser but more scalable, use the Google API and search for the name plus the gender-specific pronouns, and compare the numbers. For instance, there are 592,000,000 results for searching for "Richard his" (not as a phrase), but only 179,000,000 for "Richard her".

22
ответ дан 24 November 2019 в 06:57
поделиться

Получил это из хакерских новостей обсуждение этого

0
ответ дан 24 November 2019 в 06:57
поделиться

Это зависит от культуры / региона: возьмите Андреа, для итальянцев это только мужское имя, для Швеции это женское имя, а Андреас - для мужчин; Шон неоднозначно говорит по-английски. Если у языка есть склонение, например, латинский или русский, последние буквы будут меняться в соответствии с грамматическими правилами,

Другой источник неоднозначности - это фамилии, идентичные личным именам.

На мой взгляд, это невозможно решить в целом.

111358]

3
ответ дан 24 November 2019 в 06:57
поделиться

Это не бесплатно, но это хорошая библиотека, которую я использовал раньше:

NetGender для .NET позволяет быстро и легко создать имя Проверка, парсинг и пол Решительность в вашем обычае Приложения. Точно проверить содержит ли конкретное поле действительное физическое или юридическое лицо или компания. NetGender использует более 100 000 этнически разнообразных, Словарь имен в сочетании с Более 8000 словаря названий компаний для обеспечить точное определение пола.

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

1
ответ дан 24 November 2019 в 06:57
поделиться

Я не использовал его, но у IBM есть библиотека Global Name Analytics (по цене!), Которая кажется довольно всеобъемлющей.

2
ответ дан 24 November 2019 в 06:57
поделиться

Интересно, что вы сказали, что у вас есть дата рождения. Это могло помочь. Я видел базы данных историй популярности имен.

В фильме «Всплеск» (1984) было забавно, что персонаж Дэррила Ханны выбирает имя «Мэдисон». от знака улицы Мэдисон-авеню, потому что, очевидно, «Мэдисон» - не девичье имя.

24 года спустя Мэдисон - 4-е по популярности имя для девочек-младенцев!


История имен от правительства. (Посмотрите на печальный упадок Мэри за последние 100 лет.)


Когда я писал в Белый дом в детстве, Ричард Никсон (или, возможно, секретарь) ответил мне несколькими фотографиями исторического места, адресованными " Мисс Ретт Андерсон ". "Мисс Ретт?" Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

имя не для девочек.

24 года спустя Мэдисон занимает 4-е место по популярности для девочек!


История имен от правительства. (Посмотрите на печальный упадок Мэри за последние 100 лет.)


Когда я писал в Белый дом в детстве, Ричард Никсон (или, возможно, секретарь) ответил мне несколькими фотографиями исторического места, адресованными " Мисс Ретт Андерсон ". "Мисс Ретт?" Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

имя не для девочек.

24 года спустя Мэдисон занимает 4-е место по популярности для девочек!


История имен от правительства. (Посмотрите на печальный упадок Мэри за последние 100 лет.)


Когда я писал в Белый дом в детстве, Ричард Никсон (или, возможно, секретарь) ответил мне несколькими фотографиями исторического места, адресованными " Мисс Ретт Андерсон ". "Мисс Ретт?" Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

(Посмотрите на печальный упадок Мэри за последние 100 лет.)


Когда я писал в Белый дом в детстве, Ричард Никсон (или, возможно, секретарь) ответил мне несколькими фотографиями исторического места: адресовано «мисс Ретт Андерсон». "Мисс Ретт?" Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

(Посмотрите на печальный упадок Мэри за последние 100 лет.)


Когда я писал в Белый дом в детстве, Ричард Никсон (или, возможно, секретарь) ответил мне несколькими фотографиями исторического места: адресовано «мисс Ретт Андерсон». "Мисс Ретт?" Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

Это даже не имеет смысла! Можем ли мы ДЕЙСТВИТЕЛЬНО не отличить Ретта Кларка Гейбла (с усами, в «Унесенных ветром»!) И Скарлетт Вивиан Ли? Я никогда ему не прощу, несмотря на заверения Нила Янга, что «даже у Ричарда Никсона есть душа».

1
ответ дан 24 November 2019 в 06:57
поделиться

Я не знаю такой службы, однако ...

В некоторых странах (например, в Германии) имя, которое можно дать человеку, ограничено законом - возможно, есть какие-то публикации по этому поводу, которые можно было бы собрать (но я не знаю любой на данный момент).

0
ответ дан 24 November 2019 в 06:57
поделиться

Я почти уверен, что такой сервис не может существовать с приемлемым уровнем точности. Вот проблемы, которые я считаю непреодолимыми:

  • Существует множество имен как для мужчин, так и для женщин.
  • В этом мире много разных имен, даже если рассматривать только одну страну.
  • Есть проблема "Мальчик по имени Сью", столь красноречиво поднятую Джонни Кэшем: -)
1
ответ дан 24 November 2019 в 06:57
поделиться

Я не знаю такого сервиса. Однако, возможно, вы можете найти данные, которые вы ищете. Правительство США публикует данные о распространенности имен и пола человека, к которому они привязаны. У Администрации социального обеспечения есть такая страница, и перепись населения, возможно, тоже, но я не нашел времени, чтобы посмотреть. Возможно, правительства других стран делают подобное.

0
ответ дан 24 November 2019 в 06:57
поделиться

Не пытайтесь определить пол человека по введенному имени. Когда вы ошибаетесь, вы действительно злитесь на кого-то, позволяя пользователям вводить свой пол очень просто, так что вы также можете позволить им ввести его.

-3
ответ дан 24 November 2019 в 06:57
поделиться

I think it will be hard to find libraries or databases that covers more than one (or a limited few) cultures. For instance, here in Sweden the name "Maria" is strongly identified as a female name, while (to the best of my understanding) that connection is not at all as strong in spanish-speaking countries.

-2
ответ дан 24 November 2019 в 06:57
поделиться

Плюс я не знаю, но как насчет азиатского языка, арабского и / или одного из тысяч существующих языков.

Я имею в виду, что могу увидеть базу данных имен с процентным соотношением мужчин и женщин, а также дополнительную информацию, такую ​​как регион, страна и так далее. Но в конечном итоге это будет довольно сложная и большая база данных, чтобы иметь возможность иметь дело со всеми возможными именами в мире.

Плюс как работать с именами, которых нет в базе данных? и т. д. ....

-2
ответ дан 24 November 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: