vonewman commited on
Commit
fab7e8b
·
1 Parent(s): 4a5eb39

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -20
app.py CHANGED
@@ -27,32 +27,26 @@ def load_model():
27
  return trainer, model, tokenizer
28
 
29
  def align_word_ids(texts):
 
 
 
30
 
31
- trainer, model, tokenizer = load_model()
32
-
33
- tokenized_inputs = tokenizer(texts, padding='max_length', max_length=218, truncation=True)
34
 
35
- word_ids = tokenized_inputs.word_ids()
 
 
 
36
 
37
- previous_word_idx = None
38
  label_ids = []
39
 
40
- for word_idx in word_ids:
41
-
42
- if word_idx is None:
43
- label_ids.append(-100)
44
-
45
- elif word_idx != previous_word_idx:
46
- try:
47
- label_ids.append(1)
48
- except:
49
- label_ids.append(-100)
50
  else:
51
- try:
52
- label_ids.append(1 if label_all_tokens else -100)
53
- except:
54
- label_ids.append(-100)
55
- previous_word_idx = word_idx
56
 
57
  return label_ids
58
 
 
27
  return trainer, model, tokenizer
28
 
29
  def align_word_ids(texts):
30
+ # Utilisez le tokenizer pour obtenir les tokens de chaque mot
31
+ tokenized_inputs = tokenizer(texts, padding='max_length', max_length=218, truncation=True, return_tensors="pt")
32
+ input_ids = tokenized_inputs["input_ids"][0]
33
 
34
+ # Créez une liste pour stocker les IDs correspondant à chaque mot
35
+ word_ids = []
 
36
 
37
+ for i, input_id in enumerate(input_ids):
38
+ # Si le token est un token de début de mot, ajoutez son ID à la liste
39
+ if tokenizer.decode(input_id) == tokenizer.decode(tokenizer.encode(tokenizer.decode(input_id), add_special_tokens=False)):
40
+ word_ids.append(i)
41
 
 
42
  label_ids = []
43
 
44
+ # Parcourez les word_ids pour étiqueter les tokens de début de mot comme 1
45
+ for i in range(len(input_ids)):
46
+ if i in word_ids:
47
+ label_ids.append(1)
 
 
 
 
 
 
48
  else:
49
+ label_ids.append(-100) # -100 pour les tokens qui ne sont pas le début d'un mot
 
 
 
 
50
 
51
  return label_ids
52