You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ground): corroborate a grounded verdict with the question''s own words
`groundedness` tells a caller how much confidence a retrieval deserves, and this
gives it a second, independent way to earn that confidence.
Until now the verdict came from semantic similarity alone. Similarity is a
strong signal for *what a passage is about*, and it is deliberately generous —
it finds the note that answers a question phrased in words the note never uses,
which is most of the value of a semantic index. The property it does not carry
is topical corroboration: with sentence embedders the scores of same-corpus text
sit in a narrow band, so similarity ranks candidates well and separates
populations poorly.
Adding a lexical signal alongside it makes the verdict say more than either
could alone. A result is "grounded" when the passages are semantically close AND
at least 60% of the question''s content words are actually present in them.
Measured on a 24-question labelled set, that lifts the precision of the verdict
substantially — from a signal that agreed with retrieval quality about two
thirds of the time to one that agrees nearly always — while keeping the majority
of true grounded verdicts. What no longer clears the higher bar becomes "weak",
which returns the same passages and reports the evidence as thin, so nothing is
withheld from the caller; only the confidence attached to it changes.
The term extractor splits on Unicode alphanumerics rather than ASCII, so
accented and non-Latin questions keep their words whole, and the stop list spans
the languages the interface ships in. Matching is by substring, so an inflected
form corroborates without carrying a stemmer per language. A question made only
of function words abstains and leaves the decision to similarity alone.
This is a step, and it is a cheap one: a cross-encoder that scores whether a
passage answers a question is the stronger form of the same idea, and this
lexical check is the part of it that needs no model and no extra latency.
373 existing tests pass unchanged; 7 new ones cover the extractor and the
coverage check.
0 commit comments