Интеллектуальная система поиска и сбора информации из тематическихвеб-ресурсов

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

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

Создание тематической поисковой системы содержит в своей основе такие задачи:

• подбор тематических сайтов,

• поиск информации на разных ресурсах с различными запросами,

• извлечение информации с сайта,

• создание единой системы представления информации пользователю.

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

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

• Spider (паук) – браузероподибна программа, которая скачивает веб-страницы.

• Crawler (краулер, «путешествующий» паук) – программа, которая автоматически проходит по всем ссылкам, найденным на странице.

• Indexer (индексатор) – программа, которая анализирует веб-страницы, скачанные пауками.

• Database (база данных) – хранилище скачанных и обработанных страниц.

• Search engine results engine (система выдачи результатов) – извлекает результаты поиска из базы данных.

• Web server (веб-сервер) – веб-сервер, который осуществляет взаимодействие между пользователем и остальными компонентами поисковой системы.

Web server и Search engine results engine часто называют просто поисковым сервером.

В деталях реализации поисковых механизмов могут отличаться друг от друга (например, связка Spider + Crawler + Indexer может быть выполнена в виде единой программы, которая скачивает известные веб-страницы, анализирует их и ищет по ссылкам новые ресурсы), однако всем поисковым системам свойственны описанные общие черты.

Spider. Обеспечивает скачивание страницы и извлекает все внутренние ссылки с этой страницы. Скачивается html-код каждой страницы. Для скачивания страниц роботы используют протоколы HTTP. Работает «паук» так. Робот передает на сервер запрос “get / path / document” и некоторые другие команды HTTP-запроса. В ответ робот получает текстовый поток, содержащий служебную информацию и непосредственно сам документ.

Ссылки извлекаются из тегов а, area, base, frame, frameset и др.. Кроме ссылок, работы обрабатывают редиректы (перенапрямлення). Каждая скачанная страница сохраняется в таком формате:

• URL страницы

• дата, когда страница была скачана

• http-заголовок ответа сервера

• тело страницы (html-код)

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

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

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

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

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

Поисковый сервер работает так:

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

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

• В зависимости от выбора пользователя этот рейтинг может быть скорректирован дополнительными условиями (например, так называемый «расширенный поиск»).

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

• Полученные результаты поиска передаются пользователю в виде страницы выдачи поисковых результатов.

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

• Точность – еще одна основная характеристика поисковой системы, которая определяется уровнем соответствия найденных документов запросу пользователя. Например, если по запросу «как выбрать автомобиль» находят 100 документов, в 50 из которых являются словосочетания «как выбрать автомобиль», а в других только наличие этих слов («как правильно выбрать автомагнитолу и установить ее в автомобиль»), то точность поиска будет 50/100 (= 0,5). Чем более точный поиск, тем быстрее пользователь найдет нужные ему документы, тем меньше разного рода «мусора» будет в них встречаться, тем реже найденные документы не соответствуют запросу.

• Актуальность – не менее важная составляющая поиска, которая характеризуется тем, что прошел с момента публикации документа в сети Интернет, до занесения его в индексной базы поисковой системы. Например, на следующий день после появления интересной новости, большое количество пользователей обратились к поисковым системам с соответствующим запросом. Объективно с момента публикации новости на эту тему прошло меньше суток, однако основные документы уже были проиндексированы и доступны для поиска благодаря существованию в крупных поисковиках так называемой «быстрой базы”, которая обновляется несколько раз в день.

Общая модель функционирования тематической поисковой системы

Принцип работы разработанной тематической поисковой системы приведена на рис.1.

Схема работы тематической поисковой системы

Рис. 1. Схема работы тематической поисковой системы

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

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

Что же представляют собой эти базы данных? База правил формируется разработчиком системы. Именно разработчик занимается ее правильным наполнением. Сама база правил состоит из следующих полей:

  • название сайта (единственное, что отражается пользователю в клиентской части);
  • пример формирования запроса – здесь приведен пример запроса в соответствующий сайта;
  • информация о правиле сочетание ключевого слова с запросом предыдущего поля;
  • правила извлечения информации из html-кода полученной в результате поиска страницы соответствующего сайта.

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

Блок-схема алгоритма работы агента формирования запроса

Рис. 2. Блок-схема алгоритма работы агента формирования запроса

Блок-схема алгоритма работы агента поиска и хранения информации

Рис. 3. Блок-схема алгоритма работы агента поиска и хранения информации

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

  • название сайта;
  • изображение, соответствующее конкретному результату;
  • текст результата поиска;
  • ссылки на более подробную информацию.

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

Рассмотрим алгоритм работы каждого агента в отдельности. Агент формирования запроса (рис. 2):

  1. Получение ключевого слова от клиентской части.
  2. Считывание списка указанных пользователем сайтов поиска.
  3. Проверка каждого элемента из списка сайтов (обозначен – шаг 4, обозначен – шаг 9).
  4. Формирования запроса к базе правил выбранного сайта.
  5. Получение правила формирования запроса к конкретному сайту.
  6. Внесение ключевых слов поиска в правило формирования запроса.
  7. Создание запроса к выбранному сайту.
  8. Формирование списка запросов для агента поиска и хранения информации (переход на шаг 10).
  9. Добавление в список запросов нулевого запроса.
  10. Возврат на шаг 3, пока не закончится список сайтов.
  11. Передача списка запросов агенту поиска и хранения информации.

Агент поиска и хранения информации (рис.3):

  1. В начале своей работы получает от внутреннего агента список сформированных запросов к тематических сайтов.
  2. Проверка, запрос не нулевой (если да – шаг 8).
  3. Отсылки запроса тематическом сайте.
  4. Получение кода html-кода страницы, которая сформировалась как ответ на запрос.
  5. Обращение к базе правил и получения правила извлечения информации из кода страницы.
  6. Получения нужной информации из html-кода страницы (рисунки, текст, ссылки).
  7. Запись полученной информации в оперативную базу данных системы.
  8. Переход на шаг 2 до окончания списка запросов.

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

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

Такая система тематического поиска может использоваться для решения многих задач:

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

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.