Ведущий разработчик С++/Python

МоскваC++, Машинное обучение, PythonПоискСпециалист
Один из основных способов разнообразить поисковую выдачу — включить в нее различные источники информации. Например, по поисковому запросу «котики» в поисковой выдаче вполне будут уместны и ресурсы с фотографиями котиков, и картинки прямо на странице выдачи, и видео. Такое разнообразие элементов в результатах поиска помогает пользователю быстрее решать его задачи.
Блендер — технология, которая позволяет смешивать в поисковой выдаче документы из различных источников данных. Под смешиванием понимается:
  • создание алгоритмов машинного обучения и метрик для оптимизации;
  • инфраструктура для обработки запроса и выбора оптимальных позиций для показа важных и интересных элементов;
  • инфраструктура создания алгоритмов машинного обучения для решения этой задачи.
Вас ждет знакомство с внутренней кухней поисковой системы Яндекса и возможность напрямую влиять на структуру поисковой выдачи с помощью внедрения новых алгоритмов. А еще — генерация и внедрение идей, касающихся новых факторов, помогающих алгоритмам лучше работать, а это означает: использование MapReduce, порождение и отбор лучших факторов и готовых алгоритмов, знакомство с новыми технологиями и интересными людьми.

Если вам интересны такие понятия:

  • ансамбль деревьев;
  • градиентный бустинг;
  • DSSM;
  • нейронные сети;
  • L1 и L2;
  • надежная инфраструктура,
то работа в нашей группе однозначно для вас.

Вам предстоит:

  • обучать новые алгоритмы оптимизации поисковой выдачи;
  • проверять качество полученных алгоритмов на исторических данных;
  • исследовать и улучшать текущие способы обучения алгоритмов;
  • придумывать и реализовывать новые признаки для алгоритмов машинного обучения;
  • решать задачи с использованием MapReduce;
  • разрабатывать поисковую инфраструктуру для применения новых алгоритмов.

Что мы ждем:

  • отличное знание С++;
  • отличное знание классических алгоритмов и структур данных, опыт многопоточного программирования;
  • опыт использования распределенных систем контроля версий;
  • опыт разработки массовых высокотехнологичных сервисов для конечного пользователя;
  • хорошее знание Python (будет плюсом).