МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Московский Государственный институт электроники и математики
(Технический университет)
Кафедра информационно - коммуникационных технологий
КУРСОВАЯ РАБОТА НА ТЕМУ:
«Поисковые системы»
ПО ДИСЦИПЛИНЕ "ОРГАНИЗАЦИЯ ЭВМ "
ВЫПОЛНИЛ:
СТУДЕНТ ГРУППЫ С-34
Денисов Андрей
ПРЕПОДАВАТЕЛЬ: доцент
Мартиросян Сашик Торгомович
Москва, 2009г.
Оглавление
Введение
…………………………………………………………………………3
Постановка задачи
………………………………………………………………3
Особенности поисковых систем
………………………………………………..3
Архитектура поисковых систем
………………………………………………..4
ER модель поискового механизма
……………………………………………...5
Индексный механизм
…………………………………………………………....6
Поисковый механизм
……………………………………………………………6
Комплексное функционирование
……………………………………………….6
Методы поискового запроса
…………………….……………………………….7
Заключение
………………………………………………………………………11
Список литературы
………………………………………………………………12
Введение
В своей работе я рассмотрю основы, разновидности и классификацию поисковых систем. С появлением сети Internet стала актуальной проблема поиска. В Internet`е хранится большое количество полезной информации, но для её поиска требуется затрачивать не мало времени. Эта проблема стала поводом для создания поисковых систем.
Постановка задачи:
Целью моей исследовательской работы является анализ существующих поисковых систем (П.С), их назначение и применение.
В процессе исследования нужно решить несколько задач:
· Проанализировать особенности П.С
· Провести классификацию П.С
· Найти наиболее эффективный метод поискового запроса
Особенности поисковых систем
Поисковой процесс представляет собой четыре этапа: формулировка(до начала поиска), действие (идет поиск), обзор результатов (выводится на экран), и усовершенствование(возвращаемся к поиску с той же потребностью, но уже иной формулировкой). Более удобная схема поиска состоит из след. Этапов:
· Задание информационной потребности на естественном языке,
· Выбор поисковых сервисов и точная запись информационной потребности,
· Выполнение созданных запросов,
· Предварительная обработка полученных ссылок на документы,
· Обращение за искомыми документами,
· Предварительный просмотр найденных документов,
· Сохранение подходящих документов для изучения,
· Извлечение из подходящих документов ссылок для расширения запроса,
· Изучение всех сохраненных документов,
· Если искомая информация не найдена, то возвращаемся к первому пункту.
Архитектура поисковой системы
Рассмотрим архитектуру, которая чаще всего используется на корпоративных сайтах и информационных порталах. Эта архитектура изображена на рисунке 1
Рисунок 1 Архитектура поисковых систем
Детально разберем то, что изображено на рисунке 1. Есть клиентская машина, находящаяся под управлением Windows и Веб – сервер, находящийся под управлением UNIX. Со стороны клиента запущен обычный браузер (Netscape). Со стороны сервера запущен веб сервер, который принемает запросы от браузера, далее он передает запросы презентационному слою, понимающему CGI. Презентационный слой отправляет запросы к поисковому механизму в случае вызова услуги поиска, либо отображает наполнение сайта (content). При работе администратора презентационный слой также может отправлять запросы на инициализацию механизма индексации нового контента, который еще не индексирован. Это необходимо потому что пока текст не индексирован, поиск в нем с помощью поисковой системы невозможен.
Идея заключается в следующем. Существует много текстовой информации (мегабайты), и поиск документов, содержащие задание ключевые слова, отнимает большое количество процессорного времени. Предположим, в 5 Мб текста, ключевое слово будет находится 5 секунд. И вот заходит посетитель на сайт, задает ключевое слово, вызывает услугу поиска и ждет 5 секунд, пока сервер не выдаст результат. Но если одновременно запросило поиск 5 человек – естественно, время ответа увеличится в 5 раз. Получается, что в среднем по 25 секунд пользователь будет ждать ответа от сервера. Это не приемлимо, особенно если у вас много информации. Необходимо использовать другой метод при поиске слов в текстовой информации – время ответа нужно сократить до миллисекунд.
ER
модель поискового механизма
У реляционных баз данных есть такая характеристика, как малое время выборки конкретной записи из миллиарда других. Это достигается за счет индекса к таблицы на какой – то из полей этой таблицы. Предположим, что мы имеем таблицу, в которой только один столбец и в каждой ячейки таблицы хранится фамилия человека. Предположим, что мы поместили в эту таблицу миллион фамилий. Нам необходимо найти в этой таблице фамилию ДЕНИСОВ(предположим, что она стоит в середине). Никаких индексов в таблице еще нет. Когда мы пошлем запрос с фамилией ДЕНИСОВ, то база данных переберет пол миллиона фамилий, пока не дойдет до записи «ДЕНИСОВ». Получается слишком медленно. Но стоит нам сделать индекс на поле нашей таблицы, как тут же все запросы будут обрабатываться за миллисекунды, чего собственно мы и добиваемся. Классическая структура БД, которая позволяет решить нашу проблему, изображена на рисунке 2:
Рисунок 2 Классическая структура БД
Таблица Dokument. В ней хранятся имена файлов, либо URL страниц, каждой такой записи сопоставлен уникальный id. Таблица Dictionary хранит все слова, которые встречаются в наших документа
Индексный механизм
Чтобы документы были доступны для поиска, их необходимо проиндексировать. Индексная информация, полученная из текста, может быть в 2 раза больше чем сам текст. Алгоритм выглядит так:
получаем документ для индексации
записываем его в таблицу document, запоминаем его уникальный и будем называть его doc_id
документ разбиваем на отдельные слова
уникальные id этих слов узнаем из таблицы dictionary и будем называть их dict_id
заносим записи doc_id и dict_id в таблицу match.
Поисковый механизм
Когда мы проиндексировали документы, нужно понять какие запросы нужно посылать в базу, чтобы искать документы по ключевым словам. Предположим, что есть поисковая фраза «город Москва». Пользователю нужно получить документы, которые содержат это два слова. Сначала нужно узнать уникальные id тих слов (обратиться к таблице dictionary), далее называть мы их будем $dict_id1 и $dict_id2. Далее посылаем запрос в таблицу match, который выдаст те номера документов, которые содержат эти слова.
Комплексное функционирование
На рисунке 3 изображено общее представление механизма взаимодействия с поисковой системой:
Рисунок 3 Механизм взаимодействия с поисковой системой
(см. рисунок 3) Существует 3 потока управления. 1 поток (скрипт на PHP, Perl или ASP) обслуживает запросы пользователя, 2 поток (СУ базой данных) выполняет поисковые запросы, а 3 поток (тоже скрипт) индексирует новые документы, поступающие в систему.
Методы поискового запроса
Когда говорят о поисковых запросах, то часто упоминают слово «релевантность». Слово релевантность означает степень соответствия документа запросу. Чем больше релевантность тем лучше. Релевантность определяется по следующим критериям:
· Проверяется, сколько раз заданное словосочетание (слово) встречается на отображенных страницах
· Если введена фраза, то проверяется расстояние между словами
· Индекс цитируемости (количество ссылок на данную страницу)
Чем больше на страницу ссылаются, тем больше вероятность, что именно эта страница нужна пользователю.
· Каким стилем (шрифтом) написана на странице искомая фраза
Если фраза выделена жирным или написана крупным шрифтом (заголовок), то это признак более высокой релевантности страницы.
· Возраст сайта
Чем старше сайт, тем лучше это влияет на релевантность.
Таким образом, можно отметить, что уровень релевантности – это целый комплекс параметров.
Итак, для того чтобы найти интересующую вас информацию в кротчайшие время, вам необходимо правильно составлять поисковой запрос. Наиболее эффективным является следующий метод составления поискового запроса:
1. Слова поискового запроса нужно писать грамотно. Так например запрос «пошив пальтов» нужного результата не даст.
2. Если поиск нужных результатов не принес, нужно переформулировать запрос с помощью синонимов.
3. Если результат поиска не удовлетворяет вас, то попробуйте включить в запрос уточняющие слова. Для запроса «стихи Пушкина» слово «стихи» является уточняющим.
4. В сложных случаях нужно использовать язык запросов. С помощью языка запросов можно задавать комбинации разных критериев поиска.
Подробнее рассмотрим язык запросов поисковой системы Yandex. Предположим, что нам нужно найти адрес проживания Мартиросяна С.Т. Если правильно сформулировать поисковой запрос, то это не составит нам труда. В языке запросов есть такая функция, как включение/ исключение определенных слов – знаки «+» и «-».
Попробуем сформулировать поисковой запрос. Для этого используем фамилию человека и пару уточняющих слов. В качестве уточняющего слова возьмем «адрес» и дату рождения человека. Получим:
Как видно на рисунке, нашлось 7 страниц, но с помощью языка запросов можно сократить их число до 1 страницы. Применим специальный символ «+» к уточняющим словам – это означает, что будут найдены те страницы, на которых в обязательном порядке присутствуют уточняющие слова. Получим:
На втором рисунке видно, что мы нашли 1 страницу, без лишнего мусора. Этот поисковый запрос сформулирован правильно.
Еще одним важным символом языка запросов является знак «|». Вертикальная черта позволяет задать альтернативы – система ищет хотя бы одно из перечисленных слов. Например запрос: «Физика лекции | конспекты» будет аналогичен как запросам «Физика лекции» и «Физика конспекты».
Обычно поисковики ищут все формы введенного слова. Например по запросу «Звукоизолирующая» будут выведены страницы со словом «звукоизолирующий» , «Звукоизолирующих» и т.д.
Но чтобы найти именно ту форму слова, которая задана в поисковой строке, в языке запросов предусмотрен символ «!». Применение этого символа видно на рисунке ниже.
Если вам нужно найти точную фразу, то следует её заключать в кавычки: «»
В случае, когда вы хотите найти все варианты фразы: «очень (любое слово) девушка». То нужно поставить запрос так «очень /+2 девушка» , причем 1 – это означает отсутствие слова, а 3 означает, что между «очень» и «девушка» будут два любых слова:
На рисунке видно как между словами «очень» и «девушка» вставлено «любое слово».
Заключение
Пользуемся поисковыми системами, а так же составляем поисковые запросы мы с вами очень часто. И порой бывает, что с интересующей нас информацией мы получаем массу ненужного. Умение правильно составлять поисковой запрос – это очень важно. Ведь объем информации в Интернете растет с каждым днем и искать в этой огромной массе документов становится все сложнее и сложнее. Экспериментальным образом мы убедились, что если научиться грамотно составлять поисковые запросы, то это может не только сэкономить массу времени, но и упростить жизнь в целом.
Список литературы
1. Таненбаум Э. Компьютерные сети. Спб.: «Питер», 2002.
2. Справочная информация по сетям ЭВМ и телекоммуникациям www.index.com
3. Закер К. Компьютерные сети. Модернизация и поиск неисправностей. Спб.: «БХВ-Петербург», 2002 г.
4. Журнал «мой Интернет».