Creación de un proyecto de voz personalizada
Los proyectos de voz personalizada contienen modelos, conjuntos de datos para entrenamiento y para pruebas, y puntos de conexión de implementación. Cada proyecto es específico de una configuración regional. Por ejemplo, puede crear un proyecto para inglés de Estados Unidos.
Crear un proyecto
Para crear un proyecto de voz personalizada, siga estos pasos:
Inicie sesión en Speech Studio.
Seleccione la suscripción y el recurso de voz con los que quiere trabajar.
Importante
Si va a entrenar un modelo personalizado con datos de audio, elija una región de recursos de Voz con hardware dedicado para entrenar datos de audio. Consulte las notas al pie en la tabla de regiones para obtener más información.
Seleccione Habla personalizada>Crear un nuevo proyecto.
Siga las instrucciones del asistente para crear el proyecto.
Seleccione el nuevo proyecto por el nombre o elija Ir al proyecto. Verá estos elementos de menú en el panel izquierdo: Conjuntos de datos de voz, Entrenar modelos personalizados, Modelos de prueba e Implementar modelos.
Para crear un proyecto, use el comando spx csr project create
. Construya los parámetros de solicitud según las instrucciones siguientes:
- Establezca el parámetro
language
necesario. La configuración regional del proyecto y los conjuntos de datos contenidos deben ser los mismos. 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 es el nombre que se mostrará en Speech Studio. El parámetro de la CLI de Speechname
corresponde a la propiedaddisplayName
de la solicitud y respuesta JSON.
Este es un comando de ejemplo de la CLI de Speech que crea un proyecto:
spx csr project create --api-version v3.2 --name "My Project" --description "My Project Description" --language "en-US"
Debe recibir un cuerpo de respuesta en el formato siguiente:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52",
"links": {
"evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/evaluations",
"datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/datasets",
"models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/models",
"endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/endpoints",
"transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/transcriptions"
},
"properties": {
"datasetCount": 0,
"evaluationCount": 0,
"modelCount": 0,
"transcriptionCount": 0,
"endpointCount": 0
},
"createdDateTime": "2024-07-14T17:15:55Z",
"locale": "en-US",
"displayName": "My Project",
"description": "My Project Description"
}
La propiedad de nivel superior self
del cuerpo de la respuesta es el URI del proyecto. Use este URI para obtener detalles sobre las evaluaciones, conjuntos de datos, modelos, puntos de conexión y transcripciones del proyecto. Use también este URI para actualizar o eliminar un proyecto.
Para obtener ayuda de la CLI de Speech con proyectos, ejecute el siguiente comando:
spx help csr project
Para crear un proyecto, use la operación Projects_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
locale
requerida. Debe ser la configuración regional de los conjuntos de datos contenidos. Esta configuración regional no se podrá modificar más adelante. - Establezca la propiedad
displayName
requerida. Este es el nombre del proyecto que se mostrará en Speech Studio.
Haga una solicitud HTTP POST con el URI como se muestra en el siguiente ejemplo de Projects_Create. 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 '{
"displayName": "My Project",
"description": "My Project Description",
"locale": "en-US"
} ' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/projects"
Debe recibir un cuerpo de respuesta en el formato siguiente:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52",
"links": {
"evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/evaluations",
"datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/datasets",
"models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/models",
"endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/endpoints",
"transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/transcriptions"
},
"properties": {
"datasetCount": 0,
"evaluationCount": 0,
"modelCount": 0,
"transcriptionCount": 0,
"endpointCount": 0
},
"createdDateTime": "2024-07-14T17:15:55Z",
"locale": "en-US",
"displayName": "My Project",
"description": "My Project Description"
}
La propiedad de nivel superior self
del cuerpo de la respuesta es el URI del proyecto. Use este URI para obtener detalles sobre las evaluaciones, conjuntos de datos, modelos, puntos de conexión y transcripciones del proyecto. Use también este URI para actualizar o eliminar un proyecto.
Elección del modelo
Existen algunos enfoques para usar modelos de voz personalizada:
- El modelo base proporciona reconocimiento de voz preciso de fábrica para una variedad de escenarios. Los modelos base se actualizan periódicamente para mejorar la precisión y la calidad. Se recomienda que, si usa modelos base, utilice los modelos base predeterminados más recientes. Si una funcionalidad de personalización necesaria solo está disponible con un modelo anterior, puede elegir un modelo base anterior.
- Un modelo personalizado aumenta el modelo base para incluir vocabulario específico del dominio compartido en todas las áreas del dominio personalizado.
- Se pueden usar varios modelos personalizados cuando el dominio personalizado tiene varias áreas, cada una con un vocabulario específico.
Una manera recomendada de ver si el modelo base será suficiente es analizar la transcripción generada a partir de este y compararla con una transcripción generada por el usuario para el mismo audio. Puede comparar las transcripciones y obtener una puntuación de tasa de error de palabra (WER). Si la puntuación de WER es alta, se recomienda entrenar un modelo personalizado para reconocer las palabras identificadas incorrectamente.
Si el vocabulario varía entre las áreas de dominio, se recomiendan varios modelos. Por ejemplo, los comentaristas olímpicos informan sobre diversos eventos, cada uno de ellos asociado a su propia lengua vernácula. Dado que el vocabulario de cada evento olímpico difiere significativamente de otros, la creación de un modelo personalizado específico de un evento aumenta la precisión al limitar los datos de expresión relativos a ese evento en particular. Como resultado, el modelo no necesita examinar los datos no relacionados para hacer una coincidencia. En cualquier caso, el entrenamiento sigue requiriendo una buena variedad de datos de entrenamiento. Incluya audio de varios comentaristas cuyo acento, edad, genero, etc., sean distintos.
Estabilidad y ciclo de vida del modelo
Un modelo base o un modelo personalizado implementado en un punto de conexión mediante voz personalizada es fijo hasta que decide actualizarlo. La precisión y la calidad del reconocimiento de voz seguirán siendo uniformes, incluso cuando se publique un nuevo modelo base. Esto le permite bloquear el comportamiento de un modelo específico hasta que decida usar un modelo más reciente.
Tanto si entrena su propio modelo como si usa una instantánea de un modelo base, puede usar el modelo durante un tiempo limitado. Para más información, consulte Ciclo de vida del modelo y el punto de conexión.