Читать первым в Telegram-канале «Код Дурова»
В марте 2010 года началось извержение вулкана Эйяфьядлайёкюдль, в июле 2015 года New Horizons передала на Землю фотографии Плутона, а в апреле 2019 года случился пожар в соборе Парижской Богоматери. Каждое подобное событие вызывает всплеск интереса и пользователи активно идут смотреть актуальные снимки, которых несколько часов назад еще в принципе не было.
Именно критерий «свежести» подобных изображений противоречит таким важным свойствам поиска, как, например, релевантность и авторитетность источника, поэтому поисковику требуются особые технологии, позволяющие не просто находить и фильтровать новый контент, но и сохранять баланс в результатах.
Алгоритмы поиска по картинкам Яндекса решают сразу пять задач: быстро находят и скачивают новые картинки, затем их обрабатывают, далее быстро собирают документы для поиска, формулируют критерии качества качества поиска свежего контента и в конце ранжируют и смешивают контент в выдаче, исходя из требований качества.
Для решения первой задачи используется работающая на базе машинного обучения формула, которая приоритизирует обход поискового робота в зависимости от качества и актуальности контента. Как только новые и актуальные изображения найдены, их нужно скачать на серверы Яндекса, но при этом не «заDDOSить» источники — в приоритизации скачивания картинок тоже помогает машинное обучение.
Обработка картинок включает в себя три этапа: подготовку версий разных размеров, расчет нейросетевых «фич», включая оценку красивости, эстетичности, нежелательности контента и многого другого, а также склейку дубликатов. Любопытно, что третий этап делается не нейросетью, а менее «модными» инструментами, так как они с этим справляются точнее.
Далее картинки собираются в документы, которые помимо самого изображения включают в себя целый букет разнородной информации: нейросетевые и прочие «фичи», сведения о страницах, где она помещена, тексты, которые на этих страницах её описывают, статистика поведения пользователей и так далее.
Затем каждый результат оценивается по сложной формуле, включающей в себя множество переменных. На этом этапе на помощь сложным машинным алгоритмам приходят толокеры и асессоры, которые в том числе помогают разобраться с оценкой свежих и актуальных на данный момент времени изображений.
На последнем этапе идет ранжирование результатов и смешивание основной поисковой выдачи со свежим и актуальным контентом по специальному алгоритму, который в Яндексе недавно серьезно обновили.
Еще больше технических и «подкапотных» подробностей о работе поиска по картинкам можно узнать по ссылке: