activities
latest
false
UiPath logo, featuring letters U and I in white
Atividades de Document Understanding
Last updated 21 de nov de 2024

Extrator generativo — boas práticas

Observação:
  • Para maior estabilidade, o número de solicitações é limitado ao máximo de 50.
  • A resposta, resultado da extração, também chamada de Conclusão, tem um limite de 700 palavras. Isso é limitado a 700 palavras. Isso significa que você não pode extrair mais de 700 palavras de um único prompt. Se seus requisitos de extração excederem esse limite, você poderá dividir o documento em várias páginas, processá-las individualmente e mesclar os resultados posteriormente.

Use linguagem precisa

Imagine fazer a quatro ou cinco pessoas diferentes a pergunta que você deseja fazer no prompt generativo. Se você consegue visualizar essas pessoas dando respostas ligeiramente diferentes, então sua linguagem é muito ambígua e você precisa reescrever para torná-la mais precisa.

Por exemplo, se você fornecer ao prompt uma solicitação geral, como "Extrair todas as informações pessoais do paciente como pares de chave-valor separados por vírgulas", isso espera que o modelo encontre certas informações por conta própria.

Considerando a solicitação anterior, o modelo precisa descobrir por conta própria as seguintes informações:
  • Onde as informações pessoais estão no documento.
  • O que é pessoal e o que não é pessoal (o que é muito ambíguo).
  • O que o usuário espera obter como "chave", qual é o valor de cada chave e qual é o formato exato que o usuário espera.
  • Ele deve usar colchetes? Ou apenas cada par de chave-valor em uma linha separada?
Existem várias etapas e muitas maneiras diferentes de responder à solicitação e, como a IA generativa é fundamentalmente não determinista, quanto mais longa a resposta, maior a probabilidade de que a resposta seja diferente a cada vez - mesmo que a tempetura do modelo seja definido como zero.
Para evitar o problema descrito anteriormente, divida sua solicitação ampla, com uma resposta potencialmente longa, em outras perguntas mais simples, o que gerará uma resposta curta. Por exemplo, você pode dividir sua solicitação de solicitação geral nas seguintes solicitações menores:
  • "Extrair o nome do paciente"
  • “Extrair o sobrenome do paciente”
  • “Extrair o endereço do paciente, incluindo a cidade, estado e CEP”
  • “Extrair a data de nascimento do paciente”
Se você dividir sua solicitação em outras menores, obterá maior precisão e resultados muito mais consistentes e reprodutíveis, com redução da necessidade de analisar longas strings de texto produzidas pela IA.

Especifique um formato de saída

Para tornar sua pergunta mais específica, peça ao extrator para retornar a resposta em um formato padronizado. Isso reduz a ambiguidade, aumenta a precisão das respostas e simplifica o processamento subsequente.

Por exemplo, se estiver pedindo ao prompt generativo que obtenha uma data, especifique como deseja que a data retorne: return date in yyyy-mm-dd format. Se você precisar apenas do ano, especifique: return the year, as a four digit number.
Você também pode usar essa abordagem para números. Por exemplo, você pode especificar: return numbers which appear in parentheses as negative ou return number in ##,###.## format para padronizar o separador decimal e o separador de milhares para facilitar o processamento subsequente.

Forneça opções esperadas

Um caso especial de formatação ocorre quando a resposta faz parte de um conjunto conhecido de possíveis respostas.

Por exemplo, em um formulário de aplicativo, você pode perguntar: What is the applicant’s marital status? Possible answers: Married, Unmarried, Separated, Divorced, Widowed, Other.

Isso não apenas simplifica o processamento subsequente, mas também aumenta a precisão das respostas.

Etapa por etapa

Para maximizar a precisão, divida perguntas complexas em etapas simples. Em vez de perguntar What is the termination date of this contract?, você deve perguntar First find termination section of contract, then determine termination date, then return date in yyyy-mm-dd format.
Há muitas maneiras de desmembrar suas perguntas. Você pode até escrever sua solicitação como um pequeno programa de computador, como o seguinte:
Execute the following program:

1: Find termination section or clause

2: Find termination date

3: Return termination date in yyyy-mm-dd format

4: StopExecute the following program:

1: Find termination section or clause

2: Find termination date

3: Return termination date in yyyy-mm-dd format

4: Stop

Definir o que você deseja em um estilo de programação, potencialmente até mesmo usando a sintaxe JSON ou XML, força o modelo Generativo a usar suas habilidades de programação, o que aumenta a precisão ao seguir instruções.

Evite problemas aritméticos ou lógicos

Não peça ao extrator para realizar somas, multiplicação, subtração, comparações ou qualquer outra operação aritmética, pois ele comete erros básicos, além de ser muito lento e caro em comparação com um fluxo de trabalho de robô simples, que nunca cometerá erros e é muito mais rápido e barato.

Não peça para que ele realize lógica complexa do tipo se-então-senão, pelas mesmas razões mencionadas acima. O fluxo de trabalho do robô é muito mais preciso e eficiente com esse tipo de operações.

Tabelas

O Extrator generativo atualmente não suporta campos de coluna. Embora você possa extrair tabelas menores por meio de perguntas regulares e analisar sua saída, observe que essa é apenas uma solução alternativa e vem com restrições. Ele não foi projetado nem é recomendado para extrair tabelas genéricas e arbitrariamente grandes.

Extrair dados de tabelas é um desafio para o Extrator generativo. A tecnologia de IA generativa opera em strings lineares de texto e não entende informações visuais bidimensionais em imagens. Ele não pode extrair campos de tabela conforme definido no Gerenciador de Taxonomia, mas pode extrair texto e tabelas de documentos.

Para extrair dados de tabelas de forma otimizada, você pode escolher pelo menos duas abordagens, incluindo o seguinte:
  • Peça ao Extrator generativo para retornar colunas separadamente e, em seguida, monte as linhas por conta própria em um fluxo de trabalho. Você pode perguntar: Please return the Unit Prices on this invoice, as a list from top to bottom, as a list in the format [<UnitPrice1>, <UnitPrice2>,…]
  • Peça a ele para retornar cada linha separadamente, como um objeto JSON. Você pode perguntar: Please return the line items of this invoice as an JSON array of JSON objects, each object in format: {"description”: <description>, “quantity”:<quantity>, “unit_price”:<unit price>, “amount”:<amount>}.

Nível confidencial

Os modelos de IA Generativa não fornecem níveis de confiança para as previsões. No entanto, o objetivo é detectar erros, e os níveis de confiança são apenas uma maneira possível de alcançar esse objetivo, e não a melhor. Uma maneira muito melhor e mais confiável de detectar erros é fazer a mesma pergunta de várias maneiras diferentes. Quanto mais diferente for a declaração da pergunta, melhor. Se todas as respostas convergem para um resultado comum, a probabilidade de erro é muito baixa. Se as respostas discordarem, a probabilidade de erro é alta.

Por exemplo, você pode repetir a mesma pergunta duas, três ou até cinco vezes (dependendo de quão crucial é evitar erros não detectados em seu procedimento), combinando as sugestões mencionadas acima em combinações variadas. Se todas as respostas forem consistentes, a revisão humana pode não ser necessária. No entanto, se alguma das respostas diferir, poderá ser necessária a revisão manual por uma pessoa do Action Center.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.