IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Texte préformaté en JAVA


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Par défaut Texte préformaté en JAVA
    Bonjour,
    Mon but est de lire dans un fichier texte et de détecter des noms de personnes ou compagnie qui se trouvent dans des dictionnaires xml. Ces fichiers xml sont préformatés comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <inst type="Person" normalized="Annette Knardahl Ruud ">
        <alt>Annette Knardahl Ruud</alt>
     </inst>
     <inst type="Person" normalized="Annette Knutsdotter Medhus ">
        <alt>Annette Knutsdotter Medhus</alt>
      </inst>
     <inst type="Person" normalized="Annette Kuhn ">
        <alt>Annette Kuhn</alt>
    </inst>
    Mon objectif est de récupéré le type, la version normalizé et la version alternative, si dans le texte on détecte la version alternative d'un mot alors celui-ci devient la version normalisé. Mais le problème n'est pas la.
    Ma question est : comment peut-on récupérer ce triplet ?
    J'ai bien pensé au pattern mais j'ai un dictionnaire conséquent, ça risque d'être long. Si utiliser les regex est le seul moyen, quelle est la pattern à utiliser ?


    merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    tu jettes un coup d oeil aux tutos de ce site sur les lib xml de java, c'est fait pour rouler tout seul.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Par défaut
    Merci, j'ai réussi à extraire les concepts de ces fichiers XML. Le problème c'est que j'ai environ 300000 concepts à extraire, je les place dans une liste. Le problème c'est qu'à partir du 250000 concepts, java me spécifie une erreur de mémoire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     int k=0;
          for(int j=0;j<l.nbDocument();j++){
    	      try
    	      {
    	    	  System.out.println(l.getVector().get(j).toString());
    	         document = sxb.build(new File(l.getVector().get(j).toString()));
    	      }
    	      catch(Exception e){}
    	      this.racine = document.getRootElement(); 
    	      List list = racine.getChildren("inst");
     
    	      Iterator i = list.iterator();
     
    	      while(i.hasNext())
    	      {
    	         Element courant = (Element)i.next();
    	         listNormalizedAndAlt.add(k, courant.getAttributeValue("normalized")+"|"+courant.getChild("alt").getText());
    	         listOfType.add(k,courant.getAttributeValue("type"));
    	         k++;
    	      }
          }
    Que dois-je faire pour ne plus avoir ce problème de mémoire ?
    J'ai fait un test sur environ 100 000 concepts, je dois les comparer à un fichier ttexte pour cela j'utilise les patterns, problème ça prend énormément de temps...Avez-vous une autre solution que les regex?

    Merci d'avance

  4. #4
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 20
    Par défaut
    Merci pour cette réponse, avez-vous une idée pour cette question : J'ai fait un test sur environ 100 000 concepts, je dois les comparer à un fichier ttexte pour cela j'utilise les patterns, problème ça prend énormément de temps...Avez-vous une autre solution que les regex?

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par leneuf
    Merci pour cette réponse, avez-vous une idée pour cette question : J'ai fait un test sur environ 100 000 concepts, je dois les comparer à un fichier ttexte pour cela j'utilise les patterns, problème ça prend énormément de temps...Avez-vous une autre solution que les regex?
    Montre-nous le code concernant la comparaison avec le fichier .


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

Discussions similaires

  1. Lire le contenu d'un fichier de format qulcque avec java
    Par jaguars_s dans le forum Documents
    Réponses: 2
    Dernier message: 31/07/2006, 21h40
  2. Editeur de texte simple comme notepad mais en JAVA
    Par Hamdi Hedhili dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 13/03/2006, 14h32
  3. formation gerta massy java j2ee
    Par devforum dans le forum Etudes
    Réponses: 3
    Dernier message: 13/02/2006, 15h51
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo