BlueGEEK Journal

Accueil > Programmes > Hprimator > Algorithme

Algorithme

dimanche 8 décembre 2013, par bluegyn_spip

L’analyse de milliers de résultats ocr-isés reçus en pratique médicale quotidienne permet d’énoncer quelques règles générales pour la reconnaissance de champs clefs dans la gestion des documents numérisés

L’intérêt de la reconnaissance de champ clefs est le rangement automatisé de son résultat dans le dossier du patient


Garbage in, garbage out


- Si on entre un brouillon bâclé on en sort du bâclé brouillon
- Si on veut une reconnaissance propre il faut traiter des document propres.
- Cf qualité de la numérisation.

5 champs sont nécessaires et suffisants

  1. Le Type de document
  2. Le NOM du patient
  3. Son PRÉNOM
  4. Sa Date de naissance ou son age (DDN)
  5. La date de rédaction ou par défaut la date du jour

- NOM et PRÉNOM sont absolument indispensables
- DDN (date de naissance) sert à identifier les homonymes
- Le TYPE sert à constituer une bibliothèque de Balises propres à un document
(Le Type "_DEFAUT_" est utilisé par défaut et récapitule l’ensemble des balises utilisées par chaque type de document.


La reconnaissance des Champs peut être :

  1. automatique +++
  2. Semi automatique
  3. Manuelle

(Elle se révèle parfois impossible (même à l’œil nu aucun renseignement n’est repérable !)


Le principe de lecture automatisée est toujours un traitement en plusieurs passes


  1. Mise en forme du document, selon une logique informatique, pour un traitement automatisé (filtrage)
  2. Repérage des champs clefs (analyse)
  3. Mise en, forme du document final, selon une logique informative, pour une lecture claire (en diagonale) par l’utilisateur (Présentation)

- La première passe est une passe de mise en forme de l’information

  • Le document c’est une chose
  • L’information qu’il contient en est une autre
  • L’information qu’il contient et qui nous est utile pour nos algorithmes en est encore une autre

Si les 3 sont liés, ils ne représentent pas du tout le même traitement :

- Il y a par exemple le PDF qui est la copie conforme du document original (référence absolue = il doit être conservé et non dénaturé)

- Il y a le RTF qui est le texte enrichi issu de l’OCR (il contient des images et des enrichissements sans aucune utilité cybernétique), il est le meilleur compromis entre la présentation soignée et l’analyse efficace)

- Il y a enfin le texte brut, qui peut être formaté ou non formaté,
Si le texte brut est très facile à programmer, il peut être dans certains documents particulièrement chargés en informations peu informatives (comme les listes et titre de tout le personnel soignant du service, ou une énumération de recommandations et de conseils d’interprétation)

  • Le formatage Machine se contente de remplir des tableaux :
    • des lignes
    • des mots
    • des lettres
    • et des signes.
  • le formatage Utilisateur a besoin de plus de clarté
    • Tabulation
    • Saut de lignes
    • Paragraphes

Il doit être "Lisible"

- Il existe le plus souvent un lien sémantique entre les 2 types de format.

Signe . Point - Fin de ligne, saut de ligne , début de paragraphe

- Le tout premier passage traduit le texte Enrichi en texte brut (que des mots), un peu comme le copié collé d’un PDF indexé.

- Supprime donc les images, les annotations et les enrichissements typographique,

- Il supprime toutes les tabulations :

  • Chaque ligne commence donc toujours par la première lettre d’un mot ou par un signe (comme une parenthèse)

- Il supprime tous les doubles espace

  • Chaque mot est donc séparé du suivant par un espace unique

- Il supprime les sauts de ligne inutiles

  • Et notamment les lignes qui se terminent par un "e"
  • Car une ligne bien formatée doit se terminer par un point final et aucun autre signe !

Exemple : Si l’on prend comme unité de traitement de base de l’information "LA LIGNE"
- Il est très facile de trouver une date de naissance en utilisant l’algorithme

Expression qui suit la balise "né(e) le"

Dans la ligne

Sauf si le texte est écrit comme ça :

- L’algorithme de formatage "Machine" énonce donc que la marque "Informative" de saut de ligne sera désormais le caractère "POINT" et non le caractère CRLF = 13+10 dit "Retour charriot"

- Cette formule remplace le e + saut de ligne en e + espace

TEXTE := replaceStr(TEXTE, ’e’+#13+#10, ’e’ + #32) ;

En clair c’est un filtre syntaxique qui nous sert un document "Propre"


SECOND PASSAGE RECHERCHE DE BALISES PRÉDÉFINIES


- Lire la suite ...

Algorithme 2 : Balisage