ÉlőUtoljára: 1 perceMa: 26
Kutatásfrissítve: 21:16

Elütések és OCR-hibák miatt romlik a RAG-eredmény, az embeddings oldja meg a problémát

A felhasználói gépelési hibák, transzkripciós és OCR-zajok rontják a RAG-rendszerek teljesítményét. A klasszikus helyesírás-ellenőrzők csak az elsőt tudják javítani.

Elütések és OCR-hibák miatt romlik a RAG-eredmény, az embeddings oldja meg a problémát
Fotó: National Cancer Institute / Unsplash
forrás: Towards Data Science·AI Forradalom szerk.·
Megosztás

A RAG-rendszerek (Retrieval-Augmented Generation) hatékonyságát jelentősen befolyásolhatja a bemeneti szöveg minősége. A felhasználók gépelési hibái, a gyorsírásból származó transzkripciós zajok és az optikai karakterfelismerés (OCR) hibái mind olyan problémák, amelyek megakadályozzák a pontos információ-visszakeresést. Angela Shi és Kezhan Shi a Towards Data Science-on megjelent cikkében bemutatja, hogy a hagyományos helyesírás-ellenőrző eszközök csak korlátozottan képesek kezelni ezeket a problémákat, míg az embeddings (beágyazások) csendben elnyelik a zaj nagy részét.

A cikk kiemeli, hogy a RAG-folyamat mindkét oldalán – a lekérdezés és a dokumentumok oldalán is – megjelenhet a zaj. Egy rosszul megfogalmazott kérdés, amely tele van elütésekkel, nem fog hasznos választ adni, még akkor sem, ha a dokumentumbázisban ott a keresett információ. Hasonlóképpen, ha 50 000 ügyfélszolgálati jegy kerül feldolgozásra, amelyek fele töredékes, rövidített vagy vegyes kis- és nagybetűs, a rendszer zajos eredményeket fog produkálni. Ez a „zajos szöveg probléma” látszólag helyesírási hibának tűnik, de valójában három különböző forrásból ered.

A zaj három forrása

Az elsődleges zajforrás a felhasználó által elkövetett typo, azaz elgépelés. Ezt a klasszikus helyesírás-ellenőrző eszközök, mint például a Levenshtein-távolság vagy a BK-fa, képesek kijavítani. Ezek az algoritmusok a szavak közötti minimális karakteres különbségeket vizsgálják, és a szótárban található legközelebbi helyes alakot keresik. A Python könyvtárak, mint a rapidfuzz, jellyfish, symspellpy és pybktree, mind ezt a problémát célozzák.

A második zajforrás a transzkripciós zaj. Ez akkor keletkezik, amikor a felhasználó gyorsan gépel, különösen mobil eszközökön. Ilyenkor előfordulhatnak határok elmosódása, ékezetek elhagyása vagy szavak rövidítése. Ezeket a hibákat a hagyományos helyesírás-ellenőrzők már nem tudják hatékonyan javítani, mivel nem a szavak hangzása vagy kiejtése, hanem a karakterek sorrendje a lényeges. A hangzási kódolók, mint a Soundex és a Metaphone, részben segíthetnek, de nem oldják meg teljesen a problémát.

A harmadik zajforrás a OCR-zaj. Az optikai karakterfelismerés során a szkennelt dokumentumok karakterei hibásan ismerődhetnek fel. Például az „O” betű helyett nulla („0”), egy „fi” ligatúra kettéhasadása, vagy egybeírt szavak (pl. „policyholder” helyett „policy holder”) jelenhetnek meg. Ezek a hibák szintén nem javíthatók klasszikus helyesírás-ellenőrzőkkel, mert a szó maga nem feltétlenül hibás, csak a karakterek cserélődtek fel vagy váltak szét.

A klasszikus helyesírás-ellenőrzők korlátai

A cikk részletesen bemutatja a klasszikus helyesírás-ellenőrzés öt fő technikáját: Levenshtein-távolság, BK-fa, Soundex és Metaphone, SymSpell, valamint karakter n-grammák. Ezek az eszközök évtizedek óta megbízhatóan működnek az elgépelések javításában. A Levenshtein-távolság például megadja a minimális karakteres szerkesztések számát két szó között.

A BK-fa pedig lehetővé teszi a gyors keresést nagy szótárakban. A SymSpell rendkívül gyors, szub-milliszekundumos válaszidőt kínál egy egymilliós szótár esetén is. Azonban mindezek a módszerek alapvetően a szavak pontos, karakterről karakterre történő egyezésén vagy annak kis eltérésein alapulnak.

Embeddings: a zaj elnyelői

A modern RAG-rendszerekben az embeddings (szó- vagy mondatvektorok) kulcsszerepet játszanak. Ezek a vektorok a szöveg szemantikai jelentését fogják fel, és képesek elnyelni a transzkripciós és OCR-zajokat. Míg egy helyesírás-ellenőrző nem tud mit kezdeni az „O” és „0” karakterek felcserélésével egy dokumentumban, addig az embeddingalapú szimilitás-keresés képes felismerni, hogy a két szó ugyanazt a fogalmat jelöli.

Ezért a RAG-folyamat-ban a klasszikus helyesírás-ellenőrzők mellett (vagy helyett) az embeddingalapú szimilitás-keresés is elengedhetetlen a zajos szövegek hatékony kezeléséhez. A javaslat szerint érdemes kombinálni a fuzzy matching technikákat az embeddingalapú szimilitással a legjobb eredmények eléréséhez.

Forrás

Feldolgozott sajtóforrás·Towards Data Science

Eredeti cikk megnyitása →

Ez a cikk a fenti sajtóforrás alapján készült AI-összefoglalóval.

tetszett a cikk? oszd meg →
Megosztás

Tetszik az oldal? Támogasd a fejlesztést

Az AI Forradalom egy automatizált pipeline: napi adatgyűjtés, LLM-feldolgozás és infrastruktúra fenntartása valódi költségekkel jár. Ha értékesnek találod a tömör, naprakész AI-összefoglalókat, egy kávé sokat segít.

Támogatom