NLI: Subject-Weighting im Premise (2× prepend) für besseren Score-Anker #292
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp#292
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hintergrund
In der Kalibrierungs-Reihe (#251, #254, #255, #268, #290) bleibt nach Lever 1 (#290 — verworfen, weil spezifische Hypothesen schaden) folgender struktureller Befund:
.tmp/nli-debug.pre-290.jsonl)cleanSnippetcappt auf 500 Zeichen — bei langen Mails verdrängt der Body-Footer den eigentlich aussagekräftigen Subject-InhaltHypothese (Lever 2)
Das Subject ist semantisch das stärkste Einzelsignal für die Kategorisierung — typische deutsche E-Mails tragen die Kategorie quasi im Subject ("Ihre Rechnung", "Versandbestätigung", "Sicherheitswarnung"). Wenn wir das Subject 2× vor den Body prependen, gewichtet die NLI-Premise dieses Signal stärker, ohne dass wir an den Hypothesen oder am Modell drehen müssen.
Vorteile gegenüber Lever 1:
mail-batch-categorizer.ts+model-manager.ts)Scope
buildPremise(subject, bodyText)inmodel-manager.ts, der das Subject 2× voranstellt (mit Längen-Cap für ungewöhnlich lange Subjects, damit der Body nicht ausgehungert wird)mail-batch-categorizer.tsbenutztbuildPremisestatt manueller KonkatenationbuildPremise(Subject doppelt, Edge-Cases: null/leer/zu lang)Out of scope
Akzeptanzkriterien
Lever 2 verworfen — Regression 64% → 30%
Manueller A/B-Test gegen
nli-debug.pre-290.jsonl(Baseline, 101 Mails, 64% Fast-Path-Hit):Hypothese zur Ursache
Subject ist oft kurz & rauschhaft (Re:-Präfixe, Absender-Branding, Urgency-Marker). Verdoppeln verstärkt dieses Rauschen relativ zum Body und drückt nützlichen Body-Text aus dem 500-Zeichen-Fenster von
cleanSnippet.Konsequenz
apps/api/.tmp/nli-debug.failed-292.jsonlWas offen bleibt
Nach Lever 1 (#290, Label-Wording) und Lever 2 (#292, Subject-Weighting) beide negativ → die einfachen manuellen Hebel an Premise/Hypothese funktionieren so nicht. Nächste Optionen für #268: