аспирант, кафедра автоматизированных систем обработки информации и управления, Сургутский государственный университет, РФ, г. Сургут
СПЕЦИАЛИЗИРОВАННЫЕ WEB-КРАУЛЕРЫ: НА ПУТИ К СЕМАНТИЧЕСКИМ МОДЕЛЯМ ОРГАНИЗАЦИИ ИНФОРМАЦИОННОГО ПОИСКА
АННОТАЦИЯ
Сбор и анализ данных в современном информационном пространстве является весьма важным этапом при реализации многих аналитических задач и проектов. Одним из методов такого анализа исследуемых сайтов является использование поискового робота (веб-кра́улера), который реализует алгоритмы автоматического интернет-сёрфинга и является важной составной частью поисковых систем для анализа веб-страниц с целью выявления и внесения информации о них в базу данных для дальнейшего их анализа.
В рамках данного исследования был сформулирован подход к описанию работы веб-краулеров и выявлен ряд актуальных проблем при реализации поисковых алгоритмов в современном интернет-пространстве. Предложены пути их решения, основанные на семантических моделях организации смыслового поиска.
ABSTRACT
The collection and analysis of data in the modern information space is a very important stage in the implementation of many analytical tasks and projects. One of the methods of such analysis of the studied sites is the use of a search robot (web crawler), which implements automatic Internet surfing algorithms and is an important part of search engines for analyzing web pages in order to identify and enter information about them into the database for further processing. analysis.
Within the framework of this study, an approach was formulated to describe the work of web crawlers and a number of topical problems were identified in the implementation of search algorithms in the modern Internet space. The ways of their solution based on semantic models of semantic search organization are proposed.
Ключевые слова: интернет, поисковые роботы, семантика, краулеры, web, модели
Keywords: Internet, search robots, semantics, crawlers, web, models
Введение
Сбор данных является первым важным этапом при реализации любого проекта. В основе данного этапа содержится процесс извлечения и организации хранения данных в наиболее удобном виде, пригодном для их обработки и расположенном на конкретной аналитической платформе при решении конкретных аналитических задач.
Поисковые системы сети Интернет, как правило, состоят из следующих трех компонентов:
- веб-краулер (паук или поисковый робот), который реализует процесс перемещения по страницам и/или документам Веба с целью сбора определенной информации, статистики или сохранения ресурсов сайта [1];
- база данных, содержащая всю информацию, собираемую веб-краулерами;
- поисковый механизм, представляющий собой интерфейс для взаимодействия с базой данных.
Информация в Интернете разбросана на миллиардах страниц информационного пространства, и пользователи могут следить за гиперссылками для доступа к информации, практически переходя от одной страницы к другой. Поисковый робот также может посещать многие сайты для сбора информации, которая, в процессе обработки может быть проанализирована.
В основу традиционных методов поискового анализа положены три наиболее известных подхода:
- Первый из них основан на теории множеств, и соответственно на математической логике (булева модель).
- Второй базируется на векторной алгебре при описании данных (векторно-пространственная модель, англ. — Vector Space Model).
- Третий, используя вероятностный подход, основывается на предположении, что термы запроса по-разному распределены среди релевантных и нерелевантных документов. В этом случае для оценки веса термов используются формулы расчета вероятности, согласно теореме Байеса [2].
Общим недостатком «традиционных» подходов является то, что в их основе лежит модель, которая получила называние «мешок со словами» (от англ. Bag of Words), выделяя тем самым положение, что содержание документа определяется множеством слов и устойчивых словосочетаний — термов, которые входят в него по формальным признакам, то есть без учета смысловых взаимосвязей, независимо от их семантики.
Вследствие этого, системы, построенные на «традиционных» поисковых моделях, обладают слабо развитыми унифицированными средствами обобщения данных, позволяющих эффективно решать проблемы обмена информацией и межпрограммного взаимодействия.
Изменения подходов к определению формы и содержания человеко-машинного взаимодействия выражается в «интеллектуализации» поисковых систем, которые включают семантические инструменты, с учетом выявления информационных потребностей пользователей. Особое значение такому информационному анализу необходимо уделять при формировании электронной образовательной среды [3].
Для решения этой проблемы, предлагаются новые подходы в организации поиска, например, семантические, с использованием тематических баз знаний, онтологий, тезаурусов, в рамках которых делаются попытки выявить смысл текста за счет анализа его концептов, то есть смысловых категорий, отражающих семантически связанные слова. Вместе с тем, эффективность систем, базирующихся на таких подходах пока, остается невысокой.
При этом Интернет – динамичный субъект, развивающийся экспоненциальными темпами. Следовательно, существует постоянная потребность в эффективных краулерах, чтобы помочь приложениям сохранять актуальность, поскольку веб-ресурсы и их адреса постоянно изменяются [4].
Веб-краулеры, являются по сути самой «интеллектуально» наполненной компонентой из всех поисковых средств. В процессе своей работы они просматривают заголовки, отдельные ссылки, углубляются в содержание найденного документа, индексируют его и посылают проиндексированную информацию базе данных поискового механизма.
В тривиальной реализации поисковой робот начинает работу из набора исходных страниц (URL-адресов) и затем использует адреса внутри тела документа для нахождения внешних источников. Процесс повторяется до тех пор, пока будет проанализировано требуемое число страниц или достигнута заданная цель. Это простое описание опускает ряд аспектов, связанных с сетевыми подключениями, ловушками пауков, канонизацией URL, парсингами и этикой сбора [5].
Краулер по сути является алгоритмом поиска графа. Можно считать интернет большим графом со страницами, как его узлы и гиперссылки как его ребра.
Краулер запускается из нескольких начальных узлов, а затем следует за ребрами для прибытия других узлов. Процесс извлечения страниц и ссылок внутри него аналогичен расширению узла в графическом поиске [6].
Современный Интернет трансформируется в синтаксически интероперабельную (способную к взаимодействию) среду, включая потребности семантической нагрузки. Представляет несомненный интерес унифицированное представление информации при моделировании поиска, с реализацией систем, «понимающих» смысловые теги, заложенных в эту информацию с учётом её семантики.
Рассмотрим наиболее значимые технические и структурные метаморфозы, представляющие явное препятствие в работе современных поисковых систем на пути к новому качеству их организации.
Проблемы поисковых алгоритмов
- Ссылочный подход определения ранга ресурса.
Ранжирование — сортировка сайтов в поисковой выдаче, применяемая в поисковых системах. Существует множество факторов для ранжирования, среди которых можно отметить рейтинг сайта, количество и качество внешних ссылок, релевантность текста к поисковому запросу, на основании которых поисковая система формирует список сайтов в поисковой выдаче. Алгоритм ранжирования того или иного поисковика меняется в процессе его функционирования.
Алгоритмы ранжирования сайтов поисковыми системами изменяются в процессе эволюции интернета. Веб-редактору было достаточно указать в метатегах сайта его тематику, описание и ключевые слова, чтобы поисковая машина посчитала этот сайт соответствующим заданной тематике и начала высоко ранжировать его по указанным ключевым словам. Со временем количество интернет-сайтов росло, а оптимизаторы с целью привлечения на сайт большего количества посетителей начали прописывать в метатегах несоответствующие тематике популярные ключевые слова. Тогда поисковые системы стали изменять алгоритмы ранжирования, учитывая и содержимое сайта, и его авторитетность, и другие факторы ранжирования [7].
Основными задачами, стоящими перед поисковыми системами, остаются выдача пользователям конкретных ответов на поставленные вопросы и определение сайтов с наилучшей выдачей ответов. Построение оптимальной последовательности применения тех или иных инструментов на каждом шаге поиска и предопределяет его эффективность.
Один из механизмов ранжирования — ссылочное ранжирование, фактически представляет собой перенос механизма подсчёта индекса цитируемости из мира научных публикаций во Всемирную паутину (индекс цитирования веб-сайтов). Этот вид ранжирования используется всеми крупными поисковыми системами, при этом каждая из них проводит сортировку по своим принципам, вследствие чего расположение сайтов будет отличаться в зависимости от поисковика [8].
Однако, несмотря на высокую степень апробации данного метода определения рангов того или иного ресурса, а соответственно и выдача его на то или иное место в поисковом рейтинге – ссылочное ранжирование не лишено своих недостатках, а в современных реалиях можно говорить об устаревании данного подхода.
Одной из наиболее значительных проблем мешающих ссылочному ранжированию выявить объективные информационные авторитеты – простота в манипуляции данным алгоритмом со стороны заинтересованных в получении трафика веб-мастеров.
Так до сих пор остается популярным подходом увеличения траста ресурса (уровня доверия со стороны краулера) закупка ссылок со сторонних бирж и более авторитетных ресурсов. Так традиционные алгоритмы ранжирования начинают передавать часть векторного выражения траста ресурсу, авторитетность которого ничем не подкреплена и аккумулируется искусственными способами [8].
Решением данной комплексной проблемы видится комплексный программный аппарат ранжирования состоящих из следующих трех микро-сервисов.
Сервис мониторинга поведенческого характера – программный компонент на основе данных собираемых из статистических модулей будет анализировать личностные характеристики пользователя (возраст, пол, образование, профессиональные компетенции) доступные ему правами конфиденциальности и сопоставлять их с действиями людей на страницах. Например, быстрый выход со страницы или беглое знакомство с контентом будут присваивать санкции траста ресурса, уменьшая его рейтинг ранжирования. Длительное чтение страницы специалистами схожей или той же специальности позволят ресурсу получить преференции в поисковой выдаче.
Сервис определения семантического соответствия – благодаря контекстному семантическому анализу, основанному на спецификации HTML 5.1, появилась возможность анализа страницы не только с точки зрения текста как соответствия порядка символов, но и смыслов заложенных в этот текст [9]. Так, нахождение ключевого слова в заголовке страницы принесет позитивное влияние на ранжирование, а попадание того же слова в раздел второстепенного контента – уменьшит его.
Сервис определения ссылочной массы – его специфическим отличием является подчиненное состояние двум, ранее предложенным компонентам. Помимо того, оценка ссылочной массы должна производиться через призму тематического соответствия. Так, например, в полезную ссылочную массу могут быть занесены только те ресурсы, в текст которых попадают ключевые слова исходного сайта.
Подобные решения, так или иначе, уже применяются на практике, но не в предложенном порядке приоритета. Алгоритмы ссылочного ранжирования хоть и претерпели изменения с развитием WWW, однако, проблемы, лежащие в фундаменте концепции, остаются не решенными.
- Игнорирование семантической роли текста на страницах
В традиционных системах процессы формирования информации для людей и поисковых машин различны. Для людей – в виде выдаваемого по запросу текстового, визуального или звукового контента, а для компьютеров в виде специальных машинных кодов. Как уже обозначено ранее, современный интернет плавно трансформируется в сторону семантического информационного пространства, позволяющего поисковым машинам “видеть” страницы сайтов так же как это делают люди, но так было далеко не всегда.
Даже пятая итерация базовой технологии разметки веб страниц опубликованная в 1999 году (HTML 4.01) не имела никаких семантических структур. Традиционные страницы формируются из тэгов – единиц разметки. Изначально, подобные единицы имели исключительно функциональный характер, как подключение стилей (<style>), скриптов (<script>) или изображений (<img>), однако были лишены семантической нагрузки. Текстовая часть страницы формировалась из абстракций – блоков (<div>), строк (<span>) или абзацев (<p>). Так даже важнейшие части документа, по типу контента страницы, были лишь абстрактными блоками.
В подобной ситуации поисковая машина лишена возможности ориентироваться в контексте, для нее любая часть страницы равнозначна. Отсутствие семантики в структуре вынуждало прибегать к специфическим алгоритмам с не всегда достаточным качеством выборки.
Однако, с приходом и распространением спецификации HTML5 ситуация коренным образом изменилась. В руках веб-девелоперов оказался инструмент создания семантической навигации. Приведем как пример новые семантические структуры: смысловые разделы документа (<section>), косвенный контент (<aside>), уникальный контент страницы (<main>).
Акцентирование внимания краулеров на семантической структуре документа позволит достичь ряда несомненных преимуществ, удобных не только для поисковых машин, но и для обыкновенных пользователей.
- Сложности в работе с SPA веб-ресурсами
Одной из самых острых и злободневных проблем рассматриваемой темы является формируемый диссонанс между прогрессивными, быстро развивающимися концепциями архитектуры новых веб-приложений и устоявшихся поисковых алгоритмов которым необходима универсальность.
Доминирующим подходом в работе веб-приложения на протяжении всей истории Интернета является Server-sideт rendering - серверный рендеринг.
В соответствие с подходом SSR веб страницы генерируются на стороне сервера, динамически собираясь из данных представленных в базе и общих шаблонов страниц. Контроллеры при этом выполняют роль промежуточной логики.
Так в результате выполнения HTTP запроса сервер выдает полностью сформированную HTML страницу со всем контентом браузеру клиента, который рисует ее, догружает медиа файлы.
Однако, с развитием стека веб-технологий и в частности ее клиентской частью (язык JavaScript) появилась возможность исключительно силами браузерных приложений управлять определением маршрутов (HistoryAPI) и работать с сервером исключительно как с источником данных (RestAPI). Подобный подход получил название Single page application [10].
С точки зрения проектирования, реализации и использования такие приложения во многом превосходят традиционный подход. SPA загружаются один раз и в дальнейшем лишь обновляют состояние без перезагрузки страницы. Подобные приложения хорошо инкапсулированы и слабо связаны с серверной частью.
Однако для поисковых роботов подобные сайты представляют огромную проблему. Дело в том, что для получения текстового контента из SPA необходимо интерпретация JS кода, которая и происходит в браузере клиента, однако для поисковых роботов интегрированная инфраструктура выполнения кода избыточна. Когда краулер переходит на сайт SPA он либо получает далеко не весь контент, расположенный на странице, либо блокирует страницу за чрезмерно долгую загрузку. Так, например поисковая машина Google (По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. ред) блокирует сайт, если его выполнение занимает более 5 секунд.
Освещенная выше ситуация приводит к серьезной проблеме – из поисковых агрегаторов выпадает целый пласт информационного пространства.
Результаты эксперимента
В поиске решения проблемы нами был проведен мини-эксперимент по интеграции в прототип собственного специализированного краулера стандартного интерпретатора браузера на движке Сhrome. Базовой технологией был выбран высокопроизводительный С# фреймворк WindowsPresentationFoundation и его компонентное решение WebView2 [11].
Через краулер был пропущен ряд ресурсов, построенных на SPA архитектуре. В таблице 1 приведены результаты скорости их загрузки в секундах:
Таблица 1.
Таблица скорости обработки SPA ресурсов
Название |
Время |
https://www.nintendo.com/ |
5.2 |
https://9gag.com/ |
9.3 |
https://www.ozon.ru/ |
4 |
Итоги эксперимента указывают на невозможность использования стандартных средств интерпретации SPA приложения в качестве инфраструктуры веб-краулеров. Подобный программный продукт, при средней скорости в 6.1 сек на страницу, на обработку лишь российского сегмента Википедии потратил бы > 11,7 лет. Дальнейшие решения обозначенной проблемы потребуют разработки и интеграции специфических интерпретаторов.
Выводы
- Подводя итоги можно сказать об огромной важности научной проработки и апробации проблем, связанных с информационным поиском достоверной информации на веб-ресурсах.
- Акцентирование внимания краулеров на семантической структуре документа позволит сблизиться поисковой машине и пользователю в восприятии контента веб-ресурса. Подобное изменение может кардинально повлиять на качество поисковой выдачи краулеров.
- Явное членение текстовой информации (определение заголовков разного уровня, разделов, приоритета блоков информации) безусловно, позитивно повлияет на человеческое восприятие контента.
- Приоритет в поисковой выдаче страницам с семантической структурой станет мощным толчком для перехода web-пространства к Web 3.0. Ранее исповедующие legacy подход ресурсы будут вынуждены обновить свою структуру [12].
- Кроме того, семантически нагруженная среда обеспечит в процессе поиска предпосылки к решению задачи автоматизации в оценке состояния самоорганизующихся интеллектуальных систем [13], что станет важным элементом динамической составляющей информационного пространства.
Список литературы
- Блеканов, И.C. Тематический краулинг на основе алгоритма HITS [Текст] / И.C. Блеканов, Д.C. Бондаренко // Научно-технические ведомости СПбГПУ. –2010. –№ 3 (101). –С. 111–118.
- Ландэ, Д. В. Интернетика : навигация в сложных сетях: модели и алгоритмы / Д. В. Ландэ, А. А. Снарский, И. В. Безсуднов ; Д. В. Ландэ, А. А. Снарский, И. В. Безсуднов. – Москва : URSS, 2009. – 258 с.
- Крамаров С. О., Храмов В. В., Гребенюк Е. В., Бочаров А.А. Основы эрготехнического подхода к формированию электронной образовательной среды // Монография. ООО "Издательский Центр РИОР". Москва. (2021). - 160 стр. DOI: 10.29039/02086-9
- Печников, А.А. Разработка инструментов для вебометрических исследований гиперссылок научных сайтов [Текст] / А.А. Печников, Н.Б. Луговая, Ю.В. Чуйко, И.Э. Косинец // Вычислительные технологии. –2009. – Т. 14. –№ 5. –С. 66–78
- Sang, Ho Lee. On URL normalization [Text] / Lee Sang Ho, Sung Jin Kim, SeokHoo Hong // Proc. of the Intern. Conf. on Computational Science and its Applications (ICCSA). –2005. –Vol. 2. –P. 1076–1085.
- Курейчик B. B. Алгоритмы разбиения графа на основе генетического поиска // Известия ЮФУ. Технические науки. 1999. №3. URL: https://cyberleninka.ru/article/n/algoritmy-razbieniya-grafa-na-osnove-geneticheskogo-poiska (Дата обращения: 12.02.2023)
- Пестерев П.В., Янишевская А.Г. Модель суммарной оценки сайта в сети Интернет на основе факторов ранжирования // ИВД. 2015. №3. URL: https://cyberleninka.ru/article/n/model-summarnoy-otsenki-sayta-v-seti-internet-na-osnove-faktorov-ranzhirovaniya (Дата обращения: 09.02.2023)
- Полякова О. С., Подлесный А. О. PageRank. Алгоритм ссылочного ранжирования // Наука и современность. 2013. №20. URL: https://cyberleninka.ru/article/n/pagerank-algoritm-ssylochnogo-ranzhirovaniya (Дата обращения: 27.01.2023)
- Степанов Алексей Владимирович Языки разметки. Часть 2: основные средства форматирования // КИО. 2008. №2. URL: https://cyberleninka.ru/article/n/yazyki-razmetki-chast-2-osnovnye-sredstva-formatirovaniya (Дата обращения: 28.01.2023)
- Газизуллин Нафис Инсафович, Плещинская Ирина Евгеньевна Разработка клиентской части веб-приложения с использованием технологий spa // StudNet. 2020. №8. URL: https://cyberleninka.ru/article/n/razrabotka-klientskoy-chasti-veb-prilozheniya-s-ispolzovaniem-tehnologiy-spa (Дата обращения: 29.01.2023)
- Ковальчук А. А., Павленко Е. П., Айвазов В. А. Применение программных технологий WPF и Silverlight при разработке информационных систем // ВЕЖПТ. 2009. №2 (37). URL: https://cyberleninka.ru/article/n/primenenie-programmnyh-tehnologiy-wpf-i-silverlight-pri-razrabotke-informatsionnyh-sistem (Дата обращения: 15.01.2023)
- Итинсон Кристина Сергеевна WEB 1.0, WEB 2.0, WEB 3.0: ЭТАПЫ РАЗВИТИЯ ВЕБ-ТЕХНОЛОГИЙ И ИХ ВЛИЯНИЕ НА ОБРАЗОВАНИЕ // КНЖ. 2020. №1 (30). URL: https://cyberleninka.ru/article/n/web-1-0-web-2-0-web-3-0-etapy-razvitiya-veb-tehnologiy-i-ih-vliyanie-na-obrazovanie (Дата обращения: 18.12.2022)
- Попов О.Р. Адаптация мировых практик к проблеме долгосрочного технологического прогнозирования состояния самоорганизующихся интеллектуальных систем // Интеллектуальные ресурсы – региональному развитию. 2021. № 2. С. 91–98.