Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -23,7 +23,26 @@ TOTAL_LABELS = 17
|
|
23 |
# - First 14 are abuse pattern categories
|
24 |
# - Last 3 are Danger Assessment cues
|
25 |
TOTAL_LABELS = 17
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
def analyze_messages(input_text):
|
28 |
input_text = input_text.strip()
|
29 |
if not input_text:
|
@@ -45,13 +64,15 @@ def analyze_messages(input_text):
|
|
45 |
# Debug printing (remove once you're confident everything works)
|
46 |
print("Scores:", scores)
|
47 |
|
48 |
-
|
49 |
-
|
50 |
-
pattern_count = int(np.sum(pattern_scores > 0.15))
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
|
|
|
|
|
|
55 |
# (Optional) Print label-by-label for debugging
|
56 |
for i, s in enumerate(scores):
|
57 |
print(LABELS[i], "=", round(s, 3))
|
|
|
23 |
# - First 14 are abuse pattern categories
|
24 |
# - Last 3 are Danger Assessment cues
|
25 |
TOTAL_LABELS = 17
|
26 |
+
# Individual thresholds for each of the 17 labels
|
27 |
+
THRESHOLDS = {
|
28 |
+
"gaslighting": 0.15,
|
29 |
+
"mockery": 0.15,
|
30 |
+
"dismissiveness": 0.15,
|
31 |
+
"control": 0.15,
|
32 |
+
"guilt_tripping": 0.15,
|
33 |
+
"apology_baiting": 0.15,
|
34 |
+
"blame_shifting": 0.15,
|
35 |
+
"projection": 0.15,
|
36 |
+
"contradictory_statements": 0.15,
|
37 |
+
"manipulation": 0.15,
|
38 |
+
"deflection": 0.15,
|
39 |
+
"insults": 0.15,
|
40 |
+
"obscure_formal": 0.15,
|
41 |
+
"recovery_phase": 0.15,
|
42 |
+
"suicidal_threat": 0.10,
|
43 |
+
"physical_threat": 0.10,
|
44 |
+
"extreme_control": 0.10
|
45 |
+
}
|
46 |
def analyze_messages(input_text):
|
47 |
input_text = input_text.strip()
|
48 |
if not input_text:
|
|
|
64 |
# Debug printing (remove once you're confident everything works)
|
65 |
print("Scores:", scores)
|
66 |
|
67 |
+
pattern_count = 0
|
68 |
+
danger_flag_count = 0
|
|
|
69 |
|
70 |
+
for i, (label, score) in enumerate(zip(LABELS, scores)):
|
71 |
+
if score > THRESHOLDS[label]:
|
72 |
+
if i < 14:
|
73 |
+
pattern_count += 1
|
74 |
+
else:
|
75 |
+
danger_flag_count += 1
|
76 |
# (Optional) Print label-by-label for debugging
|
77 |
for i, s in enumerate(scores):
|
78 |
print(LABELS[i], "=", round(s, 3))
|