Как стать автором
Обновить

Как работает поисковое ранжирование для миллионов объявлений Авито

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6.9K
Всего голосов 25: ↑23 и ↓2+25
Комментарии16

Комментарии 16

Растим полноту: боремся с пустыми выдачами

Не надо с ними бороться. Я как пользователь лучше увижу пустую выдачу, чем выдачу, замусоренную вашими "догадками". Нет у вас объявлений по продаже детали "ABC-12345" - так, блин, и скажите, а не предлагайте мне "поддон от двигателя Audi-100 в городе Нижний Челябинск".

В экспериментах мы видим, что удачное расширение полноты помогает пользователю. Так что вопрос скорее в том, как именно и на каких запросах расширять.
Вы правы: в запросе про конкретную запчасть бессмысленно показывать другие детали. Но предложить ту же запчасть, но с доставкой из другого города — почему нет?
Если запчастей нет по всей России, то мы действительно можем начать показывать нерелевантные, совсем другие товары. Ищем мы векторным поиском — и поэтому пока плохо понимаем, когда надо поставить отсечку по релевантности: текст объявления ведь может и совсем не совпадать с запросом. В первом подходе мы решили показывать его как фоллбек на всех запросах — и показывать всех кандидатов, без отсечек. Сейчас мы планируем второй подход: попробуем получше отсекать совсем нерелевантные.
Есть еще важный пункт про визуал: как вы правильно заметили, нам стоит прозрачнее сообщать пользователю, что конкретно мы показали по запросу. Сейчас, если ничего не найдено по оригинальному запросу, мы показываем отбивку "Похоже на то, что вы ищете" или "N объявлений есть в других городах". Эту надпись довольно легко пропустить. В следующих итерациях мы будем экспериментировать и с этим. Лично мне нравится подход Яндекса: показать в сниппете совпавший кусок текста и отдельно вынести не найденные слова.

сколько времени надо для восстановления и возможно ли это:
как после платного объявления вернутся в рейтинг как было ДО оплаты на бесплатном тарифе?

или статус платный - это как статус лох - навсегда?

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

Поиск Avito поистене чудесен. Случайно наткнулся на объявление о продаже железки, которая меня заинтересовала. Решил поискать у других продавцов. Вбиваю в поиск - "Ничего не найдено".
При этом не находит даже то объявление, которое только что я просматривал. А строку для поиска я скопировал из заголовка самого объявления...

Чëрт возьми, да! Иногда я проверяю, показываются ли мои объявления в поиске, делаю запрос частично или полностью копирующий название своего объявления с другого аккаунта, ставлю выборку по всем регионам ииии.... Ничего не найдено. При том, что объявление активно. Я просила знакомых поискать мое объявление, у них оно тоже не показывается.

И я вижу эту статью, в которой к системе поиска пытаются дополнительно прикрутить какие то фичи, что то выдумывают, чтобы показывались похожие товары по запросу пользователя,но как минимум год поиск на Avito не выполняет свою основную функцию - он не ищет) или ищет выборочно)

Интересно, по заголовку, очевидно, объявление должно находиться. Не думал, что это частая история. Мы посмотрим, чем это может быть вызвано. Пока такие догадки: либо мы неправильно угадываем и проставляем категорию запроса, либо вы попадаете на временные деградации поиска. Но деградации у нас довольно редкие, так что объяснять повторяемые проблемы не должны.

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

Да, проблема. Раньше были тумблеры "только из моего региона" и "только по тайтлу", которые отключали показ допблоков. Пользовались ими мало, и мы их отключили. Видимо, после шагов на расширение выдачи нам стоит вернуть обратно. Спасибо за коммент, записал на проработку.
У меня есть гипотеза, что это не было бы такой проблемой, если бы пользователь видел, что релеватные объявления закончились. Узнал у коллег: мы прямо сейчас АБ-тестируем более заметные отбивки, что айтемы пошли нерелеватные или из других регионов.

К чему все ваши ухищрения?

Я ВСЕГДА при поиске набираю конкретную модель, регион - вся Россия, и ставлю фильтр от дешевого к дорогому. Все мои знакомые делают то же самое. Если срочно, могут поставить свой город. Все. Ничего больше не нужно. Пользователи не какие-то дремучие люди, они точно знают, что им нужно.

Как мне помогут ваши стратегии? Лучше самый обычный поиск совершенствуйте, чтобы он не сбоил.

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

Вот сегодняшний пример. Вбиваю в поиск part number, состоящий из 10 цифр. В основной выдаче ничего не находится. В дополнительной - как вы думаете, что? Какие-то детали с похожими номерами?

Не угадали. Вакансии курьеров и сотрудников склада. Вот откуда ваш противостественный интеллект взял связь между десятизначным номером и профессией курьера?

Спасибо! известная проблема, которую пока не добрались полечить. Вы увидели расширение векторного допблока. Увы, сейчас при встрече с незнакомым словом нейронка выплевывает не очень осмысленный вектор, который почему-то тяготеет к вакансиям.
Если говорить про парсинг номеров запчастей в что-то осмысленное, то и такую идею рассматриваем, но пока не добрались: чаще ищут в формате "фара левая на ниссан", чем конкретный номер

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

Спасибо, знаем про проблему и боремся с ней. К сожалению, чисто техническое решение не всегда срабатывает как надо: слишком уж много дублей, часто они все равно просачиваются на выдачу. Так что боремся еще и административно: вводим лимиты для селлера, где-то рублем, а где-то совсем жесткие.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий