Verbesserung der Spracherkennung mit einem benutzerdefinierten Wortschatz - 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 Wortschatz

Sie können Amazon Lex V2 weitere Informationen zur Verarbeitung von Audiokonversationen mit einem Bot geben, indem Sie ein benutzerdefiniertes Vokabular in einer bestimmten Sprache erstellen. Ein benutzerdefiniertes Vokabular ist eine Liste bestimmter Ausdrücke, die Amazon Lex V2 in der Audioeingabe erkennen soll. Dies sind im Allgemeinen 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“ transkribieren kann, 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 basiert auf der Transkription von Audioeingaben an einen Bot. Sie müssen Musterä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 Vokabulare für jede Sprache unabhängig konfigurieren. Benutzerdefinierte Vokabulare werden nur für die Sprachen Englisch (Großbritannien) und Englisch (USA) unterstützt.

  • Benutzerdefinierte Vokabulare 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 Vokabulare für alle Amazon Lex V2-Bots, die am oder nach dem 31. Juli 2022 erstellt wurden. Wenn Sie Probleme mit benutzerdefinierten Vokabularen im Testfenster haben, erstellen Sie den Bot neu und versuchen Sie es erneut.

Amazon Lex V2 verwendet benutzerdefinierte Vokabeln, um sowohl Absichten als auch Slots zu ermitteln. Dieselbe benutzerdefinierte Vokabeldatei wird für Absichten 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.

Eine Absicht wecken — Sie können ein benutzerdefiniertes Vokabular erstellen, um eine Absicht zu wecken. Diese Phrasen werden zur Transkription verwendet, wenn Ihr Bot die Absicht des Benutzers bestimmt. Wenn Sie beispielsweise den Ausdruck „Backup“ in Ihrem benutzerdefinierten Wortschatz 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 Verstärkungsgrad für jede Phrase angeben, indem Sie eine Gewichtung von 0, 1, 2 oder 3 konfigurieren. Sie können auch eine alternative Darstellung für den Ausdruck in der letzten Ausgabe von Rede und Text angeben, indem Sie ein displayAs Feld hinzufügen.

Die benutzerdefinierten Vokabeln, die zur Verbesserung der Transkription bei der Absichtsermittlung verwendet werden, wirken sich nicht auf die Transkriptionen während der Erfassung von Zeitfenstern aus. Weitere Informationen zum Erstellen eines benutzerdefinierten Vokabulars für das Ermitteln von Absichten finden Sie unter. Erstellen Sie ein benutzerdefiniertes Vokabular zum Ermitteln von Absichten und Zeitabschnitten

Ermitteln von benutzerdefinierten Zeitfenstern — Sie können ein benutzerdefiniertes Vokabular verwenden, um die Slot-Erkennung bei 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 zum benutzerdefinierten Slot hinzu. Wählen Sie dann Slot-Werte als benutzerdefiniertes Vokabular verwenden. Zu den Slot-Werten gehören beispielsweise Produktnamen, Kataloge oder Eigennamen. Sie sollten in benutzerdefinierten Vokabularen 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 Wortschatzes

Eine Absicht erwecken

  • 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, je nachdem, wie oft das Wort in der Transkription nicht erkannt wird und wie selten das Wort in der Eingabe vorkommt. Schwer auszusprechende Wörter erfordern eine höhere Gewichtung.

  • Verwenden Sie ein repräsentatives Testset, um festzustellen, ob ein Gewicht angemessen ist. Sie können ein Audio-Testset sammeln, indem Sie die Audioprotokollierung in den Konversationsprotokollen aktivieren.

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

Einen benutzerdefinierten Slot ausloten

  • 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 allgemeine Ausdrücke wie „Ja“, „Nein“, „Ich weiß nicht“, „vielleicht“ oder allgemeine 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, deren Buchstaben einzeln ausgesprochen werden sollen, als einzelne Buchstaben ein, die durch einen Punkt und ein Leerzeichen getrennt sind. Verwenden Sie keine einzelnen Buchstaben, es sei denn, sie sind Teil eines Ausdrucks, wie „J. P. Morgan“ oder „A. W. S.“ Sie können Groß- oder Kleinbuchstaben verwenden, um ein Akronym zu definieren.

Erstellen Sie ein benutzerdefiniertes Vokabular zum Ermitteln von Absichten und Zeitabschnitten

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, ein benutzerdefiniertes Vokabular über die Konsole zu erstellen:

Benutzerdefiniertes Vokabular in die Konsole importieren:
  1. Öffnen Sie die Amazon Lex V2-Konsole zu https://console.aws.amazon.com/lexv2/Hause

  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 Bereich Benutzerdefinierter Wortschatz auf Erstellen. Dadurch wird ein Bearbeitungsfenster geöffnet, in dem kein benutzerdefiniertes Vokabular vorhanden ist.

  2. Fügen Sie nach Bedarf Eingaben für Wortgruppe DisplayAs, und Gewichtung hinzu. Sie können zusätzliche 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, wenn du auf Speichern klickst.

  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 anzuzeigen:
  1. Verwenden Sie den ListCustomVocabularyItems Vorgang, um die benutzerdefinierten Vokabeleinträge anzuzeigen. Der Text der Anfrage wird wie folgt aussehen:

    { "maxResults": number, "nextToken": "string" }
  2. Bitte beachten Sie, dass maxResults nextToken es sich bei den Feldern um optionale Felder für den Anfragetext handelt.

  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 den BatchCreateCustomVocabularyItem Vorgang, um neue benutzerdefinierte Vokabeleinträge zu erstellen. Der Text der Anfrage wird wie folgt aussehen:

    { "customVocabularyItemList": [ { "phrase": "string", "weight": number, "displayAs": "string" } ] }
  3. Bitte beachten Sie, dass weight displayAs es sich bei den Feldern um optionale Felder für den Anfragetext handelt.

  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 Batch-Vorgang handelt, schlägt die Anforderung 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 wird alle Einträge enthalten, die erfolgreich erstellt wurden.

  6. Denn BatchCreateCustomVocabularyItem Sie können mit folgenden Fehlern rechnen:

    • RESOURCE_DOES_NOT_EXIST: Das benutzerdefinierte Vokabular ist nicht vorhanden. Folgen Sie den Schritten zum Erstellen eines benutzerdefinierten Vokabulars, 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 ist bereits in Ihrem benutzerdefinierten Wortschatz vorhanden.

    • 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 das, um ein benutzerdefiniertes Vokabular StartImportzu erstellen, um eines zu erstellen.

  2. Nachdem das benutzerdefinierte Vokabular erstellt wurde, verwenden Sie den BatchDeleteCustomVocabularyItem Vorgang, um bestehende benutzerdefinierte Vokabeleinträge zu löschen. Der Text der Anfrage wird wie folgt aussehen:

    { "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 Batch-Vorgang 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 wird alle Einträge enthalten, die erfolgreich gelöscht wurden.

  5. Denn BatchDeleteCustomVocabularyItem Sie können mit folgenden 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 das, 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 bestehende benutzerdefinierte Vokabeleinträge zu aktualisieren. Der Text der Anfrage wird wie folgt aussehen:

    { "customVocabularyItemList": [ { "itemId": "string", "phrase": "string", "weight": number, "displayAs": "string" } ] }
  3. Bitte beachten Sie, dass weight displayAs es sich bei den Feldern um optionale Felder für den Anfragetext handelt.

  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 Batch-Vorgang 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 wird alle Einträge enthalten, die erfolgreich aktualisiert wurden.

  6. Denn BatchUpdateCustomVocabularyItem Sie können mit folgenden Fehlern rechnen:

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

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

    • RESOURCE_ALREADY_EXISTS: Die angegebene Phrase für den Eintrag ist bereits in Ihrem benutzerdefinierten Wortschatz vorhanden.

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

Eine benutzerdefinierte Vokabeldatei erstellen

Eine benutzerdefinierte Vokabeldatei ist eine durch Tabulatoren getrennte Liste von Werten, die den zu erkennenden Satz, eine Gewichtung zur Erhöhung der Bedeutung und ein displayAs Feld, das den Ausdruck im Sprachprotokoll ersetzt, enthält. Phrasen mit einem höheren Boost-Wert werden eher verwendet, wenn sie in der Audioeingabe erscheinen.

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 Ausdrücken in einem benutzerdefinierten Wortschatz beträgt 500.

  • Satz 1—4 Wörter, die erkannt werden sollten. Trennen Sie die Wörter in der Phrase durch Leerzeichen. Die Datei darf keine doppelten Ausdrücke enthalten. Das Textfeld 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 sich für die Gewichtung, je nachdem, 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 Ersetzungen anhand des displayAs Felds verwendet wird.

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

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

Das folgende Beispiel ist eine benutzerdefinierte Vokabeldatei. Das Tabulatorzeichen, das zur Trennung von Wortgruppe, Gewichtung und DisplayAs erforderlich ist, 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