feat: add _classify_from_titles keyword classifier to axis_classifier
This commit is contained in:
@@ -608,3 +608,49 @@ def test_compute_2d_axes_exposes_global_mean(monkeypatch):
|
||||
_, axis_def = compute_2d_axes(db_path="dummy", window_ids=["w1"], method="pca")
|
||||
assert "global_mean" in axis_def
|
||||
assert isinstance(axis_def["global_mean"], np.ndarray)
|
||||
|
||||
|
||||
def test_classify_from_titles_left_right():
|
||||
"""Titles dominated by left-right keywords 'LinksRechts'."""
|
||||
from analysis.axis_classifier import _classify_from_titles
|
||||
|
||||
titles = [
|
||||
"Motie over asielbeleid",
|
||||
"Motie over minimumloon verhoging",
|
||||
"Motie over vluchtelingen opvang",
|
||||
"Motie over belastingverlaging",
|
||||
"Motie over bijstandsuitkering",
|
||||
]
|
||||
label, confidence = _classify_from_titles(titles)
|
||||
assert label == "Links\u2013Rechts"
|
||||
assert confidence >= 0.4
|
||||
|
||||
|
||||
def test_classify_from_titles_progressive():
|
||||
"""Titles dominated by progressive/conservative keywords -> 'ProgressiefConservatief'."""
|
||||
from analysis.axis_classifier import _classify_from_titles
|
||||
|
||||
titles = [
|
||||
"Motie over klimaatdoelstellingen",
|
||||
"Motie over stikstofbeleid",
|
||||
"Motie over duurzame energie",
|
||||
"Motie over co2 uitstoot",
|
||||
"Motie over energietransitie",
|
||||
]
|
||||
label, confidence = _classify_from_titles(titles)
|
||||
assert label == "Progressief\u2013Conservatief"
|
||||
assert confidence >= 0.4
|
||||
|
||||
|
||||
def test_classify_from_titles_low_confidence():
|
||||
"""Mixed/irrelevant titles -> None (fallback triggered)."""
|
||||
from analysis.axis_classifier import _classify_from_titles
|
||||
|
||||
titles = [
|
||||
"Motie over sportsubsidie",
|
||||
"Motie over bibliotheekregeling",
|
||||
"Motie over verkeersveiligheid",
|
||||
]
|
||||
label, confidence = _classify_from_titles(titles)
|
||||
assert label is None
|
||||
assert confidence < 0.4
|
||||
|
||||
Reference in New Issue
Block a user