Unrecognized speech
When the bot works in the telephone channel, all requests are handled by the automatic speech recognition service and converted to their text representation before they can be processed in the script.
The script must account for situations when speech recognition fails. If nothing in the request from the client can be recognized for 5 seconds, or it contains no speech input at all, a speechNotRecognized
event gets triggered.
Several strategies for processing this event are possible.
Request clarification
When the request is unintelligible, the bot may ask to repeat it. This case can cover the noMatch
event as well, which occurs when the request was recognized but not handled by any state:
state: CatchAll
event!: speechNotRecognized
event!: noMatch
random:
a: I’m sorry, I didn’t catch that. Could you repeat, please?
a: I didn’t quite get it. Would you mind repeating that for me?
a: Could you say that again? I can’t hear you very well.
Answering machine
During call campaigns, there is always a chance that an answering machine will answer the call instead of the client. These ineffective calls still spend the available call minutes.
It is advisable to impose a limit on unrecognized requests per session, so the bot can finish the call when the limit is exceeded.
state: NoInput || noContext = true
event!: speechNotRecognized
script:
$session.noInputCounter = $session.noInputCounter || 0;
$session.noInputCounter++;
if: $session.noInputCounter >= 3
a: I’m sorry, there’s something wrong with the connection.
script:
$dialer.hangUp();
else:
a: I didn’t catch that. Could you repeat, please?