Update app.py
Browse files
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 |
-
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
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 |
-
|
27 |
-
iface = gr.Interface(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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()
|