Digitale Assistenten erstellen

Im Folgenden finden Sie einige allgemeine Best Practices zum Erstellen 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 ausgebildetes Modell für alle ihre Intents verfügen und dass Sie den Skill gründlich getestet haben.


Beschreibung von build-digital-assistant.png folgt

Informationen zur Schulung von unresolvedIntent in Ihren Skills

Es ist möglich, ein benutzerdefiniertes "unresolvedIntent"-Intent für einen Skill zu erstellen und mit benutzerdefinierten Äußerungen zu trainieren. Diese Option war vor der Einführung digitaler Assistenten weit verbreitet. Bei digitalen Assistenten hat diese Entwicklungsoption ihre Relevanz verloren und ist möglicherweise nicht mehr erforderlich. Um jedoch zu verstehen, wollen wir 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 dem Aktionsübergang "unresolvedIntent" in der Regel einen Dialogablaufstatus 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 einen Account zu prüfen, verarbeitet das nicht aufgelöste Intent die Anforderung.

Nehmen wir jetzt an, dass für einen digitalen Assistenten zwei Skills definiert sind: ein Skill für die Verarbeitung von Pizzabestellungen und -lieferungen und ein weiterer 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 zur Verarbeitung von Finanznachrichten verwendet wird.

Gehen wir weiter davon aus, dass ein Benutzer für denselben digitalen Assistenten Informationen zum aktuellen Wetter anfordert, die natürlich weder mit der Pizza noch mit der finanziellen Qualifikation übereinstimmen. In diesem Fall wird das nicht aufgelöste Intent dieses Skills Ihrer Meinung nach diese Anforderung verarbeiten? Sie haben es richtig verstanden, als Sie "die ungelöste Absicht des digitalen Assistenten" rief.

Durch Hinzufügen von Skills zu einem digitalen Assistenten und anschließende Schulung des digitalen Assistenten erfährt der digitale Assistent mehr über den Nachrichtentyp, den 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 zur Erinnerung: Ein gut ausgebildetes Modell in all Ihren Fähigkeiten zu haben, ist das, was die Person, die den Hut "AI Model Designer" trägt, anstreben sollte.

In seltenen Fällen, in denen ein Skill in einem digitalen Assistenten falsch auf eine Nachricht antwortet, die er nicht verarbeiten soll, können Sie ein benutzerdefiniertes "unresolvedIntent"-Intent hinzufügen, um den Skill so zu trainieren, dass er nicht mehr darauf reagiert. Daher wird die ungelö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 benötigen 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 NLU-basiert oder durch die Verwendung externer Übersetzungsdienste sein kann.

Alle Prompts und Nachrichten, die vom digitalen Assistenten beim Weiterleiten von Benutzernachrichten an Skills angezeigt werden, müssen 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.

Diskrepanz- und Unterbrechungsdialoge

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 Sequitur angezeigt wird, wird in den Einstellungen des digitalen Assistenten als "Switching to ${system.routingToIntent} in ${system.routingToSkill} now" definiert. Wenn Sie zu einem Intent "Spesen erstellen" in einem "Spesen"-Skill navigieren möchten, lautet die gedruckte Nachricht "Switching to create expense in expenses skill", was ein Mensch nicht sagen würde.

Wenn Sie die Nachrichtenvorlage in "Sure, let's ${system.routingToIntent} for you" ändern, kann die Benutzernachricht in "Sure, Let's create a new expense for you" geändert werden (wobei der Teil "Neue Spesen erstellen" in der Nachricht 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 auf der Ebene des digitalen Assistenten gedruckte Nachrichten immer semantisch korrekt gedruckt werden. Daher wird empfohlen, alle Nachrichten im Einstellungsbereich des digitalen Assistenten auf der Registerkarte "Konfigurationen" 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, bei 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 Anzeigenamen, die Sie für die Intents in den Skills definiert haben, und stellen Sie sicher, dass sie mit den Nachrichtenvorlagen übereinstimmen, 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 mit ihrer Verwendung in den Nachrichtenvorlagen übereinstimmen.

  • Ä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 dann im Laufe der Zeit schrittweise zu erhöhen. Was Sie finden möchten, ist der Sweet Spot, der alle Ihre Fähigkeiten mit Vertrauen ohne schlechtes Routing auflöst.

Checkliste für die Erstellung Ihres digitalen Assistenten

  • ☑ Stellen Sie sicher, dass die Skills, die einem digitalen Assistenten hinzugefügt werden, über ein gut trainiertes und getestetes Modell für alle 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 Intent-Anzeigenamen und Skillaufrufnamen, um sicherzustellen, dass ihr Wortlaut mit den von Ihnen definierten Vorlagen des digitalen Assistenten übereinstimmt.
  • ☑ Stellen Sie beim Testen der Unterhaltungen mit dem digitalen Assistenten sicher, dass die für Ihren Bot definierte Persona konsistent vorhanden ist.