Empfehlungen für bewährte Verfahren zur Erstellung von Bots in Architect
Überblick über die Bot-Technologie
Genesys Dialog Engine Bot Flows lernt, wie jedes fortschrittliche maschinelle Lernwerkzeug, aus mehreren Beispielen und definiert dann weiter, um ähnliche, zuvor nicht gesehene Fälle zu kategorisieren. Der Bot lernt aus Beispielen, nicht aus Regeln.
Zu den Stärken dieses Ansatzes gehören:
- Flexibilität der Eingabesprache und Berechnung ungesehener Daten. Der Bot stellt auf der Grundlage früherer Unterhaltungen Vermutungen an.
- Statistisches Konfidenz-Scoring, damit Sie wissen, wie sicher die Bot-Antwort mit Antworten ist.
- Graceful Degradation, bei der es nicht um "bestanden oder nicht bestanden" geht, sondern um einen allmählichen Verlust an Sicherheit bei verrauschten Daten.
Der Ansatz des maschinellen Lernens ist mit Kosten verbunden: sie haben möglicherweise nicht für alle Eingaben ein vorher festgelegtes Ergebnis. Künstliche Intelligenz (KI) trifft ihre Entscheidungen auf der Grundlage ihrer eigenen Berechnungen und Schlussfolgerungen und nicht auf der Grundlage direkter Befehle. Lernbeispiele bringen die Maschine auf die richtige Antwort, garantieren sie aber nicht immer.
Dieser Artikel enthält einige Hinweise zu den Arten von Modelländerungen, die im Rahmen von Modellverschiebungen mit geringem und hohem Risiko verbunden sind. Weitere Informationen finden Sie unter Über Genesys Dialog Engine Bot Flows und Genesys Dialog Engine Bot Flows Preisgestaltung
Berücksichtigen Sie beim Entwurf Ihres Modells die folgenden Systemfunktionen:
- Weiterleitungsfunktionalität: Konfigurieren Sie die Verfügbarkeit von Agenten, um bei Bedarf eine Sprach-, Nachrichten- oder Chat-Interaktion zu erhalten.
- Eingebaute Funktionen:
- Bestätigen Sie unklare Aussagen, indem Sie eine Hypothese aufstellen und um Bestätigung oder Verneinung der vorgeschlagenen Absicht bitten.
- Füllen Sie Slots und, optional, Slot-Bestätigungen für eine Absicht und die erforderlichen Details, bevor Sie handeln. Zu den integrierten Steckplätzen gehören Datum, Uhrzeit, Währung und Zahl.
- Benutzerdefinierte Slot-Typen ermöglichen es Ihnen, Slot-Typen zu definieren und sie für die Zuordnung von Slots zu verwenden. Architect unterstützt drei benutzerdefinierte Slot-Typen:
- einen Listentyp
- ein dynamischer Listentyp
- ein regulärer Ausdruck (regex)
- Sie sind in der Lage, Folgefragen zu stellen, z. B:
- Ja- und Nein-Fragen
- Fragen zum Ausfüllen von Slots
- Optional können Sie die Ansagen filtern.
- Überprüfen Sie das Verhalten bei der Ereignisbehandlung, um Klarheit zu schaffen. Zum Beispiel Fehlerereignisse, Erkennungsfehler und Agenteneskalation.
Bei der Definition von Intents sollten Sie die folgenden Richtlinien beachten:
Definieren Sie Aktionspunkte für potenzielle Absichten
- Erstellen Sie eine Liste der Aufgaben, die der Bot erledigen soll.
- Beurteilen Sie, ob diese Anfragen und die entsprechenden Beispiele gute Kandidaten für einen Bot sind:
- Sind die Fälle gut definiert?
- Haben die Beispiele ein gemeinsames Vokabular, das der Bot als Anker für das Lernen verwenden kann?
- Unterscheiden sich die Beispiele für mögliche Anträge ausreichend?
- Können Sie genügend eindeutige Beispiele nennen? Die beste Praxis empfiehlt 15-30 Beispiele.
- Überprüfen Sie die vorhandenen Daten und stellen Sie fest, wie Ihre Liste im Vergleich zu realen Fällen abschneidet.
- Achten Sie darauf, dass Ihre Definitionen klare Grenzen haben und sich nicht überschneiden.
- Wenn Sie Beispiele haben, die zwischen den Intents liegen, entscheiden Sie, wo Sie sie lieber haben möchten, und ziehen Sie die Grenzen der Intent-Definition neu, um sie unterzubringen.
- Erstellen Sie zunächst eine kleinere Liste mit den wichtigsten Vorhaben. In zukünftigen Iterationen können Sie ein gut funktionierendes Proof-of-Concept-Modell erweitern.
Einheitliche Benennungsmuster für Absichten verwenden
- Konfigurieren Sie Absichtsnamen so, dass sie innerhalb eines Aufforderungssatzes funktionieren, z. B. "Ich glaube, Sie interessieren sich für [Absichtsname]"
- Vergewissern Sie sich, dass alle Absichten dem Muster entsprechen.
- Verwenden Sie nach Möglichkeit kürzere Namen. Dieser Punkt ist besonders wichtig für Sprachroboter. Bestätigungen, Disambiguierungen und Aufforderungen, die lange Namen von Absichten enthalten, funktionieren nicht gut über Sprache.
- Verwenden Sie kurze, aber natürliche Formulierungen, die zur Grammatik der Aufforderung passen.
- Wählen Sie je nach Anwendungsfall zwischen Standard- und benutzerdefinierten Eingabeaufforderungen für jeden Zweck.
- Achten Sie darauf, dass Ihre benutzerdefinierten und Standard-Eingabeaufforderungen kurz sind.
Beachten Sie bei der Angabe von Beispielen für Absichtserklärungen die folgenden Leitlinien für bewährte Verfahren:
- Geben Sie mindestens 20-30 typische Beispiele pro Absicht an.
- Vergewissern Sie sich, dass Sie Absichtsvarianten anbieten, wie z. B.:
- Bieten Sie Abwechslung in Form von Fragen oder Aussagen, die die Teilnehmer machen können.
- Fügen Sie Schlüsselwörter hinzu, die der Absicht entsprechen.
- Fügen Sie kurze Phrasen und ganze Sätze hinzu.
- Fügen Sie Synonyme für die beabsichtigte Aktion hinzu, z. B. Hotel buchen, ein Zimmer reservieren und eine Reservierung vornehmen.
- Wenn Sie mehrere Intentionen haben, die sich dasselbe Lexikon teilen, stellen Sie sicher, dass Sie ausreichend ausgewogene Beispiele auf beiden Seiten bereitstellen, und geben Sie Beispielsätzen den Vorrang, die die beiden Intentionen unterscheiden. Zum Beispiel: "Hinterlassen Sie eine Nachricht für einen Arzt" und "Suchen Sie einen Arzt auf" Das Einbeziehen von Verben, die verschiedene Handlungen mit demselben Substantiv unterscheiden, hilft beim richtigen Lernen.
- Wenn ein Vorhaben noch freie Plätze hat, vergewissern Sie sich, dass Sie:
- Definieren Sie den Slot und die Slot-Typen.
- Geben Sie Pluralwerte und Synonyme an.
- Markieren Sie Entitäten in Absichts-Beispielsätzen.
- Wählen Sie Standard- oder benutzerdefinierte Eingabeaufforderungen für jeden Steckplatz.
- Geben Sie in Ihren Aufforderungen Anweisungen oder Beispiele für integrierte Slot-Formate an.
Beachten Sie bei der Definition von Entitäten die folgenden Richtlinien:
- Definieren Sie die Arten von Informationen, die die Slots füllen, um die beabsichtigte Aktion auszuführen oder um die Customer Journey zu informieren.
- Bilden Sie nach Möglichkeit überschneidungsfreie Slot-Klassen und fragen Sie nach:
- Sind diese Informationen für die Ergreifung von Maßnahmen oder für das Bot-Routing erforderlich?
- Werden diese Informationen gespeichert und in der Customer Journey verwendet?
- Erwägen Sie eine andere Strategie für die Daten, wenn Sie die Frage mit "Ja" beantworten:
- Ist diese Information schwer zu erfassen? Ist sie zu ausführlich, gibt es zu viele Auswahlmöglichkeiten bei der Formulierung, die den Bot daran hindern könnten, den Kunden in die richtige Richtung zu lenken?
- Wenn der Bot diese Daten nicht erfasst, wird die Absichtsklassifizierung fehlschlagen?
- Eine andere Strategie kann ein Entity Slot sein, der nicht benötigt wird, nur ausgewählt wird, wenn er vorhanden ist und nicht abgefragt wird, oder als eine andere Absicht erfasst wird.
- Vermeiden Sie allgemeine Zeitnischen mit einer großen Bandbreite von Zeitnischenwerten, die nicht vorhersehbar sind.
- Vermeiden Sie offene Fragen wie "wie" oder "warum". Verlassen Sie sich stattdessen darauf, dass die Kunden auf begrenzte Optionen verwiesen werden.
- Ziehen Sie binäre Fragen für die Informationserfassung in Betracht; verwenden Sie z. B. eingebaute Ja- oder Nein-Fragen, um nach Slots zu fragen).
Beachten Sie bei der Bereitstellung von Beispielen für Entitäten die folgenden Leitlinien für bewährte Verfahren:
- Sie benötigen mindestens zwei Beispiele für hervorgehobene Slot-Werte in Ihrem Intent-Trainingssatz.
- Wenn Sie Slot-Beispiele in Ihrem Trainingssatz haben, versuchen Sie, alle oder die meisten Fälle hervorzuheben, insbesondere häufige Werte und Synonyme.
Stellen Sie sicher, dass Sie Aufforderungen erstellen, die:
- Sind kurz und klar.
- Passt gut zur Grammatik möglicher Standardintentionen oder Slot-Namen-Einfügungen.
Überlegen Sie, welche Variationen und Anpassungen für einen Voice Bot erforderlich sind.
- Intents Es ist nicht notwendig, die Zahlenformate zu variieren. Stellen Sie jedoch sicher, dass Sie wissen, welches Zahlenformat Ihre Sprache-zu-Text-Komponente zurückgibt, und stellen Sie sicher, dass Sie dieses Format in Ihren Intents darstellen.
- Ansagen Achten Sie darauf, dass Sie die Sprachanweisungen kurz und wortkarg formulieren. Im Gegensatz zu Textnachrichten können Sie diese nicht noch einmal überprüfen. Bewährte Verfahren empfehlen einfache und kurze Sprachanweisungen mit wenigen oder weniger als drei Wörtern und ohne Wiederholungen.
In diesem Abschnitt werden Empfehlungen für Testsets, Richtlinien für Voice-Bot-Tests und für Text- oder Voice-Bot-Engine-Tests beschrieben.
Empfehlungen für den Testsatz
Ein Bot, der auf maschinellem Lernen basiert, sollte mehrere Iterationen von Tests und Korrekturen durchlaufen, indem er Beispiele hinzufügt und Trainingssätze neu ausbalanciert. Bewährte Verfahren empfehlen, einen gezielten Testsatz aus realen Kundenäußerungen zu erstellen und diesen bei jeder Iteration erneut zu verwenden, um Verbesserungen zu erkennen.
Sowohl End-to-End-Bot-Tests durch simulierte Anrufe als auch reine NLU-Tests auf der Grundlage einer Reihe von vordefinierten Testbeispielen werden für ein optimales Ergebnis empfohlen. Wenn Sie Informationen über die Häufigkeit von Absichten oder Vorstellungen darüber haben, welche Fälle für Ihr Unternehmen zentraler oder wichtiger sind, stellen Sie sicher, dass Sie diese in Ihrem Testsatz gut repräsentieren.
Testen von Sprachbotschaften
Anhand der folgenden Richtlinien können Sie feststellen, ob die automatische Spracherkennung die Leistung beeinträchtigt. Stellen Sie während des Testprozesses sicher, dass Ihre Absichtsbeispiele in verschiedenen Stimmen und Umgebungen dargestellt werden:
- Unterschiede im Lexikon der Generationen
- Automatische Spracherkennung (ASR) für regionale Dialekte
- Vertretung der Geschlechter. Zum Beispiel haben Stimmen mit einer höheren Tonlage einen kleineren akustischen Bereich und können für die ASR-Engine schwieriger zu verstehen sein)
- Tests in lauter Umgebung, z. B. Telefon, Telefon mit Verkehrs- oder Fernsehgeräuschen im Hintergrund.
Testen von Bot-Engines (Text oder Sprache)
- Verwenden Sie Variationen für jede Absicht. Zum Beispiel: "Ich brauche ein Zimmer für morgen." oder "Ich möchte ein Zimmer für morgen buchen."
- Testfälle, bei denen eine Absicht unklar ist. Zum Beispiel Grenzfragen, Vokabelüberschneidungen zwischen Absichten, eine Absicht, die auf einer anderen Detailebene gefragt wird.
- Testen Sie das Modell mit Äußerungen, die aus einem einzigen Wort oder einer kurzen Phrase bestehen.
- Testen Sie das Modell mit Intents mit und ohne Slots.
- Prüfen Sie, ob allgemeine Wörter eine starke Voreingenommenheit hervorrufen. Wird beispielsweise bei den Wörtern "Warum" oder "Hilf mir" automatisch eine Absicht gegenüber einer anderen ausgewählt? In diesem Fall besteht die empfohlene Abhilfemaßnahme darin, das Modell auszugleichen, indem diese Wörter gegebenenfalls in andere Absichten aufgenommen werden.
- Ermitteln Sie, ob gemeinsame Schlüsselwörter zu starken Verzerrungen führen. Zum Beispiel "Konto" in Bankangelegenheiten. In diesem Fall besteht die empfohlene Abhilfemaßnahme darin, eine Vorgabe zu beschließen und dann die Teilfälle zu verstärken.
Bei der Analyse nach dem Test sollten Sie nach Verbesserungsmöglichkeiten suchen, die Erfolgsquote des Modellversuchs bewerten und mit dem Lerngremium zusammenarbeiten.
Überprüfung zur Verbesserung
Nachdem Sie Ihren Bot trainiert und getestet haben, überprüfen Sie, ob es Verbesserungsmöglichkeiten gibt. Nutzen Sie die Vertrauensinformationen in der Absichtsklassifizierung, um Probleme zu diagnostizieren und Verbesserungen vorzunehmen:
Wenn mit hoher Wahrscheinlichkeit eine falsche Absicht unterstellt wird:
- Gibt es in Ihrem Testbeispiel wesentliche Wörter, die auf mehr als eine Absicht hindeuten?
- Sollten Sie die Grenzen von Absichten neu definieren, zusammenführen oder Beispiele in Absichten bereinigen, die zu ähnlich sind und daher das Modell verwirren?
Wenn die falsche Absicht mit geringer Sicherheit vermutet wird:
- Ist das Beispiel ein "typisches" Beispiel? Befolgen Sie die in diesem Artikel genannten Leitlinien.
- Ist das Beispiel "marginal"? Konzentrieren Sie sich zunächst auf zentrale Beispiele. Nachdem Sie diese Beispiele korrigiert haben, können Sie Grenzfälle mit Absichtsbeispielen behandeln.
Wenn das Vertrauen in die Beispiele der zentralen Absicht unter der Bestätigungsschwelle liegt:
- Sehen Sie sich die Definition der Absicht und verwandte oder ähnliche Absichten an. Ist die Überschneidung von Definition und Wortschatz zu groß? Gibt es potenzielle Fusionen zwischen zu ähnlichen Absichten? Sollten Sie einige Beispiele für "konkurrierende Absichten" streichen?
- Ist das Beispiel "marginal"? Sie können mit einem geringeren Vertrauen rechnen, wenn weniger Beispiele in der Intent-Definition vorhanden sind oder wenn andere Intents ähnliche Fälle aufweisen.
- Wenn die vorstehenden Punkte nicht zutreffen, können Sie die Bestätigungsschwelle nach unten korrigieren.
Bewertung des Gesamterfolgs des Modellversuchs
- Bewerten Sie die Relevanz Ihrer Absichten für die Testfälle und passen Sie sie an, falls zentrale Fälle fehlen.
- Konzentrieren Sie sich auf die Schlüsselbegriffe, nicht auf den abschweifenden Inhalt. Wenn Sie reale Daten verwenden, sollten Sie überlegen, ob Sie relevante Änderungen an den Tests vornehmen, z. B. die Formulierung von Sätzen minimieren.
- Überlegen Sie, ob Sie weitere Übungsbeispiele einbeziehen wollen, z. B. syntaktische Variationen und Synonyme.
- Gleichen Sie Ihre Absichten so aus, dass sie bestehende Verzerrungen in gemeinsamen Phrasen und gemeinsamen Schlüsselwörtern beseitigen. Wenn ein Beispiel eine starke Voreingenommenheit enthält, die die Auflösung der Absicht beeinträchtigt, entfernen Sie es.
Arbeit mit dem Lernpanel
Das Lernpanel soll bei der Verbesserung des Modells helfen. Sie sehen echte Anwendungsfälle mit Absichtsklassifizierung und können die Klassifizierung korrigieren. Bedenken Sie jedoch, dass ein Modell am besten funktioniert, wenn es gut trainiert und ausgewogen ist. Wehren Sie sich gegen den Versuch, alles, was auf der Lerntafel steht, zum Modell-Trainingssatz hinzuzufügen. Dieser Schritt führt wahrscheinlich zu einer Voreingenommenheit gegenüber allgemeinen Absichten und kann zu unbrauchbaren Sätzen führen, die das Lernen des Modells beeinträchtigen.
Am besten ist es, zentrale, auffällige Fälle, die entweder falsch klassifiziert wurden oder bei denen das Vertrauen in die Klassifizierung gering ist, in das Modell aufzunehmen.
Die statistische Natur des maschinellen Lernens bedeutet, dass Sie versuchen, 99 % der häufigsten Fälle gut abzudecken. Je seltener der Fall, desto wahrscheinlicher ist es, dass er nicht behandelt wird und im Unterricht nicht vorkommt. Wenn Sie versuchen, absolut alle Fälle in das Modell aufzunehmen, sinkt die Leistung bei den zentralsten Fällen, und damit sinkt auch der allgemeine Geschäftserfolg des Anwendungsfalls.