Wenn Sie eine Intent-Erkennungsanfrage ausführen, 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-Konsole.
- Wählen Sie Ihr Google Cloud 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 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 | Agentenressource | Agentenressource |
| RPC | Agentenoberfläche | Agentenoberflä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 |
Agentendesign 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 Dialogflow dazu zwingt, Aufforderungen zum Ausfüllen von Formularen zu verwenden, wird die automatische Sprachanpassung stark auf die Entität ausgerichtet, die ausgefüllt wird.
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 Trainingsphrase definieren, die die Systementität @sys.number verwendet, und der Endnutzer „Ich möchte zwei“ sagt, kann dies als „zu“, „auch“, „2“ oder „zwei“ 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 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:zeroone...twenty - Definieren Sie eine
product- odersize- Entität mit folgenden Einträgen:sixteen packtwo ounce...five liter - In der Sprachanpassung werden nur Entitätssynonyme verwendet. Sie können also eine Entität mit dem Referenzwert
1und dem einzelnen Synonymonedefinieren, 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 richtig konfiguriert und getestet wurden.Damit diese Sequenzen per Spracheingabe erkannt werden, müssen Sie alle vier der folgenden Anforderungen erfüllen:
1. Anforderung für reguläre Ausdrücke
Mit jedem regulären Ausdruck können Entitäten aus Texteingaben extrahiert werden. Allerdings wird die automatische Sprachanpassung nur bei bestimmten Ausdrücken angewiesen, bei der Spracherkennung buchstabierte alphanumerische oder Ziffernfolgen zu bevorzugen.
In der Regex-Entität muss mindestens ein Eintrag alle dieser Regeln erfüllen:
- Sollte mit einigen alphanumerischen Zeichen übereinstimmen, z. B.
\d,\w,[a-zA-Z0-9] - Darf keine Leerzeichen (
oder\s) enthalten,\s*und\s?sind jedoch zulässig - Darf keine Erfassungs- oder Nicht-Erfassungsgruppen enthalten
() - Sollte nicht versuchen, Sonderzeichen oder Satzzeichen wie die folgenden zu finden:
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Dieser Eintrag kann die Zeichensätze [] 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. Anforderung für die Annotation von Trainingsformulierungen
Verwenden Sie die Regex-Entität nicht für eine Annotation einer Intent-Trainingsphrase. 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 von der Sequenzerkennung, wenn „ABC123“ abgeglichen wird. Die NLU gleicht jedoch dank der ursprünglichen Regel, die Leerzeichen zulässt, 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 Regex
Die integrierte Unterstützung für Regex-Entitäten bei der automatischen Sprachanpassung variiert je nach Sprache.
Informationen zu den unterstützten Sprachen für $OOV_CLASS_ALPHANUMERIC_SEQUENCE und $OOV_CLASS_DIGIT_SEQUENCE finden Sie unter Klassentokens für die Spracherkennung.
Ist Ihre Sprache nicht aufgeführt, können Sie diese Einschränkung umgehen. Wenn Sie beispielsweise möchten, dass eine Mitarbeiter-ID, die aus drei Buchstaben gefolgt von drei Ziffern besteht, genau erkannt wird, können Sie Ihren Agenten mit den folgenden Entitäten und Parametern erstellen:
- Definieren Sie eine
digit-Entität, die 10 Entitätseinträge (mit Synonymen) enthält:0, 01, 1...9, 9 - Definieren Sie eine
letter-Entität, die 26 Entitätseinträge (mit Synonymen) enthält:A, AB, 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-idals Parameter in einer Trainingsformulierung.
Manuelle Sprachanpassung
Mit 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 Einstellungen für die Sprachanpassung auf Ablauf- und Seitenebene haben eine hierarchische Beziehung. Das bedeutet, dass eine Seite standardmäßig die Einstellungen für die Sprachanpassung von der Ablaufebene übernimmt und die detailliertere Seitenebene immer die Ablaufebene überschreibt, wenn die Seite eine benutzerdefinierte Einstellung hat.
Für die Einstellung der Sprachanpassung können die Einstellungen auf Ablauf- und Seitenebene unabhängig voneinander aktiviert werden. Wenn die Einstellung für die Anpassung auf Ablaufebe nicht aktiviert ist, können Sie trotzdem auf Seitenebene Anpassen auswählen, um die manuelle Sprachanpassung für diese bestimmte Seite zu aktivieren. Wenn Sie die manuelle Sprachanpassung in der Einstellung auf Ablaufebene deaktivieren, sind Seiten im Ablauf, für die Anpassen ausgewählt ist, nicht betroffen.
Die Einstellungen auf Ablauf- und Seitenebene können jedoch nicht unabhängig voneinander deaktiviert werden. Wenn für einen Ablauf die manuelle Sprachanpassung aktiviert ist, können Sie sie für eine Seite im Ablauf nicht über die Option Anpassen deaktivieren. Wenn Sie also für Seiten innerhalb eines Ablaufs sowohl die manuelle als auch die automatische Sprachanpassung verwenden möchten, sollten Sie die manuelle Sprachanpassung nicht auf Ablaufebene aktivieren, sondern nur die Anpassungseinstellungen auf Seitenebene verwenden. In der folgenden Tabelle finden Sie Informationen dazu, welche Kombination aus Ablauf- und Seiteneinstellung Sie für Ihren Anpassungsfall verwenden sollten.
| Zielwirkung | Empfohlene Verwendung von Einstellungen für adaptives Targeting |
|---|---|
| Automatische Anpassung für einen Ablauf deaktivieren | Flow ohne Wortgruppen aktiviert (Seiten im Flow verwenden standardmäßig die Flow-Einstellung). |
| Automatische Anpassung für eine Seite deaktivieren | Ablauf deaktiviert und Seite aktiviert (Anpassen ausgewählt) ohne Wortgruppen. |
| Nur manuelle Sprachanpassung für alle Seiten innerhalb eines Ablaufs verwenden | Flow aktiviert. Passen Sie Seiten an, für die andere Wortgruppen als für den Ablauf verwendet werden müssen. |
| Gemischte Verwendung von automatischer und manueller Anpassung innerhalb eines Ablaufs | Flow deaktiviert. Passen Sie die Seiten an, für die Sie die manuelle Anpassung anwenden möchten. |
| Nur die automatische Sprachanpassung für alle Seiten innerhalb eines Ablaufs verwenden | Flow deaktiviert. |
Manuelle Sprachanpassung aktivieren oder deaktivieren
So aktivieren oder deaktivieren Sie die manuelle Sprachanpassung auf Ablauf- oder Seitenebene:
Ablauf-Einstellungen
- Öffnen Sie die Dialogflow CX-Konsole.
- Wählen Sie Ihr Google Cloud Projekt aus.
- Bewegen Sie den Mauszeiger im Abschnitt Abläufe über den Ablauf.
- Klicken Sie auf den Button „Optionen“ .
- Wählen Sie im Drop-down-Menü Flow-Einstellungen aus.
- Klicken Sie das Kästchen Manuelle Sprachanpassung aktivieren an oder heben Sie die Auswahl auf.
- Wortgruppensätze in der Tabelle „Wortgruppensätze“ bearbeiten, hinzufügen oder löschen
- Klicken Sie auf Speichern.
Seiteneinstellungen
- Öffnen Sie die Dialogflow CX-Konsole.
- Wählen Sie Ihr Google Cloud Projekt aus.
- Bewegen Sie den Mauszeiger im Abschnitt Seiten über die Seite.
- Klicken Sie auf den Button „Optionen“ .
- Wählen Sie im Drop-down-Menü Seiteneinstellungen aus.
- Ablaufebene verwenden ist standardmäßig ausgewählt. Wenn diese Option ausgewählt ist, werden Anpassungsformulierungen auf Ablaufebene für diese Seite wiederverwendet. Sie können Anpassen auswählen, um Anpassungsformulierungen zu konfigurieren, die sich von den Einstellungen auf Ablaufebene unterscheiden. Auch wenn die manuelle Sprachanpassung auf Ablaufebene 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 Tabelle der Anpassungswortgruppensätze bearbeiten, hinzufügen oder löschen
- Klicken Sie auf Speichern.
Manuelle Konfiguration von Wortgruppensätzen zur Verbesserung der Spracherkennung
1. Wörter und Wortgruppen
In einem Anpassungs-Wortgruppensatz können Sie Wortgruppen mit einem oder mehreren Wörtern mit optionalen Verweisen auf Sprachklassentokens definieren. Sie können beispielsweise Wortgruppen wie „guter Preis“, „Sendungsnummer ist $OOV_CLASS_ALPHANUMERIC_SEQUENCE“ oder „$FULLPHONENUM“ hinzufügen. Diese bereitgestellten Wortgruppen erhöhen die Wahrscheinlichkeit, dass sie im Vergleich zu anderen phonetisch ähnlichen Wortgruppen transkribiert werden. Wenn Sie eine Wortgruppe mit mehreren Wörtern ohne Optimierung hinzufügen, wird die Gewichtung sowohl auf die gesamte Wortgruppe als auch auf die zusammenhängenden Teile innerhalb der Wortgruppe angewendet. Im Allgemeinen sollte die Anzahl der Wortgruppen gering gehalten werden. Sie sollten nur Wortgruppen hinzufügen, die die Spracherkennung ohne Sprachanpassung nur schwer richtig erkennt. Wenn Speech-to-Text eine Wortgruppe bereits richtig erkennen kann, muss sie nicht in die Einstellungen für die Sprachanpassung aufgenommen werden. Wenn Sie auf einer Seite oder in einem Ablauf einige Wortgruppen sehen, die von Speech-to-Text häufig falsch erkannt werden, können Sie die richtigen Wortgruppen den entsprechenden Anpassungseinstellungen hinzufügen.
Beispiel für die Korrektur von Erkennungsfehlern
Hier ist ein Beispiel dafür, wie Sie mit der Sprachanpassung Erkennungsprobleme beheben können. Angenommen, Sie entwickeln einen Agenten für den Handel mit Mobiltelefonen. Der Nutzer kann nach der ersten Frage des Agenten „Wobei kann ich Ihnen helfen?“ etwas sagen, das die Wortgruppe „Handys verkaufen“ oder „Mobiltelefon“ enthält. Wie können wir die Sprachanpassung verwenden, um die Erkennungsgenauigkeit für beide Wortgruppen zu verbessern?
Wenn Sie beide Wortgruppen in die Anpassungseinstellungen aufnehmen, kann Speech-to-Text immer noch verwirrt sein, da sie ähnlich klingen. Wenn Sie nur eine der beiden Wortgruppen angeben, kann es passieren, dass Speech-to-Text eine Wortgruppe fälschlicherweise als die andere erkennt. Wenn Sie die Genauigkeit der Spracherkennung für beide Wortgruppen verbessern möchten, müssen Sie Speech-to-Text mehr Kontextinformationen zur Verfügung stellen, damit das System unterscheiden kann, wann „sell phones“ und wann „cell phone“ gemeint ist. Beispielsweise stellen Sie möglicherweise fest, dass Nutzer häufig „Handys verkaufen“ als Teil von Äußerungen wie „Wie kann ich Handys verkaufen?“, „Ich möchte Handys verkaufen“ oder „Verkaufen Sie Handys?“ verwenden, während „Mobiltelefon“ als Teil von Äußerungen wie „Mobiltelefon kaufen“, „Mobiltelefonrechnung“ und „Mobiltelefontarif“ verwendet wird. Wenn Sie dem Modell diese präziseren Wortgruppen anstelle der kurzen ursprünglichen Wortgruppen „Mobiltelefon“ und „Mobiltelefone verkaufen“ zur Verfügung stellen, lernt Speech-to-Text, dass „Mobiltelefone verkaufen“ als Verbphrase eher nach Wörtern wie „wie“, „möchte“ und „möchten Sie“ folgt, während „Mobiltelefon“ als Nominalphrase eher nach Wörtern wie „kaufen“ oder vor Wörtern wie „Rechnung“ oder „Dienst“ folgt. Als Faustregel für die Konfiguration von Anpassungsformulierungen gilt daher, dass es in der Regel besser ist, präzisere Formulierungen wie „Wie verkaufe ich Smartphones?“ oder „Verkaufen Sie Smartphones?“ anzugeben, als nur „Smartphone verkaufen“ einzufügen.
2. Sprachklassentokens
Neben Wörtern in natürlicher Sprache können Sie auch Verweise auf Sprachklassentokens in eine Wortgruppe einbetten. Sprachklassen-Tokens stehen für gängige Konzepte, die in der Regel einem bestimmten Format folgen. Beispielsweise wird bei der Hausnummer in einer Adresse wie „Hauptstraße 123“ normalerweise das numerische Format „123“ und nicht die ausgeschriebene Version „einhundertdreiundzwanzig“ erwartet. Wenn Sie eine bestimmte Formatierung in den Transkriptionsergebnissen erwarten, insbesondere für alphanumerische Sequenzen, sehen Sie sich die Liste der unterstützten Klassentokens an, um zu erfahren, 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 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 Wortgruppen ohne den Optimierungswert keine ausreichende Bias-Wirkung hat, können Sie den Optimierungswert verwenden, um die Bias-Wirkung der Sprachanpassung weiter zu verstärken.
Wenn Sie den Wert auf einen Wert größer als 0 und höchstens 20 festlegen, wird ein zusätzlicher Bias angewendet. Wenn der Optimierungswert leer oder 0 ist, hilft der standardmäßige Biasing-Effekt, die gesamte Wortgruppe und die zusammenhängenden Teile innerhalb der Wortgruppe zu erkennen. Beispielsweise hilft eine nicht optimierte Wortgruppe wie „haben Sie geöffnet, um Smartphones zu verkaufen“, diese Wortgruppe und auch ähnliche Wortgruppen wie „Ich verkaufe Smartphones“ und „Hallo, haben Sie geöffnet“ zu erkennen.
Wenn ein positiver Boost angewendet wird, ist der Biasing-Effekt stärker, gilt aber nur für die genaue Wortgruppe. Beispielsweise hilft der optimierte Ausdruck „Handys verkaufen“ dabei, „Können Sie Handys verkaufen?“ zu erkennen, aber nicht „Verkaufen Sie Handys?“.
Aus diesen Gründen erzielen Sie die besten Ergebnisse, wenn Sie Wortgruppen sowohl mit als auch ohne Optimierung angeben.
Durch höhere Optimierungswerte lässt sich die Zahl der falsch-negativen Ergebnisse möglicherweise verringern. Solche Ergebnisse liegen vor, wenn ein Wort oder eine Wortgruppe in den Audiodaten vorkommt, aber von Speech-to-Text nicht richtig erkannt wird (Underbiasing). 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 (Overbiasing). In der Regel müssen Sie Ihre Biasing-Phrasen optimieren, um einen guten Kompromiss zwischen den beiden Biasing-Problemen zu finden.
Weitere Informationen zur Feinabstimmung des Optimierungswerts für Wortgruppen finden Sie im Cloud Speech-Dokument zur Optimierung.
Speech-to-Text V2 chirp_3 unterstützt insgesamt bis zu 1.000 Phrasen pro Anfrage und ignoriert numerische boost-Werte. Informationen zu Limits und Richtlinien für die chirp_3-Anpassung finden Sie unter Accuracy durch Modellanpassung verbessern.
Wann die automatische oder manuelle Sprachanpassung verwendet werden sollte
Wenn Sie sich nicht sicher sind, ob die Sprachanpassung die Qualität der Spracherkennung für Ihren Agenten verbessert (keine klaren Transkriptionsfehlermuster im Sinn), sollten Sie zuerst die automatische Sprachanpassung ausprobieren, bevor Sie die manuelle Sprachanpassung verwenden. Für differenziertere Entscheidungen sollten Sie die folgenden Faktoren berücksichtigen, um sich zwischen der automatischen und der manuellen Sprachanpassung zu entscheiden:
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 Seite zum Ausfüllen von Formularen im Allgemeinen der manuellen Sprachanpassung vorgezogen. Bei Seiten, die nur Systementitätsparameter und einfache RegEx-Entitäten enthalten, die von Sprachklassen-Tokens unterstützt werden, können Sie auch die manuelle Sprachanpassung verwenden, um einen Biasing-Effekt ähnlich der automatischen Sprachanpassung zu erzielen, ohne RegEx-Entitäten optimieren zu 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 Biasing-Phrasen und funktioniert recht gut.
Wenn eine Seite oder ein Ablauf jedoch eine große Anzahl von Intent-Routen hat (berücksichtigen Sie bei einer Seite auch die Anzahl der Routen auf Ablaufebenen) oder wenn einer der Intents übermäßig lange oder kurze unwichtige Trainingsformulierungen hat (z. B. ein ganzer Satz oder ein einzelnes Wort mit nur einer oder zwei Silben), ist es sehr wahrscheinlich, dass das Sprachanpassungsmodell mit diesen Formulierungen nicht gut funktioniert. Sie sollten zuerst versuchen, die Sprachanpassung für die offenen Seiten mit hoher Komplexität zu deaktivieren. Aktivieren Sie dazu die manuelle Sprachanpassung mit leeren Wortgruppen (leere Anpassungsüberschreibung). Anschließend können Sie prüfen, ob es spezielle, eindeutige Wortgruppen gibt, die Speech-to-Text noch zur Verfügung gestellt werden müssen, um die Erkennungsqualität zu verbessern.
Ein weiteres Symptom dieses Komplexitätsproblems ist, dass bei aktivierter automatischer Sprachanpassung eine Vielzahl von Problemen mit Unter- oder Überverzerrung auftreten. Ähnlich wie im obigen Fall müssen Sie auch hier zuerst mit deaktivierter Sprachanpassung für die jeweilige Seite testen. Wenn das fehlerhafte Verhalten nach dem Deaktivieren der Sprachanpassung weiterhin auftritt, können Sie die zu korrigierenden Wortgruppen in den Einstellungen für die Sprachanpassung hinzufügen und sogar Optimierungswerte hinzufügen, um die Biasing-Effekte bei Bedarf weiter zu verstärken.
Sprachanpassung testen
Wenn Sie die Funktionen zur Sprachanpassung Ihres Agenten für eine bestimmte Trainingsphrase oder einen bestimmten Entitätsabgleich testen, sollten Sie nicht direkt mit dem Testen des Abgleichs mit der ersten Sprachäußerung einer Unterhaltung beginnen. Sie sollten für die gesamte Unterhaltung vor dem Abgleich, den Sie testen möchten, nur Sprach- oder Ereigniseingaben verwenden. Das Verhalten Ihres KI-Agenten bei einem solchen Test ähnelt dem Verhalten in tatsächlichen 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 prüfen, ob die „Modellanpassung“ für Ihre Kombination aus Sprachmodell und Sprache verfügbar ist.
Derzeit werden bei der manuellen Sprachanpassung weder benutzerdefinierte Klassen noch ABNF-Grammatik unterstützt. Sie können die automatische Sprachanpassung aktivieren oder die Anfrage zur Intent-Erkennung während der Laufzeit verwenden, um diese Anpassungsfunktionen zu nutzen.
Derselbe Optimierungswert kann bei verschiedenen Sprachmodellen und Sprachen unterschiedlich funktionieren. Seien Sie daher vorsichtig, wenn Sie ihn manuell für Agents konfigurieren, die mehrere Sprachen oder Sprachmodelle verwenden. Derzeit gilt die manuelle Sprachanpassung für alle Sprachen in einem Agenten. Daher sollten mehrsprachige Agenten nur sprachunabhängige Wortgruppen verwenden oder jede Sprache in einen separaten Agenten aufteilen. Da das Standard-Biasing-Verhalten (keine oder 0-Optimierung) in der Regel für alle Sprachen und Modelle gut funktioniert, müssen Sie keine sprachspezifischen Optimierungswerte konfigurieren, es sei denn, für Ihren Erkennungsanwendungsfall ist ein stärkeres Biasing erforderlich. Weitere Informationen zur Feinabstimmung des Optimierungswerts 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, hängt direkt von der Qualität der Audioeingabe ab.
Wenn Sie alle Richtlinien für Regex-Entitäten befolgt und versucht haben, relevante Sprachklassen-Tokens in den Einstellungen für die manuelle Sprachanpassung zu verwenden, und immer noch Schwierigkeiten haben, die gesamte Sequenz in einer einzigen Runde zu erfassen, können Sie einige weitere konversationelle 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.