dayannex commited on
Commit
01084ee
·
1 Parent(s): 71b3cce

verificador de coincidencias token originales vs anonimizados

Browse files
Files changed (1) hide show
  1. app.py +36 -9
app.py CHANGED
@@ -127,7 +127,27 @@ class Model:
127
  a = out_json(t.replace('##','').replace('Ġ','').replace('Ċ',''),pre_tokens[i].replace('▁',''))
128
  list.append(a)
129
  i=i+1
130
- return MyEncoder().encode(list)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  def salida_texto( self,tokens,pre_tokens):
132
  new_labels = []
133
  current_word = None
@@ -306,16 +326,23 @@ class Model:
306
 
307
  if etiquetas:
308
  out2 = self.salida_texto(new_tokens,new_identificadores)#solo identificadores
 
 
309
  else:
310
- out2 = self.salida_texto(new_tokens,self.reemplazo_fake(new_identificadores))
 
 
 
 
311
 
312
 
313
  return (
314
 
315
 
316
  out1,
317
- str(out2)
318
-
 
319
 
320
  )
321
  class ModeloDataset:
@@ -666,8 +693,8 @@ def procesar(texto,archivo, etiquetas):
666
  if len(texto)>0:
667
  print('text')
668
  model.identificacion_idioma(texto[:1700])
669
- labels, textoProcesado= model.predict(etiquetas)
670
- return model.idioma + "/" + model.categoria_texto,labels, textoProcesado,gr.Dataframe(),gr.File()
671
  else:
672
 
673
  if archivo.name.split(".")[1]=="csv":
@@ -687,7 +714,7 @@ def procesar(texto,archivo, etiquetas):
687
  print('out csv:',out)
688
  df_new[item] = modelo.unir_array(out)
689
 
690
- return modelo.idioma,"","", df_new, df_new.to_csv(sep='\t', encoding='utf-8',index=False)
691
 
692
  else:
693
  print('json')
@@ -711,9 +738,9 @@ def procesar(texto,archivo, etiquetas):
711
  print('un')
712
 
713
 
714
- return modelo.idioma,"","", df_new, df_new.to_csv(sep='\t', encoding='utf-8',index=False)
715
 
716
- demo = gr.Interface(fn=procesar,inputs=["text",gr.File(), "checkbox"] , outputs=[gr.Label(label="idioma/categoría"),gr.Textbox(label="etiquetas"),gr.Textbox(label="texto procesado"),gr.Dataframe(label="Datos procesados en dataframe",interactive=False),gr.Textbox(label="datos csv")])
717
  #
718
  demo.launch(share=True)
719
 
 
127
  a = out_json(t.replace('##','').replace('Ġ','').replace('Ċ',''),pre_tokens[i].replace('▁',''))
128
  list.append(a)
129
  i=i+1
130
+ return MyEncoder().encode(list)
131
+ def tokens_identificados(self,tokens,pre_tokens):
132
+ list=[]
133
+ i=0
134
+ for t in tokens:
135
+ if pre_tokens[i]!='O':
136
+ a = t.replace('##','').replace('Ġ','').replace('Ċ','')
137
+ list.append(a)
138
+ i=i+1
139
+ return list
140
+ def metricas_anonimizacion(self,_f,t,id):
141
+ i=0
142
+ coincidencia=0
143
+ Z=['O']
144
+ _fake_filter= [x for x in _f if x not in Z]
145
+ new_tokens_filter= self.tokens_identificados(t,id)
146
+ for token in new_tokens_filter:
147
+ if token==_fake_filter[i]:
148
+ coincidencia=coincidencia+1
149
+ i=i+1
150
+ return str(coincidencia) + "/" + str(len(_fake_filter))
151
  def salida_texto( self,tokens,pre_tokens):
152
  new_labels = []
153
  current_word = None
 
326
 
327
  if etiquetas:
328
  out2 = self.salida_texto(new_tokens,new_identificadores)#solo identificadores
329
+ out3=""
330
+ coincidencia=""
331
  else:
332
+ #out2 = self.salida_texto(new_tokens,self.reemplazo_fake(new_identificadores))
333
+ _fake=self.reemplazo_fake(new_identificadores)
334
+ coincidencia=self.metricas_anonimizacion(_fake,new_tokens,new_identificadores)
335
+ out2 = self.salida_texto(new_tokens,_fake)
336
+ out3 = self.salida_json(_fake,new_identificadores)
337
 
338
 
339
  return (
340
 
341
 
342
  out1,
343
+ str(out2),
344
+ out3,
345
+ coincidencia
346
 
347
  )
348
  class ModeloDataset:
 
693
  if len(texto)>0:
694
  print('text')
695
  model.identificacion_idioma(texto[:1700])
696
+ labels, textoProcesado, labels_fake, coincidencia= model.predict(etiquetas)
697
+ return model.idioma + "/" + model.categoria_texto,labels, textoProcesado,gr.Dataframe(),gr.File(),labels_fake, coincidencia
698
  else:
699
 
700
  if archivo.name.split(".")[1]=="csv":
 
714
  print('out csv:',out)
715
  df_new[item] = modelo.unir_array(out)
716
 
717
+ return modelo.idioma,"","", df_new, df_new.to_csv(sep='\t', encoding='utf-8',index=False),"",""
718
 
719
  else:
720
  print('json')
 
738
  print('un')
739
 
740
 
741
+ return modelo.idioma,"","", df_new, df_new.to_csv(sep='\t', encoding='utf-8',index=False),"",""
742
 
743
+ demo = gr.Interface(fn=procesar,inputs=["text",gr.File(), "checkbox"] , outputs=[gr.Label(label="idioma/categoría"),gr.Textbox(label="etiquetas"),gr.Textbox(label="texto procesado"),gr.Dataframe(label="Datos procesados en dataframe",interactive=False),gr.Textbox(label="datos csv"),gr.Textbox(label="labels anonimizados"),gr.Label(label="coincidencia tokens originales")])
744
  #
745
  demo.launch(share=True)
746