script à adapter

script à adapter - Python - Programmation

Marsh Posté le 30-09-2018 à 11:59:03    

Bonjour,  
Mon problème est le suivant: j'aimerais utiliser le script d'une librairie opensource(LEXenstein). J'ai remplacé les paramètres par ce que je voulais sauf que ça ne fonctionne pas. Le compilateur ne râle pas mais rien ne se passe... Càd que dans le code, j'ai changé inp = open("tatata.txt" ),  etc.

Code :
  1. def produceWordCooccurrenceModel(text_file, window, model_file):
  2. """
  3. Creates a co-occurrence model from a text file.
  4. These models can be used by certain classes in LEXenstein, such as the Yamamoto Ranker and the Biran Selector.
  5. @param text_file: Text from which to estimate the word co-occurrence model.
  6. @param window: Number of tokens to the left and right of a word to be included as a co-occurring word.
  7. @param model_file: Path in which to save the word co-occurrence model.
  8. """
  9. inp = open(text_file)
  10. coocs = {}
  11. c = 0
  12. for line in inp:
  13.  c += 1
  14.  print('At line: ' + str(c))
  15.  tokens = line.strip().lower().split(' ')
  16.  for i in range(0, len(tokens)):
  17.   target = tokens[i]
  18.   if target not in coocs.keys():
  19.    coocs[target] = {}
  20.   left = max(0, i-window)
  21.   right = min(len(tokens), i+window+1)
  22.   for j in range(left, right):
  23.    if j!=i:
  24.     cooc = tokens[j]
  25.     if cooc not in coocs[target].keys():
  26.      coocs[target][cooc] = 1
  27.     else:
  28.      coocs[target][cooc] += 1
  29. inp.close()
  30. targets = sorted(coocs.keys())
  31. out = open(model_file, 'w')
  32. for target in targets:
  33.  newline = target + '\t'
  34.  words = sorted(coocs[target].keys())
  35.  for word in words:
  36.   newline += word + ':' + str(coocs[target][word]) + '\t'
  37.  out.write(newline.strip() + '\n')
  38. out.close()


Merci d'avance :)

Reply

Marsh Posté le 30-09-2018 à 11:59:03   

Reply

Marsh Posté le 30-09-2018 à 18:15:20    

Salut,
 
est-ce que tu as bien exécuté la fonction produceWordCooccurrenceModel dans python ? (on sait jamais vu que tu déclares la fonction mais tu ne l'exécutes pas...)
 

Reply

Marsh Posté le 30-09-2018 à 20:20:01    

hadrial a écrit :

Salut,
 
est-ce que tu as bien exécuté la fonction produceWordCooccurrenceModel dans python ? (on sait jamais vu que tu déclares la fonction mais tu ne l'exécutes pas...)
 


Je l'ai exécutée mais le problème c'est les paramètres.. Lorsque je l'exécute avec mes "propres paramètres" ça ne fonctionne pas.. Le truc c'est que j'ai jamais programmé en python, je programme le plus souvent en perl donc je suis un peu perdue haha

Reply

Marsh Posté le 01-10-2018 à 17:26:43    

Il est inutile de modifier la fonction, sachant que ce que tu souhaite modifier est passé en paramètre.
 
Comment appelles-tu cette fonction?
Qu'est-ce qu'il se passe exactement quand "ça ne fonctionne pas"?


---------------
sheep++
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed