УДК 004

ВЫДЕЛЕНИЕ КЛЮЧЕВОЙ ИНФОРМАЦИИ ПРИ СКРЕПИНГЕ САЙТОВ НА РУССКОМ ЯЗЫКЕ С ИСПОЛЬЗОВАНИЕМ GPT3 И ФРЕЙМВОРКА БОЛЬШИХ ДАННЫХ APACHE SPARK

№39,

Технические науки

Качанов Юрий Александрович


Научный руководитель: Кравченя П.Д., доцент.


Ключевые слова: НЕЙРОННЫЕ СЕТИ; БОЛЬШИЕ ДАННЫЕ; ОБОБЩЕНИЕ ТЕКСТА; ВЕБ-САЙТЫ; NEURAL NETWORKS; BIG DATA; TEXT SUMMARIZATION; WEBSITES.


Аннотация: В данной статье рассмотрен алгоритм дообучения нейронной сети GPT3 для русского языка и использование данной сети с вместе с фреймворком Apache Spark, который был создан для обработки больших данных во время скрепинга большого количества веб-страниц. В работе приведены описания используемых технологий и методы и алгоритмы для создания программной системы.

Введение

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

Нейронная сеть GPT3

GPT-3 (Generative Pre-trained Transformer 3) — это языковая модель, созданная OpenAI, исследовательской лабораторией искусственного интеллекта в Сан-Франциско. Модель глубокого обучения, которая содержит 175 миллиардов параметров способна создавать человекоподобный текст и была обучена на больших текстовых наборах данных с сотнями миллиардов слов [1].

GPT-3 по сути является моделью-трансформером. Модели-трансформеры — это модели глубокого обучения «последовательность за последовательностью», которые могут создавать последовательность текста на основе входной последовательности.
Для дообучения данной нейронной сети будет использоваться датасет собранный с сайта www.gazeta.ru. Датасет для обучения содержит 60964 записи с новостями за период с июня 2010 по декабрь 2019 включительно. Проверочный набор данных содержит 6369 записей и 6793 для тестового набора данных [2].

Использование технологии больших данных Apache Spark

Согласно Apache, Spark — это быстрый и универсальный механизм для крупномасштабной обработки данных. Spark может распределять обработку данных между огромным кластером компьютеров, беря задачу анализа данных, которая слишком велика для выполнения на одной машине, и разделяя ее между несколькими машинами, что приводит к увеличению скорости работы такого приложения [3].

Spark состоит из множества компонентов. Используя Spark Core, который отвечает за управление памятью, восстановлением после отказа, распределением задач на кластере и взаимодействием с различными системами хранения данными. Spark Core позволяет работать с объектами типа RDD (устойчивый распределенный набор данных), которые хранятся в оперативной памяти, что позволяет их обрабатывать параллельно. На рисунке 1 представлены основные модули фреймворка Apache Spark [4].


Рисунок 1 – Основные модули фреймворка Apache Spark

Apache Spark также включает в себя библиотеки для применения методов машинного обучения и анализа графов к данным в любом масштабе. Spark MLlib включает в себя платформу для создания конвейеров машинного обучения, позволяющую легко реализовать извлечение признаков, выборку и преобразование в любом структурированном наборе данных. MLlib поставляется с распределенными реализациями алгоритмов кластеризации и классификации, таких как кластеризация k-средних и случайные леса, которые можно легко переключать в пользовательские конвейеры и из них. Специалисты по данным могут обучать модели в Apache Spark с использованием R или Python, сохранять их с помощью MLlib, а затем импортировать в конвейер на основе Java или Scala для дальнейшего использования.

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


Рисунок 2 – Алгоритм работы приложения


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

  1. What is GPT-3 and why is it so powerful? | Towards Data Science | Towards Data ScienceURL: https://towardsdatascience.com/what-is-gpt-3-and-why-is-it-so-powerful-21ea1ba59811 (Дата обращения 30.08.2022).
  2. Gazeta Summaries | Kaggle URL: https://www.kaggle.com/datasets/phoenix120/gazeta-summaries
  3. Frank, K. Frank Kane’s Taming Big Data with Apache Spark and Python / Packt Publishing. Birmingham, 2017. -289 c.
  4. What is Apache Spark? The big data platform that crushed Hadoop | InfoWorld URL: https://www.infoworld.com/article/3236869/what-is-apache-spark-the-big-data-platform-that-crushed-hadoop.html (Дата обращения 31.08.2022).