Testgenauigkeit eines Custom Speech-Modells

In diesem Artikel erfahren Sie, wie Sie die Genauigkeit des Basismodells für die Spracherkennung oder Ihrer eigenen benutzerdefinierten Modelle quantitativ messen und verbessern können. Audio- und Humantranskriptions-Daten sind erforderlich, um die Genauigkeit zu testen. Sie sollten 30 Minuten bis 5 Stunden repräsentativer Audiodaten bereitstellen.

Wichtig

Beim Testen führt das System eine Transkription durch. Dies sollten Sie nicht vergessen, da die Preise pro Serviceangebot und Abonnementebene variieren. Aktuelle Informationen finden Sie immer auf der offiziellen Seite „Azure KI Services-Preise“.

Erstellen eines Tests

Sie können die Genauigkeit Ihres benutzerdefinierten Modells testen, indem Sie einen Test erstellen. Ein Test erfordert eine Sammlung von Audiodateien und deren entsprechenden Transkriptionen. Sie können die Genauigkeit eines benutzerdefinierten Modells mit einem Basismodell für die Spracherkennung oder einem anderen benutzerdefinierten Modell vergleichen. Nachdem Sie die Testergebnisse abgerufen haben, bewerten Sie die Wortfehlerrate (WER) im Vergleich zu Spracherkennungsergebnissen.

Führen Sie folgende Schritte durch, um einen Test zu erstellen:

  1. Melden Sie sich in Speech Studio an.

  2. Wählen Sie Custom Speech> Ihr Projektname >Modelle testen aus.

  3. Wählen Sie Neuen Test erstellen aus.

  4. Wählen Sie Bewerten der Genauigkeit>Weiter aus.

  5. Wählen Sie ein Audio- und Humantranskriptions-Dataset aus, und klicken Sie dann auf Weiter. Wenn keine Datasets verfügbar sind, brechen Sie das Setup ab, und wechseln Sie dann zum Menü Speech-Datasets, um Datasets hochzuladen.

    Hinweis

    Es ist wichtig, einen akustischen Dataset zu wählen, der sich von dem unterscheidet, den Sie für Ihr Modell verwendet haben. So erhalten Sie ein realistisches Bild von der Leistung des Modells.

  6. Wählen Sie bis zu zwei Modelle aus, die bewertet werden sollen, und klicken Sie dann auf Weiter.

  7. Geben Sie den Testnamen und eine Beschreibung ein, und klicken Sie dann auf Weiter.

  8. Überprüfen Sie die Testdetails, und klicken Sie dann auf Speichern und Schließen.

Zum Erstellen eines Tests verwenden Sie den Befehl spx csr evaluation create. Erstellen Sie die Anforderungsparameter gemäß den folgenden Anweisungen:

  • Legen Sie den project-Parameter auf die ID eines vorhandenen Projekts fest. Dieser Parameter empfiehlt sich, damit Sie den Test auch in Speech Studio anzeigen können. Mit dem Befehl spx csr project list können Sie verfügbare Projekte abrufen.
  • Legen Sie den erforderlichen model1-Parameter auf die ID eines Modells fest, das Sie testen möchten.
  • Legen Sie den erforderlichen model2-Parameter auf die ID eines anderen Modells fest, das Sie testen möchten. Wenn Sie nicht zwei Modelle vergleichen möchten, verwenden Sie das gleiche Modell sowohl für model1 als auch für model2.
  • Legen Sie den erforderlichen dataset-Parameter auf die ID eines Datasets fest, das Sie für den Test verwenden möchten.
  • Legen Sie den language-Parameter fest, andernfalls legt die Speech-Befehlszeilenschnittstelle standardmäßig „en-US“ fest. Dieser Parameter sollte das Gebietsschema des Datasetinhalts sein. Das Gebietsschema können Sie später nicht mehr ändern. Der Parameter language der Speech-Befehlszeilenschnittstelle entspricht der locale-Eigenschaft in der JSON-Anforderung und -Antwort.
  • Legen Sie den erforderlichen name-Parameter fest. Dieser Parameter ist der Name, der im Speech Studio angezeigt wird. Der Parameter name der Speech-Befehlszeilenschnittstelle entspricht der displayName-Eigenschaft in der JSON-Anforderung und -Antwort.

Hier ist ein beispielhafter Befehl der Speech-Befehlszeilenschnittstelle, der einen Test erstellt:

spx csr evaluation create --api-version v3.1 --project 9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226 --dataset be378d9d-a9d7-4d4a-820a-e0432e8678c7 --model1 ff43e922-e3e6-4bf0-8473-55c08fd68048 --model2 1aae1070-7972-47e9-a977-87e3b05c457d --name "My Evaluation" --description "My Evaluation Description"

Sie sollten einen Antworttext im folgenden Format erhalten:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Evaluation",
  "description": "My Evaluation Description"
}

Die oberste self-Eigenschaft im Antworttext ist der URI der Auswertung. Verwenden Sie diesen URI, um Details zum Projekt und Testergebnisse abzurufen. Sie verwenden diesen URI auch, um die Auswertung zu aktualisieren oder zu löschen.

Führen Sie den folgenden Befehl aus, um Hilfe für die Speech-Befehlszeilenschnittstelle mit Auswertungen zu erhalten:

spx help csr evaluation

Verwenden Sie zum Erstellen eines Tests den Vorgang Evaluations_Create der Spracherkennung-REST-API. Erstellen Sie den Anforderungstext gemäß den folgenden Anweisungen:

  • Legen Sie die project-Eigenschaft auf den URI eines vorhandenen Projekts fest. Diese Eigenschaft empfiehlt sich, damit Sie den Test auch in Speech Studio anzeigen können. Sie können eine Projects_List-Anforderung zum Abrufen verfügbarer Projekte ausführen.
  • Legen Sie die testingKind-Eigenschaft innerhalb von customProperties auf Evaluation fest. Wenn Sie Evaluation nicht angeben, wird der Test wie eine Qualitätsprüfung behandelt. Unabhängig davon, ob die testingKind-Eigenschaft auf Evaluation oder Inspection oder nicht festgelegt ist, können Sie über die API auf die Genauigkeitsbewertungen zugreifen, aber nicht im Speech Studio.
  • Legen Sie die erforderliche model1-Eigenschaft auf den URI eines Modells fest, das Sie testen möchten.
  • Legen Sie die erforderliche model2-Eigenschaft auf den URI eines anderen Modells fest, das Sie testen möchten. Wenn Sie nicht zwei Modelle vergleichen möchten, verwenden Sie das gleiche Modell sowohl für model1 als auch für model2.
  • Legen Sie den erforderlichen dataset-Parameter auf die ID eines Datasets fest, das Sie für den Test verwenden möchten.
  • Legen Sie die erforderliche locale-Eigenschaft fest. Diese Eigenschaft sollte das Gebietsschema des Datasetinhalts sein. Das Gebietsschema können Sie später nicht mehr ändern.
  • Legen Sie die erforderliche displayName-Eigenschaft fest. Diese Eigenschaft ist der Name, der im Speech Studio angezeigt wird.

Erstellen Sie eine HTTP POST-Anforderung mithilfe des URI, wie im folgenden Beispiel gezeigt. Ersetzen Sie YourSubscriptionKey durch Ihren Speech-Ressourcenschlüssel, ersetzen Sie YourServiceRegion durch die Region der Speech-Ressource, und legen Sie die Anforderungstexteigenschaften wie zuvor beschrieben fest.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "displayName": "My Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  },
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations"

Sie sollten einen Antworttext im folgenden Format erhalten:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  }
}

Die oberste self-Eigenschaft im Antworttext ist der URI der Auswertung. Verwenden Sie diesen URI, um Details über das Projekt und die Testergebnisse der Auswertung abzurufen. Sie verwenden diesen URI auch, um die Auswertung zu aktualisieren oder zu löschen.

Abrufen von Testergebnissen

Sie sollten die Testergebnisse erhalten und die Wortfehlerrate (WER) im Vergleich zu den Ergebnissen der Spracherkennung auswerten.

Führen Sie die folgenden Schritte aus, um Testergebnisse abzurufen:

  1. Melden Sie sich in Speech Studio an.
  2. Wählen Sie Custom Speech> Ihr Projektname >Modelle testen aus.
  3. Wählen Sie den Link anhand des Testnamens aus.
  4. Nachdem der Test abgeschlossen ist, wie durch den auf Erfolgreich festgelegten Status angegeben, sollten Sie Ergebnisse sehen, die die WER-Zahl für jedes getestete Modell enthalten.

Auf dieser Seite sind alle Äußerungen in Ihrem Dataset und die Erkennungsergebnisse neben der Transkription aus dem übermittelten Dataset aufgelistet. Sie können zwischen verschiedenen Fehlertypen umschalten, darunter Einfügung, Löschung und Ersetzung. Durch Anhören der Audiodaten und Vergleich mit den Erkennungsergebnissen in den einzelnen Spalten können Sie entscheiden, welches Modell Ihre Anforderungen erfüllt und ermitteln, wo weiteres Training und Verbesserungen erforderlich sind.

Verwenden Sie den Befehl spx csr evaluation status, um Testergebnisse abzurufen. Erstellen Sie die Anforderungsparameter gemäß den folgenden Anweisungen:

  • Legen Sie den erforderlichen evaluation-Parameter auf die ID der Auswertung fest, für die Sie Testergebnisse abrufen möchten.

Hier ist ein beispielhafter Befehl der Speech-Befehlszeilenschnittstelle, der Testergebnisse abruft:

spx csr evaluation status --api-version v3.1 --evaluation 8bfe6b05-f093-4ab4-be7d-180374b751ca

Die Wortfehlerraten und weitere Details werden im Antworttext zurückgegeben.

Sie sollten einen Antworttext im folgenden Format erhalten:

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Evaluation",
	"description": "My Evaluation Description",
	"customProperties": {
		"testingKind": "Evaluation"
	}
}

Führen Sie den folgenden Befehl aus, um Hilfe für die Speech-Befehlszeilenschnittstelle mit Auswertungen zu erhalten:

spx help csr evaluation

Zum Abrufen von Testergebnissen beginnen Sie mit dem Vorgang Evaluations_Get der Spracherkennung-REST-API.

Erstellen Sie eine HTTP GET-Anforderung mithilfe des URI, wie im folgenden Beispiel gezeigt. Ersetzen Sie YourEvaluationId durch die ID Ihrer Auswertung, YourSubscriptionKey durch den Schlüssel Ihrer Speech-Ressource und YourServiceRegion durch die Region Ihrer Speech-Ressource.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Die Wortfehlerraten und weitere Details werden im Antworttext zurückgegeben.

Sie sollten einen Antworttext im folgenden Format erhalten:

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Evaluation",
	"description": "My Evaluation Description",
	"customProperties": {
		"testingKind": "Evaluation"
	}
}

Bewertung der Wortfehlerrate (WER)

Der Branchenstandard zur Messung der Modellgenauigkeit ist die Wortfehlerrate (WER). WER ermittelt die Anzahl der bei der Erkennung falsch identifizierten Wörter und dividiert sie durch die Gesamtzahl der Wörter, die in der Humantranskription angegeben sind.

Falsch identifizierte Wörter fallen in drei Kategorien:

  • Einfügung (I): Wörter, die fälschlicherweise im Hypothesentranskript hinzugefügt werden
  • Löschung (D): Wörter, die im Hypothesentranskript nicht erkannt werden
  • Ersetzung (S): Wörter, die zwischen Verweis und Hypothese ersetzt wurden

Im Speech Studio wird der Quotient mit 100 multipliziert und als Prozentsatz angezeigt. Die Ergebnisse der Speech-Befehlszeilenschnittstelle und der REST-API werden nicht mit 100 multipliziert.

$$ WER = {{I+D+S}\over N} \times 100 $$

Im Folgenden finden Sie ein Beispiel, in dem falsch identifizierte Wörter im Vergleich zur Humantranskription dargestellt werden:

Screenshot eines Beispiels für falsch identifizierte Wörter.

Das Ergebnis der Spracherkennung ist wie folgt fehlerhaft:

  • Einfügung (I): das Wort „ein“ wurde hinzugefügt
  • Löschung (D): Das Wort „sind“ wurde gelöscht
  • Ersetzung (S): Das Wort „Jones“ wurde durch „John“ ersetzt

Die Wortfehlerrate aus dem vorherigen Beispiel beträgt 60 %.

Wenn Sie WER-Messungen lokal replizieren möchten, können Sie das sclite-Tool aus dem NIST Scoring Toolkit (SCTK) verwenden.

Beheben von Fehlern und Verbessern der WER

Sie können die WER-Berechnung aus den Ergebnissen der maschinellen Erkennung verwenden, um die Qualität des mit Ihrer App, Ihrem Tool oder Ihrem Produkt verwendeten Modells zu bewerten. Eine WER von 5 bis 10 % gilt als gute Qualität und ist sofort verwendbar. Eine WER von 20 % ist akzeptabel, Sie sollten aber zusätzliches Training in Betracht ziehen. Eine WER von 30 % oder mehr weist auf schlechte Qualität hin und erfordert Anpassung und Training.

Die Verteilung der Fehler spielt eine wichtige Rolle. Wenn viele Löschfehler auftreten, liegt es in der Regel an einem schwachen Audiosignal. Um dieses Problem zu beheben, müssen Sie Audiodaten näher an der Quelle erfassen. Einfügefehler bedeuten, dass der Ton in einer lauten Umgebung aufgenommen wurde und Übersprechen vorhanden sein kann, was zu Erkennungsproblemen führt. Ersetzungsfehler treten häufig auf, wenn eine unzureichende Stichprobe domänenspezifischer Begriffe entweder als menschenmarkierte Transkriptionen oder zugehöriger Text bereitgestellt wird.

Durch die Analyse einzelner Dateien können Sie feststellen, welche Art von Fehlern vorliegen und welche Fehler nur in einer bestimmten Datei auftreten. Das Verständnis von Problemen auf Dateiebene hilft Ihnen bei gezielten Verbesserungen.

Bewertung der Tokenfehlerrate (TER)

Neben der Wortfehlerrate können Sie auch das erweiterte Measure Tokenfehlerrate (TER, Token Error Rate) verwenden, um die Qualität im endgültigen End-to-End-Anzeigeformat auszuwerten. Neben dem lexikalischen Format (That will cost $900. anstelle von that will cost nine hundred dollars) werden bei der TER die Aspekte des Anzeigeformats wie Interpunktion, Großschreibung und ITN berücksichtigt. Hier finden Sie weitere Informationen zum Anzeigen der Ausgabeformatierung mit Spracherkennung.

WER ermittelt die Anzahl der bei der Erkennung falsch identifizierten Wörter und dividiert sie durch die Gesamtzahl der Wörter, die im von Menschen beschrifteten Transkript angegeben sind.

$$ TER = {{I+D+S}\over N} \times 100 $$

Die Formel der TER-Berechnung ähnelt auch der WER-Formel. Der einzige Unterschied besteht darin, dass TER auf der Tokenebene und nicht auf der Wortebene berechnet wird.

  • Einfügung (I): Token, die fälschlicherweise im Hypothesentranskript hinzugefügt werden
  • Löschung (D): Token, die im Hypothesentranskript nicht erkannt werden
  • Ersetzung (S): Token, die zwischen Verweis und Hypothese ersetzt wurden

In einem realen Fall können Sie sowohl die WER- als auch die TER-Ergebnisse analysieren, um die gewünschten Verbesserungen zu erzielen.

Hinweis

Um TER messen zu können, müssen Sie sicherstellen, dass die Audio- und Transkripttestdaten Transkriptionen mit Anzeigeformatierungen wie Interpunktion, Großschreibung und ITN enthalten.

Beispielhafte Szenarioergebnisse

Spracherkennungsszenarien unterscheiden sich in Bezug auf die Audioqualität und die Sprache (Vokabular und Sprechweise). Die folgende Tabelle enthält Informationen zu vier gängigen Szenarien:

Szenario Audioqualität Vokabular Sprechweise
Callcenter Niedrig, 8 kHz, zwei Personen auf einem Audiokanal sind möglich, könnte komprimiert werden Eingeschränkt, auf jeweiliges Thema und Produkte bezogen Interaktiv, locker strukturiert
Sprachassistent, z. B. Cortana oder ein Drive-Through-Fenster Hoch, 16 kHz Viele Entitäten (Songtitel, Produkte, Orte) Klar gesprochene Wörter und Ausdrücke
Diktat (Sofortnachricht, Notizen, Suche) Hoch, 16 kHz Verschiedene Festhalten von Notizen
Untertitelung für Videos Variabel, z. B. vielfältige Mikrofonnutzung, hinzugefügte Musik Variabel, aus Besprechungen, Rezitationen, Songtexten Vorgelesen, vorbereitet oder locker strukturiert

Unterschiedliche Szenarien führen zu Ergebnissen unterschiedlicher Qualität. Die folgende Tabelle enthält Informationen dazu, wie die Inhalte dieser vier Szenarien in Bezug auf die Wortfehlerrate (Word Error Rate, WER) abschneiden. In der Tabelle ist angegeben, welche Fehlertypen in den einzelnen Szenarien am häufigsten vorkommen. Die Einfüge-, Ersatz- und Löschungsfehlerraten helfen Ihnen, zu ermitteln, welche Art von Daten hinzugefügt werden soll, um das Modell zu verbessern.

Szenario Spracherkennungsqualität Fehler beim Einfügen Fehler beim Löschen Fehler beim Ersetzen
Callcenter Medium
(WER ist < 30 %)
Niedrig, sofern keine anderen Personen im Hintergrund sprechen Ggf. hoch. In Callcentern kann es laut sein, und für das Modell kommt es durch sich überlappende Sprecher ggf. zu Verwirrung Mittel. Namen von Produkten und Personen können diese Fehler verursachen
Sprachassistent Hoch
(WER kann < 10 % sein)
Niedrig Niedrig Mittel, aufgrund von Songtiteln, Produktnamen oder Orten
Diktieren Hoch
(WER kann < 10 % sein)
Niedrig Niedrig High
Untertitelung für Videos Je nach Videotyp (WER kann < 50 % sein) Niedrig Kann aufgrund von Musik, Nebengeräuschen, Mikrofonqualität hoch sein Fachsprache kann diese Fehler verursachen.

Nächste Schritte