Você está na página 1de 16

Preparar dados para Fala

Personalizada
Para testar a precisão do reconhecimento de fala da Microsoft ou treinar modelos personalizados, você
precisa de dados de áudio e de texto. Nesta página, falamos sobre os tipos de dados necessários para
modelos de fala personalizada.

Diversidade de dados
O texto e o áudio usados para testar e treinar um modelo personalizado precisam incluir exemplos de
um conjunto variado de falantes, bem como os cenários que o modelo precisa reconhecer. Considere
estes fatores ao coletar dados para treinamento e teste de modelos personalizados:

· Os dados de texto e de áudio de fala precisam abranger os tipos de instruções verbais que os
usuários farão ao interagir com o 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.
· Os dados precisam incluir todas as variações de fala que o modelo precisa reconhecer. 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.
· Você deve incluir exemplos de ambientes diferentes em que o modelo será usado (interno,
externo, ruído de estrada).
· O áudio deve ser coletado usando dispositivos de hardware que o sistema de produção usará.
Se o modelo precisa identificar falas gravadas em dispositivos de diferentes qualidades, os
dados de áudio do treinamento também devem representar essas diversas situações.
· Você pode adicionar mais dados ao modelo posteriormente, mas mantenha o conjunto de
dados variado e representativo das necessidades do seu projeto.
· A inclusão de dados que o modelo personalizado não precisa reconhecer pode prejudicar a
qualidade geral do reconhecimento, portanto, não inclua tais dados.

Um modelo treinado em um subconjunto de cenários só funciona bem nesses cenários. Escolha


cuidadosamente dados que representem o escopo completo dos cenários que o modelo personalizado
precisa reconhecer.

Dica
Comece com pequenos conjuntos de dados de exemplo que correspondem ao idioma e à acústica que
o modelo encontrará. Por exemplo, registre uma amostra pequena, mas representativa de áudio no
mesmo hardware e no mesmo ambiente acústico que o modelo encontrará em cenários de produção.
Pequenos conjuntos de dados representativos podem expor problemas antes de você investir na
aquisição de conjuntos de dados muito maiores para treinamento.
Para começar rapidamente, considere o uso dados de amostra. Confira os exemplos de dados de fala
personalizada neste repositório do GitHub

Tipos de dados
Esta tabela 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 são diferentes para a criação de testes e para o treinamento de modelos.

TIPOS DE DADOS

Tipo de dados Usados Quantidad Usados Quantidade


para e para recomendada
testes recomenda treiname
da nto

Áudio Sim Mais de Não N/D


Usado cinco
para arquivos de
inspeção áudio
visual

Áudio + Sim 0,5 a 5 Sim 1 a 20 horas de


transcrições literais Usado horas de áudio
para áudio
avaliar a
precisão

Texto sem Não N/A Sim 1 a 200 MB de


formatação texto relacionado

Texto estruturado Não N/A Sim Até 20 classes com


(visualização até 2000 itens e até
pública) 50.000 frases de
treinamento

Pronúncia Não N/A Sim 1 KB – 1 MB de


texto de pronúncia

Os arquivos devem ser agrupados por tipo em um conjunto de dados e carregados como um arquivo
.zip. Cada conjunto de dados só pode conter um tipo de dados.

Dica
Ao treinar um novo modelo, comece com dados de texto sem formatação ou com dados de texto
estruturados. 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).

Observação
Nem todos os modelos de base dão suporte ao treinamento com áudio. Se um modelo de base não der
suporte a ele, o serviço de Fala usará apenas o texto das transcrições e ignorará o áudio. Confira
Suporte a idiomas para obter uma lista de modelos de base que dão suporte ao treinamento com os
dados de áudio. Mesmo que um modelo base dê suporte ao treinamento usando dados de áudio, o
serviço poderá usar apenas parte do áudio. Ainda assim, ele usará todas as transcrições.

Em casos em que você altera o modelo de base usado para treinamento e tem áudio no conjunto de
dados de treinamento, sempre verifique se o novo modelo de base selecionado dá suporte ao
treinamento com os dados de áudio. Se o modelo de base usado anteriormente não der suporte ao
treinamento com dados de áudio e o conjunto de dados de treinamento contiver áudio, o tempo de
treinamento com o novo modelo de base aumentará drasticamente e poderá facilmente passar de
algumas horas para vários dias ou mais. Isso será especialmente verdadeiro se a sua assinatura de
serviço de Fala não estiver em uma região com hardware dedicado para treinamento.

Se você enfrentar o problema descrito no parágrafo acima, poderá diminuir rapidamente o tempo de
treinamento reduzindo a quantidade de áudio no conjunto de dados ou removendo-a completamente e
deixando apenas texto para ser processado. A última opção será altamente recomendável se a sua
assinatura de serviço de Fala não estiver em uma região com o hardware dedicado para
treinamento.

Em regiões com hardware dedicado para treinamento, o serviço de Fala usa até 20 horas de áudio para
treinamento. Em outras regiões, ele usa apenas até 8 horas de áudio.

Observação
O treinamento com texto estruturado só tem suporte para essas localidades: en-US, en-UK, en-IN, de-
DE, fr-FR, fr-CA, es-ES, es-MX e 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.
Carregar dados
Para carregar os dados, navegue até o Speech Studio. Depois de criar um projeto, navegue até a guia
Conjuntos de dados de Fala e clique em Carregar dados para iniciar o assistente e criar seu
primeiro conjuntos de dados. Selecione um tipo de dados de fala para o seu conjuntos de dados e
carregue seus dados.

Observação
Se o tamanho do arquivo de conjuntos de dados exceder 128 MB, você só poderá carregá-lo usando a
opção Blob do Azure ou localização compartilhada. Você também pode usar a API REST de
Reconhecimento de fala v3.0 para carregar um conjuntos de dados de qualquer tamanho
permitido. Confira a próxima seção para obter detalhes.

Em primeiro lugar, você precisa especificar se o conjuntos de dados deve ser usado para
Treinamento ou Teste. Existem muitos tipos de dados que podem ser carregados e usados para
Treinamento ou Teste. Cada conjunto de dados que você carrega deve estar corretamente formatado
antes de ser carregado e deve atender aos requisitos do tipo de dados que você escolheu. Os pré-
requisitos estão listados nas seções a seguir.

Depois de carregar o conjunto de dados, você tem algumas opções:

· Navegue até a guia Treinar modelos personalizados para treinar um modelo personalizado.
· Navegue até a guia Modelos de teste para inspecionar visualmente a qualidade com apenas
dados de áudio ou avaliar a precisão com áudio + dados de transcrição rotulados por
humanos.

Carregar dados usando a API REST de Reconhecimento de fala v3.0


Você pode usar a API REST de Reconhecimento de fala v3.0 para automatizar todas as operações
relacionadas aos seus modelos personalizados. Em particular, você pode usá-la para carregar um
conjuntos de dados. Isso é particularmente útil quando o arquivo de conjuntos de dados excede 128
MB, pois arquivos grandes não podem ser carregados usando a opção Arquivo local no Speech
Studio. (Você também pode usar a opção Blob do Azure ou localização compartilhada no Speech
Studio para a mesma finalidade, conforme descrito na seção anterior).

Use uma das seguintes solicitações para criar e carregar um conjuntos


de dados:

· Criar conjunto de dados


· Criar um Conjuntos de Dados do Formulário
A API REST criou conjuntos de dados e projetos do Speech Studio
Um conjuntos de dados criado com a API REST de Reconhecimento de fala v3.0 não será conectado
a nenhum dos projetos do Speech Studio, a menos que um parâmetro especial seja especificado no
corpo da solicitação (veja abaixo). A conexão com um projeto do Speech Studio não é necessária para
nenhuma operação de personalização de modelo, se elas forem executadas por meio da API REST.

Quando você fizer logon no Speech Studio, sua interface do usuário notificará você quando qualquer
objeto não conectado for encontrado (como conjuntos de dados carregados por meio da API REST
sem nenhuma referência de projeto) e oferecerá a conexão desses objetos a um projeto existente.

Para conectar o novo conjuntos de dados a um projeto existente no Speech Studio durante seu upload,
use Criar Conjunto de Dados ou Criar Conjunto de dados do Formulário e preencha o corpo da
solicitação de acordo com o seguinte formato:

JSONCopiar

"kind": "Acoustic",

"contentUrl": "https://contoso.com/mydatasetlocation",

"locale": "en-US",

"displayName": "My speech dataset name",

"description": "My speech dataset description",

"project": {

"self":
"https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.0/pr
ojects/c1c643ae-7da5-4e38-9853-e56e840efcb2"

}
A URL do Projeto necessária ao elemento project pode ser obtida com a solicitação Obter Projetos.

Dados de áudio + transcrição literal para


treinamento/teste
Os dados de áudio + transcrição rotulados por humanos podem ser usados para fins de treinamento e
de teste. Para melhorar os aspectos acústicos, como sotaques leves, estilos de fala, ruídos de fundo ou
para medir a precisão da conversão de fala em texto da Microsoft ao processar seus arquivos de áudio,
forneça as transcrições rotuladas por humanos (palavra por palavra) para comparação. A transcrição
literal é geralmente demorada, mas é necessária para avaliar a precisão e treinar o modelo para seus
casos de uso. Os aprimoramentos no reconhecimento dependem da qualidade dos dados fornecidos.
Por esse motivo, é importante 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 áudio
com baixo volume ou ruído de fundo com interrupções não seja útil, ele não deve prejudicar seu
modelo personalizado. Sempre considere atualizar seus microfones e hardware de processamento de
sinal antes de coletar amostras de áudio.

DADOS DE ÁUDIO + TRANSCRIÇÃO LITERAL PARA


TREINAMENTO/TESTE

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 2 horas (teste)/60 s (treinamento)

Formato de exemplo PCM, 16 bits

Formato de arquivo .zip

Tamanho máximo do zip 2 GB


O formato de streaming de áudio padrão é WAV (PCM de 16 KHz ou 8 kHz, 16 bits e mono). Fora do
WAV/PCM, também há compatibilidade com os formatos de entrada compactados a seguir usando
GStreamer.

· MP3
· OPUS/OGG
· FLAC
· ALAW no contêiner wav
· MULAW no contêiner wav
· ANY (para o cenário em que o formato de mídia não é conhecido)

Observação
Para o upload de dados de treinamento e de teste, o arquivo .zip não pode exceder 2 GB. Você só
pode testar usando um conjunto de dados, então mantenha-o dentro do tamanho apropriado. Além
disso, cada arquivo de treinamento não pode exceder 60 segundos, caso contrário, ocorrerá um erro.

Para resolver problemas como exclusão ou substituição de palavras, uma quantidade significativa de
dados é necessária para aprimorar 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. As transcrições para todos os arquivos WAV devem estar
contidas em um único arquivo de texto sem formatação. Cada linha do arquivo de transcrição deve
conter o nome de um dos arquivos de áudio, seguido pela transcrição correspondente. O nome do
arquivo e transcrição devem ser separados por uma tabulação (\t).

Por exemplo:

inputCopiar

speech01.wav speech recognition is awesome

speech02.wav the quick brown fox jumped all over the place

speech03.wav the lazy dog was not amused

Importante
A transcrição deve ser codificada como BOM (marca de ordem de byte) UTF-8.

As transcrições são normalizadas para texto para processamento pelo sistema. No entanto, é
necessário realizar algumas normalizações importantes antes de carregar os dados no Speech Studio.
Para ver o idioma apropriado a ser usado ao preparar suas transcrições, confira Como criar uma
transcrição literal

Depois de coletar os arquivos de áudio e as transcrições correspondentes, empacote-os como um


arquivo .zip antes de carregar no Speech Studio. Veja abaixo um exemplo de conjunto de dados com
três arquivos de áudio e um arquivo de transcrição literal:

Veja a lista de regiões recomendadas para suas assinaturas do serviço de Fala em Configurar uma
conta do Azure. A configuração das assinaturas de Fala em uma dessas regiões reduz o tempo
necessário para treinar o modelo. Nessas regiões, o treinamento pode processar cerca de 10 horas de
áudio por dia, em comparação a apenas uma hora por dia em outras regiões. Se o treinamento não for
concluído em até uma semana, o modelo será considerado falho.

Nem todos os modelos de base dão suporte para o treinamento com áudio. Se o modelo base não
oferecer suporte a isso, o serviço vai ignorar o áudio e apenas treinar com o texto das transcrições.
Nesse caso, o treinamento será o mesmo que o treinamento com o texto relacionado. Confira Suporte
a idiomas para obter uma lista de modelos de base que dão suporte ao treinamento com os dados de
áudio.

Dados de texto sem formatação para treinamento


Você pode usar frases relacionadas ao domínio para melhorar a precisão ao reconhecer nomes de
produtos ou jargões específicos do setor. Forneça frases em um único arquivo de texto. Para aprimorar
a precisão, use dados de texto que estejam mais próximos dos enunciados falados esperados.

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

Para criar um modelo personalizado usando frases, você precisa fornecer uma lista de exemplos de
enunciados. Os enunciados não precisam ser completos nem gramaticalmente corretos, mas devem
refletir precisamente a entrada de fala que ocorrerá na produção. Se você quiser que determinados
termos tenham peso maior, adicione várias frases que incluam esses termos.

Como orientação geral, a adaptação do modelo é mais eficaz quando o texto de treinamento é o mais
próximo possível do texto real esperado na produção. No texto de treinamento, inclua os jargões ou as
frases da área que você quer aprimorar. Quando possível, coloque uma frase ou palavra-chave
controlada em uma linha separada. Você pode copiar algumas vezes as palavras-chave e as frases que
são importantes para você (por exemplo, nomes de produtos). Mas não copie demais, pois isso pode
afetar a taxa geral de reconhecimento.

Use esta tabela para formatar corretamente o arquivo de dados relacionados de enunciados:
TABELA 3

Propriedade Valor

Codificação de texto BOM para UTF-8

Nº de enunciados por linha 1

Tamanho máximo do arquivo 200 MB

Além disso, você deve observar estas restrições:

· Evite repetir caracteres, palavras ou grupos de palavras mais de três vezes. Por exemplo:
"aaaa", "sim, sim, sim", ou "é 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 (por exemplo, japonês ou coreano), a importação de grandes quantidades
de dados de texto pode levar muito tempo ou atingir tempo limite. Considere dividir os dados
carregados em arquivos de texto de até 20.000 linhas cada.

Dados de texto estruturados para treinamento


(visualização pública)
Geralmente, os enunciados esperados seguem um determinado padrão. Um padrão comum é que
enunciados difiram somente por palavras ou frases de uma lista. Um exemplo disso poderia: “Eu
tenho uma pergunta sobre product“, em que product é uma lista de produtos possíveis. Ou “Deixe o
object color“, em que object é uma lista de formas geométricas e color é uma lista de cores. Para
simplificar a criação de dados de treinamento e para permitir uma melhor modelagem dentro do
modelo de linguagem personalizado, você pode usar um texto estruturado no formato de markdown
para definir listas de itens e, em seguida, fazer referência a eles nos seus enunciados de treinamento.
Além disso, o formato de markdown também dá suporte à especificação da pronúncia fonética das
palavras. O formato de markdown compartilha o formato com o markdown .lu usado para treinar
modelos de reconhecimento de linguagem em determinadas entidades de lista e enunciados de
exemplo. Consulte a documentação do formato de arquivo .lu para obter mais informações sobre o
markdown .lu completo.

Aqui está um exemplo do formato de markdown:

markdownCopiar
// This is a comment

// Here are three separate lists of items that can be referenced in an example sentence. You can have
up to 20 of these

@ list food =

- pizza

- burger

- ice cream

- soda

@ list pet =

- cat

- dog

@ list sports =

- soccer

- tennis

- cricket

- basketball
- baseball

- football

// This is a list of phonetic pronunciations.

// This adjusts the pronunciation of every instance of these word in both a list or example training
sentences

@ speech:phoneticlexicon

- cat/k ae t

- cat/f i l ai n

// Here are example training sentences. They are grouped into two sections to help organize the
example training sentences.

// You can refer to one of the lists we declared above by using {@listname} and you can refer to
multiple lists in the same training sentence

// A training sentence does not have to refer to a list.

# SomeTrainingSentence

- you can include sentences without a class reference

- what {@pet} do you have

- I like eating {@food} and playing {@sports}

- my {@pet} likes {@food}


# SomeMoreSentence

- you can include more sentences without a class reference

- or more sentences that have a class reference like {@pet}

Assim como o texto sem formatação, o treinamento com texto estruturado normalmente leva alguns
minutos. Além disso, suas frases e listas de exemplo devem refletir o tipo de entrada falada que você
espera encontrar na produção. Para entradas de pronúncia, consulte a descrição do Conjunto Fonético
Universal.

A tabela abaixo especifica os limites e outras propriedades para o formato de markdown:

TABELA 4

Propriedade Valor

Codificação de texto BOM para UTF-8

Tamanho máximo do arquivo 200 MB

Número máximo de frases de 50.000


exemplo

Número máximo de classes de listas 10

Número máximo de itens em uma 4.000


classe de lista

Número máximo de fala: entradas 15000


phoneticlexicon
Número máximo de pronúncias por 2
palavra

Dados de pronúncia para treinamento


Se houver termos incomuns sem pronúncias padrão que os usuários encontram ou usam, inclua um
arquivo de pronúncia personalizado para aprimorar o reconhecimento. Para obter uma lista de idiomas
que dão suporte à pronúncia personalizada, confira Pronúncia na coluna Personalizações na tabela
de Conversão de fala em texto.

Importante
Não é recomendável usar arquivos de pronúncia personalizados para alterar a pronúncia de palavras
comuns.

Observação
Você não pode combinar esse tipo de arquivo de pronúncia com dados de treinamento de texto
estruturados. Para dados de texto estruturados, use o recurso de pronúncia fonética que está incluído
no formato de markdown de texto estruturado.

Forneça pronúncias em um único arquivo de texto. Isso inclui exemplos de um enunciado falado e
uma pronúncia personalizada para cada um:

DADOS DE PRONÚNCIA PARA TREINAMENTO

Forma reconhecida/exibida Forma falada

3CPO três cê pê o

CNTK cê ene tê cá

IEEE ieee

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.

Use a tabela a seguir para formatar corretamente o arquivo de dados relacionados para pronúncias. Os
arquivos de pronúncia são pequenos e devem ter apenas alguns quilobytes.
TABELA 6

Propriedade Valor

Codificação de texto UTF-8 BOM (também há suporte


para ANSI em inglês)

Nº 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 teste


Os dados de áudio são ideais para testar a precisão do modelo de linha de base da 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.

Fala Personalizada requer arquivos de áudio com estas propriedades:

DADOS DE ÁUDIO PARA TESTE

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 2 horas

Formato de exemplo PCM, 16 bits


Formato de arquivo .zip

Tamanho máximo de arquivo 2 GB

O formato de streaming de áudio padrão é WAV (PCM de 16 KHz ou 8 kHz, 16 bits e mono). Fora do
WAV/PCM, também há compatibilidade com os formatos de entrada compactados a seguir usando
GStreamer.

· MP3
· OPUS/OGG
· FLAC
· ALAW no contêiner wav
· MULAW no contêiner wav
· ANY (para o cenário em que o formato de mídia não é conhecido)

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 conjunto de dados.

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

TABELA 8

Atividade Comando SoX

Verifique o formato do arquivo de sox --i <filename>


áudio.

Converta o arquivo de áudio em canal sox <input> -b 16 -e signed-integer


-c 1 -r 16k -t wav <output>.wav
único, 16 bits, 16 KHz.

Você também pode gostar