Prueba de la precisión de un modelo de Habla personalizada
En este artículo, aprenderá a medir cuantitativamente y a mejorar la precisión del modelo de conversión de voz en texto base o sus propios modelos personalizados. Los datos de transcripción con etiqueta humana y audio son necesarios para probar la precisión. Debe proporcionar entre 30 minutos y 5 horas de audio representativo.
Importante
Al realizar pruebas, el sistema llevará a cabo una transcripción. Es importante tenerlo en cuenta, ya que el precio varía según la oferta de servicio y el nivel de suscripción. Consulte siempre los precios oficiales de los servicios de Azure AI para conocer los últimos detalles.
Creación de una prueba
Puede probar la precisión del modelo personalizado mediante la creación de una prueba. Una prueba requiere una colección de archivos de audio y sus transcripciones correspondientes. Puede comparar la precisión de un modelo personalizado con un modelo base de conversión de voz en texto u otro modelo personalizado. Después de obtener los resultados de la prueba, evalúe la tasa de error de palabra (WER) en comparación con los resultados del reconocimiento de voz.
Siga estos pasos para crear una prueba:
Inicie sesión en Speech Studio.
Seleccione Habla personalizada> El nombre del proyecto >Modelos de prueba.
Seleccione Crear prueba.
Seleccione Evaluar precisión>Siguiente.
Seleccione un conjunto de datos de transcripción etiquetadas por usuarios y audio y, a continuación, seleccione Siguiente. Si no hay ningún conjunto de datos disponible, cancele la instalación y vaya al menú Speech datasets (Conjuntos de datos de voz) para cargar conjuntos de datos.
Nota
Es importante seleccionar un conjunto de datos acústico diferente del usado para la creación del modelo. Este enfoque puede proporcionar una idea más realista del rendimiento del modelo.
Seleccione hasta dos modelos para evaluar y, a continuación, seleccione Siguiente.
Indique el nombre y una descripción de la prueba y, a continuación, seleccione Next (Siguiente).
Revise los detalles de la prueba y, a continuación, seleccione Guardar y cerrar.
Para crear una prueba, use el comando spx csr evaluation create
. Construya los parámetros de solicitud según las instrucciones siguientes:
- Establezca el parámetro
project
en el identificador de un proyecto existente. Este parámetro se recomienda para que también pueda ver la prueba en Speech Studio. Puede ejecutar el comandospx csr project list
para obtener los proyectos disponibles. - Establezca el parámetro
model1
necesario en el identificador del modelo que quiera probar. - Establezca el parámetro
model2
necesario en el identificador de otro modelo que quiera probar. Si no quiere comparar dos modelos, use el mismo modelo paramodel1
ymodel2
. - Establezca el parámetro
dataset
necesario en el identificador del conjunto de datos que quiera usar para la prueba. - Establezca el parámetro
language
; de lo contrario, la CLI de Voz establecerá "en-US" de manera predeterminada. Este parámetro debería ser la configuración regional del contenido del conjunto de datos. Esta configuración regional no se podrá modificar más adelante. El parámetrolanguage
de la CLI de Voz corresponde a la propiedadlocale
de la solicitud y respuesta JSON. - Establezca el parámetro
name
necesario. Este parámetro es el nombre que se muestra en Speech Studio. El parámetroname
de la CLI de Voz corresponde a la propiedaddisplayName
de la solicitud y respuesta JSON.
Este es un ejemplo de comando la CLI de Speech que crea una prueba:
spx csr evaluation create --api-version v3.2 --project 0198f569-cc11-4099-a0e8-9d55bc3d0c52 --dataset 23b6554d-21f9-4df1-89cb-f84510ac8d23 --model1 ff43e922-e3e6-4bf0-8473-55c08fd68048 --model2 13fb305e-09ad-4bce-b3a1-938c9124dda3 --name "My Evaluation" --description "My Evaluation Description"
Debe recibir un cuerpo de respuesta en el formato siguiente:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/files"
},
"properties": {
"wordErrorRate1": -1.0,
"sentenceErrorRate1": -1.0,
"sentenceCount1": -1,
"wordCount1": -1,
"correctWordCount1": -1,
"wordSubstitutionCount1": -1,
"wordDeletionCount1": -1,
"wordInsertionCount1": -1,
"wordErrorRate2": -1.0,
"sentenceErrorRate2": -1.0,
"sentenceCount2": -1,
"wordCount2": -1,
"correctWordCount2": -1,
"wordSubstitutionCount2": -1,
"wordDeletionCount2": -1,
"wordInsertionCount2": -1
},
"lastActionDateTime": "2024-07-14T21:31:14Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
La propiedad self
de nivel superior del cuerpo de respuesta es el URI de la evaluación. Use este URI para obtener detalles sobre el proyecto y los resultados de la prueba. Use también este URI para actualizar o eliminar la evaluación.
Para obtener ayuda de la CLI de Speech con las evaluaciones, ejecute el siguiente comando:
spx help csr evaluation
Para crear una prueba, use la operación Evaluations_Create de la API REST de conversión de voz en texto. Construya el cuerpo de la solicitud según las instrucciones siguientes:
- Establezca la propiedad
project
en el URI de un proyecto existente. Esta propiedad se recomienda para que también pueda ver la prueba en Speech Studio. Puede realizar una solicitud Projects_List para obtener proyectos disponibles. - Establezca la propiedad
testingKind
comoEvaluation
encustomProperties
. Si no especificaEvaluation
, la prueba se trata como una prueba de inspección de calidad. Si la propiedadtestingKind
está establecida enEvaluation
oInspection
, o no está establecida, puede acceder a las puntuaciones de precisión a través de la API, pero no en Speech Studio. - Establezca la propiedad
model1
requerida en el URI de un modelo que quiera probar. - Establezca la propiedad
model2
requerida en el URI de otro modelo que quiera probar. Si no quiere comparar dos modelos, use el mismo modelo paramodel1
ymodel2
. - Establezca la propiedad
dataset
requerida en el URI de un conjunto de datos que quiera usar para la prueba. - Establezca la propiedad
locale
requerida. Esta propiedad debería ser la configuración regional del contenido del conjunto de datos. Esta configuración regional no se podrá modificar más adelante. - Establezca la propiedad
displayName
requerida. Esta propiedad es el nombre que se muestra en Speech Studio.
Realice una solicitud HTTP POST con el URI, como se muestra en el ejemplo siguiente. Reemplace YourSubscriptionKey
por la clave de recurso de Voz, YourServiceRegion
por la región del recurso de Voz, y establezca las propiedades del cuerpo de la solicitud como se ha descrito anteriormente.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
},
"locale": "en-US"
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations"
Debe recibir un cuerpo de respuesta en el formato siguiente:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/files"
},
"properties": {
"wordErrorRate1": -1.0,
"sentenceErrorRate1": -1.0,
"sentenceCount1": -1,
"wordCount1": -1,
"correctWordCount1": -1,
"wordSubstitutionCount1": -1,
"wordDeletionCount1": -1,
"wordInsertionCount1": -1,
"wordErrorRate2": -1.0,
"sentenceErrorRate2": -1.0,
"sentenceCount2": -1,
"wordCount2": -1,
"correctWordCount2": -1,
"wordSubstitutionCount2": -1,
"wordDeletionCount2": -1,
"wordInsertionCount2": -1
},
"lastActionDateTime": "2024-07-14T21:31:14Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
La propiedad self
de nivel superior del cuerpo de respuesta es el URI de la evaluación. Use este URI para obtener detalles sobre el proyecto de evaluación y los resultados de las pruebas. Use también este URI para actualizar o eliminar la evaluación.
Obtención de resultados de la prueba
Debe obtener los resultados de la prueba y evaluar la tasa de error de palabra (WER) en comparación con los resultados del reconocimiento de voz.
Siga estos pasos para obtener los resultados de la prueba:
- Inicie sesión en Speech Studio.
- Seleccione Habla personalizada> El nombre del proyecto >Modelos de prueba.
- Seleccione el vínculo por nombre de prueba.
- Una vez completada la prueba, tal como se indica en el estado establecido como Correcto, verá los resultados que incluyen el número WER para cada modelo probado.
En esta página se muestran todas las expresiones del conjunto de datos y los resultados del reconocimiento junto con la transcripción del conjunto de datos enviado. Puede alternar los distintos tipos de errores, como inserción, eliminación y sustitución. Al escuchar el audio y comparar los resultados del reconocimiento de cada columna, puede decidir qué modelo satisface sus necesidades y determinar dónde es necesario realizar más entrenamiento y mejoras adicionales.
Para obtener los resultados de la prueba, use el comando spx csr evaluation status
. Construya los parámetros de solicitud según las instrucciones siguientes:
- Establezca el parámetro
evaluation
requerido en el identificador de la evaluación de la que quiere obtener los resultados de la prueba.
Este es un ejemplo de comando de la CLI de Speech que obtiene los resultados de la prueba:
spx csr evaluation status --api-version v3.2 --evaluation 8bfe6b05-f093-4ab4-be7d-180374b751ca
Las tasas de error por palabras y demás detalles se devuelven en el cuerpo de la respuesta.
Debe recibir un cuerpo de respuesta en el formato siguiente:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/files"
},
"properties": {
"wordErrorRate1": 0.028900000000000002,
"sentenceErrorRate1": 0.667,
"tokenErrorRate1": 0.12119999999999999,
"sentenceCount1": 3,
"wordCount1": 173,
"correctWordCount1": 170,
"wordSubstitutionCount1": 2,
"wordDeletionCount1": 1,
"wordInsertionCount1": 2,
"tokenCount1": 165,
"correctTokenCount1": 145,
"tokenSubstitutionCount1": 10,
"tokenDeletionCount1": 1,
"tokenInsertionCount1": 9,
"tokenErrors1": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
},
"wordErrorRate2": 0.028900000000000002,
"sentenceErrorRate2": 0.667,
"tokenErrorRate2": 0.12119999999999999,
"sentenceCount2": 3,
"wordCount2": 173,
"correctWordCount2": 170,
"wordSubstitutionCount2": 2,
"wordDeletionCount2": 1,
"wordInsertionCount2": 2,
"tokenCount2": 165,
"correctTokenCount2": 145,
"tokenSubstitutionCount2": 10,
"tokenDeletionCount2": 1,
"tokenInsertionCount2": 9,
"tokenErrors2": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
}
},
"lastActionDateTime": "2024-07-14T21:31:22Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
Para obtener ayuda de la CLI de Speech con las evaluaciones, ejecute el siguiente comando:
spx help csr evaluation
Para obtener los resultados de las pruebas, empiece por usar la operación Evaluations_Get de la API REST de conversión de voz en texto.
Realice una solicitud HTTP GET con el URI, tal como se muestra en el ejemplo siguiente. Reemplace YourEvaluationId
por el identificador de evaluación, YourSubscriptionKey
por la clave del recurso de Voz y YourServiceRegion
por la región del recurso de Voz.
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Las tasas de error por palabras y demás detalles se devuelven en el cuerpo de la respuesta.
Debe recibir un cuerpo de respuesta en el formato siguiente:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/files"
},
"properties": {
"wordErrorRate1": 0.028900000000000002,
"sentenceErrorRate1": 0.667,
"tokenErrorRate1": 0.12119999999999999,
"sentenceCount1": 3,
"wordCount1": 173,
"correctWordCount1": 170,
"wordSubstitutionCount1": 2,
"wordDeletionCount1": 1,
"wordInsertionCount1": 2,
"tokenCount1": 165,
"correctTokenCount1": 145,
"tokenSubstitutionCount1": 10,
"tokenDeletionCount1": 1,
"tokenInsertionCount1": 9,
"tokenErrors1": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
},
"wordErrorRate2": 0.028900000000000002,
"sentenceErrorRate2": 0.667,
"tokenErrorRate2": 0.12119999999999999,
"sentenceCount2": 3,
"wordCount2": 173,
"correctWordCount2": 170,
"wordSubstitutionCount2": 2,
"wordDeletionCount2": 1,
"wordInsertionCount2": 2,
"tokenCount2": 165,
"correctTokenCount2": 145,
"tokenSubstitutionCount2": 10,
"tokenDeletionCount2": 1,
"tokenInsertionCount2": 9,
"tokenErrors2": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
}
},
"lastActionDateTime": "2024-07-14T21:31:22Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
Evaluación de la tasa de errores de palabras (WER)
El estándar del sector para la medición de la precisión del modelo es el número de palabras incorrectas (WER). WER cuenta el número de palabras incorrectas identificadas durante el reconocimiento y luego las divide entre el número total de palabras proporcionadas en la transcripción etiquetada por usuarios (N).
Las palabras identificadas incorrectamente pertenecen a tres categorías:
- Inserción (I): palabras que se agregan incorrectamente en la transcripción de hipótesis.
- Eliminación (D): palabras que no se detectan en la transcripción de hipótesis.
- Sustitución (S): palabras que se sustituyeron entre la referencia y la hipótesis.
En Speech Studio, el cociente se multiplica por 100 y se muestra como un porcentaje. Los resultados de la CLI de Speech y la API REST no se multiplican por 100.
$$ WER = {{I+D+S}\over N} \times 100 $$
Este es un ejemplo que muestra palabras identificadas de forma incorrecta, en comparación con la transcripción etiquetada por usuarios:
El resultado del reconocimiento de voz cometió el siguiente error:
- Inserción (I): se agregó la palabra "a"
- Eliminación (D): se eliminó la palabra "are"
- Sustitución (S): sustituyó la palabra "Jones" por "John"
La tasa de error por palabras del ejemplo anterior es del 60 %.
Si quiere replicar las medidas de WER localmente, puede usar la herramienta sclite de NIST Scoring Toolkit (SCTK).
Resolución de errores y mejora de WER
Puede usar el cálculo de WER a partir de los resultados de reconocimiento automático para evaluar la calidad del modelo que usa con su aplicación, herramienta o producto. Una tasa WER de entre un 5 % y un 10 % se considera buena calidad y está listo para usarse. Una tasa WER del 20 % es aceptable, pero quizás debería considerar la posibilidad de un entrenamiento adicional. Una tasa WER de 30 % o más señala una calidad deficiente y la necesidad de personalización y entrenamiento.
El modo en que se distribuyen los errores es importante. Si se encuentran muchos errores de eliminación, la causa suele ser la intensidad débil de señal de audio. Para resolver este problema, debe recopilar los datos de audio más cerca de la fuente. Los errores de inserción significan que el audio se grabó en un entorno ruidoso y pueden producirse interferencias, lo que ocasiona problemas de reconocimiento. Los errores de sustitución se encuentran a menudo cuando se ha proporcionado una muestra insuficiente de términos específicos del dominio como transcripciones etiquetadas por usuarios o texto relacionado.
Al analizar archivos individuales, puede determinar qué tipo de errores existen y qué errores son específicos de un determinado archivo. Comprender los problemas en el nivel de archivo le ayuda a identificar las mejoras.
Evaluación de la tasa de errores de token (TER)
Además de la tasa de errores de palabras, también puede usar la medida extendida de tasa de errores de token (TER) para evaluar la calidad en el formato final de presentación de un extremo a otro. Además del formato léxico (That will cost $900.
en lugar de that will cost nine hundred dollars
), TER tiene en cuenta los aspectos del formato de presentación, como la puntuación, las mayúsculas y el ITN. Obtenga más información sobre la Visualización de formato de salida con conversión de voz en texto.
La TER cuenta el número de tokens incorrectos identificados durante el reconocimiento y luego los divide entre el número total de tokens proporcionados en la transcripción etiquetada por usuarios (N).
$$ TER = {{I+D+S}\over N} \times 100 $$
La fórmula del cálculo de TER también es similar a la de WER. La única diferencia es que TER se calcula en función del nivel de token en lugar del nivel de palabra.
- Inserción (I): tokens que se agregan incorrectamente en la transcripción de hipótesis.
- Eliminación (D): tokens que no se detectan en la transcripción de hipótesis.
- Sustitución (S): tokens que se sustituyeron entre la referencia y la hipótesis.
En un caso real, puede analizar los resultados WER y TER para obtener las mejoras deseadas.
Nota:
Para medir la TER, debe asegurarse de que los datos de prueba de audio y transcripción incluyen transcripciones con formato de visualización, como puntuación, mayúsculas y el ITN.
Resultados de escenarios de ejemplo
Los escenarios de reconocimiento de voz varían en función de la calidad y del idioma (vocabulario y estilo del habla) del audio. En la siguiente tabla se examinan cuatro escenarios habituales:
Escenario | Calidad de audio | Vocabulario | Estilo del habla |
---|---|---|---|
Centro de llamadas | Baja, 8 kHz, podrían ser dos personas en un canal de audio, podría comprimirse. | Limitado, único para dominio y productos. | Conversacional, estructura flexible. |
Asistente para voz, como Cortana o una ventana de autoservicio | Alta, 16 kHz. | Entidad intensa (títulos de canciones, productos y ubicaciones). | Palabras y frases claramente indicadas. |
Dictado (mensaje instantáneo, notas, búsqueda) | Alta, 16 kHz. | Varía | Toma de notas. |
Subtítulos de vídeos | Variada, incluido el uso variado del micrófono, con música. | Variado (reuniones, voz recitada, letras de canciones). | Lectura, preparada o estructura flexible. |
Los distintos escenarios generan resultados de distinta calidad. En la tabla siguiente se examina cómo se evalúa el contenido de estos cuatro escenarios según el número de palabras incorrectas (WER). En la tabla se muestran los tipos de error más comunes en cada escenario. Las tasas de errores de inserción, sustitución y eliminación le ayudan a determinar qué tipo de datos agregar para mejorar el modelo.
Escenario | Calidad del reconocimiento de voz | Errores de inserción | Errores de eliminación | Errores de sustitución |
---|---|---|---|---|
Centro de llamadas | Media (WER < 30 %) |
Pocos, excepto cuando otras personas hablan en segundo plano. | Pueden ser muchos. En los centros de llamadas puede haber mucho ruido y el hecho de que haya muchas personas hablando a la vez puede confundir al modelo. | Mediana. Los nombres de los productos y personas pueden provocar estos errores. |
Asistente por voz | Alto (el WER puede ser < al 10 %) |
Bajo | Bajo | Medio, debido títulos de canciones, nombres de producto o ubicaciones. |
Dictado | Alto (el WER puede ser < al 10 %) |
Bajo | Bajo | Alto |
Subtítulos de vídeos | Depende del tipo de vídeo (el WER puede ser < 50 %) | Bajo | Puede ser un número elevado debido a música, ruidos y la calidad del micrófono. | El uso de jerga podría provocar estos errores |