Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -485,18 +485,23 @@ def analyze_composite(msg1, date1, msg2, date2, msg3, date3, *answers_and_none):
|
|
485 |
darvo_scores = [r[0][5] for r in results]
|
486 |
dates_used = [r[1] or "Undated" for r in results] # Store dates for future mapping
|
487 |
|
488 |
-
|
|
|
489 |
composite_abuse_scores = []
|
490 |
-
|
|
|
|
|
491 |
weighted_score = 0
|
492 |
-
|
|
|
493 |
if label == "aggression":
|
494 |
-
weighted_score += score * 1.5
|
495 |
else:
|
496 |
weighted_score += score
|
497 |
-
composite_abuse_scores.append(weighted_score)
|
498 |
|
499 |
-
|
|
|
|
|
500 |
composite_abuse = int(round(sum(composite_abuse_scores) / len(composite_abuse_scores) * 100))
|
501 |
|
502 |
most_common_stage = max(set(stages), key=stages.count)
|
|
|
485 |
darvo_scores = [r[0][5] for r in results]
|
486 |
dates_used = [r[1] or "Undated" for r in results] # Store dates for future mapping
|
487 |
|
488 |
+
|
489 |
+
# --- Composite Abuse Score with Aggression Weighting ---
|
490 |
composite_abuse_scores = []
|
491 |
+
|
492 |
+
for top_label, score_dict in results:
|
493 |
+
pattern_scores = score_dict.get("pattern_scores", {})
|
494 |
weighted_score = 0
|
495 |
+
|
496 |
+
for label, score in pattern_scores.items():
|
497 |
if label == "aggression":
|
498 |
+
weighted_score += score * 1.5 # Boost aggression impact
|
499 |
else:
|
500 |
weighted_score += score
|
|
|
501 |
|
502 |
+
composite_abuse_scores.append(weighted_score)
|
503 |
+
|
504 |
+
# Average and scale to percentage
|
505 |
composite_abuse = int(round(sum(composite_abuse_scores) / len(composite_abuse_scores) * 100))
|
506 |
|
507 |
most_common_stage = max(set(stages), key=stages.count)
|