Az első megoldás, amelyet szeretnénk bemutatni, a bankszámlakivonatok egyeztetésének automatizálása. A projekt célja az volt, hogy automatizálja a bankszámlakivonatokból, egyenlegközlőkből a kulcsinformációk (például számlaszám, záró egyenleg, pénznem stb.) kinyerését, ezeket vesse össze a hozzájuk tartozó könyvelési adatokkal.
Sokan feltételezhetik, hogy az egyetlen feladat a legmegfelelőbb modell kiválasztása, azonban valójában az üzleti cél mellett az adathalmaz sajátosságai határozzák meg a szóba jöhető megoldásokat, nem pedig a rendelkezésre álló specializált modellek kínálata:
- A banki kivonatok gyakran tartalmaznak homályos szkenneléseket, karakterhibákat, ezáltal korszerű karakterfelismerő (OCR) modellt szükséges alkalmazni valamennyi kivonatra. A karakterek mellett szükséges felismernie a táblázatos formában szereplő adatokat is.
- A bankszámlakivonatok egy részére jellemző, hogy standardizált, sablonos formátumúak, ezáltal lehetővé téve a reguláris kifejezések (regex) hatékony alkalmazását ezen kivonatok feldolgozására. A hasonló dokumentumfelépítés kapcsán egy gépi tanulásos modell használata túlzás, egy regex gyorsabban és olcsóbban azonosítja a kulcsinformációkat.
- A bankszámlakivonatok egy jelentős része változatos formátumú és szerkezetű, ennek ellenére a legtöbb kulcsadat táblázatos formában szerepel benne. Ezért nem szükséges minden egyes formátumhoz külön-külön alkalmazkodnunk, elegendő egy táblázatokra specializálódott természetes nyelvfeldolgozásra (NLP – Natural Languages Processing) alapuló modellt alkalmazni, ami azonosítja a különböző típusú kulcsadatokat a táblázatokban. Ennek előfeltétele, hogy az OCR hatékonyan ismerje fel a táblázatos adatokat.
- A fennmaradt, nem táblázatos formátumú kivonatok esetében alkalmazhatunk egy dokumentumfeldolgozó NLP modellt, amelyhez magas küszöbértéket állítunk be a találatok szűrésére, így minimalizáljuk a fals pozitív találatokat.
A projektünk nem csupán az adatkinyerés automatizálására irányult, hanem az adatok egyeztetésére is a könyveléssel, ami számos kihívást hordozott magában, többek között a hiányzó adatok és az eltérő egyenlegek okán. Ennek ellenére sikerült egy magas, 90% feletti hatékonyságú egyezést elérnünk, miközben gyakorlatilag zéró a fals pozitív egyezőségek száma. Ez a magas szintű pontosság jelentős előrelépést jelentett a bankszámlakivonatok feldolgozásában, bizonyítva, hogy a megfelelő technológiák és algoritmusok kombinációja képes megbirkózni az adatok változatosságával és komplexitásával.
A fő célunk a projekttel nem a manuális munkafolyamatok teljes megszüntetése volt – amely kihívás a legtöbb mesterséges intelligencián alapuló rendszer esetében is –, hanem a monoton, ismétlődő munkatevékenységek minimalizálása volt. Ezzel egy olyan üzleti célt határoztunk meg, aminek teljesítése lehetséges volt az elérhető megoldásokkal: a céges erőforrások jobb allokációját tűztük ki (persze nem csak feladatautomatizációval lehet értéket teremteni ML modellekkel). Azt szeretnénk elérni, hogy a korábbi manuális egyeztetésből fakadó munkaórákat jelentősen csökkentsük, az egyeztetéssel töltött időt gyakorlatilag megszüntessük. Ezzel nemcsak jelentős munkaerő-megtakarítást érhetünk el, hanem lehetővé tesszük a szakemberek számára, hogy magasabb hozzáadott értékű feladatokra összpontosítsanak.
Előfordulhat, hogy találunk egy, a bankszámlakivonatok feldolgozására előre betanított NLP modellt, amit „kész megoldásként” azonnal használhatunk, ezzel jelentős időt megtakarítva. Ugyanakkor valószínű, hogy egy hasonló modell sem egy technológiát, hanem több lépést alkalmaz az adatkinyerésre, amelyek nem biztos, hogy tökéletesen illeszkednek a saját adathalmazunkhoz – ugyanis más jellegű bankszámlakivonatokat vettek mintaként a fejlesztői. Ebben az esetben szükségessé válhat a modell testreszabása és betanítása, ami nem feltétlenül jelent költséghatékonyabb megoldást, mintha eleve saját adatbázisunkra és céljainkra szabott megoldást fejlesztenénk.
Felmerülhet továbbá az a kérdés is, miért nem az OpenAI képfájlok feldolgozására is alkalmas modelljét, a GPT-4 vision-t használtuk adatkinyerési feladataink megoldására. A generatív modellek, bár rendkívül sokoldalúak, nem feltétlenül jelentik a legjobb választást adatkinyerési feladatokhoz:
- GPT-4 vision használata korlátozva van egyelőre, így a felhasználók csak egy limiten belül képesek a szolgáltatást használni. Így nagyobb adathalmazokat nem lehet egyszerre feldolgozni.
- Jelenleg ennek a modellnek a felhasználási költsége magasabb, mint a fent bemutatott megoldás költsége.
- A „hagyományos” természetes nyelvfeldolgozási megoldások finomhangolása egyszerűbb, ami sok esetben szükséges a minél pontosabb eredmények eléréséhez.
A generatív AI alkalmazása akkor javasolt, amikor a modellnek összetett nyelvi tartalmak értelmezésére és generálására van szüksége, és ezekre a nem generatív modellek már nem jelentenek az üzleti problémára elfogadható megoldást. A következő esettanulmányunk egy hasonló problémát demonstrál.