dataforgoodfr / batch7_rse

A search engine for French corporate societal and environnemental commitments and actions.
http://dataforgood.fr/batch7_rse/
MIT License
5 stars 2 forks source link

Meilleur parsing des colonnes des PDFs #20

Closed CharlesGaydon closed 4 years ago

CharlesGaydon commented 4 years ago

Il y a actuellement un problème fréquent dans la façon dont les colonnes de textes sont identifiées. V0: Le pdf est découpé verticalement en colonnes arbitraires de 150 (pixels?) d'unités de large, un pdf faisant environ 700 unités de large. Les textes dont le début (x_min) se trouve dans ces zones sont alors groupés ensemble. Problème: les zones zones arbtiraire, et de petits décalages (par exemple début d'une liste à point) dans un même paragraphe peuvent totalement couper le paragraphe et disperser son contenu.

V1 - essai de trouver des zones moins arbitraires en découpant verticalement le pdf en trouvant les verticales concentrant les déuts de textes (nombreux x_min autour d'une valeur). Le système semble marcher relativement mieux que le précédent, et notamment les paragraphes page 151 de la dpef EDF ne sont pas splités. La V1 est stockée sur la branche https://github.com/dataforgoodfr/batch7_rse/commits/parse_correction_V1_fail Mais fail car le problème est celui des phrases ne respectant pas la structure principale de paragraphes en colonnes qu'on trouve le plus souvent dans une page. Les phrases sont alors coupées.

CharlesGaydon commented 4 years ago

image Exemple de cas typique pour edf: les phrases en bas sont des notes de bas de pages, avec la structure (1) blablabla (2) patata

CharlesGaydon commented 4 years ago

Après recherche du jeu de pdfs actuels, ce cas est rarissime, et concerne en majorité des notes de bas de pages ou des titres en haut de page. Un cas plus plus fréquent est celui d'un changement de structure de colonnes au sein d'une même page (cf exemple) mais tout de même rare : la structure est dans l'immense majorité (en tout cas sur les pdfs actuels) homogène pour une même page, avec souvent deux, parfois trois, rarement quatre colonnes de texte. Nous gardons donc cette nouvelle manière de définir dynamiquement les colonnes.

image

LVMH p12 image

CharlesGaydon commented 4 years ago

Un élément nécessaire semble toutefois de définir des bandes horizontales où le texte est jugé trop pauvre pour être indexé. il peut s'agir: