#CognitiveServices – Los N pasos que debes seguir para crear tu modelo en Custom Speech Service (#CRIS)

Hola !

Es la 3ra o 4ta vez que hago esto y voy a usar este post como reminder de los pasos que debo seguir. Empecemos por explicar que es Custom Speech Service, antes conocido como CRIS.

Custom Speech Service es un servicio parte de Microsoft Cognitive Services que permite crear modelos personalizados de voz a texto, basados en un dominio de aplicación específico, que además soporta personalizaciones y especiales para diferentes acentos, cuestiones ambientales y cambios de vocabulario.

Pues bien, ahorrándome los detalles técnicos, los pasos para crear y publicar un modelo de reconocimiento de audio a texto son los siguientes.

  • Comenzamos por un cl√°sico, en el portal de Azure, necesitamos generar una Key.¬†En la opci√≥n New filtramos por Cognitive Services y veremos la opci√≥n para¬†agregar “Custom Speech Service”.

Clipboard03

  • Es importante en este paso copiar los valores de las Keys que luego utilizaremos en CRIS

Clipboard06

  • Lo siguiente es ir al home de CRIS y desde all√≠ comenzaremos a trabajar. El men√ļ principal de “Custom Speech” nos presenta los elementos que podemos crear en este servicio.

Clipboard08

  • Comenzamos por los archivos¬†que serviran como base para crear el modelo ac√ļstico. Seleccionamos la opci√≥n “Adaptation Data”. En esta secci√≥n podemos crear 3 tipos de elementos de datos
    • Acoustics Datasets
    • Language Datasets
    • Pronunciation Datasets
  • Los 2 primeros son los m√≠nimos necesarios para un modelo funcional. Comencemos por subir un par de archivos en “Acoustic Datasets”. En esta secci√≥n debemos definir el nombre y descripci√≥n de este set de datos y adem√°s subir 2¬†archivos
    • Transcription File es un archivo de texto plano, donde espec√≠ficamos el nombre del archivo (wav) y el texto que se especifica en el mismo
    • Audio Files es un archivo zip con todos los archivos de audio (wav) que subiremos como muestra

Clipboard11

  • En este paso es muy importante tener en cuenta los formatos de audio soportados y otras especificaciones que se pueden leer aqu√≠ (link).
Property Value
File Format RIFF (WAV)
Sampling Rate 8000 Hz or 16000 Hz
Channels 1 (mono)
Sample Format PCM, 16 bit integers
File Duration 0.1 seconds < duration < 60 seconds
Silence Collar > 0.1 seconds
Archive Format Zip
Maximum Archive Size 2 GB
  • El siguiente paso es subir un archivo con ejemplos de las frases esperadas en el modelo ac√ļstico que crearemos. Esto es parecido a los intents que procesamos en LUIS. Este archivo es un archivo de texto, y el mismo debe poseer un intento esperado por l√≠nea.

Clipboard13

  • Y ahora que tenemos los archivos b√°sicos, ya podemos crear un modelo ac√ļstico. Para eso seleccionamos la opci√≥n “Acoustic Models” del men√ļ superior y creamos uno nuevo utilizando los elementos que subimos anteriormente.

Importante: Dependiendo del tama√Īo de los archivos que subamos como datos iniciales, el procesamiento de los mismos puede tardar un par de minutos.

  • Una vez creado el modelo ac√ļstico con los archivos de base, podremos ver algunos¬†detalles del mismo. En la siguiente imagen podemos ver que la precisi√≥n que se obtuvo con los audios y el modelo es de un 88% (hay un 11.68% de errores detectados)

Clipboard16

  • En la secci√≥n “Accuracy Tests” podemos ver el texto reconocido en cada archivo de audio y el texto esperado en el mismo.

Clipboard18

  • Y llega el momento de desplegar el modelo para poder utilizarlo en producci√≥n. Podemos crear un modelo de despliegue en la opci√≥n de menu “Deployments”
  • Una vez creado podremos ver que ya tenemos las urls para utilizarlo desde una app (sobre esto escribir√© en otro post)
  • Y adem√°s tenemos la opci√≥n de subir un archivo de audio para probar nuestro modelo. Eso s√≠, con el formato espec√≠fico y toca narices que requiere CRIS !

Clipboard02

En el próximo post, un poco de código C# para ver cómo podemos utilizar este servicio desde una aplicación.

Happy Coding ! ūüôā

Saludos @ Toronto (-6!)

El Bruno

References

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: