=Paper= {{Paper |id=Vol-2870/paper98 |storemode=property |title=Web Application System of Handwritten Text Recognition |pdfUrl=https://ceur-ws.org/Vol-2870/paper98.pdf |volume=Vol-2870 |authors=Yevhen Bodnia,Mariia Kozulia |dblpUrl=https://dblp.org/rec/conf/colins/BodniaK21 }} ==Web Application System of Handwritten Text Recognition== https://ceur-ws.org/Vol-2870/paper98.pdf
Web Application System of Handwritten Text Recognition
Yevhen Bodnia and Mariia Kozulia
National Technical University “Kharkiv Polytechnic Institute”, Kirpichova str., 2, Kharkiv, Ukraine


                 Abstract
                 The problem of text recognition is becoming increasingly important due to the active
                 introduction of digital computing and the widespread use of word processors. Pattern
                 recognition is one of the most difficult from a mathematical point of view and one of the most
                 popular areas of artificial intelligence programming.
                 In the work is researched approaches and methods of solving text recognition problem,
                 improved the performance of the available algorithms for text recognition and created
                 algorithmic software.
                 According to the analysis, neural networks were selected for handwriting recognition. The
                 main advantage of using neural networks is a good generalization ability, the ability to use
                 context analysis and recognize a symbol based on the surrounding symbols.
                 The software implementation features of Hopfield and convolutional neural network, genetic
                 algorithm, which were chosen as effective methods for recognizing handwritten text, were
                 considered. Algorithmic software and web application that uses these methods for the task of
                 handwritten text recognition is developed.

                 Keywords 1
                 Handwritten text recognition, pattern recognition, recognition methods, neural network,
                 genetic algorithm, convolutional neural network, Hopfield neural network, machine learning,
                 data models

1. Introduction
    Nowadays, the problem of handwritten text recognition and digital image processing are attracting
the attention of many researchers, occupying an important place in the most important areas of
application and development of automation systems. Electronic document management has a
progressive development in various areas of human activity. The task of recognizing textual information
when converting handwritten text into machine code is a significant component of projects aimed at
accelerating document flow.
    The task of converting a large amount of textual information into digital form arises during the
preparation and processing of information. The problem is one of the most complex, time-consuming,
poorly scalable and knowledge-intensive in the field of automatic image analysis.
    An important role in the field of handwritten text recognition using neural networks is played by
different approaches in solving this problem, which form their advantages and corresponding
disadvantages.
    The problem of text recognition is becoming increasingly important due to the active introduction
of digital computing and the widespread use of word processors. There is a fact of existence of number
of systems that are able to recognize printed text with high efficiency, but the problem of handwritten
text recognition remains the subject of active research in the fields of machine vision, artificial
intelligence and pattern recognition. Handwritten text recognition is an important factor in digitizing
documents in any area of human activity, whether medicine or archival records.

COLINS-2021: 5th International Conference on Computational Linguistics and Intelligent Systems, April 22–23, 2021, Kharkiv, Ukraine
EMAIL: bodnya29179@gmail.com (Y. Bodnia); mariya.kozulya7@gmail.com (M. Kozulia)
ORCID: 0000-0001-8167-0273 (Y. Bodnia); 0000-0002-4090-8481 (M. Kozulia)
              ©️ 2021 Copyright for this paper by its authors.
              Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
              CEUR Workshop Proceedings (CEUR-WS.org)
   In recent decades, thanks to the use of modern computer technology, new methods of image
processing and pattern recognition have been developed, making it possible to create such handwriting
recognition systems that would meet the basic requirements of document automation systems.
However, this task requires further research due to the specific requirements for speed, resolution,
recognition reliability and memory capacity.
   Thus, the research aim is to compare the approaches and methods of handwriting recognition and
software development.
   The main methods of handwritten text recognition, disadvantages and advantages of the most
promising ones are analyzed in the work, algorithmic software is developed, the software product with
the possibility of pattern recognition is implemented.

2. Literature review
    Work on handwritten text recognition began in 1929 and continues to this day [1, 2, 3, 4 pp. 25–27,
5, 6]. Currently, there are many software products aimed at automating the process of recognizing
printed text in enterprises. But the important thing is that they all focus on working with printed or
handprinted texts. Significant progress has been made in the recognition of handwritten texts in various
fonts and languages. There are a lot of products that are leaders in this field: Google Lens, Google Input,
ABBYY FineReader, FormXtra Capture, CuneiForm and others. Also, many systems are successfully
engaged in the recognition of dynamic handwriting input into the reader (online-recognition). At the
same time, the issue of static handwritten text recognition (offline recognition) is still unresolved. The
accuracy of technologies in this area is too low for widespread use, which makes this topic relevant and
promising for research [4, pp. 27–31].
    In Chanchikova E. publications [7] and [8] convolutional neural networks are considered, which
allow to eliminate the shortcomings of fully connected neural networks in the recognition of
handwritten symbols. It is necessary to use a multi-module recognition system that uses convolutional
networks to solve this problem.
    Knyazev A. [9, 10, 11, 12, 13] considers the recognition problems of continuously written
handwritten text, as well as discusses different approaches in solving this problem, the advantages and
disadvantages of these approaches. A combined approach to the recognition of a completely written
handwritten word was also presented, which includes a partition procedure based on the analysis of the
word structure and a recognition procedure based on neural network usage.
    The publication of Popova V. [14] considers the problem of text recognition based on keywords
using neural networks.
    Among foreign researchers Yugandhar Manchala [15], Thomas Deselaers [16], Henry A. Rowley
[17], Hazem M El-Bakry [18] considered the recognition of handwritten symbols using artificial or
recurrent neural networks, and Ali Nosary [19], Martin Rajnoha [20] describe the recognition based on
the method of k-near neighbors and reference vector machines.
    According to the analysis of the subject area in the work the following tasks are set:
    •   Consideration of the processes of segmentation, normalization and selection of features
    •   Introduction to handwritten text recognition algorithms
    •   Introduction to methods and problems of handwritten text recognition
    •   Consideration of existing handwritten text recognition systems
    •   Implementation of the project description and algorithms for recognition system
    •   Identification of functional and non-functional capabilities, as well as the main modes of
    operation of the handwritten text recognition system
    •   Development algorithmic and software support of handwritten text recognition system

3. Problems, tasks and methods of handwritten text recognition system
   Pattern recognition is one of the most difficult from a mathematical point of view and one of the
most popular areas of artificial intelligence programming. Image recognition systems have found
application in many applications of artificial intelligence [21].
    Image recognition technologies include pattern, optical image, code, object, and digital photo
recognition. They are either used separately or in an integrated form in areas such as security and
surveillance, image scanning and creation, marketing and advertising, augmented reality and image
retrieval.
    The key driver of this market is the care of all processes, both in business and in the consumer
segment of cloud technologies, as well as the growing influence of the Internet, smartphones, social
media. The players in this market are such large corporations as NEC, Google, Honeywell, Hitachi and
Qualcomm. There are also many smaller players, such as LTU Technologies, Attrasoft, Blippar and
SLYCE, and vendors such as Catchoom and Wikitude [22, 23, 24].
    Currently, there are a lot of software applications that require text recognition functionality. Software
developers of artificial intelligence systems are faced with the task of increasing the versatility of the
tasks performed by the software application. More and more attention is paid to multilayer neural
networks with a high degree of learning and genetic algorithms, but there is a problem of tasks
computational complexity.
    The system provides graphic and structural information of the input images in the task of handwritten
text recognition. The list of problems with handwritten text recognition are:
    •    High variability of characters – by size, inclination, components set, relationships between
    them, etc.
    •    Spelling errors in the text
    •    Specific features of text writing that do not allow you to confidently separate handwritten
    characters
    •    Text elements intersection, overlapping text parts on each other
    •    Blots, stains, media (paper) defects, and scanning artifacts
    •    Non-parallel text lines [25 pp. 1, 2]
    Currently, commercial handwritten text recognition packages can only reliably recognize machine-
readable forms (questionnaires, completed forms, etc.), because using such structured documents and
reducing the range of possible characters that entered the quality of recognition increases sharply. This
case includes the recognition of postal addresses in the automatic sorting of mail, signatures on checks,
numbers, etc. Standard handwritten text recognition is performed according to the following scheme:
    •    Pre-processing of the image, interest (features) area selection
    •    Segmentation and normalization of the text from the area of interest
    •    Recognition of segmented text by the selected method [25 p. 2]
    The task of the system is to increase the speed and quality of input information recognition in order
to automate this process, as well as to determine and use the most optimal method of handwritten text
recognition using neural networks.
    A typical handwritten text recognition scheme consists of the following main stages: pre-processing
of the input image, segmentation, obtaining image features, classification and post-processing.
    The text recognition system receives the written handwritten text as input when receiving the image.
The image should be in JPEG format.
    Preprocessing is a series of operations performed on an input image. This greatly improves it,
making it suitable for the segmentation process. The binarization process converts a black-and-white
image into a binary image using a global threshold determination technique. Expanding the edges in a
binary image is done by expanding the image and filling in its blank areas. The image pre-processing
algorithm is presented in Figure 1 [26].
    Segmentation is the most important process in text recognition methods. Segmentation is performed
to divide the image into individual characters. Segmentation of the handwritten word into different
zones (upper, middle and lower) and symbols is more complicated than in printed documents.
Sometimes the components of two consecutive characters can be hooked or overlapped, and this
situation greatly complicates the segmentation task.
    The complexity is explained by the variability of the distances between the characters, skew, tilt,
size of letters and symbols, depending on the handwriting. Obtaining these characteristics is called
features selection step.
    Segmentation is an important step in determining the degree to which words, lines, or symbols can
be separated and, as a result, directly affects the speed of handwritten text recognition.
Figure 1: Image pre-processing algorithm [26]

   The classification step is part of the decision making in the handwritten text recognition system. The
genetic algorithm, the method of convolutional neural networks, the Hopfield network are used for
classification.
   The post-processing step is the final stage of the handwritten text recognition system. At this step,
the recognized handwritten characters are displayed in a structured text form by calculating an
equivalent value using the text pattern recognition index.
   Recognition image task is to determine the object or any of its properties by its visual representation.
The technique of assigning an element to any image is called a decisive rule.
   Learning is a process as a result of which the system gradually acquires the ability to respond to the
required responses to certain sets of external influences, and adaptation is the adjustment of parameters
and structure of the system to achieve the required quality of management in continuous changes in
external conditions [27 p. 15].
   The pattern recognition methods used in the research are considered below.
   1. Genetic algorithm is a heuristic search algorithm that is used to solve optimization and modeling
problems by random selection, combination and variation of the required parameters using mechanisms
similar to natural selection in nature. [28]. The genetic algorithm is slower and is characterized by a
stepwise improvement of the error [29 p. 516, 30, 31].
    The block diagram of genetic algorithm is presented in Figure 2.




Figure 2: Structured scheme of the genetic algorithm

   The genetic algorithm effectively uses the information accumulated in the process of evolution. In
the process of finding a solution, it is necessary to maintain a balance between the “operation” of the
currently obtained best solutions and the expansion of the search space.
   Genetic algorithms show slightly lower performance than convolutional neural networks in pattern
recognition problems [32, 33, 34, 35], but have excellent calculation accuracy.
   2. Convolutional neural network is a special architecture of artificial neural networks, proposed
by Yann LeCun in 1988 and aimed at effective pattern recognition, is part of deep learning
technologies [36, 42]. The idea of convolutional neural networks is to alternate convolution layers and
subsampling layers (or pooling layers). The structure of the network is unidirectional (without
feedback), multilayer (Figure 3) [38 p. 275].
Figure 3: Convolutional neural network structure

   A systematic approach to image processing based on the structural decomposition of the
convolutional neural network (Figure 4, 5) is used in the research [39].




Figure 4: Algorithm for handwritten character recognition by neural network (author development)
Figure 5: Algorithm for handwritten character recognition by neural network (author development)

   Convolutional neural networks combine three architectural ideas to provide invariance for scaling,
shift rotation, and spatial distortion:
   •     Local receptor fields (provide local two-dimensional connectivity of neurons)
   •     Total synapse weights (provide detection of some features anywhere in the image and reduce
   the total number of weights)
   •     Hierarchical organization with spatial subsamples [40 p. 47]
   The structure of the convolutional neural network consists of different layer types: convolutional
layers, subsampling layers, and layers of the “normal” neural network – the perceptron.
   The first two types of layers (convolutional, subsampling), alternating with each other, form the
input feature vector for the multilayer perceptron.
   The topology of the convolutional neural network consists of 5 layers (Figure 6).
Figure 6: Convolutional neural network topology [41]

    The sigmoid activation function belongs to the class of continuous functions and takes an arbitrary
real number at the input and gives a real number at the output in the range from 0 to 1. Large (modulo)
negative numbers are converted to zero, and large positive – to one. Historically, the sigmoid has been
widely used because its output is well interpreted as the level of neuronal activation: from lack of
activation (0) to fully saturated activation (1).
    The sigmoid is represented by formula:
                                                        1                                                (1)
                                            𝑓(𝑠) =         −𝑠
                                                              .
                                                    1+𝑒
    The disadvantage of the sigmoid is that when the saturation of the function on one side or another
(0 or 1), the gradient in these areas becomes close to zero. Sigmoidal function is continuous,
monotonically increasing and differentiated [41].
    The disadvantages of convolutional neural networks are:
    •     High complexity of architecture
    •     Fully connected
    •     Fixed window area of the convolution layer
    It is necessary to find the optimal values of the following parameters in order to increase the
efficiency of convolutional neural networks:
    •     Number of feature maps
    •     Density of connections between feature maps
    •     Window size
    •     Floor area
    •     Initial initialization of weights [38 p. 275]
    A simple automaton that converts the input signals into the resulting output signal is shown in
Figure 7.
    Input signals x1 , x2 , x3 , …, xn are converted in a linear manner, i.e., the body of the neuron receives
weights: w1 ∗ x1 , w2 ∗ x2 , w3 ∗ x3 , … , wn ∗ xn , where wi – the weights of the corresponding signals.
The neuron summarizes these signals, then applies the sum of the sigmoid function f(x) and outputs the
resulting output signal y.
Figure 7: Scheme of a mathematical neuron

    3. Hopfield neural network is a type of recurrent, fully connected, artificial neural network with a
symmetric matrix of connections. In the process, the dynamics of such networks converges to one of
the equilibrium positions. Equilibrium positions are determined in advance in the learning process, they
are the local minimum of the functional, which is called the network energy. Such network can be used
as auto-associative memory, as a filter, as well as for optimization problems. Unlike many neural
networks that work to get a response through a certain number of cycles, Hopfield networks work to
achieve equilibrium, when the next state of the network is exactly equal to the previous one: the initial
state is the input image, and at equilibrium get the original image [42 p. 37, 43].
    These equilibrium positions are local minimum of functional called network energy (local minimum
of a negatively defined quadratic shape on an n-dimensional cube). Such network can be used as auto-
associative memory, as a filter, and to solve some optimization problems. Unlike many neural networks
that work to receive a response through a certain number of cycles, Hopfield networks work to reach
equilibrium, when the next network state is equal to the previous one [44].
    The Hopfield network uses three layers: the input layer, the Hopfield layer, and the output layer.
Each layer has the same number of neurons. The inputs of the Hopfield layer are connected to the
outputs of the corresponding neurons of the input layer via variable connection weights. The outputs of
the Hopfield layer are connected to the inputs of all neurons in the Hopfield layer, except itself, as well
as to the corresponding elements in the output layer. In operation mode, the network directs data from
the input layer through fixed connection weights to the Hopfield layer. The Hopfield layer oscillates
until a certain number of cycles is completed, and the current state of the layer is transmitted to the
original layer. This state corresponds to an already programmed image in network [42 p. 38].
    Learning the Hopfield network requires that the learning image be presented in the input and output
layers at the same time. The recursive nature of the Hopfield layer provides a means of correcting all
the weights of the joints. The non-binary implementation of the network should have a threshold
mechanism in the transfer function. The corresponding input-output pairs should be different for proper
network training.
    The Hopfield neural network response to the successful registration of m-reference images is made
up of these images themselves. The Hopfield network corrects errors and obstacles (Figure 8).




Figure 8: Block diagram of the Hopfield network with three neurons
     If the Hopfield network is used as memory addressed to content, it has two main limitations. First,
the number of images that can be saved and accurately reproduced is strictly limited. If too many
settings are stored, the network may match to a new non-existent image that is different from all
programmed images or may not match at all. The memory capacity limit for the network is
approximately 15 % of the neurons number in the Hopfield layer. The second limitation of the paradigm
is that the Hopfield layer can become unstable if the case studies are too similar. An image sample is
considered unstable if it is applied in zero time and the network coincides with some other image from
the training set. This problem can be solved by choosing learning examples more orthogonal to each
other [42 p. 38].
     The problem solved by this network as associative memory, as a rule, is formulated as follows. Some
set of binary signals (input handwritten image) is known, considering it exemplary. The network should
be able to isolate the appropriate sample from the noisy signal supplied to its input or to conclude that
the input data does not match any of the samples. In the General case, any signal can be described by
the vector 𝑥1 , 𝑥2 , … , 𝑥𝑖 , … , 𝑥𝑛 , where n – the number of neurons in the network and the magnitude of
the input and output vectors. Each element 𝑥𝑖 is equal to either 1 or –1. Denote the vector describing
the k-th sample by 𝑋𝑘 and its components, respectively, – 𝑥𝑖𝑘 , 𝑘 = 0, ..., 𝑚 − 1, m – the number of
samples. If the network recognizes a pattern based on the data presented to it, its outputs will contain
it, i.e. 𝑌 = 𝑋𝑘 , where Y – the vector of the initial values of the network: 𝑦1 , 𝑦2 , … , 𝑦𝑖 , … , 𝑦𝑛 . Otherwise,
the original vector will not match any of the samples.
     Thus, the choice of the considered methods is based on the following characteristics of the methods:
     •     Clear definition of the contours and boundaries of handwritten characters
     •     Analysis of a given area for the presence of characteristic points, gradients in it, allowing you
     to recognize an image in difficult and atypical conditions
     •     The ability to recognize various forms of tracing, tilt and distortion (noise, non-uniformity of
     lighting, displacement of characters, gaps between parts of the same character, false signs) characters
     •     Fixing the offset of characters or parts of characters relative to their expected position in the
     string
     •     Ease of implementation
     •     Resistance to changes in the shape of characters
     •     High performance
     •     No loss of part of the information about the symbol at the stage of feature extraction
     •     The presence of clearly formulated rules for the formation of signs
     The advantages of recognition methods include invariance with respect to types and sizes of fonts,
identification of characters that have defects (for example, line breaks or merging of adjacent lines), as
well as high performance.
     The main advantage of using neural networks is a good generalization ability, the ability to use
context analysis and recognize a symbol based on the surrounding symbols.
     The recognition accuracy using these methods in the system is approximately 96%.

4. Practical implementation. Software system design
    The handwritten text recognition software system is developed in the form of a web application
“TextRecognition”. This application is designed to provide the user with the function of recognizing
the entered handwritten text and further work with the entered data. The core of the text recognition
system will be artificial neural networks. Calculations and training of neural networks will take place
on the server side and the client part will give the user the opportunity to use the capabilities of a trained
neural network for text recognition.
    The IDEF0 diagram of the handwritten text recognition process is shown in Figure 9.
    The user-entered data for neural network training, namely, the results of the comparison of the
entered handwritten character and the character from the set available in the application, will be stored
in the database. The database will be isolated from direct unauthorized actions.
Figure 9: Decomposed IDEF0 diagram of handwriting recognition process

   The use of the web application extends to all countries. The application is designed for handwritten
text recognition in Ukrainian. The web application applies to all users and works in all popular web
browsers. The application uses a minimalist user-friendly interface that is intuitive for the user.
   Functions that are implemented in the presented software application:
   •    Create, view, modify character mapping data for neural network training
   •    Providing access to the web application via the Internet
   •    Neural network training
   •    Neural network configuration
   •    Recognition of handwritten Ukrainian text
   The web application should allow the user to map the entered character to the character from the
database in order to learn neural networks in detail.
   The web application is based on HTML 5.0, SCSS, Vue.js framework, TypeScript language, Node.js
platform and Tesseract.js library.
   The user interface of the “TextRecognition” software application consists of the following three
pages:
   1. Recognition – the home page with the ability to recognize handwritten text
   2. Training – the page with the ability to learn neural networks
   3. Settings – the page with the ability to configure neural networks

5. Development of testing software solution program
   The following tests were performed to test the problem solutions:
   •    Entering a compressed handwritten word
   •    Entering a handwritten word at an angle
   •    Entering a handwritten word in the form of a wave (Figure 10–12)
   The neural network was trained to recognize each letter of the Ukrainian alphabet with a different
type of handwriting.
Figure 10: Entering the handwritten words in the wave form for recognition using genetic algorithms




Figure 11: Entering the handwritten words in the wave form for recognition using convolutional neural
network
Figure 12: Entering the handwritten words in the wave form for recognition using Hopfield neural
network

   As a numerical experiment, handwritten text was entered to verify the cost of time resources by the
recognition application. As a result, existing solutions were compared with the developed web
application [45, 46, 47]. The results are summarized in Table 1.

Table 1
Cost of time resources for handwritten text recognition
                Name of software solution                          Cost of time resources, sec
                Google Handwriting Input                                     0,00760
                    ABBYY FineReader                                         0,00250
                     OCR CuneiForm                                           0,002920
    TextRecognition        Genetic algorithm                                 0,000766
                           Convolutional neural network                      0,000401
                           Hopfield neural network                           0,000615

    As a result of testing the solutions of the problem, we can conclude that the application has the
ability to recognize handwritten text in its various positions. Composing the indicators of quality and
speed of recognition, it can be argued that the most optimal recognition of the Ukrainian handwritten
test is carried out using convolutional neural networks. Handwritten text recognition quality can be
improved by learning neural networks in more detail.
    The application is a handwritten text recognition system that includes feature selection and
segmentation subsystems. Improvements and enhancements to the functionality of the application are
planned in its next versions.

    6. Conclusions
   Optical handwritten text recognition is a handy tool for creating digital documents from paper
originals. Text representation allows further processing of information obtained by scanning or
photographing. The relevance of text recognition has increased with the advent of e-book readers,
making the reading process easier. Optical recognition has greatly facilitated the document flow
process.
   Based on the analysis of the subject area and the considered methods for solving the problem of
handwritten text recognition, it was found that the speed and quality of this subsystem meets modern
requirements.
   Effective solutions to the problem are demonstrated using genetic algorithms, convolutional neural
networks and Hopfield neural networks (see Figure 2–8).
   Algorithmic approaches that characterize the work of the considered methods are developed (see
Figure 4–5). UML diagrams are created to describe the operation of the system, which demonstrate the
possible cases and operation of the main processes of the implemented software (see Figure 9).
   The presence of many existing libraries based on the JavaScript programming language emphasizes
the development of handwritten text recognition systems in software engineering, which accelerates the
software development process to automate the task in this work.
   The developed application can be used as a system for recognizing Ukrainian handwritten texts (see
Figure 10–12).
   The software solution used a stack of technologies – HTML5, SCSS, Node.js, Express.js,
MongoDB, Mongoose, Vue.js – which is an integral part of web application development. High-speed
software was created based on neural networks and genetic algorithms, which in turn has a higher
priority in modern research in this field of science.
   Improvements and enhancements to the functionality of the application are planned in its next
versions. The application will be expanded, namely the recognition of handwritten text entered by the
user in English and Russian.

    7. References
[1] Multimedia Technology IV: Proceedings of the 4th International Conference on Multimedia
     Technology, Sydney, Australia, 28-30 March 2015., CRC Press, 2015., 214 p.
[2] Gustav Tauschek Reading Machine: USA patent 2,026,329, Application May 27, 1929, SN
     366,466 in Austria., Patented Dec. 31, 1935 in US Patent Office.
[3] P.W. Handel Statistical Machine: USA patent 1,915,993. Filed April 27, 1931. Patented June 27,
     1933 in US Patent Office.
[4] Yelisieieva S. V. Information Technologies in Translation: A Study Guide. Мykolaiv: PMBSNU
     Publishing House, 2018, 176 р. URL: https://dspace.chmnu.edu.ua/jspui/bitstream/123456789/
     246/1/Yelieseva%20S.%20V.%20Information%20Technologies%20in%20Translation.pdf.
[5] Optical character recognition, 2021. URL: https://en.wikipedia.org/wiki/Optical_character
     _recognition.
[6] Tetyana Zdebska, Vasyl Andrunyk, Roman Kempnyk, Vladyslav Chyhura Optical Character
     Recognition. Computational linguistics and intelligent systems : proceedings of the 4nd
     International conference, 23-24 April 2020, Lviv, Ukraine. Lviv : Lviv Politechnic Publishing
     House, 2020. Vol 2 : Proceedings of the 4nd International conference, COLINS 2020. Workshop,
     Lviv, Ukraine April 23-24, 2020. pp. 90–100. URL: http://ena.lp.edu.ua/bitstream/ntb/52204/2/
     2020v2_Zdebska_T-Optical_Character_Recognition_ 90-100.pdf
[7] Chanchikova Ye.V. Ispolzovanie iskusstvennykh neyronnykh setey dlya raspoznavaniya
     rukopisnykh simvolov. Aktualnye problemy aviatsii i kosmonavtiki, 2010.
[8] Chanchikova Ye.V. Analiz metodov raspoznavaniya rukopisnykh simvolov. Reshetnevskie
     chteniya, 2010, №14.
[9] Knyazev A.V. Raspoznavanie slitnogo rukopisnogo teksta. Vestnik MEI, 2013.
[10] Knyazev A.V. Raspoznavanie slitnykh rukopisnykh slov s pomoshchyu modifitsirovannykh
     glirafov. Vestnik MEI. 2016. № 1. S. 39–43.
[11] Knyazev A.V. Ob odnom podkhode k raspoznavaniyu rukopisnykh slov. Vestnik MEI. 2010. № 5.
     S. 124–128.
[12] Knyazev A.V. Raspoznavanie slitnykh rukopisnykh slov s pomoshchyu nechetkikh glirafov.
     Vestnik MEI. 2017. № 5. S. 117–120. doi: 10.24160/1993-6982-2017-5-117-120.
[13] Knyazev, A. V. Metody raspoznavaniya slitnykh rukopisnykh slov. Vestnik Moskovskogo
     energeticheskogo instituta. 2012, № 6, S. 192-197.
[14] Popova V. V. Raspoznavanie rukopisnogo teksta na kitayskom yazyke na osnove klyuchey pri
     pomoshchi neyronnykh setey. Informatsionnye tekhnologii XXI veka, 2013.
[15] Yugandhar Manchala, Sri & Kinthali, Jayaram & Kotha, Kowshik & Kumar, Jagilinki. (2020).
     Handwritten Text Recognition using Deep Learning with TensorFlow. International Journal of
     Engineering       Research     and.   V9.     URL:      https://www.researchgate.net/publication/
     341876851_Handwritten_Text_Recognition_using_Deep_Learning_with_TensorFlow.                  doi:
     10.17577/IJERTV9IS050534.
[16] Ingle, R. & Fujii, Yasuhisa & Deselaers, Thomas & Baccash, Jonathan & Popat, Ashok. (2019).
     A Scalable Handwritten Text Recognition System. in 2019 International Conference on Document
     Analysis and Recognition (ICDAR), Sydney, Australia, 2019 pp. 17–24. URL:
     https://arxiv.org/pdf/1904.09150.pdf. doi: 10.1109/ICDAR.2019.00013.
[17] Keysers, Daniel & Deselaers, Thomas & Rowley, Henry & Wang, Li-Lun & Carbune, Victor. in
     IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 39, no. 6, pp. 1180-1194, 1
     June 2017, URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7478642. doi:
     10.1109/TPAMI.2016.2572693.
[18] Obaid, Ahmed & El-Bakry, Hazem & Eldosuky, M.A. & Shehab, Abdulaziz. (2016). Handwritten
     Text Recognition System based on Neural Network. International Journal of Advanced Research
     in Computer Science & Technology. No.4, pp. 72–77. URL: https://www.researchgate.net/
     publication/298808334_Handwritten_Text_Recognition_System_based_on_Neural_Network.
[19] Nosary, Ali & Paquet, Thierry & Heutte, Laurent & Bensefia, Ameur. (2002). Handwritten text
     recognition through writer adaptation. Proceedings – International Workshop on Frontiers in
     Handwriting           Recognition,       IWFHR.,          2002,       pp. 363–368.         URL:
     https://www.researchgate.net/publication/3966327_Handwritten_text_recognition_through_write
     r_adaptation. doi: 10.1109/IWFHR.2002.1030937.
[20] M. Rajnoha, R. Burget and M. K. Dutta, "Offline handwritten text recognition using support vector
     machines," 2017 4th International Conference on Signal Processing and Integrated Networks
     (SPIN),       2017,     pp.     132-136.      URL:      https://www.researchgate.net/publication/
     320093736_Offline_handwritten_text_recognition_using_support_vector_machines.                doi:
     10.1109/SPIN.2017.8049930.
[21] Tekhnologii raspoznavaniya izobrazheniy: vchera i segodnya obrazov, 2016. URL:
     https://www.golosameriki.com/a/image-recognition-technology-progress/3318686.html.
[22] Raspoznavanie obrazov (2020). URL: http://www.tadviser.ru/index.php/Статья:Искусственный
     _интеллект_(мировой_рынок).
[23] Raspoznavanie obrazov(2020).Obshchie svedeniya. URL: http://old.ci.ru/inform03_06/p_24.htm.
[24] Lektsionnyy material «Opticheskoe raspoznavanie simvolov» svedeniya (2020). URL:
     https://infourok.ru/lekcionniy-material-opticheskoe-raspoznavanie-simvolov-2213324.html.
[25] Kozlov V. D. Metody offlayn-raspoznavaniya rukopisnogo teksta (2014). URL:
     https://docplayer.ru/25970063-Metody-offlayn-raspoznavaniya-rukopisnogo-teksta.html.
[26] Bolotova, Yu. A., Spitsyn, V. G., Osina, P. M. Obzor algoritmov detektirovaniya tekstovykh
     oblastey na izobrazheniyakh i videozapisyakh. Kompyuternaya optika. 2017. T. 41, № 3. S. 441–
     452. URL: http://www.computeroptics.smr.ru/KO/PDF/KO41-3/410318.pdf. doi: 10.18287/2412-
     6179-2017-41-3-441-452.
[27] Kopcha-Goryachkіna G. Ye. Teorіya rozpіznavannya obrazіv. Navchalno-metodichniy posіbnik
     (2016). URL: http://org2.knuba.edu.ua/mod/resource/view.php?id=18848.
[28] Genetichniy algoritm (2021). URL: https://ru.wikipedia.org/wiki/Генетический_алгоритм.
[29] Sergeeva O. P. Primenenie geneticheskikh algoritmov dlya raspoznavaniya izobrazheniy (2002).
     URL: http://www.iai.dn.ua/public/JournalAI_2002_4/Razdel4/17_Sergeeva.pdf.
[30] Gauri Katiyar, Shabana Mehfuz, A hybrid recognition system for off-line handwritten
     characters (2016). URL: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4801835/.
[31] Tarandeep Kaur, Tarandeep Kaur: Genetic Algorithm Optimized Neural Network for Handwritten
     Character Recognition. International Journal of Computer Applications Vol.119, no.24, pp.22–26,
     June 2015. URL: http://research.ijcaonline.org/volume119/number24/pxc3904391.pdf. doi:
     10.5120/21385-4391.
[32] J. Horn, N. Nafpliotis, and D. E. Goldberg, A niched Pareto genetic algorithm for multiobjective
     optimization, In Proceedings of the First IEEE Conference on Evolutionary Computation,
     Piscataway, 1994, vol. 1, pp. 82–87.
[33] S. Watanabe, Т. Hiroyasu, and M. Miki, NCGA: Neighborhood Cultivation Genetic Algorithm for
     Multi-Objective Optimization Problems, Proceedings of the Genetic and Evolutionary
     Computation Conference, 2002, pp. 458–465.
[34] E. Zitzler, K. Deb, and L. Thiele, Comparison of multiobjective evolutionary algorithms:
     Empirical results, Evolutionary Computation, 2000, vol. 8, pp. 173–195.
[35] E. Zitzler and L. Thiele, “Multiobjective evolutionary algorithms: A comparative case study and
     the strength Pareto approach,” IEEE Transactions on Evolutionary Computation, 1999, vol. 3, no.
     4, pp. 257–271.
[36] Y. LeCun, B. Boser, JS Denker, D. Henderson, RE Howard, W. Hubbard and LD Jackel:
     Backpropagation Applied to Handwritten Zip Code Recognition, in Neural Computation, vol. 1,
     no. 4, pp. 541–551, Dec. 1989, doi: 10.1162/neco.1989.1.4.541.
[37] Convolutional Neural Networks (LeNet) – DeepLearning 0.1 documentation. DeepLearning 0.1.
     LISA Lab.
[38] Sineglazov V., Chumachenko O. Glibokі neyronnі merezhі dlya virіshennya zavdan
     rozpіznavannya і klasifіkatsіi zobrazhennya (2017). URL: http://itcm.comp-sc.if.ua/
     2017/Sineglazov.pdf.
[39] Zhifei Zhang. Derivation of Backpropagation in Convolutional Neural Network (CNN). University
     of        Tennessee,       Knoxvill,       TN.         October       18,         2016.      URL:
     https://pdfs.semanticscholar.org/5d79/11c93ddcb34cac088d99bd0cae9124e5dcd1.pdf?ga=2.5093
     0281.1725184911.1585431771-505386068.1577310372.
[40] Makarenko Aleksey Aleksandrovich, Kalayda Vladimir Timofeevich Primenenie neyrosetevykh
     tekhnologiy dlya identifikatsii izobrazheniya litsa cheloveka. Doklady TUSUR. 2005. №3 (11).
     URL: https://cyberleninka.ru/article/n/primenenie-neyrosetevyh-tehnologiy-dlya-identifikatsii-
     izobrazheniya-litsa-cheloveka.
[41] Svertochnaya neyronnaya set, chast 1: struktura, topologiya, funktsii aktivatsii i obuchayushchee
     mnozhestvo (2018). URL: https://habr.com/ru/post/348000/.
[42] Orlova Yu. O., Nadrigaylo T. Zh. Vikoristannya modelі Khopfіlda v zadachі rozpіznannya tekstu
     (2014). URL: http://www.dstu.dp.ua/Portal/Data/74/75/st-12-38-43.pdf.
[43] Neyronnaya set Khopfilda (2020). URL: https://ru.wikipedia.org/wiki/Нейронная_сеть
     _Хопфилда.
[44] Kalchenko D. Neyronnye seti: na poroge budushchego. KompyuterPress. 2005. URL –
     http:/www.compr.ru.
[45] Google Input Tools. URL: https://www.google.com/inputtools/try/.
[46] ABBYY FineReader Engine OCR SDK – Performance Guide (2017). URL:
     https://static3.abbyy.com/abbyycommedia/20728/abbyy-finereader-engine-performance-guide-
     en.pdf.
[47] PC Mag – Google Books (1998). URL: https://books.google.com.ua/books?id=PN95ntYZXZsC
     &pg=PA191&lpg=PA191&dq=OCR+CuneiForm+speed+test&source=bl&ots=-em3atSF8e&sig
     =ACfU3U07A0fk6X0NQfaMsfX3WiRoGkjakQ&hl=ru&sa=X&ved=2ahUKEwif5sj9oLvpAhW
     JtYsKHSDNDSAQ6AEwAHoECAoQAQ#v=onepage&q=OCR%20CuneiForm%20speed%20te
     st&f=false.