Testar a qualidade de reconhecimento de um modelo de Fala Personalizada

Você pode inspecionar visualmente a qualidade de reconhecimento de um modelo de Fala Personalizada no Speech Studio. Você pode reproduzir o áudio carregado e determinar se o resultado de reconhecimento fornecido está correto. Depois que um teste for criado com êxito, você poderá ver como um modelo transcreve o conjunto de dados de áudio ou comparar os resultados de dois modelos lado a lado.

O teste de modelo lado a lado é útil para validar qual modelo de reconhecimento de fala é melhor para um aplicativo. Para obter uma medida objetiva de precisão, que requer a entrada de conjuntos de dados de transcrição, consulte Modelo de teste quantitativamente.

Importante

Durante o teste, o sistema realizará uma transcrição. É importante ter isso em mente, pois o preço varia de acordo com a oferta de serviço e o nível de assinatura. Não se esqueça de conferir os preços oficiais dos Serviços Cognitivos do Azure, para obter os detalhes mais recentes.

Criar um teste

Siga estas instruções para criar um teste:

  1. Entre no Speech Studio.

  2. Navegue até Speech Studio>Fala Personalizada e selecione o nome do projeto na lista.

  3. Selecione Modelos de teste>Criar teste.

  4. Escolha Inspecionar qualidade (dados somente de áudio)>Avançar.

  5. Escolha um conjunto de dados de áudio que deseja usar para teste e selecione Avançar. Se não houver conjuntos de dados disponíveis, cancele a instalação e acesse o menu Conjuntos de dados de Fala para carregar os conjuntos de dados.

    Captura de tela da escolha de um diálogo do conjunto de dados

  6. Escolha um ou dois modelos para avaliar e comparar a precisão.

  7. Insira o nome do teste e a descrição e selecione Avançar.

  8. Examine as configurações e selecione Salvar e fechar.

Para criar um teste, use o spx csr evaluation createcomando. Crie os parâmetros de solicitação de acordo com as seguintes instruções:

  • Defina o parâmetro project como a ID de um projeto existente. Isso é recomendado para que você também possa exibir o teste no Speech Studio. Você pode executar o comando spx csr project list para obter projetos disponíveis.
  • Defina o parâmetro model1 necessário para a ID de um modelo que você deseja testar.
  • Defina o parâmetro model2 necessário para a ID de outro modelo que você deseja testar. Se você não quiser comparar dois modelos, use o mesmo modelo para ambos model1 e model2.
  • Defina o parâmetro dataset necessário para a ID de um conjunto de dados que você deseja usar para o teste.
  • Defina o parâmetro language, caso contrário, a CLI de Fala definirá "en-US" por padrão. Essa deve ser a localidade do conteúdo do conjunto de dados. O localidade não poderá ser alterado posteriormente. O parâmetro language da CLI de Fala corresponde à propriedade locale na solicitação e na resposta JSON.
  • Defina o parâmetro name necessário. É o nome que será exibido no Speech Studio. O parâmetro name da CLI de Fala corresponde à propriedade displayName na solicitação e resposta JSON.

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

spx csr evaluation create --api-version v3.1 --project 9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226 --dataset be378d9d-a9d7-4d4a-820a-e0432e8678c7 --model1 ff43e922-e3e6-4bf0-8473-55c08fd68048 --model2 1aae1070-7972-47e9-a977-87e3b05c457d --name "My Inspection" --description "My Inspection Description"

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

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Inspection",
  "description": "My Inspection Description"
}

A propriedade self de nível superior no corpo da resposta é o URI da avaliação. Use esse URI para obter detalhes sobre o projeto e os resultados do teste. Você também usa esse URI para atualizar ou excluir a avaliação.

Para a ajuda da CLI de Fala com avaliações, execute o seguinte comando:

spx help csr evaluation

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

  • Defina a propriedade project como o URI de um projeto existente. Isso é recomendado para que você também possa exibir o teste no Speech Studio. É possível fazer uma solicitação Projects_List para obter os projetos disponíveis.
  • Defina a propriedade model1 necessária para o URI de um modelo que você deseja testar.
  • Defina a propriedade model2 necessária para o URI de outro modelo que você deseja testar. Se você não quiser comparar dois modelos, use o mesmo modelo para ambos model1 e model2.
  • Defina o propriedade dataset necessário para o URI de um conjunto de dados que você deseja usar para o teste.
  • Defina a propriedade locale obrigatória. Essa deve ser a localidade do conteúdo do conjunto de dados. O localidade não poderá ser alterado posteriormente.
  • Defina a propriedade displayName obrigatória. É o nome que será exibido no Speech Studio.

Faça uma solicitação HTTP POST usando o URI, conforme mostrado no exemplo 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 '{
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "displayName": "My Inspection",
  "description": "My Inspection Description",
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations"

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

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Inspection",
  "description": "My Inspection Description"
}

A propriedade self de nível superior no corpo da resposta é o URI da avaliação. Use esse URI para obter detalhes sobre o projeto de avaliação e os resultados do teste. Você também usa esse URI para atualizar ou excluir a avaliação.

Obter resultados do teste

Você deve obter os resultados do teste e inspecionar os conjuntos de dados de áudio em comparação com os resultados da transcrição de cada modelo.

Siga estas etapas para obter resultados de teste:

  1. Entre no Speech Studio.
  2. Selecione Fala Personalizada> Nome do projeto >Testar modelos.
  3. Selecione o link pelo nome do teste.
  4. Depois que o teste for concluído, conforme indicado pelo conjunto de status como Bem-sucedido, você deverá ver os resultados que incluem o número WER para cada modelo testado.

Essa página lista todos os enunciados no conjunto de dados e os resultados de reconhecimento, junto com a transcrição do conjunto de dados enviado. É possível alternar entre vários tipos de erro, incluindo inserção, exclusão e substituição. Ouvindo o áudio e comparando os resultados de reconhecimento em cada coluna, você pode decidir qual modelo atende às suas necessidades e determinar se são necessários aprimoramentos e treinamento adicional.

Para obter resultados de teste, use o comando spx csr evaluation status. Crie os parâmetros de solicitação de acordo com as seguintes instruções:

  • Defina o parâmetro evaluation necessário para a ID da avaliação que você deseja obter resultados de teste.

Veja um exemplo de comando da CLI de Fala que obtém os resultados do teste:

spx csr evaluation status --api-version v3.1 --evaluation 8bfe6b05-f093-4ab4-be7d-180374b751ca

Os modelos, conjunto de dados de áudio, transcrições e mais detalhes são retornados no corpo da resposta.

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

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Inspection",
	"description": "My Inspection Description"
}

Para a ajuda da CLI de Fala com avaliações, execute o seguinte comando:

spx help csr evaluation

Para obter resultados de teste, comece usando a operação Evaluations_Get da API REST de reconhecimento de fala.

Faça uma solicitação HTTP GET usando o URI, conforme mostrado no exemplo a seguir. Substitua YourEvaluationId por sua ID de avaliação, substitua YourSubscriptionKey pela sua chave de recurso de Fala e substitua YourServiceRegion pela sua região de recurso de Fala.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Os modelos, conjunto de dados de áudio, transcrições e mais detalhes são retornados no corpo da resposta.

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

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Inspection",
	"description": "My Inspection Description"
}

Comparar transcrição com áudio

Você pode inspecionar a saída de transcrição de cada modelo testado, em relação ao conjunto de dados de entrada de áudio. Se você incluiu dois modelos no teste, pode comparar a qualidade de transcrição deles lado a lado.

Para revisar a qualidade das transcrições:

  1. Entre no Speech Studio.
  2. Selecione Fala Personalizada> Nome do projeto >Testar modelos.
  3. Selecione o link pelo nome do teste.
  4. Reproduza um arquivo de áudio enquanto lê a transcrição correspondente por um modelo.

Se o conjunto de dados de teste incluir vários arquivos de áudio, você verá várias linhas na tabela. Se você incluiu dois modelos no teste, as transcrições são mostradas em colunas lado a lado. As diferenças de transcrição entre os modelos são mostradas em fonte de texto azul.

Captura de tela de uma comparação de transcrições de dois modelos

O conjunto de dados de teste de áudio, transcrições e modelos testados são retornados nos resultados do teste. Se apenas um modelo tiver sido testado, o model1valor corresponderámodel2 e o transcription1valor corresponderátranscription2.

Para revisar a qualidade das transcrições:

  1. Baixe o conjunto de dados de teste de áudio, a menos que você já tenha uma cópia.
  2. Baixe as transcrições de saída.
  3. Reproduza um arquivo de áudio enquanto lê a transcrição correspondente por um modelo.

Se você estiver comparando a qualidade entre dois modelos, preste atenção especial às diferenças entre as transcrições de cada modelo.

O conjunto de dados de teste de áudio, transcrições e modelos testados são retornados nos resultados do teste. Se apenas um modelo tiver sido testado, o model1valor corresponderámodel2 e o transcription1valor corresponderátranscription2.

Para revisar a qualidade das transcrições:

  1. Baixe o conjunto de dados de teste de áudio, a menos que você já tenha uma cópia.
  2. Baixe as transcrições de saída.
  3. Reproduza um arquivo de áudio enquanto lê a transcrição correspondente por um modelo.

Se você estiver comparando a qualidade entre dois modelos, preste atenção especial às diferenças entre as transcrições de cada modelo.

Próximas etapas