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
- 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
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 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.
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.