Új dimenziók a jogászok életében – címkéző algoritmus fejlesztése a kulisszák mögött II.


Ez a cikk több mint egy éve került publikálásra. A cikkben szereplő információk a megjelenéskor pontosak voltak, de mára elavultak lehetnek.

Mi a felügyelt és nem-felügyelt gépi tanulás, és melyiket kellett alkalmazni az anonimizált bírósági határozatokon? Mit lehet kezdeni 28.000 pertárgy megnevezéssel, ha megfelelően akarjuk csoportosítani? Cikkünkben mélyebben is bemutatjuk a machine learning gyakorlati oldalát.

Cikksorozatunk első részében bemutattuk, hogy a bírósági határozatok pertárgy szerinti kategorizálása miért lehet hasznos a jogászoknak a forráskutatási munkájuk során. Ha ugyanis egy jogász hasonló témájú bírósági ügyeket kíván összegyűjteni az ügyének, jogi problémájának a megoldásához, akkor a pertárgyak elnevezése nagymértékben tudja orientálni őt, és az így keletkező találati lista sokkal relevánsabb eredményeket képes adni. A bírósági határozatok pertárgy szerinti csoportosítása azonban nem egyszerű feladat. A bírák ugyan a határozatok elején összefoglalják az eljárások témáját, azonban ezek az elnevezések nem egy sémába sorolódnak, nem zárt az értékkészletük, és sok esetben pontatlanok is. Ha pedig egy új kategóriarendszer alapján kézzel akarja felcímkézni a több százezer bírósági dokumentumot például az adatbázis szolgáltató, akkor több évnyi emberi munkaerőre lenne szüksége. A Jogtárat szolgáltató Wolters Kluwer Hungary Kft. és a MONTANA Tudásmenedzsment Kft. ezért közösen kifejlesztett erre a problémára egy automatikus címkéző algoritmust. Ebben a cikkben bemutatjuk azoknak a módszereknek és eszközöknek egy részét, amelyekre ehhez a fejlesztéshez szükség volt.

Az adathalmaz

A mesterséges intelligencia fejlesztések egyik legfontosabb alapja, hogy az adathalmazt amivel dolgozunk, minél teljeskörűbben ismerni kell. A jogi dokumentumok esetében azonban ez idáig mindig csak azok jogi dogmatikai, és intézményes sajátosságait vették figyelembe. Fejlesztésünk során ezért nagy hangsúlyt fektettünk arra, hogy a jogi dokumentumokat ne csak jogi, hanem nyelvészeti, statisztikai és egyéb szabályrendszerek alapján is pontosan feltérképezzük. A bírósági határozatok kapcsán ezért az alábbi megállapításokat tudtuk tenni.

A fejlesztés során 173 892 magyar nyelvű bírósági döntést használtunk fel, amelyből 169 374 darabot a tanításhoz, 4518 darabot pedig a teszteléshez használtunk azért, hogy ki tudjuk értékelni az algoritmus működését. Fontos kiemelni, hogy sem a tanító- sem pedig a teszthalmaz nem volt előzetesen felcímkézve, ezért a teszthalmazt jogász szakértőink kategorizálták be kézzel. Hagyományosan minden bírósági határozat 5 különböző terület alá tartozik jogterület szerint: közigazgatási jog, polgári jog, büntetőjog (ez alá vettük az ugyan formailag külön, de tartalmában azonos katonai büntetőjogot is), gazdasági jog és munkajog. A felhasznált dokumentumok jogterület szerinti eloszlása a 2. táblázatból látszik. Azokat a dokumentumokat ahol nem volt meghatározva a jogterület, nem használtuk fel a tanításhoz.

címkéző

A felhasznált dokumentumok jogterület szerinti eloszlása

A címkézési eljárás

A mesterséges intelligencia területén a gépi tanuláson alapuló megoldásokat két részre oszthatjuk aszerint, hogy felügyelt vagy nem-felügyelt tanuláson alapulnak. A nem-felügyelt tanulás, vagy eredeti elnevezéssel unsupervised learning lényege tulajdonképpen az, hogy akármilyen segítség nélkül az algoritmus gondjaira bízzuk az adathalmazt, úgy, hogy az a benne lévő szabályszerűségek automatikus felismerésével bizonyos csoportokba sorolja azt. Ennek a megoldásnak a korlátja az, hogy természetesen nem fogunk teljesen tökéletes megoldást kapni, viszont alkalmas lehet arra, hogy mélyebben megismerjük az adathalmazunk olyan szabályszerűségeit, amelyek felett hagyományos eszközökkel elsiklanánk.

A másik megoldás, a felügyelt tanulás vagy más elnevezéssel supervised learning lényege ezzel szemben az, hogy feltanítunk egy algoritmust úgy, hogy betáplálunk bizonyos mennyiségű adatot, és elmondjuk, hogy milyen kimenetelre számítunk, azért, hogy az algoritmus képes legyen „rátanulni” az adatnak azokra az attribútumaira, amely alapján nagy eséllyel meg lehet jósolni, hogy az az adott kategóriába tartozik. Ennek a megoldásnak az előnye, hogy ez a típusú módszer az, amellyel képesek vagyunk olyan algoritmusokat fejleszteni, amelyek képesek elérni akár a jogi szakértőknek a teljesítményét is e téren, hátránya viszont, hogy nagy mennyiségű előre felcímkézett adatra van szükség ahhoz, hogy az algoritmus megfelelő hatékonysággal tudjon tanulni. Általában ez szokta a legtöbb problémát okozni a gépi tanuláson alapuló jogi informatikai fejlesztések esetében.

Ez okozta nekünk is a legnagyobb fejtörést, hiszen az anonimizált bírósági határozatok sem voltak előzetesen felcímkézve megfelelő módon pertárgy szerint. Ugyan ahogy említettük korábban, a pertárgy összefoglalása a dokumentumok elején szerepel, amelyeket ún. reguláris kifejezések segítségével ki lehetne nyerni, azonban a probléma az, hogy ezek nem egy kötött értékkészletből vannak kiválogatva, hanem az eljáró bíró saját fogalmazásmódjára van bízva, így ugyanolyan ügyek akár különböző elnevezésekkel is szerepelhetnek, ráadásul sok esetben elírásokat is tartalmaz. Emellett pedig ezek az elnevezések sok esetben félrevezethetőek is lehetnek: vagy túl tág kifejezéseket tartalmaznak (pl. „közigazgatási ügy„), vagy túl szűk a megfogalmazásuk (pl. „X összeg megfizetése„), vagy nem tartalmazzák az adott ügy összes aspektusát (pl. „emberölés és más bűncselekmények„). Mindezek miatt a fejlesztés elején reguláris kifejezések segítségével a határozatok elejéről kinyert kézileg megadott pertárgy elnevezések 28 000 darab különböző elnevezést tartalmaztak. Ez pedig nyilvánvalóan nem volt alkalmas arra, hogy egy felügyelt tanuláson alapuló automatikus címkéző algoritmus fejlesztésének alapja legyen.

Ennek a problémának a kiküszöbölésére első lépésként létrehoztunk egy 167 darabból álló jogi kategóriarendszert a kinyert pertárgy elnevezések összevonásával és általánosításával. E folyamat során két szempontot vettünk figyelembe. Először is, hogy a bevezetett kategóriák és elnevezéseik megfeleljenek a magyar jogi dogmatika szabályszerűségeinek, másodsorban pedig, hogy az egyes kategóriákhoz minden esetben tartozzon egy minimális számú adatsokaság, amelyet a tanításhoz fel lehet használni. Ezt követően a tanításhoz használt pozitív mintákat (amiknek fontosságáról később még lesz szó) minden esetben úgy választottuk ki, hogy az adott kategóriába egyértelműen beleillő határozatok kerüljenek bele. Azok a dokumentumok pedig, amelyek nem tartoztak egyetlen címke alá sem, külön kezeltük, nem használtuk fel a tanításhoz, és „egyéb” kategóriába lettek besorolva.

címkéző

A vektorizáció

Ahhoz, hogy a számítógép feldolgozni és elemezni tudja a szöveges dokumentumokat, szükség van arra, hogy olyan formátumra hozzuk a strukturálatlan nyers adatot, hogy azt a számítógép is értelmezni tudja. Ennek egyik módja a vektorizálási eljárás, aminek lényege, hogy a nyers szöveget átalakítjuk a matematikából is ismert valós számok vektorává, ami alapján a gépi tanulási algoritmusok is „olvasni” lesznek képesek a szövegeket. A célunk az volt, hogy a gép képes legyen megtalálni azokat a kifejezéseket, amelyek egyes kategóriákhoz társítja az adott dokumentumot, és ehhez viszonylag egyszerű megoldást kerestünk. Ezért esett a választásunk a vektorizálási megoldások közül az úgynevezett Term-Frequency Inverse Document Frequency (TF-IDF) vektorizálóra.

A TF-IDF vektorizálás, egy egyszerű, régóta ismert forma, ami statisztikai alapon súlyozza a dokumentumban előforduló szavakat aszerint, hogy az adott dokumentumban milyen gyakran fordul elő a szó (term frequency), illetve hogy a teljes adathalmaz összességében hány dokumentumban fordul elő ugyanaz a szó (inverse document frequency). Ha egy kifejezés például csak pár dokumentumban fordul elő, akkor az IDF értéke magasabb lesz ennek a szónak, mint egy olyan szónak, aminek az előfordulása általánosabb a corpusban.

A TF-IDF vektorizálás hátránya azonban, hogy úgynevezett „szózsákként” (bag-of-words) kezeli a dokumentumokat, ami a legegyszerűbb reprezentációja a szövegeknek és az a lényege, hogy a szöveg a szavak „zsákjaként” van figyelembe véve, és figyelmen kívül hagyjuk a nyelvtani szabályokat és a szórendet. Jogi szövegek esetében azonban ez problémás lehet, ugyanis a jogi fogalmak esetenként több szóból is állhatnak, az azonos alakú szavak pedig több jelentést is hordozhatnak a szövegkörnyezetüktől függően. A fejlesztés során ezért a klasszikus TF-IDF módszert kiegészítettük úgy, hogy az egyes szavak mellett az egyes szópárokat is figyelembe vettük a szövegben a vektor alkotás során, így a kulcsfogalmak, illetve a szavak kontextusa (jelentéstani környezete) hatékonyabban felismerhetővé váltak az algoritmusunk számára.

Az előfeldolgozás

Az előfeldolgozás a szövegbányászati és gépi tanulási feladatok fontos lépcsője, amelynek lényege, hogy az adathalmaz bizonyos szempontok szerint megváltoztatásra kerül annak érdekében, hogy a későbbi felhasználás hatékonysága megnövekedjen. Ha ugyanis a dokumentumok túl sok irreleváns vagy redundáns elemet tartalmaznak, akkor a gépi tanulási folyamat is zajos és megbízhatatlan adatokra fog támaszkodni, amik a végeredményt rontják. Ráadásul még nehezítő tényező, hogy a magyar nyelv az agglutináló nyelvek csoportjába tartozik, vagyis a szavak jelentését a hozzájuk kapcsolt toldalékokkal állítja elő.

Ezért a fejlesztés során a TF-IDF vektorizálót a következő előfeldolgozási lépésekkel egészítettük ki: szótövesítés, amihez a MONTANA Tudásmenedzsment Kft. saját fejlesztésű hungarian-stemmer alkalmazását használtuk, kisbetűsítés, valamint írásjel- és számszűrés.

Ezek mellett pedig jelentősen támaszkodtunk a MONTANA Tudásmenedzsment Kft. reguláris kifejezés alapú jogszabály-kinyerőjére. A jogszabály-kinyerő visszaadja egy listában a bírósági határozatokban szereplő összes jogszabály-hivatkozást, legyen az akár teljes formában vagy csak rövidítés formájában a szövegben, mégpedig normalizált formában. Ráadásul a normalizált forma mindig a legspecifikusabb formát tartja csak meg. Tehát például, ha csak az új Ptk.-ra hivatkoznak önmagában, akkor a „2013.v.törvény” normalizált forma szerepel, ha viszont a 6:1. §-ra is hivatkoznak specifikusan emellett, akkor csak a „2013.v.törvény.6:1.§” forma szerepel. Ugyanez igaz a bekezdésekre is. Ezeket a normalizált formában kinyert jogszabályhelyeket megadtuk bemenetként a modelleknek, így azok képesek voltak kiválogatni közülük azokat, amelyek valóban egy adott pertárgy esetében fordulnak elő.

Dimenziócsökkentés

A választott TF-IDF vektorizálási forma sajátossága, hogy a vektorizálás során minden szó vagy szópár egy dimenzió a dokumentum vektorában, ezért ezeknek a vektoroknak a dimenziója pedig eléggé nagy tud lenni (a mi esetünkben akár milliós nagyságrendű). Mindeközben viszont csak egy kis szeletére van szükségünk ezeknek a dimenzióknak, ugyanis csak egy kis részük szükséges a kategorizáláshoz. Ezért a vektorizáláshoz nem szükséges szavakat, illetve szópárokat érdemes kiszűrni, mert ezzel mind a gépi tanulási modell nagyságát, mind pedig a vektorizálás sebességét tudjuk csökkenteni, ami pozitív hatással van a mesterséges intelligencia fejlesztések költségeire, illetve időigényére.

Ezért, hogy a modell méretét és így a szükséges számítási kapacitást alacsonyan tartsuk, a TF-IDF vektorizálást kiegészítettük az Analysis of Variance algoritmussal (ANOVA), hogy kiválaszthassuk a megfelelő számú legjobb elemet, hiszen csak azokat kívántuk megtartani, amik a leginkább hasznosak az adott címke kategorizálása szempontjából. A megfelelő számú elem kiválasztása azonban nehéz feladat, mert ha túl alacsonyan húzzuk meg ezt a számot, akkor a kategorizálás hatékonyságát veszélyeztetjük.

Általánosságban úgy figyeltük meg, hogy 100 szó vagy szópár az, ami leír egy adott pertárgyat. Ez lehet akár egy fogalom, amely csak az adott pertárgyhoz tartozik vagy akár egy jogszabály-hivatkozás, amelyet csak az adott témakörben használnak a jogalkalmazásban. Azonban azt is megfigyeltük, hogy a tanító adat nagysága hatással volt az elemek minőségére a dimenziócsökkentés folyamán. Minél több a tanítóadat, annál jobb ez a csökkentési folyamat. Végeredményben pedig arra jutottunk, hogy 20 000 az az elemszám, ami a legjobb ahhoz, hogy a kategorizáló hatékony legyen, de a modell nagyságát is érdemben tudjuk csökkenteni.

A cikksorozat jövő héten folytatódik – kövessék figyelemmel, hogy milyen további módszereket alkalmaztak, és milyen eredményre jutottak a fejlesztés során az algoritmust készítő szakemberek.

Montana logó

wolters kluwer logó

A kutatásról készült teljes, angol nyelvű tanulmány ingyenesen letölthető innen.

A tanulmány szerzői:

  • Csányi Gergely Márk PhD, NLP mérnök, a Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Karán doktorált, a MONTANA Tudásmenedzsment Kft. természetesnyelv-feldolgozási szakértője
  • Vági Renátó, jogász, az Eötvös Loránd Tudományegyetem Állam- és Jogtudományi Karának Jog- és Társadalomelméleti Tanszékének doktorandusz hallgatója, valamint a MONTANA Tudásmenedzsment Kft. jogi informatikai szakértője
  • Megyeri Andrea, a Wolters Kluwer Hungary Kft. innovációs és tartalomfejlesztési igazgatója
  • Üveges István, a Szegedi Tudományegyetem Nyelvtudományi Doktori Iskolájának doktorandusz hallgatója, valamint a MONTANA Tudásmenedzsment Kft. számítógépes nyelvészeti szakértője
  • Vadász János Pál PhD, a Nemzeti Közszolgálati Egyetem Információs Társadalom Kutatóintézet, valamint a Nemzeti Közszolgálati Egyetem Digitális Jogalkalmazás Kutatócsoport kutatója, a MONTANA Tudásmenedzsment Kft. ügyvezető igazgatója
  • Orosz Tamás PhD, szoftverfejlesztő mérnök
  • Nagy Dániel, a MONTANA Tudásmenedzsment Kft. szoftverfejlesztési üzletágának vezetője

Kapcsolódó cikkek

2022. április 26.

Jogászok vs. algoritmusok III.: az elsődleges eredmények

Legyőzte-e az emberi csapat a gépet? El lehet-e fedni a jogászok és laikusok közötti kompetenciabeli különbséget a jogi kategorizálás során? Az előzetesen felrakott címkékkel vagy azok nélkül gyorsabb a címkézés folyamata? Legaltech cikksorozatunk folytatódik.