Verbesserung der Spracherkennung mit einem benutzerdefinierten Vokabular - Amazon Lex

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verbesserung der Spracherkennung mit einem benutzerdefinierten Vokabular

Sie können Amazon Lex V2 weitere Informationen darüber geben, wie Audiokonversationen mit einem Bot verarbeitet werden können, indem Sie ein benutzerdefiniertes Vokabular in einer bestimmten Sprache erstellen. Ein benutzerdefiniertes Vokabular ist eine Liste bestimmter Phrasen, die Amazon Lex V2 in der Audioeingabe erkennen soll. Dies sind in der Regel Eigennamen oder domänenspezifische Wörter, die Amazon Lex V2 nicht erkennt.

Nehmen wir zum Beispiel an, Sie haben einen Bot für technischen Support. Sie können einem benutzerdefinierten Vokabular „Backup“ hinzufügen, damit der Bot das Audio korrekt als „Backup“ transkribiert, auch wenn das Audio wie „zusammenpacken“ klingt. Ein benutzerdefiniertes Vokabular kann auch dabei helfen, seltene Wörter im Audio wie „Zahlungsfähigkeit“ für Finanzdienstleistungen oder Eigennamen wie „Cognito“ oder „Monitron“ zu erkennen.

Grundlagen des benutzerdefinierten Wortschatzes

  • Ein benutzerdefiniertes Vokabular funktioniert bei der Transkription von Audioeingaben an einen Bot. Sie müssen Beispieläußerungen angeben, um eine Absicht oder einen Slot-Wert zu erkennen.

  • Ein benutzerdefiniertes Vokabular ist für eine bestimmte Sprache einzigartig. Sie müssen benutzerdefinierte Vokabeln für jede Sprache unabhängig konfigurieren. Benutzerdefinierte Vokabeln werden nur für die Sprachen Englisch (Großbritannien) und Englisch (USA) unterstützt.

  • Benutzerdefinierte Vokabeln sind mit Contact-Center-Integrationen verfügbar, die von Amazon Lex V2 unterstützt werden. Das Testfenster in der Amazon Lex V2-Konsole unterstützt benutzerdefinierte Vokabeln für alle Amazon Lex V2-Bots, die am oder nach dem 31. Juli 2022 erstellt wurden. Wenn Sie Probleme mit benutzerdefinierten Vokabeln im Testfenster haben, erstellen Sie den Bot neu und versuchen Sie es erneut.

Amazon Lex V2 verwendet benutzerdefinierte Vokabeln, um sowohl Absichten als auch Punkte zu ermitteln. Dieselbe benutzerdefinierte Vokabeldatei wird für Intents und Slots verwendet. Sie können die Funktion für benutzerdefiniertes Vokabular für einen Slot selektiv deaktivieren, wenn Sie einen Slot-Typ hinzufügen.

Erwecken einer Absicht — Sie können ein benutzerdefiniertes Vokabular erstellen, um eine Absicht hervorzurufen. Diese Phrasen werden zur Transkription verwendet, wenn Ihr Bot die Absicht des Benutzers ermittelt. Wenn Sie beispielsweise den Ausdruck „Backup“ in Ihrem benutzerdefinierten Vokabular konfiguriert haben, transkribiert Amazon Lex V2 die Benutzereingabe in „Können Sie bitte meine Fotos sichern?“ —auch wenn der Ton wie „Kannst du bitte meine Fotos zusammenpacken“ klingt. Sie können den Grad der Verstärkung für jede Phrase angeben, indem Sie eine Gewichtung von 0, 1, 2 oder 3 konfigurieren. Sie können auch eine alternative Darstellung der Phrase in der letzten Sprachausgabe im Text angeben, indem Sie ein displayAs Feld hinzufügen.

Die benutzerdefinierten Vokabelphrasen, die zur Verbesserung der Transkription bei der Absichtserhebung verwendet werden, wirken sich nicht auf die Transkriptionen beim Auslösen von Slots aus. Weitere Informationen zum Erstellen eines benutzerdefinierten Vokabulars zum Erwecken von Absichten finden Sie unter. Erstellung eines benutzerdefinierten Vokabulars zum Ermitteln von Absichten und Slots

Auslösen benutzerdefinierter Slots — Sie können ein benutzerdefiniertes Vokabular verwenden, um die Slot-Erkennung für Audiokonversationen zu verbessern. Um die Fähigkeit Ihres Amazon Lex V2-Bots zu verbessern, Slot-Werte zu erkennen, erstellen Sie einen benutzerdefinierten Slot und fügen Sie die Slot-Werte dem benutzerdefinierten Slot hinzu. Wählen Sie dann Slot-Werte als benutzerdefiniertes Vokabular verwenden aus. Beispiele für Slot-Werte sind Produktnamen, Kataloge oder Eigennamen. In benutzerdefinierten Vokabeln sollten Sie keine gebräuchlichen Wörter oder Ausdrücke wie „ja“ und „nein“ verwenden.

Nachdem die Slot-Werte hinzugefügt wurden, werden diese Werte verwendet, um die Slot-Erkennung zu verbessern, wenn der Bot Eingaben für den benutzerdefinierten Slot erwartet. Diese Werte werden nicht für die Transkription verwendet, wenn eine Absicht ausgelöst wird. Weitere Informationen finden Sie unter Slot-Typen hinzufügen.

Bewährte Methoden für die Erstellung eines benutzerdefinierten Vokabulars

Eine Absicht wecken

  • Benutzerdefinierte Vokabulare sind am besten zur Ausrichtung auf bestimmte Wörter oder Ausdrücke geeignet. Fügen Sie einem benutzerdefinierten Wortschatz nur Wörter hinzu, wenn sie von Amazon Lex V2 nicht ohne Weiteres erkannt werden.

  • Entscheiden Sie, wie viel Gewicht einem Wort beigemessen werden soll, basierend darauf, wie oft das Wort in der Transkription nicht erkannt wird und wie selten das Wort in der Eingabe vorkommt. Schwer auszusprechende Wörter erfordern ein höheres Gewicht.

  • Verwenden Sie einen repräsentativen Testsatz, um festzustellen, ob ein Gewicht angemessen ist. Sie können ein Audiotest-Set sammeln, indem Sie die Audioprotokollierung in den Konversationsprotokollen aktivieren.

  • Vermeiden Sie es, kurze Wörter wie „an“, „es“, „zu“, „ja“, „nein“ in einem benutzerdefinierten Vokabular zu verwenden.

Einen benutzerdefinierten Slot auslösen

  • Fügen Sie dem benutzerdefinierten Slot-Typ die Werte hinzu, von denen Sie erwarten, dass sie erkannt werden. Fügen Sie alle möglichen Slot-Werte für den benutzerdefinierten Slot-Typ hinzu, unabhängig davon, wie häufig oder selten der Slot-Wert ist.

  • Aktivieren Sie die Option nur, wenn der benutzerdefinierte Slot-Typ eine Liste von Katalogwerten oder Entitäten wie Produktnamen oder Investmentfonds enthält.

  • Deaktivieren Sie die Option, wenn der Slot-Typ verwendet wird, um generische Ausdrücke wie „ja“, „nein“, „ich weiß nicht“, „vielleicht“ oder generische Wörter wie „eins“, „zwei“, „drei“ zu erfassen.

  • Beschränken Sie die Anzahl der Slot-Werte und Synonyme auf 500 oder weniger, um eine optimale Leistung zu erzielen.

Geben Sie Akronyme oder andere Wörter ein, deren Buchstaben einzeln als einzelne Buchstaben ausgesprochen werden sollen, die durch einen Punkt und ein Leerzeichen getrennt sind. Verwenden Sie keine einzelnen Buchstaben, es sei denn, sie sind Teil einer Phrase, wie „J.P. Morgan“ oder „A.W.S.“ Sie können Groß- oder Kleinbuchstaben verwenden, um ein Akronym zu definieren.

Erstellung eines benutzerdefinierten Vokabulars zum Ermitteln von Absichten und Slots

Sie können die Amazon Lex V2-Konsole verwenden, um ein benutzerdefiniertes Vokabular zu erstellen und zu verwalten, oder Sie können Amazon Lex V2-API-Operationen verwenden. Es gibt zwei Möglichkeiten, über die Konsole ein benutzerdefiniertes Vokabular zu erstellen:

Importieren Sie benutzerdefiniertes Vokabular in die Konsole:
  1. Öffnen Sie die Amazon Lex V2-Konsole unter https://console.aws.amazon.com/lexv2/home

  2. Wählen Sie aus der Liste der Bots den Bot aus, dem Sie das benutzerdefinierte Vokabular hinzufügen möchten.

  3. Wählen Sie auf der Bot-Detailseite im Abschnitt Sprachen hinzufügen die Option Sprachen anzeigen aus.

  4. Wählen Sie aus der Liste der Sprachen die Sprache aus, zu der Sie das benutzerdefinierte Vokabular hinzufügen möchten.

Erstellen Sie direkt über die Konsole ein neues benutzerdefiniertes Vokabular:
  1. Klicken Sie auf der Seite mit den Sprachdetails im Abschnitt Benutzerdefiniertes Vokabular auf Erstellen. Dadurch wird ein Bearbeitungsfenster geöffnet, in dem kein benutzerdefiniertes Vokabular vorhanden ist.

  2. Fügen Sie nach Bedarf Eingaben für PhraseDisplayAs, und Gewicht hinzu. Sie können weitere Inline-Änderungen an hinzugefügten Elementen vornehmen, indem Sie deren Felder aktualisieren oder sie aus der Liste löschen.

  3. Klicken Sie auf Speichern. Bitte beachte: Das neue benutzerdefinierte Vokabular wird erst in deinem Bot gespeichert, nachdem du auf Speichern geklickt hast.

  4. Sie können auf dieser Seite weitere Inline-Änderungen vornehmen und auf Speichern klicken, wenn Sie fertig sind.

  5. Auf dieser Seite können Sie auch eine benutzerdefinierte Vokabeldatei aus dem Drop-down-Menü oben rechts importieren, exportieren und löschen.

Verwenden Sie die ListCustomVocabularyItems API, um die benutzerdefinierten Vokabeleinträge einzusehen:
  1. Verwenden Sie die ListCustomVocabularyItems Operation, um die benutzerdefinierten Vokabeleinträge anzuzeigen. Der Anfragetext sieht wie folgt aus:

    { "maxResults": number, "nextToken": "string" }
  2. Bitte beachten Sie, dass maxResults und optionale Felder für den Anfragetext nextToken sind.

  3. Die Antwort der ListCustomVocabularyItems Operation sieht wie folgt aus:

    { "botId": "string", "botVersion": "string", "localeId": "string", "customVocabularyItems": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
Verwenden Sie die BatchCreateCustomVocabularyItem API, um neue benutzerdefinierte Vokabeleinträge zu erstellen:
  1. Wenn für das Gebietsschema Ihres Bots noch kein benutzerdefiniertes Vokabular erstellt wurde, folgen Sie bitte den Schritten, um ein benutzerdefiniertes Vokabular StartImportzu erstellen.

  2. Nachdem das benutzerdefinierte Vokabular erstellt wurde, verwenden Sie die BatchCreateCustomVocabularyItem Operation, um neue benutzerdefinierte Vokabeleinträge zu erstellen. Der Anfragetext sieht wie folgt aus:

    { "customVocabularyItemList": [ { "phrase": "string", "weight": number, "displayAs": "string" } ] }
  3. Bitte beachten Sie, dass weight und optionale Felder für den Anfragetext displayAs sind.

  4. Die Antwort von BatchCreateCustomVocabularyItem wird wie folgt aussehen:

    { "botId": "string", "botVersion": "string", "localeId": "string", "errors": [ { "itemId": "string", "errorMessage": "string", "errorCode": "string" } ], "resources": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
  5. Da es sich um einen Batchvorgang handelt, schlägt die Anfrage nicht fehl, wenn eines der Elemente nicht erstellt werden kann. Die Fehlerliste enthält Informationen darüber, warum der Vorgang für diesen bestimmten Eintrag fehlgeschlagen ist. Die Ressourcenliste enthält alle Einträge, die erfolgreich erstellt wurden.

  6. Denn BatchCreateCustomVocabularyItem Sie können mit diesen Arten von Fehlern rechnen:

    • RESOURCE_DOES_NOT_EXIST: Das benutzerdefinierte Vokabular existiert nicht. Gehen Sie wie folgt vor, um ein benutzerdefiniertes Vokabular zu erstellen, bevor Sie diesen Vorgang aufrufen.

    • DUPLICATE_INPUT: Die Liste der Eingaben enthält doppelte Phrasen.

    • RESOURCE_ALREADY_EXISTS: Die angegebene Phrase für den Eintrag existiert bereits in Ihrem benutzerdefinierten Vokabular.

    • INTERNAL_SERVER_FAILURE: Bei der Bearbeitung Ihrer Anfrage ist ein Fehler im Backend aufgetreten. Dies kann auf einen Serviceausfall oder ein anderes Problem hinweisen.

Verwenden Sie die BatchDeleteCustomVocabularyItem API, um bestehende benutzerdefinierte Vokabeleinträge zu löschen:
  1. Wenn für das Gebietsschema Ihres Bots noch kein benutzerdefiniertes Vokabular erstellt wurde, folgen Sie bitte den Schritten unter Verwenden Sie die, StartImportum ein benutzerdefiniertes Vokabular zu erstellen, um eines zu erstellen.

  2. Nachdem das benutzerdefinierte Vokabular erstellt wurde, verwenden Sie den BatchDeleteCustomVocabularyItem Vorgang, um vorhandene benutzerdefinierte Vokabeleinträge zu löschen. Der Anfragetext sieht wie folgt aus:

    { "customVocabularyItemList": [ { "itemId": "string" } ] }
  3. Die Antwort von BatchDeleteCustomVocabularyItem wird wie folgt aussehen:

    { "botId": "string", "botVersion": "string", "localeId": "string", "errors": [ { "itemId": "string", "errorMessage": "string", "errorCode": "string" } ], "resources": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
  4. Da es sich um einen Batchvorgang handelt, schlägt die Anfrage nicht fehl, wenn eines der Elemente nicht gelöscht werden kann. Die Fehlerliste enthält Informationen darüber, warum der Vorgang für diesen bestimmten Eintrag fehlgeschlagen ist. Die Ressourcenliste enthält alle Einträge, die erfolgreich gelöscht wurden.

  5. Denn BatchDeleteCustomVocabularyItem Sie können mit diesen Arten von Fehlern rechnen:

    • RESOURCE_DOES_NOT_EXIST: Der benutzerdefinierte Vokabeleintrag, den Sie löschen möchten, existiert nicht.

    • INTERNAL_SERVER_FAILURE: Bei der Bearbeitung Ihrer Anfrage ist ein Fehler im Backend aufgetreten. Dies kann auf einen Serviceausfall oder ein anderes Problem hinweisen.

Verwenden Sie die BatchUpdateCustomVocabularyItem API, um bestehende benutzerdefinierte Vokabeleinträge zu aktualisieren:
  1. Wenn für das Gebietsschema Ihres Bots noch kein benutzerdefiniertes Vokabular erstellt wurde, folgen Sie bitte den Schritten unter Verwenden Sie die, um ein benutzerdefiniertes Vokabular StartImportzu erstellen, um ein benutzerdefiniertes Vokabular zu erstellen.

  2. Nachdem das benutzerdefinierte Vokabular erstellt wurde, verwenden Sie den BatchUpdateCustomVocabularyItem Vorgang, um vorhandene benutzerdefinierte Vokabeleinträge zu aktualisieren. Der Anfragetext sieht wie folgt aus:

    { "customVocabularyItemList": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
  3. Bitte beachten Sie, dass weight und optionale Felder für den Anfragetext displayAs sind.

  4. Die Antwort von BatchUpdateCustomVocabularyItem wird wie folgt aussehen:

    { "botId": "string", "botVersion": "string", "localeId": "string", "errors": [ { "itemId": "string", "errorMessage": "string", "errorCode": "string" } ], "resources": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
  5. Da es sich um einen Batchvorgang handelt, schlägt die Anfrage nicht fehl, wenn eines der Elemente nicht gelöscht werden kann. Die Fehlerliste enthält Informationen darüber, warum der Vorgang für diesen bestimmten Eintrag fehlgeschlagen ist. Die Ressourcenliste enthält alle Einträge, die erfolgreich aktualisiert wurden.

  6. Denn BatchUpdateCustomVocabularyItem Sie können mit diesen Arten von Fehlern rechnen:

    • RESOURCE_DOES_NOT_EXIST: Der benutzerdefinierte Vokabeleintrag, den Sie aktualisieren möchten, existiert nicht.

    • DUPLICATE_INPUT: Die Liste der Eingaben enthält doppelte ItemIDs.

    • RESOURCE_ALREADY_EXISTS: Die angegebene Phrase für den Eintrag existiert bereits in Ihrem benutzerdefinierten Vokabular.

    • INTERNAL_SERVER_FAILURE: Bei der Bearbeitung Ihrer Anfrage ist ein Fehler im Backend aufgetreten. Dies kann auf einen Serviceausfall oder ein anderes Problem hinweisen.

Erstellen einer benutzerdefinierten Vokabeldatei

Eine benutzerdefinierte Vokabeldatei ist eine tabulatorgetrennte Liste von Werten, die die zu erkennende Phrase, eine Gewichtung zur Erhöhung und ein displayAs Feld enthält, das die Phrase in der Sprachprotokollierung ersetzt. Phrasen mit einem höheren Boost-Wert werden eher verwendet, wenn sie in der Audioeingabe vorkommen.

Die benutzerdefinierte Vokabeldatei muss benannt CustomVocabulary.tsv und in einer Zip-Datei komprimiert werden, bevor sie importiert werden kann. Die Zip-Datei muss weniger als 300 MB groß sein. Die maximale Anzahl von Phrasen in einem benutzerdefinierten Vokabular beträgt 500.

  • Phrase 1—4 Wörter, die erkannt werden sollten. Trennen Sie Wörter in der Phrase durch Leerzeichen. Sie können keine doppelten Phrasen in der Datei haben. Das Phrasenfeld ist erforderlich.

  • Gewicht — Der Grad, in dem die Phrasenerkennung verbessert wird. Der Wert ist eine Ganzzahl 0, 1, 2 oder 3. Wenn Sie kein Gewicht angeben, ist der Standardwert 1. Entscheiden Sie das Gewicht danach, wie oft das Wort in der Transkription nicht erkannt wird und wie selten das Wort in der Eingabe vorkommt. Die Gewichtung 0 bedeutet, dass kein Boosting angewendet wird und der Eintrag nur für die Durchführung von Ersatzspielen über das displayAs Feld verwendet wird.

  • DisplayAs — Definiert, wie Ihre Phrase in Ihrer Transkriptionsausgabe aussehen soll. Dies ist ein optionales Feld im benutzerdefinierten Vokabular.

Die benutzerdefinierte Vokabeldatei muss eine Kopfzeile mit den Überschriften „Phrase“, „Gewicht“ und „DisplayAs“ enthalten. Die Header können in beliebiger Reihenfolge stehen, müssen aber der obigen Nomenklatur folgen.

Das folgende Beispiel ist eine benutzerdefinierte Vokabeldatei. Das erforderliche Tabulatorzeichen zur Trennung der Phrase, der Gewichtung und des DisplayAs wird durch den Text „[TAB]“ dargestellt. Wenn Sie dieses Beispiel verwenden, ersetzen Sie den Text durch ein Tabulatorzeichen.

phrase[TAB]weight[TAB]displayAs Newcastle[TAB]2 Hobart[TAB]2[TAB]Hobart, Australia U. Dub[TAB]1[TAB]University of Washington, Seattle W. S. U.[TAB]3 Issaquah Kennewick