Wenn Sie eine Anfrage zur Intent-Erkennung stellen, können Sie optional phrase_hints angeben, um der Spracherkennung 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 | 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 |
Agent-Design zur Verbesserung 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 ein erforderlicher Parameter vorhanden ist, der Dialogflow zum Ausfüllen von Formularen zwingt, wird die automatische Sprachanpassung stark auf die ausgefüllte Entität gewichtet.
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 „Ich möchte zwei“ sagt, wird dies als „to“, „too“, „2“ oder „two“ erkannt.
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 Dienstnamen definieren, die von Ihrem Unternehmen angeboten werden, 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
- 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 die automatische Sprachanpassung für alphanumerische und Ziffernfolgen wie "ABC123" oder "12345" auslösen, wenn sie ordnungsgemäß konfiguriert und getestet wurden.Damit diese Sequenzen per Spracheingabe erkannt werden können, müssen Sie alle vier der folgenden Anforderungen implementieren:
1. Regexp-Eingabeanforderung
Obwohl jeder reguläre Ausdruck zum Extrahieren von Entitäten aus Texteingaben verwendet werden kann, weisen nur bestimmte Ausdrücke die automatische Sprachanpassung an, bei der Spracherkennung die automatische Sprachanpassung dahingehend zu beeinflussen, dass aus Buchstaben geschriebene alphanumerische oder Ziffernsequenzen gewichtet werden.
In der Regexp-Entität muss mindestens ein Eintrag allen folgenden Regeln entsprechen:
- Sollte mit einigen alphanumerischen Zeichen übereinstimmen, z. B.
\d
,\w
,[a-zA-Z0-9]
- Darf kein Leerzeichen (
\s
) enthalten, obwohl\s*
und\s?
zulässig sind - Sollten keine Gruppen für oder ohne Erfassung enthalten
()
- Es sollten keine Sonderzeichen oder Satzzeichen verwendet werden, z. B.:
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Dieser Eintrag kann den Zeichensatz []
und Wiederholungsquantifizierer wie *
, ?
, +
, {3,5}
enthalten.
2. Anforderung für 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. Annotationsanforderung für Trainingsformulierungen
Verwenden Sie die Regexp-Entität nicht für eine Annotation von Intent-Trainingsformulierungen. 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. Jetzt profitieren Sie beim Abgleich von „ABC123“ von der Sequenzerkennung. Dank der ursprünglichen Regel, die Leerzeichen zulässt, stimmt die NLU jedoch weiterhin Eingaben wie „ABC 123“ ab.
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 mit regulären Ausdrücken
Die integrierte Unterstützung von Regexp-Entitäten in der automatischen Sprachanpassung variiert je nach Sprache.
Prüfen Sie die Sprachklassentokens für 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 aus drei Buchstaben gefolgt von drei Ziffern genau erkannt wird, können Sie Ihren Agent mit den folgenden Entitäten und Parametern erstellen:
- 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
- Definieren Sie eine
employee-id
-Entität, die einen einzelnen Entitätseintrag (ohne Synonyme) enthält:@letter @letter @letter @digit @digit @digit
- Verwenden Sie
@employee-id
als Parameter in einer Trainingsformulierung.
Manuelle Sprachanpassung
Mit der manuellen Sprachanpassung können Sie die Wortgruppen zur Sprachanpassung für einen Ablauf oder eine Seite manuell konfigurieren. Außerdem werden implizite Sprachkontexte überschrieben, die durch die automatische Sprachanpassung generiert werden, wenn Letztere aktiviert ist.
Die Einstellungen für die Sprachanpassung auf Ablauf- und Seitenebene sind hierarchisch angeordnet. Das bedeutet, dass eine Seite die Sprachanpassungseinstellungen standardmäßig von der Ablaufebene übernimmt und die detailliertere auf Seitenebene immer Vorrang vor der Ablaufebene hat, wenn die Seite eine benutzerdefinierte Einstellung hat.
Für die Einstellung der Sprachanpassung können die Einstellung auf Ablaufebene und die Einstellung auf Seitenebene unabhängig voneinander aktiviert werden. Wenn die Einstellung für die Anpassung der Ablaufebene nicht aktiviert ist, können Sie dennoch Anpassen auf Seitenebene auswählen, um die manuelle Sprachanpassung für diese spezifische Seite zu aktivieren. Wenn Sie die manuelle Sprachanpassung in den Einstellungen für die Ablaufebene deaktivieren, hat dies keine Auswirkungen auf Seiten im Ablauf, auf denen 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 über die Option Anpassen nicht für eine Seite unter dem Ablauf deaktivieren. Wenn Sie also sowohl die manuelle Sprachanpassung als auch die automatische Sprachanpassung für Seiten in einem Ablauf gemischt verwenden möchten, sollten Sie die manuelle Sprachanpassung nicht auf Ablaufebene aktivieren und stattdessen nur Anpassungseinstellungen auf Seitenebene verwenden. Der folgenden Tabelle können Sie entnehmen, welche Kombination aus Ablauf und Seiteneinstellung Sie für Ihren Anpassungsfall 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 | Der Ablauf ist deaktiviert und die Seite ist aktiviert (Anpassen ausgewählt), ohne dass Wortgruppen festgelegt sind. |
Manuelle Sprachanpassung nur für alle Seiten in einem Ablauf verwenden | Ablauf aktiviert. Passen Sie Seiten an, die andere Wortgruppen als den Ablauf verwenden. |
Verwendung von automatischer und manueller Anpassung innerhalb eines Ablaufs mischen | Flow deaktiviert. Passen Sie die Seiten an, auf denen die manuelle Anpassung angewendet werden soll. |
Die automatische Sprachanpassung nur für alle Seiten in einem Ablauf verwenden | Flow deaktiviert. |
Manuelle Sprachanpassung aktivieren oder deaktivieren
So aktivieren oder deaktivieren Sie die manuelle Sprachanpassung auf Ablauf- oder Seitenebene:
Flusseinstellungen
- Ö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 Optionen-Schaltfläche .
- Wählen Sie im Drop-down-Menü Ablaufeinstellungen aus.
- Klicken Sie das Kästchen Manuelle Sprachanpassung aktivieren an oder heben Sie die Auswahl auf.
- Wortgruppensätze in der Wortgruppentabelle 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 Optionen-Schaltfläche .
- Wählen Sie im Drop-down-Menü Seiteneinstellungen aus.
- Use flow level (Ablaufebene verwenden) ist standardmäßig ausgewählt. Wenn diese Option ausgewählt wird, werden Anpassungsformulierungen zur Ablaufebene für diese Seite wiederverwendet. Sie können Anpassen auswählen, um Anpassungsformulierungen zu konfigurieren, die von den Einstellungen für die Flussebene abweichen. Auch wenn die manuelle Sprachanpassung auf Flussebene deaktiviert ist, können Sie die manuelle Sprachanpassung für eine Seite in diesem Ablauf über die Option Anpassen aktivieren und konfigurieren.
- Wortgruppensatz in der Phrasengruppe zur Anpassung bearbeiten, hinzufügen oder löschen
- Klicken Sie auf Speichern.
Manuelle Konfiguration von Wortgruppen zur Verbesserung der Spracherkennung
1. Wörter und Wortgruppen
In einem Satz von Anpassungssätzen können Sie Wortgruppen mit einem oder mehreren Wörtern mit optionalen Verweisen auf Tokens der Sprachklasse definieren. Sie können beispielsweise Formulierungen wie „great rate“, „tracking number is $OOV_CLASS_ALPHANUMERIC_SEQUENCE“ oder „$FULLPHONENUM“ hinzufügen. Diese bereitgestellten Wortgruppen erhöhen die Wahrscheinlichkeit, dass sie über andere phonetisch ähnliche Wortgruppen transkribiert werden. Wenn Sie eine aus mehreren Wörtern bestehende Wortgruppe ohne Verstärkung hinzufügen, wird die Verzerrung sowohl auf die gesamte Phrase als auch auf die durchgehenden Teile innerhalb der Wortgruppe angewendet. Im Allgemeinen sollte die Anzahl der Wortgruppen klein gehalten werden und Sie sollten nur Formulierungen hinzufügen, bei denen die Spracherkennung ohne Sprachanpassung Schwierigkeiten hat, richtig zu sein. Wenn Speech-to-Text eine Wortgruppe bereits richtig erkennt, muss sie nicht in den Einstellungen für die Sprachanpassung hinzugefügt werden. Wenn Sie einige Wortgruppen auf einer Seite oder einem Ablauf sehen, die Speech-to-Text häufig falsch erkennt, können Sie den entsprechenden Anpassungseinstellungen die richtigen Formulierungen hinzufügen.
Beispiel für die Korrektur von Erkennungsfehlern
Das folgende Beispiel zeigt, wie Sie mithilfe der Sprachanpassung Erkennungsprobleme korrigieren können. Angenommen, Sie entwerfen einen Handels-Agent für Telefongeräte und der Nutzer kann entweder etwas sagen wie „Smartphones verkaufen“ oder „Smartphone“, nachdem der Agent seine erste Frage gestellt hat: „Wobei benötigen Sie Hilfe?“. Wie können wir dann mithilfe der Sprachanpassung die Erkennungsgenauigkeit für beide Wortgruppen verbessern?
Wenn Sie beide Formulierungen in die Anpassungseinstellungen aufnehmen, wird Speech-to-Text möglicherweise trotzdem verwirrt, da sie ähnlich klingen. Wenn Sie nur eine der beiden Wortgruppen angeben, erkennt Speech-to-Text möglicherweise eine davon falsch. Um die Genauigkeit der Spracherkennung für beide Wortgruppen zu verbessern, müssen Sie Speech-to-Text mehr Kontexthinweise bereitstellen, um zu unterscheiden, wann sie "Smartphones verkaufen" und wann "Smartphone" hören soll. Vielleicht ist Ihnen beispielsweise aufgefallen, dass viele Nutzer "Smartphones verkaufen" als Teil von Äußerungen wie "wie verkaufe ich Telefone", "wollen Sie Telefone verkaufen" oder "verkaufen Sie Telefone" verwenden, während "Handy" als Teil von Äußerungen wie "Smartphone kaufen", "Handy-Rechnung" und "Mobilfunkdienst" verwendet wird. Wenn Sie dem Modell diese genaueren Wortgruppen statt der kurzen Originalformulierungen "Smartphone" und "Smartphone verkaufen" zur Verfügung stellen, lernt Speech-to-Text, dass "Telefon verkaufen" als Verbformulierung eher nach Wörtern wie "how to", "will to" und "do you" folgt, während "cell phone" als Nominalphrase eher nach Wörtern wie "purchase" oder "service" folgt. Als Faustregel für die Konfiguration von Anpassungsformulierungen ist es daher in der Regel besser, präzisere Formulierungen wie "Wie verkaufe ich Smartphones" oder "verkaufst du Smartphones" anzugeben, als nur "Smartphone verkaufen".
2. Tokens der Sprachklasse
Neben Wörtern in natürlicher Sprache können Sie auch Verweise auf Sprachklassentokens in eine Wortgruppe einbetten. Tokens der Sprachklasse stellen gängige Konzepte dar, die in der Regel schriftlich in einem bestimmten Format vorliegen. Für eine Adressnummer in einer Adresse wie „Hauptstraße 123“ würde man in der Regel normalerweise erwarten, das Zahlenformat „123“ in einer Adresse anstelle der ausgeschriebenen Version „einhundertdreiundzwanzig“ zu sehen. Wenn Sie in den Transkriptionsergebnissen eine bestimmte Formatierung erwarten, insbesondere bei alphanumerischen Sequenzen, können Sie der Liste der unterstützten Klassentokens entnehmen, welche Tokens für Ihre Sprache und Ihren Anwendungsfall verfügbar sind.
Wenn die Seite bereits Intent-Routen oder Parameter mit Verweisen auf Systementitäten enthält, finden Sie hier eine Referenztabelle für Zuordnungen zwischen gängigen Systementitäten und Tokens der Sprachklasse:
Systementitäten | Tokens der Sprachklasse |
---|---|
@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. Wert erhöhen
Wenn das Hinzufügen von Wortgruppen ohne den Boost-Wert nicht stark genug Gewichtung hat, können Sie den Boost-Wert verwenden, um den Effekt der Sprachanpassung weiter zu verstärken.
Die Verstärkung wendet eine zusätzliche Verzerrung an, wenn sie auf Werte größer als 0 und maximal 20 festgelegt ist. Wenn die Verstärkung leer oder 0 ist, hilft der Standardgewichtungseffekt, die ganze Phrase und die durchgehenden Teile innerhalb der Phrase zu erkennen. Beispielsweise erkennt die nicht verstärkte Formulierung "are you open to sell phone" diese Wortgruppe und auch ähnliche Wortgruppen wie "Ich verkaufe Telefone" und "Hallo sind Sie geöffnet".
Wenn eine positive Verstärkung angewendet wird, ist der Gewichtungseffekt stärker, gilt aber nur für die genaue Wortgruppe. Mit der verbesserten Formulierung "Smartphones verkaufen" kann beispielsweise "können Sie Smartphones verkaufen" erkannt werden, aber nicht "verkaufen Sie irgendwelche Smartphones".
Daher erhalten Sie die besten Ergebnisse, wenn Sie Wortgruppen mit und ohne Verstärkung angeben.
Höhere Verstärkungswerte können zu weniger falsch negativen Ergebnissen führen. Dies sind Fälle, in denen das Wort oder die Wortgruppe in den Audiodaten auftrat, aber von Speech-to-Text nicht richtig erkannt wurde (Unterverzerrung). Die Verstärkung kann jedoch auch die Wahrscheinlichkeit von falsch positiven Ergebnissen erhöhen, d. h. wenn das Wort oder die Wortgruppe in der Transkription vorkommt, obwohl es nicht in den Audiodaten vorkommt (Überverzerrung). In der Regel müssen Sie Ihre Gewichtungsformulierungen anpassen, um einen guten Kompromiss zwischen den beiden Verzerrungsproblemen zu finden.
Weitere Informationen zur Feinabstimmung des Verstärkungswerts für Wortgruppen finden Sie in der Cloud Speech-Dokumentation zur Steigerung.
Wann sollte die automatische oder manuelle Sprachanpassung verwendet werden?
Allgemein gilt: Wenn Sie nicht sicher sind, ob die Sprachanpassung die Spracherkennungsqualität für Ihren Agent verbessert (ohne klare Transkriptionsfehlermuster im Hinterkopf), sollten Sie zuerst die automatische Sprachanpassung ausprobieren, bevor Sie auf die manuelle Sprachanpassung zurückgreifen. Bei differenzierteren Entscheidungen zwischen automatischer Sprachanpassung und manueller Sprachanpassung sollten Sie die folgenden Faktoren berücksichtigen:
1. Formular ausfüllen
Die automatische Sprachanpassung funktioniert sehr gut mit dem Ausfüllen von Formularen, da sie den ABNF-Grammatikkontext für die Formularparameter verwendet und Grammatikregeln basierend auf ihren Entitätstypen erzwingt. Da die manuelle Sprachanpassung noch keine ABNF-Grammatiken unterstützt, wird die automatische Sprachanpassung für eine Formularfüllseite im Allgemeinen gegenüber der manuellen Sprachanpassung bevorzugt. Bei Seiten mit nur Parametern für Systementitäten und einfachen Regexp-Entitäten, die von Tokens für Sprachklassen unterstützt werden, können Sie auch die manuelle Sprachanpassung verwenden, um einen Gewichtungseffekt zu erzielen, der der automatischen Sprachanpassung ähnelt, ohne dass Regexp-Entitäten abgestimmt werden müssen.
2. Komplexität des Seiten- oder Ablaufübergangs
Bei einer einfachen Seite oder einem einfachen Ablauf mit wenigen Intent-Routen generiert die automatische Sprachanpassung wahrscheinlich repräsentative Gewichtungsformulierungen und funktioniert in angemessener Weise gut.
Wenn eine Seite oder ein Ablauf jedoch eine große Anzahl von Intent-Routen hat (für eine Seite sollten Sie auch die Anzahl der Routen auf Flussebene berücksichtigen) oder wenn einer der Intents zu lange oder kurze unwichtige Trainingsformulierungen hat (z. B. ein ganzer Satz oder ein einzelnes Wort mit nur ein oder zwei Silben), ist es sehr wahrscheinlich, dass das Sprachanpassungsmodell für diese Wortgruppen nicht gut funktioniert. Versuchen Sie zuerst, die Sprachanpassung für die offenen Seiten mit hoher Komplexität zu deaktivieren. Aktivieren Sie dazu die manuelle Sprachanpassung mit leeren Satzsätzen (leere Anpassungsüberschreibung). Prüfen Sie danach, ob es spezielle eindeutige Formulierungen gibt, die Speech-to-Text noch zur Verfügung gestellt werden müssen, um die Erkennungsqualität zu verbessern.
Ein weiteres Symptom für dieses Komplexitätsproblem ist eine Vielzahl von Unter- oder Übergewichtungsproblemen, wenn die automatische Sprachanpassung aktiviert ist. Ähnlich wie im obigen Fall müssen Sie zuerst die Sprachanpassung für die jeweilige Seite testen. Wenn nach dem Deaktivieren der Sprachanpassung weiterhin fehlerhaftes Verhalten auftritt, können Sie die zu korrigierenden Formulierungen zu den Einstellungen für die Sprachanpassung hinzufügen und sogar Verstärkerwerte hinzufügen, um die Gewichtungseffekte bei Bedarf weiter zu verstärken.
Sprachanpassung testen
Wenn Sie die Sprachanpassungsfunktionen Ihres Agents für eine bestimmte Trainingsformulierung oder -entitätsübereinstimmung testen, sollten Sie nicht direkt zum Testen der Übereinstimmung mit der ersten Sprachäußerung einer Unterhaltung wechseln. Sie sollten vor der Übereinstimmung, die Sie testen möchten, nur Sprach- oder Ereigniseingaben für die gesamte Unterhaltung verwenden. Wenn Ihr Agent auf diese Weise getestet wird, verhält sich Ihr Agent ähnlich wie in echten Unterhaltungen in der Produktionsumgebung.
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 für Cloud Speech können Sie prüfen, ob die Modellanpassung für Ihre Kombination aus Sprachmodell und Sprache verfügbar ist.
Derzeit unterstützt die manuelle Sprachanpassung noch keine benutzerdefinierten Klassen oder ABNF-Grammatik. Sie können die automatische Sprachanpassung aktivieren oder eine Anfrage zur Laufzeiterkennung für Intents verwenden, um diese Anpassungsfunktionen zu nutzen.
Derselbe Verstärkungswert kann sich für verschiedene Sprachmodelle und Sprachen unterscheiden. Seien Sie daher vorsichtig, wenn Sie ihn manuell für Agents mit mehreren Sprachen oder Sprachmodellen konfigurieren. Derzeit gilt die manuelle Sprachanpassung für alle Sprachen in einem Agent. Daher sollten mehrsprachige Agents nur sprachunabhängige Wortgruppen verwenden oder jede Sprache in einen separaten Agent aufteilen. Da das Standardverhalten der Gewichtung (kein Boost oder 0-Boost) in der Regel für alle Sprachen und Modelle gut funktioniert, müssen Sie nur dann sprachspezifische Verstärkungswerte konfigurieren, wenn für Ihren Erkennungsanwendungsfall eine stärkere Gewichtung erforderlich ist. Weitere Informationen zur Feinabstimmung des Optimierungsfaktors finden Sie in diesem Cloud Speech-to-Text-Leitfaden.
- Das Erkennen langer Zeichensequenzen ist schwierig. Die Anzahl der Zeichen, die in einer einzelnen Runde erfasst werden, steht in direktem Zusammenhang mit der Qualität der Audioeingabe.
Wenn Sie alle Richtlinien für reguläre Ausdrücke befolgt und versucht haben, relevante Sprachklassentokens in den Einstellungen für die manuelle Sprachanpassung zu verwenden, und immer noch Probleme haben, die gesamte Sequenz in einer einzigen Runde zu erfassen, können Sie weitere dialogorientierte 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.