Sprachanpassung

Wenn Sie eine Anfrage zur Intent-Erkennung stellen, können Sie optional Sprachkontext um dem Spracherkennungstool Hinweise zu geben. Diese Hinweise können in einem bestimmten Unterhaltungsstatus bei der Erkennung helfen.

Automatische Sprachanpassung

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. Dieses Feature ist standardmäßig aktiviert.

Automatische Sprachanpassung aktivieren oder deaktivieren

So aktivieren oder deaktivieren Sie die automatische Sprachanpassung:

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Wählen Sie Ihren Agent im oberen Bereich der linken Seitenleiste aus.
  3. Klicken Sie neben dem Namen des Agents auf die Schaltfläche für die Einstellungen.
  4. Wählen Sie den Tab Sprache aus.
  5. Scrollen Sie zum Abschnitt Improve Speech Recognition Quality.
  6. Aktivieren oder deaktivieren Sie die Option Enable Auto Speech Adaptation.

Agent-Design mit verbesserter 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, Kontexte und Entitäten Ihres Agents verbessert werden kann.

Trainingsformulierungen und -kontexte

  • 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 eine Sitzung aktiv ist, Kontexte, automatische Sprachanpassung wirkt sich auf die Trainingsformulierungen von Intents hin, bei denen alle Eingabekontexte aktiv sind. Beispiel: Bei den beiden aktiven Kontexten „pay-bill“ und „confirmation“ wirken sich die folgenden Intents alle auf die automatische Spracherkennung aus: Intents mit einem einzelnen Eingabekontext „pay-bill“, Intents mit einem einzelnen Eingabekontext „confirmation“ und Intents mit zwei Eingabekontexten „pay-bill“ und „confirmation“.

  • Wenn eine Sitzung keine aktiven Kontexte hat, berücksichtigt die automatische Sprachanpassung vorwiegend die Trainingsformulierungen von Intents ohne Eingabekontexte.

  • Wenn Sie eine erforderlicher Parameter das Dialogflow dazu zwingt, Slot-Füllung Prompts, automatische Sprachanpassung wird die zu füllende Entität stark bevorzugt.

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, die die @sys.number verwendet Systementität , und die Endanwendenden sagen: „Ich möchte zwei“, als „to“, „too“, „2“ oder „two“.

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 nach Produkt- oder Dienstleistungsnamen, die von Ihrem Unternehmen angeboten werden, und der Endnutzer diese Begriffe in einer Äußerung erwähnt, auffallen. 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 kann die automatische Sprachausgabe auslösen Anpassung für alphanumerische Zeichenfolgen und Ziffernfolgen wie „ABC123“ oder „12345“ wann konfiguriert und getestet werden.

Um diese Sequenzen per Sprachbefehl zu erkennen, implementieren Sie alle vier der folgenden Anforderungen:

1. Anforderung für Regex-Einträge

Sie können jeden regulären Ausdruck verwenden, um Entitäten aus Texteingaben zu extrahieren, bei bestimmten Ausdrücken die automatische Sprachanpassung zur Gewichtung ausgeschriebenen alphanumerischen oder Ziffernfolgen bei der Spracherkennung.

In der RegExp-Entität muss mindestens ein Eintrag allen folgenden Regeln entsprechen:

  • Muss mit einigen alphanumerischen Zeichen übereinstimmen, z. B. \d, \w, [a-zA-Z0-9]
  • Darf keine Leerzeichen   oder \s enthalten, wobei \s* und \s? zulässig sind
  • Darf keine Erfassungsgruppen oder Nicht-Erfassungsgruppen () enthalten
  • Es darf nicht nach Sonder- oder Satzzeichen wie folgenden suchen: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |

Dieser Eintrag darf die Zeichensätze [] enthalten und Wiederholungsquantifizierer wie *, ?, + und {3,5}.

Siehe Beispiele.

2. Anforderung der Parameterdefinition

Markieren Sie die RegExp-Entität als erforderlichen Intent-Parameter, damit sie während der Slot-Füllung 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 nicht die Regexp-Entität für Anmerkung für Intent-Trainingsformulierungen. Dadurch wird der Parameter im Rahmen der Slot-Füllung aufgelöst.

4. Testanforderung

Siehe 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. Jetzt werden Sie von der Sequenzerkennung profitieren, wenn Sie „ABC123“ zuordnen, aber der NLU gleicht nach wie vor Eingaben wie „ABC 123“ ab. dank der ursprünglichen 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}
Regexp-Problemumgehung

Die integrierte Unterstützung der automatischen Sprachanpassung für Regexp-Entitäten variiert je nach Sprache. Klicken Sie das Kästchen Sprachklassentokens an. für $OOV_CLASS_ALPHANUMERIC_SEQUENCE und $OOV_CLASS_DIGIT_SEQUENCE unterstützten Sprachen.

Ist Ihre Sprache nicht aufgeführt, können Sie diese Einschränkung umgehen. Wenn Sie z. B. eine Mitarbeiter-ID benötigen, nur aus drei Buchstaben gefolgt von drei Ziffern besteht, Erstellen Sie den Agent mit den folgenden Entitäten und Parametern:

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

Sprachanpassung wird getestet

Beim Testen der Sprachanpassungsfunktionen des Agents für eine bestimmte Trainingsformulierung oder einen Entitätsabgleich, solltet ihr nicht direkt zum Spiel übergehen, mit der ersten Äußerung einer Unterhaltung. Sie sollten nur Sprach- oder Ereigniseingaben für die gesamte Unterhaltung verwenden, bevor Sie die Sie testen möchten. Das Verhalten des Agents bei diesem Test ähnelt dem Verhalten in tatsächlichen Produktionsgesprächen.

Beschränkungen

Es gelten folgende Einschränkungen:

  • Die Sprachanpassung ist nicht für alle Sprachmodelle und Sprachkombinationen verfügbar. Auf der Supportseite für die Sprache von Cloud Speech können Sie nachsehen, ob „Modellanpassung“ für Ihre Kombination aus Sprachmodell und Sprache verfügbar.
  • Die automatische Sprachanpassung kann für Actions on Google (Google Assistant) nicht verwendet werden, da die Spracherkennung von Actions on Google durchgeführt wird, bevor Daten an Dialogflow gesendet werden.
  • Das Erkennen langer Zeichensequenzen ist schwierig. Die Anzahl der Zeichen, die in einer einzelnen Runde erfasst werden, stehen in direktem Zusammenhang die Qualität der Audioeingabe. Wenn Ihre Integration beispielsweise auf Telefonanrufe basiert, müssen Sie optimierte Sprachmodelle aktivieren, um zuverlässig alphanumerische Sequenzen erkennen, die länger als vier oder fünf sind oder Ziffernfolgen, die länger als 10 Zeichen sind. Sie haben alle Richtlinien für RegExp-Entitäten befolgt. und immer noch Schwierigkeiten haben, die gesamte Sequenz in einer einzigen Rundung zu erfassen, können Sie einige alternative Alternativen in Betracht ziehen: <ph type="x-smartling-placeholder">
      </ph>
    • 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. In dieser Anleitung finden Sie weitere Informationen.