Szybka Odpowiedź
Quick Answer
Ekstrakcja certyfikatów multi-element wymaga, aby parser wykrył granice tabeli, powiązał nagłówki kolumn z wartościami w wierszach, podzielił wiele partii lub elementy liniowe na odrębne rekordy i obsługiwał przerwy stron w środku tabeli—wyzwania, które pokonują proste potoki OCR, ale są osiągalne za pomocą modeli wizji-języka i schematów ekstrakcji świadomych tabel.
Certyfikat testowania młyna jednopartyjnego jest najprostszym przypadkiem ekstrakcji: jeden zestaw wartości chemicznych, jeden zestaw wyników testów mechanicznych, jeden numer partii. Rzeczywiste przepływy dokumentów rzadko są tak czyste. Centra serwisowe stali wydają konsolidowane certyfikaty obejmujące dziesiątki partii. Walcownie arkuszowe tabelują wiele lokalizacji testów na jednej partii. Producenci rur zawierają chemię ciała i spawu w sąsiednich kolumnach.
Ekstrakcja multi-liniowa to miejsce, gdzie proste parsery zawodzą, a niezawodne architektury ekstrakcji dowodzą swoją wartość.
Typy Dokumentów Multi-Liniowych
Zrozumienie trybów awarii wymaga rozróżnienia struktur dokumentów:
Typ 1: Konsolidowany certyfikat multi-partiowy Jeden plik PDF obejmuje wiele numerów partii, każdy ze swoimi danymi chemii i testów mechanicznych. Powszechne w centrach serwisowych stali i dystrybutorach, którzy ponownie wydają certyfikaty MTC dostawców w skonsolidowanym formacie. Typowa struktura: tabela, w której każdy wiersz to oddzielna partia.
Typ 2: Tabela testów mechanicznych multi-próbkowych Jedna partia z wieloma wynikami testów próbek (na przykład testy udaru Charpy'ego w -20°C z pięciu lokalizacji na płycie). Dane partii są jednotkowe; tylko tabela testów mechanicznych ma wiele wierszy.
Typ 3: Tabela chemii multi-element z uwagami Standardowa tabela chemii plus elementy uzupełniające (bor, azot, pozostałości) w pomocniczej tabeli na tej samej lub następnej stronie. Obie tabele należą do tej samej partii.
Typ 4: Certyfikat multi-partiowy, wielostronicowy Konsolidowany certyfikat, gdzie tabela obejmuje wiele stron, a wiersz nagłówka kolumny pojawia się tylko na pierwszej stronie.
Typ 5: Certyfikat uzgodnienia elementu linii zamówienia zakupu Certyfikat obejmujący wiele elementów linii zamówienia, każdy z różnymi klasami materiału, rozmiarami i powiązanymi odniesieniami partii. Powszechne w pakietach dokumentacji projektów EPC.
Każda z tych struktur wymaga innej strategii ekstrakcji.
Dlaczego Potoki OCR Zawodzą na Tabelach Multi-Liniowych
Tradycyjne procesy OCR przetwarzają stronę do strumienia znaków w porządku czytania. Dla tabeli chemii z 12 elementami w 8 wierszach partii, OCR zwraca coś w rodzaju:
C Mn Si P S Cr Mo Ni
0.18 1.42 0.28 0.012 0.008 0.02 0.01 0.08
0.21 1.38 0.31 0.015 0.010 0.02 0.01 0.09
...
Wiersz nagłówka jest zachowany, a wartości pojawiają się w porządku. Ale potok przetwarzania końcowego musi teraz:
- Zidentyfikować, który wiersz jest nagłówkiem
- Powiązać każdą wartość w każdym wierszu danych ze swoim nagłówkiem kolumny
- Wykryć numer partii, który identyfikuje każdy wiersz
- Obsługiwać przypadki, w których numer partii znajduje się w oddzielnej poprzedniej kolumnie lub w scalonej komórce
Ta logika powiązania kolumn kończy się niepowodzeniem:
- Tabele ze scalonymi komórkami nagłówka (rozciągające się na wiele kolumn)
- Tabele z hierarchicznymi nagłówkami (grupa główna + podElement)
- Tabele, w których szerokości kolumn znacznie się różnią
- Tabele z pustymi komórkami (brak testu dla tego elementu)
- Tabele z odniesieniami do przypisów osadzonych w komórkach
Jak Modele Wizji-Języka Obsługują Strukturę Tabeli
VLM przetwarza stronę jako obraz i wizualnie rozumie strukturę tabeli. Widzi, że nagłówki kolumn rozciągają się na określone szerokości i że wartości poniżej należą do tych kolumn niezależnie od sekwencji znaków w porządku czytania. Model może:
- Zidentyfikować scalone komórki nagłówka i zastosować nagłówek do wszystkich podkolumn
- Wykryć puste komórki jako wyraźnie "nie przetestowane" zamiast błędnie odczytanych wartości
- Rozpoznać hierarchiczne nagłówki (na przykład "Chemia %" z nagłówkami podrzędnymi dla każdego elementu)
- Powiązać numery partii w kolumnie skrajnie lewej z każdym wierszem wartości
W przypadku tabel wielostronicowych model wymaga jawnej obsługi przypadku podziału strony: nagłówki kolumn ze strony 1 muszą być rozpropagowane do wierszy danych na stronie 2, gdzie się nie pojawiają. Wymaga to kontekstu na poziomie dokumentu, który przetwarza strony sekwencyjnie zamiast niezależnie.
Segmentacja: Od Tabeli do Rekordów
Po ekstrakcji tabeli system musi podzielić tabelę na poszczególne rekordy—jeden na partię lub element linii. Ten krok segmentacji jest logicznie oddzielony od kroku ekstrakcji pola i wymaga własnej logiki:
Segmentacja oparta na wierszach: Każdy wiersz w tabeli to rekord. Numer partii w pierwszej kolumnie jest kluczem głównym. Jest to typowy przypadek dla konsolidowanych certyfikatów multi-partiowych.
Segmentacja oparta na grupach: Wiele wierszy należy do tej samej partii (wiele wyników próbek). System musi wykryć granice grupy—zwykle scalona komórka lub powtórzony numer partii—i agregować wiersze w jeden rekord partii z tablicą zagnieżdżoną dla danych wielopromieniowych.
Segmentacja ze wzajemnym odniesieniem: Elementy linii odwołują się do numerów partii, które pojawiają się w innym miejscu dokumentu (na przykład tabela listy pakowania odnosi się do numerów partii tabelowanych w oddzielnej sekcji chemii). Ekstrakcja wymaga wzajemnego odniesienia w dokumencie w celu skonstruowania pełnych rekordów.
Platformy takie jak TestCert obsługują wszystkie trzy wzorce segmentacji poprzez potok ekstrakcji oparty na schemacie, gdzie odpowiedni wzorzec segmentacji jest wybierany na podstawie klasyfikacji dokumentu przy wejściu.
Obsługa Podziałów Stron w Tabelach Wielostronicowych
Przypadek tabeli wielostronicowej jest powszechny w dużych pakietach dokumentacji projektów. Prawidłowe podejście:
- Wykryj tabelę na stronie 1, włączając nagłówki kolumn i ich pozycje
- Wykryj, że tabela ciągnęła się (zwykle przez etykietę "kontynuacja", pasującą strukturę kolumny lub brak granicy zamykającej)
- Przechowuj mapowanie nagłówka kolumny ze strony 1
- Zastosuj to mapowanie do wierszy danych na kolejnych stronach
- Odbuduj pełną tabelę przed segmentacją na rekordy
Ekstraktory przetwarzające strony niezależnie—typowy projekt z powodów kosztów—milcząco zawodzą w tym przypadku. Prawidłowo ekstrahują stronę 1 i produkują niekompletne lub źle sformułowane rekordy dla stron kontynuacji.
Walidacja Po Ekstrakcji Multi-Liniowej
Każdy ekstrahowany rekord elementu linii musi być walidowany niezależnie:
- Czy sprawdzenie sumy chemii przechodzi? (Węgiel + Mangan + Krzem + ... powinno być wiarygodne dla określonej klasy)
- Czy wartości mechaniczne mieszczą się w granicach określonego standardu?
- Czy numer partii jest obecny i unikalny w partii?
- Czy wypełnione są wymagane pola? (Niektóre tabele multi-partyjne pomijają powtórzone wartości dla zwięzłości; brakujące wartości powinny być oznaczone, nie milcząco akceptowane jako zero)
Walidacja na poziomie rekordu, a nie na poziomie dokumentu, zapobiega maskowaniu przez jedną ważną partię problemów w innych partiach na tym samym certyfikacie.
Najczęściej Zadawane Pytania
Jaka jest maksymalna liczba elementów linii, które ekstrator certyfikatów może niezawodnie obsługiwać?
Nie ma ustalonego maksimum, ale dokładność zwykle maleje przy bardzo dużych tabelach (50+ wierszy) z powodu kumulacyjnych błędów wnioskowania układu. W przypadku bardzo dużych konsolidowanych certyfikatów podzielenie dokumentu na strony lub sekcje przed ekstrakcją i scalenie wyników później poprawia niezawodność. Praktycznie większość produkcyjnych certyfikatów MTC ma 1–20 partii na dokument.
Jak system powinien obsługiwać element linii z brakującą chemią dla niektórych elementów?
Puste komórki powinny być rejestrowane jako null (nie przetestowano), nie zero. Wartość węgla równa zero jest chemicznie bez sensu; null oznacza, że element nie był wymagany przez specyfikację lub nie został przetestowany. Różnica ma znaczenie, gdy rekord jest używany do walidacji standardów—null nie powinien wyzwalać błędu "poniżej minimum".
Czy ekstrakcja może obsługiwać certyfikat, w którym każda partia ma inną obowiązującą klasę?
Tak, jeśli schemat ekstrakcji obsługuje pola standardu/klasy dla każdego wiersza. Niektóre konsolidowane certyfikaty określają jedną klasę dla wszystkich partii (prostsze); inne wymieniają różne klasy dla każdej partii (bardziej złożone). Ekstrator powinien wykryć, który wzorzec się stosuje i odpowiednio zmapować. Walidacja w dole musi następnie sprawdzić każdą partię względem jej własnej określonej klasy, a nie klasy na poziomie dokumentu.
Co się dzieje, gdy wiersz nagłówka tabeli powtarza się w środku tabeli (ponieważ niektóre narzędzia wstawiają dla paginacji)?
Powtórzone wiersze nagłówka to znany artefakt PDF. Solidny ekstrator wykrywa i ignoruje powtórzone wiersze nagłówka w treści danych, zamiast traktować je jako wiersze danych. Zawartość wiersza, która dokładnie odpowiada wzorcowi nagłówka kolumny, powinna być sklasyfikowana jako nagłówek i wykluczona z ekstrakcji danych.
Jak obsługiwać certyfikat, w którym niektóre partie mają dodatkowe dane testowe, a inne nie?
Schemat ekstrakcji powinien definiować pola testów dodatkowych jako opcjonalne. Partie z danymi dodatkowymi wypełniają te pola; partie bez pozostawiają null. Interfejs recenzenta powinien uczynić obecność lub brak danych dodatkowych widocznym, aby recenzenci mogli potwierdzić, że brakujące dane dodatkowe odzwierciedlają rzeczywistą zawartość dokumentu, a nie pominięcie ekstrakcji.
Ready to automate your certificate workflow?
Try TestCert free