Descrição do Projeto
Desenvolver programa em Java para transcrever texto de documentos web (html, htm) ou pdf (com OCR) para arquivo estruturado no formato .csv, conforme especificações.
Deverá ser fornecido código fonte (arquivos java) do programa desenvolvido e arquivos .jar, caso utilize complementos externos. O programa deverá funcionar sem uso de internet, ou seja, não deve acessar complementos externos, como API, exceto aqueles contidos em arquivos .jar.
Todas as classes e métodos deverão conter comentários que expliquem sua função, parâmetros de entrada e de saída.
Os arquivos de entrada deverão ser lidos de uma pasta denominada “input” na raiz do programa.
Os arquivos de saída deverão ser salvos em uma pasta denominada “output” na raiz do programa.
O projeto tem como principais desafios:
• conseguir tratar as especificidades de cada tipo de arquivo de entrada, de forma a conseguir segmentar o conteúdo principal do arquivo (títulos e itens, como artigos, parágrafos, subitens) de informações desnecessárias (índice, notas, paginação, figuras, bibliografia, etc).
• Tratar arquivos PDF e quebras de página indesejadas.
• Tratar erros de digitação, como falta de espaços.
Embora possa parecer simples, o projeto traz bons desafios ao programador.
Especificações
Especificação 1:
Os arquivos de entrada constituem-se de documentos da legislação brasileira, normativos, manuais e similares (códigos, leis, decretos, portarias, regimentos, manuais, entre outros). Vide exemplos no ANEXO I.
Os arquivos de saída contém texto estruturado, que deverá seguir o padrão abaixo.
Incluir uma coluna à esquerda com o nome do arquivo processado.
Vide exemplos no anexo ii.
Ord id id_ext tipo descricao
0 parte i parte i título
1 livro único livro único item
2 título i título i item da aplicação da lei penal
3 subtítulo ii subtítulo ii item
4 capítulo v capítulo v item das espécies de pena
5 seção xx seção xx item das penas restritivas de direitos
6 subseção x subseção x item disposições gerais
7 art. 1°.
Art. 1°. Item A decretação da intervenção dependerá:
8 § 1°.
§ 1°. Item Cessados os motivos da intervenção, as autoridades afastadas de seus cargos a estes voltarão.
9 Parágrafo único.
Parágrafo único. Item Lei complementar disporá sobre:
10 Pena Pena Item 5 (cinco) anos de reclusão.
11 Medida Administrativa Medida Administrativa Item Multa.
12 Meta Meta Item 100% dos domicílios atendidos.
13 I I. Item É garantido ao servidor público civil o direito à livre associação sindical;
14 I a III I.
A III. Item Revogados.
15 §§ 4º.
E 5°. §§ 4º. E 5°.
Item Vetados.
16 a) Alínea a) Item Sessenta anos de idade e trinta e cinco de contribuição;
17 1 1. Item Maior de 65 anos;
18 1.1 1.1.
Item Estados e municípios;
19 1) 1) Item Animais domésticos;
20 @@ Título dos idosos
21 @@ item frações não computáveis da pena
(vide tabela formatada no pdf da descrição)
especificação 2:
nos casos dos itens que não possuírem identificação, o campo id_ext deverá ser preenchido com “@@”.
Ex.:
Entrada:
Prazo de duração do contrato.
Saída:
ord id id_ext tipo descricao
0 @@ item prazo de duração do contrato.
(Vide tabela formatada no PDF da descrição)
Especificação 3:
Nos casos dos itens ou títulos que não possuírem descrição, o campo deverá permanecer vazio.
Ex.:
Entrada:
Título Único
Saída:
ord id id_ext tipo descricao
0 título único título único título
(vide tabela formatada no pdf da descrição)
especificação 4:
o texto da coluna descrição deverá ser formatado conforme se segue:
quando o tipo for título, exceto subtítulo e subseção: uppercase.
Quanto o tipo for TÍTULO, especificamente para subtítulo e subseção: Camel Case.
Demais casos: primeira letra da frase maiúscula.
Ex.:
Ord id id_ext tipo descricao
0 subseção x subseção x título disposições gerais
1 art. 1°. Art.
1°. Item A decretação da intervenção dependerá:
(vide tabela formatada no PDF da descrição)
Especificação 5:
A descrição de itens revogados ou vetados deverá ser substituída pelas respectivas expressões “Revogadas” ou “Vetadas”, respectivamente.
Ex.:
Entrada:
Art. 6° (V E T A D O)
Saída:
ord id id_ext tipo descricao
0 art. 6°.
Art. 6°. Item Vetado.
(Vide tabela formatada no PDF da descrição)
Especificação 6:
Itens revogados ou vetados dispostos em sequência no documento deverão ser agrupados.
Ex.:
I. (Vetado).
II. (Vetado).
III. (Vetado).
Registro no arquivo de saída:
ord id id_ext tipo descricao
0 i a iii i.
A III. Item Vetados.
(Vide tabela formatada no PDF da descrição)
Especificação 7:
Notas e observações referentes ao item do documento, normalmente incluídas no final da frase, entre parênteses, ou no rodapé dos documentos, deverão ser removidos do arquivo de saída.
Ex.:
(Redação dada pela Emenda Constitucional nº 49, de 2006)
(Vide Lei nº 13.105, de 2015)
(Vigência)
(Regulamento)
(Incluído pela Emenda Constitucional nº 45, de 2004)
(Atos aprovados na forma deste parágrafo: dlg nº 186, de 2008, dec 6.949, de 2009, dlg 261, de 2015, dec 9.522, de 2018)
(Produção de efeito)
(NR)
Obs.: A lista acima não é exaustiva e outros tipos de notas e observações devem ser removidos.
Especificação 8:
Excesso ou falta de espaços devem ser corrigidos.
E.X:
• Art.7°. Corrigido para Art. 7°.
• §3°. Corrigido para § 3°.
Especificação 9:
Símbolos transcritos incorretamente devem ser corrigidos pelo programa.
Ex.:
“Art. 1o” deve ser corrigido para “Art. 1°”.
Especificação 10:
Quando houverem 2 ou mais registros consecutivos do tipo TÍTULO, apenas o primeiro deve ser mantido com essa classificação. Os demais devem ser classificados como ITEM no arquivo de saída. Essa mudança de classificação não deve alterar a formatação do texto dos itens do tipo Título, reclassificados para item, que devem permanecer com caixa alta.
Especificação 11:
Conteúdo como índices, sumários, listas de figuras, legendas, notas de rodapé, numeração de páginas, gráficos, tabelas, fórmulas, datas por extenso (Brasília, 25 de janeiro de 1982), bibliografia, lista de autores não devem ser incluídos no arquivo estruturado.
Sugere-se usar uma abordagem que identifique divergências desse tipo de conteúdo com o padrão de conteúdo principal, a fim de permitir sua segmentação.
Note que a maior parte do texto poderá ser reconhecida pelos identificadores (Art.,
§, Incisos, alíneas, itens, capítulo, título, etc).
Esses identificadores poderão ser utilizados para determinar o início e o fim do documento, bem como distinguir o texto de interesse de áreas do documento que contenham tabelas, figuras, quadros, gráficos, notas de rodapé, páginas e legendas.
Especificação 12:
No tratamento de arquivos no formato pdf, observar que devem ser tratadas as quebras de linha indesejadas, inseridas durante o processo de conversão do formato pdf para texto (como aquelas encontradas no meio de palavras ou frases).
Prazo
O prazo de execução do projeto é de 5 semanas, conforme cronograma a seguir:
Semanas 1 e 2: programa funcional para arquivos de entrada do tipo web (html e htm).
Semana 3: programa funcional para arquivos de entrada do tipo PDF. Execução de ajustes indicados pelo cliente, referente à entrega ocorrida nas semanas 1 e 2.
Semana 4: Execução de ajustes indicados pelo cliente, referente à entrega ocorrida nas semanas 1 a 3.
Semana 5: Validação pelo cliente e ajustes finais.
Validação
Para validação, o cliente irá compilar e executar o programa com os arquivos de entrega indicados no Anexo III - Amostras de teste para validação, devendo obter como resultado arquivos estruturados, seguindo o padrão informado: anexo ii.
Além disso, irá executar o programa com outras amostras selecionadas aleatoriamente e avaliará o resultado final.
ANEXO I – Exemplos de Arquivos de Entrada
CF88.html
L8666.hmt
MRPR.pdf
Euff.pdf
anexo ii – exemplos de arquivos de saída
output.Csv
anexo iii – amostras de teste para validação
nos casos em que o programa apresentar comportamento diferente do previsto, será solicitado o ajuste.
Prazo de Entrega: Não estabelecido