Voilà, j'ai un petit soucis avec mon script. Le but de l'exercice est qu'à partir d'un texte (texte.txt), et d'un dictionnaire créer à partir de ce texte (dico.txt), je puisse établir des statistiques sur les voisinages entre catégories syntaxiques.

Dans le fichier texte.txt, à une ligne correspond une phrase.

Dans le fichier dico.txt, on trouve sur chaque ligne une forme lexicale, suivie d'une ou plusieurs catégories syntaxiques. Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
chat nom
ferme verbe nom adjectif
le article pronom
mange verbe
sur prép
vivre infinitif
...
Avant de pouvoir effectuer des statistiques sur le voisinage entre catégories, j'ai compris qu'il me fallait créer un dictionnaire et une liste.
Voici mon script :

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
import string
 
def constrDic(texte):
        f=open(texte, "r")
        d=f.readlines()
        f.close()
 
        dico={}
        for ligne in d:
                s=string.split(ligne)
                if dico.has_key(s[0]):
                        dico[s[0]]=dico[s[0]]+[s[1]]
                else:
                        dico[s[0]]=[s[1]]
 
        return dico
 
di=constrDic("dico.txt") 
print di
 
def constrListe(texte):
        f=open(texte, "r")
        l=f.readlines()
        f.close()
 
        for ligne in l:
                liste=string.split("l")
 
        return l
 
doc=constrListe("texte.txt")
print doc
A priori, lorsque je lance mon script, tout se passe bien, sauf que pour les formes lexicales qui ont plusieurs catégories syntaxiques, une seule est sélectionnée. Je pense que mon problème se situe au niveau de la ligne dico
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[s[0]]=dico[s[0]]+[s[1]]
mais je n'en suis pas sûre.

Est-ce que quelqu'un aurait la gentillesse de m'aider ?

Merci