Processar a resposta

A resposta a uma solicitação de processamento contém um objeto Document que contém tudo o que é conhecido sobre o documento processado, incluindo todas as informações estruturadas que a Document AI conseguiu extrair.

Nesta página, explicamos o layout do objeto Document com documentos de exemplo e mapeamos aspectos dos resultados de OCR para os elementos específicos do JSON do objeto Document. Ela também oferece exemplos de código de bibliotecas de cliente e do SDK da caixa de ferramentas da Document AI. Esses exemplos de código usam o processamento on-line, mas a análise do objeto Document funciona da mesma forma para o processamento em lote.

handle-response-1

Os retângulos e setas laranja e azuis representam que pelo menos um campo dos objetos conectados é .layout ou detectedLanguage, respectivamente. O diagrama usa a notação de pé de galinha.

Use um visualizador ou utilitário de edição JSON projetado especificamente para expandir ou recolher elementos. Revisar JSON bruto em um utilitário de texto simples é ineficiente.

Texto, layout e pontuações de qualidade

Veja um exemplo de documento de texto:

handle-response-2

Confira o objeto de documento completo retornado pelo processador Enterprise Document OCR:

Fazer o download do JSON

Essa saída de OCR também está sempre incluída na saída do processador da Document AI, já que o OCR é executado pelos processadores. Ele usa os dados de OCR atuais. Por isso, é possível inserir esses dados JSON usando a opção de documento inline nos processadores da Document AI.

  image=None, # all our samples pass this var
  mime_type="application/json",
  inline_document=document_response # pass OCR output to CDE input - undocumented

Confira alguns dos campos importantes:

Texto bruto

O campo text contém o texto reconhecido pela Document AI. Esse texto não contém nenhuma estrutura de layout além de espaços, tabulações e quebras de linha. Esse é o único campo que armazena informações textuais de um documento e serve como fonte de verdade do texto do documento. Outros campos podem se referir a partes do campo de texto por posição (startIndex e endIndex).

  {
    text: "Sample Document\nHeading 1\nLorem ipsum dolor sit amet, ..."
  }

Tamanho da página e idiomas

Cada page no objeto do documento corresponde a uma página física do documento de amostra. O exemplo de saída JSON contém uma página porque é uma única imagem PNG.

  {
    "pages:" [
      {
        "pageNumber": 1,
        "dimension": {
          "width": 679.0,
          "height": 460.0,
          "unit": "pixels"
        },
      }
    ]
  }
{
  "pages": [
    {
      "detectedLanguages": [
        {
          "confidence": 0.98009938,
          "languageCode": "en"
        },
        {
          "confidence": 0.01990064,
          "languageCode": "und"
        }
      ]
    }
  ]
}

Dados de OCR

O Document AI OCR detecta texto com vários níveis de granularidade ou organização na página, como blocos de texto, parágrafos, tokens e símbolos (o nível de símbolo é opcional, se configurado para gerar dados nesse nível). Todos eles são membros do objeto de página.

Cada elemento tem um layout correspondente que descreve a posição e o texto dele.