Compartir a través de


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:

  1. Inicie sesión en Speech Studio.

  2. Seleccione Habla personalizada> El nombre del proyecto >Modelos de prueba.

  3. Seleccione Crear prueba.

  4. Seleccione Evaluar precisión>Siguiente.

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

  6. Seleccione hasta dos modelos para evaluar y, a continuación, seleccione Siguiente.

  7. Indique el nombre y una descripción de la prueba y, a continuación, seleccione Next (Siguiente).

  8. 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 comando spx 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 para model1 y model2.
  • 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ámetro language de la CLI de Voz corresponde a la propiedad locale 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ámetro name de la CLI de Voz corresponde a la propiedad displayName 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 como Evaluation en customProperties. Si no especifica Evaluation, la prueba se trata como una prueba de inspección de calidad. Si la propiedad testingKind está establecida en Evaluation o Inspection, 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 para model1 y model2.
  • 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:

  1. Inicie sesión en Speech Studio.
  2. Seleccione Habla personalizada> El nombre del proyecto >Modelos de prueba.
  3. Seleccione el vínculo por nombre de prueba.
  4. 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:

Captura de pantalla que muestra un ejemplo de palabras identificadas incorrectamente.

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

Pasos siguientes