visit
It's not enough to create a high-quality and useful mobile app that meets the needs of users in a particular niche. Constantly working on new versions of an app is something that all developers face. Our iScanner team is no exception.
The neural network training is largely based on the OCR (Optical character recognition) algorithm. The OCR algorithm needs data to improve its functionality. To be more specific, the algorithm needs a lot of data that it processes, learning to recognize new text variants (since iScanner is a scanning and document management platform, it is one of our main tasks).
Why is handwriting recognition difficult? The problem is that there is a wide range of handwriting variants.In addition to this, the way the characters are connected when writing by hand becomes a critical variable for handwriting recognition. This significantly complicates the task and limits the ability to generate synthetic datasets based on a small number of characters. Therefore, it is difficult for programmers to provide enough examples of what each character might look like. In addition, sometimes characters look very similar, making it difficult for computers to accurately recognize them. For example, half the population writes "1" like a "7" and the other half writes "7" like a "4"! Also, notes can be written on the fly, and captions are almost always illegible. Some words may also be unfinished, and the author may not understand them without context.
Another complex problem is that often the combination of two characters can look like a third character, for example, rn is very similar to m. On top of that, the original documents can be of poor quality, as the paper deteriorates quickly.
In general, however, recognition accuracy depends on the richness of the data set used to train the algorithms.
Success here is highly dependent on the data set used to train the algorithms. Our team understood that we needed to get as many variants of handwritten text as possible. How can we achieve this? Ask for help from the app users!
By the way, such user activity does not always go smoothly, and the developers need to take this into account before starting these kinds of challenges. In our case, despite the detailed instructions, users did not always scan handwritten text and often sent us scans of typed text instead.
With this example of user interaction, we want to emphasize how important it is to use the feedback of our users to further train AI. Don't underestimate users’ contribution to the app, but don't overestimate it either (for example, don’t expect them to do everything smoothly and correctly). Apart from the obvious advantages, this challenge is also an opportunity for the community of active iScanner users to feel involved and important.