Kopsavilkums:

Uzziniet kā bezmaksas rīks EasyOCR palīdz strukturēt skenētu PDF failu tekstu, lai nodrošinātu augstu datu kvalitāti LLM un RAG sistēmās.

Mūsdienu biznesā liela daļa vērtīgākās informācijas joprojām glabājas skenētu dokumentu, rēķinu, līgumu un vecu PDF failu formātā. Lai šos datus padarītu pieejamus modernajām lielo valodas modeļu (LLM) lietojumprogrammām, tiek izmantotas informācijas meklēšanas papildinātās ģenerēšanas jeb RAG (Retrieval-Augmented Generation) sistēmas. Tomēr pirms dokumenta saturs var nonākt šādā sistēmā, tas ir precīzi jāpārveido tekstā.

Skenētu PDF failu apstrāde bieži vien rada izaicinājumus, jo parastie teksta ekstraktori nespēj nolasīt attēlos iekļautos vārdus. Šeit talkā nāk optiskās rakstzīmju atpazīšanas (OCR) tehnoloģijas. Kā savā analītiskajā rakstā uzsver Towards Data Science autors, tradicionālie bezmaksas OCR rīki bieži vien sniedz tikai atsevišķus vārdus, zaudējot dokumenta struktūru, kas ir kritiski svarīga RAG darbībai.

Kāpēc vienkārša teksta atpazīšana nav pietiekama

Lielākā daļa OCR bibliotēku, piemēram, populārais EasyOCR, analizē attēlu un atgriež atpazīto vārdu sarakstu kopā ar to koordinātām (bounding boxes). Ja šo tekstu vienkārši apvieno vienā garā virknē, tiek zaudēts dokumenta izkārtojums. Piemēram, tabulas vai divu kolonnu teksta izkārtojums tiek nolasīts secīgi no kreisās uz labo pusi, pilnībā sajaucot teikumu nozīmi.

RAG sistēmas efektivitāte ir tieši atkarīga no tā, cik loģiskos un strukturētos blokos (chunks) ir sadalīts avota dokuments. Ja OCR rīks sajauc rindkopu secību, mākslīgais intelekts nespēs sniegt precīzas atbildes.

Lai atrisinātu šo problēmu, ir nepieciešams veikt pēcapstrādi, grupējot atpazītos vārdus loģiskās rindkopās un blokos, balstoties uz to vertikālajām un horizontālajām koordinātām attēlā. Šādu strukturētu datu sagatavošanu un viedu integrāciju atvieglo mākslīgā intelekta asistenti uzņēmumiem, kas palīdz automatizēt sarežģītus biznesa procesus.

Rīku salīdzinājums: EasyOCR pret maksas alternatīvām

Izstrādātājiem bieži ir jāizvēlas starp bezmaksas atvērtā koda risinājumiem un dārgiem mākoņpakalpojumu API. Zemāk redzamajā tabulā salīdzinātas galvenās atšķirības starp šīm pieejām.

ParametrsEasyOCR (Atvērtais kods)Maksas Mākoņa API (piem. Google Cloud Vision)
IzmaksasPilnībā bezmaksasMaksas (par katru apstrādāto lapu)
Datu konfidencialitāteAugsta (darbojas lokāli jūsu serverī)Vidēja (dati tiek sūtīti uz trešo pušu serveriem)
Dokumentu struktūraNepieciešama manuāla pēcapstrādeDaļēji iebūvēta struktūras noteikšana
Ātrums un resursiAtkarīgs no lokālā GPU jaudasĀtra mērogošana mākonī
💡 Padoms darbam ar EasyOCR
Lai panāktu vislabāko rezultātu, pirms OCR veikšanas ieteicams veikt PDF lapu attēlu priekšapstrādi - palielināt kontrastu un pārvērst tos melnbaltā formātā. Tas būtiski samazina kļūdu skaitu vārdu atpazīšanā.

Tehniskā realizācija: EasyOCR koda piemērs

Lai uzsāktu darbu ar EasyOCR Python vidē, vispirms ir jāuzstāda nepieciešamās bibliotēkas un jāveic pamata inicializācija. Zemāk redzams vienkāršots piemērs, kā ielasīt attēlu un iegūt vārdus ar to koordinātām.

import easyocr

# Inicializējam lasītāju latviešu un angļu valodai
reader = easyocr.Reader(['lv', 'en'])

# Veicam teksta atpazīšanu no attēla
results = reader.readtext('skeneta_lapa.png')

for (bbox, text, prob) in results:
    print(f"Teksts: {text} | Precizitāte: {prob:.2f}")

Pēc tam, kad rezultāti ir iegūti, izstrādātājam ir jāizveido algoritms, kas grupē blakus esošās koordinātas. Ja divu vārdu vertikālais attālums (Y ass) ir minimāls un horizontālais attālums (X ass) nepārsniedz vidējo atstarpes izmēru, šie vārdi ir jāapvieno vienā teikumā.

⚠️ Ierobežojumi un riski
EasyOCR var darboties lēnāk uz sistēmām, kurām nav pieejams grafiskais procesors (GPU) ar CUDA atbalstu. Izmantojot tikai procesoru (CPU), apstrādes laiks vienai lapai var palielināties pat vairākas reizes, kas padara to nepiemērotu reāllaika lietotnēm ar lielu dokumentu apjomu.

Secinājumi

Skenētu PDF failu pārvēršana kvalitatīvā tekstā priekš RAG sistēmām ir sarežģītāka nekā vienkārša OCR palaišana. Izmantojot bezmaksas rīku EasyOCR, ir iespējams sasniegt izcilus rezultātus un saglabāt pilnīgu datu kontroli savā infrastruktūrā, tomēr tas prasa papildu pūles loģiskās dokumenta struktūras atjaunošanā. Pareizi konfigurēta pēcapstrāde nodrošinās to, ka jūsu mākslīgā intelekta asistents vienmēr saņems precīzu un viegli saprotamu informāciju.