Update app.py
Browse files
app.py
CHANGED
|
@@ -3,6 +3,13 @@ import spacy
|
|
| 3 |
|
| 4 |
nlp = spacy.load('es_core_news_sm')
|
| 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
def identify_pos(sentence):
|
| 7 |
doc = nlp(sentence)
|
| 8 |
pos_tags = [(token.text, token.pos_) for token in doc]
|
|
@@ -10,6 +17,7 @@ def identify_pos(sentence):
|
|
| 10 |
|
| 11 |
def game_logic(sentence, user_word, user_pos):
|
| 12 |
correct_answers = identify_pos(sentence)
|
|
|
|
| 13 |
for word, pos in correct_answers:
|
| 14 |
if word == user_word:
|
| 15 |
if pos.lower() == user_pos.lower():
|
|
@@ -18,6 +26,7 @@ def game_logic(sentence, user_word, user_pos):
|
|
| 18 |
return False, f'Incorrecto. "{user_word}" no es un {user_pos}, es un {pos}.'
|
| 19 |
return False, f'La palabra "{user_word}" no se encuentra en la frase.'
|
| 20 |
|
|
|
|
| 21 |
def main(sentence, user_word, user_pos):
|
| 22 |
if sentence and user_word and user_pos and user_pos != 'Selecciona una funci贸n gramatical...':
|
| 23 |
correct, message = game_logic(sentence, user_word, user_pos)
|
|
|
|
| 3 |
|
| 4 |
nlp = spacy.load('es_core_news_sm')
|
| 5 |
|
| 6 |
+
pos_map = {
|
| 7 |
+
'sustantivo': 'NOUN',
|
| 8 |
+
'verbo': 'VERB',
|
| 9 |
+
'adjetivo': 'ADJ',
|
| 10 |
+
'art铆culo': 'DET'
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
def identify_pos(sentence):
|
| 14 |
doc = nlp(sentence)
|
| 15 |
pos_tags = [(token.text, token.pos_) for token in doc]
|
|
|
|
| 17 |
|
| 18 |
def game_logic(sentence, user_word, user_pos):
|
| 19 |
correct_answers = identify_pos(sentence)
|
| 20 |
+
user_pos = pos_map[user_pos.lower()]
|
| 21 |
for word, pos in correct_answers:
|
| 22 |
if word == user_word:
|
| 23 |
if pos.lower() == user_pos.lower():
|
|
|
|
| 26 |
return False, f'Incorrecto. "{user_word}" no es un {user_pos}, es un {pos}.'
|
| 27 |
return False, f'La palabra "{user_word}" no se encuentra en la frase.'
|
| 28 |
|
| 29 |
+
|
| 30 |
def main(sentence, user_word, user_pos):
|
| 31 |
if sentence and user_word and user_pos and user_pos != 'Selecciona una funci贸n gramatical...':
|
| 32 |
correct, message = game_logic(sentence, user_word, user_pos)
|