Когда пользователи задают запросы к Яндексу, примерно в 20% случаев они формулируют запрос неоднозначно. Например, по запросу [наполеон] кто-то хочет найти полководца, а кто-то — рецепт торта. А задавая запрос [суши], человек может искать и ресторан с доставкой на дом, и рецепт блюда. Спектр возможных целей может быть очень широк — так же, как и спектр возможных ответов. И если пользователь не указал в поисковом запросе, что он ищет, то понять это крайне трудно. Технология «Спектр» умеет учитывать множество неявных целей пользователей и показывать соответствующие ответы.
В основе работы «Спектра» лежит статистика поисковых запросов. Система исследует запросы всех пользователей Яндекса и выделяет в них различные объекты — это могут быть имена людей, названия фильмов и книг, модели автомобилей и тому подобное. Каждый объект относится к одной или нескольким категориям. Например, в запросе [колдрекс инструкция] название лекарства «Колдрекс» — объект, который попадает в категорию «лекарства». А объект «Пушкин» относится к двум категориям — «поэты» и «города». На данный момент «Спектр» выделяет около 60 категорий, и это количество будет еще расти. Знание категорий позволяет поисковой системе понимать разные значения слов в поисковых запросах.
Кроме того, «Спектр» умеет учитывать при поиске различные потребности пользователей. У каждой категории есть список возможных потребностей — тех намерений, с которыми пользователи ищут тот или иной объект. Например, когда люди ищут какой-нибудь товар, они, как правило, хотят купить его или почитать отзывы и обзоры. То есть для категории «товары» среди потребностей будут «купить», «отзывы» и «обзоры». Всего у категории может быть от двух-трех до нескольких десятков потребностей.
С учетом того, в какие категории попал объект, что люди обычно про него спрашивают, что пишут в интернете и т.д., «Спектр» оценивает процент людей, которые ищут этот объект с каждой из возможных целей. Эти данные используются при ранжировании результатов поиска по многозначным запросам. Используя их, «Спектр» вычисляет пропорции, в которых ответы на ту или иную тему должны быть представлены в результатах поиска. Найденные сайты упорядочиваются таким образом, чтобы спектр ответов соответствовал спектру вопросов. Таким образом, поиск Яндекса максимизирует вероятность того, что человек найдет именно то, что искал. Даже если он не указал это явно в своем запросе, а просто подумал.
«Спектр» анализирует поисковые запросы полностью автоматически — каждый раз рассматривается очень большой массив запросов, более пяти миллиардов. Их обработка происходит одновременно на нескольких сотнях машин. Чтобы данные не теряли актуальность, «Спектр» запускает процесс анализа несколько раз в неделю.
Кроме статистики запросов, «Спектр» умеет использовать данные из справочников и энциклопедий — в том числе из Википедии. Это помогает распознавать недавно появившиеся объекты, узнавать, какие значения объектов не укладываются ни в одну из существующих категорий, и добавлять новые.