Garvitj commited on
Commit
48c1789
·
verified ·
1 Parent(s): 81e1762

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -6
app.py CHANGED
@@ -111,18 +111,17 @@ def calculate_sentence_similarity(text1, text2):
111
 
112
  # Function to compare logic of student and teacher answers
113
  def compare_answers(student_answer, teacher_answer):
114
- # Use primarily BERT similarity, and sentence embeddings as a secondary method
115
  bert_similarity = calculate_cosine_similarity(get_bert_embedding(student_answer), get_bert_embedding(teacher_answer))
116
 
117
- # Adjust weight: give more emphasis to BERT
118
  sentence_similarity = calculate_sentence_similarity(student_answer, teacher_answer)
119
 
120
- final_similarity = (0.7 * bert_similarity + 0.3 * sentence_similarity)
 
121
  return final_similarity
122
 
123
  # Function to extract keywords from the model answer
124
  def extract_keywords(text):
125
- # Split text into words and count them
126
  return set(text.lower().split())
127
 
128
  # Adjust grading based on key terms present in student answer
@@ -142,8 +141,8 @@ def evaluate_answer(image, languages, model_answer):
142
  # Include keyword similarity
143
  keyword_similarity = check_keywords(student_answer, model_answer)
144
 
145
- # Combine semantic similarity with keyword presence check
146
- combined_similarity = (semantic_similarity + keyword_similarity) / 2
147
  grade = get_grade(combined_similarity)
148
  feedback = f"Student's answer: {student_answer}\nTeacher's answer: {model_answer}"
149
  badge = assign_badge(grade)
 
111
 
112
  # Function to compare logic of student and teacher answers
113
  def compare_answers(student_answer, teacher_answer):
 
114
  bert_similarity = calculate_cosine_similarity(get_bert_embedding(student_answer), get_bert_embedding(teacher_answer))
115
 
116
+ # Emphasize the importance of BERT similarity
117
  sentence_similarity = calculate_sentence_similarity(student_answer, teacher_answer)
118
 
119
+ # Use a higher weight for BERT similarity
120
+ final_similarity = (0.8 * bert_similarity + 0.2 * sentence_similarity)
121
  return final_similarity
122
 
123
  # Function to extract keywords from the model answer
124
  def extract_keywords(text):
 
125
  return set(text.lower().split())
126
 
127
  # Adjust grading based on key terms present in student answer
 
141
  # Include keyword similarity
142
  keyword_similarity = check_keywords(student_answer, model_answer)
143
 
144
+ # Combine semantic similarity with keyword presence check, emphasizing semantic similarity
145
+ combined_similarity = (semantic_similarity + (0.5 * keyword_similarity)) / 1.5
146
  grade = get_grade(combined_similarity)
147
  feedback = f"Student's answer: {student_answer}\nTeacher's answer: {model_answer}"
148
  badge = assign_badge(grade)