Academia.eduAcademia.edu
DISKUZE https://doi.org/10.5817/RPT2020-1-1 AUTOMATICKÁ KLASIFIKACE VÝZNAMOVÝCH CELKŮ V JUDIKATUŘE 1 2 3 MARTIN ELIÁŠEK, JAKUB KÓL, MILOŠ ŠVAŇA ABSTRAKT Příspěvek popisuje experiment se strojovým učením, kdy na minimálním datasetu bylo pomocí kombinace známých algoritmů strojového učení dosaženo relativně vysoké úspěšnosti klasifikace významových celků. Významovými celky se zde rozumí např. hlavička, procesní historie a argumentace stran. KLÍČOVÁ SLOVA judikatura, strojové učení, počítačové zpracování přirozeného jazyka ABSTRACT This paper describes a machine learning experiment that showed relatively highfidelity classification of denotation segments on a minimal dataset using a combination of known machine learning algorithms. By denotation segments we mean segments such as header, proceeding history and party argumentation. 1 Martin Eliášek vystudoval Právnickou fakultu Masarykovy univerzity a ve společnosti ATLAS Consulting spol. s r.o. působí na pozici právník-analytik, tj. podílí se na přípravě, kontrole a čištění dat v systému, e-mail: eliasek@atlasgroup.cz. 2 Jakub Kól vystudoval aplikovanou informatiku na Univerzitě ve Hradci Králové a u společnosti ATLAS Consulting spol. s r.o. působí jako expert na strojové učení. Vedle počítačového zpracování přirozeného jazyka (natural language processing) se zabývá také počítačovým zpracováním obrazu (computer vision), e-mail: kol@atlasgroup.cz. 3 Miloš Švana je softwarový inženýr s tituly z Technické univerzity v Ostravě a Vysokého učení technického v Brně, pro společnost ATLAS Consulting spol. s r.o. pracoval jako externista, e-mail: milos.svana@gmail.com. 3 21/2020 Revue pro právo a technologie ROČ. 11 KEYWORDS case law, machine learning, natural language processing 1. ÚVOD Právní profese se již mnoho let nedá vykonávat bez právních informačních systémů. Ačkoliv původně sloužily pouze k zobrazení aktuálního znění zákona, postupem času se jejich funkce rozšiřovaly a dnes je již nezbytnou součástí každého většího právního informačního systému také databáze judikatury. Judikatura představuje ohromné množství dat, z velké části v podobě nestrukturovaného textu. Právní informační systém musí umět tento text uživateli nejen zobrazit, ale i v něm vyhledávat. Kromě fulltextového vyhledávání jde také o vyhledávání souvislostí, a to jak mezi právními předpisy a judikaturou, tak mezi judikáty navzájem. Základním typem souvislosti mezi judikáty jsou citace. Na kvantitativní úrovni (např. počet citujících/citovaných judikátů) je lze pomocí moderních výpočetních prostředků relativně snadno analyzovat. Větší výzvu však představuje úroveň kvalitativní. Jedním z potenciálních směrů kvalitativní analýzy je rozlišování citací podle jejich výskytu v různých částech soudních rozhodnutí. Díky tomu je pak možné rozlišovat jejich relativní hodnotu. Pokud je například judikát citován v popisu předchozího řízení, nemá takový význam, jako když na něj odkazuje ve své argumentaci strana sporu. Největší význam pak má pochopitelně judikatura citovaná v argumentaci samotného soudu. Pro realizaci zmíněného typu analýzy je nutná segmentace soudních rozhodnutí na menší významové celky. Vzhledem k rozsáhlosti judikatury by manuální zpracování lidským expertem bylo časově náročné a neefektivní. V tomto příspěvku proto navrhujeme model pro automatické rozlišování významových částí soudních rozhodnutí založený na metodách strojového učení a zpracování přirozeného jazyka. V následující části článku poskytneme přehled základních teoretických poznatků potřebných pro pochopení prezentovaných metod. V třetí části 4 M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE popíšeme vstupní data použitá pro trénování a verifikaci navrženého modelu. Samotnému modelu se pak věnuje část čtvrtá. V části páté analyzujeme výsledky testování a kvalitu modelu. V závěru pak načrtneme potenciální využití námi navrženého modelu v praxi a další směry vývoje. 2. PŘEHLED TEORETICKÝCH POZNATKŮ A PŘEDCHOZÍHO VÝZKUMU 2.1 STROJOVÉ UČENÍ A KLASIFIKACE Strojové učení je v současnosti jednou z nejperspektivnějších oblastí studia umělé inteligence. Jeho základní myšlenka spočívá ve snaze nahradit při tvorbě algoritmů pro zpracování dat programátora automatickým učením. Strojové učení se ve značné míře aplikuje například při vyhledávání obrázků nebo strojovém překladu. V úvodu zmíněný problém automatické segmentace soudních rozhodnutí představuje typický úkol řešený pomocí strojového učení. Klasifikaci lze definovat jako zařazení určité entity do některé z konečného počtu předem definovaných tříd nebo kategorií. Aby bylo možné entity klasifikovat pomocí počítačových programů, musí být popsané pomocí číselných hodnot jejích atributů. Příklad 1: Příkladem klasifikace, kterým začíná mnoho učebnic věnovaných strojovému učení, je zařazení konkrétního květu kosatce do jednoho ze tří poddruhů této rostliny – iris setosa, iris versicolor a iris virginica. Tyto poddruhy reprezentují třídy nebo kategorie. Jako číselné atributy pro popis každého květu použijeme délku kališního lístku, šířku kališního lístku, délku okvětního lístku a šířku okvětního lístku. Všechny hodnoty budou uvedeny v centimetrech. Konkrétní květ pak můžeme reprezentovat posloupností naměřených číselných hodnot zmíněných atributů, např: (5.1 3.5 1.4 0.2). V terminologii matematiky se tato posloupnost nazývá vektor. Jelikož se tento vektor skládá ze 4 čísel, můžeme ho označit jako čtyřdimenzionální. Aby se počítač mohl naučit, jak automaticky klasifikovat určitou skupinu objektů, musíme mu poskytnout tzv. trénovací množinu. Tato 5 21/2020 Revue pro právo a technologie ROČ. 11 množina se skládá z entit, resp. jejich opisu pomocí daných číselných atributů - tj. vektorů, pro které již známe zařazení do konkrétní třídy. Příklad 2: Trénovací množina pro klasifikaci květů z příkladu 1 může mít podobu tabulky s pěti sloupci: délka kališního lístku, šířka kališního lístku, délka okvětního lístku, šířka okvětního lístku a ručně (odborníkem) identifikovaný poddruh. Řádky této tabulky pak budou reprezentovat konkrétní květy – naměřenou hodnotu všech atributů a třídu, do které skutečně patří. Počítačové algoritmy strojového učení se z trénovací množiny dokáží „naučit“ jak klasifikovat entity stejného typu, které předtím „neviděly“ (nejsou součástí trénovací množiny). Jedním z úkolů vědců v oblastí strojového učení je navrhování těchto algoritmů. Za roky výzkumu jich přitom bylo vytvořeno hned několik. Podrobný popis všech existujících možností je nad rámec tohoto článku. Zaměříme se proto jen na algoritmus Support Vector Machine, který je součástí navrhovaného přístupu pro automatickou klasifikaci soudních rozhodnutí. V případě zájmu o seznámení se s dalšími často používanými alternativami se čtenář může 4 5 obrátit např. na Hana, Kambera a Peie nebo Raschku . 2.2 ALGORITMUS SUPPORT VECTOR MACHINE Support Vector Machine, zkráceně SVM je jedním z algoritmů používaných pro automatické trénování klasifikátorů pomocí dat z trénovací množiny. V jeho základní podobě se jedná o tzv. lineární klasifikátor, tj. hledá hranici mezi třídami v podobě přímky a je omezený na rozlišování mezi dvěma třídami. Kdybychom pro popis entit v trénovací množině použili pouze 2 číselné atributy, pak je možné každou entitu zobrazit jako bod na grafu. Úkolem algoritmu SVM je najít přímku, která co nejlépe od sebe odděluje 2 třídy trénovací množiny. Za nejlepší je přitom považovaná přímka 4 HAN, Jiawei, Micheline KAMBER a Jian PEI. Data Mining: Concepts and Techniques. Third Edition. Waltham: Elsevier, 2011. ISBN 978-0-12-381479-1. 5 RASCHKA, Sebastian. Python Machine Learning. Birmingham: Packt, 2015. ISBN 978-178355-513-0. 6 M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE maximalizující velikost prázdného prostoru neobsahujícího žádné body na jejích obou stranách. Obrázek 1: Ilustrace principu Support Vector Machine. Výše popsaný princip je ilustrovaný na obrázku 1. Osy grafu reprezentují určité číselné atributy. Lze si zde například představit, že vodorovná osa značí rychlost větru v km/h a osa svislá teplotu v °C. Jednotlivé body reprezentují vektory reálně naměřených hodnot z trénovací množiny, přičemž body zabarvené červeně jsou naměřené v zimě a body zabarvené modře na podzim. Klasifikátor má tedy rozpoznávat mezi těmito dvěma ročními obdobími. Nepřerušovaně je vyznačená přímka, kterou algoritmus SVM identifikoval jako nejlepší. Přerušovaně je pak ohraničen prázdný prostor na obou stranách přímky. Body ležící přesně na těchto hranicích se nazývají podpůrné vektory (angl. support vectors). 7 21/2020 Revue pro právo a technologie ROČ. 11 Po tom, co SVM nalezne přímku oddělující obě třídy, je už klasifikace období podle naměřené teploty a rychlosti větru poměrně jednoduchá. Graficky by stačilo nové měření zobrazit jako bod na grafu a určit, jestli se nachází nad nebo pod dělící přímkou. Při praktické aplikaci SVM lze narazit hned na několik značných komplikací. Jednou z nich je fakt, že existuje mnoho klasifikačních úloh, kdy potřebujeme rozlišit mezi více než dvěma třídami. Tato situace se běžně řeší tím, že se natrénuje několik samostatných SVM klasifikátorů, které pak mezi sebou „hlasují“, do které třídy bude nová neznámá entita zařazená. Druhým problémem je, že situace, kdy lze body tříd od sebe oddělit dokonale jako na obrázku 1, jsou v praxi pouze ojedinělé. Proto se při reálném tréningu připouští možnost, že několik bodů dané třídy se může nacházet na opačné straně přímky. SVM dokáže obecně pracovat s více než dvěma číselnými atributy opisujících klasifikované entity (tedy s více než dvoudimenzionálními vektory). Tuto situaci už nelze jednoduše vizualizovat, ale matematické vzorce pracující s dvěma dimenzemi fungují i pro stovky dimenzí. 2.3 KLASIFIKACE TEXTOVÝCH DAT Jak bylo zmíněno výše, klasifikační algoritmy očekávají, že všechny objekty budou reprezentovány jako vektory, tedy posloupnosti číselných hodnot. Jedním z nejtěžších úkolů v rámci klasifikace textových dat je tedy nalezení vhodné číselné reprezentace textu. Mnoho autorů a vědců se specializuje pouze na řešení tohoto problému. Nejpoužívanější přístupy shrnuje např. 6 Aggarwal a Zhai . Relativně intuitivní způsob číselné reprezentace textu je pomocí rodiny metod známých jako Bag of Words. Textový dokument, odstavec nebo věta je reprezentovaná posloupností čísel, kde každá pozice zastupuje určené slovo. V nejjednodušším případě pak konkrétní pozice může mít hodnotu 1, pokud se dané slovo v dokumentu nachází, nebo 0, pokud tomu tak není. 6 8 AGGARWAL, Charu C. a ChengXiang ZHAI. Mining text data. New York: Springer, 2012. ISBN 978-1-4614-3222-7. M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE Alternativně můžeme místo hodnot 0 a 1 použít přesný počet výskytů daného slova v dokumentu. Příklad 3: Pomocí Bag of Words chceme vytvořit číselnou reprezentaci následujících vět: „Dnes svítí slunce.“ a „Dnes neprší ani nefouká“. Prvním krokem je vytvoření seznamu všech unikátních slov. V tomto případě se jedná o slova „dnes“, „svítí“, „slunce“, „neprší“, „ani“, „nefouká“. Následně stačí zjistit, zda se dané slovo v konkrétní větě nachází, a správně na danou pozici v číselném vektoru zadat hodnotu 0 nebo 1, jak ilustruje tabulka 1. dnes svítí slunce neprší ani nefouká Věta 1 1 1 1 0 0 0 Věta 2 1 0 0 1 1 1 Tabulka 1: Ukázka reprezentace textu pomocí Bag of Words První větu je tedy možné reprezentovat vektorem čísel (1 1 1 0 0 0), větu druhou pak vektorem (1 0 0 1 1 1). S metodami Bag of Words jsou spojené dvě zásadní nevýhody: (a) Běžně se od klasifikačních algoritmů očekává zpracování i tisíců dokumentů. Tyto dokumenty obsahují velké množství unikátních slov, což vede k tomu, že vektory reprezentující text mají řádově i desetitisíce dimenzí. Většina hodnot v těchto vektorech je přitom 0 (jedná se o tz v. řídké vektory). Zpracování takového množství dat je výpočtově náročné. (b) Reprezentace pomocí Bag of Words ignoruje jak pořadí slov v dokumentu, tak i jejich sémantiku (význam). Tyto prvky mohou být pro přesnou automatickou klasifikaci nápomocné, často dokonce nezbytné. 2.4 EMBEDDINGS Kvůli výše zmíněným nevýhodám je dnes Bag of Words přístup postupně nahrazovaný tzv. embeddings. Podobně jako v případě Bag of Words i embeddings reprezentují text ve formě vektorů. Na rozdíl od Bag of Words jsou ale tyto vektory o mnoho menší – k popsání textu je zpravidla 9 21/2020 Revue pro právo a technologie ROČ. 11 potřebných jen několik set čísel. Tyto vektory jsou husté – většina, ne-li všechny hodnoty v nich jsou nenulové. Embeddings se dají použít pro reprezentaci libovolných textových dokumentů, ale jejich primárním cílem je reprezentace jednotlivých slov. Zde se projevuje jejich největší výhoda, a sice schopnost do určité míry zachytit sémantiku (význam). Slova s podobným významem jsou reprezentována vektory, ve kterých se jednotlivé číselné hodnoty od sebe liší jen málo. Se slovy reprezentovanými pomocí embeddings je navíc možné manipulovat pomocí základních operací jako sčítání a odečítání. Příklad 4: Pokud od reprezentace slova „král“ pomocí embeddings odečteme reprezentaci slova „muž“ a přičteme slovo „žena“, měl by výsledný vektor být velice podobný reprezentaci slova „královna“. Sčítaní a odčítaní vektorů přitom spočívá ve sčítaní a odčítaní hodnot na jednotlivých pozicích. Po sečtení třídimenzionálních vektorů (5 1 8) a (2 4 1) tedy získáme vektor (7 5 9). Jednou z nevýhod embeddings je, že je problematické interpretovat, co jednotlivé číselné hodnoty ve vektorech znamenají. Vytvoření embedding reprezentace slova se nedá realizovat pomocí předem daného postupu, jak je tomu u Bag of Words. Tento problém se proto sám o sobě řeší pomocí metod strojového učení. 7 Jedním z nejpoužívanějších přístupů ke tvorbě embeddings je Word2Vec. Je založený na myšlence, že slova s podobným významem se vyskytují v podobném kontextu, tj. v jejich okolí v textu se opakují podobná slova. Pro nalezení embeddings je nutné disponovat rozsáhlou množinou textových dokumentů. V praxi se například využívá archiv Wikipedie. Pomocí metod strojového učení se pak trénuje matematický model, schopný predikovat slovo podle slov nacházejících se v jeho okolí. Alternativně je možné použít i opačný přístup, tedy predikci několika okolních slov pro dané vstupní slovo. Embeddings jsou pak vedlejším produktem řešení tohoto problému. Typicky se používají Word2Vec 7 10 MIKOLOV, Tomáš, Kai CHEN, Greg CORRADO a Jefrey DEAN. Efficient Estimation of Word Representations in Vector Space. CoRR, 2013. Dostupné z: https://arxiv.org/abs/1301.3781 M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE embeddings s 300 dimenzemi – slovo je tedy reprezentováno jako posloupnost 300 čísel. Word2Vec byl později původními autory použit jako základ metody 8 Doc2Vec , která, jak název napovídá, vytváří embeddings pro libovolné textové dokumenty (věty, odstavce, celé texty). Je založená na jednoduché agregaci Word2Vec embeddings jednotlivých slov v dokumentu, tj. počítaní sumy nebo průměrné hodnoty. Zachovává se přitom dimensionalita: pokud Word2Vec embeddings pro reprezentaci jednotlivých slov v dokumentu měli 300 dimenzí, pak i Doc2Vec embedding reprezentující dokument jako celek bude mít 300 dimenzí. 2.5 SEGMENTACE SOUDNÍCH ROZHODNUTÍ V ČEŠTINĚ Samotnému problému segmentace soudních rozhodnutí v českém jazyce 9 na menší významové celky se věnuje Harašta , jehož přístup je založený na predikci pomocí conditional random fields. Pro trénování a verifikaci přitom využívá rozhodnutí pouze nejvyšších soudních instancí. 3. DATASET Dokumenty pro trénování a verifikaci modelu byly vybrány z databáze právního informačního systému Codexis. Z nejnovějších 15 tisíc soudních rozhodnutí bylo náhodně zvoleno 260 tak, aby vzorek věrohodně reprezentoval obsah databáze. Tabulka 2 zobrazuje počty ve výběru podle typu soudní instance. Typ instance Počet rozhodnutí Podíl na datasetu Nejvyšší soud 89 34.23 % 8 MIKOLOV, Tomáš a Quoc V. LE. Distributed Representations of Sentences and Documents. CoRR, 2014. Dostupné z: https://arxiv.org/abs/1405.4053 9 HARAŠTA, Jakub, Jaromír ŠAVELKA, František KASL a Jakub MÍŠEK. Automatic Segmentation of Czech Court Decisions into Multi-Paragraph Parts. Jusletter IT. Weblaw AG, 2019, roč. 4, 23. Mai 2019, s. 1-10. ISSN 1664-848X. Dostupné z: https://www.muni.cz/en/research/publications/1534440 11 21/2020 Revue pro právo a technologie ROČ. 11 Ústavní soud 51 19.62 % Krajské soudy 50 19.23 % Nejvyšší správní soud 43 16.54 % Vrchní soudy 14 5.38 % Městský soud v Praze 10 3.85 % Okresní a obvodní 2 0.77 % 1 0.38 % soudy Zvláštní senát NS a NSS Tabulka č. 2: Dokumenty v trénovací/verifikační množině podle typu soudní instance Soudní rozhodnutí byla následně ručně anotovaná pomocí nástroje 10 Dataturks. Anotace proběhla dvoufázově, kdy určité části dokumentů byly označovány jako Ostatní a po anotaci celého korpusu anotátor tyto segmenty analyzoval podrobněji a zařadil je do nejbližší podobné třídy nebo ponechal odstavec bez anotace. Neoznačené tak zůstaly např. informace o tom, že veškerou citovanou judikaturu lze nalézt na určitém URL. 3.1 TŘÍDY Každý anotovaný odstavec je přiřazený do jedné z následujících významových tříd: 1. Hlavička - Identifikace soudu, stran a zpravidla i napadeného rozhodnutí 2. Výrok - Rozhodnutí soudu 10 12 Dostupný na: https://dataturks.com/ M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE 3. Věcná historie - Skutková zjištění 4. Procesní historie - Popis předcházejícího řízení, včetně argumentace stran a soudů uplatněných v těchto řízeních; zahrnuje i předchozí správní řízení 5. Argumentace stran - Argumenty, námitky a návrhy stran (vč. konstatování, že se někdo nevyjádřil nebo že nemá námitky) 6. Argumentace soudu - Prakticky zbytková kategorie, zahrnuje mj. i citace aplikovatelných zákonných ustanovení, popis procesního postupu rozhodujícího soudu nebo obiter dictum 7. Závěr - Závěrečné shrnutí argumentace soudu (např. “Z těchto důvodů soud … zamítl/odmítl/zrušil.”) obsahuje také instrukce pro soud nižší instance, pokud se věc vrací 8. Náklady - Odůvodnění rozhodnutí o nákladech řízení, jakož i informace, že o nákladech řízení nebude rozhodnuto nebo že nebudou odůvodněny 9. Poučení - Formální poučení soudu, nadepsáno slovem Poučení Uvedená taxonomie byla založená na metodice Harašty 11 avšak s několika podstatnými rozdíly. Z původní třídy Hlavička se vyčlenila třída Výrok, neboť toto rozdělení považujeme za praktické pro další zpracování soudních rozhodnutí (např. detekce opravných prostředků nebo formátování textu). Byla zavedena třída Věcná historie, neboť součástí datasetu jsou i prvoinstanční rozhodnutí. Třída Patička byla rozdělena na t ř í d y Náklady a Poučení. Dále byla zavedena třída Závěr, kterou lze považovat za poměrně experimentální, protože segmenty do ní patřící byly v první fázi anotace označeny jako Ostatní. Dataset neobsahuje žádné poznámky pod čarou ani disenty. Z časových důvodů byly položky třídy Argumentace soudu anotované zpravidla jako úsek od počátku soudní argumentace až po její závěr. V argumentaci soudu se někdy opakují skutková zjištění, rekapituluje se 11 HARAŠTA, Jakub, Jaromír ŠAVELKA, František KASL a Jakub MÍŠEK. Automatic Segmentation of Czech Court Decisions into Multi-Paragraph Parts. Jusletter IT. Weblaw AG, 2019, roč. 4, 23. Mai 2019, s. 1-10. ISSN 1664-848X. Dostupné z: https://www.muni.cz/en/research/publications/1534440 13 21/2020 Revue pro právo a technologie ROČ. 11 procesní historie a argumentace stran, ale pro potřeby klasifikace judikatorních odkazů je toto rozlišení bezpředmětné, jelikož ke všem judikátům citovaným v této pasáži se soud nějakým způsobem vyjadřuje. Takto prováděná anotace judikátu byla mnohem rychlejší, než kdyby anotátor pročítal a anotoval každý odstavec soudní argumentace zvlášť. Zvolený postup však mohl mít negativní dopad na kvalitu natrénovaného modelu. Celkem bylo anotováno 2684 odstavců. Podíl jednotlivých tříd je možné vidět na obrázku č. 2. Nejvíce jsou zastoupeny třídy Procesní historie a Argumentace soudu, nejméně naopak třídy Věcná historie a Náklady. Obr. č. 2: Podíl jednotlivých významových tříd na celkovém počtu anotovaných odstavců. 4. MODEL PRO AUTOMATICKOU SEGMENTACI SOUDNÍCH ROZHODNUTÍ Řešený problém automatické segmentace soudních rozhodnutí chápeme jako klasifikační úlohu, tedy zařazení jednotlivých odstavců jedné z předem stanovených tříd. Většina algoritmů pro automatickou klasifikaci dokáže 14 M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE pracovat pouze s číselnými daty (viz teoretická část). Navržené řešení je proto nutné rozdělit do dvou po sobě následujících kroků: (1) převod odstavců do číselné reprezentace a (2) natrénovaní modelu pro automatickou klasifikaci. K vytvoření numerické reprezentace textu je použitá metoda Doc2Vec, která je detailněji popsána v sekci 2.4. K natrénování byl přitom použitý korpus 364 199 soudních dokumentů z databáze Codexis obsahujících celkem 8 932 074 odstavců, přičemž dimensionalita výsledných vektorů byla nastavena na standardní hodnotu 300. D o c 2 V e c v e k t o r y j s o u d á l e r o z š í ř e n y o informaci o pozici klasifikovaného odstavce v soudním rozhodnutí složené z: 1. relativní pozice prvního znaku odstavce v dokumentu (kolik procent dokumentu se nachází před odstavcem), 2. relativní pozice posledního znaku odstavce v dokumentu (kolik procent dokumentu se nachází za odstavcem), 3. relativní délky odstavce (kolik procent dokumentu je tvořeno daným odstavcem). Každý odstavec je tedy reprezentován jako 303dimenzionální vektor. Mimochodem, na základě vypočtených ANOVA F-hodnot lze konstatovat, že atributy pozice jsou pro rozlišení jednotlivých tříd odstavců nejdůležitější. Není to překvapivé, jelikož některé části rozhodnutí jsou typicky na začátku či konci odůvodnění, a existuje určitá neformálně ustálená struktura soudních rozhodnutí, kdy nejdříve se popíše procesní historie a až poté se uvádí argumenty stran, a nakonec argumenty samotného soudu. Číselné reprezentace odstavců jsou následně použity jako vstup pro druhou fázi, tedy trénování modelu pro automatickou klasifikaci. Pro tuto část byl zvolen algoritmus SVM, detailně popsaný v sekci 2.2. 5. METODOLOGIE TESTOVÁNÍ NAVRŽENÉHO MODELU Celý průběh experimentu lze rozdělit do následujících kroků: 1. Vytvoření trénovacího datasetu (viz část třetí) 15 21/2020 Revue pro právo a technologie ROČ. 11 2. Natrénování modelu pro převod textu do číselné reprezentace metodou Doc2Vec 3. Převod anotovaných odstavců z kroku 1 do číselné reprezentace pomocí modelu z kroku 2 4. Natrénování SVM klasifikátoru 5. Testování klasifikátoru na neznámých datech Je nutno zdůraznit, že Doc2Vec model byl natrénován pomocí rozsáhlé databáze programu Codexis, přičemž nebyla vyžadována žádná ruční anotace. Až trénování SVM klasifikátoru využilo anotaci dokumentů k sestavení trénovací množiny. 5.1 POUŽITÝ HARDWARE Celý experiment byl realizovaný na serveru vybaveném procesorem AMD Ryzen 7 2700X, 64 GB DDR4 RAM, 250 GB NVMe SSD úložištěm a dvěma grafickými kartami Nvidia RTX 2080Ti. Na serveru byl nainstalovaný operační systém Ubuntu 18.04. 5.2 POUŽITÝ SOFTWARE Implementace navrženého modelu je realizována pomocí standardních knihoven pro strojové učení v programovacím jazyce Python. Pro implementaci Doc2Vec modelu byla použita knihovna gensim a pro 12 samotnou klasifikaci a verifikaci knihovna scikit-learn . Experimenty byly spuštěné v prostředí Jupyter umožňující interaktivní práci se zdrojovým kódem v jazyce Python, R nebo Julia, snadnou replikaci a sdílení experimentů. 6. VÝSLEDKY EXPERIMENTŮ Výše popsaný model byl vyhodnocen pomocí metody 7-fold cross-validation. Při použití této metody je trénovací dataset rozdělený na 7 částí, přičemž 6 z nich je použito pro trénování klasifikátoru a 1 slouží pro vyhodnocení 13 jeho kvality. Trénování a vyhodnocení se přitom opakuje sedumkrát , přičemž pro vyhodnocení kvality je vždy použitá jiná část datasetu. 12 16 Dostupná na https://scikit-learn.org/stable/ M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE V rámci vyhodnocení byly sledované následující parametry: 1. precision – kolik (podíl) ze vzorků algoritmem zařazených do dané třídy do ní skutečně patří 2. recall – kolik (podíl) ze vzorků skutečně patřících do dané třídy bylo algoritmem do této třídy zařazeno 3. f1-score – interpretovatelné jako vážený průměr precision a recall. Výsledky modelu jsou porovnány s výsledky Zero Rule klasifikátoru, který každý vzorek jednoduše zařadí do nejpočetnější třídy v trénovacím datasetu, a s výsledky stratifikovaného náhodného třídění, které každému vzorku přidělí náhodnou třídu, přičemž je respektována distribuce tříd v trénovacím datasetu. Zero Rule Stratif. náhodné Doc2Vec + SVM třídění prec. recall f1 prec. recall f1 prec. recall f1 0.00 0.00 0.00 0.23 0.23 0.23 0.83 0.85 0.84 0.00 0.00 0.00 0.11 0.11 0.11 0.74 0.74 0.74 Hlavička 0.00 0.00 0.00 0.11 0.11 0.11 1.00 0.97 0.99 Náklady 0.00 0.00 0.00 0.07 0.08 0.08 0.94 0.95 0.95 Poučení 0.00 0.00 0.00 0.15 0.16 0.15 0.99 1.00 0.99 Procesní 0.19 1.00 0.32 0.21 0.20 0.20 0.77 0.79 0.78 Výrok 0.00 0.00 0.00 0.12 0.12 0.12 0.93 0.96 0.95 Věcná historie 0.00 0.00 0.00 0.04 0.04 0.04 0.56 0.44 0.49 Argumentace soudu Argumentace stran historie 13 Mezi jednotlivými průchody klasifikátor již naučené "zapomene". Netestují se naučená data, ale schopnost algoritmu se učit. 17 21/2020 Závěr Celková Revue pro právo a technologie 0.00 0.00 0.00 0.12 0.193 0.11 0.145 ROČ. 11 0.12 0.87 0.90 0.89 0.850 Přesnost Tabulka č. 3: Průměrné hodnoty vypočtené z jednotlivých testovacích měření v rámci cross-validace Obr. č. 3: Matice záměn (confusion matrix) ukazující anotované třídy (vlevo) a klasifikované třídy (dole) Výslednou přesnost 85 % považujeme za více než dostačující, protože klasifikace odstavců do daných tříd není vždy jednoduchý úkol. U některých tříd navíc k omylům prakticky nedochází, a t o i při natrénování na velmi malém datasetu. 18 M. Eliášek, J. Kól, M. Švaňa: Automatická klasifikace významových celků v judikatuře DISKUZE Nejproblematičtější třídou je Věcná historie. Odstavce patřící do této kategorie klasifikátor na rozdíl od jejich anotace označuje jako Procesní historii, Argumentaci stran nebo Argumentaci soudu. Je tomu jednak proto, že tato třída má v trénovací množině nejmenší počet vzorků, ale především proto, že skutková tvrzení jsou běžnou součástí jak Procesní historie, tak Argumentace. Pokud bychom klasifikovali jednotlivé věty, bylo by možné oddělit skutková tvrzení od procesních a právních, ale jelikož byly klasifikovány celé odstavce, jde o záležitost krajně neřešitelnou. Ze stejného důvodu Procesní historie prorůstá do Argumentace stran a soudu. Je pochopitelné, že ve svojí argumentaci se strany i soud velmi často odkazují na proběhnuvší řízení. Zde navíc dost záleží na tom, v jakém řízení bylo rozhodnutí vydáno, protože odstavec “Proti rozhodnutí se žalovaný odvolal z důvodu ...” může být procesní historií u Ústavního a Nejvyššího soudu, ale Argumentací stran u krajského či vrchního soudu. Když k tomu přičteme neduh, že soudy o sobě často mluví ve třetí osobě (slovy “Krajský soud shledal žalobu nedůvodnou” může začínat Argumentace soudu vydaná krajským soudem, nebo může jít o popis předchozího řízení), jsou jednotlivé odstavce bez znalosti procesního práva reálně neklasifikovatelné. 6.1 MODIFIKACE MODELU Kromě modelu popsaného v předchozích sekcích byly testovány i jeho další modifikace. Zkoušeno bylo například použití vyššího počtu dimenzí u Doc2Vec vektoru nebo zahrnutí Doc2Vec vektoru předchozího odstavce do popisu odstavce aktuálního. Tyto změny však nepřinesly žádné výrazné zlepšení. V rámci fáze klasifikace byly testovány další metody běžně doporučované pro klasifikaci textu: rozhodovací stromy, random forests, jednoduché neuronové sítě nebo SVM s polynomiálním a radial basis function kernelem. S výjimkou neuronových sítí ale tyto varianty dosahovaly výrazně horších výsledků. Přesnost dosažená neuronovou sítí byla se zvoleným lineárním SVM klasifikátorem porovnatelná, nedostatkem ale byla delší doba potřebná pro trénování modelu. 19 21/2020 Revue pro právo a technologie ROČ. 11 7. ZÁVĚR Prezentovaný model pro automatickou klasifikaci významových celků v soudních rozhodnutích dosahuje uspokojivých výsledků. Především při početnějších třídách lze pozorovat výrazné zlepšení oproti algoritmu navrženém Haraštou et al. (2019). Jak bylo zmíněno v úvodu, model bude dále použit pro klasifikaci judikatorních citací. Pro sofistikovanější využití se může jako vhodnější alternativa ukázat tzv. měkká klasifikace, při které model místo predikce konkrétní třídy určí pravděpodobnost zařazení do jednotlivých tříd. Vzhledem k použitým nástrojům a knihovnám toto rozšíření vyžaduje jen triviální úpravy zdrojového kódu. Perspektivním směrem dalšího výzkumu je využití metod hlubokého učení (deep learning), např. konvolučních nebo rekurentních neuronových sítí. Pro jejich trénování je ale nutné podstatně rozšířit dataset anotovaných částí soudních rozhodnutí. 8. SEZNAM POUŽITÝCH ZDROJŮ [1] AGGARWAL, Charu C. a ChengXiang ZHAI. Mining text data. New York: Springer, 2012. ISBN 978-1-4614-3222-7. [2] HAN, Jiawei, Micheline KAMBER a Jian PEI. Data Mining: Concepts and Techniques. Third Edition. Waltham: Elsevier, 2011. ISBN 978-0-12-381479-1. [3] HARAŠTA, Jakub, Jaromír ŠAVELKA, František KASL a Jakub MÍŠEK. Automatic Segmentation of Czech Court Decisions into Multi-Paragraph Parts. Jusletter IT. Weblaw AG, 2 0 1 9 , r o č . 4 , 2 3 . M a i 2 0 1 9 , s . 1 - 1 0 . I S S N 1 6 6 4 - 8 4 8 X . D o s t u p n é z : https://www.muni.cz/en/research/publications/1534440 [4] MIKOLOV, Tomáš, Kai CHEN, Greg CORRADO a Jefrey DEAN. Efficient Estimation of Word Representations in Vector Space. CoRR, 2013. Dostupné z: https://arxiv.org/abs/1301.3781 [5] MIKOLOV, Tomáš a Quoc V. LE. Distributed Representations of Sentences and Documents. CoRR, 2014. Dostupné z: https://arxiv.org/abs/1405.4053 [6] RASCHKA, Sebastian. Python Machine Learning. Birmingham: Packt, 2015. ISBN 978-178355-513-0. Toto dílo lze užít v souladu s licenčními podmínkami Creative Commons BY-SA 4.0 International (http://creativecommons.org/licenses/by-sa/4.0/legalcode). 20