Помощь в учёбе, очень быстро...
Работаем вместе до победы

Организация поисковой системы во всемирной глобальной сети

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Интеллектуальные агенты" и «цифровые помощники», предназначенные для использования конечным пользователем, который ищет информацию в Интернет, являются в настоящее время популярной темой исследований в компьютерной науке, и часто рассматриваются как будущее Сети. В то же время это действительно может иметь место, и уже очевидно, что автоматизация неоценима для исследований ресурсов, хотя… Читать ещё >

Организация поисковой системы во всемирной глобальной сети (реферат, курсовая, диплом, контрольная)

Календарный план

№ п/п

Наименование этапов дипломной работы (проекта)

Срок выполнения этапов работы (проекта)

Примечание

Получение задания на выполнение ДР

Октябрь 2010

Разработка календарного графика на весь период выполнения ДР

Октябрь 2010

Составление библиографии и написание введения в соответствии с научной проблемой и темой исследования

Ноябрь 2010

Подготовка теоретической части и аналитический обзор источников.

Декабрь 2010

Работа над теоретической частью «Анализ систем организации поиска во Всемирной Глобальной сети»

Декабрь 2010

Работа над 2 разделом «Разработка структуры поисковой системы „Бета-поиск“»

Январь 2011

Апробация программного продукта.

Февраль 2011

Заключение

содержащее основные выводы по работе. Подготовка к предзащите.

Март 2011

Преддипломная защита.

Март 2011

Защита дипломной работы.

Апрель 2011

Студент-дипломник __________________________

Руководитель работы _________________________

СОДЕРЖАНИЕ Введение

1. Анализ систем организации поиска во Всемирной Глобальной сети

1.1 Информационно-поисковые системы

1.2 Гипертекстовые документы

1.3 Классификация современных информационно-поисковых систем

1.4 Описание механизма поиска информационно-поисковых систем

1.5 Поисковые роботы.

1.6 Обзор и рейтинги основных мировых поисковых систем

1.7 Перспективы дальнейшего развития поисковых систем

2. Разработка структуры поисковой системы «Бета-поиск»

2.1 Обоснование выбора инструментария реализации информационной системы

2.2 Проектирование информационно-поисковой системы

2.3 Описание интерфейса информационно-поисковой системы Заключение

Введение

Всемирная сеть очень полезна и важна практически для любого. Каждый пользователь Интернета может найти в нем массу разнообразной и интересной информации, а также использовать все богатейшие возможности сети. Ресурсы Интернета уже давно перестали быть просто развлечением, превратившись в незаменимый инструмент для повседневной работы людей многих профессий. Быстрый рост информации в сети сделали его океаном разнообразных данных, важность которых растет пропорционально их объему.

Еще 15 лет назад бытовало такое мнение: «В Интернете есть все, но найти там ничего невозможно». Однако с появлением и быстрым развитием поисковых каталогов, поисковых машин, и всевозможных поисковых программ ситуация изменилась, и теперь в Сети срочно понадобившуюся информацию иногда можно найти быстрее, чем в книге, лежащей на столе.

Наиболее популярным и используемым способом поиска в Интернете является использование поисковых систем. Первоочередная задача любой поисковой системы — доставлять людям именно ту информацию, которую они ищут.

Как же все-таки устроена информационно-поисковая система и каким образом происходит организация поиска во Всемирной Глобальной сети — этой проблеме посвящена тема данной дипломной работы.

Актуальность темы

.

По оценке экспертов, объем информации, передаваемой по каналам Интернет, удваивается каждые полгода. Ежедневно в сети появляются миллионы новых документов, и, естественно, что без систем поиска они в подавляющем своем большинстве остались бы не востребованными, вообще не были бы не кем найдены, и все то огромное количество информации оказалось бы никому не нужным. Возникла необходимость создания таких средств, которые позволили бы легко ориентироваться в информационных ресурсах глобальных сетей, быстро и надежно находить нужные сведения. В Интернете появились специальные поисковые средства.

Анализ структуры и механизма работы таких средств позволит создать собственную поисковую машину, ориентированную на конкретные нужды и специализацию для определенных ресурсов Интернета.

Цель дипломной работы:

Анализ процесса организации поиска во Всемирной Глобальной сети и разработка информационно-поисковой системы, демонстрирующей механизм поиска информации в Интернете.

Основные задачи дипломной работы:

— произвести анализ процесса организации поиска во Всемирной Глобальной сети;

— разработать информационно-поисковую систему, демонстрирующую механизм поиска информации в сети Интернет.

Практическая ценность работы заключается в том, что ее основные положения, выводы и результаты дают возможность организовать процесс поиска информации во Всемирной Глобальной сети с помощью разработки информационно-поисковой системы.

Структура дипломной работы. Состоит из введения, двух разделов, заключения, списка использованных источников. Работа содержит 7 таблиц, 13 рисунков и 2 диаграммы, систематизирующих основные ее положения.

1. Анализ систем организации поиска во Всемирной Глобальной сети

1.1 Информационно-поисковые системы Информационно-поисковая система-программно-аппаратный комплекс с web-интерфейсом, предоставляющий возможность поиска информации в Интернете. Под поисковой системой обычно подразумевается сайт, на котором размещён интерфейс системы. Программной частью поисковой системы является поисковая машина — комплекс программ, обеспечивающий функциональность поисковой системы и обычно являющийся коммерческой тайной компании-разработчика поисковой системы.

История развития информационно-поисковых систем Одним из первых способов организации доступа к информационным ресурсам сети стало создание каталогов сайтов, в которых ссылки на ресурсы группировались согласно тематике. Первым таким проектом стал сайт Yahoo, открывшийся в апреле 1994 года. После того, как число сайтов в каталоге Yahoo значительно увеличилось, была добавлена возможность поиска информации по каталогу. Это, конечно же, не было поисковой системой в полном смысле, так как область поиска была ограничена только ресурсами, присутствующими в каталоге, а не всеми ресурсами сети Интернет.

Каталоги ссылок широко использовались ранее, но практически утратили свою популярность в настоящее время. Причина этого очень проста — даже современные каталоги, содержащие огромное количество ресурсов, представляют информацию лишь об очень малой части сети Интернет. Самый большой каталог сети DMOZ (или Open Directory Project) содержит информацию о 5 миллионах ресурсов. В то время, как Google насчитывает 8 миллиардов.

Первой полноценной поисковой системой стал проект WebCrawler, появившийся в 1994 году.

В 1995 году появились поисковые системы Lycos и AltaVista. Последняя долгие годы Alta Vista была лидером в области поиска информации в Интернет.

В 1997 году Сергей Брин и Лари Пейдж создали Google, самую популярную на сегодняшний момент поисковую систему в мире.

23 сентября 1997 года была официально анонсирована поисковая система Yandex, самая популярная в русскоязычной части Интернет.

В настоящее время существует 3 основных международных поисковых системы — Google, Yahoo и MSN Search, имеющих собственные базы и алгоритмы поиска. Большинство остальных поисковых систем использует в том или ином виде результаты 3 перечисленных. Например, поиск AOL (search.aol.com) и Mail.ru используют базу Google, а AltaVista, Lycos и AllTheWeb — базу Yahoo.

В России основной поисковой системой является Яндекс, за ним идут Rambler, Google.ru, Aport, Mail.ru и КМ.ru, а в Казахстане популярными являются Kaz. kz и Poisk.kz.

1.2 Гипертекстовые документы Под гипертекстовым документом понимают документ, содержащий так называемые ссылки на другой документ. Реализовано все это через протокол передачи гипертекста HTTP (HyperText Transfer Protocol).

Информация в документах Web может быть найдена по ключевым словам. Это означает, что каждый обозреватель Web содержит определенные ссылки, через которые образуются так называемые гиперсвязи, позволяющие миллионам пользователей Internet вести поиск информации по всему миру.

Гипертекстовые документы создаются на базе языка HTML (HyperText Markup Language). Этот язык весьма прост, управляющие коды его, которые, собственно, и компилируются обозревателем для отображения на экране, состоят из текста ASCII. Ссылки, списки, заголовки, картинки и формы называются элементами языка HTML, которые позволяют щелчком мыши перейти к просмотру другого документа.

Существует два способа создания гипертекстовых документов. Можно воспользоваться одним из WYSIWYG HTML-редакторов (например, Netscape Composer, основы работы с котором рассмотрены в разделе «Обработка текста на ЭВМ», Microsoft FrontPage, HotDog, или др.), для работы с которыми не требуется специальных знаний о внутренней структуре создаваемого документа. Этот способ позволяет создавать документы для WWW без знания языка HTML. HTML-редакторы автоматизируют создание гипертекстовых документов, избавляют от рутинной работы. Однако их возможности ограничены, они сильно увеличивают размер получаемого файла и не всегда полученный с их помощью результат соответствует ожиданиям разработчика. Но, безусловно, этот способ незаменим для новичков в деле подготовки гипертекстовых документов.

Альтернативой служит создание и разметка документа при помощи обычного редактора plain-текста (таких, как emacs или NotePad). При этом способе в текст вручную вставляются команды языка HTML.

Как уже отмечалось, HTML-документ содержит символьную информацию. Одна ее часть — собственно текст, т. е. данные, составляющие содержимое документа. Другая — теги (markup tags), называемые также флагами разметки, — специальные конструкции языка HTML, используемые для разметки документа и управляющие его отображением. Именно теги языка HTML определяют, в каком виде будет представлен текст, какие его компоненты будут исполнять роль гипертекстовых ссылок, какие графические или мультимедийные объекты должны быть включены в документ. Графическая и звуковая информация, включаемая в HTML-документ, хранится в отдельных файлах. Программы просмотра HTML-документов (браузеры) интерпретируют флаги разметки и располагают текст и графику на экране соответствующим образом. Для файлов, содержащие HTML-документы, приняты расширения. htm или.html.

Прописные и строчные буквы при записи тегов не различаются. В большинстве случаев теги используются парами. Пара состоит из открывающего (start tag) и закрывающего (end tag) тегов. Синтаксис открывающего тега:

<�имя_тега [атрибуты]>

Прямые скобки, используемые в описании синтаксиса, означают, что данный элемент может отсутствовать. Имя закрывающего тега отличается от имени открывающего лишь тем, что перед ним ставится наклонная черта:

</имя_тега>

Атрибуты тега записываются в следующем формате:

имя [= «значение"]

Кавычки при задании значения аргумента не обязательны и могут быть опущены. Для некоторых атрибутов значение может не указываться. У закрывающего тега атрибутов не бывает.

Действие любого парного тега начинается с того места, где встретился открывающий тег и заканчивается при встрече соответствующего закрывающего тега. Часто пару, состоящую из открывающего и закрывающего тегов, называют контейнером, а часть текста, окаймленную открывающим и закрывающим тегом, — элементом.

Последовательность символов, составляющая текст, может состоять из пробелов, табуляций, символов перехода на новую строку, символов возврата каретки, букв, знаков препинания, цифр, и специальных символов (например, +, #, $, @), за исключением следующих четырех символов, имеющих в HTML специальный смысл: < (меньше), > (больше), & (амперсенд) и «(двойная кавычка). Если необходимо включить в текст какой-либо из этих символов, то следует закодировать его особой последовательностью символов.

К специальным символам можно отнести и неразрывный пробел. Использование этого символа — один из способов увеличить расстояние между некоторыми словами в тексте. Обычные пробелы использовать для этих целей нельзя, так как группа подряд идущих пробелов интерпретируется браузером как один.

1.3 Классификация современных информационно-поисковых систем Поисковые системы разделяют на несколько классов, причем каждый из них предназначен для решения различных задач. К классам поисковых систем относятся поисковые каталоги, полнотекстовые поисковые системы и метапоисковые системы.

Поисковые каталоги Для того, чтобы как-то упростить задачу навигации по существующим ресурсам, были созданы системы, названные поисковыми каталогами или просто каталогами. Яркими представителями поисковых каталогов на Западе являются Yahoo и Open Directory, в России Mavica.net, List.ru, в Украине — Topping, UaPortal и др.

В таких каталогах сайты регистрируются их создателями, после чего проходят проверку модераторами, имеющими право изменять описание и рубрику регистрируемого ресурса по собственному усмотрению так, чтобы максимально приблизить его к тематике самого сайта. Кроме того, часто модераторами также оценивается и полезность ресурса, в результате чего каждый ресурс получает экспертную оценку, которая помогает пользователям находить наиболее авторитетные сайты по интересующим их темам.

Следует заметить, что некоторые поисковые каталоги, которые имеют также собственный рейтинг (например, Topping), используют в качестве подобных неявных экспертных оценок информацию о посещаемости сайтов и учитывают позиции, которые эти сайты занимают в рейтинге ресурсов определенной тематики. Данный подход позволяет повышать качество поиска в каталоге, предоставляя более авторитетную информацию, в результате чего значительно сэкономить время пользователей.

Если пользователь пытается найти что-то конкретное, например, книгу или музыкальный компакт-диск, поисковые каталоги, как правило, оказываются бессильны, и в лучшем случае могут лишь подсказать, на каких сайтах можно попробовать поискать требуемую информацию, не гарантируя, что она там есть. Задача усложняется тем, что лишь определенное количество страниц из всего множества содержит нужную информацию, остальные же совершенно бесполезны.

Полнотекстовые поисковые системы Задачу поиска страниц, содержащих нужную информацию, решают полнотекстовые поисковые системы, которые имеют специальные программы, называемыми пауками или роботами. Они занимаются поиском страниц, извлекают гипертекстовые ссылки на этих страницах и автоматически индексируют найденную информацию в базе данных. В Рунете наиболее известны поисковые машины Яндекс, Google и Рамблер. В Казнете популярными являются Kaz. kz и Poisk.kz.

Каждый поисковый механизм имеет собственный набор правил, определяющих, каким образом собирать документы. Некоторые следуют за каждой ссылкой на каждой найденной странице и затем, в свою очередь, исследуют каждую ссылку на каждой из новых страниц, и так далее. Другие игнорируют ссылки, которые ведут к графическим и звуковым файлам и т. д.

Первые полнотекстовые информационно-поисковые системы появились в начале компьютерной эры. Назначением этих систем был поиск в библиотечных каталогах, архивах, массивах документов, таких как, статьи, нормативные акты, рефераты, тексты брошюр, диссертаций, монографий. В начале информационно-поисковые системы (ИПС) использовались преимущественно в библиотечном деле и в системах научно-технической информации.

В отличие от реляционных СУБД, у систем полнотекстового поиска не существует стандартизированного языка запросов. У каждой системы этого типа существует свой способ задания критериев поиска. Очень часто языки запросов поисковых систем приближены к SQL, однако каждой из них присущ ряд индивидуальных особенностей, связанных с такими моментами, как:

— интерпретация операций, зависящих от порядка расположения слов в тексте (операций контекстной близости слов и др.);

— реализация вычисления близости найденных документов запросам (релевантности) для представления результатов поиска;

— применение нестандартных функций, требующих, например, использования методов искусственного интеллекта (нахождение документов по принципу подобия, построение дайджестов из фрагментов документов, сниппетов и др.)

В различных полнотекстовых ИПС различаются архитектуры, структуры данных, алгоритмы их обработки, методы организации поиска. (ланде) Метапоисковые системы Как уже было замечено, современный Интернет в большинстве случаев не позволяет быстро и качественно отслеживать изменение страниц, поэтому пользователь может попасть на уже изменившуюся страницу или, что еще хуже, на уже удаленную из Сети.

Одним из возможных решений этой проблемы может быть метапоиск. Метапоисковые системы не имеют собственных поисковых баз данных, не содержат никаких индексов и при поиске используют ресурсы множества поисковых систем. За счет этого полнота поиска в таких системах максимальна и вероятность нахождения нужной информации очень высока.

В системах метапоиска запрос, который вводит пользователь, ретранслируется полнотекстовым поисковым системам, которые он выбирает, после чего каждая из систем возвращает множество описаний и ссылок на документы, которые считает наиболее соответствующими данному запросу.

При этом, если в разных поисковых системах был найден один и тот же сайт, то ценность его для пользователя, естественно, существенно повышается.

Однако, у каждой системы различные множества проиндексированных документов, различная полнота баз, следовательно, запрошенная пользователем информация может быть найдена в одной системе и может быть не найдена в другой.

В этом случае пользователь может получить несколько действительно релевантных ссылок от одной системы, которые будут перемешаны с абсолютно нерелевантными из другой (например, в случае, когда фраза целиком не найдена, поиск идет по одному из ключевых слов запроса).

Несмотря на очевидные преимущества систем метапоиска, и они не лишены существенных недостатков, среди которых очень большое время поиска. Пользователям приходится долго ожидать, пока метапоисковая система опросит каждую полнотекстовую систему и на основании полученных результатов поиска сформирует собственные, наиболее удовлетворяющие, с ее точки зрения, потребностям пользователя.

1.4 Описание механизма поиска информационно-поисковых систем

информационный поисковый система робот

Состав поисковых систем

Поисковые системы обычно состоят из трех компонентов:

— агент (паук или кроулер), который перемещается по Сети и собирает информацию;

— база данных, которая содержит всю информацию, собираемую пауками;

— поисковый механизм, который люди используют как интерфейс для взаимодействия с базой данных.

Принципы работы поисковых систем

По своей сути поисковые системы, каталоги и метапоисковые системы являются специализированными базами данных, в которых хранится информация о других сайтах Internet. От традиционных информационных систем они отличаются тем, что хранят не сами документы, а информацию о документах и ссылки на них. В ответ на запрос пользователя выдается список адресов, где может присутствовать запрашиваемая информация. Обычно поиск производится по словам и фразам, однако в некоторых «продвинутых» системах и каталогах можно составлять весьма сложные запросы на специальном языке.

Для простоты восприятия информации о классификации поисковых систем была составлена следующая схема, изображенная на рисунке 1.1:

Рисунок 1.1 — Схема классификации поисковых систем.

Ранжирование по группа производилось по следующим признакам: форма и способ занесения информации о сайтах и возможности, предоставляемые для нахождения необходимой информации.

В самую обширную зону, А входят сайты с примитивными каталогами. Сайты в этих каталогах либо вообще не сортированы, либо сортировка производится по нескольким общим группам.

В каталогах (зона В) информация о сайтах Internet, так же как в подборках, упорядочена по категориям специально разработанного дерева-рубрикатора, но, в отличие от предыдущего случая, в них имеются механизмы поиска информации по запросам. В основную массу каталогов информация заносится авторами сайтов, сообщающими о себе при регистрации необходимые сведения. Как правило, работа поисковых механизмов ограничивается поиском лишь в кратких аннотациях сайтов.

Особого внимания заслуживают современные каталоги (зона С), отличающиеся расширенной, а иногда и полной индексацией содержимого сайтов и мощными механизмами контекстного поиска в индексных базах.

Основное отличие поисковых систем (зона D) от каталогов — автоматический «робот», или «паук», который постоянно сканирует Internet, ищет в нем новые сайты, накапливает эту информацию в индексных файлах базы данных. Информация в Internet-каталоги, так же как в традиционные библиотечные, заносится либо авторами новых сайтов, либо обслуживающим персоналом каталога. Пользование поисковыми системами и каталогами абсолютно бесплатно, вот почему в настоящее время это самый доступный и демократичный вид информационных ресурсов.

Средства поиска и структурирования, иногда называемые поисковыми механизмами, используются для того, чтобы помочь людям найти информацию, в которой они нуждаются. Средства поиска типа агентов, пауков, кроулеров и роботов используются для сбора информации о документах, находящихся в Сети Интернет. Это специальные программы, которые занимаются поиском страниц в Сети, извлекают гипертекстовые ссылки на этих страницах и автоматически индексируют информацию, которую они находят для построения базы данных. Каждый поисковый механизм имеет собственный набор правил, определяющих, как собирать документы. Некоторые следуют за каждой ссылкой на каждой найденной странице и затем, в свою очередь, исследуют каждую ссылку на каждой из новых страниц, и так далее. Некоторые игнорируют ссылки, которые ведут к графическим и звуковым файлам, файлам мультипликации; другие игнорируют ссылки к ресурсам типа баз данных WAIS; другие проинструктированы, что нужно просматривать прежде всего наиболее популярные страницы.

Агенты — самые «интеллектуальные» из поисковых средств. Они могут делать больше, чем просто искать: они могут выполнять даже транзакции от Вашего имени. Уже сейчас они могут искать сайты специфической тематики и возвращать списки сайтов, отсортированных по их посещаемости. Агенты могут обрабатывать содержание документов, находить и индексировать другие виды ресурсов, не только страницы. Они могут также быть запрограммированы для извлечения информации из уже существующих баз данных. Независимо от информации, которую агенты индексируют, они передают ее обратно базе данных поискового механизма.

Общий поиск информации в Сети осуществляют программы, известные как пауки. Пауки сообщают о содержании найденного документа, индексируют его и извлекают итоговую информацию. Также они просматривают заголовки, некоторые ссылки и посылают проиндексированную информацию базе данных поискового механизма.

Кроулеры просматривают заголовки и возвращают только первую ссылку.

Роботы могут быть запрограммированы так, чтобы переходить по различным ссылкам различной глубины вложенности, выполнять индексацию и даже проверять ссылки в документе. Из-за их природы они могут застревать в циклах, поэтому, проходя по ссылкам, им нужны значительные ресурсы Сети. Однако, имеются методы, предназначенные для того, чтобы запретить роботам поиск по сайтам, владельцы которых не желают, чтобы они были проиндексированы.

Агенты извлекают и индексируют различные виды информации. Некоторые, например, индексируют каждое отдельное слово во встречающемся документе, в то время как другие индексируют только наиболее важных 100 слов в каждом, индексируют размер документа и число слов в нем, название, заголовки и подзаголовки и так далее. Вид построенного индекса определяет, какой поиск может быть сделан поисковым механизмом и как полученная информация будет интерпретирована.

Агенты могут также перемещаться по Интернет и находить информацию, после чего помещать ее в базу данных поискового механизма. Администраторы поисковых систем могут определить, какие сайты или типы сайтов агенты должны посетить и проиндексировать. Проиндексированная информация отсылается базе данных поискового механизма так же, как было описано выше.

Люди могут помещать информацию прямо в индекс, заполняя особую форму для того раздела, в который они хотели бы поместить свою информацию. Эти данные передаются базе данных.

Когда кто-либо хочет найти информацию, доступную в Интернет, он посещает страницу поисковой системы и заполняет форму, детализирующую информацию, которая ему необходима. Здесь могут использоваться ключевые слова, даты и другие критерии. Критерии в форме поиска должны соответствовать критериям, используемым агентами при индексации информации, которую они нашли при перемещении по Сети.

База данных отыскивает предмет запроса, основанный на информации, указанной в заполненной форме, и выводит соответствующие документы, подготовленные базой данных. Чтобы определить порядок, в котором список документов будет показан, база данных применяет алгоритм ранжирования. В идеальном случае, документы, наиболее релевантные пользовательскому запросу будут помещены первыми в списке. Различные поисковые системы используют различные алгоритмы ранжирования, однако, основные принципы определения релевантности следующие:

1. Количество слов запроса в текстовом содержимом документа (т.е. в html-коде).

2. Тэги, в которых эти слова располагаются.

3. Местоположение искомых слов в документе.

4. Удельный вес слов, относительно которых определяется релевантность, в общем количестве слов документа. Эти принципы применяются всеми поисковыми системами. А представленные ниже используются некоторыми, но достаточно известными (вроде AltaVista, HotBot).

5. Время — как долго страница находится в базе поискового сервера. Поначалу кажется, что это довольно бессмысленный принцип. Но, если задуматься, как много существует в Интернете сайтов, которые живут максимум месяц. Если же сайт существует довольно долго, это означает, что владелец весьма опытен в данной теме и пользователю больше подойдет сайт, который пару лет вещает миру о правилах поведения за столом, чем тот, который появился неделю назад с этой же темой.

6. Индекс цитируемости — как много ссылок на данную страницу ведет с других страниц, зарегистрированных в базе поисковика.

База данных выводит ранжированный подобным образом список документов с HTML и возвращает его человеку, сделавшему запрос. Различные поисковые механизмы также выбирают различные способы показа полученного списка — некоторые показывают только ссылки; другие выводят ссылки с первыми несколькими предложениями, содержащимися в документе или заголовок документа вместе со ссылкой.

Когда происходит переход по ссылке к одному из документов, который интересует пользователя, этот документ запрашивается у того сервера, на котором он находится [7, с. 20].

Алгоритмы поиска

Как уже говорилось, применяемые поисковиками алгоритмы являются их ноу-хау. Рассмотрим некоторые закономерности, которые используются при разработке алгоритмов и предшествующему их применению анализу текста.

Некоторые из этих закономерностей были подмечены Джорджем Зипфом (George К. Zipf); он опубликовал свои законы в 1949 году. Пять лет спустя знаменитый математик Беноит Мандлеброт (Benoit Mandlebrot) внес небольшие изменения в формулы Зипфа. добившись более точного соответствия теории практике. Хотя некоторые исследователи и подвергают исследования Зипфа острой критике, без учета подмеченных им закономерностей сегодня не способна работать ни одна система автоматического поиска информации.

Зипф заметил, что длинные слова встречаются в тексте реже, чем короткие (по-видимому, это как-то связано с природной ленью человека и вообще любого живого существа). На основе этой закономерности Зипф вывел два закона.

Первый из них связывает частот) появления того или иного слова в каком-то тексте (она называется частота вхождения слова) с рангом этой частоты.

Если к какому-либо достаточно большому тексту составить список всех используемых в нем слов, а затем проранжировать эти слова-расположить их в порядке убывания частоты вхождения в данном тексте и пронумеровать в возрастающем порядке,-то для любого слова произведение его порядкового номера в этом списке (ранга) и частоты его вхождения в тексте будет величиной постоянной

В математике такая зависимость отображается гиперболой. Отсюда, в частности, следует, что, если наиболее распространенное слово встречается в тексте 100 раз, то следующее по распространенности встретится не 99 и не 90, а примерно 50 раз (статистика не гарантирует точных цифр).

Это также означает, что самое популярное слово в английском языке (the) употребляется в 10 раз чаще, чем слово, стоящее на десятом месте, в 100 раз чаще, чем сотое, и в 1000 раз чаще, чем тысячное.

Значение вышеупомянутой постоянной в разных языках различно, но внутри одной языковой группы она остается неизменной. Так, например, для английских текстов постоянная Зипфа равна приблизительно 0,1. Для русского языка постоянная Зипфа равна примерно 0,06−0,07.

Второй закон Зипфа констатирует, что частота и количество слов, входящих в текст с этой частотой, связаны между собой. Если построить график, отложив по одной оси (оси X) частоту вхождения слова, а по другой (оси Y)-количество слов, входящих в текст с данной частотой, то получившаяся кривая будет сохранять свои параметры для всех без исключения созданных человеком текстов.

Зипф считал, что его законы универсальны. Они применимы не только к текстам. В аналогичную форму выливается, например, зависимость между количеством городов и чистом проживающих в них жителей. Характеристики популярности узлов интернет также отвечают законам Зипфа.

Многие исследования показывают, что законам Зипфа подчинены также и запросы работников различных организаций к Web-пространству. Следовательно, работники чаще всего посещают небольшое количество сайтов, при этом достаточно большое количество остальных Web-ресурсов посещается лишь один-два раза.

С другой стороны, каждый Web-сайт получает большую часть посетителей, пришедших по гиперссылкам из небольшого количества сайтов, а из всего остального Web-пространства на него приходит лишь небольшая часть посетителей. Таким образом, объем входящего трафика от ссылающихся Web-сайтов также подчиняется распределению Зипфа.

Не исключено, что в законах отражается «человеческое» происхождение объекта. Джон Клайнберг из Корнеллского университета первым предложил способ фильтрации информации, позволяющий выявлять наиболее актуальные для каждого конкретного момента времени проблемы, обозначенные в текстах. Этот способ базируется на анализе больших объемов текстовой информации. Когда происходит какое-либо важное событие, о нем начинают активно писать, что приводит к своеобразным «скачкам» в частоте употребления тех или иных слов.

Клайнберг разработал алгоритм, позволяющий анализировать частоту использования того или иного слова, т. е. выполнять ранжирование слов по частоте вхождения. На выходе алгоритм представляет собой рейтинг слов, на основании которого можно делать выводы о популярности той или иной темы и производить сортировку информации.

Чтобы испытать свою разработку, ученый решил проанализировать тексты всех президентских докладов о положении в США (State of the Union addresses) начиная с 1790 года. В итоге получилось, что в период Войны за независимость американских колоний часто употреблялись слова militia («ополчение») и British («британский»), а в период с 1947 по 1959 годы наблюдался «скачок» в использовании слова atomic («атомный»). Таким образом, ученому удалось доказать работоспособность системы.

Использование закона Зипфа поисковыми машинами

Для того чтобы ответить на этот вопрос, воспользуемся первым законом Зипфа и построим график зависимости ранга от частоты. Как уже упоминалось, его форма всегда примерно одинакова.

Можно предположить, что наиболее значимые для текста слова лежат в средней части представленного графика. Оно и понятно: слова, которые встречаются слишком часто,-это предлоги, местоимения и т. д. (в английском, немецком и некоторых других языках-еще и артикли). Редко встречающиеся слова также в большинстве случаев не несут особого смыслового значения, хотя иногда, наоборот, весьма важны для текста (об этом будет сказано чуть ниже). Каждая поисковая система решает, какие слова отнести к наиболее значимым, по-своему, руководствуясь общим объемом текста, частотными словарями и т. п. Если к числу значимых слов будут отнесены слишком многие, важные термины будут забиты «шумом» случайных слов. Если диапазон значимых слов будет установлен слишком узким, за его пределами окажутся термины, несущие основную смысловую нагрузку.

Для того чтобы безошибочно сузить диапазон значимых слов, создается словарь «бесполезных» слов, так называемых стоп-слов (а словарь, соответственно, называется стоп-лист). Например, для английского текста стоп-словами станут артикли и предлоги the, a, an, in, to, of, and, that… и др. Для русского текста в стоп-лист могли бы быть включены все предлоги, частицы и личные местоимения: на, не, для, это, я, ты, он, она и др.

Исключение стоп-слов из индекса ведет к его существенному сокращению и повышению эффективности работы. Однако некоторые запросы, состоящие только из стоп-слов (типа «to be or not to be»), в этих случаях уже не пройдут. Неудобство вызывают и некоторые случаи полисемии (многозначности слова в зависимости от контекста). Например, в одних случаях английское слово «can» как вспомогательный глагол должно быть включено в список стоп-слов, однако как существительное оно часто несет большую содержательную нагрузку.

Но поисковая машина оперирует не с одним документом, а с их огромным количеством. Допустим, нас интересуют статьи академика Вернадского. Если бы поисковая машина оценивала частоту вхождения слова «Вернадский» по вышеописанному алгоритму, эта частота была бы близка к нулю, названное слово не вошло бы в число значимых и документы, содержащие это слово, упоминались бы в конце результатов поиска (а документы-аутсайдеры ни один нормальный пользователь не просматривает). Чтобы такого не произошло, поисковые машины используют параметр, который называется инверсная частота термина. Значение этого параметра тем меньше, чем чаще слово встречается в документах базы данных. На основе этого параметра вычисляют весовой коэффициент, отражающий значимость того или иного термина. Часто встречающееся слово (например, слово иногда) имеет близкий к нулевому весовой коэффициент, слово же Вернадский-напротив, весьма высокий.

Современная поисковая машина может вычислять весовые коэффициенты слов с учетом местоположения термина внутри документа, взаимного расположения терминов, морфологических особенностей термина и т. п. В качестве терминов могут выступать не только отдельные слова, но и словосочетания. Такого рода «математический анализ» позволяет поисковой машине с высокой точностью распознать суть текста.

Пространственно-векторная модель поисковой системы

Базы данных поисковых машин могут быть устроены по-разному. Один из вариантов-пространственно-векторная модель. Она позволяет получить результат, хорошо согласующийся с запросом даже в том случае, если в найденном документе не оказывается одного или нескольких введенных пользователем ключе-вых слон, но при этом его (документа) смысл все же соответствует запросу. Такой результат достигается благодаря тому, что все документы базы данных размещаются в воображаемом многомерном пространстве (с размерностью выше трех, представить которое весьма трудно). Координаты каждого документа в этом пространстве зависят от содержащихся в нем терминов (от их весовых коэффициентов, положения внутри документа, от «расстояния» между терминами и т. п.). В результате оказывается, что документы с похожим набором терминов располагаются в этом пространстве поблизости. Получив запрос, поисковая система удаляет лишние слова, выделяет значимые термины, вычисляет вектор запроса в пространстве документов и выдает ссылки на документы, попавшие в определенную область пространства.

В пространственно-векторной модели термины «взаимодействуют» друг с другом, что повышает релевантность найденных документов запросу пользователя. Поисковая машина, работающая в соответствии с такой моделью, лучше воспринимает запросы на естественном языке, чем машина, воспринимает запросы на естественном языке, чем машина, использующая более привычную «матричную» модель (в которой просто составляется матрица «термины-документы»; если в документе упоминается какой-то термин, в матрице проставляется число, учитывающее его весовой коэффициент, не упоминается-ставится ноль).

Схема работы каждой поисковой системы держится в секрете. Выше было изложено в весьма упрощенной форме лишь основы алгоритма работы поисковой системы. В реальности механизм индексации и структура базы данных ПС значительно сложнее. Но и сказанного вполне достаточно для того, чтобы при формулировке запросов стараться выбирать слова, наиболее точно характеризующие предмет поиска[10].

1.5 Поисковые роботы

За последние годы Всемирная паутина стала настолько популярной, что сейчас Интернет является одним из основных средств публикации информации. Когда размер Сети вырос из нескольких серверов и небольшого числа документов до огромных пределов, стало ясно, что ручная навигация по значительной части структуры гипертекстовых ссылок больше не представляется возможной, не говоря уже об эффективном методе исследования ресурсов.

Эта проблема побудила исследователей Интернет на проведение экспериментов с автоматизированной навигацией по Сети, названной «роботами». Веб-робот — это программа, которая перемещается по гипертекстовой структуре Сети, запрашивает документ и рекурсивно возвращает все документы, на которые данный документ ссылается. Эти программы также иногда называют «пауками», «странниками», или «червями» и эти названия, возможно, более привлекательны, однако, могут ввести в заблуждение, поскольку термин «паук» и «странник» создает ложное представление, что робот сам перемещается, а термин «червь» мог бы подразумевать, что робот еще и размножается подобно интернетовскому вирусу-червю. В действительности, роботы реализованы как простая программная система, которая запрашивает информацию из удаленных участков Интернет, используя стандартные сетевые протоколы.

Использование поисковых роботов

Роботы могут использоваться для выполнения множества полезных задач, таких как статистический анализ, обслуживание гипертекстов, исследования ресурсов или зазеркаливания страниц. Рассмотрим эти задачи подробнее.

Статистический анализ

Первый робот был создан для того, чтобы обнаружить и посчитать количество веб серверов в Сети. Другие статистические вычисления могут включать среднее число документов, приходящихся на один сервер в Сети, пропорции определенных типов файлов на сервере, средний размер страницы, степень связанности ссылок и т. д.

Обслуживание гипертекстов

Одной из главных трудностей в поддержании гипертекстовой структуры является то, что ссылки на другие страницы могут становиться «мертвыми ссылками» в случае, когда страница переносится на другой сервер или совсем удаляется. На сегодняшний день не существует общего механизма, который смог бы уведомить обслуживающий персонал сервера, на котором содержится документ со ссылками на подобную страницу, о том, что она изменилась или вообще удалена. Некоторые серверы, например, CERN HTTPD, будут регистрировать неудачные запросы, вызванные мертвыми ссылками наряду с рекомендацией относительно страницы, где обнаружена мертвая ссылка, предусматривая что данная проблема будет решаться вручную. Это не очень практично, и в действительности авторы документов обнаруживают, что их документы содержат мертвые ссылки лишь тогда, когда их извещают непосредственно, или, что бывает очень редко, когда пользователь сам уведомляет их по электронной почте.

Робот типа MOMSPIDER, который проверяет ссылки, может помочь автору документа в обнаружении подобных мертвых ссылок, и также может помогать в обслуживании гипертекстовой структуры. Также роботы могут помочь в поддержании содержания и самой структуры, проверяя соответствующий HTML-документ, его соответствие принятым правилам, регулярные модернизации, и т. д., но это обычно не используется. Возможно, данные функциональные возможности должны были бы быть встроены при написании окружающей среды HTML-документа, поскольку эти проверки могут повторяться в тех случаях, когда документ изменяется, и любые проблемы при этом могут быть решены немедленно.

Зазеркаливание

Зазеркаливание — популярный механизм поддержания FTP архивов. Зеркало рекурсивно копирует полное дерево каталогов по FTP, и затем регулярно перезапрашивает те документы, которые изменились. Это позволяет распределить загрузку между несколькими серверами, успешно справиться с отказами сервера и обеспечить более быстрый и более дешевый локальный доступ, так же как и автономный доступ к архивам. В Сети Интернет зазеркаливание может быть осуществлено с помощью робота, однако на время написания этой статьи никаких сложных средств для этого не существовало. Конечно, существует несколько роботов, которые восстанавливают поддерево страниц и сохраняют его на локальном сервере, но они не имеют средств для обновления именно тех страниц, которые изменились. Вторая проблема — это уникальность страниц, которая состоит в том, что ссылки в скопированных страницах должны быть перезаписаны там, где они ссылаются на страницы, которые также были зазеркалены и могут нуждаться в обновлении. Они должны быть изменены на копии, а там, где относительные ссылки указывают на страницы, которые не были зазеркалены, они должны быть расширены до абсолютных ссылок. Потребность в механизмах зазеркаливания по причинам показателей производительности намного уменьшается применением сложных кэширующих серверов, которые предлагают выборочную модернизацию, что может гарантировать, что кэшированный документ не обновился, и в значительной степени самообслуживается. Однако, ожидается, что средства зазеркаливания в будущем будут развиваться должным образом.

Исследование ресурсов

Возможно, наиболее захватывающее применение роботов — использование их при исследовании ресурсов. Там, где люди не могут справиться с огромным количеством информации, довольно возможность переложить всю работу на компьютер выглядит довольно привлекательно. Существует несколько роботов, которые собирают информацию в большей части Интернет и передают полученные результаты базе данных. Это означает, что пользователь, который ранее полагался исключительно на ручную навигацию в Сети, теперь может объединить поиск с просмотром страниц для нахождения нужной ему информации. Даже если база данных не содержит именно того, что ему нужно, велика вероятность того, что в результате этого поиска будет найдено немало ссылок на страницы, которые, в свою очередь, могут ссылаться на предмет его поиска.

Второе преимущество состоит в том, что эти базы данных могут автоматически обновляться за определенный период времени так, чтобы мертвые ссылки в базе данных были обнаружены и удалены, в отличие от обслуживания документов вручную, когда проверка часто является спонтанной и не полной. Использование роботов для исследования ресурсов будет обсуждаться ниже.

Комбинированное использование

Простой робот может выполнять более чем одну из вышеупомянутых задач. Например робот RBSE Spider выполняет статистический анализ запрошенных документов и обеспечивает ведение базы данных ресурсов. Однако, подобное комбинированное использование встречается, к сожалению, весьма редко.

Повышение затрат и потенциальные опасности при использовании поисковых роботов

Использование роботов может дорого обойтись, особенно в случае, когда они используются удаленно в Интернете. В этом разделе видно, что роботы могут быть опасны, так как они предъявляют слишком высокие требования к Сети.

Сетевой ресурс и загрузка сервера

Роботы требуют значительной пропускной способности канала сервера. Во-первых роботы работают непрерывно в течение длительных периодов времени, часто даже в течение месяцев. Чтобы ускорить операции, многие роботы делают параллельные запросы страниц с сервера, ведущие в последствии к повышенному использованию пропускной способности канала сервера. Даже удаленные части Сети могут чувствовать сетевую нагрузку на ресурс, если робот делает большое количество запросов за короткий промежуток времени. Это может привести к временной нехватке пропускной способности сервера для других пользователей, особенно на серверах с низкой пропускной способностью, поскольку Интернет не имеет никаких средств для балансирования нагрузки в зависимости от используемого протокола.

Традиционно Интернет воспринимался как «свободный», поскольку индивидуальные пользователи не должны были платить за его использование. Однако теперь это поставлено под сомнение, так как особенно корпоративные пользователи платят за издержки, связанные с использованием Сети. Компания может чувствовать, что ее услуги (потенциальным) клиентам стоят оплаченных денег, а страницы, автоматически переданные роботам — нет.

Помимо предъявления требований к Сети, робот также предъявляет дополнительные требования к самому серверу. В зависимости от частоты, с которой он запрашивает документы с сервера, это может привести к значительной загрузке всего сервера и снижению скорости доступа других пользователей, обращающихся к серверу. К тому же, если главный компьютер используется также для других целей, это может быть вообще неприемлемо. В качестве эксперимента автор управлял моделированием 20 параллельных запросов от своего сервера, функционирующего как Plexus сервер на Sun 4/330. Несколько минут машину, замедленную использованием паука, вообще невозможно было использовать. Этот эффект можно почувствовать даже последовательно запрашивая страницы.

Все это показывает, что нужно избегать ситуаций с одновременным запросом страниц. К сожалению, даже современные браузеры (например, Netscape) создают эту проблему, параллельно запрашивая изображения, находящиеся в документе. Сетевой протокол HTTP оказался неэффективным для подобных передач и как средство борьбы с подобными эффектами сейчас разрабатываются новые протоколы.

Обновление документов

Как уже было упомянуто, базы данных, создаваемые роботами, могут автоматически обновляться. К сожалению, до сих пор не имеется никаких эффективных механизмов контроля за изменениями, происходящими в Сети. Более того, нет даже простого запроса, который мог бы определить, которая из ссылок была удалена, перемещена или изменена. Протокол HTTP обеспечивает механизм «If-Modified-Since», посредством которого агент пользователя может определить время модификации кэшированного документа одновременно с запросом самого документа. Если документ был изменен, тогда сервер передаст только его содержимое, так как этот документ уже был прокэширован.

Это средство может использоваться роботом только в том случае, если он сохраняет отношения между итоговыми данными, которые извлекаются из документа: это сама ссылка и отметка о времени, когда документ запрашивался. Это ведет к возникновению дополнительных требований к размеру и сложности базы данных и широко не применяется.

Роботы / агенты клиента

Загрузка Сети является особой проблемой, связанной с применением категории роботов, которые используются конечными пользователями и реализованы как часть веб-клиента общего назначения (например, Fish Search и tkWWW робот). Одной из особенностей, которая является обычной для этих роботов, является способность передавать обнаруженную информацию поисковым системам при перемещении по Сети. Это преподносится как усовершенствование методов исследования ресурсов, так как запросы к нескольким удаленным базам данных осуществляются автоматически. Однако, по мнению автора, это неприемлемо по двум причинам. Во-первых, операция поиска приводит к большей загрузке сервера, чем даже простой запрос документа, поэтому обычному пользователю могут быть причинены значительные неудобства при работе на нескольких серверах с большими издержками, чем обычно. Во-вторых, ошибочно предполагать, что одни и те же ключевые слова при поиске одинаково релевантны, синтаксически правильны, не говоря уже об оптимальности для различных баз данных, и диапазон баз данных полностью скрыт от пользователя. Например, запрос «Форд и гараж «мог бы быть послан базе данных, хранящей литературу 17-ого столетия, базе данных, которая не поддерживает булевские операторы или базе данных, которая определяет, что запросы относительно автомобилей должны начаться со слова «автомобиль: «. И пользователь даже не знает это.

Другой опасный аспект использования клиентского робота заключается в том, что как только он был распространен по Сети, никакие ошибки уже не могут быть исправлены, не могут быть добавлены никакие знания проблемных областей, и никакие новые эффективные свойства не могут его улучшить, как не каждый пользователь впоследствии будет модернизировать этого робота самой последней версией.

Наиболее опасный аспект, однако — большое количество возможных пользователей роботов. Некоторые люди, вероятно, будут использовать такое устройство здраво, то есть ограничиваться некоторым максимумом ссылок в известной области Сети и в течение короткого периода времени, но найдутся и люди, которые злоупотребят им из-за невежества или высокомерия. По мнению автора, удаленные роботы не должны передаваться конечным пользователям, и к счастью, до сих пор удавалось убедить, по крайней мере, некоторых авторов роботов не распространять их открыто.

Даже не учитывая потенциальную опасность клиентских роботов, возникает этический вопрос: где использование роботов может быть полезно всему Интернет-сообществу для объединения всех доступных данных, а где они не могут быть применены, поскольку принесут пользу только одному пользователю.

" Интеллектуальные агенты" и «цифровые помощники», предназначенные для использования конечным пользователем, который ищет информацию в Интернет, являются в настоящее время популярной темой исследований в компьютерной науке, и часто рассматриваются как будущее Сети. В то же время это действительно может иметь место, и уже очевидно, что автоматизация неоценима для исследований ресурсов, хотя требуется проводить еще больше исследований для того, чтобы их сделать их использование эффективным. Простые управляемые пользователем роботы очень далеки от интеллектуальных сетевых агентов: агент должен иметь некоторое представление о том, где найти определенную информацию (то есть какие услуги использовать) вместо того, чтобы искать ее вслепую. Рассмотрим ситуацию, когда человек ищет книжный магазин; он использует «Желтые страницы» для области, в которой он проживает, находит список магазинов, выбирает из них один или несколько, и посещает их. Клиентский робот шел бы во все магазины в области, спрашивая о книгах. В Сети, как и в реальной жизни, это неэффективно в малом масштабе, и совсем должно быть запрещено в больших масштабах.

Плохие программные реализации роботов

Нагрузка на сеть и серверы иногда увеличивается плохой программной реализацией особенно недавно написанных роботов. Даже если протокол и ссылки, посланные роботом, правильны, и робот правильно обрабатывает возвращенный протокол (включая другие особенности вроде переназначения), имеется несколько менее очевидных проблем.

Автор наблюдал, как несколько похожих роботов управляют вызовом его сервера. В то время, как в некоторых случаях негативные последствия были вызваны людьми, использующими свой сайт для испытаний (вместо локального сервера), в остальных случаях стало очевидно, что они были вызваны плохим написанием самого робота. При этом могут произойти повторные запросы страниц в том случае, если нет никаких записей об уже запрошенных ссылках (что является непростительным), или когда робот не распознает, когда несколько ссылок синтаксически эквивалентны, например, где различаются DNS псевдонимы для одного и того же адреса IP, или где ссылки не могут быть обработаны роботом, например «foo/bar/ ./baz.html «является эквивалентным «foo/baz.html» .

Некоторые роботы иногда запрашивают документы типа GIF и PS, которые они не могут обработать и поэтому игнорируют.

Другая опасность состоит в том, что некоторые области Сети являются почти бесконечными. Например, рассмотрим сценарий, который возвращает страницу со ссылкой на один уровень, расположенный ниже. Он начнет, например, с «/cgi-bin/pit / «, и продолжит с «/cgi-bin/pit/a / «, «/cgi-bin/pit/a/a / «, и т. д. Поскольку такие ссылки могут заманить в робота в ловушку, их часто называют «черными дырами» .

Проблемы при каталогизации информации

Бесспорен тот факт, что базы данных, наполняемые роботами, популярны. Автор непосредственно регулярно использует такие базы данных для нахождения нужных ему ресурсов. Однако, имеется несколько проблем, которые ограничивают применение роботов для исследования ресурсов в Сети. Одна из них заключается в том, что здесь находится слишком много документов, и все они постоянно динамически изменяются.

Одной из мер эффективности подхода к поиску информации является «отзыв» (recall), содержащий информацию о всех релевантных документах, которые были найдены. Брайен Пинкертон утверждает, что отзыв в индексирующих системах Интернет является вполне приемлемым подходом, так как обнаружение достаточно релевантных документов не проблема. Однако, если сравнивать все множество информации, доступной в Интернет, с информацией в базе данных, созданной роботом, то отзыв не может быть слишком точным, поскольку количество информации огромно и она очень часто изменяется. Так что практически база данных может не содержать специфического ресурса, который доступен в Интернет в данный момент, и таких документов будет множество, поскольку Сеть непрерывно растет.

Определение роботом, какую информацию включать / исключать

Робот не может автоматически определить, была ли данная страница в Сети включена в его индекс. К тому же веб-сервера в Интернет могут содержать документы, которые являются релевантными только для локального контекста, документы, которые существуют временно, и т. д. На практике роботы сохраняют почти всю информацию о том, где они побывали. Заметьте, что, даже если робот смог определить, должна ли указанная страница быть исключена из его базы данных, он уже понес накладные расходы на запрос самого файла, а робот, который решает игнорировать большой процент документов, очень расточителен. Пытаясь исправить эту ситуацию, Интернет-сообщество приняло «Стандарт исключений для роботов». Этот стандарт описывает использование простого структурированного текстового файла, доступного в известном месте на сервере («/robots.txt») и используемого для того, чтобы определить, какая из частей их ссылок должна игнорироваться роботами. Это средство может быть также использовано для того, чтобы предупредить роботов о черных дырах. Каждому типу роботов можно передавать определенные команды, если известно, что данный робот специализируется в конкретной области. Этот стандарт является свободным, но его очень просто осуществить и в нем имеется значительное давление на роботов с попыткой их подчинения.

Формат файла /robots.txt.

Файл /robots.txt предназначен для указания всем поисковым роботам индексировать информационные сервера так, как определено в этом файле, т. е. только те директории и файлы сервера, которые НЕ описаны в /robots.txt. Это файл должен содержать 0 или более записей, которые связаны с тем или иным роботом (что определяется значением поля agent_id), и указывают для каждого робота или для всех сразу что именно им НЕ НАДО индексировать. Тот, кто пишет файл /robots.txt, должен указать подстроку Product Token поля User-Agent, которую каждый робот выдает на HTTP-запрос индексируемого сервера. Например, нынешний робот Lycos на такой запрос выдает в качестве поля User-Agent:

Lycos_Spider_(Rex)/1.0 libwww/3.1

Если робот Lycos не нашел своего описания в /robots.txt — он поступает так, как считает нужным. При создании файла /robots.txt следует учитывать еще один фактор — размер файла. Поскольку описывается каждый файл, который не следует индексировать, да еще для многих типов роботов отдельно, при большом количестве не подлежащих индексированию файлов размер /robots.txt становится слишком большим. В этом случае следует применять один или несколько следующих способов сокращения размера /robots.txt:

— указывать директорию, которую не следует индексировать, и, соответственно, не подлежащие индексированию файлы располагать именно в ней

— создавать структуру сервера с учетом упрощения описания исключений в /robots.txt

— указывать один способ индексирования для всех agent_id

— указывать маски для директорий и файлов

Записи (records) файла /robots.txt

Общее описание формата записи.

Uer-Agent: [ [ WS ]+ agent_id ]+ [ [ WS ]*

[# comment string ]? NL]

Disallow: [ [ WS ]+ path_root ]* [ [ WS ]* # comment string ]? NL

[

#comment string NL

Disallow: [ [ WS ]+ path_root ]* [ [ WS ]* # comment string ]? NL

]*

[NL]+

Параметры

Описание параметров, применяемых в записях /robots.txt

— […]+ Квадратные скобки со следующим за ними знаком + означают, что в качестве параметров должны быть указаны один или несколько терминов. Например, после «User-Agent:» через пробел могут быть указаны один или несколько agent_id.

— […]* Квадратные скобки со следующим за ними знаком * означают, что в качестве параметров могут быть указаны ноль или несколько терминов. Например, можно писать или не писать комментарии.

— […]? Квадратные скобки со следующим за ними знаком? означают, что в качестве параметров могут быть указаны ноль или один термин. Например, после «User-Agent: agent_id» может быть написан комментарий.

— .|. означает или то, что до черты, или то, что после.

— WS один из символов — пробел (011) или табуляция (040)

— NL один из символов — конец строки (015), возврат каретки (012) или оба этих символа (Enter)

— User-Agent: ключевое слово (заглавные и прописные буквы роли не играют). Параметрами являются agent_id поисковых роботов.

— Disallow: ключевое слово (заглавные и прописные буквы роли не играют). Параметрами являются полные пути к неиндексируемым файлам или директориям.

— # начало строки комментариев, comment string — собственно тело комментария.

— agent_id любое количество символов, не включающих WS и NL, которые определяют agent_id различных поисковых роботов. Знак * определяет всех роботов сразу.

— path_root любое количество символов, не включающих WS и NL, которые определяют файлы и директории, не подлежащие индексации.

Расширенные комментарии формата.

Каждая запись начинается со строки User-Agent, в которой описывается каким или какому поисковому роботу эта запись предназначается. Следующая строка: Disallow. Здесь описываются не подлежащие индексации пути и файлы. КАЖДАЯ запись ДОЛЖНА иметь как минимум эти две строки (lines). Все остальные строки являются опциями. Запись может содержать любое количество строк комментариев. Каждая строка комментария должна начинаться с символа #. Строки комментариев могут быть помещены в конец строк User-Agent и Disallow. Символ # в конце этих строк иногда добавляется для того, чтобы указать поисковому роботу, что длинная строка agent_id или path_root закончена. Если в строке User-Agent указано несколько agent_id, то условие path_root в строке Disallow будет выполнено для всех одинаково. Ограничений на длину строк User-Agent и Disallow нет. Если поисковый робот не обнаружил в файле /robots.txt своего agent_id, то он игнорирует /robots.txt.

Если не учитывать специфику работы каждого поискового робота, можно указать исключения для всех роботов сразу. Это достигается заданием строки

User-Agent: *

Если поисковый робот обнаружит в файле /robots.txt несколько записей с удовлетворяющим его значением agent_id, то робот волен выбирать любую из них.

Каждый поисковый робот будет определять абсолютный URL для чтения с сервера с использованием записей /robots.txt. Заглавные и строчные символы в path_root ИМЕЮТ значение.

Пример:

User-Agent: *

Disallow: /

User-Agent: Lycos

D isallow: /cgi-bin/ /tmp/

В примере 1 файл /robots.txt содержит две записи. Первая относится ко всем поисковым роботам и запрещает индексировать все файлы. Вторая относится к поисковому роботу Lycos и при индексировании им сервера запрещает директории /cgi-bin/ и /tmp/, а остальные — разрешает. Таким образом сервер будет проиндексирован только системой Lycos.

Определение порядка перемещения по Сети

Определение того, как перемещаться по Сети является относительной проблемой. Учитывая, что большинство серверов организовано иерархически, при первом перемещении вширь по ссылкам от вершины на ограниченной глубине вложенности ссылок, более вероятно быстрее найти набор документов с более высоким уровнем релевантности и услуг, чем при перемещении в глубину вложенности ссылок, и поэтому этот метод намного предпочтительнее для исследования ресурсов. Также при перемещении по ссылкам первого уровня вложенности более вероятно найти домашние страницы пользователей с ссылками к другим, потенциально новым, серверам, и поэтому при этом существует большая вероятность найти новые сайты.

Подведение итоговых данных

Проиндексировать произвольный документ, находящийся в Сети, очень сложно. Первые роботы просто сохраняли название документа и якоря (anchor) в самом тексте, но новейшие роботы уже используют более продвинутые механизмы и вообще рассматривают полное содержание документа.

Эти методы являются хорошими общими мерами и могут автоматически применяться для всех страниц, но, к сожалению, не могут быть столь же эффективны, как индексация страницы самим ее автором. Язык HTML обеспечивает автора документа средством для того, чтобы присоединить к нему общую информацию. Это средство заключается в определении элемента

, например «. Однако, здесь не определяется никакая семантика для специфических значений атрибутов данного HTML-тэга, что серьезно ограничивает его применение, а поэтому и его полноценность. Это ведет к низкой «точности» относительно общего количества запрошенных документов, которые являются релевантными для конкретного запроса. Включение особенностей типа применения булевских операторов, нахождение весов слов, как это делается в WAIS или обратной связи для релевантности, могут улучшить точность документов, но учитывая, что информация, находящаяся в данный момент в Интернет, чрезвычайно разнообразна, эта проблема продолжает быть серьезной и наиболее эффективные пути ее решения пока не найдены.

1.6 Обзор и рейтинги основных мировых поисковых систем

По данным исследования проводившегося на конец 2009 года доминирующие место в рейтинге стабильно занимает компания Google. В декабре на долю гиганта пришлось 41,3 миллиардов поисковых запросов, это — 62,4% рынка. Второе место (с большим отрывом) у Yahoo! — 8,5 миллиардов запросов, 12,8% рынка и крупнейшего китайского поисковика Baidu.com — 3,4 млрд. запросов, 5,2% рынка. К слову, уверенные позиции последнего связаны с тем, что на территории Китая заблокированы и Google, и Yahoo! [15]

Таблица 1.1

Рейтинг основных мировых поисковых систем

Название поисковой системы

Число запросов, миллионов.

Доля, процентов

Всего в интернете

100,0

Google

62,4

Yahoo!

12,8

Baidu.com

5,2

Microsoft

2,9

NHN Corporation

2,4

eBay

2,2

Time Warner Network

1,6

Ask Network

1,1

Yandex

0,9

Alibaba.com

0,8

Диаграмма 1.1. Рейтинг мировых поисковых систем (2009 год)

Рейтинг основных Российских поисковых систем

На сегодняшний день самой популярной русскоязычной поисковой системой является Яндекс — 62% всех поисковых запросов.

Далее представлена таблица рейтинга пяти наиболее посещаемых систем поиска в России (по данным на март 2011 г.).

Таблица 1.2

Рейтинг основных Российских поисковых систем

Название поисковой

системы

Число запросов, миллионов.

Доля, процентов

Всего в Рунете

22,299

Яндекс

13,825

Google

5,798

Mail.ru

1,338

Rambler

0,78

3,5

Другие

0,557

2,5

Диаграмма 1.2. Рейтинг основных Российских поисковых систем (март 2011 г.)

Обзор основных мировых поисковых систем

На сегодняшний день всемирная сеть Интернет насчитывает огромное множество поисковых систем во всех странах мира, из них всех можно выделить несколько самых крупных и пользующихся наибольшей популярностью среди пользователей:

Google

Лидер поисковых машин Интернета, Google занимает более 60 % мирового рынка, а значит, шесть из десяти находящихся в сети людей обращаются к его странице в поисках информации в Интернете. Сейчас регистрирует ежедневно около 50 миллионов поисковых запросов и индексирует более 8 миллиардов веб-страниц.

Была разработана в 1998 выпускниками Стэндфордского университета Сергеем Брином и Лари Пейджем, которые применили для ранжирования документов технологию PageRank, где одним из ключевых моментов является определение «авторитетности» конкретного документа на основе информации о документах, ссылающихся на него. Говоря общими словами, чем больше документов ссылается на данный документ и чем они авторитетнее, тем более авторитетным данный документ становится. Количественное значение авторитетности документа (другими словами, взвешенное количество ссылок или PageRank) относится к так называемым статическим факторам (то есть независящим от конкретного запроса) и учитывается при определении релевантности документа конкретному запросу как весовой коэффициент. Наряду с этим Google применил для определения релевантности документа не только текст самого документа, но и текст ссылок на него. Эта технология позволила ему обеспечить выдачу довольно релевантных результатов на фоне других поисковиков. Довольно быстро Google стал лидировать в различных опросах по такому показателю, как удовлетворенность пользователей результатами поиска.

Google осуществляет поиск по документам на более чем 35 языках, в том числе русском. В настоящее время многие порталы и специализированные сайты предоставляют услуги поиска информации в Интернете на базе Google, что делает задачу успешного позиционирования сайтов в Google еще более важной. Google проводит переиндексацию своей поисковой базы примерно раз в четыре недели. Во время этого усовершенствования, неофициально называемого Google dance, происходит обновление базы на основе информации, собранной роботами за время, прошедшее с предыдущего усовершенствования, и перерасчет значений PageRank документов. Также существует определенное количество документов с достаточно большим значением PageRank, информация о которых в поисковой базе обновляется ежедневно, однако значение PageRank пересчитывается только во время Google dance. Нормированное значение PageRank для конкретного документа, загруженного в браузер, можно узнать, скачав и установив Google ToolBar — специальную панель инструментов для работы с этим поисковиком. Не смотря на то, что в поисковике имеется форма для бесплатного добавления страницы в базу, Google предпочитает сам находить новые документы по ссылкам с уже известных и не будет индексировать добавленную через форму страницу, если в его базе не найдется ни одной страницы, ссылающейся на нее.

Yahoo

Одна из самых первых Поисковых систем (создана Дэвидом Фило и Джерри Янгом в апреле 1994 года) по сей день остается и самой популярной из них, традиционно сочетая поиск, как по ключевым словам, так и с помощью иерархического дерева разделов.

Нынешнее развитие Yahoo можно определить как движение в он-лайн, интерактивность. Yahoo быстро осваивает эту область Интернет-услуг, но возникает одна проблема: ядро Yahoo! не было на это рассчитано. Не была в 1994 году заложено в него «онлайновая» составляющая, ее «приклеил» Тим Кугл несколькими годами позже. Естественно возникает угроза хакерских атак через эту незащищенную область.

Одно из новшеств поисковой системы Yahoo — панель задач для браузера Firefox,. Этот инструмент помогает пользоваться поиском Yahoo, не заходя на официальный сайт, а лишь используя функциональные кнопки панели.

1 сентября 2005 года поисковик Yahoo, которому принадлежит более 200 миллионов адресов электронной почты по всему миру, анонсировал запуск новой системы поиска текстов, фотографий и других документов, содержащихся в письмах.

Необходимость такого нововведения возникла вслед за увеличением объёма хранимых данных, ведь некоторые пользователи создают целые почтовые архивы. Подгоняемый конкурентом Google и его почтовым сервисом Gmail, Yahoo для хранения почты предлагает отныне 1 гигабайт бесплатного места, или 2 гигабайта по годовому абонементу. «Как только вы получаете возможность хранить больше информации, вам необходимы и расширенные поисковые возможности» , — объясняет Эрик Петерсон, аналитик компании Jupiter Research.

Пользователи поисковой системы Yahoo, в свою очередь, смогут теперь использовать возможности детализированного поиска слов в названии или непосредственно в тексте письма, а также в присоединенных документах, не открывая их. Результат поиска отражается в трёх строках с указанием всех атрибутов. На панели справа отображаются все похожие документы. Найденные фотографии выводятся на экран в уменьшенном виде, что значительно облегчает поиск. Система также учитывает орфографические ошибки, позволяя искать слова лишь по первым буквам.

Для начала Yahoo планирует предложить новую систему небольшому числу американских пользователей, а затем распространить её по всему миру. Со стороны клиентов это не потребует никаких дополнительных усилий. «Когда услуга станет, доступна, в левом верхнем углу страницы вашего почтового ящика появится соответствующий баннер» , — обещает компания Yahoo.

По данным comScore Media Metrix на июль этого года, домену Yahoo принадлежит 219 миллионов адресов электронной почты, что составляет 31,5% мирового рынка, уступая лишь Microsoft с 221 миллионом пользователей сервиса Hotmail (35,5% рынка).

Baidu

Baidu — лидер среди китайских поисковых систем. По количеству обрабатываемых запросов поисковый сайт Байду стоит на 3 месте в мире (3 миллиарда 428 миллионов; с долей в глобальном поиске 5,2%). Хотя компания работает только в единственной стране: Китае! Но точно, что этот рынок растет неистово быстро: Уже в конце года в Китае свыше 170 млн. пользователей займутся поиском информации в Интернете. Аналитик J.P. Морган Дик Вей исходит в своем актуальном анализе из того, что это число вырастет в течение следующих трех, четырех лет до 100 млн. пользователей. Гигантский рынок с экстремально высокими доходами для Baidu. Сравнивают только прибыль, которую Google достигает в США с очень похожей бизнес-моделью.

Обзор основных поисковых систем территории СНГ

Основное отличие русскоязычных поисковых систем от иностранных одно — это то, что глобальные поисковые системы, поддерживающие поиск на русском языке, не поддерживают русскую морфологию. В русскоязычной части сети Интернет работают около двух десятков поисковых систем, но подавляющие большинство пользователей работает лишь с несколькими, подробно остановимся на самых крупных:

Yandex

Яндекс — На сегодня наиболее популярная поисковая система, ежемесячно к ней обращаются более 35 миллионов пользователей Русскоязычной части Интернета. Начала свою работу во второй половине 1997 года учитывая морфологию русского языка. История компании «Яндекс» началась в 1990 году с разработки поискового программного обеспечения в компании «Аркадия». За два года работ были созданы две информационно-поисковые системы — Международная Классификация Изобретений, 4 и 5 редакция, а также Классификатор Товаров и Услуг. Обе системы работали локально под DOS и позволяли проводить поиск, выбирая слова из заданного словаря, с использованием стандартных логических операторов. В1993 году «Аркадия» стала подразделением компании CompTek. В 1993;1994 годы программные технологии были существенно усовершенствованы благодаря сотрудничеству с лабораторией Ю. Д. Апресяна (Институт Проблем Передачи Информации РАН). В частности, словарь, обеспечивающий поиск с учетом морфологии русского языка, занимал всего 300Кб, то есть целиком грузился в оперативную память и работал очень быстро. С этого момента пользователь мог задавать в запросе любые формы слов.

Слово Яндекс придумал за несколько лет до этого один из основных и старейших разработчиков поискового механизма. «Яndex» означает «Языковой index», или, если по-английски, «Yandex» — «Yet Another indexer». За 4 года публичного существования Яndex возникли и другие толкования. Например, если в слове «Index» перевести с английского первую букву («I» — «Я»), получится «Яndex» .

В начале 1996 года был разработан алгоритм построения гипотез. Отныне морфологический разбор перестал быть привязан к словарю — если какого-либо слова в словаре нет, то находятся наиболее похожие на него словарные слова и по ним строится модель словоизменения. В это время Интернет в России только начинался. Еще через полгода стало очевидно, что ничто не отделяет CompTek от создания собственной глобальной поисковой машины. Объем Рунета составлял тогда всего несколько гигабайт. Осенью 1997 года был открыт Yandex.Ru.

Помимо поисковой системы, сегодня Яндекс — огромный портал с целым набором широко используемых сервисов, такими как каталог, Яндекс. деньги, и другие. Официально поисковая машина Yandex.Ru была анонсирована 23 сентября 1997 года на выставке Softool. Основными отличительными чертами Yandex.Ru на тот момент были проверка уникальности документов (исключение копий в разных кодировках), а также ключевые свойства поискового ядра Яндекс, а именно: учет морфологии русского языка (в том числе и поиск по точной словоформе), поиск с учетом расстояния (в том числе в пределах абзаца, точное словосочетание), и тщательно разработанный алгоритм оценки релевантности (соответствия ответа запросу), учитывающий не только количество слов запроса, найденных в тексте, но и «контрастность» слова (его относительную частоту для данного документа), расстояние между словами, и положение слова в документе. Сегодня Яндекс имеет внутри мощный поисковый робот, позволяющий производить поиск по самым различным критериям.

Rambler

Rambler — Старейшая поисковая система российского Интернет, запущена в 1996 году, на сегодня — вторая по популярности с обращением более 25 миллионов посетителей в месяц. Помимо поисковой системы, сегодня Рамблер — один из крупнейших порталов Русскоязычной части Интернета с большим набором широко известных сервисов, таких как каталог Рамблер, Рамблер-почта, Рамблер-ICQ или Рамблер-ТВ. По сути сегодня Рамблер — больше, чем просто поисковая система и набор сервисов, это крупная медиагруппа. Поисковая машина «Рамблер» начала работу в октябре 1996 года, на стартовом этапе содержала всего 100 тысяч документов. «Рамблер» не был первой отечественной поисковой системой, однако в первый год своего существования (когда весь русский веб с приемлемой степенью правдоподобия индексировался «Рамблером», «Апортом», «Русской поисковой машиной», а также шведской и калифорнийской AltaVista) вынес основной груз поисковых запросов. Вторая версия «Рамблера» начала разрабатываться летом 2000 года, в марте нынешнего года приняла достаточно законченные очертания. В нее были введены функции, давно уже имевшиеся в конкурирующих системах. Она учитывает координаты слов, обучена строгой и нечеткой морфологии, связывает поиск с каталогом, в качестве которого используется Top100 (http://top100.rambler.ru/), группирует результаты поиска по сайтам, ищет по числам. Достаточно удачная архитектура продукта позволяет «Рамблер» иметь для поисковика количество серверов в 2 раза меньшее, чем у «Яндекса», и в 3 раза меньшее, чем у «Апорта» .

Апорт Апорт — Третья популярности на сегодня поисковая система с обращением более 16 миллионов посетителей в месяц. Апорт позволяет пользователям осуществлять полнотекстовый поиск документов c учетом морфологии русского языка в запросах. Поисковая система построена на основании новейших достижений в области информационного поиска и использует уникальные алгоритмы сортировки найденных результатов. Разнообразные специализированные поиски (Знакомства, Товары, Новости, Рефераты, MP3 и др.) дают пользователям дополнительные возможности находить различную информацию в Сети. В поисковую машину интегрирован один из крупнейших в Русскоязычной части Интернет каталогов Интернет-ресурсов «Апорт-каталог» .

Поисковая машина «Апорт» была впервые продемонстрирована в феврале 1996 года на пресс-конференции «Агамы» по поводу открытия «Русского клуба». Тогда она искала только по сайту russia.agama.com. Потом она начала искать по четырем, потом по шести серверам… Короче, день рождения и фактический старт системы сильно «размазались» по времени, а официальная презентация «Апорта» состоялась только 11 ноября 1997 года. К тому времени в его базе был проиндексирован первый миллион документов, расположенных на 10 тысячах серверов. Создателем системы выступила компания «Агама» — разработчик программного обеспечения для платформы Windows, главным из которых являлся корректор орфографии «Пропись». Лингвистические разработки «Агамы» использовались при создании поисковой машины, в которой, скажем, в отличие от «Рамблер», изначально учитывалась морфология слов и осуществлялась по желанию клиента проверка орфографии запроса.

Важнейшими свойствами первой версии «Апорта» являлся перевод запроса и результатов поиска на английский язык и обратно, а также реконструкция всех проиндексированных страниц из собственной базы (что означает возможность просмотра страниц, уже несуществующих в оригинале).

Апорт 2000″ стал первой российской поисковой машиной, практически реализовавший две базовых технологии американской поисковой машины Google. Первая — учет «ранга страницы» (Page Rank), который характеризует ее популярность (вычисляется по количеству ссылок на ресурс из внешнего Интернета: вес ссылки с популярного сайта выше, чем вес ссылки с менее популярного; ссылки, включающие слова запроса, имеют больший вес, чем, скажем, слово «здесь»). Вторая — обработка запроса, ориентируясь на HTML-код страницы. В «Апорт 2000» учитывается также вхождение слов запроса в URL. Среди недокументированных особенностей — больший приоритет сайтам, получившим высшую и элитную лигу в каталоге AtRus.

Можно отметить и то, что «Апорт» первым устроил поиск по новостным лентам (какие бы ложные сведения о приоритете «Яндекса» в этом сервисе не распускал в свое время Internet.ru). И, наконец, еще одно первенство «Апорта» — использование платной нулевой строки в выдаче (кстати, «Апорт» первым среди наших поисковиков начал покупать такой сервис у AltaVista, которая за небольшую плату выдавала его ссылку первой при запросе «Russian Search»). Однако в «Апорте» нельзя купить не нулевое, а просто более высокое место для своего сайта в результатах поиска. Пользователи «Апорта» (в отличие завсегдатаев «Яндекса») мало пользуются расширенным поиском (на 8000 загрузок простой страницы приходится 300 вызовов страницы «Расширенный поиск»).

Организация масштабируемости в архитектуре «Апорт 2000» такова, что можно дробить поисковую базу «Апорта» на несколько отдельных баз, каждый маленький «Апорт» работает на своем компьютере. «Апорт 2000» считает, что весь Интернет поделен на фрагменты. После проведения поиска по этим фрагментам, пользователю интегрируется и выдается общий ответ. Добавлять новые маленькие «апортики» можно путем не очень сложной процедуры. В случаях аварий отдельных машин выдаются несколько отличные от штатных интегральные результаты, что можно время от времени наблюдать.

Mail.ru

Национальная почтовая служба Mail.ru — это не только поисковая система, но и один из крупнейших порталов российского Интернета. Ежедневная аудитория Mail.ru — более 5 миллионов пользователей. Общее число регистраций со дня основания около 60 миллионов. Mail.ru — самый быстроразвивающийся российский Интернет-ресурс. Через почтовые ящики Mail.ru ежедневно проходит более 25 миллионов писем. Mail.ru занимает лидирующую позицию среди бесплатных почтовых сервисов, предоставляя своим пользователям почтовый ящик неограниченного размера с защитой от спама и вирусов, переводчиком, проверкой правописания, архивом для хранения фотографий и многое другое.

В 1998;м году программисты, работающие в питерском офисе американской софтверной компании DataArt, создали новое ПО для почтового веб-сервера, которое в дальнейшем предполагалось продавать западным компаниям. Чтобы протестировать сервис, его временно выложили в открытый доступ для российских пользователей, а сервис вдруг стал стремительно набирать популярность.

20 февраля 2001 года произошло слияние двух крупных игроков российского Интернет-рынка, компаний Port.ru и netBridge под брендом Port.ru. В результате объединения родилась компания, которая сразу заняла лидирующие позиции среди российских Интернет — холдингов по доле рынка и охвату аудитории.

Первоочередная задача любой поисковой системы — доставлять людям именно ту информацию, которую они ищут.

Основные характеристики поисковых систем:

1. Полнота

2. Точность

3. Актуальность

4. Скорость поиска

5. Наглядность В состав поисковой системы входят компоненты:

1. Модуль индексирования

2. База данных

3. Поисковый сервер Подводя итог можно сказать что, как правило, несмотря на обилие поисковых систем, пользователь предпочитает обращаться к услугам лишь одной — двух из них (точно также как при обилии газет или новостных сайтов, которые регулярно просматриваются лишь некоторые, привычные и любимые). Самой популярной поисковой системой в мире является Google. Но по оценкам аналитиков, на просторах бывшего СССР чаше используется Яндекс.

1.7 Перспективы дальнейшего развития поисковых систем Новая парадигма поиска состоит не просто в нахождении документов, где можно вычитать интересующую информацию, а в ориентации на конечные факты и новые знания, представляющие определенную ценность. Они могут быть разного рода: первичные сведения, предназначенные для дальнейшего анализа и обработки, какие-то факты (например, данные о возрасте человека или его месте работы, и даже — учитывая технологические возможности интернета — фрагмент его речи или видеоизображение).

Но это ещё не всё. Ценные знания содержатся и в том, что прямо или косвенно относится к искомому объекту. Если говорить о поиске человека, пользователь одновременно может интересоваться его связями, семьей или карьерой. Вместе с тем, необходимо помнить, что не всякая информация общедоступна. При разработке новых моделей поисковых систем требуется внедрение в нее механизма защиты от предоставления сведений, которые могут быть использованы мошенниками в корыстных целях.

Итак, поисковые системы нового поколения должны быстро и четко обрабатывать большой объем данных, отличать факты от данных, обладать механизмами фильтрации информации в зависимости от объектов (понимать разницу между именем Петр и Петровским парком), учитывать историческую хронологию запроса (в запросе о Пугачеве различать знаменитого бунтаря и примадонну), учитывать синонимы и, наконец, обрабатывать полученную информацию с учетом возможностей каналов связи и без предъявления завышенных требований к мощности компьютеров.

То, что интеллектуальный поиск возможен, убеждают успехи в области машинного перевода с одного языка на другой. Любой пользователь интернета знает, что перевод текста с минимальным смысловым анализом гораздо более эффективен, чем просто перевод последовательности иностранных слов. И программы такого уровня, способные осуществлять перевод с сохранением смысла, заложенного в текст, уже есть. А это значит, что схожие по действию механизмы смыслового анализа документов могут применяться в системах поиска информации. Сами же интеллектуальные поисковые системы очень скоро будут доступны любому пользователю Интернета.

Основный и базовый метод поиска сегодня — по образцу, или pattern match. Именно он используется в широкодоступных поисковых системах, таких как Яндекс и Google, и повсеместно распространен. Его главный недостаток для всех очевиден: поисковик выдаёт зашлакованный случайными совпадениями результат, а ссылки на документы не соответствуют контексту запроса.

Использование этого метода превращает поисковую систему в навигационную. Иначе говоря, поисковик не выдает пользователю желаемой информации, он лишь указывает ссылки на сайты, которые содержат ключевые слова. Возможно, пользователь найдет там какие-то нужные данные. Содержимое сайтов индексируется, поиск идет по документам с минимальным учетом комбинаций и, тем более, смысловой нагрузки слов запроса.

Другой популярный метод — поиск по досье. В этой системе возможен ввод запроса в виде фактов или утверждений. Поиск производится по соответствию цели поиска содержанию документа. В результате осуществляется контекстный поиск информации, но с ограниченными возможностями. Дело в том, что базы досье не предназначены для широкого круга пользователей. Сами они имеют ограниченный размер, совокупность внесённых в них данных относительно невелика. Среди доступных ресурсов, использующих такой метод поиска — энциклопедии, справочники по составу сотрудников учреждений, адресные справочники и так далее. Примером использования этого метода может служить система zoominfo.com

Одним из новых веяний в поисковых системах является использование концепции tag cloud.

Следующий аналитический механизм — поиск в информационных массивах группы связанных данных. Пока этот метод должного распространения не получил, хотя является весьма привлекательным и перспективным. Пример использования — LiveJournal MindMap.

Наконец, четвёртый метод — использование фискально-полицейских систем. Поиск производится по специализированным базам адресной, регистрационной и налоговой информации. Этот метод способен обрабатывать огромные массивы данных, но предназначен исключительно для специалистов-аналитиков. Примеры использования — NetMap, Visual Links, программа i2 Analyst’s Notebook и другие.

Пока объединение всех четырёх методов в той или иной степени удалось системам, используемым разведкой и полицией. Но именно этот путь — объединения известных методов — и приведет к появлению общедоступных, мощных и более совершенных поисковых инструментов нового поколения.

Методы усовершенствования поиска Одно из наиболее существенных улучшений поисковых механизмов — обеспечение выдачи релевантных документов. В данном случае под релевантностью понимается соответствие документов смыслу запроса. При этом релевантность может иметь смысл только с точки зрения конкретного пользователя.

Например, если человек хочет снять офис, его интересует непосредственно объявление о сдаче помещения соответствующего формата, а не справка о том, что в Москве их ежегодно арендуется более 5 000 штук. «Идеальным» ответом будет адрес сдаваемого помещения, цена и контакты для связи с арендодателем. Но на данном этапе развития это едва ли возможно.

Чтобы обеспечить соответствие ответов, поисковые машины используют различные пути. Например, Google пытается отслеживать запросы пользователей и запоминать их поведение (то есть учитывать частоту запросов по различным темам). Но в результате выдаются не наиболее релевантные, а модные, популярные или разрекламированные ссылки. Поиск сопутствующей справочной информации в этом случае становится более эффективным, но для нахождения знаний этот метод не годится.

Сейчас уже ведутся опыты по практическому использованию кластерного поиска. Результаты запроса раскладываются по отдельным смысловым группам для того, чтобы понять: что же на самом деле нужно пользователю, какую именно информацию он ищет в интернете.

Еще один подход — поиск с обратной связью. Этот метод напоминает систему мастеров, шаблонов, которые пользователь преодолевает шаг за шагом. Это очень перспективное направление, которое способно обеспечить максимальную релевантность ответа на любой запрос. Но в конце развития этого метода — система жёстко детерминированных меню, не подразумевающая какой-либо гибкости (то есть поиск сводится к вводу простых ответов типа «да / нет», а не менее определённых «и / или»).

Наконец, для обеспечения релевантности ответов используется добавление синонимов к самим запросам перед их выполнением. То есть перед поиском к запросу добавляются схожие по смыслу и разные по форме слова, которые облегчают релевантный поиск.

Второе важное улучшение поисковых систем, которое можно заметить уже сегодня — грамматический разбор запроса и текстов, в которых производится поиск.

При грамматическом анализе запроса фраза разделяется на взаимосвязанные объекты, а не просто на отдельные слова. В результате основным объектом поиска становится знание, ответ на вопрос, а не просто нахождение документов как таковых. То есть ответ на конкретный вопрос становится главной задачей, а вывод ссылок выполняет вспомогательную, иллюстративную функцию.

Сложности разработки Для полного грамматического разбора запроса необходимо произвести лингвистический анализ документов, чтобы получить набор элементарных утверждений (или «фактов») о наличии нужных атрибутов и связей. Это связано с переработкой значительных массивов данных, что и объясняет трудности в реализации этих механизмов.

Ещё одна проблема — формализация запроса. Чтобы точно выполнить запрос, необходимо понять его смысл, цель. В каком виде должны быть представлены знания, чтобы ответы носили универсальный характер. Какого-либо специального языка для представления знаний наука до сих пор не выработала. Поиск в этом направлении ведётся, но перспективы пока остаются туманными.

Пока не решена и проблема визуализации ответов. Интерфейс поисковой системы должен быть максимально простым, но и максимально информативным. Требования предъявляются крайне противоречивые. Это равносильно тому, чтобы попытаться построить мощный персональный компьютер, который бы мог быстро понять и освоить пятилетний ребёнок. Задача трудновыполнимая, но всё же… выполнимая. Ведь когда-то и дистанционный пульт управления телевизором казался невероятно сложным устройством.

Наконец — идентификация объектов. Это самая сложная задача, в решении которой особых успехов пока не достигнуто. Как определить соответствие одного и того же документа (или объекта) к разным группам утверждений. Например, одна и та же веб-страница может содержать информацию о турах, об истории Египта, о гостиницах и так далее. Но при этом поисковые запросы могут касаться только туров, только гостиниц или только информации о стране.

Главное условие, которое отличает существующую систему поиска от поисковой системы нового поколения — это успешное решение именно проблемы идентификации. Его выполнение еще впереди, и не факт, что это произойдет в ближайшем будущем. Но рано или поздно это произойдет.

2. Разработка структуры поисковой системы «Бета-поиск»

2.1 Обоснование выбора инструментария реализации информационной системы Исходя из тематики дипломной работы, создана демонстрационная поисковая машина под названием «Бета-поиск», которая реализует механизм поиска информации во Всемирной Глобальной сети. Структуру данной программы можно условно разделить на 3 части, присущие каждой информационно-поисковой системе в сети Интернет:

— агент, который перемещается по Сети и собирает информацию;

— база данных, которая содержит всю информацию, собираемую агентом;

— поисковый механизм, который используется как интерфейс для взаимодействия пользователя с базой данных (строка поиска и выдача его результатов).

Используемые технические и программные средства Программа «Бета-поиск» написана с использованием языка программирования Object Pascal в визуальной среде программирования Borland Delphi 7.

Delphi — это комбинация нескольких важнейших технологий:

— Высокопроизводительный компилятор в машинный код;

— Объектно-ориентированная модель компонент;

— Визуальное построение приложений из программных прототипов;

— Масштабируемые средства для построения баз данных.

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода.

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты. Еще до компиляции он видит результаты своей работы — после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции получаем код, который исполняется в 10−20 раз быстрее, чем-то же самое, сделанное при помощи интерпретатора. Кроме того, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

Основной упор объектно-ориентированной модели программных компонентов в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать.

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Данная программная среда является визуальной, что позволяет наблюдать за происходящими действиями в момент программирования и производить оформление программы в режиме «реального времени». Приложение имеет 32-разрядную архитектуру. Код программы является платформо-зависимым и разработан для операционных систем семейства Windows.

В процессе разработки использовались стандартные графические и не визуальные компоненты среды Delphi 7.

Для хранения индексов web-страниц разработана база данных средствами Microsoft Access. СУБД Access предназначена для разработки баз данных реляционного типа для локального их использования на персональных компьютерах и для работы с этими базами. В ней предусмотрены все необходимые средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации.

Для подключения базы данных и использовании ее в Delphi задействованы не визуальные компоненты TADOConnection, TADOQuery и TADOTable, основанные на технологии ADO. Технология ADO обеспечивает универсальный способ доступа к гетерогенным источникам данных. Благодаря тому, что функции ADO реализованы на основе интерфейсов OLE DB и СОМ, приложению для доступа к данным не требуется дополнительных библиотек, кроме инсталлированного ADO.

Взаимодействие пользователя с базой данных происходит через интерфейс, работающий на запросах языка SQL. Через данный язык запросов происходит более эффективное взаимодействие с базой данных.

2.2 Проектирование информационно-поисковой системы Схема работы программы Работа программы осуществляется на основной форме. Навигация по функциональным элементам осуществляется с помощью вкладок.

Наиболее удобным способом описания иерархической структуры является графическое представление в виде дерева, в котором представлено взаимодействие функциональных элементов, изображенное на рисунке 2.1. Данный вид представления позволяет легко ознакомиться с работой интерфейса программы, ее функциональными возможностями и взаимодействием элементов.

Рисунок 2.1 — Структура программы.

Описание базы данных Приложение «Бета-поиск» имеет в своем составе базу данных, состоящую из таблицы «Index», назначением которой является хранение и редактирование индексов web-страниц (таблица 2.1).

Таблица 2.1

Таблица Index

Поле

Тип

Дополнительно

Описание

site

Текстовый

Ключевое

Наименование web-страницы

keywords

Поле MEMO

Список ключевых слов, имеющихся на соответствующей web-странице

Rating

Числовой

«Рейтинг» web-страницы, т. е. количество ее запросов

Описание алгоритмов и процедур Программа предоставляет интерфейс к таблице базы данных и стандартные средства для управления данными с помощью компонентов, использующих технологию ADO (Active Data Objects).

Механизм доступа к данным через ADO и многочисленные объекты и интерфейсы реализованы в VCL Delphi в виде набора компонентов, расположенных на странице ADO. Все необходимые интерфейсы, обеспечивающие работу компонентов, объявлены и описаны в файлах OleDB. pas и ADODB. pas в папке Delphi7SourceVcl.

Компонент TADOConnection обеспечивает соединение с источниками данных через провайдеры OLE DB. Компоненты TADOTable и TADOQuery обеспечивают использование наборов записей в приложении. Свойства и методы компонентов позволяют создавать полнофункциональные приложения.

Компонент TADOConnection обеспечивает доступ к хранилищу данных компонентам ADO, инкапсулирующим набор данных Применение этого компонента дает разработчику ряд преимуществ:

— все компоненты доступа к данным ADO обращаются к хранилищу данных через одно соединение;

— возможность напрямую задать объект провайдера соединения;

— доступ к объекту соединения ADO;

— возможность выполнять команды ADO;

— выполнение транзакций;

— расширенное управление соединением при помощи методов-обработчиков событий.

На странице ADO Палитры компонентов Delphi, кроме компонентов соединения есть стандартные компоненты, инкапсулирующие набор данных и адаптированные для работы с хранилищем данных ADO в соответствии с рисунком 2.2. Это компоненты:

TADODataSet-универсальный набор данных;

TАDOtаblе-таблица БД;

TADOQuery-запрос SQL;

TAoostoredProc-хранимая процедура.

Как и положено для компонентов, инкапсулирующих набор данных, их общим предком является класс TDataSet, предоставляющий базовые функции управления набором данных.

Рисунок 2.2 — Иерархия классов наборов данных ADO

Компоненты ADO обладают обычным набором свойств и методов, а необходимый для доступа к данным через ADO механизм наследуют от своего общего предка-класса TCustomADODataSet. Кроме этого, класс TCustomADODataSet содержит ряд общих для всех потомков свойств и методов, рассмотреть которые будет очень полезно. Поэтому сначаларассмотрим класс TCustomADODataSet и только потом перейдем к компонентам ADO.

Компонент TADOTable

Компонент ТАDOTаblе обеспечивает использование в приложениях Delphi таблиц БД, подключенных через провайдеры OLE DB. По своим функциональным возможностям и применению он подобен стандартному табличному компоненту.

Имя таблицы БД задается свойством

property TableName: WideString;

Другие свойства и методы компонента обеспечивают применение индексов (этой возможности лишен любой компонент запроса).

Так как не все провайдеры ADO обеспечивают прямое использование таблиц БД, то для доступа к ним может понадобиться запрос SQL. Если свойство

property TableDirect: Boolean;

имеет значение True, осуществляется прямой доступ к таблице. В противном случае компонент генерирует соответствующий запрос.

Свойство

property Readonly: Boolean;

позволяет включить или отключить для таблицы режим «только для чтения» .

Компонент TADOQuery

Компонент TADOQuery обеспечивает применение запросов SQL при работе с данными через ADO. По своей функциональности он подобен стандартному компоненту запроса.

Текст запроса задается свойством

property SQL: TStrings;

Параметры запроса определяются свойством

property Parameters: TParameters;

Если запрос должен возвращать набор данных, для его открытия используется свойство

property Active: Boolean;

или метод

procedure Open;

В противном случае достаточно использовать метод

function ExecSQL: Integer; ExecSQL

Число обработанных запросом записей возвращает свойство

property RowsAffected: Intege[33].

В работе с компонентом TADOQuery использован язык запросов SQL.

Язык SQL (Structured Query Language) — язык структурированных запросов, который по своей сути ориентирован на доступ к данным, и его обычно включают в состав различных средств разработки. Среда Kylix не осталась в стороне. Более того, все ее компоненты для работы с базами данных поддерживают язык SQL.

Язык SQL существует в нескольких стандартах. Наиболее поддерживаемыми и распространенными являются стандарты SQL-89 и

SQL-92. Последний стандарт также называют стандартом ANSI. Из-за наличия множества стандртов языка существует множество его диалектов.

В языке SQL нет многих типов команд, которые присущи большинству языков программирования. Так, в нем нет операторов цикла, перехода и т. д.

SQL-запрос — это команда на языке SQL.

Все SQL-запросы можно условно разделить на два вида:

1) статический SQL-запрос — включается в код приложения во время его разработки и не изменяется во время выполнения приложения. Единственным способом изменить что-либо в запросе такого типа является включение в SQL-запрос параметров и их дальнейшее изменение в ходе работы приложения;

2) динамический SQL-запрос — создается и изменяется в ходе выполнения приложения. Эти запросы являются наиболее гибкими и могут отвечать конкретным действиям пользователя.

Все операторы и команды языка SQL можно разделить на три группы. Ниже представлены эти группы, а также операторы, входящие в каждую из групп.

Операторы определения данных — предназначены для создания, удаления и изменения структуры данных. Основные из них перечислены в таблице 2.2.

Таблица 2.2.

Основные операторы определения данных

Оператор

Описание

CREATE TABLE

Предназначен для создания таблицы базы данных

ALTER TABLE

Удаляет таблицу

DROP TABLE

Изменяет структуру таблицы

CREATE INDEX

Создает индекс

DROP INDEX

Удаляет индекс

CREATE VIEW

Создает представление

DROP VIEW

Удаляет представление

Операторы управления данными — предназначены для управления привилегиями доступа к данным. Основные операторы представлены в таблице 2.3.

Таблица 2.3

Основные операторы управления данными

Оператор

Описание

GRAND

Назначает привилегии пользователям

REVOKE

Удаляет привилегии пользователей

Операторы манипулирования данными — предназначены для работы с записями таблиц. Основные операторы кратко описаны в таблице 2.4.

Таблица 2.4

Основные операторы манипулирования данными

Оператор

Описание

SELECT

Предназначен для выборки записей по определенному формату

UPDATE

Предназначен для изменения и обновления записей

INSERT

Вставляет новые записи в таблицу

DELETE

Удаляет записи из таблицы

Результатом выполнения запроса обычно является набор данных, который называется результирующим набором данных.

Осталось отметить, что регистр букв команд SQL-запросов не влияет на их выполнение. Точка с запятой также не обязательна в конце каждой SQL-команды. Элементы списков, такие как имена таблиц и полей, обязательно разделяются запятыми. Имена таблиц и полей заключаются в одинарные или двойные кавычки, например 'Number', «Table 1». В случае если имя не содержит пробелов и других специальных символов, его можно не заключать в кавычки.

Для отображения таблицы базы данных используется визуальный компонент TDBGrid. Данный компонент используется для табличного отображения заданных полей таблиц баз данных, а также позволяет осуществлять редактирование записей.

Источник данных — обеспечивает интерфейс между компонентом набора данных и средствами визуализации Компонент TDataSource представляет собой источник данных, который обеспечивает связь между набором данных и компонентами отображения и редактирования данных.

Взаимодействие с web-интерфейсом программы производится при помощи компонентов TidHTTP и TWebBrowser.

Компонент TWebBrowser используется для отображения web-страниц в приложении. Для извлечения кода html-страницы служит компонент TidHTTP.

Для оформления графического интерфейса использованы компоненты TMemo, TImage, TPageControl. Компонент TMemo позволяет отображать и редактировать многострочый текст.

Компонент TImage отображает на форме графическое изображение. Свойство Picture типа TPicture содержит отображаемый графический объект типа битовой матрицы, пиктограммы, метафайла или определенного пользователем типа.

Компонент TPageControl относится к группе многостраничных панелей, которые позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания.

Компонент TMainMenu отображает на форме главное меню. Проектирование меню производится с помощью конструктора меню.

С помощью процедуры индексирования в приложении «Бета-поиск» осуществляется поиск ключевых слов, заключенных в определенные тэги и тэги описания заголовка HTML-документа. Вывод результатов поиска осуществляется с помощью сгенерированного html-документа в компоненте TWebBrowser.

HTML-документ представляет собой текст, в который помимо обычного текста включены специальные последовательности символов-теги. Тег начинается символом < и заканчивается символом >. Теги используются программами отображения HTML-документов для форматирования текста в окне просмотра (сами теги не отображаются).

Большинство тегов парные. Например, пара тегов <�Н2> сообщает программе отображения HTML-документа, что текст, который находится между этими тегами, является заголовком второго уровня и должен быть отображен соответствующим стилем.

Описания набора используемых тэгов страницы выдачи результатов поиска под названием «Result.html» представлен в таблице 2.5:

Таблица 2.5

Используемые HTML-теги

Тег

Пояснение

Задает название HTML-документа. Программы отображения HTML-документов, как правило, выводят название документа в заголовке окна, в котором документ отображается. Если название не задано, то в заголовке окна будет выведено название файла

Параметр BACKGROUND задает фоновый рисунок, BGCOLOR-цвет фона, TEXT-цвет символов НТМ L-документа

Задает основной шрифт, который используется для отображения текста: FACE-название шрифта, SIZE-размер в относительных единицах. По умолчанию значение параметра SIZE равно 3. Размер шрифта заголовков берется от размера, заданного параметром SIZE

<�Н1> </Н1>

Определяет текст, находящийся между тегами <�Н1> и </Н1> как заголовок уровня 1. Пара тегов <�Н2></Н2> определяет заголовок второго уровня и т. д.

Конец строки. Текст, находящийся после этого тега, будет выведен с начала новой строки

Текст, находящийся внутри этой пары тегов, будет выделен полужирным

Текст, находящийся внутри этой пары тегов, будет выделен курсивом

<�А HREF="Файл.htm#Закладка" > </А>

Выделяет фрагмент документа как гиперссылку, при выборе которой происходит перемещение к закладке, имя которой указано в параметре HREF

Выводит иллюстрацию, имя файла которой указано в параметре SRC

Текст, находящийся внутри данной пары тэгов определяется как набор ключевых слов

Набирается HTML-текст обычным образом. Теги можно набирать как прописными, так и строчными буквами. Однако, чтобы лучше была видна структура документа, рекомендуется записывать все теги строчными (большими) буквами. Следующее, на что надо обратить внимание-программы отображения HTML-документов игнорируют «лишние» пробелы и другие «невидимые» символы (табуляция, новая строка). Это значит, что для того, чтобы фрагмент документа начинался с новой строки, в конце предыдущей строки надо поставить тег, а чтобы между строками текста появилась пустая строка, в HTML-текст нужно вставить два тега подряд.

В качестве примера можно указать сгенерированный HTML-код страницы выдачи результатов поиска под названием «Result.html»:

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

Для обработки записей в базе данных выполняются следующие основные процедуры:

— добавление индекса;

— поиск индекса;

— просмотр индекса;

— редактирование ключевых слов;

— очистка индексов.

В качестве примера приводятся некоторые процедуры работы с базой данных:

Добавление индекса.

При первичном индексировании web-страницы в базу данных заносится информация об ее адресе и ключевые слова. Рейтинг web-страницы при этом обнуляется, т. е. в поле rating таблицы Index заносится значение «0».

При повторном индексировании этой же страницы в базе данных происходит поиск соответствия по адресу web-страницы. При совпадении адреса, в базу данных уже заносится только обновленные ключевые слова, значение рейтинга и адреса остаются без изменения. Таким образом, механизм добавления новых web-страниц исключает повторное индексирование одинаковых данных. Процедура добавления индекса в базу индексов представлена на рисунке 2.3.

Рисунок 2.3. Блок-схема процедуры добавления индекса.

Редактирование ключевых слов.

В случае редактирования ключевых слов происходит изменение данных. Процедура редактирования информации о ключевых словах представлена на рисунке 2.4.

Рисунок 2.4. Блок-схема процедуры добавления индекса.

2.3 Описание интерфейса информационно-поисковой системы В самом начале развития персональных компьютеров, пользователи работали с программами в основном через командную строку. Программа запускалась и затем приостанавливалась для получения ввода данных пользователем. Данный процесс был неудобен в силу трудности своего представления. Большая часть программ, используемых в настоящее время, работают в одном или нескольких окнах. Эти окна позволяют пользователю работать с программой, или реализуют интерфейс, путем ввода, использования кнопок, выбора элементов меню и т. д.

Оконный интерфейс относится к графическому представлению информации и очень удобен для восприятия пользователя. Программа «Бета-поиск» как раз таки реализована в графическом интерфейсе для удобства восприятия информации и привлечения внимания оператора.

Для запуска приложения «Бета-поиск» рекомендуется скопировать папку с названием «BetaSearch» на жесткий диск для лучшего функционирования программы. После этого открыть в указанной папке исполняемый файл «Beta.exe». После запуска появится загрузочное окно программы, которое будет иметь вид, показанный на рисунке 2.5.

Рисунок 2.5. Загрузочное окно программы.

Далее происходит загрузка главной формы программы.

Приложение имеет дружественный интерфейс с понятными для пользователя описанными элементами. Навигация по функциональным структурам осуществляется либо с помощью вкладок с их названиями, либо с помощью элементов главного меню программы.

Главное окно программы состоит из следующих элементов, в соответствии с рисунком 2.6:

1) Заголовок;

2) Главное меню;

3) Набор вкладок;

Рисунок 2.6. Главное окно программы.

На вкладке «Строка поиска», изображенной на рисунке 2.7, осуществляется ввод искомой информации в текстовое поле. После нажатия на кнопку «Найти» происходит вывод результата поиска.

В результат поиска входят:

— количество web-страниц, на которых найдены заданные ключевые слова;

— ссылки на данные web-страницы;

— контекст, в котором употреблены искомые слова.

Рисунок 2.7. Содержимое вкладки «Строка поиска».

При нажатии на любую из отображенных в результате поиска ссылок происходит переход по ее адресу в Интернет прямо в окне web-браузера программы.

На вкладку «Строка поиска» также можно перейти с помощью главного меню, для этого в нем необходимо выбрать: Опции -> Строка поиска.

На вкладке «Индексирование» производится добавление web-страницы сайта в индекс базы данных приложения.

Содержимое вкладки изображено на рисунке 2.8 и представляет собой: текстовое поле «Имя страницы сайта» вместе с кнопкой «Индексировать», расположенные в верхнем левом углу панели, ниже расположено текстовое поле под названием «Код страницы». В правой части вверху расположено текстовое поле «Найденные ключевые слова», а ниже расположено окно web-браузера.

Чтобы добавить web-страницу в индекс базы данных, необходимо в текстовом поле ввести ее адрес и нажать кнопку «Индексировать», после чего в соответствующих панелях отобразятся: индексируемая web-страница, ее html-код и находящиеся на ней ключевые слова, извлеченные из html-кода.

Рисунок 2.8. Содержимое вкладки «Индексирование».

На вкладку «Индексирование» также можно перейти с помощью главного меню, для этого в нем необходимо выбрать: Опции -> Добавить в индекс.

На вкладке «База индексов» происходит редактирование индексов базы данных имеющихся web-страниц.

Содержимое вкладки изображено на рисунке 2.9 и представляет собой: текстовое поле «Ключевые слова» вместе с кнопкой «Внести изменения», расположенные в левой части панели, правее расположена таблица, в которой имеются поля названия web-страниц и, соответственно, их рейтинг.

C помощью клика мыши на соответствующую запись таблицы с названием web-страницы происходит отображение ее ключевых слов в текстовом поле. Текстовое поле «Ключевые слова» является редактируемым. После завершения редактирования для сохранения записи необходимо нажать на кнопку «Внести изменения», после чего соответствующие данные внесутся в базу данных.

Рисунок 2.9. Содержимое вкладки «База индексов».

На вкладку «База» также можно перейти с помощью главного меню, для этого в нем необходимо выбрать: Опции -> База данных индекса.

Для удаления выбранной записи необходимо в таблице индексированных страниц выбрать удаляемую запись и нажать на кнопку «Удалить запись», после чего появится окно предупреждения о подтверждении удаления, изображенное на рисунке 2.10. Подтверждения удаления выбранной записи необходимо нажать кнопку «Yes», для отмены удаления следует нажать «No».

Рисунок 2.10. Предупреждение об удалении выбранной записи.

Иногда требуется полностью очистить базу индекса, для этого стоит нажать на кнопку «Очистить базу», в результате чего появится предупреждающее окно, изображенное на рисунке 2.11. При нажатии кнопки «Yes» произойдет удаление всех записей индекса базы данных, при нажатии «No» окно предупреждения закроется и очистки базы данных индекса не произойдет.

Рисунок 2.11. Предупреждение об очистке записей.

При удалении записей индекса из базы данных, информация не восстанавливается.

Окно, отображающее информацию о программе (рисунок 2.11) можно открыть при помощи главного меню: Помощь -> О программе.

Рисунок 2.11. Окно «О программе».

Для вызова справочной информации достаточно перейти с помощью главного меню: Помощь -> Вызов справки или при помощи «горячей клавиши» — «F1». Окно справочной информации изображено на рисунке 2.12.

Рисунок 2.12. Окно «Справочная информация».

Требования к системе Программа, осуществляющая поиск информации во Всемирной Глобальной сети «Бета-поиск» работает на любых IBM-совместимых компьютерах, под управлением операционных систем семейства Windows. Размер занимаемой памяти не превышает 15 Мбайт. Запуск программы осуществляется как с жесткого диска компьютера, так и со сменного накопителя.

Минимальные требования для работы информационно-поисковой системы:

— компьютер типа IBM с процессором Intel Pentium III и выше;

— операционная система Windows 2000/XP/7;

— наличие CD-ROM или USB-порта для копирования приложения на жесткий диск;

— наличие 15 Мбайт свободного пространства на жестком диске в случае копирования приложения на жесткий диск.

Данный программный продукт не вызовет затруднений в использовании, так как в нем используются достаточно понятные визуальные компоненты. Для комфортной работы желательно выставить разрешение экрана не ниже чем 1024*768 пикселей.

Заключение

Интернет продолжает развиваться с неослабевающей интенсивностью, по сути дела стирая ограничение на распространение и получение информации в мире. Однако в этом информационном океане бывает не очень легко найти необходимый документ. Следует также иметь в виду, что в сети наряду с давно действующими серверами возникают новые. Путем решения данной проблемы выступают информационно-поисковые системы, организующие поиск во Всемирной Глобальной сети.

Поисковые системы уже давно стали неотъемлемой частью Интернета. Поисковые системы сейчас — это огромные и сложные механизмы, представляющие собой не только инструмент поиска информации, но и заманчивые сферы для бизнеса.

Проанализировав материал дипломной работы, были сделаны следующие выводы:

— Поисковые системы разделяются на 3 класса: поисковые каталоги, полнотекстовые поисковые системы и метапоисковые системы.

— Поисковые системы обычно состоят из трех компонентов:

1) агент (паук или кроулер), который перемещается по Сети и собирает информацию;

2) база данных, которая содержит всю информацию, собираемую пауками;

3) поисковый механизм, который люди используют как интерфейс для взаимодействия с базой данных.

Также был рассмотрен подробный механизм поиска информации во Всемирной Глобальной сети и произведен обзор рейтинга наиболее популярных мировых информационно-поисковых систем.

На основе анализа теоретических данных об организации поиска в Интернете разработана информационно-поисковая система под названием «Бета-поиск», демонстрирующая обобщенный механизм работы действующих мировых поисковых систем. Данная программа написана на языке программирования Object Pascal в визуальной среде программирования Delphi 7 с использованием базы данных, визуальных и не визуальных стандартных компонентов среды. Благодаря понятному графическому интерфейсу и информативному описанию справочного руководства программы «Бета-поиск», пользователь сможет ознакомиться с механизмом поиска информации в Интернет и составить весомую базу данных индексов web-страниц для расширения границ поиска информации на данной поисковой машине.

1. www.ru.wikipedia.org/wiki/Поисковая_система

2. Крупник А. Б. Поиск в Интернете: самоучитель. — 2-е изд. — СПБ.: Питер, 2004. — 572 с.

3. Комер Д. Принципы функционирования Интернета: Пер. с англ./ Д. Комер. — СПБ.; М.; Харьков; Минск: Питер, 2002.-379 с.

4. www.marillion.blogseo.ru/archives/99

5. Солоницын Ю. А., Холмогоров В. Интернет. Энциклопедия. — 3-е из. — СПб.: Питер, 2003. — 592 с.

6. www.info-highsol.ru/seo_poisk.php

7. Дубинский А. Г. Модель мультиагентной системы информационного поиска в глобальной сети // Искусственный интеллект. — Донецк: ДГИИИ.-1999. № 2. с. 271−279.

8. Ландэ Д. В. Поиск знаний в INTERNET. Профессиональная работа.: Пер. с англ. — М.: «Вильямс», 2005. — 200 c.

9. Ландэ Д. В. Алгоритмы поиска. Профессиональная работа.: Пер. с англ. — М.: «Вильямс», 2004. — 260 с.

10. Гусев В. С. Google: эффективный поиск. Краткое руководство. — М.:

11. «Вильямс», 2006. — 140 с.

12. www.citforum.ru/internet/search/art1.shtml

13. Севостьянов И. О. Поисковая оптимизация. Практическое руководство по продвижению сайта в Интернете.-СПб.: «Питер», 2010.-240 с.

14. www.osp.ru/cw/1996/20/31.htm

15. www.titorov.ru/

16. www.citforum.ru

17. www.mir.dilibrium.ru/

18. Д. Н. Колисниченко. Поисковые системы и продвижение сайтов в Интернете: — Москва, Диалектика, Вильямс, 2007 г.- 272 с.

19. www.clx.ru

20. www.vanta.ru/lib/yahoo1.php

21. www.axoft.ru/lib/yahoo1.php

22. www.axoft.ru/software/Yandex/

23. www. seo-ua.com/obzor/rambler.php

24. В. И. Копыл. Поиск в Интернете./— М.: ACT, Мн.: Харвест, 2006.— 64 с

25. Егоров А. Б. Поиск в Интернете — Санкт — Петербург.: НиТ, 2007 г.

26. www.vsychina.vo.uz/news/2007;04−21−11

27. www. delphi-club.ru/

28. Фаронов В. В. Delphi 7. Учебный курс. — М.: Издатель Молгачева С. В., 2003. — 20 с.

29. Гаевский А. Разработка программных приложений на Delphi 6 — М.:Киев, 2000. — 210 c.

30. www.askit.ru/custom/progr_admin/m13/1302_ado_connection.htm

31. Кузнецов С. Д. Основы современных баз данных. — М.: АСТ-ПРЕСС КНИГА: ИнформкомПресс, 2000. — 202 с.

32. Базы данных в Delphi 7. Самоучитель/В.Понамарев — СПб: Питер, 2003, — 193 с.

33. www.intbook.info/delphi/Glava19/Index34.html

34. www.intbook.info/delphi/Glava19/Index35.html

35. Карпова Т. Базы данных: модели, разработка, реализация. — СПб.: Питер, 2001 — 156 с.

36. www.snkey.net/books/delphi/ch4−3.html

37. Журавлев В. В. Delphi 7. Начальный курс. — СПБ.: БХВ-Петербург, 2003. — 398 с.

38. www.delphidevelop.ru/publ/28−1-0−135

39. Рева О. HTML просто как 2×2. — Москва: Эксмо, 2006 -20 с.

40. Муссиано Ч., и Кеннеди Б. «HTML и XHTML. Подробное руководство» 6-е издание. Издательство: Символ-Плюс, 2008 г. — 215 с.

41. www.msdn.microsoft.com/ru-ru/library/

Показать весь текст
Заполнить форму текущей работой