- Visão geral
- Contratos de Processamento de Documentos
- Notas de versão
- Sobre os Contratos de Processamento de Documentos
- Classe Box
- Interface IPersistedActivity
- Classe PrettyBoxConverter
- Interface IClassifierActivity
- Interface IClassifierCapabilitiesProvider
- Classe ClassifierDocumentType
- Classe ClassifierResult
- Classe ClassifierCodeActivity
- Classe ClassifierNativeActivity
- Classe ClassifierAsyncCodeActivity
- Classe ClassifierDocumentTypeCapability
- Classe ExtractorAsyncCodeActivity
- Classe ExtractorCodeActivity
- Classe ExtractorDocumentType
- Classe ExtractorDocumentTypeCapabilities
- Classe ExtractorFieldCapability
- Classe ExtractorNativeActivity
- Classe ExtractorResult
- Interface ICapabilitiesProvider
- Interface IExtractorActivity
- Classe ExtractorPayload
- Enumeração DocumentActionPriority
- Classe DocumentActionData
- Enumeração DocumentActionStatus
- Enumeração DocumentActionType
- Classe DocumentClassificationActionData
- Classe DocumentValidationActionData
- Classe UserData
- Classe Document
- Classe DocumentSplittingResult
- Classe DomExtensions
- Classe Page
- Classe PageSection
- Classe Polígono
- Classe PolygonConverter
- Classe de metadados
- Classe WordGroup
- Classe Word
- Enumeração ProcessingSource
- Classe ResultsTableCell
- Classe ResultsTableValue
- Classe ResultsTableColumnInfo
- Classe ResultsTable
- Enumeração Rotation
- Enumeração SectionType
- Enumeração WordGroupType
- Interface IDocumentTextProjection
- Classe ClassificationResult
- Classe ExtractionResult
- Classe ResultsDocument
- Classe ResultsDocumentBounds
- Classe ResultsDataPoint
- Classe ResultsValue
- Classe ResultsContentReference
- Classe ResultsValueTokens
- Classe ResultsDerivedField
- Enumeração ResultsDataSource
- Classe ResultConstants
- Classe SimpleFieldValue
- Classe TableFieldValue
- Classe DocumentGroup
- Classe DocumentTaxonomy
- Classe DocumentType
- Classe Field
- Enumeração FieldType
- Classe LanguageInfo
- Classe MetadataEntry
- Enumeração de tipo de texto
- Classe TypeField
- Interface ITrackingActivity
- Interface ITrainableActivity
- Interface ITrainableClassifierActivity
- Interface ITrainableExtractorActivity
- Classe TrainableClassifierAsyncCodeActivity
- Classe TrainableClassifierCodeActivity
- Classe TrainableClassifierNativeActivity
- Classe TrainableExtractorAsyncCodeActivity
- Classe TrainableExtractorCodeActivity
- Classe TrainableExtractorNativeActivity
- Digitalizador do Document Understanding
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding
- Notas de versão
- Sobre o pacote de atividades Document Understanding
- Compatibilidade do projeto
- Definir Senha do PDF
- Merge PDFs
- Get PDF Page Count
- Extract PDF Text
- Extract PDF Images
- Extract PDF Page Range
- Extract Document Data
- Criar tarefa de validação e aguardar
- Aguarde a tarefa de validação e retome
- Create Validation Task
- Classificar Documento
- Create Classification Validation Task
- Create Classification Validation Task and Wait
- Aguardar a tarefa de Validação de Classificação e retomar
- IntelligentOCR
- Notas de versão
- Sobre o pacote de atividades IntelligentOCR
- Compatibilidade do projeto
- Configuração da autenticação
- Carregar Taxonomia
- Digitize Document
- Classificar Escopo do Documento
- Classificador baseado em palavra-chave
- Document Understanding Project Classifier
- Intelligent Keyword Classifier
- Create Document Classification Action
- Aguardar ação de classificação do documento e retomar
- Train Classifiers Scope
- Instrutor de Classificador Baseado em Palavra-chave
- Intelligent Keyword Classifier Trainer
- Escopo da Extração de Dados
- Document Understanding Project Extractor
- Regex Based Extractor
- Form Extractor
- Intelligent Form Extractor
- Present Validation Station
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Escopo de Extratores de Treinamento
- Exportar Resultados da Extração
- Serviços de ML
- OCR
- Contratos de OCR
- Notas de versão
- Sobre os Contratos OCR
- Compatibilidade do projeto
- Interface IOCRActivity
- Classe OCRAsyncCodeActivity
- Classe OCRCodeActivity
- Classe OCRNativeActivity
- Character Class
- Classe OCRResult
- Classe Word
- Enumeração FontStyles
- Enumeração OCRRotation
- Classe OCRCapabilities
- Classe OCRScrapeBase
- Classe OCRScrapeFactory
- Classe ScrapeControlBase
- Enumeração ScrapeEngineUsages
- ScrapeEngineBase
- Classe ScrapeEngineFactory
- Classe ScrapeEngineProvider
- OmniPage
- PDF
- [Não listado] Abbyy
- [Não listado] Abbyy Embedded
Atividades de Document Understanding
Extrator generativo — boas práticas
- 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.
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.
- 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?
- "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”
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.
return date in yyyy-mm-dd format
. Se você precisar apenas do ano, especifique: return the year, as a four digit number
.
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.
Um caso especial de formatação ocorre quando a resposta faz parte de um conjunto conhecido de possíveis respostas.
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.
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.
Execute the following program:
1: Find termination section or clause
2: Find termination date
3: Return termination date in yyyy-mm-dd format
4: Stop
Execute 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.
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.
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.
- 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>}
.
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.