Merlintxu commited on
Commit
9a2d9be
·
1 Parent(s): 32bf464

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -11
app.py CHANGED
@@ -3,12 +3,16 @@ import spacy
3
  from transformers import pipeline
4
 
5
  nlp = spacy.load('es_core_news_sm')
6
- text_generator = pipeline('text-generation', model='gpt2')
7
 
8
  pos_tags = ['ADJ', 'ADP', 'ADV', 'AUX', 'CONJ', 'DET', 'INTJ', 'NOUN', 'NUM', 'PART', 'PRON', 'PROPN', 'PUNCT', 'SCONJ', 'SYM', 'VERB', 'X']
9
 
 
 
 
10
  def generate_sentence():
11
- result = text_generator('')[0]
 
12
  sentence = result['generated_text']
13
  tagged_words = analyze_sentence(sentence)
14
  return sentence, [word for word, _ in tagged_words]
@@ -18,8 +22,7 @@ def analyze_sentence(sentence):
18
  tagged_words = [(token.text, token.pos_) for token in doc]
19
  return tagged_words
20
 
21
- def check_answer(sentence, *args):
22
- tagged_words = analyze_sentence(sentence)
23
  correct_answer = [tag for word, tag in tagged_words]
24
  user_answer = list(args)
25
  if user_answer == correct_answer:
@@ -27,11 +30,6 @@ def check_answer(sentence, *args):
27
  else:
28
  return 'Incorrecto. La respuesta correcta es: ' + str(correct_answer)
29
 
30
- iface = gr.Interface(fn=check_answer,
31
- inputs=[gr.inputs.Button(label='Generate Sentence'),
32
- gr.inputs.Dropdown(choices=pos_tags, label='Word 1'),
33
- gr.inputs.Dropdown(choices=pos_tags, label='Word 2'),
34
- # Add more dropdowns as needed
35
- ],
36
- outputs=gr.outputs.Textbox())
37
  iface.launch()
 
3
  from transformers import pipeline
4
 
5
  nlp = spacy.load('es_core_news_sm')
6
+ text_generator = pipeline('text-generation', model='microsoft/DialoGPT-large')
7
 
8
  pos_tags = ['ADJ', 'ADP', 'ADV', 'AUX', 'CONJ', 'DET', 'INTJ', 'NOUN', 'NUM', 'PART', 'PRON', 'PROPN', 'PUNCT', 'SCONJ', 'SYM', 'VERB', 'X']
9
 
10
+ sentence = ""
11
+ tagged_words = []
12
+
13
  def generate_sentence():
14
+ global sentence, tagged_words
15
+ result = text_generator('', max_length=50)[0]
16
  sentence = result['generated_text']
17
  tagged_words = analyze_sentence(sentence)
18
  return sentence, [word for word, _ in tagged_words]
 
22
  tagged_words = [(token.text, token.pos_) for token in doc]
23
  return tagged_words
24
 
25
+ def check_answer(*args):
 
26
  correct_answer = [tag for word, tag in tagged_words]
27
  user_answer = list(args)
28
  if user_answer == correct_answer:
 
30
  else:
31
  return 'Incorrecto. La respuesta correcta es: ' + str(correct_answer)
32
 
33
+ iface = gr.Interface(fn=generate_sentence, inputs='button', outputs=['textbox', 'dynamic'])
34
+ iface.add_interface(fn=check_answer, inputs=gr.inputs.Dynamic(type="dropdown", choices=pos_tags, label='Word Tags'), outputs='textbox')
 
 
 
 
 
35
  iface.launch()