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 sytuacja | Zalecane praktyki | powó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ści | Utwórz widok wyświetlania i zachowaj oryginalny numer linii bez zmian | Posortowanych numerów seryjnych nie należy zapisywać ponownie w źródle |
| W tabeli pojawiają się zduplikowane nagłówki lub sumy częściowe | Wyklucz zgodnie z możliwymi do zinterpretowania regułami i zachowaj wykluczone wiersze i przyczyny | Ułatw recenzentom wykrywanie przypadkowych usunięć |
| Należy dopasować szczegóły wielojęzyczne | Wyrównaj według identyfikatora źródła, a nie tylko przetłumaczonej nazwy produktu | Zaró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ób | Czy nadaje się jako tożsamość? | powód |
|---|---|---|
| Strona źródłowa + numer tabeli + numer wiersza źródłowego | Odpowiedni | Potrafi stabilnie zlokalizować linię w oryginalnym tekście |
| Nazwa produktu | Nie nadaje się do stosowania samodzielnie | możliwy duplikat |
| Kwota | Nie nadaje się do stosowania samodzielnie | możliwy duplikat |
| Wyświetl numer seryjny po sortowaniu | Nie nadaje się jako źródło | Zmieni 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.
| Zjawisko | należy sprawdzić | nie należy przyjmować natychmiast |
|---|---|---|
| Zduplikowana kwota | Niezależnie od tego, czy jest to inny projekt, czy inna linia źródłowa | Usuń duplikaty według kwoty |
| Zduplikowany identyfikator źródła | Czy wystąpił błąd podwójnego importu lub mapowania? | Losowo dodaj nowy identyfikator |
| Zmniejszona liczba rzędów | Scal komórki, puste wiersze i reguły filtrowania | Uzupełnij poprzednią linią |
| Zmiana sekwencji | Okreś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


