Intent classification confidence drop during multi-bot orchestration in Cognigy.AI

Hi all,

The intent classification precision for a specific domain has dropped significantly when routing via the bot orchestrator. The behavior contradicts standard expectations for natural language understanding benchmarks, specifically the precision-recall trade-offs discussed in the 2017 “BERT: Pre-training of Deep Bidirectional Transformers” paper. The system is failing to trigger the correct intent despite the input matching the training phrases exactly.

Environment:

  • Platform: Cognigy.AI
  • Integration: Multi-bot orchestration layer
  • Confidence Threshold: 0.65
  • API Version: v2

Option A - manually adjust the confidence score threshold within the orchestrator settings. The pro is immediate recovery of the trigger rate, but the con is an inevitable increase in false positives across the entire conversational artificial intelligence suite.

Option B - implement a custom middleware script to intercept the payload and force the intent via the Cognigy.AI API. This provides granular control, but it introduces latency and bypasses the native natural language understanding engine’s scoring logic.

The logs show the following response during the orchestration hand-off:

{
 "intent": "fallback",
 "confidence": 0.42,
 "matchedPhrases": []
}

The input “I want to change my billing cycle” is a 1:1 match for the “Change_Billing” intent.

1 Like
{
 "intent": "domain_switch",
 "confidence_threshold": 0.7,
 "fallback": "global_bot"
}

Cognigy’s docs on Bot Orchestration mention that “contextual handover can impact NLU confidence scores” if the domain isn’t explicitly set. Spun up a quick Lambda to patch this by forcing the domain via API before the handover. East Coast latency is making the handshake feel sluggish, but it fixes the precision drop.

1 Like

The confidence drop usually stems from the orchestrator stripping the session context before it hits the NLU. Forcing the domain via API is a start, but you’ve got to handle the fallback chain if that fails. Check the payload for intent vs confidence mismatches.

Error Code Cause Fix
408 Request Timeout Increase timeout in Bot Connector
422 Invalid Context Validate session state payload

What happens when the bot times out? If you’re not catching the timeout, the user gets a dead air experience.

{
 "action": "setContext",
 "payload": {
 "nluDomain": "specific_domain_id",
 "fallbackStrategy": "graceful_degradation",
 "confidenceThreshold": 0.65
 }
}

Forcing the domain via API is a temporary patch, but there’s a significant risk of creating a feedback loop if the orchestrator’s state machine isn’t synchronized. If the handover occurs during an active audio stream, the Word Error Rate (WER) often spikes because the transcription buffer isn’t cleared between bot contexts. This creates noise in the input string, which degrades the NLU confidence scores regardless of the domain setting. For audio-driven interactions, the implementation must align with RFC 3550 for RTP packetization to ensure no frames are dropped during the transition.

The logic should follow this sequence to prevent context pollution:

IF (handover_triggered) {
 CLEAR session.input_buffer;
 SET context.domain = target_domain;
 SYNC orchestrator_state(current_intent, confidence_threshold);
 EXECUTE nlu_request(sanitized_input);
}

Refer to the Cognigy.AI documentation on “Bot Orchestration” (https://docs.cognigy.ai/) to verify the session object cleanup. Failure to purge the buffer will lead to persistent classification errors.