O que é o reconhecimento de palavras-chave?

O reconhecimento de palavras-chave deteta uma palavra ou frase curta dentro de um fluxo de áudio. Esta técnica também é referida como keyword spotting.

O caso de uso mais comum do reconhecimento de palavras-chave é a ativação por voz de assistentes virtuais. Por exemplo, "Hey Cortana" é a palavra-chave para o assistente Cortana. Após o reconhecimento da palavra-chave, uma ação específica do cenário é executada. Para cenários de assistente virtual, uma ação resultante comum é o reconhecimento de fala de áudio que segue a palavra-chave.

Geralmente, os assistentes virtuais estão sempre ouvindo. O reconhecimento de palavras-chave atua como um limite de privacidade para o usuário. Um requisito de palavra-chave funciona como uma porta que impede que o áudio do usuário não relacionado cruze o dispositivo local para a nuvem.

Para equilibrar precisão, latência e complexidade computacional, o reconhecimento de palavras-chave é implementado como um sistema de vários estágios. Para todas as etapas além da primeira, o áudio só é processado se a etapa anterior reconhecer a palavra-chave de interesse.

O sistema atual é projetado com vários estágios que abrangem a borda e a nuvem:

Diagram that shows multiple stages of keyword recognition across the edge and cloud.

A precisão do reconhecimento de palavras-chave é medida através das seguintes métricas:

  • Taxa de aceitação correta: mede a capacidade do sistema de reconhecer a palavra-chave quando ela é falada por um usuário. A taxa de aceitação correta também é conhecida como a taxa positiva verdadeira.
  • Taxa de aceitação falsa: mede a capacidade do sistema de filtrar o áudio que não é a palavra-chave falada por um usuário. A taxa de aceitação falsa também é conhecida como taxa de falsos positivos.

O objetivo é maximizar a taxa de aceitação correta, minimizando a taxa de aceitação falsa. O sistema atual foi concebido para detetar uma palavra-chave ou frase precedida de um curto período de silêncio. Não há suporte para a deteção de uma palavra-chave no meio de uma frase ou enunciado.

Palavra-chave personalizada para modelos no dispositivo

Com o portal de palavras-chave personalizadas no Speech Studio, você pode gerar modelos de reconhecimento de palavras-chave que são executados na borda especificando qualquer palavra ou frase curta. Você pode personalizar ainda mais seu modelo de palavra-chave escolhendo as pronúncias certas.

Preços

Não há custo para usar palavras-chave personalizadas para gerar modelos, incluindo modelos Basic e Advanced. Também não há custo para executar modelos no dispositivo com o SDK de Fala quando usado com outros recursos do serviço de Fala, como conversão de fala em texto.

Tipos de modelos

Você pode usar a palavra-chave personalizada para gerar dois tipos de modelos no dispositivo para qualquer palavra-chave.

Tipo de modelo Description
Básica Mais adequado para fins de demonstração ou prototipagem rápida. Os modelos são gerados com um modelo base comum e podem levar até 15 minutos para estarem prontos. Os modelos podem não ter características de precisão ideais.
Avançado Mais adequado para fins de integração de produtos. Os modelos são gerados com a adaptação de um modelo de base comum usando dados de treinamento simulados para melhorar as características de precisão. Os modelos podem demorar até 48 horas a ficar prontos.

Nota

Você pode exibir uma lista de regiões que suportam o tipo de modelo Avançado na documentação de suporte da região de reconhecimento de palavras-chave.

Nenhum dos tipos de modelo exige que você carregue dados de treinamento. A palavra-chave personalizada lida totalmente com a geração de dados e o treinamento de modelos.

Pronúncias

Quando você cria um novo modelo, a palavra-chave personalizada gera automaticamente possíveis pronúncias da palavra-chave fornecida. Você pode ouvir cada pronúncia e escolher todas as variações que representam de perto a maneira como você espera que os usuários digam a palavra-chave. Todas as outras pronúncias não devem ser selecionadas.

É importante ser deliberado sobre as pronúncias que você seleciona para garantir as melhores características de precisão. Por exemplo, se você escolher mais pronúncias do que precisa, poderá obter taxas de aceitação falsa mais altas. Se você escolher poucas pronúncias, onde nem todas as variações esperadas são cobertas, você pode obter taxas de aceitação corretas mais baixas.

Modelos de teste

Depois que a palavra-chave personalizada gera modelos no dispositivo, os modelos podem ser testados diretamente no portal. Você pode usar o portal para falar diretamente em seu navegador e obter resultados de reconhecimento de palavras-chave.

Verificação de palavras-chave

A verificação de palavras-chave é um serviço de nuvem que reduz o efeito de falsas aceitações de modelos no dispositivo com modelos robustos em execução no Azure. O ajuste ou o treinamento não são necessários para que a verificação de palavras-chave funcione com sua palavra-chave. As atualizações incrementais do modelo são continuamente implantadas no serviço para melhorar a precisão e a latência e são transparentes para os aplicativos cliente.

Preços

A verificação de palavras-chave é sempre usada em combinação com conversão de fala em texto. Não há custo para usar a verificação de palavras-chave além do custo de fala para texto.

Verificação de palavras-chave e conversão de voz em texto

Quando a verificação de palavras-chave é usada, ela é sempre combinada com a conversão de fala em texto. Ambos os serviços são executados em paralelo, o que significa que o áudio é enviado para ambos os serviços para processamento simultâneo.

Diagram that shows parallel processing of keyword verification and speech to text.

Executar a verificação de palavras-chave e a conversão de fala em texto em paralelo produz os seguintes benefícios:

  • Nenhuma outra latência nos resultados de fala para texto: a execução paralela significa que a verificação de palavras-chave não adiciona latência. O cliente recebe resultados de fala para texto com a mesma rapidez. Se a verificação de palavra-chave determinar que a palavra-chave não estava presente no áudio, o processamento de fala para texto será encerrado. Esta ação protege contra o processamento desnecessário de fala para texto. O processamento de modelos de rede e nuvem aumenta a latência percebida pelo usuário da ativação por voz. Para obter mais informações, consulte Recomendações e diretrizes.
  • Prefixo de palavra-chave forçado nos resultados de fala para texto: o processamento de fala para texto garante que os resultados enviados ao cliente sejam prefixados com a palavra-chave. Esse comportamento permite maior precisão nos resultados de fala para texto para fala que segue a palavra-chave.
  • Aumento do tempo limite de fala para texto: Devido à presença esperada da palavra-chave no início do áudio, a conversão de fala em texto permite uma pausa mais longa de até cinco segundos após a palavra-chave antes de determinar o fim da fala e encerrar o processamento de fala para texto. Esse comportamento garante que a experiência do usuário seja tratada corretamente para comandos em estágios (comando de pausa>de palavra-chave) e comandos encadeados (<<comando>> de palavra-chave).><><<

Respostas de verificação de palavras-chave e considerações de latência

Para cada solicitação ao serviço, a verificação de palavra-chave retorna uma de duas respostas: aceita ou rejeitada. A latência de processamento varia dependendo do comprimento da palavra-chave e do comprimento do segmento de áudio esperado para conter a palavra-chave. A latência de processamento não inclui o custo de rede entre o cliente e os serviços de Fala.

Resposta de verificação de palavra-chave Description
Aceite Indica que o serviço acreditava que a palavra-chave estava presente no fluxo de áudio fornecido como parte da solicitação.
Rejeitado Indica que o serviço acreditava que a palavra-chave não estava presente no fluxo de áudio fornecido como parte da solicitação.

Casos rejeitados geralmente geram latências mais altas, pois o serviço processa mais áudio do que casos aceitos. Por padrão, a verificação de palavras-chave processa no máximo dois segundos de áudio para pesquisar a palavra-chave. Se a palavra-chave não for encontrada em dois segundos, o serviço expira e sinaliza uma resposta rejeitada para o cliente.

Usar a verificação de palavras-chave com modelos no dispositivo a partir de palavras-chave personalizadas

O SDK de fala permite o uso contínuo de modelos no dispositivo gerados usando palavras-chave personalizadas com verificação de palavra-chave e conversão de fala em texto. Lida de forma transparente:

  • Fixação de áudio para verificação de palavras-chave e reconhecimento de fala com base no resultado de um modelo no dispositivo.
  • Comunicar a palavra-chave à verificação de palavras-chave.
  • Comunicar mais metadados à nuvem para orquestrar o cenário de ponta a ponta.

Não é necessário especificar explicitamente nenhum parâmetro de configuração. Todas as informações necessárias são extraídas automaticamente do modelo no dispositivo gerado pela palavra-chave personalizada.

O exemplo e os tutoriais vinculados aqui mostram como usar o SDK de fala:

Integração e cenários do SDK de fala

O Speech SDK permite o uso fácil de modelos personalizados de reconhecimento de palavras-chave no dispositivo gerados com verificação personalizada de palavras-chave e palavras-chave. Para garantir que as necessidades do produto possam ser atendidas, o SDK oferece suporte aos dois cenários a seguir:

Cenário Description Exemplos
Reconhecimento de palavra-chave de ponta a ponta com conversão de fala em texto Mais adequado para produtos que usam um modelo de palavra-chave personalizado no dispositivo a partir de palavra-chave personalizada com verificação de palavra-chave e fala em texto. Este cenário é o mais comum.
Reconhecimento de palavras-chave offline Mais adequado para produtos sem conectividade de rede que usam um modelo de palavra-chave personalizado no dispositivo a partir de palavra-chave personalizada.

Próximos passos