Jak działa rozpoznawanie tekstu w komputerze?
Zamiana grafiki na tekst wymaga wykonania pięciu kroków:
1. Wczytanie strony:
Najpierw strona jako plik graficzny musi trafić do komputera, na przykład jako skan.
2. Podział strony:
Program do rozpoznawania tekstu dzieli stronę na poszczególne elementy. Dzięki tak zwanej analizie layoutu (układu) program do OCR ustala, gdzie na stronie znajduje się tekst, a gdzie inne elementy, na przykład grafiki i zdjęcia.
Program automatycznie dzieli tekst na akapity, potem na zdania, słowa i znaki. Na koniec analizy layoutu program tworzy z dokumentu zbiór pojedynczych znaków i zapamiętuje, gdzie znajdują się pojedyncze słowa i zdania - te zależności logiczne zostaną później wykorzystane podczas rozpoznawania.
3. Rozpoznawanie znaków:
To najważniejsza faza rozpoznawania tekstu. Program musi poprawnie zidentyfikować rozpoznane znaki. Czy znak w dokumencie to litera B? A może cyfra 8? Jeśli program pomyli się w tym miejscu, ucierpi na tym wynik całego procesu.
Aby rozpoznać tekst możliwie bezbłędnie, programy wykorzystują kombinacje różnych metod, które z grubsza można podzielić na dwie kategorie: rozpoznawanie wzorów (pattern matching) i rozpoznawanie cech (feature matching). Więcej informacji na ten temat w dalszej części artykułu.
Aby ułatwić komputerom rozpoznawanie tekstu, opracowano specjalne czcionki. Pierwszy wariant OCR-A istnieje od 1968 roku. Ponieważ jest to dość trudno czytelny krój pisma, opracowano później czcionkę OCR-B
4. Budowanie tekstu:
Po skończeniu procedury rozpoznawania znaków program znów zaczyna zajmować się dokumentem jako całością. Za pomocą wbudowanego słownika program z poszczególnych znaków tworzy słowa, ze słów zdania, potem akapity, aż do odtworzenia kompletnego tekstu.
Najważniejszą sztuczką jest wykorzystanie informacji uzyskanych podczas analizy layoutu (patrz krok 2), dzięki którym można szybciej zbudować tekst. Programy uwzględniają również reguły gramatyczne, aby w efekcie końcowym otrzymać poprawne zdania.
5. Zapisanie rozpoznanego tekstu:
Na koniec program do OCR zapisuje rozpoznaną stronę jako plik - jest to plik tekstowy (.txt) lub plik uwzględniający format dokumentu źródłowego, na przykład .rtf, plik Worda lub PDF.
Jak dokładnie działa rozpoznawanie znaków?
Programy OCR stosują wiele rozmaitych technik pozwalających na rozpoznanie poszczególnych znaków:
Rozpoznawanie cech:
Istnieje dokładnie dziesięć różnych metod, najważniejsze to rozpoznawanie rastra, rozpoznawanie cech i klasyfikacja struktur. Program do rozpoznawania tekstu wie, że każdy znak ma określone cechy.
Typowymi cechami litery A są na przykład dwie ukośne linie spotykające się u wierzchołka i kreska w środku. Cechy te są niezmienne bez względu na wielkość czcionki albo sposób wydrukowania tekstu, na przykład kursywę lub wytłuszczenie.
Podczas rozpoznawania cech stosuje się z reguły kilka metod identyfikacji po kolei, dokładne zasady ich działania są najpilniej strzeżonymi tajemnicami producentów oprogramowania.
Program musi porównać i zważyć wyniki wszystkich użytych metod. Do tekstu trafia znak, dla którego ustalono najwyższe prawdopodobieństwo skutecznego rozpoznania.
Rozpoznawanie wzorców:
Ta metoda polega na porównywaniu każdego jednego znaku z zadanej strony z biblioteką znaków programu. Programy wykorzystują do tego duże bazy danych z różnymi krojami pisma. Jeśli znaleziony znak zgadza się ze znakiem z bazy danych, program uznaje go za rozpoznany.
Brzmi to wszystko prosto, ale te czynności są bardzo czasochłonne i nie gwarantują stuprocentowej skuteczności, bo czcionka na rozpoznawanej stronie musi absolutnie zgadzać się z wzorcem w bazie danych, włącznie ze wszystkimi elementami formatowania, takimi jak wytłuszczenie lub kursywa.
Kolory:
Można wprawdzie skanować strony z kolorowymi zdjęciami lub grafikami, ale programy do OCR wykorzystują tylko odcienie szarości z tego praktycznego powodu, że kolory nie odgrywają żadnej roli podczas rozpoznawania tekstu, a pliki z materiałami do analizy zajmują mniej miejsca.
Oprócz tego kolorowe tła nie powinny zakłócać procesu rozpoznawania, trzeba też rozpoznać teksty przebiegające w poprzek zdjęć.