Anotação de arquivos PDF - Amazon Comprehend

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Anotação de arquivos PDF

Antes de fazer anotações em seus PDFs de treinamento SageMaker no Ground Truth, preencha os seguintes pré-requisitos:

  • Instalar o python3.8.x

  • Instalar o jq

  • Instale o AWS CLI

    Se você estiver usando a região us-east-1, poderá pular a instalação AWS da CLI porque ela já está instalada com seu ambiente Python. Nesse caso, você cria um ambiente virtual para usar o Python 3.8 no AWS Cloud9.

  • Configurar suas credenciais da AWS

  • Crie uma força de trabalho privada da SageMaker Ground Truth para apoiar a anotação

    Certifique-se de registrar o nome da equipe de trabalho que você escolher em sua nova força de trabalho privada, conforme você a utiliza durante a instalação.

Configuração de seu ambiente

  1. Se estiver usando o Windows, instale o Cygwin; se estiver usando Linux ou Mac, pule esta etapa.

  2. Baixe os artefatos de anotação em. GitHub Descompacte o arquivo.

  3. Na janela do terminal, navegue até a pasta descompactada (amazon-comprehend-semi-structured- documents-annotation-tools-main).

  4. Essa pasta inclui uma opção Makefiles que você executa para instalar dependências, configurar um virtualenv do Python e implantar os recursos necessários. Revise o arquivo readme para fazer sua escolha.

  5. A opção recomendada usa um único comando para instalar todas as dependências em um virtualenv, criar a AWS CloudFormation pilha a partir do modelo e implantá-la em você com orientação interativa. Conta da AWS Execute o seguinte comando:

    make ready-and-deploy-guided

    Esse comando apresenta um conjunto de opções de configuração. Verifique se o seu Região da AWS está correto. Para todos os outros campos, você pode aceitar os valores padrão ou preencher valores personalizados. Se você modificar o nome da AWS CloudFormation pilha, anote-o conforme necessário nas próximas etapas.

    Sessão do terminal mostrando AWS CloudFormation as opções de configuração.

    A CloudFormation pilha cria e gerencia os AWS lambdas, as funções AWS do IAM e os buckets do AWS S3 necessários para a ferramenta de anotação.

    Você pode revisar cada um desses recursos na página de detalhes da pilha no CloudFormation console.

  6. O comando solicita que você inicie a implantação. CloudFormation cria todos os recursos na região especificada.

    Sessão do terminal mostrando a AWS CloudFormation configuração implantada.

    Quando o status da CloudFormation pilha muda para criação concluída, os recursos estão prontos para uso.

Fazer upload de um PDF em um bucket do S3

Na seção Configuração, você implantou uma CloudFormation pilha que cria um bucket S3 chamado comprehend-semi-structured-documents-$ {}. AWS::Region}-${AWS::AccountId Agora, você carrega seus documentos PDF de origem nesse bucket.

nota

Esse bucket contém os dados necessários para seu trabalho de marcação. A política do perfil de execução do Lambda concede permissão para que a função do Lambda acesse esse bucket.

Você pode encontrar o nome do bucket S3 nos detalhes da CloudFormation pilha usando a chave SemiStructuredDocuments'S3Bucket'.

  1. Crie uma nova pasta no bucket do S3. Nomeie essa nova pasta como “src”.

  2. Adicione seus arquivos de origem PDF à sua pasta “src”. Em uma etapa posterior, você anotará esses arquivos para treinar seu reconhecedor.

  3. (Opcional) Aqui está um exemplo de AWS CLI que você pode usar para carregar seus documentos de origem de um diretório local em um bucket do S3:

    aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided/src/

    Ou, com seu ID região da conta:

    aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided-Region-AccountID/src/

  4. Agora você tem uma força de trabalho privada da SageMaker Ground Truth e enviou seus arquivos de origem para o bucket do S3, deploy-guided/src/; você está pronto para começar a anotar.

Criação de um trabalho de anotação

O script comprehend-ssie-annotation-tool-cli.py no bin diretório é um comando wrapper simples que simplifica a criação de um trabalho de rotulagem do SageMaker Ground Truth. O script do python lê os documentos de origem do seu bucket do S3 e cria um arquivo de manifesto de página única correspondente com um documento de origem por linha. Em seguida, o script cria um trabalho de rotulagem, que exige o arquivo de manifesto como entrada.

O script python usa o bucket e a CloudFormation pilha do S3 que você configurou na seção Configuração. Os parâmetros de entrada necessários para o script incluem:

  • input-s3-path: Uri do S3 para os documentos de origem que você carregou no seu bucket do S3. Por exemplo: s3://deploy-guided/src/. Também é possível adicionar o ID e região da conta a esse caminho. Por exemplo: s3://deploy-guided-Region-AccountID/src/.

  • cfn-name: O nome da CloudFormation pilha. Se você tiver usado o valor padrão para o nome da pilha, seu cfn-name será sam-app.

  • work-team-name: O nome da força de trabalho que você criou quando criou a força de trabalho privada em SageMaker Ground Truth.

  • job-name-prefix: O prefixo para o trabalho de rotulagem do SageMaker Ground Truth. Observe que há um limite de 29 caracteres para esse campo. Um carimbo de data/hora será anexado a esse valor. Por exemplo: my-job-name-20210902T232116.

  • entity-types: as entidades que você deseja usar durante seu trabalho de rotulagem, separadas por vírgulas. Essa lista deve incluir todas as entidades que você deseja anotar no seu conjunto de dados de treinamento. A tarefa de rotulagem do Ground Truth exibe somente essas entidades para que os anotadores rotulem o conteúdo nos documentos PDF.

Para ver argumentos adicionais que o script suporta, use a opção -h para exibir o conteúdo da ajuda.

  • Execute o script a seguir com os parâmetros de entrada, conforme descrito na lista anterior.

    python bin/comprehend-ssie-annotation-tool-cli.py \ --input-s3-path s3://deploy-guided-Region-AccountID/src/ \ --cfn-name sam-app \ --work-team-name my-work-team-name \ --region us-east-1 \ --job-name-prefix my-job-name-20210902T232116 \ --entity-types "EntityA, EntityB, EntityC" \ --annotator-metadata "key=info,value=sample,key=Due Date,value=12/12/2021"

    O script produz o seguinte resultado:

    Downloaded files to temp local directory /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa Deleted downloaded temp files from /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa Uploaded input manifest file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/input-manifest/my-job-name-20220203-labeling-job-20220203T183118.manifest Uploaded schema file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/schema.json Uploaded template UI to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/template-2021-04-15.liquid Sagemaker GroundTruth Labeling Job submitted: arn:aws:sagemaker:us-west-2:123456789012:labeling-job/my-job-name-20220203-labeling-job-20220203t183118 (amazon-comprehend-semi-structured-documents-annotation-tools-main) user@3c063014d632 amazon-comprehend-semi-structured-documents-annotation-tools-main %

Anotando com SageMaker Ground Truth

Agora que você configurou os recursos necessários e criou uma tarefa de rotulagem, você pode fazer login no portal de rotulagem e fazer anotações em seus PDFs.

  1. Faça login no SageMaker console usando os navegadores Chrome ou Firefox.

  2. Selecione Rotulagem de forças de trabalho e escolha Privado.

  3. Em Resumo da força de trabalho privada, selecione o URL de login do portal de rotulagem que você criou com sua força de trabalho privada. Faça login com as credenciais adequadas.

    Se você não encontrar nenhum trabalho listado, não se preocupe. A atualização pode demorar um pouco, dependendo do número de arquivos que você enviou para anotação.

  4. Selecione sua tarefa e, no canto superior direito, escolha Começar a trabalhar para abrir a tela de anotação.

    Você verá um dos seus documentos abertos na tela de anotação e, acima dela, os tipos de entidade que você forneceu durante a configuração. À direita dos seus tipos de entidade, você verá uma seta que pode usar para navegar pelos seus documentos.

    A tela de anotação do Amazon Comprehend.

    Faça anotações no documento aberto. Você também pode remover, desfazer ou marcar automaticamente suas anotações em cada documento. Essas opções estão disponíveis no painel direito da ferramenta de anotação.

    Opções disponíveis no painel direito da anotação do Amazon Comprehend.

    Para usar a marcação automática, anote uma instância de uma de suas entidades e todas as outras instâncias dessa palavra específica serão então anotadas automaticamente com esse tipo de entidade.

    Após terminar, selecione Enviar no canto inferior direito e use as setas de navegação para acessar o próximo documento. Repita isso até ter feito anotações em todos os seus PDFs.

Após anotar todos os documentos de treinamento, você poderá encontrar as anotações no formato JSON no bucket do Amazon S3 neste local:

/output/your labeling job name/annotations/

A pasta de saída também conterá um arquivo de manifesto de saída, que lista todas as anotações em seus documentos de treinamento. Você encontrará seu arquivo de manifesto de saída no seguinte local.

/output/your labeling job name/manifests/