Conjuntos de datos de entrenamiento y de pruebas

En un proyecto de Habla personalizada, puede cargar conjuntos de datos para el entrenamiento, la inspección cualitativa y la medición cuantitativa. En este artículo se tratan los tipos de datos de entrenamiento y pruebas que puede usar para Habla personalizada.

El texto y el audio que utilice para probar y entrenar un modelo personalizado deben incluir muestras de un conjunto diverso de hablantes y escenarios que quiera que el modelo reconozca. Tenga en cuenta estos factores cuando recopile datos para probar y entrenar modelos personalizados:

  • Incluya datos de texto y audio para cubrir los tipos de instrucciones verbales que los usuarios realizan al interactuar con el modelo. Por ejemplo, un modelo que sube y baja la temperatura debe entrenarse con las instrucciones que las personas pueden dar para solicitar esos cambios.
  • Incluya todas las variantes de voz que desea que el modelo reconozca. Muchos factores pueden variar la voz, entre los que se incluyen los acentos, los dialectos, la combinación de idiomas, la edad, el género, el tono de voz, el nivel de estrés y la hora del día.
  • Incluya ejemplos de diferentes entornos (por ejemplo, en interiores, en exteriores, con ruido de carretera) en los que se utiliza el modelo.
  • Grabe audio con los dispositivos de hardware que usa el sistema de producción. Si el modelo debe identificar voz grabada en dispositivos de calidad variable, los datos de audio que proporcione para entrenar el modelo deben representar también esos escenarios diversos.
  • Mantenga un conjunto de datos diverso y representativo de los requisitos del proyecto. Puede agregar más datos al modelo más adelante.
  • Incluya únicamente los datos que el modelo tiene que transcribir. Si incluye datos que no están dentro de los requisitos de reconocimiento del modelo personalizado, puede dañar la calidad del reconocimiento en general.

Tipos de datos

En la tabla siguiente, se enumeran los tipos de datos aceptados, cuándo debe utilizarse cada tipo de datos y la cantidad recomendada. No todos los tipos de datos son necesarios para crear un modelo. Los requisitos de datos varían dependiendo de si crea una prueba o entrena un modelo.

Tipo de datos Se usa para pruebas Recomendado para las pruebas Se utiliza para el entrenamiento Recomendado para el entrenamiento
Solo audio Sí (inspección visual) Más de cinco archivos de audio Sí (versión preliminar de en-US) De 1 a 20 horas de audio
Audio y transcripciones etiquetadas por usuarios Sí (evaluación de la precisión) De 0,5 a 5 horas de audio De 1 a 20 horas de audio
Texto sin formato No No aplicable De 1 a 200 MB de texto relacionado
Texto estructurado No No aplicable Hasta 10 clases con un máximo de 4000 elementos y 50 000 frases de entrenamiento
Pronunciación No No aplicable De 1 KB a 1 MB de texto de pronunciación
Formato de presentación No No aplicable Hasta 200 líneas para ITN, 1000 líneas para reescritura, 1000 líneas para el filtro de lenguaje soez

El entrenamiento con texto sin formato o texto estructurado suele completarse en unos minutos.

Sugerencia

Comience con datos de texto sin formato o datos de texto estructurado. Estos datos mejorarán el reconocimiento de términos y frases especiales. El entrenamiento con texto es mucho más rápido que el entrenamiento con audio (minutos en lugar de días).

Comience con pequeños conjuntos de datos de ejemplo que coincidan con el idioma, la acústica y el hardware con los que se utilizará el modelo. Los pequeños conjuntos de datos representativos pueden sacar a la luz problemas antes de que invierta en recopilar conjuntos de datos más grandes para el entrenamiento. Para obtener datos de ejemplo de Habla personalizada, vaya a este repositorio de GitHub.

Si entrena un modelo personalizado con datos de audio, elija una región de recursos de Voz con hardware dedicado para entrenar datos de audio. Para obtener más información consulte las notas al pie en la tabla de regiones. En regiones con hardware dedicado para el entrenamiento de Habla personalizada, el servicio Voz usa hasta 20 horas de los datos de entrenamiento de audio y puede procesar aproximadamente 10 horas de datos al día. En otras regiones, el servicio de voz usa hasta 8 horas de los datos de audio y puede procesar aproximadamente 1 hora de datos al día. Una vez que se ha entrenado el modelo, puede copiarlo en otra región según sea necesario con la API REST Models_CopyTo.

Considere los conjuntos de datos por escenario

Un modelo entrenado con un subconjunto de escenarios puede funcionar bien solamente en esos escenarios. Por tanto, elija minuciosamente los datos que representan el ámbito completo de los escenarios que necesita que el modelo personalizado reconozca. En la tabla siguiente se muestran los conjuntos de datos que se deben tener en cuenta para algunos escenarios de reconocimiento de voz:

Escenario Datos de texto sin formato o datos de texto estructurado Transcripciones de audio con etiqueta humana Nuevas palabras con su pronunciación
Centro de llamadas Documentos de marketing, sitios web, reseñas de productos relacionados con la actividad del centro de llamadas. Llamadas al centro de llamadas transcritas por usuarios. Términos que tienen pronunciaciones ambiguas (consulte el ejemplo de Xbox en la sección anterior)
Asistente por voz Listas de oraciones que usan varias combinaciones de comandos y entidades Voces grabadas que dictan comandos a un dispositivo, transcritas en texto. Nombres (películas, canciones, productos) que tienen pronunciaciones únicas.
Dictado Entrada escrita, como mensajes instantáneos o correos electrónicos. Similar a los ejemplos anteriores Similar a los ejemplos anteriores
Subtítulos de vídeos Guiones de programas de TV, películas, contenido de marketing y resúmenes en vídeo. Transcripciones exactas de vídeos. Similar a los ejemplos anteriores

Para determinar qué conjunto de datos se va a usar para solucionar los problemas, consulte la tabla siguiente:

Caso de uso Tipo de datos
Mejorar la precisión del reconocimiento en el vocabulario y la gramática específicos del sector, como la terminología médica o la jerga de TI. Texto sin formato o datos de texto estructurado
Definir el formato fonético y mostrado de una palabra o término que tenga una pronunciación no estándar, como nombres de producto o acrónimos Datos de pronunciación o pronunciación fonética en texto estructurado
Mejorar la precisión del reconocimiento en estilos de habla, acentos o ruidos de fondo específicos. Transcripciones de audio con etiqueta humana

Datos de audio y transcripciones etiquetadas por usuarios para entrenamiento o pruebas

Los datos de audio y transcripciones etiquetadas por usuarios se pueden usar con fines de entrenamiento y pruebas. Debe proporcionar transcripciones etiquetadas por usuarios (palabra por palabra) con fines comparativos:

  • Para mejorar los aspectos acústicos, como ligeros acentos, estilos de habla y ruidos de fondo.
  • Para medir la precisión de la conversión de voz en texto de Microsoft cuando se procesan los archivos de audio.

Consulte Compatibilidad con idiomas y voces en el servicio de voz para obtener una lista de los modelos base que admiten el entrenamiento con datos de audio. Aunque un modelo base admita el entrenamiento con datos de audio, el servicio podría usar solo parte del audio. Aún así, usa todas las transcripciones.

Importante

Si un modelo base no admite la personalización con datos de audio, solo se usará el texto de transcripción para el entrenamiento. Si cambia a un modelo base que admite la personalización con datos de audio, el tiempo de entrenamiento puede aumentar de varias horas a varios días. El cambio en el tiempo de entrenamiento sería más notable al cambiar a un modelo base en una región sin hardware dedicado para el entrenamiento. Si los datos de audio no son necesarios, debe quitarlos para reducir el tiempo de entrenamiento.

El audio con transcripciones etiquetadas por humanos ofrece las máximas mejoras en cuando a la precisión si el audio procede del caso de uso de destino. Los ejemplos deben cubrir todo el ámbito de la voz. Por ejemplo, el centro de llamadas de una tienda recibirá sobre todo llamadas relacionadas con trajes de baño o gafas de sol en los meses de verano. Asegúrese de que el ejemplo incluya todo el ámbito de voz que desea detectar.

Tenga en cuenta estos detalles:

  • El entrenamiento con audio aporta más ventajas si el audio también es difícil de entender para las personas. En la mayoría de los casos, debe iniciar el entrenamiento simplemente con texto relacionado.
  • Si emplea uno de los idiomas más usados, como el inglés de Estados Unidos, es poco probable que tenga que entrenar con datos de audio. En el caso de estos idiomas, los modelos base ofrecen ya resultados de reconocimiento buenos en la mayoría de los escenarios. Probablemente será suficiente con entrenar con texto relacionado.
  • Habla personalizada solo puede capturar el contexto de las palabras para reducir los errores de sustitución, no los de inserción ni los de eliminación.
  • Evite ejemplos que incluyan errores de transcripción, pero incluya audio con distintas calidades.
  • Evite oraciones no relacionadas con el dominio del problema. Las oraciones no relacionadas pueden dañar el modelo.
  • Cuando la calidad de las transcripciones varía, puede duplicar las frases cuya calidad sea excepcionalmente buena, por ejemplo, las transcripciones excelentes que incluyan frases clave, para aumentar su ponderación.
  • El servicio de voz usará automáticamente las transcripciones para mejorar el reconocimiento de las palabras y frases específicas del dominio, como si se hubieran agregado como texto relacionado.
  • Una operación de entrenamiento puede tardar varios días en completarse. Para mejorar la velocidad de entrenamiento, asegúrese de crear la suscripción al Servicio de voz en una región con hardware dedicado para el entrenamiento.

Para mejorar el reconocimiento, se requiere un conjunto de datos de entrenamiento grande. Por lo general, se recomienda proporcionar transcripciones palabra por palabra de audio con una duración de 1 a 20 horas. Sin embargo, solo 30 minutos pueden ayudar a mejorar los resultados del reconocimiento. Aunque la creación de transcripciones etiquetadas por usuarios puede tardar tiempo, las mejoras en el reconocimiento solo son tan buenas como los datos que proporcione. Debe cargar transcripciones de alta calidad.

Los archivos de audio pueden tener silencio al principio y al final de la grabación. Si es posible, incluya al menos medio segundo de silencio antes y después de la voz en cada archivo de ejemplo. Aunque el audio con un volumen de grabación bajo o con ruido de fondo molesto no resulta útil, no debería limitar al modelo personalizado o degradarlo. Considere siempre la posibilidad de actualizar los micrófonos y el hardware de procesamiento de la señal antes de recopilar muestras de audio.

Importante

Para obtener más información sobre los procedimientos recomendados de preparación de transcripciones etiquetadas por humanos, vea Transcripciones etiquetadas por humanos con audio.

Los proyectos de Habla personalizada requieren archivos de audio con estas propiedades:

Importante

Estos son los requisitos para el entrenamiento y las pruebas de audio y transcripción etiquetada por usuarios. Estos requisitos son diferentes de los del entrenamiento y las pruebas de audio solo. Si desea usar entrenamiento y pruebas de audio solo, consulte esta sección.

Propiedad Value
Formato de archivo RIFF (WAV)
Velocidad de muestreo 8000 o 16 000 Hz
Canales 1 (mono)
Longitud máxima por audio Dos horas (pruebas)/60 s (entrenamiento)

El entrenamiento con audio tiene una longitud máxima de audio de 60 segundos por archivo. En el caso de los archivos de audio de más de 60 segundos, solo se usan los archivos de transcripción correspondientes para el entrenamiento. Si todos los archivos de audio tienen más de 60 segundos, se produce un error en el entrenamiento.
Formato de ejemplo PCM, 16 bits
Formato de archivo .zip
Tamaño máximo de archivo zip 2 GB o 10 000 archivos

Datos de texto sin formato para entrenamiento

Puede agregar frases de texto sin formato relacionado para mejorar el reconocimiento de palabras y frases específicas del dominio. Las frases de texto relacionado pueden reducir los errores de sustitución debidos al reconocimiento erróneo de palabras comunes y palabras específicas del dominio, ya que las muestra en contexto. Las palabras específicas del dominio pueden ser palabras poco frecuentes o compuestas, pero su pronunciación debe ser fácil de reconocer.

Proporcione oraciones relacionadas con el dominio en un único archivo de texto. Use datos de texto que se aproximen más a las expresiones orales previstas. Las expresiones no tienen que ser frases completas ni gramaticalmente correctas, pero deben reflejar con precisión la entrada oral que se espera que reconozca el modelo. Cuando sea posible, intente que una frase o una palabra clave se controle en una línea independiente. Para aumentar el peso de un término, como los nombres de producto, agregue varias frases que incluyan el término. Pero tenga en cuenta que no debe copiar demasiado; podría afectar a la tasa de reconocimiento general.

Nota

Evite las oraciones de texto relacionadas que tengan ruido, como caracteres o palabras irreconocibles.

Utilice esta tabla para asegurarse de que el archivo de datos de texto sin formato tiene el formato adecuado:

Propiedad Value
Codificación de texto BOM UTF-8
Número de expresiones por línea 1
Tamaño de archivo máximo 200 MB

También debe cumplir las siguientes restricciones:

  • Evite repetir caracteres, palabras o grupos de palabras más de tres veces. Por ejemplo: no use "aaaa", "sí, sí, sí, sí" o "eso es todo, eso es todo, eso es todo, eso es todo". El servicio Voz podría quitar líneas con demasiadas repeticiones.
  • No utilice caracteres especiales ni caracteres UTF-8 por encima de U+00A1.
  • Se rechazarán los identificadores URI.
  • En el caso de algunos idiomas (por ejemplo, japonés o coreano), importar grandes cantidades de datos de texto puede llevar mucho tiempo o agotar el tiempo de espera. Considere la posibilidad de dividir el conjunto de datos en varios archivos de texto con 20 000 líneas como máximo en cada uno.

Datos de texto estructurado para el entrenamiento

Nota

Los datos de texto estructurado para el entrenamiento están en versión preliminar pública.

Use datos de texto estructurado si los datos siguen un patrón determinado en expresiones concretas que solo difieren en palabras o frases de una lista. Para simplificar la creación de datos de entrenamiento y permitir un mejor modelado dentro del modelo de Habla personalizada, puede usar texto estructurado con el formato Markdown para definir listas de elementos y la pronunciación fonética de las palabras. Después, puede hacer referencia a esas listas en las expresiones de entrenamiento.

A menudo, las expresiones previstas siguen un patrón determinado. Un patrón común es que las expresiones solo difieren en palabras o frases de una lista. Los siguientes son algunos ejemplos de este patrón:

  • "Tengo una pregunta sobre product", donde product es una lista de posibles productos.
  • O bien "Pinta ese object de color", donde object es una lista de formas geométricas y color es una lista de colores.

Para obtener una lista de los modelos base y configuraciones regionales admitidos para el entrenamiento con texto estructurado, consulte Compatibilidad con idiomas. Debe usar el modelo base más reciente para estas configuraciones regionales. En el caso de las configuraciones regionales que no admiten el entrenamiento con texto estructurado, el servicio tomará las frases de entrenamiento que no hagan referencia a ninguna clase como parte del entrenamiento con datos de texto sin formato.

El archivo de texto estructurado debe tener la extensión .md. El tamaño máximo del archivo es de 200 MB y la codificación de texto debe ser UTF-8 BOM. La sintaxis Markdown es la misma que la de los modelos de Language Understanding, en particular, las entidades de lista y las expresiones de ejemplo. Para obtener más información sobre la sintaxis Markdown completa, consulte Formato de archivo .lu.

Estos son los detalles principales sobre el formato de Markdown admitido:

Propiedad Descripción límites
@list Lista de elementos a los que se puede hacer referencia en una frase de ejemplo. 20 listas como máximo. 35000 elementos por lista como máximo.
speech:phoneticlexicon Lista de pronunciaciones fonéticas según Universal Phone Set. La pronunciación se ajusta para cada instancia en la que la palabra aparece en una lista o frase de entrenamiento. Por ejemplo, si tiene una palabra que suena como "cat" y quiere ajustar la pronunciación a "k ae t", agregaría - cat/k ae t a la lista speech:phoneticlexicon. 15 000 entradas como máximo. Dos pronunciaciones como máximo por palabra.
#ExampleSentences Un símbolo de libra (#) delimita una sección de frases de ejemplo. El encabezado de sección solo puede contener letras, dígitos y caracteres de subrayado. Las fases de ejemplo deben reflejar el rango de voz que debe esperar el modelo. Una frase de entrenamiento puede hacer referencia a elementos de un valor @list con llaves izquierda y derecha alrededor ({@list name}). Puede hacer referencia a varias listas en la misma frase de entrenamiento o a ninguna en absoluto. Tamaño máximo de archivo de 200 MB.
// Los comentarios van después de una barra diagonal doble (//). No aplicable

Este es un archivo de texto estructurado de ejemplo:

// This is a comment because it follows a double slash (`//`).

// Here are three separate lists of items that can be referenced in an example sentence. You can have up to 10 of these.
@ list food =
- pizza
- burger
- ice cream
- soda

@ list pet =
- cat
- dog
- fish

@ list sports =
- soccer
- tennis
- cricket
- basketball
- baseball
- football

// List of phonetic pronunciations
@ speech:phoneticlexicon
- cat/k ae t
- fish/f ih sh

// Here are two sections of training sentences. 
#TrainingSentences_Section1
- you can include sentences without a class reference
- what {@pet} do you have
- I like eating {@food} and playing {@sports}
- my {@pet} likes {@food}

#TrainingSentences_Section2
- you can include more sentences without a class reference
- or more sentences that have a class reference like {@pet} 

Datos de pronunciación para entrenamiento

Las palabras especializadas o compuestas pueden tener pronunciaciones únicas. Estas palabras se pueden reconocer si cada una de ellas se puede desglosar en palabras más pequeñas para pronunciarla. Por ejemplo, para reconocer "Xbox", pronúnciela como "X box". Este enfoque no aumentará la precisión general, pero puede mejorar el reconocimiento de esta y otras palabras clave.

Puede proporcionar un archivo de pronunciación personalizado para mejorar el reconocimiento. No utilice archivos de pronunciación personalizados para modificar la pronunciación de palabras comunes. Para ver una lista de idiomas que admiten la pronunciación personalizada, consulte Compatibilidad con idiomas.

Nota:

Puede usar un archivo de pronunciación junto con cualquier otro conjunto de datos de entrenamiento, excepto datos de entrenamiento de texto estructurado. Para usar datos de pronunciación con texto estructurado, debe estar dentro de un archivo de texto estructurado.

La forma oral es la secuencia fonética que se escribe. Puede estar compuesta de letras, palabras, sílabas o una combinación de las tres. En esta tabla se incluyen algunos ejemplos:

Formulario reconocido mostrado Formato hablado
3CPO CI-TRI-PI-OU
CNTK CI EN TI KEI
IEEE AI TRIPLE I

Proporcione las pronunciaciones en un único archivo de texto. Incluya la expresión hablada y una pronunciación personalizada para cada una. Cada fila del archivo debe comenzar con el formato reconocido, después un carácter de tabulación y, a continuación, la secuencia fonética delimitada por espacios.

3CPO    three c p o
CNTK    c n t k
IEEE    i triple e

Consulte la tabla siguiente para asegurarse de que los archivos del conjunto de datos de pronunciación tienen un formato válido y correcto.

Propiedad Value
Codificación de texto BOM UTF-8 (también se admite ANSI con el inglés)
Número de pronunciaciones por línea 1
Tamaño de archivo máximo 1 MB (1 KB por cada nivel gratis)

Datos de audio para el entrenamiento o la prueba

Los datos de audio son óptimos para probar la precisión del modelo de línea de base de Microsoft de voz a texto o de un modelo personalizado. Tenga en cuenta que los datos de audio se utilizan para inspeccionar la precisión de la voz con respecto al rendimiento de un modelo específico. Si desea cuantificar la precisión de un modelo, utilice las transcripciones de audio y con etiqueta humana.

Nota:

Los datos de audio para el entrenamiento están disponibles en la versión preliminar en-US local. Para otras configuraciones regionales, para entrenar con datos de audio, también debe proporcionar transcripciones con etiqueta humana.

Los proyectos de Habla personalizada requieren archivos de audio con estas propiedades:

Importante

Estos son los requisitos para el entrenamiento y las pruebas de audio solo. Estos requisitos son diferentes de los del entrenamiento y las pruebas de audio y transcripción etiquetada por usuarios. Si desea usar entrenamiento y pruebas de audio y transcripción etiquetada por usuarios, consulte esta sección.

Propiedad Value
Formato de archivo RIFF (WAV)
Velocidad de muestreo 8000 o 16 000 Hz
Canales 1 (mono)
Longitud máxima por audio Dos horas
Formato de ejemplo PCM, 16 bits
Formato de archivo .zip
Tamaño de archivo máximo 2 GB o 10 000 archivos

Nota

Cuando se cargan datos de entrenamiento y pruebas, el archivo .zip no puede tener un tamaño superior a 2 GB. Si requiere más datos para el entrenamiento, divídalos en varios archivos ZIP y cárguelos por separado. Más adelante, puede optar por entrenar en varios conjuntos de datos. Pero solo puede realizar pruebas con un único conjunto de datos.

Use SoX para comprobar las propiedades de audio o convertir el audio existente en los formatos adecuados. Los siguientes son algunos comandos de SoX de ejemplo:

Actividad Comando de SoX
Compruebe el formato de archivo de audio. sox --i <filename>
Convierta el archivo de audio en un canal único, de 16 bits y 16 KHz. sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav

Datos de formato de texto para mostrar personalizado para el entrenamiento

Más información sobre la preparación de datos de formato de texto de visualización y formato de texto de visualización con voz a texto.

El formato de visualización automático de salida del reconocimiento de voz es fundamental para las tareas de bajada y el tamaño único no se ajusta a todas. El hecho de agregar reglas de formato de visualización personalizada permite a los usuarios definir sus propias reglas de formato léxico a visual para mejorar la calidad del servicio de reconocimiento de voz sobre el servicio de Reconocimiento de voz de Microsoft Azure.

Permite personalizar completamente las salidas de visualización, como agregar reglas de reescritura para poner mayúsculas y reformular determinadas palabras; agregar palabras ofensivas y ocultarlas en la salida; definir reglas ITN avanzadas para determinados patrones, como números, fechas, direcciones de correo electrónico; o conservar algunas frases y evitar que se sometan a cualquier proceso de visualización.

Por ejemplo:

Formato personalizado Display text
None Mi número financiero de contoso es el 8BEV3
Escribir "Contoso" en mayúscula (mediante la regla #rewrite)
Dar formato al número financiero (mediante la regla #itn)
Mi número financiero de Contoso es el 8B-EV-3

Para obtener una lista de los modelos base y configuraciones regionales admitidos para el entrenamiento con texto estructurado, consulte Compatibilidad con idiomas. El archivo de formato de visualización debe tener la extensión .md. El tamaño máximo del archivo es de 10 MB y la codificación de texto debe ser UTF-8 BOM. Para obtener más información sobre cómo personalizar las reglas de formato de visualización, consulte Procedimientos recomendados de las reglas de formato de visualización.

Propiedad Descripción Límites
#ITN Lista de reglas de inversión de normalización de texto para definir determinados patrones de visualización, como números, direcciones y fechas. Máximo de 200 líneas
#rewrite Lista de pares de reescritura para reemplazar determinadas palabras por motivos como la mayúsculas y la corrección ortográfica. Máximo de 1000 líneas
#profanity Lista de palabras no deseadas que se ocultarán como ****** de la salida Display y Masked, además de las listas de palabras ofensivas integradas en Microsoft. Máximo de 1000 líneas
#test Lista de casos de pruebas unitarias para validar si las reglas de visualización funcionan según lo previsto, así como la entrada de formato léxico y la salida de formato visual prevista. Tamaño máximo de archivo de 10 MB

Este es un ejemplo de archivo de formato de visualización:

// this is a comment line
// each section must start with a '#' character
#itn
// list of ITN pattern rules, one rule for each line
\d-\d-\d
\d-\l-\l-\d
#rewrite
// list of rewrite rules, each rule has two phrases, separated by a tab character
old phrase	new phrase
# profanity
// list of profanity phrases to be tagged/removed/masked, one line one phrase
fakeprofanity
#test
// list of test cases, each test case has two sentences, input lexical and expected display output
// the two sentences are separated by a tab character
// the expected sentence is the display output of DPP+CDPP models
Mask the fakeprofanity word	Mask the ************* word

Pasos siguientes