Сервисы Dbrain
413

Лучшее — друг хорошего: как дообучить решение на базе машинного обучения

Распознавание документов — актуальный инструмент оптимизации работы бэк-офиса, но даже в простых и изученных решениях нужно экспериментировать для лучшего результата. Сооснователь Dbrain Алексей Хахунов рассказывает на примере последнего кейса, почему дообучение — важное отличие машинного обучения от алгоритмов предыдущего поколения.

В закладки

Alfred — консьерж-сервис по ремонту и обслуживанию автомобилей в Москве и Московской области. Работает это так: вместо того, чтобы везти машину в сервис самостоятельно, клиент вызывает консьержа по телефону или пишет в мессенджер. Консьерж приезжает и забирает автомобиль в сервис.

Ожидание — реальность

После вызова консьержа клиент параллельно отправляет документы для оформления (паспорт, СТС и страховку) в клиентский чат, чтобы консьерж приехал на место уже с заполненным актом приемки авто. Операторам приходится вручную обрабатывать и перенабирать присланные изображения в акты приемки и CRM-базы, что в среднем занимает около часа.

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

Нюансы: как отфильтровать нужную информацию

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

1. Клиенты могут присылать в чат документы многостраничными PDF. Иногда попадаются нетиповые или ненужные документы и куски файлов: приходится отделять одни документы от других и доставать нужную для распознавания информацию.

2. Часть документов приходит в рукописном виде, а алгоритма, который умеет расшифровывать рукописный текст, пока не существует.

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

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

Нетиповые документы и многостраничность

Документы обычно поступают в одном PDF-файле. Это несколько страниц отсканированных изображений из паспортов, СТС, страховок. Все сканы разного качества. Сначала алгоритм смотрит, какие документы лежат в папке — надо убедиться, что комплект документов соответствует требованию. Затем он должен подтвердить, что перед ним действительно паспорт или СТС, чтобы выполнить само распознавание.

Проанализировав качество работы алгоритма, мы поняли, что алгоритм часто путается при определении класса документа и итоговая точность распознавания не превышает 69%. Чтобы алгоритм работал точнее, нужно было больше данных. Для этого мы попросили операторов Alfred в течение месяца собирать файлы разного типа в 4 разных папки: паспорт, СТС, страховка и «другое». Таким образом мы создали набор данных, которые соответствуют конкретному заказчику и использовали его для дообучения алгоритма классификации.

Рукописный текст: human-in-the-loop в действии

Human-in-the-loop — модель, при которой часть работы по распознаванию остается на людях: они выполняют разметку в реальном времени, тем самым дополняя работу нейросети и исключая ошибки. Для внедрения такой модели мы подключили людей на фрилансе, которые размечали рукописный текст в реальном времени, используя наши интерфейсы. Еще одно преимущество интеграции human-in-the-loop — алгоритм дообучается на ошибках, найденных людьми, и не допускает их в будущем. Чем больше текста человек и алгоритм обработают вместе, тем точнее результат. Сочетание human-in-the-loop и дообучения позволило нам повысить точность до 99%.

В заключение

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

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Dbrain", "author_type": "self", "tags": [], "comments": 0, "likes": 7, "favorites": 12, "is_advertisement": false, "subsite_label": "services", "id": 66688, "is_wide": false, "is_ugc": true, "date": "Tue, 07 May 2019 18:08:23 +0300" }
{ "id": 66688, "author_id": 233759, "diff_limit": 1000, "urls": {"diff":"\/comments\/66688\/get","add":"\/comments\/66688\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/66688"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }

Комментариев нет 0 комм.

Популярные

По порядку

0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления
{ "page_type": "default" }