Геокодирование на основе Deep Learning: масштабирование для разных стран

Создание геокодера, способного обрабатывать адреса с ошибками и опечатками, а также адаптируемого к различным языковым и адресным системам, стало возможным благодаря применению deep learning. Традиционный подход, основанный на обратном индексе и множестве правил, оказался недостаточно гибким для масштабирования на разные страны. Нейросетевая архитектура, состоящая из двух стадий (L1 и L2), позволила упростить процесс и достичь более высокого качества.
Геокодирование на основе Deep Learning: масштабирование для разных стран
Изображение носит иллюстративный характер

Первая стадия (L1) отвечает за кодирование запросов и документов в векторы с последующим поиском релевантных документов. Для обучения L1 используется контрактный loss (contrastive loss) на этапе предобучения и поточечный подход (pointwise approach) из contrastive learning на этапе дообучения. Вторая стадия (L2) производит переранжирование результатов L1 с учетом точности соответствия (house precision) запроса и документа, что позволяет нашим партнерам понимать точность геокодирования.

Итеративное улучшение модели происходит за счет использования active learning, доразметки запросов из логов, похожих на ошибочные, и аугментации данных. Активное обучение основано на выборе для разметки пар запрос-документ, вызывающих наибольшие разногласия между ансамблем моделей. Аугментация запросов и документов, включая транслитерацию, позволяет поддерживать другие языки.

Новая архитектура геокодера демонстрирует улучшение точности, скорость адаптации к новым странам, а также упрощение поддержки национальных языков и саджестовых запросов. Развитие идет в направлении создания единой geo-foundation модели для всех стран, оптимизации L2-стадии и использования пользовательского сигнала для дальнейшего улучшения качества. Это доказывает, что использование нейросетей для задач information retrieval может быть более эффективным и простым, чем классические ML-методы.


Новое на сайте

20854Как дешёвые Android-смартфоны превращаются в чужие прокси? 20853В Индии имя звонящего появится на экране вместе с номером 20852Как проверить готовность команды к звонку с клонированным голосом? 20851Уязвимости MarkLogic: делегированные права могли открыть путь к администраторскому... 20850Как GitHub закрыл лазейку, угрожавшую тысячам npm-пакетов? 20849Hirudo подменяет банковские приложения, чтобы обойти их защиту 20848Как Vghost превратил старую ошибку Linux в путь к root? 20847Уязвимости в PAN-OS и Cisco Secure Email Gateway уже используют атакующие 20846Как уязвимость GitLab могла открыть сервер для чужого кода? 20845Уязвимость SAP Cloud SDK могла отправить OAuth2-секреты злоумышленнику 20844Уязвимость в Nextcloud открыла путь к веб-оболочкам на серверах 20843Смогут ли малые ИИ-модели превратить бытовую технику в ботнет? 20842Пять уязвимостей NGINX: кому грозит риск и как закрыть его 20841Тайный диктофон в OpenAI: что утверждают следователи 20840Как проверять уязвимость входа, не заходя дальше дозволенного?
Ссылка