Archives du tag : Type system

Qu’est-ce que UIMA ?

UIMA (Unstructured Information Management Architecture) est un framework de développement et de déploiement d'applications de traitement des données non structurées. Lancé par IBM, et maintenant en incubation à la fondation Apache, UIMA est en cours de normalisation à l'OASIS (Organization for the Advancement of Structured Information Standards). L'objectif de ce framework est de proposer une architecture supportant les différentes étapes du traitement d'un document non structuré (texte, image, vidéo, etc.) en vue d'en extraire de façon automatique des informations structurées. UIMA ne décrit ni comment ces informations doivent être extraites du texte, ni la façon de s'en servir. Par contre, cette plate-forme de développement prend en charge de nombreuses problématiques de façon native comme la réutilisation de composants, la montée en charge et le déploiement distribué, la prise en compte des erreurs, la mise en œuvre de services web, etc.

Le site Apache UIMA propose un schéma illustrant bien les différentes facettes d’UIMA.

Les composants (Components) sont les briques de base permettant de bâtir une application UIMA complète. Les composants d’annotation (Annotators sur le schéma) sont les composants qui supportent la responsabilité la plus importante qui est d’effectuer des traitements (un traitement par composant en principe). Le système de types permet de définir la hiérarchie de types (type au sens informatique du terme) qui supportera les annotations (i.e. c’est le diagramme de classes des annotations).

Les Frameworks sont l’ensemble des bibliothèques et outils permettant de développer et d’exécuter des applications UIMA.

Publié dans UIMA | Tagué , | Laisser un commentaire

UIMA : Le système de types (Type System ou TS)

Pour composer un CAS, UIMA propose quelques types de base et permet de les étendre grâce au concept de système de types (Type System ou TS). Un système de types est une hiérarchie de types qui défini l’ensemble des types qu’il est possible d’utiliser dans le CAS.

Chaque composant UIMA (i.e. chaque Analysis Engines) défini son propre système de types. Pour assurer la cohérence d’une chaîne d’annotation UIMA, il est préférable que chacun des systèmes de types des composants de la chaîne soit un sous-ensemble d’un système de types plus général décrivant tous les types d’annotations que la chaîne peut produire.

Un système de types est décrit dans un fichier XML qui peut être édité sous Eclipse par le Component Descriptor Editor :

Publié dans UIMA | Tagué , | Laisser un commentaire

UIMA : Le schéma d’annotation commun (Common Analysis Structure ou CAS)

Le schéma d’annotation commun (Common Analysis Structure ou CAS) est une notion centrale dans UIMA. Le CAS encapsule toutes les annotations concernant le document analysé ainsi que le document lui-même. Un CAS comporte deux types d’éléments :
  1. Le documents, appelé Sofa pour Subject of Analysis dans UIMA.
  2. Des annotations générées par des composants d’annotation.

Le CAS est une structure orientée objets permettant aux différents composants d’une chaîne d’annotation UIMA de représenter et d’échanger leurs annotations respectives. UIMA propose quelques types de base et permet de les étendre grâce au concept de système de types (Type System).

L’interface Java permettant de manipuler le CAS depuis du code Java se nomme JCas (cf. Tutoriel IV), mais le CAS reste tout de même accessible en Java sans passer par cette interface (cf. Tutoriel V).

Publié dans UIMA | Tagué , | Laisser un commentaire