Интервью: “Яндекс” о будущем поиска в Интернете
На вопросы журнала "Компьютерра" отвечает Александр Садовский, руководитель отдела веб-поиска компании "Яндекс".
- Сейчас часто говорят, что поисковики должны не просто искать текст в Интернете, а стараться достать любую информацию, которая нужна человеку, независимо от того, где она находится и в какой форме. Насколько это реально?
- Есть не очень далёкое будущее и будущее, которое находится за рамками понимания того, какой будет техническая реализация. Возможно, появятся какие-нибудь методы сбора информации, которые сегодня совершенно непонятны, как двадцать лет назад было непонятно, к чему приведёт развитие Интернета. Вот про это далёкое будущее говорить бесмысленно, потому что экспоненциальное развитие технологий меняет всё за очень короткое время.
Можно говорить только о более или менее линейном развитии, которое идёт от сегодняшнего дня, и предсказывать лет на пять вперёд. И вот здесь уже есть тенденции. Мультимедийная информация хорошо подмешивается в поиск: это видео, это картинки, чуть хуже звук, но опять же - хуже со звуком только на невосточных поисковых системах, а ведущие китайский и корейский поисковики, Baidu и Naver, гораздо лучше аннотированы звуковыми файлами.
Это направление не ограничено мультимедийной информацией. Оно, скорее, структурирует всё, что есть на выдаче. Кроме свободного потока информации из веба, которая может быть о чём угодно, с каким угодно содержанием, есть структурированные потоки музыкальной, видео, картиночной, словарной, коммерческой информации, которые подмешиваются в основную выдачу. В "Яндексе" это есть с 2001 года и называется "параллельными поисками", "колдунщиками"; Google похожий подход появилось два или три года назад (они называют это Universal Search). Технология, судя по нашей статистике, вполне востребованная. Пользователю проще иметь единую точку входа на любой запрос, даже если он хочет найти, скажем, картинки, чем держать в закладках восемнадцать разных адресов и пользоваться специализированными поисковиками. Исключение - профессиональная аудитория, например, дизайнеры, которым действительно лучше запомнить один раз адрес поиска по, скажем, логотипам и не искать их в "Яндексе" или Google. Во всех остальных случаях общая точка входа - это огромное удобство, пользователи к нему привыкли и не готовы отказываться.
Что касается поиска информации "в любых местах" - это такая абстракция, о которой трудно рассуждать. Речь идёт о deep web?
- Речь идёт о самых разных вещах, в том числе и о deep web. Но кроме него, например, поисковики могут подключать специальные базы данных, которые отсутствуют в Интернете по разным причинам. Скажем, в Сети очень мало "доинтернетной" информации.
- Да, такой процесс идёт. Например, в "Яндекс.Словарях" примерно с 2005 года есть программа оцифровки словарей. Мы не просто индексируем то, что уже есть в Интернете, мы заключаем отдельные договора с владельцами авторских прав, сканируем словари, оцифровываем и выкладываем в Интернет как общее достояние. Некоторые из этих словарей были созданы задолго до Интернета, некоторые - не так давно и продолжают обновляться.
Но тут важно идти не от наших желаний, но и от востребованности. У нас есть на входе картина мира, которую создают наши пользователи - миллионы запросов в сутки. Из этой картины мира мы видим, что словарная информация востребована, я не помню точно, десятью или пятнадцатью процентами пользователей, а какие-то редкие потребности, скажем, в знании химических соединений, связанных с генетикой - это очень фрагментарные и маловостребованные вещи. Их, даже если они существуют в виде базы данных, подключать бессмысленно. Это дорого, мы потратим много усилий ради 0,01 процента пользователей, которым проще уж пойти на тот сайт сразу - они и так его знают.
- У специализированных баз данных есть ещё одно преимущество: информация в них структурирована, то есть можно понять, что есть что: где имя, где фамилия, где адрес, где ещё что-то...
- Для баз данных, в которых мы можем понять, как эту информацию использовать, кое-что у нас уже работает. Скажем, "Яндекс.Маркет" - это же не только коммерческий сервис, но и хороший товарный поиск. Если речь идёт о книжках, то у нас есть отдельная графа "издательство", отдельно год издания, ISBN, название, автор и всё остальное. Всё разложено по полям, и поэтому мы можем хорошо искать книги, которые в последние годы изданы, и прекрасно находить аннотации к ним, среднюю цену и так далее ровно потому, что информация структурирована.
Но не во всех областях есть такие базы данных. Если же мы говорим о deep web, то структура информации на сайте нам неизвестна, и мы знаем только, что на том-то сайте есть база данных, и пользователи сайта вводят какой-то запрос и что-то в ответ получают. Сейчас кажется, что такую информацию индексировать не очень нужно по той простой причине, что её очень мало. Когда десять лет назад, пять лет назад поисковые системы уступали по популярности даже каталогам и были абсолютно немонетизируемы, существовала масса сайтов с базами данных - хорошими базами данных, отличными - которые было невозможно найти через поисковые системы. Теперь же поисковые системы стали самым простым способом получить трафик. Если сайт мало-мальски заинтересован в посетителях и тем более деньгах, он будет принимать специальные меры для того, чтобы хорошо проиндексироваться, и выложит эту базу в виде динамических скриптов, которые поисковые системы найдут и проиндексируют. Случаи, когда сайту не нужны посетители, когда он свою базу не выкладывает, и при этом она доступна без пароля, встречаются крайне редко.
- Имеет ли смысл делать специализированные обработчики, которые будут лучше извлекать информацию из, скажем, конкретного популярного интернет-магазина или социальной сети?
- "Яндекс" занимается массовыми сервисами. Если такой поисковик будет нужен десяткам людей, сотням или даже тысячам, то нам это не очень интересно. Если речь идёт о сотнях тысяч и миллионах, - другое дело. Карты востребованы миллионами, поиск по картинкам и видео - тоже. Наше умение заключается в том, что мы можем работать с большими нагрузками и большими объёмами данных, и нам неинтересно работать над сервисами, не требующих от нас применения всех знаний и навыков.
Для пользователей, конечно, любое специализированное решение будет лучше, чем универсальное. Это общий закон развития техники. Собственно говоря, потому и не распространились многофункциональные устройства - ксерокс, принтер и факс в одном флаконе. Они хуже как ксерокс, хуже как принтер и хуже как факс. Их единственное преимущество - это компактность и дешевизна. Чем система универсальнее, тем больше она проигрывает в качестве исполнения каждого отдельного элемента. Именно поэтому мы подмешиваем в поиск специализированные источники. Мы понимаем проблему, мы знаем, что любая универсальная система слабее для конкретной узкой группы запросов. Мы стараемся самые интересные и популярные группы запросов покрывать специализированными решениями. У нас есть специализированные решения для поиска словарной информации, для литературных запросов, для поиска погоды. Они подмешиваются в основной поиск и улучшают его качество.
Что касается понимания структуры - да, безусловно. Мы, например, хорошо научились понимать структуру новости. Мы отличаем новость от интервью или дайджеста. Мы умеем автоматически извлекать из новостей имена и фамилии, организации, даты увольнения, даты найма из свободно написанного русского текста. Эта технология работает, и работает хорошо. Такое умение в других местах тоже пригодилось бы. Классно было бы уметь в любом интернет-магазине, а не только тех, что подключены к "Яндекс.Маркету" и отдают нам данные в XML, извлекать отдельно цены, отдельно описания товаров, отдельно отзывы, отдельно условия доставки. Мы пока такого не умеем, и никто из крупных поисковых систем такого не умеет, но рано или поздно и до этого дело дойдёт.
Обобщая всё сказанное, мы хотим научиться давать ответы. Не результаты поиска в узком смысле этого слова, а именно ответы, чтобы человек большую часть информации получал на странице выдачи и не нужно было потом двадцать раз ходить по ссылкам. Если ответ короткий, фактографический, например, "какова высота эвереста", то прямо в выдаче пользователь должен получить ответ: 8850 метров.
- Не ссылкой?
- Не ссылкой. А если он хочет интернет-магазин, то ссылка должна вести прямо на нужный товар, который оптимален по цене. Пользователь должен прямо в выдаче видеть, какие есть товары в других магазинах, чтобы ему не нужно было двадцать раз кликать, чтобы всё было как можно ближе к ответу, который ждёт пользователь.
- "Яндекс" уже обрабатывает какие-то запросы таким образом?
- Да. Например, запросы о переводах. Если ввести "как будет собака по-английски", "Яндекс" сразу покажет перевод. Или, скажем, "что такое синхрофазотрон" - можете попробовать. Или "столица Франции". То же самое по запросу "погода". Даже если не задать регион ("погода в Москве", например), он автоматически определяет регион по IP-адресу и показывает погоду в ближайшем городе.
- Некоторые поисковые стартапы утверждают, что их продукты крайне интеллектуальны и используют чуть ли не искусственный интеллект. Насколько реалистичны такие проекты?
- С моей точки зрения, все эти новые проекты можно разделить на два класса. Первый - узкоспециализированные решения. Например, у кого-то интерфейс удобный для гиков, где всё под рукой и всё настраивается. Или, например, улучшен поиск определённого рода информации. Например, искалка специализируется на поиске биографий людей и умеет из любого подходящего документа извлекать биографию. Второй тип - это универсальные системы, про которые говорят, что у них реализован искусственный интеллект и всё такое.
В первое направление я верю. Когда хорошая команда поработает, она способна сделать отдельное решение для конкретной группы специалистов, которое будет лучше, чем любой универсальный поиск. Во второе я не очень верю, и вот почему. Конечно, может быть какой-то очень-очень маленький шанс, что случится революция, и кто-то придумает нечто гениальное, что никому прежде в голову не приходило, но если не рассматривать такой чудесный сценарий, то большинство решений отличаются в чём-то одном. А поиск - это настолько сложная система, в которой архитектурных, интеллектуальных, любых решений зарыты тысячи. Например, умение обходить сайты, чтобы не перегружать их чрезмерно, но при этом успевать вовремя индексировать. Как бороться с дублированием информации. Как бороться с поисковым спамом, которого в Интернете огромное количество. Как при этом ранжировать результаты. Как понимать смысл запроса. Даже если какая-то поисковая система разработает одно классное решение по ранжированию, например, они научатся понимать смысл запроса глубже, чем мы, то для того, чтобы воплотить это в реально работающей системе, а не макете, им потребуется обойти веб в том же объёме, что и мы, научиться фильтровать спам и дубликаты не хуже нас, научиться делать удобные интерфейсы. Чтобы пройти весь этот путь, какими бы они умными не были, требуется пять-десять лет.
Я допускаю, что лучшая команда специалистов, которая умеет создавать такие системы - а таких команд в мире всего-то штук пять - соберётся и решит создать новый поисковик с нуля. Но ей всё равно потребуется лет пять, чтобы выйти на уровень, сопоставимый по качеству с современными системами, а ведь те за это время ещё уйдут вперёд. Cuil, который бывшие специалисты Google создали, это доказывает - ну не получается с нуля воспроизвести то, что нарабатывалось тысячами человек в течение многих лет.
- Ещё одна возможность, связанная с "интеллектуальностью" поисковика - поддержка запросов на естественном языке. Нужна ли она?
- Поисковая система безусловно не должна ломаться от запроса на естественном языке :). Она должна быть устойчива к любым проявлениям естественного человеческого языка и не воспринимать его как ошибку. Кроме того, поисковая система должна понимать те подсказки, которые даёт ей язык: синтаксические связи, морфологические особенности. Скажем, если единственное слово стоит в родительном падеже, значит, скорее всего, это фамилия. Если кто-то ищет слово "кабанов", то вряд ли имелись в виду "кабаны". Обычный пользователь не станет запрашивать в такой форме информацию про кабана. Он напишет "кабан", если ему нужен кабан. Вот такие подсказки поисковая система должна понимать, но полноценный анализ запросов на естественном языке? Он не нужен. Пользователи переходят на телеграфный стиль и очень быстро ему учатся. Новый пользователь, который приходит в поисковую систему и пишет "покажите мне, пожалуйста, результаты поиска по запросу про марадону диего", уже через два дня выдаёт что-то вроде "марадона фотографии сайт".
- Что собой представляет этот "телеграфный язык"?
- В нем оставляют все значимые слова и выкидывают все грамматические связки, которые в данном случае не нужны. Да, они делают наш язык красивее и глаже, но когда речь идёт о поиске, в котором цель - получить информацию, важным моментом становится эффективность. Между поисковиком и пользователем идёт своеобразный диалог: мы даём ему информацию, он нам отвечает, и все это должно происходить максимально эффективно, чтобы информация нигде не потерялась и нигде не исказилась. Это как код или шифр, и самый простой шифр в данном случае - это убрать всё лишнее и оставить только значимые слова.
Вот хороший пример: Лебедев писал у себя в "Ководстве" о том, как нужно оформлять плакаты на дороге. Он приводил пример неудачного плаката, на котором было написано: "Уважаемый водитель! Выезжая из города на трассу, не забудьте, пожалуйста, пристегнуть ремни безопасности и включить фары дальнего света!" Лебедев говорит, что это всё шум, водитель не успеет ничего прочитать. Нужно оставить самое главное: "Фары и ремень" крупными буквами. Примерно так же формируются и запросы. Из длинной фразы оставляются фразы и словосочетания, которые несут основную смысловую нагрузку. За исключением цитат, которые важно воспроизвести один в один, всё остальное превращается в слова и словосочетания, которые важны для понимания смысла запроса. Вспомогательные слова уходят: предлоги, союзы и всё прочее, за исключением связок.
Сейчас пользователи этому учатся очень быстро, потому что 2008 год принёс во все крупные поисковые системы поисковые подсказки. Когда вы начинаете набирать запрос, выпадает список запросов, которые задавали другие пользователи. Это очень быстро учит людей тому самому телеграфному языку. Они понимают, что можно не набирать кучу лишнего.
- Ещё один возможный путь улучшения поиска - это учёт контекста и той информации о пользователе, которая известна поисковику. Ему известно, в каком городе находится человек, известно, что происходит вокруг него, известно, чем он интересуется. Возможно ли это использовать?
- Теоретически - да, но здесь есть несколько тонкостей. Поисковые системы идентифицируют пользователей по кукам., а куки - это ненадёжная вещь. Браузер потёр их - и всё, мы уже не знаем этого человека и ничего не можем о нём сказать. И более того, наша статистика показывает, что "период полураспада" куки - в районе двух месяцев. То есть за этот срок половина кук уходит в небытие. Но пользователи-то остаются!
Кроме того, проблема ещё в том, что у пользователей не так уж много повторяющихся запросов. Теоретически здесь можно немного информации добыть. Хорошо извлекается информация регионального типа, потому что регион человека редко меняется, но чем более узко мы понимаем персонализацию поиска, тем изменчивее она становится, и каких-то общих закономерностей здесь мало. Мы безусловно смотрим на это направление и экспериментируем, но кроме регионализации понятных направлений развития здесь мало. Это дело, скорее, далёкого будущего и постепенных маленьких улучшений. Мы не видим на горизонте революционного скачка - по крайней мере, пока.
- То есть персонализации в ближайшие пять лет, по большому счёту, не будет?
- Какая-то - будет, она будет улучшаться, но не даст радикального роста качества. Да, по некоторым запросам можно будет заметить, что появилась пара ссылок, которые немного выше или немного другие, чем у прочих пользователей.
- Исторически поисковики в первую очередь обращали внимание на текст. Поиск по изображениям или видео до сих пор основан на тексте. Будет ли что-то иное?
- Уже сейчас у нас есть технология, которая анализирует медиа контент. Наш поиск по картинкам в июне начал понимать, какого цвета картинка - не по описанию, а на основании анализа изображения. Ближе к концу года был запущен поиск по портретам, который позволяет отличить портрет от непортрета. Это ещё не распознавание лиц, распознавание сложнее, но если человек ищет, например, по фамилии "Лебедь" и получает множество картинок с птицами, он может выбрать опцию "портрет", и останутся только картинки с людьми. Распознавания образов у нас ещё нет, но текущее состояние науки в этой области показывает, что в общем виде эта задача ещё не решена. Со звуком то же самое. Звук хорошо умеют распознавать по словарю. Если нам надо распознать тысячу слов во всех документах, мы можем эту тысячу заранее задать и найти, в каких аудиофайлах эти слова встречаются, а в каких - нет. Но словарь в вебе - это миллионы, десятки миллионов слов. По такому словарю индексировать звуковые файлы ещё никто не умеет. С другой стороны, раз научились разбирать тысячу слов, рано или поздно дойдут и до сотни тысяч. Это процесс эволюционный.
- А обратная задача - запросы в виде звуков или изображений?
- Мы думаем об этом. Пока потребность не кажется особенно большой, люди так реже ищут. Исключением, наверное, является музыка - там это почаще. Я думаю, рано или поздно до этого дойдёт.
- В последнее время появилось немало сервисов, которые, с одной стороны, называют себя поисковиками, а с другой - основаны на человеческом труде, ручном подборе ссылок. Выйдет ли что-то из этого?
- В "Яндексе" давным давно, наверное, с тех же времён, как появился поиск, работает "Яндекс.Каталог". Когда веб был маленьким, а каталог был уже приличным по размеру, мы подмешивали к результатам поиска ссылки из каталога. Со временем мы его убрали, потому что они были уже не так востребованы. В целом гипотеза, что человек может ответить лучше на понятный ему запрос, наверное, правильна. Но здесь проблема другая. Во-первых, мнения человека субъективны. Почему доверяют "Яндексу" и Google? Потому что знают, что это отражение действительности. Есть такая метафора: "Яндекс" - это зеркало Рунета. Мы не вносим субъективности, мы не добавляем своего личного мнения. Мы не говорим, что тот сайт плохой, а тот - хороший. Если не считать поискового спама, который мы выкидываем, всё остальное мы отправляем на выдачу. Когда человек вручную, например, размечает запрос "дизайн" и считает при этом, что ландшафтный дизайн интересней и важнее, он поставит сайты о ландшафтном дизайне повыше, чем сайты о веб-дизайне. А кому-то это уже не понравится, пользователей, например, больше интересует веб-дизайн. Выходит, что результаты поиска ухудшаются.
Вторая проблема в том, что пользователи привыкли к единой точке входа по всем запросам, и им очень сложно свыкнуться с тем, что такой ручной "поисковик" способен отвечать только на самые широкие запросы. В месяц "Яндекс" получает несколько десятков миллионов уникальных формулировок запросов.
- Какова доля популярных среди них?
- Если грубо, то 30-50% встречаются один раз в месяц. Это означает, что такие запросы бесполезно размечать вручную. За ними невозможно вообще следить человеку. То самое, что называется "длинный хвост", long tail - это термин, который в 2004 году ввёл Крис Андерсон из журнала Wired.
Третья проблема в том, что веб меняется очень быстро. Поисковая система - это очень быстрые, очень надёжные и хорошо отлаженные роботы, которые переиндексируют терабайты информации в сутки. Каждый день у нас закачиваются сотни миллионов URL - это гигантская цифра, которую трудно вообразить. Если вдруг сайт устаревает, хостинг перестаёт отвечать, или появляется новый классный сайт на эту тему, человек-эксперт может и не успеть среагировать. Роботы реагируют мгновенно. Когда в Интернете задавали вопросы Путину, во всех поисковых системах за считанные часы сайт появился на первых местах безо всяких дополнительных действий со стороны поисковиков просто потому, что все о нем писали и говорили. В ручном "поисковике", если бы человек не следил за новостями, он мог бы поставить эту информацию через сутки или через двое.
Такой подход менее гибкий, в нём больше ошибок, поэтому он, скорее всего, популярным не станет. И это подтверждает практика. В России есть подобная система Neiron.ru, которую Андрей Иванов из Казани делает с 2001 или 2002 года. До сих пор она не стала популярной, потому что у неё есть своя узкая ниша. В ней она хороша, но выйти за её пределы - неспособна.
- Семантический веб, которого все ждут, в принципе должен как-то решить проблему со структурированными данными. Насколько он реалистичен?
- Если говорить о концепциях семантического веба, которые продвигает Бернерс-Ли, то кратко их можно охарактеризовать так: "А давайте-ка мы все возьмёмся за руки и дружно скажем: "Спаму - нет, хорошим тэгам - да!", а потом разметим каждый на своём сайте хорошие тэги, после чего наступит всеобщее счастье". Это призывы из серии "Давайте не будем воевать", "Давайте жертвовать на благотворительность", "Давайте не будем воровать"... В идеальном мире такое, наверное, возможно, но на практике - мы уже видели 1998 год, когда поисковые системы активно учитывали в ранжировании метатэги. В метатэгах типового сайта Васи Пупкина писалось "порно, рефераты, Москва, проститутки" просто для того, чтобы попасть по всем запросам на первые места, чтобы все узнали о кошке Васи Пупкина. Человеческая натура такова, что 90% веб-мастеров не станет ничего делать из лени, а половина оставшихся будет создавать спамовую разметкуиз вредности :).
Семантический веб - это идеалистическая концепция. Она может работать в тех местах, где весь контент выходит из под пера небольшого числа авторов и источников. Например, словарная информация, например, законодательные акты или отраслевые документы. В этих узких областях семантический веб вполне может работать. Да, каждая из баз законодательных документов, их не так много, вполне могут договориться, чтобы у них были общие корректные тэги. Вероятность же того, что договорятся миллионы владельцев сайтов очень и очень мала. Всё упрётся в социальный фактор, а не технологический.
- А какие ещё технологии, о которых мы пока не говорили, вероятно вскоре будут играть большую роль?
- Если бы мы знали однозначно и это возможно было реализовать, мы бы уже реализовали :). Я могу очертить некоторые тенденции. Во-первых, мы будем двигаться в сторону ответов - в широком смысле этого слова. Человек должен тратить как можно меньше времени до того как наберёт запрос. У нас есть ответы на так называемые незаданные вопросы. Большинство людей интересуются погодой. Многие интересуются курсом валют. Чтобы им не нужно было вводить запросы, ответы на эти незаданные вопросы мы вынесли на главную страницу. Ровно той же цели служит поисковая подсказка. Время и усилия, которые потратит человек, прежде чем сформулирует запрос и передаст его поисковой системе, должны быть минимальными.
Вторая часть концепции про ответы заключается в том, что на странице результатов поиска всё должно восприниматься быстро, ответ не должен быть зарыт в бесконечных блоках информации. И ответ должен быть как можно ближе к тому, что он хотел получить: то ли это факт, то ли ссылка, то ли музыка, то ли ещё что-то.
Наконец, если ответ нельзя дать на странице, а требуется переход на сайт, то после перехода нужно, чтобы он искал ответ как можно меньше. Сайты бывают устроены по-разному. Одни сайты устроены хорошо, и человек сразу видит, что ему надо. А бывает, что нужная ему ссылочка зарыта где-то сбоку после двадцати абзацев текста. Важно так подавать информацию, чтобы человек мог найти её быстро. Возможно, прокручивать страницу к этому месту или подсвечивать текст или ещё что-то. Для этого мы используем инструментарий типа "Яндекс.Бара". Это решение не поисковой проблемы - в поиске такая функциональность есть давно. Это решение проблемы несовершенства веба.
Другой пример: в "Яндекс.Баре" есть кнопочка "Отзывы", показывающая комментарии из поиска по блогам. Когда сайт известного писателя Лёни Каганова взломали, в блогах тут же появились комментарии об этом. Если человек не знающий о взломе зайдёт на сайт, он получит что-то непонятное: какая-то матерщина, не пойми что. А из "Отзывов" в "Яндекс.Баре" он тут же увидит список комментариев о том, что сайт взломали. Это некое комментирование, причём не наше - мы по-прежнему остаёмся лишь зеркалом, но позволяем пользователям комментировать страницы Интернета.
Третья часть может заключаться в направлении, которое популярно, например, в законодательных поисковых системах - автореферировании. Оно полезно, когда нужно получить из двадцати страниц текста одну страничку, на которой можно кратко прочитать, о чём это. Пока они работают не очень хорошо, но в будущем, вероятно, качество вырастет.