Wenn Sie eine Anfrage zur Intent-Erkennung ausführen, können Sie optional phrase_hints angeben, um dem Erkennungsmodul 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. Diese Funktion ist standardmäßig deaktiviert.
Automatische Sprachanpassung aktivieren oder deaktivieren
So aktivieren oder deaktivieren Sie die automatische Sprachanpassung:
Console
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr GCP-Projekt aus.
- Wählen Sie den Agent aus.
- Klicken Sie auf Agent-Einstellungen.
- Klicken Sie auf den Tab Sprache und IVR.
- Aktivieren oder deaktivieren Sie die Option Automatische Sprachanpassung aktivieren.
- 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 | Kundenservicemitarbeiter-Ressource | Kundenservicemitarbeiter-Ressource |
RPC | Kundenservicemitarbeiter-Oberfläche | Kundenservicemitarbeiter-Oberfläche |
C++ | AgentsClient | Nicht verfügbar |
C# | AgentsClient | Nicht verfügbar |
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 |
Agent-Design für Verbesserungen der 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 bei Dialogflow Eingabeaufforderungen zur Formfüllung erzwingt, wird die automatische Sprachanpassung vorwiegend die zu füllende Entität berücksichtigen.
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 @sys.number
Systementität verwendet wird und der Endnutzer „Ich möchte zwei“ auf Englisch ausspricht („I want two“), kann dies in der englischen Sprache als „to“, „too“, „2“ oder „two“ erkannt 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 Produkt- oder Dienstleistungsnamen, die von Ihrem Unternehmen angeboten werden, definieren und der Endnutzer diese Begriffe in einer Äußerung erwähnt, werden sie eher 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
- odersize
- 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 Synonymone
definieren, um die Auftragsausführungslogik zu vereinfachen.
- Definieren Sie eine
RegExp-Entitäten
RegExp-Entitäten können bei korrekter Konfiguration und ‑prüfung die automatische Sprachanpassung für alphanumerische und Ziffernsequenzen wie „ABC123“ oder „12345“ auslösen.Wenn Sie diese Sequenzen über Sprache erkennen möchten, müssen Sie alle vier der folgenden Anforderungen implementieren:
1. Regexp-Eingabevoraussetzung
Jeder reguläre Ausdruck lässt sich zum Extrahieren von Entitäten aus Texteingaben verwenden, aber nur bestimmte Ausdrücke geben der automatischen Sprachanpassung vor, vorwiegend buchstabierte alphanumerische oder Ziffernsequenzen zu berücksichtigen.
In der RegExp-Entität muss mindestens ein Eintrag allen folgenden Regeln folgen:
- Muss mit einigen alphanumerischen Zeichen übereinstimmen, z. B.
\d
,\w
,[a-zA-Z0-9]
- Darf keine Leerzeichen,
\s
enthalten, wobei\s*
und\s?
zulässig sind - Sollte keine Erfassungs- oder Nichterfassungsgruppen enthalten
()
- Es sollte nicht versucht werden, Sonderzeichen oder Satzzeichen wie
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
abzugleichen.
Dieser Eintrag kann Zeichensätze []
und Wiederholungsquantifizierer wie *
, ?
, +
oder {3,5}
enthalten.
2. Anforderung an die Parameterdefinition
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. Anforderung an die Anmerkung von Trainingsformulierungen
Verwenden Sie die reguläre Regexp-Entität nicht für eine Intent-Annotation für Trainingsformulierungen. Dadurch wird der Parameter beim Ausfüllen des Formulars aufgelöst.
4. Testanforderungen
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. Nun profitieren Sie von der Sequenzerkennung, wenn Sie „ABC123“ abgleichen, aber die NLU ordnet noch Eingaben wie „ABC 123“ zu, 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}
Problemumgehung für reguläre Ausdrücke
Die integrierte Unterstützung einer automatischen Sprachanpassung für 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.
Manuelle Sprachanpassung
Bei der manuellen Sprachanpassung können Sie Sprachanpassungsphrasen für einen Ablauf oder eine Seite manuell konfigurieren. Außerdem werden implizite Sprachkontexte überschrieben, die durch die automatische Sprachanpassung generiert werden, wenn diese aktiviert ist.
Die Sprachadaptierungseinstellungen auf Ablauf- und Seitenebene haben eine hierarchische Beziehung. Das bedeutet, dass eine Seite standardmäßig die Sprachadaptierungseinstellungen von der Ablaufebene erbt und die detailliertere Seitenebene die Ablaufebene immer überschreibt, wenn die Seite eine benutzerdefinierte Einstellung hat.
Die Einstellung für die Sprachanpassung kann auf Ablauf- und Seitenebene unabhängig voneinander aktiviert werden. Wenn die Einstellung für die Anpassung auf Flussebene nicht aktiviert ist, können Sie auf Seitenebene Anpassen auswählen, um die manuelle Sprachanpassung für diese Seite zu aktivieren. Wenn Sie die manuelle Sprachanpassung in den Einstellungen auf Ablaufebene deaktivieren, hat das keine Auswirkungen auf Seiten im Ablauf, für die Anpassen ausgewählt ist.
Die Einstellung auf Ablaufebene und die Einstellung auf Seitenebene können jedoch nicht unabhängig voneinander deaktiviert werden. Wenn für einen Ablauf die manuelle Sprachanpassung aktiviert ist, können Sie sie nicht über die Option Anpassen für eine Seite im Ablauf deaktivieren. Wenn Sie die manuelle Sprachanpassung und die automatische Sprachanpassung für Seiten innerhalb eines Navigationspfads also gleichzeitig verwenden möchten, sollten Sie die manuelle Sprachanpassung nicht auf Navigationspfadebene aktivieren, sondern stattdessen nur die Anpassungseinstellungen auf Seitenebene verwenden. In der folgenden Tabelle sehen Sie, welche Kombination aus Ablauf und Seiteneinstellung Sie für Ihre Anpassung verwenden sollten.
Zieleffekt | Empfohlene Verwendung der Anpassungseinstellungen |
---|---|
Automatische Anpassung für einen Ablauf deaktivieren | Der Ablauf ist ohne Wortgruppensätze aktiviert (für Seiten innerhalb des Ablaufs wird standardmäßig die Ablaufeinstellung verwendet). |
Automatische Anpassung für eine Seite deaktivieren | Ablauf deaktiviert und Seite aktiviert (Anpassen ausgewählt) ohne Wortgruppen |
Manuelle Sprachanpassung nur für alle Seiten in einem Ablauf verwenden | Ablauf aktiviert. Seiten anpassen, für die andere Wortgruppen als für den Ablauf verwendet werden müssen |
Automatische und manuelle Anpassung innerhalb eines Fluss kombinieren | Ablauf deaktiviert. Passen Sie Seiten an, auf die Sie eine manuelle Anpassung anwenden möchten. |
Automatische Sprachanpassung nur für alle Seiten innerhalb eines Navigationspfads verwenden | Ablauf deaktiviert. |
Manuelle Sprachanpassung aktivieren oder deaktivieren
So aktivieren oder deaktivieren Sie die manuelle Sprachanpassung auf Fluss- oder Seitenebene:
Ablaufeinstellungen
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr GCP-Projekt aus.
- Bewegen Sie den Mauszeiger im Abschnitt Abläufe über den Ablauf.
- Klicken Sie auf die Schaltfläche „Optionen“ .
- Wählen Sie im Drop-down-Menü Ablaufeinstellungen aus.
- Aktivieren oder deaktivieren Sie das Kästchen Manuelle Sprachanpassung aktivieren.
- Wortgruppensätze in der Tabelle für Wortgruppensätze bearbeiten, hinzufügen oder löschen
- Klicken Sie auf Speichern.
Seiteneinstellungen
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr GCP-Projekt aus.
- Bewegen Sie den Mauszeiger im Abschnitt Seiten über die Seite.
- Klicken Sie auf die Schaltfläche „Optionen“ .
- Wählen Sie im Drop-down-Menü die Option Seiteneinstellungen aus.
- Standardmäßig ist Ablaufebene verwenden ausgewählt. In diesem Fall werden Anpassungsphrasen auf Ablaufebene für diese Seite wiederverwendet. Sie können Anpassen auswählen, um Anpassungsphrasen anders als die Einstellungen auf Flussebene zu konfigurieren. Auch wenn die manuelle Sprachanpassung auf Ablaufebene deaktiviert ist, können Sie sie für eine Seite in diesem Ablauf über die Option Anpassen aktivieren und konfigurieren.
- Wortgruppensatz in der Tabelle „Wortgruppensatz für die Anpassung“ bearbeiten, hinzufügen oder löschen
- Klicken Sie auf Speichern.
Manuelle Konfiguration von Wortgruppensätzen für Verbesserungen bei der Spracherkennung
1. Wörter und Wortgruppen
In einem Satz mit Wortgruppen für die Anpassung können Sie einzelne Wörter oder Wortgruppen mit optionalen Verweisen auf Sprachklassen-Tokens definieren. Sie können beispielsweise Begriffe wie „super Preis“, „die Sendungsnummer lautet $OOV_CLASS_ALPHANUMERIC_SEQUENCE“ oder „$FULLPHONENUM“ hinzufügen. Dadurch wird die Wahrscheinlichkeit erhöht, dass sie anstelle anderer phonetisch ähnlicher Wortgruppen transkribiert werden. Wenn Sie eine Wortgruppe mit mehreren Wörtern ohne Optimierung hinzufügen, wird die Voreingenommenheit sowohl auf die gesamte Wortgruppe als auch auf die zusammenhängenden Teile innerhalb der Wortgruppe angewendet. Im Allgemeinen sollte die Anzahl der Wortgruppen klein gehalten werden. Fügen Sie nur Wortgruppen hinzu, die die Spracherkennung ohne Sprachanpassung nur schwer erkennt. Wenn Speech-to-Text eine Wortgruppe bereits richtig erkennen kann, müssen Sie sie nicht in die Einstellungen für die Sprachanpassung aufnehmen. Wenn Sie auf einer Seite oder in einem Ablauf einige Wortgruppen sehen, die von der Funktion Speech-to-Text“ häufig falsch erkannt werden, können Sie die entsprechenden Anpassungseinstellungen um die richtigen Wortgruppen ergänzen.
Beispiel für die Korrektur von Erkennungsfehlern
Hier ein Beispiel dafür, wie Sie mit der Sprachanpassung Probleme bei der Erkennung beheben können. Angenommen, Sie entwerfen einen Kundenservicemitarbeiter für den Verkauf von Smartphones. Der Nutzer könnte nach der ersten Frage des Kundenservicemitarbeiters „Womit können wir Ihnen helfen?“ entweder etwas sagen, das die Begriffe „Smartphone verkaufen“ oder „Smartphone“ enthält. Wie können wir dann die Sprachanpassung verwenden, um die Erkennungsgenauigkeit für beide Wortgruppen zu verbessern?
Wenn Sie beide Sätze in den Anpassungseinstellungen angeben, kann Speech-to-Text trotzdem verwirrt werden, da sie ähnlich klingen. Wenn Sie nur eine der beiden Wortgruppen angeben, erkennt Speech-to-Text möglicherweise eine der beiden falsch. Um die Spracherkennungsgenauigkeit für beide Wortgruppen zu verbessern, müssen Sie Speech-to-Text mehr Kontexthinweise zur Verfügung stellen, damit es unterscheiden kann, wann „Smartphones verkaufen“ und wann „Smartphone“ gemeint ist. Beispielsweise verwenden Nutzer häufig „Smartphones verkaufen“ in Sätzen wie „Wie verkaufe ich Smartphones?“, „Möchte Smartphones verkaufen“ oder „Verkaufen Sie Smartphones?“, während „Smartphone“ in Sätzen wie „Smartphone kaufen“, „Smartphone-Rechnung“ und „Smartphone-Service“ verwendet wird. Wenn Sie dem Modell diese präziseren Wortgruppen anstelle der kurzen ursprünglichen Wortgruppen „Smartphone“ und „Smartphones verkaufen“ zur Verfügung stellen, lernt Speech-to-Text, dass „Smartphone verkaufen“ als Verbgruppe mit größerer Wahrscheinlichkeit auf Wörter wie „Anleitung“, „möchten“ und „wollen Sie“ folgt, während „Smartphone“ als Substantivgruppe mit größerer Wahrscheinlichkeit auf Wörter wie „kaufen“ oder „Rechnung“ oder „Service“ folgt. Als Faustregel für die Konfiguration von Anpassungsphrasen gilt daher, dass es besser ist, genauere Formulierungen wie „wie verkaufe ich Smartphones?“ oder „verkaufen Sie Smartphones?“ anzugeben, als nur „Smartphone verkaufen“.
2. Sprachklassentokens
Neben Wörtern in natürlicher Sprache können Sie auch Verweise auf Sprachklassen-Tokens in eine Wortgruppe einbetten. Sprachklassen-Tokens stehen für gängige Konzepte, die in der schriftlichen Sprache in der Regel einem bestimmten Format folgen. Bei der Hausnummer in einer Adresse wie „123 Hauptstraße“ erwarten Nutzer in der Regel, dass die Hausnummer im Zahlenformat „123“ und nicht in der ausgeschriebenen Version „einhundertdreiundzwanzig“ angezeigt wird. Wenn Sie eine bestimmte Formatierung in den Transkriptionsergebnissen erwarten, insbesondere für alphanumerische Sequenzen, sehen Sie in der Liste der unterstützten Klassentokens nach, welche Tokens für Ihre Sprache und Ihren Anwendungsfall verfügbar sind.
Wenn die Seite bereits Intent-Routen oder -Parameter mit Verweis auf Systementitäten enthält, finden Sie hier eine Referenztabelle für Zuordnungen zwischen gängigen Systementitäten und Sprachklassen-Tokens:
Systementitäten | Sprachklassentokens |
---|---|
@sys.date |
$MONTH $DAY $YEAR |
@sys.date-time |
$MONTH $DAY $YEAR |
@sys.date-period |
$MONTH $DAY $YEAR |
@sys.time |
$TIME |
@sys.time-period |
$TIME |
@sys.age |
$OPERAND |
@sys.number |
$OPERAND |
@sys.number-integer |
$OPERAND |
@sys.cardinal |
$OPERAND |
@sys.ordinal |
$OPERAND |
@sys.percentage |
$OPERAND |
@sys.duration |
$OPERAND |
@sys.currency-name |
$MONEY |
@sys.unit-currency |
$MONEY |
@sys.phone-number |
$FULLPHONENUM |
@sys.zip-code |
$POSTALCODE oder $OOV_CLASS_POSTALCODE |
@sys.address |
$ADDRESSNUM $STREET $POSTALCODE |
@sys.street-address |
$ADDRESSNUM $STREET $POSTALCODE |
@sys.temperature |
$OOV_CLASS_TEMPERATURE |
@sys.number-sequence |
$OOV_CLASS_DIGIT_SEQUENCE |
@sys.flight-number |
$OOV_CLASS_ALPHANUMERIC_SEQUENCE |
3. Optimierungswert
Wenn das Hinzufügen von Sätzen ohne den Wert für den Leistungsschub nicht zu einem ausreichenden Voreingenommenheitseffekt führt, können Sie den Wert für den Leistungsschub verwenden, um den Voreingenommenheitseffekt der Sprachanpassung weiter zu verstärken.
Bei einem Wert größer als 0 und kleiner als 20 wird eine zusätzliche Voreingenommenheit angewendet. Wenn „boost“ leer oder „0“ ist, hilft der Standardeffekt zur Voreinnahme, die gesamte Wortgruppe und die zusammenhängenden Teile innerhalb der Wortgruppe zu erkennen. Beispiel: Die nicht optimierte Formulierung „Sind Sie bereit, Smartphones zu verkaufen?“ trägt dazu bei, diese Formulierung und ähnliche Formulierungen wie „Ich verkaufe Smartphones“ und „Hallo, sind Sie bereit?“ zu erkennen.
Bei einem positiven Boost ist der Voreingenommenheitseffekt stärker, er gilt aber nur für die genaue Wortgruppe. Mit der optimierten Wortgruppe „sell phones“ (Smartphones verkaufen) wird beispielsweise „can you sell phones“ (Können Sie Smartphones verkaufen?) erkannt, aber nicht „do you sell any phones“ (Verkaufen Sie Smartphones?).
Aus diesen Gründen erzielen Sie die besten Ergebnisse, wenn Sie Wortgruppen mit und ohne Optimierung angeben.
Höhere Optimierungswerte können zu weniger falsch-negativen Ergebnissen führen. Das sind Fälle, in denen ein Wort oder eine Wortgruppe in den Audiodaten vorkommt, aber von Speech-to-Text nicht richtig erkannt wird (zu geringe Voreingenommenheit). Durch die Optimierung kann aber auch die Wahrscheinlichkeit von falsch-positiven Ergebnissen erhöht werden. Das sind Ergebnisse, bei denen das Wort oder die Wortgruppe in der Transkription vorkommt, obwohl es nicht in den Audiodaten enthalten ist (Übergewichtung). Normalerweise müssen Sie Ihre voreingenommenen Formulierungen optimieren, um einen guten Kompromiss zwischen den beiden Voreingenommenheitsproblemen zu finden.
Weitere Informationen zum Optimieren des Werts für die Betonung von Wortgruppen finden Sie im Artikel zur Betonung in Cloud Speech.
Wann sollte die automatische oder manuelle Sprachanpassung verwendet werden?
Wenn Sie sich nicht sicher sind, ob die Sprachanpassung die Spracherkennungsqualität für Ihren Kundenservicemitarbeiter verbessert (und keine klaren Transkriptionsfehlermuster vorliegen), sollten Sie zuerst die automatische Sprachanpassung ausprobieren, bevor Sie zur manuellen Sprachanpassung greifen. Für eine fundiertere Entscheidung sollten Sie die folgenden Faktoren berücksichtigen, um zwischen automatischer und manueller Sprachanpassung zu wählen:
1. Formular ausfüllen
Die automatische Sprachanpassung funktioniert sehr gut beim Ausfüllen von Formularen, da für die Formularparameter der ABNF-Grammatikkontext verwendet und Grammatikregeln basierend auf den Entitätstypen erzwungen werden. Da die manuelle Sprachanpassung noch keine ABNF-Grammatiken unterstützt, wird für eine Seite zum Ausfüllen von Formularen in der Regel die automatische Sprachanpassung bevorzugt. Bei Seiten mit nur Systementitätsparametern und einfachen regulären Ausdrucksentitäten, die von Sprachklassen-Tokens unterstützt werden, können Sie auch die manuelle Sprachanpassung verwenden, um einen ähnlichen Voreingenommenheitseffekt wie bei der automatischen Sprachanpassung zu erzielen, ohne reguläre Ausdrucksentitäten anpassen zu müssen.
2. Komplexität von Seiten- oder Navigationsübergängen
Bei einer einfachen Seite oder einem einfachen Ablauf mit wenigen Intent-Pfaden generiert die automatische Sprachanpassung wahrscheinlich repräsentative Phrasen mit Voreingenommenheit und erzielt eine relativ gute Leistung.
Wenn eine Seite oder ein Navigationspfad jedoch eine große Anzahl von Intent-Routen hat (bei einer Seite berücksichtigen Sie bitte auch die Anzahl der Routen auf Navigationspfadebene) oder wenn einer der Intents übermäßig lange oder kurze unwichtige Trainingsphrasen enthält (z. B. ein ganzer Satz oder ein einzelnes Wort mit nur einer oder zwei Silben), funktioniert das Modell für die Sprachanpassung mit diesen Phrasen sehr wahrscheinlich nicht gut. Versuchen Sie zuerst, die Sprachanpassung für die offenen Seiten mit hoher Komplexität zu deaktivieren, indem Sie die manuelle Sprachanpassung mit leeren Wortgruppen aktivieren (Überschreibung der leeren Anpassung). Prüfen Sie anschließend, ob es spezielle, eindeutige Sätze gibt, die der Funktion „Speech-to-Text“ noch zur Verfügung gestellt werden müssen, um die Erkennungsqualität zu verbessern.
Ein weiteres Symptom dieses Komplexitätsproblems ist eine Vielzahl von Problemen mit zu geringer oder zu starker Voreingenommenheit, wenn die automatische Sprachanpassung aktiviert ist. Ähnlich wie im obigen Fall müssen Sie zuerst die Sprachanpassung für die jeweilige Seite deaktivieren. Wenn fehlerhaftes Verhalten nach dem Deaktivieren der Sprachanpassung weiterhin auftritt, können Sie die Sätze, die korrigiert werden sollen, in die Einstellungen für die Sprachanpassung einfügen und bei Bedarf sogar Optimierungswerte hinzufügen, um die Voreingenommenheit zu verstärken.
Sprachanpassung testen
Wenn Sie die Sprachadaptierungsfunktionen Ihres Agents für eine bestimmte Trainingsphrase oder Entitätsübereinstimmung testen, sollten Sie nicht direkt mit dem Testen der Übereinstimmung mit der ersten Sprachäußerung einer Unterhaltung beginnen. Verwenden Sie für die gesamte Unterhaltung vor dem Abgleich, den Sie testen möchten, nur Sprach- oder Ereigniseingaben. Das Verhalten Ihres Agents bei einem solchen Test ähnelt dem Verhalten in echten Produktionsunterhaltungen.
Beschränkungen
Es gelten folgende Einschränkungen:
- Die Sprachanpassung ist nicht für alle Sprachmodelle und Sprachkombinationen verfügbar. Auf der Seite zur Sprachunterstützung von Cloud Speech können Sie nachsehen, ob die Modellanpassung für Ihr Sprachmodell und Ihre Sprachkombination verfügbar ist.
Derzeit werden bei der manuellen Sprachanpassung noch keine benutzerdefinierten Klassen oder ABNF-Grammatiken unterstützt. Sie können die automatische Sprachanpassung aktivieren oder die Funktion „Intent-Anfrage zur Laufzeiterkennung“ verwenden, um diese Anpassungsfunktionen zu nutzen.
Derselbe Wert für die Steigerung kann bei verschiedenen Sprachmodellen und Sprachen unterschiedliche Ergebnisse liefern. Seien Sie daher vorsichtig, wenn Sie ihn manuell für Kundenservicemitarbeiter konfigurieren, die mehrere Sprachen oder Sprachmodelle verwenden. Derzeit gilt die manuelle Sprachanpassung für alle Sprachen in einem Agenten. Daher sollten Sie für mehrsprachige Agents nur sprachunabhängige Formulierungen verwenden oder jede Sprache in einen separaten Agenten unterteilen. Da das Standardverhalten für die Voreingenommenheit (kein oder 0 als Wert für die Voreingenommenheit) in der Regel für alle Sprachen und Modelle relativ gut funktioniert, müssen Sie keine sprachspezifischen Werte für die Voreingenommenheit konfigurieren, es sei denn, für Ihren Anwendungsfall ist eine stärkere Voreingenommenheit erforderlich. Weitere Informationen zum Optimieren des Werts für die Verstärkung finden Sie in diesem Leitfaden zu Cloud Speech-to-Text.
- Das Erkennen langer Zeichensequenzen ist schwierig. Die Anzahl der Zeichen, die in einer einzelnen Runde erfasst werden, hängt direkt von der Qualität der Audioeingabe ab.
Wenn Sie alle Richtlinien für reguläre Regexp-Entitäten befolgt und versucht haben, relevante Sprachklassen-Tokens in den Einstellungen für die manuelle Sprachanpassung zu verwenden, die gesamte Sequenz aber immer noch nicht in einer einzigen Antwort erfasst wird, können Sie einige weitere konversationsorientierte 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.