mardi 13 décembre 2011

josDBlog est passé sous WordPress

Cette version de josDBlog n'est plus maintenue.

mardi 29 novembre 2011

Descripteur XML de composant (Component Descriptors)

Les composants UIMA sont composés de deux parties distinctes :

  1. une partie déclarative (le descripteur de composant)
  2. un code (en Java par exemple)

La partie déclarative est représentée dans un fichier XML et est appelée descripteur de composant (Component Descriptor). Le descripteur de composant contient des méta-données qui décrivent le composant. C'est le moyen qu'UIMA utilise pour mettre en œuvre les mécanismes de découverte, de réutilisation et de composition de composants.

Le descripteur de composant permet de renseigner, entre autres, les informations suivantes :

  • nom, version, auteur, description et surtout le nom de la classe implémentant le composant (onglet Overview)
  • Système de types utilisé (onglet Type System)
  • Types utilisés (i.e. requis) dans le CAS par le composant (onglet Capabilities)
  • Types renseignés dans le CAS par le composant (onglet Capabilities)

Sous Eclipse, un tel descripteur peut être édité avec le Component Descriptor Editor.

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 :

mercredi 23 novembre 2011

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.

UIMA : La chaîne de traitement

Une chaîne de traitement UIMA comporte trois types d'éléments :
  1. Le Collection Reader : généralement le premier élément de la chaîne, il permet de créer des CAS autour de chaque ressource.
  2. Les Analysis Engines : raison d'être de la chaîne, ils effectuent les traitements en utilisant les annotations contenues dans le CAS et en produisant de nouvelles annotations dans le CAS.
  3. Le Workflow Controller : c'est lui qui orchestre l'exécution des Analysis Engines.

On peut distinguer deux types de Workflow Controller :
- le CPM (Collection Processing Manager) et les service Vinci (Vinci Services) ;
- et le tout nouveau AS (Asynchronous Scaleout) bien plus flexible.

L'interface graphique Collection Processing Managment, instancie un Workflow Controller du type CPM appelé FixedFlow qui consiste simplement à enchaîner séquentiellement un Collection Reader, puis un certain nombre d'Analysis Engine et enfin un CAS Consumer. Un CAS Consumer n'étant rien d'autre qu'un Analysis Engine particulier qui n'est pas destiné à enrichir un CAS mais qui génère une sortie (généralement un fichier) à partir des annotations contenues dans le CAS.

jeudi 17 novembre 2011

Imprimer depuis une machine virtuelle VirtualBox

Pour imprimer avec Windows depuis une machine virtuelle VirtualBox sous Ubuntu, penser à configurer la carte réseau avec un accès par pont :Périphériques Cartes réseau... Mode d'accès réseau : Accès par pont

Free méprise et ses clients

Début septembre, j'ai contacté l'assistance de Free pour résoudre un problème de reboot effaçant systématiquement les paramètres de l'interface locale (cf. http://bugs.freeplayer.org/task/4128 ou encore http://bugs.freeplayer.org/task/5688).
L'assistance téléphonique m'a envoyé un technicien en me certifiant que ce serait gratuit pour résoudre le problème. Le technicien n'a rien pu ou su faire, mais ce mois ci, Free me facture 49€ la venu du dit technicien. L'assistance contactée me demande d'envoyer un courrier avec accusé de réception pour porter réclamation (encore du temps et de l'argent). J'ai maintenant reçu la réponse ou plutôt la non réponse puisqu'il s'agit manifestement d'une réponse stéréotypé. Il faut maintenant avoir recours au Service National du Consommateur.
Chapeau bas, Free, pour tant de mépris et de malhonnêteté !

vendredi 5 novembre 2010

Traitement Automatique du Langage Naturel (TALN) : Outils d’analyse de données textuelles

Le Traitement automatique du langage naturel (TALN) ou Traitement automatique des langues (TAL) est une discipline à la frontière de la linguistique, de l'informatique et de l'intelligence artificielle, qui concerne l'application de programmes et techniques informatiques à tous les aspects du langage humain [Wikipedia].
Dans le cadre du Master Informatique 2ème année, spécialité Modélisation Informatique des Connaissances et du Raisonnement (MICR), de L’École Doctorale Galilée, je dispense un cours sur les Outils d'analyse de données textuelles.
Le plan du support de cours de la première séance est :
  1. Introduction au Traitement Automatique du Langage Naturel
  2. Niveaux de traitements et principaux outils
  3. Plateformes d'annotations linguistiques
  4. Apache UIMA
Voici quelques sites rassemblant ou inventoriant des outils pour le TALN :
Pour compléter cette liste, voici quelques réservoirs de composants UIMA :

vendredi 30 juillet 2010

Manipulation par lots du nom de fichier de photos avec métadonnées exif

  • Copier la date/heure des métadonnées exif vers la date/heure des fichiers :
    > jhead -ft *.JPG
  • Ajouter 1h30mn à l'heure des métadonnées exif des fichiers :
    > jhead -ta+1:30 *.JPG
  • Ajouter la date/heure des métadonnées exif au début des noms de fichier :
    > exiv2 -r '%Y-%m-%d-(%H-%M-%S)_:basename:' *.JPG
  • Supprimer la date/heure ajoutée ci-dessus au début des noms de fichier :
    > rename 's/.*\)_//' *.JPG

jeudi 29 juillet 2010

Rendre silencieux un Synology (ventilateur et fan check)

Je possède un NAS Synology DS209+II. Comme la plupart des Synology à deux baies, son ventilateur est un Evercool dont les spécifications sont décrites ci-dessous.
Modèle : EC7025L12ER (Evercool)
Dimensions : 70mm x 70mm x 25mm
Alimentation : 12 V
Niveau sonore : 24 dB
Consommation : 1.68 W
Vitesse de rotation : 3000 rpm
Débit : 25.2 CFM
Durée de vie : 40000 heures

Le problème de ce ventilateur est son niveau sonore. Il n'est pas très important, mais dans une pièce silencieuse, je le trouve gênant. J'ai donc décidé de le remplacer par un modèle plus silencieux. Les ventilateurs dans ces dimensions ne sont pas légion, mon choix s'est porté sur un ventilateur Nexus dont les spécifications sont décrites ci-dessous.
Modèle : SP702512M (Nexus)
Dimensions : 70mm x 70mm x 25mm
Alimentation : 12 V
Niveau sonore : 19 dB
Consommation : 3.96 W
Vitesse de rotation : 2400 rpm
Débit : 21.1 CFM
Connecteur : Molex 3 broches
Ce ventilateur est totalement compatible avec l'original au niveau dimensions et visserie. Cependant, il consomme un peu plus (2.28 W) brasse légèrement moins d'air et n'est pas compatible au niveau connecteur (il faut sortir son fer à souder pour placer un connecteur compatible sur le câble du ventilateur). Par contre, il est nettement plus silencieux et mes oreilles l'en remercient ! Je garde au chaud le ventilateur original comme pièce de rechange.

Comme rien n'est jamais simple en informatique, il reste un problème : le Synology bip régulièrement probablement en raison de la vitesse de rotation du ventilateur qui n'est plus la même. La solution radicale consiste à taper la commande suivante dans un shell ouvert sur le NAS :
DS209xII> echo 0 > /sys/module/ds508_synobios/parameters/check_fan
Plus de bip, mais probablement plus d'avertissement non plus en cas de défaillance du ventilateur... Comme cette manipulation est à faire après chaque reboot, il est possible de mettre la commande dans un script nommé, par exemple, S99zz_fan_check_disable.sh dans le répertoire /usr/syno/etc.defaults/rc.d pour automatiser la procédure.
Remarque : avec le DSM 3.0-1137, le fichier check_fan est maintenant dans le répertoire /sys/module/ppc85xx_synobios/parameters. Pour trouver l'emplacement de ce fichier, le plus simple est de taper la commande updatedb, puis la commande locate check_fan.