Skip to content

Commit a5e83de

Browse files
committed
Keep marker rows off oversized neighbouring lines: 42 passes, 20/21
Correcting poster 42's annotation (posters-science-extraction-api 21d238d) made it winnable for the first time and exposed a real reading-order bug its impossible ground truth had been masking. Three causes, all in how a stranded marker row finds its way home. Baseline clustering is greedy: a char joins the first cluster within tolerance, not the nearest. 42's banner sets its title at 96pt and its byline markers at 26pt on a baseline 18pt below the title's and 15pt above the byline's, so the title captured the markers first and _cluster_lines emitted "& Analysis of Poten1,2tial Hum2an Ca1rcinogens". Chars whose sizes are too far apart (LINE_SIZE_RATIO, sweepable) are no longer put on the same line; a row split off this way is offered back to its real host by _merge_superscript_rows, which already verifies the row annotates it. This also recovers 5128504's fields (rField +0.101), which had a 13.9pt fragment fused into a 72pt heading. _chars_to_word_lines then undid the repair: it gave each word to the first line whose box enclosed it, and a 96pt title's box is tall enough to enclose a 26pt row printed below it. Words now go to the line whose baseline they share, which is what makes a line a line. Finally the corrector could not find the byline at all: it searched for "O'Neill" while the poster prints "O’Neill", so _banner_region anchored on the References citation instead. Curly quotes normalize to straight, and normalization now happens before the byline is located rather than only before it is parsed. 42 LOGIC-GAP to PASS. Board: 20/21 acceptable, 12/13 numbered end-to-end, and 13/13 corrector-logic OK - with correct ground truth the corrector's logic is right on every numbered poster in the corpus. Corpus rField 0.729 to 0.735, w 0.976, rGlobal 0.835, suite green (260 passed). Every affiliation string in the corpus verified verbatim; the only change is 42 going from nothing to correct. One deliberate trade: 10890106 loses 0.011 rGlobal while every one of its twelve fields is identical to the byte and it still passes, so the shift is in text belonging to no field. rField is the headline and rGlobal is explicitly not to be chased. Remaining: 8228476 (RTL, approach D).
1 parent e492a9c commit a5e83de

4 files changed

Lines changed: 1306 additions & 32 deletions

File tree

0 commit comments

Comments
 (0)