PaperMate / docs /parser /gt-error-evidence.md
ntphuc149's picture
refactor: reorganize docs/ into database/ and parser/ subdirectories
7fe0356
|
Raw
History Blame
7.98 kB
# 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.