Conjuntos de dados de treinamento e teste

Em um projeto de fala personalizado, você pode carregar conjuntos de dados para treinamento, inspeção qualitativa e medição quantitativa. Este artigo aborda os tipos de dados de treinamento e teste que você pode usar para fala personalizada.

O texto e o áudio que você usa para testar e treinar um modelo personalizado devem incluir amostras de um conjunto diversificado de alto-falantes e cenários que você deseja que seu modelo reconheça. Considere estes fatores ao coletar dados para testes e treinamento de modelos personalizados:

  • Inclua dados de texto e áudio para cobrir os tipos de declarações verbais que seus usuários fazem quando estão interagindo com seu modelo. Por exemplo, um modelo que aumenta e baixa a temperatura precisa de treinamento sobre declarações que as pessoas podem fazer para solicitar tais alterações.
  • Inclua todas as variações de fala que você deseja que seu modelo reconheça. Muitos fatores podem variar a fala, incluindo sotaques, dialetos, mistura de idiomas, idade, sexo, tom de voz, nível de estresse e hora do dia.
  • Inclua amostras de diferentes ambientes, por exemplo, ruído interno, externo e rodoviário, onde seu modelo é usado.
  • Grave áudio com dispositivos de hardware que o sistema de produção usa. Se o seu modelo deve identificar a fala gravada em dispositivos de qualidade variável, os dados de áudio que você fornece para treinar seu modelo também devem representar esses diversos cenários.
  • Mantenha o conjunto de dados diversificado e representativo dos requisitos do seu projeto. Você pode adicionar mais dados ao seu modelo mais tarde.
  • Inclua apenas os dados que seu modelo precisa transcrever. Incluir dados que não estão dentro dos requisitos de reconhecimento do seu modelo personalizado pode prejudicar a qualidade do reconhecimento em geral.

Tipos de dados

A tabela a seguir lista os tipos de dados aceitos, quando cada tipo de dados deve ser usado e a quantidade recomendada. Nem todos os tipos de dados são necessários para criar um modelo. Os requisitos de dados variam dependendo se você está criando um teste ou treinando um modelo.

Tipo de dados Usado para testes Recomendado para testes Usado para treinamento Recomendado para formação
Apenas áudio Sim (inspeção visual) 5+ ficheiros de áudio Sim (Pré-visualização para en-US) 1-20 horas de áudio
Áudio + transcrições com etiqueta humana Sim (avaliação da precisão) 0,5-5 horas de áudio Sim 1-20 horas de áudio
Texto simples Não Não aplicável Sim 1-200 MB de texto relacionado
Texto estruturado Não Não aplicável Sim Até 10 aulas com até 4.000 itens e até 50.000 frases de treinamento
Pronúncia Não Não aplicável Sim 1 KB a 1 MB de texto de pronúncia
Formato de exibição Não Não aplicável Sim Até 200 linhas para ITN, 1.000 linhas para reescrita, 1.000 linhas para filtro de palavrões

O treinamento com texto simples ou texto estruturado geralmente termina em poucos minutos.

Gorjeta

Comece com dados de texto simples ou dados de texto estruturado. Estes dados melhorarão o reconhecimento de termos e frases especiais. Treinar com texto é muito mais rápido do que treinar com áudio (minutos versus dias).

Comece com pequenos conjuntos de dados de amostra que correspondam à linguagem, acústica e hardware onde seu modelo será usado. Pequenos conjuntos de dados representativos podem expor problemas antes de investir na coleta de conjuntos de dados maiores para treinamento. Para obter exemplos de dados de fala personalizados, consulte este repositório GitHub.

Se você treinar um modelo personalizado com dados de áudio, escolha uma região de recurso de fala com hardware dedicado para treinar dados de áudio. Para obter mais informações, consulte notas de rodapé na tabela de regiões . Em regiões com hardware dedicado para treinamento de fala personalizado, o serviço de fala usa até 20 horas de seus dados de treinamento de áudio e pode processar cerca de 10 horas de dados por dia. Em outras regiões, o serviço de fala usa até 8 horas de seus dados de áudio e pode processar cerca de 1 hora de dados por dia. Depois que o modelo é treinado, você pode copiá-lo para outra região, conforme necessário, com a API REST Models_CopyTo .

Considerar conjuntos de dados por cenário

Um modelo treinado em um subconjunto de cenários pode ter um bom desempenho apenas nesses cenários. Escolha cuidadosamente os dados que representam o escopo completo de cenários que você precisa que seu modelo personalizado reconheça. A tabela a seguir mostra os conjuntos de dados a serem considerados para alguns cenários de reconhecimento de fala:

Cenário Dados de texto simples e dados de texto estruturado Áudio + transcrições com etiqueta humana Novas palavras com pronúncia
Call center Documentos de marketing, website, análises de produtos relacionados com a atividade do call center Chamadas de call center transcritas por humanos Termos com pronúncias ambíguas (consulte o exemplo do Xbox na seção anterior)
Assistente de voz Listas de frases que usam várias combinações de comandos e entidades Vozes gravadas falando comandos no dispositivo, transcritos em texto Nomes (filmes, músicas, produtos) que têm pronúncias únicas
Ditado Entrada escrita, como mensagens instantâneas ou e-mails Semelhante aos exemplos anteriores Semelhante aos exemplos anteriores
Legendas ocultas de vídeo Roteiros de programas de TV, filmes, conteúdo de marketing, resumos em vídeo Transcrições exatas de vídeos Semelhante aos exemplos anteriores

Para ajudar a determinar qual conjunto de dados usar para resolver seus problemas, consulte a tabela a seguir:

Caso de utilização Tipo de dados
Melhore a precisão do reconhecimento em vocabulário e gramática específicos do setor, como terminologia médica ou jargão de TI. Texto simples ou dados de texto estruturado
Defina a forma fonética e exibida de uma palavra ou termo que tenha pronúncia fora do padrão, como nomes de produtos ou siglas. Dados de pronúncia ou pronúncia fonética em texto estruturado
Melhore a precisão do reconhecimento em estilos de fala, sotaques ou ruídos de fundo específicos. Áudio + transcrições com etiqueta humana

Áudio + dados de transcrição rotulados por humanos para treinamento ou teste

Você pode usar áudio + dados de transcrição rotulados por humanos para fins de treinamento e teste . Você deve fornecer transcrições rotuladas por humanos (palavra por palavra) para comparação:

  • Para melhorar os aspetos acústicos, como pequenos acentos, estilos de fala e ruídos de fundo.
  • Para medir a precisão da precisão de fala para texto da Microsoft quando ela está processando seus arquivos de áudio.

Para obter uma lista de modelos básicos que suportam treinamento com dados de áudio, consulte Suporte a idiomas. Mesmo que um modelo base ofereça suporte ao treinamento com dados de áudio, o serviço pode usar apenas parte do áudio. E ainda usa todas as transcrições.

Importante

Se um modelo base não suportar a personalização com dados de áudio, apenas o texto de transcrição será usado para treinamento. Se você mudar para um modelo base que ofereça suporte à personalização com dados de áudio, o tempo de treinamento pode aumentar de várias horas para vários dias. A mudança no tempo de treinamento seria mais percetível quando você muda para um modelo base em uma região sem hardware dedicado para treinamento. Se os dados de áudio não forem necessários, você deve removê-los para diminuir o tempo de treinamento.

O áudio com transcrições rotuladas por humanos oferece as maiores melhorias de precisão se o áudio vier do caso de uso alvo. As amostras devem abranger todo o âmbito do discurso. Por exemplo, um call center de uma loja de varejo receberia mais chamadas sobre roupas de banho e óculos de sol durante os meses de verão. Certifique-se de que seu exemplo inclua todo o escopo de fala que você deseja detetar.

Considere estes detalhes:

  • Treinar com áudio traz mais benefícios se o áudio também for difícil de entender para humanos. Na maioria dos casos, você deve começar o treinamento usando apenas texto relacionado.
  • Se você usa um dos idiomas mais usados, como o inglês dos EUA, é improvável que você precise treinar com dados de áudio. Para essas linguagens, os modelos base já oferecem bons resultados de reconhecimento na maioria dos cenários, então provavelmente é suficiente treinar com texto relacionado.
  • A fala personalizada pode capturar o contexto da palavra apenas para reduzir erros de substituição, não erros de inserção ou exclusão.
  • Evite amostras que incluam erros de transcrição, mas que incluam uma diversidade de qualidade de áudio.
  • Evite frases que não estejam relacionadas com o domínio do problema. Frases não relacionadas podem prejudicar o seu modelo.
  • Quando a qualidade da transcrição varia, você pode duplicar frases excepcionalmente boas, como excelentes transcrições que incluem frases-chave, para aumentar seu peso.
  • O serviço de Fala usa automaticamente as transcrições para melhorar o reconhecimento de palavras e frases específicas do domínio, como se fossem adicionadas como texto relacionado.
  • Pode levar vários dias para que uma operação de treinamento termine. Para melhorar a velocidade do treinamento, crie sua assinatura do serviço de fala em uma região com hardware dedicado para treinamento.

Um grande conjunto de dados de treinamento é necessário para melhorar o reconhecimento. Geralmente, recomendamos que você forneça transcrições palavra a palavra para 1 a 20 horas de áudio. No entanto, mesmo apenas 30 minutos podem ajudar a melhorar os resultados de reconhecimento. Embora a criação de transcrição rotulada por humanos possa levar tempo, as melhorias no reconhecimento são tão boas quanto os dados fornecidos. Deve carregar apenas transcrições de alta qualidade.

Os arquivos de áudio podem ter silêncio no início e no final da gravação. Se possível, inclua pelo menos meio segundo de silêncio antes e depois da fala em cada arquivo de amostra. Embora o áudio com baixo volume de gravação ou ruído de fundo perturbador não seja útil, ele não deve limitar ou degradar seu modelo personalizado. Sempre considere atualizar seus microfones e hardware de processamento de sinal antes de coletar amostras de áudio.

Importante

Para obter mais informações sobre as práticas recomendadas de preparação de transcrições rotuladas por humanos, consulte Transcrições rotuladas por humanos com áudio.

Projetos de fala personalizados exigem arquivos de áudio com estas propriedades:

Importante

Estes são os requisitos para treinamento e testes de transcrição de áudio + etiqueta humana. Eles diferem daqueles para treinamento e teste somente de áudio. Se você quiser usar apenas treinamento e teste de áudio, consulte esta seção.

Property valor
File format RIFF (WAV)
Taxa de amostragem 8.000 Hz ou 16.000 Hz
Canais 1 (mono)
Duração máxima por áudio Duas horas (teste) / 60 s (formação)

O treinamento com áudio tem uma duração máxima de áudio de 60 segundos por arquivo. Para arquivos de áudio com mais de 60 segundos, apenas os arquivos de transcrição correspondentes são usados para treinamento. Se todos os arquivos de áudio tiverem mais de 60 segundos, o treinamento falhará.
Sample format (Formato de exemplo) PCM, 16 bits
Formato de arquivo .zip
Tamanho máximo do zip 2 GB ou 10.000 ficheiros

Dados de texto simples para treinamento

Você pode adicionar frases de texto simples de texto relacionado para melhorar o reconhecimento de palavras e frases específicas do domínio. Frases de texto relacionadas podem reduzir erros de substituição relacionados ao reconhecimento incorreto de palavras comuns e palavras específicas do domínio, mostrando-as no contexto. Palavras específicas de domínio podem ser palavras incomuns ou inventadas, mas sua pronúncia deve ser simples para ser reconhecida.

Forneça frases relacionadas ao domínio em um único arquivo de texto. Use dados de texto próximos aos enunciados falados esperados. Os enunciados não precisam ser completos ou gramaticalmente corretos, mas devem refletir com precisão a entrada falada que você espera que o modelo reconheça. Sempre que possível, tente ter uma frase ou palavra-chave controlada em uma linha separada. Para aumentar o peso de um termo, como nomes de produtos, adicione várias frases que incluam o termo. Não copie demasiado, pois pode afetar a taxa de reconhecimento global.

Nota

Evite frases de texto relacionadas que incluam ruído, como caracteres ou palavras irreconhecíveis.

Use esta tabela para garantir que seu arquivo de conjunto de dados de texto sem formatação esteja formatado corretamente:

Property Valor
Codificação de texto UTF-8 BOM
Número de enunciados por linha 1
Tamanho máximo do ficheiro 200 MB

Você também deve aderir às seguintes restrições:

  • Evite repetir carateres, palavras ou grupos de palavras mais de três vezes. Por exemplo, não use "aaaa", "sim sim sim" ou "é isso que é que é isso". O serviço de Fala pode soltar linhas com muitas repetições.
  • Não utilize carateres especiais ou os carateres UTF-8 acima U+00A1.
  • Os URIs serão rejeitados.
  • Para alguns idiomas, como japonês ou coreano, a importação de grandes quantidades de dados de texto pode levar muito tempo ou atingir o tempo limite. Considere dividir o conjunto de dados em vários arquivos de texto com até 20.000 linhas em cada.

Dados de texto estruturado para treinamento

Nota

Os dados de texto estruturado para treinamento estão em visualização pública.

Use dados de texto estruturados quando seus dados seguirem um padrão específico em expressões específicas que diferem apenas por palavras ou frases de uma lista. Para simplificar a criação de dados de treinamento e permitir uma melhor modelagem dentro do modelo de linguagem personalizada, você pode usar um texto estruturado no formato Markdown para definir listas de itens e pronúncia fonética de palavras. Em seguida, você pode fazer referência a essas listas dentro de seus enunciados de treinamento.

Os enunciados esperados geralmente seguem um determinado padrão. Um padrão comum é que os enunciados diferem apenas por palavras ou frases de uma lista. Exemplos deste padrão podem ser:

  • "Eu tenho uma pergunta sobre product," onde product está uma lista de possíveis produtos.
  • "Make that objectcolor", onde object é uma lista de formas geométricas e color é uma lista de cores.

Para obter uma lista de modelos básicos suportados e localidades para treinamento com texto estruturado, consulte Suporte a idiomas. Você deve usar o modelo base mais recente para essas localidades. Para localidades que não oferecem suporte a treinamento com texto estruturado, o serviço aceitará todas as frases de treinamento que não fazem referência a nenhuma classe como parte do treinamento com dados de texto sem formatação.

O arquivo de texto estruturado deve ter uma extensão .md. O tamanho máximo do arquivo é de 200 MB e a codificação de texto deve ser UTF-8 BOM. A sintaxe do Markdown é a mesma dos modelos de Compreensão de Linguagem, em particular entidades de lista e enunciados de exemplo. Para obter mais informações sobre a sintaxe completa de Markdown, consulte Language Understanding Markdown.

Aqui estão os principais detalhes sobre o formato Markdown suportado:

Property Description Limites
@list Uma lista de itens que podem ser referenciados em uma frase de exemplo. Máximo de 20 listas. Máximo de 35.000 itens por lista.
speech:phoneticlexicon Uma lista de pronúncias fonéticas de acordo com o Universal Phone set. A pronúncia é ajustada para cada caso em que a palavra aparece em uma lista ou frase de treinamento. Por exemplo, se você tem uma palavra que soa como "gato" e deseja ajustar a pronúncia para "k ae t", você adicionaria - cat/k ae t à speech:phoneticlexicon lista. Máximo de 15.000 entradas. Máximo de duas pronúncias por palavra.
#ExampleSentences Um símbolo de libra (#) delimita uma seção de frases de exemplo. O título da seção só pode conter letras, dígitos e sublinhados. Frases de exemplo devem refletir o intervalo de fala que seu modelo deve esperar. Uma frase de treino pode referir-se a itens sob a @list usando chaves curvas à esquerda e à direita circundantes ({@list name}). Você pode consultar várias listas na mesma frase de treinamento, ou nenhuma. Tamanho máximo do ficheiro de 200 MB.
// Os comentários seguem-se a uma barra dupla (//). Não aplicável

Aqui está um exemplo de arquivo de texto estruturado:

// This is a comment because it follows a double slash (`//`).

// Here are three separate lists of items that can be referenced in an example sentence. You can have up to 10 of these.
@ list food =
- pizza
- burger
- ice cream
- soda

@ list pet =
- cat
- dog
- fish

@ list sports =
- soccer
- tennis
- cricket
- basketball
- baseball
- football

// List of phonetic pronunciations
@ speech:phoneticlexicon
- cat/k ae t
- fish/f ih sh

// Here are two sections of training sentences. 
#TrainingSentences_Section1
- you can include sentences without a class reference
- what {@pet} do you have
- I like eating {@food} and playing {@sports}
- my {@pet} likes {@food}

#TrainingSentences_Section2
- you can include more sentences without a class reference
- or more sentences that have a class reference like {@pet} 

Dados de pronúncia para treinamento

Palavras especializadas ou inventadas podem ter pronúncias únicas. Estas palavras podem ser reconhecidas se puderem ser divididas em palavras menores para pronunciá-las. Por exemplo, para reconhecer "Xbox", pronuncie-o como "X box". Essa abordagem não aumentará a precisão geral, mas pode melhorar o reconhecimento dessa e de outras palavras-chave.

Você pode fornecer um arquivo de pronúncia personalizado para melhorar o reconhecimento. Não use arquivos de pronúncia personalizados para alterar a pronúncia de palavras comuns. Para obter uma lista de idiomas que suportam pronúncia personalizada, consulte Suporte a idiomas.

Nota

Você pode usar um arquivo de pronúncia ao lado de qualquer outro conjunto de dados de treinamento, exceto dados de treinamento de texto estruturado. Para usar dados de pronúncia com texto estruturado, ele deve estar dentro de um arquivo de texto estruturado.

A forma falada é a sequência fonética enunciada. Pode ser composto por letras, palavras, sílabas ou uma combinação dos três. Esta tabela inclui alguns exemplos:

Formulário exibido reconhecido Forma falada
3CPO três c p o
CNTK c n t k
IEEE i triplo e

Você fornece pronúncias em um único arquivo de texto. Inclua o enunciado falado e uma pronúncia personalizada para cada um. Cada linha do arquivo deve começar com o formulário reconhecido, depois um caractere de tabulação e, em seguida, a sequência fonética delimitada por espaço.

3CPO    three c p o
CNTK    c n t k
IEEE    i triple e

Consulte a tabela a seguir para garantir que seus arquivos de conjunto de dados de pronúncia sejam válidos e formatados corretamente.

Property Valor
Codificação de texto UTF-8 BOM (ANSI também é suportado para inglês)
Número de pronúncias por linha 1
Tamanho máximo do ficheiro 1 MB (1 KB para o nível gratuito)

Dados de áudio para treinamento ou teste

Os dados de áudio são ideais para testar a precisão da linha de base do modelo de fala para texto da Microsoft ou de um modelo personalizado. Lembre-se de que os dados de áudio são usados para inspecionar a precisão da fala em relação ao desempenho de um modelo específico. Se você quiser quantificar a precisão de um modelo, use áudio + transcrições rotuladas por humanos.

Nota

Os dados somente de áudio para treinamento estão disponíveis na visualização para a en-US localidade. Para outras localidades, para treinar com dados de áudio, você também deve fornecer transcrições rotuladas por humanos.

Projetos de fala personalizados exigem arquivos de áudio com estas propriedades:

Importante

Estes são requisitos para treinamento e testes somente de áudio. Eles diferem daqueles para treinamento e teste de transcrição de áudio + rótulo humano. Se você quiser usar o treinamento e o teste de transcrição de áudio + rótulo humano, consulte esta seção.

Property valor
File format RIFF (WAV)
Taxa de amostragem 8.000 Hz ou 16.000 Hz
Canais 1 (mono)
Duração máxima por áudio Duas horas
Sample format (Formato de exemplo) PCM, 16 bits
Formato de arquivo .zip
Tamanho máximo do arquivo 2 GB ou 10.000 ficheiros

Nota

Quando você carrega dados de treinamento e teste, o tamanho do arquivo .zip não pode exceder 2 GB. Se necessitar de mais dados para formação, divida-os em vários ficheiros .zip e carregue-os separadamente. Mais tarde, você pode optar por treinar a partir de vários conjuntos de dados. No entanto, você pode testar a partir de apenas um único conjunto de dados.

Use o SoX para verificar as propriedades do áudio ou converter o áudio existente para os formatos apropriados. Aqui estão alguns exemplos de comandos SoX:

Atividade Comando do SoX
Verificar o formato do ficheiro de áudio. sox --i <filename>
Converter o ficheiro de áudio num único canal de 16 bits e 16 KHz. sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav

Dados de formatação de texto de exibição personalizados para treinamento

Saiba mais sobre como preparar dados de formatação de texto de exibição e formatação de texto de exibição com conversão de fala em texto.

O formato de exibição de saída do Reconhecimento Automático de Fala é fundamental para tarefas downstream e o tamanho único não serve para todos. Adicionar regras de Formato de Exibição Personalizado permite que os usuários definam suas próprias regras de formato léxico para exibição para melhorar a qualidade do serviço de reconhecimento de fala além do Serviço de Fala personalizado do Microsoft Azure.

Ele permite que você personalize totalmente as saídas de exibição, como adicionar regras de reescrita para capitalizar e reformular certas palavras, adicionar palavras de palavrões e mascarar a saída, definir regras ITN avançadas para certos padrões, como números, datas, endereços de e-mail; ou preservar algumas frases e mantê-las afastadas de quaisquer processos de exibição.

Por exemplo:

Formatação personalizada Texto a apresentar
Nenhuma Meu número financeiro da contoso é 8BEV3
Colocar "Contoso" em maiúsculas (via #rewrite regra)
Formatar número financeiro (via #itn regra)
Meu número financeiro da Contoso é 8B-EV-3

Para obter uma lista de modelos básicos suportados e localidades para treinamento com texto estruturado, consulte Suporte a idiomas. O arquivo de formato de exibição deve ter uma extensão .md. O tamanho máximo do arquivo é de 10 MB e a codificação de texto deve ser UTF-8 BOM. Para obter mais informações sobre como personalizar regras de Formato de Exibição, consulte Práticas recomendadas de regras de formatação de exibição.

Property Description Limites
#ITN Uma lista de regras de normalização de texto invertido para definir certos padrões de exibição, como números, endereços e datas. Máximo de 200 linhas
#rewrite Uma lista de pares de reescrita para substituir determinadas palavras por motivos como maiúsculas e correção ortográfica. Máximo de 1.000 linhas
#profanity Uma lista de palavras indesejadas que serão mascaradas a ****** partir da saída Display e Masked no topo das listas de palavrões integradas da Microsoft. Máximo de 1.000 linhas
#test Uma lista de casos de teste de unidade para validar se as regras de exibição funcionam conforme o esperado, incluindo a entrada de formato lexical e a saída de formato de exibição esperada. Tamanho máximo do ficheiro de 10 MB

Aqui está um exemplo de arquivo de formato de exibição:

// this is a comment line
// each section must start with a '#' character
#itn
// list of ITN pattern rules, one rule for each line
\d-\d-\d
\d-\l-\l-\d
#rewrite
// list of rewrite rules, each rule has two phrases, separated by a tab character
old phrase	new phrase
# profanity
// list of profanity phrases to be tagged/removed/masked, one line one phrase
fakeprofanity
#test
// list of test cases, each test case has two sentences, input lexical and expected display output
// the two sentences are separated by a tab character
// the expected sentence is the display output of DPP+CDPP models
Mask the fakeprofanity word	Mask the ************* word

Próximos passos