Carregar conjuntos de dados de treinamento e teste para a fala personalizada

Você precisa de dados de áudio ou texto para testar a precisão do reconhecimento de fala ou treinar seus modelos personalizados. Para obter informações sobre os tipos de dados com suporte para testar ou treinar o modelo, confira Conjuntos de dados de treinamento e teste.

Dica

Você também pode usar o editor de transcrição online para criar e refinar conjuntos de dados de áudio rotulados.

Carregar conjuntos de dados

Para carregar seus conjuntos de dados no Speech Studio, siga estas etapas:

  1. Entre no Speech Studio.

  2. Selecione Fala personalizada> Nome do seu projeto >Conjuntos de dados de fala>Carregar dados.

  3. Selecione a guia Dados de treinamento ou Dados de teste.

  4. Selecione um tipo de conjunto de dados e selecione Avançar.

  5. Especifique o local do conjunto de dados e selecione Avançar. Você pode escolher um arquivo local ou inserir um local remoto, como a URL do Blob do Azure. Se você selecionar um local remoto e não usar o mecanismo de segurança de serviços confiáveis do Azure, o local remoto deverá ser um URL que pode ser recuperado com uma simples solicitação GET anônima. Por exemplo, uma URL SAS ou uma URL acessível publicamente. Não há suporte para os URLs que exigem autorização extra ou esperam interação do usuário.

    Observação

    Se você usar a URL do Blob do Azure, poderá garantir a segurança máxima de seus arquivos de conjunto de dados usando o mecanismo de segurança confiável dos serviços do Azure. Você usará as mesmas técnicas que para transcrição do Lote e URLs de conta de armazenamento simples para seus arquivos de conjunto de dados. Veja os detalhes aqui.

  6. Insira o nome e a descrição do conjunto de dados e, em seguida, selecione Avançar.

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

Após o conjunto de dados ser carregado, vá para a página Treinar modelos personalizados para treinar um modelo personalizado.

Com a CLI de Fala e a API REST de Conversão de fala em texto, ao contrário do Speech Studio, você não escolhe se um conjunto de dados é para teste ou treinamento no momento do upload. Você especifica como um conjunto de dados é usado quando treina um modelo ou executa um teste.

Embora você não indique se o conjunto de dados é para teste ou treinamento, deverá especificar o tipo de conjunto de dados. O tipo de conjunto de dados é usado para determinar qual tipo de conjunto de dados é criado. Em alguns casos, um tipo de conjunto de dados é usado apenas para teste ou treinamento, mas você não deve se basear nisso. Os valores kind da CLI de Fala e da API REST correspondem às opções no Speech Studio, conforme descrito na tabela abaixo:

Tipo de CLI e API Opções do Speech Studio
Acústico Dados de treinamento: áudio + transcrição rotulada por humanos
Dados de teste: transcrição (síntese automática de áudio)
Dados de teste: áudio + transcrição rotulada por humanos
AudioFiles Dados de teste: áudio
Linguagem Dados de treinamento: texto sem formatação
LanguageMarkdown Dados de treinamento: texto estruturado no formato markdown
Pronúncia Dados de treinamento: pronúncia
OutputFormatting Dados de treinamento: formato de saída

Importante

Você não usa a CLI de Fala ou a API REST para carregar arquivos de dados diretamente. Primeiro, você armazena os arquivos de conjunto de dados de treinamento ou teste em um URL que a CLI de Fala ou a API REST podem acessar. Depois de carregar os arquivos de dados, você pode usar a CLI de Fala ou a API REST para criar um conjunto de dados para teste ou treinamento de fala personalizada.

Para criar um conjunto de dados e conectá-lo a um projeto existente, use o comando spx csr dataset create. 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. Esse parâmetro é recomendado para que você também possa exibir e gerenciar o conjunto de dados no Speech Studio. Você pode executar o comando spx csr project list para obter projetos disponíveis.

  • Defina o parâmetro kind obrigatório. O conjunto possível de valores para um tipo de conjunto de dados de treinamento é: Acoustic, AudioFiles, Language, LanguageMarkdown e Pronunciation.

  • Defina o parâmetro contentUrl obrigatório. Esse parâmetro é o local do conjunto de dados. Se não usar o mecanismo de segurança de serviços confiáveis do Azure (confira a próxima Observação), o parâmetro contentUrl deverá ser uma URL que pode ser recuperada com uma simples solicitação GET anônima. Por exemplo, uma URL SAS ou uma URL acessível publicamente. Não há suporte para os URLs que exigem autorização extra ou esperam interação do usuário.

    Observação

    Se você usar a URL do Blob do Azure, poderá garantir a segurança máxima de seus arquivos de conjunto de dados usando o mecanismo de segurança confiável dos serviços do Azure. Você usará as mesmas técnicas que para transcrição do Lote e URLs de conta de armazenamento simples para seus arquivos de conjunto de dados. Veja os detalhes aqui.

  • Defina o parâmetro language obrigatório. A localidade do conjunto de dados deve corresponder à localidade do projeto. Ela 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. Esse parâmetro é o nome que é exibido no Speech Studio. O parâmetro name da CLI de Fala corresponde à propriedade displayName na solicitação e resposta JSON.

Aqui está um exemplo de comando da CLI de Fala que cria um conjunto de dados e o conecta a um projeto existente:

spx csr dataset create --api-version v3.2 --kind "Acoustic" --name "My Acoustic Dataset" --description "My Acoustic Dataset Description" --project YourProjectId --content YourContentUrl --language "en-US"

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

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23",
  "kind": "Acoustic",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "textNormalizationKind": "Default",
    "acceptedLineCount": 2,
    "rejectedLineCount": 0,
    "duration": "PT59S"
  },
  "lastActionDateTime": "2024-07-14T17:36:30Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T17:36:14Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "customProperties": {
    "PortalAPIVersion": "3"
  }
}

A propriedade self de nível superior no corpo da resposta é o URI do conjunto de dados. Use esse URI para obter detalhes sobre o projeto e os arquivos do conjunto de dados. Esse URI também pode ser usado para atualizar ou excluir um conjunto de dados.

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

spx help csr dataset

Com a CLI de Fala e a API REST de Conversão de fala em texto, ao contrário do Speech Studio, você não escolhe se um conjunto de dados é para teste ou treinamento no momento do upload. Você especifica como um conjunto de dados é usado quando treina um modelo ou executa um teste.

Embora você não indique se o conjunto de dados é para teste ou treinamento, deverá especificar o tipo de conjunto de dados. O tipo de conjunto de dados é usado para determinar qual tipo de conjunto de dados é criado. Em alguns casos, um tipo de conjunto de dados é usado apenas para teste ou treinamento, mas você não deve se basear nisso. Os valores kind da CLI de Fala e da API REST correspondem às opções no Speech Studio, conforme descrito na tabela abaixo:

Tipo de CLI e API Opções do Speech Studio
Acústico Dados de treinamento: áudio + transcrição rotulada por humanos
Dados de teste: transcrição (síntese automática de áudio)
Dados de teste: áudio + transcrição rotulada por humanos
AudioFiles Dados de teste: áudio
Linguagem Dados de treinamento: texto sem formatação
LanguageMarkdown Dados de treinamento: texto estruturado no formato markdown
Pronúncia Dados de treinamento: pronúncia
OutputFormatting Dados de treinamento: formato de saída

Importante

Você não usa a CLI de Fala ou a API REST para carregar arquivos de dados diretamente. Primeiro, você armazena os arquivos de conjunto de dados de treinamento ou teste em um URL que a CLI de Fala ou a API REST podem acessar. Depois de carregar os arquivos de dados, você pode usar a CLI de Fala ou a API REST para criar um conjunto de dados para teste ou treinamento de fala personalizada.

Para criar um conjunto de dados e conectá-lo a um projeto existente, use a operação Datasets_Create da API REST de Conversão de fala em texto. Crie o corpo da solicitação de acordo com as seguintes instruções:

  • Defina a propriedade project como o URI de um projeto existente. Essa propriedade é recomendada para que você também possa exibir e gerenciar o conjunto de dados no Speech Studio. É possível fazer uma solicitação Projects_List para obter os projetos disponíveis.

  • Defina a propriedade kind obrigatória. O conjunto possível de valores para um tipo de conjunto de dados de treinamento é: Acoustic, AudioFiles, Language, LanguageMarkdown e Pronunciation.

  • Defina a propriedade contentUrl obrigatória. Essa propriedade é o local do conjunto de dados. Se não usar o mecanismo de segurança de serviços confiáveis do Azure (confira a próxima Observação), o parâmetro contentUrl deverá ser uma URL que pode ser recuperada com uma simples solicitação GET anônima. Por exemplo, uma URL SAS ou uma URL acessível publicamente. Não há suporte para os URLs que exigem autorização extra ou esperam interação do usuário.

    Observação

    Se você usar a URL do Blob do Azure, poderá garantir a segurança máxima de seus arquivos de conjunto de dados usando o mecanismo de segurança confiável dos serviços do Azure. Você usará as mesmas técnicas que para transcrição do Lote e URLs de conta de armazenamento simples para seus arquivos de conjunto de dados. Veja os detalhes aqui.

  • Defina a propriedade locale obrigatória. A localidade do conjunto de dados deve corresponder à localidade do projeto. Ela não poderá ser alterada posteriormente.

  • Defina a propriedade displayName obrigatória. Essa propriedade é o nome que é 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 '{
  "kind": "Acoustic",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "contentUrl": "https://contoso.com/mydatasetlocation",
  "locale": "en-US",
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/datasets"

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

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23",
  "kind": "Acoustic",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "textNormalizationKind": "Default",
    "acceptedLineCount": 2,
    "rejectedLineCount": 0,
    "duration": "PT59S"
  },
  "lastActionDateTime": "2024-07-14T17:36:30Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T17:36:14Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "customProperties": {
    "PortalAPIVersion": "3"
  }
}

A propriedade self de nível superior no corpo da resposta é o URI do conjunto de dados. Use esse URI para obter detalhes sobre o projeto e os arquivos do conjunto de dados. Você também usa esse URI para atualizar ou excluir o conjunto de dados.

Importante

Não é necessário conectar um conjunto de dados a um projeto de fala personalizada para treinar e testar um modelo personalizado usando a API REST ou a CLI de Fala. Mas se o conjunto de dados não estiver conectado a nenhum projeto, você não poderá selecioná-lo para treinamento ou teste no Speech Studio.

Próximas etapas