You are on page 1of 2

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

ΠΜΣ «Προηγμένα Συστήματα Πληροφορικής»

Ακαδ. έτος 2016-17 (χειμ. εξάμηνο)

ΔΙΑΧΕΙΡΙΣΗ ΔΕΔΟΜΕΝΩΝ
(1ο εξ.)

Συνδιδάσκοντες:
καθ. Γιάννης Θεοδωρίδης, επίκ. καθ. Νίκος Πελέκης, Δρ. Σοφία Καραγιώργου
<ytheod | npelekis | karagior @ unipi.gr>

Εργαστηριακός βοηθός:
Πέτρος Πέτρου <ppetrou @ unipi.gr>

ΕΡΓΑΣΙΑ ΜΑΘΗΜΑΤΟΣ
(ομάδες των 2-3 ατόμων)

Σκοπός της εργασίας είναι η εμβάθυνση σε θέματα διαχείρισης αδόμητων δεδομένων και πιο
συγκεκριμένα σε δεδομένα κειμένων. Έστω ότι έχουμε μια μεγάλη συλλογή από κείμενα
χωρισμένα σε κατηγορίες. Το σύνολο των δεδομένων αποτελείται από 20.000 κείμενα που
έχουν συγκεντρωθεί από 20 διαφορετικές κατηγορίες (κάθε κατηγορία περιέχει 1000
άρθρα). Κάθε κατηγορία είναι οργανωμένη σε ένα κατάλογο και κάθε άρθρο έχει
αποθηκευτεί ως ξεχωριστό αρχείο. Μπορείτε να κατεβάσετε τα δεδομένα από τον ακόλουθο
σύνδεσμο: https://goo.gl/YotBwm (ένα συμπιεσμένο αρχείο μεγέθους 26Μb). Με βάση όσα
έχουμε συναντήσει στο μάθημα και δοκιμάσει στο εργαστήριο, προσπαθήστε να απαντήσετε
στα ακόλουθα ερωτήματα:
(Σημείωση: Η υλοποίηση, ερωτήματα 2 και 3, μπορεί να γίνει είτε κεντρικοποιημένα
(standalone), είτε στη μηχανή Spark (MapReduce Programming Model) και η γλώσσα
υλοποίησης μπορεί να είναι ελεύθερης επιλογής (σας προτείνουμε να επιλέξετε ανάμεσα στις
ακόλουθες γλώσσες προγραμματισμού: Java, Scala, Python). Στην περίπτωση της
κεντρικοποιημένης λύσης άριστα είναι το -9- ενώ στην περίπτωση της κατανεμημένης λύσης
άριστα είναι το -10-.)
Ερώτημα 1: Μετασχηματισμός κειμένων σε διανυσματικό χώρο – βιβλιογραφική
επισκόπηση (2,5 μονάδες).
Μελετήστε τη σχετική βιβλιογραφία στο πεδίο του μετασχηματισμού κειμένων σε
διανυσματικό χώρο (text vectorization) και κάντε μία συνοπτική επισκόπηση (~ 5-10 σελίδες)
με τις πιο αντιπροσωπευτικές μεθόδους / αλγορίθμους που έχουν προταθεί τα τελευταία
χρόνια. Σε ποια κατεύθυνση αξιολογείτε ότι κινείται ο ερευνητικός χώρος σχετικά με την
αποδοτική αναπαράσταση μεγάλων κειμένων; Συνοψίστε παραθέτοντας επιγραμματικά τα
συμπεράσματά σας.
Ερώτημα 2: Μετασχηματισμός κειμένων σε διανυσματικό χώρο – υλοποίηση, είτε
κεντρικοποιημένη (3,5 μονάδες) είτε κατανεμημένη (4,5 μονάδες).
Σε αυτό το ερώτημα καλείστε να μετατρέψετε τα κείμενα της συλλογής του dataset που σας
δόθηκε σε διανύσματα (vectors), είτε με μία κεντρικοποιημένη υλοποίηση (σε γλώσσα
προγραμματισμού της επιλογής σας) είτε με μια κατανεμημένη υλοποίηση (στη μηχανή
Spark μέσω του προγραμματιστικού μοντέλου MapReduce). Η μέθοδος που θα
χρησιμοποιήσετε για τη δημιουργία του τελικού διανύσματος είναι η tf-idf.
(Υπόδειξη: θα χρειαστεί να εκτελέσετε τη μέθοδο wordcount σε κάθε κείμενο, κατόπιν τη
λειτουργία distinct στο αποτέλεσμα για τις λέξεις της συλλογής και τη λειτουργία count σε
κάθε όρο ώστε να προσδιορίσετε σε πόσα κείμενα βρίσκεται καθένας από αυτούς.)
Ερώτημα 3: Αναζήτηση με βάση την ομοιότητα - Text Similarity (3 μονάδες).
Σε αυτό το ερώτημα καλείστε να χρησιμοποιήσετε τα διανύσματα (vectors) του Ερωτήματος
2 και με χρήση της μετρικής ομοιότητας cosine similarity να υπολογίσετε για κάθε κείμενο
της συλλογής ποιο είναι το πιο όμοιό του (similarity join) – προσοχή: κάθε κείμενο πρέπει να
ταιριάξει με κάποιο άλλο, όχι με τον εαυτό του (με τον οποίο προφανώς έχει απόλυτη
ομοιότητα). Στη συνέχεια, αφού διαχωρίσετε τα κείμενα με βάση την κατηγορία τους,
επαναλάβετε την αναζήτηση του πιο όμοιου για κάθε κείμενο, μόνο όμως μεταξύ των
κειμένων της ίδιας κατηγορίας. Καταγράψτε αν υπάρχουν τυχόν διαφορές μεταξύ των δύο
αποτελεσμάτων.
(Υπόδειξη, για όσους έχουν επιλέξει κατανεμημένη υλοποίηση στο Ερώτημα 2: Το Spark
μοιράζει τυχαία τα δεδομένα (document vectors) στους workers, οπότε στο δεύτερο βήμα του
Ερωτήματος 3 πρέπει να το καθοδηγήσουμε ώστε τα κείμενα να μοιραστούν βάσει του
category id.)
Τόπος και χρόνος παράδοσης - Απορίες σχετικά με την εργασία - Ζητήματα
δεοντολογίας
Η αναλυτική αναφορά της εργασίας πρέπει να παραδοθεί εκτυπωμένη στη θυρίδα του κ.
Θεοδωρίδη (έξω από το γρ. 501) μέχρι τις 28/2/2017. Η εκτύπωση θα πρέπει να συνοδεύεται
από CD με τον σχετικό κώδικα της υλοποίησης που πραγματοποιήθηκε.
Για οποιαδήποτε απορία μπορείτε να απευθυνθείτε στον εργαστηριακό βοηθό.
Είναι προφανές ότι η βαθμολογία πρέπει να αντικατοπτρίζει το επίπεδο της γνώσης που
αποκόμισε ο φοιτητής μέσα από το μάθημα και κατάφερε να μεταφέρει αυτή τη γνώση στην
εργασία. Για να εξασφαλιστεί όσο είναι δυνατό η παραπάνω αρχή, (α) σε περίπτωση
αντιγραφής οι εμπλεκόμενες εργασίες μηδενίζονται, (β) σε περίπτωση αμφιβολίας για το
κατά πόσο η ομάδα που αναγράφεται ήταν εκείνη που ανέπτυξε την εργασία, ενδέχεται να
της ζητηθεί να την παρουσιάσει για τυχόν διευκρινίσεις.

You might also like