Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

DATA PARSING TECHNOLOGY USING A NEURAL NETWORK AND A WEB DRIVER ALGORITHM

Egarmin P.A. 1 Panov R.E. 1 Akhmatshin F.G. 1 Egarmina A.P. 1 Zolotuhina I.T. 1
1 Lesosibirsk Branch of Reshetnev Siberian State University of Science and Technology
1268 KB
Parsing technology is used in information services or applications to automatically collect data from various sources on the Internet for subsequent processing and analysis. However, a number of disadvantages can be identified in the work of traditional parsers: the complexity of working with sites containing dynamic elements; limitations in extracting information with subsequent data structuring. Data parsing technology using a neural network and a web driver can solve these problems. Using a web driver will allow you to correctly handle dynamic elements of web pages and get up-to-date data after they are loaded. Accessing the neural network during parsing can improve the accuracy of data extraction from irregular and complex pages, and structure the information obtained from primary parsing. The application developed on the basis of technology can be adapted to solve problems in various subject areas: employment services (search for relevant vacancies, taking into account existing competencies), university admissions committees (search for potential applicants), real estate companies (parsing communities of social networks and real estate sites in order to study the real estate market and the subsequent formation of announcements about real estate sales).
parsing
neural network
web driver
data classification

В настоящее время получение и анализ данных с веб-страниц являются неотъемлемой частью многих задач в области информационных технологий и бизнеса: финансовая аналитика (изучение котировок акций, новостей о компаниях, данных отчетности), академические исследования (получение данных опубликованных исследований, связанных с определенной тематикой), социальные медиа (изучение новостей, блогов, интернет-рекламы) [1–4].

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

− получение данных с динамических веб-страниц. Большинство веб-страниц меняют свое содержимое с течением времени или в результате действий пользователя. При изменении содержимого страницы меняется и ее код. Это приводит к тому, что парсер «не видит» изменения и пропускает новые данные;

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

Технология парсинга с использованием нейросети и веб-драйвера позволит:

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

− выполнить обработку данных сложной структуры. Парсинг, сочетаемый с возможностями нейросетей [6], может быть использован для поиска изображений, глубокого анализа текстов, записанных на естественном языке. Нейросеть способна помочь в извлечении значимых признаков собранных данных.

Цель исследования – создание десктопного приложения, осуществляющего парсинг данных с применением нейросети и алгоритма web-драйвера.

Задачи работы:

1) разработка алгоритма работы парсера;

2) проектирование архитектуры приложения;

3) реализация парсера на платформе .NET;

4) интеграция веб-драйвера в программный алгоритм парсера;

5) интеграция нейросети в программный алгоритм парсера;

6) разработка модуля фильтрации данных;

7) проектирование пользовательского интерфейса;

8) тестирование и внедрение приложения в риелторскую организацию.

Материал и методы исследования

Для реализации технологии были выбраны язык программирования C#, набор библиотек Selenium WebDriver и модель нейросети OpenAI ChatGPT 3.5 Turbo (табл. 1).

Selenium WebDriver – набор программных библиотек для автоматизации действий браузера, включающий:

− функции для работы с динамическими сайтами с технологиями AJAX, JavaScript;

− поддержку браузеров: Google Chrome, Firefox, Safari, Microsoft Edge, Opera и др.;

− простой и понятный API для автоматизации действий браузера;

− поддержку современных языков программирования, таких как Java, C#, Python, JavaScript.

Выбор ChatGPT 3.5 Turbo обусловлен следующими причинами:

− модель является одной из последних версий GPT от OpenAI, способной генерировать качественные и связные тексты. Все это позволяет использовать ее для обработки и генерации текстовых данных, полученных парсером [7];

− модель основана на непрерывном обучении от OpenAI, то есть продолжает улучшаться и получать обновления [8].

В качестве языка программирования выбран объектно-ориентированный язык C# платформы .NET, включающий:

− интеграцию с .NET Framework и .NET Core;

− набор библиотек, которые обеспечивают работу с веб-сервисами, обработку JSON, работу с базами данных.

Результаты исследования и их обсуждении

Технология парсинга данных с использованием нейросети и веб-драйвера была успешно использована при создании парсера для агентства недвижимости. Основные возможности парсера:

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

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

− определение ключевых характеристик объявления: тип жилья, количество комнат, наличие изображений;

− группировка файлов по ключевым характеристикам объявления.

Таблица 1

Инструменты, используемые для реализации технологии

Наименование инструмента

Тип программного обеспечения

Возможности

Selenium WebDriver

Бесплатный

Широкая поддержка браузеров и языков программирования

OpenAI ChatGPT 3.5 Turbo

Условно бесплатный

Генерация и классификация текста

C#

Бесплатный

Широкий набор библиотек по работе с веб-сервисами и обработке данных

missing image file

Рис. 1. Алгоритм работы парсера с веб-драйвером и нейросетью

На рисунке 1 представлен алгоритм работы парсера.

На первом этапе веб-драйвер открывает целевую веб-страницу, эмулирует действия пользователя, загружает все данные с веб-страницы, включая изображения и текстовое описание. Кроме того, веб-драйвер позволяет получать данные, обращаясь к HTML-элементам с помощью CSS-селекторов, XPath-запросов или названий классов HTML-элементов (рис. 2). За счет этого происходит возникновение событий в коде страницы (рис. 3), предоставляющих доступ к данным, недоступным при классическом парсинге.

Далее, на основе полученных данных, формируются запросы к нейросети, которая анализирует и классифицирует их по ключевым характеристикам – типу жилья, количеству комнат. Запросы представляют собой наборы данных, состоящих из следующих пар: «входные данные HTML-кода» и «ожидаемый результат» или «полученные данные из первичного HTML-парсинга» и «ожидаемый результат». Модель анализирует загруженный HTML-код или результат первичного парсинга и находит соответствующие элементы, которые нужно извлечь (рис. 4).

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

missing image file

Рис. 2. Фрагмент кода с извлечением текстового содержания объявления

missing image file

Рис. 3. Метод, содержащий логику работы веб-драйвера при листинге страницы

missing image file

Рис. 4. Фрагмент кода для определения типа жилья в объявлении

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

missing image file

Рис. 5. Вторичный парсинг данных

Заключение

Описанный метод парсинга имеет ряд преимуществ:

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

− расширенная функциональность: использование нейросети даст возможность расширить функциональность парсера, например выполнять семантический анализ текстов;

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

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

Работа выполнена при поддержке Краевого государственного автономного учреждения «Красноярский краевой фонд поддержки научной и научно-технической деятельности».