Branje ali vsaj osnovno bralno razumevanje običajno jemljemo za samoumevno, saj se s tem srečujemo že od zgodnjega otroštva. Posamezniku ni težko izluščiti tematike besedila. Že osnoven pregled nam da informacijo o tem ali gre za medijsko objavo, intervju, strokovni članek, a po drugi strani trpimo za kroničnim pomanjkanjem časa. Recimo, da nas zanima katere objave so tematsko povezane, katere v nasprotju, katere nas hvalijo, katere grajajo? Kaj, če je teh objav res veliko? Kar nekaj besedila in ur branja posameznika bi bilo potrebno, da bi iz mnogoterih besedil izluščili bistvo. Čeprav računalniki danes še niso sposobni dosegati zmožnosti povezovanja in razmišljanja naših možganov, pa lahko v nekaj minutah preberejo cele police besedil. Sliši se odlično, a prinaša številne izzive. Kako naj program razbere o čem govori besedilo? Kaj je v besedilu pomembno? Kakšna je njegova tematika? Kaj, če je povrhu tega jezik specifičen? Na prvi pogled se pravna besedila zdijo enostavna, jasna in strukturirana, a z vidika umetne inteligence predstavljajo svojevrsten izziv.
S pomočjo umetne inteligence smo se spopadli s pravnimi besedili
Nič nas ne izuči bolje, kot če se s takimi izzivi spopademo v praksi. Tako smo izkoristili priložnost, da se s tehnologijami umetne inteligence (AI) dobesedno »znesemo« nad estonskimi zakoni. Temeljni izziv naročnika je bil, da pokažemo, kako jim lahko s tehnologijami strojnega branja omogočimo bolje razumeti povezave med zakoni in odkrivati morebitna neskladja – omenjeno bi lahko dobro izkoristili pri usklajevanju obstoječe ali pripravi nove zakonodaje. Trenuten proces usklajevanja je namreč dolgotrajen in nikoli dejansko ne veš ali so v pregled in usklajevanje vključene vse povezave. Rezultat je lahko potencialna luknja ali neskladje v zakoni – to želi naročnik preprečiti.
Posledično nas je zanimalo ali lahko izluščimo pomembne tematike posameznih zakonov. Ali lahko na podlagi dobljenih tematik poiščemo soodvisnosti med zakoni in ali lahko s pomočjo teh informacij poiščemo potencialne neskladja med zakoni.
Tudi računalnik je treba najprej naučiti branja in razumevanja besedila
Na omenjen izziv v svetu podatkovne znanosti odgovarja t.i. področje obdelave naravnega jezika (angl. Natural language processing, NLP). NLP je eno izmed področij umetne inteligence (AI) in je namenjen računalniškemu procesiranju besedil. Čeprav se mnogi ne zavedajo, skoraj ni dneva, da jih ne bi uporabljali v praksi. Ti algoritmi so v ozadju ob vsakem Googlovem iskanju, pri analizi vsakega odziva na socialnih omrežjih, na izdelek spletnih trgovin (Amazon, Ebay, …), Chatbot-ih, ki služijo kot podpora pri odpravljanju težav, …
Za potrebe NLP metod potrebujemo corpus oz. dictionary, t.j. osnovne informacije o jeziku. Vedeti moramo osnove stavčne strukture, katere besede običajno nimajo dodane vrednosti (npr. vezniki in predlogi), kaj so koreni besed. Za najbolj razširjene jezike so danes te prosto dostopne v knjižnicah in modulih za posamezne programske jezike. Razvijalec algoritmov ima tako veliko možnosti za različne tipe implementacij.
Kaj točno smo počeli?
V primeru našega projekta je bila implementacija osredotočena na luščenje pomembnih terminov in fraz ter interpretacijo soodvisnosti med zakoni glede na termine in fraze. Za to se je uporabilo standardne metode obdelave tekstovnih dokumentov, t.j. tokenizacija, lemmatizacija in pretvorba teksta v »bag of words« objekt. Zaradi narave pravnih dokumentov je bilo potrebno določene korake prilagoditi, hkrati pa se je za nekatere dele procesa uporabilo tudi povsem lastno izdelane algoritme in rešitve. Brez tovrstne dodane vrednosti bi pomen splošnih pravnih terminov nadvladal njihovo bistvo. Tesna vključenost ljudi z domenskim znanjem je bila ključna, da smo iz prve rešitve, ki je upoštevala t.i. privzeta NLP pravila, prišli do uporabnega pomagala, ki lahko v veliki meri pripomore k hitrejši in pametnejši podpori procesa. Možnost luščenja ključnih terminov in fraz v kombinaciji s primerjavami v tekstu in grafičnim prikazom navezav je nekaj, kar uporabnikov ni pustilo ravnodušnih.
Rešitev je v celoti izvedena v Azure okolju, kjer se je za hrambo podatkov uporabilo Azure Data Factory in Cosmos DB, za NLP algoritme Azure Databricks in za končno aplikacijo Azure App Service. Celoten tok podatkov je prikazan v spodnji sliki.
Aplikacija za posamezen zakon poišče povezave tako na podlagi referenc, ki obstajajo v zakonu, kot tudi referenc, ki so vezane na tematiko obravnave – po terminih ali frazah.
Pomembni termini in fraze so izpostavljeni in kategorizirani. Lahko se uporabi iskalnik, ki za izbrane termine ali fraze prikaže pravne akte, ki te termine vsebujejo, hkrati pa prikaže tudi njihovo pomembnost v izbranem aktu in jih grafično predstavi, tako v obliki graf grafikona, kot z možnostjo označevanja v besedilu s primerjavo različnih besedil.
Poleg prikaza povezav med akti in odvisnosti med termini, frazami in akti, pa aplikacija omogoča dodajanje novih aktov. Te algoritem primerja z že obstoječimi akti ter vrne navezave, kot tudi poseben proces iskanja neskladij (angl. Contradictions). Za sam projekt smo izdelali rešitev za zaznavanje numeričnih neskladij.
Aplikacija tako omogoča uporabniku, da lahko hitro in učinkovito dobi pregled nad trenutnim stanjem povezav med zakoni in posameznimi paragrafi zakonov, poišče zakone s posamezno tematiko in ob pisanju novih zakonov in dopolnil upošteva trenutno zakonodajo. Ob vsem tem pa opozori na potencialne numerične kontradikcije.
Področje za računalniško branje tekstovnih dokumentov je eno izmed najhitreje rastočih segmentov področja umetne inteligence. Aplikacije so možne povsod kjer se soočamo z veliko količino besedil in tega je res ogromno. Osnovne tehnike NLP so univerzalne in lahko uporabljene v vseh primerih, dodatni koraki pa odvisni od posameznega področja. NLP aplikacija na področju pravnih besedil je eno izmed področij, ki se mogoče ne ponuja kot prvo, vendar pa je s pravilnim pristopom dodana vrednost res visoka. Na koncu smo ustvarili rešitev, ki izkorišča umetno inteligenco na svojevrsten način. Rezultat je visoko tehnološka rešitev na Azure platformi, ki uporabnikom pomaga pri pripravi novih zakonov in njihovem usklajevanju. A to je le del širše zgodbe … pomislite na sodno prakso, pomislite na zakonsko skladnost vaših direktiv in politik, pravzaprav poljubnih besedil? Algoritmi »še« niso človek, a imajo lepo lastnost – berejo zelo hitro.
Za več informacij nas kontaktirajte na info@add.si, +386 (0)1 479 00 11 ali pa izpolnite kontaktni obrazec.