Για την αυτοματοποίηση της διαδικασίας ενοποίησης της νομοθεσίας

Έρευνα από το Τμήμα Μηχανικών Η/Υ και Πληροφορικής του Παν/μιου Πατρών

open-government-data_0
Γράφει: Αθανάσιος Πλέσσας - Επιστήμη + Τεχνολογία - 14/11/2016

Στη χώρα μας η πρόσβαση στη νομοθεσία είναι συχνά μια πολύπλοκη διαδικασία λόγω της πολυνομίας και των συχνών τροποποιήσεων (Εικόνα 1) των νομοθετικών κειμένων. Εάν κανείς θελήσει να βρει την ισχύουσα έκδοση ενός νόμου, χρειάζεται να εντοπίσει όλες τις τροποποιήσεις του που έχουν ψηφιστεί και να τις εφαρμόσει σειριακά στο αρχικό κείμενο του νόμου. Η διαδικασία αυτή είναι γνωστή ως ενοποίηση (consolidation) και είναι ιδιαίτερα απαιτητική διανοητικά για τον αναγνώστη, ο οποίος συχνά δεν μπορεί να είναι βέβαιος αν έχει παραλείψει κάποια τροποποίηση. Υπάρχουν, βέβαια, νομικές βάσεις που προσφέρουν πρόσβαση στο ενοποιημένο κείμενο των νομοθετημάτων, αλλά συνήθως απαιτούν συνδρομή. Αποσπασματικά, μπορεί να βρει κανείς ενοποιημένα νομικά κείμενα σε ιστοσελίδες υπουργείων και άλλων φορέων.

laws_mods1

Εικόνα 1. Τροποποιήσεις σε στοιχεία (άρθρα σε αυτή την περίπτωση) νόμων

Η αντιμετώπιση αυτού του προβλήματος είναι ο στόχος έρευνας που πραγματοποιείται στο Τμήμα Μηχανικών Η/Υ και Πληροφορικής του Παν/μιου Πατρών από τον μεταπτυχιακό φοιτητή Κωνσταντίνο Πλέσσα υπό την επίβλεψη του Καθηγητή Ιωάννη Γαροφαλάκη και του μεταδιδακτορικού ερευνητή Αθανάσιου Πλέσσα. Στα πλαίσια της έρευνας έχει υλοποιηθεί ένα ημι-αυτοματοποιημένο σύστημα για τoν εντοπισμό, την ανάλυση και την εφαρμογή των τροποποιήσεων στα κείμενα των νόμων. Η προσέγγιση στην οποία βασίστηκε ονομάζεται ταίριασμα προτύπου (pattern matching) με τη χρήση κανονικών εκφράσεων (regular expressions). Καθώς η νομική γλώσσα είναι σχετικά δομημένη, μπορούν να εντοπιστούν επαναλαμβανόμενα πρότυπα που χρησιμοποιούνται για να δηλώσουν τη δομή των νομοθετικών κειμένων και τις τροποποιήσεις (π.χ. μετά από κάθε άρθρο υπάρχει το νούμερό του και προαιρετικά ο τίτλος του, ενώ στην περίπτωση των αντικαταστάσεων χρησιμοποιείται κάποιο ρήμα που δηλώνει αντικατάσταση ακολουθούμενο από κείμενο σε εισαγωγικά). Οι ερευνητές έχουν μοντελοποιήσει τους κανόνες της ελληνικής νομοθεσίας με τη μορφή προτύπων, η παρουσία των οποίων αναζητείται στα κείμενα των νόμων. Το σύστημα, που ονομάζεται OpenlawsGR, έχει αναπτυχθεί με τεχνολογίες ανοικτού κώδικα και υλοποιεί τα παρακάτω βήματα:

1.       Μεταφόρτωση των PDF αρχείων από τα τεύχη Α’ της Εφημερίδας της Κυβερνήσεως με το σύνολο των νόμων.

2.       Μετατροπή των PDF αρχείων σε απλό κείμενο.

3.       Διαχωρισμός νόμων από άλλα νομοθετήματα (π.χ. Προεδρικά Διατάγματα, Υπουργικές Αποφάσεις).

4.       Προεπεξεργασία κειμένου για τη διόρθωση σφαλμάτων που υπεισέρχονται στα προηγούμενα βήματα.

5.       Δομική ανάλυση νόμων. Σε αυτό το βήμα αναγνωρίζονται τα δομικά στοιχεία των νόμων, όπως άρθρα, παράγραφοι κ.λπ.

6.       Έλεγχος εγκυρότητας και χειροκίνητες διορθώσεις. Συχνά, λάθη στο κείμενο των νόμων (π.χ. ορθογραφικά, συντακτικά, μη συμμόρφωση με τους κανόνες σύνταξης νομοθεσίας) έχουν ως αποτέλεσμα σφάλματα στη δομική ανάλυση των νόμων. Σε αυτό το βήμα εντοπίζονται αυτές οι περιπτώσεις και διορθώνονται χειροκίνητα.

7.       Εντοπισμός, ανάλυση και εφαρμογή των τροποποιήσεων που έχει υποστεί κάθε νόμος στο κείμενό του.

8.       Αποθήκευση των διαφορετικών εκδόσεων κάθε νόμου σε ένα αποθετήριο στο σύστημα ελέγχου αναθεωρήσεων Github.

Κατά την ανάπτυξη του συστήματος υπήρξε ανάγκη να ξεπεραστούν σημαντικά προβλήματα της νομοθετικής διαδικασίας που ακολουθείται στη χώρα μας: απουσία API ή Web Service για τη μεταφόρτωση της νομοθεσίας, αρχεία σε μη μηχανικώς αναγνώσιμο μορφότυπο, απουσία χρήσης προτύπων (π.χ. XML πρότυπα), συντακτικά λάθη στα κείμενα και μη συμμόρφωση με τους κανόνες σύνταξης νόμων της Κεντρικής Νομοπαρασκευαστικής Επιτροπής (ΚΕ.Ν.Ε.) κ.α. Οι δυσκολίες αυτές καθιστούν πρακτικά αδύνατη την υλοποίηση ενός πλήρως αυτοματοποιημένου συστήματος, με αποτέλεσμα να απαιτείται η ανθρώπινη παρέμβαση στο βήμα 5, καθώς όλα τα υπόλοιπα βήματα είναι πλήρως αυτοματοποιημένα.

Μια πιλοτική εφαρμογή για 320 νόμους από το 2004 έως το 2015 είναι διαθέσιμη στο αποθετήριο https://github.com/OpenLawsGR/greek_laws_alpha. Εκεί, ο χρήστης μπορεί να δει την ισχύουσα έκδοση για κάθε νόμο, το ιστορικό των τροποποιήσεων (Εικόνα 2), να πλοηγηθεί στις προηγούμενες εκδόσεις του και να δει οπτικά τις αλλαγές που έχει επιφέρει κάθε τροποποίηση (Εικόνα 3). Ο κώδικας του συστήματος (σε γλώσσα Python) διανέμεται ελεύθερα από το αποθετήριο https://github.com/OpenLawsGR/greek_laws_consolidation_code.

mods_history-copy

Εικόνα 2. Ιστορικό τροποποιήσεων του Ν. 3528/2007

 

Εικόνα 3. Οπτική παρουσίαση των αλλαγών που επέφερε μια τροποποίηση

Εικόνα 3. Οπτική παρουσίαση των αλλαγών που επέφερε μια τροποποίηση

Η έρευνα έχει ήδη οδηγήσει σε τρεις επιστημονικές δημοσιεύσεις σε διεθνή συνέδρια. Αυτή την περίοδο οι προσπάθειες κατευθύνονται στη βελτίωση του συστήματος για τη διόρθωση προβλημάτων και σφαλμάτων, ώστε σύντομα να διανεμηθεί μια παραγωγική έκδοσή του. Περισσότερες πληροφορίες μπορεί να αντλήσει κανείς στο blog του project http://www.openlaws.gr