Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

Introduction

You might want to create a routing application which allows your callers to use speech recognition to perform various tasks - such as inform the system of what they want, or who they want to be connected to.

There are three ways of doing this with the jtel system.

Info

You will require a configured ASR / TTS engine. If you are using Azure, then see these pages for the configuration required:

Azure Speech Services - VoiceBot module

Clients Parameters

If you have opted for whisper ASR licenses (either on-premise or cloud hosted by jtel), then jtel will provide you with the configuration information required.


Simple Word- or Phrase Spotting

In this mode, the caller can utter a sentence, and the system will try to extract words / phrases which correspond to a particular action in the call flow.

For example, suppose the caller utters "I have a problem with my system and would like to speak to someone from technical support", then you could define the words "problem, support" as the keywords which will take the caller to this action.

Call flows like this can be built using the object Input Menu DTMF ASR.

Info

This requires a pre-qualification ASR / TTS license for your jtel system. This feature can be used on all available channels in parallel.

Entity Extraction

To complete an automated process, you might need several pieces of information from the caller. 

For example, using the example of a newspaper delivery complaint, you might need:

  • The customer number
  • The date the newspaper was not delivered
  • What the customer wants - does he want his money back or the newspaper to be delivered again

We are sure, you have seen plenty of Voice Bot demos where the sales person will demonstrate the scenario above by saying something like: "My customer number is 12345678 and I didn't get my newspaper on Monday morning and I want it to be delivered again".

Nice ... and yes, you can build those kind of applications with jtel.

But it's a far cry from the reality of how human beings actually interact with automated systems. Try it out - just read the sentence above. How likely is it that you would actually say that? More likely, callers will say something like "I didn't get my newspaper", and you will have to continue on from that point. 

Also, bear in mind, that your process will not work, unless you get all three pieces of information required by your backend REST API or interface - in the right format to actually give to the API or interface concerned. Using LLMs will not give you a 100% result here - so be aware that if you go for the LLM approach you will get unpredictable results sometimes. 

Sometimes it is better to use a step by step call flow once you know what the caller wants, leading the caller through the inputs you require until you have them all and can execute the process on the backend.

Call flows like this are built using the Input ASR Object, and specific extractors for the type of information you want at a particular point in the call flow.

Info

This requires a voice bot advanced license for your jtel system and licensed voice bot channels. This feature can be used on the number of licensed channels in parallel and is a flat rate - so you can process as many calls as you like.

LLM Based Call-Flows

The third way of producing a voice bot is using speech recognition in combination with an LLM and crafted prompts, which instruct the LLM how to query the caller for the information required to complete a process.

Taking our example above, you might build an LLM prompt something like this:

Code Block
Process: Newspaper Delivery Failure
Examples of what the caller might say:
- I didn't receive my newspaper this morning, can you help
- I didn't get my newspaper yesterday, can I have it delivered again
- The newspaper didn't arrive, can you help 
Instructions: if the caller requests this process, then I need you to get the following information:
- The customer number of the caller. This is an 8 digit number. 
- The date the customer did not get his newspaper. I require the date in the format yyyy-MM-dd
- Whether the customer would like a refund, or the newspaper delivered again
PROVIDE THIS INFORMATION IN JSON FORMAT. 

Call flows like this are built using the Input ASR Object and the "Any Text" extractor. The results are passed to the LLM (including any previous interactions from the conversation) for processing. Once you detect a JSON Structure containing all of the information you need, you can complete the process. Or you can break-out of the LLM based approach, and return to Entity Extraction if you like, at any point in the process.

Info

This requires a voice bot advanced license for your jtel system and licensed voice bot channels. This feature can be used on the number of licensed channels in parallel and is a flat rate - so you can process as many calls as you like.


...