Комментарии 8
Здорово, надо бы попробовать завести ваш геокодер в своей проект. Nominatim/Photon довольно часто промахиваются
Спасибо, очень интересно было увидеть, как на самом деле это все организовано под капотом!
Вопрос касательно упомянутых различий форматом адресов в разных странах.
Можете подсказать где почитать, какие проекты посмотреть, чтобы постараться увидеть как можно больше различий и решений по хранению адресов? Как раз сейчас на проекте работаем над тем, что нужно хранить адреса, которые могут быть адресом любой страны/села.
Пытаемся учесть все подводные камни.
У нас команда ML инженеров и нам база топонимов приходит уже как готовый собранный json, и у нас есть отдельная небольшая команда картографов, которая как раз помогает в составлении справочника топонимов и выступает экспертами в этой сфере.
Если имеете ввиду структуру адресов в разных странах и дизайн БД то я бы посоветовал
поспрашивать у gpt-like систем с разными переводами одного и того же промпта
посмотреть в отрытых базах типа osm, как организованы топонимы. Там эта информация точно есть. Можно отсемплировать по стране по 200-500 топонимов и пройтись глазами, а также собрать статистику по тегам в OSM XML.
использовать системы аля поиска с gpt под капотом аля яндекс-нейро или perplexity. Очень помогает как раз для первоначального ресерча в некоторой сфере.
А саму базу адресов вы ведёте в одной таблице с иерархическими связями с чем-то вроде parent_id или в разных?
Спасибо за статью, было интересно.
Думал явный фидбек это основной источник разметки, удивился что это не так.
Вопрос про входные данные в L1 на инференсе. Если обучение проходит на парах (запрос, документ), а для построения эмбеддинга запроса мы отдаем только запрос, то что передается в качестве документа? Пустая строка?
Думал явный фидбек это основной источник разметки, удивился что это не так.
Есть явный фитбек от разных сервисов и мы недавно добавили использование его использовать на pretrain стадии.
Если обучение проходит на парах (запрос, документ), а для построения эмбеддинга запроса мы отдаем только запрос, то что передается в качестве документа? Пустая строка?
Флоу следующий:
в оффлайне строим шардированный hnsw индекс
на инференсе
кодируем запрос в эмбеддинг
идем с этим эмбеддингом во hnsw индекс и достаем топ N документов по косинусной близости.
получаем список из документов и скоров близости от hnsw индекса, с этим уже идем в L2 стадию
Как с помощью deep learning мы построили Геокодер, масштабируемый для разных стран