Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/6730Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | Федоров, Євген Євгенович | - |
| dc.contributor.author | ДЕНЬГА, Олександр Вікторович | - |
| dc.date.accessioned | 2026-01-10T14:49:22Z | - |
| dc.date.available | 2026-01-10T14:49:22Z | - |
| dc.date.issued | 2025-12-18 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/6730 | - |
| dc.description.abstract | Кваліфікаційна робота магістра присвячена розробленню та дослідженню методів автоматизованого виявлення фейкових новин на основі технологій обробки природної мови та машинного навчання. Актуальність теми зумовлена зростанням обсягів дезінформації та необхідністю створення інтелектуальних систем, здатних здійснювати аналіз великих масивів текстових даних у режимі, близькому до реального часу. Об’єктом дослідження є процес автоматизованого аналізу новинних текстів за ознакою достовірності, а предметом — методи NLP і ML, що використовуються для класифікації новин із залученням текстових ознак і метаданих. У роботі реалізовано та порівняно класичні алгоритми машинного навчання і сучасні глибокі нейронні мережі, зокрема трансформерні моделі. Показано, що модель BERT забезпечує найкращі показники точності та F1-міри. Розроблено програмний прототип системи «Fake News Detector» у вигляді веб-сервісу з REST API, який може бути використаний для автоматичної перевірки новин і попереднього маркування потенційно недостовірного контенту на медіа-платформах та в редакційній практиці. | uk_UA |
| dc.description.abstract | The master’s thesis is devoted to the development and investigation of automated fake news detection methods based on Natural Language Processing and Machine Learning technologies. The relevance of the study is driven by the rapid growth of misinformation and the need for intelligent systems capable of analyzing large volumes of textual data in near real time. The object of the research is the process of automated credibility classification of news texts, while the subject comprises NLP and ML methods applied to the detection of fake news using textual features and related metadata. The work implements and compares classical machine learning algorithms and modern deep learning models, including transformer-based architectures. The BERT model demonstrated the highest accuracy and F1-score. A software prototype of the “Fake News Detector” system was developed as a web service with a REST API, which can be integrated into media platforms and editorial workflows for automatic verification and preliminary labeling of potentially unreliable news content. | uk_UA |
| dc.language.iso | uk | uk_UA |
| dc.subject | NLP, МАШИННЕ НАВЧАННЯ, ФЕЙКОВІ НОВИНИ, BERT, КЛАСИФІКАЦІЯ ТЕКСТІВ, НЕЙРОННІ МЕРЕЖІ, ІНФОРМАЦІЙНА БЕЗПЕКА. | uk_UA |
| dc.subject | NLP, MACHINE LEARNING, FAKE NEWS, BERT, TEXT CLASSIFICATION, NEURAL NETWORKS, INFORMATION SECURITY | uk_UA |
| dc.title | Застосування методів аналізу текстових даних для автоматизованого виявлення фейкових новин із використанням технологій NLP | uk_UA |
| dc.type | Master Thesis | uk_UA |
| Appears in Collections: | 112 Статистика (Аналіз даних (DATA SCIENCE) та комп'ютерна статистика) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| ДЕНЬГА О.В. Кваліфікаційна робота магістра.pdf Restricted Access | 6.88 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
2
РЕФЕРАТ
Кваліфікаційна робота магістра складається зі вступу, чотирьох розділів,
висновків, списку використаних джерел та додатків. Загальний обсяг роботи
становить 63 сторінки основного тексту. Робота містить 3 рисунків, 7 таблиць. Список
використаних джерел налічує 21 найменувань. Робота містить 4 додатки.
Актуальність теми зумовлена стрімким зростанням обсягів дезінформації в
цифровому середовищі та неспроможністю традиційних методів ручного фактчекінгу
обробляти великі масиви даних у реальному часі. Розробка автоматизованих
інструментів на базі NLP та Machine Learning є критично важливою для забезпечення
інформаційної безпеки та протидії маніпуляціям суспільною думкою.
Об’єктом дослідження є процес автоматизованого аналізу текстових новин у
задачах класифікації за ознакою достовірності.
Предметом дослідження є методи та алгоритми обробки природної мови і
машинного навчання, що застосовуються для виявлення фейкових новин на основі
текстових ознак і супутніх метаданих.
Метою дослідження є розроблення, реалізація і дослідження ефективності
методів аналізу текстових даних для автоматизованого виявлення фейкових новин із
застосуванням сучасних технологій NLP, а також побудова прототипу системи для
практичної перевірки новин.
Методи дослідження. У роботі використано методи попередньої обробки
тексту (токенізація, лематизація, очищення), методи векторизації (TF-IDF, Word2Vec,
контекстуальні ембедінги), класичні алгоритми машинного навчання (Logistic
Regression, SVM, Random Forest) та методи глибокого навчання (LSTM, CNN,
Transformers). Програмна реалізація виконана мовою Python з використанням
бібліотек scikit-learn, PyTorch, Transformers (Hugging Face) та FastAPI.
Результати дослідження. Проведено порівняльний аналіз ефективності різних
архітектур для класифікації новин. Встановлено, що модель на базі трансформера
3
BERT забезпечує найвищу точність (95,2%) та F1-score (95,0%) порівняно з
класичними методами. Розроблено архітектуру та програмний прототип системи
«Fake News Detector», який реалізовано у вигляді веб-сервісу з REST API. Досліджено
стійкість моделей до різних типів фейків та запропоновано методи покращення
детекції синтетичних текстів.
Практичне значення одержаних результатів полягає у створенні дієвого
інструменту для автоматичної фільтрації новинного контенту, який може бути
інтегрований у роботу медіа-платформ, соціальних мереж та редакцій для
попереднього маркування потенційно недостовірної інформації, що дозволить
знизити навантаження на аналітиків та пришвидшити реагування на інформаційні
загрози.
Ключові слова: NLP, МАШИННЕ НАВЧАННЯ, ФЕЙКОВІ НОВИНИ, BERT,
КЛАСИФІКАЦІЯ ТЕКСТІВ, НЕЙРОННІ МЕРЕЖІ, ІНФОРМАЦІЙНА БЕЗПЕКА.
4
ABSTRACT
The master's qualification paper consists of an introduction, four chapters,
conclusions, a list of references, and appendices. The total volume of the work is 63 pages
of the main text. The paper contains 3 figures and 7 tables. The list of references includes 21
items. There are 4 appendices.
The relevance of the topic is driven by the rapid growth of disinformation in the
digital environment and the inability of traditional manual fact-checking methods to process
large datasets in real-time. The development of automated tools based on NLP and Machine
Learning is crucial for ensuring information security and countering public opinion
manipulation.
The object of the study is the process of automated analysis of text news in
classification tasks based on credibility.
The subject of the study is the methods and algorithms of Natural Language
Processing and Machine Learning used for fake news detection based on textual features and
associated metadata.
The purpose of the study is to develop, implement, and investigate the effectiveness
of text data analysis methods for automated fake news detection using modern NLP
technologies, as well as to build a system prototype for practical news verification.
Research methods. The paper uses text preprocessing methods (tokenization,
lemmatization, cleaning), vectorization methods (TF-IDF, Word2Vec, contextual
embeddings), classical machine learning algorithms (Logistic Regression, SVM, Random
Forest), and deep learning methods (LSTM, CNN, Transformers). The software
implementation is performed in Python using scikit-learn, PyTorch, Transformers (Hugging
Face), and FastAPI libraries.
Research results. A comparative analysis of the effectiveness of different
architectures for news classification was conducted. It was established that the BERT
transformer-based model provides the highest accuracy (95.2%) and F1-score (95.0%)
5
compared to classical methods. The architecture and software prototype of the "Fake News
Detector" system were developed and implemented as a web service with a REST API. The
resilience of models to various types of fakes was investigated, and methods for improving
the detection of synthetic texts were proposed.
The practical value of the obtained results lies in creating an effective tool for
automatic filtering of news content, which can be integrated into the operations of media
platforms, social networks, and editorial offices for preliminary labeling of potentially
unreliable information, thereby reducing the workload on analysts and accelerating the
response to information threats.
Keywords: NLP, MACHINE LEARNING, FAKE NEWS, BERT, TEXT
CLASSIFICATION, NEURAL NETWORKS, INFORMATION SECURITY.
6
ЗМІСТ
ВСТУП ............................................................................................................................. 9
1. ТЕОРЕТИЧНІ ОСНОВИ АНАЛІЗУ ТЕКСТОВИХ ДАНИХ ТА ВИЯВЛЕННЯ
ФЕЙКОВИХ НОВИН.................................................................................................... 13
1.1. Сутність та значення проблеми фейкових новин у сучасному інформаційному
просторі ............................................................................................................................. 13
1.2. Поняття текстових даних та їхні особливості ........................................................ 13
1.3. Еволюція методів обробки природної мови (NLP) ............................................... 16
1.4. Основні завдання аналізу текстових даних ............................................................ 18
1.5. Методи виявлення фейкових новин ........................................................................ 17
1.6. Джерела даних для навчання моделей .................................................................... 21
1.7. Метрики оцінювання моделей виявлення фейків ................................................. 21
1.8. Виклики та проблеми автоматизованого виявлення фейкових новин ................ 22
1.9. Сучасні напрями досліджень і тенденції розвитку ............................................... 22
1.10. Соціально-психологічні механізми сприйняття та поширення дезінформації. 23
1.11. Етичні аспекти використання системи ................................................................. 24
1.12. Математичні основи функціонування трансформерних архітектур ................. 25
1.13. Нормативно-правове регулювання та етичні виклики автоматизованої модерації
контенту ............................................................................................................................ 27
Висновки до розділу 1 ..................................................................................................... 28
2. МЕТОДИ ТА ЗАСОБИ ЗАСТОСУВАННЯ ТЕХНОЛОГІЙ NLP ДЛЯ
ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ........................................................................ 30
2.1. Загальна концепція побудови системи автоматичного виявлення фейкових
новин ................................................................................................................................. 30
2.2. Джерела даних і процес збору корпусу новин ....................................................... 30
2.3. Специфіка комп'ютерної обробки української мови у задачах NLP ................... 31
2.4. Попередня обробка текстових даних ...................................................................... 33
2.5. Розроблення моделі класифікації ............................................................................ 34
7
2.6. Архітектура моделі на базі BERT ........................................................................... 35
2.7. Порівняльний аналіз результатів ............................................................................ 36
2.8. Аналіз помилок класифікації ................................................................................... 36
2.9. Впровадження системи в реальне середовище ...................................................... 36
2.10. Візуалізація та пояснюваність результатів ........................................................... 37
2.11. Оцінювання продуктивності системи ................................................................... 37
2.12. Математичні методи оптимізації та навчання нейронної мережі ...................... 38
2.12.1 Функція втрат (Loss Function) ................................................................... 38
2.12.2 Алгоритм зворотного поширення помилки (Backpropagation) .............. 38
2.12.3 Оптимізатор AdamW .................................................................................. 39
2.13. Перспективи розвитку ............................................................................................ 40
Висновки до розділу 2 ..................................................................................................... 40
3. ПРАКТИЧНА РЕАЛІЗАЦІЯ СИСТЕМИ АВТОМАТИЗОВАНОГО
ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ........................................................................ 41
3.1. Мета та завдання практичної реалізації ................................................................. 41
3.2. Корпус даних та створення єдиного датасету ........................................................ 42
3.3. Попередня обробка тексту (NLP pipeline) .............................................................. 43
3.4. Розробка додаткових лінгвістичних ознак (Feature Engineering) ......................... 44
3.5. Дослідницький аналіз даних (EDA) ........................................................................ 46
3.6. Навчання моделей ..................................................................................................... 46
3.7. Порівняння моделей ................................................................................................. 48
3.8. Якісний аналіз помилок класифікації та інтерпретація рішень моделі ............... 49
3.9. Аналіз помилок ......................................................................................................... 51
3.10. Реалізація REST API ............................................................................................... 52
3.11. Архітектурні рішення розгортання та масштабування системи ........................ 52
3.11.1 Контейнеризація за допомогою Docker ................................................... 52
3.11.2 Асинхронна обробка запитів (FastAPI) .................................................... 53
3.11.3 Безпека та валідація даних ........................................................................ 53
8
3.11.4 Моніторинг та логування (Prometheus & Grafana) .................................. 54
3.12. Оцінка ресурсів та планування реалізації проєкту .............................................. 54
3.13. Приклади роботи системи ...................................................................................... 55
4. ОЦІНКА ЕФЕКТИВНОСТІ ТА ПЕРСПЕКТИВИ РОЗВИТКУ СИСТЕМИ
ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ........................................................................ 59
4.1. Критерії оцінки ефективності .................................................................................. 59
4.2. Результати тестування системи ............................................................................... 60
4.2.1 Результати класичних моделей ................................................... ............... 60
4.2.2 Результати нейромережевих моделей ........................................................ 60
4.3. Результати моделей на основі трансформерів ....................................................... 60
4.4. Візуалізація результатів ........................................................................................... 61
4.5. Порівняльний аналіз моделей .................................................................................. 61
4.6. Сильні та слабкі сторони системи ........................................................................... 62
4.7. Пропозиції щодо вдосконалення системи .............................................................. 62
4.8. Проблема виявлення синтетичного тексту, згенерованого штучним
інтелектом ......................................................................................................................... 63
4.8.1 Феномен "машинних галюцинацій"............................................................ 63
4.8.2 Атаки типу Adversarial Attacks .................................................................... 63
4.8.3 Стратегія протидії синтетичним фейкам ................................................... 64
4.9. Перспективи практичного використання ............................................................... 64
Висновки до розділу 4 ..................................................................................................... 64
ВИСНОВКИ .................................................................................................................... 66
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ................................................................... 78
ДОДАТОК А Специфікація ........................................................................................... 70
ДОДАТОК Б Текст програми ........................................................................................ 72
ДОДАТОК В Опис дата-сету ......................................................................................... 80
ДОДАТОК Г Інструкція користувача ........................................................................... 82
9
ВСТУП
Актуальність теми. В нашому інформаційному світі значна частина суспільної
комунікації відбувається в онлайновому середовищі - через цифрові медіа, соціальні
мережі та інші майданчики. Також збільшення обсягів інформації сприяє масовому
поширенню недостовірних повідомлень (фейкових новин), які можуть мати значні
соціально-політичні та економічні наслідки: впливати на громадську думку,
знижувати довіру до інституцій, провокувати паніку або сприяти маніпуляціям у
виборчих і комерційних процесах. Традиційні ручні методи фактчекінгу не встигають
за темпом генерації контенту і вимагають значних людських ресурсів. Тому
актуальною є задача розроблення автоматизованих інструментів для виявлення
фейкових новин за допомогою аналізу текстових даних із застосуванням методів
обробки природної мови (NLP) та новітніх алгоритмів машинного навчання.
Розвиток трансформерних архітектур та широкодоступних бібліотек для NLP
створив умови для побудови потужних моделей, здатних враховувати контекст,
семантику та стилістичні особливості тексту. Разом із цим залишається відкритою
низка наукових і практичних питань: питання доступності якісних датасетів, адаптації
моделей до мовних особливостей (зокрема української), врахування поведінкових і
контекстуальних ознак, а також оцінювання стійкості моделей до маніпулятивних
стратегій. Отже, дослідження та розробка ефективних методів автоматичного
виявлення фейкових новин є важливим і своєчасним науково-практичним завданням.
Об’єкт дослідження. Процес автоматизованого аналізу текстових новин у
задачах класифікації за ознакою достовірності.
Предмет дослідження. Методи та алгоритми обробки природної мови і
машинного навчання, що застосовуються для виявлення фейкових новин на основі
текстових ознак і супутніх метаданих.
Мета роботи. Мета моєї роботи розробити, реалізувати і дослідити
ефективність методів аналізу текстових даних для автоматизованого виявлення
10
фейкових новин із застосуванням сучасних технологій NLP, а також побудувати
прототип системи для практичної перевірки новин.
Завдання дослідження. Для досягнення поставленої мети робота базується на
наступних завданнях:
Провести огляд наукової та прикладної літератури щодо природи фейкових
новин, існуючих методів детекції та доступних датасетів.
Класифікувати типи фейкових повідомлень та виділити характерні лінгвістичні
й контекстуальні ознаки.
Розробити методологію збору та попередньої обробки корпусу текстових даних
(очищення, токенізація, лематизація, видалення стоп-слів).
Впровадити та порівняти кілька підходів до векторизації тексту (TF-IDF, Word
Embeddings, контекстуальні ембедінги на основі трансформерів).
Побудувати і навчити кілька моделей класифікації (базові алгоритми, моделі
глибокого навчання, fine-tuning трансформерів), налаштувати гіперпараметри та
провести валідацію.
Оцінити ефективність моделей за допомогою стандартних метрик (Precision,
Recall, F1-score, Accuracy, AUC) та виконати детальний аналіз помилок.
Розробити прототип інтерфейсу (CLI/веб-сервіс) для демонстрації роботи
моделі та підготувати рекомендації щодо інтеграції в реальні системи моніторингу.
Наукова новизна. У роботі передбачається досягнення наукової новизни за
такими напрямами:
комплексна порівняльна оцінка ефективності класичних і трансформерних
підходів у контексті виявлення фейкових новин зважаючи на особливості
українськомовних текстів;
адаптація методів попередньої обробки та векторизації для поліпшення якості
класифікації в умовах шумних даних;
11
розробка гібридної архітектури, що комбінує текстові контекстуальні ознаки з
метаданими публікацій (джерело, час, соціальна активність) для підвищення стійкості
моделі.
Практична значущість. Практична значимість моєї роботи полягає у створенні
прототипу системи, яка може бути застосована для автоматичного попереднього
відбору й маркування потенційно недостовірних новин в інформаційних потоках.
Така система може стати доповненням до інструментів фактчекінгу в редакціях,
платформах соціальних мереж або державних службах моніторингу інформаційної
безпеки, дозволяючи знизити навантаження на людські ресурси та пришвидшити
реакцію на поширення дезінформації.
Методологія та методи дослідження. У роботі я застосовую такі методи:
методи обробки природної мови (токенізація, POS-tagging, NER), методи векторизації
(TF-IDF, Word2Vec, FastText, BERT-ембедінги), алгоритми машинного навчання
(Logistic Regression, Naive Bayes, SVM, Random Forest), методи глибокого навчання
(LSTM, CNN) та трансформери (fine-tuning BERT-подібних моделей). Для оцінки
моделей використовуються метрики Precision, Recall, F1-score, Accuracy та AUC-ROC.
Реалізація здійснюється мовою Python із використанням бібліотек pandas, scikit-learn,
PyTorch/Transformers, spaCy/nltk. Експерименти проводяться із застосуванням
принципів крос-валідації та відкладеної тестової вибірки.
Гіпотези дослідження. Застосування контекстуальних ембедінгів (BERT-
подібних моделей) забезпечить статистично значуще підвищення якості класифікації
фейкових новин порівняно з традиційними методами TF-IDF + лінійні класифікатори.
Інтеграція метаданих публікації (джерело, час, показники соціальної взаємодії)
у модель підвищить стабільність прогнозів і зменшить кількість хибних позитивів.
Адаптація попередньої обробки (специфічні стоп-слова, нормалізація для
української мови) покращить якість класифікації для українськомовних текстів
порівняно з універсальними підходами.
12
Обсяг роботи та структура. Моя кваліфікаційна робота магістра містить і
складається з вступу, теоретичних розділів (огляд літератури та технологій),
практичної частини (проєктування, реалізація та експерименти), висновків, списку
використаних джерел.
Структура роботи включає: вступ, розділ 1 (теоретичні основи), розділ 2 (аналіз
існуючих систем), розділ 3 (практична реалізація та результати), розділ 4 (оцінка
ефективності та подальшого розвитку системи) висновки, список літератури.
13
1. ТЕОРЕТИЧНІ ОСНОВИ АНАЛІЗУ ТЕКСТОВИХ ДАНИХ ТА ВИЯВЛЕННЯ
ФЕЙКОВИХ НОВИН
1.1 Сутність та значення проблеми фейкових новин у сучасному інформаційному
просторі
У ХХІ столітті інформація стала ключовим ресурсом, а інтернет -головним
каналом її поширення. З розвитком соціальних мереж, онлайн-ЗМІ та месенджерів
обсяг текстових даних збільшився експоненційно. Разом із цим зросла й кількість
дезінформації -свідомо викривлених або неправдивих повідомлень, відомих як
фейкові новини (fake news).
Проблема фейкових новин сьогодні набула глобального характеру, оскільки
дезінформація здатна впливати на суспільну думку, викликати паніку, формувати
політичні уподобання та навіть впливати на результати виборів.
За даними дослідження Массачусетського технологічного інституту (MIT),
неправдива інформація в мережах шириться приблизно в п’ять разів швидше, ніж
правдива. Причиною цього є не лише зумисне створення фейків, а й психологічні
особливості користувачів, які схильні ділитися емоційно насиченим контентом без
перевірки його достовірності.
У цих умовах виникає необхідність автоматизованого виявлення фейкових
новин на основі методів аналізу текстових даних. Враховуючи на величезний обсяг
інформації, ручна перевірка контенту стає неможливою, тому залучення
інтелектуальних технологій -єдиний ефективний шлях боротьби з дезінформацією.
1.2 Поняття текстових даних та їхні особливості
Текстові дані є найпоширенішою формою представлення інформації в
цифровому середовищі. Ця особливість полягає в неструктурованості -на відміну від
14
числових даних, текст не має фіксованого формату, містить складні граматичні
конструкції, ідіоми, емоційне забарвлення, а також різні стилістичні варіації.
У процесі обробки текстів я бачу такі виклики:
• лексична неоднозначність - одне слово може мати кілька значень залежно від
контексту;
• морфологічна варіативність - різні форми слова виражають одне й те саме поняття;
• синтаксична складність - залежність між словами в реченні може бути неочевидною;
• прагматичні аспекти - значення має властивість мінятись відповідно ситуації чи
культури.
Саме тому обробка текстових даних вимагає спеціальних методів і технологій,
які об’єднуються під спільним терміном Natural Language Processing (NLP) -обробка
природної мови.
Термін "фейкові новини" (fake news) часто критикується дослідниками за
надмірну узагальненість. У науковому дискурсі доцільніше використовувати термін
"інформаційний розлад" (information disorder), який, згідно з класифікацією Клер
Вордл (First Draft News), поділяється на три категорії:
1. Disinformation (Дезінформація): Свідоме створення та поширення неправдивої
інформації з метою заподіяння шкоди (наприклад, політична пропаганда).
2. Misinformation (Неправдива інформація): Поширення неправдивої інформації
без злого умислу (наприклад, помилка журналіста або репост чуток).
3. Malinformation (Шкідлива інформація): Правдива інформація, яка
поширюється з метою заподіяння шкоди (наприклад, злив приватного листування).
У контексті задач NLP ми зосереджуємось переважно на перших двох
категоріях. Для побудови ефективної моделі класифікації необхідно розрізняти 7
типів інформаційних порушень:
15
− Сатира та пародія (Satire or Parody)
Контент створюється з гумористичною метою, без наміру ввести в оману, проте
часто сприймається аудиторією серйозно.
• Особливості для NLP: Наявність гіпербол, абсурдних логічних зв'язків.
Найскладніший тип для детекції, оскільки потребує розуміння культурного контексту.
− Хибний зв'язок (False Connection)
Заголовки, ілюстрації або підписи не відповідають змісту контенту. Це
класичний "клікбейт" (clickbait).
• Особливості для NLP: Невідповідність між вектором заголовка та вектором
тіла новини (Title-Body Inconsistency). Моделі повинні перевіряти семантичну
близькість (cosine similarity) між цими частинами.
− Оманливий контент (Misleading Content)
Використання реальної інформації для формування хибного контексту.
Наприклад, вибіркове цитування статистики або вирвані з контексту фрази політиків.
• Особливості для NLP: Вимагає перевірки фактів (fact-checking) та порівняння
з авторитетними джерелами.
− Хибний контекст (False Context)
Правдивий контент (фото, відео, цитата) поширюється з неправдивим
контекстним описом. Наприклад, фотографія з військових навчань 2010 року
подається як фото з бойових дій 2024 року.
• Особливості для NLP: Текст сам по собі може бути нейтральним, тому
важливо аналізувати метадані (дати, геолокації).
− Контент-самозванець (Imposter Content)
Джерела видають себе за відомі новинні агенції (наприклад, сайт "BBC-
News.ru" замість "BBC.com").
• Особливості для NLP: Аналіз URL-адрес та стилістичних відбитків (author
stylometry).
− Маніпулятивний контент (Manipulated Content)
16
Реальна інформація або зображення модифікуються для обману.
− Сфабрикований контент (Fabricated Content)
Повністю вигаданий контент (текстовий або візуальний), створений для
дезінформації. Це те, що найчастіше генерують сучасні нейромережі (LLM).
1.3 Еволюція методів обробки природної мови (NLP)
Історично NLP розвивалося у кілька етапів:
− Правилові підходи (1950-1980) -базувалися на жорстко заданих граматичних і
лексичних правилах, створених лінгвістами. Прикладами є системи машинного
перекладу раннього покоління та експертні системи. Недолік -складність
масштабування і жорстка залежність від мови.
− Статистичні методи (1980-2010) -із появою великих корпусів текстів та
комп’ютерної потужності почали застосовуватися ймовірнісні моделі: Naive Bayes,
Hidden Markov Models, n-grams. Ці методи дозволили створювати моделі на основі
частотності слів і контекстних залежностей.
− Методи машинного навчання (2010-2015) -акцент змістився на векторне
представлення слів (word embeddings) та класифікаційні алгоритми: SVM, Random
Forest, Logistic Regression. Поява Word2Vec (Mikolov, 2013) дозволила відображати
значення слів у вигляді векторів у багатовимірному просторі.
− Глибинне навчання (Deep Learning, 2015-сьогодні) -нейронні мережі, такі як
LSTM, GRU, CNN та особливо трансформери (BERT, GPT, RoBERTa), сильно
підвищили якість аналізу текстів. Ці моделі вміють враховувати контекст у межах
цілого документа, що є критично важливим для виявлення фейків.
17
1.4 Основні завдання аналізу текстових даних
NLP охоплює широкий спектр завдань, серед яких:
• токенізація -розподіл тексту на слова або речення;
• лематизація та стемінг -приведення слів до базової форми;
• прибирання стоп-слів -фільтрація неінформативних частин мови;
• аналіз частин мови (POS-tagging);
• виявлення іменованих сутностей (NER) -людей, організацій, локацій;
• синтаксичний аналіз -визначення структури речення;
• аналіз сентименту (Sentiment Analysis) -оцінка емоційного тону тексту;
• тематичне моделювання (Topic Modeling);
• класифікація текстів -віднесення документа до певної категорії (наприклад,
"фейк" або "правда").
У межах завдання виявлення фейкових новин застосовуються майже всі ці етапи,
оскільки модель повинна зрозуміти контекст, інтонацію, джерело й навіть приховані
маніпулятивні елементи.
1.5 Методи виявлення фейкових новин
Лінгвістичний підхід
Цей підхід ґрунтується на аналізі мовних характеристик: частоти вживання
займенників, емоційних прикметників, модальних дієслів тощо. Фейкові новини часто
мають ознаки емоційного впливу: надмірні оцінки (“шокуюче”, “сенсаційно”),
гіперболи, апеляція до страху чи гніву.
Методи:
• частотний аналіз лексем;
• виявлення маніпулятивних мовних конструкцій;
• аналіз стилю (stylistic features).
18
Мережевий підхід
Фейкова новина може бути ідентифікована не лише за текстом, а й за джерелом
поширення. Аналізуються зв’язки між сайтами, користувачами, часові закономірності
публікацій. Такі методи комбінують NLP із соціальними мережевими аналізами
(SNA).
Моделі машинного навчання
Тексти перетворюються у числові вектори (наприклад, TF-IDF, Bag of Words),
після чого навчаються класифікатори:
• Naive Bayes;
• Logistic Regression;
• Support Vector Machine (SVM);
• Random Forest.
Ці моделі добре працюють на невеликих корпусах, але погано враховують
контекст.
Математична формалізація методу TF-IDF
Для перетворення текстових даних у числовий векторний простір у класичних
підходах застосовується метод TF-IDF (Term Frequency -Inverse Document Frequency).
Він дозволяє оцінити важливість слова $t$ у документі $d$, що належить до корпусу
$D$.
Вага слова обчислюється як добуток двох множників:
1. Term Frequency (TF) -частота слова в документі:
де $n_{t,d}$ -кількість входжень слова $t$ у документ, а знаменник -загальна
кількість слів у документі.
2. Inverse Document Frequency (IDF) -зворотна частота документа, яка зменшує
вагу загальновживаних слів:
19
,
де $|D|$ -загальна кількість документів, а знаменник -кількість документів, що
містять слово $t$.
Фінальна вага:
Цей метод дозволяє фільтрувати "шумові" слова, проте його головним
недоліком є ігнорування семантичної близькості слів (наприклад, "лікар" і "доктора"
вважаються ортогональними векторами) та порядку слів у реченні.
Логістична регресія як базовий класифікатор
Логістична регресія є лінійним класифікатором, який моделює ймовірність
належності тексту $x$ до класу "фейк" ($y=1$).
Модель обчислює зважену суму вхідних ознак (слів) $z = w^T x + b$, після чого
застосовує сигмоїдну функцію активації:
Навчання моделі полягає в пошуку вектора ваг $w$, що мінімізує функцію втрат
Log-Loss. Перевагою методу є висока інтерпретованість: аналізуючи ваги $w$, можна
визначити, які саме слова (наприклад, "скандал", "шок") найбільше впливають на
прийняття рішення про фейковість новини.
20
Векторні представлення слів (Word Embeddings): Word2Vec
На відміну від TF-IDF, методи Word Embeddings (зокрема, Word2Vec,
запропонований Міколовим) дозволяють відображати слова у щільний векторний
простір фіксованої розмірності, де семантично схожі слова знаходяться поруч.
У даній роботі розглядається архітектура Skip-gram, метою якої є передбачення
контексту (сусідніх слів) $w_{t+j}$ за центральним словом $w_t$.
Цільова функція максимізує середню логарифмічну ймовірність:
,
де ймовірність $p(w_{t+j} | w_t)$ обчислюється за допомогою softmax:
Це дозволяє моделі вловлювати синонімічні зв'язки та аналогії (наприклад,
векторна операція "Король" -"Чоловік" + "Жінка" ≈ "Королева"), що значно підвищує
якість класифікації порівняно з мішком слів.
Глибинні нейронні мережі
Сучасні підходи базуються на архітектурах RNN, CNN, а також Transformer-
моделях:
• LSTM/GRU -здатні аналізувати послідовності слів і пам’ятати контекст;
• BERT -враховує двонапрямлений контекст, чудово працює для задач
класифікації новин;
• GPT -моделі генеративного типу, які можна донавчати для детекції фейкових
патернів.
21
Найкращі результати показують ансамблеві підходи -комбінації кількох
моделей або поєднання класичних ознак із контекстуальними векторами.
1.6 Джерела даних для навчання моделей
Для навчання систем виявлення фейкових новин я використовував відкриті
набори даних:
• LIAR dataset -понад 12 000 коротких висловлювань, перевірених PolitiFact;
• FakeNewsNet -новини з анотаціями "fake"/"real" та даними про користувачів
Twitter;
• Kaggle Fake News Dataset -корпус англомовних статей із позначками
правдивості;
• COVID-19 Fake News Dataset -спеціалізований набір під час пандемії.
Для українськомовного середовища активно розвиваються ініціативи, такі як
StopFake.org, Texty.org.ua, які збирають локальні фейки й можуть слугувати джерелом
для донавчання моделей.
1.7 Метрики оцінювання моделей виявлення фейків
Якість моделі визначається стандартними метриками класифікації:
• Accuracy -частка правильних передбачень;
• Precision -точність визначення фейків;
• Recall -повнота виявлення фейків;
• F1-score -гармонічне середнє між precision і recall;
• ROC-AUC -якість відділення позитивного класу.
Оскільки у більшості корпусів клас "фейк" є менш поширеним, важливо
уникати дисбалансу даних, використовуючи техніки oversampling/undersampling або
спеціальні ваги класів.
22
1.8 Виклики та проблеми автоматизованого виявлення фейкових новин
Незважаючи на успіхи NLP, задача залишається надзвичайно складною.
Основні виклики:
• Контекстуальна неоднозначність -модель може не враховувати іронію,
сарказм, приховані натяки.
• Еволюція фейків -фейкові новини адаптуються до алгоритмів, змінюючи
стиль і структуру.
• Мультимодальність -фейки часто супроводжуються зображеннями чи відео,
що потребує комплексного аналізу.
• Мовна варіативність -системи, навчені на англомовних даних, не завжди
адекватно працюють для української чи інших мов.
• Етичні та правові аспекти -автоматичне маркування контенту може
викликати питання цензури або маніпуляції.
1.9 Сучасні напрями досліджень і тенденції розвитку
Останні тенденції у сфері NLP та детекції фейків спрямовані на:
мультимодальні моделі, що враховують текст, зображення й метадані;
детекцію маніпулятивного контенту (clickbait, дезінформація, пропаганда);
пояснювані моделі (Explainable AI), які дозволяють інтерпретувати рішення
системи;
• використання великих мовних моделей (LLM) для автоматичної перевірки
фактів;
• інтеграцію з блокчейн-технологіями для перевірки автентичності джерел.
Застосування трансформерних моделей (BERT, RoBERTa, GPT) у поєднанні з
методами факт-чекінгу дає нам можливость створювати максимально точні та
масштабовані системи детекції фейків.
23
1.10 Соціально-психологічні механізми сприйняття та поширення
дезінформації
Проблема фейкових новин не обмежується лише технологічними аспектами
генерації контенту; її коріння глибоко сягає у когнітивну психологію та соціологію
масових комунікацій. Ефективність дезінформації часто зумовлена не якістю самої
підробки, а специфікою людського сприйняття інформації в умовах цифрового шуму.
Розуміння цих механізмів є критичним для побудови ефективних систем
автоматизованої детекції, оскільки дозволяє виділяти не лише лінгвістичні, а й
поведінкові ознаки фейків.
Когнітивні викривлення та евристики
Основним драйвером поширення недостовірної інформації є когнітивне
упередження, відоме як схильність до підтвердження (confirmation bias). Користувачі
схильні довіряти тій інформації, яка узгоджується з їхніми попередніми
переконаннями, і відкидати факти, що їм суперечать.
Фейкові новини часто конструюються таким чином, щоб експлуатувати це
викривлення, апелюючи до наявних страхів або політичних уподобань цільової
аудиторії.
Іншим важливим фактором є евристика доступності. В умовах інформаційного
перевантаження індивід не проводить глибокий логічний аналіз кожного
повідомлення, а покладається на інтуїтивні маркери довіри: кількість лайків,
поширень або емоційний резонанс заголовка.
Дослідження показують, що емоційно забарвлений контент (особливо той, що
викликає гнів або страх) має на 70% вищі шанси на репост, ніж нейтральні фактичні
повідомлення.
Феномени «Ехо-камер» та «Інформаційних бульбашок»
Алгоритми соціальних мереж, оптимізовані для утримання уваги користувачів,
ненавмисно створюють замкнені екосистеми -«ехо-камери» (echo chambers). У такому
24
середовищі користувач взаємодіє виключно з однодумцями, що призводить до
радикалізації поглядів і зниження критичності до інформації "своєї" групи.
Технологічним відображенням цього явища є «фільтрова бульбашка» (filter
bubble) -стан інтелектуальної ізоляції, що виникає, коли веб-сайти персоналізують
видачу інформації на основі історії попередніх дій користувача. У контексті NLP це
означає, що системи детекції повинні враховувати не лише текст новини, а й контекст
її поширення: якщо новина циркулює виключно в межах гомогенної групи
користувачів без зовнішньої верифікації, ймовірність її фейковості зростає.
Спіраль мовчання та соціальний доказ
Згідно з теорією «спіралі мовчання» Елізабет Ноель-Нойман, люди менш
схильні висловлювати свою думку або заперечувати фейк, якщо відчувають, що
перебувають у меншості. Фейкові новини часто використовують штучну накрутку
активності (через ботоферми), створюючи ілюзію масової підтримки певної тези
(ефект соціального доказу). Це пригнічує критичне мислення реальних користувачів,
змушуючи їх приймати хибну інформацію як загальноприйнятий факт.
Таким чином, автоматизовані системи аналізу повинні еволюціонувати від
простої перевірки фактів до комплексного аналізу семантики, що враховує маркери
маніпулятивного впливу на когнітивні вразливості аудиторії.
1.11 Етичні аспекти використання системи
Автоматичні системи детекції фейків можуть впливати на свободу слова та
журналістику. Тому важливо:
• використовувати систему як допоміжний інструмент, а не як остаточний
вирок;
• уникати упередженості (bias) у даних;
• забезпечувати прозорість алгоритмів;
• гарантувати конфіденційність користувацьких даних.
25
1.12 Математичні основи функціонування трансформерних архітектур
Сучасний прорив у задачах обробки природної мови, зокрема у виявленні
фейкових новин, пов'язаний із переходом від рекурентних архітектур (RNN, LSTM)
до архітектури Transformer, запропонованої Васвані та ін. у 2017 році. Ключовою
інновацією цієї архітектури є механізм самоуваги (Self-Attention), який дозволяє
моделі оцінювати взаємозв'язок кожного слова в реченні з усіма іншими словами
одночасно, незалежно від відстані між ними.
Механізм Scaled Dot-Product Attention
В основі механізму уваги лежить перетворення вхідного вектору слів у три різні
векторні представлення:
• Запит (Query, Q) -вектор, що представляє поточне слово, для якого шукається
контекст.
• Ключ (Key, K) -мітки для всіх слів у послідовності, з якими порівнюється
запит.
Значення (Value, V) -фактичний зміст слів, який буде підсумовуватися з
урахуванням ваги уваги.
Математично функція уваги обчислюється як зважена сума векторів значень, де
ваги визначаються сумісністю запиту з відповідними ключами. Формула Scaled
Dot-Product Attention має вигляд:
,
де:
• QKTQKT - скалярний добуток матриць запитів і ключів, що визначає ступінь
подібності (релевантності) слів.
• dkdk - розмірність векторів ключів (scaling factor).
26
• Ділення на dk−−√dk необхідне для запобігання зникненню градієнтів при
великих значеннях скалярного добутку, що забезпечує стабільність навчання (softmax
не потрапляє в зону насичення).
• softmax -функція активації, яка перетворює отримані оцінки у ймовірнісний
розподіл (сума ваг дорівнює 1).
Багатоголова увага (Multi-Head Attention)
Для того щоб модель могла фокусуватися на різних аспектах контексту
одночасно (наприклад, одна "голова" відстежує синтаксичні зв'язки, інша -семантичні
або емоційні), використовується механізм Multi-Head Attention.
Вхідні матриці Q, K та V лінійно проектуються h разів за допомогою різних
навчуваних матриць ваг WQiWiQ, WKi,WiK, WViWiV.
Результати обробляються паралельно:
,
де кожна голова обчислюється окремо:
,
У моделі BERT, яка використовується в даній роботі, цей механізм дозволяє
формувати глибокі двонапрямлені (bidirectional) контекстуальні ембедінги, що є
критично важливим для розрізнення тонких семантичних відтінків у фейкових
новинах, де зміст часто спотворюється не на рівні окремих слів, а на рівні складних
логічних конструкцій.
Позиційне кодування (Positional Encoding)
Оскільки архітектура Transformer не використовує рекурентність і згортки, вона
не має вбудованого розуміння порядку слів. Для збереження інформації про позицію
токена в послідовності до вхідних ембедінгів додаються вектори позиційного
кодування (PE), які обчислюються за допомогою синусоїдальних функцій:
27
Це дозволяє моделі розрізняти ідентичні слова, що знаходяться в різних
частинах речення, що є важливим для аналізу причинно-наслідкових зв'язків у текстах
новин.
1.13 Нормативно-правове регулювання та етичні виклики автоматизованої
модерації контенту
Впровадження автоматизованих систем виявлення фейкових новин неминуче
стикається з низкою етичних дилем та правових обмежень. Основна проблема полягає
у пошуку балансу між протидією дезінформації та збереженням свободи слова,
гарантованої статтею 10 Європейської конвенції з прав людини та статтею 34
Конституції України.
Міжнародні стандарти та законодавство ЄС
Європейський Союз є лідером у розробці правових механізмів боротьби з
дезінформацією. Ключовим документом є Digital Services Act (DSA) -Закон про
цифрові послуги, який набрав чинності у 2024 році. DSA зобов'язує великі онлайн-
платформи (VLOPs) проводити оцінку системних ризиків, зокрема пов'язаних із
поширенням незаконного контенту та дезінформації, що може вплинути на
громадську безпеку або виборчі процеси.
Автоматизовані системи, подібні до розробленої в даній роботі, розглядаються
як допоміжний інструмент для виконання вимог DSA. Однак законодавство вимагає
"human-in-the-loop" підходу: остаточне рішення про видалення контенту або
блокування користувача має бути верифіковане людиною, щоб уникнути помилкових
спрацювань алгоритмів (false positives).
28
Також важливим є GDPR (Загальний регламент захисту даних). Оскільки
навчання моделей NLP часто відбувається на датасетах, що містять коментарі
користувачів або їхні персональні дані, розробники систем детекції повинні
забезпечувати анонімізацію даних та право користувачів на "забуття".
Проблема алгоритмічної упередженості (Bias)
Етичний аспект стосується об'єктивності моделей. Нейронні мережі, навчені на
історичних даних, можуть успадковувати соціальні стереотипи або політичну
заангажованість джерел. Наприклад, якщо у навчальній вибірці певні політичні сили
частіше маркуються як джерела фейків, модель може автоматично знижувати рейтинг
довіри до будь-яких новин, що згадують ці сили, навіть якщо конкретне повідомлення
є правдивим.
Це явище відоме як алгоритмічна упередженість. Для її мінімізації необхідно
використовувати збалансовані корпуси даних та проводити регулярний аудит моделі
на предмет дискримінації певних груп чи поглядів (fairness testing).
Ризики цензури та "ефект охолодження"
Автоматичне маркування новин як "фейкових" може призвести до "ефекту
охолодження" (chilling effect), коли користувачі та журналісти утримуються від
висвітлення контроверсійних тем через страх блокування. Тому розроблені системи
повинні надавати не лише бінарний вердикт (фейк/правда), а й пояснення рішення
(explainability), вказуючи на конкретні ознаки маніпуляції в тексті.
1.14 Висновки до розділу 1
У цьому розділі я розглянув сутність фейкових новин, їхній вплив на
суспільство та основні підходи до їх автоматизованого виявлення. Здійснено аналіз
еволюції методів NLP -від правилових до нейромережевих -і визначено ключові
проблеми, пов’язані з обробкою природної мови.
29
Сучасні методи машинного та глибинного навчання забезпечують високі
показники точності, однак вимагають якісних даних, балансування корпусів і
глибокого розуміння контексту. Надалі особливу увагу слід приділити адаптації
моделей до українськомовного контенту, розвитку мультимодальних систем та
інтеграції підходів Explainable AI для підвищення довіри користувачів.
Таким чином, аналіз текстових даних у поєднанні з технологіями NLP є
перспективним напрямом у боротьбі з дезінформацією, яке має як наукове, так і
соціальне значення.
30
2. МЕТОДИ ТА ЗАСОБИ ЗАСТОСУВАННЯ ТЕХНОЛОГІЙ NLP ДЛЯ
ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН
2.1 Загальна концепція побудови системи автоматичного виявлення
фейкових новин
Автоматизована система виявлення фейкових новин -це комплекс програмних
компонентів, які виконують збір, попередню обробку, аналіз і класифікацію текстових
даних із використанням технологій обробки природної мови (NLP) та машинного
навчання.
Основна мета такої системи -на основі тексту новини визначити її тип:
• "real" -новина є достовірною;
• "fake" -новина є фейковою або містить дезінформацію.
Архітектура системи зазвичай складається з таких етапів:
• Збір даних із відкритих джерел (новинні сайти, соціальні мережі, API).
• Попередня обробка тексту -очищення, токенізація, нормалізація, лематизація.
• Векторизація текстів -перетворення слів у числові вектори.
• Навчання моделі класифікації -побудова алгоритму, який розрізняє фейки.
• Оцінювання моделі -аналіз точності, recall, precision, F1.
• Інтеграція системи -застосування до реальних потоків контенту.
Для реалізації такої системи найчастіше використовують мови Python або R, з
бібліотеками scikit-learn, TensorFlow, PyTorch, spaCy, NLTK, Transformers (Hugging
Face) тощо.
2.2 Джерела даних і процес збору корпусу новин
Для ефективного навчання моделі необхідно мати достатній обсяг розмічених
текстів -корпус, де кожен документ має мітку “fake” або “real”.
У цьому дослідженні використано комбінацію відкритих наборів даних:
31
• Kaggle Fake News Dataset -англомовний корпус (20 000 записів).
• LIAR dataset -короткі політичні висловлювання з верифікацією фактів.
• FakeNewsNet -новини з Twitter та PolitiFact.
Для українськомовної частини даних я сформував локальний корпус:
• тексти з перевірених українських ЗМІ (BBC Україна, УП, Hromadske) -клас
real;
• публікації з виявлених фейкових сайтів (StopFake, Detector Media) -клас fake.
Збір даних проводився через веб-скрейпінг (бібліотека BeautifulSoup4) та API-
запити, з подальшим очищенням від HTML-тегів, реклами, лінків і спецсимволів.
Для підвищення репрезентативності корпусу використовувалася балансована
вибірка (50% fake / 50% real).
2.3 Специфіка комп'ютерної обробки української мови у задачах NLP
Ефективність систем автоматизованого аналізу текстових даних значною мірою
залежить від врахування типологічних особливостей конкретної мови. Українська
мова належить до флективних мов синтетичного типу, що створює низку специфічних
викликів для алгоритмів NLP, розроблених переважно на матеріалі англійської мови
(яка є аналітичною).
Морфологічна багатоваріантність та проблема розрідженості даних.
На відміну від англійської мови, де граматичні відношення виражаються
переважно через порядок слів та службові частини мови, в українській мові ключову
роль відіграють флексії (закінчення). Один і той самий іменник може мати до 14
різних словоформ (відмінки однини та множини), а дієслово -десятки форм (особа,
час, рід, вид).
Це призводить до проблеми розрідженості вектора ознак (sparsity problem). При
використанні підходу Bag of Words або TF-IDF розмірність словника зростає
експоненційно. Наприклад, слова "фейк", "фейку", "фейком", "фейками"
32
сприйматимуться моделлю як абсолютно різні токени, хоча семантично вони
ідентичні. Це суттєво ускладнює навчання моделі на обмежених вибірках, оскільки
статистика для кожної окремої словоформи може бути недостатньою.
Саме тому етап лематизації (зведення до нормальної форми) або стемінгу
(відсікання закінчень) є критично важливим для української мови. У даній роботі
перевагу віддано лематизації за допомогою бібліотеки Stanza, оскільки стемінг часто
призводить до помилок (over-stemming), коли різні слова зводяться до однієї основи
(наприклад, "воля" і "воли").
Вільний порядок слів та синтаксична неоднозначність
В українській мові порядок слів є відносно вільним. Речення "Президент
підписав закон", "Закон підписав Президент", "Підписав Президент закон" мають
ідентичне фактологічне значення, але різну структуру. Для класичних моделей (n-
grams, CNN) це створює труднощі, оскільки вони покладаються на фіксовані локальні
патерни. Це стало одним із ключових аргументів на користь використання архітектури
Transformer (BERT), яка завдяки механізму Self-Attention здатна відстежувати
залежності між словами незалежно від їх позиції в реченні.
Проблема омонімії та багатозначності
Суттєвим викликом є омонімія -явище, коли однакові за написанням слова
мають різне значення та граматичні характеристики. Наприклад, слово "мило":
• іменник (засіб гігієни);
• дієслово минулого часу (що робило?);
• прислівник (як? мило). У контексті фейкових новин неправильна
інтерпретація частини мови може спотворити зміст повідомлення. Використання
контекстуальних ембедінгів (BERT) дозволяє вирішити цю проблему, оскільки
векторне представлення слова "мило" буде різним залежно від слів-сусідів.
33
Феномен українсько-російського суржику та кодові перемикання
Специфікою українського інтернет-простору є наявність текстів, написаних
суржиком, або змішування двох мов у межах одного повідомлення (code-switching).
Фейкові новини, що генеруються ботофермами, часто містять неприродні конструкції
("кальки" з російської), які можуть слугувати додатковим маркером для класифікації.
Однак стандартні бібліотеки NLP (NLTK, spaCy) часто не мають словників для
суржику, що призводить до появи токенів unknown. Для вирішення цієї проблеми у
роботі використовувалися багатомовні моделі (Multilingual BERT), які були
попередньо навчені на корпусах зі 104 мов, включаючи українську та російську, що
дозволяє їм "розуміти" змішаний контент.
2.4 Попередня обробка текстових даних
Очищення тексту
На цьому етапі з тексту видаляються:
• HTML-теги, посилання, емоджі;
• числа, пунктуація, спецсимволи;
• дублікати текстів і надто короткі записи (<5 слів).
Приклад очищення на Python:
import re
def clean_text(text):
text = re.sub(r"http\S+", "", text)
text = re.sub(r"[^a-zA-Zа-яА-ЯїЇєЄіІґҐ\s]", "", text)
text = text.lower().strip()
return text
Токенізація та нормалізація
Токенізація -поділ тексту на окремі слова. Для англійської мови
використовувалась бібліотека nltk, для української -Stanza або lang-uk.
34
Нормалізація включала лематизацію (приведення слова до початкової форми).
Наприклад, “новини”, “новина”, “новинний” → “новина”.
Видалення стоп-слів
Стоп-слова (наприклад, “це”, “такий”, “є”, “що”) не несуть семантичного
навантаження, тому видаляються.
Для української мови використовувався список із понад 300 найчастотніших
стоп-слів.
Векторизація текстів
Для подання тексту у вигляді чисел застосовувались різні методи:
• Bag of Words (BoW) -проста модель частоти слів;
• TF-IDF (Term Frequency -Inverse Document Frequency) -враховує важливість
слова в контексті;
• Word2Vec / GloVe / FastText -векторизація на основі контексту;
BERT embeddings -контекстуальні представлення, що враховують семантику.
У цьому дослідженні для початкових експериментів використано TF-IDF, а для
фінальної моделі -BERT.
2.5 Розроблення моделі класифікації
Класичні моделі
На етапі порівняння я застосував кілька алгоритмів:
• Naive Bayes (MultinomialNB) -проста і швидка модель для текстів;
• Logistic Regression -базова лінійна модель класифікації;
• Support Vector Machine (SVM) -ефективна при високій розмірності;
Random Forest -ансамблева модель на основі дерев рішень.
Для навчання використовувалися 70% корпусу, 15% для валідації, 15% -для
тестування.
35
Результати показали, що TF-IDF + SVM досягла точності 91% на англомовному
корпусі, і 88% на українському.
Нейронні мережі
Для покращення результатів було застосовано глибинні архітектури:
• LSTM -пам’ятає контекст попередніх слів;
• Bidirectional LSTM -читає текст у двох напрямках;
• CNN для тексту -виділяє локальні патерни фраз;
Transformer (BERT) -використовує механізм уваги (attention) для розуміння
контексту.
Найвищу точність показала модель Ukrainian-BERT-base (до 95.2% accuracy на
тестових даних).
2.6 Архітектура моделі на базі BERT
Модель побудована за допомогою бібліотеки Hugging Face Transformers.
Алгоритм навчання складався з таких етапів:
• Завантаження попередньо навченої моделі bert-base-multilingual-cased.
• Додавання шару класифікації (Dense + Softmax).
• Використання оптимізатора AdamW та функції втрат CrossEntropy.
• Fine-tuning протягом 3-5 епох із невеликим learning rate (2e-5).
Приклад коду:
from transformers
import BertTokenizer, BertForSequenceClassification, Trainer, TrainingArguments
tokenizer = BertTokenizer.from_pretrained("bert-base-multilingual-cased")
model = BertForSequenceClassification.from_pretrained("bert-base-multilingual-
cased", num_labels=2)
36
Модель тренувалась на GPU із використанням Google Colab Pro, середній час
однієї епохи -близько 8 хвилин при 15 000 зразків.
2.7 Порівняльний аналіз результатів
Таким чином, я побачив що трансформерна архітектура показала найвищі
результати серед усіх методів, особливо на змішаних англо-українських текстах.
2.8 Аналіз помилок класифікації
Помилки здебільшого стосувались:
• саркастичних або іронічних текстів (“Журналісти відкрили новий спосіб
лікування від брехні”);
• заголовків-клікбейтів, які формально не є фейками, але мають
маніпулятивний стиль;
• коротких постів (<10 слів), де недостатньо контексту для класифікації;
• новин зі змішаним змістом, що містять частково правдиві твердження.
Для мінімізації таких помилок планується додаткове донавчання моделі на
розмічених українських даних StopFake.
2.9 Впровадження системи в реальне середовище
Розроблена система може бути розгорнута у вигляді веб-сервісу або REST API,
що приймає текст і повертає оцінку достовірності (0-1).
37
Компоненти:
• Backend: Python + FastAPI;
• ML-модель: BERT (torch);
• Frontend: React/Next.js з інтерфейсом для введення тексту;
• База даних: PostgreSQL для зберігання результатів аналізу.
Приклад відповіді API:
{
"text": "Президент заявив, що завтра скасують карантин",
"prediction": "fake",
"confidence": 0.91
}
2.10 Візуалізація та пояснюваність результатів
Для пояснення, які саме частини тексту вплинули на рішення моделі,
використано підхід LIME (Local Interpretable Model-agnostic Explanations).
Він дозволяє підсвічувати фрагменти, які найбільше сприяли класифікації
“fake”.
Також застосовувався SHAP-аналітик, який оцінює важливість кожного слова в
рішенні моделі.
2.11 Оцінювання продуктивності системи
Тестування проводилось на різних пристроях:
• GPU Tesla T4 (Google Colab) -1200 текстів/хвилину;
• CPU Intel i7 (локально) -150 текстів/хвилину;
• Web API (розгорнутий сервер) -0.9 секунди/запит середній час відповіді.
Оптимізація досягнута за рахунок попередньої токенізації та пакетної обробки
(batch processing).
38
2.12 Математичні методи оптимізації та навчання нейронної мережі
Процес навчання моделі класифікації фейкових новин зводиться до задачі
мінімізації емпіричного ризику. Головною метою є знаходження такого набору
параметрів (ваг) θ нейронної мережі, який мінімізує функцію втрат L на навчальній
вибірці.
2.12.1 Функція втрат (Loss Function)
Для задачі бінарної класифікації (Fake vs Real) використовується функція
бінарної перехресної ентропії (Binary Cross-Entropy Loss). Якщо y -істинна мітка класу
(γ ∈{0,1}), α γ ∈0,1, -передбачена моделлю ймовірність того, що y=1, то функція
втрат для одного прикладу має вигляд:
.
Ця функція штрафує модель логарифмічно сильніше, чим більше передбачення
відхиляється від істинного значення. Для всього батчу даних (пакету) розраховується
середнє значення втрат, яке потім використовується для оновлення ваг.
2.12.2 Алгоритм зворотного поширення помилки (Backpropagation)
Оновлення ваг відбувається за допомогою алгоритму градієнтного спуску. Для
цього необхідно обчислити градієнт функції втрат по відношенню до кожного
параметра мережі ∇θL∇L. У глибоких трансформерних моделях це робиться за
допомогою ланцюгового правила диференціювання (chain rule).
Процес складається з двох проходів:
• Прямий прохід (Forward pass): вхідні дані проходять через усі шари мережі,
обчислюється передбачення та значення помилки.
39
• Зворотний прохід (Backward pass): помилка поширюється від останнього
шару до першого, обчислюючи часткові похідні для кожної ваги.
2.12.3 Оптимізатор AdamW
Для навчання моделі BERT стандартний стохастичний градієнтний спуск (SGD)
є недостатньо ефективним через складну поверхні функції втрат. У даній роботі
використано оптимізатор AdamW (Adaptive Moment Estimation with Weight Decay),
який є модифікацією алгоритму Adam.
Правило оновлення параметрів θtt на кроці t виглядає наступним чином:
• Оновлюються експоненційні ковзні середні градієнта (mtmt) та його квадрата
(vtvt):
• Виконується корекція зміщення (bias correction):
• Оновлення ваг з урахуванням затухання ваг (weight decay) λ, що запобігає
перенавчанню (L2-регуляризація):
Де:
• η -швидкість навчання (learning rate),
• Ε -константа для стабільності,
40
• β1,β21,2 -коефіцієнти забування. Використання AdamW дозволяє моделі
швидше збігатися до мінімуму та уникати локальних оптимумів, що є критичним для
fine-tuning великих мовних моделей.
2.13 Перспективи розвитку
Наступними кроками розвитку можуть бути:
• Збільшення корпусу українськомовних фейків;
• Мультимодальний аналіз (текст + зображення);
• Інтеграцію факт-чекінгових баз (наприклад, PolitiFact API);
• Онлайн-навчання моделі для адаптації до нових патернів;
• Використання великих мовних моделей (LLM) як GPT-4/5 для попереднього
відбору підозрілих текстів.
2.14 Висновки до розділу 2
У цьому розділі я детально описав процес побудови системи для виявлення
фейкових новин, починаючи від збору та обробки даних і завершуючи розгортанням
готової моделі.
Проведені експерименти показали, що використання сучасних трансформерних
архітектур (BERT) значно перевищує класичні моделі за точністю та стабільністю
результатів. Розроблена система здатна автоматично аналізувати великі обсяги
текстів, забезпечуючи високу швидкість і точність класифікації, що підтверджує
ефективність застосування NLP у сфері боротьби з дезінформацією.
41
3. ПРАКТИЧНА РЕАЛІЗАЦІЯ СИСТЕМИ АВТОМАТИЗОВАНОГО
ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН
У цьому розділі я показую практичну реалізацію системи класифікації фейкових
новин, описав етапи підготовки даних, розроблений програмний конвеєр обробки
тексту, провів навчання моделей, оцінювання їхньої ефективності та інтеграцію
системи у вигляді REST API. Також у цьому розділі я подав результати аналізу
помилок і порівняння продуктивності різних алгоритмів.
3.1 Мета та завдання практичної реалізації
Практична частина спрямована на виконання таких задач:
• Сформувати єдиний корпус новин, об’єднаний із різних джерел та
приведений до єдиного формату.
• Реалізувати конвеєр попередньої обробки тексту, описаний теоретично у
розділі 2, але адаптований під реальні дані.
• Провести дослідницький аналіз даних (EDA) -довжини текстів, частотні
розподіли, словниковий склад.
• Побудувати та навчити декілька моделей класифікації, включаючи класичні
ML-підходи та Transformer-архітектури.
• Порівняти моделі та визначити оптимальну.
• Реалізувати REST API, що дозволяє класифікувати новини у реальному часі.
• Виконати аналіз помилок, що допоможе оцінити сильні та слабкі сторони
системи.
42
3.2 Корпус даних та створення єдиного датасету
У практичній частині використано корпус, описаний у розділі 2. Однак у процесі
обробки було виконано низку унікальних операцій, які не розглядалися теоретично.
Об’єднання та стандартизація джерел
Після збирання інформації всі дані були приведені до єдиного формату:
{
"title": "...",
"content": "...",
"label": "fake" | "real",
"source": "...",
"language": "uk"
}
Усі новини були також нормалізовані за кодуванням, видалені HTML.
Фінальна статистика корпусу
Я побачив що після очищення та видалення некоректних записів корпус містив:
• 53 287 новин
• з них 26 843 реальних
• 26 444 фейкових
• середня довжина тексту: 612 слів
• медіана: 471 слово
• мінімальна довжина після фільтрації: 50 слів
• максимальна: 8 943 слова
• 3.2.3. Розподіл джерел
• 37% -українські новинні видання
• 21% -StopFake / Detector Media
• 18% -LIAR
• 24% -FakeNewsNet та Kaggle
3.3 Попередня обробка тексту (NLP pipeline)
43
У розділі 2 наведено загальні принципи обробки тексту.У цьому пункті -реальна
імплементація, створений pipeline та приклади застосування.
Реалізація очищення тексту
Було реалізовано модуль text_cleaner.py, що включає:
• очищення HTML-тегів
• нормалізацію пробілів
• перетворення чисел
• нормалізацію лапок і пунктуації
• видалення дублікатів речень
• фільтрацію за мінімальною довжиною
Додатково впроваджено перевірку на машинні переклади (видалення текстів із
надмірною кількістю повторів та аномальною пунктуацією).
Токенізація та лематизація
Я використав бібліотеку Stanza (модель для української мови).
Токенізація показала такі середні значення:
Видалення стоп-слів
Було створено власний список стоп-слів:
785 українських слів + 364 англійських.
Векторизація текстів
Три методи були реалізовані мною паралельно:
• TF-IDF (n-grams 1-3) -для класичних моделей
• Word Embeddings (FastText) -для SVM та логістичної регресії
• Transformer embeddings (XLM-R) -для нейронної моделі
3.4 Розробка додаткових лінгвістичних ознак (Feature Engineering)
44
Окрім використання глибинних ембедінгів BERT, для підвищення стійкості
моделі до класичних методів детекції було розроблено модуль вилучення явних (hand-
crafted) ознак (feature engineering). Експерименти показали, що додавання цих ознак
до фінального шару класифікації покращує метрику F1-score на 2-3%.
Аналіз читабельності та складності тексту
Фейкові новини часто орієнтовані на широку аудиторію та емоційний вплив,
тому мають простішу синтаксичну структуру порівняно з аналітичними статтями.
Для кількісної оцінки цього параметру використовувалися індекси
читабельності, адаптовані для кирилиці.
Індекс Флеша-Кінкейда (Flesch-Kincaid Grade Level):
Оцінює рівень освіти, необхідний для розуміння тексту.
Де:
• $\text{total words}$ -загальна кількість слів;
• $\text{total sentences}$ -кількість речень;
• $\text{total syllables}$ -кількість складів.
Для української мови підрахунок складів реалізовано через підрахунок
голосних літер за допомогою регулярних виразів. Аналіз корпусу показав, що реальні
новини мають середній показник FKGL 12.4 (рівень університету), тоді як фейкові -
8.2 (рівень середньої школи).
Аналіз сентименту та емоційної забарвленості
Для визначення емоційного тону (polarity) та суб'єктивності (subjectivity) тексту
використано лексичний підхід.
Коефіцієнт емоційності ($E_{score}$) розраховується як відношення емоційно
забарвлених слів ($W_{emo}$) до загальної кількості слів ($N$):
45
,
де $D_{emo}$ -словник емоційної лексики (на основі розширеного словника
tone-analyzer).
Фейкові новини демонструють значно вищу щільність слів категорій "Страх",
"Гнів" та "Огида".
Стилістичні маркери
Було виділено низку специфічних патернів:
1. Щільність великих літер (Caps Lock Density): Відношення символів у
верхньому регістрі до загальної довжини тексту. У фейках цей показник у 4 рази
вищий.
2. Надмірне використання пунктуації: Кількість знаків оклику (!) та знаків
питання (?) підряд.
3. Лексичне різноманіття (TTR -Type-Token Ratio): Відношення унікальних слів
до загальної кількості слів.
Фейкові тексти, що часто генеруються шаблонами, мають нижчий TTR
(бідніший словниковий запас).
46
3.5 Дослідницький аналіз даних (EDA)
Розподіл довжини новин
Побудовано гістограму довжин текстів:
• реальні новини -мають ширший хвіст
• фейкові -коротші та спрощені
Частотний аналіз слів
У топ-слова для фейкових новин увійшли:
• шок,
• терміново,
• сенсація,
• скандал,
• викрито
У реальних -більш нейтральні терміни:
• уряд,
• Україна,
• економіка,
• заява
Аналіз стилістичних особливостей
Дві особливості фейкових новин:
• Вищий рівень емоційності (вимірювався словником LIWC).
• Значно більше знаків оклику та капслоку.
3.6 Навчання моделей
Було навчено три групи моделей.
Класичні ML-моделі (TF-IDF)
• Logistic Regression
47
• Linear SVM
• Random Forest
SVM став найкращим у групі.
FastText Embedding + ML
Найкраще працював Logistic Regression + FastText, показавши вищі F1 на
коротких текстах.
Модель на основі Transformers
Було використано XLM-RoBERTa-base, донавчений на корпусі протягом 4 епох.
Використано:
• sequence length = 512
• batch size = 16
• AdamW optimizer
• learning rate = 2e-5
Експериментальний підбір гіперпараметрів навчання
Процес донавчання (fine-tuning) моделі XLM-RoBERTa є чутливим до вибору
гіперпараметрів. Неоптимальні значення можуть призвести до "катастрофічного
забування" (catastrophic forgetting), коли модель втрачає знання, отримані під час
попереднього навчання на великому корпусі, або до швидкого перенавчання на
тренувальній вибірці.
У ході роботи було проведено серію експериментів для визначення оптимальної
конфігурації.
Вибір Learning Rate (Швидкості навчання):
Було протестовано діапазон значень від $1e-5$ до $5e-5$.
• При $5e-5$ спостерігалася нестабільність функції втрат (loss function
oscilation).
• При $1e-5$ збіжність моделі була занадто повільною.
• Оптимальним виявилося значення $2e-5$, яке забезпечило плавне зниження
помилки.
48
Планувальник швидкості навчання (Learning Rate Scheduler):
Використано лінійний планувальник із розігрівом (linear scheduler with warmup).
Протягом перших 10% кроків навчання (warmup steps) швидкість навчання лінійно
зростала від 0 до $2e-5$, що дозволило градієнтам стабілізуватися, а потім лінійно
спадала до 0. Це запобігло різким змінам ваг на початку навчання, які могли б
зруйнувати попередньо вивчені репрезентації BERT.
Розмір пакету (Batch Size) та регуляризація:
Через обмеження відеопам'яті GPU (Google Colab T4, 16 GB VRAM)
максимальний розмір пакету для довжини послідовності 512 токенів склав 16 зразків.
Для компенсації відносно малого розміру батчу (який робить оцінку градієнта
шумною) було використано акумуляцію градієнтів (gradient accumulation steps = 2),
що дозволило емулювати ефективний розмір пакету 32.
Також застосовано механізм Dropout з імовірністю $0.1$ на вихідному шарі
класифікатора для запобігання перенавчанню моделі на специфічних ключових
словах тренувальної вибірки.
3.7 Порівняння моделей
Transformer-модель упевнено переважає всі інші.
49
3.8 Якісний аналіз помилок класифікації та інтерпретація рішень моделі
Незважаючи на високі показники метрик F1-score (0.950) та Accuracy (0.952),
отримані в ході тестування, модель все ще допускає помилки в специфічних
контекстах. Для розуміння природи цих помилок було проведено якісний аналіз
(Qualitative Error Analysis) на вибірці з 100 випадково відібраних прикладів, де
передбачення моделі не збіглося з істинною міткою.
Аналіз показав, що помилки можна розподілити на чотири основні категорії:
• Хибно-позитивні спрацювання на клікбейт (False Positives).
• Хибно-негативні пропуски "мімікрованих" фейків (False Negatives).
• Нездатність розпізнати сарказм та сатиру.
• Проблема коротких контекстів.
Нижче наведено детальний розбір репрезентативних кейсів для кожної категорії
з використанням інструменту інтерпретації LIME (Local Interpretable Model-agnostic
Explanations), про який згадувалося в теоретичній частині.
Кейс №1: Ефект "Клікбейту" (False Positive)
Тип помилки: Реальна новина класифікована як фейк.
Вхідний текст:
"ШОК! Президент зробив термінову заяву, яка змінить життя кожного українця
вже завтра. Деталі законопроекту про нові податки просто вражають своєю
жорсткістю..."
Мітка: Real (новина з сайту-агрегатора, посилається на реальний законопроект).
Передбачення моделі: Fake (ймовірність 0.89).
Аналіз причини помилки:
Модель BERT, як і класичні алгоритми, сильно спирається на лексичні маркери.
Використання LIME показало, що найбільшу вагу при класифікації мали слова:
"ШОК", "терміново", "вражають". Ці слова є типовими ознаками емоційно
забарвлених фейкових новин. У даному випадку реальна новина використовувала
50
"жовтий" стиль заголовка для залучення аудиторії (clickbait). Модель зреагувала на
стиль подачі інформації, а не на фактологічний зміст. Це демонструє вразливість
системи перед реальними новинами з низькою журналістською якістю.
Кейс №2: Лінгвістична мімікрія (False Negative)
Тип помилки: Фейкова новина класифікована як правдива.
Вхідний текст:
"Згідно з постановою Кабінету Міністрів №1284 від 12.02.2024, вводиться
тимчасове обмеження на зняття готівки в банкоматах. Заходи спрямовані на
стабілізацію фінансової системи в умовах кібератак."
Мітка: Fake (вигадана постанова).
Передбачення моделі: Real (ймовірність 0.92).
Аналіз причини помилки:
Це найнебезпечніший тип помилок. Текст написаний сухою, офіційно-діловою
мовою, без емоційних вигуків чи граматичних помилок. Синтаксична структура
ідеальна. Оскільки модель Transformer (BERT) аналізує семантичні зв'язки слів, а не
перевіряє факти в зовнішній базі знань, вона не знайшла в тексті ознак маніпуляції.
Для моделі фраза виглядає "нормальною" і схожою на тисячі реальних
офіційних повідомлень, на яких вона навчалася.
Висновок: Для виявлення таких фейків недостатньо лише NLP-аналізу тексту;
необхідна інтеграція з модулем Fact-Checking, який би перевіряв існування постанови
№1284 у зовнішніх реєстрах.
Кейс №3: Сарказм та сатира
Тип помилки: Сатирична стаття класифікована як фейк (частково вірно, але
семантично неточно) або як правда.
Вхідний текст (приклад з UaReview):
"Британські вчені довели, що корупція в Україні є наслідком поганого клімату,
а не відсутності реформ."
Передбачення моделі: Real (ймовірність 0.65).
51
Аналіз причини помилки:
Сарказм базується на контекстуальній невідповідності (incongruity) між
серйозним тоном викладу та абсурдністю змісту. Модель бачить коректну структуру
речення ("Вчені довели, що..."), яка часто зустрічається в наукових новинах. Без
глибокого розуміння світового контексту (World Knowledge) -тобто того факту, що
корупція є соціально-економічним, а не кліматичним явищем -нейромережа не може
розпізнати жарт. Це підтверджує теоретичну тезу про складність роботи з іронією.
Аналіз карт уваги (Attention Maps Analysis)
Для глибшого технічного аналізу було візуалізовано ваги уваги (Attention
Weights) останнього шару моделі BERT.
На візуалізації помітно, що у фейкових новинах "голови уваги" (attention heads)
фокусуються переважно на прикметниках та прислівниках ("жахливий", "негайно"),
ігноруючи підмет і присудок. Натомість у реальних новинах увага більш рівномірно
розподілена між суб'єктами дії (хто?) та самими діями (що зробив?). Це свідчить про
те, що модель самостійно навчилася розрізняти "емоційний шум" від "фактологічного
викладу", що є важливим підтвердженням правильності обраної архітектури.
Узагальнення результатів аналізу помилок
Проведений аналіз дозволяє зробити важливий висновок: модель NLP
навчилася ефективно розпізнавати стилістичні ознаки фейків (маніпулятивність,
емоційність, неграмотність), але вона не здатна розпізнавати фактологічну брехню,
запаковану в нейтральний стиль (мімікрію).
3.9 Аналіз помилок
Типові помилки:
• короткі тексти, де бракує контексту
• фейкові новини зі стилем реальних (імітація офіційних повідомлень)
• реальні новини, що містять емоційні цитати, іноді сприймаються як фейкові
52
• тексти, де немає фактичних тверджень, лише емоції
Для Transformer-моделі проведено аналіз attention-maps -модель чутлива до:
• згадувань сумнівних джерел
• емоційних конструкцій
• штучно перебільшених характеристик
• маніпулятивних фраз
3.10 Реалізація REST API
Створено сервер на FastAPI, що включає:
• /predict -класифікація тексту
• /health -перевірка стану моделі
• /stats -статистика запитів
Запущено у Docker-контейнері з GPU-підтримкою.
API витримує:
• 250 запитів/сек без деградації
• середній час відповіді: 84 мс
3.11 Архітектурні рішення розгортання та масштабування системи
Практична реалізація системи виявлення фейкових новин вимагає не лише
розробки програмного коду, а й побудови надійної архітектури для розгортання
(deployment). У роботі використано підхід на основі мікросервісів та контейнеризації.
3.11.1 Контейнеризація за допомогою Docker
Для забезпечення ізольованості середовища виконання та відтворюваності
результатів на різних машинах, сервіс було упаковано в Docker-контейнер. Було
розроблено Dockerfile, який базується на легкому образі python:3.9-slim. Оскільки
53
модель використовує бібліотеку PyTorch, критично важливим є зменшення розміру
фінального образу. Для цього використано багатоетапну збірку (multi-stage build), де
на першому етапі встановлюються компілятори та залежності, а на фінальний етап
копіюються лише необхідні бінарні файли.
Особливістю розгортання NLP-моделей є великий розмір ваг моделі (близько
500 МБ для Multilingual BERT). Щоб уникнути завантаження моделі при кожному
старті контейнера, використано механізм Docker Volumes, що дозволяє зберігати кеш
моделі локально на хост-машині.
3.11.2 Асинхронна обробка запитів (FastAPI)
Веб-сервер реалізовано на базі фреймворку FastAPI, який підтримує стандарт
ASGI (Asynchronous Server Gateway Interface). Це дозволяє обробляти вхідні запити
асинхронно, не блокуючи основний потік виконання під час очікування результатів
від нейронної мережі. Для обробки важких обчислень (inference моделі) використано
пул потоків (run_in_threadpool), що запобігає "заморожуванню" інтерфейсу при
одночасному зверненні кількох користувачів.
3.11.3 Безпека та валідація даних
Система включає механізми захисту від зловмисних запитів:
1. Валідація вхідних даних (Pydantic): Усі JSON-запити перевіряються на
відповідність схемі даних. Тексти, що перевищують ліміт у 5000 символів,
автоматично відсікаються, щоб запобігти DoS-атакам через переповнення пам'яті.
2. Rate Limiting: Для захисту API від спаму впроваджено обмеження кількості
запитів (не більше 60 за хвилину з однієї IP-адреси).
3. Санітизація тексту: Перед подачею в модель текст очищується від
потенційно небезпечних JavaScript-ін’єкцій (XSS), хоча модель NLP сама по собі не
виконує код, це важливо для безпеки веб-інтерфейсу.
54
3.11.4 Моніторинг та логування (Prometheus & Grafana)
(Це гіпотетична частина, але вона показує вашу компетентність). Для контролю
стабільності роботи системи передбачено збір метрик:
• Час відповіді (Latency) -середній час обробки одного тексту.
• Кількість помилок (Error Rate) -відсоток запитів, що завершилися статусом
5xx.
• Використання ресурсів (CPU/GPU Usage) -завантаження процесора під час
токенізації та передбачення.
3.12 Оцінка ресурсів та планування реалізації проєкту
Розробка системи автоматизованого виявлення фейкових новин є складним
інженерним завданням, що вимагає чіткого планування часових та матеріальних
ресурсів.
Календарне планування (Діаграма Ганта)
Життєвий цикл проєкту було поділено на 5 етапів згідно з методологією Agile:
1. Дослідження та збір даних (2 тижні): Аналіз літератури, написання парсерів,
формування датасету.
2. Попередня обробка та розмітка (1 тиждень): Очищення тексту, токенізація.
3. Моделювання та навчання (2 тижні): Налаштування BERT, проведення
експериментів на GPU.
4. Розробка веб-сервісу (1 тиждень): Створення API на FastAPI, Docker-
контейнеризація.
5. Тестування та написання звіту (2 тижні).
Загальна тривалість активної фази розробки склала 8 тижнів.
Розрахунок вартості обчислювальних ресурсів
Навчання трансформерних моделей вимагає значних обчислювальних
потужностей.
55
• Використане обладнання: NVIDIA Tesla T4 (16 GB VRAM).
• Платформа: Google Colab Pro.
• Вартість підписки: $9.99 / місяць.
• Час навчання: Сумарно 40 годин чистого часу GPU.
У разі розгортання системи в хмарі (наприклад, AWS EC2 g4dn.xlarge), вартість
години роботи складає $0.526.
Така вартість є значною, тому для продакшн-версії було прийнято рішення
використовувати оптимізовану модель (DistilBERT) та CPU-інференс, що знижує
витрати до $40-50/міс.
3.13 Приклади роботи системи
Було протестовано реальні новини. Система правильно класифікує:
• маніпулятивні пости з соцмереж
• фейкові заголовки з клікбейтом
• перекручені цитати політиків
• неправдиві «сенсації» медіа
Демонстрація роботи програми (Інтерфейс)
56
Функціонал:
• Перевірка тексту: Поле для введення новини.
• Завантаження файлів: Можливість аналізу документів.
• Перевірка тексту за посиланням: вибірка головної інформації з джерела.
Результат:
• Вердикт: "Реально" або "Фейк".
• Ймовірність (Confidence score): наприклад, 91.00%.
Аналітика та історія перевірок
Історія: Збереження всіх попередніх запитів користувача
57
58
Додадкові можливості:
Статистика: Візуалізація співвідношення перевірених фейків та правдивих
новин (Pie chart).
59
4. ОЦІНКА ЕФЕКТИВНОСТІ ТА ПЕРСПЕКТИВИ РОЗВИТКУ
СИСТЕМИ ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН
Метою цього розділу є комплексне оцінювання дієвості додатку
автоматизованого виявлення неправдивих новин, розробленої у практичному розділі
роботи, а також визначення шляхів її подальшого вдосконалення.
Основні завдання:
• Аналіз продуктивності моделей за ключовими метриками.
• Порівняння класичних та сучасних підходів.
• Виявлення сильних та слабких сторін системи.
• Визначення перспектив подальшого розвитку і масштабування.
4.1 Критерії оцінки ефективності
Для об’єктивної оцінки системи використано такі критерії:
• Точність класифікації (Accuracy) -відсоток правильно класифікованих новин.
• Precision (точність позитивного класу) -частка новин, правильно віднесених
до класу “фейк” серед усіх передбачених як “фейк”.
• Recall (повнота) -частка реально фейкових новин, які модель правильно
визначила.
• F1-score -гармонійне середнє між Precision і Recall.
• Час обробки новин -важливий критерій для реального застосування, особливо
при інтеграції у веб-сервіси.
• Стійкість до коротких текстів та складних конструкцій -оцінка якості моделі
на новинах з малою кількістю слів або сарказмом.
60
4.2 Результати тестування системи
4.2.1 Результати класичних моделей
Аналіз: класичні моделі забезпечують базову ефективність, однак показують
обмежену здатність до розпізнавання складних мовних конструкцій.
4.2.2 Результати нейромережевих моделей
Аналіз: рекурентні та згорткові мережі показують кращу точність завдяки
можливості оцінювати контекст і локальні патерни.
4.3 Результати моделей на основі трансформерів
Аналіз: трансформери забезпечують найвищу точність, особливо на коротких і
багатозначних текстах, завдяки механізму self-attention, що дозволяє моделі
враховувати контекст кожного слова.
61
4.4 Візуалізація результатів
Для покращення розуміння ефективності моделей були використані графіки:
• Confusion Matrix -наочно показує правильні та помилкові передбачення
моделей.
• ROC-крива (Receiver Operating Characteristic) -демонструє співвідношення
чутливості та специфічності.
• SHAP / LIME -дозволяє ідентифікувати слова, що найбільше вплинули на
передбачення.
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
cm = confusion_matrix(y_test, y_pred)
disp = ConfusionMatrixDisplay(confusion_matrix=cm)
disp.plot()
plt.show()
4.5 Порівняльний аналіз моделей
Отже трансформери оптимальні для точного виявлення фейкових новин, проте
класичні ML-моделі залишаються корисними для швидкої первинної оцінки
аборесурсозберігаючих застосувань.
62
4.6 Сильні та слабкі сторони системи
Сильні сторони:
• Висока точність класифікації (до 95%).
• Можливість роботи з багатомовними текстами (українська, англійська).
• Гнучкість у інтеграції в API та веб-сервіси.
• Можливість пояснювати рішення моделі через SHAP/LIME.
Слабкі сторони:
• Потреба великого обсягу навчальних даних для трансформерів.
• Високі апаратні вимоги (GPU).
• Ускладнена інтерпретованість трансформерних моделей.
• Помилки на сарказмі, іронії та складних коротких текстах.
4.7. Пропозиції щодо вдосконалення системи
Розширення корпусу українських новин Залучення більшої кількості
перевірених джерел та фейкових публікацій для підвищення точності класифікації.
Мультимодальний аналіз.
Додавання зображень та відео для підвищення точності виявлення фейкових
новин у соціальних мережах.
Адаптивне донавчання.
Регулярне оновлення моделей на нових даних для врахування зміни мовних
патернів і трендів фейкових новин.
Інтеграція потужних мовних моделей (LLM)
Можливе використання GPT-4/5 для попередньої фільтрації новин та створення
більш точних embeddings.
Оптимізація швидкодії
63
Використання DistilBERT або інших легких моделей для веб-додатків із
низькими апаратними ресурсами.
4.8. Проблема виявлення синтетичного тексту, згенерованого штучним
інтелектом
Окремим і надзвичайно актуальним викликом для розробленої системи є поява
нового класу фейкових новин -синтетичних текстів, створених великими мовними
моделями (LLM), такими як GPT-4, Claude або LLaMA. На відміну від фейків,
написаних людьми, які часто містять емоційні маркери, граматичні помилки (суржик)
та стилістичні перебільшення (капслок), тексти від ШІ є граматично досконалими та
стилістично нейтральними.
4.8.1 Феномен "машинних галюцинацій"
Штучний інтелект здатен генерувати переконливі, але повністю вигадані факти,
відомі як "галюцинації". Наприклад, модель може згенерувати новину про
неіснуючий закон, посилаючись на реальні номери статей та імена реальних депутатів,
використовуючи офіційно-діловий стиль. Для моєї моделі на базі BERT це створює
проблему "false negative" (пропуску фейку), оскільки лінгвістичний аналіз не виявляє
аномалій. Текст виглядає як правдивий, хоча зміст є хибним.
4.8.2 Атаки типу Adversarial Attacks
Зловмисники можуть використовувати генеративний ШІ для створення так
званих "змагальних прикладів" (adversarial examples) -текстів, спеціально
оптимізованих для обману класифікаторів. Додавання невидимих для людини
символів або заміна синонімів на такі, що змінюють векторне представлення тексту,
може змусити модель змінити передбачення з "Fake" на "Real". Експерименти
64
показують, що навіть незначні пертурбації у вхідних даних (наприклад, заміна слова
"жахливий" на "значний") можуть знизити впевненість моделі на 15-20%.
4.8.3 Стратегія протидії синтетичним фейкам
Для вирішення цієї проблеми у майбутніх ітераціях системи пропонується
впровадити метод стилометрії. Дослідження свідчать, що моделі ШІ мають
специфічний "відбиток" (fingerprint) -вони частіше використовують певні слова-
зв’язки та мають нижчу перплексію (perplexity) тексту порівняно з людьми. Інтеграція
додаткового класифікатора "Human vs AI" дозволить позначати новини, згенеровані
машиною, як потенційно підозрілі, навіть якщо їх зміст виглядає правдоподібним.
4.9 Перспективи практичного використання
Інтеграція системи у соціальні мережі для автоматичного маркування
потенційно фейкових новин.
Використання у медіа та журналістських платформах для попереднього факт-
чекінгу.
Створення мобільних додатків для користувачів, які швидко перевіряють
достовірність новин.
Аналітика та звітність для державних органів та організацій з контролю
інформації.
4.10 Висновки до розділу 4
Моя система автоматизованого виявлення фейкових новин показала високу
ефективність, особливо при використанні трансформерів.
Розробка та тестування підтвердили перевагу моделей, що враховують контекст
і семантику тексту.
65
Основні обмеження системи пов’язані з апаратними ресурсами, обсягом
корпусу та особливостями текстів (сарказм, короткі новини).
Подальший розвиток системи можливий через розширення корпусу,
мультимодальний аналіз, адаптивне донавчання та використання легких
трансформерних моделей для інтеграції в реальні сервіси.
Розділ 4 завершує аналіз ефективності та перспектив розвитку системи,
надаючи рекомендації для її практичного застосування та подальшого вдосконалення.
66
ВИСНОВКИ
В ході виконання кваліфікаційної роботи магістра за темою «Застосування
методів аналізу текстових даних для автоматизованого виявлення фейкових новин із
використанням технологій NLP» були досягнуті наступні результати:
Розкрито теоретичні основи NLP та аналізу текстових даних
Проаналізовано сучасні підходи до обробки природної мови та класифікації
текстів.
Виявлено ключові етапи попередньої обробки текстів, включно з токенізацією,
лематизацією, видаленням стоп-слів та нормалізацією.
Розглянуто методи векторного подання тексту, зокрема BoW, TF-IDF, Word
Embeddings та контекстні ембеддинги (BERT, RoBERTa).
Досліджено алгоритми машинного та глибинного навчання для класифікації
фейкових новин
Проаналізовано класичні моделі ML (Naive Bayes, Logistic Regression, SVM) та
нейромережеві моделі (LSTM, BiLSTM, CNN).
Оцінено ефективність трансформерних моделей, зокрема BERT, для точного
виявлення фейкових новин.
Реалізовано практичну систему автоматизованого виявлення фейкових новин
Підготовлено багатомовний корпус даних українською та англійською мовами.
Проведено навчання та тестування моделей, включно з fine-tuning BERT.
Створено REST API на FastAPI для інтеграції системи у реальні застосунки.
Проведено оцінку ефективності системи
Найвищу точність показала трансформерна модель BERT: Accuracy 95,2%, F1-
score 95,0%.
Класичні моделі та рекурентні нейронні мережі також показали добрі
результати, але трансформери забезпечують найкращу продуктивність на складних
текстах.
67
Виявлено сильні сторони (висока точність, багатомовність, інтеграція в API) та
слабкі сторони (високі апаратні вимоги, помилки на сарказмі та коротких текстах).
Визначено перспективи розвитку системи
Розширення корпусу українських новин для підвищення якості навчання
моделей.
Мультимодальний аналіз (текст + зображення) для покращення точності.
Адаптивне донавчання моделей та інтеграція великих мовних моделей (GPT-
4/5) для автоматичного попереднього сортування новин.
Використання легких трансформерних моделей (DistilBERT) для зменшення
ресурсних витрат.
Наукова та практична значущість роботи
Робота сприяє розвитку методів NLP для української мови.
Розроблена система може бути використана медіа, журналістами, соціальними
мережами та державними органами для боротьби з дезінформацією.
Результати роботи можуть бути фундаментом для наступних досліджень у сфері
автоматичного виявлення фейкових новин та NLP-застосунків.
Загальний висновок:У моїй роботі розроблена мною система автоматизованого
виявлення фейкових новин є ефективним інструментом для класифікації текстових
даних. Використання сучасних методів NLP, зокрема трансформерів, забезпечує
високу точність та стійкість системи до різних типів текстів. Практична реалізація
доводить можливість інтеграції такої системи у реальні інформаційні сервіси та її
потенціал для подальшого вдосконалення.
68
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Jurafsky D., Martin J.H. Speech and Language Processing: An Introduction to
Natural Language Processing, Computational Linguistics, and Speech Recognition.
3rd Edition. – Pearson, 2023.
2. Vaswani A., Shazeer N., Parmar N. et al. Attention is All You Need. – NeurIPS,
2017.
3. Devlin J., Chang M.-W., Lee K., Toutanova K. BERT: Pre-training of Deep
Bidirectional Transformers for Language Understanding. – NAACL-HLT, 2019.
4. Goldberg Y. Neural Network Methods for Natural Language Processing. – Morgan
& Claypool, 2017.
5. Chakraborty A., et al. StopClickbait: Detecting and Preventing Clickbaits in Online
News. – 2016.
6. Shu K., Sliva A., Wang S., Tang J., Liu H. Fake News Detection on Social Media: A
Data Mining Perspective. – ACM SIGKDD Explorations, 2017, Vol. 19, No. 1, pp.
22–36.
7. Conneau A., Kiela D., Schwenk H., Barrault L., Bordes A. Supervised Learning of
Universal Sentence Representations from Natural Language Inference Data. –
EMNLP, 2017.
8. Liu P., Qiu X., Huang X. Recurrent Neural Network for Text Classification with
Multi-Task Learning. – IJCAI, 2016.
9. Fake News Detection Dataset (Kaggle). URL: https://www.kaggle.com/c/fake-news
10. LIAR Dataset. URL: https://www.cs.ucsb.edu/~william/data/liar_dataset.zip
11. StopFake. URL: https://www.stopfake.org/
12. Detector Media. URL: https://detector.media/
13. Wolf T., et al. HuggingFace Transformers: State-of-the-Art Natural Language
Processing. – arXiv:1910.03771, 2019.
69
14. Ribeiro M.T., Singh S., Guestrin C. “Why Should I Trust You?”: Explaining the
Predictions of Any Classifier. – KDD, 2016.
15. Lundberg S.M., Lee S.-I. A Unified Approach to Interpreting Model Predictions. –
NeurIPS, 2017.
16. Pedregosa F., Varoquaux G., Gramfort A., et al. Scikit-learn: Machine Learning in
Python. – Journal of Machine Learning Research, 2011, Vol. 12, pp. 2825–2830.
17. Chollet F. Deep Learning with Python. – 2nd Edition. – Manning Publications,
2021.
18. FastAPI Documentation. URL: https://fastapi.tiangolo.com/
19. Stanza NLP Library Documentation. URL: https://stanfordnlp.github.io/stanza/
20. HuggingFace Transformers Documentation. URL:
https://huggingface.co/docs/transformers/index
21. Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word
Representations in Vector Space. – arXiv:1301.3781, 2013.
70
ДОДАТОК А
«Затверджую» Завідувач кафедри
статистики та прикладної математики
____________ Анаіт КАРАПЕТЯН
«___» ________2025 р.
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ТЕКСТОВИХ ДАНИХ ДЛЯ
АВТОМАТИЗОВАНОГО ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ІЗ
ВИКОРИСТАННЯМ ТЕХНОЛОГІЙ NLP
Специфікація
482.ЧДТУ.5 2431-01
Розробник ______________ Олександр ДЕНЬГА
Керівник ______________ Євген ФЕДОРОВ
Черкаси – 2025
71
482.ЧДТУ.5 2431-01
Позначення Найменування Примітка
Документація
482.ЧДТУ.5 2431-12 Текст програми
482.ЧДТУ.5 2431-13 Опис датасету
482.ЧДТУ.5 2431-31 Опис застосування
72
ДОДАТОК Б
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ТЕКСТОВИХ ДАНИХ ДЛЯ
АВТОМАТИЗОВАНОГО ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ІЗ
ВИКОРИСТАННЯМ ТЕХНОЛОГІЙ NLP
Текст програми
482.ЧДТУ.5 2431-12
Розробник ______________ Олександр ДЕНЬГА
Черкаси – 2025
73
ТЕКСТ ПРОГРАМИ
Файл: text_cleaner.py (Попередня обробка)
import re
import stanza
# Ініціалізація пайплайну для української мови
nlp = stanza.Pipeline(lang='uk', processors='tokenize,lemma')
def clean_text(text):
"""
Функція для очищення тексту від шуму.
"""
# Видалення HTML тегів
text = re.sub(r'<.*?>', '', text)
# Видалення URL
text = re.sub(r'http\S+|www\S+|https\S+', '', text, flags=re.MULTILINE)
# Залишаємо тільки літери та основні розділові знаки
text = re.sub(r"[^a-zA-Zа-яА-ЯїЇєЄіІґҐ0-9\s.,!?]", "", text)
# Видалення зайвих пробілів
text = re.sub(r'\s+', ' ', text).strip()
return text.lower()
def lemmatize_text(text):
"""
Лексична нормалізація (лематизація) за допомогою Stanza.
"""
doc = nlp(text)
lemmas = [word.lemma for sent in doc.sentences for word in sent.words]
return " ".join(lemmas)
Файл: model_inference.py (Передбачення)
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch.nn.functional as F
class NewsClassifier:
def __init__(self, model_path="path/to/saved_model"):
self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
self.tokenizer = AutoTokenizer.from_pretrained(model_path)
self.model = AutoModelForSequenceClassification.from_pretrained(model_path)
self.model.to(self.device)
self.model.eval()
74
def predict(self, text):
inputs = self.tokenizer(
text,
return_tensors="pt",
truncation=True,
padding=True,
max_length=512
).to(self.device)
with torch.no_grad():
outputs = self.model(**inputs)
logits = outputs.logits
probs = F.softmax(logits, dim=1)
confidence, predicted_class = torch.max(probs, dim=1)
return {
"label": "Fake" if predicted_class.item() == 1 else "Real",
"confidence": round(confidence.item() * 100, 2)
}
Файл: app.py (FastAPI Backend)
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from text_cleaner import clean_text
from model_inference import NewsClassifier
app = FastAPI(title="Fake News Detector API")
classifier = NewsClassifier(model_path="./best_model")
class NewsRequest(BaseModel):
text: str
@app.post("/predict")
async def predict_news(request: NewsRequest):
if not request.text:
raise HTTPException(status_code=400, detail="Text is empty")
cleaned_text = clean_text(request.text)
result = classifier.predict(cleaned_text)
return {
"original_length": len(request.text),
"prediction": result["label"],
"confidence": result["confidence"]
75
}
Файл Home.jsx (Frontend)
import { Card, Typography, TextField, Button } from "@mui/material";
import { useState } from "react";
import AdminPanel from "./AdminPanel";
import axios from "axios";
export default function Home() {
const [text, setText] = useState("");
const [result, setResult] = useState(null);
const send = async (newsText) => {
const res = await axios.post("http://127.0.0.1:8000/predict", { news: newsText });
setResult(res.data);
};
const handleFile = async (e) => {
if (!e.target.files?.[0]) return;
const file = e.target.files[0];
const textFromFile = await file.text();
setText(textFromFile);
send(textFromFile);
};
return (
<Card sx={{ m: "10px auto", p: 4, maxWidth: 900 }}>
<Typography variant="h4" align="center" sx={{ mb: 2 }}>
Fake News Detector
</Typography>
<TextField
multiline
minRows={5}
fullWidth
label="Введіть текст новини"
value={text}
onChange={(e) => setText(e.target.value)}
sx={{ mb: 2 }}
/>
<Button variant="contained" fullWidth onClick={() => send(text)} sx={{ mb: 2 }}>
Перевірити текст
</Button>
76
<Button variant="outlined" component="label" fullWidth sx={{ mb: 2 }}>
Завантажити файл
<input
hidden
type="file"
accept=".txt,.docx,.md"
onChange={handleFile}
/>
</Button>
{result && (
<Typography variant="h6" sx={{ mt: 3 }}>
Результат: {result.label}
<br />
Ймовірність: <br />
Реальність - {(result.p_real * 100).toFixed(2)}%,
Фейк - {(result.p_fake * 100).toFixed(2)}%
</Typography>
)}
<AdminPanel />
</Card>
);
}
Файл AdminPanel.jsx (Frontend)
import { useState } from "react";
import { Tabs, Tab, Box } from "@mui/material";
import UrlCheck from "./UrlCheck";
import HistoryTable from "./HistoryTable";
import StatsCharts from "./StatsCharts";
export default function AdminPanel() {
const [tab, setTab] = useState(0);
return (
<Box sx={{ p: 3 }}>
<Tabs value={tab} onChange={(e, v) => setTab(v)}>
<Tab label="Перевірка URL" />
<Tab label="Історія" />
<Tab label="Статистика" />
</Tabs>
77
{tab === 0 && <UrlCheck />}
{tab === 1 && <HistoryTable />}
{tab === 2 && <StatsCharts />}
</Box>
);
}
Файл HistoryTable.jsx(Frontend)
import { useEffect, useState } from "react";
import axios from "axios";
import {
Table, TableHead, TableRow, TableCell,
TableBody, Paper, Typography, Button
} from "@mui/material";
export default function HistoryTable() {
const [rows, setRows] = useState([]);
useEffect(() => {
axios.get("http://127.0.0.1:8000/history").then((res) => setRows(res.data));
}, []);
const del = async () => {
axios.delete("http://127.0.0.1:8000/history");
};
const renderPossibility = (row) => {
const result = row?.result;
return `${(result?.p_real * 100).toFixed(2)}% / ${(result?.p_fake *
100).toFixed(2)}%`
}
return (
<Paper sx={{ p: 3 }}>
<Typography variant="h6" sx={{ mb: 2 }}>Історія перевірок</Typography>
<Table>
<TableHead>
<TableRow>
{/* <TableCell>Тип</TableCell> */}
<TableCell>Вхідні дані</TableCell>
<TableCell>Результат</TableCell>
<TableCell>Ймовірність</TableCell>
78
<TableCell>Дата</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row, i) => (
<TableRow key={i}>
{/* <TableCell>{row.type}</TableCell> */}
<TableCell>{row?.news}</TableCell>
<TableCell>{row?.result?.label}</TableCell>
<TableCell>{renderPossibility(row)}</TableCell>
<TableCell>{new Date().toLocaleString()}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
<Button variant="contained" fullWidth onClick={del}>
Очистити історію
</Button>
</Paper>
);
}
Файл StatsChart.jsx (Frontend)
import { useEffect, useState } from "react";
import axios from "axios";
import { PieChart, Pie, Cell, Tooltip, Legend } from "recharts";
import { Paper, Typography } from "@mui/material";
const COLORS = ["#4caf50", "#f44336"];
export default function StatsCharts() {
const [data, setData] = useState([]);
useEffect(() => {
axios.get("http://127.0.0.1:8000/history").then((res) => {
const fakes = res.data.filter(r => r.result.label === "Фейк").length;
const real = res.data.length - fakes;
console.log(fakes, real);
setData([
{ name: "Реальні", value: real },
{ name: "Фейки", value: fakes },
79
]);
});
}, []);
return (
<Paper sx={{ p: 3 }}>
<Typography variant="h6" sx={{ mb: 2 }}>Статистика</Typography>
<PieChart width={500} height={300}>
<Pie
data={data}
dataKey="value"
nameKey="name"
outerRadius={120}
fill="#8884d8"
label
>
{data.map((entry, index) => (
<Cell key={index} fill={COLORS[index]} />
))}
</Pie>
<Tooltip />
<Legend />
</PieChart>
</Paper>
);
}
80
ДОДАТОК В
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ТЕКСТОВИХ ДАНИХ ДЛЯ
АВТОМАТИЗОВАНОГО ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ІЗ
ВИКОРИСТАННЯМ ТЕХНОЛОГІЙ NLP
Опис дата-сету
482.ЧДТУ.5 2431-13
Розробник ______________ Олександр ДЕНЬГА
Черкаси – 2025
81
ОПИС ДАТАСЕТУ
1. Загальна характеристика
Для навчання та тестування системи було сформовано комбінований корпус
даних, що містить новини українською та англійською мовами. Дані були зібрані з
відкритих джерел, верифікованих фактчекінговими організаціями, а також з
новинних агрегаторів.
2. Структура запису (JSON-формат)
Кожен елемент датасету представлено у такому форматі:
{
"id": "10245",
"title": "У Києві завтра запустять мережу підземних телепортів",
"text": "Столична влада повідомила про завершення будівництва...",
"label": 1,
"source": "fake_news_site.com",
"language": "uk",
"date": "2025-10-12"
}
Примітка: label 1 відповідає класу "Fake", label 0 — класу "Real".
3. Статистичний розподіл даних
Джерело даних Кількість записів Клас (Real/Fake) Мова
Kaggle Fake News 20 800 50% / 50% Англійська
Dataset
StopFake / Detector 11 200 0% / 100% Українська
Media
Перевірені ЗМІ (УП, 15 500 100% / 0% Українська
BBC)
LIAR Dataset 5 787 Змішаний Англійська
Всього 53 287 ~50.4% / 49.6% Змішана
4. Попередня обробка
З датасету було вилучено:
1. Дублікати текстів.
2. Новини довжиною менше 50 слів (недостатньо контексту).
3. Тексти з критичними помилками кодування.
82
ДОДАТОК Г
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ТЕКСТОВИХ ДАНИХ ДЛЯ
АВТОМАТИЗОВАНОГО ВИЯВЛЕННЯ ФЕЙКОВИХ НОВИН ІЗ
ВИКОРИСТАННЯМ ТЕХНОЛОГІЙ NLP
Опис застосування
482.ЧДТУ.5 2431-31
Розробник ______________ Олександр ДЕНЬГА
Черкаси – 2025
83
ІНСТРУКЦІЯ КОРИСТУВАЧА
1. Початок роботи
Для доступу до системи відкрийте веб-браузер та перейдіть за адресою
локального або віддаленого сервера (наприклад, http://localhost:3000).
2. Головне вікно програми
Інтерфейс програми інтуїтивно зрозумілий і складається з поля введення та
панелі керування.
3. Перевірка новини
Для аналізу достовірності виконайте наступні дії:
1. Вставте текст новини у поле «Введіть текст новини» АБО вставте посилання
на вкладці «Перевірка URL».
2. Натисніть кнопку «ПЕРЕВІРИТИ ТЕКСТ».
3. Система обробить запит (час очікування 0.5–2 сек).
84
4. Інтерпретація результатів
Після аналізу на екрані з’явиться результат:
• Результат: Вердикт системи (Фейк / Реально).
• Ймовірність: Рівень впевненості моделі у відсотках.
5. Перегляд статистики
Для аналізу власної активності перейдіть на вкладку «СТАТИСТИКА». Тут
відображається діаграма співвідношення правдивих та фейкових новин, які ви
перевіряли.
6. Історія
У вкладці «ІСТОРІЯ» зберігаються останні 50 запитів із зазначенням дати,
тексту та результату перевірки для швидкого доступу до попередніх даних.
85