A ma connaissance, ia pas eu de révolution dans le monde de l'OCR. Ce qui veut dire que ca fonctionne par entrainement. En gros :
- Le logiciel prend un texte lambda en tant qu'image
- tu "boxes", c'est à dire que tu traces des carrés autour de certaines lettres, plusieurs de chaque, et t'essaie d'etre représentatif, d'avoir toutes les lettres plusieurs fois. Puis pour chaque "box", tu indiques au logiciel : ca c'est un a, ca c'est un c, ca c'est un j, etc.
Et tu fais ca pour chaque police, puisqu'un T en Arial ressemble pas exactement à un T en verdana, etc...
A partir de là, quand tu lui montres un nouveau texte, le logiciel va "boxer" chaque lettre automatiquement. C'est déjà important : ca signifique qu'il va avoir besoin qu'il y ait du blanc entre le noir de chaque lettre. Du coup, une écriture "liée", comme souvent les écritures manuscrites, déjà, ca pose des difficultés.
Ensuite, il prend chaque "box", et il compare avec toutes les références qu'on lui a donné, et cherche ce qui se rapproche le plus. Si il trouve que la lettre n°1 se rapproche de pas mal de I, et d'un peu de J, il va considérer que c'est un I. C'est pour ca que les logiciels d'OCR peuvent facilement se planter entre un 0 et un O sur certaines polices, etc.
Pour améliorer ca, on va pouvoir travailler par exemple avec des dictionnaires : il sait que C0UC0U n'existe pas en francais, donc il va se dire qu'en fait c'est COUCOU. Mais pour ca faut lui préciser la langue, et ca peut l'inciter à se planter sur les noms propres, qu'il connait pas. On peut aussi mettre des "poids" sur les lettres, pour dire que s'il hésite entre un z et un e, ben ia plus de chance que ce soit un e, vu que ca apparait plus souvent. Etc...
Bref, ca reste assez "artisanal" comme technique, surtout avec les moyens accessibles au grand public. Ce qui explique que la détection de manuscrit,c'est rarement top. Et comme, à mon avis, l'écriture d'un enfant est plus variable que celle d'un adulte, ca rajoute de la complexité.
|