ML-инженер в Карты
Геопоиск Яндекс Карт ежедневно помогает миллионам людей по всему миру находить нужные места. Мы отвечаем на самые разные запросы: от простого «тамақтану» на казахском до сложного «Boğaz manzaralı hoş bir restoran» на турецком.
Наша главная задача — за доли секунды понять намерение пользователя, на каком бы языке он ни писал запрос и в какой бы точке мира ни находился, и показать на карте именно то, что он ищет. Мы превращаем текстовый запрос в географический ответ, учитывая огромное количество факторов: от пробок и часов работы до культурных особенностей и неявных предпочтений.
Карты — это базовая технология для многих городских сервисов Яндекса, например Такси, Доставки, Яндекс Еды.
Почему это интересная задача с вызовом
- Работа в международном геопоиске — это уникальный вызов на стыке технологий, языка и культуры. В отличие от классического веб-поиска мы имеем дело с физическим миром, и это всё меняет.
- Языковой барьер. Пользователь может искать на русском языке в Турции, на английском — в Армении или использовать транслит. Нам нужно понимать запросы на разных языках, смешанные запросы (когда в одном запросе несколько языков) и справляться с многообразием названий одного и того же места (Eiffel Tower, Эйфелева башня, tour Eiffel).
- Культурные и локальные особенности. Понятие «центр города», «популярное место» или «лучший кофе» в Стамбуле, Ереване или Дубае — это три разные сущности. Наши модели должны адаптироваться к локальному контексту и понимать, что важно для пользователя в конкретной стране.
- Многогранность пользовательских нужд. Один и тот же запрос «Apple» может означать магазин техники, офис компании или рынок с фруктами. Наши алгоритмы должны в реальном времени определять правильный контекст, основываясь на геолокации, времени и истории пользователя.
- Масштаб и скорость. Всё это сложное понимание должно работать с минимальной задержкой для миллионов пользователей одновременно. Это требует не только умных, но и невероятно эффективных моделей.
Вы будете работать над продуктом, где результат вашего кода мгновенно влияет на опыт миллионов людей, помогая им ориентироваться в незнакомых городах и открывать для себя мир.
Задачи и обязанности
Развитие мультиязычных NLP-моделей
Вам предстоит учить наш поиск понимать запросы на разных языках, извлекать из них сущности (что ищем, где, с какими атрибутами) и справляться с опечатками и неформальными формулировками.
Улучшение ранжирования поиска для разных стран
Вы будете создавать и обучать классические и нейросетевые модели, которые будут выстраивать топ организаций с учётом локальной специфики: популярности, отзывов на местном языке, транспортной доступности и десятков других факторов.
A/B-тесты и внедрение моделей
Нужно будет разрабатывать пайплайны для быстрой проверки гипотез и выкатывать в продакшн только те решения, которые доказали свою эффективность на реальных пользователях.
Построение векторных представлений
Мы используем state-of-the-art-архитектуры для создания единого семантического пространства, где запрос «a cozy place for dinner» и турецкое название ресторана с соответствующими отзывами будут находиться рядом. Это позволяет нам находить релевантные места, даже если в их описании нет прямых ключевых слов.
Генеративные подходы
Мы исследуем, как генеративные модели могут помочь в понимании сложных, развёрнутых запросов («ищу недорогое кафе, куда можно с собакой и где есть розетки для ноутбука») и даже в формировании персонализированных ответов-рекомендаций для пользователя.
Больше об ML в Яндексе — в канале Yandex for ML
Требования
- Разбираетесь в классических алгоритмах машинного обучения
- Хотите работать с современными нейросетевыми технологиями и имеете такой опыт
- Уверенно владеете Python
- Готовы писать код на C++ и SQL (у вас нет «аллергии» на эти языки)
- Знаете базовые алгоритмы и структуры данных