Criar um projeto de fala personalizada

Os projetos de fala personalizada contêm modelos, conjuntos de dados de treinamento e de teste e pontos de extremidade de implantação. Cada projeto é específico para uma localidade. Por exemplo, você pode criar um projeto para o inglês dos Estados Unidos.

Criar um projeto

Para criar um projeto de fala personalizada, siga estas etapas:

  1. Entre no Speech Studio.

  2. Selecione a assinatura e o recurso de Fala com que vai trabalhar.

    Importante

    Se você treinar um modelo personalizado com dados de áudio, escolha uma região de recursos de Fala com hardware dedicado para treinar dados de áudio. Confira as notas de rodapé na tabela regiões para mais informações.

  3. Selecione Fala personalizada>Criar projeto.

  4. Siga as instruções fornecidas pelo assistente para criar seu projeto.

Selecione o novo projeto pelo nome ou escolha Ir para o projeto. Você verá estes itens de menu no painel esquerdo: Conjunto de dados de fala, Treinar modelos personalizados, Testar modelos e Implantar modelos.

Para criar um projeto, use o comando spx csr project create. Construa os parâmetros de solicitação de acordo com as seguintes instruções:

  • Defina o parâmetro language necessário. A localidade do projeto e os conjuntos de dados contidos devem ser os mesmos. O localidade não poderá ser alterada posteriormente. O parâmetro language da CLI de Fala corresponde à propriedade locale na solicitação e resposta JSON.
  • Defina o parâmetro name necessário. É o nome que é exibido no Speech Studio. O parâmetro name da CLI de Fala corresponde à propriedade displayName da solicitação e resposta JSON.

Veja um exemplo de comando da CLI de Fala que cria um projeto:

spx csr project create --api-version v3.2 --name "My Project" --description "My Project Description" --language "en-US"

Você deve receber um corpo de resposta no seguinte formato:

{
  "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"
}

A propriedade self de nível superior no corpo da resposta é o URI do projeto. Use esse URI para obter detalhes sobre avaliações, conjuntos de dados, modelos, pontos de extremidade e transcrições do projeto. Esse URI também pode ser usado para atualizar ou excluir um projeto.

Para obter a ajuda da CLI de Fala com projetos, execute o seguinte comando:

spx help csr project

Para criar um projeto, use a operação Projects_Create da API REST de reconhecimento de fala. Construa o corpo da solicitação de acordo com as seguintes instruções:

  • Defina a propriedade locale necessária. Essa deve ser a localidade dos conjuntos de dados contidos. O localidade não poderá ser alterada posteriormente.
  • Defina a propriedade displayName obrigatória. Este é o nome de projeto que é exibido no Speech Studio.

Faça uma solicitação HTTP POST usando o URI, conforme mostrado no exemplo Projects_Create a seguir. Substitua YourSubscriptionKey pela chave de recurso de Fala, YourServiceRegion pela região do recurso de Fala e defina as propriedades do corpo da solicitação, conforme 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"

Você deve receber um corpo de resposta no seguinte formato:

{
  "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"
}

A propriedade self de nível superior no corpo da resposta é o URI do projeto. Use esse URI para obter detalhes sobre avaliações, conjuntos de dados, modelos, pontos de extremidade e transcrições do projeto. Esse URI também pode ser usado para atualizar ou excluir um projeto.

Escolher o modelo

Há algumas abordagens para usar modelos de fala personalizada:

  • O modelo base fornece reconhecimento de fala preciso pronto para uma série de cenários. Os modelos base são atualizados periodicamente para melhorar a precisão e a qualidade. Recomendamos que, se for usar modelos base, você use os modelos base padrão mais recentes. Se uma funcionalidade de personalização necessária estiver disponível apenas em um modelo mais antigo, você poderá escolher um modelo base mais antigo.
  • Um modelo personalizado aumenta o modelo base para incluir vocabulário específico do domínio compartilhado em todas as áreas do domínio personalizado.
  • Vários modelos personalizados podem ser usados quando o domínio personalizado tem várias áreas, cada uma com um vocabulário específico.

Uma forma recomendada de ver se o modelo base é suficiente é analisar a transcrição produzida pelo modelo base e compará-la com uma transcrição humana do mesmo áudio. Você pode comparar as transcrições e obter uma pontuação WER (taxa de erro de palavra). Se a pontuação WER for alta, é recomendável treinar um modelo personalizado para reconhecer as palavras identificadas incorretamente.

Recomenda-se o uso de vários modelos quando o vocabulário varia entre as áreas de domínio. Por exemplo, relatos de comentaristas olímpicos sobre vários eventos, cada qual associado a um vernáculo próprio. Como o vocabulário de cada evento olímpico difere significativamente, a criação de um modelo personalizado específico para um evento aumenta a precisão, limitando os dados de enunciado em relação a esse evento específico. Como resultado, o modelo não precisa peneirar dados não relacionados para fazer correspondências. Independentemente disso, o treinamento ainda requer uma variedade de dados de treinamento adequada. Inclua áudio de vários comentaristas para obter diversidade de sotaque, gênero, idade etc.

Estabilidade e ciclo de vida do modelo

Um modelo base ou um modelo personalizado implantado em um ponto de extremidade usando fala personalizada será corrigido até que você decida atualizá-lo. A precisão e a qualidade do reconhecimento de fala permanecem consistentes, mesmo quando um novo modelo base é lançado. Assim, você poderá sustentar o comportamento de um modelo específico até decidir usar um modelo mais recente.

Quer você treine um modelo próprio ou use um instantâneo de um modelo base, ele poderá ser usado por tempo limitado. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.

Próximas etapas