Legal documents character level model

Recurrent neural networks

While feedforward neural networks can handle some tasks quite well, their application is limited when it comes to sequence learning. Recurrent neural networks are much more well suited for such tasks, as connections between their units form a direct cycle. This feature (sort of memory) enables RNNs to perform sequence learning and temporal processing.

Information persistence is an immanent part of human thought process. Artificial neural networks incorporating similar capabilities can successfully be used in a variety of tasks. Some RNNs usage examples yielding good results would be: natural language modeling, speech recognition, translation.
One particular type of RNNs are long short-term memory (LSTM). Under the hood of a LSTM lie so called “memory cells”. They are capable of storing information, and decide themselves what to store, when to allow reads, writes and erasures. Memory cells enable LSTMs to understand long-term dependencies – this is the reason why LSTMs outperform alternative RNNs in many tasks.
lstm

Picture above illustrates architecture of a single LSTM block. Outputs of input node and gates are a function of previous hidden state, current input data and bias. ⓧ nodes represent multiplication. Typically sigmoid function is used as gate’s activation function. Input gate combined with multiplication node controls flow of information into the memory cell. Similarly output gate governs flow of cell activations into the rest of the network. Forget gate was not a part of original LSTM design. Its addition allowed for adaptive resetting of cell memory. Adjustment of gate’s parameters during training allows the network to essentially learn how it memory should function.

Legal documents character level model

Many legal documents follow a clearly defined structure. Some legal texts consist principally of boilerplate language.

Inspired by Andrej Karpathy’s blog post, The Unreasonable Effectiveness of Recurrent Neural Networks, we wanted to experiment with character level legal language model. Using code obtained from Andrej’s github we were able to train our model using 8.5 MB dataset of concatenated judgements (in Polish). LSTM we trained consisted of 2 layers with 256 hidden neurons in each layer. Trained model allows us to generate text of arbitrary lengths.

Sample output of trained LSTM:
Sąd Okręgowy stwierdza, że sprawa winien byłoby bowiem obowiązywać, że Sąd Rejonowy uchybienie zakwalifikował zarzucony mu surowościemi i miejscu krwiątem, części pany za gentralet sprawcy w dniu 3 września 2013 roku w przedmiocie udzielenia faktu oraz poprzez w tym zakresie sąd ocenił ze skarżącym, że nie miało stanowiska Sądu Okręgowego i decydują, iż postanowienie o zakończeniu postępowania albo środkam od jej od piśmie od dnia 8 sierpnia 2014r. dotyczący dóbr społeczno ponadto omówił specjalistraty, kto przed 6 miesięcy pozbawienia wolności za nieodparte wniosku do takiego postanowienia albo odmówił obwinionego zarzutów skargi prawnej w przedmiocie udzielenia orzeczonego na podstawie art. 438 pkt 4 kpk, tyle wpłynie w jego zachowaniu wypada zasądzenie tego prawa podmiotowa. Wskazał Sąd w momencie, zawartych na sąd polubowny niezbędna zawarte w kategoriach, to właśnie orzeczenie wobec niego czynu zabronionego.
above sample certainly looks like Polish text, however it doesn’t make much sense at all.  After lowering the Softmax temperature to 0.5 we obtain the following sample:
WYROK
W IMIENIU RZECZYPOSPOLITEJ POLSKIEJ
Dnia 20 kwietnia 2015 roku
Sąd Rejonowy w Krośnie wyrokiem z dnia 24 lutego 2015 r. sygn. akt II K 244/12 za przestępstwo z art. 279 § 1 kk i za to na podstawie art. 269 § 1 kk w zw. z art. 11 § 2 kk w zw. z art. 64 § 1 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 2 kk i art. 178 a § 1 kk w zw. z art. 294 § 1 kk w zw. z art. 11 § 3 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 3 kk w zw. z art. 279 § 1 kk i za to na podstawie art. 278 § 1 kk w zw. z art. 288 § 1 kk w zw. z art. 279 § 1 kk w zw. z art. 270 § 1 kk w zw. z art. 11 § 2 kk w zw. z art. 11 § 2 kk w zw. z art. 64§1 kk popełniony w dniach 11.06.2013r. do dnia zapłaty,
2. na podstawie art. 49§4 k.k. orzekł wobec oskarżonego środek karny w postaci zakazu prowadzenia pojazdów mechanicznych w ruchu lądowym na okres 3 lat oraz o zasądzenie od pozwanego na rzecz powoda kwotę 2.600 zł tytułem wydatków i ustalenia Sądu I instancji w pozostałej części zaskarżony wyrok utrzymuje w mocy;
3. zasądza od Skarbu Państwa na rzecz adw. K. K. kwotę 728,44 zł (dwudziesładach siedemdziesięciu trzysta) dziewięćdziesiąt siedem złotych pięćdziesiąt siedem złotych sześćdziesiąt groszy) tytułem zwrotu kosztów postępowania.

Here the LSTM made up a bunch of legal citations, generated some plausible sounding sentences (although it started enumerating them from 2.). The monetary amount in numbers and in words don’t match (and parenthesis are mismatched) .

Conclusion

It is clear the model we trained isn’t going to endanger any lawyer jobs. However it is capable of generating quite convincing legal texts. Perhaps increasing the dataset, and network size (preferably both) would yield even better results.