EY mesteresges intelligencia ember setal egy teremben

Mesterséges intelligencia mindenkinek


Kapcsolódó témák

Machine learning vs deep learning – avagy gépi tanulás kontra mélytanulás

Manapság, mikor a csapból is a GPT és a mesterséges intelligencia folyik, az új impulzusok hatására kicsit nehéz eligazodni az MI témaköreiben, alkalmazhatóságában. Ez a rövid összefoglaló arról a két MI trendről szól, amelyek működési elve gyakorlatilag az összes MI alapú toolban elérhető manapság. 

A mesterséges intelligencia kapcsán gyakorta halljuk a gépi tanulás és mélytanulás (machine learning és deep learning) fogalmakat.

Miről is van szó? A mesterséges intelligenciát is tanítani kell, el kell látnunk kiindulási adatokkal és összefüggésekkel. A gépi tanulás és a mélytanulás közötti különbség a tanulási metódusok különbözőségében rejlik.

Gépi tanulás esetében a címkézést külön folyamatban kell elvégeznünk az osztályozástól, míg ha mélytanulásról van szó, a címkézés és az osztályozás egy blokkban történik, és jórészt automatizált.

Nézzünk is gyakorlati példát a deep learning és a machine learning közötti különbségekre, mégpedig dokumentumfeldolgozás példáján keresztül.

Tegyük fel, hogy érkezik sok-sok (napi száz, ezer) számla a könyvelési rendszerünkbe. Számlázó programonként más és más formátumú dokumentumokról van szó, a tartalom viszont strukturálisan jórészt ugyanaz, hiszen a számla kötelező elemeit jogszabály határozza meg.

Ha szeretnénk könyvelőink életét segíteni, válasszunk valamilyen automatizált megoldást a számlák feldolgozására.  Választhatunk machine learning vagy deep learning alapú programok közül.

Machine learning esetében a címkézést úgy kell megvalósítani, hogy dokumentum típusonként jelöljük, hol fordulnak elő a számunkra releváns adatok. Minden egyes számla sémán (beszállítónként külön-külön) megadjuk, hol található a számla sorszáma, szállító, fizetési határidő, tételek, adószámok és egyéb információ. Választhatunk, hogy egy modell egy adott típusú számlához tartozzon, vagy egy modell tartalmazzon több kollekciót (pl. ugyanaz a partner különböző részletettségi szintű számlákat küld).

Deep learning estén elég a modellt dokumentumokkal címkézés nélkül tanítani, ilyenkor a táblázatokat, kulcs információkat, jelölő mezőket automatikusan felismeri az algoritmus. A feldolgozott adatokat különböző maszkok segítségével – hányadik oszlop és melyik sor tartalmazza a számunkra releváns adatot -, már hagyományos programozási technikával iktatásra alkalmas formára lehet hozni (akár Excel makrók segítségével is).

Fenti analógia esetén a számla feldolgozás:

Machine learning:

A bemenő adatok olyan számla minták, amelyeken a releváns adatok szerepelnek. Használhatunk több csoportot (kollekciót) a különböző felépítésű, ám azonos adatot tartalmazó dokumentumokhoz. Az a fontos, hogy egy csoportban egymásra hasonlító dokumentumok legyenek. A gyakorlatban ez azt jelenti, hogy egy modellt taníthatunk több beszállító számláival is. A lényeg az, hogy egy beszállító hasonló számláit egy adott kollekcióba rendezzük. Ezután, manuálisan jelölnünk kell, hogy a dokumentumon hol található a releváns információ. Ez a folyamat a címkézés.

Deep learning:

A bemenő adatok olyan dokumentum minták – praktikusan számlák, de nem szükségszerűen azok -, amelyek tartalmazzák azokat az elemeket, amelyeket fel szeretnénk dolgozni. Ezek lehetnek táblázatok, tagolt szövegek (pl. Vevő neve: Példa Kft.), igen-nem választómezők. Ekkor a deep learning modul ezekre az elemekre fog keresni, és az eredmény az adatokat strukturáltan tartalmazó file lesz (JSON formátum). Ekkor a teljes feldolgozáshoz még egyedi fejlesztésre lesz szükség. Hiszen, nekünk kell megmondani, hogy melyik szakasz melyik értéke tartalmazza számunkra releváns adatot. A megoldás egy alap szintű OCR megoldástól több, hogy nem csak a karaktereket tudjuk leolvasni, de az adatok pozícióját és sémáját is.

Eredmény:

Melyik megoldást válasszuk? Amellyel hatékonyabbak tudunk lenni! A tanítás fog több időt elvenni a címkézéssel, vagy a feldolgozás programozása? Ehhez fel kell mérni a dokumentumok számát, a változatok csoportjait és hogy milyen fejlesztési kapacitás áll a rendelkezésünkre.

Összefoglalva

Találós kérdés: ha összeadjuk az összes szoftverfejlesztési költséget a dokumentum felismerő rendszerek kapcsán (OCR, űrlap felismerés), az a számlák, szállítólevelek esetében több vagy kevesebb, mint egy egységes világszabvány kialakítása ezen dokumentumok számára (XML / JSON)?

Néhány tipp, ötlet a mesterséges intelligencia alapú megoldásokkal kísérletezőknek:

A mesterséges intelligencia köré épülő fejlesztésekre jellemző a high risk – high investment cost kombináció. Tehát viszonylag drága, és magas a kockázata annak, hogy sikertelen lesz a projekt. Néhány megfontolás az AI alapú fejlesztések során:

  • ne akarjunk egyszerre megoldani mindent, igyekezzünk modulárisan építeni a rendszereinket. Például, dokumentum kezelés esetén kezdjük a szabályos űrlapokkal (pl. printed pdf), majd menjünk a szkennelt verziók felé. Ha kulcs információkat stabilan ki tudjuk olvasni a dokumentumból, akkor mehetünk tovább a szélesebb körű értelmezés felé.
  • fontos tisztázni, hogy mire lövünk, és a megoldás során biztosan az AI lesz-e a legjobb megoldás. Például, számla feldolgozás esetén nem jobb-e a NAV oldaláról begyűjteni az adatokat, és csak azokra a bizonylatokra építeni AI megoldást, amit hagyományos programozással nem tudunk feldolgozni.
  • demokratizáljuk a megoldásokat és a mögöttes technológiát. Biztosítsunk tanulási és kipróbálási lehetőséget az érintettek számára.
  • folyamatos fejlesztések: ha elindult egy AI alapú folyamat, a mögötte lévő adatokat folyamatosan frissíteni kell (tanítani). Erre fontos időt és erőforrást biztosítani, hiszen a tudásbázis nem lesz naprakész, és az AI alapú toolok használata a kezdeti lelkesedés után drámaian vissza fog esni.
  • válasszunk olyan megoldást, amely ad magabiztossági információt, vagy valamilyen magyarázatot, elemzést a feldolgozás eredményének hátterét illetően.

Összefoglalás

Mikor, milyen esetben érdemes mesterséges intelligenciát használni, és milyen jellemző vannak ennek a fejlesztésnek? Cikkünkben példával is illusztráljuk.


A cikkről

Szerzői

Aktuális cikkeink

Programozásmentes Programozás

Bevezető a low code tool-ok világába