Annotateur UIMA Unitex C++

Slides:



Advertisements
Présentations similaires
Développement dapplications sur mobiles.NET et J2ME, C++ et Symbian WIPLIER Thomas – M2IRT2009 – 15/02/2007.
Advertisements

« Les Mercredis du développement » Les Starter Kits Level 100 Présenté par Pierre Lagarde Relation technique développeur
« Les Mercredis du développement » Nouveau format de fichier Template Solution Présenté par Pierre Lagarde Relation Développeurs.
IChannelIPrivilegedIMultithreadedIServantICacheableIMimeResponse Type custom : les interfaces de programmations IChannel : canal standard, stateful 5 méthodes.
Copyright 2011 © Consortium ESUP-Portail ESUP days, Paris, 17 juin 2011 Nouveaux services dans ESUP Julien Marchal.
Data Management for Large-Scale Scientific Computations in High Performance Distributed Systems A. Choudhary, M. Kandemir, J. NoG. Memik, X. Shen, W. Liao,
C++ 5ème cours Patrick Reuter maître de conférences
Moteur de recherche Google
Marc Yvon Responsable Avant-Vente DB2 Logiciels de Gestion dinformations Portefeuille Base de Données.
LIFE Fest – Paris – 13/06/ SCORM 2004 et LOMfr dans SCENARI Erik Gebers Université de Technologie de Compiègne Laboratoire HeuDiaSyC – UMR CNRS 6599.
Formation CCNA 07- La commutation LAN. Sommaire 1) Concepts et fonctionnement 2) Commutateurs a - Présentation b - Démarrage c - Configuration de base.
(Classes prédéfinies – API Java)
Toolkit Web Framework Java pour les IHMs Cédric Dumas mars 2008 contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage.
09/03/2014 EF Installations de suivi environnemental Draft data specification Version 2.0 TWG EF Facilitators: Franz Daffner, Sylvain Grellet.
Windows XP Professionnel
Réinformatisation, Sudoc et aspects libres
Ressources en Ligne DOxford University Press. Cette présentation est un bref descriptif dOxford Language Dictionaries Online Elle couvrira La fonction.
High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction.
Navigation de Base dans Google Earth
JDBC: manipuler une base de données en Java IFT6800 – E 2007 Jian-Yun Nie.
Les entrées /sorties en Java François Bonneville
Introduction en systèmes d’information et bases de données
3 Octobre 2013 Les Communautés MS. Gilles MESSINGER Consultant SAM Les licences Microsoft.
Projet sur Framework Spring
Mise en place dun ebook gratuit sur Edition999 Logiciels nécessaires : Acrobat Pro Photo Filtre Mobipocket Creator Calibre.
F.A.Q. Application Millenium 3 Virtual Display
My VMware Gestion simplifiée des licences produits et du support
Contrôle daccès et qualité de service dans les réseaux basés sur ATM Olivier Paul.
DIBA p r o g i c i e l. DIBA est un progiciel dédié à la gestion: des compagnies dassurance. des cabinets de courtage Il est entièrement paramétrable.
Enesys RS Data Extension
Live Meeting Technique N°3 Thomas LEBRUN – MVP WPF/Silverlight Florent SANTIN – MVP Team System Julien CORIOLAND - MSP.
Connexion base de données
Injection de dépendances
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
Développement Mobile : Android
Cours VHDL Chap 3: sémantique VHDL
Mise en œuvre du langage MDX - 1 ère partie- Présentation de lexemple et des outils utilisés -1-
Débugage avec log4j Azim Roussanaly.
Introduction à Node.JS Vincent Peybernes.
Infrastructure, communication & collaboration Accélérer lévolution de votre IT René-Philippe Mantrand CEO Refresh IT Solutions
La programmation objet Illustration de la POO en Pascal
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Les Webcasts Groupe des Utilisateurs SQL Server Avril 2014 – Statistiques Incrémentales Fred Pichaut – Microsoft Senior.
Approche mémoire partagée Threads – Paradigme de lapproche – Objets exécutés par les processeurs threads vs processus, – un thread possède : Ses registres,
PARALLEL COMPUTATION WITH INDUSTRIAL CODES Yannick HALLEZ & Benoît LABEYRIE.
The EMPREINTE Project Juillet - octobre 2004
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Training teachers to use the European Language Portfolio Former les enseignants à lutilisation du Porfolio européen des langues.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Liste des commandes DOS AT Schedules commands and programs to run on a computer. ATTRIB.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
SQL Injection Réalisée par: BEN NASR Houssem GMATI Idriss HADDAD Mohamed Aymen HAKIM Youssef.
Programmation Orienté Objet Application Au Langage JAVA Licence professionnelle ATC ~ 07/08 Bessem BOURAOUI
JUnit Présentation complète de JUnit et « guide d’utilisation » en 13 transparents.
Framework Play 2.0 Démonstration du proof of concept
CERN IT Department CH-1211 Genève 23 Switzerland t Get the most of Office 2007! Bruno Lenski, IT/OIS.
Students Séance du 24 novembre 2004 Par Christian Raemy et Thomas Becker.
Multi-Thread Jian-Yun Nie
Textract Magali Paquot. 2 Outil d'indexation (semi-) automatique de texte.
OpenCV: Introduction au Traitement d’Images et Vidéo
Fabienne Boyer Laboratoire LIG (INRIA-UJF-INPG) Projet SARDES, INRIA Rhône-Alpes Usage.
GWT - QuickStart V 1.0 / May. Mise en place de l’environnement Java : Version 1.4 minimum IDE Eclipse 3.3 Europa : lien (Eclipse J2EE recommandée)‏lien.
27/02/2006L3 MIAGE - GLO ADA1 Les Paquetages Permettent d’encapsuler un groupe d’entités logiquement reliées. Comme toute unité de programme, le paquetage.
AOP dans .Net avec PostSharp
[Presentation Title Here] Mental Health Commission of Canada Presented by: [Name, Title] [Date]
Séminaire Doc Mining Paris 13/11/2002 PSI Librairie Adam Sébastien Delalandre Mathieu Héroux Pierre.
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Diagramme de Déploiement
Cours Web Services ISIMA 3F3
Subversion.
Transcription de la présentation:

Annotateur UIMA Unitex C++ Présentation et mise en oeuvre

Sommaire Généralités Mise en œuvre et exemple Configuration Objectifs de l’annotateur Téléchargements UIMA Annotations produites Configuration Adaptation de l’application d’exemple Le descripteur Situation actuelle Les groupes de paramètres Performances Les paramètres Les 2 versions de la bibliothèque Unitex Les stratégies Recherche des ressources Appel à contributions

Généralités L’annotateur et UIMA

Objectifs Gestion de haut niveau d’Unitex Contrairement à la bibliothèque Approche cohérente des ressources et des processus Implémente un traitement standard Intégration facilitée dans une chaîne de traitement plus vaste Grâce à UIMA

UIMA Unstructured Information Management Applications Gestion de documents non structurés (texte principalement) Ajout de « vues » sur un document Ajoute d’annotations (qui peuvent se recouvrir) dans les vues Système de séquencement des unités de traitement (« annotateurs ») pour former des chaînes de traitement Configuration très souple des annotateurs par leurs « descripteurs » Système d’interfaçage pour faire communiquer les annotateurs http://uima.apache.org/

Configuration Le descripteur de l’annotateur et ses parametres

Le descripteur La configuration de l’annotateur se fait par son « descripteur » : le fichier UnitexAnnotatorCpp.xml C’est ce descripteur qui doit être fourni à UIMA, que ce soit pour une exécution de l’annotateur seul ou pour l’intégrer dans une chaîne de traitement. Spécifier le chemin de l’exécutable <annotatorImplementationName> C:\Users\Sylvain\UnitexAnnotatorCpp\UnitexAnnotatorCpp.dll </annotatorImplementationName>

Groupes de paramètres Les langues <!-- Parameter definition --> <configurationParameters defaultGroup="French" searchStrategy="none"> <commonParameters> <configurationParameter> <name>Dictionaries</name> <description>List of dictionaries to use with this language.</description> <type>String</type> <multiValued>true</multiValued> <mandatory>false</mandatory> </configurationParameter> … <configurationGroup names="English French"/> </configurationParameters>

Les paramètres Graphs : liste des noms des graphes à appliquer Dictionaries : liste des noms des dictionnaires à appliquer SystemDictionaries : (opt.) nom du fichier des dicos système UserDictionaries : (opt.) nom du fichier des dicos utilisateurs MorphoDictionaries : (opt.) dicos morphologiques pour un graphe Nom_de_graphe=liste de noms de dicos séparés par ; Mode: mode d’application des graphes REPLACE ou MERGE TimeoutDelay : (opt). nombre de ms alloué à Unitex avant de lever un timeout

Les paramètres (encore) fakeTokens : (opt.) une liste de chaînes qui peuvent être rajoutées dans les documents pour un traitement ad hoc par les graphes, mais qui ne doivent pas être pris en compte en sortie de l’annotateur cleanTemporaryFiles : (opt.) flag pour faire le ménage entre 2 documents logProfilingInfo : (opt.) flag pour mesurer les temps passés dans chaque graphe CumulateAutomatonPerformances : flag pour cumuler ou pas les infos de profilage LongestMatchOutput : flag pour ne conserver que le longest match en cas d’ambiguïté HideUnitexOutput : flag pour ne pas afficher les sorties console d’Unitex

Les paramètres (fin) UnitexLog : (opt.) chemin vers un dossier où stocker les logs des opérations atomiques Unitex ForceGraphCompilation : (opt.) flag pour forcer la recompilation des graphes lors de l’initialisation de l’annotateur ForceDictionaryCompilation : (opt.) flag pour forcer la recompilation des dictionnaires lors de l’initialisation de l’annotateur

Les stratégies En parallèle du système propre à UIMA de « groupes » (correspondant aux langues) Notion de « stratégie de traitement » pour les graphes <nameValuePair xmlns=""> <name>Graphs</name> <value> <array> <string>STRATEGIE1=graph1.fst2</string> <string>STRATEGIE2=graph2.fst2</string> <string>graph3.fst2</string> </array> </value> </nameValuePair>

Stratégie de recherche des ressources Dans le répertoire spécifié par la variable d’environnement UNITEX_RESOURCES Dans le DataPath d’UIMA (par défaut : le répertoire où est situé l’application appelante) Sous-répertoire « unitex » Sous-répertoire « PulseMyUnitex » (raisons historiques) Dans le premier sous-répertoire contenant la chaîne « unitex » Les ressources d’une langue (groupe) figurent dans le sous- répertoire portant ce nom : par exemple ..\unitex\English La structure de ce répertoire reflète celle attendue par Unitex (sous-répertoires Dela, Graphs…)

Mise en oeuvre L’annotateur et son application exemple

Téléchargements Maven Le code source de l’annotateur http://maven.apache.org Le code source de l’annotateur https://code.google.com/p/gramlab-unitex-cpp-uima-annotator Les binaires de l’annotateur sous forme d’artefacts Maven http://parthenon.univ-mlv.fr:8081/nexus/content/repositories/gramlab Le code source de l’application exemple https://code.google.com/p/gramlab-unitex-cpp-annotator-sample-app

Annotations produites Toutes les annotations: id (int), @sofa, begin (int), end (int) LanguageArea: language (str) TokenAnnotation: @previous, @next, token (str), index (int) ParagraphAnnotation: @firstToken, @lastToken SentenceAnnotation: @firstToken, @lastToken, @paragraph TransductionOutputAnnotation: output (str) AnnotatorPerformanceAnnotation: componentName (str), elapsedTime (int) AutomatonLocatePerformanceAnnotation: componentName (str), elapsedTime (int)

Exemple Adaptation de l’application exemple Reconnaissance de dates

Situation actuelle …et future

Performances Mesurées sur un PC quadricoeur i7 à 2,4 GHz Corpus de plus de 16000 « mails » (documents d’environ 5Ko) C++ Base (sans VFS) VFS natif VFS Ergonotics Java 811 ms/mail 510 ms/mail 390 ms/mail 486 ms/mail * En l’état actuel des choses, la librairie basée sur le VFS natif présente des fuites mémoire et peut provoquer des sorties intempestives de la JVM après 1500 documents traités.

Les 2 versions de la bibliothèque Unitex L’annotateur se base sur la bibliothèque Unitex qui vient sous 2 versions La version « native » open source, avec une virtualisations basique des fichiers de ressource (graphes, dictionnaires, alphabets) Une version commercialisée par Ergonotics avec une virtualisation sophistiquée et une gestion optimisée des manipulations en mémoire Dans les 2 cas, l’interface est la même, il suffit donc de remplacer une bibliothèque par une autre lors du déploiement de l’annotateur

Appel à contributions Téléchargez l’annotateur, et l’application exemple et amusez-vous ! Vous pouvez me contacter pour de l’aide : surcin@kwaga.com Nous avons besoin de contributeurs pour faire vivre Unitex, et l’annotateur Unitex !