fvelasco commited on
Commit
f1decb3
1 Parent(s): f151974

changing display a bit. Adding examples

Browse files
Files changed (1) hide show
  1. app.py +38 -2
app.py CHANGED
@@ -15,6 +15,30 @@ model = AutoModelForSeq2SeqLM.from_pretrained(model_checkpoint)
15
  # TODO: jarl!! check this for avoiding short segments
16
  model.config.max_length = 512
17
  model.to(device)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  # sentences = ["El libro relata las aventuras y desventuras de un hidalgo de 50 años llamado Alonso Quijano, quien decide ser un caballero andante como aquellos que aparecen en sus libros de caballerías favoritos.Las hazañas de don Quijote están contenidas en dos tomos que narran tres salidas. Por un lado, la “Primera parte” denominada como El ingenioso Hidalgo Don Quijote de la Mancha está formada por 52 capítulos y en ella se encuentran la primera salida y la segunda salida."]
19
  # sentences = ['De acuerdo con las informaciones anteriores , las alumnas se han quejado de la actitud de los profesores en los exámenes finales. Los representantes estudiantiles son los alumnos Juanju y Javi.']
20
  def get_output(sentence, first_generation=True):
@@ -37,10 +61,22 @@ def get_output(sentence, first_generation=True):
37
  # length_penalty=1.0,
38
  early_stopping=True# disable sampling to test if batching affects output
39
  )
40
- preds = tokenizer.decode(output_sequence[0], skip_special_tokens=True, clean_up_tokenization_spaces=True)
 
41
  return preds
42
 
43
 
 
 
 
44
 
45
- iface = gr.Interface(fn=get_output, inputs="text", outputs="text")
 
 
 
 
 
 
 
 
46
  iface.launch()
 
15
  # TODO: jarl!! check this for avoiding short segments
16
  model.config.max_length = 512
17
  model.to(device)
18
+
19
+
20
+
21
+ def postproc(input_sentence, preds):
22
+ if preds[0].islower():
23
+ preds = preds.capitalize()
24
+
25
+ output_temp = preds.replace('. ', '.').split('.')
26
+ if len(output_temp) > 1:
27
+ preds = ""
28
+ for frase in output_temp:
29
+ if frase:
30
+ preds = preds + frase.capitalize() + '. '
31
+ preds = preds.strip() # quitar ultimo espacio
32
+ preds = preds.replace('De el', 'Del').replace('de el', 'del')
33
+
34
+ # Nombres en mayusculas
35
+ for word in input_sentence.split(' '):
36
+ if word[0].isupper():
37
+ if word.lower() in preds:
38
+ preds = preds.replace(word.lower() + ' ', word + ' ')
39
+ return preds
40
+
41
+
42
  # sentences = ["El libro relata las aventuras y desventuras de un hidalgo de 50 años llamado Alonso Quijano, quien decide ser un caballero andante como aquellos que aparecen en sus libros de caballerías favoritos.Las hazañas de don Quijote están contenidas en dos tomos que narran tres salidas. Por un lado, la “Primera parte” denominada como El ingenioso Hidalgo Don Quijote de la Mancha está formada por 52 capítulos y en ella se encuentran la primera salida y la segunda salida."]
43
  # sentences = ['De acuerdo con las informaciones anteriores , las alumnas se han quejado de la actitud de los profesores en los exámenes finales. Los representantes estudiantiles son los alumnos Juanju y Javi.']
44
  def get_output(sentence, first_generation=True):
 
61
  # length_penalty=1.0,
62
  early_stopping=True# disable sampling to test if batching affects output
63
  )
64
+ preds = postproc(input_sentence=sentence,
65
+ preds=tokenizer.decode(output_sequence[0], skip_special_tokens=True, clean_up_tokenization_spaces=True))
66
  return preds
67
 
68
 
69
+ examples=['De acuerdo con las informaciones anteriores , las alumnas se han quejado de la actitud de los profesores en los exámenes finales. Los representantes estudiantiles son los alumnos Juanju y Javi.',
70
+ 'Durante su ingreso no debe tomar agua que no le sea suministrada por los especialistas en su cirujía',
71
+ 'Los intermediarios del acuerdo se ocuparán también de saber si la casa tiene las deudas saldadas y si no hay problemas legales pendientes']
72
 
73
+ iface = gr.Interface(fn=get_output,
74
+ title="Spanish Text Neutralization app",
75
+ description="The purpose of this app is to transform Spanish gendered text into a neutral version, suitable for an unbiased environment",
76
+ examples=examples,
77
+ # inputs="text",
78
+ inputs=gr.inputs.Textbox(label="Introduce some Spanish text here"),
79
+ # outputs="text",
80
+ outputs=gr.outputs.Textbox(label="Neutral version of your text")
81
+ )
82
  iface.launch()