Nota de transparência: Reconhecimento de fala restrito

O que é uma Nota de Transparência?

Um sistema de IA inclui não apenas a tecnologia, mas também as pessoas que a usarão, as pessoas que serão afetadas por ela e o ambiente em que ela é implantada. Criar um sistema adequado ao fim a que se destina requer uma compreensão de como a tecnologia funciona, quais são as suas capacidades e limitações e como alcançar o melhor desempenho. As Notas de Transparência da Microsoft destinam-se a ajudá-lo a compreender como funciona a nossa tecnologia de IA, as escolhas que os proprietários de sistemas podem fazer que influenciam o desempenho e o comportamento do sistema e a importância de pensar em todo o sistema, incluindo a tecnologia, as pessoas e o ambiente. Você pode usar as Notas de Transparência ao desenvolver ou implantar seu próprio sistema ou compartilhá-las com as pessoas que usarão ou serão afetadas pelo seu sistema.

As Notas de Transparência da Microsoft fazem parte de um esforço mais amplo da Microsoft para colocar nossos princípios de IA em prática. Saiba mais em Princípios de IA da Microsoft.

Noções básicas de reconhecimento de fala restrito

Introdução

O reconhecimento de fala é uma função vital para o envolvimento com sistemas de IA habilitados para voz. Estes sistemas (frequentemente conhecidos como motores "speech-to-text") convertem as palavras faladas de um utilizador em texto, produzindo frequentemente uma pontuação de confiança indicativa da probabilidade de correção do resultado. O reconhecimento de fala restrito é uma modalidade específica que limita especificamente o conjunto de palavras ou frases possíveis de serem reconhecidas pelo próprio motor. Esta restrição é feita através de uma Gramática. As gramáticas são, por definição, a lista baseada em regras de palavras ou frases esperadas para o motor reconhecer.

Os mecanismos de reconhecimento de fala restritos são especialmente úteis para:

  • Reconhecer entradas alfanuméricas, como números de conta e números de rastreamento.

  • Grandes listas específicas do domínio (stocks, endereços, nomes).

  • Aplicativos com escopo pequeno que são projetados para interações com um pequeno conjunto de palavras e frases para reconhecer.

  • Caixa de diálogo direcionada para ajudar a navegar em uma árvore de menu de itens, usada para a primeira interação de um chamador ou como base do design conversacional do sistema.

Termos principais

Term Definition
Gramática Uma gramática é uma descrição das palavras e frases que um reconhecedor de fala compreende e interpreta. O reconhecedor carrega as gramáticas em tempo de execução para converter as respostas faladas e os comandos do usuário em informações que o aplicativo de voz pode usar.
GrXML O formato em que as gramáticas são compostas.
Especificação gramatical de reconhecimento de fala (SRGS) O padrão W3C para definir gramáticas.
Enunciado As palavras faladas ou frases de um usuário para um sistema de IA de voz que o sistema de reconhecimento de fala interpreta.

Capabilities

Comportamento do sistema

Cada vez que o reconhecedor interpreta um enunciado do usuário, ele compila uma lista das correspondências mais próximas possíveis para retornar ao aplicativo de voz. Esta lista é chamada de n-best l ist, uma vez que é composta por um número pré-especificado n de interpretações que melhor correspondem ao que o usuário parece ter dito. Quando o usuário fala, o reconhecedor procura as melhores correspondências entre os itens definidos nas gramáticas. O reconhecedor adiciona cada interpretação correspondente aos candidatos que estão sendo considerados para a lista de n-melhores. Durante a pesquisa, o reconhecedor usa modelos acústicos para analisar a entrada de áudio, modelos lexicais para determinar as frases mais prováveis nas gramáticas e modelos semânticos para determinar os significados mais prováveis do que o chamador disse. O reconhecedor procura até encontrar as mais altas interpretações possíveis, ou até que os itens restantes não possam corresponder ao que foi ouvido.

O reconhecedor atribui uma pontuação de confiança a cada item da lista de candidatos e classifica-os da confiança mais alta para a mais baixa. O reconhecedor reavalia e ajusta essas pontuações à medida que novas interpretações são encontradas. Se as gramáticas permitem homônimos (palavras que soam idênticas, mas têm significados diferentes), e um é falado, o reconhecedor atribui os homônimos a interpretações separadas com pontuações de confiança idênticas. O reconhecedor refina a lista de candidatos processando quaisquer listas de restrições e/ou scripts de interpretação semântica (ECMAScript) especificados nas gramáticas. O reconhecedor remove todas as interpretações que não atendam aos níveis de confiança de destino configurados para o reconhecimento. O reconhecedor retorna os n resultados finais para o aplicativo. Esta lista n-best contém o texto correspondente (para todo o enunciado e para slots individuais), pontuações de confiança e quaisquer chaves e valores definidos para os enunciados.

Casos de uso

Utilizações previstas

O reconhecimento de fala restrito pode ser usado em vários cenários. As utilizações previstas do sistema incluem:

  • Reconhecer palavras faladas: Traduzir a fala em texto limitado pela lista definitiva fornecida ao sistema através de uma "gramática". Por exemplo, placas de veículos alfanuméricas e números de segurança social de entrada ou diretório corporativo baseado em lista, tickers de ações e endereços.

  • Validar entrada: Validar que o que foi falado se destina a ser aceite pelo sistema. Por exemplo, validar se um número de cartão de crédito está correto (matematicamente).

  • Remover candidatos de saída: remova palavras ou frases do reconhecimento em tentativas repetidas de reconhecimento.

Considerações ao escolher outros casos de uso

Incentivamos os clientes a usar o reconhecimento de fala restrito em suas soluções ou aplicações inovadoras. No entanto, aqui estão algumas considerações ao escolher um caso de uso:

  • Divulgação: Consistente com qualquer criação de agente de IA, sempre divulgue a um chamador que o sistema com o qual ele está interagindo é alimentado por IA.

  • Utilizações não suportadas:

    • Transcrição em lote: Transcrever completamente as palavras faladas de uma pessoa em transcrição textual completa.

    • Interpretação de intenção: Mapeamento das palavras faladas da pessoa em uma intenção interpretada, em oposição a uma transcrição.

  • Considerações legais e regulatórias: As organizações precisam avaliar possíveis obrigações legais e regulatórias específicas ao usar quaisquer serviços e soluções de IA, que podem não ser apropriados para uso em todos os setores ou cenários. As restrições podem variar com base nos requisitos regulamentares regionais ou locais. Além disso, os serviços ou soluções de IA não são projetados e não podem ser usados de maneiras proibidas nos termos de serviço aplicáveis e nos códigos de conduta relevantes.

Limitações

Como dito anteriormente, o reconhecimento de fala restrito tem um desempenho excepcionalmente bom em casos de uso específicos, como tarefas de reconhecimento alfanuméricas e baseadas em listas, em que as informações são explícitas, precisas e limitadas do usuário. Por outro lado, os sistemas tradicionais de conversão de fala em texto que usam modelos de compreensão de linguagem natural ou baseados em semântica são melhores para reconhecer uma ampla gama de tópicos falados, interpretando no modelo ou em torno dele. Explicitamente, qualquer entrada de fala que esteja fora da definição da gramática resulta em nenhum reconhecimento. Assim, é encorajado que os desenvolvedores que criam aplicativos baseados em voz considerem onde é apropriado usar fala restrita versus métodos alternativos.

Limitações técnicas, fatores operacionais e intervalos

Para que o reconhecimento de fala restrito funcione com precisão, uma gramática bem projetada deve ser capaz de aceitar muitas respostas diferentes do usuário e interpretá-las de forma rápida, precisa e eficiente. Isso significa que um desenvolvedor deve ser capaz de prever as respostas que cada prompt de aplicativo produzirá e codificá-las em uma gramática da forma mais eficiente possível. Isto, por sua vez, significa que as gramáticas devem ser concebidas em paralelo com a aplicação de voz.

Uma boa gramática equilibra estes objetivos:

  • Cobertura completa: A gramática aceita e interpreta qualquer resposta razoável dos usuários ao prompt do aplicativo anterior.

  • Precisão: A gramática reconhece corretamente as respostas para que os usuários não sejam solicitados a repetir, e as gramáticas não passam valores incorretos para o aplicativo principal.

  • Velocidade: A gramática reconhece rapidamente as respostas sem atrasos que frustram os usuários.

  • Utilização de recursos: A gramática processa-se de forma eficiente.

A escrita gramatical é um processo iterativo. Você cria uma gramática inicial com base no que espera que os chamadores digam, coleta alguns dados reais, refina a gramática, reúne mais alguns dados, refina a gramática novamente e assim por diante. À medida que você refina a gramática adicionando e removendo frases, ela se aproxima mais da maneira como os chamadores falam com o aplicativo. Na prática, nenhuma gramática pode incluir todas as respostas que podem ocorrer em seu aplicativo, porque você não pode controlar como as pessoas falam.

O processo de desenvolvimento de um conjunto de gramáticas geralmente envolve as seguintes etapas:

  1. Identificar os elementos de informação e definir as faixas horárias: Que informações deve o utilizador fornecer à aplicação e existe uma ordem específica em que estas devem ser fornecidas?

  2. Projetar a caixa de diálogo: determine o fluxo de diálogo mais eficiente entre o usuário e o aplicativo.

  3. Crie os prompts: crie prompts que obtenham as informações necessárias.

  4. Antecipe as respostas do chamador às solicitações: considere as palavras faladas que a gramática terá que reconhecer.

  5. Identifique as partes principais e de preenchimento de suas gramáticas: identifique as palavras-chave a serem procuradas nas respostas.

  6. Planeje sua estratégia gramatical: determine a melhor maneira de atender aos requisitos de cada gramática e escolha uma abordagem adequada ou uma combinação de abordagens para abordá-los.

  7. Ajustar e refinar as gramáticas: Resolver quaisquer problemas e otimizar o desempenho gramatical,

Desempenho do sistema

O mecanismo de reconhecimento de fala restrito tem melhor desempenho quando comparado a modalidades alternativas de reconhecimento de fala, usando memória limitada ao processar solicitações. Fatores dentro do controle dos desenvolvedores têm mais impacto no desempenho do que o próprio sistema. O principal objetivo para o desenvolvimento gramatical é projetar para uma precisão de reconhecimento ideal. O próximo objetivo é escrever para maior clareza, manutenibilidade e extensibilidade. O terceiro objetivo é criar contextos de reconhecimento eficientes.

Práticas recomendadas para melhorar o desempenho do sistema

Abaixo estão as características gramaticais que afetam o uso de recursos:

  • Cobertura: A gramática cobre (inclui) as frases que você espera que o chamador use. A subcobertura leva a um aumento nos enunciados, confirmações e tentativas fora do vocabulário, o que aumenta o uso da CPU, a duração da chamada e diminui a satisfação do chamador.

  • Geração excessiva: É importante que a gramática não gere em excesso, permitindo frases sem sentido, pois isso reduz a precisão. Por exemplo, uma gramática que reconhece uma cidade e um estado precisa restringir os enunciados a combinações válidas de cidades e estados.

  • Análises múltiplas: Idealmente, cada frase possível na gramática tem uma análise única. Ocasionalmente, uma gramática pode permitir várias análises de uma única frase. Normalmente, várias análises indicam um descuido no design da gramática que precisa de correção.

  • Chaves passadas para o aplicativo: Você deve garantir que os pares chave/valor estejam definidos corretamente.

Quando um interlocutor diz uma palavra ou frase que não pode ser analisada pela gramática, diz-se que a palavra ou frase está fora da gramática. Como regra geral, uma taxa de cinco por cento fora da gramática é considerada aceitável. Ocasionalmente, mesmo taxas de 10% a 20% fora da gramática não são incomuns para certos tipos de tarefas de reconhecimento. Considere o uso de formas alternativas de reconhecimento de fala nesta última taxa.

A latência é definida como o tempo decorrido após o chamador parar de falar (incluindo o tempo limite de fim de fala configurado) até que um resultado de reconhecimento seja retornado ao aplicativo. Quando a latência é muito alta, a experiência do usuário se degrada; O sistema parece lento, o que pode ser frustrante para o usuário e leva a mais complicações na interface do usuário.

Em circunstâncias extremas, o excesso de latência causa transações de aplicativos malsucedidas se o usuário parar de falar sem atingir o objetivo de sua conversa. Tempos de resposta de reconhecimento deficientes podem ter muitos fatores contribuintes:

  • Uso de gramáticas muito grandes contendo centenas de milhares de itens.

  • Comprimentos médios de emissão extremamente longos.

  • Altas quantidades de processamento ECMAScript dentro da gramática.

  • A rede atrasa ao buscar gramáticas.

Certifique-se de testar corretamente as gramáticas antes de implantá-las em um sistema em execução, como executar cenários de teste com várias frases a serem faladas.

Avaliação do reconhecimento de fala restrito

Métodos de avaliação

Algumas métricas comumente usadas para avaliar o reconhecimento de fala restrito incluem:

  • Taxa de erro de palavras (WER): mede a percentagem de palavras que são incorretamente reconhecidas. É calculado como a soma das substituições, supressões e inserções dividida pelo número total de palavras na referência.

  • Precisão da lista N-melhor: Avalia a precisão das principais hipóteses N geradas pelo reconhecedor. É útil para entender com que frequência a interpretação correta está entre as principais sugestões.

  • Cobertura: Esta métrica avalia se a gramática inclui todas as frases necessárias e variações que os usuários podem dizer. Uma gramática com boa cobertura garante que o sistema possa lidar com uma ampla gama de entradas.

  • Latência: mede o tempo que o sistema leva para processar a entrada falada e produzir um resultado de reconhecimento. Menor latência é crucial para aplicativos em tempo real.

  • Taxa de aceitação/rejeição de falsos: mede falsos positivos e negativos que o sistema experimenta. Isso afeta diretamente a contenção de chamadas e as taxas de sucesso de aplicativos para cenários de contact center.

Considerações de equidade

Na Microsoft, esforçamo-nos para capacitar todas as pessoas do planeta a fazerem mais. Uma parte essencial deste objetivo é trabalhar para criar tecnologias e produtos que sejam justos e inclusivos. A equidade é um tópico sociotécnico multidimensional e impacta muitos aspetos diferentes do desenvolvimento de nossos produtos. Você pode saber mais sobre a abordagem da Microsoft à equidade.

Uma dimensão importante a considerar ao usar sistemas de IA, incluindo reconhecimento de fala restrito, é o desempenho do sistema para diferentes grupos de pessoas. A pesquisa mostrou que, sem um esforço consciente focado em melhorar o desempenho para todos os grupos, os sistemas de IA podem exibir níveis variados de desempenho em diferentes fatores demográficos, como raça, etnia, gênero e idade.

Em alguns casos, pode haver disparidades de desempenho remanescentes. É importante notar que essas disparidades podem exceder a meta, e estamos trabalhando ativamente para abordar e minimizar quaisquer vieses potenciais ou lacunas de desempenho, considerar cuidadosamente a escolha do grupo demográfico do ator e buscar perspetivas diversas de uma variedade de origens.

Em relação aos danos representacionais, como estereotipar, humilhar ou apagar resultados, reconhecemos os riscos associados a essas questões. Embora nosso processo de avaliação tenha como objetivo mitigar tais riscos, incentivamos os usuários a considerar seus casos de uso específicos cuidadosamente e implementar mitigações adicionais, conforme apropriado. Ter um ser humano no circuito pode fornecer uma camada extra de supervisão para lidar com possíveis vieses ou consequências não intencionais.

Estamos empenhados em melhorar continuamente as nossas avaliações de equidade para obter uma compreensão mais profunda do desempenho do sistema em vários grupos demográficos e potenciais preocupações de equidade. O processo de avaliação está em curso e estamos a trabalhar ativamente para melhorar a equidade e a inclusão, bem como para mitigar quaisquer disparidades identificadas. Entendemos a importância de abordar considerações de equidade e nos esforçamos para garantir que o reconhecimento de fala restrito forneça resultados de reconhecimento de fala confiáveis e equitativos.

Observação

Estas informações representam o que sabemos até agora sobre avaliações de equidade e continuamos dedicados a refinar as nossas metodologias de avaliação e a abordar quaisquer preocupações de equidade que possam surgir.

Saiba mais sobre IA responsável

Princípios da IA da Microsoft
Recursos de IA responsáveis da Microsoft
Cursos de aprendizagem do Microsoft Azure sobre IA responsável

Saiba mais sobre o reconhecimento de fala restrito

Usar gramáticas de fala externas