Вы находитесь на странице: 1из 31

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего


образования «Самарский национальный исследовательский университет имени академика
С.П. Королева»
(Самарский университет)

Институт информатики и кибернетики

Кафедра информационных систем и технологий

ОТЧЕТ ПО ПРАКТИКЕ

Вид практики производственная


(учебная, производственная)

Тип практики научно-исследовательская работа


(в соответствии с ОПОП ВО)

Сроки прохождения практики: с 06.02.2023 по 05.05.2023


(в соответствии с календарным учебным графиком)

по направлению подготовки 09.03.01 Информатика и вычислительная техника


(уровень бакалавриата)
направленность (профиль) «Информационные системы»

Обучающийся группы № 6403-090301D_________________ Д.А. Фахрисламов


Руководитель практики,
доцент кафедры ИСТ, к.т.н. ______________________________ В.Г. Литвинов

Дата сдачи 05.05.2023


Дата защиты 05.05.2023

Оценка ___________________

Самара 2023
СОДЕРЖАНИЕ

1. Задание(я) для выполнения определенных видов работ, связанных с


будущей профессиональной деятельностью (сбор и анализ данных и
материалов, проведение исследований).
2. Описательная часть.
3. Заключение.
4. Список использованных источников.

2
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение


высшего образования «Самарский национальный исследовательский университет
имени академика С.П. Королева»
(Самарский университет)

Институт информатики и кибернетики

Кафедра информационных систем и технологий

Задание(я) для выполнения определенных видов работ, связанных с


будущей профессиональной деятельностью (сбор и анализ данных и
материалов, проведение исследований)

Обучающемуся ________Фахрисламову Даниилу Алексеевичу________


группы 6403-090301D
Направление на практику оформлено приказом по университету
от 03.02.2023 г. № 76-ПР
на_______кафедру информационных систем и технологий________________
(наименование профильной организации или структурного подразделения университета)

Тема НИР:_____«Исследование влияния новостной информации в сети______


_________________Интернет на изменения фондового рынка» _____________

Планируемые
результаты освоения Планируемые
образовательной результаты практики Содержание задания
программы
(компетенции)
ПК-2. Способен Знать: методологии и Разработать программную
разрабатывать модели технологии реализацию
компонентов разработки Web- информационной системы
информационных приложений и исследования влияния
систем, включая компонентов новостной информации в
модели баз данных и программных сети Интернет на
модели интерфейсов продуктов, в том изменения фондового

3
«человек - электронно- числе системных. рынка.
вычислительная Уметь: обосновывать
машина» выбор технологии Сделать описание
ПК-2.3. Разрабатывает разработки Web- программной реализации
Web-приложения, приложений и информационной системы
компоненты компонентов исследования влияния
программных программных новостной информации в
продуктов, в том числе продуктов, в том сети Интернет на
системных. числе системных. изменения фондового
Владеть: навыками рынка.
разработки Web-
приложений и
компонентов
программных
продуктов, в том
числе системных.
ПК-1. Способен Знать: методологию Провести
обосновывать проектирования экспериментальные
принимаемые программного исследования по проверке
проектные решения, обеспечения, эффективности
осуществлять программ проведения разработанного
постановку и отдельных этапов программного
выполнять работ и обеспечения
эксперименты по интегрирования информационной системы
проверке их программных исследования влияния
корректности и модулей. новостной информации в
эффективности Уметь: обосновывать сети Интернет на
ПК-1.1. Разрабатывает выбор методологии изменения фондового
требования для проектирования рынка.

4
проектирования программного
программного обеспечения, Сделать описание
обеспечения, программ программ проведения экспериментальных
проведения отдельных отдельных этапов исследований по проверке
этапов работ и работ и эффективности
интегрирует интегрирования разработанного
программные модули программных программного
модулей. обеспечения
Владеть: навыками информационной системы
проектирования исследования влияния
программного новостной информации в
обеспечения, сети Интернет на
программ проведения изменения фондового
отдельных этапов рынка.
работ и
интегрирования Сделать выводы по
программных результатам
модулей. экспериментов.

Дата выдачи задания 06.02.2023.


Срок представления на кафедру отчета по практике 05.05.2023

Руководитель НИР,
доцент кафедры ИСТ, к.т.н. ______________________________ В.Г. Литвинов
(подпись)

Задание принял к исполнению


обучающийся группы № 6403-090301D_________________ Д.А. Фахрисламов
(подпись)

5
ОПИСАТЕЛЬНАЯ ЧАСТЬ
1 Введение
Анализ новостной информации имеет важное значение для фондового
рынка, поскольку новости и события могут оказывать существенное
воздействие на цены акций и других инструментов. Среди важных событий,
которые могут повлиять на фондовый рынок, можно упомянуть:
− крупные сделки и слияния компаний;
− финансовые отчеты компаний;
− изменения в правительственной политике и регулировании;
− изменение общественного мнения об определенных решениях крупных
компаний.
Анализ новостной информации может помочь инвесторам и трейдерам
принимать рациональные решения по своим инвестициям. Он позволяет
получать не только информацию о событиях, но и их оценку, анализ и
прогнозы специалистов в различных областях и на разных уровнях. Создание
системы мониторинга новостных событий ведущих агрегаторов, доступной в
интернете информации, а также отбор и анализ социальных и мессенджерных
систем также помогают улучшить понимание влияния новостной информации
на фондовый рынок.
Использование алгоритмов машинного обучения и нейронных сетей, как
инструмента анализа текстовой информации имеет ряд преимуществ перед
традиционными средствами анализа:
− нейронные сети могут улучшить точность анализа текста за счет
использования множества слоев и алгоритмов машинного обучения. Они
могут использоваться для различных задач, таких как классификация текста,
именование именованных сущностей, извлечение информации и анализ
тональности;
− нейронные сети способны обрабатывать большие объемы текста за
относительно короткие промежутки времени. Это позволяет иметь дело с

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

7
2 Разработка программной реализации информационной системы
2.1 Архитектура системы
Архитектура программного обеспечения – это описание структуры
системы и ее компонентов на высоком уровне. Она определяет логику
компонентов и связи между ними, которые необходимы для написания кода.
Существует несколько наиболее распространенных типов архитектур, таких
как многоуровневая, событийно-ориентированная, микроядерная и
микросервисная архитектура.
Многоуровневая архитектура
Многоуровневая архитектура является одним из самых популярных
типов архитектур. Сетевая модель OSI - наиболее известный пример этой
архитектуры.
Данная архитектура предполагает, что система разделяется на несколько
уровней. Каждый уровень взаимодействует только со своими соседними
уровнями, что позволяет запросам к БД последовательно проходить сквозь
каждый уровень. Количество уровней не фиксировано, но наиболее часто
используют трехзвенные системы: с уровнем представления (клиентом),
уровнем логики и уровнем данных. Пример трехуровневой архитектуры
изображен на рисунке 1.

Рисунок 1 – Схема трехуровневой архитектуры

8
Преимуществом многоуровневой архитектуры является разделение
функционала между уровнями. Недостатки включают в себя:
− сложная организация кода из-за большого количества уровней
абстракции;
− низкая скорость работы из-за частых переходов между уровнями;
− сложность отладки.
Схема приложения с многоуровневой архитектурой может содержать
три, четыре, пять и более уровней [1].
Для реализации системы, было принято решение использовать
трехуровневую модель архитектуры, которая предполагает наличие трех
элементов в системе: клиента (конечного пользователя), сервера приложения
(обладает бизнес-логикой, хранит состояние приложения), к которому
подключено клиентское приложение и базы данных, с которой работает
сервер приложения [2]. На рисунке 2 приведена структурная схема
разрабатываемого веб-приложения.

Рисунок 2 – Структурная схема системы


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

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

10
Подсистема обучения моделей доступна только пользователям с ролью
«Администратор». Администратор может просмотреть все модели нейронных
сетей, которые он обучил, удалить уже обученную им модель, а также обучить
новую, прикрепив файл с данными для обучения.
Подсистема составления прогнозов доступна всем пользователям.
Пользователь может просмотреть все прогнозы, которые он сделал на
различных моделях нейронной сети, удалить уже сделанный им прогноз, а
также составить новый, введя нужные данные и прикрепив файл новостной
информации.
Подсистема обращения к серверной части позволяет посылать запросы к
серверной части приложения для взаимодействия с базой данных, сохранения
файлов и выполнения основных функций приложения.
2.2 Выбор комплекса программных средств
2.2.1 Выбор системы управления базами данных
Система управления базами данных (СУБД) – это комплекс
программных и лингвистических средств, позволяющих создавать базы
данных и управлять данными. СУБД является набором программ,
позволяющим организовывать, контролировать и администрировать базы
данных [3].
Для разработки веб-приложения была выбрана PostgreSQL. PostgreSQL -
свободная объектно-реляционная СУБД, которая поддерживает многие
возможности стандарта SQL:2011. Система работает на множестве платформ,
включая UNIX-подобные системы (AIX, различные BSD-системы, HP-UX,
IRIX, Linux, macOS, Solaris/OpenSolaris, Tru64, QNX) и Microsoft Windows.
Ключевыми преимуществами PostgreSQL являются
высокопроизводительные механизмы транзакций и репликации, возможность
расширения встроенных языков программирования, наследование, индексация
слабоструктурированных данных в JSON-формате, расширяемость в создании
пользовательских типов данных, создании индексов, языков

11
программирования, модулей расширения и подключения внешних источников
данных.
2.2.2 Выбор языка программирования
Для сбора данных, создания, обучения и использования нейронных
сетей и алгоритмов машинного обучения был использован язык Python.
Python – это высокоуровневый язык программирования общего
назначения, который разработан с упором на удобство и качество написанного
кода, а также на переносимость. Это полностью объектно-ориентированный
язык, где все элементы – объекты. Одна из особенностей синтаксиса Python
заключается в том, что блоки кода выделяются при помощи пробельных
отступов. Язык является интерпретируемым, и на практике редко возникает
необходимость обращаться к документации для ядра языка. Python зачастую
является более медленным и потребляет больше памяти, чем компилируемые
языки, например, C или C++ [4].
Python был выбран для данных целей, так как на его базе разработано
множество больших библиотек, которые позволяют удобно и эффективно
собирать, манипулировать данными, выполнять начальную обработку и
дальнейшее преобразование в вид, обрабатываемый алгоритмами машинного
обучения. Также Python-библиотеки позволяют быстро и гибко создавать, и
обучать модели нейронных сетей разных конфигураций и видов, а также
следить за нужными метриками прямо во время обучения, строить
соответствующие графики.
Для создания backend-части веб-приложения будет использоваться
Spring Framework - открытый фреймворк для Java-платформы. Spring
включает в себя множество фреймворков для выполнения различных функций
(например, SpringMVC для реализации шаблона проектирования Model-View-
Controller, Spring Security для обеспечения информационной безопасности и
Spring Data для доступа к базам данных). В приложении на основе Spring
объекты слабо связаны благодаря внедрению зависимостей, что обеспечивает

12
инверсию контроля и передачу функции установления необходимых
зависимостей контейнеру Spring.
Java – универсальный объектно-ориентированный язык со строгой
типизацией. В нём реализован принцип WORA (от английского: write once, run
anywhere). Это позволяет запускать приложения везде, где есть среда
исполнения JRE (от английского: Java Runtime Environment). Исходный
материал транслируется в байт-код, который обрабатывается виртуальной
машиной Java (JVM). При этом не имеет значения, какая операционная
система установлена на устройстве [5].
Для разработки пользовательского интерфейса был выбран Angular – это
бесплатная и открытая платформа для создания веб-приложений,
разработанная командой Google и сообществом разработчиков. Angular
является полностью переписанным фреймворком от той же команды, которая
создала AngularJS. Основным направлением работы фреймворка является
создание SPA-решений, то есть одностраничных приложений.
Angular разрабатывается с применением TypeScript – это расширение
языка программирования JavaScript, разработанное компанией Microsoft для
создания веб-приложений. TypeScript поддерживает обратную совместимость
с JavaScript и компилирует код в последний. Разработка TypeScript ведётся
публично на GitHub.
TypeScript – это язык программирования, разработанный компанией
Microsoft для создания веб-приложений. Он расширяет возможности
JavaScript, добавляя явную статическую типизацию, поддержку классов и
модулей, повышение скорости разработки и улучшение читаемости кода, а
также помогает находить ошибки на этапе разработки и компиляции.
TypeScript совместим с JavaScript [6].
2.2.3 Выбор среды программирования
Для создания веб-приложения была выбрана интегрированная среда
разработки, IntelliJ IDEA, от компании JetBrains. Она предназначена для
разработки корпоративных приложений и поддерживает множество
13
фреймворков и технологий для серверной и клиентской частей. IntelliJ IDEA
также включает инструменты для профилирования и работы с базами данных,
HTTP-клиент и другие функции. Среди особенностей IntelliJ IDEA Ultimate -
инструменты для анализа качества кода, удобная навигация, возможность
расширенных рефакторингов и форматирования для Java, HTML, CSS и
JavaScript, а также инструменты для работы с базами данных и SQL-файлами.
Интегрированная среда разработки также поддерживает запуск тестов и
анализ покрытия кода, в том числе для популярных фреймворков.
2.2.4 Средства моделирования
Средства моделирования – это разнообразные программные
инструменты, которые используются разработчиками для создания моделей
системы. Они позволяют визуализировать структуру и поведение системы и
проводить анализ и оптимизацию проекта разной сложности.
Средства моделирования могут быть простыми графическими
редакторами, а также мощными CASE-системами, которые поставляются с
широким набором инструментов для создания и анализа моделей разных
аспектов проекта.
Одним из наиболее распространенных средств моделирования является
язык UML (Unified Modeling Language), который позволяет специфицировать,
визуализировать, проектировать и документировать компоненты
программного обеспечения, бизнес-процессы и другие системы. UML
содержит несколько диаграмм, каждая из которых описывает конкретный
аспект системы, такой как структура системы, взаимодействие между
объектами, состояния, в которых может находиться объект в системе и многое
другое.
Для создания различных типов моделей используются интегрированные
среды разработки, такие как Draw.io, которые обеспечивают создание блок-
схем, интеллект-карт, отношений сущностей, программных блоков и многого
другого.

14
2.2.5 Выбор программных технологий
В качестве дополнительных инструментов в процессе разработки
выбраны следующие Python-библиотеки:
− NumPy (сокращенно от Numerical Python) – библиотека с открытым
исходным кодом для языка программирования Python, которая включает
поддержку многомерных массивов (включая матрицы) и высокоуровневых
математических функций, предназначенных для работы с многомерными
массивами [7];
− pandas – программная библиотека на языке Python для обработки и
анализа данных. Работа pandas с данными строится поверх библиотеки
NumPy, являющейся инструментом более низкого уровня. Предоставляет
специальные структуры данных и операции для манипулирования числовыми
таблицами и временными рядами [8];
− TensorFlow – открытая программная библиотека для машинного
обучения, разработанная компанией Google для решения задач построения и
тренировки нейронной сети с целью автоматического нахождения и
классификации образов, достигая качества человеческого восприятия.
Применяется как для исследований, так и для разработки собственных
продуктов Google [9];
− Keras – открытая библиотека, написанная на языке Python и
обеспечивающая взаимодействие с искусственными нейронными сетями. До
версии 2.3 (2019) поддерживались разные нейросетевые библиотеки — как
TensorFlow, Microsoft Cognitive Toolkit, Deeplearning4j, и Theano,
впоследствии сохранена только поддержка TensorFlow [10].
2.3 Разработка алгоритмов
2.3.1 Разработка нейронной сети для анализа эмоционального окраса
Для создания модели нейронной сети анализа эмоционального окраса и
дальнейшей оценки новостной информации была использована новостная
информация социальной сети «Твиттер». Основным источником данных для
обучения модели нейронной сети стал набор данных пользователя Kaggle
15
THORODINOVICH «Russian_twitter_sentiment», который содержит около
250 000 размеченных русских сообщений данной социальной сети.
Для решения данной задачи была использована рекуррентная нейронная
сеть долго-краткосрочной памяти.
Как большинство рекуррентных нейронных сетей, LSTM-сеть способна
выполнить любое вычисление, для которого есть соответствующая матрица
весов, которая может рассматриваться как программа. LSTM-сеть хорошо
подходит для обучения на задачах классификации, обработки и
прогнозирования временных рядов, которые имеют временные лаги или
неопределенные границы событий. В отличие от других рекуррентных
нейронных сетей, скрытых марковских моделей и других методов обучения
последовательностей, LSTM-сеть показывает меньшую чувствительность к
продолжительности временных отрезков. Это делает ее лучшим выбором для
различных задач прогнозирования и классификации в различных областях
применения.
Для использования исходного набора данных в используемой
архитектуре нейронной сети нужно сформировать тензор фиксированной
длины. Для этого требуется обработать каждое новостное сообщение
определенным образом:
− удалить все небуквенные символы;
− разделить сообщение на коллекцию слов;
− составить словарь фиксированной длины с самыми часто
встречающимися словами;
− в каждом сообщении заменить слова на цифровые значения,
соответствующие составленному словарю;
− дополнить нулями или обрезать все сообщения до выбранной
фиксированной длины одного сообщения.
Алгоритм предобработки данных для обучения изображен на рисунке 3.

16
Рисунок 3 – Алгоритм обработки данных для обучения, часть 1

17
Рисунок 4 – Алгоритм обработки данных для обучения, часть 2
После преобразования исходного набора данных мы получаем готовый к
применению тензор. Структура данной модели нейронной сети содержит:
− входной Embedding-слой, который на вход получает номера слов, а на
выходе выдаёт их векторные представления. Размерность входных данных –
количество слов в словаре, выходных данных – 128, а длина каждого вектора
равна выбранной максимальной длине одного сообщения;
− два идущих последовательно LSTM-слоя со 128 и 64 нейронами
соответственно.

18
− выходной полносвязный слой с двумя нейронами и многопеременной
логистической функцией активации (Softmax), которая принимает вектор
действительных аргументов и преобразует их в вектор, компоненты которого
заключены в диапазоне (0, 1), а их сумма равна 1. Одно значение отвечает за
позитивную составляющую новостного сообщения, а второй за негативную.
Чем ближе выходное значение к 1, тем больше соответствующего
эмоционального окраса у сообщения.
2.3.2 Разработка нейронной сети для прогнозирования стоимости акции
Для создания модели нейронной сети для прогнозирования стоимости
акции был использован набор данных о стоимости акций компании «Яндекс»
за 5 лет, а также собранной новостной информации о данной компании из
социальной сети «Twitter» за тот же промежуток времени, который будет
обработан с помощью обученной нейронной сети, описанной выше.
Структура исходного набора данных изображена на рисунке 4.

Рисунок 5 – Структура исходного набора данных


Для прогноза использовалось только значение цены закрытия, поэтому
остальная информация, кроме даты, была исключена. Далее для каждой даты
из данного набора данных была собрана информация из социальной сети
«Twitter» с упоминанием данной компании. После этого для каждого
новостного сообщения был проведен сентимент-анализ с использованием
рекуррентной нейронной сети долго-краткосрочной памяти, обученной ранее.
Результатом сентимент-анализа будет отношение позитивно-направленных
сообщений к негативным для каждой даты набора данных.
19
Чтобы избавится от обычных чисел, отражающих стоимость акций, и
перейти к конкретным характеристикам, найдем для каждой даты
относительный прирост стоимости за день, и далее преобразуем их в
финальный набор данных, где для каждого дневного прироста указаны
дневные приросты за ближайшие три дня, а также сентимент-анализ
новостной информации за ближайшую неделю. Структура финального набора
данных изображена на рисунке 5.

Рисунок 6 – Структура финального набора данных


Для решения данной задачи также была использована рекуррентная
нейронная сеть долго-краткосрочной памяти. Структура данной модели
нейронной сети содержит:
− входной слой, который принимает вектор из 10 значений (значения
сентимент-анализа за 7 дней и значения относительного прироста за 3 дня);
− один LSTM-слой со 128 нейронами;
− два последовательно идущих полносвязных слоя с 64 и 32 нейронами
соответственно, имеющие функцию активации ReLu, которая возвращает 0,
если принимает отрицательный аргумент, в случае же положительного
аргумента, функция возвращает само число;
− выходной слой с одним нейроном, который и будет генерировать
прогноз прироста стоимости акций.

20
3 Проведение и описание экспериментальных исследований по проверке
эффективности разработанного программного обеспечения
3.1 Проведение полного цикла работы программы
Проведем полный цикл работы программы для оценки эффективности
разработанной системы, включая анализ производительности с помощью
программы JProfiler.
При первом открытии приложения пользователю будет показан экран
авторизации. Экранная форма авторизации изображена на рисунке 7.

Рисунок 7 – Экранная форма авторизации


При нажатии на кнопку «Регистрация» пользователь попадает на экран
регистрации. Экранная форма регистрации изображена на рисунке 8.

Рисунок 8 – Экранная форма регистрации

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

Рисунок 9 – Экранная форма прогнозов


После нажатия на кнопку «Сделать прогноз» появится модальная форма
для добавления нового прогноза. Модальная форма добавления прогноза
изображена на рисунке 10.

Рисунок 10 – Модальная форма добавления прогноза


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

22
для прикрепления можно просмотреть, нажав соответствующую кнопку.
Прикрепление файла изображено на рисунке 11.

Рисунок 11 – Прикрепление файла


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

Рисунок 12 – Созданный прогноз

23
При нажатии на кнопку «Удалить» выведется модальное окно
подтверждения удаления прогноза. Модальное окно подтверждения удаления
прогноза изображено на рисунке 13.

Рисунок 13 – Подтверждение удаления прогноза


При попытки обычного пользователя получить доступ к разделу
моделей будет выведено предупреждение о недостатке прав доступа.
Предупреждение изображено на рисунке 14.

Рисунок 14 – Предупреждение
Авторизовавшись как администратор, пользователь может получает
доступ к разделу моделей, где перечислены все модели, которые были
обучены данным пользователем. Экранная форма раздела моделей изображена
на рисунке 15.

24
Рисунок 15 – Экранная форма раздела моделей
При нажатии на кнопку «Обучить» откроется модальная форма
добавления новой модели. Экранная форма добавления модели изображена на
рисунке 16.

Рисунок 16 – Экранная форма добавления модели


После нажатия на кнопку «Обучить» файл будет загружен на серверную
часть приложения, а также будет выполнен запуск обучения модели
нейронной сети. После ответа серверной части вновь обученная модель будет
отображена в списке. Созданная модель изображена на рисунке 17.

25
Рисунок 17 – Добавленная модель
При нажатии на кнопку «Настройка пользователей» откроется
модальная форма для наделения обычных пользователей ролью
администратора. Модальная форма для наделения пользователей ролью
администратора изображена на рисунке 18.

Рисунок 18 – Модальная форма для наделения пользователей ролью


администратора
Разработанная система выполняет все требуемые задачи по
исследованию влияния новостной информации в сети интернет на состояние

26
фондового рынка: составление прогнозов акций на основании новостной
информации и обучение новых моделей с помощью разных наборов данных.
3.2 Оценка эффективности и производительности
Измерим эффективность проекта, используя программу JProfiler,
которая позволяет узнать количество используемой памяти, время обработки
запросов с клиента и сколько процентов загрузки ЦП приходится на проект.
Время вызовов изображено на рисунке 19.

Рисунок 19 – Время вызовов


Рассмотрим занимаемое количество памяти классами системы. Данные
изображены на рисунке 20.

Рисунок 20 – Занимаемое количество памяти классами системы


27
С помощью анализатора памяти оценим затраты памяти и проведем
проверку производительности ЦП. Результаты анализа представлены на
рисунках 21-22.

Рисунок 21 – Производительность для памяти

Рисунок 22 – Производительность для ЦП


В ходе анализа памяти и ЦП утечек не обнаружено.

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

29
ЗАКЛЮЧЕНИЕ

В процессе выполнения научно-исследовательской работы были


освоены индикаторы ПК-1.1, ПК-2.3 компетенций ПК-1 и ПК-2, и решены все
поставленные задачи:
- была разработана программная реализация информационной системы
исследования влияния новостной информации в сети Интернет на изменения
фондового рынка;
- было сделано описание программной реализации информационной
системы исследования влияния новостной информации в сети Интернет на
изменения фондового рынка;
- были проведены экспериментальные исследования по проверке
эффективности разработанного программного обеспечения информационной
системы исследования влияния новостной информации в сети Интернет на
изменения фондового рынка;
- было сделано описание экспериментальных исследований по проверке
эффективности разработанного программного обеспечения информационной
системы исследования влияния новостной информации в сети Интернет на
изменения фондового рынка;
- были сделаны выводы по результатам экспериментов.

30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Кратко о типах архитектур программного обеспечения. Хабр
[Электронный ресурс]. URL: https://habr.com/ru/company/1cloud/blog/424911/
(дата обращения: 01.05.2023).
2 Трехуровневая архитектура приложения. [Электронный ресурс]
URL: https://it-matika.pro/blog/novye-it-terminy/trehurovnevaya-arhitektura-
prilozheniya (дата обращения: 01.05.2023).
3 Понятие СУБД [Электронный ресурс] URL:
http://www.bseu.by/it/tohod/lekcii5.htm (дата обращения: 01.05.2023).
4 Python [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/Python (дата обращения: 01.05.2023).
5 Java [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/Java
(дата обращения: 01.05.2023).
6 TypeScript [Электронный ресурс] URL:
mailto:https://tproger.ru/translations/course-on-typescript/ (дата обращения:
01.05.2023).
7 NumPy [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/NumPy (дата обращения: 01.05.2023).
8 pandas [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/Pandas (дата обращения: 01.05.2023).
9 TensorFlow [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/TensorFlow (дата обращения: 01.05.2023).
10 Keras [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/Keras (дата обращения: 01.05.2023).

31

Вам также может понравиться