Разработка сайта-каталога программного обеспечения с поиском программ на основе булевой модели

Автор: Пользователь скрыл имя, 22 Апреля 2014 в 17:22, курсовая работа

Краткое описание

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

Оглавление

Введение…………………………………………………………………………5
1. Анализ требований к заданию………………………………………………6
2. Разработка структуры данных и алгоритмов управления информационными ресурсами………………………………………………...11
3. Разработка сайта информационной системы………………………………15
4. Руководства по работе с системой………………………………………….24
4.1 Руководство пользователя ………………………………………….24
4.2 Руководство администратора……………………………………….26
Заключение……………………………………………………………………...27
Список литературы………………………………………

Файлы: 1 файл

ПО.doc

— 1.21 Мб (Скачать)

Содержание

Введение…………………………………………………………………………5

1. Анализ требований к заданию………………………………………………6

2. Разработка структуры данных и алгоритмов управления информационными ресурсами………………………………………………...11

3. Разработка сайта информационной системы………………………………15

4. Руководства по работе с системой………………………………………….24

4.1 Руководство пользователя ………………………………………….24

4.2 Руководство администратора……………………………………….26

Заключение……………………………………………………………………...27

Список литературы……………………………………………………………..28

 
Введение

 

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

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

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

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

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

 

 

 

 

  1. Анализ технического задания

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

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

  • Добавление данных разных категорий – разделов и сведений о программных продуктах;
  • Автоматическое индексирование при добавлении;
  • Работа с логическими операторами «И», «ИЛИ», «НЕ»;
  • Вывод поисковой информации.

В сайте необходимо реализовать поисковую систему.

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

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

Достоинства булевой модели:

· Логические выражения имеют точную семантику;

· Используются структурированные запросы;

· Для опытных пользователей она интуитивна;

· Простой и аккуратный формализм позволял принять ее во многих ранних коммерческих библиографических системах;

Недостатки булевой модели:

· Не осуществляется ранжирование. Стратегия поиска основана на двоичном критерии решения, т.е. документ предполагается либо релевантным, либо нерелевантным;

· Не просто перевести информационное требование в логическое выражение;

В рамках булевой модели документы и запросы представляются в виде множества термов – ключевых слов и устойчивых словосочетаний. Каждый терм представлен как булева переменная: 0 (терм из запроса не присутствует в документе) или 1 (терм из запроса присутствует в документе). При этом весовые значения терма в документе принимает лишь два значения:  .

В булевой модели запрос пользователя представляет собой логическое выражение, в котором термы связываются логическими операторами конъюнкции  (AND, ˄) дизъюнкции (OR, ˅) и отрицания (NOT, ¬). Известно, что любое логическое выражение можно представить дизъюнкцией некоторых выражений, соединенных между собой операцией конъюнкции (дизъюнктивной нормальной формой, ДНФ - dnf).

Поиск по слову в базе данных системы такой архитектуры осуществляется в соответствии с алгоритмом: 

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

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

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

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

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

В сайте производится расчет PageRank (далее просто PR) - числовой величины - мера "важности" страницы в поисковой системе Google, которая зависит от числа внешних ссылок на данную страницу и от их веса (важности). Другими словами от количества и качества ссылающихся страниц. А если говорить математическим языком, то PR это алгоритм расчёта авторитетности страницы, используемый поисковой системой Google. PR не является основным, но является одним из вспомогательных факторов при ранжировании сайтов в результатах поиска.

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

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

Для разработки web-сайта выбрана операционная система Windows 7. Поводом для этого стала широкая распространенность этой операционной системы, наличие большого количества прикладных программ необходимых для разработки сайта, удобный графический интерфейс.

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

Возможно самая сильная и значимая возможность в РНР – уровень интеграции с базами данных (Oracle, Sybase, mSQL, Informix, dBase). РНР – наиболее простой и удобный язык для написания Web-страницы, работающей с базой данных. При программировании на РНР наиболее часто используется база данных MySQL, которая характеризуется большой скоростью, устойчивостью и легкостью в использовании. Краткий перечень возможностей MySQL:

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

2)Количество строк в таблицах  может достигать 50млн.

3)Быстрое выполнение команд.

4)Простая и эффективная система  безопасности [3].

Так как выбрана технология построения Web-страниц (РНР), можно сделать некоторые дополнения о дизайне сайта. Для того чтобы страницы отображались в одном стиле и были единым целым, проще не описывать каждый стиль отображения на HTML, а подключить каскадную таблицу стилей. Каскадные таблицы стилей, или CSS, позволяют разделить смысловое содержимое страницы и его оформление. Стиль определяет внешний вид документа HTML при его отображении в окне браузера: шрифты и цвета заголовков разных уровней, шрифт и разрядка основного текста, задаваемого в тэге абзаца и т.д. Таблица стилей – это шаблон, который управляет форматированием тэгов HTML в Web-документе. Поэтому для упрощения и следования логике разработки сайта целесообразно включить css-таблицы.

         Для создания  и редактирования сайта мною  была использована версия HTML-редактора  Dreamweaver CS5.5.

         Программное  обеспечение Adobe Dreamweaver CS5.5 — передовое  средство разработки и редактирования  веб-сайтов на базе отраслевых  стандартов, которое позволяет создавать  проекты для настольных ПК, смартфонов, планшетов и других устройств в визуальном режиме и с помощью кода.  Богатый инструментарий, открытость приложения для всевозможных настроек, удобный интерфейс и другие особенности сделали Dreamweaver одним из наиболее популярных HTML-редакторов в мире. Недостатком считается добавление «лишнего» кода.

Для отладки создаваемого сайта будем использовать Denwer3_Base_2008, который использует Apache 2.2.4, PHP 5.2.4, phpMyAdmin 2.6.1 и MySQL 5.0.45.

После установки Денвера web-сервер полностью готов к использованию. Для отладки сайта и дальнейшей работы с ним нужно будет скопировать его в /home/localhost/www . Для того чтобы запустить его в браузере необходимо набрать следующий URL-адрес: http://localhost/<имя стартовой страницы или путь до папки с ней>. [3]

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

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

 

 

 

  1. Разработка структуры данных и алгоритмов управления информационными ресурсами

С учетом того, что алгоритм реализуется на языке программирования PHP, и для хранения данных используется СУБД MySQL, классический алгоритм булевого поиска применяется в доработанном виде. Также доработанный алгоритм учитывает различные словоформы искомых слов за счёт применения словарей ISpell. Ниже описаны основные шаги разработанного алгоритма с примерами поисковых запросов.

1. Пользователем  вводится поисковый запрос.

2. Из поискового  запроса удаляются короткие предлоги и знаки препинания; логические функции И, ИЛИ, НЕ заменяются на OR, AND, NOT; запрос приводится к верхнему регистру; в запрос добавляется оператор AND там, где он явно не указан но подразумевается.

3. Из запроса  выделяются уникальные слова. Каждое  слово приводится к исходной  форме с помощью словарей ISpell.

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

5. Производится  проверка логического условия  булевого поиска по построенной  таблице.

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

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

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

  1. Разделение исходного текста на отдельные слова. Создание массива слов. Проведение первичной проверки на соответствие слов основам из словаря.

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

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

Информация о работе Разработка сайта-каталога программного обеспечения с поиском программ на основе булевой модели