Tender Hack: Нижний Новгород
😎 За 3 дня заняли 1️⃣ место
👉 Проходил в оффлайн формате, кормили вкусно, в самом начале вручили мерч. Отмечу, что этот хак был не про то как "сделать презентацию и выиграть", а про то как сделать действительно рабочее решение. Только топ 5 команд по тех части проходили на финальную защиту.
Задача была такой же как и на Zakupki.Hack, но в этот раз мы хотели рассмотреть более стабильные подходы, больше углубиться в детали.
Наш аналог озон'а для поставщиков умеет:
1) Семантический поиск
2) Частичная мультиязычность (ru-en)
3) Лексический поиск (лемматизация)
4) Поиск с учетом характеристик
5) Поиск сопутствующих товаров
6) Автодополнение
7) Автокоррекция
8) Транслитерация
9) Анализ рынка
Как решали?
Взяли LABSE (дистиллированную на ru-en) из-за того, что она лучше чем rubert-tiny v1/2 работает с токенами на английском, а это зачастую названия продуктов. В ходе тестирования заметили, что модель все ещё помнит что tea-чай, laptop-ноутбук, т.е. получили адаптацию под английский без тренировки под него.
К выдачи нейронки добавляли BM25, поиск который применяют в системах Lucene, Sphinx, помогло исправлять краевые случаи когда модель плохо работала.
Выдачу алгоритмов ранжировали, для этого применяли:
1) Схожесть строк jaro-winkler
2) Максимальная последовательная схожесть КПГЗ кодов.
3) Количество общих характеристик
Для сопутствующих товаров учитывали, что при применении нейронок у нас получится ситуация, когда для "ноутбук asus" в рекомендации попадет "ноутбук hp", а это не то что нам надо.
Починили тем, что выводили все результаты != кпгз товара, для которого искались сопутки. Вдобавок к этому у нас была история закупок на портале поставщиков, смогли вытащить информацию что, с чем покупают. Это значительно улучшило качество выдачи.
Презентация
Репозиторий
😎 За 3 дня заняли 1️⃣ место
👉 Проходил в оффлайн формате, кормили вкусно, в самом начале вручили мерч. Отмечу, что этот хак был не про то как "сделать презентацию и выиграть", а про то как сделать действительно рабочее решение. Только топ 5 команд по тех части проходили на финальную защиту.
Задача была такой же как и на Zakupki.Hack, но в этот раз мы хотели рассмотреть более стабильные подходы, больше углубиться в детали.
Наш аналог озон'а для поставщиков умеет:
1) Семантический поиск
2) Частичная мультиязычность (ru-en)
3) Лексический поиск (лемматизация)
4) Поиск с учетом характеристик
5) Поиск сопутствующих товаров
6) Автодополнение
7) Автокоррекция
8) Транслитерация
9) Анализ рынка
Как решали?
Взяли LABSE (дистиллированную на ru-en) из-за того, что она лучше чем rubert-tiny v1/2 работает с токенами на английском, а это зачастую названия продуктов. В ходе тестирования заметили, что модель все ещё помнит что tea-чай, laptop-ноутбук, т.е. получили адаптацию под английский без тренировки под него.
К выдачи нейронки добавляли BM25, поиск который применяют в системах Lucene, Sphinx, помогло исправлять краевые случаи когда модель плохо работала.
Выдачу алгоритмов ранжировали, для этого применяли:
1) Схожесть строк jaro-winkler
2) Максимальная последовательная схожесть КПГЗ кодов.
3) Количество общих характеристик
Для сопутствующих товаров учитывали, что при применении нейронок у нас получится ситуация, когда для "ноутбук asus" в рекомендации попадет "ноутбук hp", а это не то что нам надо.
Починили тем, что выводили все результаты != кпгз товара, для которого искались сопутки. Вдобавок к этому у нас была история закупок на портале поставщиков, смогли вытащить информацию что, с чем покупают. Это значительно улучшило качество выдачи.
Презентация
Репозиторий