| |
| from model_loader import metrics_models |
|
|
| def compute_semantic_similarity(original, paraphrased): |
| """ |
| Compute semantic similarity between the original and paraphrased comment using Sentence-BERT. |
| Returns a similarity score between 0 and 1. |
| """ |
| try: |
| sentence_bert = metrics_models.load_sentence_bert() |
| embeddings = sentence_bert.encode([original, paraphrased]) |
| similarity = float(embeddings[0] @ embeddings[1].T) |
| return round(similarity, 2) |
| except Exception as e: |
| print(f"Error computing semantic similarity: {str(e)}") |
| return None |
|
|
| def compute_empathy_score(paraphrased): |
| """ |
| Compute an empathy score for the paraphrased comment (placeholder). |
| Returns a score between 0 and 1. |
| """ |
| try: |
| |
| empathy_words = ["sorry", "understand", "care", "help", "support"] |
| words = paraphrased.lower().split() |
| empathy_count = sum(1 for word in words if word in empathy_words) |
| score = empathy_count / len(words) if words else 0 |
| return round(score, 2) |
| except Exception as e: |
| print(f"Error computing empathy score: {str(e)}") |
| return None |