Intent erstellen

Im Folgenden werden die Schritte zum Erstellen eines Intents in einem Skill beschrieben.

So erstellen Sie ein Intent:
  1. Klicken Sie in der linken Navigationsleiste auf Intents Dieses Bild zeigt das Symbol "Intent"..
  2. Wenn Sie bereits Intents in einer CSV-Datei definiert haben, klicken Sie auf Intents importieren. Unter Intents aus einer CSV-Datei importieren wird das Format dieser Datei beschrieben. Klicken Sie andernfalls auf Intent hinzufügen. Ihr Skill benötigt mindestens zwei Intents.
  3. Klicken Sie auf Dieses Bild zeigt das Symbol "Bearbeiten"., um einen beschreibenden Namen oder eine Wortgruppe für das Intent in das Feld Unterhaltungsname einzugeben. Beispiel: Wenn der Name des Intents callAgent ist, lautet der Name der Unterhaltung Mit einem Kundenbetreuer sprechen. Wenn der Skill eine Nachricht nicht in ein Intent auflösen kann, gibt er die benutzerfreundlichen Namen und Wortgruppen aus, die Sie in das Feld Unterhaltungsname eingeben, als Optionen für die Nachrichten zur Abwehr von Mehrdeutigkeiten unter Möchten Sie beschrieben unter Funktionsweise der Konfidenzgewinnmarge und Intent- und Q&A-Routing konfigurieren.
  4. Fügen Sie den Namen des Intents im Feld Name hinzu. Wenn Sie keinen Unterhaltungsnamen eingeben, wird stattdessen der Wert im Feld Name verwendet. Beachten Sie, dass ein Kurzname ohne abschließendes Satzzeichen möglicherweise nicht zur Benutzererfahrung beiträgt. Der Name des Intents wird im Feld Unterhaltungsname für Skills angezeigt, die mit früheren Versionen des digitalen Assistenten erstellt wurden.
    Hinweis

    Verwenden Sie bei der Benennung Ihrer Intents system. nicht als Präfix. system. ist ein Namespace, der für die von Oracle bereitgestellten Intents reserviert ist. Da Intents mit diesem Präfix von Trainer Tm unterschiedlich behandelt werden, kann sein Gebrauch dazu führen, dass Ihre Intents auf unerwartete Weise aufgelöst werden.
  5. Fügen Sie eine Beschreibung des Intents hinzu. Ihre Beschreibung sollte sich darauf konzentrieren, was das Intent eindeutig charakterisiert und welche Aufgaben es ausführt.
  6. Wenn es sich um ein Antwort-Intent handelt, fügen Sie dem Feld "Antwort" eine kurze Antwort hinzu.
  7. Fügen Sie optional im Feld Anmerkungen mindestens ein Tag für das Intent hinzu, um es so zu kategorisieren, dass es für Sie nützlich ist. Sie können alle Wörter Ihrer Wahl verwenden.

    Tipp:

    Auf der Seite Intents können Sie die Anzeige von Intents nach Annotation filtern.
  8. Beginnen Sie mit dem Aufbau des Trainingskorpus, indem Sie Beispieläußerungen hinzufügen, die die Bedeutung hinter dem Intent veranschaulichen. Um eine optimale Intent-Auflösung zu gewährleisten, verwenden Sie für das einzelne Intent spezifische Begriffe, Wörter und Wortgruppen. Idealerweise sollten Sie Ihre Trainingsdaten auf realen Phrasen basieren. Sie können Ihre Äu0erungen speichern, indem Sie auf "Eingeben" oder außerhalb des Eingabefeldes klicken. Um das Trainingsset zu verwalten, wählen Sie eine Zeile für den Zugriff auf die Funktionen Bearbeiten (Dieses Bild zeigt die Schaltfläche "Bearbeiten".) und Löschen (Dieses Bild zeigt die Funktion "Löschen".) aus.
    Wenn der Skill mehrere native Sprachen unterstützt, ergänzen Sie das Trainingsset durch Wortgruppen in den sekundären Sprachen. So erhöhen Sie die Genauigkeit des Modells in dieser und allen anderen nativen Sprachen, die vom Skill unterstützt werden.

    Tipps zum Erstellen eines effektiven Trainingskorpus finden Sie unter Trainingskorpus erstellen.
    Um Ihrem Skill klar zwischen Intents unterscheiden zu können, erstellen Sie ein Intent, das unangemessene Benutzereingaben oder Kauderwelsch auflöst.
    Während Äußerungen manuell oder durch Importieren einer CSV zu einem vorhandenen Intent hinzugefügt werden können, können sie auch über Datenproduktionsjobs und den Insights Retrainer Intents zugewiesen werden.
  9. Geben Sie im Feld "Vorschläge zur automatischen Vervollständigung" ein Set vorgeschlagener Phrasen ein, mit denen der Benutzer eine passend formulierte Anfrage eingeben kann. Fügen Sie nicht das gesamte Set aus Trainingsdaten hinzu. Fügen Sie stattdessen ein Set von Phrasen hinzu, die ideale Benutzeranfragen darstellen. Wenn Sie zu viele Äußerungen hinzufügen, können diese Benutzer verwirren sowie zu unerwartetem Verhalten führen.
    Dies ist ein optionaler Schritt. Diese Funktion wird nur vom Oracle-Webkanal unterstützt.
  10. Fügen Sie eine Entity hinzu, wenn das Intent eine Entity zur Auflösung der Benutzereingabe benötigt. Informationen hierzu finden Sie unter Entitys zu Intents hinzufügen.
  11. Um Ihren Skill zu trainieren, Benutzereingabe mit dem bisher bereitgestellten Äußerungen zu verstehen, klicken Sie auf Trainieren, wählen Sie ein Modell aus, und klicken Sie auf Weiterleiten.
    Wie unter Welches Trainingsmodell sollte ich verwenden? beschrieben, stellen wir zwei Modelle bereit, die von Ihrem Korpus lernen: Trainer Ht und Trainer Tm. Jedes Modell verwendet einen anderen Algorithmus, um die Benutzereingabe mit Ihren Intents abzustimmen. Trainer Ht verwendet Mustervergleich, während Trainer Tm mit einem Algorithmus für maschinelles Lernen arbeitet, der Wortvektoren verwendet. Beide Fähigkeiten, die den nativen Sprachsupport von Digital Assistant verwenden, und Fähigkeiten mit Antwort-Intents erfordern Trainer TM.
    Sie folgen in der Regel diesem Prozess:
    1. Erstellen Sie das anfängliche Trainingskorpus.

    2. Trainieren Sie mit Trainer Ht. Sie sollten mit Trainer Ht beginnen, weil dafür kein umfangreiches Set von Äußerungen erforderlich ist. Solange genügend Äußerungen vorhanden sind, um die Intents eindeutig zu machen, kann Ihr Skill die Benutzereingabe auflösen.

      Wenn beim Versuch, Ihren Skill zu trainieren, die Meldung Es ist etwas schiefgelaufen angezeigt wird, haben Sie möglicherweise keine ausreichende Anzahl von Äußerungen zur Unterstützung des Trainings hinzugefügt. Stellen Sie zunächst sicher, dass Sie mindestens zwei Intents mit jeweils mindestens zwei (oder mehr) Äußerungen haben. Wenn Sie nicht genügend Äußerungen hinzugefügt haben, fügen Sie einige weitere hinzu, und trainieren Sie dann Ihren Skill.

    3. Verfeinern Sie Ihren Korpus, und trainieren Sie ihn mit Trainer Ht nach. Wiederholen Sie diesen Vorgang bei Bedarf - Training ist ein iterativer Prozess.

    4. Trainieren Sie mit Trainer Tm. Verwenden Sie diesen Trainer, wenn Sie eine ausreichende Anzahl an Intents zusammengestellt haben.

    Training erforderlich wird immer angezeigt, wenn Sie ein Intent hinzufügen oder wenn Sie ein Intent aktualisieren, indem Sie Äußerungen hinzufügen, ändern oder löschen. Um das Training auf den neuesten Stand zu bringen, wählen Sie ein Trainingsmodell aus, und klicken Sie auf Trainieren. Das Modell zeigt ein Ausrufezeichen an, wenn Training erforderlich ist. Wenn das Training aktuell ist, wird ein Häkchen angezeigt.

  12. Klicken Sie auf Äußerungen testen (oben links), um den Äußerungstester zu öffnen. Wählen Sie die Zielsprache aus, und geben Sie dann Äußerungen ein, die denen im Trainingsset ähneln. Der Äußerungstester gibt das Konfidenzniveau für diese Äußerung zurück und ermöglicht es Ihnen, die Äußerung einem Intent zuzuweisen oder als Testfall hinzuzufügen.
    Um die Testergebnisse des Intents zu loggen, aktivieren Sie das Logging von Unterhaltungs-Intents (Einstellungen > Allgemein > Insights aktivieren).
  13. Klicken Sie auf Validieren, und prüfen Sie die Validierungsmeldungen auf Fehler, wie z.B. zu wenige Äußerungen, und um Anweisungen zum Anwenden von Best Practices zu erhalten, wie z.B. das Hinzufügen eines unresolvedIntent-Intents.

Entitys zu Intents hinzufügen

Einige Intents erfordern sowohl integrierte als auch benutzerdefinierte Entitys, um eine Aktion im Dialogablauf abschließen oder einen REST-Aufruf an eine Backend-API ausführen zu können. Das System verwendet nur diese Entitys, die als Intent-Entitys bezeichnet werden, um das mit ihnen verknüpfte Intent zu erfüllen. Sie können eine Entity mit einem Intent verknüpfen, wenn Sie auf Neue Entity hinzufügen klicken und dann eine benutzerdefinierte (Dieses Bild zeigt das Symbol "Benutzerdefiniert".) oder integrierte (Dieses Bild zeigt das Symbol "System".) Entity auswählen. Wenn Sie eine integrierte Entity zuweisen, lassen Sie Wertagnostisch aktiviert (Standard), wenn bestimmte Entitywerte nicht in die Intent-Klassifizierung einfließen (was in der Regel der Fall ist). Wenn das Intent einen bestimmten Entitywert erfordert, schalten Sie dieses Feature aus.
Hinweis

Wertagnostisch gilt nur für integrierte Entitys. Sie können sie nicht auf benutzerdefinierte Entitys anwenden.


Alternativ können Sie auf Neue Entity klicken, um eine Intent-spezifische Entity hinzuzufügen.

Tipp:

Nur Intent-Entitys, die in den JSON-Payloads enthalten sind, werden an den Komponentenservice gesendet und von diesem zurückgegeben. Mit keinem Intent verknüpfte Entitys werden nicht berücksichtigt, auch wenn sie zur Auflösung des Intents durch Erkennung von Benutzereingaben beitragen. Wenn die benutzerdefinierte Komponente über Entityübereinstimmungen auf Entitys zugreift, sollten Sie die Entity Ihrem Intent hinzufügen.

Wertorientierte Intent-Entitys

Mit dem Feature Wertabhängig können Sie anpassen, wie sich Entitywerte auf die Intent-Klassifizierung auswirken. Wenn Sie diese Funktion aktivieren, haben die spezifischen Werte für eine zugeordnete integrierte Entity keinen Einfluss auf die Intent-Klassifizierung. Wenn Sie diese Funktion jedoch deaktivieren, können Sie zulassen, dass der Entitywert eine Schlüsselrolle bei der Auflösung der Eingabe spielt.

Im Allgemeinen können Sie dieses Feature in der Standardeinstellung (aktiviert) belassen, da ein bestimmter Entitywert selten in die Intent-Klassifizierung einfließt. Die Trainingsäußerungen für ein Accountsalden-Intent können beispielsweise bestimmte Datumsangaben enthalten (Wie hoch war mein Saldo am 5. Oktober?), aber diese Werte sind nicht der entscheidende Faktor beim Auflösen der Eingabe für das Intent. Wenn Sie Value Agnostic aktiviert lassen, wird die Intent-Auflösung in den meisten Fällen verbessert, weil sie verhindert, dass sich die Werte auf Konfidenzscores auswirken oder sogar ein unbeabsichtigtes Intent signalisieren. Wenn jedoch bestimmte Werte eine Schlüsselrolle bei der Intent-Auflösung spielen, sollten Sie diese Funktion ausschalten. Beispiel: Sie würden die Funktion deaktivieren, wenn der Wert für ein Datum für die Unterscheidung eines Intents zur Prüfung vergangener Urlaubssalden von einem Intent zur Prüfung zukünftiger Urlaubssalden von zentraler Bedeutung ist. Wenn diese Intents datumsunabhängig wären, würde das Modell Vergangenheit und Gegenwart ignorieren und die Eingabe nicht korrekt auflösen.
Beispiel-Intents Verknüpfte Entity Trainingsäußerungen Value Agnostic aktivieren?
Kontostand DATE
  • Können Sie mir meinen Kontostand gestern mitteilen?
  • Wie viel Geld habe ich bei der Überprüfung?
  • Wie hoch war mein Saldo am 5. Oktober?
  • Wie hoch war mein Kreditkartensaldo letzte Woche?
  • Wie hoch ist mein Banksaldo heute?
  • Wie hoch war mein Sparkontosaldo am 5/3?
Ja - Die spezifischen Datumswerte signalisieren das Intent nicht. Die verschiedenen Datumswerte in diesen Äußerungen können ignoriert werden, da ein Benutzer an jedem Tag nach einem Kontosaldo fragen kann.
Feiertagsgeschäft - Stunden DATE
  • Sind Sie am 1. Januar geöffnet?
  • Sind Sie am Danke offen?
  • Stunden für Neujahr
  • Wie lauten die Öffnungszeiten für den 4. Juli?
  • Wie sind Ihre Urlaubszeiten?
  • Sind Sie am Weihnachten offen?
Nein - Die Intent-Klassifizierung basiert auf einer bestimmten (und begrenzten) Gruppe von Werten, und Benutzer fragen nach Feiertagen.
  • Vergangenen Urlaubssaldo prüfen
  • Zukünftigen Urlaubssaldo prüfen
DATE
  • Vergangenen Urlaubssaldo prüfen
    • Habe ich im letzten Monat Freizeit genommen?
  • Zukünftigen Urlaubssaldo prüfen
    • Haben Sie einen geplanten Urlaub im nächsten Monat?
Nein - Deaktivieren Sie Wert-Agnostisch für beide Intents. Agnostische DATE-Werte würden in diesem Fall bedeuten, dass das Modell einen Wert nicht als Vergangenheit oder Zukunft betrachten würde. Ein Wert für "Letzter Monat", der das Intent "Letzten Urlaubssaldo prüfen" signalisieren soll, wird ignoriert. Infolgedessen kann eine ähnlich formulierte Eingabe wie "Habe ich nächsten Monat eine Auszeit genommen" falsch für dieses Intent aufgelöst werden.

Intents aus einer CSV-Datei importieren

Sie können Ihre Intents manuell hinzufügen oder aus einer CSV-Datei importieren. Sie können diese Datei aus einer CSV-Datei mit exportierten Intents erstellen, oder indem Sie sie ganz neu in einem Tabellenkalkulationsprogramm oder einer Textdatei erstellen.

Die CSV-Datei enthält sechs Spalten für Skills, die den Modus für nativ unterstützte Sprachen verwenden, und fünf Spalten für die anderen Skills. Die Spaltennamen und ihre Bedeutung:

  • query: Eine Beispieläußerung.
  • topIntent: Das Intent, mit dem die Äußerung abgeglichen werden soll.
  • conversationName: Der Name der Unterhaltung für das Intent.
  • answer: Die statische Antwort für Antwort-Intents.
  • enabled: Bei true ist das Intent im Skill aktiviert.
  • nativeLanguageTag: (Nur für Skills mit nativer Sprachunterstützung) Die Sprache der Äußerung. Verwenden Sie als Werte aus zwei Zeichen bestehende Sprachtags (fr, en usw.).
    • Bei Skills mit der nativen Sprachunterstützung von Digital Assistant ist diese Spalte erforderlich.
    • Bei Skills ohne native Sprachunterstützung können Sie keine CSV-Datei importieren, die diese Spalte enthält.

Im Folgenden finden Sie einen Auszug aus einer CSV-Datei für einen Skill, der keine native Sprachunterstützung hat und keine Antwort-Intents verwendet.

query,topIntent,conversationName,answer,enabled
I want to order a pizza,OrderPizza,Order a Pizza.,,true
I want a pizza,OrderPizza,Order a Pizza.,,true
I want a pizaa,OrderPizza,Order a Pizza.,,true
I want a pizzaz,OrderPizza,Order a Pizza.,,true
I'm hungry,OrderPizza,Order a Pizza.,,true
Make me a pizza,OrderPizza,Order a Pizza.,,true
I feel like eating a pizza,OrderPizza,Order a Pizza.,,true
Gimme a pie,OrderPizza,Order a Pizza.,,true
Give me a pizza,OrderPizza,Order a Pizza.,,true
pizza I want,OrderPizza,Order a Pizza.,,true
I do not want to order a pizza,CancelPizza,Cancel your order.,,true
I do not want this,CancelPizza,Cancel your order.,,true
I don't want to order this pizza,CancelPizza,Cancel your order.,,true
Cancel this order,CancelPizza,Cancel your order.,,true
Can I cancel this order?,CancelPizza,Cancel your order.,,true
Cancel my pizza,CancelPizza,Cancel your order.,,true
Cancel my pizaa,CancelPizza,Cancel your order.,,true
Cancel my pizzaz,CancelPizza,Cancel your order.,,true
I'm not hungry anymore,CancelPizza,Cancel your order.,,true
don't cancel my pizza,unresolvedIntent,unresolvedIntent,,true
Why is a cheese pizza called Margherita,unresolvedIntent,unresolvedIntent,,true

Im Folgenden finden Sie einen Auszug aus einer CSV-Datei für einen Skill mit nativer Sprachunterstützung, der Antwort-Intents verwendet.

query,topIntent,conversationName,answer,enabled,nativeLanguageTag
Do you sell pasta,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez-vous des salades,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,fr
do you sell burgers,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Do you sell salads,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez des hamburgers,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,true,fr

So importieren Sie eine CSV-Datei:

  1. Klicken Sie in der linken Navigationsleiste auf Intents (Dieses Bild zeigt das Symbol "Intent".).

  2. Klicken Sie auf Mehr, und wählen Sie Intents importieren aus.
    Beschreibung von import-intents.png folgt
    Beschreibung der Abbildung import-intents.png

  3. Wählen Sie die CSV-Datei aus, und klicken Sie auf Öffnen.

  4. Trainieren Sie Ihren Skill.

Intents in eine CSV-Datei exportieren

Sie können Ihr Trainingskorpus erneut verwenden, indem Sie es in eine CSV-Datei exportieren. Dann können Sie diese Datei in einen anderen Skill importieren.

So exportieren Sie Ihre Intents und deren Äußerungen:
  1. Klicken Sie in der linken Navigationsleiste auf Intents Dieses Bild zeigt das Symbol "Intent"..

  2. Klicken Sie auf Mehr, und wählen Sie Intents exportieren aus.
    Beschreibung von export-corpus.png folgt
    Beschreibung der Abbildung export-corpus.png

  3. Speichern Sie die Datei. Diese Datei enthält die folgenden Spalten, die unter Intents aus einer CSV-Datei importieren beschrieben werden:
    query, topIntent, conversationName, answer, enabled, nativeLanguageTag

Welches Trainingsmodell sollte ich verwenden?

Wir stellen zwei Trainingsmodelle bereit, die die Erkenntnisfähigkeit Ihres Skills trainieren: Trainer Tm und Trainer Ht. Sie können eines der Modelle verwenden, die jeweils einen anderen Ansatz für maschinelles Lernen verfolgen. Im Allgemeinen trainieren Sie Ihren Skill mit Trainer Tm, bevor Sie Ihre Skills in Produktion nehmen. Wegen seiner kürzeren Trainingszeit können Sie Ht für die Prototyperstellung oder für Skills verwenden.
Hinweis

Sie können Trainer Ht nicht für Skills verwenden, die Antwort-Intents oder native Sprachunterstützung nutzen oder eine große Anzahl von Intents aufweisen. Verwenden Sie Trainer Tm für diese Skills.
Trainer Ht ist das Standardmodell. Sie können dies jedoch ändern, indem Sie auf Einstellungen > Allgemein klicken und dann ein anderes Modell in der Liste auswählen. Das Standardmodell wird in der Kachel im Skillkatalog angezeigt.

Trainer Tm

Trainer Tm (Tm) erreicht eine sehr genaue Intent-Klassifizierung, selbst wenn ein Skill über Hunderte oder gar Tausende von Intents verfügt. Obwohl die Intents in diesen großen Datasets oft eng miteinander verbunden und manchmal in der Menge der Äußerungen "unausgewogen" sind, kann Tm sie dennoch voneinander unterscheiden. In der Regel wenden Sie Tm auf alle Skills an, bevor Sie diese in Produktion nehmen.
Hinweis

Wenn Sie mit Trainer Tm trainieren, können Sie auch den Bericht "Ähnliche Äußerungen" verwenden.

Sie müssen Ihre Trainingsdaten nicht mit Äußerungen auffüllen, die auf Groß-/Kleinschreibung (Tm erkennt beispielsweise BlacK Friday als Black Friday), Satzzeichen, ähnliche Verben und Substantive oder Rechtschreibfehler eingehen. Im letzteren Fall verwendet Trainer Tm Kontext, um eine Wortgruppe aufzulösen, auch wenn ein Benutzer ein Schlüsselwort falsch eingibt. Im Folgenden finden Sie einige allgemeine Richtlinien zum Erstellen eines Schulungskorpus, wenn Sie Ihren Skill mit diesem Modell entwickeln.

Trainer Tm verbessert die Erkenntnisfähigkeit des Skills folgendermaßen:
  • Durch Erkennen des irrelevanten Inhalts. Beispiel: Ich bin wirklich begeistert von den kommenden Black-Friday-Angeboten und kann die Angebote kaum abwarten. Können Sie mir sagen, was an Black Friday im Sonderangebot sein wird? Trainer Tm reagiert darauf mit folgenden Aktionen:
    • Verwirft den überflüssigen Inhalt (Ich bin wirklich begeistert von den kommenden Black-Friday-Angeboten...)
    • Löst die relevanten Inhalte (Können Sie mir sagen, was an Black Friday im Sonderangebot sein wird?) als ein Intent auf. In diesem Fall handelt es sich um ein Intent namens "Black-Friday-Angebote".
    Trainer Tm kann zwischen relevanten und irrelevanten Inhalten in einer Nachricht selbst dann unterscheiden, wenn irrelevante Inhalte potenziell als ein Intent aufgelöst werden können. Ich habe den neuen 80-Zoll-TV am Black Friday für 2200 Euro gekauft, aber jetzt sehe ich, dass der gleiche Fernseher online für 2100 Euro verfügbar ist. Bieten Sie eine Vergleichspreisübernahme an? Diese Eingabe kann beispielsweise mit dem Intent "Black-Friday-Angebote" und einem Vergleichspreisübernahme-Intent abgeglichen werden, das für diese Nachricht geeignet ist. In diesem Fall reagiert Trainer Tm mit folgenden Aktionen:
    • Erkennt die Eingabe Ich habe den neuen 80-Zoll-TV am Black Friday für 2200 Euro gekauft, aber jetzt sehe ich, dass der gleiche Fernseher online für 2100 Euro verfügbar ist als überflüssigen Inhalt.
    • Löst die Eingabe Bieten Sie eine Vergleichspreisübernahme an? auf.
  • Intents auflösen, wenn ein einzelnes Wort oder ein Name mit einer Entity übereinstimmt. Beispiel: Trainer Tm kann eine Nachricht, die nur aus Black Friday besteht, als ein Intent auflösen, das einer Entity für Black Friday zugeordnet ist.
  • Durch Unterscheidung zwischen ähnlichen Äußerungen (Stornieren Sie meine Bestellung im Gegensatz zu Warum haben Sie meine Bestellung storniert?).
  • Durch Erkennen von Äußerungen, die außerhalb des normalen Geltungsbereichs liegen. Beispiel: Zeigen Sie mir Pizzarezepte oder Wie viele Kalorien in einer Metzgerpizza bei einem Skill, der lediglich zur Erfüllung einer Pizzabestellung und zu nichts anderem dient.
  • Erkennen von Äußerungen, die außerhalb der Domain liegen. Beispiel: Wie ist das Wetter heute für einen Skill zum Bestellen von Pizza.

    Tipp:

    Während Trainer Tm leicht unterscheiden kann, wann eine Benutzernachricht nicht klassifizierbar ist, weil sie eindeutig von den Trainingsdaten verschieden ist, möchten Sie möglicherweise dennoch eine unresolvedIntent mit Äußerungen definieren, die die Ausdrücke darstellen, die Sie sicherstellen möchten, dass sie nicht in die Intents Ihres Skills aufgelöst werden. Diese Wortgruppen können innerhalb der Domain Ihres Skills, jedoch außerhalb des Geltungsbereichs liegen, obwohl sie möglicherweise einige der gleichen Wörter wie die Trainingsdaten aufweisen. Beispiel: Ich möchte ein Auto bestellen für einen Pizzaskill, der unter anderem trainiert wurde mit Ich möchte eine Pizza bestellen.
  • Durch Unterscheidung zwischen ähnlichen Entitys. Beispiel: Tm erkennt, dass im Kontext eines Intents mit dem Namen "Sign Up for Email Deals" die Entity "Mail" (hier: Post) nicht identisch ist mit "E-Mail" (hier: elektronische Post). Da es erkennt, dass eine Entity, die "regular mail" genannt wird, außerhalb des Geltungsbereichs läge, würde es die Wortgruppe I want to sign up for deals through regular mail mit einer niedrigeren Konfidenz auflösen als die Aussage I want to sign up for email deals.

Trainer Ht

Trainer Ht ist das standardmäßige Trainingsmodell. Das Modul benötigt nur ein kleines Trainingskorpus. Verwenden Sie den Trainer bei der Entwicklung der Entitys, Intents und des Trainingskorpus. Wenn das Trainingskorpus so weit ausgereift ist, dass die Tests eine hochpräzise Intent-Auflösung ergeben, können Sie die Erkenntnisfähigkeit Ihres Skills vertiefen, indem Sie Trainer Tm trainieren.

Sie können ein allgemeines Verständnis dafür erhalten, wie Trainer Ht Intents nur aus dem Trainingskorpus selbst auflöst. Der Trainer bildet Abgleichsregeln aus den Beispielsätzen, indem er Teile der Sprache und Entitys (sowohl benutzerdefiniert als auch integriert) taggt, und indem er Wörter ermittelt, die im Kontext des Intents dieselbe Bedeutung haben. Beispiel: Wenn ein Intent mit dem Namen SendMoney sowohl 500 $ an Mutter senden als auch Cleo 500 $ zahlen enthält, interpretiert Trainer Ht zahlen als Äquivalent zu senden. Nach dem Training reduziert das Tagging von Trainer Ht diese Sätze auf Vorlagen (Geld an Person senden, Person Geld zahlen), die der Trainer auf Benutzereingaben anwendet.

Da sich Trainer Ht auf die von Ihnen bereitgestellten Sätze stützt, können Sie sein Verhalten vorhersagen: Er wird sehr genau sein, wenn er mit Sätzen getestet wird, die denen ähnlich sind, aus denen sich das Trainingskorpus zusammensetzt (sozusagen die Benutzereingabe, die den Regeln folgt), aber er wird möglicherweise weniger gut abschneiden, wenn er mit esoterischen Benutzereingaben konfrontiert wird.

Trainingskorpus erstellen

Wenn Sie ein Intent definieren, geben Sie ihm zunächst einen Namen, der eine Benutzeraktion veranschaulicht, und stellen Sie dann eine Reihe von realen Benutzeraussagen oder Äußerungen zusammen. Zusammen bilden Ihre Intents und die zugehörigen Äußerungen ein Trainingskorpus. Mit dem Begriff Korpus werden alle Intents und Beispielwortgruppen zusammengefasst, die Sie sich ausgedacht haben, um einen Skill "intelligent zu machen". Das Korpus ist der Schlüssel zur Intelligenz Ihres Skills. Indem Sie ein Modell mit Ihrem Korpus trainieren, wird aus diesem Modell im Wesentlichen ein Referenzwerkzeug zur Auflösung von Benutzereingaben in ein einziges Intent. Da Ihr Trainingskorpus letztlich die Schlüsselrolle bei der Entscheidung spielt, welche Route die Unterhaltung zwischen Skill und Mensch nehmen wird, müssen Sie Ihre Worte beim Aufbau des Korpus sorgfältig auswählen.

Im Allgemeinen erhöht ein umfangreiches und vielfältiges Set von Beispielwortgruppen die Fähigkeit eines Modells, Intents genau aufzulösen. Der Aufbau eines robusten Trainingskorpus erfordert zunächst jedoch nicht nur gut ausgearbeitete Beispielwortgruppen, sondern vor allem klar umrissene Intents. Sie sollten nicht nur Ihren Anwendungsfall klar wiedergeben, sondern auch ihre Beziehung zu ihren Beispielsätzen sollte ebenso klar sein. Wenn Sie sich nicht sicher sind, wo ein Beispielsatz hingehört, unterscheiden sich Ihre Intents nicht voneinander.

Wahrscheinlich haben Sie beim Erstellen Ihrer Intents Beispieläußerungen im Sinn, aber Sie können sie mithilfe der folgenden Richtlinien noch erweitern.

Richtlinien für Trainer Tm

  • Verwenden Sie einen Mindestkonfidenzschwellenwert von 0,7 für Skills, die Sie in Produktion nehmen möchten.
  • Verwenden Sie aussagekräftige Benennungskonventionen für Ihre Intent-Namen, damit Sie die zugehörigen Intents leicht prüfen können.
  • Erstellen Sie in der Regel mindestens 80 bis 100 Äußerungen für jedes Intent. Gemäß den Größen- und Ausprägungsrichtlinien des Corpus beträgt die Mindestanzahl (durch nicht empfohlene) Äußerungen für ein Intent zwei. Die Gesamtanzahl der Äußerungen im Trainingsset darf 25.000 nicht überschreiten.
  • Verwenden Sie, wenn möglich, unverfälschte Wortgruppen aus der realen Welt, die Folgendes umfassen:
    • Umgangssprache
    • Standardabkürzungen, die ein Benutzer eingeben kann (Beispiel: "SV" für "Schlussverkauf")
    • Nicht-Standardnamen, wie z.B. Produktnamen
    • Rechtschreibvarianten (z.B. "Cheque" und "Scheck")
    Wenn Sie keine tatsächlichen Daten haben, fügen Sie diese in Ihre eigenen Trainingsdaten ein. Nachfolgend finden Sie einige Hinweise:
    • Erstellen Sie vollständig ausformulierte Sätze, die sowohl die Aktion als auch die Entity erwähnen, für die die Aktion ausgeführt wird.
    • Versuchen Sie, die Länge der Äußerung zwischen 3 und 30 Wörtern zu halten. Äußerungen, die zu kurz und ohne Kontext sind, können dazu führen, dass das Modell auf unvorhersehbare Weise verallgemeinert wird. Äußerungen, die zu lang sind, können verhindern, dass das Modell die entsprechenden Wörter und Sätze identifiziert. Es kann jedoch Ausnahmen für Äußerungen mit einem oder zwei Wörtern geben, wenn sie häufig verwendet werden. Wenn Sie Zwei-Wort-Nachrichten wie Produkt bestellen, Preis prüfen, Mitglied werden oder Internationaler Versand erwarten, die sowohl die Entity als auch die Aktion angeben, fügen Sie sie zu Ihren Trainingsdaten hinzu. Stellen Sie sicher, dass Ihre Beispielwortgruppen sowohl eine Aktion als auch eine Entity enthalten.
    • Seien Sie spezifisch. Beispiel: Was ist die Telefonnummer Ihrer Filiale? ist besser als Was ist Ihre Telefonnummer? Dadurch kann Trainer Tm nämlich eine Telefonnummer mit einer Filiale verknüpfen. In Folge dieses Lernprozesses wird Was ist die Telefonnummer Ihrer Mutter? mit einem niedrigeren Konfidenzscore aufgelöst.
    • Trainer Tm erkennt zwar Äußerungen außerhalb des Geltungsbereichs, doch können Sie die Konfidenz und Genauigkeit noch verbessern, indem Sie ein unresolvedIntent für Äußerungen erstellen, die sich in der Domain befinden, aber dennoch außerhalb des Geltungsbereichs für die Intents des Skills liegen. Dadurch kann Trainer Tm die Grenzen von Domain-Intents lernen. Sie können ein unresolvedIntent für Wortgruppen definieren, die nicht als Intents Ihres Skills aufgelöst werden sollen. Möglicherweise möchten Sie nur dann ein unresolvedIntent definieren, wenn Benutzernachrichten als Intents eines Skills aufgelöst wurden, selbst wenn sie auf keine der Intents zutreffen.
    • Variieren Sie die Wörter und Wortgruppen, die den maßgeblichen Inhalt umgeben, so weit wie möglich. Beispiel: "Ich möchte bitte eine Pizza", "Können Sie mir eine Pizza besorgen?", "Eine Pizza bitte".
    • Folgende Vorgehensweisen sind zu vermeiden:
      • Verknüpfen Sie ein einzelnes Wort oder eine einzelne Wortgruppe nicht mit einem bestimmten Intent, es sei denn, dieses Wort oder diese Wortgruppe gibt das Intent an. Wiederholte Wortgruppen können die Intent-Auflösung verzerren. Beispiel: Wenn Sie jede OrderPizza-Äußerung mit "Ich möchte…" beginnen und jedes ShowMenu-Intent mit "Können Sie mir helfen…", wird möglicherweise die Wahrscheinlichkeit erhöht, dass das Modell alle Benutzereingaben, die mit "Können Sie mir helfen" beginnen, als OrderPizza und alle "Ich möchte"-Eingaben als ShowMenu auflöst.
      • Ein hohes Vorkommen von Ein-Wort-Äußerungen in Ihren Intents. Ein-Wort-Äußerungen sind eine Ausnahme. Verwenden Sie sie sparsam, wenn überhaupt.
      • Offene Äußerungen, die ebenso gut auf andere Domains oder Themen aus anderen Domains zutreffen können.
      • Ihr Korpus muss nicht dieselbe Äußerung mit unterschiedlicher Groß- und Kleinschreibung oder mit verschiedenen Wortformen wiederholen, die dasselbe Lemma haben. Da Trainer Tm beispielsweise zwischen Management, managen und Manager unterscheiden kann, unterscheidet das Modul nicht nur zwischen "Wen managt Sam?" und "Wer ist der Manager von Sam?", sondern versteht auch, dass diese Wörter miteinander verwandt sind.
        Hinweis

        Sie könnten versucht sein, Rechtschreibfehler von Wörtern hinzuzufügen. Bevor Sie dies jedoch tun, verwenden Sie diese Rechtschreibfehler im Äußerungstester, um zu sehen, ob das Modell sie erkennt. Sie werden überrascht sein, wie gut sie damit umgehen. Indem Sie keine Rechtschreibfehler hinzufügen, laufen Sie auch weniger Gefahr, Ihr Modell auf unerwartete Weise zu verzerren.
  • Testfälle erstellen, um die Integrität der Intent-Auflösung sicherzustellen.
  • Führen Sie den Überblicksbericht für die Skillqualität aus, um ein ausgeglichenes Trainingsset zu verwalten. Führen Sie auch den Anomaliebericht aus, um auf falsch klassifizierte oder ungewöhnliche Äußerungen zu prüfen.
  • Wenn Sie Ihren Skill bereitstellen, können Sie die Trainingsdaten wie folgt kontinuierlich verbessern:
    • Prüfen Sie die Unterhaltungslogs, Zusammenfassungen aller Unterhaltungen, die in einem bestimmten Zeitraum aufgetreten sind. Sie aktivieren das Logging, indem Sie unter "Einstellungen" die Option Insights aktivieren aktivieren.
    • Führen Sie Skillqualitätsberichte aus, und weisen Sie Ihren Intents mit dem Insights Retrainer tatsächliche Benutzermeldungen (neu) zu. Wenn diese Berichte angeben, dass unresolvedIntent viele falsch klassifizierte Äußerungen innerhalb der Domain-Intents enthält:
      • Verschieben Sie die Äußerungen, die im Geltungsbereich liegen, von unresolvedIntent in die Domain-Intents.
      • Verschieben Sie die Äußerungen, die außerhalb des Geltungsbereichs liegen, von den Domain-Intents in unresolvedIntent.

Richtlinien für Trainer Ht

Erstellen Sie nach Möglichkeit 12 bis 24 Beispielwortgruppen pro Intent. Verwenden Sie unverfälschte Wortgruppen aus der realen Welt, die Folgendes umfassen:
  • Umgangssprache
  • Häufige Fehler
  • Standardabkürzungen, die ein Benutzer eingeben kann (Beispiel: "SV" für "Schlussverkauf")
  • Nicht-Standardnamen, wie z.B. Produktnamen
  • Rechtschreibvarianten (z.B. "Cheque" und "Scheck")
Wenn Sie keine tatsächlichen Daten haben, fügen Sie diese in Ihre eigenen Trainingsdaten ein. Nachfolgend finden Sie einige Hinweise:
  • Variieren Sie das Vokabular und die Satzstruktur in diesen Startphrasen durch eine oder zwei Permutationen:
    • Slangwörter (Kohle, Knete, Moneten)

    • Standardabkürzungen, die ein Benutzer eingeben kann (Beispiel: "SV" für "Schlussverkauf")
    • Nicht-Standardnamen, wie z.B. Produktnamen
    • Allgemeine Ausdrücke (Bin ich pleite? für ein Intent mit der Bezeichnung AccountBalance)

    • Alternative Formulierungen (Bargeld auf Sparkonto überweisen, Betrag auf Sparkonto überweisen, Geld auf Sparkonto überweisen, Bargeld an Sparkonto senden)

    • Unterschiedliche Kategorien von Objekten (Ich möchte eine Pizza bestellen, Ich möchte etwas zu essen bestellen)

    • Alternative Schreibweisen (Scheck, Cheque)

    • Häufige Rechtschreibfehler ("Unternemen" für "Unternehmen")

    • Ungewöhnliche Wortreihenfolge (Auf Girokonto, 20 $ überweisen)

  • Verwenden Sie verschiedene Konzepte, um dasselbe Intent auszudrücken, wie Ich habe Hunger und Backe mir eine Pizza
  • Verknüpfen Sie ein einzelnes Wort oder eine einzelne Wortgruppe nicht mit einem bestimmten Intent, es sei denn, dieses Wort oder diese Wortgruppe gibt das Intent an. Wiederholte Wortgruppen können die Intent-Auflösung verzerren. Beispiel: Wenn Sie jede OrderPizza-Äußerung mit "Ich möchte…" beginnen und jedes ShowMenu-Intent mit "Können Sie mir helfen…", wird möglicherweise die Wahrscheinlichkeit erhöht, dass das Modell alle Benutzereingaben, die mit "Ich möchte" beginnen, als OrderPizza und alle "Können Sie mir helfen"-Eingaben als ShowMenu auflöst.
  • Vermeiden Sie Satzfragmente und einzelne Wörter. Verwenden Sie stattdessen vollständige Sätze (die maximal 255 Zeichen umfassen dürfen), die die Aktion und die Entity enthalten. Wenn Sie einzelne Schlüsselwortbeispiele verwenden müssen, wählen Sie diese sorgfältig aus.

  • Erstellen Sie Testfälle, um die Integrität der Intent-Auflösung sicherzustellen. Da das Hinzufügen neuer Intent-Beispiele zu Verschlechterungen führen kann, könnten Sie am Ende mehrere Testwortgruppen hinzufügen, um das Intent-Auflösungsverhalten zu stabilisieren.

Limits für Ausprägung und Größe von Trainingsdaten

In Bezug auf Trainingsdaten und Form sind hier die Grenzen für die Anzahl der Intents und Äußerungen aufgeführt.

Absichten:

  • Mindestanzahl Intents pro Skill: 2
  • Maximale Anzahl Intents pro Skill: 2.500

Äußerungen:

  • Maximale Anzahl Äußerungen pro Skill: 25.000
  • Mindestanzahl Äußerungen pro Intent: 2
  • Wortlänge der Äußerung: Zwischen 3 und 30 Wörtern. Gemäß den Richtlinien für Trainer Tm gibt es Ausnahmen, bei denen Äußerungen mit einem oder zwei Wörtern geeignet sein können, wenn sie häufig verwendet werden.
Hinweis

Dies sind technische Limits, keine Empfehlungen. Praktische Empfehlungen zur Gestaltung Ihrer Fähigkeiten und zur Bereitstellung robuster Trainingsdaten finden Sie unter Richtlinien für Trainer Tm.

Intent-Daten exportieren

Um Unterhaltungen zu protokollieren, aktivieren Sie unter Einstellungen > Allgemein die Option Insights aktivieren, bevor Sie die Intents testen.

So exportieren Sie Daten für einen Skill:
  1. Klicken Sie auf Symbol zum Öffnen des Seitenmenüs, um das Seitenmenü zu öffnen, und wählen Sie Entwicklung > Skills aus.
  2. Klicken Sie in der Kachel für den Skill auf Symbol zum Öffnen des Menüs "Optionen", und wählen Sie Unterhaltungen exportieren aus.
  3. Wählen Sie Intent-Unterhaltungslog aus, legen Sie die Loggingperiode fest, und klicken Sie auf Exportieren.
  4. Prüfen Sie die Benutzereingabe, indem Sie die CSV-Dateien in einem Tabellenkalkulationsprogramm öffnen.