Après Dossier intelligence artificielle open source #1 DeepDive , je vous présente aujourd’hui Unstructured Information Management Architecture (UIMA). UIMA est une plate-forme ouverte, évolutive et extensible pour la création d’applications d’analyse de textes ou plus généralement de données non structurées, pour en trouver la signification latente, ou l’information pertinente enfouie. UIMA permet aux développeurs de construire des modules analytiques et des applications provenant de plusieurs fournisseurs analytiques, en encourageant la collaboration et en facilitant l’extraction de valeur des données non structurées. IBM a intégré le framework UIMA dans son application WebSphere Information Integrator OmniFind Edition, qui permet aux utilisateurs de déployer leur analyse de texte et de données dans les plus grandes solutions intégrées.
UIMA est composé d’un framework open source Java fournissant :
- un environnement pour la création de composants analytiques UIMA compatibles (à partir de zéro ou en assemblant les modules analytiques existants) et pour le développement de modules analytiques composites
- une infrastructure d’exécution pour exécuter les processus analytiques composites.
UIMA est supporté par une communauté diversifiée, et est aujourd’hui en phase de standardisation. En effet, la société OASIS (Advancing Open Standards for the Information Society) a formé un comité technique autour de UIMA pour standardiser l’architecture et Apache a accepté de prendre part au développement de UIMA à travers l’élaboration d’un framework UIMA par des acteurs de l’open source. Ce faisant, UIMA est aujourd’hui disponible sous licence Apache 2.0. Il a été initialement développé par IBM en collaboration avec de nombreux gouvernements, agences, institutions scientifiques et universitaires, ce qui lui a valu d’être déployé en production dans de nombreux sites. L’Institut de technologie des langues de l’Université Carnegie Mellon est devenu la plaque tournante de UIMA en hébergeant le répertoire des sources des composants de UIMA. Des modules d’analyse open source tels que OpenNLP et GATE (General Architecture for Text Engineering) peuvent être exécutés dans le cadre du framework UIMA. De nombreux éditeurs de logiciels ont par ailleurs développé ou développent des modules compatibles UIMA.
L’architecture du système UIMA (cliquer pour agrandir)
Le site de SourceForge continuera d’accueillir le code source pour les versions de Java antérieures à la première version d’Apache. En vertu de la Common Public License (CPL), les sources de ces versions peuvent entrer librement dans les implémentations commerciales et non commerciales. Pour les versions pré-Apache, le framework UIMA est disponible comme SDK téléchargeable, pour aider les développeurs dans la création et le test des modules analytiques compatible UIMA. Ce SDK inclut des composants gratuits supplémentaires étendant les fonctionnalités de base, mais ne peuvent pas être redistribués. UIMA dispose d’un support pour plusieurs langages de programmation, avec des mises à jour périodique (dont la plus récente en octobre 2014).
Il faut savoir que le célèbre joueur virtuel Watson d’IBM utilise une implémentation de UIMA, qui n’est donc qu’une petite partie du programme Watson. Heureusement que nous ne sommes pas obligés de passer par Watson pour utiliser UIMA! Il a d’ailleurs été également utilisé dans des projets dérivés comme YodaQA, en tant qu’analyseur de texte, à partir de la source de données Wikipedia.