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-100 horas de áudio |
Áudio + transcrições com etiqueta humana | Sim (avaliação da precisão) | 0,5-5 horas de áudio | Sim | 1-100 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é 100 horas de seus dados de treinamento de áudio e pode processar cerca de 10 horas 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 100 horas de áudio (até 20 horas para modelos mais antigos que não cobram por treinamento). 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) / 40 s (formação) O treinamento com áudio tem uma duração máxima de áudio de 40 segundos por arquivo (até 30 segundos para personalização do Whisper). Para arquivos de áudio com mais de 40 segundos, apenas o texto correspondente dos arquivos de transcrição é usado para treinamento. Se todos os arquivos de áudio tiverem mais de 40 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
," ondeproduct
está uma lista de possíveis produtos. - "Make that
object
color
", ondeobject
é uma lista de formas geométricas ecolor
é 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