BookTranslator
BookTranslator

Cách xử lý ngắt dòng và gạch nối OCR trước khi dịch thuật

Xử lý văn bản OCR bị xuống dòng mà không làm mất dấu gạch nối thực sự, đoạn văn, danh sách hay thơ ca. Áp dụng quy trình có thể hoàn tác cùng 12 ví dụ làm sạch có thể tải về.

BookTranslator

BookTranslator Team

17 min read

Để xử lý lỗi ngắt dòng trong OCR, trước tiên hãy xác định phần văn bản thuộc về cùng một đoạn văn. Chỉ thay thế các dấu ngắt dòng không mong muốn bằng khoảng trắng. Đối với một từ bị ngắt đôi qua hai dòng, hãy cân nhắc riêng xem nên bỏ hay giữ lại dấu gạch nối: trans- theo sau bởi lation sẽ trở thành translation, nhưng well- theo sau bởi known sẽ trở thành well-known. Hãy duy trì nhật ký thay đổi và đối chiếu các điểm nối chưa chắc chắn với trang gốc.

Không chạy lệnh “xóa tất cả ngắt dòng” hoặc “xóa tất cả dấu gạch nối” trên toàn bộ cuốn sách. Một đoạn văn bản sau khi làm sạch trông có vẻ trôi chảy hơn nhưng có thể đã vô tình làm mất một đoạn văn, nhập hai mục danh sách làm một hoặc làm biến đổi mã định danh kỹ thuật. Mục tiêu hướng tới là một bản sao đáng tin cậy để đọc hoặc dịch thuật—chứ không phải giảm tối đa số ký tự xuống dòng.

Hướng dẫn này bắt đầu sau giai đoạn nhận dạng văn bản. Nếu việc sao chép từ PDF xuất hiện các ký tự hoặc chữ số sai sót, trước tiên hãy kiểm tra và chẩn đoán lớp văn bản của tệp. Việc điều chỉnh dấu ngắt dòng không thể biến một ký tự B-2O4 bị nhận dạng sai thành ký tự B-204.

Xác định bản chất của từng dấu ngắt dòng

Giữ nguyên bản scan gốc và bản trích xuất thô. Trên một bản sao đang thao tác, hãy bật chế độ hiển thị khoảng trắng hoặc dấu đoạn văn của trình soạn thảo. Thử đổi kích thước cửa sổ soạn thảo: dòng tự động dàn lại chữ mà không chứa ký tự xuống dòng lưu trữ sẵn chỉ là ngắt dòng hiển thị trên màn hình; bạn không cần phải xóa gì cả.

Các ký tự xuống dòng thực tế cần một cách kiểm tra khác. Hãy so sánh một đoạn văn liền mạch, tiêu đề, danh sách và bất kỳ bố cục trang nào có sự khác biệt rõ rệt với hình ảnh trang gốc. Đừng suy diễn cấu trúc của toàn bộ tài liệu chỉ dựa vào trang tiêu đề.

Ý nghĩa của dấu ngắt dòngHành động phù hợpBằng chứng cần thiết
Ngắt dòng hiển thị giữa các từ trong cùng một đoạn vănThay thế dấu ngắt dòng đã lưu bằng một dấu cáchCả hai dòng đều thuộc về cùng một đoạn văn trong văn bản gốc
Một từ bị tách đôiNối các mảnh lại, thường là bỏ dấu gạch nối ngắt dòngChính tả dự định, ngữ cảnh nguồn và mọi quy tắc riêng của ngôn ngữ
Xuống dòng sau một dấu gạch nối từ ghép thực sựXóa dấu ngắt dòng, giữ lại dấu gạch nốiTừ này vẫn giữ dấu gạch nối đó ngay cả khi không nằm ở cuối dòng
Ranh giới của đoạn văn, tiêu đề, mục danh sách hoặc câu thơGiữ nguyên ranh giớiCấu trúc văn bản gốc, không chỉ dựa vào dấu câu kết thúc
Chuyển tiếp giữa các cột hoặc trang chưa rõ thứ tựTạm thời giữ nguyên và kiểm tra lại trangSự liền mạch của nội dung, thứ tự đọc cột, chú thích ảnh và chú thích cuối trang

Các dòng trống và thụt lề có thể giúp xác định đoạn văn, nhưng chúng chỉ là gợi ý chứ không phải là điều chắc chắn. Một tiêu đề có thể không có dòng trống theo sau. Một dòng thụt lề có thể là phần tiếp nối của danh sách chứ không phải đoạn văn mới. Một dòng ngắn kết thúc bằng dấu chấm có thể là dòng cuối của đoạn văn, nhưng cũng có thể chỉ là một câu nằm giữa đoạn.

Nếu tệp xuất OCR cung cấp thông tin về bố cục hoặc khối văn bản, hãy giữ lại chúng trong khi rà soát văn bản. Việc chỉ xuất ra văn bản thuần túy có thể làm mất đi những dữ liệu cần thiết để tái cấu trúc các ranh giới đó.

Phân biệt từ bị tách rời với dấu gạch nối thực sự

Ba trường hợp nhìn bề ngoài tương tự nhau nhưng lại cần các cách xử lý khác nhau:

trans-          → translation
lation

well-           → well-known
known

trans\u00ADlation → translation in a verified reading copy

Dòng cuối cùng sử dụng \u00AD để làm rõ một ký tự vốn khó nhìn thấy. Unicode phân biệt U+00AD SOFT HYPHEN (dấu gạch nối mềm), một dấu ngắt dòng tùy ý bên trong từ, với một dấu gạch nối hiển thị như U+2010 HYPHEN. Đây không phải là các ký tự có thể dùng thay thế cho nhau. Quy chuẩn ngắt dòng của Unicode cũng mô tả các thay đổi chính tả tùy theo ngôn ngữ tại vị trí ngắt; việc xóa dấu nối nhìn thấy được rồi nối các chữ cái lại với nhau không phải lúc nào cũng đủ.

Đối với văn xuôi thông thường, việc loại bỏ dấu gạch nối mềm tùy ý đã xác minh có thể tạo ra bản đọc hữu ích. Đối với bản phiên mã lưu trữ, hãy giữ riêng bản gốc: việc xóa ký tự đánh dấu sẽ làm thay đổi văn bản đã mã hóa ngay cả khi từ trông có vẻ không đổi.

Hãy sử dụng từ điển bằng ngôn ngữ nguồn để kiểm tra chính tả của từ dự kiến, sau đó quay lại đoạn văn. Mục từ trong từ điển chỉ là bằng chứng hỗ trợ, chứ không phải sự cho phép để ghi đè lên tên riêng, mã định danh hoặc chính tả lịch sử. Các lần xuất hiện lặp lại trong tài liệu cũng rất hữu ích, nhưng lỗi OCR vẫn có thể lặp lại một cách nhất quán.

Ví dụ: mẫu tiếng Đức của chúng tôi là:

Die Auf-
gabe ist klar.

Từ dự định trong ví dụ do chúng tôi soạn này là Aufgabe; Mục từ của Duden liệt kê cách ngắt từ của nó là Auf|ga|be. Việc ghép Auf- và gabe là hoàn toàn hợp lý ở đây. Ví dụ đơn lẻ đó không phải là quy tắc bỏ dấu nối chung cho tiếng Đức, và chính tả từ điển hiện đại không được âm thầm thay thế cách viết của một ấn bản cũ hơn.

Hãy coi URL, mã danh mục, tên hóa chất, giá trị âm và các chuỗi kỹ thuật khác là những trường hợp rà soát riêng biệt. Việc giữ lại dấu gạch ngang hay dấu nối phải tuân theo bản gốc và ý nghĩa của chuỗi ký tự, chứ không phải theo quy tắc phỏng đoán từ tiếng Anh thông thường.

Mười hai ví dụ đối chứng cho thấy điều gì

Chúng tôi đã xây dựng một bản demo dọn dẹp có thể tải xuống chứa mười hai chuỗi ký tự gốc. Từ ngữ dự định và cấu trúc của chúng đã được xác định khi chúng tôi soạn thảo; sau đó chúng tôi chèn các ngắt dòng và lỗi dấu nối giả lập được chọn lọc. Đây là các ví dụ văn bản tổng hợp, không phải là kết quả từ công cụ OCR hay bản quét của một cuốn sách.

Phương pháp cơ sở áp dụng thô bạo có chủ ý thực hiện ba thao tác thay thế: xóa dấu nối cộng với dòng mới, thay thế các dòng mới còn lại bằng dấu cách và xóa các dấu gạch nối mềm. Hướng tiếp cận thứ hai chỉ áp dụng những thay đổi đã được phê duyệt riêng lẻ cho văn bản chính xác. Nó không cố gắng nhận diện đoạn văn hay tự động quyết định chính tả của từ.

MẫuPhương pháp cơ sở thô bạoQuyết định đã duyệt
Ngắt dòng văn xuôi tiếng AnhNối hai dòng một cách chính xácThay thế dấu xuống dòng đã xác thực bằng một dấu cách
trans- / lationTạo ra kết quả chính xác translationXóa dấu gạch nối và dấu ngắt dòng được chèn vào
well- / knownTạo ra wellknownGiữ lại dấu gạch nối nguyên bản
Tiếng Đức Auf- / gabeTạo ra kết quả chính xác AufgabeChỉ nối chính tả đã được xác thực này
Mã U+00AD được nhúngXóa ký tự gạch nối mềm tùy chọnXóa ký tự này trong bản đọc của tác giả
Dấu chấm lửng tiếng Pháp, tiếp theo là đoạn mớiHợp nhất các đoạn vănGiữ nguyên ranh giới do tác giả định nghĩa
Danh sách đánh số, thơ, mã lệnh và tiêu đềLàm phẳng các cấu trúc khác biệtGiữ nguyên các ký tự xuống dòng
Hai đoạn văn không có dòng trốngNối chúng thành mộtGiữ nguyên các đoạn văn do tác giả định nghĩa
Ký hiệu đánh dấu trang chưa kiểm duyệtLàm phẳng phần chuyển tiếp trangGiữ nguyên cho đến khi kiểm tra thứ tự

Vào ngày 3 tháng 10 năm 2026, việc chạy bộ kiểm thử với Node.js 25.2.1 đã tạo ra văn bản khớp với bản tham chiếu cho 4 trên 12 ví dụ theo phương pháp cơ bản đơn giản. Quy trình phê duyệt đã khớp chính xác với toàn bộ 12 bản tham chiếu và khôi phục thành công cả 12 đầu vào thông qua thao tác hoàn tác. Phương pháp này cũng từ chối các đầu vào lỗi thời, các kết quả khớp không duy nhất và các trường hợp thiếu khớp.

Những kết quả đó nhằm kiểm tra việc áp dụng bản vá chính xác so với các bản tham chiếu đã biết do con người biên soạn. Chúng không phản ánh độ chính xác trong thực tế: các quyết định được phê duyệt vốn đã chứa sẵn câu trả lời, và tập ngữ liệu được chủ ý lựa chọn để bộc lộ các trường hợp thất bại. Chúng tôi không thử nghiệm công cụ dọn dẹp thương mại, công cụ OCR, mô hình dịch thuật hay quá trình tải tệp lên BookTranslator. Không có lần thử lại hay mẫu thử nào bị loại trừ.

Tải xuống dữ liệu đầu vào/đầu ra thực tế và nhật ký bản vá cùng hướng dẫn tái lập quy trình. Mã JavaScript chạy cục bộ, không yêu cầu phần phụ thuộc hay kết nối mạng và sẽ in ra kết quả; mã không ghi đè lên các tệp của bạn. Các bước kiểm tra này giúp ngăn chặn việc áp dụng một chỉnh sửa đã duyệt vào một đoạn văn bản khác. Chúng không thể cho bạn biết liệu một chỉnh sửa có chính xác về mặt ngôn ngữ hay không.

Xử lý từng khối văn bản đã được xác minh

Hãy bắt đầu với một khối văn xuôi ngắn mà bạn có thể xác định rõ thứ tự đọc và ranh giới đoạn văn. Đừng bắt đầu bằng cả một chương chứa chú thích ảnh, trích dẫn, danh sách và chú thích cuối trang.

  1. Lưu một bản sao thô và ghi lại vị trí nguồn. Lưu giữ tên tệp, số trang, đoạn văn hoặc khối nội dung và ngôn ngữ cùng với mỗi đoạn đã được rà soát.
  2. Đánh dấu ranh giới cấu trúc trước tiên. Tách biệt tiêu đề, các mục danh sách, thơ, bảng biểu và khối mã nguồn khỏi văn xuôi thông thường. Hãy giữ lại phần tham chiếu trang ở bên ngoài phần văn bản chính nếu sau này bạn dự định xóa bỏ các ký hiệu đánh dấu đó.
  3. Nối các dòng ngắt giữa các từ thông thường trong khối văn bản đó. Thay thế mỗi dấu ngắt dòng đã xác nhận bằng một khoảng trắng. Hãy kiểm tra để đảm bảo các từ không bị dính liền vào nhau và khoảng trắng có sẵn không bị nhân đôi gây khó chịu.
  4. Rà soát riêng các từ bị tách rời. Hiển thị toàn bộ từ hoàn chỉnh cùng câu văn xung quanh. Ghi nhận là “xóa dấu gạch nối bố cục”, “giữ dấu gạch nối nguyên bản” hoặc “chưa xử lý”. Đừng coi một trường hợp chưa xử lý là một thay đổi đã được phê duyệt.
  5. Kiểm tra kỹ bản so sánh thay đổi (diff) trước khi chấp nhận. So sánh từng ranh giới hoặc dấu gạch nối đã xóa với nguồn gốc. Lưu phiên bản đã dọn dẹp dưới một tên tệp mới cùng với các quyết định chỉnh sửa.
  6. Mở lại và sao chép từ kết quả đã lưu. Hãy kiểm tra tệp thực tế mà bạn sẽ dùng, chứ không chỉ dựa vào bản xem trước của trình soạn thảo.

Đối với một đoạn trích ngắn, việc chỉnh sửa thủ công kèm theo theo dõi thay đổi (track changes) hoặc so sánh trước/sau có thể là đủ. Đối với một đoạn trích dài hơn, danh sách bản vá (patch list) nên ghi lại chính xác chuỗi con gốc, chuỗi thay thế, vị trí, lý do và người duyệt. Mã kiểm tra (checksum) của nguồn sẽ giúp ngăn ngừa việc áp dụng các phê duyệt cũ sau khi dữ liệu đầu vào đã thay đổi.

Nếu trình soạn thảo của bạn có chế độ dọn dẹp giữ nguyên đoạn văn, hãy thử nghiệm chế độ đó trên các khối văn bản phức tạp—chứ không chỉ trên các đoạn văn xuôi mượt mà. Việc giữ lại các ký tự xuống dòng kép sẽ không thể khôi phục được ranh giới đoạn văn vốn đã bị OCR chuyển thành một ký tự xuống dòng đơn. Đừng xóa thụt lề đầu dòng hoặc gộp tất cả các dấu cách trước khi kiểm tra kỹ các bảng biểu và mã nguồn.

Biết khi nào cần đối chiếu lại với hình ảnh trang gốc

Quy tắc dấu câu tiếng Pháp là minh chứng rõ ràng cho thấy vì sao việc phát hiện điểm kết thúc câu không đồng nghĩa với việc phát hiện đoạn văn. Trong mẫu do chúng tôi biên soạn, Il attend… và Le lendemain, il part. thuộc về các đoạn văn tách biệt. Bản thân dấu chấm lửng không thể xác lập ranh giới đó. Hướng dẫn về dấu chấm lửng của Office québécois de la langue française mô tả các trường hợp sử dụng bao gồm câu nói bị ngắt quãng hoặc một ý chưa hoàn chỉnh; hãy dựa vào cấu trúc trang để quyết định xem có nên nối dòng tiếp theo hay không.

Bắt buộc phải đối chiếu với hình ảnh gốc đối với các trường hợp sau:

Trường hợpVì sao chỉ dựa vào văn bản là chưa đủNhững điểm cần so sánh
Tiêu đề theo sau ngay bởi đoạn văn xuôiDòng trống có thể không còn sót lại sau quá trình trích xuấtPhông chữ, căn lề, khoảng cách và vai trò của phần
Một đoạn văn trải dài qua trang hoặc cột khácTiêu đề đầu trang, chú thích hoặc chú thích cuối trang có thể chen ngangDòng cuối cùng của nguồn, phần tiếp nối và thứ tự đọc
Tên riêng, mã, số lượng hoặc thuật ngữ lạMột thao tác ghép nối tưởng chừng hợp lý vẫn có thể làm đổi nghĩa giá trịTừng ký tự, bao gồm loại dấu gạch ngang và các chữ số
Ngắt từ trong văn bản ngôn ngữ cổ/lịch sửCách viết tại điểm ngắt khi in có thể khác với từ liền mạch ban đầuPhiên bản ấn hành, chính tả nguồn và tài liệu tham khảo ngôn ngữ phù hợp
Thơ, danh sách, bảng biểu hoặc mã lệnhCác điểm ngắt dòng có thể mang ý nghĩa ngữ nghĩa hoặc cấu trúcCách ngắt dòng, ranh giới mục, ô dữ liệu và thụt lề
Dấu chấm lửng, từ viết tắt hoặc dòng kết ngắnDấu câu không thể chứng minh vị trí kết thúc đoạn vănToàn bộ đoạn văn và các khối nội dung xung quanh

Nếu nhiều trang cùng xuất hiện một lỗi, hãy tìm kiếm quy luật đó trên toàn bộ tài liệu và rà soát lại các kết quả trùng khớp. Nếu các ký tự nguồn, thứ tự đọc hoặc toàn bộ đoạn văn bị sai lệch, hãy dừng việc chuẩn hóa và kiểm tra lại khâu nhận dạng hoặc trích xuất. Đối với việc nhận dạng trên nhiều ngôn ngữ, hãy sử dụng quy trình OCR PDF đa ngôn ngữ.

Kiểm tra kỹ văn bản nguồn đã làm sạch trước khi dịch

So sánh một khối văn bản đã chỉnh sửa với trang gốc, sau đó kiểm tra một khối khác cùng mọi loại cấu trúc khác nhau có trong nội dung trích xuất. Đưa các lỗi đã biết vào tập mẫu rà soát. Việc lấy mẫu chỉ cung cấp bằng chứng cho các đoạn đã kiểm tra; điều đó không đảm bảo tính chính xác cho phần còn lại của cuốn sách.

  • Xác nhận tên riêng, số liệu, ngày tháng và mã lệnh vẫn khớp hoàn toàn với nguồn.
  • Kiểm tra lại từng dấu nối đã xóa và bất kỳ từ nào được khôi phục chính tả qua điểm ngắt dòng.
  • So sánh ranh giới đoạn văn, tiêu đề, mục danh sách và các dòng thơ.
  • Đảm bảo rằng dòng đầu và dòng cuối vẫn được giữ nguyên vẹn qua mỗi điểm chuyển trang.
  • Tìm kiếm các trường hợp chưa xử lý dứt điểm và lưu lại rõ ràng trong nhật ký rà soát.
  • Đảm bảo phiên bản lưu cuối cùng chính là phiên bản được chuyển tiếp sang quy trình tiếp theo của bạn.

Nếu bạn chỉ cần văn bản có thể tìm kiếm được hoặc các ghi chú, bản trích xuất đã kiểm tra này có thể là đích đến cuối cùng. Bạn không cần phải dịch để sửa chữa nó.

Nếu bạn cần tài liệu bằng một ngôn ngữ khác, hãy chuẩn bị nội dung đã kiểm tra ở định dạng tài liệu được hỗ trợ và sử dụng quy trình dịch toàn bộ tài liệu. Chế độ OCR của BookTranslator sẽ tái tạo tệp PDF bản dịch từ nội dung đã nhận dạng thay vì sao chép nguyên vẹn bố cục trang gốc; đây không phải là công cụ chỉnh sửa làm sạch văn bản bên ngoài hay bằng chứng cho thấy mọi điểm ngắt dòng nguồn đều được diễn giải chính xác. Bài hướng dẫn dịch PDF quét giải thích rõ trường hợp nào thì cần nhận diện ký tự.

Hãy giữ lại các trang gốc và nhật ký dọn dẹp cho bước QA bản dịch PDF cuối cùng. Một câu dịch trôi chảy không thể cho bạn biết liệu văn bản gốc có thực sự chứa dấu gạch nối hay không—hoặc liệu hai câu tưởng chừng liền mạch có vốn là hai đoạn văn riêng biệt hay không.

Bài viết liên quan