Abrufen von Batch-Transkriptionsergebnissen
Zum Abrufen von Transkriptionsergebnissen überprüfen Sie zuerst den Status des Transkriptionsauftrags. Wenn der Auftrag abgeschlossen ist, können Sie die Transkriptionen und den Transkriptionsbericht abrufen.
Abrufen des Transkriptionsstatus
Um den Status des Transkriptionsauftrags abzurufen, rufen Sie den Vorgang Transcriptions_Get der Spracherkennungs-REST-API auf.
Wichtig
Batch-Transkriptionsaufträge werden auf der Grundlage des optimalen Arbeitsaufwands geplant. Während Spitzenzeiten kann es 30 Minuten oder länger dauern, bis die Bearbeitung eines Transkriptionsauftrags beginnt. Die meiste Zeit während der Ausführung wird der Transkriptionsstatus Running
sein. Das liegt daran, dass dem Auftrag der Status Running
zugewiesen wird, sobald er auf das Back-End-System für die Batchtranskription verschoben wird. Wenn das Basismodell verwendet wird, erfolgt diese Zuweisung nahezu sofort. Bei benutzerdefinierten Modellen dauert es etwas länger. Die Zeit, die ein Transkriptionsauftrag im Status Running
verbleibt, entspricht also nicht der tatsächlichen Transkriptionszeit, sondern beinhaltet auch die Wartezeit in internen Warteschlangen.
Erstellen Sie eine HTTP GET-Anforderung mithilfe des URI, wie im folgenden Beispiel gezeigt. Ersetzen Sie YourTranscriptionId
durch die ID Ihrer Transkription, 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.2/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Sie sollten einen Antworttext im folgenden Format erhalten:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/aaa321e9-5a4e-4db1-88a2-f251bbe7b555"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"displayFormWordLevelTimestampsEnabled": true,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked",
"duration": "PT3S",
"languageIdentification": {
"candidateLocales": [
"en-US",
"de-DE",
"es-ES"
]
}
},
"lastActionDateTime": "2024-05-10T18:39:09Z",
"status": "Succeeded",
"createdDateTime": "2024-05-10T18:39:07Z",
"locale": "en-US",
"displayName": "My Transcription"
}
Die status
-Eigenschaft gibt den aktuellen Status der Transkriptionen an. Die Transkriptionen und der Transkriptionsbericht sind verfügbar, wenn der Transkriptionsstatus Succeeded
angegeben ist.
Wichtig
Batch-Transkriptionsaufträge werden auf der Grundlage des optimalen Arbeitsaufwands geplant. Während Spitzenzeiten kann es 30 Minuten oder länger dauern, bis die Bearbeitung eines Transkriptionsauftrags beginnt. Die meiste Zeit während der Ausführung wird der Transkriptionsstatus Running
sein. Das liegt daran, dass dem Auftrag der Status Running
zugewiesen wird, sobald er auf das Back-End-System für die Batchtranskription verschoben wird. Wenn das Basismodell verwendet wird, erfolgt diese Zuweisung nahezu sofort. Bei benutzerdefinierten Modellen dauert es etwas länger. Die Zeit, die ein Transkriptionsauftrag im Status Running
verbleibt, entspricht also nicht der tatsächlichen Transkriptionszeit, sondern beinhaltet auch die Wartezeit in internen Warteschlangen.
Um den Status des Transkriptionsauftrags abzurufen, verwenden Sie den spx batch transcription status
-Befehl. Erstellen Sie die Anforderungsparameter gemäß den folgenden Anweisungen:
- Legen Sie den
transcription
-Parameter auf die ID der Transkription fest, die Sie abrufen möchten.
Hier sehen Sie einen Speech CLI-Beispielbefehl zum Abrufen des Transkriptionsstatus:
spx batch transcription status --api-version v3.2 --transcription YourTranscriptionId
Sie sollten einen Antworttext im folgenden Format erhalten:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/aaa321e9-5a4e-4db1-88a2-f251bbe7b555"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"displayFormWordLevelTimestampsEnabled": true,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked",
"duration": "PT3S"
},
"lastActionDateTime": "2024-05-10T18:39:09Z",
"status": "Succeeded",
"createdDateTime": "2024-05-10T18:39:07Z",
"locale": "en-US",
"displayName": "My Transcription"
}
Die status
-Eigenschaft gibt den aktuellen Status der Transkriptionen an. Die Transkriptionen und der Transkriptionsbericht sind verfügbar, wenn der Transkriptionsstatus Succeeded
angegeben ist.
Führen Sie den folgenden Befehl aus, um Hilfe der Speech-Befehlszeilenschnittstelle zu Transkriptionen anzuzeigen:
spx help batch transcription
Abrufen von Transkriptionsergebnissen
Der Vorgang Transcriptions_ListFiles gibt eine Liste der Ergebnisdateien für eine Transkription zurück. Für jeden übermittelten Batchskriptionsauftrag wird eine Transkriptionsberichtsdatei bereitgestellt. Darüber hinaus wird eine Transkriptionsdatei (das Endergebnis) für jede erfolgreich transkribierte Audiodatei bereitgestellt.
Erstellen Sie eine HTTP-GET-Anforderung mithilfe des „Dateien“-URI aus dem vorherigen Antworttext. Ersetzen Sie YourTranscriptionId
durch die ID Ihrer Transkription, 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.2/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Sie sollten einen Antworttext im folgenden Format erhalten:
{
"values": [
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
"name": "contenturl_0.json",
"kind": "Transcription",
"properties": {
"size": 3407
},
"createdDateTime": "2024-05-10T18:39:09Z",
"links": {
"contentUrl": "YourTranscriptionUrl"
}
},
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
"name": "contenturl_1.json",
"kind": "Transcription",
"properties": {
"size": 8233
},
"createdDateTime": "2024-05-10T18:39:09Z",
"links": {
"contentUrl": "YourTranscriptionUrl"
}
},
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
"name": "report.json",
"kind": "TranscriptionReport",
"properties": {
"size": 279
},
"createdDateTime": "2024-05-10T18:39:09Z",
"links": {
"contentUrl": "YourTranscriptionReportUrl"
}
}
]
}
Der Speicherort der einzelnen Transkriptions- und Transkriptionsberichtsdateien wird zusammen mit weiteren Details im Antworttext zurückgegeben. Die contentUrl
-Eigenschaft enthält die URL zur Transkriptions- ("kind": "Transcription"
) oder Transkriptionsberichtsdatei ("kind": "TranscriptionReport"
).
Wenn Sie in der Eigenschaft destinationContainerUrl
der Transkriptionsanforderung keinen Container angegeben haben, werden die Ergebnisse in einem von Microsoft verwalteten Container gespeichert. Wenn der Transkriptionsauftrag gelöscht wird, werden auch die Daten des Transkriptionsergebnisses gelöscht.
Der Befehl spx batch transcription list
gibt eine Liste der Ergebnisdateien für eine Transkription zurück. Für jeden übermittelten Batchskriptionsauftrag wird eine Transkriptionsberichtsdatei bereitgestellt. Darüber hinaus wird eine Transkriptionsdatei (das Endergebnis) für jede erfolgreich transkribierte Audiodatei bereitgestellt.
- Legen Sie das erforderliche
files
-Kennzeichen fest. - Legen Sie den erforderlichen
transcription
-Parameter auf die ID der Transkription fest, für die Sie Protokolle abrufen wollen.
Hier sehen Sie einen Beispielbefehl für die Speech-CLI, der eine Liste der Ergebnisdateien für eine Transkription abruft:
spx batch transcription list --api-version v3.2 --files --transcription YourTranscriptionId
Sie sollten einen Antworttext im folgenden Format erhalten:
{
"values": [
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
"name": "contenturl_0.json",
"kind": "Transcription",
"properties": {
"size": 3407
},
"createdDateTime": "2024-05-10T18:39:09Z",
"links": {
"contentUrl": "YourTranscriptionUrl"
}
},
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
"name": "contenturl_1.json",
"kind": "Transcription",
"properties": {
"size": 8233
},
"createdDateTime": "2024-05-10T18:39:09Z",
"links": {
"contentUrl": "YourTranscriptionUrl"
}
},
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
"name": "report.json",
"kind": "TranscriptionReport",
"properties": {
"size": 279
},
"createdDateTime": "2024-05-10T18:39:09Z",
"links": {
"contentUrl": "YourTranscriptionReportUrl"
}
}
]
}
Der Speicherort der einzelnen Transkriptions- und Transkriptionsberichtsdateien wird zusammen mit weiteren Details im Antworttext zurückgegeben. Die contentUrl
-Eigenschaft enthält die URL zur Transkriptions- ("kind": "Transcription"
) oder Transkriptionsberichtsdatei ("kind": "TranscriptionReport"
).
Standardmäßig werden die Ergebnisse in einem von Microsoft verwalteten Container gespeichert. Wenn der Transkriptionsauftrag gelöscht wird, werden auch die Daten des Transkriptionsergebnisses gelöscht.
Transkriptionsberichtsdatei
Für jeden übermittelten Batchskriptionsauftrag wird eine Transkriptionsberichtsdatei bereitgestellt.
Der Inhalt jeder Transkriptionsergebnisdatei liegt im JSON-Format vor, wie in diesem Beispiel dargestellt.
{
"successfulTranscriptionsCount": 2,
"failedTranscriptionsCount": 0,
"details": [
{
"source": "https://crbn.us/hello.wav",
"status": "Succeeded"
},
{
"source": "https://crbn.us/whatstheweatherlike.wav",
"status": "Succeeded"
}
]
}
Transkriptionsergebnisdatei
Für jede erfolgreich transkribierte Audiodatei wird eine Transkriptionsergebnisdatei bereitgestellt.
Der Inhalt jeder Transkriptionsergebnisdatei liegt im JSON-Format vor, wie in diesem Beispiel dargestellt.
{
"source": "...",
"timestamp": "2023-07-10T14:28:16Z",
"durationInTicks": 25800000,
"duration": "PT2.58S",
"combinedRecognizedPhrases": [
{
"channel": 0,
"lexical": "hello world",
"itn": "hello world",
"maskedITN": "hello world",
"display": "Hello world."
}
],
"recognizedPhrases": [
{
"recognitionStatus": "Success",
"channel": 0,
"offset": "PT0.76S",
"duration": "PT1.32S",
"offsetInTicks": 7600000.0,
"durationInTicks": 13200000.0,
"nBest": [
{
"confidence": 0.5643338,
"lexical": "hello world",
"itn": "hello world",
"maskedITN": "hello world",
"display": "Hello world.",
"displayWords": [
{
"displayText": "Hello",
"offset": "PT0.76S",
"duration": "PT0.76S",
"offsetInTicks": 7600000.0,
"durationInTicks": 7600000.0
},
{
"displayText": "world.",
"offset": "PT1.52S",
"duration": "PT0.56S",
"offsetInTicks": 15200000.0,
"durationInTicks": 5600000.0
}
]
},
{
"confidence": 0.1769063,
"lexical": "helloworld",
"itn": "helloworld",
"maskedITN": "helloworld",
"display": "helloworld"
},
{
"confidence": 0.49964225,
"lexical": "hello worlds",
"itn": "hello worlds",
"maskedITN": "hello worlds",
"display": "hello worlds"
},
{
"confidence": 0.4995761,
"lexical": "hello worm",
"itn": "hello worm",
"maskedITN": "hello worm",
"display": "hello worm"
},
{
"confidence": 0.49418187,
"lexical": "hello word",
"itn": "hello word",
"maskedITN": "hello word",
"display": "hello word"
}
]
}
]
}
Die Transkriptionsdatei kann die folgenden Ergebniseigenschaften enthalten, teilweise abhängig von den Anforderungsparametern, die beim Erstellen des Transkriptionsauftrags festgelegt wurden.
Eigenschaft | BESCHREIBUNG |
---|---|
channel |
Die Kanalnummer der Ergebnisse. Bei Audiostreams in Stereo sind linker und rechter Kanal während des Transkriptionsvorgangs geteilt. Für jede eingegebene Audiodatei wird eine JSON-Ergebnisdatei erstellt. |
combinedRecognizedPhrases |
Die verketteten Ergebnisse aller Ausdrücke für den Kanal. |
confidence |
Der Konfidenzwert für die Erkennung. |
display |
Die Anzeigeform des erkannten Texts. Hinzugefügte Satzzeichen und Groß-/Kleinschreibung sind enthalten. |
displayWords |
Die Zeitstempel für jedes Wort der Transkription. Die Anforderungseigenschaft displayFormWordLevelTimestampsEnabled muss auf true festgelegt sein, andernfalls ist diese Eigenschaft nicht vorhanden.Hinweis: Diese Eigenschaft ist erst ab Version 3.1 der Spracherkennungs-REST-API verfügbar. |
duration |
Die Dauer der Audiodaten. Der Wert ist eine gemäß ISO 8601 codierte Dauer. |
durationInTicks |
Die Audiodauer in Takten (ein Takt entspricht 100 Nanosekunden). |
itn |
Die ITN-Form (inverse Textnormalisierung) des erkannten Texts. Abkürzungen („Doktor Schmidt“ zu „Dr. Schmidt“), Telefonnummern und weitere Transformationen werden angewendet. |
lexical |
Die tatsächlich erkannten Wörter |
locale |
Das Gebietsschema, das aus der Audioeingabe identifiziert wurde. Die Anforderungseigenschaft languageIdentification muss festgelegt sein, andernfalls ist diese Eigenschaft nicht vorhanden.Hinweis: Diese Eigenschaft ist erst ab Version 3.1 der Spracherkennungs-REST-API verfügbar. |
maskedITN |
Die ITN-Form mit angewendeter Maskierung von Obszönitäten |
nBest |
Eine Liste möglicher Transkriptionen für den aktuellen Ausdruck mit Konfidenzwerten. |
offset |
Der Audio-Offset für diesen Satz. Der Wert ist eine gemäß ISO 8601 codierte Dauer. |
offsetInTicks |
Der Offset in Audio dieses Ausdrucks in Takten (ein Takt entspricht 100 Nanosekunden). |
recognitionStatus |
Der Erkennungsstatus. Beispiel: „Erfolg“ oder „Fehler“. |
recognizedPhrases |
Die Liste der Ergebnisse für jeden Ausdruck. |
source |
Die URL, die als Eingabeaudioquelle bereitgestellt wurde. Die Quelle entspricht der Anforderungseigenschaft contentUrls oder contentContainerUrl . Die source -Eigenschaft stellt die einzige Möglichkeit dar, die Audioeingabe für eine Transkription zu bestätigen. |
speaker |
Der erkannte Sprecher. Die Anforderungseigenschaften diarization und diarizationEnabled müssen festgelegt sein, andernfalls ist diese Eigenschaft nicht vorhanden. |
timestamp |
Erstellungsdatum und -uhrzeit der Transkription. Der Wert ist ein gemäß ISO 8601 codierter Zeitstempel. |
words |
Eine Liste der Ergebnisse mit lexikalischem Text für jedes Wort des Ausdrucks. Die Anforderungseigenschaft wordLevelTimestampsEnabled muss auf true festgelegt sein, andernfalls ist diese Eigenschaft nicht vorhanden. |