Trích xuất bảng chi tiết, không để việc sắp xếp làm gián đoạn sự tương ứng giữa các hàng và văn bản gốc

Lượng chi tiết giống nhau ở hai hàng không có nghĩa là chúng là dữ liệu trùng lặp; bảng được sắp xếp gọn gàng hơn nhưng không có nghĩa là có thể căn chỉnh từng dòng một với văn bản gốc. Điều dễ bị mất nhất khi trích xuất chi tiết thường là sự tương ứng giữa mỗi hàng và nguồn. Bài viết này sẽ giải thích làm thế nào để giữ lại nó.

Chỉ vì số lượng ở hai hàng giống nhau không có nghĩa là chúng là dữ liệu trùng lặp. Chỉ vì bảng được sắp xếp không có nghĩa là nó vẫn tương ứng với từng dòng văn bản gốc. Khi trích xuất chi tiết, thứ dễ bị mất thường không phải là trường đó mà là sự tương ứng giữa mỗi hàng và nguồn.

Bài viết này phù hợp với những người cần trích xuất chi tiết từ các tài liệu như hợp đồng, báo giá, bảng tài chính, v.v. Nó cũng phù hợp cho các nhà phát triển đang xây dựng các quy trình xử lý tiếp theo. Sau khi đọc, bạn sẽ biết cách giữ lại thông tin nguồn cho từng chi tiết, cách giải quyết các vấn đề do số lượng giống nhau gây ra, tiêu đề và cách sắp xếp giữa các trang cũng như cách căn chỉnh nào nên được sử dụng trong quá trình xác minh sau dịch.

Làm cách nào để giữ sự tương ứng giữa các hàng và nguồn khi trích xuất chi tiết? Một câu kết luận

Lưu mã định danh nguồn ổn định cho từng chi tiết. Việc sắp xếp chỉ để hiển thị và không ghi đè lên số dòng gốc.

hoàn cảnh của bạnCác phương pháp được đề xuấtlý do
Cả hai dòng đều có số tiền như nhauTrước tiên hãy kiểm tra trang nguồn và số dòng nguồn và đừng vội xóa các bản sao.Số tiền tương tự không đại diện cho dữ liệu trùng lặp
Cần hiển thị sắp xếp theo số lượngTạo chế độ xem hiển thị và giữ nguyên số dòng ban đầuCác số sê-ri đã sắp xếp không được ghi lại nguồn
Tiêu đề hoặc tổng phụ trùng lặp xuất hiện trong bảngLoại trừ theo các quy tắc có thể hiểu được và giữ lại các hàng và lý do bị loại trừGiúp người đánh giá dễ dàng phát hiện việc xóa nhầm hơn
Các chi tiết đa ngôn ngữ cần phải căn chỉnhCăn chỉnh theo ID nguồn, không chỉ theo tên sản phẩm đã dịchCả tên sản phẩm và số lượng có thể được lặp lại

Lưu danh tính hàng ổn định trước

Giữ trang nguồn, số bảng và số hàng nguồn cho từng chi tiết hoặc mã định danh ổn định bao gồm thông tin này. Tên và số lượng sản phẩm có thể bị lặp lại và không phù hợp làm thông tin nhận dạng riêng biệt.

Khi xuôi dòng cần sắp xếp theo số lượng, bạn có thể tạo chế độ xem hiển thị nhưng đừng ghi nhầm số seri đã sắp xếp về nguồn ban đầu.

Một số cách có thể được sử dụng làm nhận dạng hàng

ĐườngNó có phù hợp làm danh tính không?lý do
Trang nguồn + số bảng + số hàng nguồnThích hợpCó thể định vị ổn định dòng trong văn bản gốc
Tên sản phẩmKhông thích hợp để sử dụng một mìnhcó thể trùng lặp
Số lượngKhông thích hợp để sử dụng một mìnhcó thể trùng lặp
Số hiển thị đã sắp xếpKhông phù hợp làm nguồnViệc sắp xếp sẽ thay đổi sau khi sắp xếp

Lưu ý tính độc đáo của Schema JSON

Các mảng JSON giữ nguyên thứ tự, nhưng uniqueItems trong lược đồ không phải là cách tắt cho "một trường là duy nhất." Nếu các trường khác của hai đối tượng khác nhau, chúng vẫn có thể được coi là các mục riêng biệt. Tính duy nhất ở cấp trường cần được kiểm tra riêng biệt.

Một tập hợp chi tiết với cùng lượng nhưng nguồn khác nhau

from collections import Counter

rows = [{"source_id": "p1-t1-r1", "item": "Bolt", "amount": "10.00"},
        {"source_id": "p1-t1-r2", "item": "Nut", "amount": "10.00"}]

def check_ids(items):
    counts = Counter(row["source_id"] for row in items)
    return [key for key, count in counts.items() if count > 1]

assert check_ids(rows) == []
assert len(rows) == 2
assert check_ids(rows + [dict(rows[0])]) == ["p1-t1-r1"]
display = sorted(rows, key=lambda row: row["item"], reverse=True)
assert [r["source_id"] for r in rows] == ["p1-t1-r1", "p1-t1-r2"]
assert {r["source_id"] for r in display} == {r["source_id"] for r in rows}

Đây là kiểm tra danh tính cho dữ liệu tổng hợp, không phải trình đọc bảng. Mã nguồn cố ý không trùng lặp cùng một lượng, cũng không coi thứ tự hiển thị là nguồn.

Các quy tắc để tạo True Source ID cần xem xét phiên bản tệp. Nếu không, cùng một trang hoặc dòng trong cả hai phiên bản có thể bị nhầm lẫn với cùng một bằng chứng.

Nếu số dòng không chính xác, trước tiên hãy xác định liên kết còn thiếu

Hiện tượngNó nên được kiểm traKhông nên dùng ngay lập tức
Số tiền bị trùng lặpDù đó là dự án khác hay ngân hàng nguồn khácCác bản trùng lặp được loại bỏ theo số lượng
Mã nguồn được lặp lạiViệc nhập dữ liệu lặp lại hoặc ánh xạ saiThêm ID mới một cách ngẫu nhiên
Ít dòng hơnHợp nhất ô, dòng trống và quy tắc lọcSử dụng dòng trước đó để lấp đầy khoảng trống
Thay đổi trình tựCó phải chỉ dùng để sắp xếp trưng bày thôi à?Che lại số dòng gốc

Tiêu đề chéo trang không phải là các hàng dữ liệu thông thường

Các tiêu đề trùng lặp, mô tả bảng tiếp tục và các dòng tổng phụ đều có thể được đưa vào mảng phụ. Việc xóa chúng đòi hỏi các quy tắc có thể hiểu được; bạn không thể chỉ nhìn vào phần đầu hoặc đoạn văn ngắn.

Giữ lại các dòng bị loại trừ và lý do của chúng có thể giúp xem xét lỗi và phát hiện các trường hợp xóa. Nếu không, chỉ khi tổng cuối cùng không khớp thì vấn đề mới được điều tra.

Đưa Mối Quan Hệ Nguồn vào Xác Minh Sau Dịch

Danh sách chi tiết đa ngôn ngữ nên được căn chỉnh theo ID nguồn và không thể chỉ tìm kiếm bằng tên sản phẩm đã dịch. Khi đánh giá kết quả dịch của các tài liệu bảng OmniDoc (Mục sản phẩm), mối quan hệ hàng-cột, đại lượng và đơn vị cần được kiểm tra riêng biệt.

Việc xác định nguồn trong bài viết này là một thỏa thuận kỹ thuật bên ngoài và không giải thích về cách triển khai nội bộ của nền tảng.

Tham khảo: Mảng lược đồ JSON

🎯 Phương pháp nào phù hợp với bạn?

Nếu bạn cần sắp xếp theo số lượng để mọi người có thể xem

Tạo một chế độ xem hiển thị; việc sắp xếp chỉ ảnh hưởng đến hiển thị, và trang nguồn gốc cùng số dòng nguồn gốc sẽ không thay đổi.

Nếu bảng của bạn có tiêu đề hoặc tổng phụ chéo trang

Sử dụng các quy tắc có thể giải thích để loại trừ các dòng này, và giữ lại các dòng bị loại trừ cùng lý do của chúng để xem xét sau.

Nếu bạn đang xử lý nhiều phiên bản của một tệp

Các quy tắc tạo mã nguồn nên được tích hợp vào phiên bản tệp để tránh nhầm lẫn giữa các phiên bản cùng trang và dòng.

Nếu bạn muốn căn chỉnh chi tiết đa ngôn ngữ

Căn chỉnh theo mã nguồn; đừng chỉ dựa vào tên sản phẩm đã dịch.

❓ Câu hỏi thường gặp (FAQ)

1. Nếu số tiền ở cả hai dòng giống nhau, có thể xóa trực tiếp các bản trùng lặp không?

Không. Cùng một số lượng không có nghĩa là dữ liệu trùng lặp; các trang nguồn và số dòng của chúng nên được kiểm tra trước để xác nhận xem chúng thuộc các mục khác nhau hay các hàng nguồn khác nhau.

2. Tại sao tên sản phẩm không phù hợp với nhận diện của dòng sản phẩm?

Tên sản phẩm và số lượng có thể bị trùng lặp, và chỉ sử dụng chúng thì không thể xác định chính xác dòng sản phẩm gốc.

3. Sau khi sắp xếp, có thể ghi lại số sê-ri mới vào dữ liệu gốc không?

Không khuyến khích. Số sê-ri đã sắp xếp chỉ phù hợp để hiển thị; việc ghi đè số hàng gốc sẽ mất sự tương ứng với nguồn.

4. Bạn nên chú ý điều gì khi xóa các tiêu đề trùng lặp?

Cần có các quy tắc có thể giải thích, và các dòng cùng lý do bị loại trừ nên được giữ lại để phát hiện các lỗi xóa sai.

📝 Tóm tắt

Khi trích xuất chi tiết, trước tiên duy trì sự tương ứng giữa mỗi dòng và nguồn, sau đó thảo luận về sắp xếp và loại bỏ trùng lặp. Mã trong bài viết này chỉ dùng để trình diễn mẫu tổng hợp và không đảm bảo tất cả các tệp chính hãng hoặc hiệu suất sản phẩm. Trước khi xử lý các tài liệu quan trọng, vui lòng giữ lại bản gốc và xem xét chúng theo ranh giới cũng như các mục chấp nhận trong tài liệu.

Trải nghiệm ngay: Tải lên tài liệu của bạn để bắt đầu dịch, giữ nguyên định dạng gốc

Cập nhật lúc 2026-11-13