Digitale Assistenten erstellen
Im Folgenden finden Sie einige Best Practices auf hoher Ebene für die Erstellung digitaler Assistenten.
Ein digitaler Assistent verwendet maschinelles Lernen, um Benutzernachrichten an einen konfigurierten Skill weiterzuleiten, der am besten zum Inhalt der Nachricht passt. Dazu werden alle in einem Skill definierten Äußerungen verwendet, um einen Classifier für diesen Skill zu trainieren. Bevor Sie also Skills in einem digitalen Assistenten testen können, stellen Sie sicher, dass sie über ein gut trainiertes Modell für alle ihre Intents verfügen und dass Sie den Skill gründlich getestet haben.
Informationen zur Schulung von unresolvedIntent in Ihren Fähigkeiten
Es ist möglich, ein benutzerdefiniertes "unresolvedIntent"-Intent für einen Skill zu erstellen und mit benutzerdefinierten Äußerungen zu trainieren. Diese Option war weit verbreitet, bevor digitale Assistenten eingeführt wurden. Bei digitalen Assistenten hat diese Entwicklungsoption ihre Relevanz verloren und ist möglicherweise nicht mehr erforderlich. Um Sie jedoch zu verstehen, lassen Sie uns erklären, worum es geht und wie und warum es funktioniert hat.
Das nicht aufgelöste Intent in einem Skill verarbeitet Nachrichten außerhalb der Domain, für die ein Skill entwickelt wurde. Dazu ordnen Sie normalerweise einen Dialogablaufstatus dem Aktionsübergang "unresolvedIntent" zu, um den Benutzer darüber zu informieren, dass der Skill die Anforderung nicht verarbeiten konnte.
Beispiel: Ein Skill, der Pizzabestellungen und -lieferungen verarbeitet, ist nicht für Finanztransaktionen vorgesehen. Wenn ein Benutzer also eine Nachricht sendet, um den Saldo für ein Konto zu prüfen, verarbeitet das nicht aufgelöste Intent die Anforderung.
Gehen wir nun davon aus, dass für einen digitalen Assistenten zwei Skills definiert sind: ein Skill für die Verarbeitung von Pizzabestellungen und -lieferungen und ein anderer für die Verarbeitung finanzieller Anwendungsfälle. Wenn ein Benutzer eine Nachricht sendet, die eine Anforderung zum Prüfen eines Kontosaldos enthält, leitet der digitale Assistent sie nicht an den Pizzaskill weiter, sondern an den Finanzskill. Das bedeutet, dass das nicht aufgelöste Intent im Pizzaskill nicht mehr für die Verarbeitung von Finanznachrichten verwendet wird.
Gehen wir weiter davon aus, dass ein Benutzer für denselben digitalen Assistenten Informationen zum aktuellen Wetter anfordert, das natürlich nicht mit der Pizza oder dem Finanzskill übereinstimmt. In diesem Fall wird das nicht aufgelöste Intent des Skills Ihrer Meinung nach diese Anforderung verarbeiten? Sie haben es richtig verstanden, als Sie "die ungelöste Absicht des digitalen Assistenten" schrien.
Durch Hinzufügen von Skills zu einem digitalen Assistenten und anschließende Schulung des digitalen Assistenten lernt der digitale Assistent den Typ der Nachrichten kennen, die jeder der konfigurierten Skills verarbeiten möchte. Wenn der digitale Assistent nicht sagen kann, an welchen Skill eine Nachricht weitergeleitet werden soll, wird die Antwort angezeigt, mit der er für die Verarbeitung nicht aufgelöster Intents konfiguriert ist.
Was bedeutet dies für das Hinzufügen und Trainieren eines benutzerdefinierten "unresolvedIntent"-Intents in Ihren Skills? Dies bedeutet, dass für ein gut trainiertes Modell kein benutzerdefiniertes "unresolvedIntent"-Intent in jedem Skill definiert werden muss. Und, als Erinnerung, eine gut ausgebildete Modelle in all Ihren Fähigkeiten zu haben, sollte die Person, die den "AI Model Designer" Hut trägt, danach streben.
In seltenen Fällen, in denen ein Skill in einem digitalen Assistenten falsch auf eine Nachricht antwortet, die er nicht verarbeiten darf, können Sie ein benutzerdefiniertes Intent "unresolvedIntent" hinzufügen, um den Skill so zu trainieren, dass er nicht mehr darauf antwortet. Daher wird die nicht aufgelöste Intent-Nachricht des digitalen Assistenten angezeigt, oder ein Intent in einem der anderen Skills verarbeitet die Anforderung.
Es wird empfohlen, benutzerdefinierte nicht aufgelöste Intents in einem Skill nur als letztes Mittel zu erstellen (d.h. wenn Tests ein Problem aufdecken, das Sie nicht lösen können, indem Sie das betroffene Intent-Modell neu trainieren).
Digital Assistant ist die Heimat Ihrer Persona
Ein digitaler Assistent bietet Benutzern eine einheitliche Chatbot-Erfahrung und erfordert daher die Persönlichkeit, die Sie definiert haben, um in allen Unterhaltungen konsistent präsent zu sein.
Resource Bundles
Wie Skills können digitale Assistenten so konfiguriert werden, dass sie mehrere Sprachen unterstützen. Digitale Assistenten erfordern alle dafür konfigurierten Fähigkeiten, um die unterstützten Sprachen zu unterstützen. Dazu gehört auch die Art der Sprachunterstützung, die nativ auf NLU-Basis oder durch die Verwendung externer Übersetzungsdienste erfolgen kann.
Alle vom digitalen Assistenten angezeigten Prompts und Nachrichten, wenn Benutzernachrichten an Skills weitergeleitet werden, sollten aus Resource Bundles stammen. Diese Nachrichten an einem einzigen Ort zu haben, macht es einfach, Konsistenz zu gewährleisten, Änderungen vorzunehmen und sie an einen Übersetzer zur Übersetzung zu übergeben.
Disambiguation und Interruptionsdialoge
Obwohl ein digitaler Assistent aus vielen verschiedenen Skills besteht, sollten diese technischen Details den Benutzern nicht angezeigt werden. Oracle Digital Assistant verwendet konfigurierbare Dialoge, die dem Benutzer angezeigt werden, wenn eine Benutzernachricht den Konversationskontext in einen anderen Skill oder ein anderes Intent ändert und wenn der Kontext auf die ursprüngliche Unterhaltung zurückgesetzt wird. Stellen Sie sicher, dass die Übergangsmeldungen als weniger Robotik definiert werden.
Beispiel: Die Nachricht, die beim Routing ohne Sequenzierung angezeigt wird, wird in den Einstellungen des digitalen Assistenten als "Switching to ${system.routingToIntent} in ${system.routingToSkill} now" definiert. Um zu einem Intent "Aufwand erstellen" in einem "Aufwand"-Skill zu navigieren, lautet die gedruckte Nachricht "Switching to create expense in expenses skill", was nicht so ist, wie ein Mensch es sagen würde.
Wenn Sie die Nachrichtenvorlage in "Sure, let's ${system.routingToIntent} for you" ändern, kann die Benutzernachricht zu "Sure, Let's create a new expense for you" werden (wobei der Teil "Neue Spesenposition erstellen" der Anzeigename ist, den Sie für das Intent im Skill definiert haben).
Dies bedeutet jedoch, dass Sie sicherstellen müssen, dass die Anzeigenamen aller Intents so festgelegt sind, dass Nachrichten, die auf der Ebene des digitalen Assistenten gedruckt werden, immer semantisch korrekt gedruckt werden. Aus diesem Grund empfehlen wir Ihnen, alle Nachrichten auf der Registerkarte "Konfigurationen" des Einstellungsbereichs für den digitalen Assistenten zu prüfen, und:
-
Ändern Sie die vorhandenen Vorlagen entsprechend Ihren Anforderungen.
-
Verschieben Sie die benutzerdefinierten Vorlagen in Resource Bundles. Fügen Sie einen positionalen Platzhalter hinzu, in dem der dynamische Ausdruck der Nachricht hinzugefügt werden soll. Beispiel "
Sure, let's {0} for you".Die Resource Bundle-Referenz wird als${rb('key_name', ${system.routingToIntent})}erstellt. -
Prüfen Sie die von Ihnen definierten Anzeigenamen für die Intents in den Skills, und stellen Sie sicher, dass sie in die Nachrichtenvorlagen passen, die Sie in den Konfigurationen des digitalen Assistenten definiert haben.
-
Prüfen Sie die Skillaufrufnamen, die auf der Seite Einstellungen des Skills definiert sind, um sicherzustellen, dass die Namen auch sprachlich zu ihrer Verwendung in den Nachrichtenvorlagen passen.
-
Ändern Sie optional Einstellungen wie Konfidenzschwellenwert für Interrupt Prompt, um den Prompt nur anzuzeigen, wenn die Konfidenz niedrig ist, oder um ihn vollständig zu unterdrücken.
-
Ändern Sie in den Konfigurationseinstellungen den Konfidenzschwellenwert, der bestimmt, wann ein Skill als Kandidatenskill betrachtet wird. Wir empfehlen, diesen Schwellenwert auf einen niedrigeren Wert als den Standardwert zu setzen und ihn im Laufe der Zeit schrittweise zu erhöhen. Was Sie finden möchten, ist der Sweet Spot, der alle Ihre Fähigkeiten ohne schlechtes Routing zuverlässig auflöst.
Checkliste für den Aufbau Ihres digitalen Assistenten
- ☑ Stellen Sie sicher, dass Skills, die einem digitalen Assistenten hinzugefügt werden, über ein gut trainiertes und getestetes Modell für alle ihre Intents verfügen.
- ☑ Prüfen Sie die Konfigurationseinstellungen des digitalen Assistenten, um die Nachrichtenvorlagen für integrierte Nachrichten an Ihre Anforderungen und die Persona Ihres Bots anzupassen.
- ☑ Prüfen Sie die Anzeigenamen für Intents und Skillaufrufnamen, um sicherzustellen, dass ihre Formulierung mit den von Ihnen definierten Vorlagen für digitale Assistenten übereinstimmt.
- ☑ Stellen Sie beim Testen der Unterhaltungen mit dem digitalen Assistenten sicher, dass die für Ihren Bot definierte Persona konsistent vorhanden ist.
