□ совершенно безопасно хранить информацию о зачислениях и платежах;
□ управлять своими средствами через Интернет.
Эта система — не банк, в ней не открывается счет пользователя системы. Только кошелек — и пополнив его любым способом, можно оплачивать свои покупки в интернет-магазинах, передавать свои средства другим пользователям этой системы или получать переводы от них, через специальные обменные системы переводить или получать электронные деньги из других подобных систем, например, WebMoney. Средства, находящиеся в вашем кошельке, могут быть перечислены на ваш счет в любом банке, находящемся на территории России.
Система поддерживает два типа кошельков — Яндекс. Кошелек, доступ к которому осуществляется через сайт Яндекс. Денег, и Интернет. Кошелек, для работы с которым на компьютер пользователя устанавливается специальная программа. Кошельки между собой несовместимы и действуют полностью самостоятельно. Поэтому каждый может завести себе два различных кошелька и пользоваться ими независимо.
Несмотря на то что Яндекс. Деньги — не банк, все средства, находящиеся в этой системе, обеспечены реальными банковскими счетами компании-оператора, размещенными в следующих банках:
□ ИМПЭКСБАНК;
□ Росбанк;
□ Банк "ТАВРИЧЕСКИЙ";
□ Сбербанк.
□ Внешторгбанк;
Уже давно новости можно читать не только на сайтах, где они публикуются, но и подключившись к RSS-потокам. RSS — формат представления данных (международный стандарт для синдикации веб-контента). Аналогичные функции выполняет и формат Atom, но он имеет расширенные по сравнению с RSS характеристики.
Многие блоги (сетевые дневники) и многие новостные источники предоставляют информацию в формате RSS. Эти потоки состоят из сообщений, где каждое сообщение является записью в дневнике или новостью. Яндекс. Лента — специальный сервис для сбора таких информационных RSS-потоков в одном удобном для использования месте.
Из огромного списка возможных источников вы выбираете блоги (сетевые дневники) или новости, которые хотите читать, собираете из них ленту и читаете. В процессе чтения вы можете отмечать понравившиеся сообщения, чтобы потом просмотреть их отдельно. Нужные сообщения вы также сможете найти и с помощью поиска по вашей ленте.
Каждая лента в сервисе представляет собой набор RSS-потоков, сообщения из которых сортируются по времени поступления. Вы можете создать себе несколько лент (например, по тематикам) и наполнить их интересными лично вам потоками с помощью формы добавления потока.
По-настоящему богаты те, кто может себе позволить делиться с другими. Если исходить из этого, Яндекс — богатая компания. То, что было разработано для себя и является основой бизнеса, предлагается всем желающим. Как на платной основе, так и на бесплатной.
Корпоративным клиентам предлагаются два продукта — Спамооборона и Яндекс. Сервер.
Корпоративный продукт "Спамооборона" — это серверное решение для фильтрации спама. Основные свойства системы: полнота и высокая точность фильтрации, актуальная база знаний о спаме, наличие гибких настроек. Установив ее на корпоративном почтовом сервере, вы резко снизите количество спама, доходящего до почтовых ящиков ваших сотрудников.
Хотите, чтобы на вашем портале было легко найти любую информацию — установите Яндекс. Сервер. Большинство возможностей этого продукта теперь доступно в бесплатной версии, более чем достаточной для большинства интернет-проектов.
Персональный поиск Яндекса — это программа на вашем компьютере, осуществляющая поиск по файлам и письмам с учетом морфологии русского языка. Совершенно бесплатная, обладающая прекрасными поисковыми возможностями. Позволяет во много раз быстрее искать, к примеру, в базах почтовой программы The Bat! письма, чем выполнять поиск стандартными средствами почтовика.
Яндекс. Бар — это уже совсем иной продукт. Удобство его использования почувствует в первую очередь тот, кто много и часто пользуется Яндексом. А все потому, что в этот плагин, работающий и на MS IE, и на FireFox, включено большинство служб Яндекса, а также обеспечен доступ к вашим личным ресурсам (почте, ленте, денежным средствам).
Есть на Яндексе и другие сервисы и службы — игры и общение, соревнования по поиску и фотоальбомы. Сервисы постоянно развиваются, а количество их увеличивается. Но "нельзя объять необъятное", говорил незабвенный Козьма Прутков. И не отвлекаясь на новинки, разберем, чем же является Яндекс сегодня.
Илья Сегалович — директор "Яндекса" по технологиям и разработке, один из основателей компании.
Поисковыми технологиями Илья начал заниматься в 1990 году — в компании "Аркадия", где руководил группой программного обеспечения. В период с 1993 по 2О00 год, Илья работал в компании CompTek International, где возглавлял отдел поисковых систем. При непосредственной поддержке созданы Национальный корпус русского языка (Ruscorpora) и Российский семинар по оценке методов информационного поиска (РОМИП). Илья Сегалович имеет высшее образование в области геофизики. Вместе со своей женой Марией Илья поддерживает благотворительную студию "Дети Марии" (социальная помощь детям-сиротам и детям-инвалидам).
Глава 1Поиск (Найдется всё!)
Главная задача информационно-поисковой системы — это поиск информации, релевантной информационным потребностям пользователя. Слово релевантность означает соответствие между желаемой и действительно получаемой информацией. Релевантность можно еще представить как меру близости между реально полученными документами и тем, что следовало бы получить из системы.
1.1. Что такое "поисковая машина"
Каждому из нас в определенный момент времени бывает необходима информация, отсутствующая среди записей, заметок и данных на нашем компьютере. Где в таком случае вы будете ее искать? Одним из наиболее простых и удобных способов поиска является Интернет (далее также "Сеть"). Здесь есть все — техническая и экономическая информация, справочники и научные издания, расписания транспорта и онлайновые магазины, книги и курсы валют. Все можно найти, не отрываясь от стула. Но у этой хорошей стороны Интернета есть и обратная сторона — количество информации в Сети растет даже не по часам, а по минутам и секундам. Найти нужную информацию обычным серфингом уже невозможно. Простой и удобный протокол HTTP, используемый для серфинга, удобен для навигации и просмотра страниц, но совершенно не предназначен для поиска.
Первым шагом на пути систематизации информации, размещаемой в Интернете, стало создание каталогов сайтов, в которых ссылки на ресурсы группировались по тематическому признаку. Так построено большинство современных каталогов, но началом всему стал проект Yahoo! открытый в 1994 году. Вторым шагом после создания каталога стал поиск по размещенным в нем ссылкам. Понятно, что это был поиск не по всем ресурсам Интернета, а лишь по тем, которые присутствовали в каталоге. Даже сегодня, спустя десятилетия после появления первых каталогов, в них присутствует лишь малая толика интернет-ресурсов. В одном из самых крупных каталогов — DMOZ (Open Directory Project) находятся ссылки на 4 миллиона сайтов, распределенных по 590 000 категорий, а в базе Яндекса размещена информация свыше чем о 2 278 900 000 документов. Показатели для поиска несравнимые.
Поэтому не удивительно, что почти одновременно с появлением каталогов, появились и поисковые машины. Первой из них стал проект WebCrawler, появившийся в 1994 году. Следом за ним открылись поисковые системы Lycos и AltaVista, а в 1997 году Сергей Брин и Ларри Пейдж создали Google. В том же году была официально анонсирована и поисковая система Яндекс, ставшая самой популярной в русскоязычной части Интернета.
1.1.1. Компоненты поисковых машин
Информация в Сети не только пополняется, но и постоянно изменяется, но об этих изменениях никто никому не сообщает. Отсутствует единая система занесения информации, одновременно доступная для всех пользователей Интернета. Поэтому с целью структурирования информации, предоставления пользователям удобных средств поиска данных и были созданы поисковые машины.
Поисковые системы бывают разных видов. Одни из них выполняют поиск информации на основе того, что в них заложили люди. Это могут быть каталоги, куда сведения о сайтах, их краткое описание либо обзоры заносят редакторы. Поиск в них ведется среди этих описаний.
Вторые собирают информацию в Сети, используя специальные программы. Это поисковые машины, состоящие, как правило, из трех основных компонентов:
□ Агента;
□ Индекса;
□ Поискового механизма.
Агент, или более привычно — паук, робот (в англоязычной литературе — spider, crawler), в поисках информации обходит сеть или ее определенную часть. Этот робот хранит список адресов (URL), которые он может посетить и проиндексировать, с определенной для каждой поисковой машины периодичностью скачивает соответствующие ссылкам документы и анализирует их. Полученное содержимое страниц сохраняется роботом в более компактном виде и передается в Индекс. Если при анализе страницы (документа) будет обнаружена новая ссылка, робот добавит ее в свой список. Поэтому любой документ или сайт, на который есть ссылки, может быть найден роботом. И наоборот, если на сайт или любую его часть нет никаких внешних ссылок, робот может его не найти.
Робот — это не просто сборщик информации. Он обладает довольно развитым "интеллектом". Роботы могут искать сайты определенной тематики, формировать списки сайтов, отсортированных по посещаемости, извлекать и обрабатывать информацию из существующих баз данных, могут выполнять переходы по ссылкам различной глубины вложенности. Но в любом случае, всю найденную информацию они передают базе данных (Индексу) поисковой машины.
Поисковые роботы бывают различных типов:
□ Spider (паук) — это программа, которая скачивает веб-страницы тем же способом, что и браузер пользователя. Отличие состоит в том, что браузер отображает информацию, содержащуюся на странице (текстовую, графическую и т. д.), паук же не имеет никаких визуальных компонентов и работает напрямую с HTML-текстом страницы (аналогично тому, что вы увидите, если включите просмотр HTML-кода в вашем браузере).
□ Crawler (краулер, "путешествующий" паук) — выделяет все ссылки, присутствующие на странице. Его задача — определить, куда дальше должен идти паук, основываясь на ссылках или исходя из заранее заданного списка адресов. Краулер, следуя по найденным ссылкам, осуществляет поиск новых документов, еще неизвестных поисковой системе.
□ Индексатор разбирает страницу на составные части и анализирует их. Выделяются и анализируются различные элементы страницы, такие как текст, заголовки, структурные и стилевые особенности, специальные служебные HTML-теги и т. д.
Индекс — это та часть поисковой машины, в которой осуществляется поиск информации. Индекс содержит все данные, которые были переданы ему роботами, поэтому размер индекса может достигать сотен гигабайт. Практически, в индексе находятся копии всех посещенных роботами страниц. В случае если робот обнаружил изменение на уже проиндексированной им странице, он передает в Индекс обновленную информацию. Она должна замещать имеющуюся, но в ряде случаев в Индексе появляется не только новая, но остается и старая страница.
Поисковый механизм — это тот самый интерфейс, с помощью которого посетитель взаимодействует с Индексом. Через интерфейс пользователи вводят свои запросы и получают ответы, а владельцы сайтов регистрируют их (и эта регистрация — еще один способ донести до робота адрес своего сайта). При обработке запроса поисковый механизм выполняет отбор соответствующих ему страниц и документов среди многих миллионов проиндексированных ресурсов и выстраивает их в порядке важности или соответствия запросу.
Названные выше компоненты не обязательно входят в состав поисковой машины так, как они здесь описаны. У разных поисковиков реализация может отличаться друг от друга. К примеру, связка Spider+Crawler+Индексатор может быть выполнена в виде единой программы, которая скачивает известные веб-страницы, анализирует их и ищет по ссылкам новые ресурсы.
1.1.2. Характеристики поисковых машин
В статье, посвященной поисковой машине Rambler (http://www.rambler.ru/ doc/architecture.shtml), называются основные характеристики, которые могут быть применены к любым поисковикам:
□ полнота;
□ точность;
□ актуальность;
□ скорость;
□ наглядность.
Полнота поиска характеризуется отношением количества найденных по запросу документов к общему количеству документов в Интернете, соответствующих данному запросу. Если по запросу "кристаллическая решетка" будет найдено 150 документов, а общее количество документов в Интернете, соответствующее этому запросу, составляет 1000, то полнота поиска составит 0,15. (Эта величина приблизительная, поскольку неизвестно точно, сколько же на самом деле существует в Интернете страниц, отвечающих условию поиска.) Чем более полно проанализированы и занесены в Индекс документы, тем выше будет показатель полноты поиска.
Точность поиска определяется как степень соответствия найденных документов запросу пользователя. Допустим, мы хотим найти документы, в которых встречается выражение "сын знахаря". В результатах поиска мы увидим документы, в которых встречается точно такое выражение. Но присутствуют и документы, содержащие искомые слова, но не выражения, например: "родители привозят сына в небольшой городок на Адриатическом побережье, к местному знахарю". И если всего найдено 200 документов, из которых только в 80 встречается именно искомое словосочетание, то точность поиска будет оценена как 80/200 (0,4). Чем точнее поиск, тем выше вероятность, что пользователь найдет нужные документы, тем меньше будет избыточной, лишней информации.
Для повышения точности результата в различных поисковых системах применяются различные способы. Каждый поисковик использует свои решения, в целом предназначенные для выполнения близких по сути задач. К примеру, вот что по этому поводу сказано на сайте Рамблера:
Повышение точности в поисковой машине Рамблер достигается за счет использования различных технологий на всех этапах обработки и поиска информации. Одним из наиболее интересных процессов является распознавание грамматических омонимов. Омонимы — это слова, которые имеют одинаковое написание, но различный смысл. Различают лексические и грамматические омонимы. Лексические омонимы относятся к одной части речи, как, например, существительное "бор": хвойный лес, стальное сверло и химический элемент. Грамматические омонимы относятся к разным частям речи, поэтому по написанию у них обычно совпадают только отдельные формы. Примерами грамматических омонимов могут служить слова "печь" (существительное русская печь и глагол печь пирожки) и "рядовой" (прилагательное рядовой сотрудник и существительное рядовой Иванов).
Омонимы не только увеличивают размер индексной базы (так как для каждого такого слова приходится хранить все его возможные значения), но и отрицательно сказываются на точности поиска. Если пользователь ищет слово "данные", ему неинтересно получить в найденном все документы, которые содержат слово "дать". Для того чтобы результаты поиска были точнее, модуль синтаксического анализа проводит разбор окружения слов-омонимов с целью установления их наиболее вероятных значений. Например, если рядом со словом "печь" стоит существительное ("пирожки", "картошка"), то с высокой вероятностью "печь" в данном контексте является глаголом. На сегодняшний день анализатор способен распознавать значения только грамматических омонимов.
Синтаксический анализ позволяет также с определенной вероятностью распознавать некоторые имена собственные. Например, если в тексте несколько слов подряд написано с большой буквы, они чаще всего представляют собой имя собственное (Петр Петрович, Московский Государственный Университет). Данные о таких конструкциях учитываются при индексации и обработке запроса.
Еще один способ повышения точности поиска — это выделение устойчивых обозначений и поиск их как отдельных лексических единиц. На сегодняшний день в Рамблере реализована система распознавания таких конструкций, как, например C++, б/у, п/п-к. Если по запросу С++ поднимать все тексты, в которых присутствуют латинская буква С, а также знак +, то получится огромное количество документов, далеко не все из которых соответствуют запросу; кроме того, это большая работа, значительно увеличивающая время поиска.
Источник: "Принципы работы поисковой машины Рамблер" (http://www.rambler.ru/doc/architecture.shtml).
А вот что на эту же тему пару лет назад сказал И. Сегалович, директор Яндекса по технологиям и разработке:
Алгоритм поиска учитывает социальную структуру Интернета. Он умеет отличать мнение людей от технической, вспомогательной и рекламной информации, то есть лучше распознавать, какой ресурс является авторитетным в своей области. Также введена дополнительная очистка результатов поиска от дубликатов. Теперь пользователь избавлен от повторения в списке найденного почти одинаковой информации. Поиск в Интернете — это серьезная наука, поэтому для повышения качества сервиса в Яндексе проводятся регулярные исследования. В прошлом году мы организовали отдел асессоров — пользователей, которые систематически по заданной методике оценивают релевантность результатов. Обратная связь от асессоров дает нам возможность настраивать параметры алгоритма ранжирования и увеличивать точность поиска. Стало удобнее работать с региональной информацией. Теперь Яндекс автоматически определяет, в каком городе находится компьютер, с которого поступил запрос, и, если уточнение по региону имеет смысл, предлагает повторить поиск, ограничив его сайтами данного региона. Поиск поддерживает шесть языков — к русскому и английскому добавились украинский, белорусский, французский и немецкий. Язык документов и сайтов определяется автоматически, а ограничить область поиска нужным языком можно в настройках или расширенном поиске. Расширенный поиск стал проще и функциональней, заданные с его помощью ограничения теперь видны на странице найденных результатов. Благодаря "умной подсказке" пользователи расширенного поиска смогут увидеть сформированный запрос, как если бы он был задан на русском языке.
Какова психология того, кто ищет информацию? Считается, что наиболее подходящие (релевантные) документы должны быть на первой-второй страницах результатов поиска. Если количество полученных результатов больше, человек вряд ли будет просматривать остальные страницы. И даже если в числе найденных есть документ, полностью отвечающий заданным условиям, но находится он на странице из второго десятка, ищущий этот документ не увидит — он просто не дойдет до этой страницы. Поэтому громадное значение приобретает и ранжирование документов в результатах поиска по их релевантности запросу.
По поводу релевантности Яндекс говорит, что это "соответствие ответа вопросу", но при этом важны две составляющие — полнота (ничто не забыто) и точность (отсутствие лишнего).
Релевантность различают как содержательную и формальную. Воспользовавшись словарями, представленными в Яндексе, предложу определения этих понятий:
□ содержательная релевантность — соответствие документа информационному запросу, определяемое неформальным путем;
□ формальная релевантность — соответствие, определяемое алгоритмически путем сравнения поискового предписания и поискового образа документа на основании применяемого в информационно-поисковой системе критерия выдачи.
В простейшем случае, релевантность текста определенному запросу — это процент вхождения запроса к общему объему текста. Для поисковых систем высокорелевантным текстом считается такой, где вхождение запроса в текст примерно равно 4–7 % — меньшего может не хватить, большее чревато тем, что система сочтет текст за поисковый спам и наложит на страницу некий понижающий фильтр или может вообще убрать страницу из результатов выдачи по искомому запросу.
Конечно, каждая поисковая система использует гораздо более сложные способы вычисления релевантности документов запросу пользователя. Тем не менее, несмотря на то что алгоритмы у всех поисковых машин разные, они построены на общих принципах — основные отличия результатов выдачи заключаются не в алгоритмах определения релевантности, а в конкретных способах реализации этих алгоритмов.
Какие же факторы, помимо вхождения слов запроса в текст документа, оказывают дополнительное влияние на его место среди других документов? Каждая поисковая машина, стремясь привлечь качеством выдачи запрашиваемой информации, разрабатывает собственные критерии подсчета релевантности. Это и плотность ключевых слов на странице, и разделы страниц, где находятся эти слова, объем содержания, тексты заголовков и ссылок и многое другое. Учитываются и такие рассчитываемые показатели сайтов, как индекс цитирования, тематический индекс цитирования, Page Rank. И при этом происходит постоянное изменение степени влияния на результаты тех или иных параметров, их состав и принцип расчета.