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.


Sv translation
languagede

Einführung

Wenn Sie eine Routing-Anwendung erstellen möchten, mit der Ihre Anrufer mithilfe der Spracherkennung verschiedene Aufgaben ausführen können – beispielsweise dem System mitteilen, was sie möchten oder mit wem sie verbunden werden möchten.

Mit dem jtel-System gibt es drei Möglichkeiten, dies zu tun.

Info

Sie benötigen eine konfigurierte ASR-/TTS-Engine. Wenn Sie Azure verwenden, finden Sie die erforderlichen Konfigurationen auf diesen Seiten:

Azure Speech Services - VoiceBot module

Clients Parameters

Wenn Sie sich für Whisper-ASR-Lizenzen entschieden haben (entweder vor Ort oder in der Cloud von jtel gehostet), stellt Ihnen jtel die erforderlichen Konfigurationsinformationen zur Verfügung.

Einfaches Erkennen von Wörtern oder Phrasen (Wordspotting)

In diesem Modus kann der Anrufer einen Satz sagen, und das System versucht, Wörter/Ausdrücke zu extrahieren, die einer bestimmten Aktion im Anrufablauf entsprechen.

Angenommen, der Anrufer sagt: „Ich habe ein Problem mit meinem System und möchte mit jemandem vom technischen Support sprechen“, dann könnten Sie die Wörter „Problem, Support“ als Schlüsselwörter definieren, die den Anrufer zu dieser Aktion führen.

Anrufabläufe wie dieser können mit dem Objekt „Input Menu DTMF ASR” erstellt werden.

Info

Dazu ist eine "Vorqualifizierungs ASR-/TTS-Lizenz" für Ihr jtel-System erforderlich. Diese Funktion kann auf allen verfügbaren Kanälen parallel genutzt werden.

Entitätsextraktion

Um einen automatisierten Prozess abzuschließen, benötigen Sie möglicherweise mehrere Informationen vom Anrufer. 

Nehmen wir zum Beispiel eine Beschwerde über die Zeitungszustellung: Sie benötigen möglicherweise folgende Angaben:

  • Die Kundennummer
  • Das Datum, an dem die Zeitung nicht zugestellt wurde
  • Was der Kunde möchte – möchte er sein Geld zurück oder möchte er, dass die Zeitung erneut zugestellt wird?

Wir sind sicher, Sie haben schon viele Voice-Bot-Demos gesehen, in denen der Verkäufer das oben beschriebene Szenario demonstriert, indem er etwas sagt wie: „Meine Kundennummer lautet 12345678, ich habe meine Zeitung am Montagmorgen nicht erhalten und möchte, dass sie erneut zugestellt wird.“

Schön ... und ja, mit jtel können Sie solche Anwendungen erstellen.

Das entspricht jedoch bei weitem nicht der Realität, wie Menschen tatsächlich mit automatisierten Systemen interagieren. Probieren Sie es aus – lesen Sie einfach den obigen Satz. Wie wahrscheinlich ist es, dass Sie das tatsächlich sagen würden? Wahrscheinlicher ist, dass Anrufer etwas sagen wie „Ich habe meine Zeitung nicht erhalten“, und Sie müssen dann von diesem Punkt aus weitermachen. 

Beachten Sie außerdem, dass Ihr Prozess nur dann funktioniert, wenn Sie alle drei von Ihrer Backend-REST-API oder -Schnittstelle benötigten Informationen im richtigen Format erhalten, um sie tatsächlich an die betreffende API oder Schnittstelle weitergeben zu können. Die Verwendung von LLMs liefert Ihnen hier kein 100-prozentiges Ergebnis – seien Sie sich also bewusst, dass Sie bei einem LLM-Ansatz manchmal unvorhersehbare Ergebnisse erhalten. 

Manchmal ist es besser, einen schrittweisen Anrufablauf zu verwenden, sobald Sie wissen, was der Anrufer möchte, und ihn durch die erforderlichen Eingaben zu führen, bis Sie alle Informationen haben und den Vorgang im Backend ausführen können.

Anrufabläufe wie dieser werden mithilfe des Input ASR-Objekts und spezifischer Extraktoren für die Art von Informationen erstellt, die Sie an einem bestimmten Punkt im Anrufablauf benötigen.

Info

Dazu benötigen Sie eine erweiterte Voice-Bot-Lizenz für Ihr jtel-System und lizenzierte Voice-Bot-Kanäle. Diese Funktion kann auf der Anzahl der lizenzierten Kanäle parallel genutzt werden und ist eine Flatrate – Sie können also so viele Anrufe bearbeiten, wie Sie möchten.

LLM-basierte Anrufabläufe

Die dritte Möglichkeit zur Erstellung eines Sprachbots besteht in der Verwendung von Spracherkennung in Kombination mit einem LLM und speziell entwickelten Eingabeaufforderungen, die dem LLM mitteilen, wie es den Anrufer nach den für die Durchführung eines Vorgangs erforderlichen Informationen fragen soll.

Anhand unseres obigen Beispiels könnten Sie eine LLM-Eingabeaufforderung etwa wie folgt erstellen:

Code Block
Vorgang: Ausbleibende Zeitungszustellung
Beispiele für mögliche Äußerungen des Anrufers:
- Ich habe heute Morgen meine Zeitung nicht erhalten, können Sie mir helfen?
- Ich habe gestern meine Zeitung nicht erhalten, kann ich sie noch einmal zugestellt bekommen?
- Die Zeitung ist nicht angekommen, können Sie mir helfen?
Anweisungen: Wenn der Anrufer diesen Vorgang anfordert, benötigen Sie die folgenden Informationen:
- Die Kundennummer des Anrufers. Dies ist eine 8-stellige Nummer. 
- Das Datum, an dem der Kunde seine Zeitung nicht erhalten hat. Ich benötige das Datum im Format JJJJ-MM-TT.
- Ob der Kunde eine Rückerstattung wünscht oder die Zeitung erneut zugestellt haben möchte.
Geben Sie diese Informationen im JSON-Format an. 

Solche Anrufabläufe werden mithilfe des Input-ASR-Objekts und des Extraktors „Any Text“ erstellt. Die Ergebnisse werden zur Verarbeitung an das LLM weitergeleitet (einschließlich aller vorherigen Interaktionen aus der Konversation). Sobald Sie eine JSON-Struktur mit allen erforderlichen Informationen erkannt haben, können Sie den Prozess abschließen. Sie können aber auch jederzeit während des Prozesses aus dem LLM-basierten Ansatz ausbrechen und zur Entitätsextraktion zurückkehren, wenn Sie möchten.

Info

Dazu benötigen Sie eine erweiterte Voice-Bot-Lizenz für Ihr jtel-System und lizenzierte Voice-Bot-Kanäle. Diese Funktion kann auf der Anzahl der lizenzierten Kanäle parallel genutzt werden und ist eine Flatrate – Sie können also so viele Anrufe bearbeiten, wie Sie möchten.