Metadados de livros e recuperação de capa usando OCR e API de livros do Google
Com o KNIME, extrair informações críticas das imagens torna-se tão fácil quanto o ABC.
By Roberto Cadili, Cientista de Dados, KNIME & Lada Rudnitckaia, Cientista de Dados, KNIME
Figura 1: Exemplos de avisos de edição de livros onde as informações podem ser extraídas graças ao OCR.
Na maioria das vezes, os dados brutos de que precisamos para nosso projeto de ciência de dados não estão organizados em uma tabela organizada, bem estruturada e esclarecedora. Em vez disso, às vezes isso é armazenado como texto em um documento digitalizado. As palavras do documento devem então ser extraídas uma por uma para formar uma célula de dados formatada em texto. Esta é a tarefa realizada pelo Reconhecimento Óptico de Caracteres (OCR).
À medida que você lê as palavras deste artigo, sejam elas texto ou números, seus olhos são capazes de processá-las, reconhecendo padrões claros e escuros que compõem os caracteres (por exemplo, letras, números, sinais de pontuação, etc.). Seu cérebro então decodifica as diferentes combinações de caracteres e padrões para compreender o significado das palavras. Nesse sentido, seus olhos e cérebro são o mecanismo de OCR mais sofisticado e refinado que você pode imaginar e funcionam sem que você perceba.
Os computadores têm capacidades semelhantes, mas têm de enfrentar uma limitação crucial: a ausência de olhos. Se quisermos que os computadores vejam e leiam um documento de texto físico, precisamos inserir um arquivo gráfico gerado com um scanner óptico ou uma câmera digital. No que diz respeito aos computadores, não há diferença entre um documento adquirido com qualquer uma dessas opções e uma fotografia da Torre Eiffel: ambos são considerados coleções sem sentido de quadrados coloridos – também conhecidos como pixels – que constituem qualquer imagem gráfica de computador. Como tal, este último é apenas uma imagem do texto que pretendemos ler, e não o texto em si.
É aqui que o OCR pode ser útil. Esta poderosa tecnologia é capaz de extrair dados impressos, digitados ou manuscritos, sejam faturas, cartões de visita, textos jurídicos ou impressos, e convertê-los em um formato digital pesquisável e editável. Embora durante muitos anos o OCR tenha sido considerado um serviço caro, que apenas poucas grandes empresas podiam pagar, a partir de meados da década de 2000, o seu custo diminuiu gradualmente, enquanto a sua precisão e capacidades evoluíram para suportar hoje várias centenas de idiomas e codificação de caracteres. , de UTF-8 a GB2312.
O benefício de poder pesquisar e extrair texto de imagens pode ser inestimável. Por exemplo, no setor jurídico ou contábil, pode representar uma economia significativa de custos e tempo, pois permite a recuperação de partes de texto ou números em artigos ou demonstrações financeiras em questão de segundos. Comparar esse processo com o custo de contratar um grupo de pessoas para ler milhares de documentos apenas para encontrar uma informação única e crítica dá uma ideia de como o OCR pode beneficiar as empresas.
Mais recentemente, a tecnologia OCR está a passar por uma revolução silenciosa, à medida que os fornecedores deste serviço a combinam com a IA. Como resultado disso, não apenas os dados são capturados, tornados pesquisáveis e editáveis, mas o sistema de IA está realmente entendendo o conteúdo para realizar tarefas específicas. Por exemplo, após realizar o OCR de um texto, a IA pode fornecer sua tradução usando tradução automática neural com intervenção humana mínima. Outro exemplo clássico vem da seção de auditoria, onde faturas fraudulentas podem ser reconhecidas após OCR do conteúdo do documento PDF, usando técnicas de detecção de valores discrepantes. E assim por diante. Essa sinergia combina o melhor dos dois mundos para agilizar processos e aumentar a produtividade de empresas e clientes.
No caso de uso descrito neste artigo, o OCR é usado para identificar um livro e, em seguida, recuperar os metadados do livro do repositório do Google Livros.
Mais especificamente, vamos dar uma olhada em:
- Como o OCR pode ser conduzido em Plataforma de análise KNIME.
- Como podemos integrar o processador OCR do KNIME e a API do Google Books para o caso de uso de recuperação de metadados e capas de livros.
OCR na plataforma KNIME Analytics
Fazer OCR de uma imagem contendo texto no KNIME é uma tarefa muito fácil. Basta instalar o Processamento de imagem KNIME - Integração Tess4J extensão em seu local Plataforma de análise KNIMEe para arrastar e soltar o Tess4J nó em seu editor de fluxo de trabalho.
O nó Tess4J integra o Biblioteca OCR Tesseract, um dos processadores OCR de código aberto mais usados e precisos disponíveis. O Tesseract foi originalmente desenvolvido como um software proprietário pelos Laboratórios Hewlett-Packard no início da década de 1990 e mais tarde tornou-se código aberto em 2005. Desde então, o Google adotou o projeto e patrocinou seu desenvolvimento.
O nó Tess4J é executado no Tesseract 3, que funciona reconhecendo padrões de caracteres em um procedimento de duas passagens.
- Na primeira passagem, o motor tenta reconhecer cada personagem individual. Em seguida, ele passa os caracteres que foram reconhecidos com alta confiança na primeira passagem para um classificador adaptativo como dados de treinamento. Desta forma, o classificador adaptativo tem a oportunidade de aprender como reconhecer o texto subsequente com mais precisão.
- No entanto, pode acontecer que o classificador adaptativo aprenda informações úteis tarde demais para fazer uma contribuição significativa. Para resolver este problema e aproveitar o conhecimento adquirido pelo classificador adaptativo, o motor opera uma segunda passagem onde caracteres que não foram reconhecidos suficientemente bem são reconhecidos novamente [1].
O Tesseract 3 lida com quaisquer caracteres Unicode (codificados com UTF-8) e pode processar texto em vários idiomas e layouts de escrita: da esquerda para a direita (por exemplo, inglês, italiano, russo, etc.), da direita para a esquerda (por exemplo, árabe, hebraico, urdu etc.) e de cima para baixo (por exemplo, japonês, coreano, chinês etc.) [2].
Aviso Legal. Atualmente, os usuários de Mac não podem usar o nó Tess4J. Os desenvolvedores do KNIME estão trabalhando para restaurar o bom funcionamento.
Caso de uso: recuperação de metadados e capa de livro
Agora que adquirimos uma compreensão básica de como o OCR funciona na plataforma KNIME Analytics, vamos dar uma olhada em um caso de uso interessante. Suponhamos que recolhemos imagens que ilustram os avisos de edição de vários livros e com esta informação pretendemos recuperar metadados e capas de livros. Os dados recuperados poderiam então ser usados, por exemplo, para construir uma biblioteca digital personalizada e treinar um sistema de recomendação de livros.
O fluxo de trabalho na Figura 2 abrange todas as etapas: desde a leitura de imagens, OCRing, processamento de texto e extração de referências ISBN, até metadados de livros e recuperação e visualização de capas. Vamos dar uma olhada nas diferentes etapas em detalhes.
Figura 2: Isto de gestão de documentos executa uma tarefa simples de OCR em avisos de edição de livros e recupera metadados e capas de livros usando a API do Google Livros.
1 – Leia os dados da imagem
O primeiro passo é importar as imagens do aviso de edição do livro para o KNIME. O aviso de edição é a página de um livro que contém informações sobre a edição atual, como aviso de direitos autorais, avisos legais, informações de publicação, histórico de impressão e um código ISBN (Figura 1).
O metanode “Ler dados de imagem” cuida disso de forma fácil e programática (Figura 3). Identificamos o local onde os arquivos de imagem são armazenados com o Listar arquivos / pastas nó e use o Leitor de imagens (tabela) nó para importar normalmente as imagens. No nó Image Reader (Table), precisamos apenas especificar a “File Input Column”, ou seja, a coluna com os caminhos para os arquivos onde nossas imagens estão armazenadas. Todas as outras configurações podem ser deixadas como padrão.
O Leitor de Imagens (Tabela) faz parte do Processamento de imagem KNINE extensão e, como outros nós desta extensão, oferece uma visualização interativa contendo a imagem e seus metadados simplesmente clicando com o botão direito do mouse no nó, selecionando “Visualizar: Visualizador de imagens” e clicando duas vezes em qualquer imagem na visualização da tabela.
Figura 3: Dentro do metanode “Ler dados da imagem”. O nó Image Reader (Table) importa imagens para o fluxo de trabalho e nos permite explorá-las interativamente em sua visualização.
2 – OCR
Após ler os arquivos de imagem dos avisos de edição do livro, podemos fazer o OCR deles.
A configuração do nó Tess4J é muito simples e requer apenas alguns cliques (Figura 4). No Configurações guia, o nó oferece a possibilidade de corrigir qualquer rotação ou imagem distorcida selecionando a caixa “Desinclinar imagens de entrada” na seção “Pré-processamento” da caixa de diálogo de configuração. Geralmente é aconselhável fazer isso, pois os arquivos gráficos podem não estar alinhados corretamente. Além disso, o nó Tess4J produz automaticamente uma imagem binária por trás do capô.
A seguir, selecionamos o “Caminho Tessdata”. Por padrão, está definido como “Usar Interno”, o que nos permite escolher o idioma do texto que queremos processar. Nesta configuração, o inglês é o idioma padrão, mas o nó Tess4J suporta outros idiomas naturais, como dinamarquês, italiano, espanhol, russo, grego, eslovaco, alemão e francês. Vale ressaltar que ao selecionar “Usar Externo”, podemos expandir as capacidades do nó Tess4J para incluir idiomas que não são suportados internamente. Na verdade, podemos escolher nossos próprios modelos de linguagem de dados treinados externamente, especificando o diretório onde eles estão armazenados. Escolhemos “Use Internal” porque preferimos contar com os modelos internos do Tess4J para nossos documentos em inglês.
Na seção “Configuração de reconhecimento”, encontramos as duas configurações de lista suspensa mais importantes, nomeadamente o “Modo de segmentação de página” e o “Modo de mecanismo de OCR”. O primeiro define como nossa página é segmentada.
Na Figura 4, selecionamos “Full Auto Pageseg”, que garante segmentação de páginas totalmente automática. Dependendo do caso de uso específico em questão, selecionar outro modo entre os 13 disponíveis (por exemplo, “Coluna única” ou “Texto esparso”) pode ser uma opção mais adequada.
A segunda configuração nos pede para escolher o mecanismo de OCR. Aqui, selecionamos “Tesseract Only”, o que garante a execução mais rápida. Outras opções incluem “Cube Only” — um modo de reconhecimento alternativo para o Tesseract — que é mais lento, mas geralmente produz melhores resultados; ou “Tesseract And Cube”, que combina o melhor dos dois mundos. A escolha de um motor ou outro depende fortemente da qualidade da imagem e da complexidade do texto que se deseja processar.
Além das configurações básicas, o nó Tess4J oferece uma Configuração avançada guia onde podemos definir um conjunto de parâmetros de controle. Esta guia torna o nó extremamente flexível e ajuda usuários experientes a personalizar e ajustar o mecanismo de OCR do Tesseract de acordo com suas necessidades específicas. Não se preocupe, na maioria dos casos, as configurações básicas irão ajudá-lo muito!
Figura 4: Caixa de diálogo de configuração do nó Tess4J.
Além de ajustar as configurações do nó Tess4J para o caso de uso em questão, é uma boa prática pré-processar completamente as imagens de entrada, se necessário. Em particular, o Tesseract funciona melhor quando as imagens são suficientemente ampliadas de modo que a contagem de pixels da altura x dos caracteres seja de pelo menos 20 pixels; as imagens estão corretamente alinhadas e têm resolução suficientemente alta; e quaisquer bordas escuras são removidas, ou podem ser mal interpretadas como caracteres [3]. O Processamento de imagem KNINE extensão inclui vários nós para limpeza, manipulação e transformação de imagens, e muitos exemplos de fluxos de trabalho pode ser encontrado no Hub KNIME.
A saída do nó Tess4J é uma tabela contendo o texto extraído como tipo de dados String e, como tal, pode ser pesquisado e editado.
3 — Processamento de texto para extração de ISBN
Depois que as imagens são OCR, o texto que elas contêm pode ser finalmente acessado e informações úteis recuperadas.
Em particular, os avisos de edição geralmente informam o código ISBN atribuído ao livro. O código ISBN é um identificador de livro comercial exclusivo de 13 dígitos (costumava ter 10 dígitos muito antes de 2007) e, como tal, é atribuído a cada edição e variação separada de uma publicação. A extração do código ISBN permite-nos referir-nos a cada livro de forma inequívoca quando queremos recuperar metainformação. Para conseguir isso, podemos contar com os nós incluídos em KNIME — Processamento de Texto extensão, alguns dos quais são usados no metanodo “extração de ISBN” (Figura 5).
No metanodo “Limpeza de texto”, começamos transformando o texto OCR do tipo de dados String para Documento. A seguir, convertemos o texto para minúsculas, removemos pontuação, espaços em branco, hífens e substituímos as letras “o” por “0” (zeros) para corrigir caracteres reconhecidos incorretamente nos códigos ISBN.
Extraímos os códigos ISBN isolando os 13 caracteres que seguem a string “isbn” e usamos o Mecanismo de regras nó para verificar se os caracteres extraídos não contêm valores ausentes e têm um comprimento esperado de 13 caracteres. Em seguida, exploramos a capacidade deste nó de anexar uma coluna que rotula a extração bem-sucedida como 1 e a extração malsucedida como 0.
Figura 5: Dentro do metanodo “extração de ISBN”.
4 — Recuperação e visualização de metainformação
Na etapa final, usamos os códigos ISBN para recuperar metainformações e capas de livros da API do Google Books. O metanodo “Obter metadados e capas de livros” cuida disso (Figura 6). No entanto, a recuperação de metadados só é possível se os códigos ISBN forem extraídos com sucesso. Para garantir um tratamento tranquilo da extração de ISBN bem-sucedida/malsucedida, incluímos vários nós de controle de fluxo de trabalho. Você pode encontrar uma visão geral esclarecedora no Folha de dicas: controle e orquestração com a plataforma KNIME Analytics.
Se o código ISBN for extraído com sucesso, usamos o Obter solicitação nó para enviar uma solicitação GET para API do Google Livros, um serviço web RESTful gratuito desenvolvido pelo Google que permite a recuperação de diversas metainformações como título do livro, subtítulo, autores, data de publicação, descrição, contagem de páginas, idioma, classificação média, contagem de classificação e capa. Além disso, este serviço web RESTful não requer a criação de uma conta de desenvolvedor. A configuração do nó GET Request é muito simples. Requer a simples seleção de uma “coluna URL” significativa que construímos no Manipulação de Cordas nó juntando-se ao URL da API do Google Livros com o código ISBN de cada edital de edição. Todas as outras configurações podem ser deixadas como padrão.
Em seguida, analisamos a saída JSON do nó GET Request usando o Caminho JSON nó e junte metainformações extraídas com capas de livros antes de coletar os resultados finais.
Por fim, criamos o componente “Visualizar metadados e capas de livros” para uma visualização organizada das metainformações e capas de livros recuperadas.
No componente, envolvemos o Widget de filtro deslizante de faixa interativa nó para ativar a filtragem dinâmica de livros com base na contagem média de avaliações (0-terrível; 5-fantástico) atribuída pelos leitores no Google Livros, e o nó Visualização lado a lado nó para exibir os resultados.
O componente então adquire uma visualização que inclui o controle deslizante para selecionar os livros com base na classificação média e uma tabela que hospeda as capas e a descrição dos livros selecionados. Para este artigo, optamos por extrair livros com classificações entre 3 e 5, e os resultados são apresentados na Figura 6.
Figura 6: Metainformações recuperadas e capas de livros com classificação superior a 3.
Resumo
Neste artigo, ilustramos como o OCR pode ser facilmente conduzido na plataforma KNIME Analytics. Para tanto, apresentamos o nó Tess4J e fornecemos detalhes sobre o funcionamento da biblioteca Tesseract OCR na qual este nó se baseia.
Além disso, mostramos um caso de uso simples onde o OCR pode ser um recurso poderoso e útil. Extraímos informações de avisos de edição de livros – em particular, os códigos ISBN – para enviar uma solicitação GET ao serviço web RESTful do Google Livros. Isso nos permitiu recuperar metadados e capas de livros.
Com o KNIME, fazer OCR de imagens para extrair informações críticas torna-se tão fácil quanto ABC. Experimente você mesmo! Qual é o seu caso de uso de OCR?
O fluxo de trabalho apresentado neste artigo pode ser baixado gratuitamente no site Hub KNIME.
Referências
[1]Smith, R. (2007). “Uma Visão Geral do Mecanismo Tesseract OCR”. Nona Conferência Internacional sobre Análise e Reconhecimento de Documentos (ICDAR 2007), pp. Acessível em:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Recuperado: 15.07.2021].
[2] Projeto Tesseract OCR no GitHub — https://github.com/tesseract-ocr/tesseract
[3] Documentação do Tesseract OCR no GitHub — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili é cientista de dados na KNIME, entusiasta da PNL e amante da história. Editor de Low Code para Ciência de Dados Avançada.
Lada Rudnitckaia é cientista de dados na KNIME.
Como publicado pela primeira vez em Código baixo para ciência de dados avançada.
Óptimo estado. Original. Republicado com permissão.
Relacionado:
Fonte: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Conta
- Contabilidade
- AI
- Todos os Produtos
- análise
- analítica
- api
- artigo
- artigos
- autores
- auto
- MELHOR
- Livros
- Caixa
- construir
- negócio
- negócios
- Cuidado
- Oportunidades
- casos
- reconhecimento de caracteres
- chinês
- classificação
- Limpeza
- clientes
- código
- Coleta
- Coluna
- comercial
- Empresas
- componente
- computadores
- Conferência
- confiança
- Configuração
- conteúdo
- direitos autorais
- Atual
- painel de instrumentos
- dados,
- ciência de dados
- cientista de dados
- detalhe
- Detecção
- Developer
- desenvolvedores
- Desenvolvimento
- digital
- INSTITUCIONAIS
- Cair
- Cedo
- editor
- engenheiro
- Inglês
- etc.
- execução
- Expandir
- Explorar
- Extração
- Figura
- Finalmente
- financeiro
- Primeiro nome
- seguir
- formulário
- formato
- Gratuito
- Francês
- GitHub
- Bom estado, com sinais de uso
- Grupo
- Manipulação
- acessível
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- Contratando
- história
- hospedagem
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- idéia
- identificar
- imagem
- Incluindo
- Passiva
- Crescimento
- indústria
- INFORMAÇÕES
- interativo
- Internacionais
- IT
- juntar
- Conhecimento
- Coreana
- Rótulos
- língua
- Idiomas
- grande
- APRENDER
- aprendizagem
- Legal
- Alavancagem
- Biblioteca
- leve
- Lista
- localização
- longo
- aprendizado de máquina
- maquina de tradução
- Manipulação
- média
- nomeadamente
- Arrumado
- Neural
- PNL
- nós
- números
- OCR
- Oferece
- aberto
- open source
- reconhecimento de caracteres ópticos
- Opção
- Opções
- Outros
- Pessoas
- físico
- fotografia
- pixels
- plataforma
- produtividade
- projeto
- Python
- qualidade
- alcance
- avaliações
- Cru
- dados não tratados
- Leitor
- leitores
- Leitura
- Denunciar
- recurso
- Resultados
- Ciência
- Pesquisar
- selecionado
- sentido
- conjunto
- contexto
- simples
- So
- Software
- RESOLVER
- Espanhol
- Patrocinado
- começo
- Histórias
- bem sucedido
- ajuda
- Suportado
- suportes
- .
- técnicas
- Equipar
- tesseract
- tempo
- topo
- Training
- Transformação
- transformando
- Tradução
- unicode
- us
- usuários
- Ver
- visualização
- web
- O que é a
- palavras
- Atividades:
- de gestão de documentos
- trabalho
- Equivalente há
- escrita
- X
- anos