Шаг 2 — выбрали технологию и разработали решение
Решили использовать нейросеть для распознавания коротких голосовых сообщений и подобрали архитектуру с учетом специфики проекта. Принцип простой: при авторизации голос преобразуется в вектор и затем сравнивается с хранящимся на сервере образцом по косинусному расстоянию. В результате мы получаем значение близости двух слепков и делаем вывод: принадлежат ли образцы одному человеку
Unsupervised обучение — общая нейросеть была предварительно обучена на данных, предоставленных клиентом, что позволило адаптировать модель под особенности различных источников звука и каналов передачи
Supervised обучение — на следующем этапе модель была откалибрована с использованием разметки голосов, чтобы настроить пороги классификации и повысить точность. Это позволило системе успешно распознавать принадлежность голосов к конкретным пользователям
Когда решение было готово, мы приступили к обучению модели:
Сперва мы проводили закрытое тестирование своими силами. Получили настолько хорошие результаты, что нам не поверили и решили, что мы подтасовываем данные. Поэтому мы подняли Web API с биометрией, чтобы они могли самостоятельно провести тестирование. Когда они провели повторное тестирование уже сами, все наши результаты подтвердились, и они приняли решение о покупке системы
При проверке на данных, которые не участвовали в обучении, мы получили следующие результаты: при уровне false positive 0,1% полнота алгоритма оказалась выше 90%
Интеграцией наша команда не занималась, мы передали полностью готовое коробочное решение