Spracherkennungsergebnisse verstehen
Unabhängig von der verwendeten Schnittstelle gibt der IBM Watson® Speech to Text-Service Transkriptionsergebnisse zurück, die den von Ihnen angegebenen Parameter entsprechen. Der Service gibt alle Inhalte von JSON-Antworten mit dem Zeichensatz UTF-8 zurück.
Antwort für Basistranskription
Der Service gibt für die Beispiele in Anforderung für Spracherkennung erstellen die folgende Antwort zurück. In den Beispielen wird lediglich eine Audiodatei und ihr Inhaltstyp übergeben. In der Audiodatei wird ein einziger Satz ohne nennenswerte Sprechpausen zwischen den Wörtern gesprochen.
{
"result_index": 0,
"results": [
{
"alternatives": [
{
"confidence": 0.96,
"transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado on Sunday "
}
],
"final": true
}
]
}
Der Service gibt ein Objekt SpeechRecognitionResults zurück; dies ist das Antwortobjekt der höchsten Ebene. Für diese einfachen Anforderungen enthält das Objekt ein Feld results und ein Feld result_index:
- Das Feld
resultsstellt eine Reihe von Informationen zu den Transkriptionsergebnissen bereit. Für dieses Beispiel enthält das Feldalternativesin den Ergebnissen die Transkription (transcript) und die Konfidenz des Service (confidence). Das Feldfinalenthält den Werttrueund gibt hierdurch an, dass sich diese Ergebnisse nicht ändern. - Das Feld
result_indexstellt eine eindeutige ID für die Ergebnisse bereit. Das Beispiel zeigt die Endergebnisse für eine Anforderung mit einer einzigen Audiodatei ohne Sprechpausen; weitere Parameter sind in der Anforderung nicht enthalten. Der Service gibt daher ein einziges Feldresult_indexmit dem Wert0zurück, der immer der Anfangsindex ist.
Falls die Audioeingabedaten komplexer sind oder die Anforderung zusätzliche Parameter enthält, können die Ergebnisse weitere Informationen enthalten.
Feld 'alternatives'
Das Feld alternatives stellt ein Array von Transkriptionsergebnissen bereit. Das Array für diese Anforderung enthält nur ein Element.
- Im Feld
transcriptwerden die Ergebnisse der Transkription bereitgestellt. - Das Feld
confidenceenthält eine Konfidenzbewertung (Score), die der Service für die Transkription ermittelt (im vorliegenden Beispiel über 90 Prozent).
Die Felder final und result_index qualifizieren die Bedeutung dieser Felder.
Interne Änderungen und Verbesserungen am Service können sich auf Mitschriften und Konfidenzbewertungen auswirken. Beispielsweise kann die Spracherkennung verbessert werden, um präzisere Transkriptionsergebnisse zurückzugeben. Ebenso können sich die Bewertungen für Transkription und Wortkonfidenz aufgrund einer verbesserten Spracherkennung leicht ändern. Es wird erwartet, dass solche Änderungen bescheiden sind, aber es wird nicht erwartet, dass Transkripte und Konfidenzwerte im Laufe der Zeit unverändert bleiben.
Feld 'final'
Das Feld final gibt an, ob das Feld 'transcript' die Endergebnisse für die Transkription enthält:
- Für Endergebnisse, die sich garantiert nicht ändern, enthält das Feld den Wert
true. Der Service liefert für Endergebnisse keine weiteren Aktualisierungen. - Für Zwischenergebnisse, bei denen Änderungen vorbehalten sind, enthält das Feld den Wert
false. Wenn Sie den Parameterinterim_resultsmit der WebSocket-Schnittstelle verwenden, gibt der Service neu entstehende Hypothesen in mehreren Feldernresultszurück, während die Audiodaten transkribiert werden. Für Zwischenergebnisse enthält das Feldfinalimmerfalseund das Feldconfidencewird immer weggelassen.
Weitere Informationen über die Verwendung der Schnittstelle WebSocket, um Zwischenergebnisse mit großen Sprachmodellen, Modellen der vorherigen und der nächsten Generation zu erhalten, finden Sie in den folgenden Themen:
Feld 'result_index'
Das Feld result_index stellt für die Ergebnisse eine ID zur Verfügung, die für diese Anforderung eindeutig ist. Falls Sie Zwischenergebnisse anfordern, sendet der Service mehrere Felder results mit den sich ergebenden
Hypothesen für die Eingabeaudiodaten. Die Indizes der Zwischenergebnisse für dieselben Audiodaten haben - wie auch die Endergebnisse für dieselben Audiodaten - immer denselben Wert.
Derselbe Index kann auch für mehrere Endergebnisse einer einzelnen Anforderung verwendet werden. Unabhängig davon, ob Sie Zwischenergebnisse anfordern, kann der Service mehrere Endergebnisse mit demselben Index zurückgeben, wenn Ihre Audiodaten Sprechpausen oder längere Zeiten ohne Audiosignale enthalten. Weitere Informationen finden Sie unter Sprechpausen und Schweigen.
Sobald Sie für Audiodaten Endergebnisse empfangen haben, sendet der Service für den Rest der Anforderung keine weiteren Ergebnisse mit diesem Index. Der Index für alle weiteren Ergebnisse wird jeweils um 1 erhöht.
Falls Ihre Audiodaten zu mehreren Endergebnissen führen, verketten Sie die Elemente transcript der Endergebnisse, um die vollständige Transkription der Audiodaten zusammenzusetzen. Setzen Sie die Ergebnisse in der Reihenfolge
zusammen, in der sie empfangen werden. Beim Zusammenfügen einer vollständigen endgültige Mitschrift können Sie die Zwischenergebnisse ignorieren, bei denen das Feld final den Wert false aufweist.
Zusätzlicher Antwortinhalt
Viele Parameter der Spracherkennung wirken sich auf den Inhalt der Antwort aus, die vom Service zurückgegeben wird. Manche Parameter können bewirken, dass der Service mehrere Transkriptionsergebnisse zurückgibt:
end_of_phrase_silence_timeinterim_resultssplit_transcript_at_phrase_end
Manche Parameter können den Inhalt des Transkripts modifizieren:
profanity_filterredactionsmart_formatting
Andere Parameter können zusätzliche Informationen zu den Ergebnissen hinzufügen:
audio_metricskeywordsundkeywords_thresholdmax_alternativesprocessing_metricsundprocessing_metrics_intervalspeaker_labelstimestampsword_alternatives_thresholdword_confidence
Weitere Informationen zu den verfügbaren Parametern finden Sie in Spracherkennungsparameter verwenden und Parameterübersicht.
Sprechpausen und Schweigen
Wie der Service Ergebnisse zurückgibt, hängt von der Schnittstelle ab und von dem Modell, das Sie für die Spracherkennung verwenden, sowie von den Audiodaten, die Sie an den Service übergeben. Standardmäßig transkribiert der Service den gesamten Audiodatenstrom als einzelne Äußerung und gibt ein einziges Endergebnis für alle Audiodaten zurück. Der Service kann jedoch als Antwort auf die folgenden Bedingungen mehrere Endergebnisse zurückgeben:
- Die Audiodaten enthalten eine Sprechpause oder längeres Schweigen zwischen gesprochenen Wörtern oder Ausdrücken. Bei den meisten Sprachen beträgt das Standardpausenintervall, nach dem der Service die Endergebnisse aufteilt, 0,8 Sekunden. Für
Chinesisch ist das Standardintervall auf 0,6 Sekunden festgelegt. Sie können den Parameter
end_of_phrase_silence_timeverwenden, um die Dauer des Pausenintervalls zu ändern. Weitere Informationen finden Sie im Abschnitt Sprechpausenzeit nach Ausdrucksende. - Modelle der vorherigen Generation: Wenn die Äußerung die Obergrenze von zwei Minuten erreicht. Der Service teilt die Transkription nach zwei Minuten kontinuierlicher Verarbeitung in mehrere Endergebnisse auf.
Die folgenden Beispiele zeigen Antworten mit zwei Endergebnissen aus der HTTP-Schnittstelle und der WebSocket-Schnittstelle. In beiden Fällen wird dieselbe Audiodateneingabe verwendet. In den Audiodaten wird der Ausdruck 'one two three four five six' mit einer einsekündigen Pause zwischen den Wörtern 'three' und 'four' gesprochen. Die Beispiele verwenden das Standardpausenintervall für die Spracherkennung.
-
HTTP-Schnittstellen: Der Service sendet immer ein einzelnes Objekt
SpeechRecognitionResults. Das Arrayalternativesenthält für jedes Endergebnis ein separates Element. Die Antwort beinhaltet ein einziges Elementresult_indexmit dem Wert0.{ "result_index": 0, "results": [ { "alternatives": [ { "confidence": 0.99, "transcript": "one two three " } ], "final": true }, { "alternatives": [ { "confidence": 0.99, "transcript": "four five six " } ], "final": true } ] } -
WebSocket-Schnittstelle: Der Service sendet die gleichen Ergebnisse wie im vorherigen Beispiel. Die Antwort enthält ein einzelnes Objekt
SpeechRecognitionResults. Das Arrayalternativesenthält ein separates Element für jedes Endergebnis, und die Antwort enthält ein einzelnes Feldresult_indexmit dem Wert0.{ "result_index": 0, "results": [ { "alternatives": [ { "confidence": 0.99, "transcript": "one two three " } ], "final": true }, { "alternatives": [ { "confidence": 0.99, "transcript": "four five six " } ], "final": true } ] }Bei Verwendung der WebSocket-Schnittstelle enthalten die Antworten für Zwischenergebnisse mehr JSON-Objekte. Weitere Informationen über die Verwendung der Schnittstelle WebSocket, um Zwischenergebnisse mit großen Sprachmodellen, Modellen der vorherigen und der nächsten Generation zu erhalten, finden Sie in den folgenden Themen:
Eine Sprechpause von 30 Sekunden in gestreamten Audiodaten kann zur Überschreitung des Zeitlimits für Inaktivität führen. Weitere Informationen finden Sie im Abschnitt Zeitlimits.
Sprachzögerungen und zögerliche Marker
Sprache beinhaltet oft Zögern oder verbale Pausen, die auch als Disfluenzen bezeichnet werden. Zögernisse treten auf, wenn der Benutzer beim Sprechen Füllstoffe wie "uhm", "uh", "hmm" und zugehörige nicht lexikalische Äußerungen einfügt. Der Service behandelt Hesitationen bei großen Sprachmodellen, Modellen der vorherigen und der nächsten Generation unterschiedlich.
Zögern bei Modellen der Vorgängergeneration
Bei Modellen der früheren Generation enthält der Service für die meisten Sprachen Hesitation-Marker in Transkriptionsergebnissen. Verschiedene Sprachen können unterschiedliche Zögerungsmarker verwenden oder Zögerungen überhaupt nicht anzeigen:
- Englisch (Vereinigte Staaten): Verzögerungsmarkierungen werden durch das Token
%HESITATIONangegeben. Wörter, die Stockungsmarkierungen generieren, sindaah,ah,hm,hmm,huh,huh-uh,hum,ohh,ugh,uh,uh-huh,uh-oh,uh-uh,umundum-hum. - Japanisch: Verzögerungsmarkierungen beginnen in der Regel mit
D_. - Spanisch: Der Service erzeugt keine Verzögerungsmarkierungen.
Das folgende Beispiel zeigt das Token %HESITATION für eine Transkription in amerikanischem Englisch:
{
"result_index": 0,
"results": [
{
"alternatives": [
{
"confidence": 0.99,
"transcript": ". . . that %HESITATION that's a . . ."
}
],
"final": true
}
]
}
Stockungsmarkierungen können sowohl in den Zwischenergebnissen als auch in den Endergebnissen angezeigt werden. Wenn die intelligenten Formatierung aktiviert ist, werden in den Endergebnissen für amerikanisches Englisch keine Verzögerungsmarkierungen angegeben. Weitere Informationen finden Sie im Abschnitt Intelligente Formatierung.
Stockungsmarkierungen können auch in anderen Feldern einer Transkription auftreten. Falls Sie beispielsweise Wortzeitmarken für die einzelnen Wörter einer Transkription anfordern, meldet der Service die Anfangs- und Endzeit jeder Stockungsmarkierung.
{
"result_index": 0,
"results": [
{
"alternatives": [
{
"timestamps": [
. . .
[
"that",
7.31,
7.69
],
[
"%HESITATION",
7.69,
7.98
],
[
"that's",
7.98,
8.41
],
[
"a",
8.41,
8.48
],
. . .
],
"confidence": 0.99,
"transcript": ". . . that %HESITATION that's a . . ."
}
],
"final": true
}
]
}
Sofern Sie Stockungsmarkierungen für Ihre Anwendung nicht benötigen, können Sie sie problemlos aus einer Transkription herausfiltern.
Zögern bei Modellen der nächsten Generation
Bei Modellen der nächsten Generation enthält der Service die tatsächlichen zögernden Wörter in allen Transkriptionsergebnissen. Modelle der nächsten Generation behandeln Hesitationen als Wörter, sodass Hesitationen in Zwischenergebnissen, Endergebnissen und anderen Feldern wie den Ergebnissen für Wortzeitmarken auftreten können. Modelle der nächsten Generation erzeugen keine Stockungsmarkierungen und die Aktivierung der intelligenten Formatierung führt nicht dazu, dass Hesungen aus den Endergebnissen entfernt werden. Verschiedene Sprachen können unterschiedliche zögerliche Wörter identifizieren:
- Für amerikanisches Englisch sind allgemeine zögerliche Wörter wie bei Modellen der vorherigen Generation
aah,ah,hm,hmm,huh,huh-uh,hum,ohh,ugh,uh,uh-huh,uh-oh,uh-uh,umundum-hum. Nicht alle diese zögerlichen Wörter könnten in Transkripten erscheinen. - Für Japanisch bestehen zögerliche Wörter in der Regel aus Zeichen mit halber Breite wie
ア,アノー,ウーン,エート,マ,テ,マundンート. Einige Zögern werden möglicherweise als Zeichen mit voller Breite erkannt.
Um die Wahrscheinlichkeit zu erhöhen, dass in Ihrer Antwort Zögern auftreten, können Sie ein angepasstes Sprachmodell verwenden. Fügen Sie im angepassten Modell Korpora hinzu, die die Hesitationen enthalten, oder erstellen Sie angepasste Wörter, deren Klänge die Art und Weise erfassen, wie Benutzer die Disfluenzen sagen. Weitere Informationen zu angepassten Sprachmodellen finden Sie unter Angepasstes Sprachmodell erstellen.
Das folgende Beispiel zeigt das Zögern "uhm" in einem US-Englisch-Transkript:
{
"result_index": 0,
"results": [
{
"alternatives": [
{
"confidence": 0.99,
"transcript": ". . . that uhm that's a . . ."
}
],
"final": true
}
]
}
Großschreibung am Wortanfang
Bei den meisten Sprachen verwendet der Service in Antworttranskriptionen keine Großbuchstaben am Wortanfang. Wenn die Großschreibung für Ihre Anwendung wichtig ist, müssen Sie beim ersten Wort jedes Satzes sowie bei allen anderen Begriffen, für die die Großschreibung geeignet ist, den ersten Buchstaben in einen Großbuchstaben ändern.
Der Service wendet die automatische Großschreibung am Wortanfang nur auf die folgenden Sprachen und Modelle an. Der Service wendet diese Großschreibung am Wortanfang immer an, unabhängig davon, ob die intelligente Formatierung verwendet wird.
-
Modelle der vorherigen Generation für amerikanisches Englisch: Der Service verwendet die Großschreibung am Wortanfang für viele Eigennamen. Der Service gibt zum Beispiel für den Ausdruck barack obama graduated from columbia university das folgende Transkript zurück:
Barack Obama graduated from Columbia UniversityIn Modellen der nächsten Generation für amerikanisches Englisch verwendet der Service bei Eigennamen keine Großschreibung am Wortanfang.
-
Modelle der nächsten Generation für Deutsch: Der Service verwendet die Großschreibung am Wortanfang für viele Nomen. Der Service gibt zum Beispiel für den Ausdruck er braucht erst einen neuen eintrag ins vokabular punkt das folgende Transkript zurück:
er braucht erst einen neuen Eintrag ins Vokabular PunktIn Modellen der vorherigen Generation für Deutsch verwendet Service für Nomen keine Großschreibung am Wortanfang.
Interpunktion
Standardmäßig fügt der Service keine Interpunktion in Antworttranskriptionen ein. Gegebenenfalls benötigte Interpunktion müssen Sie selbst zu den Ergebnissen des Service hinzufügen.
Bei einigen Sprachen können Sie den Service durch die Verwendung der intelligenten Formatierung anweisen, bestimmte Schlüsselwortzeichenfolgen durch Interpunktionssymbole wie Kommas, Punkte, Fragezeichen und Ausrufezeichen zu ersetzen. Weitere Informationen finden Sie im Abschnitt Intelligente Formatierung.