Über den Einsatz von Cookies auf dieser Website Unsere Websites benötigen einige Cookies, um ordnungsgemäß zu funktionieren (erforderlich). Darüber hinaus können mit Ihrer Zustimmung weitere Cookies verwendet werden, um die Nutzung der Website zu analysieren, die Benutzerfreundlichkeit zu verbessern und Werbung zu schalten. Weitere Informationen finden Sie in Ihren. Durch den Besuch unserer Website erklären Sie sich mit der Verarbeitung von Informationen einverstanden, wie in der IBMDatenschutzbestimmung beschrieben. Um eine reibungslose Navigation zu ermöglichen, werden Ihre Cookie-Präferenzen über die hier aufgeführten IBM Web-Domains hinweg gemeinsam genutzt.
Schlüsselworterkennung und Wortalternativen
Der Service IBM Watson® Speech to Text kann benutzerdefinierte Schlüsselwörter in den zugehörigen Transkriptionsergebnissen identifizieren. Der Service kann darüber hinaus alternative Wörter vorschlagen, die ähnlich klingen wie die Wörter in einer Transkription. In beiden Fällen müssen die Schlüsselwörter und die alternativen Wörter mit einem benutzerdefinierten Konfidenzniveau übereinstimmen.
Schlüsselworterkennung
Die Parameter keywords
und keywords_threshold
werden nur bei Modellen der vorherigen Generation unterstützt und nicht bei Modellen der nächsten Generation.
Die Funktion für Schlüsselworterkennung identifiziert angegebene Zeichenfolgen in einem Transkript. Der Service kann mehrere Vorkommen desselben Schlüsselworts erkennen und erfassen. Dabei werden Schlüsselwörter nur in den Endergebnissen erkannt und nicht in den Zwischenergebnissen. Die Funktion für Schlüsselworterkennung ist im Service standardmäßig inaktiviert.
Wenn Sie die Schlüsselworterkennung verwenden möchten, müssen Sie die beiden folgenden Parameter angeben:
-
Geben Sie im Parameter
keywords
ein Array mit den zu erkennenden Zeichenfolgen an. Der Service erkennt keine Schlüsselwörter, wenn der Parameter nicht angegeben oder leer ist. Eine Schlüsselwortzeichenfolge kann mehr als ein Token enthalten. Beispiel: Das SchlüsselwortSpeech to Text
umfasst drei Tokens. Der Schlüsselwortabgleich ist unabhängig von Groß-/Kleinschreibung, also istSpeech to Text
letztlich gleichbedeutend mitspeech to text
.Für amerikanisches Englisch normalisiert der Service jedes Schlüsselwort, um gesprochen und geschriebene Zeichenfolgen abzugleichen. Beispiel: Durch Normalisieren von Zahlen werden die Sprech- und Schreibweisen der Zahlen abgeglichen. Für andere Sprachen müssen Schlüsselwörter in der gesprochenen Form angegeben werden.
-
Im Parameter
keywords_threshold
können Sie als Erkennungswahrscheinlichkeit für ein Schlüsselwort einen Wert zwischen 0,0 und 1,0 angeben. Dieser Schwellenwert gibt die Untergrenze für das Konfidenzniveau an, das der Service für ein Wort ermittelt haben muss, damit eine Übereinstimmung mit dem Schlüsselwort erkannt wird. Ein Schlüsselwort wird in der Transkription nur erkannt, wenn das zugehörige Konfidenzniveau größer-gleich dem angegebenen Schwellenwert ist.Das Angeben eines niedrigen Schwellenwerts kann dazu führen, dass viele Übereinstimmungen festgestellt werden. Wenn Sie einen Schwellenwert angeben, müssen Sie auch mindestens ein Schlüsselwort angeben. Wenn Sie den Parameter nicht angeben, werden keine Übereinstimmungen zurückgegeben.
Für die Schlüsselworterkennung gelten die folgenden Einschränkungen:
- Mit einer einzigen Anforderung können bis zu 1.000 Schlüsselwörter erkannt werden.
- Ein einzelnes Schlüsselwort kann eine maximale Länge von 1024 Zeichen haben. Die maximale effektive Länge für Doppelbyte-Sprachen ist möglicherweise kürzer.
- Die meisten HTTP-Server geben für die Parameter einer Anforderung eine Begrenzung von 8 KB vor. Die Erkennung einer großen Anzahl von Schlüsselwörtern oder vieler langer Schlüsselwörter kann dazu führen, dass dieser Grenzwert überschritten wird. Wenn Sie eine größere Anzahl von Schlüsselwörtern abgleichen müssen, sollten Sie die Verwendung mehrteiligen HTTP-Anforderung in Betracht ziehen.
Die Schlüsselworterkennung ist erforderlich, um Schlüsselwörter in einem Audiodatenstrom zu identifizieren. Die Schlüsselworterkennung durch Verarbeiten einer endgültigen Transkription ist nicht möglich, da die Transkription die bestmöglichen Decodierungsergebnisse des Service für die Audioeingabedaten darstellt. Es enthält keine Tokens mit niedrigen Konfidenzwerten, die möglicherweise ein infrage kommendes Wort darstellen. Mit anderen Worten: Das Anwenden von Textverarbeitungstools auf eine Transkription auf der Clientseite verhindert möglicherweise das Erkennen von Schlüsselwörtern. Daher wird eine detailliertere Darstellung der Decodierungsergebnisse benötigt, die nur auf dem Server verfügbar ist.
Ergebnisse der Schlüsselworterkennung
Der Service gibt die Ergebnisse der Erkennung in einem Feld keywords_result
im Array results
zurück. Das Feld keywords_result
enthält ein Wörterverzeichnis oder ein assoziatives Array der aufzulistenden
Merkmale. Jedes Merkmal wird durch ein angegebenes Schlüsselwort identifiziert und enthält ein Array von Objekten. Der Service gibt für jede gefundene Übereinstimmung mit dem Schlüsselwort ein Element des Arrays zurück. Das Objekt für jede
Übereinstimmung enthält die folgenden Felder:
normalized_text
ist das angegebene Schlüsselwort, normalisiert auf den gesprochenen Ausdruck, der in den Audioeingabedaten als Übereinstimmung erkannt wurde.start_time
ist der Startzeitpunkt der Übereinstimmung, angegeben in Sekunden.end_time
ist der Endzeitpunkt der Übereinstimmung, angegeben in Sekunden.confidence
ist der vom Service ermittelte Konfidenzwert für die Übereinstimmung mit dem angegebenen Schlüsselwort. Der Konfidenzwert muss größer-gleich dem angegebenen Schwellenwert sein, damit die Übereinstimmung in die Ergebnisse aufgenommen wird.
Ein Schlüsselwort, für das der Service keine Übereinstimmungen findet, wird nicht in das Array eingetragen. In den folgenden Fällen wird möglicherweise kein Schlüsselwort gefunden:
-
Das Schlüsselwort kommt in den Audiodaten nicht vor. Das Fehlen des Schlüsselworts ist der offensichtlichste Grund.
-
Der festgelegte Schwellenwert ist zu hoch. Wenn der Service einen zu niedrigen Konfidenzwert für das Schlüsselwort ermittelt, wird die gefundene Übereinstimmung nicht in die Ergebnisse eingetragen.
-
Eine gesprochene Schlüsselwortzeichenfolge mit mehreren Tokens (z. B.
Speech to Text
) enthält zu viele Sprechpausen zwischen den Tokens. Beim Transkribieren der Audiodaten zerteilt der Service den Datenstrom in eine Reihe von Blöcken. Jeder Block besteht aus einem zusammenhängenden Segment der Audiodaten, das keine Sprechpause enthält, die länger als eine halbe Sekunde ist. Als Ergebnis wird ein Array von Objekten erstellt, das aus diesen Blöcken besteht.Der Service erkennt ein Schlüsselwort mit mehreren Tokens nur in den folgenden Fällen als Übereinstimmung:
- Die Tokens des Schlüsselworts sind im selben Block enthalten.
- Die Tokens folgen lückenlos aufeinander oder die Lücken sind nicht länger als 0,1 Sekunde.
Im letzteren Fall kann ein kurzes Füllwort oder eine nicht lexikalische Äußerung (z. B. 'hmm' oder 'naja') zwischen zwei Tokens des Schlüsselworts liegen. In diesem Fall kann in Modellen der vorherigen Generation an dieser Stelle des Transkripts eine Verzögerungsmarkierung eingefügt werden. Modelle der nächsten Generation berücksichtigen die tatsächliche Unentschlossenheit in den Transkriptionsergebnissen. Weitere Informationen finden Sie unter "Sprachzögern und Zögerzeichen ".
Beispiel für Schlüsselworterkennung
In der folgenden Beispielanforderung wird der Parameter keywords
auf ein URL-codiertes Array mit drei Zeichenfolgen (colorado
, tornado
und tornadoes
) und der Parameter keywords_threshold
auf 0.5
gesetzt:
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file.flac \
"{url}/v1/recognize?keywords=colorado%2Ctornado%2Ctornadoes&keywords_threshold=0.5"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file.flac \
"{url}/v1/recognize?keywords=colorado%2Ctornado%2Ctornadoes&keywords_threshold=0.5"
Der Service findet entsprechende Vorkommen von colorado
und tornadoes
:
{
"result_index": 0,
"results": [
{
"keywords_result": {
"colorado": [
{
"normalized_text": "Colorado",
"start_time": 4.94,
"confidence": 0.91,
"end_time": 5.62
}
],
"tornadoes": [
{
"normalized_text": "tornadoes",
"start_time": 1.52,
"confidence": 1.0,
"end_time": 2.15
}
]
},
"alternatives": [
{
"confidence": 0.96,
"transcript": "several tornadoes touch down as a line of
severe thunderstorms swept through Colorado on Sunday "
}
],
"final": true
}
]
}
Wortalternativen
Der Parameter word_alternatives_threshold
wird nur bei Modellen der vorherigen Generation unterstützt, nicht bei Modellen der nächsten Generation.
Die Funktion für Wortalternativen (auch als Confusion Networks bezeichnet) meldet Hypothesen für ähnlich klingende Wortalternativen der Audioeingabedaten. Beispielsweise kann das Wort Austin
die beste Hypothese für ein
Wort aus den Audiodaten sein. Das Wort Boston
kann jedoch eine weitere Hypothese im selben Zeitintervall sein. Hypothesen weisen einen gemeinsamen Start- und Endzeitpunkt auf, aber sie unterscheiden sich in Schreibweise und (in
der Regel) Konfidenzwert.
Die Funktion für Wortalternativen ist im Service standardmäßig inaktiviert. Um anzugeben, dass Sie alternative Hypothesen empfangen möchten, können Sie im Parameter word_alternatives_threshold
einen Wahrscheinlichkeitswert zwischen
0,0 und 1,0 angeben. Der Schwellenwert gibt die Untergrenze für das Konfidenzniveau an, das der Service für eine Hypothese ermittelt haben muss, damit Sie als Wortalternative zurückgegeben wird. Eine Hypothese wird nur vorgeschlagen, wenn
der zugehörige Konfidenzwert größer-gleich dem angegebenen Schwellenwert ist.
Wortalternativen sind mit der Zeitachse für eine Transkription vergleichbar, die in kleinere Abschnitte (sogenannte Fächer) aufgeteilt ist. Jedes Fach kann eine oder mehrere Hypothese(n) mit unterschiedlichen Schreibweisen und Konfidenzwerten
enthalten. Der Parameter word_alternatives_threshold
steuert die Dichte (Menge) der vom Service zurückgegebenen Ergebnisse. Wenn ein niedriger Schwellenwert angegeben wird, kann dies zu einer großen Menge von Hypothesen führen.
Ergebnisse für Wortalternativen
Der Service gibt die Ergebnisse der Erkennung in einem Feld word_alternatives
im Array results
zurück. Das Feld word_alternatives
ist ein Array mit Objekten, die jeweils die folgenden Felder für eine
Wortalternative enthalten:
start_time
gibt den Zeitpunkt in Sekunden an, an dem das Wort, für das Hypothesen zurückgegeben werden, in den Audioeingabedaten beginnt.end_time
gibt den Zeitpunkt in Sekunden an, an dem das Wort, für das Hypothesen zurückgegeben werden, in den Audioeingabedaten endet.alternatives
ist ein Array mit Hypothesenobjekten. Jedes Objekt enthält ein Elementconfidence
, das das vom Service ermittelte Konfidenzniveau für die Hypothese angibt, und ein Elementword
, das die Hypothese angibt. Der Konfidenzwert muss größer-gleich dem angegebenen Schwellenwert sein, damit die Übereinstimmung in die Ergebnisse aufgenommen wird. Der Service sortiert die Alternativen nach Konfidenzwert.
Beispiel für Wortalternativen
In der folgenden Beispielanforderung wird ein eher niedriger Schwellenwert (word_alternatives_threshold
) von 0.10
angegeben. Die einfachen Audioeingabedaten enhalten Wörter mit gängigen Homonymen und verschiedene
mögliche akustische Interpretationen.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/wav" \
--data-binary @{path}audio-file.wav \
"{url}/v1/recognize?word_alternatives_threshold=0.10"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/wav" \
--data-binary @{path}audio-file.wav \
"{url}/v1/recognize?word_alternatives_threshold=0.10"
Aufgrund des niedrigen Schwellenwerts gibt der Service mehrere Hypothesen und Konfidenzbewertungen für einige der Wörter sowie die Start- und Endzeiten aller Wörter zurück. Die letzte Transkription erkennt die Audioeingabedaten korrekt.
{
"result_index": 0,
"results": [
{
"final": true,
"alternatives": [
{
"transcript": "yes I ate that tuna ",
"confidence": 0.82
}
],
"word_alternatives": [
{
"start_time": 0.0,
"end_time": 0.31,
"alternatives": [
{
"word": "yes",
"confidence": 1.0
}
]
},
{
"start_time": 0.31,
"end_time": 0.46,
"alternatives": [
{
"word": "I",
"confidence": 1.0
}
]
},
{
"start_time": 0.46,
"end_time": 0.63,
"alternatives": [
{
"word": "ate",
"confidence": 0.89
},
{
"word": "eat",
"confidence": 0.11
}
]
},
{
"start_time": 0.63,
"end_time": 0.77,
"alternatives": [
{
"word": "that",
"confidence": 0.72
},
{
"word": "the",
"confidence": 0.27
}
]
},
{
"start_time": 0.77,
"end_time": 1.2,
"alternatives": [
{
"word": "tuna",
"confidence": 0.94
}
]
}
]
}
]
}