BlueGEEK Journal

Accueil > Programmes > Hprimator > Algorithme 2 : Balisage

Algorithme 2 : Balisage

dimanche 8 décembre 2013, par bluegyn_spip


SECOND PASSAGE RECHERCHE DE BALISES PRÉDÉFINIES


Chaque champ clef peut être repéré par une Balise qui le précède


RÈGLES GÉNÉRALES DE TYPOGRAPHIE D’UN COURRIER MÉDICAL


- Un courrier médical est en général constitué d’une entête qui renseigne sur l’émetteur

  • L’analyse de l’entête (c’est à dire les premières lignes) permet le plus souvent d’argumenter le type de courrier

- Par exemple :

- Docteur Machin
- RADIOLOGUE
- MAMMOGRAPHIE

La personnalisation de la reconnaissance par Balisage, permet d’établir une "banque de Balises" spécifique à chaque type de courrier

EN CLAIR :
- A chaque "type de courrier reconnu", notre algorithme créer un dossier spécifique, dans lequel vont être rangés des fichiers de balises. (banque)

- Si le type n’est pas reconnu, c’est la banque "par défaut qui est utilisée"
- La banque par défaut correspond à une banque "universelle", car elle contient "toutes les balises"

  • Son avantage est qu’elle peut pallier à toutes les situations
  • Son inconvénient est qu’elle est moins rapide (puisqu’elle a le maximum d’entrées)
  • Et que la profusion des balises inadéquates peut générer de la confusion, sur des textes complexes ou mal traduits

Par exemple un type d’expressions employées usuellement par le Dr MACHIN

- La plupart du temps la phrase magique suit l’entête, "magique" car elle contient à elle seule, tous les renseignements utiles à la reconnaissance précise du patient


La Ligne magique !

Compte rendu de Mme DUPONT Marie née le 14/07/1989 (75 ans).

LE NOM

Compte rendu de "Mme" DUPONT Marie née le 14/07/1989 (75 ans).
  1. Est le plus souvent annoncé par une Balise de civilité (Mme, Mlle , Mr.)
  2. Précède en général le prénom
  3. Est normalement écrit entièrement en MAJUSCULES

Voilà une liste non exhaustive des balises facilement retrouvées pour annoncer un NOM

- Un classement par Taille décroissante (du plus complexe au plus simple) montre plus de pertinence dans la mise en oeuvre de l’algorithme
- Des outils de classement automatisé (et manuel) des Balises par pertinence doivent être inclus dans le programme

NOTE :

On y trouve par exemple la Balise "Mine", car il ne faut pas oublier que l’OCR est un robot semi stupide, qui tente d’interpréter ce qu’il voit, et si la première jambe du "m", est couverte par une poussière, il va interpréter un i et un n au lieu d’un m

- Chaque balise doit donc pouvoir être corrigée et rajoutée en temps réel (au moment de la lecture du document), la définition de l’algorithme intelligent étant d’apprendre en même temps qu’on l’utilise.


Le Prénom

Compte rendu de Mme "DUPONT" Marie née le 14/07/1989 (75 ans).
  1. Le prénom suit le Nom
  2. Sa casse habituelle est du type "Capitale" avec une 1ere lettre en majuscule
  3. Sa Balise implicite est le NOM
  4. Par rapport aux noms de famille dont la liste est quasi infinie, la liste des prénoms usuels peut être prédéfinie et servir de référence

Voila la liste des 700 prénoms usuels personnels collectés en 25 ans de pratique

- Ils sont essentiellement féminins car il correspondent à l’activité d’un cabinet de gynécologie.
- On remarque qu’on a le plus souvent supprimé les diacritiques (les accents étant parfois mal reconnus par l’OCR) Utilisation des fonctions logicielles SoundEx ...

La Date de Naissance

Compte rendu de Mme DUPONT Marie "née le" 14/07/1989 (75 ans).
  1. Suit le prénom
  2. Termine souvent la ligne (parfois suivi de l’âge)
  3. Facilement balisée par des expressions de type "né(e) le
  4. Malheureusement formatée de façon fantaisiste, en chiffres, en lettres ou en mix des 2
14/07/1789
14.07.1789
14-07-1789
14 juillet 1789
mercredi 14 juillet 1789
1er décembre 1912

Liste des balises courantes pour DDN



Dans la gestion des algorithmes probabilistes vite faits,

En supposant que la reconnaissance des caractères soit quasi parfaite
il suffit de trouver dans un texte la ligne magique qui contient "né(e) le"

Avec à sa gauche :

  1. Le Nom c’est l’expression qui est toute en majuscules
  2. Le prénom c’est ce qui reste et dont la première lettre est une Majuscule, mais qui n’est pas une balise

Et à sa droite :

  • La date de naissance

Dont la gestion est facile si elle ne contient que des chiffres)


La Date

- On retrouve avec la date du courrier la même fantaisie qu’avec la date de naissance

  • l’avantage est qu’on va se servir du même algorithme de débrouillage
  • L’inconvénient est que la secrétaire fantaisiste dans ses dates est souvent également instable dans ses fantaisies...

- Sachant que si le courrier est récent et que son traitement se fait en temps réel, on peut très bien mettre la date du jour par défaut.

if Date = ’’ then Date := DateToStr(Now) ;

- Voici les balises habituelles de date :

NB : Dans notre algorithme l’accent circonflexe,

^LE

signifie que la Balise doit obligatoirement se trouver en début de ligne

StrLeft( ligne,3 ) = ’LE ’
^LE "début" de ligne cherche mot qui suit
LE^ fin de "ligne" cherche mot qui précède
_LE Espace avant mot suivant
LE_ espace après mot suivant
_LE_ Espaces avant et après Mot Suivant