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 results stellt eine Reihe von Informationen zu den Transkriptionsergebnissen bereit. Für dieses Beispiel enthält das Feld alternatives in den Ergebnissen die Transkription (transcript) und die Konfidenz des Service (confidence). Das Feld final enthält den Wert true und gibt hierdurch an, dass sich diese Ergebnisse nicht ändern.
  • Das Feld result_index stellt 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 Feld result_index mit dem Wert 0 zurü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 transcript werden die Ergebnisse der Transkription bereitgestellt.
  • Das Feld confidence enthä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 Parameter interim_results mit der WebSocket-Schnittstelle verwenden, gibt der Service neu entstehende Hypothesen in mehreren Feldern results zurück, während die Audiodaten transkribiert werden. Für Zwischenergebnisse enthält das Feld final immer false und das Feld confidence wird 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_time
  • interim_results
  • split_transcript_at_phrase_end

Manche Parameter können den Inhalt des Transkripts modifizieren:

  • profanity_filter
  • redaction
  • smart_formatting

Andere Parameter können zusätzliche Informationen zu den Ergebnissen hinzufügen:

  • audio_metrics
  • keywords und keywords_threshold
  • max_alternatives
  • processing_metrics und processing_metrics_interval
  • speaker_labels
  • timestamps
  • word_alternatives_threshold
  • word_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_time verwenden, 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 Array alternatives enthält für jedes Endergebnis ein separates Element. Die Antwort beinhaltet ein einziges Element result_index mit dem Wert 0.

    {
      "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 Array alternatives enthält ein separates Element für jedes Endergebnis, und die Antwort enthält ein einzelnes Feld result_index mit dem Wert 0.

    {
      "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 %HESITATION angegeben. Wörter, die Stockungsmarkierungen generieren, sind aah, ah, hm, hmm, huh, huh-uh, hum, ohh, ugh, uh, uh-huh, uh-oh, uh-uh, um und um-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, um und um-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 University
    

    In 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 Punkt
    

    In 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.