Wyodrębnij szczegółową tabelę, nie pozwól, aby sortowanie zakłóciło zgodność między wierszami a oryginalnym tekstem

Ta sama ilość szczegółów w obu wierszach nie oznacza, że są to zduplikowane dane; posortowana tabela jest bardziej uporządkowana, ale nie oznacza to, że można ją wyrównać wiersz po wierszu z oryginalnym tekstem. Podczas wydobywania szczegółów najłatwiej jest utracić zgodność między każdym wierszem a źródłem. W tym artykule wyjaśnimy, jak go zachować.

To, że kwoty w dwóch wierszach są takie same, nie oznacza, że są to zduplikowane dane. To, że tabela jest posortowana, nie oznacza, że nadal odpowiada ona oryginalnemu tekstowi wiersz po wierszu. Podczas wydobywania szczegółów często traci się samo pole, ale powiązanie pomiędzy każdym wierszem a źródłem.

Ten artykuł jest odpowiedni dla osób, które muszą wyodrębnić szczegóły z dokumentów, takich jak umowy, oferty, tabele finansowe itp. Jest również odpowiedni dla programistów, którzy budują dalsze procesy przetwarzania. Po przeczytaniu będziesz wiedział, jak zachować informację źródłową dla każdego szczegółu, jak sobie radzić z problemami powodowanymi przez tę samą kwotę, nagłówkami i sortowaniem między stronami oraz jakie wyrównanie należy zastosować podczas weryfikacji po tłumaczeniu.

Jak zachować zgodność między wierszami i źródłami podczas wyodrębniania szczegółów? Wniosek w jednym zdaniu

Zapisz stabilny identyfikator źródła dla każdego szczegółu. Sortowanie służy wyłącznie do wyświetlania i nie zastępuje oryginalnego numeru wiersza.

twoja sytuacjaZalecane praktykipowód
Obie linie mają tę samą kwotęNajpierw sprawdź stronę źródłową i numer linii źródłowej i nie spiesz się, aby usunąć duplikaty.Ta sama ilość nie oznacza zduplikowanych danych
Należy je wyświetlić posortowane według ilościUtwórz widok wyświetlania i zachowaj oryginalny numer linii bez zmianPosortowanych numerów seryjnych nie należy zapisywać ponownie w źródle
W tabeli pojawiają się zduplikowane nagłówki lub sumy częścioweWyklucz zgodnie z możliwymi do zinterpretowania regułami i zachowaj wykluczone wiersze i przyczynyUłatw recenzentom wykrywanie przypadkowych usunięć
Należy dopasować szczegóły wielojęzyczneWyrównaj według identyfikatora źródła, a nie tylko przetłumaczonej nazwy produktuZarówno nazwa produktu jak i ilość mogą się powtarzać

Najpierw zapisz stabilną tożsamość wiersza

Zachowaj stronę źródłową, numer tabeli i numer wiersza źródłowego dla każdego szczegółu lub stabilny identyfikator składający się z tych informacji. Nazwa produktu i ilość mogą się powtarzać i nie nadają się jako osobne identyfikatory.

Gdy dalszy ciąg wymaga sortowania według ilości, możesz utworzyć widok wyświetlacza, ale nie zapisuj przez pomyłkę posortowanych numerów seryjnych z powrotem do pierwotnego źródła.

Można go użyć na kilka sposobów jako tożsamości wiersza

SposóbCzy nadaje się jako tożsamość?powód
Strona źródłowa + numer tabeli + numer wiersza źródłowegoOdpowiedniPotrafi stabilnie zlokalizować linię w oryginalnym tekście
Nazwa produktuNie nadaje się do stosowania samodzielniemożliwy duplikat
KwotaNie nadaje się do stosowania samodzielniemożliwy duplikat
Wyświetl numer seryjny po sortowaniuNie nadaje się jako źródłoZmieni się po sortowaniu

Zwróć uwagę na unikalność schematu JSON

Sama tablica JSON zachowuje kolejność, ale uniqueItems w schemacie nie jest skrótem dla „pole jest unikalne". Dwa obiekty można nadal uważać za odrębne elementy, o ile inne pola są różne. Unikalność na poziomie pola należy sprawdzić indywidualnie.

Zestaw szczegółów z tą samą ilością i różnymi źródłami

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}

Jest to kontrola tożsamości danych syntetycznych, a nie moduł rozpoznawania tabel. Kod celowo nie deduplikuje tych samych ilości ani nie traktuje kolejności wyświetlania jako kolejności źródłowej.

Reguły generowania identyfikatorów źródła prawdy muszą uwzględniać wersje plików. W przeciwnym razie treść tej samej strony i wiersza w obu wersjach może zostać wzięta za ten sam dowód.

Jeśli liczba linii jest nieprawidłowa, najpierw znajdź brakujące łącze.

Zjawiskonależy sprawdzićnie należy przyjmować natychmiast
Zduplikowana kwotaNiezależnie od tego, czy jest to inny projekt, czy inna linia źródłowaUsuń duplikaty według kwoty
Zduplikowany identyfikator źródłaCzy wystąpił błąd podwójnego importu lub mapowania?Losowo dodaj nowy identyfikator
Zmniejszona liczba rzędówScal komórki, puste wiersze i reguły filtrowaniaUzupełnij poprzednią linią
Zmiana sekwencjiOkreśla, czy sortować tylko pod kątem wyświetleńZastąp oryginalny numer linii

Nagłówek między stronami nie jest zwykłym wierszem danych

Powtarzające się nagłówki tabel, opisy tabel kontynuacji i wiersze sum częściowych mogą zostać wprowadzone do tablicy szczegółów. Usunięcie ich wymaga możliwych do zinterpretowania reguł, które nie uwzględniają tylko wyższego pozycjonowania lub krótszego tekstu.

Zachowanie wykluczonych wierszy i ich przyczyn może pomóc recenzentom w wykryciu przypadkowych usunięć. W przeciwnym razie problem będzie kontynuowany tylko wtedy, gdy ostateczna suma nie sumuje się.

Przenieś relację źródłową do weryfikacji po tłumaczeniu

Wielojęzyczne harmonogramy powinny umożliwiać dopasowanie identyfikatora źródła, a nie tylko przetłumaczonej nazwy produktu. Oceniając wyniki tłumaczenia dokumentów tabelarycznych OmniDoc (portal produktowy), warto sprawdzić indywidualnie relacje między wierszami, ilościami i jednostkami.

Identyfikacja źródła tego artykułu jest zewnętrzną konwencją inżynieryjną i nie stanowi opisu wewnętrznej implementacji platformy.

Źródła: Tablica schematu JSON

🎯 Która metoda jest dla Ciebie odpowiednia?

Jeśli chcesz posortować według kwoty, aby pokazać ją innym

Utwórz widok wyświetlania, sortowanie wpływa tylko na wyświetlanie, oryginalna strona źródłowa i numer wiersza źródłowego pozostają niezmienione.

Jeśli tabela zawiera nagłówki lub sumy częściowe obejmujące różne strony

Użyj możliwych do zinterpretowania zasad, aby wykluczyć te wiersze i zachowaj wykluczone wiersze wraz z uzasadnieniem do późniejszego sprawdzenia.

Jeśli chcesz przetwarzać wiele wersji pliku

Zasady generowania identyfikatora źródła należy włączyć do wersji pliku, aby zapobiec pomyleniu zawartości tej samej linii na tej samej stronie w różnych wersjach.

Jeśli chcesz przeprowadzić szczegółowe wyrównanie w wielu językach

Dopasuj według identyfikatora źródła, nie polegaj wyłącznie na przetłumaczonej nazwie produktu.

❓ Często zadawane pytania (FAQ)

1. Kwoty w obu wierszach są takie same. Czy mogę bezpośrednio usunąć duplikaty?

nie mogę. Ta sama ilość nie oznacza duplikacji danych. Najpierw powinieneś sprawdzić ich stronę źródłową i numer wiersza źródłowego, aby potwierdzić, czy należą one do różnych projektów lub różnych wierszy źródłowych.

2. Dlaczego nazwa produktu nie jest odpowiednia jako identyfikator wiersza?

Nazwa produktu i ilość mogą się powtarzać, a używane samodzielnie nie pozwalają na trwałe umiejscowienie wiersza w tekście oryginalnym.

3. Czy po sortowaniu nowy numer kolejny można zapisać z powrotem do oryginalnych danych?

Niezalecane. Posortowane numery seryjne nadają się tylko do wyświetlania. Nadpisanie oryginalnych numerów wierszy spowoduje utratę zgodności ze źródłem.

4. Na co należy zwrócić uwagę przy usuwaniu zduplikowanych nagłówków?

Muszą istnieć zasady dające się zinterpretować, a wykluczone wiersze i powody powinny zostać zachowane, aby można było wykryć przypadkowe usunięcia.

📝 Podsumowanie

Podczas wyodrębniania szczegółów najpierw zachowaj zgodność między każdym wierszem a źródłem, a następnie porozmawiaj o sortowaniu i deduplikacji. Kod w tym artykule stanowi jedynie syntetyczną przykładową demonstrację i nie stanowi gwarancji wszystkich rzeczywistych plików lub efektów produktu. Przed przystąpieniem do przetwarzania ważnych dokumentów prosimy o zachowanie oryginałów i zapoznanie się z nimi zgodnie z granicami i pozycjami akceptacji w tekście.

Wypróbuj teraz: prześlij dokument, aby rozpocząć tłumaczenie, zachowując oryginalny układ

Zaktualizowano 2026-11-13