Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Diálogo guiado para ajudar a navegar em uma estrutura hierárquica de itens de menu, usado na primeira interação de quem liga ou como base do design conversacional 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 ao conjunto de candidatos considerados para a lista das n melhores hipóteses. 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, números de seguridade social, entradas ou diretórios corporativos em formato de lista, códigos de ações 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 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 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: Transcrição completa das palavras ditas por uma pessoa, gerando uma 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. Dito explicitamente, qualquer entrada de voz que esteja fora da definição da gramática não é reconhecida. Portanto, é recomendável que os desenvolvedores que criam aplicativos de voz considerem quando é apropriado usar fala restrita ou 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:
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?
Projete o diálogo: Determine o fluxo de diálogo mais eficiente entre o usuário e o aplicativo.
Elabore os prompts: crie prompts que obtenham as informações necessárias.
Antecipe as respostas do interlocutor às mensagens: considere as palavras que serão ditas e que a gramática terá de reconhecer.
Identifique as partes principais e complementares de suas gramáticas: identifique as palavras-chave a procurar nas respostas.
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.
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 no desenvolvimento da gramática é obter a máxima precisão de reconhecimento. 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 cobertura insuficiente leva a um aumento de enunciados com palavras fora do vocabulário, confirmações e repetições, o que aumenta o uso da CPU e a duração da chamada, além de reduzir a satisfação do cliente.
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 sintáticas indicam uma falha no projeto da gramática que precisa ser corrigida.
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% de ocorrências fora da gramática é considerada aceitável. Ocasionalmente, mesmo taxas de 10% a 20% de ocorrências fora da gramática não são raras em certos 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.
Enunciados com comprimento médio extremamente longo.
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 da lista das N melhores: Isto avalia a precisão das N melhores hipóteses 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 contenção de chamadas e de sucesso da aplicação em 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