Responder a: Extrair textos de partes/posições definidas do documento

Home Fóruns Fórum Reconhecimento de Textos com OCR e Python Extrair textos de partes/posições definidas do documento Responder a: Extrair textos de partes/posições definidas do documento

#37980
Gabriel Alves
Moderador

    Opa, para esse caso se há muitas possibilidades de layout diferentes eu acho que vai ser mais difícil encontrar alguma solução “pré-pronta” que abranja todas essas variações, mas se tiver sorte talvez encontre algo procurando em repositórios abertos como no github. O jeito seria construir o seu script próprio, preparado para extrair as informações dos documentos com layouts da forma que você precisa.

    Encontrei essa abordagem também, talvez possa ser útil.

    Uma alternativa à utilização de técnicas de pré-processamento seria usar algum detector de objetos (como o YOLO). Se treinar bem você consegue obter muita precisão, porém se o layout onde se encontra essa informação varia muito então recomendo tentar uma sugestão que deixo abaixo.

    (aqui há um outro exemplo de como poderia treinar um modelo em deep learning para localizar/classificar partes de um documento.)

    Ainda sobre o uso de técnicas de processamento, ao final da seção “Projeto 1” pode te dar uma intuição maior. Pegue por exemplo aquela imagem que usamos do rótulo com informações nutricionais do produto. Ali foi feita a busca a partir de um termo, onde retornou a posição dele na imagem. Digamos que você não sabe qual será o texto, nesse caso, você precisa saber qual é o padrão de onde ele vai aparecer, ou até mesmo a localização exata dele com base nos outros elementos da imagem. Para isso você pode utilizar as técnicas de processamento de imagem que mostramos nos 3 projetos finais. Por exemplo, se você sabe que a marca sempre aparece na primeira linha da tabela então primeiro você detecta os contornos na imagem (ou melhor, os retângulos) e extrai a área apenas daquele que se encontra mais ao topo (o que significa que constitui a primeira linha da tabela).

    Caso a posição realmente não seja tão óbvia você pode treinar um detector de objetos próprio para detectar a região onde se encontra essas informações (caso não consiga bons resultados com as técnicas de pré-processamento), conforme comentei mais acima.

    Ou seja, se você sabe exatamente qual texto está presente neste documento e você deseja saber se ele está ali (ou se tem alguma palavra que sempre acompanha essa informação marca, por exemplo, “Marca:” [x]) então poderia usar como base a técnica do Projeto 1, pois você consegue localizar a partir do filtro.

    Mas se esse local puder variar muito ao longo do documento (porém mantém uma mesma estrutura visual, ou muito parecida) então talvez o melhor seja treinar um detector de objetos próprio (como o YOLO por exemplo) para localizar essas regiões.