Merlintxu commited on
Commit
ee758c2
·
1 Parent(s): a0f400d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -5
app.py CHANGED
@@ -2,20 +2,29 @@ import gradio as gr
2
  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
  def generate_sentence():
9
- result = text_generator('')[0]
10
- sentence = result['generated_text']
11
- return sentence
 
 
 
 
12
 
13
  def analyze_sentence(sentence):
 
14
  doc = nlp(sentence)
15
  tagged_words = [(token.text, token.pos_) for token in doc]
16
  return tagged_words
17
 
18
  def check_answer(sentence, answer):
 
19
  tagged_words = analyze_sentence(sentence)
20
  correct_answer = [tag for word, tag in tagged_words]
21
  if answer == correct_answer:
@@ -23,6 +32,18 @@ def check_answer(sentence, answer):
23
  else:
24
  return 'Incorrecto. La respuesta correcta es: ' + str(correct_answer)
25
 
26
- sentence = generate_sentence()
27
- iface = gr.Interface(fn=check_answer, inputs=['text', 'list'], outputs='text')
 
 
 
 
 
 
 
 
 
 
 
 
28
  iface.launch()
 
2
  import spacy
3
  from transformers import pipeline
4
 
5
+ # Load the Spanish language model
6
  nlp = spacy.load('es_core_news_sm')
7
+
8
+ # Load the text generation pipeline
9
  text_generator = pipeline('text-generation', model='gpt2')
10
 
11
  def generate_sentence():
12
+ # Generate a sentence
13
+ try:
14
+ result = text_generator('', max_length=50)[0]
15
+ sentence = result['generated_text']
16
+ return sentence
17
+ except Exception as e:
18
+ return str(e)
19
 
20
  def analyze_sentence(sentence):
21
+ # Analyze the sentence
22
  doc = nlp(sentence)
23
  tagged_words = [(token.text, token.pos_) for token in doc]
24
  return tagged_words
25
 
26
  def check_answer(sentence, answer):
27
+ # Check the user's answer
28
  tagged_words = analyze_sentence(sentence)
29
  correct_answer = [tag for word, tag in tagged_words]
30
  if answer == correct_answer:
 
32
  else:
33
  return 'Incorrecto. La respuesta correcta es: ' + str(correct_answer)
34
 
35
+ # Define the Gradio interface
36
+ iface = gr.Interface(
37
+ fn={
38
+ "generate_sentence": generate_sentence,
39
+ "check_answer": check_answer
40
+ },
41
+ inputs={
42
+ "sentence": "text",
43
+ "answer": "list"
44
+ },
45
+ outputs="text"
46
+ )
47
+
48
+ # Launch the interface
49
  iface.launch()