Automatische Sprachanpassung

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Wenn Sie eine Anfrage zur Intent-Erkennung stellen, können Sie optional phrase_hints für Hinweise zur Spracherkennung angeben. Diese Hinweise können in einem bestimmten Unterhaltungsstatus bei der Erkennung helfen.

Das Feature zur automatischen Sprachanpassung verbessert die Genauigkeit der Spracherkennung Ihres Agents, indem automatisch der Unterhaltungsstatus verwendet wird, um relevante Entitäten und Trainingsformulierungen als Sprachkontexthinweise für alle Anfragen zur Intent-Erkennung zu übergeben. Diese Funktion ist standardmäßig deaktiviert.

Automatische Sprachanpassung aktivieren oder deaktivieren

So aktivieren oder deaktivieren Sie die automatische Sprachanpassung:

Console

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr GCP-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Klicken Sie auf Agent-Einstellungen.
  5. Klicken Sie auf den Tab Sprache und IVR.
  6. Aktivieren oder deaktivieren Sie die Sprachanpassung aktivieren.
  7. Klicken Sie auf Speichern.

API

Siehe die Methoden get und patch/update für den Typ Agent.

Wählen Sie ein Protokoll und eine Version für die Agent-Referenz aus:

Protokoll V3 V3beta1
REST Agent-Ressource Agent-Ressource
RPC Agent-Oberfläche Agent-Oberfläche
C++ AgentsClient Nicht verfügbar
C# AgentsClient Nicht verfügbar
Einfach loslegen (Go) AgentsClient Nicht verfügbar
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP Nicht verfügbar Nicht verfügbar
Python AgentsClient AgentsClient
Ruby Nicht verfügbar Nicht verfügbar

Verbesserungen des Agent-Designs für die Spracherkennung

Wenn die automatische Sprachanpassung aktiviert ist, können Sie Ihren Agent so erstellen, dass Sie ihn zu Ihrem Nutzen verwenden können. In den folgenden Abschnitten wird erläutert, wie die Spracherkennung durch bestimmte Änderungen an den Trainingsformulierungen und Entitäten Ihres Agents verbessert werden kann.

Trainingssätze

  • Wenn Sie Trainingsformulierungen mit einer Formulierung wie „stuffy nose“ definieren, wird eine ähnlich klingende Nutzeräußerung zuverlässig als „stuffy nose“ und nicht als „stuff he knows“ erkannt.
  • Wenn Sie einen erforderlichen Parameter haben, der Dialogflow zum Ausfüllen von Formularen zwingt, wird die automatische Sprachanpassung in Bezug auf die ausgefüllte Entität stark verzerrt.

In allen Fällen berücksichtigt die automatische Sprachanpassung lediglich die Spracherkennung, ohne sie zu beschränken. Beispiel: Auch wenn Dialogflow einen Nutzer zur Eingabe eines erforderlichen Parameters auffordert, können Nutzer weiterhin andere Intents auslösen, z. B. einen Intent der obersten Ebene „Mit Mitarbeiter sprechen“.

Systementitäten

Wenn Sie eine Trainingsformulierung definieren, in der die Systementität @sys.number verwendet wird, und der Endnutzer „25“ verwenden möchte, kann er als „nach“, „zu“ und „zwei“ sowie „zwei“ angeführt werden.

Wenn die automatische Sprachanpassung aktiviert ist, verwendet Dialogflow bei der Spracherkennung die Entität @sys.number als Hinweis. Der Parameter wird mit größerer Wahrscheinlichkeit als „2“ extrahiert.

Benutzerdefinierte Entitäten

  • Wenn Sie eine benutzerdefinierte Entität für die von Ihrem Unternehmen angebotenen Produkt- oder Dienstleistungsnamen definieren und der Endnutzer diese Begriffe in einer Äußerung erwähnt, werden sie mit höherer Wahrscheinlichkeit erkannt. Die Trainingsformulierung „I love Dialogflow“, wobei „Dialogflow“ als @product-Entität annotiert ist, gibt der automatischen Sprachanpassung vor, sich an „I love Dialogflow“, „I love Cloud Speech“ und anderen Einträgen in der @product-Entität zu orientieren.

  • Es ist besonders wichtig, dass Sie präzise Entitätssynonyme definieren, wenn Sie Dialogflow zur Spracherkennung verwenden. Angenommen, Sie haben zwei @product-Entitätseinträge, „Dialogflow“ und „Dataflow“. Ihre Synonyme für „Dialogflow“ sind beispielsweise „Dialogflow“, „dialogue flow“, „dialogue builder“, „Speaktoit“, „speak to it“, „API.ai“, „API dot AI“. Diese Synonyme sind gut, da sie die gängigsten Varianten abdecken. Sie müssen „the dialogue flow builder“ nicht hinzufügen, da dies von „dialogue flow“ bereits abgedeckt ist.

  • Nutzeräußerungen mit aufeinanderfolgenden, aber separaten Zahlenentitäten können mehrdeutig sein. Beispiel: „I want two sixteen packs“ könnten 2 Pakete mit 16 Sets oder 216 Mengen bedeuten. Durch die Sprachanpassung lassen sich solche Fälle eindeutig unterscheiden, wenn Sie Entitäten mit buchstabierten Werten einrichten:
    • Definieren Sie eine quantity-Entität mit folgenden Einträgen:
      zero
      one
      ...
      twenty
    • Definieren Sie eine product- oder size- Entität mit folgenden Einträgen:
      sixteen pack
      two ounce
      ...
      five liter
    • In der Sprachanpassung werden nur Entitätssynonyme verwendet. Sie können also eine Entität mit dem Referenzwert 1 und dem einzelnen Synonym one definieren, um die Auftragsausführungslogik zu vereinfachen.

RegExp-Entitäten

Regexp-Entitäten können die automatische Sprachanpassung für alphanumerische und numerische Sequenzen wie „ABC123“ oder „12345“ auslösen, wenn sie richtig konfiguriert und getestet werden.

Wenn du diese Sequenzen per Sprachbefehl erkennen möchtest, implementiere alle vier der folgenden Anforderungen:

1. Regexp-Anforderung

Während jeder reguläre Ausdruck verwendet werden kann, um Entitäten aus Texteingaben zu extrahieren, wird die automatische Sprachanpassung nur bei bestimmten Ausdrücken angewiesen, um bei der Spracherkennung gesprochene Sequenzen mit alphanumerischen Zeichen oder Ziffern zu gewichten.

In der Regexp-Entität muss mindestens ein Eintrag allen dieser Regeln entsprechen:

  • Muss mit einigen alphanumerischen Zeichen übereinstimmen, z. B. \d, \w, [a-zA-Z0-9]
  • Darf keine Leerzeichen   oder \s enthalten, obwohl \s* und \s? zulässig sind
  • Dürfen keine Erfassungsgruppen oder Gruppen ohne Aufnahme () enthalten
  • Sollte nicht für Sonderzeichen oder Satzzeichen verwendet werden, wie z. B.: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |

Dieser Eintrag kann Zeichensätze [] und Wiederholungsquantifikatoren wie *, ?, +, {3,5} enthalten.

Beispiele

2. Anforderung an Parameterdefinitionen

Markieren Sie die RegExp-Entität als erforderlichen Formularparameter, damit er während des Ausfüllens des Formulars erfasst werden kann. Dadurch kann die automatische Sprachanpassung stark auf die Sequenzerkennung ausgerichtet werden, anstatt zu versuchen, einen Intent und eine Sequenz gleichzeitig zu erkennen. Andernfalls könnte „Wo ist mein Paket für ABC123“ als „Wo ist mein Paket 4ABC123“ falsch erkannt werden.

3. Annotationsanforderung für Trainingsformulierungen

Verwenden Sie die Regexp-Entität nicht für eine Annotation von Intent-Trainingssätzen. Dadurch wird der Parameter beim Ausfüllen des Formulars aufgelöst.

4. Testanforderung

Weitere Informationen finden Sie unter Sprachanpassung testen.

Beispiele

Beispielsweise löst eine RegExp-Entität mit einem einzelnen Eintrag ([a-zA-Z0-9]\s?){5,9} nicht die Sprachsequenzerkennung aus, da sie eine Erfassungsgruppe enthält. Um das Problem zu beheben, fügen Sie einfach einen weiteren Eintrag für [a-zA-Z0-9]{5,9} hinzu. Bei der Zuordnung von „ABC123“ profitieren Sie jetzt von der Sequenzerkennung, dennoch werden Eingaben wie „ABC 123“ dennoch mit der Eingabe abgeglichen, z. B. dank der ursprünglichen Regel, die Leerzeichen zulässt.

Die folgenden Beispiele für reguläre Ausdrücke passen sich für alphanumerische Sequenzen an:

^[A-Za-z0-9]{1,10}$
WAC\d+
215[2-8]{3}[A-Z]+
[a-zA-Z]\s?[a-zA-Z]\s?[0-9]\s?[0-9]\s?[0-9]\s?[a-zA-Z]\s?[a-zA-Z]

Die folgenden Beispiele für reguläre Ausdrücke passen sich für Ziffernsequenzen an:

\d{2,8}
^[0-9]+$
2[0-9]{7}
[2-9]\d{2}[0-8]{3}\d{4}

Sprachanpassung testen

Wenn Sie die Sprachanpassungsfunktionen Ihres Agents für eine bestimmte Trainingsformulierung oder Entitätsübereinstimmung testen, sollten Sie nicht direkt mit der ersten Sprachäußerung einer Unterhaltung testen. Sie sollten vor der Übereinstimmung, die Sie testen möchten, nur Sprach- oder Ereigniseingaben für die gesamte Unterhaltung verwenden. Das Verhalten des Agents, der auf diese Weise getestet wird, ähnelt dem Verhalten in tatsächlichen Produktionsunterhaltungen.

Beschränkungen

Es gelten folgende Einschränkungen:

  • Das Erkennen langer Zeichensequenzen ist schwierig. Die Anzahl der Zeichen, die Sie in einer einzelnen Kurve präzise erfassen können, hängt direkt mit der Qualität der Eingabeaudios ab. Wenn Sie alle Entitätsrichtlinien für reguläre Ausdrücke befolgt haben und noch immer Schwierigkeiten haben, die gesamte Sequenz in einer Kurve zu erfassen, können Sie alternativere Alternativen in Betracht ziehen:

    • Wenn Sie die Sequenz anhand einer Datenbank validieren, sollten Sie Querverweise für andere erfasste Parameter wie Datumsangaben, Namen oder Telefonnummern erstellen, um unvollständige Übereinstimmungen zu ermöglichen. Fragen Sie einen Nutzer beispielsweise nicht nur nach seiner Bestellnummer, sondern auch nach seiner Telefonnummer. Wenn der Webhook nun die Datenbank nach dem Bestellstatus abfragt, kann er sich zuerst auf die Telefonnummer verlassen und dann die am besten übereinstimmende Bestellung für dieses Konto zurückgeben. Dies könnte dazu führen, dass Dialogflow „ABC“ falsch als „AVC“ erkennt, aber dennoch den korrekten Bestellstatus für den Nutzer zurückgibt.
    • Bei extra langen Sequenzen sollten Sie vielleicht einen Ablauf entwerfen, der Endnutzer dazu veranlasst, eine Pause zu machen, sodass der Bot die Eingabe bestätigen kann.
  • Die integrierte Unterstützung einer automatischen Sprachanpassung für System- und RegExp-Entitäten variiert je nach Sprache. Unter Sprachklassen-Tokens finden Sie die unterstützten Sprachen $OOV_CLASS_ALPHANUMERIC_SEQUENCE und $OOV_CLASS_DIGIT_SEQUENCE. Ist Ihre Sprache nicht aufgeführt, können Sie diese Einschränkung umgehen. Wenn Sie beispielsweise möchten, dass eine Mitarbeiter-ID, bei der auf drei Buchstaben drei Ziffern folgen, richtig erkannt wird, können Sie den Agent mit den folgenden Entitäten und Parametern erstellen:

    • Definieren Sie eine digit-Entität, die (mit Synonymen) 10 Entitätseinträge enthält:
      0, 0
      1, 1
      ...
      9, 9
    • Definieren Sie eine letter-Entität, die (mit Synonymen) 26 Entitätseinträge enthält:
      A, A
      B, B
      ...
      Z, Z
    • Definieren Sie eine employee-id-Entität, die einen einzigen Entitätseintrag (ohne Synonyme) enthält:
      @letter @letter @letter @digit @digit @digit
    • Verwenden Sie @employee-id als Parameter in einer Trainingsformulierung.
    .