# GT error / noise evidence Tài liệu này chụp lại các đoạn **ground truth (GT) bị lỗi hoặc nhiễu** trong `docs/test/parsed_pdfs/`. Mục tiêu: phân biệt rõ điểm mất score do **GT/GROBID lỗi** với lỗi thật của OCR/parser. ## Tổng quan | Paper | Metric bị ảnh hưởng | Vị trí | Lỗi của GT | Tác động | |---:|---|---|---|---| | 435 | Text | `4.2 Results` | GT/GROBID cắt vụn chữ thành token rác/ngắn | Pred sạch hơn nên không tái tạo rác, Text recall không thể full | | 435 | Table | `4.2 Results` | GT đọc sai / làm méo số bảng corpus-count | Nếu so cứng với GT, pred bị phạt dù đọc đúng hơn | | 49 | Table | `3 Chunk-based Neural Machine Translation` | GT gộp figure/CJK/mojibake vào vùng giống bảng | Table không đạt `1.000` dù bảng thật match đủ | | 49 | Formula cũ | figure/mojibake trong GT | GT có dấu `=` rác trong figure | Formula cũ bị thấp giả; metric mới lọc dòng rác nên Formula `1.000` | | 323 / 355 / 49 / 768 | Text | các section có công thức/ký hiệu | GT text-layer gộp/tách biến toán không ổn định | Text mất điểm do token không khớp, không phải mất nội dung | | nhiều paper | General | toàn văn | GT giữ số dòng lề / số trang | Output sạch bị phạt nếu không chuẩn hóa | ## 1. Paper 435 — GT đọc sai / làm méo số bảng Nguồn: `docs/test/parsed_pdfs/435.pdf.json`, section `4.2 Results`. GT có đoạn bảng corpus-count như sau: ```text Corpus Version Causal Non Causal Total Training Non bootstrapping 7,606 7,929 15,534 Bootstrapping 12,534 8,821 21,354 ``` Vấn đề: theo `ocr-evaluation.md`, các số GT cũ như `7,929` / `15,534` là số bị GROBID đọc sai/làm méo; bảng thật có các số như `79,290` / `86,896`, và Docling đọc đúng hơn. Tác động: nếu metric so cứng theo chuỗi/số GT cũ, prediction bị phạt dù prediction có thể đúng hơn GT. ## 2. Paper 435 — GT có line-number / rác số dòng Nguồn: `docs/test/parsed_pdfs/435.pdf.json`, block đầu `heading = null`. GT chứa một block chỉ toàn số dòng/lề: ```text 1 000 011 012 013 014 015 016 017 018 019 020 ... ``` Tác động: output OCR sạch thường không tái tạo các dòng này. Nếu không lọc trước khi chấm, pred bị phạt oan. ## 3. Paper 49 — GT gộp figure/CJK/mojibake vào text như bảng Nguồn: `docs/test/parsed_pdfs/49.pdf.json`, section `3 Chunk-based Neural Machine Translation`. Đoạn GT chứa rác figure/mojibake ngay trước caption `Figure 4`: ```text !" !"#$%&'('& )'*"$'#+ ,!-./.-0 1'23'4567&+84*"$'#+ ,!-././0 #$ %$ &'( %) &'( 9:34;+/ 9:34;+;%/ 9:34;+; %" &'( %*" &'( だれ か が 犬 噛ま れ %*$ &'( %*) &'( +" < %,-./ &'( +,-./ 9:34;%&'('& )'*"$'#+ ,!-./.=0 #) #0< > :'7#$ 10 ... Figure 4: Proposed model: Chunk-based NMT. ``` Vấn đề: đây là nội dung figure/CJK/mojibake, không phải bảng thật. Nhưng vì có nhiều số/ký tự số như `9:34`, `10`, metric table dễ kéo chúng vào bucket table. Tác động: Table của paper 49 không đạt `1.000` dù bảng thật đã match đủ. ## 4. Paper 49 — GT có figure noise ở phần Introduction Nguồn: `docs/test/parsed_pdfs/49.pdf.json`, vùng trước `Figure 1`. GT chứa chuỗi figure noise: ```text !" # $ % & '( " ) *+ ! ,"- . / 0 12 3 4 5 65 7 !"#$"%$ &"' ()*$ +", )%-,.$ %,// %,// 0%1 233 34$5.&3 33 *45* !"#$"%$3 3365! ()**$%3 33(+ 5 &"'3 3373 336$.$%8* +",333 )%-,.$&3 339 :51 Figure 1: Translation from English to Japanese. ``` Vấn đề: đây là figure/rendering noise, nhưng có nhiều token số (`0`, `12`, `65`, `233`, `34`, `339`, ...). Tác động: nếu classifier dòng-bảng chỉ nhìn mật độ số, đoạn này có thể bị tính như table data. ## 5. Paper 49 — GT giữ URL/footnote số trong text Nguồn: `docs/test/parsed_pdfs/49.pdf.json`, section `4.1 Setup`. Đoạn GT: ```text 1http://www.phontron.com/kytea/ 2http://taku910.github.io/cabocha/ 3http://lotus.kuee.kyoto-u.ac.jp/WAT/ baseline/dataPreparationJE.html 4https://github.com/moses-smt/mgiza 5http://www.statmt.org/moses/ 6http://www.kecl.ntt.co.jp/icl/lirg/ribes/index.html ``` Vấn đề: các URL/footnote này chứa nhiều số và có thể làm nhiễu text/table diagnostics. Tác động: output sạch hoặc format khác sẽ không khớp tuyệt đối với GT. ## 6. Paper 49 — bảng thật vẫn có trong GT và có thể match đủ Nguồn: `docs/test/parsed_pdfs/49.pdf.json`, section `4.2 Results`. Đây là bảng thật: ```text System RNN |Vsrc| |Vtrg| BLEU RIBES Word-based Seq-to-Seq (Li et al., 2016) GRU 40k 30k 33.47 78.75 Word-based Tree-to-Seq (Eriguchi et al., 2016b) LSTM 88k 66k 34.87 81.58 Character-based Tree-to-Seq (Eriguchi et al., 2016a) LSTM 88k 3k 31.52 79.39 Proposed chunk-based model (Model 1) GRU 30k 30k 33.56 79.92 + Inter-chunk connection (Model 2) GRU 30k 30k 35.44 80.95 + Word-to-chunk feedback (Model 3) GRU 30k 30k 36.20 82.06 ``` Ý nghĩa: paper 49 mất Table score không phải vì bảng thật bị mất, mà vì GT có thêm rác figure/URL bị kéo vào vùng table-like. ## 7. Paper 355 — GT giữ số dòng lề giữa công thức Nguồn: `docs/test/parsed_pdfs/355.pdf.json`, section `Inter-Sequence Connections`. GT chứa công thức rồi chen số dòng lề: ```text h (ℓ) m,t= { g(ℓ)(h (ℓ−1) m,t ⊕ h (ℓ) m−1,t,h (ℓ) m,t−1) (ℓ = odd) g(ℓ)(h (ℓ−1) m,t ⊕ h (ℓ) m+1,t,h (ℓ) m,t+1) (ℓ = even) 5 401 402 403 404 405 ... ``` Tác động: nếu không bỏ dòng chỉ chứa số, output sạch bị phạt vì không giữ line numbers. ## 8. Paper 323 — GT giữ số dòng lề trong section training Nguồn: `docs/test/parsed_pdfs/323.pdf.json`, section `3.2 Training`. GT chứa: ```text Our neural model assigns a coherence score to an input document d based on the degree of lo- 5 401 402 403 404 405 ... ``` Tác động: đây là noise từ text-layer/GROBID, không phải nội dung paper. Metric phải lọc các dòng này. ## 9. Paper 768 — GT có table/score block rất khó flatten ổn định Nguồn: `docs/test/parsed_pdfs/768.pdf.json`, section `7.2 CONTEXT-WN`. GT flatten bảng score thành một dòng dài: ```text Word Type Features Context-aware Features Scores Similarities Representations P R F 7 All [~wl,mask ; ~wr,mask] 0.674 0.694 0.677 [~wl ; ~wr] 7 7 0.531 0.539 0.535 [~wl ; ~wr] 7 [~wl,mask ; ~wr,mask] 0.512 0.521 0.516 ... ``` Nguồn: `docs/test/parsed_pdfs/768.pdf.json`, section `8.2 Sensitivity to Entailment Direction`. ```text Word Type Feat.s Context-aware Features Scores Similarities Representations P R F Macro F1 Pairwise Acc. Random 0.5 0.5 0.5 0.5 0.25 7 All [~wl,mask ; ~wr,mask] 0.700 0.661 0.670 0.677 0.623 ... ``` Vấn đề: đây là bảng/score block thật, nhưng GT flatten rất đặc biệt: ký hiệu vector như `[~wl,mask ; ~wr,mask]`, số `7`, `0.5`, `0.25`, và nhiều score nằm cùng dòng. Nếu pred flatten khác, char/table-bucket metric cũ dễ chấm sai. Tác động: metric mới chuyển sang data-value coverage để giảm phụ thuộc cách flatten. ## Kết luận Các lỗi GT nổi bật nhất: 1. **Số dòng lề / số trang lọt vào text**: thấy rõ ở `323`, `355`, `435`, `49`, `768`. 2. **Figure/CJK/mojibake bị gộp vào text/table**: rõ nhất ở paper `49`. 3. **Số bảng bị GROBID đọc sai hoặc làm méo**: rõ ở paper `435`. 4. **Bảng score/vector bị flatten quá khác format tự nhiên**: rõ ở paper `768`. Vì vậy các score dưới `1.000` không nên tự động kết luận là OCR fail. Với các case trên, nhiều điểm là do GT nhiễu hoặc cách GT flatten dữ liệu, không phải do pred mất nội dung.