Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/9155Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | Первунінський, Станіслав Михайлович | - |
| dc.contributor.author | Погорілий, Артем Вячеславович | - |
| dc.date.accessioned | 2026-03-26T20:53:37Z | - |
| dc.date.available | 2026-03-26T20:53:37Z | - |
| dc.date.issued | 2023-12-17 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/9155 | - |
| dc.description.abstract | АНОТАЦІЯ Погорілий Артем Вячеславович, кваліфікаційна робота магістра на тему «Програмне забезпечення експертної системи синтаксичного аналізу технічного тексту з англійської мови». Напрям підготовки 121 «Інженерія програмного забезпечення», ЧДТУ, Черкаси 2023. В даній кваліфікаційній роботі мапстра проводяться досшдження синтаксичного аналізу технічного тексту з англійської мови та їх застосування для використання в різних системах. В кваліфікаційній роботі магістра описано предметну область, структуру синтаксичного аналізу технічного тексту з англійської мови, постановка задачі, моделювання системи та розробка програмного забезпечення. Результатом роботи є побудована експертної системи синтаксичного аналізу технічного тексту з англійської мови. Використані програмні засоби: Python IDLE версії 3.10. | uk_UA |
| dc.description.abstract | ANNOTATION Artem Vyacheslavovich Pohoriliy, master's qualification thesis on the topic "Software of an expert system of syntactic analysis of technical text in English". Field oftraining 121 "Software engineering", CDTU, Cherkasy 2023. In this master's thesis, research is carried out on the syntactic analysis of technical texts from the English language and their application for use in various systems. The master's thesis describes the subject area, the structure of the syntactic analysis of а technical text from the English language, the formulation of the problem, and the process of tokenization. The result of the work is the built expert system of syntactic analysis of the technical text from the English language. Software used: Python IDLE version 3.10. | uk_UA |
| dc.language.iso | uk | uk_UA |
| dc.subject | експертна система | uk_UA |
| dc.subject | синтаксичний аналіз | uk_UA |
| dc.subject | моделювання процесів | uk_UA |
| dc.subject | розробка програмного забезпечення | uk_UA |
| dc.subject | expert system | uk_UA |
| dc.subject | parsing | uk_UA |
| dc.subject | process modeling | uk_UA |
| dc.subject | software development | uk_UA |
| dc.title | Програмне забезпечення експертної системи синтаксичного аналізу технічного тексту з англійської мови | uk_UA |
| dc.type | Master Thesis | uk_UA |
| Appears in Collections: | 121 Інженерія програмного забезпечення (Інженерія програмного забезпечення) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Кваліфікаційна робота магістра Погорілий Артем Вячеславович.pdf Restricted Access | 35.11 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи
«мап стра»
освіn1ій ріве11ь
на тему: Програмне забезпечення експертної системи синтаксичного аналізу
технічного тексту з англійської мови
Виконав:студент 2 курсу, групи МПЗ-2204
Спеціальність:
121 «Інженерія програмного забезпечення»
(шифр і назва напряму підготовки)
Студент Погорілий А.В.
(прізвище та ініціали)
Керівник д.т.н., проф., Первунінський С.М.
(прізвище та ініціали)
Рецензент _____З =а=х=а~р=о=в=а=М=.В~·---
(прізвище та ініціали)
Черкаси 2023
Черкаський державний технологічний університет
повне найменування вищого навчального закладу
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
Освітній рівень магістр
Спеціальність 121 «Інженерія програмного забезпечення»
Освітня програма Інженерія програмного забезпечення
Зав.
бС .В.
ЗАВДАННЯ
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ
Погорілому Артему Вячеславовичу
(прізвище, ім 'я, по батькові)
1. Тема проекту (роботи) Програмне забезпечення експертної системи синтаксичного
аналізу техничного тексту з англійської мови
Керівник проекту (роботи) Первунінський Станіслав Михайлович д.т.н., проф.
(прізвище, ім'я, по батькові, науковий ступінь, вчене звання
Затверджена наказом Черкаського державного технологічного університету від «Об» жовтня
2023р. №267 /04
2. Строк подання студентом (роботи) "02" грудня 2023 р.
3. Вхідні дані до проекту (роботи) стандарти програмного забезпечення, моделювання
процесів на етапі формування вимог, визначення процесу токенізації, синтаксичний аналіз
текст.
4. Зміст пояснювальної записки (перелік питань, що їх належить розробити)
Існуючі методи та засоби розв'язання поставлених завдань
Теоретичні та експериментальні дослідження ____ _ _______________
Впровадження результатів досліджень у практику проектування програмного забезпечення
інформаційних систем
Розробка та тестування програмного забезпечення
Висновки
Додатки-----------------------------------
5. Перелік графічного матеріалу (з точним зазначенням обов'язкових креслень, плакатів)
Задачі дослідження. ______________________________
Класифікація рішень .. _____________________________
Існуючі алгоритми вирішення завдання .. _______________________
Структура системи _____________________________
1
6. ! онсультанти розділів проекту (роботи)
Прізвище, ініціали та посади Підпис, дата
Розділ
консультанта Завдання видав Завдання прийняв
1
2
з
7.Дата видачі завдання ----О'--=2:..:..0;""9''-'-.2="--О-2'::с::Зе.tср.:.. ._ ___ _ ___ ______
Календарний план
(прізвище, ініціали) І
№ Назва етапів випускної магістерської роботи Строк виконання
з/п етапів проекту Примітка
(роботи)
1 Постановка задачі вересень Виконано
2 Підготовка завдання вересень Виконано
з Погодження завдання вересень Виконано
4 Затвердження завдання вересень Виконано
Основна стадія
1 Підбір матеріалів вересень Виконано
2 Аналіз ІШІЯХЇВ вирішення поставленої задачі вересень Виконано
з Розрахунок основних параметрів роботи вересень Виконано
4 Вибір кінцевого варіанту проектного рішення вересень Виконано
5 Оформлення первісної редакції роботи листопад Виконано
Заключна стадія
Узгодження прийнятих проектних р1ШеНЬ З листопад Виконано
1
керівником
Оформлення поясюовальної записки роботи в грудень Виконано
2
кі~щевій редакції
з Попередній захист роботи грудень Виконано
4 Затвердження роботи грудень Виконано
5 Рецензування роботи грудень Виконано
6 Захист роботи грудень Виконано
Студент Погорілий .В.
(прізu11ще та ініціалн)
Керівник Первунінський С.М
(прізвище та ініціали)
АНОТАЦІЯ
Погорілий Артем Вячеславович, кваліфікаційна робота магістра на тему
«Програмне забезпечення експертної системи синтаксичного аналізу технічного
тексту з англійської мови». Напрям підготовки 121 «Інженерія програмного
забезпечення», ЧДТУ, Черкаси 2023.
В даній кваліфікаційній роботі мапстра проводяться досшдження
синтаксичного аналізу технічного тексту з англійської мови та їх застосування
для використання в різних системах. В кваліфікаційній роботі магістра описано
предметну область, структуру синтаксичного аналізу технічного тексту
з англійської мови, постановка задачі, моделювання системи та розробка
програмного забезпечення.
Результатом роботи є побудована експертної системи синтаксичного
аналізу технічного тексту з англійської мови.
Використані програмні засоби: Python IDLE версії 3.10.
Ключові слова: експертна система, синтаксичний анал1з, моделювання
процесів, розробка програмного забезпечення.
ANNOTATION
Artem Vyacheslavovich Pohoriliy, master's qualification thesis on the topic
"Software of an expert system of syntactic analysis of technical text in English". Field
oftraining 121 "Software engineering", CDTU, Cherkasy 2023.
In this master's thesis, research is сапіеd out on the syntactic analysis of
technical texts from the English language and their application for use in various
systems. The master's thesis describes the subject area, the structure of the syntactic
analysis of а technical text from the English language, the formulation of the problem,
and the process of tokenization.
The result of the work is the built expert system of syntactic analysis of the
technical text from the English language.
Software used: Python IDLE version 3.10.
Keywords: expert system, parsing, process modeling, software development.
ЗМІСТ
СПИСОК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ ................................ ....... 5
ВСТУП ........................................................................................................................ 6
1 ІСНУЮЧІ "МЕТОДИ ТА ЗАСОБИ РОЗВ'ЯЗАННЯ ПОСТАВЛЕНИХ
ЗАВДАНЬ ............................................................................................................. 9
1. 1 Аналіз оста нн1· х досл·щ жень 1· пу б л1· кац1·"и ..................... ... ... ................ ...... . . .9
1.2 Основні функції експертних систем ........ ... ........................................... ... . . 11
Висновки до першого розділу ........................... ... ............. ................... ................... 20
2 ТЕОРЕТИЧНІ ТА ЕКСПЕРИ"МЕНТАЛЬІП ДОСllіДЖЕННЯ ..................... 21
2.1 Теоретичні дослідження .............................................................. ................ 21
2.2 Експериментальні дослідження .................................................................. 25
Висновки до другого розділу .................................................................................. .32
3 ВПРОВАДЖЕІП-ІЯ РЕЗУЛЬТАТІВ ДОСllіДЖЕНЬ У ПРАКТИКУ
ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
ІНФОРМАЦІЙІ-ІИХ СИСТЕМ ...................................................................... .... 33
3 .1 Моделювання предметної області .............................................................. 33
3 .1.1 Предметна область моделювання. Модель предметної області.
Словник предметної області .......................................................... .. .33
3 .1.2. Елементи моделювання предметної області ................................... З 5
3 .1.3 Робоча область моделювання .................................................... ....... .3 7
3 .2 Формування та аналіз вимог ...................................................................... .3 7
3.2.1 Формування та аналіз вимог до програмного забезпечення ......... .37
3.2.1.1 Первинні і детальні вимоги ................................................. 37
3 .2.1.2 Вимоги замовника 1 розробника. Функціональні та
нефункціональні вимоги .............. .. .................................... .. 39
3.2.2 Формування вимог за допомогою діаграми прецедентів ....... ....... .41
3 .З Проектування логічної структури програмного комплексу ................... .43
3 .3 .1 Діаграма класів ................................................................................... 43
3.3.2 Діаграма пакетів .......................................... ..................................... . .4 5
3 .4 Архітектурне проектування ................................................................. ....... .4 7
3 .4.1 Діаграма компонентів ....................................................................... .4 7
3 .4.2 Розгортання програмно~ системи на апаратних засобах.
Діаграма розгортання ........................................................................ .49
3.5 Моделювання поведінки системи ............................................................... 50
3 .5 .1 Діаграма діяльності ......................................................... ................... 51
3 .5 .2 Діаграма послідовності ...................................................................... 53
3.5.3 Діаграма комунікації ................................... ....................................... 55
3.5.4 Діаграма скінченого автомату ........................................................... 56
Висновки до третього розділу ...................................... .................................. ....... .. 59
ЧДТУ.232217.022 ПЗ
Зм . Лист № докумемента Підпис Дата
Розроб. Погорілий А.В. ~ (Пояснювальна записка ) Літ. І Лист І Листів
Керівник Пер•унінс"киА С. М. V Програмне забезпечення експертної ~1.-lli......ili...-_1_...,I_ __~
системи синтаксичного аналізу ФІТІС, кафедра ПЗАС,
Н.контр. ПіасньО. fr,Qk технічного тексту з англійської мови
:..:..!:..:....-&--.:..:.:.:.:...::.....::...-1-~~-4--~ гр. МПЗ-2204
Затв. Голубе.в.
І 4 КОНСТРУЮВАННЯ ТА ТЕСТУВАННЯ ПРОГРАМНОГО
І ЗАБЕЗПЕЧЕННЯ ........................................................................... ... ................. 60
І
4.1 Розробка програмного комплексу ............................................................. 60
4.1.1 Обrрунтування вибору засобів реалізації ....................................... 60
4.1.2 Опис структурної ( функціональної) схеми ..................................... 61
4.1.3 Опис логічної схеми системи ........................................................... 63
4.1.4 Розробка бази даних ..................................... ..................................... 64
4.1.5 Розробка інтерфейсу користувача ................................................... 66
4.1.6 Опис розробки програмних компонентів ....................................... 69
4.2 Тестування системи ......................................................... ............................ 73
4.2.1 Модульне тестування ........................................................................ 73
4.2.2 Інтеграційне тестування ... .. .............................................................. 75
4.2.3 Системне тестування ......................................................................... 77
4.2.4 Приймальне тестування .................................................................... 78
Висновки до четвертого розд·ш у .................................................. .. ...................... .. 81
ЗАГ АJІЬНІ ВИСНОВКИ ......................................................................................... 82
СПИСОК ВИК О РИ СТ АНИХ ДЖЕРЕЛ ............................................................... 84
ДОДАТКИ ............................................................................................................ 88
,Л_ис_т
ЧДТУ.232217.022 ПЗ
Зм . Лист № документа Підпис Дата
ЧДТУ.232217 .022 ПЗ
СПИСОК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ
SQL - мова структурованих запитів
БД - база даних
ПЗ - програмне забезпечення
ПП - програмний продукт
СУБД - система управління базами даних
ТЗ - техючне завдання
Sping універсальний фреймворк з вихідним кодом для Java
ПК - персональний комп'ютер
ШІ - штучний інтелект
ЕС - експертна система
UМL - уніфікована мова моделювання
5
ЧДТУ.232217 .022 ПЗ
ВСТУП
Актуальність теми.
Розробка програмного забезпечення (ПЗ) для експертних систем
синтаксичного аналізу технічного тексту на англійській мові є дуже актуальною
та обіцяючою темою в сучасному інформаційному середовищі. Розглянемо
декілька ключових аспектів, які підкреслюють актуальність цієї теми:
1 Зростання обсягу технічного тексту: Сучасний світ переповнений
технічною інформацією, яка надходить з різних джерел, таких як
наукоВІ статп, техючю документи, логи та зв~ти. Важливість
автоматизованого анал1зу та зрозумшня цього тексту набула
критичного значення, оскшьки великий обсяг інформації потребує
швидкої та точної обробки.
2 Оптимізація роботи з великим обсягом інформації: В р1зних
професійних галузях, таких як наука, інженерія та бізнес, вимагається
аналіз та обробка великої кількості техючних даних. Системи
синтаксичного анал1зу спрощують цей процес, дозволяючи
професіоналам працювати ефективно з великою кількістю інформації
та здобувати корисні висновки.
З Підтримка прийняття рішень: Експертні системи синтаксичного
аналізу можуть бути використані для прийняття обгрунтованю
технічних рішень. Вони допомагають виявляти аномалії, надавати
рекомендації та сприяти прийняттю оптимальних рішень, що о обливо
корисно в контексті складних технічних завдань.
4 Мовна різ11оманіт11ість: Розробка систем аналі у т ~к тtв для
англійс1>ко'і моои може служити першим кроком для розширення
функціоналмюсті на інші мови . Оскіньки зашпи на аналіз технічного
тексту можуть надходити у різних мовах, системи, які розуміють цю
різноманітність, стають дуже цінними для глобальних організацій та
міжнародних проєктів.
б
ЧДТУ.232217.022 ПЗ
І11телсkтуальний аналіз: Використання штучного інтелекту та
машинного навчання дозволяє експертним системам розр1зняти
. • • . І . . •
контекст, визначати ключов1 поняття та анашзувати взаємозв язки м1ж
словами і фразами. Ця інтелектуальна обробка тексту робить системи
більш ефективними та корисними для користувачів.
6 Популярність обробки природної мови (NLP): Обробка природної
мови широко використовується у сучасних технологіях і додатках.
Синтаксичний аналіз є важливою складовою NLP і допомагає
покращити якість інтерфейсів та функціональність продуктів.
З урахуванням цих аспектів розробка ПЗ для експертних систем
синтаксичного аналізу технічного тексту на англійській мові стає важливою 1
перспективною галуззю, яка знаходить застосування в р1зних галузях,
включаючи науку, техніку, бізнес та інші галузі [5] .
Метою і завдання досліджень: метою роботи є шдвищення якост1
методик розробки проrрамного забезпечення інформаційної системи
оптимальної перевірки тексту методом рішення задачі синтаксичного аналізу
тексту з англійської мови.
В рамках проекту передбачається реалізація наступних завдань:
І Дослідження предметної області.
2 Огляд існуючих досліджень.
З Розробка алгоритмів для синтаксичного аналізу текстових даних.
4 Розробка проrрамного забезпечення синтаксичного аналізу техючного
тексту з англійської мови.
5 UМL моделювання процесів.
6 Розробка інтерфейсу для взаємодії з системою та відображ . ння
результатів аналізу.
7 Тестунання та оптимізація експертної системн для: дос~rн 1-щя високої
точності та продуктитюсті .
Об'єк...- ;1осJ1ідже1111и: нроцес об' ·ктно-орі итоваttоrо проектування
ГІроrрамннх систем.
7
ЧДТУ.232217 .022 ПЗ
Предмет дослідже11ня: теоретичні, формальні методи та відповідні засоби
побудови методики проектування програмного забезпечення інформаційної
синтаксичного аналізу технічного тексту з англійської мови.
Методи досліджень:
синтаксичний аналіз;
токенізація.
Наукова новизна отриманих результатів удосконалено метод об 'єктно
орієнтованого проектування експертних систем за рахунок використання
удосконаленого методу вирішення задачі синтаксичного аналізу тексту з
англійської мови на етапі моделювання предметної області. Впроваджено
покращений алгоритм синтаксичного аналізу тексту, що базується на об'єктно
орієнтованому проектуванні експертних систем, що значно збільшує
ефективність моделювання предметної області та забезпечує більш точне
розуміння англійськомовного контексту.
Практична значимість одержаних результатів
Отримані результати дозволяють розробляти методики об 'єктно
орієнтованого проектування та конструювання програмного забезпечення
експертної системи синтаксичного аналізу тексту з англійської мови.
Особистий внесок автора
Розроблено програмне забезпечення вир1шення задач~ з використанням
метод1в парсингу тексту.
Публікація. По темі магістерської випускної роботи були опубліковані
тези Первунінський С.М., Погорілий А.В. Тези доповіді на V міжнародній
науково-практичній конференції «SCIENTIFIC PRACTICE: MODERN AND
CLASSICAL RESEARCH МETHODS» (22.12.2023, м. Бостон) на тему «Опис
експертної системи синтаксичного аналізу тексту з анлійської мови».
8
.2 22 17.022 П
РО 1 І Н І ЧІ 1 О И О ИРО В'Я пня
ПО Т ВЛЕНИ ЗАВДАНЬ
1.1 Аналі останніх досліджень і публікацій
П р д розробкою програмного забезпечення проведено анашз останн1х
наукови дослідж нь та публікацій, що стосуються теми роботи "ПЗ експертної
системи синтаксичного аналізу технічного тексту з англійської мови" . Виявлено,
що проблема аналізу технічних текстів залишається актуальною для як
іноземних, так і вітчизняних науковців, зокрема тих, які зосереджені на
автоматизованій аналітичній обробці текстової інформації.
Останніми роками в Європі та США велика увага приділяється розробці
комп'ютерних систем, які можуть розуміти та узагальнювати інформацію з
текстів. Проведено аналіз різноманітних підходів, і виявлено, що багато з них
. .
базуються на видшеню окремих речень для створення реферату, ЩО
відображається на спробах вир1шення схожих завдань у рамках моєї
. .. . .
дослщжувано1 теми - синтаксичного анал1зу техючного тексту.
Також виявлено інтерес до цієї теми від важливих компаній та організацій в
Європі та США, зокрема Європейського Союзу, який активно досліджує
можливості покращення обробки текстів [6 ].
Серед провідних наукових розробок виділяється створення спец~ального
комп'ютерного програмного інструмента вченого з Університету Гонолулу, який
допомагає розуміти тексти та відповідати на питання, і нового пристрою від
науковців з Гельсінкського університету (ENGCG), спрямованого на аналіз
текстів. Також визначено існування Link Parser, розробленого у Кари гі
Меллонському університеті, який відрізняється відкритістю свого початкового
коду.
На ринку виявлено обмежену кількість програм, спрямовани на тв р ння
рефератів з текстів, таких як Inxight Summarizer та Prosum, щ вщчить про
складність розробки таких систем. Зазначено, що вони, р 1 п шукови и
системами та системами машинного перекладу, відіграють важлив роль
9
ЧДТУ.232217 .022 ПЗ
полегшенні доступу до інформації в Інтернеті.
У наступних розділах магістерської роботи буде розглянуто поняття
"парсинг" як важливу частину вирішення поставлених завдань.
Інтернет постійно розширюється та змінюється, що призводить до
необхідності надавати значну кількість інформації на веб-сайтах, щоб виділятися
серед конкурентів. Сучасний контент вимагає великої уваги до деталей. Однак
ручне додавання значної обсягу інформації на веб-сайт виявляється
проблематичним завданням. Люди неспроможні ефективно обробляти таку
велику кшьюсть інформації, що неперервно змінюється. У цьому контексті
парсинг виявляється важливим інструментом [8].
Парсинг можна уявити як процес порівняння сшв з використанням
конкретних правил. Мова може бути природною, такою як українська чи
англійська, якою спілкуємося між собою, або мовою програмування. У
програмуванні парсинг допомагає розібрати послідовність символів і визначити
їхню граматичну структуру з використанням певних правил. Синтаксичний
аналізатор, відомий також як парсер, відповідає за виконання цього завдання.
Парсинг веб-сайтів - це метод вирішення проблеми розуміння того, що
написано на веб-сторінках. Вони створені за допомогою НТМL, коду, який
браузер перетворює в текст та зображення для сприйняття користувача. Парсери,
які виконують цю функцію, можуть бути корисними в різноманітних випадках:
швидкий пошук інформації на веб-сайтах для економії часу.
допомога у випадках, коли ручне кошювання тексту є непрактичним
або витратним.
перев1рка тексту на 1нших веб-сайтах на схож1сть для уникнення
плапату.
генерація описів товарів для інтернет-магазинів.
збір електронних адрес для розсилок ( з вказанням попередження про
можливі ризики).
збір даних для новинних сайтів і порталів.
моніторинг погоди.
10
ЧДТУ.232217.022 ПЗ
Отже, парсер контенту є спеціалізованою програмою, що допомагає
виконувати ці завдання швидко та ефективно. Моя програма буде аналогічною
до парсера контенту, оскільки вона буде проводити синтаксичний аналіз
технічних текстів англійською мовою.
1.2 Основні функції експертних систем
Маючи на увазі тему своєї роботи "ПЗ експертної системи синтаксичного
аналізу технічного тексту з англійської мови", метою цього розділу є висвітлення
концепції експертних систем та їх взаємодії з обраною темою. Експертна система
представляє собою програму, що використовує знання та мислення експертів для
вирішення конкретних завдань. Важливою характеристикою таких систем є
наявність спеціальної частини, яка може пояснити логіку своїх висновків.
Цей розділ, що пояснює рішення системи, є необхідним для відповіді на
запитання "як" і "чому", надаючи користувачеві зрозумілість і впевненість у
працездатності системи. Відсутність цієї частини може призвести до недоюри
користувача до результапв системи чи, навпаки, до безкритичного прийняття
їхньої правильності [ 1].
У галузі експертних систем використовуються спеціальні модеш, що
rрунтуються на логіко-лінгвістичних принципах. Цей складний підхід відкриває
цікаві перспективи для реалізації мислення та функціонування систем із
знаннями. Експертні системи володіють здатністю працювати з інформацією та
••• •• ' 11 11 •
використовувати 11, що надає ІМ здатюсть мислити та вирІшувати завдання.
Цей аспект не лише корисний у повсякденному житті, але й важливий для
наукових досліджень. Наукові вивчення включають кілька етапів, включаючи
збір даних, їх математичний та логічний аналіз для виявлення нових фактів,
·~ ' . .
створення нових теорш та розкриття зв язюв МІЖ явищами.
Отже, експертні системи не лише поліпшують повсякденне життя, але й
сприяють науковим дослідженням, розкриваючи нові аспекти вивчених об'єктів.
Слід відзначити, що успіх у наукових дослідженнях залежить від конкретності
наукової області, проте уже на сьогодні комп'ютери та бази даних широко
11
ЧДТУ.232217.022 ПЗ
використовуються на деяких етапах наукових досліджень. Тим не менше, при
глибшому вивченні та розробці математичних моделей це стає викликом у
контексті розширених наукових досліджень.
Експертна система для синтаксичного анашзу тексту включає наступю
ключові компоненти.
1 Вхідні дані: Текст, який потрібно проаналізувати, є вхідними даними.
2 Токенізація: Цей компонент розбиває вхідний текст на окремі токени,
такі як слова, фрази або речення. Токенізація допомагає розкласти текст
на більші логічні одиниці для подальшого аналізу.
З Синтаксичний аналіз: Це один з ключових компонентів. Він визначає
синтаксичну структуру тексту, включаючи граматичні зв'язки між
словами і фразами. Дерево залежностей або синтаксична структура
допомагають представити ці зв'язки.
4 Вивід і результати: На останньому еташ експертна система може
надавати результати аналізу, такі як розшифровка тексту, підказки
щодо граматики або визначення семантики. Вивідні дані можуть бути
представлені у текстовому або графічному форматі.
Ця структура експертної системи дозволяє здійснювати синтаксичний
аналіз тексту, розуміти його значення і надавати корисну інформацію
користувачам.
Нижче представлено рисунок основних блоків моєї експертної системи
(Рис. 1.1).
Ііі
ТокенІаацІн
! ! ! ! !
1~ Text
і і і і і
синтакоичний анw
Рисунок 1.1 - Основні складові розроблювальної системи
12
ЧДТУ.232217.022 ПЗ
1.3 Існуючі програмні а11алоrн системи
Інтелектуальні технології Text Mining.
Розроблені на основі статистичного і лінгвістичного аналізів а також
'
методів штучного інтелекту, технології Text Mining призначені для проведення
аналізу, забезпечення навігації 1 пошуку в неструктурованих текстах.
Застосовуючи системи класу Text Mining, користувачі набувають нових знань.
Технології Text Mining - набір методів, призначених для здобуття
інформації з текстів на основі сучасних ІКТ, що дає змогу виявити
закономірності, які можуть приводити до отримання корисної інформації і нових
знань користувачами.
Це інструмент, який дає можливість аналізувати великі обсяги інформації у
пошуках тенденцій, шаблонів і взаємозв'язків, здатних допомогти у прийнятті
. .
стратепчних р1шень.
Слід зазначити, що технології аналізу тексту 1сторично передувало
створення технології аналізу здобуття даних, методологія і підходи якої широко
використовуються також у методах Text Mining, наприклад, методи класифікації
чи кластеризації. У Text Mining з'явилися нові можливості: автоматичне
реферування текстів та виявлення феноменів, тобто понять і фактів. Можливості
сучасних систем Text Mining можуть застосовуватися у системах управління
знань для виявлення шаблонів у тексті, для розподілу інформації за профілями,
створення оглядш документш. Text Mining забезпечує новий р1вень
семантичного пошуку документш.
Важливий компонент технології Text Mining пов'язаний з добуванням 1з
тексту його характерних властивостей, які потім використовують як ключові
слова, анотації. Інше важливе завдання полягає у віднесенні документа до певних
категорій із заданої схеми систематизації. Основна мета Text Mining - надати
аналітику можливість працювати з великими обсягами початкових даних за
рахунок автоматизації процесу здобуття потрібної інформації [З 1].
Основні елементи Text Mining:
.2 22 17. 22 П
.
фе:но, ме:1-1 1 ІН с 1
пи: у сту
и п н ції,
ф ' ні 1 ця lНИ Пр аб ІНШІ сл в сп луч ня - re
iati n traction - складніші набори слів технолоrічн
п гляд
автоматичн реферування, анотування (Summarization);
побудова короткого змісту документа за його повним текстом;
класифікація (Classification), у якій використовуються статистичні
кореляції для побудови правил розміщення документів у передбачені
категорії;
кластеризація (Clustering), що rрунтується на ознаках документш,
використовує лінгвістичні і математичні методи без застосування
передбачених категорій;
відповіді на питання ( question answering);
тематичне1ндексування;
пошук за ключовими словами;
побудова семантичної.мережі або аналіз зв'язків (Relationship, Event and
Fact Extraction), що визначають появу дескрипторів (ключових фраз) у
документі для забезпечення пошуку і навігації. Це найскладніший
варіант здобуття інформації, що включає витягання суті, розпізнавання
фактів і подій, а також витягання інформації з цих фактів. доб ття
фактів- це отримання певних фактів з тексту з м тою поліпш ння
класифікації, пошуку і кластеризації.
Для методів класифікації нині застосовують штелект альні
оптимізації процесу класифікації. Класифікація засто ов ть
вирішення таких завдань, як групування докум нтів м р н
WеЬ-сайтах, сортування повідомл н л к р нн ї п ш и.
Кластеризація широко асто ову ть я при р ф р в ню в ли и
інформаційних масивів або визначенні в а мопов'я ани груп д к м нтІВ, а
14
ЧДТУ.232217 . 022 ПЗ
також для спрощення процесу перегляду при пошуку необхідної інформації, для
знаходження унікальних документів із колекції, для виявлення дублікатів або
дуже близьких за змістом документів.
Розрізняють два основних типи кластеризації: ієрархічну і бінарну.
Ієрархічна кластеризація полягає у побудові дерева кластерів, у кожному з яких
розміщується невелика група документів . Бінарна кластеризація забезпечує
групування й проглядання документальних кластерів за принципом схожості. В
один кластер розміщаються схожі за своїми властивостями документи. У процесі
кластеризації будується базис посилань від документа до документа, що
rрунтується на вагах і спільному використанні ключових слів .
Одне з важливих застосувань Text Mining дає змогу передбачати за
значеннями одних ознак об'єктів значення інших. Знаходження виключень
(пошук об'єктів , які своїми характеристиками вирізняються з загальної картини) -
також важливий напрямок досліджень Text Mining.
Задача пошуку пов'язаних ознак (понять) окремих документів подібна до
кластеризації, але виконується за певною сукупністю характерних ознак.
Інструментарій розробки програмних аналогів.
В даний час для створення і підтримки систем ~снує цілий ряд
інструментів, які крім загальних функцій редагування і перегляду виконують
підтримку документування, імпорт і експорт різних форматів і мов, підтримку
графічного редагування, управління бібліотеками і т. д.
Розглянемо найбільш відомі інструменти інженерії онтологій [10] .
Система Ontolingua була розроблена в KSL (Кnowledge Systems
Laboratory) Стенфордського університету і стала першим інструментом інженерії
онтологій. Вона складається з сервера і мови представлення знань.
Сервер Ontolingua організований у вигляді набору онтологій, що
відносяться до WеЬ-додатків, які надбудовуються над системою подання знань
Ontolingua. Редактор онтологій - найбільш важливе додаток сервера Ontolingua є
WеЬ-додатком на основі форм НТМL.
Крім редактора Сервер онтологій Ontolingua включає мережевий додаток
15
ЧДТУ.232217.022 ПЗ
Webste1· (отримання визначень концептів), сервер ак.вс (доступ до онтологій
Oвtolingua по протоколу ак.вс) і Chimaera (аналіз, об'єднання, інтеграції
онтологій). Всі програми, крім сервера ак.вс, реалізовані на основі форм НТМL.
Система подання знань реалізована на Lisp. Сервер antolingua також надає архів
онтології, включає велику кількість різних онтологій предметних областей, що
дозволяє створювати онтології з вже існуючих.
Сервер підтримує спільну розробку онтології декількома користувачами,
для чого використовуються поняття користувачів і груп. Система включає
графічний браузер, що дозволяє переглядати ієрархію концептів, включаючи
екземпляри. antolingua забезпечує використання принципу множинного
спадкоємства і багатий набір примітивів. Збережені на сервері онтології можуть
бути перетворені в різні формати для використання іншими додатками, а також
імпортовані з ряду мов в мову antolingua.
Рrоtеgе-локальна, вільно поширювана Ява-програма, розроблена групою
медичної інформатики Стенфордського університету (перша версія - 1987,
остання протеже-2.1.1 - червень 2004). Програма призначена для побудови
(створення, редагування і перегляду) онтологій галузі прикладної. Її початкова
мета - допомогти розробникам програмного забезпечення в створенні і підтримці
явних моделей предметної області включення цих моделей безпосередньо в
програмний код. Протеже включає редактор онтологій, що дозволяє проектувати
онтології, розгортаючи ієрархічну структуру абстрактних або конкретних класів і
слотів.
Структура онтології зроблена аналогічно ієрархічній структурі каталогу.
На основі сформованої онтології, протеже може генерувати форми отримання
знань для введення екземплярів класів і підкласів. Інструмент має графічний
інтерфейс, зручний для використання недосвщченими користувач ми,
забезпечений довідками та прикладами. Протеже заснована на фр й мо вої мод . лі
подання знання ОКВС (відкрита База знань Підключення) і забезпечений поряд
плагінів, що дозволяє адаптувати його для редагування моделей, зберігаються в
16
ЧДТУ.232217.022 ПЗ
різних форматах ( стандартний текстовий, в базі даних jdbc, UМL і мов з ХМL,
xol успішно, взуття, РДФ і класу rdfs, DAМL + масло, сова) [11].
OntoEdit, який спочатку був розроблений в інституті AIFB (Institute of
Applied Informatics and Formal Description Methods) Університету Карлсруе (зараз
комерціалізувати Ontoprise GmbH) виконує перевірку, перегляд, кодування і
модифікацію онтології. В даний час OntoEdit підтримує мови подання: FLogic,
включаючи машину виводу, OIL, розширення RDFS і внутрішню, засновану на
ХМL серіалізацію моделі онтології використовуючи ОХМL мова
представлення знань OntoEdit (OntoEdit's XМL-based Ontology representation
Language ). До достоїнств інструмента можна віднести зручність використання;
розроблення онтології під керівництвом методології і з допомогою процесу
логічного виведення; розробку аксіом; розширювану структуру допомогою
плагінів, а також дуже хорошу документацію. Існує дві версії OntoEdit: вільно
поширювана OntoEdit Free ( обмежена 50 концептами, 50 відносинами і 50
екземплярами) і ліцензована OntoEdit Professional (немає обмежень на розмір).
OntoSa urus є WеЬ-браузером для баз знань LOOM. Він складається з двох
основних модулів: сервера онтологій і WеЬ-браузера для редагування і
переглянути онтологій LOOM з допомогою НТМL-форм, забезпечуючи для них
графічний інтерфейс. OntoSaurus також надає обмежені засоби редагування, але
його основна функція - перегляд онтологій. Але для побудови онтологій
складних потрібно розуміти мову LOOM. Більшість користувачів будують
онтологію мовою LOOM в іншому редакторі, а потім для перегляду і
редагування імпортують його в OntoSaurus. У OntoSaurus реалізовані всі
можливості мови LOOM. Забезпечуються автоматичний контроль сумісності,
дедуктивна підтримка міркування і деякі інші функції.
Конструктор онтологій ODE (онтологічної середовищі розробки),який
. . .
взаємодіє з користувачами на концептуальному рівні В1ДМ1НН1СТЬ ВlД
. .
інструментів, подібно OntoSaurus, що спілкуються на символьному ршю.
Мотивом для ODE послужило те, що людям простіше формулювати онтології на
концептуальному рівні. ODE забезпечує користувачів набором таблиць для
17
ра
ЧДТУ.232217.022 ПЗ
заповнення (концептів, атрибутів, відносин) і автоматично генерує для них код
LOOM, Ontolingua и FLogic. ODE складає частину методології повного
життєвого циклу побудови онтології згідно Methontology. Інструмент отримав
свій подальший розвиток у WebODE, який інтегрує всі сервіси ODE в одну
архітектуру, зберігає свої онтології в реляційної базі даних, що забезпечує
додаткові сервіси (машину виводу, побудова аксіом, збір онтології, генерацію
каталогів) [11].
1.4 Постановка задачі
Моя система буде виконувати сиснтаксичний аналіз технічного тексту з
англійської мови . Тобто, це означає що система буде проводити парсинг. Це
визначення я описував вище в цьому розділі. Роботу системи можна буде
роздшити на три етапи.
1 Завантажити код інтерфейсу - значить отримати код тієї сторінки, з
якої потрібно дістати інформацію.
2 Витяг інформації. Витяг інформації з коду означає, що потрібно
відокремити зі сторінки саме ту інформацію, заради якої й відбувається
весь цей процес. Частіше - це звичайний текст, який потрібно
відокремити від гіпертекстової розмітки або вистроїти ієрархічне
дерево елементів документу. Для таких цілей можна звичайно
використовувати регулярю вирази, проте є більш зручний шлях -
спеціалізовані бібліотеки.
З Обробка тексту. Саме на цьому еташ буде проходити синтаксичний
аналіз тексту.
4 Збереження інформації. У спішно обробивши даю на, потрібно їх
зберегти в необхідному вигляді для подальшої обробки.
Можна сказати, що система буде мати наступні ключові характеристики і
компоненти.
1 Вхідні дані:
18
-
ЧДТУ.232217.022 ПЗ
текстов1 дані: Система повинна приймати вхідні техючю тексти,
написані англійською мовою, в різних форматах (наприклад, .txt,
.doc, .pdt).
2 Пре-процесинг:
токен1зац1я: Текст повинен розбиватися на окрем1 токени ( слова,
фрази, речення).
усунення зайвої інформації: Видалення непотрібних симвошв,
пробілів і знаків пунктуації.
З Синтаксичний аналіз:
синтаксичний розшзнавач: Визначення синтаксично~ структури
. . .
тексту, анал1з граматичних правил 1 вщношень м1ж словами та
фразами.
4 Виведення результатів:
відображення аналізу: Представлення результатів синтаксичного та
семантичного аналізу в читабельному форматі для користувача.
5 Інтерфейс користувача:
графічний інтерфейс: Взаємодія з користувачем через інтуїтивний
інтерфейс.
б Масштабованість:
обробка великого обсягу тексту: Можливість аналізувати та
обробляти велику кількість технічних текстів швидко та ефективно.
7 Підтримка мовних особливостей:
можливість роботи з різними англійськими діалектами та галузевими
варіаціями мови.
Експертна система синтаксичного аналізу технічного тексту з англій ЬІ< ї
мови є потужним інструментом для аналізу, розуміння і використання т ·н1чних
текстів, що має широкий спектр застосувань у багатьох галузях.
19
ЧДТУ.232217.022 ПЗ
Висновки до першого розділу
Перед розробкою програмного забезпечення був проведений аналіз
останніх наукових досліджень та публікацій, що стосуються теми "ПЗ експертної
системи синтаксичного аналізу технічного тексту з англійської мови". Виявлено,
що проблема аналізу технічних текстів залишається актуальною для іноземних та
вітчизняних науковців, зокрема тих, які зосереджені на автоматизованій обробці
текстової інформації.
В останні роки в Європі та США приділяється велика увага розробці
комп'ютерних систем, які можуть розуміти та узагальнювати інформацію з
текстів. Проведений аналіз різних підходів показав, що багато з них базуються на
виділенні окремих речень для створення реферату, що відображається на спробах
вирішення аналогічних завдань у моєму дослідженні - синтаксичному аналізі
технічного тексту.
Інтернет постійно змінюється, що призводить до необхідності розміщення
значної кількості інформації на веб-сайтах для виділення серед конкурентів.
Сучасний контент потребує уваги до деталей, але ручне додавання великого
обсягу інформації на веб-сайт стає проблематичним завданням. Люди
неспроможні ефективно обробляти такий обсяг . інформації, що неперервно
змінюється. у цьому контексті парсинг виявляється важливим інструментом.
Постановка задачі, де система буде виконувати синтаксичний аналіз
технічного тексту англійською мовою, що означає проведення парсингу. Це
визначення було розглянуто вище в даному розд1ш.
20
ЧДТУ.232217.022 ПЗ
РОЗДІЛ 2 ТЕОРЕТИЧНІ ТА ЕКПЕРИМЕНТ АЛЬНІ ДОСЛІДЖЕННЯ
2.1 Теоретичні дослідження
Синтаксичний аналіз природних мов, відомий також як парсинг,
представляє собою важливий етап обробки природної мови (ОПМ) і вважається
його основою. Метою синтаксичного аналізу речень є виявлення структури
речення та мовних одиниць, що несуть смислове навантаження, а також
встановлення відношень між ними. У сучасних інтелектуальних додатках часто
використовуються статистичні чи навіть стохастичні методи взамін традиційного
синтаксичного аналізу. Деякі думки стверджують, що синтаксичний аналіз не є
обов'язковим для практичних застосувань, але це вимагає уважного
обгрунтування.
В цьому контексті проведено огляд теоретичних досліджень у галузі ОПМ,
враховуючи її різні застосування та визначаючи завдання, які, в значній мірі,
залишаються невирішеними. Також розглянуто, як автоматичний синтаксичний
аналіз може покращити рішення практичних завдань у цих сферах.
Один з прикладів застосування синтаксичного аналізу - це пошук
інформації в Інтернеті, зокрема в системах пошукових систем, таких як Google.
Хоча такі системи враховують р1зю фактори при оцінці релевантності
документів запиту, існують ситуації, де більш складний синтаксичний аналіз
може покращити точність результатів. Наприклад, врахування синтаксичних
особливостей у запиті може допомогти уникнути неточностей, яю можуть
виникнути при ігноруванні деяких слів, таких як прийменники.
У контексті відповідей на запитання, особливо тих, де очікується відповідь
на основі бази знань, синтаксичний аналіз може виявитися корисним у
покращенні точності результатів. Зазвичай сучасні системи використовують
ключові слова з запиту для видобування інформації з результатів пошуку, але
цей метод не завжди забезпечує достатню точність. Синтаксичний аналіз може
враховувати структурні особливості запитань та сприяти точнішому вибору
відповідей з бази даних.
21
►
ЧДТУ.232217.022 ПЗ
Отже, досшдження сфер використання та потенційних покращень за
допомогою автоматичного синтаксичного аналізу важливе для розвитку
ефективних інтелектуальних систем обробки природної мови.
Досліджується перспективний напрямок у сфері обробки природної мови, а
саме розробка алгоритму синтаксичного аналізу для отримання точних та
лаконічних відповідей на запитання. Зазначене завдання передбачає попередню
обробку вихідної інформації, що включає виділення смислових елементів речень
та їх подальше позначення, таких як граматичний та семантичний суб'єкт та
об'єкт, модифікатори часу і місця, інші аспекти.
Формулювання логічних висновків у контекст~ інформатики та лопки
зазвичай включає створення нових формул на основ~ певних припущень. Це
передбачає генерацію різних речень природною мовою відповідно до речень
іншою природною мовою, що є базою знань. Наприклад, враховуючи речення
"Агата Крісті - британська письменниця, народилась в Києві", можливі
згенеровані речення, такі як "Агата Крісті більше не живе", "Агата Крісті не
народилась в Англії" та інші.
Додатково, автоматичний синтаксичний та лексичний аналіз може бути
використаний для перевірки правильності конкретних формул. Наприклад,
визначення того, чи належить певна формула до набору допустимих формул,
створених на основі вхідної інформації. Це корисно для виявлення недостовірних
новин та повідомлень.
На сучасному етапі існує кілька експериментальних підходів до створення
систем логічних висновків. Важливим є дослідження різних напрямків та
вирішення невирішених завдань у цій області.
Одним із перспективних напрямків є розпізнавання авторства, спрямоване
на надійне визначення автора анонімного текстового фрагменту, зокрема в сфері
судової лінгвістики. Автоматична перевірка текстів, що враховує не лише
лексичні, а й синтаксичні аспекти з високою ймовірністю, може допомогти
визначити, чи два анонімні фрагменти тексту належать одному авторові.
З іншого боку, завдання перевірки автентичності тексту дозволяє
22
ЧДТУ.232217.022 ПЗ
визначити, чи конкретний фрагмент тексту був написаний певним автором. Ці
завдання вирішуються в різних умовах та вимагають різних підходів. Перше
передбачає наявність певної кількості текстів для порівняння; тоді як друге може
порівнювати текст з необмеженою кількістю інших текстів з баз даних,
включаючи Інтернет.
Важливим завданням у галузі автоматичної перевірки граматики тексту є
розгляд більш складних мовних явищ, таких як морфо-синтаксичні, семантичні
та прагматичні аспекти. У використанні програмного забезпечення, такого як
Microsoft Office, можливо виявлення обмеженої кількості граматичних помилок,
але це не вирішує всі проблеми, оскільки багато граматичних правил містять
семантичні та прагматичні аспекти [12].
Розглянемо метод побудови систем, що мають властивості онтологій, для
аналізу текстів мовою. Такі системи базуються на формальних визначеннях
онтології, представлених як в формулі (1):
О= (Х, R, F, A(D, Rc)) (2.1)
де: Х - поняття з предметної області,
R - відношення з предметної області,
F - інтерпретація,
А-аксіома,
Rc - обмеження,
D - властивості області інтерпретації.
Під час побудови онтології визначається предметна область, до якої
належать поняття з Х та відношення з R. Це обумовлено тим, що сенс понять і
відношень може змінюватися в різних предметних областях. Точне визначення
області також потрібне для чіткої інтерпретації F. Аксіоми А та обмеження Rc
визначаються для уточнення властивостей області інтерпретації D. Вхідний текст
Т Розглядається як область інтерпретації D(T). Для визначень синтаксису понять
і відношень використовується дескриптивна логіка. З цим синтаксисом
визначається тип логічної мови, яка у цьому випадку є логікою предикатів
першого порядку. Це дозволяє проводити логічне виведення та отримувати
23
ЧДТУ.232217 .022 ПЗ
висновки з інформації, отриманої з вхідного тексту. Т розглядається як область
інтерпретації F для понять Х та відношень R, які в ньому використовуються.
результати синтактико-семантичного аналізу використовуються для побудови
онтології. Цей аналіз дозволяє розбити об'єкти на групи, відповідні частинам
мови. З цією інформацією та додатковими обмеженнями будується онтологія
предметної області. З точки зору користувача D(T) виглядає як об'єкт реляційної
бази даних, що складається лише з унарних та бінарних відношень. Відмінність
полягає в тому, що D(T) є відкритою для даної ПО, а відношення С та R із R
.зв'язані семантичними відношеннями, що відсутні в реляційних БД.
Створення онтологоподібної системи rрунтується на понятті онтології,
формальне означення якої має вигляд:
О= (Х, R, F) (2 .2)
де:
Х - скінченна множина концептів (понять);
R - скінченна множина бінарних (семантичних) відношень,визначених на
Х, і F;
F - функція інтерпретації на деякій області D елементів із Х і R , тобто
F:XuR ➔ D.
При побудові онтології вказується предметна область (ПО), до якої
відносяться концепти із Хі відношення із R . Конкретизація ПО необхідна для
означення інтерпретації F . Зв' язок F з ПО може вносити додаткові корективи
в означення F . Додаткові корективи описуються аксіомами А даної ПО і
обмеженнями R які мають вигляд додаткових дефініцій (уточнень) обм ж нь.
с '
на :можливі значення тощо )властивостей із області інтерпретації D . а,н ї П
Таким чином, приходимо до уточненого означення онтології для к нкр н •1 П
О = (Х , R, F, A(D, Rc )) ( .З)
24
J
1
ЧДТУ.2322 17 . 022 ПЗ
Різниця між означеннями (1) і (2) полягає в насtуnному [ l ]. Де :
Х - множина концептів в (1) · . -
ор1єнтована на nроблему, яку nотр1бно
розв'язати, а в (2) ця множина повинна бути максимально повною для даної ПО
і повинна будуватися автоматизованими засобами;
R - множина в (1) суб'єктивна, а в 2) повинна виконуватися на множині D
будуватися автоматизованими засобами та перевірятися на сум1сюсть
системою логічного виведення та, можливо, експертами в даній ПО;
F - функція інтерпретації в ( 1) обирається користувачем відповідно до
його професійної компетенції, власної або довідкової інформації, а в (2) ця
функція формується, виходячи із загальнозначимих джерел текстової інформації
- енциклопедій, тлумачних словників, результатів синтактико-семантичного
аналізу тощо;
А - множина аксюм описує додаткові специфічні означення концептів із
D і обмеження інтерпретації Rc даної ПО. Множина D включає значення
концептів із Х і R, а також вводить концепти, які не ввійшли до Х і R . Цим
самим уточнюються і довизначаються специфічні властивості концептів і
відношень даної ПО. Ці уточнення rрунтуються на думці кола експертів в даній
ПО. Множина Rc включає лише значимі обмеження на інтерпретацію і може
бути, зокрема, пустою множиною. Таким чином, означення (2) містить
декларативні і процедурні засоби даної ПО, що дає можливість розв'язувати
завдання користувача [2].
2.2 Експериментальні дослідження
Експериментальні дослідження експертної системи синтаксичного аналізу
технічного тексту 3 англійської мови мають на меті оцінити її ефективність)
точність та можливості в різних сценаріях використання.
Розглянемо основні критерії проведення експериментальних досшджень
nроrрамного комплексу.
Таблиця 2.1
25
ЧДТУ.232217.022 ПЗ
Експериментальні досліджен~ . ..
•я еІ(сnертноt системи си11таксиtrноrо
аналізу тексту
r~;перим[ Опис І Мета Параметри Результати
ент
;;..-
Визначення Визначити Текстовий Встановлено
ШВИДКОСТІ час, обсяг, час швидкість
синтаксичного необхідний аналізу аналізу при
анашзу для аналізу різних обсягах
тексту тексту
І Точні сть аналізу Оцінити Співставлення Досягнута
точність результатів ТОЧНІСТЬ
визначення аналізу з анашзу при
. .
синтаксичної еталоном порІВНЯННІ з
структури еталоном
3 Робота з Оцінити Аналіз текстів із Визначена
техн1чною ефективність спец~ал1зованою ефективність
. .
терм1нолопєю анал1зу лексикою при роботі з
текстів, що техючною
містять термінологією
технічну
термінологію
-
4 Адаптація до Визначити, Аналіз текстів Показана
різних типів наскільки різних жанрів адаптабельність
до різних типів
тексту система
тексту
адаптується
до текстів.
~
р експериментів, які можуть бути
озглянемо деякі ключові аспекти
nроведені для такої системи нижче.
26
- І
ЧДТУ.232217.022 ПЗ
1 Тестування на зразках тексту:
вибірка р1зних видів технічних текстш, включаючи інструкції,
наукові статті , технічні описи, технічні розробки та інші види
тексту.
порівняння результатів аналізу системи з вручну виконаним
синтаксичним аналізом для визначення точності, співставлення та
здатності системи до розпізнавання різних мовних конструкцій та
стишв письма.
2 Оцінка швидкості та продуктивності:
вимірювання часу, необхідного для обробки та анал1зу текстових
документів різного обсягу, вщ коротких речень до великих
технічних документацій.
аналіз споживання ресурсів, таких як пам'ять та обчислювальна
потужність, для визначення ефективності системи.
З Навчання та покращення:
збирання навчальних даних для системи та визначення її здатності
до навчання на нових даних.
проведення експерименпв 1з системою, яка має можлив1сть
навчання на нових текстових матеріалах та адаптації до нових
вимог.
4 Взаємодія з користувачем:
оцінка сприйняття та задоволеносп користувач1в вщ системи,
включаючи дизайн інтерфейсу користувача та зручн1сть
використання.
збір фідбеку від користувачш та його анал1з для пошпшення
системи та розуміння їхніх потреб.
5 Спеціалізовані випробування:
проведення випробувань системи на конкретних завданнях, таких як
автоматичний переклад, виділення ключових слів або генерац1я
анотацій для різних галузей та типів технічних текстів.
27
ЧДТУ.232217.022 ПЗ
6 Порівняльні дослідження:
порівняння ефективності дано~.. системи з аналоп•ч ними системами,
які використовують інші методи або алгоритми синтаксичного
аналізу технічних текстів.
7 Поширення в галузі:
анашз реальних сценаріїв використання системи у конкретних
галузях, таких як медицина, інженерія, інформаційні технології та
ІІаука, з метою визначення її корисності та можливостей
розширення .
8 Аналіз помилок:
ідентифікація тишв помилок, які система може робити шд час
синтаксичного аналізу, та розробка методів для їх виправлення та
покращення точності.
9 Оцінка рівня автоматизації:
визначення, наскільки система може виконувати синтаксичний
аналіз без втручання користувача, та визначення меж автоматизації.
1О Аналіз масштабованості:
тестування системи на її здатність обробки великого обсягу тексту
та визначення, як вона реагує на ріст завантаження, а також її
можливості масштабування.
11 Оцінка стійкості:
визначення, насюльки система стійка до різноманітних змш у
текстах, таких як різні стилі письма, мовні варіації та специфічна
термінологія, і розробка засобів для покращення її стійкості.
Але як було розписано в перших розділах, в основі синтаксичного аналізу
лежить таке поняття як парсинг.
Під час аналізу синтаксису текст перетворюється в особливу структ
даних, яка зазвичай подібна до дерева і відображає структуру т к ту. Ця
структура добре підходить для подальшого обробки. Зазвич й nроце
синтаксичного аналізу включає два етапи: на першому тапі ід нтифікують я
28
-
""1.,Цl У .LJ2217.022 ПЗ
Під час аналізу синтаксису текст перетворюється в особливу структуру
даних, яка зазвичай . подібна до дерева і відображає структуру тексту. Ця
струк ту·р а добре п1дходить для подальшого обробки. Зазвичай процес
СИ.,1Тн' Т'аксичного аналізу включає два етапи: на першому етапі ідентифікуються
осн Овні значущі частини тексту ( що відбувається під час лексичного аналізу), а
на другому створюється дерево, яке показує, як ці частини взаємодіють між
собою. Наприклад, У випадку використання парсера в командному рядку,
текстовий файл зазнає автоматичного синтаксичного аналізу [ 13].
Розглянемо випадок автоматичного синтаксичного розбору:
How Parse Trees Work
s
s
р
VP РР
рр
~•л ;::z NP /)z
PRO у DT N ІN PRO NS PRO V DT N IN PRO NS
1 shot an elephant ln my pajamas . І shot •n elephant in my pajam•s.
~. N - Noun І NІS І N= Plur.il Noun І NІ РPР ='" N oun Phrase І PRO = Pronoun І V= Verb І VP = Verb Phrase І
~ermlner = preposltlon PreposltiONI Phr,se
Рисунок 2.1 - Приклад автоматичного синтаксичного розбору речення
Seurc• .., Іnе
с~::-;~ ~е J
l ·C•m~w!:..,;;~-J
---··8, 'n.g'i11.1 ttt·v·r·· ··-
.. J
l.-~~~---···
Рисунок 2.2 - Схема ро боти синтаксичного аналізатора
29
>
►
ЧДТУ.232217 .022 ПЗ
зразок виклику парсера:
<< parser.exe - verbose - tagger о - parser
. O 1 . . . . . . . .
- emmatizer О - emit morph О -
dictionary, xml input. txt -о output.txt » -
параметри:
_ verbose друк інформації про хід парси
нга в консоль.
_ tagger О для виконання морфол · .
ог1чного анашзу (Part-Of-Speech tagging)
використовується базова модель англ~'и" .. ф ...
СЬКОl мор ОЛОГll.
- parser О для виконання синтаксичного анаш.з у ( по б удова dependency
tree) використовується базовий shift - redu се парсер.
- lemmatizer О лематизація виконується з використанням ймовірнісної
моделі мови і з урахуванням контексту слова.
- emit_m orph О не видавати в ХМL файл результатів списки
морфологічних тегів слів; режим 1 приведе до значного зростання
обсягу результатів.
- d dictionary.xml шлях до конфігураційного файла словникової бази [14].
- Розглянемо гіпотезу розробки системи синтаксичного аналізу тексту з
англійської мови, яка може бути сформульована наступним чином:
"Впровадження ефективної системи синтаксичного аналізу текстів
англійською мовою з використанням передових методів обробки природної мови
дозволить значно покращити автоматизовану обробку технічної інформації.
Розроблена система зможе надавати точний та швидкий синтаксичний аналіз
текстових документів, що сприятиме підвищенню продуктивності та якості
обробки інформації в сферах, де велике значення має технічна термінологія та
специфічна лексика. Попередні експерименти та аналіз сучасних досліджень
вказують на потенціал вдосконалення синтаксичного аналізу технічних текстів за
допомогою новаторських підходів та технологій в галузі обробки природн ї
мови."
Розглянемо деякі ключові аспекти цієї гіпотези.
1 · Головна ідея полягає в створенні
Ефективний синтаксичний анал1з: '
ф ний синтаксичний аналіз текстових
системи, яка забезпечить е ектив
зо
ЧДТУ.232217.022 ПЗ
документів. Тут "ефективний" означає не лише точний але і швидкий
'
анашз, щоб забезпечити продуктивність та швидкість обробки
інформації.
2 Використання передових методів обробки природної мови: Гіпотеза
передбачає використання сучасних методів обробки природної мови,
щоб покращити якість синтаксичного аналізу.
з Покращення продуктивності та якост1 обробки інформації: За
допомогою розробленої системи передбачається підвищення якості та
продуктивності обробки інформації, зокрема в областях, де існує
велике значення технічної термінології та специфічної лексики.
4 Попередні експерименти та аналіз досліджень: Гіпотеза базується на
попередніх експериментах і аналізі сучасних досліджень, які вказують
на потенціал вдосконалення синтаксичного аналізу технічних текстів за
допомогою новаторських підходів та технологій у галузі обробки
природної мови.
Ця гіпотеза вказує на основні цілі розробки системи, такі як підвищення
точності та швидкодії синтаксичного аналізу тексту, а також шдкреслює
потенційні переваги в сферах, де технічна термінологія важлива.
ЧДТУ.232217.022 ПЗ
Висноnkи до другого розділу
синтаксичний аналіз природної мови . V
, вщомии також як парсинг, є
тz13J,{M етапом обробки природної мови (ОПМ) · u v
a)J(Jir• 1 є иого основою. Иого метою
втzявлення структури речення та мовних одиниць .
r• , яю несуть смислове
в"uтаження, а також встановлення відношень м1·ж у
1а cu• ними. сучасних
Іffелектуальних додатках часто використовуються статистичні або наВІть
тохастичю методи зам~сть традиційного синтаксичного анашзу. Деякі
тверджують, що синтаксичний аналіз може не бути обов'язковим для
~рактичних застосувань, але це вимагає уважного обгрунтування.
В даному контексті був проведений огляд теоретичних досліджень у галузі
)ПМ, розглянуті різні застосування та визначені завдання, які залишаються
1евирішеними. Також було розглянуто, як автоматичний синтаксичний анашз
юже поліпшити вирішення практичних завдань у цих сферах.
Експериментальні дослідження експертної системи синтаксичного аналізу
rехнічного тексту англійською мовою мають на меті оцінити її ефективність,
rочність та можливості в різних сценаріях використання. Деякі ключові аспекти
~кспериментів, які можуть бути проведені для такої системи, включають аналіз
;интаксису тексту, його перетворення в структуру даних, подібну до дерева, та
[!Одальшу обробку цієї структури. Процес синтаксичного аналізу зазвичай
включає ідентифікацію основних значущих частин тексту на першому етапі (під
час лексичного аналізу) та створення дерева на другому етапі, яке відображає
взаємодію цих частин. Наприклад, парсинг командного рядка включає
автоматичний синтаксичний аналіз текстового файлу.
32
ЧДТУ.232217.022 ПЗ
рОЗДІЛ 3. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У
ПРАКТИКУ ПРОЕКТУВАІПІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
ІНФОРМАЦІЙНИХ СИСТЕМ
3.lМоделювання предметної області
З .1.1 Предметна область моделювання. Модель предметної області.
:ловник предметної області.
Предметна область моделювання експертних систем синтаксичного аналізу
ехнічного тексту на англійській мові охоплює вивчення та розробку технологій
а алгоритмів, які дозволяють комп'ютерам аналізувати та розуміти технічні
екстові матеріали, написані англійською мовою. Ця область включає в себе
1аступні ключові аспекти (рис.З .1. ).
1 Технічний текст: Це текст, який мІстить інформацію про технІчю
процеси, продукти, інженерію та інші аспекти технологічної галузі.
Такий текст може бути написаний в різних форматах, включаючи
технічні документи, наукові статті, технічні специфікації та інше.
2 Синтаксичний аналіз: Це процес розрізнення синтаксичних структур
у тексті, таких як речення, абзаци, ключові слова та фрази. Він
• • І • •
допомагає встановити лопчю зв язки МІЖ рІзними частинами тексту.
З Експертні системи: Це інтелектуальні програми, які можуть надавати
аналітичні та інтерпретаційні здатності для тексту на основі знань
експертів у конкретній галузІ. Експертні системи можуть
використовувати методи штучного інтелекту для розуміння та обробки
тексту.
4 Машинне навчання: Ця техніка використовується для навчання
, • синтаксичю структури та зв'язки в т к ті на
комп ютер1в визначати
основі великої кількості прикладів.
5 Обробка природІІоі мови (NLP): NLP включа в с м т ди та
алгоритми для розуміння, інтерпретації та генерації мови ЛІ д й. Ця
33
ЧДТУ.2322 17.022 ПЗ
область дослщжень важлива для розробки експертних систем
синтаксичного аналізу.
Предметна область також може включати в себе конкретю галуз1
технології, такі як інформаційні технології, інженерія, медицина, авіація та
багато інших, де технічні тексти відіграють важливу роль. Моделювання
експертних систем в цій області може бути корисним для автоматизації аналізу
та зрозуміння великої кількості технічної інформації.
Модель предметної області представлена на Рисунку З .1 .
Обробка Машинне
риродної мови навчання
Предметна
область
моделювання
Технічний Експертні
текст системи
Синтаксичний
аналіз
Рисунок 3 .1 _ Модель предметної області
Словник предметної області
Словник предметної області експертних систем синтаксичного анаш
технічн ого тексту на англ1•и~ ськ 1·~и мові може включати такі терміни, які тт дані
Нижче.
Технічний текст; Текст, який містить технічну інформаці~ і ~. вичай
nи1<ористовується для передачі техні1.1них знань та даних.
Синтаксичний а11аліз: Процес анал ізу сюпаксичноі' структури т кету,
ВІ<JJ10ч аючи розш.з навання речень, а 6з ац ів ' слі в ' фраз та
.1.х ю.х вза · мозв 'я зюв. .
34
►
ЧДТУ.232217.022 ПЗ
Експертна система: Система , яка використовує знання експертів у
метній області для вирішення завд • . .. .
nред ань анашзу та штерпретацlі техючного
тексту.
Машинне навчання: Підходи та
методи, яю дозволяють системам
вчитися розшзнавати нові синтаксичн1· структури на основ~· навчальних
прикладш.
База знань: Сховище правил, шаблонів, прикладів та шших даних, яю
використовуються для аналізу та інтерпретації технічного тексту.
Аналітичні функції: Функції системи, які допомагають виявити :ключові
поняття, виявити аномалії та забезпечити аналітичний звіт.
Інтерфейс користувача: Засіб взаємодії користувача з системою для
введення тексту та отримання результатів аналізу.
Підтримка мовної різноманітності: Можливість системи аналізувати та
розуміти текст на різних мовах, зокрема англійській.
Предметна область: Галузь, до якої відноситься технічний текст,
наприклад, медицина, інженерія, інформаційні технології тощо.
Розпізнавання ключових слів: Процес ідентифікації важливих термінів і
фраз у тексті для подальшого аналізу.
Застосування в індустрії: Можливі галузі та сфери, де експертні системи
синтаксичного аналізу технічного тексту можуть бути використані, таю як
автомобільна промисловість, медицина, наукові дослідження тощо.
Цей словник допомагає уточнити та стандартизувати термінологію,
пов'язану з розробкою експертних систем для синтаксичного аналізу технічного
тексту на англійській мові.
З .1.2 Елементи моделювання предметної області
Розглянемо елементи моделювання предметної області.
Агрегація (aggregation) _ спеціальна форма асоціації, що визначає
відношення «частина-ціле» між агрегатом (цілим) та частинами
Актор (actor) _ пов'язаний набір ролей, який виконують користувачі при
взаємодії з елементами U se Case
35
-
ЧДТУ.232217.022 ПЗ
Діяльність (activity) - стан, у якому проявляється деяка поведінка Діаграма
d. gram) _ графічне представлення набору елемент~'в , v •
,а зазвичаи у вигляд1
в'язковоrо графа, у вершинах якого знаходяться предмети, а дуги є їхні
~ідносини.
Діаграма Use Case (use case diagram) - діаграма показує набір елементів Use
:ase, акторів та його відносин. Діаграма Use Case відноситься до статичного
,явлення Use Case, що створюється для системи.
Діаграма взаємодії (interaction diagram) - діаграма, що показує взаємодію,
цо включає набір об'єктів та їх відносин, а також повідомлення, що
1ересилаються між об'єктами. Діаграми взаємодії відносяться до динамічного
уявлення системи. Це загальний термін, що застосовується до різних видів
ц~аграм, на яких зображено взаємод1ю об'єктів, включаючи д~аграми
шівробітництва та діаграми послідовності
Діаграма діяльності (activity diagram) - діаграма, що показує переходи від
одного виду діяльності до іншого. Діаграми діяльності відносяться до
динамічного уявлення системи. Діаграма діяльності є спеціальним різновидом
діаграми схем станів в якій всі або більшість станів є станами дій, а всі або
'
більшість переходів спрацьовують при завершенні дій у вихідних станах.
Діаграма класів ( class diagram) _ діаграма, що показує набір класів,
інтерфейсів, кооперацій, і навіть їх відносини. Діаграма класів відноситься до
статич ми · Ця діаграма показує набір
ного проектного представлення систе
деІ<JІарат ивних ( статичних) елеменп·в
д. . · ма що показує набір об'єктів та
iarpaмa об'єктів (o bject d1agram) - д~агра '
йог0 в· . об'єктів відноситься до статичноr
~дн:осин у певний час. Д1аграма
fIJ>oel("•"n• oro процесів системи.
уявлення або статичного уявлення
д. d' m) _ діаграма взаємодії, щ вию ,
~аграма послідовності (sequence iagra
·1·11
мча.соnу nослідовність передачі повідомлень.
ді t·agt·am) .. діt,rрама, щ
аrрама розміщення (d eployment с 1 '
sуз11ів т . . міщеtНІЯ оі,цно ·~пь ·я
Yst а його відносини . Д1а рама ро
ІЗJJення оз .
Р м1щения системи. . . . а модії, що щщіля
Ді . d' Ч'НU) _ д~аrрама в
аrрама співпраці (collaboratton · iag '
36
ЧДТУ.232217.022 ПЗ
струvтурну організацію об'єктів, що посилають та ~ приймають повідомлення;
діаграма, яка демонструє організацію взаємодії між екземплярами та їх зв'язок
один з одним.
Діаграма схем станів (statechart diagram) - діаграма, що показує кінцевий
автомат. Діаграми схем станів відносяться до динамічного представлення
системи.
З .1.3 Робоча область моделювання
Моделювання було проведено в додатку App.diagrams.net. App.diagrams.net
- це безкоштовний додаток для побудови діаграм, що дозволяє користувачам
створювати схеми, моделі та діаграми та обмінюватися ними у веб-браузері.
Інтернет-сервіс та відкрите ПЗ від розробника призначено для побудови
робочих схем та діаграм у різних нотаціях. Онлайн-інструмент працює з Google
та Dropbox. Користувачі можуть працювати над діаграмами в автономному
режимі та зберігати їх локально за допомогою настільної програми для macOS,
Windows та Linux.
Інструмент app.diagrams.net забезпечує інтуїтивно зрозумілий інтерфейс з
функцією перетягування, шаблонами діаграм, що налаштовуються, і великою
бібліотекою графічних елементів. Користувачі можуть створювати та редагувати
різні діаграми, включаючи блок-схеми, організаційні діаграми, діаграми процесів
(ВРМN), щаграми сутність-зв'язок (ER), схеми уніфікованою мовою
моделювання (UМL), мережеві діаграми та багато іншого. draw.io. Багата
функціональність дозволяє користувачам відстежувати та відновлювати зміни,
1мnортувати та експортувати різні формати, а також автоматично публікувати
Роботи та ділитися ними [ЗО].
3.2 Формування та аналіз вимог до програмного забезпече1111я
З .2.1 Вимоги замовника і розробника
З .2.1.1 Первинні і детальні вимоги
Перед розробкою системи, с~сладемо первинні і детальні вимоrн до моr о
nроrрамного забезпечення.
37
ЧДТУ.2322 17.022 ПЗ
nервинні і детальні вимоги до програмного з б
,.,;,~,и синтаксичного аналізу те . а езпечення експертної
;J{C1v1Y1 хючноrо тексту
,аС'Г)'ІІНИМ чином. можна класифікувати
1 Визначення конкретної мети е кспертно1" системи синта .
технічного тексту. Це вкл ксичного анашзу
. ючає в себе встан овлення обсягу і складності
завдань, яю система повинна ви конувати.
2 Підт.р имка мов те. хнічного тексту . Це за б езпечення можливості аналізу
техючних текспв ' написаних на р1. зних мовах програмування та
техючних галузях.
З Лексичний аналіз включає:
- роз~1знавання ключових термінів та технічних термінологій .
- видшення та класифікація лексичних одиниць.
4 Синтаксичний аналіз включає:
- визначення граматичної структури технічних текстів.
- створення синтаксичних дерев або шших структур для
представлення синтаксичної структури тексту.
5 Підтримка структурного аналізу включає:
- аналіз структури речень та абзаців.
- визначення зв'язків між різними частинами тексту.
6 Алгоритми обробки тексту визначає використання високоефективних
алгоритмів для обробки та аналізу текстової інформації.
7 Модульність означає розділення системи на модуш для шдтримки
гнучкості та можливості розширення.
8 Інтерфейс користувача визначає створення зручного інтерфейсу для
взаємодії з користувачем та введення текстової інформації.
9 Надійність та точність це забезпечення надійності та високої точно ті
Результатів аналізу.
1О Документація - розробка повної документації, яка включа в
інструкції з експлуатації, опис алrоритмів та структур ·и "1' мн.
деталь · абе· ле,1еннн о ·нортної
с11 НІ вимоги до програмиоr 0 .
Іі'І'а1<с11чно . . , можv·~·ь оюночати конкр 'ПН ~L· 11 кти
го анал1зу техючноrо текс ry "
38
ЧДТУ.232217.022 ПЗ
пІfJ·заuії алгоритмш, вимоги до продуктивності та
peІJ,J• • шдтримку р1зних типів
. их докуменпв.
те:хн1чн
3. 2 • 1 .2 Вимоги замовника і розробника · Функціон • ф . .
алью та не ункцюналью
вимоги.
Перед етапом моделювання я розробив вимоги замовника до програмного
забезпечення експертно1 системи синтаксичного аналізу технічного тексту з
англійської мови.
Розглянемо вимоги розробника до програмного забезпечення експертної
системи синтаксичного аналізу технічного тексту нижче.
І Сучасні технології: Використання сучасних мов програмування та
технологій для досягнення ефективності та гнучкості системи.
2 Модульний підхід: Розробка системи у вигляді модульних компонентів
для полегшення підтримки та розширення функціоналу.
3 Оптимізовані алгоритми: Використання оптимізованих алгоритмів для
швидкого та ефективного синтаксичного аналізу тексту.
4 Конфіденційність: Забезпечення безпеки обробки конфіденційної
технічної інформації.
5 Чітка документація: Розробка чіткої та повної документації, включаючи
інструкції з встановлення та використання.
б Високоякісні тести: Проведення високояюсних тестш для
підтвердження функціональності та надійності системи.
Функціональні вимоги
Розглянемо експертної системи синтаксичного аналізу тексту:
І М · · Система має забезпечувати ефективний аналіз
овна уюверсальн1сть:
технічних текстів, незалежно від галузей.
2 а повинна визначати та
Термінологічна класифікація: с истем
· · ля кращого розуміння контексту
І<Ласифікувати технічну термшолопю д
тексту.
з . безпечення синтаксичного анашзу
Структуровані представлення. 3 а
. структурних представлень для
тексту та створення зрозумтих
подальшого використання.
39
ЧДТУ.232217.022 ПЗ
4 Лексичний анашз: Система повинна Ма'rи
можливість розшзнавання
ключових термінів та термінології у технічних текстах.
5 Інтуїтивний Інтерфейс: Розробка · .. .
Інтупивного та зручного штерфейсу
для користувачів різного технічного рівня.
6 швидкодія: Забезпечення еф ективноІ" та швидкої обробки великих
обсягів технічного тексту.
7 Сумісність: Забезпечення сумісності з рІзними форматами техючних
документш, включаючи код програм та стандартні техючю
специфікації.
8 Надійність: Забезпечення високої стійкості та надійності під час аналізу
та обробки текстової інформації.
Нефункціональні вимоги
Розглянемо експертну систему синтаксичного аналізу тексту:
Система повинна забезпечувати високу швидкодію синтаксичного аналізу
навіть при обробці великого обсягу текстової інформації.
1 Масштабованість: Здатність системи ефективно працювати з рІзними
розмірами текстових документів та обсягами даних.
2 Надійність: Система повинна бути стійкою до помилок та
забезпечувати коректний синтаксичний аналіз наВІть у випадку
неповної чи невірно структурованої інформації.
З Безпека: Заходи безпеки повинні бути реалізовані для захисту введеної
та оброблюваної інформації від несанкціонованого доступу та втрати.
4 Сумісність: Система повинна бути сумісною із різними операційними
системами та іншими зовнішніми системами.
5 Ефективне використання ресурсш: Мінімізація використання
системних ресурсів, таких як пам'ять та процесорний час, для
оптимальної продуктивності.
6 Зручність інтерфейсу: Інтуїтивний та зручний інтерфейс користувача
для введення текстова~ інформації та отримання результатш
синтаксичного аналізу.
7 Доступність: Забезпечення доступності системи для користу1;1 · 1чів 3
40
ЧДТУ.232217 .022 ПЗ
різними рівнями навичок та можливостей.
8 Легкість супроводу та розширення: Система повинна бути легко
супроводжуваною та готовою до розширення
для введення нового
функціоналу чи адаптації до змінних умов.
9 Документація: Наявність докладної та зрозумілої документації, яка
описує функції, вимоги та процеси взаємодії з системою.
1О Екологічна придатність: Мінімізація впливу системи на навколишнє
середовище та оптимізація використання енергії.
Ці нефункціональні вимоги допомагають забезпечити ефективність,
5ільність та коректн1сть роботи експертної системи синтаксичного аналізу
-::гу.
3.2.2 Формування вимог за допомогою діаграми прецедентів
Діаграма прецедентів є одним із видів UМL-діаграм, яка використовується
6ласті розробки програмного забезпечення для моделювання взаємодій між
fІими суб'єктами (зазвичай користувачами) та системою. Вона дозволяє
,начити основні функціональність системи через ідентифікацію прецедентів та
паємодій.
Основні компоненти діаrрами прецедентів включають:
1 Прецедент
Це конкретна функція або задача, яку може виконати система. Наприклад,
иконати аналіз технічного тексту" може бути прецедентом для експертної
стеми синтаксичного аналізу.
2 Актор
Це суб'єкт або роль, яка взаємодіє з системою. Н априклад, "К ористува 11."
о "л дм1.н істратор" можуть бути акторами.
3 Відношення між прецедентами та акторами
с · · ·ж акторами та пр ц д tп , ,.
тр~лки або лінії вказують взаємод~ю Ml
аnриl<Л.ад , . . " до " Виконати анапіз технічн ro '
стршка вщ "Користувача
о~зує ' Що •·яти з системоао ч р з цей нрец д нт.
користувач може взаємод
4 Система
4 1
ЧДТУ.232217.022 ПЗ
визиачається я к "ящик" або контур, представляючи межі системи.
ти та актори розташовуються всередині цього ящика.
nреuеден . .
Діаграма прецедентш дозволяє команд~ розробників та зацікавленим
м легше розуміти та визначати функціональність системи взаємодії між
~~ '
... складовими та ролі різних учасників в цих взаємодіях. Вона є корисним
!1
пструментом для аналізу вимог та планування робіт з розробки програмного
забезпечення.
По тем~ магістерської роботи була розроблена наступна діаграма
прецедентів (Рисунок З .2.).
Ексnортувап1 Лекt1ІЧ"'1А СинтаКС\NНИЙ
резуnьтати аналізу до аналІ3 тексту анаnІз тексту
Інших nporpa"1
.-::т
0 use
Обробка
тексту
_use··
.,, '
ВвІмтидо АНалІ3
смстеми технІчноrо тексту --use-> в Снсtема
о /е
\ао,
" \JS8
.use·· ---~- ~:·:; ;с.--
ПОоІДО"nенttя
пое1домлежя npo ПО"1ІІЛКИ або неаІрttЩІ
про ycn1wн11~ анаnІз фОрмат тексту
те,сту
р з .2 - діаграма прецедент1в исунок
" системи синтакси~1н r
Ця діаграма прецедентів для експертна~ .
техніч . ктори і відношення .
Horo тексту включає в себе наступи~ а
1 kорнстува ч:
ввійти до системи
виконати аналіз техн1· чноа~ 0 тексту
переглянути результати аналізу
42
ЧДТУ.232217.022 ПЗ
береrrи результати аналізу
- з
_ вантажити технічний текст із зовніш
за нього джерела
_ кспортувати результати аналізу до інш
е их програм
2 снстема:
_ обробка тексту
_ виконати лексичний аналіз тексту
_ виконати синтаксичний аналіз тексту
_ надсилання поВІдомлень
_ повідомлення про успішний аналіз тексту
- повідомлення про помилки або невірний формат тексту
Ця діаграма прецедентів визначає ключові взаємодії між користувачами та
~стемою, а також 1ншими важливими компонентами, які сприяють
tунщіональності експертної системи синтаксичного аналізу технічного тексту.
3.3 Проектування логічної структури програмного комплексу
З.З.І Діаграма класів
Діаграма класів вид діаграми в об'єктно-орієнтованому
це
wодеmов аню,· якииv показує структуру системи та в•щ н осини між її класами.
~на є частиною мови моделювання UМL (Uш · f ii e d Modeling Language) і
І.Іf корис • •· атрибутів методів та
товується для візуального представлення класш, ІХ ' .
чд!!осІfН • • ть уявно та зрозумшо
. м~ж класами. Діаграми класш дозволяю
Qдобразит • . ного забезпечення.
и арх1тектурну структуру системи програм .
ОсІіов . наведені нижче вар1анти.
ІіІ елементи діаграми класів включають V
1 • и Класи зазвичаи
Клас П " б б'єкт~в систем •
и: редставлення сутностеи а O 0
¼uоть ім'я та вмістять атрибути та методи. . вла,,,1,нво ·п.
2 Аrриб . які описують ЇХНІ "
Ути : Характеристики клас~в, . " Корнстувач" .
Iian ибутом класу
3 РИІ<лад, атрибут "ім'я" може бути атр . і класамн.
,я бути виклнкан
~v1етод,... .. ., ф ... як~' можуть
ункції або оnерацн,
ВоІіи етодів .класу.
nредставлені у вигляді списку м
43
-
ЧДТУ.232217.022 ПЗ
4 Відносини: Зв'язки між класами, які показують взаємодію між ними.
. . .
Н:айпоширен~ш~ вщносини - це асоціації, спадкування та реалізації
інтерфейсів.
5 Пакети: Групи класів, які мають спільний контекст або призначення.
вони допомагають структурувати великі системи.
6 Інтерфейси: Специфікації, які визначають, які методи повинен
реалізувати клас.
7 Коментарі: Пояснення та анотації, які роз'яснюють аспекти діаграми.
g Діаграми класів використовуються для проектування, аналізу та
візуалізації програмного забезпечення перед його розробкою.
По темі магістерської роботи, я розробив наступну діаграму класш
1с.З.2)
U1erlnltrf1ct
---
SynttxAnalyztr
Ltxlc1ІAn1Іyztr
Ttxt.Aлalyzer
--- -------- - -----
- -- ---- -
T1rmCІ111lfler
Рисунок З .З - Діаграма клас1в
р . ити моєї діаграми класів .
озглянемо детальніше основю компоне
Розглянемо класи:
1 КJН1
TextAnalyzcr (А11алізаторТексту): п редст авляє осн вний
• хиічних текстів .
системи, який відповідає за аиал~з те . .
2 L . ~•А 11 UJJiзuтop): Клос, що ощн вща
ex1caJAnalyzer (Лексич11иn • .
. ння та класиф1кащю лексем.
лексичний аналіз тексту, розтзнава
44
ЧДТУ.232217.022 ПЗ
3 SyntaxAnalyzer (СинтаксичнийАналізато )· К V • •
V • р . лас, якии вщповщає за
ст~rаксичнии анал1з тексту та створення стр
уктурних представлень.
4 TermClassifier (КласифікаторТермінів): Клас для
класифікації
технічної термінології в тексті.
5 Userlnterface (КористувацькийІнтерфейс): Клас, який взаємодіє з
користувачем, забезпечуючи інтуїтивний доступ до системи.
Розглянемо наступні складові, це:
Атрибути та операції:
У кожного класу можуть бути визначені атрибути та операції, які описують
його стан та функціональність. Наприклад, у класі TextAnalyzer може бути
операція analyzeText(), яка запускає процес аналізу тексту.
Відносини між класами:
Стрілки або лінії м1ж класами показують вщносини. Наприклад,
LexicalAnalyzer та SyntaxAnalyzer можуть бути підкласами TextAnalyzer,
оскільки вони виконують певні частини аналізу.
Інші елементи:
Діаграма може також містити інші елементи, такі як інтерфейси, абстрактні
.класи та спрощені асоціації між класами.
З .З .2 Діаграма пакетів
д. . мках мови моделювання UМL
•аграма пакетів - це вид д~аграми в ра
(Unified Modeling Language) , яка служить для візуалізації структури системи в
термі nax лі Діаграма пакетів допомагає
групування елементів у пакети чи моду ·
oprani . . ізними частинами системи, що
зовувати та відображати взаємод~ю м~ж Р
дonot.tar . и програми.
ає в зрозумінні загальної арх1тектур
Осно вю· елементи д~. аграми пакет 1·в включають:
fia . и які представляють собо rp п '
І<ети; Це ос1зовн1· елементи д~аграм '
f/ оs'язаn • . . ер<1,ейсів чи т• wих п ак . 'ів). Ко> ' · Н
. их елементів (наприклад, клас~в, тт .11
І1а)(e -r . '
мо)l( . , у елемент1в.
. е МІСТИТИ свою власну струІ< ryp І 'L't\ з \J( ) t tO ·ті МtЖ
Від» П ~оть вза мозв язки
Різ осини між па1<етами: оказу ці ro компо· ~,щі ю
liJ.ft-.111 n жуть бути arpera '
а1<етами в системі. Відносини мо 45
ЧДТУ.232217.022 ПЗ
. тю тощо .
•о тте)і(JІlС
'JII"' Jмnорт та експорт пакетів: Показ ують, як один пакет може
вувати або надавати доступ до елементів іншого пакета.
використо
коментарі: Використовуються для надання додаткових пояснень або
.... до елементів діаграми.
а11отаn1и
Діаграми пакетів дозволяють структурувати великі системи на більш
взаємозалежні та логічні частини, що полегшує розуміння, аналіз та розробку
ІІРограмноrо забезпечення.
По темі магістерської роботи, я розробив наступну д~аграму пакетш
!Рисунок 3.4)
ocumentatlon and11-----~ SYSТEM Securlty and
Suppor1 Confldentlallty
Updat• and
Analytlcal User lnterface Language Resources
Functlons
Lexlcal Analyzer
Syntax Analyzer
Рисунок З .4 - Діаграма пакет1в
Роз . му Діаграма пакетш для експертної
глянемо детальніше цю д~агра · . . ...
~сrеми с . кету призначеня для в1зуашзацн
интаксичного аналізу техючноrо те
l'py-i.n.,.. , ури с истеми та групування ·1··
• у логічні пакети. Основні
1 ко мпоненпв
а~еrи
мо)І(уть включати такі елементи: оненти що
1 С А l zer)· Включає комп '
интаксичний Аналізатор (Syntax na у · . " ти nідnакети
ві . ·з тексту.Може м1с1и
дnовщають за синтаксичний анал~
вання чи галузей.
для обробки конкретних мов програму
46
ЧДТУ.232217.022 ПЗ
леJ(сичний Аналізатор (Lexical Analyzer): В
2 . ключає компоненти для
розnізнавання та анал1зу лексем у технічних
. . текстах.Може мати
підnа1<ети для р1зних типш лексичних одиниць.
3 Інтерфейс Користувача (User Interface): Включає
компоненти,
пов'язані з розробкою інтуїтивного та зручного інтерфейсу для
користувач1в.
4 Оновлення та Мовні Ресурси (Update and Language Resources ):
Містить компоненти, що відповідають за автоматичне оновлення бази
термінів та мовні ресурси.
5 Аналітичні Функції (Analytical Functions): Включає компоненти, що
здійснюють аналітичні функції, такі як класифікація та визначення
технічної термінології.
6 Інтеграція з Форматами Документів (Document Format Integration):
Може включати компоненти для взаємодії та сумісності з різними
форматами технічних документів.
7 Безпека та Конфіденційність (Security and Confidentiality): Містить
компоненти, що забезпечують безпеку обробки конфіденційної
технічної інформації.
8 Документація та Підтримка (Documentation and Suрроrt):Включає
компоненти для розробки чіткої та повної документації, а також
надання технічної підтримки.
Ця · взаємод1ю її
д~аrрама допомагає зрозум~.т и структ уру системи та
Ко1,
111/JоІІен .
т~в на вищому рівні.
З.4 Ар .
х1тектурне проектування
З.4 1 д·
· 1аrрама компонентів
rr· . nон нтів ,,,а ї ·
~'~Грам.а . . об аження набору ком
езае~ компонентів w це граф1чне 3 Р . . Ці д іщ'рами
е озn'яз1<ів У • . ,, ребрами і вершинt\МИ , -
~~ОР11 ВИГЛЯДІ грач>а з ' ми з TO'lKH зору
crony " структури сис1е
ІОться для моделювання статичио1
47
-
ЧДТУ.232217.022 ПЗ
... вони включають компоненти, інтерфейси та .
jзаФ•· вщносини залежності
реал ня асоціації та реалізації. '
гальнен ,
13а Діаграми компонентів ідентифікують організацію компонентів та їх
взаємозв'язки, представляючи їх у вигляді графічного зображення. Вони
застосовуються для моделювання фізичних сутностей, таких як виконувані
ІІРоrрами, бібліотеки, файли та документи, розгорнуті в мережі вузлів.
Діаграми компонентів подібні до діаграм класів, але фокусуються на
системних компонентах. Основні елементи включають компоненти, інтерфейси
та відносини, такі як залежності та узагальнення. Вони також можуть включати
примітки та обмеження.
Ці діаграми можуть також м1стити пакети або шдсистеми, а шод1
використовуються для візуалізації екземплярів компонентних систем. Діаграми
компонентів широко використовуються для моделювання статичного вигляду
системи та управління конфігурацією компонентів, з'єднаних різними
способами. Також, вони можуть бути застосовані для моделювання версій, що
виконуються, та фізичних баз даних. Однак важливо враховувати, що при
моделюванні діаграмами компонентів деякі системи можуть бути адаптивними,
ВІ<JUочаючи динамічні компоненти або агентів.
По темі магістерської роботи була розроблена наступна діаграма
kомnонентів (Рис. З .5.)
систеUІ
~Іо•Ші'
f ксnерПІІ npoцtCOP
ІЮАtІІІ
t[] ....., ... ]
·-
------_.. - --_·-_ ....-- - -
~::її'~r•""'~'" рfІІО.•'"'"
cl----
. мnонентів
Рисунок З .5 - Д1аrрама ко
48
ЧДТУ.232217.022 ПЗ
д. rрама компонентІв для програмного забезпечен "
,а ня експертно1 системи
uoro аналізу технічного тексту з англійсь "
11rrаксич кщ мови включає наступні
сІ ти та їх взаємозв'язки:
,1[1ОНеН
~OJ\'1 ~ •
сиптаксичнии анал1затор: Головний компонент системи,
·дальний за анашз технічних текстів з англійської мови з
віді1ОВІ точки зору
,r1'аксичної структури.
сИ11 1
Мовний процесор: Компонент, що включає інструменти для обробки
тексту на англійській МОВІ, включаючи токенізацію, лематизацію та інші
лінгвістичні операції.
Експертні моделі: Моделі, які містять експертні знання з синтаксичного
аналізу техючного тексту, що допомагають виявляти та аналізувати
синтаксичні конструкції.
База знань: Компонент, що мІстить базу даних або сховище для
зберігання шнгвІстичних правил, граматичних шаблонів та шших знань,
необхідних для синтаксичного аналізу.
Інтерфейс користувача: Компонент, який надає можливість взаємодії з
користувачем, дозволяючи вводити технічні тексти та отримувати результати
синтаксичного аналізу.
Візуалізація результатів: Компонент, що відповідає за візуальне
відображення результатів синтаксичного аналізу, можливо, У вигляді дерева
синтакси "
чноІ структури чи іншої форми.
. :Моду якииv генерує звпи або виводить
ль звітності: Компонент,
І!іформаці10 синтаксичного анал1зу для подальшого
про результати
ВіfІ<орист
ання чи аналізу.
Ця . м інструментом для розумшня
д~аrрама компонентів слугує важлив и ..
архіте1< забезпечення експертно1
тури та взаємодії різних частин програмного
CifC'J'
еми дл я синтаксичного аналізу техю·ч ноrо т ексту ·
З .4 2 р " на апаратних засобах. інгр 1 ш
Розrор · озrортання програмно~ системи
'l'аІіІія
49
ЧДТУ.232217 .022 ПЗ
. rрама розгортання - діаграма в UМL на . V •
д1а . ' яюи вщображаються
альні вузли пщ час роботи програми к
~q11cJ1ЮB • ' омпоненти, та об'єкти, що
ться на цих вузлах. Компоненти вщповідают
внко!fУІ<> ь представленню робочих
лярів одиниць коду. Компоненти, що не мають .
е~-зеМі1 . представлення пщ час
програми на таких д1аграмах не відображаються·, . ..
рсботи натом1сть, 1х можна
. бразити на діаграмах компонент. Діаграма розгортання . б .
81до вщо ражає робоч~
е~1еt,юляри компонент, а д1аграма компонент, натомість, відображає зв'язки між
типами компонент.
Фізичне представлення програмної системи не може бути повним, якщо
відсуrня інформація про те, на якій платформі і на яких обчислювальних засобах
вона реалізована. Діаграма розгортання призначена для візуалізації елементів і
компонентів програми, які існують лише на етапі її виконання (runtime). При
цьому подаються тільки компоненти-екземпляри програми, які є здійснимими
файлами або динам1чними бібліотеками. Ті компоненти, яю не
. .
використовуються на етап~ виконання, на д~аграм1 розгортання не
відображаються. Так, компоненти з вихідними текстами програм можуть бути
присутніми тільки на діаграмі компонентів. На діаграмі розгортання вони не
вказуються.
: Сервер
,, ,,
., .,
,, .,
,,
., .,
,, .,
,, ,,
,,
r•оnr1•~шня
.6 • Піаrрама роз r
Рисун:01< ;с1, ·
З.s Моде.r11ова1111я rаоведі11ки сис'~·смк
50
ЧДТУ.232217.022 ПЗ
д. . грама діяльності
3.5.1 ia
у 11poneci моделювання поведінки системи, будь то проектована чи
виникає потреба не лише уявити зміну її станів , V .
·зоваІІа, але и уточнити
а~а.ІІІ. rоритмічної та логічної реалізації виконуваних операцій Дл
тзJІІ aJI · Я ЦЬОГО
де !{стовуІОТЬСЯ діаграми діяльності у мові UМL. Їх графічна нотація схожа на
8,,коР . •
. аМИ станів, але вщр1зняється семантикою станів, які тут використовуються
дtafP
для відображення дій, а не станів. Кожен стан на діаграмі діяльності відповідає
виконанню елементарної операції, і перехід у наступний стан відбувається лише
після завершення цієї операції в попередньому стані. Граф діяльності
відображається у формі графа, де вершини представляють стани дії, а дуги _
переходи між ними. Діяльність розглядається як сукупність окремих обчислень,
які виконуються автоматом, і можуть призводити до результату або дії. Діаграма
діяльності відображає логіку переходу від однієї діяльності до іншої,
фокусуючись на результаті діяльності, який може змінити стан системи або
повернути значення. Стан дії є спеціальним випадком стану з вхідною дією та
щонайменше одним переходом. Графічно його зображено у формі прямокутника
зопукдими дугами замість бічних сторін, а всередині фігури записаний вираз дії,
ЯКИй повинен бути унікальним на одній діаграмі діяльності. Дія може бути
88Ражен а природною мовою псевдокодом або мовою програмування, 1· не має
~ '
Оо.м ежень п·щ час запису. При будівництві д~. аграми використовуються пер еходи '
~к~ Переводят · . v п·сля завершення дії У
ь д~яльн1сть у наступнии стан миттєво 1
nonep едньомv . . • · 1· позначається ромбом ~ · ··J стаю. Розгалуження на д~аграм1 д1яльност
'ГеІ<с"",
·J всередині.
РозгJІЯІІ іяльності по темі м .' (
llaric•,· емо послідовно алгорит діаграми д
ерсІ>І<ої роботи.
І •
ІІ0Чато1< (Start): Вказує на початок аналізу технічного текс·,,у .
2 В вед корн1.:'1Jв~\~~ ШJ . . it
еІІня тексту (lnput Text): Крок, на якому
l'ехІіі11н й .
з и текст який підлягає анаюзу ·
Ilep • ' \ є мо ву 'l'tЖ 'L)' ·
enip1<a :мови (Language Check): Система визна ш
5 l
ЧДТУ.232217.O22 ПЗ
·я (Tokenization): Розбиття текс
4 fо1<еІІізац1 . ту на токени (с лова, фрази,
) для подальшого анашзу. тощо
ксичний аналіз (Syntax Analysis): Використовуючи
5 синт
а експертні
алгоритми, система анал1зує синтаксичну структуру тексту.
визначення ключових термінів (Identify Кеу Terms): Виділення
6
основних термінів або ключових слів у тексті.
7 Аналіз відношень (Relationship Analysis ): Визначення взаємозв'язків
між ключовими термінами або структурними елементами тексту.
g виявлення аномалій (Anomaly Detection): Пошук будь-яких
невідповідностей або аномалій у тексті.
9 Генерація результатів (Generate Results): Виведення результатів аналізу,
. . . . . . .
таких як видшею ключов1 термши, виявлею вщношення та шша
важлива інформація.
10 Завершення (End): Позначає завершення процесу аналізу.
• \ВіА<р,;тт~< ск,,.,.,. ~---j ~..,
е
І
ТІІ
І
BIU".І'!!t'"-' <:;.,~нт11:ОМ'-1іиМ nllh
'JCf\OЦOll'Q( ТЕрУ:_.Ніе. А
7 - . а діяльнос-т1 Рисунок З . Д1аrрам
52
ЧДТУ.232217.022 ПЗ
•1а діяльності може служити загальним
J1Я дiarpa1v• оглядом того, як
система обробляє технічний текст на
rJia англійській
P мові,
~с~Є
е \JЮЧИ синтаксичний аналіз для виділення
ристоВ;·- ключової інформації та
в11~0 •
в'.язюв.
sJВєrJOЗ • •
2 Діаграма ПОСЛІДОВНОСТІ 3.5.
у межах UМL для визначення динаміки системи використовуються
стану і діяльності, проте ці діаграми не враховують часовий аспект
діаграми
·нки · Зокрема, для представлення тимчасових аспектів передачі та прийому повед1
повідомлень між об'єктами у UМL використовується діаграма послідовності.
Діаграма послідовності для програмного забезпечення експертної системи
синтаксичного аналізу технічного тексту з англійської мови складається з низки
ключових елементів, які відображають послідовність взаємодій між об'єктами
програми. Основні складові цієї діаграми включають:
Об'єкти: На діаграмі зображаються об'єкти, які беруть участь у взаємодії
системи. У випадку експертної системи синтаксичного аналізу це можуть бути,
наприклад, модулі аналізу тексту, компоненти обробки мови та інші ключові
елементи системи.
Лінії життя (Lifelines ): Пунктирні вертикальні лінії, пов'язані з кожним
об'єкто у ·од
м, представляють лінії життя. Ці лінії ілюструють часовии пер~
~снуванІІя 0 б' .
єкта в системі та його участь у взаємод1ях.
ІІовід омлення: Горизонтальні стрілки, що перетинаю ть лінії життя,
UJJeдcraв.rrя10 . .•. . б' Кожне повідомлення
ть nовщомлення або взаємодн м1ж о єктами.
І!ае '
ІІ.r'.11 та мо . об'єкта до іншого.
же включати дані, які передаються вщ одного
Фрейм II (F . у чи подій де потрібно
від rames ): У випадку складних взаємодш '
Образlітu б' стані фрейми. Фрейми
40з ІЛЬІUе деталей можуть бути викори
Soli.11 '
Іоть детал·1 3 ові елементи.
Увати взаємодії та вставляти додатк
Orr ерато мови цикли та інші
~Yh,... РІІ: Оператори дозволяють вставляти У '
' '.УРІі jJ •
' І<~ вnл11 ...
вають на логіку взаємодн.
53
ЧДТУ.232217.022 ПЗ
111еt1tІ.Я о б'єJ(та: ЯJ(ЩО певний об'єкт або компонент знищується ш.д час
Зit.I..{ ue мо )І{е бути в.щ о б ражено символом "Х" над лінією життя ЦЬОГО
єtJОµІІ ,
вз8
ІJ~J є~1а, .
Діа!J'ама nослідовносп дозволяє ВІ
. зуаш.з увати та розуміти взає МОДl.І.. МІ•Ж
омnон:ен:тами програмного забезпечення в контексті часу. у випадку
~· н ІІ~fU І<" системи синтаксичного анашз. у, це може допомагати у виявленні
r1ерт!ІОІ
екс~• . дій що в.щ буваються ш.д час обробки та аналізу технічних текстів
поСJІідоВ!ІОСr l '
аJ!ГЛійською мовою.
Діаграма послідовності для програмного забезпечення експертної системи
сюrrаксичноrо аналізу технічного тексту з англійської мови може виглядати
наступним чином:
Об'єкти:
Експертна система
Модуль аналізу тексту
Компонент обробки мови
Лінії життя (Life lines):
Лінія життя для кожного об'єкта вказує на його існування та активність
протягом взаємодії.
Повідомлення:
Взаємодії між об'єктами відображаються стрілками між лініями життя.
"З аnуск а • . . кспертної системи .
нашзу" - повщомлення вщ користувача до е
'"··. "nе ред ача тексту" повідомлення від експертної системи до модуля
'<qJJJЗy
тексту.
()
ІІС интаксич .., в1'д модуля аналізу тек ,,_
~о~ нии аналіз" - повідомлення
nонент
а обробки мови
Фреіі .
~ 11 (Frames):
<Ьрей ми мо . ... онкретt1их етап~•в
жуть використовуватися для детал~зацн І<
54
ЧДТУ.232217 .022 ПЗ
J,{" иділення ключових елементів та структу
raI< .яІ< в р .
• 11
~1З1'
в~ aropo:
011еР б
б цикли можуть ути використані для відоб
умо 13J,{ а о . раження р1зних
. заємодн..,. залежно вщ характеристик або вимог тексту .
~ІВ J3
~nя б'єкта:
3,111щення о
якmо деякі об'єкти чи компоненти знищуються або завершують свою
же бути відображено відповідним чином.
rобоТ)', це мо . . . . .
Ця діаграма дозволяє юзуашзувати послщовюсть под~й та взаємодій між
компонентами експертн01 системи синтаксичного анашзу технічного тексту.
вона спр ияє кращому розумінню та аналізу логіки програмного процесу.
Діаграма послідовності по темі магістерської роботи зображена на рис.3.8 .
Ехсперrна Мо~ь анаrізу о..,онент об робю,
с11стема тексrу моеи
'
Запуск•:,
ь.т.а.т. .з.з.п.ус.к.у. ...... .
ЗавантЗJІ<І!ЖЯ тексту
< __ РІ!зуnьтат завант а,,ення •••
а,конз-1ня ззшну оброІ3ІQІ
Ре~/ПЬТЗТ обро(ІІщ ••• •
r • • • • • •• • • • •• • •
ГІ!редачз резуnьтзту оброб"1
Отри~•аиня Р&;Jfnьтату оІіробки
Рисунок 3.8 - Д~.а грама послідовност1
з .s .з д·
iarpaмa комунікації
~1Іу-rрД• Їаrрам
НТtЖ TL
а І<омун1. кації призначена для в.щ о б Р аження вза модії в к включає
ІІ!JІіьо"
1 архітектури системи та передач.~ повІ,Д омлень. Вона
55
ЧДТУ.232217.022 ПЗ ч
. . осини між елементами, але не має в. . _
Jfl в1дІІ . • . tдображенмя: час . ,.
~fУІ' кових номер~в nов1домлень. У та вимагає
І 11орЯд
8~itЯ • •. .
,~89 а комун1кац11 для проrрамноrо забезпеч . . ..
ДіаrраМ . . . .. - . . - . ен~rя ексnерrrної сисtеми-
rо анал1зу техн1чного тексту на англ~йській _ . _
t!f81'cuчI-ІO . . мов~ ВІ<mочає в1 себе л:іиії
с1 1
• редставляють екземпляри клас1в чи об'єІ<ти а . . _ .
•'' !.'..'."ra , ,iJ(l 11 ... . ' також ПOBЩOMЛeffFBf іа
. для визначення взаємодн м1ж ними. Кожен .
11fJІІІ}'Вач1 учасник взаємощї,
., екземпляр класу, зображується у вигляді прямокутника н . ... ..
j8381f1aИ · ,а ЛІНИ жипя.
На діаграмі можна відобразити об'єкти та компоненти, що беруть участь. У
. . '
с11нтаксичному анашз1 тексту' а також зв язки та обмін повідомленнями між
ІІ!іМИ• Зазначаються ролі, які виконують екземпляри класів, та зв'язки між ними.
Приклад може включати лінії життя для екземплярів класів, таких як
'Синтаксични.и, А наш.з атор " , "С истема ", "Ф аи., л ", 1. повщ. омлення, що передаються
ІІіж цими компонентами для виконання аналізу тексту. Зв'язувачі відображають
асоціації або залежності між об'єктами.
Ця діаграма допомагає візуалізувати взаємод1ю між різними частинами
експертної системи та їх внутрішню архітектуру під час синтаксичного анашзу
технічного тексту.
Діаграма комунікації по темі магістерської роботи зображена на Рис. 3.9.
()бробо
Смнт ако1чн;ІІі
~'11},аТО9
СМстtІ,8
Рисунок 3.9 - Д1•а грама комунікації
діаrра алгоритмом . Користувач г
~~t ма комунікації складена за наступним . . r r
'Ч'!J/ • . Хоп за 01 1
t~~·,. І зав б обляє ф,н,.а
антажує в систему. Систеиа о р .
~ l11fнoro . . вання фariХ:.п 11· aY, mИ
1t11~ ана.ЛJзатора і потім ще кореrу
. І~ЬоJ'о
І<ористувач може переглядати фоЙJІ,
З.5 ,4 д·
•аграма скінченого а1номату
ЧДТУ.232217.022 ПЗ
скінченого автомату для про
ттjаrрама грамного забезпе
ро • • чення експе . ..
rаксичноrо анал1зу техючноrо тексту .... ртно1
rємІІ сJ,ІН . на анrтиській мові мо .
с,,с я моделювання р1зних станів та перех . . . же бути
сrворе»а дл .. . ф ... ощв, ЯКІ вщбуваються під час
· сrово1 1н ормацн.
бJ<lf тек
об!'° оочати~- овий стан (Initial State): Визнач ається початковтл~
ст стан системи
ад "Очікування тексту". '
нaf!PifJ<Jl '
стани (States): Визначаються основні стани які мож
' е на6 у вати система
,rт1!Тад ' "Аналіз початку речення", "Аналіз основної інформ ... " "В '
яaf!P»iv• ацн , иявлення
с1пrrаксичних структур " тощо.
Подіі (Events): Визначаються події, що спричиняють переходи м,ж
станами. Наприклад, "Отримано нове речення", "Знайдено ключове слово" та
інші.
Переходи (Transitions): Визначаються переходи МІЖ станами, яю
відбуваються при виникненні певних подій. Наприклад, "Очікування тексту"
може переходити в "Аналіз початку речення", якщо отримано нове речення.
Кінцеві стани (Final States): Визначаються кінцеві стани, до яких система
приходить після завершення аналізу. Наприклад, "Аналіз завершено" ·
Умови (Conditions) : Визначаються умови, які визначають, коли
відбуваю ться переходи м1. ж станами. Наприклад, "Як що з найдена ключове слово,
перейти в стан ,В иявлення синтаксичних структур "' ·
д . • кти такі як дії, які
одаткові елементи: Враховуються ІНШІ аспе ' .
в~ко!fу}о . едення зовнішніх вплнвш
~ ться при кожному переході, та МОЖЛИВІСТЬ ВВ
а автомат.
. . rіку роботн
Д1а візуал1зувати ло i ·
Грама скінченого автомату допомагає ... . ,
ексн~Р'rНої на ізні вхідні сценарн п~д чос
c/!Jf системи та визначити, як вона реагує Р
1'31.(еично
ro аналізу технічного тексту. , ,1•1J III tt 1
n· "~~з r ~
~iarpa.м . . rістерсько1 Р
Р~с 3 а сюиченоrо автомату ло тем~ ма
· -10,
57
Af-'I.A.., •"-..14.i. l /,U22 ПЗ
Отриманнn файлу Іntertace
r , І
-Відправка файлу
І І І
І і Передача даних
І
І
1 ' І
' 1П ереда·ч а еиправпених, д аних
Analyse datas
Рисунок З .1 О - Діаграма скінченого автомату
Процес синтаксичного анал1зу тексту можна розглядати як послідовність
еmпів і процесів, кожен з яких відповідає певному стану в діаграмі скінченого
авrомата (ДСА). Розглянемо ДСА для етапів синтаксичного аналізу тексту:
Процесс "Завантаження тексту": Система перебуває в цьому процессі,
коли очікується введення або завантаження тексту користувачем.
2 Процесс "Відправка даних": Система перебуває в цьому процесі, коли
іде процесс передачі даних для синтаксичного аналізу тексту.
3 Стан "Обробка даних": Після введення тексту система переходить У цей
стан, де виконується лексичний аналіз для виділення токенів (с лів,
символів тощо).
4 п " 6 цьому процесі, коли іде
роцес Передача даних": Система пере уває в
n . ерфейс користувача.
Роцесс передачі виправлених даних на шт
l
,,
Ч.,ЦТУ .232217.022 ПЗ
Висновки до третього роз .
дщу
му розділі була розглянута теорія фор .
'! uь о . . . мування анал1зу вимог до
'"fll-1:X систем, 1 представлен1 д~аграми за допом
. мрмаФй оrою мови моделювання
1~Ч'- ~я делювання є важливим етапом для зрозуміння
омL· 1viO системи, проте одна
сто недостатня. Для розуміння складних систем .б
д~~ ~оо~~
~ ~ у
oararo заємозалежних моделеи. контексті програмних
в систем це означає
потребу в уніфікованій мові для опису архітектури системи протягом усього її
цикяУ розробки.
Графічна нотація UМL дозволяє візуалізувати систему, а специфікації
UМL деталізують її особливості. Таким чином, модель можна побудувати
інкрементно: спочатку створити діаграму, а потім додати семантику через
специфікацію моделі, або навпаки - розпочати зі специфікації (можливо,
використовуючи зворотне проектування існуючої системи) і на її основі
розробляти діаграми.
UМL підходить для моделювання різних систем: від інформаційних систем
підприємств до розподілених програм, орієнтованих на веб, і навіть вбудованих
систем реального часу. Це потужна мова, яка дозволяє розглядати систему з
різних точок зору, пов'язаних з її розробкою та розгортанням. Незважаючи на
велику кількість можливостей для вираження, ця мова є зрозумілою та легкою у
викори:ста .
нн1.
. Ум · . . • и · діаграма розгортання,
аг~стерській роботі були створею таю д~аграм · .
IUarpaмa . . . компонентів, діаграма
комун1кації діаграма діяльност~, д~аграма
naК е-г•1в ді ' ., •а грама прецедент1•в .
' аrрама класів, діаграма послідовностеи та д~
59
ЧДТУ.232217.022 ПЗ
.~-оJІСТРУЮВАННЯ ТА ТЕСТУВАННЯ ПРОГРАМНО
~ft4-~ . го
уоз~ ЗАБЕЗПЕЧЕННЯ
бка програмного комплексу
4.1 розро
обгрунтування вибору засобів реалізації
4.l .l
для реалізації програмного забезпечення по темі магістерської роботи, я
вував Python IDLE версії 3.10.
використо
Python IDLE (Integrated Development and Leaming Environment) представляє
собою стандартне інтерактивне середовище для розробки мови програмування
Python і входить в склад стандартної поставки Python. Нижче подано
розширений опис основних функцій та можливостей Python ШLЕ версії 3.9:
1 Інтерактивний інтерпретатор: IDLE має вбудований інтерактивний
інтерпретатор Python, що дозволяє вводити та виконувати Python-кoд в
режимі реального часу. Це корисно для експеримент1в, тестування
фрагментів коду або вивчення Python.
2 Редактор коду: ШLЕ включає зручний текстовий редактор, який має
функції, такі як виділення синтаксису, автодоповнення та автоматичний
відступ. Це полегшує написання та редагування Python-кoдy.
3 Відладка: IDLE має вбудовані засоби відлагодження, які дозволяють
встановлювати точки зупинки, відстежувати значення змінних та
виконувати код по одному кроці для виявлення помилок.
4 У пра вл~• ння файлами: Ви можете в·щ крив ати ' зберігати та
вnорядковувати файли Python безпосередньо в середовищі IDLE. Це
3РУЧ1-1о для організації роботи з проектами та скриптами.
5 lnl'e ~ Pyth Shell де ви юж1.:т1.:
Рактивний Shell: IDLE має вбудовании on ' ·
ввоц и ї виконшІН
ити команди Python та переглядати результат ·
Ре>1<11мі
6 Реального часу.
l\1e11e ~ . ·ерф ,й, 11р•11 1 ін11
д~ер модулів: IDLE містить простии 1
1t1 .
І.sс1а1.1
n •OBJleJi ими модулями Pyt ho
Jl І ' К() д )J\ \О НІ \
n, W.,'O "п'' озоОJlЯ
lідаJІлт
и Модулі .
oU
ЧДТУ.2322 17 .022 ПЗ
кr інструментів: IDLE є складовою стан
((о~nле . V • дартного комплекту
7 ентів Python 1 доступнии на бшьшості платформ
·»струм , на яких можна
1
вити Python. Це забезпечує інтегрований набір· інстру .
встаnо мент,в для
ивної розробки на мові програмування Python
ефект ·
. .
Python ),18,7 (ria\n, Nov 24 2822, 19145:47) (GCC 12,Z,8) on \\nux
туре •he\p", •copyr\ght", "tred\ts• ot "\\tense()" for ІІОrе \nforмtton,
-,, І,~1, ()
we\t- to pytllon 3,te's he\p ut\1\tyl Sttllng1
Fonts .J fllQhli~І,ts кеуs Vlindows І SІ>,ІІ/Еd ! Ext,nslons ,
If th\s \s your f\rst t\l'llt us\ng Python,
tht tutor\a\ on th• tnternet 1t https: // ;- Cuslom Hi9hli9hlinq - - - - -- ,· Hi9hli9hting Тh,me -- І
' ' І S<lctt : і
Enttr the n- of any lllldu\e, keyмo, rd, , о, , Choos,Color for: І
1 1
Python progr- 1nd. us\ng Pytho• n 1,•0 •, Mes J w• ----- І ♦ ~~nПЇ~ І
rtturn to the tnterpreter • , , NonmaІ Code o, Text ~ І І І
1 :just type •qu
1
то g•t а \ut of 1va\\1b\e IIOdu\es,· key,, - ♦ ~: 9rou;1d · B<tck9round : IDLE Dar\: -- j
•IIOdu\es•, •k~rds", · •sуІІЬо\s•, or "to
wtth а one• \\ne sWWІry of what \t does; І
or ,_.ry conta\n а g\ven str\ng such • z i:Jm c:Qflte•t: sectwn І'
1 / cursor І І -----' ,
4 def fuac(par,111)1
he\p• top\cs s __.! J
"Return І
ноnе . •
І 1
неrе \s \\st of 1v1t\ab\e· toptcs. Ent 6 vare ■ r••t rtn ' New themt , see: Не:Ір
1 1 varl •
е v•r2 с •
ASSERТION OELEТION 9 varJ • ~
ASSIGNIIENТ OICТIONARIES
АТТRІВUТЕІІЕТІІООS OICTIONARYUTERALS :о ~
11
АПRІ81/ТЕS DYIIAIIICFEAТUIIES 12 ,->> 3.14812
AUGll[NTEDASSIQi/lENТ Ш1PSIS І! 9,8S96
ВАSІСІІЕТНООS · EXCEPTIOIIS 14 ,,, prt 8t1
8INARY І
l!XfCUТION ! i:;; S nt!xError
B111/ISE EXPIIESSIONS І
BOOLEAN FLOAT І
і
CAl.tAВLEllftнOOS FСІІІІАТТ ING
CAI.LS І І І
FААІІЕОВЗЕСТS
CtASSES FRA/IES ' save as New custom Themc_ _.J І
І ·--- .--~-=----::..=-:----------
СООЕО8ШТS FUNCТIONS
COlll'ARISON IDEIIТIFIEAS . -· ... ---~_J Appl!_j ~ ~ -'
~. , OIIPLEX 11\PORfING -- .
COIIOІТJONAL ІНТЕGЕR
Python IDLE 3.10.
Рисунок 4.1 - Середовище розро б ки
4.1 ·2 о пис структурної ( функцю•н ально"1 ) ех еми ..
спертно1
С абезnечення ек
с~ 'Груктурна (функціональна) схема програмного з •v ві може бути
С'rем11 си: na англійсьюи мо
~h,. ІІтаксичного аналізу технічного тексту
"'!Саі!
а. Ііа.ст
Уnним чином:
1
1(0РІІстувацький інтерфейс: V ст для ан~wі1
технічни.н тек
введення тексту: Користувач вводить
-Чере 3 . р ''J,YJ!t, \'l l П I
1нтерфейс систем». відображ,1 ·
, n1tnедення результатів: Інтерфейс t ІJН ~11і ~, , р ,,1'. р І І і
і снн·п
син• . . внзначен
lаt<сичноrо аналізу, таю як
оІ
ЧДТУ.232217.022 ПЗ -
_ rокенізація: Розбиття введеного тексту н
. а токени (
слова, символи)
для подальшого анал1зу.
лематизація: Визначення базових форм слів
для одностайного
подання інформації.
3 синтаксичний аналізатор:
_ визначення структур: Використання синтаксичних
правил для
визначення структур та відносин між словами у тексті.
дерево синтаксичного аналізу: Побудова дерева для візуалізації
ієрархії синтаксичних структур.
4 Модуль виведення результатів:
- подання результатів: Виведення визначених синтаксичних структур
та інших аналітичних даних користувачеві.
- помилки та рекомендації: Повідомлення про виявлені помилки та
можливі рекомендації для поліпшення тексту.
5 Модуль .керування:
- . роботи модушв, обробка
керування процесом: Координац1я
виконанням синтаксичного
запитань користувача та керування
аналізу. . V
Така с . ивно аналізувати техючнии
re~ труктурна схема дозволяє систем~ ефект . зумілу
ст, ВіізІІа ати користувачев1 зра
~~ чати синтаксичні структури та надав . наявність
Р11tаці10 n о тексту. Кр1м тоr 0 '
~ду~ Ро синтаксичну структуру введеноr ватися до нови,
liasчa атною адаnту
t~~ta RRя робить систему гнучкою та зд
~CJ:llfl{Ji}{
І<ОRструкцій [32].
ЧДТУ.232217.022 ПЗ
опис логічної схеми системи
4. І .3
Логічна схема системи - це графічне представлення структури та
~язків ключових компонентів або модулів системи
118~1озв , яке не враховує
іJІІЧНі деталі реалізації. Це відображення функціональної архітектури системи,
ке покликане передати внутрішній логічний порядок роботи програми чи
истеми.
Логічна схема вказує на те, як різні елементи системи взаємодіють між
ооою, представляючи основні аспекти їх функціональності та логічні потоки
• · Це може бути використано для зрозуміння основної логіки системи, без
~ахування технічних деталей.
Основні елементи . ..
ЛОГІЧНОІ схеми можуть включати блоки (які
~дставляють різні функціональні частини системи), зв'язки (які показують
ютuки даних чи контролю м1ж блоками), та анотації, що пояснюють роботу
D:+їн ого елемента.
Лог· . значення загального
rчнr схеми є ефективним інструментом для ви
¼кціоІІал поміжний інструмент У
ьного опису системи і використовуються як до
ОЗробці n ізі та інших галузях
Роrрамного забезпечення, системному анал '
1%е~ер· ..
І!,
Логічlіа ня експертної системи
1~1'а схема системи програмного забезпечен . ключати
~c11qlioro . • V мов~ може в
it-ryn,i' анал1зу технічного тексту на анrлійсьюи
І осІіо:в .
1 ~ ІН компоненти:
одУJІь збору інформації: як~ підлягатимуть
... 8• текстів,
1дn ов~· дає за збір вхідних техн 1· чних
CJ.:11-1 . ,
... таксичному аналізу. о модул~о ана1нзу.
3дій тових даних д
i ~ сн~оє передачу отриманих текс
. ОдуJІ
ь a11aJJiзy :
&J.:11<0
Ристовує алгоритми
1ех1-1 і
'іних текстів.
n~зьа . и речень
'іає синта1<сичю структур
l'ра~ат • . .. мовІ'І,
ІіЧц1 правила анrтйсько~
ЧДТУ.232217.022 ПЗ
уnравління:
3 ~одуль
керує взаємодією між різними компонентами системи.
ідnовідає за виклик і координацію роботи модуля ан .
~ в ашзу та збору
інформацн.
Модуль виводу результатів:
4
_ передає результати синтаксичного аналізу для подальшого
використання або відображення.
_ може включати виведення синтаксичних дерев або структур для
легшого сприйняття користувачем.
Ця логічна схема показує взаємодію ключових компоненпв системи
tіtІІертного синтаксичного аналізу для обробки технічних текстів на англійській
~\Ві.
~-~u-)6Ji-.:J'l4
~
м ~
, 8CK>J18fU'дl
( Qtf"U_,.qio,=t'
~Wl'irf'?.,~
р 4.3 - . .. ми системи
исунок Опис лог1чно1 схе
ЧДТУ.232217.022 ПЗ
х _ забезпечити ефективний та стр
баз даІІй уктурований спосіб .
еfВ орган1зації
1 отримання доступу до великої кількос • . ф '
оеріrаІІНЯ ra ТІ 1Н ормації.
Jii компоненти баз даних включають.
ocnoB ·
ані. Це фактична інформація, яку ви хочете зб .
- д ерегти в баз1 даних.
вони можуть бути представлені у різних форм
атах, таких ЯІ< текст
числа, зображення або звуки. '
_ таблиці. Дані в базі даних організовані у вигляді таблиць. Таблиці
складаються з рядків і стовпців. Кожен рядок таблиці представляє
запис, а кожен стовпець представляє атрибут або поле даних.
_ запити. Запити використовуються для взаємодії з базою даних. Вони
можуть включати операції вибору, вставки, оновлення та видалення
даних.
- форми. Форми використовуються для введення та відображення даних.
Вони забезпечують інтерфейс між користувачем і базою даних.
- звіти. Звіти використовуються для представлення даних У зручному для
розуміння форматі. Вони можуть включати графіки, таблиці, текст
тощо,
- . . . І •
них таблицях пов язаш
в~дносини. Відносини визначають, як даю У р~з
. ., ублювання даних та
Мl)к собою. Це важливо для уникнення заивоrо д
підтримки цілісності. .
- . як
ють мови запит~в, таю -
Мова запитів. Багато баз даних використову ...
S яє виконувати операцн
QL (Structured Query Language), яка дозвол
базоІОданих
С • забезnе't~t1ня, яке
Іісtем БД)· Це програмне
~Оз~~ а Управління базою даних (СУ · ПрнК11ад '1мн
"V1iJІe . базою даних.
І\, СtворІО мод1яти з
"1Єh вати, управляти та взає . .
~ е М S Oracle та iнUJt.
t- у QL, PostgreSQL Microsoft SQL Server, х клю'ІаІО'іН
{)аз ' областя ' 8
6· Іі да1-1 в багатьох
13~ес их Іllироко використовуються ф .,,..и ноrо
) 8
ОсьQ· ity ... • ДЛЯ е е"•
та інuІІ,
' І-Іауку, інформаційні технолоrн 65
◄
ЧДТУ.232217.022 ПЗ
беріrання великої кількості інформації ilfnя та з .
i~ 10 магістерської роботи не було необхідн . _ _
за тем0 .. . ост1 розробляти базу
що обробка текстово1 шформації передбач
."11'l тоМ)' ає лише тимчасове
jj11'""' • •
невеликої кшькосп даних, то використання бази _
~ ~є~
• 1 у деяких випадках для обробки тексту вистачає роботи пам' .
J.1ВІІІІ!еІІИІУ1• 3 , Я'ГГЮ та
~овою системою без використання повноцінної бази даних ·
4.1.5 Розробка інтерфейсу користувача
Для роботи з системою користувачу необхідно запустити файл 1234s.exe і
шсляцього відкриється головне вікно (рис. 4.4).
о х
Кваліфікаційна робота
магістра Погорілого А.В.
Введіть фра3у
~~іть фра3у Виберіть фаМ j
-.. Виправити фраJу
~правлена фраза Випра1ИІи фаМ J
-
Рисунок 4.4 - І не ві~но
oJLO[J
ЧДТУ.232217.022 ПЗ
1 --f- -tk - -----
о х
Кв~ліфікацій на робота
маг1 стра Погоріло го А. В .
Ве~іть фразу
[неІ~-~s;;-- ·-·
Виберіть файл
Виnравит~, фра3у
-
[неІІо user
Виnра 1нrrи файл
В ідкрити аиnрамений фаr~л ,
Рисунок 4.5 -Вікно з виправленою фразою
Також система дозволяє виправити текст який знаходиться у файлі 1
створити новий файл з виправленим текстом.
Для цього необхідно створити текстовий файл з текстом і натиснути
кнопку «Вибрати файл». В вікні яке відкрилось вибрати цей файл (рис.4.6) . Файл
повинен бути розширення txt.
- о х
КUІІіфіас,,u,ійн, робо,•
.,.,,terp, Пoropilloro А.В.
Bar.,in. фр.а1у
І Hdo -uн,-r --· ··- ----
Виnринтм фрщ
щ,,рнrн ,мnр ........ ф,о\л І rбср;,ь ,с,ю о, .. , ф,,,.
~ -1" .., 1" ::_ ,t А•'" -· • Чие10 .•. р
Organi:c • Ntwfoldt1
№me
б) ttst 0 з. 1,2 ~ 19.~
:І
Lfj
і
(!J
!!j
d\
[ 3 f~1І11ts
Att.n•mt: - ------------
- [ o,,n C,nccl
р 4 .6 - Вікно для вибору файлу
исунок
І-Іаnриклад файл буде містити таке нап овнення (Рисунок 4. 7).
67
ЧДТУ .2322 1 7 . 022 ПЗ
r ·1 ,.,,
І - а х
І fllt frtil VII'"
І ~• Іа u~orrl
ln 1 , СоІ11
100% V/ lndows (Crtlrl UТF-8
Рисунок 4. 7 - Наповнення початкового файлу
Після вибору файлу необхідно натиснути кнопку «Виправити файл». Текст
з цього файлу буде виправлений і створиться новий файл, назва якогог буде
такаж сама як і назва в попередньому файлі, тільки додане слово «виправлений».
Після цього натиснути кнопку «Відкрити файл» і відкриється вікно для з
виправленим текстом.
, " о х
К.UІіфіr"цjІ1н1 ро6о,,
w1ricrp1 - о х
По,орімrо д.8. г;-~ :. .. _,мnра,л,.,,
81ці1• фр1sу
~ьц,..; ;~ фр•..1,-·- - tesІ .ьt І File Edit View 0
8мnрм.мrм ♦P•JY І hello use r-
,Туt 6jд1. ,~идt:~ -Ф-Р•,!,j
1" І. 1,,J/
р 4 .8 - І-Іа1·1овнення аипр,\вленоrо фа~; лу
исунок
68
►
Ч У.2 2217.022 П -
4,1 .6 оnи Р Р
р лян м н ний np и:
fr 111 tkint r imp rt *
frol11 tkinter import filedialog
import requests
import re
import webbrowser
from pathlib import Path
root = Tk()
bl = False
data = "
flnl ="
_k ey = 'XGuTVOuuDXb0eZpu'
def on_ entry_ focus _ in(e vent) :
if e.get() == placeholder_text:
e.delete(0, END)
e.configure( fg="black")
def on_e ntry_ focus _ out(e vent):
if e.get() == "":
e.insert(0, placeholder_text)
e.configure(f g=" gray")
defBtnClickl():
myLbl = Label(root, text=e.get())
_params = {'text' : re.sub(r'[лa- -Z\ .]' ''"
Qь, ,k
Q , y' :_k у}
х == r qu t .g t('http :// pi .t
e2.d 1 t (О , 1 n( 2.g t()))
6
ЧДТУ.232217.022 ПЗ
e2.insert(0, x.text[ 40:(len(x.text) .. з )])
def BtnClick2():
global data
global flnl
flnl = filedialog.askopenfiilename('ш 1't ·1 а ld'1 r="/" ; t1't l е--"В и 6-ер1•т ь те:кстовіJШ
файл", filetypes=(("Text files", "* .txt"),("all files", "*О.*")))
with open(flnl, 'r', encoding='utf-S' , е rrors_-,.1 gnore ') as file:
data = file.read()
data = data.replace('\n', ' ')
data = re.sub(r'[лa-zA-Z\s,.]', ", data)
myBtn2.config(text=Path(flnl).name)
bl=True
defBtnClickЗ():
global data
global flnl
_params = {'text': data,'language': 'en-GB','key': _key}
х = requests.get('https://api.textgears.com/coпect', params= _params)
newFile = open(flnl [:-4]+'_Виправлене'+'.tхt', 'w')
newFile.write(x.text[40:(len(x.text)-3)])
newFile.close()
defBtnClick4():
global flnl
if flnl != ":
[ 4]+' виправлене'+'.tхt')
webbrowser.open(flnl :- -
tехt='Вилравити фраз'
myBtnJ В utton( root,
со111 111and==BtnCHck 1)
70
ЧДТУ.232217.022 ПЗ
111yBtn2 == Button(root, bg--"whІ' tе "' tехt=='Вибер1'ть файл', раdх==З 7,
co1-1Jm.J.•a• nd==BtnClick2)
myBtnЗ Button(root, text=='B иправити файл', padx=32,
command==BtnClickЗ)
myBtn4 - Button(root, tехt='Відкрити виправлений файл'
'
command==BtnClick4)
placeholder_ tехt="Введіть фразу"
е = Entry(root, fg="gray", width=27)
e.insert(0, placeholder_text)
e.bind("<Focusln>", on_ entry_ focus _in)
e.bind("<FocusOut>", on_entry_focus_out)
е2 = Entry(root, width=27)
e2.insert(0, "Тут буде виправлена фраза")
Label(root, tехt="Введіть фpaзy").grid(row= 1, column=0)
Label(root, tехt="Кваліфікаційна робота\n магістра Погорілого А.В.
").grid(row=O, columnspan=2)
myBtnl .grid(row=З, column=0, padx=S0)
myBtn2.grid(row=2, column=l, padx=S0)
myBtnЗ .grid(row=4, column= 1)
Label(root).grid(row=S, column=l)
myBtn4 .grid(row=6, column= 1)
e.grid(row = 2, column = О)
e2.grid(row = 4, column = О)
root.mainloop()
11_ • ограмування Python з аикори тання
ч.>t програма написана на мов~ пр
бібпіо . , вна мета про r·рами - внкористов ва 1
Те1< tk1nter, requests та pathl1b. 0 сно
АРІ д мовного тексту ,
JІя автоматичного виправлення англо
71
ЧДТУ.232217.022 ПЗ
основні елементи програми:
Tkinter GUI (графічний інтерфейс користувача) :
Вікно програми створюється за допомогою бібліотеки tkinter.
є різні елементи інтерфейсу, такі як мітка (Label), кнопки (Вutton ,
текстові поля (Entry), тощо.
Функції:
BtnClickl: Викликається при натисканні кнопки "Виправити фразу" .
Відправляє введену фразу до АРІ для корекції та виводить виправлену фразу.
BtnClick2: Викликається при натисканні кнопки "Вибрати файл" .
Відкриває діалогове вікно для вибору текстового файлу.
BtnClickЗ: Викликається при натисканні кнопки "Виправити файл" .
Відправляє зміст вибраного файлу до АРІ та зберігає виправлений текст у
новому файлі.
Entry та зображення тексту:
Введення фрази здійснюється за допомогою текстового поля Entry.
Результат виправлення виводиться у другому текстовому полі Entry.
АРІ-запит:
Використовується АРІ від TextGears для корекції тексту.
з 'бліотеки requests.
апит виконується за допомогою б1
Попереднє встановлення значень:
з доступу до АРІ .
азначений ключ key вказується для
з - екстовоrо поля. Entry
азначаt.-ться початковий текст для т
Обробаtикн 11одій:
t futu.s uut с11 ' t
Фун1<ції on_entry_focu _in тu on_tn ry_ - _ ,·
&JiгJJ . "щ, у \ш й1..)1 · i ~Р~ н q
яду текстовоrо поля при фol(ycyiшtttH tt
Зберіга1111я ре1у J1ьл1тів:
ЧДТУ.232217.022 ПЗ
результати зберігаються у новому текстовом V • •
у фаил1 з1 схожою назвою
даванням "_Виправлене". '
8,JІЄЗ до
-~ тrа програма взаємодіє з інтерфейсом корист . .. . . . . .
цл. увача та зовшшшм АРІ для
' влення фраз або тексту зазначеної мови
.
4.2 тестування системи
4.2.1 Модульне тестування
Після аналізу існуючих методів тестування були вибрані такі підходи, як
функціональне тестування, випадкове тестування та структурне тестування. Ці
методи відносяться до категорії "чорний ящик" за традиційною класифікацією.
Вони використовуються для перевірки зовнішніх та внутрішніх функцій системи
та rрунтуються на припущенні про наявність використовуваної специфікації як
еталону. Ці методи розрізняються своїми підходами до вибору даних з множини
входів функцій.
Функціональне тестування спрямоване на перевірку відповідності
програми її специфікаціям. Під час цього підходу текст програми залишається
недоступним, і програма розглядається як "чорний ящик". Основними видами
ФУнкц1·он адкового тестування, еквівалентної
ального тестування є методи вип
Розбивки та аналізу граничних умов [33].
Було розроблено тести для програмного забезпечення:
- перевірка внесення тексту;
- перевірка завантаження файлу;
итуації при неправильно введе ,1 , •
- Перевірка обробки виняткової с
даних·
'
- помилка в логіці функціонування системи;
8ідnк оректність виведення. . . принципів тестування пр грами •ro
Заt5 оnщно до обраних метод1в та я.,."" nредстt1.вJ1ено у вигляді
езnе1ІеІі я системи, ""'
}~~ Іія було проведено тестуванн
"VJllf1(1 (Таблиця 4.1 ). Таблиця 4.1
73
ЧДТУ.232217.022 ПЗ
Рівні тестування
тестування Призначення
vрізе:ІІЬ; ;; окремих елементів
тесrУва ~еревірка результатів роботи окремих методів
1 функцій системи.
~йнетестування Орієнтоване на перевірку зв' язків і взаємодії
компонентів системи
t--- . ...
виняткоВl ситуацн Перевірка правильності обробки виняткових
ситуацій, ЯКІ можуть виникнути в процесі
роботи системи.
Загальне тестування системи Перевірка правильності функціонування
системи, пошук 1 виявлення дефектів у
системи і їх усунення.
Тестування модуля виведення інформації показало придатність системи до
її використання на реальних об'єктах. Отримані результати при роботі з
програмним комплексом відповідають параметрам, що були поставлею у
технічному завданні.
Unit testing _ один з обов'язкових інструментів в арсенал~ будь-якого
Розробника ПЗ.
Модульне - метод , в якому програмне забезпечення
тестування це
Розбивається на невеликі модулі, такі як процедури або функції, і тестується
1ХІіій ф . . на етапі розробки. Пр ц
Ункщоналність незалежно один вщ одноr0 ·
t.~одул · оду ААА (Аtт n t.
ьного тестування можна описати за допомогою шдх ·
A.ssert), Що включає ініціалізацію фрагмента програми,
·r
ес1Уванн я та спостереження за повед1· нкою ~ одул я · .
Модул . и ,·о · ті які враховуtо'FЬ . т1:н1) i т1, ю
ьн1 тести бувають двох O д · '
~Pa>toвylQ . .. н а друге ~ викорнстані м тоди.
~ l'Ь взаємодію. Перше вщстежує с н1 ,
O!ilf . . , . МИ і вони:
зас10 спект1в програ ,
совуються для перев1рки р1зних а
74
ЧДТУ.232217.022 ПЗ
_ працюють навіть при наявності помилок у системі;
_ повідомляють історію поведінкових аспектів програми;
_ призначені для багаторазового використання та легко підтримуються.
Модульне тестування може бути ручним або автоматизованим.
Автоматизація цих тестів - це хороша практика, яка приносить численні
переваги, включаючи раннє виявлення дефектів, зручність у розробці та
можливість використання їх у нових проектах [34].
Для проведення модульного тестування програми було використано
бібліотеки JUnit JUnit.org та TestNG testNG.org
Було проведено наступне модульне тестування:
1 Внесення валідного тексту. - Passed
2 Підвантаження файлу. - Passed
З Обробка тексту . - Passed
4 Перегляд файлу. - Passed
4.2.2 Інтерграційне тестування
Інтеграційне тестування - це процес, в якому програмю модую
з'єдн'VІА Зазвичай програмний продукт
J •vТЬся та тестуються як єдина система.
СІ<JІада . ся різними програмістами .
ється з кількох модулів, яю розро 6л яють
Го.11088 влення помилок у взаємодії між
010 метою інтеграційного тестування є вия
ІU!м11 м . між ними. Цей процес так ж
одулями та перевірка обмшу даними .
~азива~о ) "тестування рядків" і ін ,.. І
"· ть "І&Т" (інтеграція та тестування '
rec·ry
ваиня потоків" .
Навіть . програмний модуль пройшов
тес п1сля того як кожен щ
"1•у1~ання ' . . різних прн\1нн. Oдttt\ ·J ·t· кн: пр t i ~
Pi:!11j . ' можуть залишатися дефек1и з . . Ту·1· t1 · 1ж;tщ .н t _•т~1 •
ІlЩх . ізних фt\Х І kЩІВ ,
і111, оди та логіка 11рограму13аннн Р . _
e1'PaЦjfi._. ЄМО"ії М\.дуніtІ МІЖ vO НЩ).
,, •'1е тестуь,, ання дл-я пе ре1)ірки оза ' .. \ . н~ tt~1.•щ'щ(Уt·ь пр "•н•~1
у n1111 • обки модунн, нк1
"1о4у адку змін вимог пад час розр . , • ~ін сн •т мн to11
Jt~lie ~~ ~Іt\С , 1t1't·e1 pat
тестування через обмежениn
7
ЧДТУ.232217.022 ПЗ -
ся. Інтеграційне тестування відрізняється ...
ад!іиrи тим, що иому надається
,с~JІ . ф .....
) ·opurer ІІа увага до штер еисш та потоків даних між м и'"'
одулями. ого основна
nрІ . . ..., ' .
_ І1еревірка штеграцшних зв язюв, не обмежуюч .
а ись перев1ркою вже
~1er .....
ваних функщи.
nР°тесто
Інтеграційне тестування спрямоване на перевірку взаємозв'язків МІЖ
І1онен:тами та їх взаємодії з різними частинами системи такими як
~ '
оnераційна система, апаратне забезпечення та взаємодія з іншими системами.
Рівні інтеграційного тестування включають:
Інтеграція компонентів: Тестування взаємодії між компонентами системи
після окремого тестування кожного компонента.
Системна інтеграція (System Integration Testing): Тестування взаємодії між
різними системами після тестування всієї системи.
Підходи до інтеграційного тестування включають:
Знизу вгору (Інтеграція знизу вгору): Починається із збору та тестування
низькорівневих модулів, процедур або функцій, які потім поетапно об'єднуються
для тестування вищих рівнів. Використовується, коли більшість модулів
розробленого рівня вже готові.
Інтеграція зверху вниз: Тестування починається з високорівневих модулів,
доки не включаться вс1 компоненти, використовуючи заглушки для
низькорівневих модушв, яю замінюються реальними компонентами по м1р1
готовності.
Big Bang (Інтеграція "Big Bang"): Всі або майже всі розроблені модуш
об'єд НУІОться як цілісна система або її основна частина, і після цього
проводи . . ....
ться штеграцшне тестування. Цей підхід економічно ефективний, але
І.fоже
Ускладнитися без ентування тестових випадюв та
належного докум
Результат·
ІВ,
Було проведено наступне інтеграційне тестування :
1 Вьn есення тексту . I шд. вантаження І айлу - Passed
<>
2 Перевірка тексту і файлу - Passeci
3 Ввесення тексту і перевірка файлу
76
ЧДТУ.232217.022 ПЗ ---
сuсте~н~е тестування
4,2.3
те~те тестування - це тип тестування програмн
сис . . .. ого за6 е зпечення ' яке
ся для перев1рки вс1є1 системи відповідно до і' . ф' . .,
rq,оводить 1 специ 1кац1и та вимог.
и'\ метою системного тестування є перевірка ф . .
oc11oв11oiv ункцюнальност~ та
. аості системи визначеним вимогам які можуть вклю .
відJІОВlдп ' чати як системю,
. ф нкціональні вимоги.
так I У
Основні характеристики системного тестування включають:
1 Повнота тестування: Системне тестування включає в себе тестування
всіх аспектів системи, включаючи її функціональність, продуктивність,
навантаження, безпеку та інші характеристики.
2 Сценарії використання: В рамках системного тестування
розробляються та використовуються різні сценарії використання для
перев1рки, як система взаємодіє з користувачами та вирішує реальні
завдання.
З Інтеграція компонентів: Під час системного тестування перевіряється
взаємодія всіх компонентів системи для переконання, що вони
працюють разом належним чином.
4 Тести на витривашсть: Системне тестування може включати в себе
тести на витривашсть для перевірки, як система поводиться при
тривалому використанні або витривалому навантаженю.
5 Безпека: Проводяться тести на безпеку для виявлення можливи
Уразливостей та заходів безпеки системи.
б Тести на продуктивність: Визначаються характеристи ·..-
n . · ть завантаження та інші.
родуктивності системи, таю як швидюс ,
. Загалом, системне тестування спрямоване на впевнення у t ' щ
''Ро ''Рамн х . . · вимогам та пецнф t' • ц.1
" 11 продукт або система в1дпов1дає вс~м
ІІе1ш
j'І;д nne
денням в експлуатацію.
ьуло проведено наступне системне тесту~ншт~ :
1 Стресове тестування • Poss~d
2 Нагрузочне тестування • Passed
77
l
ЧДТУ.232217 .022 ПЗ -
Кросбраузерне тестування
3 - Passed
4.2.4 Приймальне тестування
ГІриймальне тестування є останнім етапом в процесі перевірки
nрограм:ноrо забезпечення перед його введенням у фактичне використання. Цей
n включає кілька типів тестувань: ета
1 User Acceptance Testing (UAT): Використовується для перевірки, чи
задовольняє продукт потреби та очікування кінцевого користувача.
Специфічні вимоги замовника перевіряються під час цього тестування.
2 Business Acceptance Testing (ВАТ): Спрямоване на визначення того, чи
відповідає продукт бізнес-цілям. Враховується вплив ринкових умов та
новітніх технологій, і може призвести до змін у впровадженні та
бюджеті.
З Contract Acceptance Testing (САТ): Заздалегідь укладений контракт
визначає обов'язок проведення приймального тестування протягом
певного періоду після запуску продукту.
4 Regulations Acceptance Testing (RA Т): Перевіряє, чи відповідає продукт
правилам та нормам, встановленим урядом в країні його випуску.
5 Operational Acceptance Testing (ОАТ): Визначає готовність продукту до
·дновлення, сум1сшсть
експлуатації, включаючи тест и на вl
ремонтопридатність та інші нефункціональні аспекти.
д кі можуть бути проведені пі ля
одатково, існують два типи тестувань, я
nр11й~
ального тестування:
б спеціалізованою :ком~нд ю
Альфа-тестування: Проводиться
. 0 ціню вання продукту· тестувальників для внутр1шнього
7 . ., шляхом залучення ремь.ни · кінцевих
Бета-тестування: Здшснюється .
.. . ки та виправити недошки перед
Користувачів, щоб отримати ІХ вщrу
ІJJироким випуском продукту. ..
Та виконання маrістерсько1 роботи, то
ri " к як система розроблялась для .
Pli11~¾ о10 і пройло усшшно.
ЬІіе тестування було проведено ми
78
ЧДТУ.232217.022 ПЗ
z,3.9.3 Приклади впровадженого програмного комплексу
розглянемо приклад впровадження експертної системи синтаксичного
ана.лізу тексту.
Є технічна компаюя, що спеціалізується на розробці програмного
13безпечення, хоче поліпшити якість технічних документів, які створюють їхні
інженери. Вони вир1шують впровадити експертну систему аналізуя технічного
тексту англійською мовою для автоматизації процесу редагування та корекції
...
документацн.
Розглянемо процесс впровадження.
Компанія визначає, що їхні інженери час від часу допускають граматичні та
1 стилістичні помилки в технічних текстах, що може призвести до непорозумінь та
ускладнень у спілкуванні з клієнтами та іншими командами.
Компанія вирішує створити експертну систему, яка може виявляти
І])аматичні помилки, стилістичні недоліки, а також рекомендувати оптимальш
вирази та терміни в технічних текстах. Функціональність системи повинна
охоплювати аспекти мовної rрамотності, термінології та структури тексту.
Компанія використовує передові методи обробки природної мови для
СТВорення системи аналізу та виправлення текстів. Алгоритми системи
Розnізнаю ... . ежне використання термінів
ть граматичні конструкцн, перев1ряють нал ·
ra3 anpono · илю
новують альтернативи для полшшення ст ·
Снсте... . б ~ роцес інженерів . Вони r ж_ ть
та 1нтеrрується в ро очии п
8ИІ(ор Ііст08 аналізу та внnраВJІ. н,• tлa ~u 'і:
. Увати цю систему для попереднього
1еІ(стіn
nеред публікацією чи відправленням клієнтам. ... ,
Сист х технічни . ·t· к "L'ru ' К\.) ш 111t. ,
40 ема проходить тестування на реальни . .. .
llo~orolO . б · ідні К()р ктнвн .для ою·н ІІ' ц11
·ro~ отриманих результатіо вносяться нео х
Ііос.,_•
11 та щ
видкості роботи системи. .
l1icJJsr . т имуt-·ться та оноw1юЄ1ься
~Pq)( впровадження системи вона Під Р . , .
Уnаь , . у .ехшчному письм1 .
чІ-f.11 }{ інів та C'l ИJ11 8 1
ових граматичних правил, терм
79
Ч У.232217.022 П
льтат~ впровадження експер ної системи, кл1 нти п ії
13 р 3
та щвидко обробляти технічні текстові дані, що прr1_з,,..,,..,.,.
J{'l'iJ3J-10
ефС .я: продуктивності та зниження трудомісткості цього процесу.
nіДеu1деІІІІ
І ЧДТУ.232217 .022 ПЗ
Висновки до четьертого розділу
python IDLE (Integrated Development and Leamin Е •
. g nv1ronment) представляє
об І() стандартне 1нтерактивне середовище для розробки с о мови програмування
python і входить в склад стандартної поставки Python.
Розроблена структурна ( функціональна) схема програмного забезпечення
експертної системи синтаксичного аналізу технічного тексту на англійській мові
яка визначає ключові компоненти та їхню взаємодію у процесі аналізу тексту.
Основні елементи схеми включають користувацький інтерфейс, модуль обробки
тексту, синтаксичний анашзатор, модуль виведення результатів та модуль
керування.
Також розроблена лопчна схема системи, яка визначає графічне
представлення її структури та взаємозв'язків між компонентами без врахування
фізичних деталей реалізації. Вона служить засобом передачі внутрішнього
логічного порядку роботи системи, відображаючи функціональну архітектуру.
Логічна схема концентрується на взаємодії елементів системи та представляє
основні аспекти їх функціональності та логічні потоки даних.
В контексті програмного забезпечення експертної системи синтаксичного
аналізу технічного тексту на англійській мові логічна схема включає модуль
збору інформації, модуль аналізу, модуль управління та модуль виведення
Результатів . К . 1·дає за конкретну функціональність, таку як ожен модуль вщпов
Збір вх.1· дн . иv аналіз , управління взаємодією та вивjд их текспв синтаксични
Результат~· Ця ' м~'ле уявлення про взаємодію компонентів
в. схема надає зрозу
Clfcte~ 11 . . • .. труктури програми.
та допомагає у розум1ню лопчно~ с
Т • ф йс основних вікон прогр и ·щ
а1<ож в главі представлено штер е ·
11Рове . · показують її еффективн
дено р1зні види тестування системи, ЯКІ
81
r
ЧДТУ.232217.022 ПЗ
ЗАГАЛЬНІ ВИСНОВКИ
в кваліфікаційній роботі магістра розглянута н 6 . .
ео хщюсть синтаксичного
. у технічних текстів англійською мовою та в
а~ал1з икористання експертних
с~1стем для цієї мети. В роботі вказано на актуальність проблеми, яка
залищається важливою для вчених як і в інших країнах, так і в Україні.
Також зазначено, що в Європі та США приділяється значна увага розробці
комп'ютерних систем, які здатні розуміти та узагальнювати інформацію з текстів.
. . " .
Проведено анал1з р1зних пщход1в, виявивши, що багато з них базуються на
виділенні окремих речень для створення реферату.
Також висвітлено важливість парсингу в умовах постійно зм1нюючого
Інтернету, де потрібно розміщувати великі обсяги інформації для виділення
серед конкурентів. Система визначається як інструмент для синтаксичного
аналізу технічного тексту англійською мовою, що базується на парсингу.
Далі розглядається синтаксичний аналіз природної мови як важливий етап
обробки природної мови, що є основою для сучасних інтелектуальних додатків.
Зазначається, що у деяких випадках використовуються статистичні або
стохастичні методи замість традиційного синтаксичного аналізу.
Також важливою є частина, де обговорюється експериментальне
дослідження експертної системи синтаксичного анашзу технічного тексту
аlіrлійською мовою, спрямоване на оцінку її ефективності та точності в різних
сценаріях вик В на ключові аспекти експериментів, такі u .
ористання. казано
аlіаліз v 8 структуру даних та подальш .'
б синтаксису тексту, перетворення иого
о Роб1<а ц· ..
~є1 структури.
За v ·дхід до проблеми интак t ,н ,ro
галом, текст подає комплекснии ш
3.ІіаJІізу . альність, викори тання ·· 11 :Е
ti' техн1чних текстів, вказуючи на акту
~дходів . . ки ефективно ·ті н т ми.
та Проведення експериментш для оц~н . .
В . . • UMl дозволя в1зуwнз вати.
с Роботі описано як графічна нотац1я .,
Іtс'l'ечу .•. ' . . собливості. Підкресл н можлив1 ть
i1t ' а 11 специфікації детал~зу~о1 ь O
• і зі
І<РечеІіt . розпо~1инатися як з д1аrрам, та
с11 lioro побудови модел~, яка може
е~lіф'
lІ<ац'1"1 .
82
ЧДТУ.232217.022 ПЗ
Також розглядається використання UМL для моделювання р1зних тишв
систем, від інформаційних систем підприємств до розподілених програм та
систем реального часу. UМL визначається як потужна та зрозуміла мова для
розгляду систем з р1зних точок зору.
Надано конкретний приклад застосування UМL у магістерській роботі, де
створено різні типи діаграм для моделювання експертної системи синтаксичного
аналізу технічного тексту на англійській мові. Описано Python ШLЕ як
інструмент для розробки програми.
Особлива увага приділяється розробці структурної та логічної схем
програми. Логічна схема системи дозволяє візуалізувати внутрішній логічний
порядок роботи системи, що є ключовим для розуміння функціональності та
потоків даних.
У кінці роботи наведені приклади інтерфейсу основних вікон програми та
проведеного тестування системи для підтвердження її ефективності.
83
ЧДТУ.232217.022 ПЗ
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1D: 'J(CJJepтнi системи [Електронний ресурс]· Режим доступу:
https://library.if.ua/book/97 /6671.html
оuтолоrоподібні системи аналізу природномовних текстів/ С.Л. Кривий,
z І-ІЛ· Дарчук, О.І. Провотар [Електронний ресурс]. - Режим
дocтyпy:https://ceur-ws.orgN ol-2139/132-139.pdf
в.о.Грязнова, С.В. Єфіменко. Основи методології програмування. - К.:
вГІL( "Київський університет", 2005 р.
ERGO Linguistic Tecnologies. - [Електронний ресурс). _ Режим доступу:
4
http://WWW.ergo-ling.com.
functional Dependency Grammar. - [Електронний ресурс). -Режим доступу:
http://www.conexor.fi
6 Link Grammar Homepage - [Електронний ресурс) . -Режим доступу:
http://Ьobo.link..cs.cmu.edu/link.
7 Inxight Summarizer - [Електронний ресурс]. -Режим доступу :
http://www.inxight.com.
8 Prosum Summarizer - [Електронний ресурс]. -Режим доступу:
http :// transend. labs. bt. сот/c gi-bin/prosum/prosum.
9 Гирин О.В. Автоматичний синтаксичний аналіз англійської мови:
застосування та перспективи - [Електронний ресурс]/ О.В.Гирин - Режим
доступу: http://nniif.org.ua/File/17govasa.pdf
10 Комп'ютерна лінгвістика - [Електронний ресурс]/ режим доступу:
http:// computernalingvistska.b l ogspot.com
11 Комп'ютерна лінгвістика _ [Електронний ресурс]/ режим доступу:
http://kikref.ru/iref 589382.html
12 Напрямки комп'ютерної лінгвістики/ режим доступу:
https://otherreferats.allbest.ru/programming/00397420 O.html
13 Основні методи обробки природної мови - [Електронний ресурс]/ режим
доступу: http:// studall.info/all2-4085 7 .html
84
ЧДТУ .232217 .022 ПЗ -
floJJ ховсьІ<а М. В. Аналіз англійських м ед1. альних конструкцій з по· п, . . ..
14 " ІМ "'ицн
•~"g ераrивно1 граматики . В . Полховська // Studia Р h1'l о lo g1. ca. - 2-01.3 . -
13» . 2 . - с. 32-36.
J1
flоnховська М. В. Критерії розрізнення ме д~· альних та ергативних
І(О gсrрукцій в англійській мові / М. в • По лховська // НаукоВ1. записки
[І-Іаnіонального університету "Острозька академ~я· "] . С ер. . Ф'l ЛОЛОГІ.Ч На. -
2012.вип. 26.- с. 277-280.
Проблеми компютерної лінгвістики - [Електронний ресурс]/ режим
15
доступу: http://kumlk.kpi.ua/node/844
Avizienis Algirdas On the implementation of N-version programming for
16
software fault tolerance during execution // Proc. ІЕЕЕ СОМРSАС. - Vol. 77.
-2017.-Р.149-155.
17 Baudry Benoit, Monperrus Martin. The multiple facets of software diversity:
Recent developments and beyond // АСМ Computing Surveys (CSUR). -
2015. - Vol. 48, no. 1. - Р. 16.
18 Blei D. М., Jordan М. І. Modeling annotated data // Proceedings of the 26th
Annual Intemational АСМ SIGIR Conference on Research and Development in
Informaion Retrieval. - New York, NY, USA: АСМ, 2003 . -Р. 127-134.
19 Bodrunova S., Koltsov S., Koltsova О., Nikolenko S. І., Shimorina А. Interval
semisupervised LDA: Classifying needles in а haystack // МІСАІ (1) / Ed. 79 Ьу
F. С. Espinoza, А. F. Gelbukh, М. Gonzalez-Mendoza. -Vol. 8265 ofLecture
Notes in Computer Science. - Springer, 2013. - Р. 265-274
20 Bolelli L., Ertekin s., Giles с. L. Торіс and trend detection in text collections
using latent Dirichlet allocation // ECIR. - Vol. 5478 of Lecture Notes in
Computer Science. - Springer, 2009. - Р. 776-780
21 С.-У. Lin. ROUGE: А package for automatic evalнation of sщnп1aries//
Proceedings of ACL Text Summarization Branches Out Workshop. - ~0()4. - Р.
74- 81.
Арщ . • та методів автоматичного реферування
акян Г .Д. «Огляд пщход1в
те,,. . М •али ІІІ всеукраїнської науково-практичної
... сту» 1 Ю.О. Ошйник // атер~
85
ЧДТУ.232217.022 ПЗ
ференції молодих вчених та сtудентів I ф . . ., .
r<OJI • « н ормащию системи та
олоrії управшння» (ІСТУ-2019) _ м К .. . .
,re){JI • юв" НТУУ «КПІ ім. Ігоря
СіJ<Орськоrо», 20-22 листопада 2019 р.
в,zІJцюк Т.К. Анализ, распознавание и интерпрет z3 "' ация звуковьrх сигналов .
J(ueв: Наукова думка, 1987. 264 с.
z4 гороwкіна О. М., Шутова Л. І. Науковий текст·' особли ·
ВОСТ! МОВИ Та СТИЛЮ:
ІІавчально-методичний посібник для аспірантів. Луганськ : Світанок, 2013.
- 138 с.
25 Мова програмування Python// Вікіпедія:
вшьна
eнциклoпeдiя.//URL:https://uk. wikipedia.org/wiki/Python#cite_ note-5
26 Плескач В.Л. Інтелектуальні технології Text Mining//
URL:https://pidruchniki.com/172202064 7790/informatika/intelektualni tehnolo
giyi _t ext_mining
27 Рожанківський Р. Синтаксично-стилістичні риси науково-технічної мови //
Вісник Нац. ун-ту «Львівська політехніка». Серія «Проблеми української
термінології»., 2009. № 648. С. 34-38.
28 Соколенко Д.Г. Система розпізнавання писемних символів за допомогою
нейронної мереж~. Вчені записки Таврійського Національного
Університету Імені В.І. Вернадського. Том 29 (68) №5 2018 частина 2. С. 56
-60.
29 Тріщук М.М. Розробка і дослідження алгоритмів семантичного пошуку
текстових документів для систем автоматизації побудови онтології.
[Електронний ресурс]. Режим доступ :
https://scinse.donntu.edu.ua/sii/trischuk/diss/indexu.htm
зо Створення UМL діаграмм [Електронний ресурс]. - Режим до тупу:
https://app.diagrams.net/
Зі Плескач В.Л. Інтелектуальні технології Text Mining//
т тnт ·ht tps://p1. druchni' k' rn/l 72202064 7790/infoi·matika/intelektualni_ tehnolo
v1'L. 1.со
giyi _ text_m ining
86
ЧДТУ.232217.022 ПЗ
rJ 13а програмування Python// в·1 кш. ед1.я : вшьна
;i O J{J1oneдi.я.// lJRL:https :/ /uk. wikipedia.org/wiki/Python#cite note-5
eJlt.\JI -
1есfУ6аfІJІЯ програмного забезпечення: [Електрон. ресурс]. 1 Режим
j! ftOCryny:ht!P :/ /mood\e.chdu.e~u. ua/ course/view. php ?id= 1021
Laplante, Phil (2009). Reqшrements Engineering for Software and Systems
,4 lst) Redmond, WA: CRC Press. ISBN 1-42006-467-3
(вJ-ід· . .
j\JldreW Stellman and Jennifer Greene (2005). Applied Software Project
,s мanagement. Cambridge, МА: O'Reilly Media. ISBN О-596-00948-8 .
вrian вerenbach, Daniel Paulish, Juergen Katzmeier, Amold Rudorfer (2009).
J6 Software & Systems Requirements Engineering: In Practice. New York:
McGraw-Hill Professional. ISBN 0-07-1605479.
87
ДОДАТОК А
ЗАС, професор
луб С.В.
"-- ------2023 р .
Програмне забезпечення експертної системи синтаксичного аналізу
технічного тексту з англійської мови
Специфікація
482.ЧДТУ 222217.01
Листів 2
Погорілий А.В .
Розробник Первунінський С.М ..
Керівник
2023
ЧДТУ.232217.О І
начення
JJoЗ Наіtменування
Прнміт а
У 2з2217 .022-34 о І Інструкція користувача -
r,qµт 2217.0 22.90 о 1 Презентація
~ І
І
І
І
І
І
~
V---
І
-
І
'
- І
-
І
І
І
І
І
І
І
І
- І
r
r
І
- 11
І
ДОДАТОК Б
Програмне забезпечення експертної системи синтаксичного аналізу
технічного тексту з англійської мови
Інструкція користувачев1
482.ЧДТУ 222217-34 01
Листів4
Погорілий А.В .
Розробник
2023
482.ЧДТУ 232217.022-34 01
1234s.exe і nісля цього відкриється rono ...
вне вншо (Рисунок Б. 1 ). 2
/ tk
о
Кв~ліфіІ(аційна робота х
мапстра Погорілого А.В,
Введіть фра3у
Ів-;~тт:-фр,Н)'- -----
Виберіть файл
Виправити фра3у J
rтут буде а~1правлена фра;;-
Виправити; фа~
Відкрити 11иnравлений файл /
Рисунок Б. І - Головне вікно
Розмір в1кна можна збільшувати, зменьшувати або звернути за
бажанням користувача.
В полі «Ввведіть фразу» необхідно внести фразу або слово і натиснути
кнопку «Виправити фразу». В полі нижче зявиться виправлена фраза.
І tk о х
-·
Кваліфікаційна робота
магістра Погорілого А.В.
Введіть фра3у
/НеІо В►tберіть фаt~л
userr
Виправити фра3у
г--
ІНеІІо user
Відкр►ПІt 111nра1лен11й фа1ї11
Рисунок Б .2 Вікно з виправленою фразою
-
ти текст який зна: ' . НТЬ .'Я ' Q
Також система дозволяє виправи
с1•80 . м текстом.
Рити новий файл з оилраонени
4
2 2217.022~
ля ць н но с ворити екстовий ф ...
v аил ексто ·
,uonк «Вибрати фаил». В вікні яке в· І i І
к щкрилось вибрати цей ...
файл повинен бути розширення txt. фаил (рис.
к..,,,,..,., .., ро6о,.
"'f1<1'P•Пor-«oA8
с р
••
е-
. ......
~ ,. . .,
Рисунок Б.З - Вікно для вибору файлу
Наприклад файл буде містити таке наповнення (Рисунок Б.4).
о
• +
'"'
File Edit View
ht:lo u,e,-rf
482.ЧДТУ 232217.022-34 01
4
fJicJIЯ вибору файлу необхідно натиснути кнопt<у «Виправити файл» .
цього файлу буде виправлений і створиться новий файл, назва якогог
feI{C'f З •
каж сама як 1 назва в попередньому файлі, тільки додане слово
буде та
равлений» • <<ВИІ1
Після цього натиснути кнопку «Відкрити файл» і відкриється вікно для
з виnравленим текстом.
о х
х +
0
100% ~Vtntlows tCP.LFI
Lr11, Col 1
Б 5 - Наповнення виправленого файлу
Рисунок •
додлтокв
Програмне забезпечення експертної системи синтаксичного аналізу
технічного тексту з англійської мови
Презентація
482.ЧДТУ 222217-90 01
Листів З
Погорілий А.В.
Розробник
2023
482.ЧДТУ 232217.022-90 01
2
. Програмне забезпечення
експертно. ї систем' и синта' к сичного
анашзу те_:нічного тексту з
англ1иської мови
. · · Вико11ав: Погорілий А
к .в .
. _ерш11ик: д.т.11., проф.; Перву11і11ський С.М.
;
',
і
Рисунок В.1- Слайд представлення
• Об'єкт дослід~еніІя: ·процес об'єкrн~-орієнтованого
проектування_ програмних систем.
• Предмет дослідження: теоретичні, формальні методи
та відповідні засоби побудови методики проектування
· псрионгтаркасминчонгоог зоа абнеазлпіезчуе тненхян -іінчфнооргмоа тцеікйснтоуї з англійської
мови.
• Методи досліджень:
• синтаксичний аналіз;·
• токенізація.
• Наукова новизна отриманих р~зультатів
удосконалено метод об' єкrно-ор~єнтованого
проектування експертних систем за рахун~к .
використап11я удосконаленого мето)\~ вир1!'1ення задач, .
синтаксичного аналізу тексту з а~гюисько1 мови на еташ
моделювання предметної област1
Рисунок в .2 - слайд nредставл НШl
482.ЧДТУ 232217.022-90 01
з
Задачі дослідження:
• Дослідження предметної області .
• . Огляд існуючих досліджень.
• Розробка алгоритмів для синтаксичного аналізу
текстових даних. .
• Розробка програмного забезпечення синтаксичного
аналізу технічного тексту з англійської мови . .
• UML моделювання процесів.
• Розробка інтерфейсу для взаємодії з системою та
відображ.ення результатів аналізу.
• Тестування та . оптимізація експертної системи _для
досягнення високої точності та продуктивносп.
Рисунок В.З - Слайд Задачі дослідження
Токенізаці~І
l l l l l
--6хід/іідані r Тех!
і і і і і
С1tНТ8КСІNНИЙ анат
. роблювальної системи
Основніскладов1роз
, дuдові розробJІЮ8UJ1ЬtІО\' СІJСТе І J,
Рисунок В.4 - Слайд Ос11ов11і tK
J
■
482-чдТУ 232217.022-90 01
4
~ ~~
• ~ ··-.., .,. ____ ,,,,,.:v
... .. ·
...7 / ,,,__.
.vw· тсу
о
-л--
Діаграм.а прецедентів
·-- ------------- -· -------------
Рисунок В.5 - Слайд Діаграма прецедентів
Usertnterfac•
Synt1xAnelyzer
~•xlcaІAnalyztr
тoxtAnalyzor - ---- ----
TormCІ1111Ror
Діаrр_ама класів
Рисунок В.б _ слайд Дi11rpi,мi, кш1сів
482.ЧДТУ 232217.022-90 01
5
Опис інтерфейсу системи
, tk
о х
Квгліфікгційн, робот,
м11гістр• Погорілого А.В .
ВвІ!Діть фрщ
~~~-фр~зу ·-----
_ В~беріт~ файл
Виправити фра3у /
j Тут буде ви"",,~~
Вwсрити гиnр•мени1і файл І
Головне вікно
Рисунок В. 7 - Слайд Головне вікно
Опис інтерфейсу системи.
о х
Квміфікаційн, робот,
магістр• Погорілого А.В .
В1rдітьфрщ
/Не/о userr В11беріть фаі~л
Виnраемти фрщ
/НеІІо user В11пршт1 файл
ВіАкрити 111nрааленщі фа1іл
ВікІІО 3 ннпраолс11010 фразою
Рисунок В.В _ Слайд J)ік110 :t 011111щвJ1е11ою фразою