Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6390
Title: Дослідження методів розпізнавання текстової інформації з зображень для інтернет-магазину
Authors: Чичужко Марина Володимирівна
Маленко Дар'я Сергіївна
Issue Date: Jan-2024
Abstract: В кваліфікаційній роботі магістра визначено актуальність та обґрунтовано доцільність дослідження інтелектуальних методів розпізнавання текстової інформації з зображень для інтернет-магазину. В кваліфікаційній роботі магістра В кваліфікаційній роботі магістра проведено дослідження інтелектуальних методів розпізнавання текстової інформації з зображень для інтернет-магазину для подальшого їх удосконалення. Було проведено аналіз існуючих систем та методів розпізнавання текстової інформації з зображень для інтернет-магазину; розроблено модель розпізнавання текстової інформації з зображень для інтернет-магазину на підставіві штучних нейроних мереж, яка на відмінну від існуючих є повнозв’язною, що дозволило підвищити ймовірність розпізнавання до 90%; удосконалено метод навчання запропонованої моделі розпізнавання текстової інформації з зображень для інтернет-магазину на підставі штучних нейроних мереж, який підвищує точність розпізнавання; запропонувано систему розпізнавання текстової інформації з зображень для інтернет-магазину.
URI: https://er.chdtu.edu.ua/handle/ChSTU/6390
Appears in Collections:123 Комп’ютерна інженерія (Спеціалізовані комп’ютерні системи)

Files in This Item:
File Description SizeFormat 
М_123_2023_Маленко.pdf
  Restricted Access
2.46 MBAdobe PDFView/Open Request a copy


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

Extracted text
2 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ 
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ 
СИСТЕМ 
 
 
 
 
 
 
 
 
Пояснювальна записка 
до кваліфікаційної роботи 
освітнього ступеню «магістр» 
 
на тему:          Дослідження методів розпізнавання текстової інформації 
                                   з зображень для інтернет-магазину 
 
 
 
 
 
 
Виконав:    здобувач вищої освіти 2 курсу, 
              групи МСКС-2207 
спеціальності 123 Комп’ютерна 
інженерія, освітня програма 
«Спеціалізовані комп’ютерні системи» 
             Дар’я МАЛЕНКО 
  
(ім’я, ПРІЗВИЩЕ) 
 
Керівник               Марина ЧИЧУЖКО  
( ім’я, ПРІЗВИЩЕ)   
 
Рецензент  Людмила ПОНОМАР  
( ім’я, ПРІЗВИЩЕ)
     
 
 
 
Черкаси 2023 року 
  
3 
ЗМІСТ 
СПИСОК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ ..................................... 4 
ВСТУП ..................................................................................................................... 5 
РОЗДІЛ 1 ОСНОВНІ ПОНЯТТЯ ТА ХАРАКТЕРИСТИКА СИСТЕМ 
РОЗПІЗНАВАННЯ ТЕКСТОВОЇ ІНФОРМАЦІЇ ............................................... 10 
1.1 Визначення та основні поняття штучного інтелекту та нейромережі ... 10 
1.2 Актуальність задачі інтелектуальних систем ........................................... 21 
1.3 Огляд систем розпізнавання текстової інформації .................................. 34 
1.4 Поняття інтернет магазину та історія їх розвитку в Україні .................. 43 
РОЗДІЛ 2 АНАЛІЗ МЕТОДІВ РОЗПІЗНАВАННЯ ТА ПЛАТФОРМ 
ІНТЕРНЕТ МАГАЗИНІВ ..................................................................................... 51 
2.1 Дослідженння методів інтелектуального розпізнавання та 
їх порівняння ...................................................................................................... 51 
2.2 Модель розпізнавання текстової інформації з зображень для інтернет-
магазину на підставі штучних нейроних мереж ............................................. 63 
2.3 Аналіз та порівняння готових платформ для Інтернет магазину ........... 73 
2.4 Загальна характеристика та огляд можливостей платформи Magento... 85 
РОЗДІЛ 3 ДОСЛІДЖЕННЯ НЕОБХІДНИХ ІНСТРУМЕНТІВ ТА 
ПРОЕКТУВАННЯ МОДУЛЯ РОЗПІЗНАВАННЯ ............................................ 93 
3.1 Вибір технічних засобів для розробки системи ....................................... 93 
3.2 Розгляд варіантів для реалізації розпізнавання тексту у інтернет магазині
 ............................................................................................................................ 102 
ВИСНОВКИ ......................................................................................................... 109 
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ .................................................... 111 
ДОДА ТКИ .................................................... Помилка! Закладку не визначено. 
  
4 
СПИСОК СКОРОЧЕНЬ ТА УМОВНИХ ПОЗНАЧЕНЬ 
 
ВНЗ  — Вищий навчальний заклад 
ІТ  — Інформаційні технології 
ШІ  — Штучний інтелект 
ШНМ — Штучна нейронна мережа 
ЕО  — Еволюційні обчислення 
ОС  — Операційна система 
ОСРЧ — Операційна система реального часу 
ПК  — Персональний комп’ютер 
НМ  — Нейронна мережа 
ІНМ  — Інтелектуальна нейронна мережа 
API  — Application Programming Interface 
IDE  — Integrated Development Environment 
OCR  — Optical Character Recognition 
CMS  — Content Management System 
SEO  — Search Engine Optimization 
POS  — Point of Sale 
  
5 
ВСТУП 
В сучасному високорозвиненому програмному середовищі велика увага 
приділяється дослідженням та розробці людино-машинних інтерфейсів, 
систем прийняття рішень та автоматичного контролю на виробництві. Ці 
розробки базуються на використанні технологій розпізнавання і візуалізації 
мультимедійної інформації.  
Останнім часом відзначається зростанням значення розпізнавання 
образів, яке знаходить широке застосування. Розпізнавання мови, 
друкарського і рукописного тексту, а також різних зображень істотно спрощує 
взаємодію людини з комп'ютером і створює передумови для впровадження 
різноманітних систем штучного інтелекту. 
Здатність сприймання зовнішнього світу у формі образів надає 
можливість вивчати властивості нескінченної кількості об'єктів з високою 
ймовірністю, ознайомлюючись з обмеженою кількістю з них. Об'єктивний 
характер основної властивості образів дозволяє моделювати процес їх 
розпізнавання. 
На сьогодні існує значна кількість різноманітних алгоритмів 
розпізнавання образів. Кожен з них спроектований для роботи з певним типом 
зображень, і для подальшого використання в прикладному програмуванні 
необхідно вибрати найбільш оптимальний з точки зору конкретного завдання 
та постійно удосконалювати його в контексті конкретних умов. 
Завдяки зростанню продуктивності обчислювальних машин та 
збільшенню обсягів носіїв інформації, вирішення різноманітних завдань у 
сфері цифрової обробки даних стало доступним за допомогою комп'ютерних 
систем широкого спектру. Саме через це інтелектуальні системи, що 
базуються на штучному інтелекті, почали набирати популярності. Наприклад, 
сучасний персональний комп'ютер може зберігати і обробляти зображення, 
звук та відео, що стало можливим лише за останні 30 років і раніше вважалося 
лише об'єктом мрій. 
6 
Сучасні комп'ютери набувають все більшої "розуму" і можуть впоратися 
з завданнями, які ще недавно були для них надто складними. Проте існують 
завдання, які залишаються поза їхніми можливостями і не можуть бути 
ефективно розв'язані на сучасних обчислювальних машинах. 
Це завдання, які вимагають використання алгоритмів, які не можуть 
бути реалізовані з достатньою ефективністю на поточних обчислювальних 
системах. Деякі з таких завдань можна вирішити за допомогою паралельних 
або квантових обчислень. Наприклад, аналіз генетичної інформації або 
моделювання та передбачення поведінки атмосферних явищ — це приклади 
завдань, для яких застосування таких нових технологій стає обґрунтованим. 
Існують завдання, які не мають чіткого алгоритмічного рішення, і 
створення штучного інтелекту є відмінним прикладом таких викликів. Для 
розв'язання цієї задачі потрібно вивчити, як працює людський інтелект, 
зрозуміти принципи функціонування людського мозку і провести обширні 
дослідження в цій області. 
Однією з важливих сфер застосування штучного інтелекту є 
розпізнавання образів і символів. Це відкриває можливості для створення 
систем ідентифікації графічних об'єктів, спираючись на аналогічні ознаки. 
Процес розпізнавання образів використовується в різних галузях, таких як 
комп'ютерне зорове сприйняття, медичні дослідження та автоматизовані 
виробничі процеси. 
Для дослідження можливостей інтеграції систем розпізнавання 
зображень були обрані інтернет-магазини. Останні результати показали, що 
використання інтернет-технологій в маркетингу може призвести до реальної 
економії та збільшення прибутку. 
Електронні магазини суттєво зменшують витрати виробника, оскільки 
економлять на утриманні фізичного магазину. Вони також розширюють ринки 
збуту, надаючи покупцям можливість придбати товар у будь-якому місті та в 
будь-який час. Це надає електронним магазинам конкурентну перевагу перед 
традиційними роздрібними закладами. 
7 
Актуальність теми. У багатьох компаніях стикаються з труднощами в 
області збуту, які ускладнюють ефективну роботу відділу продажів, навіть при 
вдалих спробах підбору висококваліфікованих продавців. Ці проблеми можна 
вирішити лише шляхом автоматизації процесів продажів. У вузькому та 
технологічному розумінні, електронний бізнес раніше визначався як 
використання інформаційних технологій, зокрема пов'язаних із Інтернетом, 
для організації взаємодії підприємства із зовнішнім середовищем, включаючи 
постачальників, споживачів, партнерів та інших учасників. 
У світі, зокрема в Україні, кількість онлайн-користувачів стрімко зростає, 
що призводить до значного збільшення числа "електронних" покупців. Обрана 
тема вважається вельми актуальною, оскільки мільйони людей щодня, не 
залишаючи дому, здійснюють покупки різних товарів в електронних 
магазинах. 
У даній магістерській кваліфікаційній роботі розглядаються можливі 
підходи до реалізації програмних продуктів для розпізнавання текстової 
інформації з зображень на основі нейромережі, з використанням методів 
цифрової та інтелектуальної обробки зображень. 
Питаннями вдосконалення методів розпізнавання текстової інформації з 
зображень на підставів штучних нейроних мереж присвячено ряд робіт, 
зокрема Авалиани Г. В., Фомин Я. А., Журавлев Ю.И.,  Потапов А.С.,  Горелик 
А. Л. та ін. Але в цих роботах не повністю висвітлена тема дослідження 
інтелектуальних методів розпізнавання текстової інформації з зображень для 
інтернет-магазину. Тому процедура системного аналізу дослідження сучасних 
інтелектуальних методів розпізнавання текстової інформації з зображень для 
інтернет-магазину є задачею актуальною. 
Зв'язок роботи з науковими програмами, планами та темами. Тема 
випускної роботи відповідає науковому напрямку кафедри робототехніки та 
спеціалізованих комп’ютерних систем Черкаського державного 
технологічного університету.  
8 
Мета і задачі дослідження. Мета роботи – дослідження інтелектуальних 
методів розпізнавання текстової інформації з зображень для інтернет-
магазину для подальшого їх удосконалення. 
Для досягнення даної мети необхідно вирішити наступні задачі: 
• провести аналіз існуючих систем та методів розпізнавання 
текстової інформації з зображень для інтернет-магазину; 
• розробити модель розпізнавання текстової інформації з зображень 
для інтернет-магазину на підставі штучних нейроних мереж; 
• удосконалити метод навчання запропонованої моделі 
розпізнавання текстової інформації з зображень для інтернет-
магазину на підставі штучних нейроних мереж; 
• запропонувати систему розпізнавання текстової інформації з 
зображень для інтернет-магазину. 
Об’єктом дослідження є процес розпізнавання текстової інформації з 
зображень для інтернет-магазину. 
Предметом дослідження є методи розпізнавання текстової інформації з 
зображень для інтернет-магазину. 
Методи дослідження. Для розв’язання поставлених завдань були 
використані теорії аналізу та синтезу, чисельні методи, методи системного 
проектування. Теоретичні аспекти роботи ґрунтуються на методах 
розпізнавання текстової інформації з зображень.  
Наукова новизна отриманих результатів:  
• проведено аналіз існуючих систем та методів розпізнавання 
текстової інформації з зображень для інтернет-магазину; 
• розроблено модель розпізнавання текстової інформації з зображень 
для інтернет-магазину на підставі штучних нейроних мереж; 
• удосконалено метод навчання запропонованої моделі 
розпізнавання текстової інформації з зображень для інтернет-
магазину на підставі штучних нейроних мереж; 
 
9 
Практичне значення отриманих результатів: 
– визначений метод розпізнавання текстової інформації з зображень 
для інтернет-магазину; 
– запропонувана система розпізнавання текстової інформації з 
зображень для інтернет-магазину. 
Обсяг і структура роботи. Робота складається з вступу, трьох розділів, 
висновків, списку використаних джерел та додатків. Основний обсяг роботи 
становить 116 сторінок комп’ютерного тексту і містить 5 таблиць та 20 
рисунків. Список використаних джерел складає 27 найменувань і розміщений 
на 3 сторінках. В роботі сформовано 4 додатки на 4 сторінках. 
Апробація результатів роботи. Результати кваліфікаційної роботи 
магістра доповідалися й обговорювалися на студентських і наукових 
конференціях: 
− дні студентської науки Черкаського державного технологічного 
університету, м. Черкаси, 24 – 25 листопада 2022 року; 
− «Проблеми інфо-рматизації», Х міжнародна нау-ково-технічної 
конференція 24 – 25 листопада 2022 року, том 2. – Черкаси – Харків 
- Баку – Бельсько-Бяла (Польша) 
Список опублікованих автором праць 
1. Malenko D.S. Research of video surveillance systems at multi-level 
facilities / Chychuzhko M.V., Popilnukha I.S., // «Проблеми інфо-рматизації»: 
Тези доповідей десятої міжнародної нау-ково-технічної конференції 24 – 25 
листопада 2022 року, том 2. – Черкаси – Харків - Баку – Бельсько-Бяла 
(Польша) –– С. 14. 
2. Маленко Д. С. Дослідження методів нейрокриптографічного 
шифрування та дешифрування даних / Д. С. Маленко, М. В. Чичужко // Збірник 
тез доповідей студентської науково­практичної конференції ЧДТУ: 18–20 
квітня 2023 р. [Електронний ресурс] / [упоряд.: Єгорова О. В., Захарова О. В., 
Кисельов В. Б. та ін.]; М­во освіти і науки України, Черкас. держ. технол. ун­т. 
– Черкаси: ЧДТУ, 2023. – C. 24. 
10 
РОЗДІЛ 1 
ОСНОВНІ ПОНЯТТЯ ТА ХАРАКТЕРИСТИКА СИСТЕМ 
РОЗПІЗНАВАННЯ ТЕКСТОВОЇ ІНФОРМАЦІЇ 
 
1.1 Визначення та основні поняття штучного інтелекту та нейромережі 
 
Штучний інтелект (ШI) — розділ комп'ютерної лінгвістики та 
інформатики, що опікується формалізацією проблем та завдань, які подібні до 
дій, які виконує людина. 
У більшості випадків вирішення задачі передбачає використання 
алгоритму, який не завжди відомий наперед. Точне визначення цієї науки 
відсутнє, оскільки в філософії не вирішено питання про природу та статус 
людського інтелекту. Відсутній також точний критерій, який визначає, коли 
комп'ютер може бути вважений "розумним". Хоча для штучного інтелекту 
було запропоновано кілька гіпотез, таких як тест Тюрінга або гіпотеза Ньюела-
Саймона, жодна з них не надає однозначної відповіді. На сьогодні існує безліч 
підходів до розуміння завдань штучного інтелекту та розробки 
інтелектуальних систем. 
Одна з класифікацій виділяє два підходи до розробки штучного 
інтелекту: 
- низхідний, семіотичний — створення символьних систем, що 
моделюють високорівневі психічні процеси: мислення, судження, мову, 
емоції, творчість тощо; 
- висхідний, біологічний — вивчення штучних нейронних мереж і 
еволюційні обчислення, що моделюють інтелектуальну поведінку на основі 
менших «неінтелектуальних» елементів. 
Ця галузь науки тісно пов'язана з психологією, нейрофізіологією, 
трансгуманізмом та іншими суміжними областями. Як і в усіх галузях 
комп'ютерних наук, вона оперує математичним апаратом. Філософія та 
робототехніка мають особливе значення для цієї науки. 
11 
Штучний інтелект — це дуже молода галузь досліджень, яка була 
започаткована у 1956 році. Її історія подібна до синусоїди, де кожен "зліт" 
викликався виникненням нової ідеї. На сьогоднішній день розвиток штучного 
інтелекту перебуває на "підйомі" і ґрунтується на використанні досягнень 
інших галузей науки, промисловості, бізнесу та навіть повсякденного життя. 
Немає єдиної відповіді на питання про те, чим саме займається штучний 
інтелект (ШІ). Кожен автор, який пише про штучний інтелект, виходить із 
певного визначення і розглядає досягнення цієї науки в його світлі. 
Зазвичай ці визначення зводяться до наступних: 
- штучний інтелект вивчає методи розв'язання завдань, які потребують 
людського розуміння. Отже, мова іде про те, щоби навчити ШІ розв'язувати 
тести інтелекту. Це передбачає розвиток способів розв'язання задач за 
аналогією, методів дедукції та індукції, накопичення базових знань і вміння їх 
використовувати. 
- штучний інтелект вивчає методи розв'язання задач, для яких не існує 
способів розв'язання або вони не коректні (через обмеження в часі, пам'яті 
тощо). Завдяки такому визначенню інтелектуальні алгоритми часто 
використовуються для розв'язання NP-повних задач, наприклад, задачі 
комівояжера. 
- штучний інтелект займається моделюванням людської вищої нервової 
діяльності. 
- штучний інтелект — це системи, які можуть оперувати зі знаннями, а 
найголовніше — навчатися. В першу чергу мова ведеться про те, щоби визнати 
клас експертних систем (назва походить від того, що вони спроможні замінити 
«на посту» людей-експертів) інтелектуальними системами. 
Останнім підходом, який почав розвиватися з 1990-х років, є агентно-
орієнтований підхід. У цьому напрямку акцент робиться на методах і 
алгоритмах, спрямованих на підтримку інтелектуального агента в 
оптимальному виживанні в його довкіллі під час виконання завдань. Таким 
12 
чином, основна увага приділяється дослідженню алгоритмів пошуку та 
прийняття рішень. 
Експерти НАТО у своїй діяльності оперують спорідненими 
тлумаченнями штучного інтелекту [1]: 
- «спроможність, що надається алгоритмами оптимального або 
неоптимального вибору з широкого простору можливостей, для досягнення 
цілей шляхом застосування стратегій, які можуть спиратися на навчання або 
адаптацію до навколишнього середовища»; 
- «системи, які створені людиною і діють у фізичному або цифровому 
світі, враховують складну мету і обирають найкращі дії (відповідно до 
заздалегідь визначених параметрів), які необхідно виконати для досягнення 
поставленої мети на основі сприйняття свого середовища, інтерпретації 
зібраних структурованих або неструктурованих даних та обґрунтування знань, 
отриманих з цих даних» 
Найзагальніший підхід передбачає, що штучний інтелект зможе вести 
себе аналогічно до людського в повсякденних умовах. Ця концепція є 
узагальненим варіантом тесту Тюрінга, який визначає, що машина стає 
розумною, коли може вести діалог з людиною так, що остання не може 
визначити, чи спілкується вона з іншою людиною чи машиною (діалог 
проводиться через письмове спілкування). 
Інший підхід, який часто пропонується письменниками-фантастами, - це 
ідея, що штучний інтелект виникає, коли машина може відчувати та творити. 
Наприклад, в романі Айзека Азімова "Двохсотлітня людина" герой Ендрю 
Мартін стає об'єктом людського ставлення, коли він створює іграшку за своїм 
власним проектом. У "Зоряному шляху" Дейт, здатний до спілкування та 
навчання, мріє про володіння емоціями та інтуїцією. 
Існують різні методи створення систем штучного інтелекту. У наш час 
можна виділити 4 досить різних методи: 
1. Логічний підхід. Основою для вивчення логічного підходу слугує 
алгебра логіки. Кожен програміст знайомий з нею з того часу, коли він вивчав 
13 
оператор IF. Алгебра логіки розвивалася подальше, перетворюючись у 
числення предикатів, де вона була розширена за рахунок введення предметних 
символів та відношень між ними. Кожна машина в цьому контексті має блок 
генерації цілей, і система виводу намагається довести ціль як теорему. Якщо 
ціль досягнута, послідовність використаних правил дозволяє отримати 
ланцюжок дій, необхідних для реалізації цілі (таку систему часто називають 
експертною системою). Потужність такої системи визначається 
можливостями генератора цілей та машинного доведення теорем. З метою 
поліпшення виразності логічний підхід використовує новий напрям, відомий 
як нечітка логіка.  
2. Головною відмінністю цього напряму є те, що істинність вислову може 
приймати окрім значень «так»/«ні» (1/0) ще й проміжні значення — «не знаю» 
(0,5), «пацієнт швидше живий, ніж мертвий» (0,75), «пацієнт швидше мертвий, 
ніж живий» (0,25). Такий підхід подібніший до мислення людини, оскільки 
вона рідко відповідає «так» або «ні». 
3. Під структурним підходом ми розуміємо спроби побудови ШІ шляхом 
моделювання структури людського мозку. Однією з перших таких спроб був 
перцептрон Френка Розенблатта. Головною моделюючою структурною 
одиницею в перцептронах (як і в більшості інших варіантах моделювання 
мозку) є нейрон. Пізніше виникли й інші моделі, відоміші під назвою нейронні 
мережі (НМ) і їхні реалізації — нейрокомп'ютери. Ці моделі відрізняються за 
будовою окремих нейронів, за топологією зв'язків між ними і алгоритмами 
навчання. Серед найвідоміших на початку 2000-х років варіантів НМ можна 
назвати НМ зі зворотнім поширенням помилки, сітки Кохонена, сітки 
Гопфілда, стохастичні нейрони сітки. У ширшому розумінні цей підхід 
відомий як конекціонізм. Відмінності між логічним та структурним підходом 
не стільки принципові, як це здається на перший погляд. Алгоритми 
спрощення і вербалізації нейронних мереж перетворюють моделі 
структурного підходу на явні логічні моделі [3]. З іншого боку, ще 1943 року 
14 
Воррен Маккалох і Волтер Піттс показали, що нейронна сітка може 
реалізувати будь-яку функцію алгебри логіки [4]. 
4. Еволюційний підхід. Під час побудови системи ШІ за даним методом 
основну увагу зосереджують на побудові початкової моделі і правилах, за 
якими вона може змінюватися (еволюціонувати). Причому модель може бути 
створено за найрізноманітнішими методами, це може бути і НМ, і набір 
логічних правил, і будь-яка інша модель. Після цього ми вмикаємо комп'ютер 
і він на основі перевірки моделей відбирає найкращі з них, і за цими моделями 
за найрізноманітнішими правилами генеруються нові моделі. Серед 
еволюційних алгоритмів класичним вважається генетичний алгоритм. 
5. Імітаційний підхід. Цей підхід є класичним для кібернетики з одним із її 
базових понять чорний ящик. Об'єкт, поведінка якого імітується, якраз і являє 
собою «чорний ящик». Для нас не важливо, які моделі у нього всередині і як 
він діє, головне, щоби наша модель в аналогічних ситуаціях поводила себе без 
змін. Таким чином тут моделюється інша властивість людини — здатність 
копіювати те, що роблять інші, без поділу на елементарні операції і 
формального опису дій. Часто ця властивість економить багато часу об'єктові, 
особливо на початку його життя. 
У рамках гібридних інтелектуальних систем намагаються об'єднати ці 
напрямки. Експертні правила висновків, можуть генеруватися нейронними 
мережами, а побіжні правила отримують за допомогою статистичного 
вивчення. Багатообіцяльний новий підхід, який ще називають підсиленням 
інтелекту, розглядає досягнення ШІ у процесі еволюційної розробки, як 
поточний ефект підсилення людського інтелекту технологіями. 
Як наукова дисципліна ШІ має кілька основних напрямів [1]: 
- машинне мислення (англ. machine reasoning, охоплює процеси 
планування, представлення знань і міркування, пошук та оптимізацію); 
- машинне навчання (умовно поділяється на глибоке навчання (англ. deep 
learning) і навчання з підкріпленням (англ. reinforcement learning)), 
15 
- робототехніка (включає в себе управління, ситуаційне сприйняття, 
датчики і приводи, а також інтеграцію усіх інших методів в кібер-фізичні 
системи). 
Аналізуючи історію штучного інтелекту (ШІ), можна визначити 
значущий напрямок, який називається моделюванням міркувань (англ. Model-
based reasoning). Цей напрямок був важливим на протязі багатьох років 
розвитку науки ШІ і зараз є однією з найбільш розвинених областей в цьому 
відомстві. Моделювання міркувань передбачає створення символьних систем, 
де на вході подається конкретна задача, і на виході очікується її розв'язок. 
Зазвичай задача вже сформалізована, тобто переведена в математичну форму, 
але або не має алгоритму розв'язання, або цей алгоритм є надто складним чи 
трудомістким. До цього напрямку відносяться доведення теорем, прийняття 
рішень та теорія ігор, планування і диспетчеризація, а також прогнозування. 
Таким чином, на перший план виходить інженерія знань, яка об'єднує 
завдання отримання знань з простої інформації, їх систематизацію і 
використання. Досягнення в цій області зачіпають майже всі інші напрями 
дослідження ШІ. Тут також необхідно відзначити дві важливі підобласті. 
Перша з них — машинне навчання — стосується процесу самостійного 
отримання знань інтелектуальною системою під час її роботи. Другу пов'язано 
зі створенням експертних систем — програм, які використовують 
спеціалізовані бази знань для отримання достовірних висновків щодо 
довільної проблеми. 
В області моделювання біологічних систем досягнення вражають своєю 
величезною і цікавою різноманітністю. Кілька значущих напрямків в цьому 
контексті можна виділити. Нейронні мережі використовуються для вирішення 
нечітких і складних проблем, таких як розпізнавання геометричних фігур чи 
кластеризація об'єктів. Генетичний підхід ґрунтується на ідеї того, що певний 
алгоритм може стати більш ефективним, обираючи найкращі характеристики 
в інших алгоритмах (так званих "батьків"). Агентний підхід, який ставить за 
мету створення автономної програми-агента, що взаємодіє з довкіллям, є 
16 
відносно новим напрямком. А якщо належним чином примусити велику 
кількість «не дуже інтелектуальних» агентів співпрацювати разом, то можна 
отримати «мурашиний» інтелект. 
Задачі розпізнавання об'єктів вже частково розв'язуються в рамках 
інших напрямків. Сюди відносяться розпізнавання символів, рукописного 
тексту, мови, аналіз текстів. Особливо слід згадати комп'ютерне бачення, яке 
пов'язане з машинним навчанням та робототехнікою. 
Робототехніка і штучний інтелект часто поєднуються одне з одним. 
Об'єднання цих двох наук, створення інтелектуальних роботів, можна вважати 
ще одним напрямом ШІ. 
Окремо тримається машинна творчість (англ. Computational creativity), 
через те, що природа людської творчості ще менше вивчена, ніж природа 
інтелекту. Тим не менше, ця область існує, і тут стоять проблеми написання 
комп'ютером музики, літературних творів (часто — віршів та казок), художнє 
мистецтво. 
Нарешті, існує безліч програм штучного інтелекту, кожна з яких 
утворює майже самостійний напрямок. Наприклади включають 
програмування інтелекту в комп'ютерних іграх, впровадження нелінійного 
керування та розробку інтелектуальних систем безпеки. Один із вражаючих 
прикладів подано у дослідженні від Корнуельського університету у 2018 році. 
Дослідники створили пару породжувально-змагальних нейронних мереж і 
навчили їх на прикладі першої гри-шутера, DOOM. Під час навчання ці 
нейронні мережі вивчили основні принципи побудови рівнів гри, і тепер вони 
можуть генерувати нові рівні без значної участі людей. [4]. 
Не важко бачити, що більшість областей дослідження перетинаються. 
Це властиво для будь-якої науки. Але в штучному інтелекті взаємозв'язок між, 
задавалося б, різними напрямами, виражено дуже сильно, і це пов'язано з 
філософською суперечкою про сильний і слабкий ШІ. 
Машинне навчання — це розділ штучного інтелекту, що має за основу 
побудову та дослідження систем, які можуть самостійно навчатись з даних. 
17 
Наприклад, система машинного навчання може бути натренована на 
електронних повідомленнях для розрізняння спаму і прийнятних повідомлень. 
Після проходження навчання модель може бути використана для 
класифікації нових електронних повідомлень на категорії "спам" та "не-спам". 
У машинному навчанні велике значення мають концепції уявлень та 
узагальнення. Подання даних та функцій оцінки цих даних є необхідною 
частиною всіх систем машинного навчання. Наприклад, у вказаному вище 
прикладі з електронною поштою ми можемо уявляти лист як набір англійських 
слів, нехтуючи порядком слів. 
Узагальнення є важливою властивістю, яка визначає, наскільки система 
буде ефективно застосовувати навчені знання на нових, невідомих даних. 
Умови, за яких гарантується успішне узагальнення, є ключовим аспектом 
вивчення в області обчислювальної теорії навчання. Широкий спектр завдань 
машинного навчання має успішні застосування. Класичним прикладом 
техніки машинного навчання є оптичне розпізнавання символів, де друковані 
символи автоматично розпізнаються на основі попередніх прикладів. У 1959 
році Артур Самуїл визначив машинне навчання як "поле дослідження, яке 
надає комп'ютерам можливість вчитися, не будучи явно програмованими". 
Обробка природної мови — загальний напрямок штучного інтелекту та 
лінгвістики. Він вивчає проблеми комп'ютерного аналізу та синтезу природної 
мови. Стосовно штучного інтелекту аналіз означає розуміння мови, а синтез 
— генерацію розумного тексту. Розв'язок цих проблем буде означати 
створення зручнішої форми взаємодії комп'ютера та людини. 
Розуміння природної мови іноді вважається задачею, повністю 
обтяжливою для штучного інтелекту, оскільки вимагає величезних знань 
системи про довкілля та можливостей ефективно взаємодіяти з ним. 
Визначення змісту слова "розуміння" стає однією з ключових задач у галузі 
штучного інтелекту. У початку 2000-х років вирішенні завдань з обробки 
природної мови значну роль відіграли онтології, такі як WordNet та UWN. 
18 
Машинний зір - це застосування комп'ютерного зору в промисловості та 
виробництві. Комп'ютерний зір, в свою чергу, представляє собою загальний 
набір методів, які надають комп'ютерам можливість бачити. Це інженерне 
напрямок, який використовує цифрові пристрої введення/виведення та 
комп'ютерні мережі для контролю виробничого обладнання, такого як роботи-
маніпулятори чи апарати для вилучення бракованої продукції. Машинний зір 
є складовою інженерії, яка поєднує в собі обчислювальну техніку, оптику, 
машинобудування та промислову автоматизацію. 
Одним із найпоширеніших застосувань машинного зору є інспекція 
промислових товарів, таких як напівпровідникові чипи, автомобілі, продукти 
харчування та ліки. Працівники на складальних лініях оглядають частини 
продукції і роблять висновки щодо якості виконання. Системи машинного 
зору для цієї мети використовують цифрові та інтелектуальні камери, а також 
програмне забезпечення обробки зображення для виконання аналогічних 
перевірок. 
Комерційні пакети програм для машинного зору і пакети програм з 
відкритим вихідним кодом зазвичай включають у себе низку методів обробки 
зображень, таких як: 
- лічильник пікселів: підраховує кількість світлих або темних пікселів; 
- бінаризація: перетворює зображення в сірих тонах в бінарне (білі та 
чорні пікселі); 
- сегментація: використовується для пошуку і/або підрахунку деталей 
- пошук і аналіз блобів: перевірка зображення на окремі блоби пов'язаних 
пікселів (наприклад, чорної діри на сірому об'єкті) у вигляді опорної точки 
зображення. Ці блоби часто представляють цілі для обробки, захоплення або 
виробничого браку; 
- надійне розпізнавання за шаблонами: пошук за шаблоном об'єкта, який 
може бути повернутий, частково прихований іншим об'єктом, або відрізнятись 
за розміром 
19 
- зчитування штрих-кодів: декодування 1D- і 2D-кодів, розроблених для 
зчитування або сканування машинами; 
- оптичне розпізнавання символів: автоматизоване читання тексту, 
наприклад, серійних номерів; 
- вимірювання: вимірювання розмірів об'єктів в дюймах або міліметрах; 
- знаходження країв: пошук країв об'єктів; 
- зіставлення шаблонів: пошук, підбір, і/або підрахунок конкретних 
моделей. 
В більшості випадків системи машинного зору використовують 
послідовне поєднання цих методів обробки для виконання повного 
інспектування. Наприклад, система, яка зчитує штрих-код, може також 
перевірити поверхню на наявність подряпин або пошкодження та виміряти 
довжину і ширину компонентів, що обробляються. 
Кінцевою метою досліджень у галузі "штучного інтелекту" є розкриття 
таємниць мислення та створення моделі мозку. Принципова можливість 
моделювання інтелектуальних процесів випливає з основного гносеологічного 
результату кібернетики. Цей результат полягає у тому, що будь-яку функцію 
мозку, будь-яку розумову діяльність, яка описана мовою з суворо 
однозначною семантикою за допомогою скінченного числа слів, в принципі 
можна передати електронній цифровій обчислювальній машині (ЕЦОМ). 
Сучасні наукові уявлення про природу мозку дають підстави вважати, 
що принаймні в суто інформаційному аспекті найістотніші закономірності 
мозку визначаються скінченною (хоч, може, й надзвичайно великою) 
системою правил. 
Штучний інтелект — технічна (в усіх сучасних випадках спроб 
практичної реалізації — комп'ютерна) система, що має певні ознаки інтелекту, 
тобто здатна: 
- розпізнавати та розуміти; 
- знаходити спосіб досягнення результату та приймати рішення; 
- вчитися. 
20 
У практичному плані наявність лише неповних знань про мозок, про 
його функціонування не заважає будувати його наближені інформаційні 
моделі, моделювати на ЕЦОМ найскладніші процеси мислення, у тому числі 
й творчі. 
Штучні нейронні мережі (ШНМ) або конективістські системи — це 
обчислювальні системи, натхнені біологічними нейронними мережами, що 
складають мозок тварин. Такі системи навчаються задач (поступально 
покращують свою продуктивність на них), розглядаючи приклади, загалом без 
спеціального програмування під задачу. Наприклад, у розпізнаванні 
зображень вони можуть навчатися ідентифікувати зображення, які містять 
котів, аналізуючи приклади зображень, мічені як «кіт» і «не кіт», і 
використовуючи результати для ідентифікування котів в інших зображеннях. 
Вони роблять це без жодного апріорного знання про котів, наприклад, що вони 
мають хутро, хвости, вуса та котоподібні писки. Натомість, вони розвивають 
свій власний набір доречних характеристик з навчального матеріалу, який 
вони оброблюють. 
ШНМ ґрунтується на сукупності з'єднаних вузлів, що називають 
штучними нейронами (аналогічно до біологічних нейронів у головному мозку 
тварин). Кожне з'єднання (аналогічне синапсові) між штучними нейронами 
може передавати сигнал від одного до іншого. Штучний нейрон, що отримує 
сигнал, може обробляти його, й потім сигналізувати штучним нейронам, 
приєднаним до нього. 
В поширених реалізаціях ШНМ сигнал на з'єднанні між штучними 
нейронами є дійсним числом, а вихід кожного штучного нейрону 
обчислюється нелінійною функцією суми його входів. Штучні нейрони та 
з'єднання зазвичай мають вагу, яка підлаштовується в перебігу навчання. Вага 
збільшує або зменшує силу сигналу на з'єднанні. Штучні нейрони можуть мати 
такий поріг, що сигнал надсилається лише якщо сукупний сигнал перетинає 
цей поріг. Штучні нейрони зазвичай організовано в шари. Різні шари можуть 
виконувати різні види перетворень своїх входів. Сигнали проходять від 
21 
першого (входового) до останнього (виходового) шару, можливо, після 
проходження шарами декілька разів. 
Початковою метою підходу ШНМ було розв'язання задач таким же 
способом, як це робив би людський мозок. З часом увага зосередилася на 
відповідності певним розумовим здібностям, що привело до відхилень від 
біологічних принципів. ШНМ використовували в ряді різноманітних задач, 
таких як комп'ютерне бачення, розпізнавання мовлення, машинний переклад, 
соціально-мережеве фільтрування, гра в настільні та відеоігри, а також 
медичне діагностування. 
Хоч проблема «штучного інтелекту» тісно пов'язана з потребами ШНМ, 
однак тут немає єдиної загальної практичної задачі, яка б однозначно 
визначала розвиток теорії, проте є багато задач, які є частковими, вузькими. 
Тому проблема «штучного інтелекту» — це фактично цілий комплекс 
проблем, які характеризуються різним ступенем загальності, абстрактності, 
складності й розробленості і кожній з яких властиві свої принципові й 
практичні труднощі. 
Це такі проблеми, як розпізнавання образів, навчання й самонавчання, 
евристичне програмування, створення загальної теорії самоорганізовуваних 
систем, побудова фізичної моделі нейрона та ін., багато з яких мають велике 
самостійне значення. Для всіх цих напрямів одержано важливі результати, як 
практичного так і теоретичного характеру, продовжуються інтенсивні 
дослідження. 
Оскільки крім малочисельних оптимістів майже ніхто не намагається 
саме «виготовити» інтелект, аналогічний людському, то мова зазвичай 
ведеться про створення системи, яка буде здатна реалізувати певні моделі 
інтелекту. 
 
1.2 Актуальність задачі інтелектуальних систем 
Тема інтелектуальних систем на основі штучного інтелекту (ШІ) є 
однією з передових областей досліджень вчених. Вона розглядається як 
22 
системи, які використовують штучний інтелект в різних аспектах, включаючи 
розпізнавання текстів та виконання побутових робіт, а також можливість 
заміщення творчої праці людини інтелектуальною системою. Ця область 
досліджень сформувалася на перетині різноманітних наукових дисциплін, 
таких як інформатика, філософія, кібернетика, математика, психологія, фізика, 
хімія та інші [2]. Сьогодні в різних областях науки і техніки машини (з 
програмним забезпеченням) на основі штучного інтелекту мають можливість 
виконувати ті завдання, які під силу були тільки людині. Спочатку ШІ не 
претендував на пряме моделювання мислення, а був просто рішенням за 
допомогою машини складних «людських» завдань. 
Сьогодні системи, як програмні, так і апаратні, засновані на штучному 
інтелекті, все більше знаходять застосування в різних технічних галузях. Це 
включає в себе автомобілі з електронікою, використовуючи штучний інтелект, 
і новітні роботи, які приймають участь у виробництві складних завдань. Крім 
того, комп'ютерні програми, які використовують штучний інтелект, також 
включають в себе ігри з інтелектом штучного типу. Основна мета розвитку 
повноцінного штучного інтелекту, який може виконувати дії у роботі з 
інформацією нарівні з людьми або навіть краще, полягає в поліпшенні якості 
життя людей і подальшому автоматизації виробництва. 
Звичайно, багато особливостей застосування ШІ залежать від 
конкретних проектів, розробок і завдань, які стоять перед розумними 
пристроями. Але також можна виділити кілька аспектів, які стосуються 
практично будь-який сфери використання штучного інтелекту. 
В першу чергу, важливо враховувати можливість помилок у системах 
штучного інтелекту. Незважаючи на високу точність і продуктивність, вони не 
є абсолютно безпомилковими і можуть піддаватися впливу зовнішніх 
чинників, таких як аварії чи хакерські атаки. 
Таким чином, при впровадженні систем штучного інтелекту в життя 
важливо зберігати роль людини в процесі прийняття важливих рішень. Навіть 
якщо штучний інтелект може допомагати у роботі, остаточне рішення і 
23 
контроль залишаються за людиною. Наприклад, система діагностики, яка 
використовується в медицині, може надавати точні діагнози, але лікар завжди 
залишається вирішальною особою, враховуючи всі аспекти ситуації та 
індивідуальні особливості пацієнта. 
Отже, взаємодія між штучним інтелектом і людиною може призвести до 
синергії, де обидві сторони вносять свої сильні сторони для досягнення 
оптимальних результатів. 
Наступне питання частково пов'язане з попереднім – це 
відповідальність. Питання відповідальності в сфері штучного інтелекту є 
дійсно важливим, і наразі вони залишаються предметом обговорення та 
розробок. Отже, основні аспекти відповідальності в контексті штучного 
інтелекту включають: 
1) Власник чи розробник технології: У випадку автономних 
транспортних засобів чи медичних роботів, відповідальність може 
лягати на тих, хто розробляє, випускає чи утримує такі технології. 
2) Алгоритм та система: Відповідальність може також лягати на 
алгоритми та системи штучного інтелекту, які приймають рішення. 
Прозорість та розуміння алгоритмів можуть зробити процес більш 
прозорим та контрольованим. 
3) Законодавство та регулювання: Влада має важливу роль у 
встановленні нормативів та правил використання штучного 
інтелекту. Закони та стандарти можуть визначати відповідальність 
різних сторін у різних ситуаціях. 
4) Користувачі та пацієнти: У випадку взаємодії з системами штучного 
інтелекту, як от медичні діагностичні системи чи інші, 
відповідальність може лягати на користувачів та пацієнтів. 
Важливо розглядати ці аспекти і розвивати правові та етичні стандарти, 
щоб забезпечити безпеку та відповідальність в області штучного інтелекту. 
Прозорість у функціонуванні систем, які використовують штучний інтелект, 
24 
та чітке визначення ролей і відповідальності можуть допомогти у вирішенні 
цих питань. 
Незважаючи на порівняльну молодість даних технологій, ШІ вже 
знайшов широке застосування в самих різних сферах, і багато проектів, ніби 
прийшли до нас з фантастичних книг, стають цілком реальними. Хочу навести 
цікаві приклади застосування штучного інтелекту, які впроваджені на даний 
момент або плануються до впровадження в найближчому майбутньому. 
У медицині особливо цінується відмінна пам'ять штучного інтелекту і 
його здатність обробляти велику кількість даних, зіставляти і аналізувати 
інформацію. Так працює вже згаданий вище IBM Watson [3] або, наприклад, 
DeepMind Health [4] від компанії Google. Ці та аналогічні їм розумні помічники 
не просто дають поради лікарів, а й визначають схильність до захворювань або 
виявляють їх на дуже ранніх стадіях, коли вони можуть сховатися від 
людського ока. Також розвивається систему підтримки прийняття рішень 
лікаря «Третя думка». Зараз вона вміє аналізувати знімки клітин крові і очного 
дна, УЗД сечового міхура і рентгенограми легенів, а в майбутньому навчиться 
обробляти дані комп'ютерних томографів та МРТ. Серед її завдань – аналіз 
діагностичних даних, підказки та поради лікарів, моніторинг проводиться 
лікування.  
Проект Face2Gene від компанії FDNA має за мету визначення 
генетичних захворювань за допомогою аналізу фотографій. Розробники 
стверджують, що за допомогою розпізнавання рис обличчя можна 
ідентифікувати приблизно 3 500 генетичних захворювань, навіть якщо їх 
симптоми ще не проявилися [5]. Додаток доступний для смартфонів на 
Andriod і iOS. 
Штучний інтелект відіграє важливу роль не лише для медичного 
персоналу, а й для пацієнтів. Останнім часом телемедицина та відповідні 
додатки набувають популярності, використовуючи різноманітні алгоритми. 
Деякі додатки збирають дані з фітнес-браслетів та інших датчиків, інші 
служать опитувальниками, спрямованими на точне визначення симптомів та 
25 
проблем пацієнтів. Деякі системи штучного інтелекту вміють розпізнавати 
мову та сприймати усне взаємодію, тоді як інші більше орієнтовані на 
письмову комунікацію. Після отримання необхідної інформації вони можуть 
надавати рекомендації щодо подальших дій, лікування та автоматично 
сповіщати лікаря. Одні з найвідоміших інтелектуальних помічників такого 
роду – Ada і Your.MD (можна скачати в Google Play і App Store). 
Особливе значення відводиться системам, здатним розробляти нові 
лікарські засоби. За словами топ-менеджера компанії Pfizer, Джуді Сюардс, 
розробка і виведення на ринок нового медикаменту в середньому займає 12 
років. ШІ дозволить створювати молекулярну структуру і моделювати ліки, 
що збільшить його якість і скоротить час випуску нових препаратів. Піонерами 
в сфері створення суперкомп'ютерів, що вирішують цю проблему, є компанії 
Atomwise і Berg Health. 
 У сфері промисловості штучний інтелект впроваджує все більше 
автоматизації, до такого рівня, коли участь людини майже відсутня. 
Наприклад, компанія LG планує запустити завод у 2023 році, де всі етапи 
виробництва, від закупівлі витратних матеріалів до контролю якості продукції 
та її відвантаження, будуть повністю автоматизовані за допомогою штучного 
інтелекту. ШІ також буде відповідальним за моніторинг зносу обладнання, 
виконання планів і інші аспекти, зазвичай відслідковувані людиною. 
У галузі сільського господарства штучний інтелект використовується для 
контролю за станом рослин, рівнем вологості, наявністю поживних речовин у 
грунті та загалом для ефективного догляду за посівами. Роботи, наприклад, 
навчилися розпізнавати бур'яни та видаляти їх ефективним способом, будь то 
висмикуючи або обробляючи хімікатами. Розумні агенти можуть виявляти 
захворювання рослин або атаку шкідників за фотографіями та точково 
надавати необхідні препарати. Це сприяє економнішому використанню 
пестицидів і гербіцидів. 
Потенціал ШІ в сфері вищої освіти до сих пір повністю не реалізований, 
але вузи можуть запозичити досвід з споживчого сектора. Наприклад, 
26 
віртуальні помічники можуть інтерпретувати вербальні репліки і відповідати 
на них, імітуючи людську мову. Великою популярністю користуються Siri і 
Cortana для смартфонів, а Alexa від Amazon є прикладом незалежного, 
постійно активного віртуального помічника, який використовує віддалені 
мікрофони для пошуку інформації в мережі по голосовій команді. Дійсно, 
автономні технології, що задовольняють потреби людей, розвиваються 
стрімкими темпами. 
Ще один приклад використання ШІ – автоматичні перекладачі. Якщо 
раніше якість пропущеного через них тексту залишало бажати багато кращого, 
то зараз ситуація змінюється. Алгоритми вчаться підбирати правильний 
переклад в залежності від контексту і погоджувати частини пропозиції між 
собою. Як підсумок, замість «машинного перекладу» можна отримати цілком 
читабельний текст. Впровадження ШІ в свій перекладач восени 2017 року 
анонсував «Яндекс». Алгоритм не розбиває текст на окремі слова, а сприймає 
пропозицію цілком, що дозволяє отримати текст більш високої якості. 
Розпізнавання образів є важливою областю застосування штучного 
інтелекту, що дозволяє створювати системи ідентифікації графічних об'єктів 
на основі подібних ознак. Ознаки можуть включати будь-які характеристики 
об'єктів, які підлягають розпізнаванню, і повинні бути інваріантні до 
орієнтації, розміру і форми об'єктів. Алфавіт ознак формується розробником 
системи, і якість розпізнавання значно залежить від вдалого побудови цього 
алфавіту. Процес розпізнавання включає отримання вектора ознак для 
виділеного на зображенні об'єкта і подальше визначення, до якого з еталонів 
алфавіту ознак цей вектор відповідає. Одним з підтипів розпізнавання образів 
є оптичне розпізнавання символів, програмна система для якого буде створена 
в рамках даної дипломної роботи. 
Як можна побачити з вищезазначених розробок, розвиток 
інтелектуальних систем не стоїть на місці і є відмінною і актуальною нішею 
для розробки власного програмного продукту. 
27 
Розглянемо найбільш активно розвинуті підходи і області застосування 
ШІ – в порядку спадання їх популярності. Треба відзначити, що менша 
популярність нерідко пов'язана не стільки з потенціалом технології, скільки з 
віддаленістю перспектив її прикладної реалізації (наприклад, вкрай високий 
потенціал кіберзаводов поки не викликає серйозного інтересу через наявність 
безлічі невирішених завдань по їх управлінню). 
Цей напрямок штучного інтелекту стабільно утримується на лідируючих 
позиціях, продовжуючи вдосконалювати алгоритми навчання і класифікації в 
режимі реального часу. Також активно розвиваються області обробки 
природної мови, розпізнавання зображень, мови, сигналів, а також створення 
моделей інтелектуального інтерфейсу, здатних адаптуватися до користувача. 
Серед основних застосувань нейронних мереж виділяються фінансове 
прогнозування, розкопка даних, діагностика систем, контроль за мережевою 
діяльністю, а також шифрування даних. Останнім часом відбувається 
інтенсивний пошук ефективних методів синхронізації роботи нейронних 
мереж на паралельних пристроях. 
Представником алгоритмів нейронних мереж на пострадянському 
просторі є Володимир Шиляєв, який випустив книгу «Фінансові ринки. 
Нейронні мережі, хаос і нелінійна динаміка» в 2016 році, де розглядаються 
детально методи побудови і навчання нейронних мереж; описані найбільш 
поширені види мереж, що застосовуються в задачах класифікації та аналізу 
часових рядів. 
Тема машинного навчання, інтелектуальних алгоритмів і штучного 
інтелекту надзвичайно популярна в наш час. Це легко можна побачити, 
спостерігаючи за новинами на різних IT порталах. Підтверджує це і 
статистика. На рис. 1.1 представлені дані сервісу Google Trends. 
 
28 
 
Рис. 1.1. Графік динаміки популярності штучного інтеллекту в світі 
 
Грунтуючись на статистичних результатах Google Trends можна зробити 
висновок що тема штучного інтелекту досить популярна і росте в 
геометричній прогресії. 
Чому ж нейромережі такі популярні? Людству потрібно вирішувати 
найрізноманітніші проблеми. Комп'ютерні програми – один із способів 
вирішувати проблеми. А їх нескінченно багато. Замість перерахування кожної 
з проблем можна ввести їх класифікацію. Проблеми можна розбити по умовної 
складності (проста, середня і висока складності) і по тому, чи знаємо ми, як її 
вирішувати (точно знаємо, приблизно знаємо, взагалі не знаємо).  
Нейромережі виявилися популярним і потужним інструментом для 
вирішення різноманітних завдань через кілька ключових переваг: 
1) Здатність до навчання: Нейромережі можуть навчатися і 
вдосконалювати свою продуктивність на основі даних. Це дозволяє 
їм розв'язувати завдання, навіть якщо вони змінюються або стають 
складнішими. 
2) Адаптабельність: Нейромережі виявляють велику адаптабельність до 
різних видів завдань. Вони успішно застосовуються в областях від 
обробки природної мови до розпізнавання образів. 
3) Робота з великими обсягами даних: Нейромережі можуть ефективно 
опрацьовувати великі обсяги даних, що робить їх корисними в таких 
галузях, як аналітика, прогнозування та розпізнавання образів. 
29 
4) Універсальність: Нейромережі застосовуються в різних областях, 
включаючи комп'ютерне зорове сприйняття, обробку мови, голосові 
технології, рекомендації та інше. 
Даної інформації досить для того щоб побудувати залежності незнання 
алгоритму від складності рішення проблеми: 
Проблеми малої / середньої складності, які точно відомо, як вирішувати: 
− вирішити просте рівняння; 
− вивести на екрані вікно програми; 
− роздрукувати документ на принтері. 
Такі завдання вирішуються за допомогою звичайних комп'ютерних 
програм. Нічого складного і незвичайного. Ніяких проблем. 
Проблеми малої/середньої складності, які частково відомо, як 
вирішувати: 
− найпростіше прогнозування; 
− розрахунок похибок; 
− наближене рішення рівнянь. 
Такі завдання можна вирішувати за допомогою спеціальних 
статистичних методів. 
Проблеми високої складності, які незрозуміло, як вирішувати: 
− розпізнавання образів; 
− розпізнавання мови; 
− складні прогнози. 
Вирішення завдань високої складності не є тривіальним викликом, і 
виникають питання про те, як розробити програму для розпізнавання образів 
чи мови та який алгоритм слід використовувати. Однак нейронні мережі 
виявляються корисним інструментом у цьому контексті. Вони моделюються 
за аналогією до біологічних нейромереж і здатні ефективно вирішувати такі 
завдання. Нейронні мережі використовуються для розв'язання проблем, де 
алгоритм вирішення не є очевидним. Саме ця здатність нейромереж зумовила 
30 
їх популярність. Вони можуть бути навчені грати в ігри, розпізнавати голос, а 
також прогнозувати зміни в цінових трендах. 
Давайте розглянемо популярність запиту про «нейроні мережі» на базі 
яких може бути спроектована і розроблена власна система розпізнавання 
текстової інформації. На рис. 1.2 наведено вибірку 3-х найпопулярніших 
запитів по темі штучного інтелекту: «Штучний інтелект», «Машинне 
навчання», «Нейронні мережі». 
Якщо більш чітко розбирати показники даного графіка і гістограму, то з 
графіка видно, що «Штучний інтелект» в розділі «Наука» перевищує всі інші 
показники в порівнянні з «Машинним навчанням» і «Нейронними 
Мережами», так як є наукою і включає в себе згадані вище технології 
розробки. Якщо звернути увагу на гістограму зліва, по ній можна зробити 
висновок що «Машинне навчання», як тип ПЗ, включає в себе метод 
заснований на нейронних мережах і кількість запитів по нейронних мереж на 
80% становить запити по машинному навчання. 
 
Рис. 1.2. Графік порівняння популярності пошукових запитів по темі 
штучного інтелекту на пострадянському просторі 
 
31 
Це означає, що нейронні мережі зараз - одна з найпопулярніших баз для 
розробки програмного продукту заснованого на машинному навчанні. Схема 
всіх методів для побудови самонавчаючихся алгоритмів буде наведена нижче. 
 
Рис. 1.3. Ієрархія методів алгоритмів самонавчання 
Значний вплив на розвиток області еволюційних обчислень (ЕО) 
справили, перш за все, інвестиції в нанотехнології. ЕО вирішують практичні 
завдання, пов'язані з самозборкою, самоконфігурацією і самовідновленням 
систем, що складаються з численних одночасно функціонуючих вузлів. При 
цьому можливо використовувати досягнення у галузі цифрових автоматів. Ще 
одним аспектом ЕО є використання автономних агентів для розв'язання 
щоденних завдань, таких як особисті секретарі, керівники особистих рахунків, 
асистенти, які витягають потрібну інформацію з мереж за допомогою 
пошукових алгоритмів третього покоління, планувальників робіт, особистих 
вчителів, віртуальних продавців і т. д. 
Сюди ж відноситься робототехніка і всі пов'язані з нею області. Основні 
напрямки розвитку – вироблення стандартів, відкритих архітектур, 
інтелектуальних оболонок, мов сценаріїв/запитів, методологій ефективної 
взаємодії програм і людей. Моделі автономного поведінки передбачається 
активно впроваджувати у всілякі побутові пристрої, здатні прибирати 
приміщення, замовляти і готувати їжу, водити автомобілі і т.п.. Окремо варто 
відзначити соціальні аспекти – невідомо як суспільство буде на практиці 
32 
ставитися до таких спільнот інтелектуальних програм. ЕО став широко 
визнаним методом оптимізації в результаті роботи Ingo Rechenberg в 1960-х і 
на початку 1970-х, хто використовував стратегії розвитку вирішити складні 
технічні проблеми. Генетичні алгоритми в особливості стали популярними з 
книг Джона Холленді (професор електротехніки та інформатики в 
Мічиганському університеті, Анн-Арбор), а саме «Адаптація в природних і 
штучних системах» (1975), «Прихований замовлення: як адаптація будує 
складність» (1995), «Поява: від хаосу до наказу» (1998). 
Системи нечіткої логіки широко використовуються, переважно, у 
гібридних керуючих системах. Сутність нечіткості відображена у виборі 
решітчастої структури істинних значень, яка збагачується операціями алгебри. 
Це призводить до формування логічної алгебри, яка узагальнює булеву 
алгебру. Процес виведення в нечіткій логіці супроводжується обчисленням 
оцінки істинності висновку, що може бути виражена словесно ("істинно", 
"більш-менш істинно" і т.п.) або числом в інтервалі [0,1]. Більшої 
популярності нечітка логіка набрала після публікації книги «Математичні 
принципи нечіткої логіки» (2006) авторами якої є Вілем Новак, Ірина 
Перфільева, Іржі Мочкорж. 
Обробка зображень включає в себе різні методи представлення та аналізу 
зображень, такі як стиснення, кодування при передачі через різні протоколи, 
обробка біометричних зображень та знімків із супутників. Ці процеси 
незалежні від конкретних пристроїв відтворення і включають оптимізацію 
колірного відтворення на екранах та при друку, а також розподілені методи 
отримання зображень. Майбутні напрямки розвитку включають пошук, 
індексацію та аналіз вмісту зображень, узгодження вмісту довідкових 
каталогів при автоматичній каталогізації, захист від копіювання, а також 
розвиток машинного зору, алгоритмів розпізнавання та класифікації образів. 
Одними з найкращих продуктів на ринку є програмний засіб 
представлений компанією Google, для розпізнавання об'єктів на фотографії 
Google Lenz. За допомогою Lens користувач може отримувати докладну 
33 
інформацію про різні закладах, пам'ятки або білбордах компаній, досить 
просто навести камеру на об'єкт. Крім того, система може використовувати 
отриману інформацію, наприклад, зчитувати логін і пароль при розпізнаванні 
наклейки провайдера на роутері і автоматично підключати смартфон до WiFi. 
Попит на експертні системи (ЕС) залишається на високому рівні. На 
сьогоднішній день основна увага спрямована на системи прийняття рішень, 
які працюють в режимі реального часу, а також на засоби зберігання, 
вилучення, аналізу та моделювання знань, а також на системи динамічного 
планування. 
Зростання числа інтелектуальних додатків, здатних швидко знаходити 
оптимальні рішення комбінаторних проблем (що виникають, наприклад, в 
транспортних задачах), пов'язаний з виробничим і промисловим зростанням в 
розвинених країнах. Представниками інтелектуальних додатків є пошукова 
система Google / Yandex, програмні помічники Аліса (розроблена компанією 
Яндекс) і Siri (розроблена Apple Inc). 
Розширення комп'ютерних мереж та створення високопродуктивних 
кластерів породили інтерес до аспектів розподілених обчислень. Це включає 
балансування ресурсів, оптимальне використання процесорів, 
самоконфігурацію пристроїв для досягнення максимальної ефективності, 
відслідковування елементів, що потребують оновлення, виявлення 
невідповідностей між об'єктами мережі, діагностування правильної роботи 
програм та моделювання подібних систем. 
Поява автономних робототехнічних пристроїв підвищує вимоги до 
операційних систем реального часу (ОСРЧ) – організації процесів 
самонастроювання, планування обслуговуючих операцій, використання 
засобів ІІ для прийняття рішень в умовах дефіциту часу. 
Особливу зацікавленість у ШІ проявляють в останні роки компанії, що 
займаються організацією процесів розробки великих програмних систем 
(програмної інженерії). Методи штучного інтелекту все більше 
застосовуються для аналізу вихідних текстів і розуміння їх змісту, управління 
34 
вимогами, створення специфікацій, проектування, кодогенерації, верифікації, 
тестування, оцінки якості, виявлення можливостей повторного використання 
та розв'язання завдань на паралельних системах. Програмна інженерія 
поступово перетворюється в так звану інтелектуальну інженерію, яка 
розглядає більш загальні проблеми подання та обробки знань (поки основні 
зусилля в інтелектуальній інженерії зосереджені на способах перетворення 
інформації в знання). 
 
1.3 Огляд систем розпізнавання текстової інформації 
Процес механічного або електронного перетворення зображень 
рукописного, машинописного або друкованого тексту в послідовність кодів, 
призначених для представлення в текстовому редакторі, широко 
використовується для конвертації книг і документів у електронний формат. Це 
дозволяє автоматизувати системи обліку в бізнесі, опублікувати текст на веб-
сторінці або забезпечити електронну доступність матеріалу. Оптичне 
розпізнавання тексту надає можливість редагувати текст, виконувати пошук 
слова або фрази, зберігати його в компактнішому форматі, демонструвати або 
друкувати матеріал, зберігаючи якість, аналізувати інформацію, а також 
використовувати електронний переклад, форматування або конвертацію в 
мовлення. Оптичне розпізнавання тексту є предметом досліджень у галузях 
розпізнавання образів, штучного інтелекту та комп'ютерного зору. 
Системи оптичного розпізнавання тексту у минулому потребували 
калібрування для роботи з конкретними шрифтами; ранні версії вимагали 
програмування для кожного символу та обмежували роботу з одним шрифтом. 
Сучасні «інтелектуальні» системи зазвичай розпізнають більшість шрифтів із 
високою точністю. Деякі з них можуть відтворювати вихідне форматування 
тексту, утримуючи зображення, колонки та інші нетекстові елементи. 
Точне розпізнавання латинських символів у друкованому тексті зараз 
можливе тільки, якщо доступні чіткі зображення, такі як друковані документи. 
Точність при такій постановці задачі перевищує 99%, абсолютна точність 
35 
може бути досягнута тільки шляхом наступного редагування людиною. 
Проблеми розпізнавання рукописного «друкованого» тексту й стандартного 
рукописного тексту, а також друкованих текстів інших форматів (особливо з 
дуже великою кількістю символів) зараз є предметом активних досліджень. 
Точність роботи методів може бути виміряна різними способами, що 
призводить до значних варіацій. Наприклад, виявлення спеціалізованого 
слова, якого немає в словниках відповідного програмного забезпечення, може 
призвести до збільшення помилок при пошуку слів, які не існують. 
Реалізація систем комп'ютерного зору значно варіюється в залежності 
від області їх застосування. Деякі системи функціонують автономно, 
розв'язуючи конкретні завдання детектування та вимірювання, тоді як інші 
інтегруються як підсистеми в більші комплексні системи. Останні можуть 
включати підсистеми контролю за механічними маніпуляторами, планування, 
інформаційні бази даних та інтерфейси людина-машина. У реалізації систем 
комп'ютерного зору також важливим є питання того, чи має система наперед 
визначену функціональність, чи ж частини можуть бути вивчені і 
модифіковані в процесі роботи. Незважаючи на ці відмінності, існують 
загальні функції, характерні для багатьох систем комп'ютерного зору. 
Цифрові зображення формуються за допомогою одного або декількох 
датчиків зображення. Серед таких датчиків можна виділити різноманітні типи 
світлочутливих камер, а також датчики відстані, радари, ультразвукові камери 
та інші. Від типу використаного датчика залежить характер отриманих даних, 
які можуть представляти собою звичайне 2D зображення, 3D зображення або 
послідовність зображень. Зазвичай значення пікселів відображають 
інтенсивність світла в одній чи декількох спектральних смугах (кольорові або 
зображення у відтінках сірого). Однак ці дані також можуть бути пов'язані з 
різноманітними фізичними вимірюваннями, такими як глибина, поглиблення 
чи відображення звукових або електромагнітних хвиль, або ж вони можуть 
бути отримані за допомогою ядерного магнітного резонансу. 
36 
Перед тим, як методи комп'ютерного зору можуть бути застосовані до 
відеоданих з метою вилучення певної частини інформації, необхідно обробити 
відеодані, щоб вони задовольняли деяким вимогам залежно від метода, що 
використовується. Приклади: 
- повторна вибірка з метою, щоб переконатись, що координатна система 
зображення є правильною; 
- видалення шумів з метою, щоб видалити спотворення, що вносяться 
датчиком; 
- покращення контрастності для того, щоб потрібна інформація могла 
бути виявлена; 
- масштабування для кращого розрізнення структур на зображенні. 
Деталі зображення різного рівня складності виділяються з відеоданих. 
Типовими прикладами таких деталей є: 
- лінії та межі; 
- локалізовані точки інтересу, такі як кути, краплі чи точки: складніші 
деталі можуть належати до структури, форми чи руху. 
На певному етапі обробки приймається рішення про те, які точки чи 
ділянки зображення є важливими для подальшої обробки. Прикладами є: 
- виділення визначеного набору точок, що нас цікавлять; 
- Сегментація одного або кількох ділянок зображення, які містять 
характерний об'єкт. 
Високорівнева обробка: на цьому кроці вхідні дані зазвичай 
представляють невеликий набір даних, наприклад, набір точок чи ділянка 
зображення, в якій за припущенням знаходиться певний об'єкт. Прикладами є: 
- перевірка того, що дані задовольняють умовам, що залежать від методу 
і застосування; 
- оцінка характерних параметрів, таких як положення або розмір об'єкта; 
- класифікація знайденого об'єкта за різними категоріями. 
Задача відновлення зображень — це видалення шумів (шум датчика, 
розмитість об'єкта, що рухається тощо). Найпростішим підходом до 
37 
вирішення цієї задачі є різноманітні типи фільтрів, таких як фільтри низьких 
чи середніх частот. Складніші методи використовують уявлення того, як 
повинні виглядати ті або інші ділянки зображення, і на основі цього їх 
перетворення. 
Більш високий рівень видалення шумів досягається протягом 
первинного аналізу відеоданих на наявність різноманітних структур, таких як 
лінії чи межі, а потім управління процесом фільтрації на основі цих даних. 
Оптичне розпізнавання символів (ОРС) і розпізнавання символів онлайн 
іноді можуть бути сплутані, але це два різних підходи. Оптичне розпізнавання 
символів — це оффлайн-метод, який працює із статичним текстом, 
представленим у статичній формі. У той час як розпізнавання символів онлайн 
враховує рухи, які виникають під час писання чи створення символів у режимі 
реального часу. Наприклад, в онлайн розпізнаванні, що використовує PenPoint 
OS або планшетний ПК, можна визначити, з якої сторони пишеться рядок: 
справа ліворуч або зліва праворуч. 
Останнім часом онлайн-системи для розпізнавання рукописного тексту 
"на льоту" набули широкої популярності як комерційні продукти. Алгоритми 
таких пристроїв використовують факт, що порядок, швидкість і напрямок 
окремих ділянок ліній уведення відомі. Крім того, користувач уміє 
використовувати лише конкретні форми письма. Ці методи не можуть бути 
використані в програмному забезпеченні, що використовує скановані паперові 
документи, тому проблема розпізнавання рукописного "друкованого" тексту, 
як і раніше, залишається відкритою. На зображеннях із рукописним 
«друкованим» текстом без артефактів може бути досягнута точність у 80% — 
90%, але з такою точністю зображення буде перетворене в текст із десятками 
помилок на сторінці. Така технологія корисна в дуже обмеженому числі 
застосувань. 
Ще однією широко досліджуваною проблемою є розпізнавання 
рукописного тексту. У цей час досягнута точність навіть нижча, ніж для 
рукописного "друкованого" тексту. Вищі показники можуть бути досягнуті 
38 
тільки з використанням контекстної й граматичної інформації. Наприклад, у 
процесі розпізнання шукати цілі слова в словнику легше, ніж намагатися 
проаналізувати окремі символи з тексту. Знання граматики мови може також 
допомогти визначити, чи є слово дієсловом чи іменником. Форми окремих 
рукописних символів іноді можуть не містити достатньо інформації, щоб 
точно (більше 98%) розпізнати весь рукописний текст. 
Офлайн розпізнавання рукописного тексту включає в себе автоматичне 
перетворення тексту в зображення в листі кодів, які можуть 
використовуватися комп'ютерами і додатками для обробки тексту. Дані, 
отримані за допомогою цієї форми розглядаються як "зріз почерку". Офлайн 
розпізнавання рукописного введення порівняно важке, тому що у різних 
людей різний почерк. 
Розпізнавання тексту може здійснюватися «оффлайновим» методом з 
уже написаного на папері тексту або «онлайновим» методом зчитуванням 
рухів кінчика ручки, наприклад по поверхні спеціального комп'ютерного 
екрана. 
Для рішення складніших проблем у сфері розпізнавання 
використовуються, як правило, інтелектуальні системи розпізнавання, такі як 
штучні нейронні мережі. 
Інструмент для оптичного розпізнавання символів має включати в себе: 
- Двигун OCR, який безпосередньо виконує ідентифікацію символів 
- Програмний код для аналізу зон, який ділить відсканований документ на 
зони, придатних для оптичного розпізнавання 
- Графічні інтерфейси до одного або декількох двигунів OCR 
- Комплекти розробки програмного забезпечення, які використовуються 
для додавання можливості розпізнавання в інше програмне забезпечення 
(наприклад, додатки для обробки форм, системи керування візуалізацією 
документів, системи електронного виявлення, записи рішень в галузі 
керування). 
39 
Tesseract — вільна програма для розпізнавання текстів, розроблялася 
Hewlett-Packard з 1985 до 1994 року, а в наступне десятиріччя залишалася 
практично без змін. Не так давно Google купив та відкрив її початковий код 
під ліцензією Apache 2.0 для продовження розробки. На даний момент 
програма вже працює з UTF-8, розпізнає багато мов, серед яких і українська. 
Ядро програми Tesseract було розроблено в Бристольской лабораторії 
Hewlett Packard і в Hewlett Packard Co, Greeley штат Колорадо в 1985-1994 
роках. У 1996 були проведені значні зміни і підготовлений порт для Windows. 
Потім, з 1998 року - часткова міграція з C на C++. Значна частина коду 
спочатку написана на C, але проводилися доопрацювання для сумісності з C++ 
компіляторами. 
В даний час Tesseract 3.0 збирається під Linux з GCC 2.95 і старше і під 
Windows з Visual C ++ 2008 Express і старше (підтримка Visual C++ 6 була 
видалена в версії 3.0). 
На даний момент останньою версією є Tesseract 4.0, заснована на 
архітектурі довгої короткочасної пам'яті (LSTM). 
ABBYY FineReader – програма для розпізнавання тексту, яка дозволяє 
швидко та точно (до 98% на «чистих» зображеннях) конвертувати документи 
та файли формату PDF  у електронні файли без необходімості передрукування 
текстової інформації вручну [6]. Під час розпізнавання якісних документів 
швидкий режим збільшить швидкість на 40%, при цьому не шкоджуючи 
точності. Також для чорно-білих документів можна використовувати чорно-
білий режим розпізнавання, що прискорить роботу ще на 30%. 
Завдяки технології Adaptive Document Recognition Technology, ABBYY 
FineReader 12 зберігає вихідну структуру багатосторінкових документів, 
включаючи розташування тексту, таблиць, колонтитулів, приміток, 
нумерацію сторінок, змісту та ін. Задати типи областей (Текст, Картинка, 
Таблиця і ін.) і вказати їх призначення, можна і вручну. 
ABBYY FineReader 12 розпізнає документи на 190 мовах, в будь-яких 
комбінаціях. У цій версії програмний продукт також може ефективно 
40 
вирішувати проблеми, що виникають при обробці цифрових фотографій, такі 
як трапецієподібні спотворення, викривлення рядка, цифровий шум та інші. 
Покриття також включає вирішення дефектів зображення, пов'язаних із 
станом вихідних паперових документів, таких як пожовклий від часу папір, 
рукописні позначки, штампи. В додаток програма підтримує широкий набір 
форматів для збереження документів, необхідних вам у роботі. Можна 
записати результати розпізнавання в файл або відправити їх відразу в додатки 
Microsoft Word, Excel, PowerPoint, OpenOffice Writer [7]. 
Simple OCR – це досить популярне безкоштовне програмне 
забезпечення для розпізнавання текстової інформації з зображень на 
англійській, арабській, івриті та китайській мовах. Має свою додаткову SDK 
для розробників, що дозволяє використовувати функціонал розпізнавання 
тексту у своїх додатках.  
Важливо відзначити, що у випадку, якщо документи містять розмітку з 
кількома колонками, нестандартні шрифти, кольорові зображення або 
зображення низької якості, користувачам може знадобитися завантажити один 
із чотирьох платних додатків для програми розпізнавання [8]. 
Також дана програма не зможе розпізнати символи з різними наголосами 
і надрядковими знаками (напр. i й ї ä é і т.д.), що використовуються в інших 
мовах. 
SimpleOCR - проста програма для розпізнавання тексту, але на жаль, 
програма не розрахована на роботу з українською, російською та казахською 
мовами. При необхідності отримання більш розширеного функціоналу 
необхідно придбання платних додатків. 
FreeOCR – це безкоштовна програма для розпізнавання відсканованого 
тексту. Вона працює не тільки з файлами зображень, але і з pdf файлами і 
безпосередньо зі сканером. Для сканування необхідний тільки підключений 
сканер. 
Для установки даної утиліти необхідний доступ до інтернету. Так як 
сама програма важить близько 150 Кб, додаткові бази і словники викачуються 
41 
вже після запуску з мережі Інтернет. В цілому програма займає на жорсткому 
диску не більше 11 Мб [9]. 
Основним плюсом програми є її повна автоматизація і відсутність будь-
яких налаштувань. 
Підтримуються формати JPG, GIF, TIFF BMP і PDF (тільки перша 
сторінка, незабаром обіцяють підтримку перших 10 сторінок). Також, існує 
ліміт на 10 зображень в годину [11]. Стверджується, що система здатна 
розпізнавати більшість східноєвропейських мов, в тому числі російський і 
український. Підтримка української та російської мови була анонсована в 
жовтні 2010 року для Tesseract 3.0 (представлений у відкритому доступі [12]). 
OCR.Space – це сервіс для конвертування відсканованих файлів або 
зображень текстових документів в редаговані файли за допомогою технологій 
оптичного розпізнавання символів (OCR). Якість розпізнавання можна 
порівняти з комерційним програмним забезпеченням OCR SDK (наприклад, 
ABBYY). Є підстримка 24 мов, за відсутності української [13].  
OCR.Space дозволяє безкоштовно і без реестрації обробляти файли 
зображень. Програмне забезпечення OCR використовує JPG, PNG або PDF 
(PDF OCR з повною підтримкою багатосторінкових документів та багато 
стовпців). Єдине обмеження – зображення / PDF не повинно перевищувати 5 
Мб, але навіть при перевищенні розміру є можливість розпізнати документ в 
індевідуальному порядку. 
Представлені OCR-системи є найбільш популярними і відомими, проте 
зважаючи на активний розвиток галузі розпізнавання, подібних систем існує 
дуже багато. Проведемо порівняльний аналіз за наведеними вище системам 
оптичного розпізнавання символів. 
Для оцінки якості OCR-систем існують різні критерії оцінки якості [5]. 
Потік всіх операцій, що входять в процес оптичного розпізнавання, можна 
розділити на два етапи, які з великою значимістю впливають на кінцевий 
результат: це структурний аналіз (сегментація документа, класифікація 
42 
регіонів) і розпізнавання тексту. Для кожного з етапів існують власні способи 
оцінки якості [5]: 
− оцінка результатів структурного аналізу документа; 
− оцінка результатів розпізнавання за стандартами; 
− оцінка результатів розпізнавання без еталонів. 
Є ряд істотних проблем, пов'язаних з розпізнаванням рукописних і 
друкованих символів [17]. Найбільш важливі з них наступні: 
− різноманітність форм та накреслення символів; 
− спотворені зображення символів; 
− варіації розмірів і масштабу символів. 
У таблиці 1.1 представлено порівняння систем за наведеними проблем і з 
урахуванням способів оцінки якості. 
Таблиця 1.1  
 Порівняння систем на предмет вирішення типових задач 
Система Форми та Спотворенні Варіації 
накреслення зображення розмірів та 
масштабу 
Tesseract Так Ні Так 
ABBYY Так Ні Так 
FineReader 
SimpleOCR Так Ні Так 
FreeOCR Так  Ні Ні 
OCR.Space Так Ні Так 
З таблиці 1.2 видно, що жодна з систем повно не вирішує наведені 
проблеми. При передачі в обробку зображення низької якості, що має символи 
з перекрученою формою, велика ймовірність помилкового розпізнавання. 
Так як OCR-системи мають і технічні характеристики, як і будь-яке інше 
ПЗ, слід провести порівняння за даними параметрами (табл. 1.2). 
Представлені системи, відносяться до списку найбільш відомих і 
широко поширених OCR систем. Існує ряд рейтингів, що визначають кращі 
системи розпізнавання зображень. Згідно з даними рейтингів однією з кращих 
43 
програм вважається ABBY FineReader. Так само, до списків потрапляли 
OCR.Space, FreeOCR, SimpleOCR [6]. 
Розпізнавання символів онлайн іноді плутають із оптичним 
розпізнаванням символів. Оптичне розпізнавання символів - це офлайн-метод, 
який працює із статичною формою подання тексту, у той час як онлайн-
розпізнавання символів ураховує рухи під час писання. Наприклад, в онлайн-
розпізнаванні, яке використовує операційну систему PenPoint або планшетний 
ПК, можна визначити, з якої сторони пишеться рядок: справа наліво або зліва 
направо. 
Таблиця 1.2 
Порівняння OCR систем по технічним характеристикам 
Система Версія Обов’язковість ОС Кількість SDK  
придбання мов 
Tesseract 2016 Ні Windows, 100+ Так 
Linux, 
MacOS 
ABBYY 2017 Так Windows, 192 Так 
FineReader Linux, 
MacOS, 
Web 
SimpleOCR 2008 Ні Windows 20+ Ні 
FreeOCR 2012 Ні Web 15+ Ні 
OCR.Space 2018 Ні Windows, 24 Так 
Linux, 
MacOS, 
Web 
 
1.4 Поняття інтернет магазину та історія їх розвитку в Україні 
Інтернет-магазин - це форма електронної комерції, яка надає можливість 
споживачам придбати товари чи послуги безпосередньо від продавця через 
44 
Інтернет за допомогою веб-браузера. Покупці можуть знаходити цікаві їх 
товари, відвідуючи веб-сайти роздрібних торговців або користуючись 
пошуковими системами для знаходження найкращих пропозицій від різних 
електронних роздрібників. З появою різних пристроїв, таких як комп'ютери, 
планшети, смартфони, розумна техніка та голосові асистенти, клієнти можуть 
зручно здійснювати покупки в Інтернеті. 
Інтернет магазин несе фізичну аналогію покупки продуктів або послуг 
на звичаному «фізичному» магазині або торговому центрі. Цей процес 
називається інтернет-магазинами зі схемою бізнес-споживач (B2C). Коли ж 
веб-магазин створений для глобальних або оптових закупок, цей процес 
називається інтернет-магазинами зі схемою бізнес-бізнес (B2B). Типовий 
інтернет-магазин дозволяє замовнику переглядати асортимент товарів і послуг 
фірми, переглядати фотографії або зображення товарів, а також інформацію 
про технічні характеристики, відгуки та ціни. 
Інтернет-магазини зазвичай надають клієнтам можливість 
використовувати функцію "пошук" для знаходження конкретних моделей, 
марок або товарів. Для завершення покупки клієнтам необхідно мати доступ 
до Інтернету і дійсного засобу оплати, такого як кредитна чи дебетова картка, 
або онлайн-гаманець, наприклад, PayPal. 
Щодо фізичних продуктів, таких як книги у твердій обкладинці чи одяг, 
магазин відправляє продукцію покупцю поштою або іншими службами 
доставки. У випадку цифрових продуктів, таких як аудіофайли, фільми або 
програмне забезпечення, магазин надає можливість завантажити файл через 
Інтернет. Найбільші з міжнародних інтернет-корпорацій роздрібної торгівлі: 
Alibaba, Amazon.com та eBay [8]. 
Альтернативні терміни для "інтернет-магазин" включають "електронний 
талінг", скорочену форму "електронний роздріб" або "електронний шопінг". 
Також інтернет-магазин може бути визначений як електронний магазин, веб-
магазин, електронний веб-магазин або віртуальний магазин. Мобільна 
комерція (або m-commerce) вказує на версію веб-сайту, оптимізовану для 
45 
мобільних пристроїв, розташовану в Інтернеті або у вигляді програмного 
забезпечення ("додаток"). Ці веб-сайти чи додатки розроблені для зручного 
перегляду товарів та послуг компанії на планшетах та смартфонах. 
Одна з найбільш ранніх форм торгівлі, що проводилась в Інтернеті була 
онлайнова обробка транзакцій (OLTP) представлена компанією IBM, 
розроблена в 1960-х роках. Це надавало можливість обробки фінансових 
операцій в режимі реального часу. Комп'ютеризована система бронювання 
квитків, розроблена для американських авіакомпаній під назвою 
Напівавтоматичне середовище бізнес-досліджень (SABER), була однією з її 
прикладних програм. Тут комп'ютерні термінали, розташовані в різних 
туристичних агентствах, були пов’язані з великим комп'ютером IBM з 
основним сервером, який одночасно обробляв транзакції та координував їх, 
щоб усі туристичні агенти мали доступ до однієї і тієї ж інформації одночасно. 
Поява інтернет-магазинів, які ми знаємо сьогодні, розвивалася з появою 
Інтернету. Спочатку ця платформа функціонувала лише як рекламний 
інструмент для компаній, надаючи інформацію про свою продукцію. Це 
швидко перейшло від такого простого завдання до фактично повного 
перенесення всіх кроків в Інтернеті завдяки розробці інтерактивних веб-
сторінок та безпечних передач. Зокрема, зростання Інтернету як захищеного 
торгового каналу розвивалося з 1994 року, з першими продажами альбому 
Стінга «Ten Summoner's Tales». 
Вино, шоколадки та квіти незабаром пішли в трійку перших категорій 
роздрібної торгівлі, що сприяло зростанню інтернет-магазинів. у період 
початкового розвитку Інтернет-торгівлі ключовим чинником успіху було 
наявність продуктів, які легко можна було презентувати та продавати 
віддалено. Загальні товари, які не вимагають фізичного контакту або огляду 
перед покупкою, добре підходили для цього контексту. Це робило зазначені 
товари привабливими для перших покупців в Інтернеті, які в основному були 
заможними, чоловіками старше 30 років. 
46 
З розвитком Інтернет-торгівлі та збільшенням аудиторії вона стала 
більш різноманітною, а споживачі стали більш відкритими до різних товарів 
та категорій. Також зросла інтерес до інтернет-покупок серед різних 
соціальних та вікових груп. 
Оскільки доходи від продажів в Інтернеті продовжували значно 
зростати, дослідники визначили різні типи покупців в Інтернеті. Вони 
виділили чотири категорії та назвали їх «покупцями зручності, шукачами 
сортів, збалансованими покупцями та покупцями, орієнтованими на магазин». 
Вони зосередилися на мотиваціях покупок і виявили, що різноманітність 
доступних товарів та зручність придбання в Інтернеті є важливими 
мотивуючими факторами. Це було вновину для офлайн-покупців, яких добре 
мотивували економія часу та відсутністю необхідності ходоти по магазинах 
[7]. Вказані дослідження визначили чотири основні категорії покупців в 
Інтернеті: 
1) Покупці зручності: Ці покупці оцінюють зручність та ефективність 
покупок в Інтернеті, можливість швидко та легко знайти потрібний 
товар і здійснити покупку без втрати часу. 
2) Шукачі сортів: Ці покупці активно використовують можливості 
Інтернету для пошуку різноманітних товарів і вибору найкращих 
пропозицій. Їм важливий широкий вибір та доступ до різноманітних 
продуктів. 
3) Збалансовані покупці: Ці покупці оцінюють різноманітність товарів і 
водночас приділяють увагу зручності та ефективності покупок. 
4) Покупці, орієнтовані на магазин: Ця категорія покупців знаходиться 
у фокусі конкретного магазину або бренду, і їм може бути важлива 
вірність певному постачальнику чи товарному бренду. 
Ці категорії відображають різноманітні мотивації споживачів при 
здійсненні покупок в Інтернеті, враховуючи їхні вподобання, стиль життя та 
особисті переваги. 
47 
Англійський підприємець Майкл Олдріх був піонером інтернет-
магазинів у 1979 році. Його система об'єднала модифікований домашній 
телевізор із комп'ютером для обробки транзакцій у режимі реального часу 
через домашню телефонну лінію. Він вважав, що відеотекст, удосконалена 
вітчизняна технологія телебачення із простим інтерфейсом між людиною та 
комп'ютером, керованим з меню, є "новим, широко прийнятим універсальним 
комунікаційним середовищем - першим з часів винайдення телефону". Це 
дозволило відкрити "закриті" корпоративні інформаційні системи для 
"зовнішніх" кореспондентів не лише для обробки транзакцій, але й для 
електронних повідомлень, пошуку та поширення інформації, в подальшому 
відомого як електронний бізнес. Його визначення нового засобу масової 
комунікації як «участі» багато в чому відрізняється від традиційних визначень 
засобів масової комунікації та засобів масової інформації та попередника 
соціальних мереж в Інтернеті через 25 років [9]. 
У березні 1980 року він запустив сервіс Redifon Office Revolution, який 
дозволив споживачам, замовникам, агентам, дистриб'юторам, постачальникам 
та компаніям, що надають послуги, підключитися в режимі онлайн до 
корпоративної системи та здійснювати бізнес-операції в електронному вигляді 
в режимі реального часу. Протягом 1980-х років він проектував, виготовляв, 
продавав, встановлював та підтримував та багато систем онлайн-торгівлі, 
використовуючи технологію відеотексту. Ці системи, які також забезпечували 
обробку голосових відповідей та відбитків від рук, достроковуючи в Інтернеті 
та всесвітній павутині , IBM PC та Microsoft MS-DOS, і були встановлені 
переважно у Великобританії великими корпораціями. 
Перший всесвітній веб- сервер і браузер, створений Тімом Бернерсом-Лі 
в 1989 році, відкрився для комерційного використання в 1991 році. Після цього 
в 1994 році з'явилися наступні технологічні нововведення: інтернет-банкінг, 
відкриття інтернет-магазину піци від Pizza Hut, стандарту шифрування 
Netscape SSL v2 для безпечної передачі даних і перша система інтернет – 
магазинів InterShop. 
48 
Першу безпечну роздрібну транзакцію через Інтернет здійснили 
NetMarket або Internet Shopping Network в 1994 році. Відразу після цього, 
Amazon.com запустив свій інтернет-магазин для покупок в 1995 році, а eBay 
також був представлений в 1995 році. Сайти Alibaba Taobao і Tmall були 
запущені відповідно в 2003 і 2008 роках. Роздрібні торговці все частіше 
продають товари та послуги до їх наявності через «роздрібну торгівлю» для 
тестування, побудови та управління попитом. 
Статистика показує, що в 2012 році Азіатсько-Тихоокеанський регіон 
збільшив свої міжнародні продажі на 30%, давши їм понад 433 млрд доларів 
доходу. Це на 69 мільярдів доларів перевищило дохід США в 364,66 мільярда 
доларів. За оцінками, Азіатсько-Тихоокеанський регіон збільшиться ще на 
30% у 2013 році, що випереджає їх більш ніж на третину всіх продажів у світі 
електронної комерції. Найбільший день онлайн покупок в світі це День 
холостяків у Китаї 11 листопада, продаж тільки в магазині Alibaba склав 9,3 
млрд. доларів США в 2014 р. 
Переваги віртуального магазину перед реальним очевидні. Зменшується 
чисельність персоналу за рахунок скорочення обсягу взаємодії з клієнтами, 
оренда дискового простору і розміщення "електронної вітрини" дешевше і 
простіше оренди торговельних приміщень і розміщення товарів на полицях, 
немає потреби у касовому обслуговуванні і т.п. 
Також віртуальний магазин можна використовувати як ефективний 
інструмент для маркетингового дослідження, особливо з урахуванням того, 
що сьогодні подібні послуги можуть бути дорогими в маркетингових 
агентствах. Будь-який користувач Інтернету може швидко заповнити анкету, 
яку пропонує магазин через комп'ютер. Це дозволяє отримати інформацію про 
потреби і смаки потенційних покупців без значних витрат і враховувати 
результати маркетингового дослідження в подальших стратегіях роботи. 
Перевагами Інтернет- магазину є: 
1) Економія часу.  
49 
В Інтернеті можна вибирати і порівнювати характеристики товарів серед 
декількох магазинів, і дана процедура займає хвилини на відміну від 
утомливих походів по традиційних магазинах. Покупка необхідного товару 
через Інтернет економить такий вельми дорогий час. Інтернет-магазин 
доступний 24 години в добу, 7 днів в тиждень, 365 днів в році. Працює без свят 
і вихідних, черг там немає. Покупець може у будь-який час відірватися від 
вибору товару, якщо в даний момент у нього немає часу, і повернутися до 
вибору навіть через декілька діб (всі дані по вибраних позиціях залишаються 
в аккаунті користувача). Продовжити вибір можна у вільний час - на робочому 
місці або вдома, увечері або вночі. 
2) Низькі ціни.  
Більшість товарів в мережі Інтернет можна придбати за нижчу ціну, ніж 
в звичайному супермаркеті. У Інтернет-магазині немає необхідності 
орендувати торгові площі, відсутні витрати по охороні і змісту торгових залів, 
немає потреби витрачати гроші на найм і навчання продавців-консультантів, 
не потрібно оплачувати послуги посередників. 
3) Безкоштовна доставка (в більшості випадків).  
Після оформлення замовлення і передачі його в службу доставки, кур'єр 
безкоштовно привозить покупку додому або в офіс, в найкращий час. У 
покупців Інтернет - магазинів «не болить голова» з приводу отримання 
замовлення, їх не обтяжує сама думка про перетягання важких сумок від 
магазину до будинку. 
4) Свобода вибору.  
У відвідувачів Інтернет - магазинів існує повна, нічим не обмежена 
свобода вибору. Сформована заявка поступає не на склад рядового 
роздрібного магазину, а на найбільший оптовий склад, де є величезний вибір 
товарів. 
5) Зручність оплати.  
Клієнти можуть вибрати найоптимальніший спосіб оплати вибраного 
товару: готівкою при доставці кур'єром, поштовий або банківський переказ, 
50 
оплата кредитною картою або електронними грошима (Webmoney, PayPal та 
ін.). Вони можуть відмовитися від покупки, навіть не оплачуючи витрати при 
доставці. 
6) Анонімність.  
Про покупки відвідувачів Інтернет - магазинів ніхто не дізнається, якщо 
тільки вони самі не захочуть поділитися цією інформацією. Тільки Інтернет - 
магазин гарантує повну анонімність покупця, адже реєструватися можна під 
будь-яким ім'ям. 
До недоліків інтернет - магазину можна віднести такі пункти: 
1) У деяких магазинах термін доставки занадто довгий, особливо це 
важливо, коли доставка товару необхідна у свята.  
2) Не завжди є можливість повернення та обміну товару. Варто 
заздалегідь ознайомитися з правилами даного Інтернет - магазину 
перед покупкою, щоб бути впевненим у своїй правоті при 
пред'явленні претензій. 
3) Невиконання вибору замовлення. Можуть переплутати колір товару, 
модель, розмір і тому подібне. 
4) Ви не маєте можливості потримати або приміряти товар, оцінити його 
якість своїми руками. 
5) Необхідність реєстрації. Деякі магазини примушують покупця 
проходити дуже довгий покроковий процес реєстрації. Це відлякує 
потенційних покупців здійснювати покупки в даному магазині, 
особливо коли покупець є обмеженим у часі. 
6) Незручна система оплати. Часто відмовляляються від здійснення 
покупки тільки тому, що магазин не пропонував зручної форми 
оплати. Найпоширенішою формою оплати є оплата кур'єрові 
готівкою. Він же відзначається як найбезпечніший спосіб. Найбільш 
економним способом оплати можна вважати передоплату 
банківським переказом. 
  
51 
РОЗДІЛ 2 
АНАЛІЗ МЕТОДІВ РОЗПІЗНАВАННЯ 
ТА ПЛАТФОРМ ІНТЕРНЕТ МАГАЗИНІВ 
2.1 Дослідженння методів інтелектуального розпізнавання та їх порівняння 
Метод інтелектуального розпізнавання, що базується на шаблонах, часто 
використовує обчислення коефіцієнта кореляції між двома матрицями. 
Розглянемо метод розпізнавання об'єктів на зображенні, який використовує 
коефіцієнт кореляції. Для його застосування потрібні не лише вихідне 
зображення, але й еталонне зображення, яке використовується як база для 
порівняння. Це еталонне зображення визначається як еталон. 
Зображення представлене в пам'яті комп'ютера матрицею. Нехай A – 
матриця вихідного зображення, B – матриця еталона, розміри матриць m × n, 
тоді коефіцієнт кореляції обчислюється за формулою: 
∑ ∑ (��
�� = �� �� ����−��)(������−��)
2 2   (1.1) 
∑�� ∑��(������−��) ∑�� ∑��(������−��)
Імпортантно відзначити, що обчислення кореляції передбачає роботу з 
матрицями однакового розміру. Таким чином, для великої матриці вихідного 
зображення необхідно вирізати фрагменти, розмір яких відповідає матриці 
еталонного зображення. Цей підхід широко застосовується, проте варто 
зауважити, що при розпізнаванні реальних об'єктів кореляційний метод може 
бути вкрай обчислювально складним. Це пов'язано з масштабуванням та 
поворотами, які можуть виникнути при розпізнаванні зображень. 
Інший підхід може включати в себе використання колірної сегментації, 
особливо у випадках пошуку кольору людської шкіри на зображенні. У цьому 
методі, зразок кольору виступає у ролі шаблону. Колір, як відомо, є 
властивістю людського сприйняття, і не існує жорсткого математичного 
визначення поняття "колір шкіри". Така невизначеність ускладнює завдання 
автоматичного розпізнавання кольору шкіри. Однак у випадку розпізнавання 
текстових символів цей підхід може спростити задачу. У комп'ютерному 
представленні, кольори пікселів можна описати як координати в колірному 
52 
просторі. Науковці визначили, що в оці людини є три типи світлочутливих 
клітин, які налаштовані на різні розподіли енергії в видимому спектрі [18]. 
Виходячи з цього факту будь-який колір, що сприймається людським оком, 
можна представити у вигляді тривимірного вектора. 
Виділимо основні недоліки колірної сегментації: 
− залежність кольору від умов зйомки (наприклад, освітлення); 
− залежність одержуваних колірних значень об'єктів від конкретної 
камери; 
− різноманіття відтінків шрифту. 
Таким чином, методи даної категорії не можуть бути повноцінним 
рішенням завдання розпізнавання симолів в документі, але на практиці їх 
використовують для модифікації існуючих методів з метою отримання 
додаткових ознак на етапі попередньої обробки [18]. 
Метод просторового диференціювання, що базується на оцінці 
швидкості зміни яскравості для кожної точки зображення, є найпоширенішим 
способом виділення контурів. Якщо яскравість змінюється достатньо швидко, 
точка може бути визначена як частина контуру, тобто межі між областями з 
різною яскравістю. 
Оператори просторового диференціювання є високочастотними 
фільтрами. Найчастіше використовуються маски операторів Собеля, Превітта 
або Робертса, які для випадку виділення горизонтальних перепадів 
(обчислення gy (i, j)) мають відображений в таблиці 2.1 
Оператор Собеля – це дискретний диференціальний оператор, який 
обчислює наближене значення градієнта яскравості зображення. 
Таблиця 2.1 
Маски операторів Собеля, Превітта або Робертса 
Собель Превітт Робертс 
−1 −2 −1 −1 −1 −1 0 0 0
0 0 0  0 0 0  0 1 0  
1 2 1 1 −1 1 0 0 −1
53 
Маски операторів Собеля і Превітта для виділення вертикальних 
перепадів яскравості (обчислення gx (i, j)) виходять з однойменних масок для 
виділення горизонтальних перепадів шляхом транспонування, а маска 
оператора Робертса - поворотом на 90º за годинниковою стрілкою. Одержаний 
в результаті масив g (i, j) називають градієнтним зображенням. Далі 
здійснюється порогова обробка градієнтного зображення за правилом: 
 
1, при ��(��, ��) ≥ ��
��(��, ��) = {     (1.2) 
0, при ��(��, ��) ≤ ��
де Т – постійний або мінливий залежно від локальних властивостей 
зображення поріг. 
В результаті виходить бінарне зображення b (i, j), поодинокі точки якого 
відповідають потенційним граничним точкам вихідного зображення. 
Головною причиною популярності методів, заснованих на використанні 
масок просторового диференціювання, є простота їх реалізації на комп’ютері 
[19]. 
Також важливо відзначити методи Робертса і Собеля, які 
використовують класифікатор Хаара на етапі сегментації (виділення 
текстових блоків) і секторизації (виділення символів на текстових блоках). У 
порівнянні з методами першої і другої категорій, нейромережеві методи 
пропонують альтернативний підхід до вирішення задачі розпізнавання 
образів. Архітектура та функціонування нейронних мереж (НМ) взяті із 
біологічних прообразів [20]. 
Ваги в нейронній мережі не обчислюються шляхом розв'язання 
аналітичних рівнянь, а підлаштовуються різними оптимізаційними методами, 
такими як різновиди градієнтного спуску, під час навчання. Процес навчання 
нейронної мережі включає в себе використання навчальних прикладів, під час 
яких автоматично відбувається вилучення ключових ознак, визначення їх 
важливості та встановлення взаємозв'язків між ними. Навчена нейронна 
54 
мережа може успішно використовувати отриманий досвід для аналізу 
невідомих образів завдяки своїм добре узагальнюючим властивостям. 
Нейронні мережі (НМ) - це обчислювальні структури, які моделюють 
прості біологічні процеси, зокрема ті, що пов'язані з функціонуванням 
людського мозку. Вони адаптуються та навчаються, представляючи 
розпаралелені системи, здатні до навчання шляхом аналізу позитивних та 
негативних впливів. Основними елементами цих мереж є штучні нейрони або, 
просто, нейрони, що отримали свою назву від біологічних прототипів. 
Кожен нейрон виконує унікальне перетворення сигналу, і, оскільки 
таких нейронів може бути мільярди, вони разом обробляють вхідний сигнал і 
виробляють правильний вихідний сигнал. Всі нейрони працюють за одним 
алгоритмом, і внутрішнє перетворення сигналу в кожному нейроні однакове. 
Однак сенс індивідуального перетворення визначається синапсами, які 
відповідають за передачу інформації між нейронами. 
Синапс (Synapsis) - місце стику виходу одного нейрона і входу іншого, в 
якому відбувається посилення/ослаблення сигналу. 
У кожного біологічного нейрона є тисячі входів, і кожен з них з'єднаний 
з виходами інших нейронів. Це означає, що на кожен нейрон припадає тисячі 
синапсів. Помноживши це число на мільярди нейронів в біологічних 
нейромережах (наприклад, у головному мозку, який містить близько 85 
мільярдів нейронів), ми отримуємо вражаюче величезну кількість синапсів. 
 
Точно так, кожен синапс є унікальним, оскільки він може змінювати 
пропускну здатність для сигналу, або посилювати, або послаблювати його 
проходження. Ці синапси можуть динамічно змінюватися з плином часу, що 
впливає на характер перетворення сигналу. Підбираючи правильні параметри 
для синапсів, можна забезпечити, що вхідний сигнал, пройшовши через 
нейронну мережу, перетвориться в точний вихідний сигнал. Цей процес 
визначає ефективність перетворення вхідних сигналів у правильні вихідні 
рішення. 
55 
З математичної точки зору, штучний нейрон можна розглядати як 
акумулятор, що сумує вхідні сигнали та передає отриману зважену суму через 
нелінійну функцію активації, яка зазвичай є монотонно зростаючою та 
неперервною на всій області визначення. Результат цього процесу виходить на 
єдиний вихід. 
Штучні нейрони об'єднуються в штучні нейронні мережі, де кожен 
нейрон характеризується своїм станом, який може бути порушеним або 
загальмованим, і має групу синапсів - односпрямованих вхідних зв'язків, що 
з'єднують його з виходами інших нейронів. Крім того, у нейрона є аксон - 
вихідний зв'язок, через який сигнал передається на синапси наступних 
нейронів. Ця організація нейронів утворює взаємодію в штучній нейронній 
мережі.  
Як правило, в задачах розпізнавання об'єктів використовуються наступні 
архітектури НМ: 
- багатошаровий персептрон; 
- імовірнісні нейронні мережі; 
- мережі Кохонена; 
- згорткові нейронні мережі. 
При цьому вибір тієї чи іншої архітектури залежить від специфіки задачі 
по розпізнаванню об'єкта [21]. 
Після проведеного аналізу потрібно сформувати переваги та недоліки 
використання даної технології у сфері розпізнавання текстової інформації з 
зображень. 
Всі переваги нейронних мереж є наслідками переваг біологічних 
нейронних мереж, так як сама модель обробки інформації практично не була 
змінена (при спрощенні). Засновуючись на них дуже просто пояснювати 
переваги ІНМ, просто виводячи аналогії з властивостями біологічних 
нейромереж. 
1) Стійкість до шумів вхідних даних. 
56 
Після проходження процесу тренування нейронні мережі вчаться 
ігнорувати вхідні дані, які представляють собою шум. Це можна порівняти з 
поведінкою людей на пішохідному переході. Наприклад, коли людина 
переходить дорогу, вона може врахувати лише основні елементи, такі як інші 
люди, і відфільтровувати зайві деталі, такі як асфальт, одяг, машини, 
світлофор чи сумки. Ця нейронна мережа, подібно до людського сприйняття, 
вивчає ігнорувати шумову інформацію та зосереджуватися на важливих 
завданнях під час виконання своїх функцій. 
 
Рис. 2.1. Розпізнавання шумових сигналів в біологічній та штучних 
нейронних мережах 
 
2) Адаптація до змін. 
Нейронні мережі можуть налаштовуватися під зміни в навколишньому 
середовищі. Наприклад, розглянемо ситуацію з нейронною мережею, яка 
прогнозує рух цін на біржі. У цьому випадку, умови на фінансовому ринку 
постійно змінюються. Якщо нейронна мережа не адаптується до цих змін, її 
прогнози можуть втратити актуальність вже протягом короткого періоду, 
наприклад, тижня. Тому важливо, щоб мережа була здатна постійно 
вдосконалювати свої параметри та враховувати нові умови, щоб забезпечувати 
точні прогнози у змінному оточенні ринку. 
3) Стійкість. 
57 
Іноді трапляється, так, що в результаті спадкових захворювань або 
інших проблем людині доводиться видаляти половину головного мозку. Такі 
випадки дійсно бувають. Вражає те, що за певний час, півкуля що залишилася 
бере на себе функції зниклої. Може перейняти не в повній мірі, проте система 
(людина) продовжує функціонувати. 
Ця властивість проявляється і у штучних нейронних мереж. Вони 
можуть видавати коректні результати навіть при значному пошкодженні 
складових їх компонентів. 
 
 
Рис. 2.2. Проведення аналогії стійкості людської та штучної нейронної 
мережі 
 
4) Надвисока швидкодія. 
Комп'ютер виконує команди послідовно, але в голові людини кожен 
нейрон функціонує як малий процесор, що обробляє сигнали одночасно разом 
із мільярдами інших нейронів, утворюючи гігантську мережу розподілених 
обчислень. Ця властивість також може проявлятися в штучних нейронних 
мережах, зокрема на багатоядерних комп'ютерах. 
Нейронні мережі, незважаючи на широкі можливості вирішення завдань, 
залишаються лише додатковим функціоналом, оскільки на першому місці все 
58 
одно знаходяться комп'ютерні програми. Важливо відзначити, що, інтегруючи 
звичайні програмні алгоритми та нейронні мережі, можна майже повністю 
уникнути потенційних недоліків, які притаманні виключно нейронним 
мережам.Приблизна відповідь; 
Нейронні мережі не здатні давати точні і однозначні відповіді. Гарна 
новина полягає в тому, що рідко зустрічаються завдання, в яких треба 
застосовувати і НС і одночасно отримувати точні відповіді. 
1) Прийняття рішення у кілька этапів. 
Аналогія з людським мозком тут не дуже простежується в силу того, що 
мозок - супер складна нейромережа і за рахунок свій складності він може 
подолати цей недолік. 
Нейрони в штучних нейромережах, в загальному випадку, 
функціонують незалежно один від одного. Вони просто приймають сигнал, 
обробляють його та передають далі, не взаємодіючи напряму один з одним. 
Кожен нейрон не обирає свої дії в залежності від інших нейронів або 
переглядає їх. Це означає, що нейронна мережа може вирішувати завдання 
тільки в рамках одного кроку, і просити її довести теорему або виконати 
послідовний ланцюжок кроків може бути неефективно. 
 
Рис. 2.3. Схема прийняття рішення в нейронній мережі 
59 
 
Наш мозок справляється з цим завданням завдяки тому, що він 
складається з величезної кількості маленьких нейромереж, кожна з яких може 
виконувати свій крок. Більш того, ми можемо використовувати і інші знайомі 
нам абстракції в допомогу. У штучної нейромережі ніякої допомоги немає. 
2) Обчислювальні завдання. 
Перша проблема виникає у зв'язку з необхідністю вказати нейромережі, 
яка частина виразу знаходиться під коренем, а яка - зліва від знака рівності. 
Також потрібно передати сам знак рівності. Якщо ці дані вдалося ввести в 
мережу, залишається вирішити проблеми послідовності кроків та наближеної 
відповіді, описані раніше. 
Зараз метод Віоли-Джонса є основоположним для пошуку об'єктів на 
зображенні в реальному часі і має низьку ймовірність помилкового виявлення. 
Його успішно використовують для пошуку облич, губ, очей та інших об'єктів. 
Раніше вважалося, що цей метод не підходить для виявлення тексту, але це 
твердження було спростовано, оскільки метод Віоли-Джонса ґрунтується на 
конкретних принципах [26]: 
− використовуються зображення в інтегральному уявленні; 
− використовуються ознаки Хаара; 
− використовується бустінг для вибору найбільш підходящих ознак для 
шуканого об'єкта на даній частині зображення; 
− всі ознаки надходять на вхід класифікатора, який дає результат 
«вірно» або «хибно»; 
− використовуються каскади ознак для швидкого відкидання вікон, де 
не знайдений текст. 
Незважаючи на те, що даний метод є основним для пошуку об'єктів на 
зображенні в реальному часі, його основний недолік полягає в тому, що 
результат роботи дуже залежить від навчальної вибірки. Це пояснюється тим, 
що в якості вхідних даних виступає яркостное зображення, яке чутливо до 
освітленості [27]. 
60 
Основним принципом методу k найближчих сусідів є те, що об'єкт 
присвоюється того класу, який є найбільш поширеним серед сусідів даного 
елемента. Сусіди беруться, виходячи з безлічі об'єктів, класи яких вже відомі, 
і, виходячи з ключового для даного методу значення k, вираховується, який 
клас найбільш численний серед них. Кожен об'єкт має кінцеве кількість 
атрибутів (розмірностей). 
Передбачається, що існує певний набір об'єктів з уже наявною 
класифікацією. 
Розглянемо алгоритм k найближчих сусідів докладніше. 
Нехай є n спостережень, кожному з яких відповідає запис в таблиці. Всі 
записи належать якомусь класу. Необхідно визначити клас для нового запису. 
На першому кроці алгоритму слід задати число k - кількість найближчих 
сусідів. Якщо прийняти k = 1, то алгоритм втратить узагальнюючу здатність 
(тобто здатність видавати правильний результат для даних, що не зустрічалися 
раніше в алгоритмі) так як новому запису буде присвоєно клас близькому до 
неї. Якщо встановити занадто велике значення, то багато локальні особливості 
будуть виявлено. 
На другому кроці знаходяться k записів з мінімальним відстанню до 
вектора ознак нового об'єкта (пошук сусідів). Функція для розрахунку відстані 
повинна відповідати наступним правилам: 
1) d (x, y) ≥ 0; 
2) d (x, y) = 0 тоді і тільки тоді, коли x = y;  
3) d (x, y) = d (y, x); 
4) d (x, z) ≤ d (x, y) + d (y, z), за умови, що точки x, y, z чи не лежать 
на одній прямій. 
Для впорядкованих значень атрибутів знаходиться Евклідова відстань 
[22]: 
 
���� = √∑��
�� (���� − �� 2
��)     (2.1) 
 
61 
де n – кількість атрибутів 
Для строкових змінних, які не можуть бути впорядковані, може бути 
застосована функція відмінності, яка задається наступним чином: 
 
0, при �� = 0
����(��, ��) = {     (2.2) 
1, при �� ≠ ��
 
Часто перед розрахунком відстані необхідна нормалізація. Нижче 
наведені формули що відносяться до процесу нормалізації. 
Мінімаксна нормалізація: 
 
��× ��−min (��)
=    (2.3) 
max(��)−min (��)
 
Нормалізація за допомогою стандартного відхилення: 
 
��− ������
��× =     (2.4) 
����
 
де σx – стандартне відхилення, 
Xср – среднє значення 
При знаходженні відстані іноді враховують значимість атрибутів. Вона 
визначається експертом або аналітиком суб'єктивно, покладаючись на власний 
досвід. У такому випадку при знаходженні відстані кожен i-ий квадрат різниці 
в сумі множиться на коефіцієнт Zi. Наприклад, якщо атрибут A в три рази 
важливіше атрибута B (ZA = 3, ZB = 1), то відстань буде обраховуватись у 
такий спосіб: 
 
���� = √3(���� − �� 2
��)  + (���� − ����)2   (2.5) 
 
62 
Подібний прийом називають розтягуванням осей (stretching the axes), що 
дозволяє знизити помилку класифікації [22]. 
Слід зазначити, що якщо для запису B найближчому сусідом є А, то це 
не означає, що В - найближчий сусід А. Дана ситуація представлена на  
рисунку 2.4. При k = 1 найближчій для точки B буде точка A, а для A - X. При 
збільшенні коефіцієнта до k = 7, точка B так само не буде входити в число 
сусідів точки A. 
На наступному етапі, коли знайдені записи, найбільш схожі на новий, 
необхідно вирішити, як вони впливають на клас нового запису. Для цього 
використовується функція об'єднання (combination function). Один з основних 
варіантів такої функції - це просте незважене голосування (simple unweighted 
voting). 
Будь-який метод, що використовує штучні нейронні мережі, вимагає або 
великої кількості прикладів задачі розпізнавання (із правильними 
відповідями), або спеціальної структури нейронної мережі, що враховує 
специфіку даної задачі. 
 
 
Рис. 2.4. Найближчі сусіди А і B 
 
Перспективними методами реалізації програмного продукту, 
заснованого на розпізнаванні текстової інформації з зображень, є підходи, які 
поєднують нейромережі із іншими методами обробки та розпізнавання 
63 
зображень. Зокрема, використання градієнтних методів може бути застосоване 
для розпізнавання піксельних змін кольору та сегментації зображення на 
символьні знаки. Побудова програмного продукту може базуватися на 
інтеграції методів інтелектуальних нейронних мереж для покращення 
ефективності розпізнавання. 
 
2.2 Модель розпізнавання текстової інформації з зображень для інтернет-
магазину на підставі штучних нейроних мереж 
Повнозв'язна довга короткострокова пам'ять (LSTM) зі шлюзом 
забування і зв'язками між коміркою і шлюзами [26] є рекуррентною 
двошаровою ШНМ (див. рис. 2.5). 
Замість прихованого нейрона використовується блок пам'яті, який 
містить одну або більше комірок, і пов'язаний з вхідним, вихідним і забування 
шлюзами (СІХ-фільтри) (див. рис. 2.6). 
Зв'язки між коміркою і шлюзами дозволяють шлюзам враховувати стан 
комірки. 
Вихідний сигнал комірки надходить по зворотньому зв'язку назад в блок 
пам'яті. 
Навчання повнозв’язного LSTM зі шлюзом забування і зв'язками між 
коміркою і шлюзами відбувається на основі корекції помилок (навчання з 
учителем) у вигляді комбінації алгоритмів зворотного поширення в часі 
(BPTT) і рекуррентного навчання в реальному часі (RTRL). 
 
64 
 
Рис. 2.5. Повнозв’язна довга короткострокова пам’ять (LSTM) з шлюзом 
забування 
 
 
Рис. 2.6. Структура комірки пам’яті 
65 
 
Модель LSTM 
n = 2 . 
sc
jv (n −1) = 0 , yc (1)
jv (n −1) = 0 ,v1,S j , j1, N . 
yin
i (n −1) = xi , 
 N (0) S j 
 in−gin s−gin
 wij y in
i (n −1) +w c
jvj s jv (n −1) +
 
gin i=1 v=1
y j (n) = f   , 
 S j
c−gin
+ w yc 
  jvj jv (n −1) 
 v=1 
j1, N (1)
, 
 N (0) S j 
 in−g s−g
 w in
ij yi (n −1) + w sc
 jvj jv (n −1) +
 
g i=1 v=1
y j (n) = f   , 
 S j
c−g c 
+w jvj y jv (n −1) 
 v=1 
j1, N (1)
, 
N (0) S j
net c
jv (n) =  win−s y in
ijv i (n −1) +wc−s c
jzjvy jz (n −1) , 
i=1 z=1
v1,S j , j1, N (1)
, 
c g c gin (1)
s jv (n) = y j (n)s jv (n −1) + y j (n)g(net c
jv (n)) , v1,S j , j1, N
, 
66 
 N (0) S j 
 in−gout in s−gout c
 wij yi (n −1) +w jvj s jv (n −1) +
 
gout i=1 v=1
y j (n) = f   , 
 S j
c−gout 
+w c
jvj y jv (n −1) 
 v=1 
j1, N (1)
, 
c gout (1)
y jv (n) = y j (n)h(sc
jv (n)) , v1,S j , j1, N , 
N (1) Si 
(2)
yout (n) = f  wc−out c 
j  
 ivj yiv (n) , j1, N . 

 i=1 v=1 
 
Метод навчання (комбінація алгоритмів зворотнього 
розповсюдження у часі та рекурентного начання у реальному часі) 
1. Номер ітерації навчання n = 2 , ініціалізація за допомогою 
in−gin
рівномірного розподілу на інтервалі (0,1) або [-0.5, 0.5] вагів wij (n) , 
in−g in−gout win−s (0) (1)
wij (n) , wij (n) , ijv (n) , i1, N , j1, N , v1, S j , 
s−gin s−g s−gout c−gin c−g c−gout
wivj (n) , wivj (n) , wivj (n) , wivj (n) , wivj (n) , wivj (n) , 
wc−s (n) i1, N (1) (1) c−out
izjv , , j1, N , z1, S j ,v1, S j , wivj (n) , 
i1, N (1) , j1, N (2) (0)
,v1, S j , де N  – кількість нейронів вхідного рівня, 
N (1) (2)
 – кількість нейронів прихованого рівня, N  – кількість нейронів 
вихідного рівня, S j  – кількість комірок у j -му блоці пам’яті. 
N (0) N (2)
2. Задається навчальна множина {(x ,d ) | x R ,d R } , 
1, P , де x  –  -й навчальний вхідний вектор, d  –  -й навчальний 
67 
вихідний вектор, P  – потужність навчальної множини. Номер поточної пари 
з навчальної множини  = 2 . 
3. Початковий обрахунок вихідного сигналу комірки 
sc c
jv (n −1) = 0 , y jv (n −1) = 0 , v1,S j , j1, N (1)
. 
4. Обчислення вихідного сигналу для кожного рівня (прямий хід) 
y in
i (n −1) = x−1,i , 
gin gin (1)
y j (n) = f (net j (n)) , j1, N , 
N (0) S j
gin in−gin s−gin
net j (n) =  wij (n)y in
i (n −1) + c
w jvj (n)s jv (n −1) +  
i=1 v=1
S j
c−gin
+ c
w jvj (n)y jv (n −1) ,  
v=1
1
f (s) = , 
1+ e−s
g g (1)
y j (n) = f (net j (n)) , j1, N , 
N (0) S j
g in−g in s−g
net j (n) =  w c
ij (n)yi (n −1) +w jvj (n)s jv (n −1) +  
i=1 v=1
S j
c−g
+ c
w jvj (n)y jv (n −1) ,  
v=1
1
f (s) = , 
1+ e−s
N (0) S j
net c (n) = win−s (n)y in
jv  ijv i (n −1) + wc−s
 jzjv(n)yc
jz (n −1) , 
i=1 z=1
v1,S j , j1, N (1)
, 
68 
c g c gin (1)
s (n) = y (n)s (n −1) + y (n)g(net c
jv j jv j jv (n)) , v1,S j , j1, N  
g(s) = 2 tanh( s) , 
gout gout
y j (n) = f (net j (n) , j1, N (1)
, 
N (0) S j
gout in−gout s−gout
net (n) = w in c
j  ij (n)yi (n −1) +w jvj (n)s jv (n −1) +  
i=1 v=1
S j
c−gout
+w c
jvj (n)y jv (n −1) ,  
v=1
1
f (s) = , 
1+ e−s
c gout c v1,S , j1, N (1)
y jv (n) = y j (n)h(s jv (n)) , j , 
yout (n) = f (netout
j j (n)) , j1, N (2)
, 
N (1) S
1 i
out
f (s) = , net j (n) = wc−out c
  ivj (n)yiv (n −1) . 
1+ e−s
i=1 v=1
 
 
5. Обчислення енергії помилки ШНМ 
1 N (2)
E(n) =  e2
i (n) , e (n) = yout
i i (n) − d−1,i . 
2 i=1
6. Налаштування синаптичних вагів на основі узагальненого дельта 
правила (зворотний хід) 
wc−out c−out E(n) (1)
ivj (n +1) = wivj (n) −  , i1, N , 
wc−out
ivj (n)
v1,S , j1, N (2)
j , 
69 
in−gout in−gout E(n)
wij (n +1) = wij (n) − , i1, N (0) , 
in−gout
wij (n)
j1, N (1)
, 
sc
in−s jv (n)
wijv (n +1) = win−s
ijv (n) − ec
jv (n) , i1, N (0) , 
win−s
ijv (n)
v1,S j , j1, N (1)
, 
S j sc
c−s c−s c jv (n)
w jzjv(n +1) = w jzjv(n) − e jz (n) , z1, S
c−s j , 
z=1 w jzjv(n)
v1,S j , j1, N (1)
, 
S j sc (n)
in−gin in−gin jv
wij (n +1) = wij (n) − ec
jv (n) , i1, N (0) , 
in−gin
v=1 wij (n)
v1,S j , j1, N (1)
, 
S j sc
in−g in−g c jv (n)
w (0)
ij (n +1) = wij (n) − e jv (n) , i1, N , 
in−g
v=1 wij (n)
v1,S j , j1, N (1)
, 
s−gout s−gout E(n) (1)
w jvj (n +1) = w jvj (n) − , v1,S j , j1, N , 
s−gout
wivj (n)
S j sc (n)
s−gin s−gin c jv
     w jvj (n +1) = w jvj (n) − e jz (n) , 
s−gin
z=1 w jzj (n)
v1,S j , j1, N (1)
, 
70 
S j sc (n)
s−g s−g jv
w jvj (n +1) = w jvj (n) − ec
jz (n) , 
s−g
z=1 w jzj (n)
v1,S j , j1, N (1)
, 
c−gout c−gout E(n) (1)
w jvj (n +1) = w jvj (n) − , v1,S , j1, N , 
c−gout j
wivj (n)
S j sc
jv (n)
c−gin c−gin c
     w jvj (n +1) = w jvj (n) − e jz (n) , 
c−gin
z=1 w jzj (n)
v1,S j , j1, N (1)
, 
S j sc (n)
c−g c−g jv
w jvj (n +1) = w c
jvj (n) − e jz (n) , 
c−g
z=1 w jzj (n)
v1,S j , j1, N (1)
, 
де  – параметр, що визначає швидкість навчання (при великому 
значенні  навчання відбувається швидше, але збільшується вірогідність 
отримати невірну відповідь), 0   1. 
E(n)
= yc
iv (n −1)out
j (n) ,  
wc−out
ivj (n)
E(n) in gout
= yi (n −1) j (n) ,  
in−gout
wij (n)
E(n) gout
= sc
jv (n −1) j (n) , 
s−gout
w jvj (n)
E(n) gout
= yc (n −1) (n) ,  
c−gout jv j
w jvj (n)
71 
 sc
c jv (n −1)
g gin
s jv (n)  y j (n) + y in (n −1)y c
in−s i j (n)g (net jv (n)), n  2
= wijv (n −1)
win−s
ijv (n)  in gin
yi (n −1)y j (n)g (net c
jv (n)), n = 2
, 
 sc
jv (n −1)
g c gin
sc
jv (n)  y j (n) + yiz (n −1)y j (n)g (net c (n)), n  2
= wc−s jv
(n −1)
wc−s  ijv
izjv (n) 
yc gin
 z (n −1)y j (n)g (net c
jv (n)), n = 2
, 
 sc
jv (n −1)
 
y j (n) +
sc in−g
jv (n) wij (n −1) n  2
= , 
in−g 
wij (n) in 
+ y j (n −1)sc
jv (n −1) f (net j (n)),

y in 
 j (n −1)sc
jv (n −1) f (net j (n)), n = 2
 sc
jv (n −1)
 
y (n) +
sc c−g j
jv (n) w jzj (n −1) n  2
=
c−g  , 
w jzj (n) + yc c 
 jz (n −1)s jv (n −1) f (net j (n)),
 c 
y jz (n −1)sc
jv (n −1) f (net j (n)), n = 2
 sc
jv (n −1)
 
y j (n) +
s−g
sc
jv (n) w jzj (n −1) n  2
= , 
s−g 
w c 
jzj (n) + s jz (n −1)sc
jv (n −1) f (net j (n)),
 
sc
jz (n −1)sc
jv (n −1) f (net j (n)), n = 2
 sc
jv (n −1)
g
 y j (n) +
c in−gin
s jv (n) wij (n −1) n  2
= , 
in−gin 
wij (n) + y in gin
 j (n −1)g(net c
jv (n)) f (net j (n)),

y in gin
 j (n −1)g(net c
jv (n)) f (net j (n)), n = 2
72 
 sc
jv (n −1)
g
 y j (n) +
c−gin
sc
jv (n) wizj (n −1) n  2
= , 
c−gin 
w (n) c c  gin
jzj + y jz (n −1)g(net jv (n)) f (net j (n)),
 c c  gin
y jz (n −1)g(net jv (n)) f (net j (n)), n = 2
 sc
jv (n −1)
g
 y (n) +
s−gin j
sc
jv (n) wizj (n −1) n  2
=  , 
s−gin
w c gin
jzj (n) + s jz (n −1)g(net c
jv (n)) f (net j (n)),
 c gin
s jz (n −1)g(net c
jv (n)) f (net j (n)), n = 2
N (2)
ec gout
jv (n) = y j (n)h(sc c−out out
jv (n))  w jvl (n)l (n) , 
l=1
out (n) = f (netout (n))(yout
j j j (n) − d−1, j ) , 
S N (2)
j
gout gout
 j (n) = f (net j (n)) h(sc (n)) wc−out (n)out
 jv  jvl l (n) . 
v=1 l=1
7. Перевірка умов завершення 
Якщо(n −1) mod P  0 , то  =  +1, n = n +1, перехід до 4. 
1 P
Якщо (n −1) mod P = 0  и E(n − P + s)   , то n = n +1, перехід 
P s=1
до 2. 
1 P
Якщо(n −1) mod P = 0  и E(n − P + s)   , то завершитися. 
P s=1
Переваги: 
1) Є універсальний апроксиматором. Забезпечує глобальну апроксимацію 
нелінійного відображення вхідного сигналу у вихідний. 
2) Забезпечує високу якість узагальнення. 
3) Автоматично визначається кількість прихованих рівнів. 
73 
4) На відміну від статичних ШНМ дозволяє здійснювати адаптивну 
фільтрацію, прогноз, адаптивне управління, параметричну ідентифікацію 
моделі, класифікацію нестаціонарних сигналів. 
5) На відміну від SRN (ENN), JNN, NARNN, NARMANN дозволяє 
працювати з довгостроковими нестаціонарними послідовностями. 
6) На відміну від традиційної LSTM краще вирішує завдання адаптивної 
фільтрації, прогнозу, адаптивного управління, параметричної 
ідентифікації моделі, класифікації нестаціонарних сигналів. 
Недоліки: 
1) Навчання відбувається повільніше, ніж в разі MLP, RBFNN, PNN, мережі 
Хеммінга, SOM, CPNN. 
2) Відсутнє автоматичне визначення числа нейронів (блоків пам'яті) в 
прихованому шарі і числа осередків в кожному блоці пам'яті. 
3) На відміну від методів навчання SVM, градієнтні методи навчання LSTM 
обирають положення розділяючоє гіперплощини довільним чином. 
4) Навчання не зводиться до задачі квадратичного програмування в опуклій 
області, що має єдине рішення. 
5) На відміну від ART, не вирішує проблему пластичності-стабільності. 
 
2.3 Аналіз та порівняння готових платформ для Інтернет магазину 
 
На сьогоднішній день галузь електронної комерції пропонує 
різноманітні можливості і варіанти. Вибір платформи є ключовим аспектом, і 
його важливо розглядати ще на етапі проектування бізнесу. Хоча наявність 
діючої офлайн основи є важливим фактором, вона не є обов'язковою для 
створення успішного Інтернет-магазину. З розвитком ринку інтернет-
магазинів вже визначилися основні кроки, уточнилися ціни і вимоги до 
розробників. 
Адміністративна панель керування (CMS) – це основа сайту, в якій 
налаштовується весь контент і функціонал. Сьогодні існує безліч готових 
74 
рішень для комерційних проектів і можна віддати перевагу або платним 
платформам, з розширеним функціоналом, або зупинитись на спрощеному 
безкоштовному варіанті [20]. 
Правильний вибір CMS є пріоритетнішим, ніж пошук хостингу або 
реєстрація домену. Дослідження статей про переваги і недоліки різних 
платформ, їхні можливості та функціонал, не завжди гарантує коректний вибір 
системи управління контентом. 
Вибір підходящої платформи досить непросте завдання, оскільки 
платформа повинна відповідати всім необхідним вимогам проекту. Вибір 
потрібно робити виключно виходячи з потреб проекту, керуючись наступними 
факторами: 
- масштаб проекту, 
- бізнес-цілі, 
- кількість товарів, 
- кількість бізнес процесів, 
- бюджет. 
Перед вибором платформи надзвичайно важливим є наявність 
технічного завдання для проекту. Виходячи з цього завдання, можна 
ефективно провести пошук потрібної платформи. Без конкретного технічного 
завдання неможливо забезпечити правильний вибір. 
Усі платформи можна умовно розділити на платні і безкоштовні, а також 
існує середній варіант – умовно безкоштовні, де базовий функціонал 
доступний без оплати, а за використання певних функцій, часто необхідних 
для коректної роботи ресурсу, може доведеться заплатити. Ексклюзивні 
платформи представляють собою розробку веб-студій, а самописні 
створюються під потреби замовника. Вибір підходящого варіанта залежить від 
конкретних вимог та бюджету проекту. 
Базовим правилом для відсіювання непідходящих варіантів може бути 
«Правило трьох «С» (The Three S's of Ecommerce): 
75 
- Місце для зберігання (Storage Space). Деякі розробники сайтів 
електронної комерції встановлюють обмеження на ваші продажі, тому варто 
звертати увагуна запропонує простір запасів та пропускну здатність 
відповідно до потреб. Найкраща платформа електронної комерції дозволить 
інтернет-магазину продавати онлайн без обмежень. 
- Протоколи безпеки (Safety Protocols). Виберіть програму, яка 
пропонує захист від шахрайства та шифрування захищеного сокетного шару 
(SSL). Це для захисту продавця та покупця. Технологія SSL дозволяє надійно 
надсилати онлайн-платежі та є обов'язковою на всіх веб-сайтах електронної 
комерції. 
- Дизайн сайту (Site Design). Рішення для електронної комерції має 
мати зручний інтерфейс. Кращі сайти електронної комерції та функції кожного 
інструменту повинні бути зрозумілими, а також вибирати потрібні варіанти. 
Висококласний конструктор сайту спростить побудову свого інтернет-
магазину. Обширна команда поширених запитань та підтримки клієнтів може 
змінити світ. Добре розроблені меню, фільтри та параметри сортування 
мінімізують кількість часу, необхідного для пошуку товару та його придбання 
[23]. 
Багато розробників електронних комерційних сайтів пропонують 
професійно розроблені шаблони, які не лише приємні для очей, але й сприяють 
поліпшенню загального досвіду покупців. Аналогічно до фізичного магазину, 
який виглядає хаотично та неорганізовано, непорядок на веб-сайті електронної 
комерції може залишити клієнтів розчарованими та порожніми руками. З 
іншого боку, простий і приємний процес покупки сприяє успішному 
завершенню транзакції та позитивному враженню від покупки. 
Важливо об’єктивно оцінити можливості і функціонал CMS. Перш ніж 
зупинитясь на одному із варіантів, варто детально звернути увагу на наступні 
параметри платформ: 
- Шаблони оформлення 
- Сторінки товарів і каталог 
76 
- Параметри налаштування SEO 
- Сервіс доставки і оплати покупок 
- Додаткові можливості 
- Витрати на обслуговування 
Незалежно від того, платні шаблони або безкоштовні, вони повинні бути 
зручними і функціональними. Більшість відвідувачів в першу чергу оцінює 
саме візуальну привабливість сайту, а гарний шаблон дозволить людям 
затриматись і докладніше вивчити ресурс. В майбутньому вплив поведінкових 
факторів користувачів дасть перевагу в ранжуванні пошукових систем. Велика 
кількість шаблонів під обрану CMS дозволить максимально гнучко 
налаштувати ресурс під виконання поставлених завдань. 
Нині цей параметр може розходитися із показниками на сайтах, де 
основний потік надходить з мобільних пристроїв, тому адаптивність шаблонів 
під смартфони та планшети – важливий критерій при виборі платфоми [23]. 
Найбільш важливий фактор для оцінки привабливості інтернет-магазину 
– правильне оформлення товарних позицій. Простота роботи з цим розділом 
дозволить швидко і ефективно наповнювати контентом ресурс. 
Підтримка різноманітних фільтрів товарів за різними критеріями дійсно 
спростить використання сайту для відвідувачів. Найбільш затребуваними 
фільтрами для інтернет-магазинів є зазвичай категорії, такі як ціна, бренд, 
популярність та характеристики товарів. Забезпечення платформою підтримки 
цих фільтрів дозволяє створити максимально комфортне для відвідувачів 
середовище та полегшити їх вибір та навігацію по асортименту. Приклад 
сторінки продукту з різноманітною інформацією по продукту, його 
характеристиками та опціями оплати/доставки показано на рис. 2.7. 
 
77 
 
Рис. 2.7. Приклад якісної картки товару - інтернет-магазин Оновка 
 
Адаптація ресурсу під вимоги пошукових систем – запорука великої 
кількості відвідувачів сайту і продажів. Якщо платформа не дозволяє 
проводити ефективне і актуальне налаштування SEO, можна не розраховувати 
на трафік з природою видачі, тому не вдасться отримати цю частину прибутку 
з проекту. Це особливо важливо, якщо конкуренти у вашому середовищі вже 
адаптували свої ресурси і просуваються більш ефективно серед вашої цільової 
аудиторії. CMS з оптимальним набором SEO-інструментів і вміле їх 
78 
використання дозволить планомірно розвивати сайт, наближаючи його до 
перших сторінок видачі. 
Кожен покупець обирає той спосіб онлайн-покупки, який найбільше 
відповідає його вподобанням. Доцільний підхід власника веб-ресурсу полягає 
в тому, щоб надати різноманітні опції, щоб кожен клієнт міг зручно вибрати 
оптимальний варіант: оплата карткою чи віртуальними грошима, доставка до 
відділення пошти або кур'єрська доставка до дому. Ідеальний движок для 
інтернет-магазину повинен забезпечувати повну налаштовуваність цього 
функціоналу. Підключення нових методів доставки і оплати має бути простим 
і зрозумілим, з мінімальним втручанням у код [22]. 
Налаштовувати цей розділ необхідно з урахуванням всіх комісій, щоб 
людина змогла побачити фінальну суму його покупки. Це додасть компанії 
лояльності з боку клієнтів і позбавить покупця від утомливих прорахунків. 
CMS, що настроюється індивідуально, – потужна зброя проти сайтів-
конкурентів. Якщо обраний движок дозволяє впровадити цікаві опції, 
обов'язково варто скористатися цією можливістю. Клієнти будуть високо 
оцінювати можливість порівняння різних товарів, зацікавлятимуться 
супутніми позиціями, зручно використовуватимуть особистий кабінет і з 
задоволенням користуватимуться персональними знижками і бонусами. 
Кожна з таких особливостей стає конкурентною перевагою вашого бізнесу. 
При виборі SEO-friendly платформи важливо врахувати необхідність 
подальшого розкручування його в пошукових системах: 
- чистий вихідний код 
- адаптивний дизайн 
- мета-теги 
- швидке завантаження сторінок 
- текстовий контент на всіх сторінках 
- можливість підключення SEO-скриптів 
Потреба в зміні та модернізації функціоналу сайту виникає з часом, 
оскільки стандартний набір опцій старіє. Буде ефективніше, якщо для 
79 
модернізації ресурсу фахівцеві не доведеться витрачати значні зусилля та час. 
Простота апгрейда системи дозволить зекономити кошти. Деякі CMS моделі 
вимагають вузькопрофільних знань від програмістів, що може підняти ціну на 
поліпшення інтернет-магазину в порівнянні зі звичайними моделями. Всі 
варіанти CMS можна умовно розділити на 3 категорії: 
- Комерційні рішення – такого роду конструктори розробляються 
для реалізації ліцензій. Такий варіант дає можливість купити движок і 
отримати послугу його технічного обслуговування. Простота в експлуатації 
дозволяє самостійно створювати веб ресурс на основі купленого коробкового 
рішення, не вдаючись до залучення фахівців зі створення сайтів. 
- Системи, доступні безкоштовно, або Open-source CMS, 
характеризуються великими можливостями в області модернізації. Після 
доопрацювання платформи при бажанні можна поділитися змінами з іншими 
користувачами. 
- CMS з обмеженим доступом призначені для роботи на базі 
розробника. Такі рішення фінансово практично недоступні звичайним 
користувачам. Два попередні варіанти оптимальні для середньостатистичних 
творців інтернет магазину. 
Також варто відмітити, що для ексклюзивних проектів з нестандартним 
набором функцій і наявністю можливості доопрацювання ідеально підходять 
тільки самописні CMS. 
WooCommerce. Простіше кажучи, WooCommerce є найкращою та 
найбільш налаштованою платформою із наявних на ринку для відкриття та 
функціонування онлайн-магазину. Ви зможете продавати все, що завгодно, 
будь-де та будь-яким способом. 
Проте, плагін WooCommerce може використовуватися лише як частина 
веб-сайту, який базується на WordPress. Оскільки він легко встановлюється, як 
плагін, на вашому сайті WordPress, вам не доведеться вивчати щось додаткове 
для його використання. Незважаючи на те, що він не такий простий як деякі 
конструктори сайтів типу «drag and drop», він все ж заслуговує на розгляд. Для 
80 
того, щоб допомогти вам розпочати роботу з ним, в мережі існує багато 
інструкцій та уроків. Крім того, це програмне забезпечення із відкритим 
кодом, тож, якщо ви програміст, то ваші можливості нескінченні. 
Завдяки тому, що цей плагін має відкритий код і може налаштовуватись 
під користувача, він дозволяє приймати необмежену кількість замовлень і не 
потрібно сплачувати WooCommerce жодних комісій. Можна мати необмежену 
кількість облікових записів на сайті і обирати цільову аудиторію та клієнтську 
базу по всьому світові без додаткових витрат [23]. 
Деякі з інших примітних характеристик WooCommerce включають 
можливість додавати купони, виділяти важливі або популярні товари на 
вашому сайті, керувати замовленнями з однієї панелі управління та 
переглядати відгуки для вдосконалення якості обслуговування клієнтів та 
збільшення об’ємів продаж. Зовінішній вигляд панелі встановлення 
WooCommerce додатків представлено на рис. 2.8. 
Плагін можна завантажити з сайту WooCommerce або 
адміністраторської панелі WordPress безкоштовно. Встановлення плагіну 
дуже просте і аналогічне встановленню інших плагінів, які ви використовуєте 
для WordPress. Вичерпна документація дозволяє вам знайти відповіді на всі 
ваші питання. Більш того, широка мережева спільнота також використовує цей 
плагін, тож ваші питання в форумах не лишаться без відповіді. 
81 
 
Рис. 2.8. Адміністративна панель WooCommerce 
 
Вичерпна документація дозволяє знайти відповіді на всі запитання. 
Більш того, широка мережева спільнота також використовує цей плагін, тож 
питання в форумах не лишаються без відповіді. 
Переваги WooCommerce: 
- Платформа елементарна у вивченні, користувач швидко освоює 
систему і може використовувати в роботі її переваги. 
- Різноманіття налаштувань дозволяє гнучко змінювати функціонал 
сайту, вносячи коригування за допомогою плагінів або модифікуючи код. 
- Постійне оновлення CMS усуває недоробки і баги, а також 
приносить нові можливості при роботі з ресурсом. 
- Під час завантаження зображень, CMS автоматично робить різні 
розміри зображень: (150х150) мініатюра, (300х300) середнє, (1024х1024) 
велике зображення. 
Недоліки: 
- Має велике навантаження на сервер, якщо досить великий магазин 
(від 1000 товарів), платформа може гальмувати. Звичайно, можна і 
82 
налаштувати грамотно працездатність, але потрібен фахівець, здатний 
переробити WordPress. 
- Досить просто зламати сайти на WP, що мають низький захист, 
тому потрібно ставити платні плагіни, що дозволяють забезпечити потрібний 
захист. 
PrestaShop. Presta Shop є «легким» програмним забезпеченням, яке 
досить просто скачати і встановити. Платформа найкраще підходить для 
малого та середнього бізнесу. Тобто Presta Shop є найкращим рішенням для 
старту бізнесу, оскільки магазин простий, не потребує стільки навиків і знань 
як Magento, і не вимагає просунутих навиків програмування для успішного 
управління магазином [24]. 
Presta Shop не витратний з точки зору хостингу. Додаток не вимагає 
виділених серверів (як Magento) для демонстрації високої швидкодії. Presta 
Shop забезпечує підтримку світового класу, яка миттєво пропонує рішення за 
вимогами клієнтів. 
 
 
Рис 2.9 – Сторінка загальної статистики PrestaShop 
 
Розглянувши загальні особливості платформи, перейдемо до 
дизайнерських можливостей, оскільки вигляд головної вітрини – це та основа, 
83 
яка затягує досвідчених покупців і одночасно приносить дохід власникам 
магазину. 
Гарненькі теми від Presta Shop також відповідають вимогам вибагливих 
замовників: 
- відповідний бренд-слайдер платформи дозволяє покупцям 
здійснювати пошук продукції за марками; 
- Presta Shop надає можливість встановити сіткову розмітку для 
продукції, внесеної до списка сторінки. 
- включено такі функції як Specials (спеціальні пропозиції), Quick 
View of cart (Швидкий перегляд корзини), manufacturers (виробники), new 
arrivals (новий товар); 
Варто відзначити, як і Magento, Presta Shop, використовують обробник 
шаблонів Smarty. Обробник написаний на PHP і компілює вміст особливим 
чином, розміщуючи спеціальні теги які потім опрацьовуються і замінюються 
з іншим кодом. 
Платформа Shopify визнана в електронній комерції як одна з найбільш 
інтегрованих та легких у використанні хостинг-платформ. Завдяки Shopify 
власники магазинів можуть швидко створити професійний, адаптивний веб-
сайт, навіть не маючи знань у сфері кодування та програмування. 
Платформа пропонує високоякісні шаблони магазинів, спеціально 
оптимізовані для ефективної реклами, а її сервери та інфраструктура 
розроблені з урахуванням потреб електронної комерції. Це гарантує високу 
швидкість завантаження, надійність інтеграції платежів, зручні налаштування 
та доступ до аналітики, необхідної для успішного запуску інтернет-магазину. 
Однією з ключових переваг Shopify є легкість налаштування інтернет-
магазину завдяки інтуїтивному інтерфейсу drag-n-drop. Навіть початківці 
можуть налаштувати веб-сайт всього за декілька хвилин. 
Платформа Shopify пропонує безліч функцій, завдяки яким кожен може 
швидко і легко створити свій інтернет-магазин. Вибравши тему, 
використовуючи панель інструментів, можна додати продукти, налаштувати 
84 
вартість доставки у магазині, встановити податкові збори та інтегрувати 
платіжні методи (платформа Shopify підтримує 100 платіжних методів зі 
всього світу). 
Окрім можливості групувати продукти за категоріями, платформа також 
надає можливість створення колекцій, в яких можна об'єднати обрані товари з 
різних рекламних ресурсів. Наприклад, створити розділ з назвою "Весільні 
подарунки" або "Сезонний розпродаж" та включити у ці розділи продукти з 
різних категорій. 
Якщо є необхідність продавати товари у традиційному офлайн магазині, 
Shopify забезпечує POS-сервіс, який дозволяє приймати платежі через 
мобільний додаток. За допомогою цієї платформи можна інтегрувати та 
синхронізувати точку продажу з інтернет-магазином, що дозволяє ефективно 
керувати всім бізнесом через єдину інформаційну панель (див. рис. 2.10). 
 
 
Рис. 2.10. POS система для здійснення офлайн платежів 
 
До основних недоліків відносяться слабка ефективність SEO та жорстка 
структура URL-адрес, які не піддаються конфігураційній модифікації. Також 
85 
стягуюється комісія за трансакції, якщо не використовується система Shopify 
Payments [23]. 
Плюси Shopify: 
- Дуже швидке завантаження сторінок 
- Легкий у налаштуванні 
- Багато сертифікованих партнерів, які допоможуть у вирішенні 
проблем 
- Дозволяє багатоканальний та соціальний продаж 
- Багатоий вибір тем з різноманітним дизайном 
Недоліки Shopify: 
- Деякі тести показують погані SEO результати 
- Проблеми з налаштуванням процесу оформлення замовлення 
- Важливі модулі можуть дорого коштувати 
- Потрібен розробник для розширених та нестандартних функцій 
Існує понад 120 різних платформ програмного забезпечення для зручно 
ведення інтернет магазину, і всі вони мають своє місце на ринку. Діаграма 
популярності між обраними популярними інструментами: Magento, 
WooCommerce, PrestaShop та Shopify за останні 12 місяців наведена у Додатку 
А. 
Ще один спосіб аналізу популярності - це пов’язати його з тим, куди 
йдуть клієнти, коли вони залишають певну платформу електронної комерції. 
Причина ефективності такого графіку полягає в тому, що вона дає показник 
того, хто з компаній не відставав від технологій та вдосконалив, щоб залучити 
додаткових клієнтів. 
 
 
2.4 Загальна характеристика та огляд можливостей платформи Magento 
 
Magento — система керування вмістом з відкритим кодом, призначена 
для створення інтернет-магазинів. Вона є однією з найпопулярніших 
86 
відкритих систем для організації електронної комерції в мережі. На базі цієї 
платформи створено понад 100 тисяч інтернет-магазинів, сторонніми 
розробниками створено більше 2 тисяч розширень, спільнота проекту налічує 
близько 375 тисяч учасників, код платформи був завантажений більше 2,5 млн 
разів, через системи на базі Magento в 2019 році було продано товарів на понад 
155 мільярдів доларів. Два роки тому платформа Magento Commerce складала 
близько 30% загальної частки ринку інтернет магазинів [25]. 
17 листопада 2015 року було випущено Magento 2.0. Серед 
особливостей, змінених у V2, є такі: зменшення проблем із блокуванням 
таблиці, покращене кешування сторінок, масштабованість корпоративного 
класу, вбудовані розширені фрагменти для структурованих даних, нова 
структура файлів з більш простою налаштуванням, попередня обробка CSS за 
допомогою розділювача URL-адреси LESS та CSS, підвищення 
продуктивності та більш структурована база коду. 
У Magento використовується система управління реляційними базами 
даних MySQL або MariaDB, мова програмування PHP та елементи Zend 
Framework. Він застосовує конвенції об'єктно-орієнтованого програмування та 
архітектури модель-перегляд-контролер. Magento також використовує модель 
сутність-атрибут-значення для зберігання даних. Крім того, Magento 2 
представила шаблон Model-View-ViewModel до свого коду, використовуючи 
бібліотеку JavaScript Knockout.js. 
Базовий код Magento поширюються в рамках схваленої організацією 
Open Source Initiative (OSI) ліцензії Open Software License (OSL) v3.0, близької 
за своєю суттю до ліцензії AGPL, але не сумісної з GPL. Особливість ліцензії 
OSL полягає в тому, що якщо хтось модифікує програму, але не буде 
поширювати результат своєї роботи, а просто задіює його на своєму сайті, то 
він все одно зобов'язаний відкрити код внесених змін і поширювати його під 
тією ж ліцензією. При цьому ліцензія OSL 3.0 не забороняє комерційне 
використання продуктів. 
87 
Офіційно розробка Magento почалась 2007 року. Через сім місяців, 
31 серпня 2007 року, була випущена перша публічна бета-версія. 
Varien, компанія, що володіє Magento, раніше працювала з osCommerce. 
Спочатку Varien планував розпродаж osCommerce, але пізніше вирішив 
переписати його як Magento. 
У перші роки свого існування платформа кілька разів була лауреатом 
"Найкращого програмного забезпечення з відкритим вихідним кодом" та 
"Нагороди з вибору спільноти SourceForge". 
У лютому 2011 року eBay оголосив, що зробив інвестицію в Magento в 
2010 році, на суму 49% власності компанії. 6 червня 2011 року eBay оголосив, 
що придбає решту Magento, яка приєднається до своєї нової ініціативи 
X.Commerce. Генеральний директор та співзасновник Magento Рой Рубін 
написав у блозі Magento, що "Magento продовжить працювати поза Лос-
Анджелесом". 
Йоав Кутнер покинув Магенто в квітні 2012 року, посилаючись на те, що 
бачення Magento змінилося з моменту придбання через зміни персоналу на 
високому рівні. 
Внаслідок розпаду eBay, 3 листопада 2015 року Magento був 
відокремлений як незалежна компанія новим власником фонду приватного 
капіталу Permira [25]. 
У травні 2018 року було оголошено, що Magento буде придбано Adobe 
за $ 1,68 млрд з метою інтеграції його в Adobe Experience Cloud, її платформу 
Enterprise CMS. Придбання було завершено 19 червня 2018 року. 
Magento пропонує дві різні платформи: Magento Open Source (раніше 
Magento Community Edition) та Magento Commerce; остання доступна в 
локальній версії (раніше Magento Enterprise Edition) або як хмарна платформа 
(раніше Magento Enterprise Cloud Edition). Були також дві колишні варіації, 
Magento Professional Edition та Magento Go. 
Magento Open Source, раніше Magento Community Edition, є платформою 
електронної комерції з відкритим кодом. Розробники можуть реалізувати 
88 
основні файли та розширити його функціональність, додавши нові модулі, що 
надаються іншими розробниками. З моменту випуску першої бета-версії у 
2007 році Magento Open Source була розроблена та налаштована з метою 
створення базової платформи електронної комерції. 
Поточний випуск та кожна з попередніх історичних версій 1.X та 2.X 
версій Magento Open Source доступні на веб-сайті Magento Commerce, Inc. для 
завантаження як завантаження з одним файлом. Поточна розробка 2.X версії 
Magento CE публічно координується на GitHub. 
Термін експлуатації Magento 1 закінчиться 30 червня 2020 року. 
Останніми версіями, які активно підтримуються Magento Open Source є CE 
1.9.3 та 2.3.3. 
Magento продовжить буди платформою з відкритим кодом навіть після 
недавнього придбання Adobe. Випущений 11 квітня 2016 року, Magento 
Commerce є платформою електронної комерції як послуга. 
Magento 2 має багато нових та вдосконалених функцій, інструментів для 
розробників, а архітектура дуже відрізняється від усіх попередніх версій. 
Magento 2 був оголошений у 2010 році. Він був запланований до виходу в 2011 
році, а його торгова бета-версія була випущена в липні 2015 року. З того часу 
Magento 1 і Magento 2 існують одночасно. 
Magento Commerce, раніше "Magento Enterprise Edition" походить від 
Magento Open Source і має однакові основні файли. На відміну від Open Source, 
вона не є безкоштовною, але має більше можливостей та функціональності. 
Цей продукт призначений для великих підприємств, яким потрібна технічна 
підтримка встановлення, використання, налаштування та усунення 
несправностей. Хоча Magento Commerce має щорічну плату за 
обслуговування, ні відкритий код, ні комерція не включають хостинг. 
Команда Magento розвиває Magento Commerce, співпрацюючи з 
користувачами та третіми сторонами. Розвиток у галузі 2.X Magento Commerce 
координується публічно на GitHub. Таблиця порівняння функціональності 
безкоштовної та платної версій подано у Додатку Б. 
89 
У табл. 2.2 наведено прайс-лист на придбання ліцензії Enterprise Edition. 
Цифри для Enterprise Cloud Edition поєднують у собі вартість хостингу та 
ліцензування підприємств, також є можливість створення індивідуального 
плану. 
Таблиця 2.2 
Прайс-лист на ліцензію Enterprise Edition 
Валовий дохід від Magento 2 Enterprise Magento 2 
продажу Edition (EE) Enterprise Cloud 
Edition (ECE) 
$0 - $1 million $22,000.00 $40,000.00 
$1 - $5 million $32,000.00 $55,000.00 
$5 - $10 million $49,000.00 $80,000.00 
$10 - $25 million $75,000.00 $120,000.00 
$25 - $50 million $125,000.00 $190,000.00 
 
Мадженто активно співпрацює з розробниками розширень. Партнери 
Magento Solution - це компанії, які мають великий досвід впровадження веб-
сайтів електронної комерції Magento. 
Партнери технології Magento - це компанії чи розробники, які 
допомагають продавцям вдосконалювати свій веб-сайт. Вони охоплюють 
понад 20 різних категорій, включаючи автоматизацію маркетингу, платежі, 
управління вмістом, доставку, податок, хостинг та продуктивність. Для 
забезпечення якості та сумісності всі Magento Technology Partners проходять 
суворий огляд бізнесу-логіки та технологій. Партнерів Magento Technology 
можна знайти в офіційному каталозі веб-сайтів. 
Остання активно підтримувана версія Magento Commerce - 2.4.6 (EE та 
CE), випущена 7 жовтня 2023 року. 
Компанією була впроваджена система сертифікації задля визначення 
рівня розробників. Існує чотири різні сертифікати Magento. Три з них мають 
90 
на меті довести компетентність розробників у впровадженні модулів; один 
(Certified Solution Specialist) орієнтований на бізнес-користувачів 
(консультантів, аналітиків, керівників проектів). Сертифікація розробників 
Magento Front End орієнтована в основному на вдосконалення 
користувальницького інтерфейсу (UI) розробників, що реалізують основні 
модулі. Сертифікація Plus перевіряє глибоке розуміння модулів Magento 
Enterprise та всієї архітектури вцілому [24]. 
Magento має один із найширших списків функцій щодо програм 
електронної комерції. Це головна причина, чому більшість клієнтів Magento - 
це великі корпорації. 
З «коробки» Маджента вже має всі необхідні засоби для роботи онлайн-
магазину, включаючи стандартні теми для сторін користувача та продавця. 
Потужним є також функціонал управління каталогом продуктів та 
конфігурацій магазину в цілому (див. рис. 2.11). 
 
 
Рис. 2.11. Сторінка конфігурації продукту з адміністративної панелі 
 
Також у наявності є потужний редактор WYSIWYG (What You See Is 
What You Got) який дозволяє налаштовувати блоки, віджети та цілі сторінки з 
адміністративної панелі. При цьому адміністратору не обов’язково володіти 
91 
знаннями у програмуванні, так як редактор надає набір широких можливостей 
по додаванню та редагуванню контенту (див. рис. 2.12). 
 
 
Рис. 2.12. Сторінка налаштування домашньої CMS сторінки 
 
Головною перевагою можна вважати наявність зручної системи 
керування - адміністративної панелі, в якій можна робити гнучку 
конфігурацію як окремих аспектів сайту так і всього магазину. Функціонал 
дозволяє додавати товари, сортувати їх за категоріями, додавати нові магазини 
тощо. 
До основних переваг Magento відносяться: 
- Magento побудований на Zend Framework. Архітектура «слабкого 
зв’язування» з мінімальними залежностями між частинами проекту робить 
Magento більш масштабованою і гнучкою платформою ніж її конкуренти; 
- Платформа надає свободу вибору налаштувань. Адміністратор 
отримує можливість управляти та повністю контролювати роботу магазину 
при цьому, не обов’зково мати навики програмування; 
- Magento забезпечує продавців потужним вбудованим SEO 
функціоналом для високого пошукового ранжування і швидких темпів 
просування; 
92 
- Широкий набір функцій, які пропонуються для оформлення 
покупки не доступні у більшості аналогів, що робить магазин на Magento 
особливим; 
- Magento може забезпечувати і роботу великого бізнесу завдяки 
власній передовій функції мультимагазину; 
- Легка інтеграція JQuery та KnockoutJs. Для новачків у управлінні 
дизайном JQuery бібліотека значно полегшує швидку веб-розробку; 
- Актуальні можливості та сучасні технології. PHP7, HTML5, CSS3 
та препроцесори LESS/SASS, RequireJS, встановлення-оновлення за 
допомогою Composer; 
- Модульність платформи дозволяє неймовірну гнучкість та 
об’єднання різних функціоналів залежно від потреб продавця; 
- Детальна документація, яка охоплює майже всі аспекти 
платформи починаючи від бізнес-логіки і закінчуючи створенням власних 
модулів та тем. 
Magento, хоча і має вражаючий функціонал та стабільність, відома своєю 
складною конфігурацією та вимогами до ресурсів, що робить її вимогливою 
до потужних серверів. Однак, цей недолік компенсується широким спектром 
можливостей. 
Невідомою перевагою Magento є активна спільнота розробників, яка 
забезпечує безліч безкоштовних ресурсів та допомагає вирішувати проблеми. 
Спільнота працює на платформі Github, де розробники готові відповідати на 
запитання та надавати допомогу. Також існує спеціальний веб-сайт, де можна 
знаходити офіційні верифіковані розширення та теми для підвищення 
функціональності Magento.  
93 
РОЗДІЛ 3 
ДОСЛІДЖЕННЯ НЕОБХІДНИХ ІНСТРУМЕНТІВ ТА 
ПРОЕКТУВАННЯ МОДУЛЯ РОЗПІЗНАВАННЯ 
 
3.1 Вибір технічних засобів для розробки системи 
 
Однією потенційно гарною стратегією може бути розробка двох 
програмних продуктів. Перший з них може бути створений за допомогою 
безкоштовної OCR-системи, інтегрованої з інтернет-магазином Magento. 
Другий продукт відповідатиме принципам інтелектуальної системи 
розпізнавання текстової інформації, базуючись на методах і принципах 
нейронних мереж. 
Для розробки першого програмного продукту можна використовувати 
OCR.Space SDK/API, яке є однією з кращих безкоштовних OCR-систем за 
результатами проведеного аналізу. Цей продукт може бути легко інтегрований 
з Magento, що дасть можливість користувачам взаємодіяти з ним через будь-
який браузер. 
Щодо інтерфейсу ПЗ, важливо зробити його зрозумілим та простим для 
користувачів, навіть при першому використанні. Зручність інтерфейсу грає 
ключову роль, оскільки важливо відобразити повну взаємодію додатку в 
компактній та інтуїтивно зрозумілій формі на фронтенді сайту. Надзвичайно 
важливо також забезпечити правильне та лаконічне відображення веб-додатку 
на будь-яких мобільних пристроях, використовуючи технології Magento та 
передбачаючи дизайн заздалегідь. 
Для початку варто визначитися з набором необхідних інструментів, IDE 
та принципу взаємодії з сервісом для розпізнавання, які підійдуть у розрізі 
даного інтернет магазину. 
Магазин базується на мові програмування PHP, яка виконується на 
серверному боці, формуючи готові сторінки для подальшого відображення в 
браузері. Також використовується JavaScript, який в даному випадку служить 
94 
не лише для створення динамічного контенту на сторінках, але й для взаємодії 
з сервером через різноманітні запити (див. рис. 3.1). 
 
Рис. 3.1. Схема взаємодії користувача, браузера та сервера 
 
PHP (Hypertext Preprocessor) — скриптова мова програмування, яка була 
створена для генерації HTML-сторінок на стороні веб-сервера. PHP є однією з 
найпоширеніших мов, що використовуються у сфері веб-розробок (разом із 
Java, .NET, Perl, Python та Ruby). PHP підтримується переважною більшістю 
хостинг-провайдерів та є проектом відкритого програмного забезпечення. 
PHP інтерпретується веб-сервером у HTML-код, який передається на 
сторону клієнта. Однак, на відміну від скриптової мови JavaScript, користувач 
не може бачити PHP-код, оскільки браузер отримує готовий html-код. Це має 
переваги з точки зору безпеки, але обмежує можливості реалізації 
інтерактивності сторінок без додаткового використання JavaScript. 
95 
Незважаючи на це, PHP може використовуватися для генерації 
JavaScript-коду, який виконується на стороні клієнта, забезпечуючи 
можливості для реалізації інтерактивних елементів на сторінках веб-сайту. 
Широкий спектр функцій PHP дозволяє уникнути написання 
багаторядкових функцій, як це може знадобитися в мовах програмування, 
таких як C або Pascal. 
У наявність є декілька інтерфейсів для роботи з багатьма базами даних. 
У PHP вбудовані бібліотеки для роботи з MySQL, PostgreSQL, SQLite, mSQL, 
Oracle, dbm, Hyperware, Informix, InterBase, Sybase. 
Завдяки стандарту відкритого інтерфейсу зв'язку з базами даних (англ. 
Open Database Connectivity Standard, ODBC) можна підключатися до всіх баз 
даних, до яких існує драйвер. 
Мова PHP відома своєю знайомістю для програмістів, що працюють у 
різних галузях. Багато конструкцій мови були запозичені з С та Perl, що робить 
код PHP дуже схожим на той, який використовується в типових програмах на 
мовах С та Pascal. Це спрощує початковий процес вивчення PHP, особливо для 
тих, хто вже знайомий із зазначеними мовами програмування. 
PHP поєднує переваги Perl та С та спеціально орієнтована на роботу в 
Інтернеті. Мова володіє універсальним і зрозумілим синтаксисом. Навіть як 
нова мова програмування, PHP набула значної популярності серед веб-
програмістів і на сьогоднішній день є найпопулярнішою мовою для створення 
веб-застосунків та скриптів. 
Стратегія Open Source, яка передбачає розповсюдження вихідних текстів 
програм в масах, також має позитивний вплив на проекти, зокрема Apache та 
PHP. Впровадження стратегії Open Source і безкоштовна розповсюдження 
початкових текстів PHP сприяли його швидкому розвитку. Спільнота 
користувачів PHP з усього світу відіграє важливу роль у підтримці та розвитку 
мови, і це виділяється на популярних електронних конференціях, де можна 
знайти відповіді на найрізноманітніші питання. 
96 
Ефективність є дуже важливим чинником у програмуванні для 
середовищ розрахованих на багато користувачів, до яких належить і web. 
Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це 
дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими 
оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) 
обробляються швидше за аналогічні їм програми, написані на Perl. 
JavaScript (JS) — динамічна, об'єктно-орієнтована прототипна мова 
програмування, яка найчастіше використовується для створення сценаріїв веб-
сторінок, що надає можливість на стороні клієнта (пристрої кінцевого 
користувача) взаємодіяти з користувачем, керувати браузером, асинхронно 
обмінюватися даними з сервером, змінювати структуру та зовнішній вигляд 
веб-сторінки. 
JavaScript класифікується як прототипна (частина об'єктно-
орієнтованої), скриптова мова програмування з динамічною типізацією. Окрім 
прототипної парадигми, JavaScript також частково підтримує інші парадигми 
програмування, такі як імперативна та частково функціональна. В мові 
реалізовані деякі відповідні архітектурні властивості, включаючи динамічну 
та слабку типізацію, автоматичне керування пам'яттю, прототипне 
наслідування, та функції як об'єкти першого класу. 
Незважаючи на схожість у назвах, Java та JavaScript є двома різними 
мовами програмування з відмінною семантикою, хоча вони мають спільні 
риси у стандартних бібліотеках та правилах іменування. Синтаксис обох мов 
є наслідком впливу мови С, але семантика та дизайн JavaScript формувалися 
під впливом мов Self та Scheme. 
Інструментом, який дозволить працювати з цими обома мовами 
програмування без обмежень та з наявністю додаткових допоміжних засобів є 
IDE PhpStorm - комерційне крос-платформове інтегроване середовище 
розробки для PHP, яке розробляється компанією JetBrains на основі платформи 
IntelliJ IDEA. 
97 
PhpStorm - це інтегроване середовище розробки (ІСР) для роботи з 
мовами програмування PHP, HTML і JavaScript. Воно володіє рядом 
інтелектуальних функцій, таких як аналіз коду в режимі реального часу, 
виявлення та запобігання помилок у коді, а також автоматизовані засоби 
рефакторингу для PHP і JavaScript. PhpStorm підтримує автодоповнення коду 
відповідно до специфікації PHP 7 та вище, включаючи нововведення, такі як 
генератори, співпрограми, простори імен, замикання, типажі і синтаксис 
коротких масивів. 
Також в PhpStorm є повноцінний SQL-редактор з можливістю 
редагування результатів запитів. Це інструмент, який допомагає розробникам 
працювати з різними аспектами веб-розробки, забезпечуючи зручний та 
продуктивний робочий процес. 
Варто відмітити, що вся функціональність WebStorm, IDE направленої 
на роботу з JavaScript, повністю включена в PhpStorm. 
PhpStorm розроблений на основі платформи IntelliJ IDEA, написаної на 
Java. Користувачі можуть розширити функціональність середовища розробки 
за рахунок установки плагінів, розроблених для платформи IntelliJ, або 
написавши власні плагіни. 
Якщо ж повертатися до питання вибору OCR, то на офіційному сайті 
OCR.Space є можливість скачування повноцінного додатку на необхідну 
платформу (див. рис. 3.2). Також є опція використання веб версії, без 
необхідності завантаження. 
 
98 
 
Рис. 3.2. Вигляд вікна програми OCR.Space на Windows 10 
Основним же для нас буде варіант використання точки доступу через 
API запити. Це дозволить робити розпізнавання без прив’язки до поточної 
операційної системи, використовуючи лише Ajax-запити з боку JavaScript. Що 
теоретично дозволить виконувати розпізнавання зображень навіть не 
оновлюючи сторінку, одразу після завантаження зображення. 
Для здійснення запитів, необхідно мати API ключ, який дозволить 
отримувати відповідь з сервісу та шлях до потрібного зображення. Прайслист 
на використання API ключів наведено у Додатку В. 
Маємо доступний безкоштовний варіант з обмеженням у 500 запитів на 
день, який ідеально підходить для розробки та відладки функціоналу. У 
майбутньому, при запуску на реальному магазині, з'явиться необхідність 
придбання повноцінного ключа. Використання повноцінного ключа не лише 
забезпечить більш стабільну роботу, але й збільшить ліміт запитів, а також 
дозволить взаємодіяти з PDF файлами при необхідності. 
Наобхідно також мати URL шлях до зображення, що не є проблемою, 
так як всі зображення, що завантажуються у Magento, можна зберігати у 
потрібні місця на сервері, які є доступними з інтернету. 
99 
Маючи у розпорядженні ключ та URL шлях , можна будувати запит: 
https://api.ocr.space/parse/imageurl?apikey=3021E68DF9A&url=https://mer
cury.com/media/quote/b/a/banner-01.jpg 
 
 
Рис. 3.3. Баннер, який було відправлено та текст якого було розпізнано 
Виконавши запит, отримаємо об’єкт у вигляді JSON файлу, одним з 
полів якого є розпізнане текстове повідомлення (повний текст відповіді 
представлений у Додатку Г): 
"ParsedText": "all I wanna say is they\r\ndon't really care about us", 
Побудувавши функціонал для автоматичного збору запиту, виконання 
його у потрібний момент та обробки відповіді, виникає можливість 
відмовитися від використання повноцінного застосунку для розпізнавання 
зображень. Завдяки швидкості та зручності роботи, розпізнавання можна 
реалізовувати у великих кількостях через запити як з фронтової частини 
магазину, так і з адміністративної панелі. 
Розробка другого, основного програмного продукту може бути 
сфокусована на побудові сервісу на базі нейронної мережі для розпізнавання 
символів, а також технології для її навчання. 
У цьому випадку така програма має бути розміщена на сервері, який 
задовольнятиме її технічним вимогам та програмному запбезпеченню (ОС, 
біблотеки, сервіси). При цьому розміщення можливе як на тому ж сервері, де 
знаходиться магазин, так і на окремому. Єдине, що в такому випадку 
100 
необхідно буде реалізувани зв’яок між ними через локальну мережу або 
мережу інтернет. 
В якості мови програмування було обрано мову Ruby (фреймворк Ruby 
on Rails), так як у цієї мови є багато переваг перед іншими мовами 
програмування, що дозволяє вирішувати з її допомогою практично будь-які 
завдання. 
Мова програмування Ruby інтерпретується як мова високого рівня, з 
динамічною типізацією і незалежною від виконуючого середовища 
реалізацією багатопоточності. У ній є свій збирач сміття, а за особливостями 
синтаксису вона найбільш наближена до таких мов як Perl. 
Мова програмування Ruby взяла певні елементи з екосистем Smalltalk, 
Python, Lisp та інших мов програмування у процесі свого розвитку. З ростом 
екосистеми Ruby вона стала більш різноманітною і запозичила концепції з 
інших мов програмування. Важливим аспектом для її існування і подальшого 
розвитку є те, що мова Ruby і її реалізація є повністю вільними для 
розповсюдження. Це означає, що будь-який бажаючий може пропонувати свої 
зміни, і, якщо вони отримають підтримку спільноти, вони будуть включені у 
наступну версію мови. 
Мова Ruby спрямована на створення простих і зрозумілих додатків. 
Основний акцент робиться на простоті і читабельності коду, а не на 
максимальній швидкості виконання програм. Такий підхід дозволяє легко 
розробляти програми і часто обирається як вхідна мова для навчання 
програмуванню. Одним з основних принципів Ruby є "принцип найменшої 
несподіванки", який означає, що програма повинна вести себе так, як очікує 
програміст, мінімізуючи непередбачуваність. 
Іншою важливою частиною ідеології мови, яку привніс творець, є велика 
його варіативність. Одного і того ж результату можна добитися різними 
шляхами і функціями. Завдяки цьому кожен програміст може вирішувати 
завдання так, як вважає найбільш коректно і зручно. Це багато в чому 
101 
вплинуло на популярність мови серед професіоналів у сфері інформаційних 
технологій [23]. 
Мова "Ruby" відрізняється тим, що в ній відсутні примітивні типи даних, 
і всі структури та одиниці даних є об'єктами. Кожна функція в "Ruby" 
представлена як метод. Ця особливість відрізняє "Ruby" від, наприклад, мови 
Java, де існують примітивні структури даних. 
"Ruby" активно використовує концепцію об'єктно-орієнтованого 
програмування і взяла багато властивостей з інших мов програмування. 
Наприклад, в "Ruby" існує власний збирач сміття, концепцію якого взято з мов 
Smalltalk і Java. Збирач сміття в "Ruby" працює з усіма об'єктами в системі, 
дозволяючи автоматично видаляти з пам'яті об'єкти, які більше не 
використовуються. Цей механізм полегшує управління пам'яттю та забезпечує 
зручність роботи для розробників, які можуть фокусуватися на 
функціональності програми, не витрачаючи час на деталі управління пам'яттю. 
Як найкращий кандидат для написання програми було обрано 
безкоштовний консольний текстовий редактор Vim. 
Vim (скорочення від англ. Vi Improved, вимовляється Вім) — текстовий 
редактор, створений на основі старішого vi. Нині це один з найпотужніших 
текстових редакторів з повною свободою налаштування та автоматизації й 
великою кількістю створених завдяки цьому розширень та надбудов. 
Редактор відзначається особливістю в роботі з консоллю, що, у випадку 
відсутності необхідності в графічному інтерфейсі, забезпечує значно вищу 
швидкість в порівнянні з графічними текстовими редакторами, такими як 
Notepad чи Sublime Text. Заощаджені ресурси та більш низький рівень обробки 
дозволяють ефективно використовувати ресурси для роботи з великими 
файлами, навіть розміром до гігабайтів. У той час, як відкриття такого файлу 
у графічному редакторі займе певний час на рендеринг файлу. 
Як мінус, Vim не зовсім інтуїтивний, тому ефективна робота з 
редактором вимагає попереднього навчання. 
102 
Щодо самої програми, то розроблюваний прототип на платформі 
нейромережі повинен володіти наступним функціоналом: 
1) генерувати зображення для навчання; 
2) генерувати зображення з шумом для навчання; 
3) надавати можливість використання вибірки зображень для навчання; 
4) надавати можливість зміни кількості ітерацій для навчання; 
5) розпізнавати зображення зі згенерованих дошок; 
6) відображати правильність розпізнавання символу на етапі 
навчання/виконанная завдання; 
7) відображати процесс тренування; 
8) виконувати попередню обробку цифрових зображень; 
9) зберігати натреновану нейромережеву структуру у файлі. 
Також, для повноцінної розробки програми потрібно щоб комп’ютер 
відповідав наступним характеристикам наведеним в табл. 3.1. 
Таблиця 3.1  
Характеристики апаратного забезпечення 
№ Назва Значення 
1 Процесор, тактова частота не менше 1ГГц 
2 Оперативна пам'ять не менше 256 Мб. 
3 Вільного місця на жорсткому диску 515 Мб. 
4 Встановлена ОС Windows, Linux, MacOS 
 
3.2 Розгляд варіантів для реалізації розпізнавання тексту у інтернет 
магазині 
 
Нехай буде обрано будь-який варіант, чи то використання готового 
сервісу, чи написання нового, першочерговим етапом є визначення необхідних 
інструментів для Magento та чітка формулювання завдань у контексті 
інтернет-магазину. Початковий крок полягає в чіткому визначенні 
інструментів, які будуть використані, та ясній постановці завдань, щоб 
103 
забезпечити ефективну інтеграцію з Magento та вдалу реалізацію функціоналу 
інтернет-магазину. 
Можливими завданнями магазину, які можна було б виконувати за 
допомогою автоматичного розпізнавання тексту є: 
- Розпізнавання чеків, звітів про оплату/доставку 
- Завантаження документації продукту як текстовий атрибут, яка є 
в наявності виключно у паперовому або фото вигляді 
- Розпізнавання слів або цілих фраз для принтів на товарах, у 
випадку, якщо покупцю легше надіслати фото потрібного тексту 
- Пошук по базі продуктів (або не тільки продуктів) цитат чи фраз, 
які було сфотографовано з білбордів, баннерів, книжок чи газет. 
Якщо з першими двома завданнями без проблем впораються системи 
зчитування штрихкодів, QR-кодів або більш глобальні системи трекінгу, то 
останні дві опції цілком можуть бути покриті у межах інтернет магазину та 
програми розпізнавання зображень. 
Наприклад, Magento за замовчуванням надає можливість 
завантажування файлів зі сторінок продукту включаючи в себе обмеження на 
типи файлів, які задає адміністратор. У випадку зображеному на рис. 3.4 
показано можливість завантажити зображення для принта у вигляді 
додаткової опції при замовленні. 
 
104 
 
Рис. 3.4. Вигляд сторінки продукту з можливістю завантаження 
зображення замість тексту принта для одягу 
 
Після оформлення замовлення розпізнаний текст буде включений до 
товару у вигляді додатку та завжди буде доступний для перегляду та валідації 
з боку менеджера магазину. Ідеальним варіантом буде розробка окремого 
модуля, який надасть можливість вмикати та вимикати пов'язаний із ним 
функціонал за потреби, не впливаючи на роботу інших компонентів магазину. 
Такий підхід дозволить легко переносити модуль між різними магазинами 
однакового типу, забезпечить версіонування та можливість подальшого 
розширення функціоналу. 
Побудова подібного функціоналу вимагатиме навичок роботи з PHP, 
JavaScript and XML. Перші два будуть необхідні для побудови кістяка 
програми – бекенду та фронтенду, які будуть беспосерденьо обробляти 
завантажений файл та передавати його на API для розпізнавання тексту. XML 
у свою чергу дозволить побудувати зручну панель для управління модуля на 
105 
стороні адміністративної панелі. Варіант такої сторінки представлений на рис. 
3.5. 
 
 
Рис. 3.5. Сторінка конфігурації модуля в адміністративній панелі 
 
Завдяки розподіленню рівнів конфігурації Magento між різними рівнями 
магазинів та підмагазинів, можливі унікальні налаштування для кожного 
рівня. Це дозволяє одночасно застосовувати різні сервіси розпізнавання в 
межах одного магазину та порівнювати їх ефективність. Також, це дає 
можливість вимкнути розпізнавання для конкретного магазину. 
Налаштування повинні включати опцію вмикання/вимикання модуля, 
при цьому доступ адміністратора до результатів запитів має залишатися 
незмінним. Завдяки модульності, вимкнення модуля не вплине на 
функціонування інших частин магазину, а лише призведе до припинення 
відображення полів для завантаження зображень. 
Важливим налаштуванням є дроп-даун з можливістю обрати сервіс, 
який буде використовуватись задля розпізнавання зображення. При 
необхідності у наявності є поле для введення API ключа. 
В залежності від обраного варіанту будуть змінені параметри генерації 
запиту та список параметрів, що передаються. Або ж буде відбуватись 
106 
перемикання запитів на серверну частику у відповідності до каналу зв’язку із 
сервісом. 
Корисною буде можливість вимкнути опцію розпізнавання лише для 
сторінки продукту, залишивши можливість розпізнавати цитати. Також слід 
реалізувати можливість встановлення прапорця зі зворотнім зв'язком. 
Необхідним елементом буде можливість налаштувати повідомлення, яке 
виводитиметься у разі помилки сервісу або неможливості відправити запит. 
Прапорець дозволить встановити, чи показувати опцію завантаження 
зображення, у разі якщо сервіс певний час перебуває офлайн. Текстове поле 
допоможе вказати саме повідомлення помилки. Завдяки розподіленим 
налаштуванням на рівні підмагазинів буде можливість вказати одразу 
перекладені варіанти для магазинів з різними мовами, наприклад. 
За рахунок, вже наявних структур побудови сторінок для конфігурацій 
чи виводу певних моделей, для створення сторінок управілння та 
відслідковування модуля буде достатньо лише створити декілька XML файлів. 
Один з яких відповідатиме за загальні налаштування модуля, а інший 
дозволить спостерігати за результами запитів та при необхідності їх 
редагувати (див. рис. 3.6). 
Представивши запит цитати як модель, Magento автоматично створить для неї 
"Фабрику" та "Репозиторій" - файли, які дозволять керувати об’єктами такого 
типу на високому рівні, уникаючи побудови прямих запитів у базу даних. 
Також буде надано можливість їх сортування, фільтрації та виводу для 
обробки у великих масштабах, що у розрізі Magento має назву "колекція". 
107 
 
Рис. 3.6 – Сторінка для огляду та редагування запитів цитат в 
адміністративній панелі 
 
Також, буде корисною можливість експортувати всі запити цитат які 
були здійснені у магазині. Як варіант можна додати функціонал збору 
статистики та відгуків користувачів, щодо використання сервісу. 
Що ж стосується фронтової частини, тут на поміч прийде система 
темплейтів (шаблонів), яка дозволить створити сторінку з нуля, додаючи в неї 
потрбіна блоки та підключаючи необіхний функціонал. 
Або ж є опція створення CMS сторінки, яка може бути змінена та 
налаштована менеджером сайту у панелі адміністратора. Варто відзначити, що 
такий варіант вимагатиме більш складного підключення необхідних скриптів 
та може мати невелику ймовірність некоректної роботи через можливі 
помилки менеджера, який не знайомий з програмуванням. Таким чином, більш 
привабливим виглядає саме варіант із закритим для адміністратора кодом, 
який автоматично збирається на стороні сервера, підключаючи всі необхідні 
стилі та скрипти, видаючи лише готовий результат в адміністративну панель 
для перевірки та обробки. 
108 
Можливий дизайн сторінки, на якій користувач може виконати пошук 
цитати та отримати необхідну інформацію, або навіть готове посилання на 
продукт, представлено на рис. 3.7. 
 
 
Рис. 3.7. Можливий дизайн сторінки для розпізнавання цитат 
У випадку використання власної програми для розпізнавання, всі вище 
зазначені аспекти залишаються актуальними. Ще одним важливим аспектом є 
встановлення взаємодії з такою програмою через командний рядок, якщо вона 
розташована на тому ж сервері. Інакше може бути необхідно створення 
власного API для взаємодії у локальній мережі або через Інтернет. 
PHP надає можливість виконання консольних команд у середовищі 
операційної системи, тому можна автоматизувати створення консольних 
команд, використовуючи дані про конфігурацію та шлях до зображення 
безпосередньо з бази даних за принципом побудови запиту у JavaScript. 
З точки зору перевикористання та адаптабельності, варіант із 
створенням API є більш привабливим, оскільки це дозволить використовувати 
розпізнавання на декількох магазинах без необхідності адаптації до 
конкретного середовища.  
109 
ВИСНОВКИ 
 
Характеристика сучасного розвитку інформаційно-комунікаційних 
технологій вимагає постійного вдосконалення існуючих OCR-систем, 
зокрема, у напрямку забезпечення збільшеної мобільності для введення даних, 
особливо через смартфони та соціальні мережі. У магістерській 
кваліфікаційній роботі проведено дослідження інтелектуальних методів 
розпізнавання текстової інформації зображень з метою подальшого 
вдосконалення їх застосування для інтернет-магазину. 
Було вирішено наступні задачі: 
1) проведено аналіз існуючих систем та методів розпізнавання текстової 
інформації з зображень для інтернет-магазину; 
2) розроблено модель розпізнавання текстової інформації з зображень 
для інтернет-магазину на підставіві штучних нейроних мереж, яка на 
відмінну від існуючих є повнозв’язною, що дозволило підвищити 
ймовірність розпізнавання до 90%; 
3) удосконалено метод навчання запропонованої моделі розпізнавання 
текстової інформації з зображень для інтернет-магазину на підставі 
штучних нейроних мереж, який підвищує точність розпізнавання; 
4) запропоновано систему розпізнавання текстової інформації з 
зображень для інтернет-магазину. 
За платформу для реалізації серед усіх доступних платформ було обрано 
інтернет магазин Мадженто, який має перевагу на своїми конкурентами у 
великій кількості вбудованих механік, модульності та якісной документації, 
що дозволяє реалізовувати необхідний функціонал та зручний інтерфейс як 
для користувача так і адміністратора сайту.  
Великою перевагою також можна вважати наявність зручної системи 
керування - адміністративної панелі, в якій можна робити гнучку 
конфігурацію як окремих елементів так і всього магазину. Різноманітний набір 
інструментів дозволяє додавати товари, сортувати їх за категоріями, додавати 
110 
нові магазини. Створювати баннери, слайдери та навіть цілі сторінки без 
залучення розробників. 
Оптимальним варіантом є використання вже готового програмного 
забезпечення для розпізнавання тексту, що потребує лише передачі 
зображення та обробки отриманого тексту. Цю функціональність можна легко 
налаштувати безпосередньо в платформі Magento, щоб мати можливість 
аналізувати текст та опрацьовувати його відповідно. 
У контексті Magento можлива взаємодія з цим функціоналом не тільки 
через сам сайт магазину, але і повністю програмно, наприклад, через 
командний рядок або Rest API. Подача на вхід необхідних параметрів у 
визначеній послідовності через API дозволить отримувати відповіді 
безпосередньо у магазині, без будь-яких додаткових маніпуляцій у коді. 
Існують вже досить розвинені та ефективні засоби розпізнавання тексту 
з зображень, які постійно розвиваються та досягають високого рівня 
ефективності щороку. Інтеграція такого функціоналу з іншими системами 
вимагатиме індивідуального підходу до кожної платформи. У даній роботі 
продемонстровано можливий спосіб реалізації цього підходу на прикладі 
платформи інтернет-магазину. 
  
111 
 
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 
1. Slyusar V. Artificial intelligence as the basis of future control networks. / 
Slyusar V. – 2019 Preprint. 
2. Аваліані Г. В. Євристичні методи в розпізнанні образів / Аваліані Г. В. 
- Тбілісі: Мецниереба, 1988. - 78 с. 
3. Бобровський С. В. «Перспективи та тенденції розвитку штучного 
інтелекту.В» / Бобровський С. В. — PC Week/RE № 32, 2001. с.32-34 
4. Jarvenpaa, S. L. Consumer reactions to electronic shopping on the world 
wide web / Jarvenpaa, S. L.; Todd, P. A. - International Journal of Electronic 
Commerce. 1997. 1 (2): 59–88. 
5. Kannan P. K. Digital Marketing: A framework, review and research agenda / 
Kannan, P. K; Alice Li, Hongshuang - International Journal of Research in 
Marketing. 2017. 34 (1): 22–45. 
6. Sherry Y. The assessment of usability of electronic shopping: A heuristic 
evaluation / Sherry Y. Chen en Robert D. Macredie - International Journal 
of Information Management 25 (2015), 516–532 
7. E-Commerce Retail Sales as a Percent of Total Sales / StLouisFed.org – 
Режим доступу - https://fred.stlouisfed.org/series/ECOMPCTSA 
25.11.2023. 
8. Берко А. Ю. Системи баз даних та знань. Книга 1. Організація баз даних 
/ Берко А. Ю., Верес О. М., Пасічник В. В., навч. посібник: — Львів: 
«Магнолія 2016», 2018. — 456 с. – ISBN 978-966-2025-56-9. 
9. Жежнич П. І. Технології інформаційного менеджменту: навчальний 
посібник / Жежнич П. І. — Львів, 2010. Видавництво Національного 
університету “Львівська політехніка”, с. 260. 
10. Кращі OCR-системи / WinBeginner.com – Режим доступу:  
https://winbeginner.com/the-best-ocr-software - 02.12.2023 
11. Comparison of optical character recognition software / Wikipedia.org – 
Режим доступу - https://en.wikipedia.org/wiki/Comparison_of_optical_ 
112 
character_recognition_software - 03.12.2023 
12. Usage explained. Tesseract Readme and FAQ / Tesseract OCR – Режим 
доступу - https://github.com/tesseract-ocr/tesseract/blob/master/ 
README.md - 03.12.2023 
13. 9 Best "Easy" eCommerce Platforms & Sites Reviewed (2023) / 
Websitesetup.org - Режим доступу - https://websitesetup.org/best-
ecommerce-platform - 03.12.2023 
14. The Ultimate Magento 2 Ecommerce Review (December 2023) / 
EcommercePlatforms.com - Режим доступу - https://ecommerce-
platforms.com/ecommerce-reviews/magento-review - 05.12.2023 
15. Schaffranek L. Localized Magento Edition - The key to local markets / 
Schaffranek Lydia - 2016 
16. Magento 2 Community Edition vs Enterprise Edition / Interactone.com - 
Режим доступу - https://www.interactone.com/magento-2-community-
edition-vs-enterprise-edition - 02.12.2023 
17. Magento 2 Community Vs Enterprise - Don't Use Magento until You Read 
This / BssCommerce.com - Режим доступу - 
https://bsscommerce.com/blog/magento-2-community-vs-enterprise-
edition-comparison - 02.12.2023 
18. Alshanetsky I. PHP. Architect’s guide to PHP security / Alshanetsky Ilia – 
Architect nanobooks. 2005 Marco Tabini & Associates, Inc 
19. Data Migration Tool. Magento 2 Developer Documentation / 
DevDocs.Magento.com – Режим доступу - 
http://devdocs.magento.com/guides/v2.3/migration/migration-tool.html - 
05.12.2023 
20. Free OCR API / OCR.Space – Режим доступу - https://ocr.space/ocrapi - 
02.12.2023 
21. Сайт підтримки мови програмування Ruby / RubyLang.org – Режим 
доступу - https://www.ruby-lang.org – 05.12.2023 
113 
22. Нейромережевий метод розпізнавання голосових повідомлень для 
інтернет-магазину // Є.Є.Федоров, М.В. Чичужко, В.О. Чичужко 
// «Сучасні технології в енергетиці, електромеханіці, системах 
управління та машинобудуванні» : матеріали Всеукр. наук.-практич. 
інтернет-конф. (м. Бахмут, 19-21 листопада 2018 р.) / Навчально-
науковий професійно-педагогічний інститут Української інженерно-
педагогічної академії [упоряд. П.О. Чикунов]. – Бахмут: ННППІ УІПА, 
2018. – С. 31. 
23. Програмний засіб для аналізу компонентів спеціалізованих 
комп’ютерних систем // В. М. Лукашенко, М. В. Чичужко, 
В. О. Чичужко, Т. Ю. Уткіна // «Trends of modern science – 2015»: 
Materials of the XI International scientific and practical conference: 
(May 30–June 7, 2015, Sheffield, England). – Sheffield: Science and 
Education Ltd, 2015. – Т. 15. – С. 3–6. 
  
112 
Додаток А 
Графік Google Trends щодо статистики використання обраних інтернет платформ 
113 
Додаток Б 
 
Порівняння стандартного функціоналу Magento Community та Enterprise 
Community Enterprise 
Функціонал 
Edition Edition 
Оптимізація результатів пошуку (SEO) Так Так 
Управління каталогом Так Так 
Менеджмент замовлень Так Так 
Методи оплати та доставки Так Так 
Управління аккаунтами покупців Так Так 
Система автоматичної розсилки 
Ні Так 
електронних листів 
Подарункові сертифікати Ні Так 
Бонусні бали Ні Так 
Автоматизований імпорт та експорт за 
Ні Так 
розкладом 
Підтримка альтернативних сховищ медіа 
Ні Так 
файлів (CDN/Cloudflare) 
Контроль за кодуванням даних, 
Ні Так 
хешуванням та ключами шифрування 
  
114 
Додаток В 
 
Прайс лист типів API для OCR.Space 
OCR API тип Free PRO PRO PDF 
Ціна Безкоштовно $24.95/місяць $49.95/місяць 
Запитів в місяць 25,000 250,000 250,000 
Надлишкові 
- $10/100,000 $20/100,000 
запити 
Ліміт файлу 
1 MB 5 MB 100 MB+ 
завантаження 
Ліміт на кількість (тільки 
3 999+ 
сторінок у PDF зображення) 
Так Так 
Генерація PDF Так 
(водяний знак) (з зображень) 
Дозвіл на 
комерційне Так Так Так 
використання 
Швидко (залучення додаткових 
Швидкість Швидко 
серверів) 
Rate Limit 500 запитів/день 600 запитів/хв 600 запитів/хв 
Договір на 100% робочого часу 
- 
гарантію (SLA) або повернення коштів 
  
115 
Додаток Г 
 
Повний текст JSON відповіді на запит розпізнання тексту 
{ 
  "ParsedResults": [ 
    { 
      "TextOverlay": { 
        "Lines": [], 
        "HasOverlay": false, 
        "Message": "Text overlay is not provided as it is 
not requested" 
      }, 
      "TextOrientation": "0", 
      "FileParseExitCode": 1, 
      "ParsedText": "All I wanna say it they don't really 
care about us",  
      "ErrorMessage": "", 
      "ErrorDetails": "" 
    } 
  ], 
  "OCRExitCode": 1, 
  "IsErroredOnProcessing": false, 
  "ProcessingTimeInMilliseconds": "765", 
  "SearchablePDFURL": "Searchable PDF not generated as it 
was not requested." 
}