Monday, June 11, 2012

Διαύγεια OCR text extraction

Ένα από τα βασικά θέματα που με απασχόλησαν κατά την δημιουργία της ΥπερΔιαύγειας είναι το πως θα καταφέρω να εξάγω το κείμενο από τα PDFs που είναι δημοσιευμένα ώστε στην συνέχεια να προχωρήσω στη δημιουργία ευρετηρίων αναζήτησης. Αρχικά, χρησιμοποίησα τα poppler tools με πολύ καλά αποτελέσματα στα PDFs που περιείχαν κείμενο. Προσέξτε πολύ αυτό το σημείο: στα PDFs που είχαν κείμενο!

Κατά την υλοποίηση της ΥπερΔιαύγειας παρατήρησα ότι πολλά από τα έγγραφα που δημοσιεύονται στην Διαύγεια είναι PDFs που περιέχουν μόνο εικόνες. Πρόκειται δηλαδή για σκαναρισμένα έγγραφα που στην συνέχεια τα μετατρέπουν σε PDFs. Με αυτό τον τρόπο όμως, δεν υπάρχει οποιαδήποτε πληροφορία κειμένου, πράγμα που απαγορεύει την αναζήτηση, ακόμη και από την προσαρμοσμένη αναζήτηση του Google που χρησιμοποιείται πλέον στο επίσημο site της Διαύγειας.

Ένα τυχαίο παράδειγμα τέτοιων εγγράφων είναι αυτό: static.diavgeia.gov.gr/doc/ΒΟΝ1Γ-ΧΤΖ

Για να λύσω λοιπόν αυτό το ζήτημα προχώρησα στην υλοποίηση συστήματος OCR με βάση το λογισμικό ανοικτού κώδικα Tesseract. Το τελικό σύστημά μου δουλεύει ως εξής για κάθε έγγραφο που θέλω να επεξεργαστώ:
  1. Κατεβάζω το αρχείο PDF
  2. Επιχειρώ να εξάγω κείμενο με βάση το pdftotext (poppler tools)
  3. Αξιολογώ τα αποτελέσματα. Αν είναι ικανοποιητικά αποθηκεύω το κείμενο, τερματίζω και προχωρώ στο επόμενο. Αν όχι συνεχίζω.
  4. Επιχειρώ να εξάγω κείμενο με βάση το tesseract OCR.
  5. Αξιολογώ τα αποτελέσματα. Αν είναι ικανοποιητικά αποθηκεύω το κείμενο και τερματίζω.
  6. Διαφορετικά, δηλώνω σφάλμα και τερματίζω.

Παράδειγμα

Στην συνέχεια, παραθέτω ένα πρακτικό παράδειγμα εξαγωγής κειμένου από το έγγραφο static.diavgeia.gov.gr/doc/ΒΟΝ1Γ-ΧΤΖ

pdftotext output: κενό! Δεν επιστρέφει καμία πληροφορία για το κείμενο.

OCR output: 
AAA: BON1F-XTZ
AN APTHTEA ΣΤΟ AIAMKTYO


“p:
EAAHNIKH AHMOKPATIA Αθήνα 30 Δεκεμβρίου 2011
YFIOYPFEIO FIOAITIZMOY
KAI TOYPIZMOY
Ap. Πρωτ.: 8940
ι" ΕΦΟΡΕ|Α
BYZANTINQN APXAIOTHTQN
Ταχ. Διεύθυνση : Πανος 16
Ταχ. Κώδικας : 105 55
Πληροφορίες : F. Πίκουλης
Τηλέφωνο : 210-3315400
FAX : 210-3315644
e-mail: 1eba@culture.gr
ENTOAH ΠΛΗΡΩΜΗΣ
Έχοντας υποψιν:
Τον N. 1558/85 (ΦΕΚ 137/A/85) «Κυβέρνηση και Κυβερνητικα οργανα»
Το Π.Δ. 191/03 (ΦΕΚ 146/A/03) «Οργανισμος Υπουργείου Πολιτισμού»
To FLA. 186/09 (ΦΕΚ 213/A/O9) «Συγχώνευση των υπουργείων
Πολιτισμού και Τουριστικής Αναπτυξης»
4. Την Υ.Α. με αρ. Yl'll'lO/AOEYl'lY/TOl'lYNZ/1 5/3696/20012004 (ΦΕΚ
180/B/O4) «Μεταβίβαση αρμοδιοτήτων του Υπουργείου Πολιτισμού στις
Περιφερειακές και Ειδικές Περιφερειακές Υπηρεσίες αρμοδιοτητας της
Γενικής Διεύθυνσης Αρχαιοτήτων και Πολιτιστικής Κληρονομιας και
Γενικής Διεύθυνσης Αναστήλωσης Μουσείων και Τεχνικών 'Εργων του
Υπουργείου Πολιτισμού»
5. To Π.Δ. 99/92 (ΦΕΚ 46/A/92) «Μελέτη και Εκτέλεση Αρχαιολογικών εν
γένει έργων»
6. Tov N. 2362/95 (ΦΕΚ 247/A/95) «Περί Δημοσίου Λογιστικού. ελέγχου
των δαπανών του Κρατους και αλλες διαταξεις»
7. Tov N. 2286/95 (ΦΕΚ 19/A/95) «Προμήθειες του δημοσίου τομέα και
ρυθμίσεις συναφών θεματων»
8. To Π.Δ. 118 (ΦΕΚ 150/A/O7) «Κανονισμος Προμηθειών Δημοσίου»
9. To Π.Δ. 134/96 (FEK A/105) τροποποίησης και συμπλήρωσης μερικών
διαταξεων του Π.Δ. 186/92 «Κώδικας βιβλίων και στοιχείων», οπως
ισχυει
10.To Π.Δ. 113/10 (ΦΕΚ 194/A/10) ‹‹Αναληψη υποχρεώσεων απο τους
Διατακτες››
11.Tr]v Y.A. με αρ. 35130/739/10 (ΦΕΚ 1291/8/10) «Αύξηση των
χρηματικών ποσών του αρθρου 83 παρ. 1 του N. 2362/95 για την
σύναψη δημοσίων συμβασεων που αφορούν προμήθεια προιοντων,
παροχή υπηρεσιών ή εκτέλεση έργων»
12.Tov N. 3861/10 (ΦΕΚ 112/A/10) «Ενίσχυση της διαφανειας με την
υποχρεωτική αναρτηση νομων και πραξεων των κυβερνητικών,
P9P)?‘
AAA: BON1F-XTZ
διοικητικών και αυτοδιοικητικών οργανων στο διαδίκτυο «Προγραμμα
Διαύγεια›› και αλλες διαταξεις»
13.Tr]v TAFl/AIOIK/B/6954/39/22.07.2011, αποφαση έκδοσης Χρηματικού
Ενταλματος Προπληρωμής.
14.Tr]v υπ'αριθμ. 1" EBA/8745/21.12.2011 (AAA 45'~|»‘L|-'F-N41) Αναθεση
Προμήθειας Υλικών.
Εγκρίνουμε
Την πληρωμή ποσού τετρακοσίων είκοσι έξι ευρώ και είκοσι εξι λεπτών
(42626 €) με την επιταγή υπί αριθμ. 49394723-0, της Εμπορικής Τραπεζας
A.E., σε διαταγή ΠΕΡΜΕ FIEPIBAAAONTIKH METACDOPIKH A.E., για την
εξοφληση των τιμολογίων υπ' αριθμ. 2065/29.12.2011 και 2066/29.12.2011.
H δαπανη θα βαρύνει τις πιστώσεις του ΤΑΠΑ για δαπανες
διαμορφωσης αρχαιολογικών χώρων 2011.
H Προϊσταμένη
της της Εφορείας Βυζαντινών Αρχαιοτήτων
κ.α.α.
Βασιλική Παπαγεωργίου
Αρχαιολογος ΠΕ
Αν παρατηρήσετε, θα δείτε ότι το αποτέλεσμα δεν είναι τέλειο, σε πολλά σημεία υπάρχουν λάθος χαρακτήρες αλλά η γενική εικόνα του κειμένου είναι πολύ καλή με δεδομένο ότι πρόκειται για μια πλήρως αυτοματοποιημένη διαδικασία χωρίς ανθρώπινη παρέμβαση για training και error correction. 

Γενικά στατιστικά & συμπεράσματα

Εξετάζοντας το σύνολο των δεδομένων της ΥπερΔιαύγειας στις 10 Ιουνίου 2012 έχουμε τα εξής στοιχεία:
Τύπος εγγράφου Πλήθος Ποσοστό
Text PDF
4.566.445
96.9%
OCR PDF
133.568 
2.8%
Σφάλμα
10.433 
0.2%
Σύνολο
4.710.446 

Συμπερασματικά, βλέπετε ότι με την μέθοδο του OCR καταφέραμε να πάρουμε επιπλέον πληροφορίες από 133.568 έγγραφα, περίπου 3% των συνολικών δεδομένων. Ο αριθμός αυτός δεν είναι καθόλου αμελητέος αν σκεφτούμε την ιδιαίτερη σημασία των δεδομένων αυτών.

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

Tuesday, April 3, 2012

Η ΥπερΔιαύγεια παρουσιάζεται σε εργαστήριο του Υπ. Διοικητικής Μεταρρύθμισης και Ηλεκτρονικής Διακυβέρνησης

Η ΥπερΔιαύγεια θα παρουσιαστεί την Τετάρτη 04 Απριλίου 2012 στο εργαστήριο: «Πρόγραμμα Δι@ύγεια: Παρόν και Μέλλον της Διαφάνειας στο Δημόσιο Βίο» που θα πραγματοποιηθεί στο Εθνικό Κέντρο Δημόσιας Διοίκησης (ΕΚΔΔΑ).ΥπερΔιαύγεια
View more presentations from Vangelis Banos

Friday, March 30, 2012

Yperdiavgeia infinite scrolling για ταχύτερα αποτελέσματα

Η τεχνική του infinite scrolling είναι μια μέθοδος που επιταχύνει κατά πολύ την αναζήτηση και την πλοήγηση σε μια ιστοσελίδα με πολύ περιεχόμενο. Η ΥπερΔιαύγεια υποστηρίζει από σήμερα infinite scrolling, βελτιώνοντας κατά πολύ την ευχρηστία της και την ταχύτητα εξυπηρέτησης των χρηστών της.

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

Το infinite scrolling έχει πολλά πλεονεκτήματα σε σχέση με το παραδοσιακό pagination. Στην πρώτη περίπτωση ο χρήστης:
  1. κάνει scroll down στην λίστα των αποτελεσμάτων,
  2. φτάνει στο τέλος και ψάχνει με το ποντίκι να στοχεύσει το κουμπί για την επόμενη σελίδα,
  3. πατάει το κουμπί,
  4. περιμένει να φορτώσει η νέα σελίδα,
  5. κάνει και πάλι scroll down στην λίστα των αποτελεσμάτων.
Αντίθετα, στην περίπτωση του infinite scrolling ο χρήστης κάνει απλώς scrolling!

Ο κώδικας javascript που απαιτείται για αυτή την λειτουργία είναι ο εξής:

$(window).scroll(function () { 
   if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
      //Add something at the end of the page
   }
});

Όσον αφορά τον server, αυτό εξαρτάται από την εκάστοτε τεχνολογία της ιστοσελίδας.

Επιπλέον πληροφορίες για το infinite scrolling:


Friday, March 9, 2012

Περιγραφή περιστατικού διαφθοράς

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


Σύμφωνα με δημοσιεύματα [1], ο Πρόεδρος της Πανελλήνιας Ομοσπονδίας Εργαζομένων στις Δημόσιες Οικονομικές Υπηρεσίες (ΠΟΕ ΔΟΥ) [2], δηλαδή των εφοριακών υπαλλήλων, κος Χαράλαμπος Νικολακόπουλος κατέθεσε στην Εισαγγελία Αθηνών μήνυση εναντίον μου σχετικά με την αναφορά μου σε εκδήλωση με θέμα «Φοροδιαφυγή και Κοινωνική Δικαιοσύνη» για την ύπαρξη διαφθοράς στον φοροεισπρακτικό μηχανισμό. Είναι κρίμα που η ΠΟΕ ΔΟΥ, αντί να υιοθετήσει και να εφαρμόσει έναν αυστηρό κώδικα δεοντολογίας και ηθικής που να δεσμεύει όλα τα μέλη της και να απομονώσει έτσι τους (εύχομαι λίγους) επίορκους υπαλλήλους, προχωρά σε μηνύσεις κατά αυτών που μίλησαν για ένα πρόβλημα που γνωρίζει όλη η ελληνική κοινωνία. 

Μέσω αυτής της φόρμας συλλέγω στοιχεία για περιστατικά διαφθοράς που σχετίζονται με το φοροεισπρακτικό μηχανισμό προκειμένου να μπορέσω να υπερασπιστώ τον εαυτό μου.

Μπορείτε να καταχωρήσετε στοιχεία επώνυμα ή ανώνυμα, αλλά οι επώνυμες αναφορές είναι σίγουρα περισσότερο χρήσιμες. Ευχαριστώ προκαταβολικά για τη συμμετοχή σας. Διομήδης Σπινέλλης - http://www.spinellis.gr και https://twitter.com/#!/DSpinellis [1] http://m.capital.gr/News.aspx?id=1434092 [2] http://www.poedoy.gr/

Monday, February 20, 2012

greekspending.com

Ο κ. Χρήστος Τσίγκανος δημιούργησε μια θαυμάσια εφαρμογή με σκοπό την οπτικοποίηση των δεδομένων που αφορούν τις δαπάνες του Ελληνικού Κράτους.
http://www.greekspending.com

http://www.greekspending.com


Sunday, December 25, 2011

Σύγκριση JSON & XML Diavgeia API

To API ανοικτών δεδομένων της Δι@ύγειας δίνει την δυνατότητα ανάκτησης δεδομένων τόσο σε XML όσο και σε JSON format. Αρχικά, η ΥπερΔιαύγεια χρησιμοποιούσε XML αλλά σήμερα, αυτό άλλαξε σε JSON. Η αλλαγή αυτή έγινε για τους εξής δύο λόγους:

1. Το μέγεθος των αρχείων JSON είναι πολύ μικρότερο από τα αρχεία XML για τα ίδια δεδομένα. Το XML έχει πάρα πολύ overhead!


2. Το parsing και η επεξεργασία ενός αρχείου XML είναι πολύ πιο περίπλοκη και απαιτεί περισσότερα resources σε σχέση με το JSON. Ενδεικτικά αναφέρω ότι για να γίνει parse ένα diavgeia XML document ακολουθείται η εξής διαδικασία:

  1. XML Tidy parsing and repairing http://gr.php.net/manual/en/class.tidy.php
  2. XMLReader parsing  http://gr.php.net/XMLReader
  3. Creation of PHP object with all necessary information
  4. Insert into database
Αντίθετα, ένα diavgeia JSON document είναι πολύ πιο απλό στην επεξεργασία
  1. json_decode decodes a JSON string into a PHP object http://gr.php.net/json_decode
  2. Insert into database
Επιπλέον, το json_decode είναι native PHP function ενώ για το XML parsing χρησιμοποιούνται PHP extensions. Το τελικό αποτέλεσμα είναι τουλάχιστον 5 φορές γρηγορότερο με το 1/3 των απαιτήσεων σε resources με την χρήση JSON.

Επιπλεόν πληροφορίες:

Monday, December 19, 2011

"Χρυσός" για τις ευρωπαϊκές οικονομίες τα ανοικτά δεδομένα του δημοσίου τομέα

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