Entitäten
Entitäten sind vordefinierte oder benutzerdefinierte Datenelemente, die bestimmte Informationen aus einer Nutzereingabe automatisch extrahieren.
Wo finde ich Entitäten?
AI Agent → Entwicklung → Entitäten
In der Übersicht sind alle Entitäten mit Name, Typ (Benutzerdefiniert / Built-In) und Änderungsdatum aufgelistet. Über die Filter-Tabs oben rechts ("Alle", "Benutzerdefiniert", "Built-In") kannst du die Liste nach Typ filtern, die Suche findet einzelne Entitäten per Namen. Built-In-Entitäten (z. B. URL, E-Mail, Datum) sind vom System vordefiniert, können aber deaktiviert werden.
Im Flow Builder werden eingefügte Entitäten automatisch blau hervorgehoben und mit Entitätsname (Entitäten) gekennzeichnet.
Erklärung – Was genau sind Entitäten?
Eine Entität erkennt automatisch bestimmte Informationen in der Nutzereingabe. Dabei kann eine Entität aus einer oder mehreren Komponenten bestehen. Jede Komponente legt fest, nach welcher Methode eine Entität erkannt wird. Außerdem kann für jede Komponente eingestellt werden, ob sie verpflichtend oder optional ist.
Beispiel:
Nutzer: „Meine IBAN ist DE12345678901234567890"
→ Der AI Agent erkennt die Entität IBAN mit dem Wert „DE12345678901234567890"
Arten von Entitäten-Komponenten
Reguläre-Ausdrücke-Komponente (Regex)
Reguläre Ausdrücke sind Muster, mit denen bestimmte Zeichenfolgen erkannt werden. Sie eignen sich besonders für klar strukturierte Datenformate wie IBAN, Telefonnummern oder Postleitzahlen.
Eine Regex-Komponente kann mehrere Ausdrücke enthalten. Jeder Ausdruck besteht aus drei Feldern:
Schlüssel: interner Bezeichner für den Ausdruck (z. B. zur Unterscheidung mehrerer Varianten innerhalb derselben Entität)
Sprache: die Sprache, für die der Ausdruck gilt
Regulärer Ausdruck: das eigentliche Muster
Über „Ausdruck hinzufügen" lassen sich beliebig viele Muster ergänzen – etwa um dieselbe Entität in mehreren Sprachen oder mit mehreren Schreibweisen zu erkennen.
Beispiel – Kundennummer:
Nutzer: „Meine Kundennummer lautet KD 1234 5678."
kundennummer_de
Deutsch
[Kk][Dd][ -]?[0-9]{4}[ -]?[0-9]{4}
Erklärung:
[Kk][Dd]→ Präfix „KD" ist zwingend, Groß-/Kleinschreibung wird akzeptiert[ -]?→ erlaubt optional ein Leerzeichen oder Bindestrich[0-9]{4}→ erwartet genau vier Ziffern
Positiv-Beispiele (erkannt):
KD12345678kd12345678KD 1234 5678kd-1234-5678
Negativ-Beispiele (nicht erkannt):
KD/1234/5678→ Schrägstriche nicht erlaubtK12345678→ Buchstabe „D" aus Präfix fehltKD 12345 678→ falsche Ziffernanzahl
Verwende Online-Tools wie regex101.com, um deinen Regex zu testen. Prüfe immer mit vollständigen Nutzereingaben – nicht nur mit dem isolierten Wert.
Bei Voice-Eingaben können Transkriptionen leicht variieren. Plane Toleranz für optionale Leerzeichen oder Bindestriche ein. KD[ -]? erkennt z. B. sowohl „KD1234" als auch „KD 1234" und „KD-1234".
Prebuilt-Komponente
Eine Prebuilt-Komponente ist eine bereits vorhandene, systemseitig definierte Erkennungslogik – z. B. für E-Mail-Adressen oder Prozentangaben. Diese Komponenten müssen nicht manuell konfiguriert werden. Es wird lediglich die gewünschte Prebuilt-Kategorie ausgewählt.
Listen-Komponente (Synonymlisten)
Listen bestehen aus Schlüsselwerten und Synonymen. Dadurch können verschiedene bedeutungsgleiche Begriffe auf dieselbe Entität abgebildet werden. Das ist ideal für begrenzte Wertebereiche wie Marken, Kategorien oder Produktnamen.
Eine Erkennung erfolgt nur bei exakter Übereinstimmung mit einem der definierten Synonyme. Groß- und Kleinschreibung ist dabei relevant.
Beispiel – Automarke:
Schlüssel: Volkswagen | Synonyme: VW, VW Golf, VW Polo, VAG
Nutzer: „Ich fahre einen VW Polo." → Entität Automarke erkannt → Wert: „Volkswagen"
Positiv-Beispiele (erkannt):
VW→ Wert „Volkswagen"VW Golf→ Wert „Volkswagen"VAG→ Wert „Volkswagen"
Negativ-Beispiele (nicht erkannt):
vw→ Kleinschreibung, Groß-/Kleinschreibung ist relevantvolkswagen→ nicht als Synonym definiertVW-Golf→ Bindestrich nicht als Synonym hinterlegt
Erlernt-Komponente
Die Erlernt-Komponente basiert auf trainierten Beispielen. Das Modell erkennt Entitäten anhand des Kontexts, auch wenn keine exakte Übereinstimmung mit einer Liste oder einem Regex besteht. Als Grundlage dienen markierte Entitäten aus dem Bereich Optimierung → Entitäten labeln.
Beispiel:
Trainierte Entität: Ort
Nutzer: „Ich möchte morgen nach Berlin reisen."
→ Das Modell erkennt „Berlin" als Ort – ohne explizite Hinterlegung
Die Erlernt-Komponente wird nur definiert, wenn du Äußerungen mit dieser Entität kennzeichnest (labeln). Ohne gelabelte Beispiele hat die Entität keine Erlernt-Komponente.
Verwendung – Was kann man mit Entitäten machen?
Entitäten lassen sich im Flow Builder ähnlich wie Variablen einsetzen. Sie dienen dazu, automatisch erkannte Informationen aus der letzten Nutzereingabe gezielt weiterzuverarbeiten, zu speichern oder zur Steuerung des Gesprächsflusses zu verwenden.
Entitäten werden nach jeder Nutzereingabe neu geladen. Wenn der erkannte Wert im weiteren Verlauf verwendet werden soll, muss er in einer benutzerdefinierten Variable gespeichert werden.
Kontrolle, ob eine Entität erkannt wurde
Prüfe im Flow Builder per Bedingung, ob in der letzten Nutzereingabe eine bestimmte Entität erkannt wurde:
Kundennummer (Entitäten)– nicht leer – (rechts leer lassen)IBAN (Entitäten)– ungleich (!=) –""
Nicht erkannte Entitäten haben immer den Standardwert "" (leerer String). Wird geprüft, ob eine Entität nicht leer ist, darf rechts kein Wert eingetragen werden.
Ausgabe an Nutzer
Verwende Entitäten in Nachrichten, um personalisierte Antworten zu erzeugen:
z. B. „Danke, Ihre Kundennummer
Kundennummer (Entitäten)wurde notiert."
In der Praxis verwendet man hierfür meist die benutzerdefinierte Variable, in der der Wert der Entität dauerhaft gespeichert wurde.
Zwischenspeicher – Wert in Variable speichern
Speichere erkannte Entitäten dauerhaft in Variablen, um sie später weiterzuverarbeiten. Beispielsweise wird der erkannte Wert der Entität IBAN (Entitäten) in der benutzerdefinierten Variable IBAN (Benutzerdefiniert - Kontakt) gespeichert, um ihn im weiteren Verlauf flexibel zu nutzen (siehe Abschnitt Beispiel).
Prüfe vor dem Speichern immer zuerst per Bedingung, ob die Entität erkannt wurde (nicht leer ist).
Verwaltung – Erstellung, Bearbeitung und Löschen
Entität erstellen
Navigiere zu
AI Agent → Entwicklung → EntitätenKlicke oben rechts auf „Entität erstellen"
Vergib einen aussagekräftigen Namen – dieser ist später im Variablen-Picker und im Flow Builder sichtbar
Klicke auf „Entität erstellen" – die Detailansicht öffnet sich
Klappe die gewünschten Komponenten auf und konfiguriere sie
Aktiviere bei Bedarf den Toggle „Benötigt" für eine Komponente
Klicke auf „Entität speichern"
Nach dem Erstellen muss mindestens eine Komponente hinzugefügt werden. Andernfalls kann der AI Agent nicht trainiert werden.
Entität bearbeiten
Um eine Entität zu bearbeiten, klicke in der Entitätsübersicht direkt auf die gewünschte Entität. Folgendes kann angepasst werden:
Name ändern: Eine Namensänderung wirkt sich automatisch auf alle Verwendungsstellen im Flow aus – ohne manuelle Anpassungen.
Komponenten anpassen: Alle Komponenten können frei bearbeitet werden, z. B. Listen erweitern oder Regex aktualisieren.
„Benötigt"-Status ändern: Kann nachträglich für jede Komponente angepasst werden.
Built-In-Entität deaktivieren
Built-In-Entitäten (z. B. URL, Datum, Währung) können nicht gelöscht, aber deaktiviert werden. Fahre in der Entitätsübersicht mit der Maus über die entsprechende Zeile – es erscheint der Button „Deaktivieren". Eine deaktivierte Entität wird vom Modell nicht mehr erkannt, bleibt aber in der Übersicht sichtbar (Typ-Anzeige „Deaktiviert") und kann jederzeit wieder aktiviert werden.
Entität löschen
Klicke in der Entitätsübersicht auf das Mülleimer-Symbol am rechten Ende der entsprechenden Zeile.
Prüfe vor dem Löschen, an welchen Stellen die Entität im Flow verwendet wird (z. B. in Bedingungen oder App-Modulen). Gelöschte Entitäten werden im Flow rot markiert und als Variable nicht vorhanden dargestellt.
Das Löschen einer Entität entfernt sie an allen Stellen im Flow. Das kann zu Logikfehlern führen – insbesondere wenn die Entität zuvor in Bedingungen verwendet wurde. Mögliche Folgen:
Bedingungen werten immer „falsch" aus → bestimmte Pfade sind nicht mehr erreichbar
Unerwartete Flow-Verzweigungen können entstehen
Wichtige Aktionen werden nicht mehr ausgeführt
Überprüfe nach dem Löschen den Flow auf mögliche Logikfehler und leere Felder.
Beispiel – Rufnummerabfrage bei unterdrückter Rufnummer
Wenn ein Anrufer mit unterdrückter Nummer anruft, ist die Variable Telefonnummer (Kontakt) leer. Mit einer Entität kann die Nummer erfragt und gespeichert werden.
Schritt 1 – Entität erstellen
Navigiere zu
AI Agent → Entwicklung → Entitätenund erstelle eine neue Entität „Telefonnummer"Konfiguriere die Reguläre-Ausdrücke-Komponente mit folgendem Regex:
(+49|0)[\s-]?\d{3,4}[\s-]?\d{5,8}Aktiviere den Toggle „Benötigt" und speichere die Entität
Schritt 2 – Prüfen, ob Rufnummer bekannt ist
Lege eine Bedingung an und prüfe: Telefonnummer (Kontakt) – nicht leer. Falls leer, leite den Flow in die Rückfrage weiter.
Schritt 3 – Rückfrage an Nutzer stellen
Lege einen Block mit folgender Textnachricht an:
„Ich sehe, dass Sie mit einer unterdrückten Telefonnummer anrufen. Für das weitere Vorgehen wird jedoch Ihre Rufnummer benötigt. Bitte teilen Sie mir diese nun mit."
Aktiviere außerdem die Option „Erwartet Nutzereingabe nach diesem Block".
Schritt 4 – Kontrolle, ob die Entität erkannt wurde
Lege eine Bedingung an: Telefonnummer (Entitäten) – nicht leer
Falls „Falsch": Leite den Flow zurück in eine erneute Rückfrage
Falls „Wahr": Fahre mit dem nächsten Schritt fort
Schritt 5 – Wert in Variable speichern
Lege einen neuen Block an
Füge das Element „Variable festlegen" hinzu (unter Aktionen)
Weise der benutzerdefinierten Variable
Telefonnummer (Benutzerdefiniert - Kontakt)den Wert ausTelefonnummer (Entitäten)zuDie Telefonnummer kann nun im weiteren Flow-Verlauf flexibel verwendet werden
Best Practices
Regex flexibel, aber präzise gestalten: Gestalte Regex nicht zu restriktiv – leichte Eingabevariationen (z. B. bei Voice) sollen trotzdem erkannt werden.
Bei Voice-Eingaben: Toleranz für optionale Leerzeichen oder Bindestriche einplanen
KD[ -]?erkennt z. B. sowohl „KD1234" als auch „KD 1234" und „KD-1234"
Immer mit echten Beispielen testen: Teste Regex mit vollständigen Nutzereingaben aus echten Chats oder Voice-Transkriptionen. Nutze auch Tools wie regex101.com zum Testen und Debuggen.
Erkannte Werte immer speichern: Entitätswerte werden nach jeder Nutzereingabe zurückgesetzt. Speichere erkannte Werte deshalb immer in benutzerdefinierten Variablen, wenn du sie im weiteren Verlauf wieder benötigst.
Vor dem Löschen prüfen: Überprüfe vor dem Löschen einer Entität, an welchen Stellen sie im Flow verwendet wird und somit den Flow erneut auf Logikfehler und leere Felder.
Last updated