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

Python Discussion :

[XML] Utilisation d'un lexique xml


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut [XML] Utilisation d'un lexique xml
    Bonjour et Joyeux Noël à tous,

    Je cherche à utiliser un lexique xml (Morphalou2.0 pour les connaisseurs) dans un segmenteur de la langue française que je programme en Python...

    Le problème est que je ne connais pas bien xml et les DTD et que le fichier est assez complexe :
    http://www.cnrtl.fr/lexiques/morphalou/LMF.gif
    http://www.cnrtl.fr/lexiques/morphal...lou.php#body_4

    Du coup, même avec le tutoriel "Lire un fichier XML avec l'API DOM de Python" que j'ai trouvé ici. J'ai du mal à me repérer pour créer les classes nécessaire...

    Notamment, je ne comprends pas à quoi correspondent les classes lmf.model.x
    puisqu'elles n'apparaissent pas dans le fichier xml...
    Dois-je créer des classes en python correspondant aux entités que je trouve dans le fichier? où dois-je suivre les indications de la DTD?...

    Est-ce que quelqu'un pourrait m'aider?

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut Suite...
    Rebonjour,

    J'ai trouvé un autre tutoriel intéressant :
    http://python.developpez.com/cours/D...sing/index.php
    toutefois j'ai toujours un problème car ma recherche est plus complexe qu'une recherche par "byTagName"... Un exemple pour que vous compreniez mieux mon prb...

    Voici un extrait de mon lexique :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <lexicalEntry id="avoir_2">
    		<formSet>
    			<lemmatizedForm>
    				<orthography>avoir</orthography>
    				<grammaticalCategory>verb</grammaticalCategory>
    			</lemmatizedForm>
    			<inflectedForm>
    				<orthography>a</orthography>
    				<grammaticalNumber>singular</grammaticalNumber>
    				<grammaticalMood>indicative</grammaticalMood>
    				<grammaticalTense>present</grammaticalTense>
    				<grammaticalPerson>thirdPerson</grammaticalPerson>
    			</inflectedForm>
    			<inflectedForm>
    				<orthography>ai</orthography>
    				<grammaticalNumber>singular</grammaticalNumber>
    				<grammaticalMood>indicative</grammaticalMood>
    				<grammaticalTense>present</grammaticalTense>
    				<grammaticalPerson>firstPerson</grammaticalPerson>
    			</inflectedForm>
    			<inflectedForm>
    				<orthography>aie</orthography>
    				<grammaticalNumber>singular</grammaticalNumber>
    				<grammaticalMood>subjunctive</grammaticalMood>
    				<grammaticalTense>present</grammaticalTense>
    				<grammaticalPerson>firstPerson</grammaticalPerson>
    			</inflectedForm>
    			<inflectedForm>
    				<orthography>aie</orthography>
    				<grammaticalNumber>singular</grammaticalNumber>
    				<grammaticalMood>imperative</grammaticalMood>
    				<grammaticalTense>present</grammaticalTense>
    			       <grammaticalPerson>secondPerson</grammaticalPerson>
    			</inflectedForm>
    Je voudrais pouvoir à partir du mot "ai" retrouver la catégorie grammaticale <grammaticalCategory> du mot ici "verb" situé dans l'élément <lemmatizedForm> ainsi que <grammaticalNumber>, <grammaticalMood>...

    Voià, en attendant vos réponses, je vais bien sur continuer à parcourir le net...

  3. #3
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    un bout de code
    Code python : 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
    22
    23
    24
    25
     
    from xml.dom.minidom import *
     
    def get_orthography(node):
    	a=node.nextSibling
    	print a.nodeName, a.lastChild.data
    	if a.nextSibling != None:
    		get_orthography(a)
     
     
    def search_node(node, str_search):
    	for n in node.childNodes:
    		if n.nodeType == Node.ELEMENT_NODE 
    				and n.nodeName == "orthography"
    				and n.lastChild.data == str_search:
    					get_orthography(n)
     
    def load(str_search):
    	try:
    		xmldoc = parse(path_of_xmlfile)
    		node_racine=xmldoc.documentElement
    		search_node(node_racine, str_search)
     
    	except Exception, e:
    		print e

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    D'abord une très bonne année à tous!

    Merci pour le bout de code,
    j'avais mis ça de côté pendant les vacances,
    mais maintenant faut que je m'y remette donc je vais regarder ça...

Discussions similaires

  1. [Xerces] Utilisation Donnees D'un XML avec Xerces C++
    Par Laeticia dans le forum Bibliothèques
    Réponses: 12
    Dernier message: 04/08/2006, 14h01
  2. [C++][XML]Utilisation d'un fichier XML
    Par laindown dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 15/06/2006, 16h16
  3. Réponses: 4
    Dernier message: 09/02/2006, 12h02
  4. Réponses: 1
    Dernier message: 13/12/2005, 17h48
  5. Réponses: 6
    Dernier message: 21/07/2005, 16h56

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