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, que serão afetadas por ele e o ambiente em que ele é implantado. Criar um sistema adequado para sua finalidade pretendida requer uma compreensão de como a tecnologia funciona, quais são suas funcionalidades e limitações e como alcançar o melhor desempenho. As Notas de Transparência da Microsoft destinam-se a ajudá-lo a entender como nossa tecnologia de IA funciona, as opções que os proprietários do sistema 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 meio ambiente. Você pode usar 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 nos princípios de IA da Microsoft.

Os conceitos básicos do reconhecimento de fala restrita

Introdução

O reconhecimento de fala é uma função vital para se envolver com sistemas de IA habilitados para voz. Esses sistemas (frequentemente conhecidos como mecanismos de "conversão de fala em texto") convertem as palavras faladas de um usuário em texto, muitas vezes produzindo uma pontuação de confiança que indica a probabilidade de correção da saída. O reconhecimento de fala restrita é uma modalidade específica que limita especificamente o conjunto de palavras ou frases possíveis a serem reconhecidas pelo próprio mecanismo. Essa restrição é feita por meio de uma Gramática. Gramáticas são, por definição, a lista baseada em regras de palavras ou frases esperadas para o mecanismo reconhecer.

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

  • Reconhecendo entradas alfanuméricas, como números de conta e números de acompanhamento.

  • Listas grandes específicas do domínio (ações, endereços, nomes).

  • Aplicativos com escopo pequeno projetados para interações com um pequeno conjunto de palavras e frases a serem reconhecidas.

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

Principais termos

Prazo Definition
Gramática Uma gramática é uma descrição das palavras e frases que um reconhecedor de fala entende e interpreta. O reconhecedor carrega as gramáticas no runtime para converter as respostas faladas do usuário e os comandos em informações que o aplicativo de voz pode usar.
GrXML O formato no qual as gramáticas são compostas.
Especificação de gramática 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

Sempre 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. Essa lista é chamada como n-best l ist, pois é composta por um número prespecificado n de interpretações que melhor correspondem ao que o usuário parece ter dito. Quando o usuário fala, o reconhecedor pesquisa 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 n-best. Durante a pesquisa, o reconhecedor usa modelos acústicos para analisar a entrada de áudio, modelos léxicos 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 pesquisa até encontrar as interpretações mais altas 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 na lista de candidatos e os classifica da mais alta confiança 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 uma é falada, 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 listas de restrições e/ou scripts de interpretação semântica (ECMAScript) especificados nas gramáticas. O reconhecedor remove qualquer interpretação que não atenda aos níveis de confiança de destino configurados para o reconhecimento. O reconhecedor retorna os últimos 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

Usos pretendidos

O reconhecimento de fala restrito pode ser usado em vários cenários. Os usos pretendidos pelo sistema incluem:

  • Reconhecer palavras faladas: para traduzir a fala em texto restrito pela lista definitiva fornecida ao sistema por meio de uma "gramática". Por exemplo, placas alfanuméricas e números de segurança social entrada ou diretório corporativo baseado em lista, tiques de estoque e endereços.

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

  • Remover candidatos à saída: remova palavras ou frases do reconhecimento em tentativas de reconhecimento de repetição.

Considerações ao escolher outros casos de uso

Incentivamos os clientes a usar o reconhecimento de fala restrito em suas soluções ou aplicativos inovadores. 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 eles estão interagindo é alimentado por IA.

  • Usos sem suporte:

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

    • Interpretação da intenção: mapear as palavras faladas da pessoa em uma intenção interpretada, em vez de 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, o que pode não ser apropriado para uso em todos os setores ou cenários. As restrições podem variar de acordo com os requisitos regulatórios regionais ou locais. Além disso, os serviços ou soluções de IA não são projetados e podem não ser usados de maneiras proibidas em termos de serviço aplicáveis e códigos de conduta relevantes.

Limitações

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

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

Para que o reconhecimento de fala restrito funcione especificamente 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 maneira mais eficiente possível. Isso, por sua vez, significa que as gramáticas devem ser projetadas em paralelo com o aplicativo de voz.

Uma boa gramática equilibra essas metas:

  • Cobertura completa: a gramática aceita e interpreta qualquer resposta razoável dos usuários ao prompt de 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 respostas sem atrasos que frustram os usuários.

  • Uso de recursos: a gramática processa com eficiência.

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, coleta 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, pois 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. Identifique os itens de informações e defina os slots: Quais informações o usuário deve fornecer ao aplicativo e há uma ordem específica na qual ele deve ser fornecido?

  2. Crie 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 provocam as informações necessárias.

  4. Antecipe as respostas do chamador aos prompts: considere as palavras faladas que a gramática terá que reconhecer.

  5. Identifique as partes do núcleo e do preenchimento de suas gramáticas: identifique as palavras-chave a serem buscadas nas respostas.

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

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

Desempenho do sistema

O mecanismo de reconhecimento de fala restrito tem um desempenho melhor quando comparado a modalidades alternativas de reconhecimento de fala, usando memória limitada ao processar solicitações. Os fatores dentro do controle de desenvolvedores têm mais impacto sobre o desempenho do que o próprio sistema. O principal objetivo do desenvolvimento gramatical é projetar a precisão de reconhecimento ideal. O próximo objetivo é escrever para clareza, manutenção e extensibilidade. A terceira meta é criar contextos de reconhecimento eficientes.

Melhores práticas para melhorar o desempenho do sistema

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

  • Cobertura: A gramática aborda (inclui) as frases que você espera que o chamador use. A subcodificação leva a um aumento de enunciados fora do vocabulário, confirmações e novas tentativas, que aumentam o uso da CPU, a duração da chamada e a menor satisfação do chamador.

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

  • Várias análises: o ideal é que cada frase possível na gramática tenha uma análise exclusiva. Ocasionalmente, uma gramática pode permitir várias análises de uma única frase. Normalmente, várias análises indicam uma supervisão no design da gramática que precisa de correção.

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

Quando um chamador diz uma palavra ou frase que não pode ser analisada pela gramática, a palavra ou frase é considerada fora da gramática. Como regra geral, uma taxa de 5% fora da gramática é considerada aceitável. Ocasionalmente, mesmo as taxas de 10 a 20% fora da gramática não são incomuns para determinados tipos de tarefas de reconhecimento. Considere usar 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 degrada; o sistema parece lento, o que pode ser frustrante para o usuário e leva a mais complicações da interface do usuário.

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

  • Uso de gramáticas muito grandes que contêm centenas de milhares de itens.

  • Comprimentos médios de enunciados extremamente longos.

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

  • Atrasos na rede ao buscar gramáticas.

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

Avaliação do reconhecimento de fala restrita

Métodos de avaliação

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

  • TAXA de erro do Word (WER): isso mede o percentual de palavras que são reconhecidas incorretamente. Ele é calculado como a soma de substituições, exclusões e inserções divididas pelo número total de palavras na referência.

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

  • Cobertura: Essa métrica avalia se a gramática inclui todas as frases e variações necessárias 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: isso mede o tempo necessário para que o sistema processe a entrada falada e produza um resultado de reconhecimento. A latência mais baixa é crucial para aplicativos em tempo real.

  • Taxa de aceitação/rejeição falsa: isso mede falsos positivos e negativos que o sistema experimenta. Isso afeta diretamente as taxas de êxito do chamador e do aplicativo para cenários de contact center.

Considerações sobre imparcialidade

Na Microsoft, nos esforçamos para capacitar cada pessoa do planeta a fazer mais. Uma parte essencial desse objetivo é trabalhar para criar tecnologias e produtos que sejam justos e inclusivos. A imparcialidade é um tópico multidimensional e sociotécnmico e afeta muitos aspectos diferentes do nosso desenvolvimento de produtos. Você pode saber mais sobre a abordagem da Microsoft para a imparcialidade.

Uma dimensão importante a ser considerada ao usar sistemas de IA, incluindo o reconhecimento de fala restrito, é o desempenho do sistema para diferentes grupos de pessoas. Pesquisas mostraram que, sem esforço consciente focado na melhoria do desempenho para todos os grupos, os sistemas de IA podem apresentar diferentes níveis de desempenho em diferentes fatores demográficos, como raça, etnia, gênero e idade.

Em alguns casos, pode haver disparidades de desempenho restantes. É importante observar que essas disparidades podem exceder a meta, e estamos trabalhando ativamente para abordar e minimizar possíveis preconceitos ou lacunas de desempenho, considerar cuidadosamente a escolha do grupo demográfico do ator e buscar perspectivas diversas de uma variedade de origens.

Em relação a danos representacionais, como estereotipamento, degradação ou apagamento de saídas, reconhecemos os riscos associados a esses problemas. Embora nosso processo de avaliação tenha como objetivo atenuar esses riscos, incentivamos os usuários a considerar seus casos de uso específicos com cuidado e implementar mitigações adicionais conforme apropriado. Ter um humano no loop pode fornecer uma camada extra de supervisão para lidar com possíveis preconceitos ou consequências não intencionais.

Estamos comprometidos em melhorar continuamente nossas avaliações de imparcialidade para obter uma compreensão mais profunda do desempenho do sistema em vários grupos demográficos e potenciais preocupações com a imparcialidade. O processo de avaliação está em andamento e estamos trabalhando ativamente para aprimorar a imparcialidade e a inclusão e atenuar quaisquer disparidades identificadas. Entendemos a importância de abordar considerações de imparcialidade e nos esforçamos para garantir que o reconhecimento restrito de fala forneça saídas confiáveis e equitativas de reconhecimento de fala.

Observação

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

Saiba mais sobre IA responsável

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

Saiba mais sobre o reconhecimento de fala restrita

Usar gramáticas de fala externas