Научились выбирать фотографии, которые подходят под запрос при поиске по рубрике — теперь можно проще понять, нашли ли вы то что искали.
Поиск по рубрике — или, как мы его называем, дискавери, — один из популярных сценариев пользователей 2ГИС. Вы тоже делаете дискавери, когда выбираете, например, ресторан или парикмахерскую — и среди результатов изучаете разные компании и сравниваете их.
Мы улучшили этот сценарий и сделали так, чтобы вам не пришлось открывать каждую компанию — нашли ли вы то, что искали, становится понятно здесь же, на этапе просмотра результатов поиска.
В этом помогают релевантные подсказки. Сейчас такую роль выполняет расширение организации («кафе вьетнамской кухни», «банкомат», «комиссионный магазин»), иногда помогают фото и реклама. Идеально, если бы все эти элементы были контекстны поиску и показывали пользователю, что он нашел то что нужно, и это можно смело открывать.
Что мы сделали
Дискавери-поиск 2ГИС работает на основе рубрик и различных атрибутов, которые собираем как вручную, так и автоматически. И чем точнее мы определим рубрику и атрибуты, тем точнее выдачу по различным запросам получит пользователь.
При помощи нейросетей мы изучили все фотографии заведений из рубрики «Поесть», определили, какие из них могут составить пользователю самый полезный контекст. А ещё подобрали каждой рубрике и атрибуту самую красивую и релевантную фотографию. С красотой тоже давно помогают нейросети.
Чтобы всё это сделать, мы совместили несколько механизмов: контекстный поиск по тексту, поиск по векторному представлению фотографии (так называемые embeddings) при помощи нейросети, а также нейросетевое представление о прекрасном.
Мы взяли мультимодальную сеть — ту, которая умеет одновременно работать и с текстом, и с фото, и при помощи энкодера этой сети получили вектор каждого снимка. Поместили эти векторы в специальную векторную базу данных, чтобы стало возможным искать k-ближайших соседей по входному запросу.
Затем для каждой рубрики и атрибута мы сформировали текстовый запрос, который лучшим образом описывает их содержимое — тут нам помогла GPT-like сеть. Потом с помощью текстовой модальности сети закодировали текстовые запросы в векторы, которые выступили векторами-запросами в векторной базе данных.
Таким образом, по каждому атрибуту и рубрике мы сформировали k-кандидатов на выдачу. Получив оценку красоты фотографии мы совместили два этих алгоритма, и теперь мы можем выбирать, какая фотография лучшим образом описывает атрибут.
Как это выглядит
Мы уже знаем, какой атрибут поискали у фирмы, — осталось только отобразить его. Например, теперь выдача по запросам «бургеры», «пицца», «хачапури» выглядит так.
Слева — как раньше выглядела карточка заведения в поиске по запросу «фо-бо». Справа — как теперь: второй в галерее добавилась контекстная картинка, а ещё дополнительный атрибут «фо-бо в меню»
Мы провели тестирование на большом количестве наших пользователей, и они позитивно реагируют на изменения. Теперь проще убедиться в том, что мы правильно нашли фирму по их запросу, а пользователям стало проще определиться с выбором.
Будем дальше развивать эту механику и делать динамическими больше элементов выдачи.
Нажимая кнопку «Комментировать», вы принимаете условия Лицензионного соглашения и даёте ООО «ДубльГИС» согласие на обработку персональных данных на условиях и в целях, определённых «Политикой конфиденциальности».