Угадайка и неленивый интерфейс

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

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

Угадайка в Мейлчимпе
Ну невозможно же догадаться, где здесь имя, а где телефон, правда?

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

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

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

Сильно проще — угадывать по эвристикам:

***@***.*** → это емейл
Начинается на 79xx или 89xx → телефон
Есть слово из топ-100 имён или фамилий → ФИО
Встречается «область», «город» или «улица» → почтовый адрес

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

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

Задание со звёздочкой — угадывать данные, «размазанные» по нескольким столбцам. Это часто случается с адресом (отдельно регион, город, улица) и ФИО. Зато если получается, то прямо ах.

Итого:

  1. Программа нормально угадывает и не теребит человека по мелочам.
  2. Для этого не нужен отдел машинлёнинга и бюджет в миллион рублей. Достаточно выделить день на анализ эвристик и несколько дней на реализацию.
  3. Попробуйте сами ツ

Заметка из телеграм-канала «Интерфейсы без шелухи»