- PVSM.RU - https://www.pvsm.ru -

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

Автоматическое определение пола по имени [1]Продолжая рассказывать о технологиях, которые используются в нашем сервисе email-маркетинга Pechkin-mail.ru [2], мы просто обязаны упомянуть об автоматическом определении пола подписчика по имени. Еще в 2007 году, разрабатывая сервис sms-рассылок, мы очень хотели реализовать возможность автоматического подставления окончаний в прилагательные “Уважаемый”, “Дорогой” и так далее. Обычно такая подстановка осуществляется на основании дополнительного поля в адресной базе клиента. Однако, как нам кажется, это полный отстой.
На это есть 3 причины:

  1. заставлять подписчика задавать свой пол глупо (чем больше полей в форме, тем ниже вероятность ее заполнения)
  2. определять вручную — долго, а значит дорого
  3. от ошибок человек не застрахован ровно так же, как и машина.

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

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

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

{Уважаем{ый|ая}}/{%ИМЯ% %ФАМИЛИЯ%}

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

Содержимое конструкции может быть произвольным. Поясним на приведенном примере:

  • Уважаем — это “корень” склоняемого слова.
  • ый|ая — это возможные окончания по порядку {мужское|женское|средний род|множественное число}. В полном варианте может выглядеть так: “ый|ая|ое|ые”
  • %ИМЯ% %ФАМИЛИЯ% — это те теги из адресной базы, которые определяют выражение на базе которого будет определен пол. Можно задать просто %ИМЯ%, но тогда есть риск “потерять” часть двузначных имен вроде Саша, Вася, Валя и так далее.

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

{Дорог{ой|ая}}/{%ИМЯ% %ФАМИЛИЯ%} %ИМЯ{клиент}%

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

Для тех, кто пользуется нашим онлайн-редактором, все еще проще:
image [1]

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

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

А преимущества для наших клиентов очевидны:

  • Отсутствие необходимости просить подписчика задавать пол и хранить его в дополнительном поле в адресной базе
  • Не надо вручную определять пол ваших подписчиков по их именам
  • Точность определения даже выше ручной обработки (скрипт не устает на второй тысяче имен)

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

P.S. У нашего сервиса эксклюзив на использование данной библиотеки в России. Будем рады, если данная функция станет действительно нужной и полезной для наших клиентов.

Автор: dsosnin

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/email/67852

Ссылки в тексте:

[1] Image: http://pechkin-mail.ru/blog/autosex/

[2] сервисе email-маркетинга Pechkin-mail.ru: http://pechkin-mail.ru

[3] сервисе Морфер: http://morpher.ru/

[4] Сергея Слепова: http://morpher.ru/Contacts.aspx

[5] модуль для PHP: http://morpher.ru/php/extension/

[6] Источник: http://habrahabr.ru/post/233763/