Cómo comprender los resultados del reconocimiento de voz
Independientemente de la interfaz que utilice, el servicio IBM Watson® Speech to Text devuelve resultados de transcripción que reflejan los parámetros que especifique. El servicio devuelve todo el contenido de la respuesta JSON en el juego de caracteres UTF-8.
Respuesta de transcripción básica
El servicio devuelve la siguiente respuesta para los ejemplos en Cómo hacer una solicitud de reconocimiento de voz. En los ejemplos solo se pasa un archivo de audio y su tipo de contenido. En el audio se dice una sola frase sin pausas perceptibles entre las palabras.
{
"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
}
]
}
El servicio devuelve un objeto SpeechRecognitionResults, que es el objeto de respuesta de nivel superior. Para estas sencillas solicitudes, el objeto incluye un campo results y un campo result_index:
- El campo
resultscontiene una matriz de información sobre los resultados de la transcripción. En este ejemplo, el campoalternativesincluye la transcripción (transcript) y el nivel de confianza (confidence) del servicio en los resultados. El campofinaltiene el valortrue, lo que indica que estos resultados no cambiarán. - El campo
result_indexproporciona un identificador exclusivo para los resultados. En el ejemplo se muestran los resultados finales para una solicitud con un solo archivo de audio que no tiene pausas y la solicitud no incluye parámetros adicionales. De modo que el servicio devuelve un solo camporesult_indexcon el valor0, que siempre es el índice inicial.
Si el audio de entrada es más complejo o si la solicitud incluye parámetros adicionales, los resultados pueden contener mucha más información.
El campo alternatives
El campo alternatives contiene una matriz de resultados de la transcripción. Para esta solicitud, la matriz incluye sólo un elemento.
- El campo
transcriptproporciona los resultados de la transcripción. - El campo
confidencees una puntuación que indica la confianza del servicio en la transcripción, que para este ejemplo supera el 90 por ciento.
Los campos final y result_index califican el significado de estos campos.
Los cambios internos y las mejoras en el servicio pueden afectar a las transcripciones y a las puntuaciones de confianza. Por ejemplo, el reconocimiento de voz puede mejorarse para devolver resultados de transcripción más precisos. De forma similar, las puntuaciones de confianza de transcripción y palabra pueden cambiar ligeramente como resultado de un reconocimiento de voz mejorado. Se espera que tales cambios sean modestos, pero no esperan que las transcripciones y los puntajes de confianza permanezcan sin cambios con el tiempo.
El campo final
El campo final indica si la transcripción muestra los resultados finales de la transcripción:
- El campo tiene el valor
truesi se trata de resultados finales; se garantiza que no cambiarán. El servicio no envía más actualizaciones para los resultados finales. - El campo tiene el valor
falsepara los resultados provisionales, que están sujetos a cambios. Si utiliza el parámetrointerim_resultscon la interfaz WebSocket, el servicio devuelve hipótesis en evolución en forma de varios campos deresultsa medida que transcribe el audio. Para obtener resultados provisionales, el campofinalsiempre esfalsey el campoconfidencesiempre se omite.
Para obtener más información sobre el uso de la interfaz WebSocket para obtener resultados provisionales con modelos de voz de gran tamaño, modelos anteriores y de nueva generación, consulte los siguientes temas:
El campo result_index
El campo result_index proporciona un identificador de los resultados que es exclusivo para dicha solicitud. Si solicita resultados provisionales, el servicio envía varios campos results correspondientes a hipótesis
progresivas del audio de entrada. Los índices de los resultados provisionales correspondientes al mismo audio siempre tienen el mismo valor, así como los resultados finales del mismo audio.
El mismo índice también se puede utilizar para varios resultados finales de una sola solicitud. Independientemente de si solicita resultados provisionales, el servicio puede devolver varios resultados finales con el mismo índice si el audio incluye pausas o periodos prolongados de silencio. Para obtener más información, consulte Pausas y silencio.
Una vez que recibe resultados finales de un audio, el servicio no envía ningún otro resultado con ese índice para el resto de la solicitud. El índice correspondiente cualquier resultado posterior se incrementa en uno.
Si el audio genera varios resultados finales, concatene los elementos transcript de los resultados finales para ensamblar la transcripción completa del audio. Ensamble los resultados en el orden en el que los recibe. Al ensamblar
una transcripción final completa, puede ignorar los resultados provisionales para los que el campo final es false.
Contenido de respuesta adicional
Muchos parámetros de reconocimiento de voz afectan al contenido de la respuesta del servicio. Algunos parámetros pueden hacer que el servicio devuelva varios resultados de transcripción:
end_of_phrase_silence_timeinterim_resultssplit_transcript_at_phrase_end
Algunos parámetros pueden modificar el contenido de una transcripción:
profanity_filterredactionsmart_formatting
Otros parámetros pueden añadir más información a los resultados:
audio_metricskeywordsykeywords_thresholdmax_alternativesprocessing_metricsyprocessing_metrics_intervalspeaker_labelstimestampsword_alternatives_thresholdword_confidence
Para obtener más información sobre los parámetros disponibles, consulte Utilizar parámetros de reconocimiento de voz y Resumen de parámetros.
Pausas y silencio
La forma en que el servicio devuelve los resultados depende de la interfaz y del modelo que utilice para el reconocimiento de voz, así como del audio que pase al servicio. De forma predeterminada, el servicio transcribe toda una secuencia de audio como una sola expresión y devuelve un único resultado final para todo el audio. Sin embargo, el servicio puede devolver varios resultados finales en respuesta a las siguientes condiciones:
- El audio contiene una pausa o un silencio extendido entre las palabras o frases habladas. Para la mayoría de los idiomas, el intervalo de pausa predeterminado que el servicio utiliza para determinar resultados finales separados es de 0,8 segundos.
Para el chino, el intervalo predeterminado es de 0,6 segundos. Puede utilizar el parámetro
end_of_phrase_silence_timepara cambiar la duración del intervalo de pausa. Para obtener más información, consulte Tiempo de silencio de fin de frase. - Para modelos de la generación anterior, la expresión alcanza un máximo de dos minutos. El servicio divide una transcripción en varios resultados finales después de dos minutos de procesamiento continuo.
En los ejemplos siguientes se muestran respuestas con dos resultados finales de las interfaces HTTP y WebSocket. En ambos casos se utiliza el mismo audio de entrada. En el audio se pronuncia la frase "one two three four five six," con una pausa de un segundo entre las palabras "three" y "four." En los ejemplos se utiliza el intervalo de pausa predeterminado para el reconocimiento de voz.
-
Para las interfaces HTTP, el servicio siempre envía un único objeto de
SpeechRecognitionResults. La matrizalternativestiene un elemento para cada resultado final. La respuesta tiene un solo camporesult_indexcon el valor0.{ "result_index": 0, "results": [ { "alternatives": [ { "confidence": 0.99, "transcript": "one two three " } ], "final": true }, { "alternatives": [ { "confidence": 0.99, "transcript": "four five six " } ], "final": true } ] } -
Para la interfaz WebSocket, el servicio envía los mismos resultados que el ejemplo anterior. La respuesta incluye un único objeto
SpeechRecognitionResults, la matrizalternativestiene un elemento aparte para cada resultado final y la respuesta tiene un único camporesult_indexcon un valor de0.{ "result_index": 0, "results": [ { "alternatives": [ { "confidence": 0.99, "transcript": "one two three " } ], "final": true }, { "alternatives": [ { "confidence": 0.99, "transcript": "four five six " } ], "final": true } ] }Con la interfaz WebSocket, las respuestas para los resultados provisionales contienen más objetos JSON. Para obtener más información sobre el uso de la interfaz WebSocket para obtener resultados provisionales con modelos de voz de gran tamaño, modelos anteriores y de nueva generación, consulte los siguientes temas:
El silencio de 30 segundos en audio retransmitido puede dar como resultado un tiempo de espera de inactividad. Para obtener más información, consulte Tiempos de espera excedidos.
Vacilaciones de discurso y marcadores de duda
El habla a menudo incluye vacilaciones o pausas verbales, que también se conocen como disfluencias. Las vacilaciones ocurren cuando el usuario inserta rellenos tales como "uhm", "uh", "hmm", y expresiones no léxicas relacionadas mientras habla. El servicio maneja las vacilaciones de forma diferente para los modelos de voz de gran tamaño, los modelos de generación anterior y siguiente.
Vacilaciones para modelos de generación anterior
Para los modelos de generación anterior, el servicio incluye marcadores de duda en los resultados de transcripción para la mayoría de los idiomas. Las distintas lenguas pueden utilizar diferentes marcadores de vacilación o no indicar vacilación alguna:
- Para el inglés de Estados Unidos, los marcadores de duda se indican mediante la señal
%HESITATION. Las palabras que generan marcadores de duda sonaah,ah,hm,hmm,huh,huh-uh,hum,ohh,ugh,uh,uh-huh,uh-oh,uh-uh,umyum-hum. - Para el japonés, los marcadores de duda suelen empezar con
D_. - Para el español, el servicio no produce marcadores de duda.
El ejemplo siguiente muestra la señal %HESITATION para una transcripción en inglés de EE.UU.:
{
"result_index": 0,
"results": [
{
"alternatives": [
{
"confidence": 0.99,
"transcript": ". . . that %HESITATION that's a . . ."
}
],
"final": true
}
]
}
Los marcadores de duda pueden aparecer tanto en resultados provisionales como finales. La habilitación del formato inteligente evita que aparezcan marcadores de duda en los resultados finales para el inglés de EE.UU. Para obtener más información, consulte Formateo inteligente.
Los marcadores de duda también pueden aparecer en otros campos de una transcripción. Por ejemplo, si solicita indicaciones de fecha y hora de palabras para las palabras individuales de una transcripción, el servicio muestra la hora de inicio y de finalización de cada marcador de duda.
{
"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
}
]
}
A menos que tenga que usarlos para su aplicación, puede filtrar los marcadores de duda de forma segura de una transcripción.
Vacilaciones para modelos de próxima generación
Para los modelos de próxima generación, el servicio incluye las palabras de vacilación reales en todos los resultados de la transcripción. Los modelos de próxima generación tratan las vacilaciones como palabras, por lo que las vacilaciones pueden aparecer en los resultados provisionales, los resultados finales y otros campos como, por ejemplo, los resultados de las indicaciones de fecha y hora de las palabras. Los modelos de próxima generación no generan marcadores de duda, y la habilitación del formato inteligente no hace que se eliminen las vacilaciones de los resultados finales. Diferentes idiomas pueden identificar diferentes palabras de duda:
- Para el inglés de Estados Unidos, las palabras de duda comunes de, al igual que para los modelos de generación anterior, son
aah,ah,hm,hmm,huh,huh-uh,hum,ohh,ugh,uh,uh-huh,uh-oh,uh-uh,umyum-hum. No todas estas palabras de duda pueden aparecer en las transcripciones. - Para el japonés, las palabras de duda de normalmente constan de caracteres de media anchura como
ア,アノー,ウーン,エート,マ,テ,マyンート. Algunas vacilaciones pueden ser reconocidas como caracteres de ancho completo.
Para aumentar la probabilidad de ver vacilaciones en la respuesta, puede utilizar un modelo de lenguaje personalizado. En el modelo personalizado, añada corpus que incluyan las vacilaciones o cree palabras personalizadas cuyos sonidos-me gusta capturar la forma en que los usuarios dicen las disfluencias. Para obtener más información sobre los modelos de lenguaje personalizado, consulte Creación de un modelo de lenguaje personalizado.
El siguiente ejemplo muestra la vacilación "uhm" en una transcripción del inglés estadounidense:
{
"result_index": 0,
"results": [
{
"alternatives": [
{
"confidence": 0.99,
"transcript": ". . . that uhm that's a . . ."
}
],
"final": true
}
]
}
Capitalización
Para la mayoría de los idiomas, el servicio no utiliza mayúsculas en las transcripciones de respuesta. Si el uso de mayúsculas es importante para su aplicación, debe poner en mayúscula la primera palabra de cada frase y cualquier otro término que deba ir en mayúsculas.
El servicio aplica la capitalización automática sólo a los siguientes idiomas y modelos. El servicio siempre aplica esta capitalización, independientemente de si utiliza el formato inteligente.
-
Para los modelos de la generación anterior en inglés de EE.UU., el servicio capitaliza muchos nombres propios. Por ejemplo, el servicio devuelve la siguiente transcripción de la frase barack obama graduated from columbia university:
Barack Obama graduated from Columbia UniversityEl servicio no capitaliza los nombres adecuados para el inglés de EE.UU. con los modelos de próxima generación.
-
Para los modelos en alemán de próxima generación, el servicio capitaliza muchos nombres. Por ejemplo, el servicio devuelve la siguiente transcripción de la frase er brucht erst einen neuen eintrag ins vokabular punkt:
er braucht erst einen neuen Eintrag ins Vokabular PunktEl servicio no capitaliza nombres para el alemán con los modelos de la generación anterior.
Puntuación
El servicio no inserta signos de puntuación en las transcripciones de respuesta de forma predeterminada. Debe añadir los signos de puntuación que necesite a los resultados del servicio.
Para algunos idiomas, puede utilizar el formateo inteligente para indicar al servicio que sustituya los signos de puntuación, por ejemplo comas, puntos, signos de interrogación y signos de exclamación, por determinadas series de palabras clave. Para obtener más información, consulte Formateo inteligente.