Updated has_10_words to has_50_words

This commit is contained in:
Pedro Fonseca
2024-03-24 10:37:02 +00:00
parent 7049fd86d4
commit cc3371c597
2 changed files with 5 additions and 5 deletions

6
app.py
View File

@@ -368,7 +368,7 @@ def grade_speaking_task_1():
download_firebase_file(FIREBASE_BUCKET, answer_firebase_path, sound_file_name) download_firebase_file(FIREBASE_BUCKET, answer_firebase_path, sound_file_name)
answer = speech_to_text(sound_file_name) answer = speech_to_text(sound_file_name)
if has_10_words(answer): if has_50_words(answer):
message = ("Evaluate the given Speaking Part 1 response based on the IELTS grading system, ensuring a " message = ("Evaluate the given Speaking Part 1 response based on the IELTS grading system, ensuring a "
"strict assessment that penalizes errors. Deduct points for deviations from the task, and " "strict assessment that penalizes errors. Deduct points for deviations from the task, and "
"assign a score of 0 if the response fails to address the question. Additionally, provide " "assign a score of 0 if the response fails to address the question. Additionally, provide "
@@ -447,7 +447,7 @@ def grade_speaking_task_2():
download_firebase_file(FIREBASE_BUCKET, answer_firebase_path, sound_file_name) download_firebase_file(FIREBASE_BUCKET, answer_firebase_path, sound_file_name)
answer = speech_to_text(sound_file_name) answer = speech_to_text(sound_file_name)
if has_10_words(answer): if has_50_words(answer):
message = ("Evaluate the given Speaking Part 2 response based on the IELTS grading system, ensuring a " message = ("Evaluate the given Speaking Part 2 response based on the IELTS grading system, ensuring a "
"strict assessment that penalizes errors. Deduct points for deviations from the task, and " "strict assessment that penalizes errors. Deduct points for deviations from the task, and "
"assign a score of 0 if the response fails to address the question. Additionally, provide " "assign a score of 0 if the response fails to address the question. Additionally, provide "
@@ -559,7 +559,7 @@ def grade_speaking_task_3():
text_answers.append(answer_text) text_answers.append(answer_text)
item["answer"] = answer_text item["answer"] = answer_text
os.remove(sound_file_name) os.remove(sound_file_name)
if not has_10_words(answer_text): if not has_50_words(answer_text):
return { return {
"comment": "The audio recorded does not contain enough english words to be graded.", "comment": "The audio recorded does not contain enough english words to be graded.",
"overall": 0, "overall": 0,

View File

@@ -94,11 +94,11 @@ def has_words(text: str):
words_in_input = text.split() words_in_input = text.split()
return any(word.lower() in english_words for word in words_in_input) return any(word.lower() in english_words for word in words_in_input)
def has_10_words(text: str): def has_50_words(text: str):
english_words = set(words.words()) english_words = set(words.words())
words_in_input = text.split() words_in_input = text.split()
english_word_count = sum(1 for word in words_in_input if word.lower() in english_words) english_word_count = sum(1 for word in words_in_input if word.lower() in english_words)
return english_word_count >= 10 return english_word_count >= 50
def divide_text(text, max_length=3000): def divide_text(text, max_length=3000):
if len(text) <= max_length: if len(text) <= max_length: