Presentation given at I Workshop Per-Fide, UMinho, about GuardaLivros, an application being developed to detect and resolve problems in simple-text documents to be automatically processed (e.g., bi-text alignment) [PT].
Det. e Correc. Parc. de Problemas na Conv. de Formatos
1. Detecc˜o e Correcc˜o Parcial de
¸a ¸a
Problemas na Convers˜o de
a
Formatos
Andr´ Santos, pg15973@alunos.uminho.pt
e
Jos´ Jo~o Almeida, jj@di.uminho.pt
e a
I Workshop Per-Fide
DI@UM
16 de Setembro de 2010
2. 1 Introdu¸˜o
ca
2 Arquitectura e design goals
Primeira abordagem
Arquitectura
Pagina¸˜o
ca
Sec¸˜es
co
Par´grafos
a
Notas de rodap´e
Palavras e caracteres
Relat´rio e Commit
o
3 Conclus˜es, wish list e trabalho futuro
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
3. Introdu¸˜o
ca
1 Introdu¸˜o
ca
2 Arquitectura e design goals
Primeira abordagem
Arquitectura
Pagina¸˜o
ca
Sec¸˜es
co
Par´grafos
a
Notas de rodap´e
Palavras e caracteres
Relat´rio e Commit
o
3 Conclus˜es, wish list e trabalho futuro
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
4. Introdu¸˜o
ca
Introduc˜o
¸a
An´lise e tratamento de documentos em
a
formato electr´nico de texto simples, tendo em vista
o
a sua normaliza¸˜o para posterior processamento
ca
(e.g., alinhamento).
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
5. Introdu¸˜o
ca
Introduc˜o
¸a
An´lise e tratamento de documentos em
a
formato electr´nico de texto simples, tendo em vista
o
a sua normaliza¸˜o para posterior processamento
ca
(e.g., alinhamento).
v´rios tipos de documentos: livros, artigos
a
cient´ıficos, ...
v´rias proveniˆncias
a e
frequentemente, passado desconhecido
por vezes, resultado de tradu¸oes
c˜
por vezes, completamente adulterados
em v´rias l´
a ınguas
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
6. Introdu¸˜o
ca
Introduc˜o
¸a
Para j´...
a
Centrar no dom´ dos livros
ınio
Idealmente, acabaremos por ter partes
significativas reutiliz´veis noutros dom´
a ınios
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
7. Introdu¸˜o
ca
Descric˜o do problema
¸a
anterior formata¸˜o (superior/inferior ` linha,
ca a
it´lico, ...)
a
pagina¸˜o (n´meros, cabe¸alhos, rodap´s, ...)
ca u c e
divis˜o em sec¸˜es
a co
par´grafos
a
notas de rodap´ e
codifica¸˜o do texto
ca
...
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
8. Introdu¸˜o
ca
Descric˜o do problema - Exemplo
¸a
(. . . )
gaiement. Sur le devant s<92>’ouvrait la porte
d<92>’entr´e, donnant acc`s dans la salle commune.
e e
Une l´g`re v´randa, qui en prot´-
e e e e
<96>- 86 <96>-
^Lgeait la partie ant´rieure contre l<92>’action
e
des rayons solaires, reposait sur de sveltes bambous.
Le tout ´tait peint d<92>’une fra^che
e ı
(. . . )
La Jangada, Jules Verne
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
9. Arquitectura e design goals
1 Introdu¸˜o
ca
2 Arquitectura e design goals
Primeira abordagem
Arquitectura
Pagina¸˜o
ca
Sec¸˜es
co
Par´grafos
a
Notas de rodap´e
Palavras e caracteres
Relat´rio e Commit
o
3 Conclus˜es, wish list e trabalho futuro
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
10. Arquitectura e design goals
1 Introdu¸˜o
ca
2 Arquitectura e design goals
Primeira abordagem
Arquitectura
Pagina¸˜o
ca
Sec¸˜es
co
Par´grafos
a
Notas de rodap´e
Palavras e caracteres
Relat´rio e Commit
o
3 Conclus˜es, wish list e trabalho futuro
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
11. Arquitectura e design goals Primeira abordagem
Primeira abordagem
RegExp + Find & Replace
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
12. Arquitectura e design goals Primeira abordagem
Primeira abordagem
RegExp + Find & Replace
Demasiado naive
Grande confus˜o
a
Necess´ria abordagem mais sistematizada
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
13. Arquitectura e design goals Arquitectura
Arquitectura
defini¸˜o de DSL e ontologias
ca
ajudam na organiza¸˜o
ca
permitem abstrair do c´digo e discutir detalhes
o
a um n´ mais elevado (at´ com pessoas de
ıvel e
outras ´reas)
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
14. Arquitectura e design goals Arquitectura
Arquitectura
Montagem de uma pipeline; em cada passo lida-se
com um conjunto espec´ ıfico de problemas.
1 Pagina¸˜o
ca
2 Sec¸˜es
co
3 Par´grafos
a
4 Notas de rodap´e
5 Palavras e caracteres
6 ...
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
15. Arquitectura e design goals Arquitectura
Arquitectura
Montagem de uma pipeline; em cada passo lida-se
com um conjunto espec´ ıfico de problemas.
1 Pagina¸˜o
ca
2 Sec¸˜es
co
3 Par´grafos
a
4 Notas de rodap´e
5 Palavras e caracteres
6 ...
7 Commit
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
16. Arquitectura e design goals Pagina¸˜o
ca
Paginac˜o
¸a
Objectivo
Identificar e remover do texto elementos referentes
` pagina¸˜o do livro:
a ca
n´meros de p´gina
u a
cabe¸alhos
c
rodap´se
quebras de p´gina
a
Geralmente estes elementos s˜o factores que
a
destabilizam o processo de alinhamento.
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
17. Arquitectura e design goals Pagina¸˜o
ca
Paginac˜o - Exemplo
¸a
est vrai qu’il fallait etre assez chanceux pour
^
rencontrer le nabab, et assez audacieux pour
s’emparer de sa personne.
Page 3
^LLa maison a vapeur
` Jules Verne
Le faquir, - evidemment le seul entre tous
´
que ne surexcit^t pas l’espoir de gagner la
a
prime, - filait au milieu des groupes, s’arr^tant
e
La Maison ` Vapeur, Jules Verne
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
18. Arquitectura e design goals Pagina¸˜o
ca
Paginac˜o - Algoritmo
¸a
1 identificar as quebras de p´gina (e.g., ^L)
a
2 nas imedia¸˜es: candidatos a cabe¸alhos e
co c
rodap´s
e
3 contam-se as ocorrˆncias de cada candidato
e
normalizado
4 s˜o considerados cabe¸alhos ou rodap´s
a c e
candidatos que ultrapassarem um determinado
valor de ocorrˆncias
e
5 substitui-se tudo por uma marca pr´pria
o
6 move-se a informa¸˜o relativa ao n´mero de
ca u
p´gina, cabe¸alhos e rodap´s para ficheiro `
a c e a
parte
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
19. Arquitectura e design goals Pagina¸˜o
ca
Paginac˜o - Exemplo
¸a
est vrai qu’il fallait etre assez chanceux pour
^
rencontrer le nabab, et assez audacieux pour
s’emparer de sa personne.
Page 3
^LLa maison a vapeur
` Jules Verne
Le faquir, - evidemment le seul entre tous
´
que ne surexcit^t pas l’espoir de gagner la
a
prime, - filait au milieu des groupes, s’arr^tant
e
La Maison ` Vapeur, Jules Verne
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
20. Arquitectura e design goals Pagina¸˜o
ca
Paginac˜o - Exemplo
¸a
est vrai qu’il fallait etre assez chanceux pour
^
rencontrer le nabab, et assez audacieux pour
s’emparer de sa personne. _pb2_
Le faquir, - evidemment le seul entre tous
´
que ne surexcit^t pas l’espoir de gagner la
a
prime, - filait au milieu des groupes, s’arr^tant
e
La Maison ` Vapeur, Jules Verne
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
21. Arquitectura e design goals Sec¸˜es
co
Secc˜es
¸o
Objectivo
Identificar e normalizar as divis˜es entre as v´rias
o a
sec¸oes do livro (in´
c˜ ıcio, fim, partes, cap´
ıtulos,
anexos, ...)
Para realizar esta tarefa foi criada uma ontologia de
tipos de obra e respectiva hierarquia de divis˜es, em
o
v´rias l´
a ınguas.
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
22. Arquitectura e design goals Sec¸˜es
co
Secc˜es - Ontologia
¸o
Exemplo
cap
PT cap´tulo, cap, cap. , capitulo
ı
FR Chapitre, chap, chap.
EN Chapter, chap, chap.
NT sec
A partir desta ontologia ´ automaticamente gerada
e
uma parte do c´digo.
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
23. Arquitectura e design goals Sec¸˜es
co
Secc˜es - Exemplo
¸o
PRIMEIRA PARTE
FANTINE
^LLIVRO PRIMEIRO
UM JUSTO
O abade Myriel
Em 1815, era bispo de Digne, o reverendo Carlos
Francisco Bemvindo Myriel, o qual contava setenta e
Os Miser´veis, Vitor Hugo
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
24. Arquitectura e design goals Sec¸˜es
co
Secc˜es - Algoritmo
¸o
1 Procura de potenciais in´
ıcios de sec¸˜o:
ca
linhas contendo palavras-chave (cap´ıtulo, Cap.,
chapter, Apˆndice, Table des Mati´res, ...)
e e
p´ginas ou linhas contendo apenas numera¸˜o
a ca
numera¸˜o romana
ca
...
2 Colocar uma marca imediatamente antes da
sec¸˜o encontrada.
ca
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
25. Arquitectura e design goals Sec¸˜es
co
Secc˜es - Exemplo
¸o
PRIMEIRA PARTE
FANTINE
^LLIVRO PRIMEIRO
UM JUSTO
O abade Myriel
Em 1815, era bispo de Digne, o reverendo Carlos
Francisco Bemvindo Myriel, o qual contava setenta e
Os Miser´veis, Vitor Hugo
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
26. Arquitectura e design goals Sec¸˜es
co
Secc˜es - Exemplo
¸o
_sec+O:PARTE=PRIMEIRA_
FANTINE
_sec+O:LIVRO=PRIMEIRO_
UM JUSTO
O abade Myriel
Em 1815, era bispo de Digne, o reverendo Carlos
Francisco Bemvindo Myriel, o qual contava setenta e
Os Miser´veis, Vitor Hugo
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
27. Arquitectura e design goals Sec¸˜es
co
Secc˜es
¸o
A identifica¸˜o das v´rias partes constituintes de um
ca a
documento:
permite posteriormente comparar as duas
vers˜es e remover partes que estejam presentes
o
apenas numa delas (apˆndices, pref´cios a
e a
edi¸oes espec´
c˜ ıficas, etc)
permitir´ fazer um alinhamento estrutural
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
28. Arquitectura e design goals Par´grafos
a
Par´grafos
a
Objectivo
Resolver quest˜es relacionadas com a identifica¸˜o
o ca
de par´grafos, discurso directo, etc.
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
29. Arquitectura e design goals Par´grafos
a
Par´grafos - Exemplo
a
L’h^tesse prit la d´fense de son cur´:
o e e
- D’ailleurs, il en plierait quatre comme vous sur
son genou. Il a, l’ann´e derni`re, aid´ nos gens a
e e e `
rentrer la paille; il en portait jusqu’` six bottes
a
a la fois, tant il est fort!
`
- Bravo! dit le pharmacien. Envoyez donc vos filles
en confesse a des gaillards d’un temp´rament pareil!
` e
Moi, si j’´tais le gouvernement, je voudrais qu’on
e
saign^t les pr^tres une fois par mois.
a e
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
30. Arquitectura e design goals Par´grafos
a
Par´grafos - Algoritmo
a
identifica¸˜o de par´grafos baseia-se na an´lise
ca a a
da indenta¸˜o e das linhas em branco
ca
identifica¸˜o (e normaliza¸˜o) de discurso
ca ca
directo:
pontua¸˜o, par´grafo, travess˜o
ca a a
texto entre aspas
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
31. Arquitectura e design goals Notas de rodap´
e
Notas de rodap´
e
Objectivo
Identificar e remover do documento notas de rodap´
e
e respectivas chamadas.
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
32. Arquitectura e design goals Notas de rodap´
e
Notas de rodap´ - Exemplo
e
On fit un inventaire de son argent comptant, et on
le mena dans le ch^teau que fit construire le roi
a
Charles V, fils de Jean II, aupr`s de la rue
e
Saint-Antoine, a la porte des Tournelles[1].
`
[1] La Bastille, qui fut prise par le peuple de
Paris, le 14 juillet 1789, puis d´molie. B.
e
Quel etait en chemin l’´tonnement de l’Ing´nu!
´ e e
je vous le laisse a penser. Il crut d’abord
`
que c’´tait un r^ve.
e e
Oeuvres de Voltaire, Voltaire
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
33. Arquitectura e design goals Notas de rodap´
e
Notas de rodap´ - Algoritmo
e
1 Identificar chamadas para notas de rodap´ no
e
meio de frases ([1], <<2>>, ^3, ...)
2 Substituir por uma marca pr´pria
o
3 Identificar notas de rodap´ (geralmente
e
encontram-se no fim de p´ginas ou no fim do
a
documento).
Outras pistas: N. d(o|a|os|as) T., ...
4 Inserir uma marca pr´pria e remover a nota
o
para um ficheiro ` parte
a
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
34. Arquitectura e design goals Notas de rodap´
e
Notas de rodap´ - Exemplo
e
On fit un inventaire de son argent comptant, et on
le mena dans le ch^teau que fit construire le roi
a
Charles V, fils de Jean II, aupr`s de la rue
e
Saint-Antoine, a la porte des Tournelles[1].
`
[1] La Bastille, qui fut prise par le peuple de
Paris, le 14 juillet 1789, puis d´molie. B.
e
Quel etait en chemin l’´tonnement de l’Ing´nu!
´ e e
je vous le laisse a penser. Il crut d’abord
`
que c’´tait un r^ve.
e e
Oeuvres de Voltaire, Voltaire
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
35. Arquitectura e design goals Notas de rodap´
e
Notas de rodap´ - Exemplo
e
On fit un inventaire de son argent comptant, et on
le mena dans le ch^teau que fit construire le roi
a
Charles V, fils de Jean II, aupr`s de la rue
e
Saint-Antoine, a la porte des Tournelles_fnr29_.
`
_fne8_
Quel etait en chemin l’´tonnement de l’Ing´nu!
´ e e
je vous le laisse a penser. Il crut d’abord
`
que c’´tait un r^ve.
e e
Oeuvres de Voltaire, Voltaire
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
36. Arquitectura e design goals Palavras e caracteres
Palavras e caracteres
translinea¸oes de palavras
c˜
codifica¸˜o do texto
ca
...
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
37. Arquitectura e design goals Relat´rio e Commit
o
Relat´rio
o
Os passos anteriores produzem um relat´rio
o
Este relat´rio consiste num resumo do que est´
o a
a ser assumido e do que est´ a ser feito
a
O objectivo ´ permitir realizar um diagn´stico
e o
ao funcionamento do programa, permitindo
corrigir manualmente aquilo que estiver errado
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
38. Arquitectura e design goals Relat´rio e Commit
o
Relat´rio
o
livros/_FR_15.pdf.txt:
footers=[’( Page) = 241’]
headers=[
"(La maison x{e0} vapeur Jules Verne) = 241"]
ctrL=1;
pagnum_ctrL=241;
sectionsO=2;
sectionsN=30;
word_tr=58;
words=118036;
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
39. Arquitectura e design goals Relat´rio e Commit
o
Passo final: commit
Depois de verificado o relat´rio e afinados os
o
pormenores, ´ poss´ a cria¸˜o de uma c´pia
e ıvel ca o
do documento sem as marcas anteriormente
adicionadas.
Este ´ a ultima etapa antes da realiza¸˜o do
e ´ ca
alinhamento, e limpa tanto quanto poss´ o
ıvel
texto de tudo o que possa vir a afectar
negativamente o alinhador.
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
40. Conclus˜es, wish list e trabalho futuro
o
1 Introdu¸˜o
ca
2 Arquitectura e design goals
Primeira abordagem
Arquitectura
Pagina¸˜o
ca
Sec¸˜es
co
Par´grafos
a
Notas de rodap´e
Palavras e caracteres
Relat´rio e Commit
o
3 Conclus˜es, wish list e trabalho futuro
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
41. Conclus˜es, wish list e trabalho futuro
o
1 Introdu¸˜o
ca
2 Arquitectura e design goals
Primeira abordagem
Arquitectura
Pagina¸˜o
ca
Sec¸˜es
co
Par´grafos
a
Notas de rodap´e
Palavras e caracteres
Relat´rio e Commit
o
3 Conclus˜es, wish list e trabalho futuro
o
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
42. Conclus˜es, wish list e trabalho futuro
o
Conclus˜es, wish list e trabalho futuro
o
N˜o existe um standard para livros
a
(documentos?) em txt
Os documentos s˜o bastante heter´geneos
a o
(proveniˆncia, tipo e quantidade notas de
e
rodap´, formato da pagina¸˜o, ...)
e ca
Viva as express˜es regulares!
o
Tem-se verificado a regra dos 20/80
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
43. Conclus˜es, wish list e trabalho futuro
o
Conclus˜es, wish list e trabalho futuro
o
Ontologias e DSLs ajudam a estruturar ideias -
melhorar e completar
Conjunto de fun¸˜es de diagn´stico prop˜em
co o o
altera¸˜es que podem ser tornadas
co
permanentes
O relat´rio a gerar no fim dos diagn´sticos
o o
deve apresentar resumo inteligente da an´lise
a
´
Indice de “alinhabilidade”
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
44. Conclus˜es, wish list e trabalho futuro
o
Conclus˜es, wish list e trabalho futuro
o
Implementa¸˜o de algoritmos de aprendizagem
ca
Al´m dos livros: poesia, legisla¸˜o, artigos
e ca
cient´
ıficos, s´ıtios web, . . .
Andr´ Santos, Jos´ Jo˜o Almeida
e e a Det. e Correc¸˜o Parc. de Problemas na Conv. de Formatos
ca
45. Detecc˜o e Correcc˜o Parcial de
¸a ¸a
Problemas na Convers˜o de
a
Formatos
Andr´ Santos, pg15973@alunos.uminho.pt
e
Jos´ Jo~o Almeida, jj@di.uminho.pt
e a
I Workshop Per-Fide
DI@UM
16 de Setembro de 2010