Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9074
Title: Програмний агент для аналізу повідомлень у соціальних мережах
Authors: Голуб, Сергій Васильович
Романенко, Антон Ігорович
Keywords: Атрибуція текстів;контент аналіз;словники ознак;моделі-класифікатори;метод групового урахування аргументів;програмний агент
Issue Date: 31-Jan-2023
Abstract: АНОТАЦІЯ Романенко Антон Ігорович, кваліфікаційна робота магістра на тему: “Програмний агент для аналізу повідомлень у соціальних мережах”. Напрям підготовки 121 “Інженерія програмного забезпечення”, ЧДТУ, Черкаси 2022. В даній кваліфікаційній роботі магістра проводиться дослідження процесу атрибуції текстів, методи та способи розв’язання поставлених задач, необхідні інструменти, варіанти покращення ефективності результатів досліджень. Розробляється програмне забезпечення-агент, яке буде розпізнавати текстові повідомлення, створювати словники ознак та порівнювати їх з вже існуючими. Результат порівняння буде виводити в вигляді масиву вхідних даних формату excel-таблиці. Обсяг роботи – 59 сторінок, вона містить перелік умовних позначень, вступ, 4 розділи, висновки. В яких є 27 ілюстрації, 2 таблиці та 16 джерел в переліку посилань. Використані програмні засоби – Microsoft Visual Studio, Git, Figma, Lucidchart.
URI: https://er.chdtu.edu.ua/handle/ChSTU/9074
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)

Files in This Item:
File Description SizeFormat 
Кваліфікаційна робота магістра Романенко Антон Ігорович.pdf
  Restricted Access
1.67 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
Факультет інформаційних технологій і систем 
Кафедра програмного забезпечення автоматизованих систем 
ПОЯСНЮВАЛЬНА ЗАПИСКА 
до кваліфікаційної роботи 
«магістра» 
освітній рівень 
на тему: Програмний агент для аналізу повідомлень у соціальних мережах 
 
Виконав: cтудент 2 курсу, групи МПЗ-2104 
Напряму підготовки: 
121“Інженерія програмного забезпечення” 
(шифр і назва напряму підготовки) 
___                               
Студент                        Романенко А. І.             . 
(прізвище та ініціали)  -----       
Керівник                 Голуб С.В.                        
(прізвище та ініціали)  ----- 
Рецензент  __________________________ 
(прізвище та ініціали)  ----- 
Черкаси 2022 
  
 
АНОТАЦІЯ 
Романенко Антон Ігорович, кваліфікаційна робота магістра на тему: 
“Програмний агент для аналізу повідомлень у соціальних мережах”. 
Напрям підготовки 121 “Інженерія програмного забезпечення”, ЧДТУ, 
Черкаси 2022. В даній кваліфікаційній роботі магістра проводиться 
дослідження процесу атрибуції текстів, методи та способи розв’язання 
поставлених задач, необхідні інструменти, варіанти покращення 
ефективності результатів досліджень. Розробляється програмне 
забезпечення-агент, яке буде розпізнавати текстові повідомлення, 
створювати словники ознак та порівнювати їх з вже існуючими. Результат 
порівняння буде виводити в вигляді масиву вхідних даних формату excel-
таблиці.  
Обсяг роботи – 59 сторінок, вона містить перелік умовних позначень, 
вступ, 4 розділи, висновки. В яких є 27 ілюстрації, 2 таблиці та 16 джерел в 
переліку посилань.  
Використані програмні засоби – Microsoft Visual Studio, Git, Figma, 
Lucidchart. 
Ключові слова 
Атрибуція текстів, контент аналіз, словники ознак, моделі-
класифікатори, метод групового урахування аргументів, програмний агент.  
1 
ЗВІТ 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ 5 
ВСТУП 6 
Актуальність теми 6 
Зв’язок з науковими програмами, планами, темами 6 
Мета і завдання досліджень 6 
Об’єкт досліджень 7 
Предмет досліджень 7 
Методи досліджень 7 
Наукова новизна одержаних результатів 7 
Практична значимість отриманих результатів 7 
РОЗДІЛ 1 - ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ 
ПОСТАВЛЕНИХ ЗАВДАНЬ 9 
РОЗДІЛ 2 - ТЕОРЕТИЧНІ ТА ЕКСПЕРИМЕНТАЛЬНІ 
ДОСЛІДЖЕННЯ 11 
2.1 Теоретичні дослідження 11 
2.1.1 Задача атрибуції текстів 11 
2.1.2 Методи розв’язання задачі атрибуції текстів 11 
2.1.2.1 Контент-аналіз (слів) 11 
2.1.2.2 Машинне навчання  (знаків) 12 
2.1.3 Методи формування словників ознак (переліку інформативних 
параметрів) 13 
2.1.3.1 Формування переліку тематичних слів 13 
2.1.3.2 Формування переліку знаків 14 
2.1.4 Функціональна схема процесу формування словників ознак, що 
використовується у цій роботі 15 
2.1.4.1 Формування класів текстів для навчання моделей (клас 
чоловічих текстів; клас текстів, автори яких жінки) 15 
2.1.4.2 Виділення вікон у текстах 16 
2.1.4.3 Декомпозиція вікон до окремих знаків та конструювання 
ознак (поєднанням знаків. Подати принцип а не надавати перелік 
ознак) 17 
2.1.5. Побудова профільованих словників ознак 17 
2.1.5.1 Профілювання словників за максимальним значенням 
інформативності ознаки 17 
2 
2.1.5.2. Профілювання словників за усередненим значенням 
інформативності ознаки 17 
2.1.6 Синтез моделей-класифікаторів. Метод групового урахування 
аргументів (МГУА) 18 
2.2. Експериментальні дослідження 19 
2.2.1 Побудова класів для навчання моделей 19 
2.2.2 Побудова первинного опису тексту та масиву вхідних даних 20 
2.2.3 Випробування моделей-класифікаторів 24 
2.2.4 Висновки експериментальних досліджень 27 
РОЗДІЛ 3 - ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У 
ПРАКТИКУ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 
ІНФОРМАЦІЙНИХ СИСТЕМ 29 
3.1 Моделювання предметної області 48 
3.1.1 Предметна область моделювання. Модель предметної області. 
Словник предметної області 48 
3.1.2 Елементи моделювання предметної області 30 
3.1.3 Робоча область моделювання 48 
3.2 Формування та аналіз вимог 48 
3.2.1 Первинні вимоги замовника 32 
3.2.2 Детальні вимоги розробника 32 
3.2.3 Функціональні вимоги 33 
3.2.4 Нефункціональні вимоги 34 
3.2.4.1 Вимоги до продукту 34 
3.2.4.2 Організаційні вимоги 34 
3.2.4.3 Зовнішні вимоги 34 
3.2.5 Аналіз вимог за допомогою діаграми прецедентів 48 
3.2.6 Проектування логічної структури програмного комплексу 48 
3.2.6.1 Діаграми класів 48 
3.2.6.2 Діаграми пакетів 48 
3.2.7 Архітектурне проектування 48 
3.2.7.1 Компоненти системи 45 
3.2.7.2 Розгортання програмної системи на апаратних засобах. 
Діаграма розгортання 48 
3.2.8 Моделювання поведінки системи 48 
3.2.8.1 Діаграма діяльності 48 
3.2.8.2 Діаграма послідовності 48 
3.2.8.3 Діаграма комунікації 48 
3 
3.2.8.4 Діаграма скінченного автомату 48 
РОЗДІЛ 4 - РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО 
ЗАБЕЗПЕЧЕННЯ 56 
4.1 Розробка програмного комплексу 56 
4.1.1 Обґрунтування вибору засобів реалізації 56 
4.1.2 Опис структурної (функціональної) схеми 56 
4.1.3 Опис логічної схеми системи 56 
4.1.4 Розробка бази даних 56 
4.1.5 Розробка інтерфейсу користувача 53 
4.1.6 Опис розробки програмних компонентів 56 
4.2 Тестування системи 56 
4.2.1 Модульне тестування 56 
4.2.2 Інтеграційне тестування 56 
4.2.3 Системне та приймальне тестування 56 
ВИСНОВКИ 57 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 58 
 
  
4 
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ 
1. МІД - межа інформативної достатності. 
2. МВД - масив вхідних даних. 
3. ПЗ - програмне забезпечення. 
4. ООП - об’єктно-орієнтоване програмування. 
5. UI - user interface - інтерфейс користувача. 
6. TF - term frequency - частота терміну. 
7. IDF - inverse document frequency - інверсійна частота документа. 
8. МГУА - метод групового урахування аргументів. 
9. UML - Unified Modeling Language - єдина мова моделювання. 
10. WPF - Windows Presentation Foundation.  
5 
ВСТУП 
Актуальність теми 
Соціальні мережі були розроблені, щоб об’єднувати людей в 
Інтернеті, але їх також використовували для здійснення операцій впливу з 
метою маніпулювання суспільством. Розгортання соціальних ботів є одним 
із найефективніших засобів поляризації та дестабілізації платформ, що 
може використовуватись в цілях шахрайства або проведення інформаційно-
психологічних операцій. Контент-аналіз допомагає в виявленні подібних 
випадків, виділяючи написані тексти з однаковим першоджерелом. 
Актуальність теми полягає у потребі піддавати інтелектуальному аналізу 
короткотривалі текстові повідомлення соціальних мереж. На сьогодні існує 
гостра потреба у створенні програмних агентів, які здатні забезпечити 
моніторинг повідомлень у соціальних мережах як ефективного інструменту 
для ведення інформаційної війни. 
Зв’язок з науковими програмами, планами, темами 
Дана  тема дослідження зв’язана з навчальною програмою підготовки 
спеціальності  «Інженерія Програмного Забезпечення», так як в основі теми 
лежить дослідження, проектування та розробка програмного забезпечення 
(агенту) для розпізнавання текстів повідомлень. 
 
Мета і завдання досліджень 
Метою дослідження є: 
- удосконалення процесу формування вимог до програмного агента 
шляхом дослідження процесу класифікації текстових повідомлень у 
соціальних мережах. 
Завданням дослідження є: 
- дослідити існуючі словники текстових ознак; 
6 
- дослідити процес профілізації словника ознак для формування 
масиву вхідних даних програмного агента-класифіктора текстів; 
- визначити метод декомпозиції друкованих текстів; 
- дослідити процеси побудови точок спостереження у масивах вхідних 
даних; 
- побудувати модель формування масиву вхідних даних; 
- побудувати програмний агент для інтелектуального аналізу 
короткотривалих повідомлень у соціальних мережах у формі 
друкованих текстів. 
Об’єкт досліджень 
 Технологія агентного програмування, процес перетворення текстових 
повідомлень. 
Предмет досліджень 
 Процес формування вимог до програмного забезпечення для 
побудови засобу класифікації текстових повідомлень у соціальних 
мережах. 
Методи досліджень 
Системний аналіз, індукція, класифікація, контент аналіз. 
Наукова новизна одержаних результатів 
 Удосконалено метод формування масиву вхідних даних за рахунок 
усереднення оцінки інформативності ознак. Це дозволяє підвищити 
адекватність моделей-класифікаторів та збільшити кількість правильно 
класифікованих текстових повідомлень. 
Практична значимість отриманих результатів 
 Отримані результати дозволяють програмно реалізувати технологію 
інтелектуального моніторингу друкованих текстових повідомлень. 
7 
Розроблено процес побудови підсистеми формування первинного опису для 
синтезатора моделей програмного агента для класифікації друкованих 
текстових повідомлень.  
8 
РОЗДІЛ 1 - ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ 
РОЗВ’ЯЗАННЯ ПОСТАВЛЕНИХ ЗАВДАНЬ 
Атрибуція тексту відноситься до процесу ідентифікації автора або 
джерела певного тексту. Існує кілька методів і засобів атрибуції тексту, 
зокрема:  
Стилометрія: цей метод використовує різні лінгвістичні та 
статистичні методи для аналізу стилю написання тексту та порівняння його 
з іншими відомими текстами для ідентифікації автора.  
Лексикометрія: цей метод порівнює лексику, граматику та синтаксис 
тексту з іншими відомими текстами, щоб ідентифікувати автора. Аналіз 
вмісту: цей метод вивчає теми, ідеї та інший вміст, наявний у тексті, щоб 
ідентифікувати автора.  
Позначення джерела: цей метод порівнює текст із відомими 
джерелами, щоб ідентифікувати автора. Перевірка авторства: цей метод 
перевіряє авторство тексту шляхом порівняння його з відомим текстом, 
написаним тим самим автором.  
Цифровий відбиток пальця: цей метод використовує цифрові методи, 
такі як хеш-функції, щоб створити унікальний цифровий відбиток для 
тексту, який можна використовувати для ідентифікації автора чи джерела.  
Машинне навчання: цей метод використовує алгоритми та моделі для 
аналізу тексту та ідентифікації автора. Для різних типів текстів можуть 
знадобитися різні методи атрибуції, і для більш точних результатів можна 
використовувати комбінацію методів. Варто зазначити, що атрибуція 
тексту не є досконалою наукою, і в деяких випадках її важко визначити зі 
100% точністю. 
Також методи атрибуції розділяють за рівнем дослідження тексту: 
пунктуаційні, орфографічні, синтаксичні, лексико-фразеологічні та 
стилістичні. [7,8,9] 
9 
- Пунктуаційний рівень допомагає виявити особливості 
вживання автором знаків пунктуації, характерні помилки. 
- Орфографічний рівень виявляє характерні помилки в написанні 
слів. 
- Синтаксичний рівень дозволяє визначити особливості 
побудови речень, такі як мовні конструкції, часи, вживання 
активного і пасивного станів дієслів, порядок слів, характерні 
синтаксичні помилки. 
- Лексико-фразеологічний рівень визначає словниковий запас 
автора,особливості використання слів і виразів, схильність до 
вживання рідкісних іноземних слів, діалектизмів, архаїзмів, 
неологізмів, професіоналізмів,арготизмів, навички 
застосування фразеологізмів, прислів'їв, приказок, «крилатих 
виразів» і т.д. 
- Стилістичний рівень дозволяє визначити жанр, загальну 
структуру тексту, для літературних творів сюжет, характерні 
засоби (метафора, іронія,алегорія, гіпербола, порівняння), 
стилістичні фігури (градація, антитеза,риторичне питання і 
т.д.), інші характерні мовні прийоми. 
  
10 
РОЗДІЛ 2 - ТЕОРЕТИЧНІ ТА ЕКСПЕРИМЕНТАЛЬНІ 
ДОСЛІДЖЕННЯ 
2.1 Теоретичні дослідження 
2.1.1 Задача атрибуції текстів 
Атрибуція текстів - це задача визначення автора тексту. Може бути 
корисною для виявлення плагіату, визначення авторського права та інших 
правових питань. Атрибуція текстів може використовуватися для 
покращення систем пошуку та відбору інформації. Наприклад, можливість 
виділити тексти, які написані одним автором, може допомогти системі 
пошуку знайти більш релевантні результати. Атрибуція текстів може 
використовуватися у машинному навчанні для створення систем 
автоматичного класифікування текстів, які використовують інформацію 
про автора як один з признаків. 
2.1.2 Методи розв’язання задачі атрибуції текстів 
       2.1.2.1 Контент-аналіз (слів) 
Контент-аналіз слів — це метод атрибуції тексту, який базується на 
аналізі лексики тексту. Ідея цього методу полягає в тому, що кожен автор 
має унікальний стиль письма, який відображається в словах і фразах, які він 
використовує.  
Зокрема, етапи контент-аналізу слів можуть включати: 
- Підготовка: Створення словника кожного автора, який містить 
інформацію про слова та фрази, які вони часто використовують 
у своїх текстах.  
- Попередня обробка: Очищення тексту від стоп-слів, створення 
основи та токенізація тексту, залишаючи лише ключові слова 
11 
тексту. Порівняння: порівняння словникового запасу тексту зі 
словниковим запасом кожного автора в базі даних, щоб 
визначити, який із них найкраще підходить до тексту.  
- Визначення: Визначення автора тексту за отриманою 
інформацією.  
Варто зазначити, що контент-аналіз слів може бути недостатнім для 
атрибуції тексту, оскільки інші фактори, такі як структура речення, 
граматика та стиль, також можуть впливати на результат. Крім того, 
результати є надійними лише за наявності достатньо великого зразка тексту 
для автора. 
       2.1.2.2 Машинне навчання  (знаків) 
Машинне навчання (знаків) як метод атрибуції тексту – це підхід, 
який використовує алгоритми машинного навчання для аналізу атрибутів 
рівня символів тексту, щоб визначити автора тексту.  
Зокрема, етапи методу машинного навчання можуть включати:  
- Попередня обробка: очищення та нормалізація тексту, щоб 
видалити будь-який небажаний шум або варіації.  
- Виділення функцій: вилучення з тексту характеристик на рівні 
символів, таких як n-грами символів, середня довжина слова та 
використання пунктуації.  
- Навчання моделі: навчання моделі машинного навчання на 
позначеному наборі даних текстів, де тексти позначені 
відомими авторами.  
- Атрибуція: використання навченої моделі для передбачення 
автора невидимого тексту на основі його характеристик на рівні 
персонажа.  
Цей підхід використовує алгоритми машинного навчання, щоб 
вивчати стиль написання авторів, аналізуючи те, як автори використовують 
12 
символи, знаки пунктуації та інші синтаксичні елементи. Метод є корисний 
у випадку авторів, які мають подібний стиль написання, або коли вибірка 
тексту надто мала, щоб покладатися на контент-аналіз слів. Варто 
зазначити, що підхід потребує великого набору даних з мітками для 
навчання моделі, і результати є надійними, лише якщо зразок тексту 
достатньо великий і автори мають чіткий стиль написання на рівні 
символів. 
2.1.3 Методи формування словників ознак (переліку 
інформативних параметрів) 
       2.1.3.1 Формування переліку тематичних слів 
Існує кілька методів формування списку тематичних слів для аналізу 
вмісту, деякі з них:  
- Створення вручну: цей метод передбачає ручний вибір 
релевантних слів і фраз, пов’язаних із темою тексту. Це можна 
зробити, прочитавши текст і визначивши ключові терміни та 
поняття, які часто вживаються.  
- Підхід на основі словника: цей метод передбачає використання 
попередньо визначеного словника слів, пов’язаних із темою 
тексту. Цей словник може бути створений фахівцями в цій 
галузі або він може бути отриманий з існуючих ресурсів, таких 
як WordNet або Wikipedia.  
- Техніки аналізу тексту: цей метод передбачає використання 
методів аналізу тексту, таких як термін частотно-інверсна 
частота документа (TF-IDF) або латентний семантичний аналіз 
(LSA) для визначення ключових термінів у тексті. Ці методи 
аналізують текст і виділяють слова та фрази, які найбільше 
відповідають темі тексту.  
13 
- Підхід на основі машинного навчання: цей метод передбачає 
використання алгоритмів машинного навчання, таких як 
кластеризація або моделювання тем, для автоматичного 
визначення тем у тексті. Ці алгоритми можна навчити на наборі 
даних позначених текстів і можуть ідентифікувати теми на 
основі моделей і зв’язків між словами та фразами.  
- Гібридні методи: цей метод передбачає використання 
комбінації вищезгаданих методів для формування списку 
тематичних слів. Наприклад, можна використати ручний вибір 
ключових слів, а потім використати методи аналізу тексту, щоб 
відфільтрувати нерелевантні слова.  
Важливо відзначити, що вибір методу буде залежати від конкретного 
тексту, його складності та цілей аналізу. 
       2.1.3.2 Формування переліку знаків 
Існує кілька методів формування списку знаків для машинного навчання, 
деякі з них:  
- Створення вручну: цей метод включає вручну вибір 
відповідних знаків, пов’язаних із текстом, таких як знаки 
пунктуації, спеціальні символи та великі літери.  
- Методи аналізу тексту: цей метод передбачає використання 
методів аналізу тексту, таких як n-грами або регулярні вирази, 
для вилучення знаків із тексту. Ці прийоми можуть бути 
використані для визначення закономірностей і зв’язків між 
знаками в тексті.  
- Підхід на основі машинного навчання: цей метод передбачає 
використання алгоритмів машинного навчання, таких як 
кластеризація або дерево рішень, для автоматичного 
визначення знаків у тексті. Ці алгоритми можна навчити на 
14 
позначеному наборі даних текстів і можуть ідентифікувати 
ознаки на основі шаблонів і зв’язків між ними.  
- Гібридні методи: цей метод передбачає використання 
комбінації вищезгаданих методів для формування списку 
ознак. Наприклад, можна використати ручний вибір знаків, а 
потім використати методи аналізу тексту, щоб відфільтрувати 
нерелевантні знаки.  
В цьому разі вибір методу теж буде залежати від конкретного тексту, 
його складності та цілей аналізу. Крім того, набір даних тексту, який буде 
присвоєно, має бути достатньо великим і різноманітним, щоб можна було 
вловити характеристики знаків, які використовує автор. 
2.1.4 Функціональна схема процесу формування словників ознак, 
що використовується у цій роботі 
2.1.4.1 Формування класів текстів для навчання моделей (клас 
чоловічих текстів; клас текстів, автори яких жінки) 
Існує кілька методів формування класів текстів для навчальних 
моделей:  
- Ручна класифікація: цей метод передбачає ручне читання 
текстів і призначення їх різним класам на основі їх змісту. 
Це можуть зробити експерти в цій галузі або команда 
людей, які знайомі з текстами.  
- Підхід на основі словника: цей метод передбачає 
використання попередньо визначеного словника слів або 
фраз, які пов’язані з різними класами. Потім тексти 
розподіляються по класах на основі наявності чи 
відсутності цих слів чи фраз.  
15 
- Техніки аналізу тексту: цей метод передбачає 
використання методів аналізу тексту, таких як латентний 
розподіл Діріхле (LDA) або латентний семантичний 
аналіз (LSA), щоб ідентифікувати теми в тексті. Ці 
прийоми можна використовувати для автоматичної 
класифікації текстів у різні класи на основі їх змісту.  
- Підхід на основі машинного навчання: цей метод 
передбачає використання алгоритмів машинного 
навчання, таких як кластеризація або контрольоване 
навчання, для автоматичної класифікації текстів у різні 
класи. Ці алгоритми можна навчати на позначеному 
наборі даних текстів і класифікувати нові тексти на 
основі їх вмісту.  
- Гібридні методи: цей метод передбачає використання 
комбінації вищезгаданих методів для формування класів 
текстів. Наприклад, можна використати ручну 
класифікацію, а потім застосувати техніку аналізу тексту, 
щоб уточнити призначення класів.  
Набір даних текстів, які будуть використані, мають бути достатньо 
великим і різноманітним, щоб можна було охопити різні характеристики 
класів текстів. 
2.1.4.2 Виділення вікон у текстах  
Найчастіше повідомлення відправляються не суцільним текстом, а 
розбитими на кілька коротких, зазвичай, по 5-10 слів. Тому для атрибуції 
був обраний метод розбиття всього тексту на, так звані, “вікна”, задля 
приведення ознак до узагальненого типу повідомлення. 
16 
2.1.4.3 Декомпозиція вікон до окремих знаків та конструювання 
ознак (поєднанням знаків. Подати принцип а не надавати перелік 
ознак) 
Окрім певних ознак на рівні слова, таких як середня довжина, 
кількість слів у вікні, головним рівнем для атрибуції тексти були обрані 
знаки. 
В основі формування ознак стоять комбінації символів - 
розпізнавання символу і що стоїть по обидві сторони від нього. Це дозволяє 
визначати певні початки і закінчення в словах, корені, пари та тріо символів. 
2.1.5. Побудова профільованих словників ознак 
       2.1.5.1 Профілювання словників за максимальним значенням 
інформативності ознаки 
 Першим обраним принципом визначення межі інформативної 
достатності є інформативність за максимумом: 
 Якщо хоча б в одному із обраних одиниць аналізу (вікнах) ознака 
зустрічається N кількість разів або більше - вона є інформативною. В 
протилежному випадку кількості повторень цієї ознаки недостатньо для 
внесення в масив вхідних даних і вона ігнорується. 
        2.1.5.2. Профілювання словників за усередненим значенням 
інформативності ознаки  
 Альтернативним і новаторським принципом визначення межі 
інформативної достатності є інформативність за середнім значенням: 
Якщо середня кількість ознак у обраних одиницях аналізу (вікнах) із 
всього тексту дорівнює або більше N - вона є інформативною. В 
протилежному випадку кількості повторень цієї ознаки недостатньо для 
внесення в масив вхідних даних і вона ігнорується. 
17 
Порівняно з першою першим принципом, цей більш залежний від 
зовнішніх факторів, таких як: довжина всього тексту, розмір (і кількість) 
вікон.  
2.1.6 Синтез моделей-класифікаторів. Метод групового 
урахування аргументів (МГУА) 
 Синтез моделей-класифікаторів - це техніка, яка використовується 
для створення комбінації кількох моделей з метою покращення точності 
класифікації. Це може бути зроблено за допомогою різних методів, таких 
як метод багаторівневої класифікації та метод групового урахування 
аргументів. Вони дозволяють комбінувати переваги різних моделей і 
знижувати їхню недоліки і в результаті підвищити точності класифікації. 
 Метод МГУА - типовий метод індуктивного моделювання і один з 
найбільш ефективних методів структурно-параметричної ідентифікації 
складних об'єктів, процесів і систем за даними спостережень в умовах 
неповноти інформації. 
 В порівнянні з іншими методами побудови моделей володіє більшим 
різноманіттям можливостей, таких як  генератори моделей, застосування 
критеріїв якості структур і базисних функцій класів моделей. Для побудови 
моделей оптимальної складності активно застосовує принципи 
автоматичної генерації варіантів, зовнішніх критеріїв та послідовної 
селекції. Серед конкурентів в генерації моделей вирізняється оригінальною 
процедурою багаторядної автоматизації структур, імітуючи процес селекції 
послідовних ознак. Сучасна термінологія такій процедурі дає означення 
поліноміальної нейронної мережі з явною структурою, яка будується 
автоматично і самоорганізовано [17-20]. 
18 
2.2. Експериментальні дослідження 
2.2.1 Побудова класів для навчання моделей 
Експериментальна перевірка висунутих гіпотез проводилась на 
прикладі розв’язання задачі класифікації текстів за гендерною ознакою. 
Були сформовані 2 класи текстів: 
Клас 1. Тексти, авторами яких є чоловіки. Клас позначався у первинному 
описі текстів як «100» (див. табл. 2.2.2 і рис.2.2.2, 2.2.3). 
Клас 2. Тексти, авторами яких є жінки. Клас позначався у первинному описі 
текстів як «-100» (див. табл. 2.2.2 і рис.2.2.2, 2.2.3). 
      Тексти кожного класу перетворювались до масиву чисельних 
характеристик первинного опису (ПО) тексту за повним переліком ознак. 
Після цього проводилась оцінка інформативності кожної ознаки і до 
словника заносились ті ознаки, і значення інформативності яких були не 
менше  межі інформативної достатності (МІД). Масив вхідних даних (МВД) 
агентного синтезатора моделей будувався за словником ознак. 
      Суть експерименту у тому, що для одного і того ж ПО, за різними 
методами селекції формувались два різні словники ознак і, відповідно, два 
різні МВД. Ці МВД подавались на вхід агентного синтезатора і будувались 
2 різні моделі-класифікатори. За результатами випробувань цих моделей 
сформулювались висновки експерименту. 
У таблиці 2.2.1 подані автори та назви їх творів, тексти яких 
використовувались для навчання моделей у відповідних класах. 
19 
 
 
Таблиця 2.2.1 - Склад класів 
  
2.2.2 Побудова первинного опису тексту та масиву вхідних даних 
У текстах класів виділялись вікна, обсягом 1000 знаків. 
Використовуючи адаптивну процедуру профілювання словників ознак 
[4,5], розраховувались чисельні значення кожної ознаки та відбирались до 
словника ті ознаки, інформативність яких була не менше МІД. Значення 
МІД визначалось експертним шляхом. Зокрема у процесі цього 
дослідження чисельна характеристика МІД дорівнювала 3. 
Для синтезу моделі-класифікатора використовувався синтезатор 
моделей моніторингового програмного агента. Класифікатор містить  
кілька десятків алгоритмів синтезу моделей (АСМ) на основі багаторядного 
20 
та комбінаторного алгоритму МГУА [6], нейромережі кількох топологій, 
генетичні та гібридні алгоритми. У процесі побудови моделі-класифікатора 
синтезатор випробовує кожен АСМ і вибирає найбільш адаптований до 
властивостей масиву вхідних даних (МВД). Для побудови моделі-
класифікатора агентний синтезатор моделей визначив АСМ на основі 
багаторядного алгоритму МГУА [6]. 
Для відбору ознак використовувались такі методи селекції: 
1) відомий метод відбору ознак за максимальною інформативністю у вікні 
[4]; 
2)  новий метод відбору ознак за середньою інформативністю ознаки у вікні. 
Масив вхідних даних для агентного синтезатора моделей будувався із 
одного і того ж ПО за кожним методом селекції ознак окремо. Чисельні 
значення характеристик ознак, розраховані у окремому вікні тексту, 
утворювали вектор ознак у формі строчки МВД, або точку спостереження. 
Для навчання моделей використовувались послідовності 64 із точок 
спостереження. Для випробування моделей були сформовані тестові 
масиви даних із 40 точок спостереження – по 20 точок, які описують 
фрагменти текстів із різних класів.   
На рис. 2.2.2 та 2.2.3 подані фрагменти МВД, побудованих за словниками 
ознак, із різними методами селекції цих ознак. 
21 
 
Рисунок 2.2.2 - Фрагмент первинного опису тексту, побудований відомим 
методом селекції ознак 
22 
 
Рисунок 2.2.3 - Фрагмент первинного опису тексту, побудований новим 
методом селекції ознак 
23 
Як видно із рисунків 2.2.2 та 2.2.3 різні методи селекції ознак будують 
різні словники. Словник, побудований за відомим методом селекції ознак 1 
(рис. 2.2.2 ) містить ознаки «а», «б», «в» і так далі. Словник, побудований 
за новим методом селекції ознак 2 містить ознаки, «х», «т», «в» і так далі. 
Різна оцінка інформативності ознак будує різний їх перелік та їх 
послідовність у словниках. 
2.2.3 Випробування моделей-класифікаторів 
На рис. 2.2.4 і 2.2.5 подані результати випробувань моделей 
класифікаторів на навчальній послідовності точок спостереження. 
Побудованих за ПО, сформованого із використанням відомого методу 
селекції ознак 1 та нового методу селекції ознак 2. 
 
Рисунок 2.2.4 - Класифікація елементів текстів за відомим методом 
селекції ознак 
24 
 
Рисунок 2.2.5 - Класифікація елементів текстів за новим методом 
селекції ознак 
Як видно із рисунків 2.2.4 і 2.2.5 новий метод селекції моделей дозволяє 
більш чітко розділяти фрагменти текстів, які належать різним класам. 
Для тестування моделей-класифікаторів, побудованих за МВД, що 
містять різні словники ознак, використовувались тестові масиви точок 
спостереження. Вони не використовувались при побудові моделей-
класифікаторів. Моделі оцінювались за кількістю правильно 
класифікованих точок спостереження. 
У таблиці 2.2.2 подані результати тестування моделей, побудованих на 
основі селекції ознак за відомим та новим методом. 
25 
26 
 
Таблиця 2.2.2 - Результати 
Таким чином кількість правильно класифікованих точок спостереження  
моделлю, побудованою із використанням нового методу селекції ознак, 
більша ніж за моделлю, що побудована  із використанням відомого методу 
селекції ознак. 
2.2.4 Висновки експериментальних досліджень 
Із завданням класифікації текстів успішно справились обидві моделі. 
Новий метод селекції ознак дозволяє отримувати масиви вхідних даних 
меншої розмірності у порівнянні із відомим методом селекції ознак. 
Відповідно і синтез моделей-класифікаторів відбувається швидше. 
Структура моделей простіша. 
 Для виявлення інших особливостей запропонованого методі селекції 
ознак при побудові словників, необхідно провести додаткові дослідження. 
Вимагає встановлення діапазон розмірів вікон, при яких новий метод 
дозволяє успішно вирішувати задачі класифікації текстів. Необхідно також 
дослідити чутливість методу до особливостей класів. Які із класів текстів 
27 
моделі здатні класифікувати, а для інтелектуального аналізу яких текстів 
вимагається використати більш складні методи синтезу моделей. 
  
28 
РОЗДІЛ 3 - ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ 
ДОСЛІДЖЕНЬ У ПРАКТИКУ ПРОЕКТУВАННЯ 
ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ІНФОРМАЦІЙНИХ 
СИСТЕМ 
3.1 Моделювання предметної області 
3.1.1 Предметна область моделювання. Модель предметної 
області. Словник предметної області 
Класична схема моделювання предметної області полягає в побудові 
функціональної моделі «як є», що дозволяє зібрати і подати у 
формалізованому вигляді інформацію про існуючий стан предметної 
області, перетворення її в модель «як треба», що відповідає реорганізації 
бізнес-процесів, побудові концептуальної моделі даних. 
При використанні об'єктно-орієнтованих методів замість концептуальної 
моделі даних будуватимуться модель класів, що не змінює суті самого 
процесу. 
 Новітні методики представляють додаткові вимоги до методів 
моделювання, щоб їх можна було використовувати у складі промислових 
технологій програмних систем для комерційного ринку: 
- Забезпечити необхідний та достатній рівень деталізації 
функціональної моделі при її колективній побудові; 
- Забезпечити повноту складу інформаційних об'єктів моделі 
предметної галузі; 
- Забезпечити обмеження розмірності концептуальної моделі даних за 
збереження її логічної цілісності. 
29 
Перша вимога спрямована на обмеження складності колективного 
моделювання за збереження достатньої повноти результатів. 
Друга вимога спрямована на забезпечення якості програмного 
проекту та зниження впливу на нього кваліфікації конкретних розробників, 
що є дуже важливим для промислових технологій. 
Третя вимога спрямована на обмеження складності моделювання 
даних в умовах великої розмірності предметної області, а також на 
забезпечення логічної цілісності як результатів моделювання предметної 
галузі, так і результатів наступних етапів проекту. 
 
3.1.2 Елементи моделювання предметної області 
При побудові моделей встановлюється (або обирається) чітка 
підмножина використаних або необхідних елементів і зв’язків мови UML. 
При виборі більшої підмножини ніж необхідна для використання, може 
впасти рівень прозорості і інформативності моделей. 
 
Рисунок 3.1.2.1 - Елементи мови UML 
30 
 
Рисунок 3.1.2.2 - Зв’язки мови UML 
3.1.3 Робоча область моделювання 
На моделі зображена робоча модель агенту, з послідовністю 
перетворення тексту в масив вхідних даних з усіми змінними (функціями, 
одиницями виміру тексту, словниками та ознаками). 
  
 
Рисунок 3.1.3 - Модель робочої області агенту 
31 
3.2 Формування та аналіз вимог 
 3.2.1 Первинні вимоги замовника 
- Створене програмне забезпечення атрибуції текстових повідомлень 
повинно обробляти текст і видавати масив вхідних даних на основі 
словнику ознак та самих файлів. 
3.2.2 Детальні вимоги розробника 
- Користувач повинен обрати шлях до файлу «свого» типу, на основі 
якого буде побудований словник ознак; 
- Користувач повинен мати можливість обрати ознаку або декілька 
ознак, за якою буде побудований словник і розпізнаний текст; 
- Користувач повинен обрати кількість символів у вікні, для розбиття 
тексту; 
- Користувач повинен мати можливість обрати тип межі інформативної 
достатності, за якою буде сформований масив вхідних ознак; 
- Користувач повинен ввести значення межі інформативної 
достатності; 
- Користувач повинен мати можливість обрати шлях до файлу або 
файлів «чужого» типу, які будуть розпізнані за словником «свого» 
файлу і додані в масив вхідних даних.; 
- Користувач повинен мати можливість обрати опцію розпізнавання 
текстів за вже сформованим (існуючим) словником ознак.; 
- Користувач повинен мати можливість обрати шлях до файлу масиву 
вхідних даних для використання вже сформованого словника ознак.; 
- Користувач повинен задавати шлях збереження ново-згенерованого 
файлу масиву вхідних даних; 
- Користувач повинен мати можливість вибрати ім’я для ново-
створеного файлу масиву вхідних даних. 
32 
3.2.3 Функціональні вимоги 
- Програмне забезпечення повинно приймати «свої» та «чужі» текстові 
файли в форматах .doc, .docx та .txt; 
- Програмне забезпечення повинно розбивати першочергові тексти на 
вікна за кількістю символів, яку перед запуском визначає користувач; 
- Вікна обраних текстів повинні бути розпізнані системою на наявність 
ознак, які перед запуском були обрані користувачем; 
- Словники ознак повинні будуватись на основі «свого» текстового 
файлу, типові межі інформаційної достатності та її значенні; 
- Програмне забезпечення повинно мати можливість розпізнавати 
текст за вже згенерованими словниками ознак; 
- Масив вхідних даних повинен будуватись системою на основі 
словнику ознак та обраних текстів; 
- В масиві вхідних даних текстові файли та їх вікна мають бути 
позначені «своїми» та «чужими» зеленим та червоним кольорами 
відповідно; 
- В масиві вхідних даних текстові файли та їх вікна мають бути 
позначені «своїми» та «чужими» числами від 100 до -100 відповідно; 
- При виборі пустих «чужих» файлів, система повинна повідомити 
користувача помилкою, проігнорувати пустий файл і розпізнати 
заповнені; 
- Програмне забезпечення повинно експортувати масив вхідних даних 
в файлі формату .xlsl; 
- Кінцевий файл масиву вхідних даних має бути збережений з ім’ям і 
за шляхом обраним користувачем. 
33 
3.2.4 Нефункціональні вимоги 
3.2.4.1 Вимоги до продукту 
- Кінцевий продукт повинен бути скомпільований в файл 
формату .exe; 
- Кінцевий продукт повинен працювати на операційній системі 
Windows без встановлення додаткового програмного 
забезпечення, бібліотек, модулів або розширень; 
- Кінцевий продукт повинен мати інтуїтивний та лаконічний 
користувацький інтерфейс; 
- Час виконання кінцевого продукту повинен бути 
оптимізований і швидкодіючий. 
3.2.4.2 Організаційні вимоги 
- Продукт повинен бути розроблений мульти-парадигмовою 
мовою C# включно з використанням додаткових бібліотек; 
- Інтерфейс повинен бути розроблений на Windows Presentation 
Foundation або Windows Forms UI-фреймворках. 
3.2.4.3 Зовнішні вимоги 
- Програмне забезпечення не повинно збирати, зберігати або 
розповсюджувати будь які дані (конфіденційну інформацію, 
дані комп’ютера, дані про користувача, дані про тексти, дату, 
час та геолокацію); 
- Програмне забезпечення не повинно порушувати авторські 
права, патенти, права власності та будь-які закони актуального 
законодавства України. 
 
34 
3.2.5 Аналіз вимог за допомогою діаграми прецедентів 
Діаграма прецедентів або Use Case Diagram - це графічне зображення 
можливих взаємодій користувача з системою. Діаграма варіантів 
використання показує різні варіанти використання та різні типи 
користувачів системи і часто супроводжується діаграмами інших типів. 
Прецеденти (варіанти використання) позначаються колами або еліпсами, а 
актори (користувачі) - значком людини. 
Проаналізувавши дані вимоги та основні процеси програмного 
забезпечення, були побудовані діаграми. Діаграмами прецедентів було 
охоплено всі існуючі функції та повний список можливостей використання 
продукту: 
 
Рисунок 3.2.5.1 - Діаграма прецедентів “Генерація” 
  
35 
На вищерозміщеній діаграмі зображений сценарій використання 
користувачем програми задля генерації нового словнику ознак. Користувач 
за допомогою форми вказує шлях до «свого» текстового файлу, в полях 
прапорців обирає потрібні ознаки, в полях введення вводить розмір вікна і 
межу інформативної достатності, обирає тип межі інформативної 
достатності у випадаючому вікні, обирає шлях збереження і ім’я файлу у 
формі і полі введення відповідно. 
  
 
Рисунок 3.2.5.2 - Діаграма прецедентів “Словник Ознак” 
  
На вищерозміщеній діаграмі зображений сценарій використання 
користувачем програми задля розпізнавання текстового файлу по вже 
36 
існуючому словнику ознак. Користувач за допомогою форми вказує шлях 
до «свого» текстового файлу, в полях прапорців обирає потрібні ознаки і 
ставить прапорець вибору словника ознак, у новому доступному полі 
відкриває форму і вказує шлях до вже існуючого словнику ознак, в полі 
введення вводить розмір вікна, обирає шлях збереження і ім’я файлу у 
формі і полі введення відповідно. В даному сценарії не змінюються 
налаштування меж інформаційної достатності, так як словник вже 
сформований. 
  
 
Рисунок 3.2.5.3 - Опціональна частина діаграми прецедентів “Чужі” 
  
Опціональним прецедентом винесемо додавання «чужих» файлів. 
Користувач може обрати шлях до багатьох файлів в відкритій формі. Також 
є можливість видаляти файли кнопкою. 
37 
  
 
Рисунок 3.2.5.4 - Повна діаграма прецедентів 
  
На останній діаграмі зображений сценарій використання всіх функцій 
користувачем, що включає вибір шляху до «свого» текстового файлу 
спливаючою формою, вибір ознак в полях прапорців, вибір шляху 
збереження у формі і імені у волі введення для файлу, вибір «чужих» файлів 
у вспливаючій формі, видалення зайвих «чужих» файлів кнопкою, вибір 
розміру вікна в полі введення, включення прапорця вибору існуючого 
словнику ознак з задаванням шляху в формі АБО налаштування меж 
38 
інформаційної достатності в полі введення для значення і спадаючому вікні 
для типу. 
3.2.6 Проектування логічної структури програмного комплексу 
3.2.6.1 Діаграми класів 
Діаграми класів описують типи класів програмного 
забезпечення і відображають зв’язки між ними. Також на діаграмах 
описуються атрибути, та операції  класів і кількість та обмеження 
зв’язків між класами. Основною одиницею діаграми є клас. Навколо 
нього будуються інші елементи, які належать або з’єднані з ним. 
На основі результатів аналізу предметної області та 
поставлених задач були сформовані діаграми класів і пакети: класи 
BaseProcessResults, BlockResults, FileProcessResults, WordsResults в 
пакеті Models, класи BlockProcessor, FileProcessor, WordProcessor в 
пакеті Processes і класи ExcelWorker, KeyTypeRecognizer і 
NeededSigns в пакеті Utils. 
 
Рисунок 3.2.6.1.1 - Діаграма класів FileProcessor, BlockProcessor і 
WordProcessor 
39 
В класах FileProcessor, BlockProcessor і WordProcessor є 
атрибути значень value, які передають самі файли, блоки після 
розбиття і слова після повторного розбиття. Операції що передаються 
в ціх класах - fileImport, fileExport, blockProcess, wordProcess, 
wordExport які імпортують файл в систему, передають тексти 
наступному процесору або класу. 
  
 
Рисунок 3.2.6.1.2 - Діаграма класу BaseProcessResults 
В класі BaseProcessResults в якості атрибутів виступають інші 
класи WordResults і BlockResults, які працюють поступово. Їх зв’язки 
побудовані в вигляді наслідування батьківського-дочерного класу. 
Головна операція класу - ExportResults, що передає результати до 
класу формування. 
В класі WordResults є атрибути wordLength і signsDictionary, які 
зберігають значення довжини слова і словнику ознак. 
40 
В класі BlockResults є атрибути numOfBlock, length, midLength, 
wordQuantity, які зберігають значення номеру блока, його довжини, 
середньої довжини слова в блоці і кількості слів. 
  
 
 Рисунок 3.2.6.1.3 - Діаграма класу FileProcessResults 
  
В класі FileProcessResults є атрибути fileName, blockResultList, 
signKey. Вони зберігають ім’я файлу, результати всіх блоків файлу і 
ключі ознак, які мають бути застосовані. 
  
 
Рисунок 3.2.6.1.4 - Діаграми класів KeyTypeRecognizer і NeededSigns  
KeyTypeRecognizer і NeededSigns є додатковими класами. 
41 
KeyTypeRecognizer розпізнає які ознаки мають бути застосовані 
з вже існуючого словника ознак. В ньому є атрибут keyList, що 
зберігає список ознак словнику. Єдина операція - keyForm, для 
передачі ознак до класу формування файлу масиву вхідних даних. 
NeededSigns передає які із ознак були обрані користувачем в 
робочому застосунку. В ньому є атрибут signsCheck, що зберігає які 
ознаки були обрані. Операцією signExport передає ознаки в процесор. 
  
 
Рисунок 3.2.6.1.5 - Діаграма класу ExcelWorker   
ExcelWorker відповідає за формування кінцевого файлу масиву 
вхідних даних, в атрибутах importFileName, exportFileName, 
blockNum, ally, signsList, signsValue, midWord передає ім’я текстового 
файлу, кінцевого файлую, номери блоків, «свій/чужий», список 
ознак, значення кількості ознак в блоках і середня довжина слова. 
Єдина операція createFile - створення кінцевого файлу масиву вхідних 
даних за вказаним шляхом. 
42 
3.2.6.2 Діаграми пакетів 
Діаграма пакетів потрібна в першу чергу для організації 
елементів у групу за певною ознакою, щоб спростити структуру та 
організацію роботи з моделлю системи. Діаграма використовується у 
великих системах для представлення картини залежностей між 
основними елементами, класами, атрибутами та операціями системи. 
Такі діаграми відповідають загальновизнаним структурам архітектур 
програм.  
Пакет — це інструмент угруповання, який дозволяє взяти будь-
яку конструкцію UML і об'єднати її елементи у високорівневу 
одиницю. По суті, пакети служать для групування класів у групу на 
основі пов'язаних функцій чи схожої теми. У моделі UML кожен клас 
може бути лише в одному пакеті. Пакети можуть бути частиною 
інших пакетів, тому зберігається ієрархічна структура. Пакети 
верхнього рівня розбиваються на підпакети зі своїми підпакетами і 
так далі вниз по ієрархії. Пакет може містити підпакети та класи. 
43 
 
Рисунок 3.2.6.2 - Діаграма пакетів 
44 
3.2.7 Архітектурне проектування 
3.2.7.1 Компоненти системи 
 Програмний комплекс був побудований згідно з логічною 
структурою, діаграмами класів та пакетів. Додаткові компоненти не були 
використані, тому не потребують опису. 
3.2.7.2 Розгортання програмної системи на апаратних засобах. 
Діаграма розгортання 
 Або Deployment diagram. Цей вид діаграм призначений для аналізу 
апаратної частини системи. У прямому перекладі з англійської Deployment 
означає "розгортання", але термін "топологія" точніше відбиває сутність 
цього діаграм. 
Діаграма розгортання призначена для візуалізації елементів та 
компонентів програми, що існують лише на етапі її виконання (runtime). 
При цьому представлені лише компоненти-екземпляри програми, які 
виконуються файлами або динамічними бібліотеками. Ті компоненти, які 
використовуються на етапі виконання, на діаграмі розгортання не 
показуються. Так, компоненти з вихідними текстами програм можуть бути 
лише на діаграмі компонентів. На діаграмі розгортання вони вказуються. 
Фізичне уявлення програмної системи може бути повним, якщо 
відсутня інформація у тому, який платформі та яких обчислювальних 
засобах вона реалізована. Якщо розробляється програма, що виконується 
локально на комп'ютері користувача і не використовує периферійних 
пристроїв та ресурсів, то в розробці додаткових діаграм немає потреби. 
При розробці корпоративних додатків наявність таких діаграм може 
бути вкрай корисною для вирішення завдань раціонального розміщення 
компонентів з метою ефективного використання розподілених 
45 
обчислювальних та комунікаційних ресурсів мережі, забезпечення безпеки 
та інших. 
 
 
Рисунок 3.2.7.2 - Діаграма розгортання 
3.2.8 Моделювання поведінки системи 
3.2.8.1 Діаграма діяльності 
На діаграмі зображена очікувана послідовність дій користувача при 
роботі над створенням масиву вхідних даних. На вибір альтернативного 
шляху впливає чи потрібно формувати нові словники ознак, чи можна 
використовувати вже існуючі. Дії користувача відрізняються на вибір в 
системі додаткового шляху до файлу. 
46 
 
Рисунок 3.2.8.1 - Діаграма діяльності 
3.2.8.2 Діаграма послідовності 
 Послідовність системи може бути описана відбіром текстів, 
формуванням текстових файлом, взаємодією з програмним забезпеченням - 
агентом і продовження роботи з масивом вхідних даних у наступних 
підсистемах аналізу. 
 
Рисунок 3.2.8.2 - Діаграма послідовності 
47 
3.2.8.3 Діаграма комунікації 
Діаграма комунікації зображає взаємодію у системі в вигляді моделі. 
Повідомлення (подія) зображується стрілками від класу що виконує, до 
класу для якого дія застосована. Лініями є позначають відносини, які класи 
взаємодіють напряму. 
 
Рисунок 3.2.8.3 - Діаграма комунікації 
3.2.8.4 Діаграма скінченного автомату 
На діаграмі зображена скінченна кількість станів в якій може 
знаходитись система та переходи між ними. На стілочках позначено що 
спричиняє перехід від одного стану, до іншого. 
48 
 
Рисунок 3.2.8.3 - Діаграма скінченного автомату  
49 
РОЗДІЛ 4 - РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО 
ЗАБЕЗПЕЧЕННЯ 
4.1 Розробка програмного комплексу 
4.1.1 Обґрунтування вибору засобів реалізації 
Для реалізації програмного забезпечення були обрані: 
- Об’єктно орієнтована мова програмування C#; 
- Система будування клієнтських форм на ОС Windows - Windows 
Presentation Foundation. 
Вибір C# як основного інструменту був обумовлений вимогами та 
спрощенням коду за рахунок перевантаження функцій та операторів, 
великою безпекою, можливістю використання об'єктно-орієнтованого 
підходу, керування ресурсами за допомогою RAII.  
Вибір WPF (Windows Presentation Foundation) обумовлений тим, що 
платформа надає широкий і гнучкий набір графічних функцій, який має 
наведені нижче переваги:  
- Незалежність графіки від дозволу та пристрою; 
- Підвищення точності; 
- Розширена підтримка графіки та анімації; 
- Апаратне прискорення. 
4.1.2 Опис структурної (функціональної) схеми 
 Як зображено на схемі, елементами управління в системі агенту є 
інтерфейс. З його допомогою передаються всі необхідні файли до самого 
програмного забезпечення, який віддає масив вхідних даних для передачі 
наступній ланці всього ланцюга системи.  
50 
 
Рисунок 4.1.2 - Функціональна схема 
 
4.1.3 Опис логічної схеми системи 
 За логічною схемою, програмне забезпечення не є високо 
варіативним в використанні. В варіаціях є тільки вибір функцій і файлів, які 
51 
передаються. На основі текстових файлів і обраних функцій будується 
масив вхідних даних, який передається наступному агенту системи.  
 
Рисунок 4.1.3 - Логічна схема 
52 
4.1.4 Розробка бази даних 
 Так як агент не є засобом зберігання, а є інструментом аналізу текстів, 
на цьому етапі в базі даних потреби немає і вона не була розроблена. 
 Отримані результати, масиви вхідних даних та тексти над якими ще 
не була проведена атрибуція зберігаються на диску комп’ютера та доступ 
до них можна отримати через файловий провідник Windows. 
4.1.5 Розробка інтерфейсу користувача 
 Інтерфейс був побудований лаконічним та достатньо дружнім 
(зрозумілим) для користувача (user-friendly). 
 Для побудови макету було використано Figma. Інтерфейс 
побудований на WPF. 
 
Рисунок 4.1.5.1 - Перший макет інтерфейсу 
53 
 
Рисунок 4.1.5.2 - Інтерфейс програми 
 
Рисунок 4.1.5.3 - Приклад помилки програми 
4.1.6 Опис розробки програмних компонентів 
 Програмне забезпечення було розроблене мовою C# згідно з 
вимогами і діаграмами класів, відображеними в третьому розділі. Логікою 
відпрацювання було обране розбиття текстів на вікна, слова і символи для 
прискорення роботи і покращення пошуку необхідних ознак. Завдяки цьому 
програма може працювати з будь яким алфавітом: враховуються тільки ті 
символи, які є в тексті. 
 Під час розробки були використані бібліотеки Ookii.Dialogs.Wpf та 
ClosedXML. 
54 
 Ookii.Dialogs.Wpf - бібліотека, яка додає та розширює можливість 
використання діалогових вікон для настільних програм Windows, створених 
за допомогою Microsoft .NET (WPF). 
 ClosedXML - це бібліотека .NET для читання, обробки та запису 
файлів Excel 2007+ (.xlsx, .xlsm). Забезпечує інтуїтивно зрозумілий і 
зручний інтерфейс для роботи з основним API OpenXML.  
4.2 Тестування системи 
4.2.1 Модульне тестування 
Модульне тестування (Unit test) - це перший рівень тестування 
програмного забезпечення. У модульному тесті окремий компонент коду 
перевіряється, щоб переконатися, що він працює належним чином. Цей 
спосіб тестування дозволяє розробникам виявляти дефекти в коді на етапі 
життєвого циклу розробки програмного забезпечення, коли їх найлегше та 
найменш дорого виправити. 
Для модульного тестування було використано новітню технологію-
плагін ChatGPT. 
4.2.2 Інтеграційне тестування 
Інтеграційне тестування є другим рівнем і проводиться після 
тестування окремих блоків. Під час інтеграційного тестування блоки або 
модулі об’єднуються, щоб перевірити їхню функціональність під час 
спільної роботи. Інтеграційне тестування зазвичай виконується 
тестувальниками, а не розробниками, а підтримка інтеграційних тестів є 
дорожчою, ніж модульне тестування. 
Поетапно були протестовані всі функції, команди та взаємодії між 
ними та виправлені помилки. 
55 
4.2.3 Системне та приймальне тестування 
Системне та приймальне тестування явлють собою тестування 
завершеного та повністю інтегрованого програмного продукту. Ці 
тестування належить до тестувань методами чорної скриньки, де знання 
внутрішньої побудови коду або схеми роботи не є обов’язковою умовою. 
Зазвичай виконується командою тестування. 
На цьому етапі програмне забезпечення було протестоване на 
відповідність функціональним, нефункціональним, організаційним та 
зовнішним вимогам згідно з розділом 3.2. Всі тести були успішно пройдені.  
56 
ВИСНОВКИ 
В ході виконання кваліфікаційної роботи магістра було досліджено 
процес атрибуції тексту та текстових повідомлень за допомогою 
програмного агенту, загальні методи та засоби атрибуції. Після проведення 
теоретичних досліджень був обраний комбінований метод контент-аналізу 
слів та машинного навчання знаків. Вже під час проведення 
експериментальних дослідження і початку розробки програмного 
забезпечення, був запропонований новий спосіб встановлення межі 
інформативної достатності для масивів вхідних даних. 
Після розробки програмного забезпечення продовжувалось 
проведення теоретичних та експериментальних досліджень разом з 
тестуванням агенту. В результаті яких було виявлено, що визначення межі 
інформативної достатності за середнім значенням показало кращі 
результати на текстах високого об’єму ніж МІД за екстремумом 
(максимумом). 
Розроблений програмний агент може бути використаний як 
самостійний інструмент розпізнавання знаків тексту, інструмент створення 
словників ознак за знаками, або інструмент порівняння текстів з 
словниками. Окрім цього інструмент може працювати разом з системою 
інших агентів машинного навчання виявлення класів авторів текстів. 
Програмне забезпечення має високі перспективи подальшої 
розробки, додавання нового функціоналу, ознак або можливостей атрибуції 
для розвитку дослідження та отримання нових результатів.  
57 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1. А. Н. Швецов Агентно-Орієнтовані системи: Від формальних 
моделей до промислових систем. 
2. Х. Нвана Програмні агенти: Огляд. Knowledge Engineering Review. 
Cambridge University Press. Vol. 11, Sept 1996. 
3. В.Б. Тарасов Агенти, багатоагентні системи, віртуальні 
співтовариства: стратегічний напрямок в інформатиці і штучному 
інтелекті. 
4. С.В. Голуб, О.В. Константиновська, М.С. Голуб Формування 
показників масиву вхідних даних для ідентифікації авторства 
текстових повідомлень. Системи обробки інформації : збірник 
наукових праць. – Х.: Харківський університет Повітряних сил імені 
Івана Кожедуба, 2014. 
5. М.С. Голуб Формування масиву вхідних даних при класифікації 
текстів в технології інформаційного моніторингу. Математичні 
машини і системи. – 2018. 
6. А. Г. Ивахненко Индуктивный метод самоорганизации моделей 
сложных систем. Киев: Наукова думка, 1981. 
7. О.І. Замекула Модифікований метод визначення авторства тексту на 
основі ланцюгів Маркова. Київ - 2019. 
8. І. Волошиновська Лексикографічна обробка текстових даних як 
засіб визначення спрямованості текстів / І. Волошиновська // Вісник 
Національного університету “Львівська політехніка”. Проблеми 
української термінології. – Львів : Вид-во нац. ун-ту “Львівська 
політехніка”, 2003. 
9. І. Волошиновська А. Аналіз просторової моделі текстового корпусу 
як метод формування тематичних підрозділів та розпізнавання 
авторської ідеї у колективних роботах / І. А. Волошиновська // 
58 
Науковий вісник Волинського національного університету імені 
Лесі Українки. Сер. : Філологічні науки. – Луцьк : РВВ “Вежа” ВНУ 
імені Лесі Українки, 2008. 
10. Д. Ріхтер CLR via C#. Програмування на платформі Microsoft .NET 
Framework 4.5 мовою C#. 4-те вид. - 2013. 
11. М. Макдональд Pro WPF 4.5 in C#: Windows Presentation Foundation 
- 2012. 
12. С. Марсланд Machine Learning: An Algorithmic Perspective - 2009. 
13. Ш. Шалєв-Шварц, Ш. Бен-Девід Understanding Machine Learning: 
From Theory to Algorithm - 2014. 
14. О. Л. Калін Deep Learning Architectures: A Mathematical Approach - 
2020. 
15. К. Крипендорф Content Analysis An Introduction to Its Methodology - 
2013. 
16. К. А. Нойендорф The Content Analysis Guidebook - 2019. 
17. О.Г. Івахненко Метод групового урахування аргументів - конкурент 
методу стохастичної апроксимації // Автоматика. - 1968. 
18. О.Г. Івахненко Системи евристичної самоорганізації у технічній 
кібернетиці. - Київ: "Техніка", 1971. 
19. О.Г. Івахненко Довгострокове прогнозування та управління 
складними системами. - Київ: "Техніка", 1975. 
20. О.Г. Івахненко Індуктивний метод самоорганізації моделей 
складних систем. - Київ: "Наук. думка", 1982. 
59