Порівняння онлайн-сервісів відмінювання

З'явилася потреба визначати стать клієнтів в базі і автоматично схиляти ПІБ для інтернет-магазину. Специфіка магазину – подарунки і доставка квітів з привітаннями.
Магазин приймає інформацію про користувачів через форму швидкого замовлення. Є і звичайна кошик, але багато користуються саме швидким замовленням – там можна заповнити тільки телефон і відразу ж перейти до оплати. Клієнти користуються можливістю і часто взагалі не вказують ім'я. Робити поля ПІБ обов'язковими безглуздо – вписувати сміття замість даних не заборонити. Також як не заборонити неправильно писати власне ім'я.
Між тим правильне звернення до клієнта необхідно, інакше можливі казуси:
image

Зараз співробітники магазину уточнюють дані доісторичним способом: клієнт робить замовлення, приходить СМС з підтвердженням та спосіб доставки. А потім дзвонить оператор, щоб підтвердити замовлення та заодно уточнити стать і ПІБ, після чого вносить дані в CRM.
Але взагалі на дворі 2016 рік, і це не круто:
  • оператори — всього лише люди, і періодично фейлят. Якщо спочатку ім'я не вказано, легко плутають квіти для Валі з квітами для Вари;
  • у телефонній розмові працівники перепитують імена по буквах, ніж неймовірно дратують людей;
  • для привітань імена в листівках і підписах до квітів іноді схиляються, і це не завжди тривіальна завдання (приклад — Артема Лученка написали як «Лученока»).
Ручний метод — довго, дорого і не як у Теми Лебедєва. В ідеалі хочеться все автоматизувати і позбутися від людського фактора. І задовбувати людини дзвінками тільки з прикордонних випадків, де точно не розбереться навіть людина (нейронна мережа може намалювати картину краще Ван Гога, але ніколи не вгадає підлогу Саші Пархоменко).
Що хотілося:
  • визначити стать користувачів у базі для сегментації — щоб готувати рекламні пропозиції щодо подарунків на гендерні свята для клієнтів;
  • перевірити правильність написання імен;
  • автоматично схиляти імена для розумної генерації листівок, привітань, підписів до доставлених кольорам;
  • якісно, безкоштовно і вчора недорого і без помилок.
Поисследовав предметну область, я пішов вивчати Хабр і інтернети в пошуках нормального готового рішення. Щоб і підлогу визначило, і просклоняло, і об'єднало в собі 2 цих фішки (в ідеалі). Можливо, мій огляд комусь буде корисним.
До дослідження вирішив підійти ґрунтовно і взяв вибірку від простих до складних імен. Озброївся грамотою.ру і своєю фантазією.
В результаті вийшов простий тест на імена:
  • прості російські ПІБ в різних комбінаціях (Маша Цвєткова, Антон Сергійович Журавльов);
  • прикордонні випадки, де підлога неочевидний навіть для людини (Валя Дрозденко);
  • подвійні прізвища (Демут-Малиновський);
  • несклоняемые жіночі імена та прізвища (Раісат Магомедова, Ганна Друзь);
  • жіночі імена на -ль (Адель, Айгуль). У них є підступ — немає єдиного правила, як схиляти такі імена;
  • класне чоловіче ім'я Жаліль, яке раптово зустрілося в базі кілька разів;
  • росіяни нестандартні: Ремесло.
А ось нетривіальні випадки, про які мало хто знає:
  • відмінювання прізвища без втрати гласною: Іван Плетень — Івана Плетеня;
  • кейс з втратою гласною у прізвищах на -онок/-енок: Василь Лученок — Василя Лученка;
  • по батькові з огли/кизи (Магомедова Гюльчатай Абдурахман кизи).
Все знайшов 2 бібліотеки та 3 сервісу, які викликали довіру.
Бібліотека NameCaseLib
image

Плюси

  • працює з російськими та українськими іменами.

Мінуси

Виходячи з опису API, визначення статі — це не основний функціонал, а додаткова фішка. Сервісу можна переслати параметром стать користувача, і це впливає на подальшу логіку роботи з іменами.
Бібліотека:
  • не знає, хто такий Жаліль;
  • прикордонний кейс «Саша Пархоменко» впевнено визначила як жінку;
  • «Раісат» визначила як чоловіка;
  • складний випадок «Іван Плетень» просклоняла як «Івана Плетеого».
  • «Бонч-Бруєвич» в українському ім'я, а в російській чомусь вважається по батькові. Кримінал, чесно кажучи.
А судячи з того, що на сайті варто 2011 рік, підтримку бібліотеки давно припинили.
Бібліотека Петрович
image

Плюси:

  • реалізована на декількох МП, у тому числі на JS і Ruby;
  • непогано схиляє прості кейси, якщо їм проставити підлогу.

Мінуси:

  • підлога не визначає;
  • схиляє жіночі імена як чоловічі (Айгуль – Айгуля);
  • не змогла прожувати складне ПІБ «Алієв Руслан Гейдар огли». Приставку до батькові бібліотека мовчазно обрізала;
  • некоректно просклоняла подвійні прізвища (наприклад, Гресь-Янковський → Гресю-Янковському).
Не сподобалося.
Gender.Wim.Agency
«валера;;female». Nuff said.
AHunter.ru

Плюси:

  • є REST API;
  • не тільки визначає і схиляє ім'я, але і працює з адресами;
  • намагається визначати етнос за прізвищем, і досить непогано;
  • підказує варіанти прямо у формі введення: один і кілька полів (окремо прізвище, ім'я, по батькові);
  • добре працює визначення статі і схиляння на простих і середніх кейсах. Дружить з Жалилем і Юдифь.

Мінуси:

  • Сашу Пархоменко вважає чоловіком, та ж ситуація для всіх прикордонних кейсів. Тобто всі сумнівні випадки стануть чоловіками, і це неправильно. Не можна однозначно вважати прикордонний випадок чоловіком або жінкою, потрібно попередити людину про те, що робот заплутався і страждає;
  • чоловіча інтерпретація Саші Пархоменко вважається слов'янським іменем, а жіноча — індоєвропейським. Змусило задуматися про точність алгоритмів;
  • у формі підказок трапляються непоєднувані поєднання: «Аліса Васильєв», «Микола Володимирового». Невідомо, чого чекати надалі, раз проскакують такі відверті помилки у простих випадках;
  • автокомплите по окремих полях дані не завжди поєднуються по підлозі. За законом Мерфі користувач обов'язково помилиться там, де можна помилитися.
Сашко Пархоменко напружила, вирішив пошукати ще варіанти.
DaData.ru
image

Плюси:

  • є API з нормальною документацією і прикладами;
  • відмінно схиляє імена, майже впоралася з усіма випадками;
  • якщо підлога не визначено, API повідомляє про це окремим значенням. Саша Пархоменко нарешті-то не чоловік і не жінка;
  • на форму замовлення можна поставити JS-плагін та визначати стать для всіх нових клієнтів.

Мінуси:

  • якщо сервіс не знає прізвище — не схиляє, просто визначає стать;
  • автокомплит ПІБ безкоштовний, але обробка через АПІ — платна.
Морфер

Плюси:

  • схиляє все, що можна схилити: імена, міста, словосполучення, числівники, дати;
  • віддає дані через веб-сервіс, є окремі бібліотеки, модулі для Excel, інтеграція з Mailchimp;
  • схиляє дійсно круто і прості, і складні, суперскладні і кейси. Не плутається в -огли/-кизи, у подвійних прізвищах, у біблійних іменах;
  • безкоштовної функціональності вистачає для нормального відхилення (1000 запитів на добу).

Мінуси:

  • не вміє визначати стать у прикордонних випадках (Саша Пархоменко за замовчуванням вважається чоловіком);
  • не вказана вартість бібліотеки, виникає відчуття, що з мене хочуть заробити побільше бабла.
Особливість — не схиляє жіночі імена на -ль (Айгуль). Це не помилка, один з можливих варіантів (за правилами такі імена можна схиляти, або ні).
Сервіс мене дуже вразив в плані відмін. Легко впорався з простими і складними випадками.
Але Саша Пархоменко засмучений(а).
найдостойнішими сервісами здалися Морфер і DaData. На відміну показали себе майже однаково за винятком імен на зразок Айгуль — мабуть, у творців різна філософія. Мені здалося, що Морфер – такий робот Бендер, гніт все що гнеться і робить це дуже круто. Дадата – щось на зразок Валлі, вміє менше, але робить більш дбайливо. З задоволенням рекомендую обидва сервісу.
Який сервіс я вибрав – не скажу. Вважаю, що для кожної задачі свій інструмент, і сподіваюся, що огляд допоможе зрозуміти, кому що підходить.
Якщо хтось знає хороші аналогічні сервіси і гуглить краще за мене, буду дуже радий коментарям та порад.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.