Benutzerdefinierte Entitys

Sie können benutzerdefinierte Entitys erstellen, um Informationen aus Benutzereingaben zu extrahieren, die für die Anwendungsfälle Ihrer Skills spezifisch sind.

Da die integrierten Entitys allgemeine Informationen extrahieren, können sie in einer Vielzahl von Bots verwendet werden. Benutzerdefinierte Entitys hingegen verfügen über einen engeren Anwendungsbereich. Wie die FinancialBot-Entity AccountType, die verschiedene Banktransaktionen ermöglicht, indem die Benutzereingabe auf Schlüsselwörter wie Giro, Sparen und Kreditkarten geprüft wird, sind sie an die vom Bot ausgeführten Aktionen angepasst.

Mischentity

Eine Mischentity ist eine Gruppierung verwandter Entitys, die als eine Einheit in einer Unterhaltung behandelt werden können. Die Verwendung von Mischentitys ermöglicht es einem Skill, Werte für mehrere Entitys in einer Benutzeräußerung zu extrahieren, sodass eine Unterhaltung natürlicher fließen kann. Sie sollten diese Gruppen von zugehörigen Entitys, die häufig eindeutige Geschäftsbereiche widerspiegeln, frühzeitig beim Entwurf des Skills identifizieren und Mischentitys für sie erstellen.

Beispiel: Eine Mischentity für eine Pizza kann Entitys für Typ, Größe, Rand und zusätzliche Beläge enthalten. Wenn ein Benutzer "Ich möchte eine große Pepperoni-Pizza mit glutenfreiem Rand" eingibt, könnte der Skill "groß", "Pepperoni" und "glutenfrei" aus dieser Eingabe extrahieren. Dann muss er den Benutzer nicht auffordern, diese Werte einzeln einzugeben.

Sie können die Mischentity so konfigurieren, dass einzelne Komponenten unterschiedlich aufgelöst werden: Sie können auch zur Eingabe einzelner Entitywerte auffordern, wenn sie nicht in der Benutzereingabe vorhanden sind, oder den von einer Entity extrahierten Wert verwenden, um eine zweite Entity aufzulösen.

Mischentitys können auch andere Typen von Elementen umfassen, z.B. solche, die den Standort speichern und Freitext und Anhänge akzeptieren.

Mit Composite Bag-Entitys können Sie wesentlich kürzere, kompaktere Dialogablaufdefinitionen schreiben, da diese mit nur einer Komponente aufgelöst werden können. Einzelheiten zum Erstellen und Konfigurieren von Composite Bags finden Sie unter Composite Bag-Entitys konfigurieren.

ML-Entitys

Eine ML-(Machine Learning-)Entity verwendet ein Modell, um die Entitywerte in einer Benutzernachricht zu identifizieren. Sie erstellen dieses Modell aus dem Training von Äußerungen mit Anmerkungen: beschrifteter Text, der einer Entity entspricht. In den folgenden Äußerungen können Flo's und SFO für eine Entität mit Anmerkungen versehen werden, die Lieferanten für einen Skill für Spesenabrechnungen identifiziert:
  • Erstattet mir 100 US-Dollar für das Abendessen bei Flo's
  • SFO hat am 25. Mai 2,75 US-Dollar für Parkplätze in Rechnung gestellt
Sie können zunächst Ihre eigenen kommentierten Äußerungen angeben. Sie können die Trainingsdaten jedoch per Bulkvorgang aggregieren, indem Sie Entityanmerkungsjobs über Data Manufacturing beziehen. Nachdem Sie die Entity trainiert haben, kann sie den Kontext einer Nachricht interpretieren und Entitywerte verallgemeinern. Dieser flexible "Fill-in-the-Blanks"-Ansatz ermöglicht es einer ML-Entität, Werte zu erkennen, auch wenn sie nicht im Trainingsset enthalten sind.

Da das Antizipieren des Formats oder Wortlauts von Benutzernachrichten eine Herausforderung darstellt, insbesondere bei mehrsprachigen Skills, sollten Sie anstelle der weniger flexiblen Entitäten "Werteliste" und "Regulärer Ausdruck" eine ML-Entity verwenden. Trotz Fuzzy Matching können Wertelistenentitäten (sowohl statische als auch dynamische) Entitywerte oft nur erkennen, wenn sie ihren Werten oder Synonymen entsprechen. "Informatiker" stimmt beispielsweise nicht mit "Informatik" überein. Entitys für reguläre Ausdrücke beschränken die Benutzereingabe auf den Abgleich eines vordefinierten Musters oder auf den Wortlaut, der einem Entitywert folgt oder fortschreitet. ML-Entitäten hingegen sind anpassungsfähig und können durch robuste Trainingsdaten besser gemacht werden.

Werteliste - Entitys

Eine Entity, die auf einer Liste mit vordefinierten Werten basiert, wie Menüoptionen, die von einer Komponente "Allgemeine Antwort" ausgegeben werden. Sie können die Fähigkeit der Entity zum Extrahieren von Benutzereingaben optimieren, indem Sie Synonyme definieren. Diese können Abkürzungen, umgangssprachliche Begriffe und häufige Rechtschreibfehler umfassen. Bei Synonymwerten muss die Groß-/Kleinschreibung nicht beachtet werden: USA und usa werden beispielsweise als derselbe Wert betrachtet.

Dynamische Entitys

Dynamische Entitys sind Entitys, deren Werte selbst nach der Veröffentlichung eines Skills aktualisiert werden können.
Hinweis

Dynamische Entitys werden nur auf Instanzen von Oracle Digital Assistant unterstützt, die auf Oracle Cloud Infrastructure bereitgestellt wurden (auch als Cloud-Infrastruktur der 2. Generation bezeichnet). Wenn Ihre Instanz auf Oracle Cloud Platform bereitgestellt ist (wie alle Instanzen der Version 19.4.1), können Sie dieses Feature nicht verwenden.
Dynamische Entitys sind wie Wertelistenentitys Enum-Typen. Dynamische Entitys unterscheiden sich jedoch insoweit von Wertelistenentitys, dass ihre Werte nicht statisch sind. Sie können sich häufig ändern. Da dynamische Entitys zudem Tausende von Werten und Synonymen enthalten können, werden die Werte in der Regel nicht in der UI verwaltet. Sie werden stattdessen von der API für dynamische Entitys verwaltet (siehe REST-API für Oracle Digital Assistant).
Hinweis

Verbesserte Sprachmodelle, die für dynamische Entitywerte erstellt wurden, werden derzeit nur trainiert, nachdem eine abgeschlossene Push-Anforderung von der API für dynamische Entitys erstellt wurde. Wenn Sie also dynamische Entitywerte über die UI ändern, wird die Änderung nach dem Nachtrainieren des Skills nicht in die erweiterten Sprachmodelle aufgenommen. Die Änderungen können erst nach der nächsten Aktualisierung über die API aufgenommen werden. Um die Änderungen beizubehalten, muss der Parameter copy der Anforderung auf TRUE gesetzt sein.

Regulärer Ausdruck

Löst eine Entity mit einem regulären Ausdruck (regex) auf, wie (?<=one\s).*(?=\sthree). Mit regulären Ausdrücken kann Ihr Skill vordefinierte Muster in Benutzereingaben identifizieren, wie Ticketnummern. Im Gegensatz zu den anderen Entitytypen verwenden regex-basierte Entitys kein NLP, da der Abgleich streng musterbasiert ist.

Entityliste

Eine Obermenge von Entitys. Bei einem Reiseskill können Sie beispielsweise die bereits definierten Entitys, mit denen Werte wie Flughafencodes, Städte und Flughafennamen extrahiert werden, zu einer einzige Entity mit dem Namen Destination zusammenfassen. So kann Ihr Skill auf Benutzereingaben antworten, die abwechselnd Flughafencodes, Flughafennamen und Städte enthalten. Wenn ein Benutzer also "Ich möchte von JFK nach San Francisco" eingibt, erkennt die Entity Destination den Abflugsort mithilfe der Flughafencodeentitys und das Reiseziel mit der Städteentity.

Abgeleitet von

Eine abgeleitete Entity ist die untergeordnete Entity einer integrierten Entity oder einer anderen definierten Entity. Diese Beziehung basiert auf Präpositionalphrasen ("nach" und "von" in Äußerungen wie Ich möchte von Boston nach Dallas oder Überweise Geld von Giro nach Sparen). Abgeleitete Entitys dürfen keine übergeordneten Entitys sein. Da die NLU-Engine nur abgeleitete Entitys ermittelt, nachdem alle anderen Entitytypen ermittelt wurden, können Sie keine abgeleiteten Entitys als Elemente zu einer Entityliste hinzufügen.