Herzlich Willkommen bei SOGEDES - Hier trifft Mensch auf Technologie

Subscribe to Our Newsletter

Filter nach Kategorien

Woraus besteht ein Voicebot - die Schlüsselkomponenten

Hallo zusammen! Willkommen zurück zu unserer Serie - Wie Sie einen Voice Bot für Ihr Unternehmen erstellen. Heute werfen wir einen Blick auf die Technologie, die hinter einem Voice Bot steckt, und gehen auf die wichtigsten Komponenten ein, die für den Aufbau eines solchen Bot notwendig sind. Sie werden auch erfahren, welche Open-Source-Optionen es gibt und welche etablierten Technologien auf dem Markt verfügbar sind.

Mein Name ist Bruno, AI-Ingenieur bei SOGEDES. Wir befinden uns im zweiten Blog dieser Serie, in der ich zeige, wie man einen Voice Bot mit echten Beispielen und Implementierungsdetails implementiert. Wenn Sie neu hier sind, vergessen Sie nicht, die erste Folge zu lesen, in der ich die wichtigsten Konzepte eines Voice-Bot-Projekts erklärt habe.

Die drei wichtigsten Voicebot-Komponenten: Speech to Text (STT oder ASR), Natural Language Processing (NLP) und Text to Speech (TTS)

Ein Voice Bot hat drei Hauptkomponenten: Spracherkennung, natürliche Sprachverarbeitung (NLP) und Text to Speech. Und in den letzten Jahren gab es einen Boom im Bereich der künstlichen Intelligenz, der die Leistung der Algorithmen durch die Verwendung der Transformers Neural Network-Architektur erheblich verbesserte. Wir haben gesehen, dass Spracherkennungs- und NLP-Komponenten unglaubliche Ergebnisse liefern, und jetzt sind Voice Bots ein heißes Thema, weil wir robustere und zuverlässigere Anwendungen entwickeln können. Ich werde im folgenden aufzeigen, wie die drei Hauptkomponenten miteinander interagieren.

Spracherkennung

Spracherkennung, oft auch als Speech to Text (SST) oder Automatic Speech Recognition (ASR) bezeichnet, ist die Komponente, die für das Verstehen der Sprache des Benutzers verantwortlich ist, indem sie Audiodaten in Textdaten umwandelt. Textdaten sind im Vergleich zu Audiosignalen viel einfacher zu verarbeiten, weshalb wir sie in Text umwandeln müssen, um die Bedeutung der Sprache zu verstehen. Meiner Meinung nach ist dies die wichtigste Komponente des Voice Bot, da sie die Benutzereingaben erfasst. Wenn sie nicht korrekt erfasst wird, können die nächsten Komponenten nicht richtig funktionieren.

Sie können sich nach ausgereiften Spracherkennungsdiensten umsehen, wie Google, Microsoft, IBM, AWS, Deepgram und so weiter. Die Qualität ist sehr gut und sie haben einen Datenvorteil, da ihre Modelle in riesigen Mengen von Audiostunden trainiert worden sind. Aber das hat natürlich auch einen höheren Preis. Die gute Nachricht ist, dass KI jeden Tag für alle zugänglicher wird und wir Open-Source-Systeme haben, die wirklich gut funktionieren, wie VOSK, Scribosermo und Wav2Vec. Unabhängig davon, für welche Technologie Sie sich entscheiden, müssen Sie sicherstellen, dass der Spracherkenner mit einem guten Stille-Detektor arbeitet, damit die Reaktionszeiten des Voice Bot schnell genug sind. Hier gibt es eine Erläuterung dazu im Medium-Blog (auf Englisch). 

Sprachverstehen

Wie ich bereits sagte, müssen wir die Bedeutung der Sprache des Benutzers verstehen. Dafür haben wir das NLP-Modul (Natural Language Programming), das den transkribierten Text verarbeitet. Es gibt viele Aufgaben, die ein NLP-Algorithmus ausführen kann, wie z. B. Texterstellung, Zusammenfassung, Klassifizierung usw. Im Zusammenhang mit Voice Bots, insbesondere mit Closed Domain Voice Bots, die über regelbasierte Frameworks entwickelt werden, sind wir hauptsächlich an zwei Aufgaben interessiert: Textklassifizierung und Entitätsextraktion. Bei der ersten Aufgabe wird der gesamte Text analysiert und die Absicht des Benutzers ermittelt. Abhängig von der erkannten Absicht gibt es vordefinierte Antworten, um den Gesprächsfluss fortzusetzen.

Die zweite Aufgabe besteht darin, Schlüsselinformationen aus dem Text zu extrahieren, z. B. den Namen der Person, den Ort, Nummern usw. Mit diesen extrahierten Entitäten können Sie eine Datenvalidierung durchführen, Informationen in Datenbanken speichern oder was auch immer Sie mit ihnen machen wollen.

Es gibt viele Open-Source-Frameworks, die sich nicht nur auf die Textklassifizierung und Entitätsextraktion konzentrieren, sondern auch auf die Erstellung von Konversationen spezialisiert sind. RASA, Microsoft Bot Framework, Botpress und Wit.ai sind nur einige Beispiele, die vollständige Liste finden Sie hier. Natürlich können Sie mit den Modellen der BERT-Familie in Huggingface ganz von vorne anfangen, um Text- und Entitätsklassifikatoren zu erstellen, aber wenn Sie sich für ein ausgereifteres Framework wie RASA entscheiden, werden Sie Ihre Projektentwicklung vorantreiben.

Es gibt auch viele Anbieter von Conversational AI, die sehr einfach zu benutzen sind, wie Google Dialogflow und Microsoft LUIS. Je nach Framework oder Anbieter, den Sie wählen, kann die Art und Weise, wie Sie den Konversationsfluss gestalten, variieren, aber die Idee ist dieselbe: Sie definieren viele Trainingsphrasen für jede Absicht Ihres Dialogs und einen vordefinierten Satz von Antworten. Darüber hinaus definieren Sie auch mögliche Entitäten, die Sie extrahieren möchten, und oft können Sie einfache REGEX- oder auf maschinellem Lernen basierende Modelle wählen. Wir werden diese Details im nächsten Blog besser verstehen, in dem wir Google Dialogflow gemeinsam prüfen werden.

Neben den oben genannten Conversational AI-Frameworks entwickelt sich der Bereich der generativen KI in rasantem Tempo weiter und wird sich allmählich auf die traditionellen regelbasierten Chatbots auswirken, indem diese Flows mit Large Language Models (LLM) wie ChatGPT integriert werden und so leistungsfähigere Konversationen ermöglichen. Sie können als Beispiel sehen, wie RASA intentless bots unter Verwendung von LLM entwickelt, oder wie Sie Wissensdatenbanken mit LLM für Q&A bots integrieren können.

Sprachausgabe (Text to Speech)

Die letzte Komponente ist Text to Speech. Nachdem wir unsere Antwort vom NLP-Modul erhalten haben, müssen wir sie dem Benutzer sagen, damit wir den Gesprächsfluss fortsetzen können. Auch hier können Sie aus vielen ausgereiften Diensten, wie Google und Microsoft, wählen, oder Sie können Open-Source-Projekte, wie MaryTTS, Kaldi und einige der neuesten Modelle im Huggingface-Hub überprüfen.

Telefonie-Gateway

Neben all den Komponenten, über die wir gerade gesprochen haben, dürfen wir nicht vergessen, dass Voice-Bot-Anwendungen in der Regel für Telefonanrufe verwendet werden, daher fehlt uns noch eine wichtige Technologie: das Telefonie-Gateway. Dieses ermöglicht, dass ein Telefonanruf den Voice Bot erreicht und der Benutzer mit ihm sprechen kann. Dieses Telefonie-Gateway kann auf verschiedene Weise implementiert werden und wird oft von einem Contact Center oder einer Kommunikationsplattform bereitgestellt, wie z.B. Twilio, Genesys oder unser SOGEDES.X Produkt. Darüber hinaus gibt es viele Open-Source-Lösungen, die sehr flexibel sind und es Ihnen ermöglichen, alles zu bauen, was Sie in der Telefonie wollen, wie Asterisk oder FreePBX.

Ablauf eines Voicebot-Anrufs

Normalerweise ist der Arbeitsablauf einfach: Der Benutzer ruft die Voicebot-Nummer an und das Telefon-Gateway erstellt einen eigenen Kanal für diesen Anruf. An diesem Punkt ist die Logik sehr ähnlich wie bei IVR-Systemen, bei denen Sie verschiedene Gesprächswege auf der Grundlage der vom Benutzer am Telefon eingegebenen Ziffer programmieren. In Asterisk kann diese Logik zum Beispiel mit dem Dialplan-Skripting programmiert werden.

Anstatt jedoch zu verarbeiten, welche Ziffer der Benutzer während des Anrufs angeklickt hat, können wir nun natürlichere Gespräche aufbauen, indem wir den Telefonanruf mit dem Voice Bot verbinden. Wenn der Anruf beginnt, beginnt der Bot das Gespräch mit Hilfe der Text-to-Speech-Komponente mit einer Standard-Begrüßungsnachricht. Dann wartet der Bot mit Hilfe der Spracherkennungskomponente auf eine Antwort und übergibt den transkribierten Text schließlich an den NLP-Algorithmus, der den Text analysiert und die Absicht und die Entitäten der Sprache des Benutzers extrahiert. Für jede Absicht gibt es eine vordefinierte Antwort, die vom Text-to-Speech-Modul verwendet wird, wodurch sich der Kreis schließt. Nun wird die Konversation bis zum Ende des Dialogs oder bis zum Eintreten eines erwarteten Ereignisses fortgesetzt.

Wenn Sie sich noch gut an die guten Entwurfspraktiken erinnern, über die wir in der ersten Folge (10 Tipps für die Voicebotentwicklugn) gesprochen haben, müssen wir die Fälle behandeln, in denen der Bot die Sprache des Benutzers nicht versteht. Zum Beispiel müssen wir den Anruf an einen Menschen weiterleiten, wenn der Bot zwei nicht erkannte Absichten hintereinander feststellt. Oder vielleicht wollen Sie auch erkennen, dass der Benutzer mit einem Menschen sprechen möchte, ein sehr wichtiges Szenario zur Verbesserung der Kundenerfahrung.

Wenn Sie jedoch nicht die Zeit oder die Ressourcen haben, Ihr eigenes Voice Bot-Projekt zu erstellen, bieten wir hier bei SOGEDES das gesamte Paket als Service für Sie an, so dass Sie sich um nichts kümmern müssen. Wir helfen Ihnen, den besten Anwendungsfall zu entwerfen, wir kümmern uns um die technische Umsetzung und wir sorgen dafür, dass Ihre Kunden damit zufrieden sind. Schildern Sie uns Ihren Anwendungsfall, wir sehen ihn uns gerne an.

In der nächsten Folge nehmen wir ein echtes Projekt in Angriff und verwenden Google Dialogflow, ein einfaches Tool für den Einstieg, das auch ein großzügiges kostenloses Angebot hat. Ich zeige Ihnen, wie Sie einen einfachen Voice Bot erstellen und wie Sie eine Telefonnummer zum Testen einrichten. Ich werde auch einen komplexeren Fall vorstellen, den wir für unsere Website erstellt haben, bei dem sich ein Voice Bot selbst verkauft. Bis bald!

MicrosoftTeams-image (6)-1

 

 

 

Bruno Fernandes Carvalho

Bruno ist ein wahrer Tech-Savvy und unser Experte für KI. Er arbeitet mit Deep Learning und NLP-Anwendungen wie Dokumentenverständnis und Textklassifzierung. Bruno kommt aus Brasilien und hat an der Universität Brasilia – UnB den Abschluss zum Data Scientist erlangt. Was ihn antreibt sind Technologien & Innovationen. Bereits während seines Studiums war er Mitglied des Forschungsprojekts UIoT (Universal Internet of Things) und Teil des Robotik-Teams “Unbeatables”. Heute erforscht er in seiner Freizeit Computer-Vision-Techniken im Bereich „Food Computing“.

MicrosoftTeams-Vlog

 

MicrosoftTeams-Blog

 

MicrosoftTeams-Blog

 

MicrosoftTeams-Vlog