BookTranslator
BookTranslator

OCR wielojęzycznego PDF-a: Sprawdzaj chiński, angielski i liczby osobno

Wybierz języki OCR dla mieszanego PDF-a chińsko-angielskiego, przejrzyj rzeczywiste przykłady wyników oraz sprawdź znaki, identyfikatory, liczby i relacje w tabelach.

BookTranslator

BookTranslator Team

11 min read

Aby przeprowadzić OCR wielojęzycznego pliku PDF, zidentyfikuj pisma na stronie, wybierz narzędzie zdolne przetworzyć PDF-a w odpowiednich językach rozpoznawania, a następnie porównaj wyekstrahowany tekst z obrazem. Sprawdzaj chiński tekst, angielski tekst, liczby oraz relacje etykiet osobno. Znalezienie angielskiego tytułu w wyszukiwarce nie gwarantuje, że chiński tekst główny został poprawnie rozpoznany.

Dodanie kolejnego języka warto przetestować, nie zawsze jest to jednak automatyczna poprawa. W naszym małym eksperymencie chińsko-angielskim dodanie języka angielskiego naprawiło jedną angielską etykietę, ale zepsuło chińskie zdanie, które konfiguracja tylko dla języka chińskiego rozpoznała poprawnie. Żadna z naszych dwóch konfiguracji tabel nie zwróciła tekstu z prostej tabeli z liniami.

Nie jest to wyrok na wielojęzyczny OCR w ogóle. To powód, aby oceniać potrzebne Ci wyniki, a nie liczbę wybranych języków.

Najpierw odróżnij brak tekstu od niepoprawnego tekstu

Pozostaw oryginalny plik bez zmian. Na kopii wybierz zdanie z reprezentatywnej strony i wklej je do edytora czystego tekstu. Wypróbuj fragment chiński oraz angielski, nie tylko tytuł dokumentu.

Co znajdzieszCo zrobić dalej
Nic nie można zaznaczyć ani skopiowaćPotraktuj stronę jako potencjalnie zawierającą sam obraz i uruchom OCR.
Tekst się kopiuje, ale znaki różnią się od widocznych na stronieZbadaj niepoprawną istniejącą warstwę tekstową; samo otworzenie i zapisanie może jej nie zmienić.
Niektóre strony kopiują się poprawnie, a inne nieZrób inwentaryzację dotkniętych problemem stron przed zastosowaniem operacji dla całego dokumentu.
Słowa kopiują się poprawnie, ale wiersze lub akapity się łącząSprawdź segmentację oraz kolejność czytania osobno od języka rozpoznawania.

Istniejąca warstwa tekstowa ma znaczenie. Na przykład, dokumentacja OCR programu NAPS2 podaje, że zaimportowane strony PDF, które już zawierają tekst, są pozostawiane bez zmian. Ponowne zaimportowanie źle przetworzonej przez OCR strony nie jest zatem niezawodną metodą naprawczą w tym przepływie pracy.

Jeśli prawdziwym problemem jest skan o niskiej rozdzielczości, zakrzywiony lub przechylony, napraw to przed interpretacją porównania ustawień językowych. Nasz szerszy przewodnik po skanowanych plikach PDF obejmuje to przygotowanie oraz późniejsze etapy tłumaczenia.

Wybierz języki rozpoznawania, a nie język docelowy tłumaczenia

Rozpoznawanie odpowiada na pytanie „jakie znaki znajdują się na tej stronie?”. Tłumaczenie odpowiada na pytanie „jak ta treść powinna brzmieć w innym języku?”. Nie proś modułu OCR o potajemne upraszczanie tradycyjnego chińskiego, tłumaczenie angielskiego cytatu lub przepisywanie nieznanego identyfikatora.

Sporządź krótką inwentaryzację:

  • Pismo chińskie: uproszczone, tradycyjne lub oba, w tym nagłówki i notatki.
  • Tekst łaciński: angielskie zdania, nazwiska autorów, odniesienia, skróty i numery modeli.
  • Wartości kontrolowane: daty, kropki dziesiętne, jednostki, znaki minusa, identyfikatorów oraz kody uwzględniające wielkość liter.
  • Obszary: proza, tabele, podpisy, przypisy lub aneks w osobnym języku.

Na przykład tradycyjny chiński raport może zawierać angielskie streszczenie i bibliografię. Rozdział w języku chińskim uproszczonym może zawierać tabelę z A-01, 23.5, oraz °C. Żaden z nich nie powinien być oceniany poprzez sprawdzenie wyłącznie najdłuższego chińskiego akapitu.

Tesseract udostępnia oddzielne chi_sim, chi_tra, oraz eng modele w swoim oficjalnym repozytorium modeli. Jego dokumentacja poleceń obsługuje połączone wybory języków i zauważa, że kolejność języków może wpływać na wyniki. Są to możliwości konfiguracyjne, a nie gwarancje, że każdy dodatkowy model pomoże.

Jeśli Twój dokument zawiera zamiast tego pionowe kolumny japońskie i furiganę, skorzystaj z przewodnika po japońskim OCR pionowym. To jest inny problem związany z układem i adnotacjami, a nie tylko kolejne pole wyboru języka.

Skorzystaj z przepływu pracy, który faktycznie obsługuje pliki PDF

Ścieżka dla systemu desktopowego: NAPS2

NAPS2 oferuje udokumentowany sposób na nadanie skanowanym plikom PDF możliwości wyszukiwania:

  1. Zaimportuj kopię pliku i otwórz jego ustawienia OCR.
  2. Pobierz języki rozpoznawania wymagane dla tego dokumentu.
  3. Wybierz Wiele języków i zaznacz odpowiednie języki.
  4. Włącz OCR dla PDF z możliwością wyszukiwania i zapisz jako nowy plik.
  5. Otwórz ten plik ponownie i porównaj skopiowany chiński, angielski i tekst liczbowy z widoczną stroną.

Opcja wielu języków pojawia się po pobraniu więcej niż jednego języka. Te kroki są zgodne z oficjalnym przewodnikiem NAPS2; na potrzeby tego artykułu nie przeprowadzaliśmy testów praktycznych NAPS2.

Ścieżka w wierszu poleceń: OCRmyPDF

W przypadku pliku PDF zawierającego wyłącznie obrazy w języku uproszczonym chińskim/angielskim przykład oparty na oficjalnej dokumentacji to:

ocrmypdf -l chi_sim+eng --output-type pdf \
  --sidecar recognized.txt input.pdf searchable.pdf

Najpierw zainstaluj wymagane pakiety językowe. Użyj chi_tra do testu w języku chińskim tradycyjnym, zamiast zakładać, że skrypty są zamienne.

Zbiór przepisów OCRmyPDF dokumentuje pliki PDF oraz wyniki w postaci tekstu pomocniczego (sidecar). Plik pomocniczy nie musi zawierać całego dokumentu: tekst na stronach, które już go miały, lub na stronach pominiętych podczas OCR, może być nieobecny. Sprawdź sam wyjściowy plik PDF. Istniejący nieprawidłowy OCR wymaga celowego ponownego wykonania przepływu pracy; nie wymuszaj rastrowania każdej strony bez zrozumienia, co to zmienia.

Jest to ścieżka oparta na dokumentacji, a nie nasze zmierzone środowisko testowe. Nie uruchamialiśmy tutaj programu OCRmyPDF.

Zwykły Tesseract wymaga wyrenderowanych stron

Nie używaj tesseract input.pdf ... tak, jakby był czytnikiem plików PDF. Tesseract nie akceptuje danych wejściowych w formacie PDF, mimo że może generować pliki PDF na wyjściu. Tesseract.js ma to samo ograniczenie dotyczące wejścia PDF: najpierw wyrenderuj strony za pomocą biblioteki PDF, a następnie rozpoznaj obrazy.

Taką ścieżkę zastosowano w naszym poniższym eksperymencie. Tworzy ona tekst oraz dane TSV, a nie przetestowany przeszukiwalny plik PDF.

Co wydarzyło się podczas dziesięciu lokalnych wywołań OCR

Utworzyliśmy trznostronicowy plik PDF zawierający wyłącznie obrazy, który zawierał:

  1. uproszczoną chińską prozę z angielskimi odniesieniami, identyfikatorami, liczbami dziesiętnymi i jednostkami;
  2. odpowiednią stronę w tradycyjnym języku chińskim;
  3. niewielką chińsko-angielską tabelę z trzema wierszami danych.

Tekst i wartości są autorskimi materiałami dydaktycznymi, a nie plikami klientów czy rzeczywistymi pomiarami. Każdy docelowy fragment prozy zawiera 124 znaki niebędące białymi znakami, w tym 41 znaków han. Tabela zawiera 79 znaków niebędących białymi znakami.

Syntetyczny wyciąg z raportu w tradycyjnym języku chińskim z angielskimi odniesieniami, identyfikatorami dokumentów, liczbami dziesiętnymi i jednostkami.

Strony źródłowe pliku PDF nie zawierały tekstu nadającego się do wyodrębnienia. Wyrenderowaliśmy je za pomocą programu Poppler 26.08.0 w rozdzielczości 300 dpi, uzyskując obrazy o wymiarach 1600×1000 pikseli. Rozmiar czcionki wynosił 48 pikseli w kroju Noto Sans CJK SC/TC Regular. Cała interpunkcja pochodziła ze zwykłych poziomych glifów czcionek.

8 września 2026 r. uruchomiliśmy lokalnie Tesseract.js 7.0.0 z pakietem tesseract.js-core 7.0.0 w systemie macOS ARM64. Oficjalne tessdata_fast modele zostały przypisane do commitu 87416418657359cb625c412a48b6e1d6d41c29bd. Każde wywołanie wykorzystywało OEM 1 i PSM 6, czyli ustawienie jednolitego bloku tekstu, z tym samym obrazem strony dla każdego porównania językowego.

Dla każdej strony prozy przygotowano cztery przepisy językowe, a dla tabeli dwa. Wszystkie dziesięć wywołań zakończyło się powodzeniem; żaden wynik nie został odrzucony ani żaden parametr nie został dostosowany po obejrzeniu wyniku. Dokładne dane wejściowe, sumy kontrolne modeli, wersje i surowe wyniki oraz instrukcje odtworzenia są dostępne.

Jedno ustawienie może naprawić jedno pole, a uszkodzić inne

Na tradycyjnej stronie chi_tra zachowało wszystkie 41 znaków chińskich z rzędu, ale nadal popełniało błędy niechińskie. Na przykład zmieniło angielską etykietę Document ID na Document 1ID i błędnie odczytało symbol stopnia.

Dodanie eng przywróciło Document ID, ale część zdania dotyczącego temperatury i masy zamieniła się w fragmenty wyglądające na łacińskie:

Expected: 樣本溫度為 23.5 °C,質量為 1.08 kg。
Observed with chi_tra+eng: RA MEA 23.5°C > HBA 1.08 kg。

Liczby przetrwały w tej linii, podczas gdy otaczający tekst chiński już nie. Sprawdzanie tylko 23.5 i 1.08 pozwoliłoby przeoczyć te uszkodzenia.

Uproszczona strona wykazała inny kompromis. Dodanie języka angielskiego przywróciło BK-2026-A07, co w przebiegu tylko dla języka chińskiego zostało zwrócone jako BK-2026-AO7. Zmieniło to jednak również 与 na 5 w innym miejscu. Wizualnie dwuznaczny identyfikator O0I1-l pozostał błędny.

Poniższa diagnostyka pokazuje, dlaczego nie ogłosiliśmy zwycięzcy:

Wybór danych wejściowych i językaEdycje sekwencji znaków chińskichZnalezione chronione ciągi znaków
Każda strona tekstu, eng samychbrakuje 41 z 41 oczekiwanych znaków han9 z 10
Uproszczona strona, chi_sim17 z 10
Uproszczona strona, kolejność chińska lub angielska28 z 10
Tradycyjna strona, chi_tra09 z 10
Tradycyjna strona, kolejność chińska lub angielska99 z 10
Tabela, eng lub chi_sim+engNie zwrócono tekstu0 z 9

„Edycje sekwencji han” porównują wyłącznie ideogramy chińskie. Nie oceniają one języka angielskiego, interpunkcji ani odstępów. „Znalezione chronione ciągi” to wyłącznie sprawdzenie obecności predefiniowanych identyfikatorów, cyfr, jednostek i tokenów referencyjnych; nie weryfikuje ono ich pozycji ani relacji. Wyniki zawierające wyłącznie język angielski obnażają tę pułapkę: większość chronionych ciągów była obecna, a mimo to nie zwrócono żadnego chińskiego znaku.

Pełny plik CSV z porównaniem przedstawia również odległości edycyjne dla całego tekstu. Porównanie stosuje postać normalizowaną Unicode NFC i usuwa białe znaki; nie poprawia interpunkcji, nie zmienia wielkości liter, nie konwertuje chińskich pism ani nie zmienia kolejności znaków. Odwrócenie kolejności języków zmieniło odstępy w tych wyjściowych tekstach prozą, ale nie znormalizowaną sekwencję znaków. Obserwacja ta nie stanowi ogólnej zasady dotyczącej kolejności języków.

Pusta tabela nie oznacza udanej ekstrakcji

Syntetyczna tabela chińsko-angielska łącząca każdą pozycję z jej identyfikatorem, wartością numeryczną i jednostką.

Oba wywołania tabel zwróciły pusty tekst, mimo że zakończyły się bez błędu wykonania OCR. Dodanie języka chińskiego nie uratowało ustalonego przepisu dla jednorodnych bloków.

Nie testowaliśmy innych trybów segmentacji, przycięć komórek ani silnika rozpoznawania tabel. W związku z tym wynik nie pokazują, że Tesseract nie potrafi odczytać tabel. Pokazują one również, że sama zmiana języka rozpoznawania nie rozwiązała problemu w tej próbie przy użytych przez nas ustawieniach.

W przypadku prawdziwej tabeli należy wymagać pełnej relacji Temperature → A-01 → 23.5 → °C, a nie czterech tokenów znalezionych gdzieś na stronie. Jeśli wynik jest pusty lub nie można zweryfikować relacji, należy przestać traktować go jako wiarygodną transkrypcję. Wypróbuj przepływ pracy uwzględniający układ lub przepisz niezbędne komórki, odwołując się do obrazu.

Czego ten eksperyment nie może udowodnić

Są to trzy czyste, syntetyczne strony z jednej rodziny czcionek, zweryfikowane przez jednego agenta piszącego. Nie przeprowadzono zaślepionej oceny ludzkiej, testu na korpusie dokumentów produkcyjnych ani testu rozmytych skanów, pism odręcznych, złożonych tabel, tekstu pionowego czy historycznych znaków.

Wyniki te stanowią użyteczne kontrprzykłady dla bezwarunkowej zasady „dodaj więcej języków”. Nie są one rankingiem silników, ogólnym wskaźnikiem dokładności ani prognozą dla Twojego pliku PDF. Nie był to test BookTranslator, a źródłowy plik PDF zawierający wyłącznie obrazy nie jest kopią do czytania z ukończonym OCR.

Przeprowadź czteroczęściową weryfikację we własnym pliku

Pobierz czysty arkusz recenzji. Wybierz stronę zawierającą faktyczną trudność, a następnie dodaj następujące kontrole przed przetworzeniem całego pliku:

  1. Tekst w języku chińskim: porównaj pełne zdanie, uwzględniając rzadziej spotykane znaki oraz zamierzone formy uproszczone/tradycyjne. Nie należy w sposób niezauważalny normalizować błędnego znaku do tego, którego się spodziewano.
  2. Język angielski i identyfikator: sprawdź nazwiska autorów, odniesienia, skróty, wielkość liter oraz podobnie wyglądające znaki, takie jak O/0 lub I/l/1. Nieznany kod nie jest słowem wymagającym autokorekty.
  3. Liczby i jednostki: porównaj każdą wartość wraz z jej znakiem, przecinkiem dziesiętnym, jednostką i etykietą. 0.05 oraz 0.50 muszą pozostać odrębne; rozpoznany 23.5 bez poprawnej jednostki jest niekompletny.
  4. Relacje i kompletność: sprawdź, czy każdy akapit lub wiersz tabeli znajduje się na właściwym miejscu. Upewnij się, że podpisy, notatki i małe fragmenty w drugim języku są obecne, a nie tylko główny tekst.

Zanotuj tekst oryginalny, zaobserwowany wynik, stronę/obszar oraz wymagane działanie. Jeśli konfiguracja poprawia jedną kontrolę, ale pogarsza inną, zachowaj oba spostrzeżenia. Nie akceptuj pliku na podstawie pojedynczego wyniku pewności lub średniej liczby znaków.

Rozróżnij trzy rezultaty: gotowy do użycia zgodnie z przeznaczeniem, wymagający konkretnych poprawek lub jeszcze niewiarygodny. Zadanie polegające na wyszukiwaniu może wymagać tylko jednego zweryfikowanego fragmentu; kompletna kopia do czytania wymaga pokrycia całego dokumentu, a nie tylko czystej strony tytułowej.

Tłumacz dopiero wtedy, gdy wiesz, co mówi tekst źródłowy

Jeśli wyszukiwanie i skopiowany tekst oryginalny rozwiązują Twój problem, na tym poprzestań. OCR wykonał swoje zadanie; tłumaczenie to osobna decyzja.

Jeśli musisz przeczytać cały dokument w innym języku, zachowaj oryginalny skan oraz poprawiony tekst jako odniesienia, a następnie postępuj zgodnie z przepływem pracy przy tłumaczeniu skanowanych plików PDF. W przypadku pliku spełniającego wymagania, translator PDF BookTranslatora może być kolejnym krokiem. Jego tryb OCR rekonstruuje przetłumaczoną treść zamiast obiecywać dokładną zgodność z oryginalnym układem strony; nie zwalnia to jednak z konieczności weryfikacji odzyskanego tekstu i relacji między tabelami.

Po przetłumaczeniu skorzystaj z listy kontrolnej QA dotyczącej tłumaczenia PDF, aby odróżnić błąd rozpoznawania źródła od błędu tłumaczenia lub układu. Poprawianie niewłaściwego etapu to sposób, w jaki czytelny błąd trafia do ostatecznego pliku.

Powiązane wpisy

OCR wielojęzycznego PDF-a: Sprawdzaj chiński, angielski i liczby osobno