voice/routing: fix time-query misroute (seed collision, threshold, stage-0 grammars)
three bugs causing time queries to land on reminder or fact intent: - seed collision: query.txt and system.txt shared identical time/date seeds (который час, сколько времени), making system intent indistinguishable from query intent in centroid space - threshold (0.35) too low for ONNX embedder — cosine similarities cluster 0.5-0.7 for related intents, so Clarify never fired - reminder centroid contaminated by time-lexicon (every seed has a time expression), pulling any time-word utterance toward reminder intent fixes: - remove 3 duplicate time/date seeds from query.txt (keep in system.txt) - DefaultRouterThreshold 0.35 -> 0.55 - stage-0 grammar for напомни/remind me -> IntentReminder, bypasses classifier (fixes 'напомни через час' being misrouted to fact) - stage-0 grammars for time/date system queries (сколько времени, который час, какой сегодня день) -> IntentSystem, with Build filter to exclude elapsed/duration queries (сколько времени прошло) - time parser fallback in applyAction for stage-0 reminder matches (extractor doesn't run on stage-0 decisions)
This commit is contained in:
@@ -320,7 +320,7 @@ const (
|
||||
DefaultTickInterval = 60 * time.Second
|
||||
DefaultRepeatInterval = 5 * time.Minute
|
||||
DefaultAutotuneInterval = 10 * time.Minute
|
||||
DefaultRouterThreshold = 0.35
|
||||
DefaultRouterThreshold = 0.55
|
||||
DefaultQueryMinScore = 0.55
|
||||
DefaultToolTimeout = 30 * time.Second
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user