Nota de Transparência para a Linguagem Azure nas Ferramentas Foundry

Importante

Traduções não ingleses são fornecidas apenas por conveniência. Por favor, consulte a EN-US versão deste documento para a versão definitiva.

O que é uma Nota de Transparência?

Um sistema de IA inclui não só a tecnologia, mas também as pessoas que a irão utilizar, as pessoas que serão afetadas por ela e o ambiente onde é implementada. Criar um sistema adequado ao seu propósito requer compreender como a tecnologia funciona, 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 do sistema podem fazer que influenciam o desempenho e o comportamento do sistema, e a importância de pensar no sistema como um todo, incluindo a tecnologia, as pessoas e o ambiente. Pode usar as Notas de Transparência ao desenvolver ou implementar o seu próprio sistema, ou partilhá-las com as pessoas que irão usar ou ser afetadas pelo seu sistema.

As Notas de Transparência da Microsoft fazem parte de um esforço mais amplo da Microsoft para pôr em prática os nossos princípios de IA. Para saber mais, consulte Microsoft princípios de IA.

Os fundamentos da Linguagem Azure no Foundry Tools

Introdução

A Language é um serviço baseado na cloud que fornece funcionalidades de Processamento de Linguagem Natural (NLP) para mineração e análise de texto, incluindo as seguintes funcionalidades:

Leia a visão geral para obter uma introdução a cada funcionalidade e rever os exemplos de casos de uso. Consulte os guias práticos e a referência da API para compreender mais detalhes sobre o que cada funcionalidade faz e o que é devolvido pelo sistema.

Este artigo contém diretrizes básicas sobre como utilizar as funcionalidades da Linguagem de forma responsável. Leia primeiro a informação geral e depois avance para o artigo específico se estiver a usar uma das funcionalidades abaixo.

Capacidades

Casos de uso

Os serviços linguísticos podem ser usados em múltiplos cenários em vários setores. Alguns exemplos listados por característica são:

  • Use o Reconhecimento de Entidades Nomeadas Personalizadas para mineração de conhecimento e melhorar a pesquisa semântica. A pesquisa é fundamental para qualquer aplicação que mostre conteúdo de texto aos utilizadores. Cenários comuns incluem pesquisa por catálogo ou documentos, pesquisa de produtos de retalho ou mineração de conhecimento para ciência de dados. Muitas empresas de vários setores querem construir uma experiência de pesquisa rica em conteúdos privados e heterogéneos, que incluem tanto documentos estruturados como não estruturados. Como parte do seu pipeline, os programadores podem usar NER personalizado para extrair entidades do texto que sejam relevantes para a sua indústria. Estas entidades podem ser usadas para enriquecer a indexação do ficheiro e proporcionar uma experiência de pesquisa mais personalizada.

  • Use o Reconhecimento de Entidades Nomeadas para melhorar ou automatizar processos empresariais. Por exemplo, ao analisar reclamações de seguro, entidades reconhecidas como nome e localização podem ser destacadas para facilitar a revisão. Ou pode ser gerado automaticamente um pedido de suporte com o nome e a empresa do cliente a partir de um email.

  • Use Informações Pessoais Identificáveis para eliminar algumas categorias de informação pessoal de documentos para proteger a privacidade. Por exemplo, se os registos de contacto com o cliente estiverem acessíveis aos representantes de suporte de primeira linha, a empresa pode querer eliminar informações pessoais desnecessárias do cliente do histórico para preservar a privacidade do cliente.

  • Use a Deteção de Línguas para detetar linguagens no fluxo de trabalho empresarial. Por exemplo, se uma empresa receber emails em várias línguas dos clientes, pode usar a deteção de línguas para encaminhar os emails por língua para falantes nativos, facilitando assim a comunicação com esses clientes.

  • Use a Análise de Sentimento para monitorizar tendências de feedback positivo e negativo em conjunto. Após a introdução de um novo produto, um retalhista pode usar o serviço de sentimento para monitorizar várias redes sociais à procura de menções ao produto com o seu sentimento. Podiam rever a tendência de sentimento nas suas reuniões semanais sobre produtos.

  • Use o Resumo para extrair informações-chave de artigos de notícias públicas. Produzir insights tais como tendências e notícias em destaque.

  • Use a Extração de Frases-Chave para visualizar tendências agregadas em dados de texto. Por exemplo, uma nuvem de palavras pode ser gerada com frases-chave para ajudar a visualizar conceitos-chave em comentários de texto ou feedback. Por exemplo, um hotel pode gerar uma nuvem de palavras com base nas frases-chave identificadas nos seus comentários e pode ver que as pessoas comentam com mais frequência sobre a localização, limpeza e pessoal prestável.

  • Use o Análise de Texto for Health para obter insights e extrair estatísticas. Identificar entidades médicas, como sintomas, medicamentos e diagnósticos, em notas clínicas e diversos documentos clínicos. Use esta informação para obter insights e estatísticas sobre populações de doentes, pesquisar documentos clínicos, documentos de investigação e publicações.

  • Use a Classificação de Texto Personalizada para triagem automática de emails ou tickets. Centros de suporte de todos os tipos recebem um elevado volume de emails ou tickets contendo texto livre e não estruturado e anexos. A revisão, reconhecimento e encaminhamento atempados para especialistas dentro das equipas internas é fundamental. A triagem de emails nesta escala exige que as pessoas revisem e encaminhem para os departamentos certos, o que exige tempo e recursos. A classificação personalizada de texto pode ser usada para analisar o texto recebido, triar e categorizar o conteúdo a ser automaticamente encaminhado para os departamentos relevantes para ações adicionais.

  • Use o Conversational Language Understanding para construir bots conversacionais de ponta a ponta. Use o CLU para construir e treinar um modelo personalizado de compreensão de linguagem natural baseado num domínio específico e nas declarações esperadas dos utilizadores. Integre-o com qualquer bot conversacional de ponta a ponta para que possa processar e analisar o texto recebido em tempo real, identificando a intenção do texto e extraindo informações importantes dele. Peça ao bot para realizar a ação desejada com base na intenção e na informação extraída. Um exemplo seria um bot de retalho personalizado para compras online ou encomendas de alimentos.

  • Use Perguntas e Respostas para o apoio ao cliente. Na maioria dos cenários de apoio ao cliente, perguntas comuns são feitas com frequência. O Question Answering permite-lhe criar instantaneamente um chatbot a partir de conteúdos de suporte existentes, e este bot pode funcionar como o sistema principal para tratar as consultas dos clientes. Se as perguntas não puderem ser respondidas pelo bot, então componentes adicionais podem ajudar a identificar e sinalizar a questão para intervenção humana.

Limitações

A qualidade do texto recebido para o sistema afetará os seus resultados.

As funcionalidades da linguagem processam apenas texto. A fidelidade e formatação do texto recebido afetarão o desempenho do sistema. Certifique-se de considerar o seguinte:

  • A qualidade da transcrição da fala pode afetar a qualidade dos resultados. Se os seus dados de origem forem voz, certifique-se de usar a combinação da mais alta qualidade entre transcrição automática e humana para garantir o melhor desempenho. Considere usar modelos de fala personalizados para obter melhores resultados de qualidade.

  • A falta de pontuação ou capitalização padrão pode afetar a qualidade dos seus resultados. Se estiver a usar um sistema de fala, como o Azure Speech no Foundry Tools to Text, certifique-se de selecionar a opção para incluir pontuação.

  • A qualidade do reconhecimento ótico de caracteres (OCR) pode afetar a qualidade do sistema. Se os seus dados de origem forem imagens e usar tecnologia OCR para gerar o texto, o texto gerado incorretamente pode afetar o desempenho do sistema. Considere usar modelos OCR personalizados para ajudar a melhorar a qualidade dos resultados.

  • Se os seus dados apresentarem erros ortográficos frequentes, considere usar o Bing Spell Correction para corrigir erros ortográficos.

  • Os dados tabulares podem não ser identificados corretamente dependendo de como envia o texto da tabela para o sistema. Avalie como envia texto a partir de tabelas nos documentos de origem para o serviço. Para tabelas em documentos, considere usar o Azure Document Intelligence no Foundry Tools ou um serviço semelhante. Isto permitirá obter as chaves e valores apropriados para enviar à Linguagem, com chaves contextuais suficientemente próximas dos valores para que o sistema reconheça corretamente as entidades.

  • A Microsoft treinou os seus modelos de funcionalidades linguísticas (com exceção da deteção linguística) usando dados de texto em linguagem natural, compostos principalmente por frases e parágrafos totalmente formados. Portanto, usar este serviço para dados que mais se assemelham a este tipo de texto proporcionará o melhor desempenho. Recomendamos evitar o uso deste serviço para avaliar frases e frases incompletas sempre que possível, pois o desempenho pode ser reduzido.

  • O serviço só suporta texto numa única língua. Se o seu texto incluir várias línguas, por exemplo "a sandes estava boa", o resultado pode não ser preciso.

  • O código da língua deve corresponder à linguagem do texto de entrada para obter resultados precisos. Se não tiver a certeza da língua de entrada, pode usar a funcionalidade de deteção de língua.

Boas práticas para melhorar o desempenho do sistema

Algumas características da Língua retornam pontuações de confiança e podem ser avaliadas usando a abordagem descrita nas secções seguintes. Outras funcionalidades que não devolvam uma pontuação de confiança (como extração e resumo de palavras-chave) terão de ser avaliadas usando métodos diferentes.

Compreenda os índices de confiança para análise de sentimento, reconhecimento de entidades nomeadas, deteção de linguagem e funções de saúde

O sentimento, o reconhecimento de entidades nomeadas, a deteção de linguagem e as funções de saúde devolvem todas uma pontuação de confiança como parte da resposta do sistema. Isto é um indicador da confiança do serviço na resposta do sistema. Um valor mais elevado indica que o serviço está mais confiante de que o resultado é preciso. Por exemplo, o sistema reconhece a entidade da categoria Número da Carta de Condução dos EUA no texto 555 555 555 quando recebe o texto "O número da minha carta de condução de NY é 555 555 555" com uma pontuação de 0,75 e pode reconhecer a categoria Número da Carta de Condução dos EUA no texto 555 555 555 com uma pontuação de 0,65 quando recebe o texto "O meu número de carta de condução de NY é 555 555 555". Dado o contexto mais específico do primeiro exemplo, o sistema está mais confiante na sua resposta. Em muitos casos, a resposta do sistema pode ser usada sem examinar a pontuação de confiança. Noutros casos, pode optar por usar uma resposta apenas se a sua pontuação de confiança estiver acima de um limiar especificado.

Compreender e medir o desempenho

O desempenho das funcionalidades da Linguagem é medido examinando quão bem o sistema reconhece os conceitos de PLN suportados (a um dado valor limiar em comparação com um juiz humano). Para a extração de entidades nomeadas (NER), por exemplo, pode-se contar o número real de entidades de número de telefone num determinado texto com base no julgamento humano, e depois comparar com a saída do sistema a partir do processamento do mesmo texto. Comparar o julgamento humano com as entidades reconhecidas pelo sistema permitiria classificar os eventos em dois tipos de eventos corretos (ou "verdadeiros") e dois tipos de eventos incorretos (ou "falsos").

Desfecho Correto/Errado Definição Exemplo
Verdadeiro Positivo Correto O sistema apresenta o mesmo resultado que seria esperado de um juiz humano. O sistema reconhece corretamente a entidade PII da categoria Número de Telefone na mensagem 1-234-567-8910 quando recebe a mensagem: "Pode contactar-me pelo número do meu escritório 1-234-567-9810."
Verdadeiro Negativo Correto O sistema não retorna um resultado, e isto está alinhado com o que seria esperado de um juiz humano. O sistema não reconhece nenhuma entidade de PII quando lhe é dado o texto: "Pode contactar-me no número do meu escritório."
Falso Positivo Incorreto O sistema devolve um resultado onde um juiz humano não devolveria. O sistema reconhece incorretamente a entidade PII da categoria Número de Telefone para o número de escritório por mensagem quando recebe a mensagem: "Pode contactar-me no número do meu escritório."
Falso Negativo Incorreto O sistema não apresenta um resultado quando um juiz humano o faria. O sistema omite incorretamente uma entidade de Número de Telefone PII na mensagem 1-234-567-8910 quando recebe a mensagem: "Pode contactar-me pelo número do meu escritório 1-234-567-9810."

As características da linguagem nem sempre serão corretas. Provavelmente vais ter erros falsos negativos e falsos positivos. É importante considerar como cada tipo de erro irá afetar o seu sistema. Pense cuidadosamente em cenários onde eventos reais não serão reconhecidos, onde eventos incorretos serão reconhecidos, e quais os efeitos posteriores na sua implementação. Certifique-se de incluir formas de identificar, reportar e responder a cada tipo de erro. Planeie rever periodicamente o desempenho do seu sistema implementado para garantir que os erros estão a ser tratados adequadamente.

Como definir limiares de pontuação de confiança

Pode optar por tomar decisões no seu sistema com base na pontuação de confiança que o sistema devolve. Pode ajustar o limiar de pontuação de confiança que o seu sistema utiliza para satisfazer as suas necessidades. Caso seja mais importante identificar todas as possíveis ocorrências dos conceitos de PLN que deseja, pode usar um limiar mais baixo. Isto significa que podes ter mais falsos positivos, mas menos falsos negativos. Se for mais importante para o seu sistema reconhecer apenas instâncias verdadeiras da funcionalidade que está a chamar, pode usar um limiar mais alto. Se usar um limiar mais alto, pode ter menos falsos positivos, mas mais falsos negativos. Diferentes cenários exigem abordagens diferentes. Além disso, os valores limiar podem não ter um comportamento consistente entre características individuais da Linguagem e categorias de entidades. Por exemplo, não faça suposições de que usar um determinado limiar para o Número de Telefone da categoria NER seria suficiente para outra categoria NER, ou que um limiar que use no NER funcionaria de forma semelhante para a Análise de Sentimento. Por isso, é fundamental que teste o seu sistema com quaisquer limiares que esteja a considerar usar com dados reais para determinar os efeitos de vários valores de limiar do seu sistema no contexto em que será utilizado.

Justiça

Na Microsoft, esforçamo-nos por capacitar cada pessoa no planeta a alcançar mais. Uma parte essencial deste objetivo é trabalhar para criar tecnologias e produtos que sejam justos e inclusivos. A justiça é um tema multidimensional e sociotécnico que impacta muitos aspetos diferentes do desenvolvimento do nosso produto. Pode saber mais sobre a abordagem da Microsoft à justiça aqui.

Uma dimensão que precisamos de considerar é o desempenho do sistema para diferentes grupos de pessoas. Isto pode incluir observar a precisão do modelo, bem como medir o desempenho do sistema completo. A investigação demonstrou que, sem um esforço consciente focado na melhoria do desempenho de todos os grupos, é frequentemente possível que o desempenho de um sistema de IA varie entre grupos com base em fatores como raça, etnia, língua, género e idade.

Cada serviço e funcionalidade é diferente, e os nossos testes podem não corresponder perfeitamente ao seu contexto ou cobrir todos os cenários necessários para o seu caso de uso. Incentivamos os programadores a avaliar minuciosamente as taxas de erro do serviço com dados do mundo real que reflitam o seu caso de uso, incluindo testes com utilizadores de diferentes grupos demográficos.

Para a Linguagem, certos dialetos e variedades linguísticas dentro das nossas línguas suportadas e textos de alguns grupos demográficos podem ainda não ter representação suficiente nos nossos atuais conjuntos de dados de treino. Incentivamo-lo a rever as nossas diretrizes de uso responsável e, se encontrar diferenças de desempenho, incentivamo-lo a informar-nos.

O desempenho varia entre funcionalidades e linguagens

São suportadas várias linguagens para cada funcionalidade da Linguagem. Pode descobrir que o desempenho de uma determinada funcionalidade não é consistente com o de outra. Além disso, pode descobrir que, para uma determinada funcionalidade, esse desempenho não é consistente entre várias línguas.

Próximos passos

Se estiver a usar alguma das funcionalidades abaixo, certifique-se de rever a informação específica dessa funcionalidade.

Ver também

Além disso, certifica-te de rever: