Dịch PDF: vì sao định dạng bị mất và cách giữ lại

Equalang

Tóm tắt

Khác với tệp Word, hầu hết PDF không đánh dấu từ nào tạo thành đoạn văn hay bảng. Qua hai bài báo, chúng tôi chỉ ra điều gì hỏng và cần kiểm tra gì.

Từ khóa: dịch PDF; dịch tài liệu; định dạng PDF; giữ bố cục; bài báo khoa học

Một tệp Word lưu lại những từ nào tạo thành một đoạn văn và những từ nào thuộc về một bảng. Hầu hết PDF thì không. Chúng chỉ giữ các chữ cái và tọa độ để vẽ chúng lên; còn đoạn văn, bảng và câu là do mắt người đọc ghép lại. Một số PDF có thẻ hỗ trợ tiếp cận (được thêm cho trình đọc màn hình) đánh dấu đoạn văn và bảng, nhưng nhiều tệp không có (hai bài báo chúng tôi dùng làm ví dụ bên dưới hoàn toàn không có), nên công cụ dịch không thể trông chờ vào chúng. Mọi thứ bạn thấy là cấu trúc (bố cục hai cột, tiêu đề trải dài trên nhiều cột, hay một câu tiếp tục sang trang sau) đều phải được khôi phục trước khi dịch. Sau đó, văn bản đã dịch — giờ dài hơn hoặc ngắn hơn — lại phải vừa với bố cục gốc. Định dạng bị mất ở một trong hai bước đó.

Việc nên làm phụ thuộc vào thứ bạn có:

  • Tệp .docx hoặc .pptx gốc: hãy dịch tệp đó thay vì PDF.
  • PDF văn bản đơn giản, ít bảng, dưới 10 MB: tải tài liệu lên miễn phí bằng Google Dịch là cách thử nhanh nhất.
  • Bài báo, hướng dẫn sử dụng hay báo cáo có bảng, công thức hoặc hai cột: dùng công cụ dịch khôi phục bố cục, rồi kiểm tra bốn vị trí ở mục 3.
  • Bản scan (không thể chọn được văn bản): cần nhận dạng văn bản (OCR) trước khi dịch được. DeepL nhận bản scan và tự xử lý bước này. Google Dịch để nguyên các trang scan không dịch.

1. Công cụ dịch thực sự nhìn thấy gì trong một tệp PDF?

Chúng tôi xây dựng một công cụ dịch tài liệu, nên dành nhiều thời gian xem thứ gì đi ra từ PDF. Để cho thấy rõ, chúng tôi lấy hai bài báo về mô hình ngôn ngữ AI trên arXiv, LLaMA và Mistral 7B, và trích xuất văn bản bằng mutool của MuPDF, một công cụ PDF mã nguồn mở phổ biến. Văn bản đó đại khái là thứ mà một công cụ dùng để dịch, nếu nó không đọc cả bố cục. Ở dưới, mỗi đoạn được trình bày trước tiên theo cách nó hiện trên trang, sau đó theo cách nó đi ra (một dòng chỉ có … nghĩa là chúng tôi đã bỏ qua vài dòng).

1.1 Bảng biến thành một danh sách số

Bảng 3 trong bài báo LLaMA so sánh mười mô hình trên tám bài kiểm tra:

Bảng 3 trong bài báo LLaMA, so sánh mười mô hình trên tám bài kiểm tra, với hàng GPT-3 được đánh dấu
LLaMA, trang 4: Bảng 3

Sau khi trích xuất, nó là 102 dòng: năm dòng tiêu đề, rồi mỗi dòng một giá trị. Đây là 16 dòng đầu; mười dòng từ GPT-3 đến 57.6 chính là hàng được đánh dấu.

BoolQ
PIQA
SIQA HellaSwag WinoGrande ARC-e
ARC-c
OBQA
GPT-3
175B
60.5
81.0
-
78.9
70.2
68.8
51.4
57.6
Gopher

Không có gì cho công cụ dịch biết số nào thuộc về bài kiểm tra nào. Nếu bạn dán đoạn đó vào ô dịch, bạn nhận lại chính danh sách đó. Từ ngữ được dịch, còn bảng thì biến mất.

1.2 Một câu, mà bên trong chứa cả một bảng

Câu cuối cùng ở trang 3 của bài báo LLaMA dừng lại ở "we need to":

Phần cuối cột bên phải ở trang 3, với câu chưa hoàn chỉnh được đánh dấu
LLaMA, trang 3: câu bị đứt ở cuối cột bên phải

Nó tiếp tục ở cột bên trái trang 4, ngay dưới Bảng 3:

Phần cuối của Bảng 3 ở trang 4, chú thích của nó và bên dưới là phần còn lại của câu, được đánh dấu
LLaMA, trang 4: phần còn lại của câu, dưới Bảng 3

Trong văn bản đã trích xuất, một chú thích cuối trang, chỗ ngắt trang, toàn bộ 102 dòng của bảng và chú thích của nó đều nằm gọn trong chính câu đó:

To fully benefit from this optimization, we need to
2https://github.com/facebookresearch/xformers
BoolQ
PIQA
…
Table 3: Zero-shot performance on Common Sense Reasoning tasks.
reduce the memory usage of the model by using

Chuyện này lặp lại hai trang sau đó. Trang 5 kết thúc ở "…the textual description and tests in a", và "docstring." chỉ xuất hiện sau Bảng 7 ở trang 6, xen giữa là 44 dòng của bảng và chú thích dài bảy dòng.

Một công cụ dịch từng trang, hoặc đi theo văn bản đúng thứ tự này, sẽ nhận được hai mảnh mà nó chẳng có lý do gì để nối lại. Trong tệp đã dịch, bạn sẽ thấy một câu lịm dần ở cuối trang, và nửa còn lại xuất hiện ở đâu đó bên dưới một bảng.

1.3 Chỉ số dưới và phân số biến thành thứ khác

Trong bài báo Mistral, một biến được viết là h với chỉ số dưới i:

Một dòng trong bài báo Mistral 7B, với biến h cùng chỉ số dưới i được đánh dấu
Mistral 7B, trang 2: biến hᵢ

Khi trích xuất, chỉ số dưới biến mất và chỉ còn hi:

former to attend information beyond the window size W. The hidden
state in position i of the layer k, hi, attends to all hidden states from

Công cụ dịch không có lý do gì để coi đó là một biến. Với nó, hi chỉ là một từ tiếng Anh thông thường.

Phân số còn tệ hơn. LLaMA đặt một giá trị bằng hai phần ba của 4d, viết là ⅔·4d, trong đó ⅔ được sắp bằng số 2 nhỏ bên trên số 3:

Hai dòng trong bài báo LLaMA, với phân số xếp chồng của hai phần ba 4d được đánh dấu
LLaMA, trang 3: phân số xếp chồng trong ⅔·4d
improve the performance. We use a dimension of
2
34d instead of 4d as in PaLM.

Hai phần ba của 4d đã trở thành 34d. Chỉ số trên, phân số và các ký hiệu từ font toán học chỉ là những hình dạng được đặt ở những vị trí nhất định. Văn bản trích xuất giữ được hình dạng nhưng mất vị trí.

1.4 Từ bị tách ở cuối dòng

Các bài báo hai cột tách rất nhiều từ ở cuối dòng. Trong LLaMA, có 242 dòng tách một từ thường viết thường bằng dấu gạch nối. Nối chúng lại có vẻ dễ, cho đến khi bạn gặp một dấu gạch nối thuộc về tên riêng:

Phần đầu phần tóm tắt của LLaMA, với hai chỗ xuống dòng được đánh dấu: founda-tion và LLaMA-65B
LLaMA, trang 1: hai dấu gạch nối ở cuối dòng, chỉ một dấu được bỏ
We introduce LLaMA, a collection of founda-
tion language models ranging from 7B to 65B
…
(175B) on most benchmarks, and LLaMA-
65B is competitive with the best models,

founda- và tion tạo thành một từ nếu bỏ dấu gạch nối. Nhưng trong LLaMA- và 65B, dấu gạch nối là một phần của tên mô hình và phải giữ lại.

Chúng tôi chỉ dùng một công cụ trích xuất, trên hai bài báo được làm bằng LaTeX, một hệ thống sắp chữ phổ biến trong xuất bản học thuật. PDF xuất từ Word, tài liệu scan và các công cụ trích xuất khác có thể cho kết quả khác, nhưng bốn dạng hư hại này là thứ cần tìm.

2. Bạn có những lựa chọn nào?

Lựa chọnƯu điểmGiới hạn
Sao chép và dán vào ô dịchMiễn phí và có ngayBảng, công thức và bố cục bị mất; câu thường bị cắt
Google Dịch, tab Tài liệuMiễn phí; nhận .docx, .pdf, .pptx và .xlsxTối đa 10 MB và 300 trang; văn bản trong ảnh và trang scan không được dịch; không dùng được trên điện thoại hay màn hình nhỏ
Dịch tệp của DeepLỨng dụng web và máy tính để bàn, cùng API cho nhà phát triển; nhận bản scan; PDF đã dịch có thể tải về dưới dạng .docx có thể chỉnh sửa ở các gói Pro Advanced, Ultimate, Team và BusinessCần tài khoản; số tệp mỗi tháng tùy theo gói; PDF xuất từ CAD, như bản vẽ mặt bằng, không được hỗ trợ
Chuyển sang Word rồi dịchBạn có thể sửa tệp Word trước khi dịchĐiều gì chuyển đổi làm sai thì vẫn sai
Công cụ dịch khôi phục bố cụcXem bảng, công thức và câu bị tách như cấu trúcKhông giống hệt bản gốc: văn bản dài hơn làm lệch chỗ xuống dòng và cỡ chữ

Thông tin về Google Dịch và DeepL lấy từ trang trợ giúp của chính họ, kiểm tra ngày 7 tháng 10 năm 2026. Khi một bản dịch PDF gây thất vọng, lời khuyên của DeepL là hãy tải lên tài liệu gốc. Điều đó trùng với lời khuyên của chúng tôi.

Hàng cuối cùng chính là điều mà dịch tài liệu của Equalang được tạo ra để làm, vì vậy đó là cách chúng tôi hiểu rõ nhất. Trước khi dịch, Equalang nối lại những câu bị ngắt trang cắt làm đôi. Các bảng có ô gộp và tiêu đề nhiều dòng được khôi phục theo cấu trúc gốc thay vì bị gộp phẳng thành một danh sách. Công thức không bị vứt bỏ như văn bản lỗi, và có tùy chọn tối ưu công thức cho những công thức khó nằm trong một dòng văn bản.

Điều nó không làm là tái tạo bản gốc y hệt. Một bản dịch dài hơn bản gốc sẽ làm lệch chỗ xuống dòng và cỡ chữ, nên những trang có bố cục chật vẫn đáng để xem lại. Dịch tài liệu hiện hỗ trợ tiếng Trung, tiếng Anh, tiếng Nhật, tiếng Hàn, tiếng Tây Ban Nha, tiếng Pháp và nhiều ngôn ngữ khác.

3. Sau khi dịch PDF, cần kiểm tra những gì?

  1. Bảng. Tiêu đề còn nằm trên đúng cột không? Các con số có thay đổi không?
  2. Chỗ ngắt trang và văn bản dưới mỗi bảng. Hãy đọc dòng cuối của mỗi trang và câu ngay sau mỗi bảng. Một câu dừng lại rồi không bao giờ kết thúc là dấu hiệu thường gặp nhất cho thấy văn bản đã được dịch thành từng mảnh.
  3. Công thức và biến. Kiểm tra vài công thức nằm trong một dòng văn bản. Tìm những chữ cái đã biến thành từ, và những phân số đã biến thành số khác.
  4. Số trang và liên kết. Số trang chênh lệch quá nhiều nghĩa là có văn bản bị mất hoặc tràn sang trang khác. Hãy nhấp vào một hai mục trong mục lục để xem chúng có hoạt động không.

Nguồn

  • Touvron et al., "LLaMA: Open and Efficient Foundation Language Models", arXiv:2302.13971v1, CC BY 4.0.
  • Jiang et al., "Mistral 7B", arXiv:2310.06825v1, CC BY 4.0.
  • Trợ giúp Google Dịch, Translate documents & websites, kiểm tra ngày 7 tháng 10 năm 2026.
  • Trung tâm trợ giúp DeepL, Translate PDF files, kiểm tra ngày 7 tháng 10 năm 2026.
  • Phương pháp: văn bản được trích xuất ngày 7 tháng 10 năm 2026 bằng MuPDF 1.25.6, mutool draw -q -F txt -o out.txt in.pdf. Các hình là phần cắt từ trang của hai bài báo; phần đánh dấu là của chúng tôi.