Conjuntos de dados de teste e treinamento

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 a fala personalizada.

O texto e o áudio usados para testar e treinar um modelo personalizado devem incluir exemplos de um conjunto variado de falantes, bem como os cenários que convém que o modelo reconheça. Considere estes fatores ao coletar dados para treinamento e teste de modelos personalizados:

  • Inclua dados de texto e áudio para cobrir os tipos de declarações verbais que seus usuários fazem quando interagem com seu modelo. Por exemplo, um modelo que aumenta e diminui a temperatura precisa de treinamento com as instruções que as pessoas usariam para solicitar isso.
  • Incluir todas as variâncias de fala que você deseja que o modelo reconheça. Muitos fatores podem afetar a fala, incluindo sotaques, dialetos, combinação de idiomas, idade, gênero, tom de voz, nível de estresse e hora do dia.
  • Inclua amostras de diferentes ambientes, por exemplo, interno, externo e ruído de estrada, no qual seu modelo é usado.
  • Grave o áudio com dispositivos de hardware que o sistema de produção usa. Se o modelo tiver que identificar falas gravadas em dispositivos de diferentes qualidades, os dados de áudio que você fornece para treinar o seu modelo também deverão representar esses cenários diversos.
  • Mantenha o conjunto de dados diversificado e representativo de suas necessidades de projeto. Você pode adicionar mais dados ao seu modelo mais tarde.
  • Incluir somente os dados que o modelo precisa transcrever. Incluir dados que não estão de acordo com os requisitos de reconhecimento do 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 de acordo com o fato de você estar criando um teste ou treinando um modelo.

Tipo de dados Usados para testes Recomendado para teste Usados para treinamento Recomendado para treinamento
Apenas áudio Sim (inspeção visual) Mais de cinco arquivos de áudio Sim (versão prévia para en-US) 1 a 20 horas de áudio
Áudio + transcrições literais Sim (avaliação de precisão) 0,5 a 5 horas de áudio Sim 1 a 20 horas de áudio
Texto sem formatação Não Não aplicável Sim 1 a 200 MB de texto relacionado
Texto estruturado Não Não aplicável Sim Até dez classes 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

Geralmente, o treinamento com um texto sem formatação ou texto estruturado é concluído em poucos minutos.

Dica

Comece com dados de texto sem formatação ou dados de texto estruturado. Esses dados vão aprimorar o reconhecimento de termos e frases especiais. O treinamento com texto é muito mais rápido do que o treinamento com áudio (minutos versus dias).

Comece com pequenos conjuntos de dados de exemplo que correspondam ao idioma, à acústica e ao hardware em que o modelo será usado. Pequenos conjuntos de dados representativos podem expor problemas antes de você investir na aquisição de conjuntos de dados maiores para treinamento. Para obter exemplos de dados de fala personalizados, confira este repositório do GitHub.

Se você treinar um modelo personalizado com dados de áudio, escolha uma região de recursos de fala com hardware dedicado para treinar os dados de áudio. Para obter mais informações, confira as notas de rodapé na tabela 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 utiliza até 8 horas de seus dados de áudio e pode processar cerca de 1 hora de dados por dia. Depois que o modelo for treinado, você poderá copiar o modelo 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 somente nesses cenários. Escolha cuidadosamente dados que representem o escopo completo dos cenários que o modelo personalizado precisa reconhecer. A tabela a seguir mostra conjuntos de dados a serem considerados para alguns cenários de reconhecimento de fala:

Cenário Dados de texto sem formatação ou dados de texto estruturado Áudio + transcrições literais Novas palavras com pronúncia
Call center Documentos de marketing, site, análises de produtos relacionadas à atividade do call center Chamadas de call center transcritas por pessoas Termos que têm pronúncias ambíguas (confira o exemplo de Xbox na seção anterior)
Assistente de voz Listas de frases que usam várias combinações de comandos e entidades Comandos de fala com vozes gravadas no dispositivo, transcritas em texto Nomes (filmes, músicas, produtos) que têm pronúncias exclusivas
Ditado Entrada escrita, como mensagens instantâneas ou emails Semelhante aos exemplos anteriores Semelhante aos exemplos anteriores
Legendagem oculta de vídeo scripts de programas de TV, filmes, conteúdo de marketing, resumos de 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 uso Tipo de dados
Aprimore a precisão do reconhecimento no vocabulário e na gramática específicos do setor, como terminologia médica ou jargão de TI. Dados de texto sem formatação ou de texto estruturado
Defina a forma fonética e exibida de uma palavra ou um termo que tenham pronúncia não padrão, como nomes de produtos ou siglas. Dados de pronúncia ou pronúncia fonética em texto estruturado
Aprimore a precisão do reconhecimento em estilos de fala, sotaques ou ruídos de fundo específicos. Áudio + transcrições literais

Dados de áudio e transcrição literal para treinamento ou teste

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

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

Para obter uma lista de modelos de base que dão suporte ao treinamento com dados de áudio, confira Suporte a idiomas. Mesmo que um modelo de base dê suporte ao treinamento com dados de áudio, o serviço poderá usar apenas parte do áudio. E ele ainda usa todas as transcrições.

Importante

Se um modelo base não der suporte à personalização com dados de áudio, somente o texto de transcrição será usado para treinamento. Se você alternar para um modelo base que dá suporte à personalização com dados de áudio, o tempo de treinamento poderá aumentar de várias horas para vários dias. A alteração no tempo de treinamento seria mais perceptível quando você alterna para um modelo de base em uma região sem hardware dedicado para treinamento. Se os dados de áudio não forem necessários, você deverá removê-los para diminuir o tempo de treinamento.

O áudio com transcrições literais oferecerá os maiores aprimoramentos de precisão se o áudio vier do caso de uso de destino. Os exemplos devem abranger todo o escopo de fala. Por exemplo, um call center de uma loja de varejo recebe a maioria das chamadas sobre roupas de banho e óculos de sol durante os meses de verão. Certifique-se de que seu exemplo inclui o escopo completo de fala que você deseja detectar.

Considere estes detalhes:

  • O treinamento com áudio traz mais benefícios se o áudio também for difícil de entender para os humanos. Na maioria dos casos, você deve iniciar o treinamento usando apenas o texto relacionado.
  • Se você usar um dos idiomas mais usados, como inglês dos EUA, é improvável que precise treinar com dados de áudio. Para esses idiomas, os modelos básicos já oferecem bons resultados de reconhecimento na maioria dos cenários, portanto, provavelmente é suficiente treinar com o texto relacionado.
  • A fala personalizada pode capturar o contexto da palavra somente para reduzir erros de substituição, não erros de inserção ou exclusão.
  • Evite exemplos que incluam erros de transcrição, mas inclua uma diversidade de qualidade de áudio.
  • Evite frases que não estejam relacionadas ao seu domínio problemático. Frases não relacionadas podem danificar seu modelo.
  • Quando a qualidade das transcrições varia, você pode duplicar frases excepcionalmente boas, como as excelentes transcrições que incluem frases-chave, para aumentar o peso delas.
  • O serviço de Fala usa automaticamente as transcrições para aprimorar o reconhecimento de palavras e frases específicas de domínio, como se elas fossem adicionadas como texto relacionado.
  • Pode levar vários dias para que uma operação de treinamento seja concluída. Para aumentar a velocidade do treinamento, certifique-se de criar sua assinatura do serviço de fala em uma região com hardware dedicado para treinamento.

Um conjunto de dados de treinamento grande é necessário para melhorar o reconhecimento. Em geral, recomendamos usar transcrições de palavra por palavra de 1 a 20 horas de áudio. No entanto, mesmo áudios de 30 minutos ajudam a aprimorar os resultados de reconhecimento. Embora a criação da transcrição literal possa levar tempo, os aprimoramentos no reconhecimento são tão bons quanto os dados fornecidos. Você só deve carregar 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 áudios com volume de gravação baixo ou ruídos de fundo disruptivos não sejam úteis, isso 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 melhores práticas de preparação para transcrições literais, confira Transcrições literais com áudio.

Os projetos de fala personalizados exigem arquivos de áudio com essas propriedades:

Importante

Esses são os requisitos para treinamento e teste de transcrição com Áudio + marcação humana. Eles diferem daqueles para treinamento e teste somente com Áudio. Se você quiser usar treinamento e teste somente com Áudio, veja esta seção.

Propriedade Valor
Formato de arquivo 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 (treinamento)

O treinamento com áudio tem um comprimento máximo de áudio de 60 segundos por arquivo. Para arquivos de áudio com mais de 60 segundos, somente 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á.
Formato de exemplo PCM, 16 bits
Formato de arquivo .zip
Tamanho máximo do zip 2 GB ou 10.000 arquivos

Dados de texto sem formatação para treinamento

Você pode adicionar frases de texto sem formatação do texto relacionado para aprimorar 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 de palavras específicas de domínio, mostrando-as no contexto. Palavras específicas de domínio podem ser palavras incomuns ou inventadas, mas a pronúncia deve ser simples de ser reconhecida.

Forneça frases relacionadas com domínio em um único arquivo de texto. Use dados de texto que estejam mais próximos dos enunciados falados esperados. Os enunciados não precisam ser completos nem gramaticalmente corretos, mas devem refletir precisamente a entrada de fala que você espera que o modelo reconheça. Quando possível, coloque 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 incluem o termo. Mas não copie demais, pois isso pode afetar a taxa geral de reconhecimento.

Observação

Evite frases de texto relacionado que incluam ruído como caracteres ou palavras não reconhecíveis.

Use esta tabela para garantir que o arquivo de dados de texto sem formatação está formatado corretamente:

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

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

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

Dados de texto estruturado para treinamento

Observação

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

Use os dados de texto estruturados quando seus dados seguirem um padrão específico em enunciados específicos 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 Personalizado, você pode usar um texto estruturado no formato de Markdown para definir as listas de itens e a pronúncia fonética das palavras. Em seguida, você pode referenciar essas listas dentro dos enunciados de treinamento.

Geralmente, os enunciados esperados seguem determinado padrão. Um padrão comum é que enunciados difiram somente por palavras ou frases de uma lista. Os exemplos desse padrão podem incluir o seguinte:

  • "Tenho uma pergunta sobre product", onde product é uma lista de produtos possíveis.
  • "Deixe o objectcolor", onde object é uma lista de formas geométricas e color é uma lista de cores.

Para obter uma lista de modelos de base com suporte 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 dão suporte ao treinamento com texto estruturado, o serviço usará frases de treinamento que não referenciem as classes 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 Reconhecimento vocal, especialmente entidades de lista e enunciados de exemplo. Para obter mais informações sobre a sintaxe completa do Markdown, confira o Markdown de Reconhecimento Vocal.

Aqui estão os principais detalhes sobre o formato Markdown com suporte:

Propriedade Descrição Limites
@list Uma lista de itens que pode ser referenciada em uma frase de exemplo. Máximo de 20 listas. Máximo de 35 mil itens por lista.
speech:phoneticlexicon Uma lista de pronúncias fonéticas de acordo com o Conjunto de Telefone Universal. A pronúncia é ajustada para cada instância em que a palavra aparece em uma lista ou frase de treinamento. Por exemplo, se você tiver uma palavra que soa como "gato" e quiser ajustar a pronúncia para "g a t o", você adicionará - 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. As frases de exemplo devem refletir o intervalo de fala que seu modelo deve esperar. Uma frase de treinamento pode se referir a itens em um @list usando chaves à esquerda e à direita ao redor ({@list name}). Você pode consultar várias listas na mesma frase de treinamento ou nenhuma. O tamanho máximo do arquivo é de 200 MB.
// Os comentários seguem uma barra dupla (//). Não aplicável

Veja 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 compostas podem ter pronúncias únicas. Essas palavras podem ser reconhecidas se puderem ser divididas em palavras menores para pronunciá-las. Por exemplo, para reconhecer o “Xbox”, pronuncie como “X Box”. Essa abordagem não aumentará a precisão geral, mas poderá melhorar o reconhecimento dessa e de outras palavras-chave.

Você pode fornecer um arquivo de pronúncia personalizado para melhorar o reconhecimento. Não usar arquivos de pronúncia personalizados para alterar a pronúncia de palavras comuns. Para obter uma lista de idiomas que dão suporte à pronúncia personalizada, consulte o suporte ao idioma.

Observação

Você pode usar um arquivo de pronúncia junto com qualquer outro conjunto de dados de treinamento, exceto dados de treinamento de texto estruturado. Para usar dados de pronúncia com texto estruturado, eles precisam estar dentro de um arquivo de texto estruturado.

A forma falada é a sequência fonética escrita. Ela pode ser composta por letras, palavras, sílabas ou uma combinação de todos os três. Esta tabela inclui alguns exemplos:

Forma exibida reconhecida Forma falada
3CPO três cê pê o
CNTK cê ene tê cá
IEEE i e e 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 no arquivo deve começar com o formulário reconhecido, em seguida, 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 os arquivos do conjunto de dados de pronúncia sejam válidos e formatados corretamente.

Propriedade Valor
Codificação de texto UTF-8 BOM (também há suporte para ANSI em inglês)
Número de pronúncias por linha 1
Tamanho máximo do arquivo 1 MB (1 KB para tipo de preço gratuito)

Dados de áudio para treinamento ou teste

Os dados de áudio são ideais para testar a precisão do modelo básico de conversão de fala em 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 literais.

Observação

Os dados somente de áudio para treinamento estão disponíveis na versão prévia da localidade en-US. Em outras localidades, para treinar com dados de áudio, você também deve fornecer transcrições literais.

Os projetos de fala personalizados exigem arquivos de áudio com essas propriedades:

Importante

Esses são os requisitos para treinamento e teste somente com Áudio. Eles diferem daqueles para treinamento e teste de Áudio + transcrição com marcação humana. Se você quiser usar treinamento e teste de Áudio + transcrição com marcação humana, veja esta seção.

Propriedade Valor
Formato de arquivo RIFF (WAV)
Taxa de amostragem 8\.000 Hz ou 16.000 Hz
Canais 1 (mono)
Duração máxima por áudio Duas horas
Formato de exemplo PCM, 16 bits
Formato de arquivo .zip
Tamanho máximo de arquivo 2 GB ou 10.000 arquivos

Observação

Para o upload de dados de treinamento e de teste, o arquivo .zip não pode exceder 2 GB. Se você precisar de mais dados para treinamento, divida-os em vários arquivos .zip e carregue-os separadamente. Posteriormente, você pode optar por treinar usando vários conjuntos de dados. No entanto, você só pode testar usando um único conjunto de dados.

Use o SoX para verificar as propriedades de áudio ou converter o áudio para formatos apropriados. Estes são alguns comandos SoX de exemplo:

Atividade Comando SoX
Verifique o formato do arquivo de áudio. sox --i <filename>
Converta o arquivo de áudio em canal único, 16 bits, 16 KHz. sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav

Exibir dados de formatação de texto personalizados para treinamento

Saiba mais sobre preparação de dados de formatação de texto de exibição e exibir formatação de texto 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 um tamanho não se ajusta a todos. A adição de regras de formato de exibição personalizadas 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 no Serviço de fala personalizada do Microsoft Azure.

Isso permite personalizar totalmente as saídas de exibição, como adicionar regras de reescrita para colocar em maiúsculas e reformular determinadas palavras, adicionar palavras como palavrões e ocultá-las da saída, definir regras de ITN avançadas para determinados padrões, como números, datas e endereços de email, ou preservar algumas frases e removê-las de todos os processos de exibição.

Por exemplo:

Formatação personalizada Exibir texto
Nenhum Meu número financeiro da contoso é 8BEV3
Colocar em maiúsculas "Contoso" (por meio da regra #rewrite)
Formatar número financeiro (por meio da regra #itn)
Meu número financeiro da Contoso é 8B-EV-3

Para obter uma lista de modelos de base com suporte 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, confira Melhores práticas de regras de formato de exibição.

Propriedade Descrição Limites
#ITN Uma lista de regras de normalization de inversão de texto para definir determinados 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 colocação em maiúsculas e correção ortográfica. Máximo de 1.000 linhas
#profanity Uma lista de palavras indesejadas que serão mascaradas como ****** da exibição e da saída mascarada, além de listas de palavrões internas 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 léxico e a saída de formato de exibição esperada. Tamanho máximo de arquivo de 10 MB

Este é 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óximas etapas