Legislation Specifications for the Lexa system#
Αυτή η αναφορά περιγράφει την υλοποίηση του υποσυστήματος διαχείρισης νομοθεσίας για το σύστημα Lexa, εστιάζοντας στις λειτουργικές προδιαγραφές, τη δομή δεδομένων και την προσέγγιση για το Retrieval.
Λειτουργικές Προδιαγραφές#
Επίπεδο χρήστη:
Παροχή συνδέσμου ή εμφάνιση του pdf του ΦΕΚ.
Οδηγίες πλοήγησης εντός του pdf με βάση την ιεραρχία του (Τμήμα, Άρθρο, Παράγραφος κλπ.).
Επίπεδο υλοποίησης:
Δημιουργία βάσης δεδομένων με το περιεχόμενο των άρθρων και κατάλληλα metadata.
Συστήματα#
Βασική προσέγγιση: RAG (Retrieval Augmented Generation).
Retrieval: Σύστημα/αλγόριθμος εύρεσης σχετικών άρθρων από την ερώτηση του χρήστη.
Generation: Σύστημα/αλγόριθμος παραγωγής απαντήσεων βασισμένων στην ερώτηση και τη σχετική νομοθεσία. Στοχεύει στη νομική συλλογιστική, εφαρμόζει τα άρθρα και παρουσιάζει το νομικό συμπέρασμα και τις νομικές προϋποθέσεις, αποφεύγοντας την ερμηνεία.
Βασικό Πρόβλημα: Αποτελεσματικό Retrieval#
Το κύριο πρόβλημα είναι η αποτελεσματική ανάκτηση άρθρων (Retrieval) όταν η ερώτηση του χρήστη δεν χρησιμοποιεί την ακριβή ορολογία του νόμου, αλλά περιγράφει καθημερινά περιστατικά. Η τεχνολογία βασίζεται στην εύρεση παρόμοιου περιεχομένου, κάτι που δυσχεραίνεται με την έλλειψη ακριβούς ταύτισης λέξεων.
Δομή Νομοθεσίας (Metadata)#
Για την υποστήριξη του Retrieval και του Generation, η νομοθεσία αποθηκεύεται με την εξής βασική (απλοποιημένη) ιεραρχική δομή:
Law:Id(π.χ. Ν. 1234/2025)TitleList of units
Units:TitleArticles(ομάδα άρθρων, π.χ. 20-50)
Articles:NumberContent
Επιπλέον attributes, κρίσιμα για το Retrieval, παράγονται από LLMs (και δυνητικά επαληθεύονται):
Description/Summary: Περίληψη για κάθε επίπεδο ιεραρχίας (Law, Units, Articles), εστιασμένη στις συνθήκες εφαρμογής και τις συνέπειες για τον πολίτη/χρήστη. Στοχεύει να εξηγήσει σε ποιες περιπτώσεις εφαρμόζεται το κείμενο.Legal conditions: Οι προϋποθέσεις/συνθήκες που πρέπει να ισχύουν για την εφαρμογή ενός άρθρου. Χρησιμοποιούνται για γρήγορο φιλτράρισμα.Legal outcomes: Οι νομικές συνέπειες ή αποτελέσματα από την εφαρμογή ενός άρθρου (π.χ. πρόστιμο, δικαίωμα). Χρησιμοποιούνται για εστίαση στην ερώτηση του χρήστη.Subject: Θέμα του άρθρου.
Η τελική δομή θα είναι η εξής:
Law:Id(π.χ. Ν. 1234/2025)Title(π.χ. Αστικός Κώδικας)*Description(summary) - (LLM-generated)List of units
Units:Title(Προαιρετικός τίτλος για την ομάδα άρθρων)*Description(summary) - (LLM-generated)Articles(ομάδα άρθρων, π.χ. 20-50 - Τα άρθρα σε μια Unit ανήκουν σε σχετικά “κομμάτια” του νόμου)
Articles:Number*Subject- (LLM-generated)*Legal conditions- (LLM-generated)*Legal outcomes- (LLM-generated)Content(Το πλήρες κείμενο του άρθρου)
Και φαίνεται και στο αρχείο `legislation_schema.json’.
Προσέγγιση Retrieval (Αρχικές Δοκιμές)#
Δοκιμάζονται διάφορες τεχνικές Retrieval:
Lexical overlap: BM25 (χρήση gr-nlp-toolkit)
Embeddings (Dense):
Open: Bge, Greek-bert (mean embeddings), Llama-Krikri-8B (mean embeddings).
Paid: Gemini, Jina, Voyage.
Αρχική στρατηγική Retrieval: Ταίριασμα της ερώτησης του χρήστη με την Description/Summary των Units ή Chapters.
Εναλλακτικές για μελλοντική δοκιμή περιλαμβάνουν το ταίριασμα με το Content του άρθρου ή με τα Legal conditions/Legal outcomes.