2014-09-04 4 views
1

Je suis nouveau à UIMA ...UIMA pour les données structurées

Je veux me connecter à une base de données, d'extraire des données et processus à l'aide UIMA regex annotateurs et écrire de nouveau à la base de données.

Exemple:
Tableau: emp

Name  Department  EmpId 
AB-C  Sale's   2134[3] 
XYZ,  Fina&nce  23423 
PQ#R  Marketing  234(47 

à transformer l'aide UIMA regex annotateurs

désiré Sortie

Name  Department  EmpId 
ABC  Sales   21343 
XYZ  Finance   23423 
PQR  Marketing  23447 

J'ai installé UIMA, ECLIPSE et les pilotes JDBC pertinents pour se connecter base de données.

Merci à l'avance

+0

Si votre extraction et le traitement est comme votre exemple (supprimer des caractères non alphanumériques), alors je définitivement aller avec SQL pur (par exemple SQL REPLACE) – Renaud

+0

J'ai besoin de faire beaucoup de traitement de texte, donc je suis impatient de travailler sur UIMA –

Répondre

2

Il y a deux façons d'y parvenir.

Le plus simple (pas extensible) façon serait d'écrire 3 classes (utilisation uimaFIT http://uima.apache.org/uimafit.html#Documentation pour faciliter le codage):

CollectionReader: - lire toutes les données dans les objets - itérer sur les objets et créer JCASes de chaque objet, vous pouvez stocker la clé primaire dans une annotation.

Moteur d'analyse: - utiliser le UIMA regex annotateurs pour manipuler le DocumentText de SCAP

Consommateur: - lire la SCAP DocumentText et utiliser la clé primaire pour mettre à jour la base de données

Une meilleure façon serait de résumer la lecture et l'écriture en créant une ressource externe (http://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.externalresources) qui se connecte à la base de données (fournir une méthode hasNext() et next() - c'est très pratique à utiliser dans CollectionReader et Consumer). Ceci a l'avantage que toute la logique d'initialisation peut être isolée. Lorsque vous utilisez UIMAFit, vous pouvez utiliser l'injection de paramètres de configuration (http://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.configurationparameters), par exemple pour rendre la chaîne de connexion et la requête de recherche configurables.

Utilisez la classe SimplePipeline à uimaFIT pour exécuter votre pipeline: http://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.pipelines

+0

Merci @jvdbogae –

Questions connexes