определение пола по имени

Как определить пол по отчеству (ПРАВСИМВ)

Этот пример я решил разобрать, чтобы разобрать комбинацию из формул ЕСЛИ и ПРАВСИМВ.
Разберём тот случай, когда после применения не самой замудрённой формулы в Microsoft Excel, у обычного зрителя возникает ощущение «ВАУ».

Перед нами таблица с ФИО, и наша задача — определить с помощью формулы пол по отчеству.
По традиции можете посмотреть видео, пример для скачивания доступен выше.

Для начала немного теории…
Все мужские отчества заканчиваются на букву «-ч», женские — на «-на».
Нам остаётся просто воспользоваться логической функцией: если отчество заканчивается на букву «-ч», значит пол мужской.
В противном случае, пол — женский.

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

В ячейку C2 запишем формулу:

«=ЕСЛИ(ПРАВСИМВ(B2;1)=»ч»;»м»;»ж»)»

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

Растянем нашу формулу на всю таблицу, чтобы определить пол во всех ячейках.

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

Согласитесь, красивое решение.
Просто, одной формулой, которая состоит из функций ЕСЛИ и ПРАВСИМВ, мы так красиво решили задачу.

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

Вам так же доступно видео, возможно кому-то будет так удобнее.

Больше полезных видеоуроков на нашем YouTube канале.
Если у Вас возникли вопросы или просто хотите поделиться мнением, напишите в комментариях к записи.

Источник

Определение пола по ФИО

Подскажите, пожалуйста, алгоритм определения пола по ФИО. Может есть на питоне какие-то решения? Я пробовал: 1-по окончаниям; 2-с помощью pymorphy разбивал ФИО на слова и определял род каждого слова. Есть еще какие-нить библиотеки или может алгоритм? ФИО могут быть не только русские.

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

4 ответа 4

Сначала достанем базу данных на этом сайте

Также давайте закажем для генерации базу и для английских имён по аналогии.

Процесс не быстрый, так что можно пойти заварить чаёк и выкурить сигаретку. Как придём, нам придёт 2 письма со ссылками на скачивание наших БД.

Давайте протестируем что у нас получилось на нескольких входных данных:

Можно воспользоваться pymorphy2 для определения пола по имени:

Также для определения пола по фио можно использовать нейронную сеть. Пример можно взять здесь: https://github.com/Rai220/MlSexDetector

В дополнение к ответу user243273:

Для более широкой проверки я предлагаю:

Пример работы кода:

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

Всё ещё ищете ответ? Посмотрите другие вопросы с метками python python-3.x алгоритм nlp или задайте свой вопрос.

Связанные

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.24.40305

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Определение пола по ФИО – когда точность действительно важна

Некоторое время назад меня заинтересовала задача определения пола человека по его ФИО. В тот момент я работал в области медицинского страхования, где эта проблема была действительно актуальна – расходы на одного застрахованного, а значит и тарифы, по которым людей принимали на страхование, в зависимости от пола клиента, могли отличаться в несколько раз. Большая часть договоров – корпоративные, застрахованные являются сотрудниками работодателя.

Мы никогда не видели большинство из них в глаза, все, что мы имели – списки застрахованных, где пол иногда был указан (с большим количеством ошибок), но чаще – не указан вообще. Большинство компаний имеют свою специфику работы и профессиональные традиции, в силу чего, в их коллективах преобладают люди одного пола. Даже небольшая ошибка могла сделать потенциально прибыльный договор убыточным (или наоборот, но на такое, по странному стечению обстоятельств, случалось с нашими клиентами гораздо реже). В целом, при объеме портфеля договоров в несколько миллиардов, и характерном количестве ошибок около процента, цена корректного определения пола по ФИО была в районе нескольких десятков миллионов.

В рунете тема определения пола по ФИО поднималась уже неоднократно, но, в большинстве случаев, все сводилось к рекомендации внимательно смотреть на окончание отчества («вич»/«вна») или использовать какие-то подобные найденные вручную закономерности. К сожалению, в моей ситуации этот метод не подходил – среди застрахованных было много, действительно много, иностранцев. Правильное написание их отчества не содержало никаких признаков искомого окончания (а в некоторых случаях отсутствовало и само отчество).

Как ни странно, подобный, очень простой алгоритм, позволил добиться потрясающей точности – на выборке в несколько сотен тысяч человек (при базе для обучения в полтора миллиона) было допущено всего 6 ошибок (которые будут описаны ниже и каждую из которых, вполне вероятно, живой человек тоже совершил бы).

Некоторые подробности предварительной подготовки обучающей выборки:

Поскольку каждый раз, когда требуется определить пол человека, пробегаться по таблице контрагентов со всеми записями долго, то агрегированную информацию о частотах появления определенной части ФИО в хранимых данных я разместил во вспомогательной таблице. Выглядит это как четверка параметров – [часть ФИО – тип (Ф, И или О)– пол – число записей в базе]. Статистика обновляется еженедельно, автоматически.

Для определения того, какое соотношение мужчин и женщин для одной части ФИО считать достаточным основанием для причисления его к тому или иному полу, я использовал следующую функцию:

Ошибки алгоритма. Я обнаружил три ситуаций, когда алгоритм может выдать некорректный результат:

К сожалению, данный метод не является серебряной пулей, он просто лучше всех других, которые я встречал. Я тестировал метод на нескольких базах данных в разных компаниях. К минусам можно отнести то, что для части людей из-за недостаточной статистики определить пол по ФИО нельзя: на базе в 1,5 млн человек таких людей чуть больше 1%, на базе в 300 тыс человек таких около 3%, на базе в 6 млн человек не удалось определить пол для 0,8%. У меня есть предположение, что процент людей, для которых пол не может быть определен, обратно пропорционален корню из размера обучающей выборки, но никакого объяснения — почему именно так происходит, у меня нет. Конечно, процент людей, для которых пол может быть определен можно увеличить (и даже довести почти до 100%) установив более мягкие условия на то, когда человеку можно присвоить какой-либо пол, но для задач, с которыми я работал, была важнее точность, чем 100%-ное отнесение к одному из двух классов.

Другой недостаток, которому подвержен данный метод – плохая работа с опечатками. Несмотря на то, что некоторые из них довольно стандартны (имя «Олга» встречается чаще, чем, например, вполне правильное «Октябрина»), для большинства опечаток статистика будет отсутствовать => определить пол по такому имени будет не всегда возможно. К сожалению, обратное утверждение (если искомое имя еще ни разу не встречалось в базе, значит оно написано не правильно) не верно – людей с уникальными именами не меньше, чем опечаток в именах обычных людей.

Как и у любого инструмента, у этого есть особенности, о которых не задумываешься при создании.

Источник

Определение пола по имени в Excel

Описание функции

Функция =ПОЛ(ФИО) возвращает значение М если ФИО содержит мужское имя, или значение Ж, если имя женское. Функция имеет только 1 аргумент:

Пример 1

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

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

Пример 2

Использование функции ПОЛ для автоматизации договоров. Допустим необходимо автоматизировать обращение к клиенту и в зависимости от пола писать Уважаемый или Уважаемая. Тут нам и поможет наша функция.

определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

Помимо функции ПОЛ тут для удобства использовались функции ИМЯ и ОТЧЕСТВО. Они также входят в состав надстройки.

Принцип работы функции

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

Так как для определения пола используется наш сервер, то для корректной работы функции ПОЛ необходимо наличие интернета.

Если Вы нашли имя, пол по которому не определяется (функция возвращает значение Нет данных), напишите пожалуйста нам об это используя кнопку Есть предложение на ленте меню надстройки VBA-Excel, мы ее оперативно добавим и функция станет еще лучше.

Источник

Автоматическое определение пола по имени

Но мы не лингвисты, поэтому реализовать такой модуль было бы слишком сложно для нас, да и функция “не первой необходимости”. Но недавно, работая над склонениями текстов бесконечных актов, договоров и прочих юридических документов, мы вспомнили об используемом нами уже 2 года сервисе Морфер. Это прекрасный лингвистический сервис, специализирующийся на русском языке и позволяющий склонять по падежам слова, целые предложения, числительные, а также получать текст из цифр. В общем, потрясающая разработка всего одного человека — Сергея Слепова.

Итак, открываем спустя некоторое время его сайт и обнаруживаем — есть удобный и простой модуль для PHP, который позволяет определять род существительного. Т.е. подставляя сочетания ФИО можно получить достаточно точное определение пола (мужской, женский). Супер! Реализация функции не заставила себя долго ждать. Все сделано в виде шаблонов в тексте рассылки.

С помощью хитрой конструкции склонения:

В результате на выходе получится или “Уважаемый” или “Уважаемая”.

Вот еще пример конструкции:

=> в результате будет “Дорогой Иван” или “Дорогая Маргарита” или «Дорогой клиент» (если имя не задано)

Для тех, кто пользуется нашим онлайн-редактором, все еще проще:
определение пола по имени. Смотреть фото определение пола по имени. Смотреть картинку определение пола по имени. Картинка про определение пола по имени. Фото определение пола по имени

Удобные ссылки в панели управления по нажатию на кнопку человечка справа вверху, которые вы видите на скриншоте выше.

Написать подобную обертку действительно не сложно. Производительность модуля поражает и позволяет использовать такое определение пола и автоподстановку шаблона “на лету” в процесс отправки рассылки без потери скорости.

Поэтому, если у вас стоит задача “живой” работы с текстами, склонением различных слов и словосочетаний, работы с числительными — то библиотека Сергея вам в помощь! Огромное ему за нее спасибо!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *