Καλησπέρα,
Θα ήθελα να ρωτήσω κάποια πράγματα για ορισμένα ερωτήματα στο Project.
Η πρώτη μου ερώτηση αφορά το φιλτράρισμα του θορύβου στα keywords. Αρχικά,
στο ερώτημα 2.4 που ψάχουμε τα πιο δημοφιλή keywords, αφού κάνω τα
απαραίτητα σπασίματα φιλτράρω τις λέξεις με το αρχείο english.stop που μας
είχατε δώσει στην αρχή καθώς και με μία λίστα βασικών "'άσεμνων" λέξεων που
βρήκα καθώς το ερώτημα έλεγε να φιλτράρουμε τα αποτελέσματα και για άσεμνες
λέξεις. Μετά απο αυτό βέβαια είδα στα top αποτελέσματα να υπάρχουν "λέξεις"
όπως το "-" ,το "&", το ".com" και το "www.". Σας πειράζει αυτό ή καλό θα
ήταν να φιλτραριστούν οι λέξεις και απο κάποια σύμβολα, για παράδειγμα τα
"!@#$%^&*()-_=+";
Στο συγκεκριμένο ερώτημα αυτό είναι εφικτό και σχετικά εύκολο όμως στο
ερώτημα 2.5.1 τα πράγματα είναι λιγότερα εύκολα και καθαρά. Θα σας δώσω ένα
παράδειγμα για να καταλάβεται που κολάω. Στους τίτλους της Wikipedia έχει
ένα τίτλο που έχει την εξής μορφή: !Alarma!_(album) . Με μία πρώτη ματιά
τα δύο keywords είναι το "alarma" και το "album" αλλά άμα χωρίσω τον τίτλο
σε λέξεις παίρνω τις "!Alarma!" και "(album)". Θα μπορούσα να καθαρίσω τις
λέξεις απο τα !/(/) patterns και να πάρω τις πραγματατικές λέξεις αλλά κατα
πόσο είναι σωστό αυτό, καθώς στο ερώτημα ζητάει ιστόγραμμα για όλα τα
keywords αλλά έχει και μία ομάδα για τα "~!@#$%^&*()_+{}|:”<>?[]\;’,./".
Οπότε προκύπτουν ερωτήσεις όπως οι παρακάτω.
Αφήνω τις λέξεις όπως έιναι και για παράδειγμα οι λέξεις "!Alarma!" και
(album)" πάνε στην κατηγορία "~!@#$%^&*()_+{}|:”<>?[]\;’,./" ; (το πιο
εύκολο αλλά δεν βγάζει πολύ λογική)
Τις φιλτράρω για να πάρω τα πραγματικά keywords κάνοντας την κατηγορία
"~!@#$%^&*()_+{}|:”<>?[]\;’,./" να μην έχει λόγο ύπαρξης;
Η κάνω χαμαλοδουλεία του στύλ χωρίζω το παραδειγμα μου σε κάτι τέτοιο: "!"
"Alarma" "!" "(" "album" ")" ;
Και αν το κάνω αυτό θεωρώ κάτι του στυλ "!?!?" μία λέξη που μπαίνει στην
κατηγορία "~!@#$%^&*()_+{}|:”<>?[]\;’,./" ή 4 "λέξεις" δύο "!" και δύο "?"
που μπαίνουν όλες στην κατηγορία "~!@#$%^&*()_+{}|:”<>?[]\;’,./" ; Το
πλήθος έχει σημασία καθώς προσπαθώ να βγάλω ποσοστό.
Η δέυτερη μου ερώτηση αφορά τα ερωτήματα 2.5.2 και κατα συνέπεια το 2.5.1.
Στο 2.5.1 λέτε να κάνουμε ιστόγραμμα σε όλο το input μας αλλα και σε κάποια
κομμάτια του για να είναι πιο γρήγορο. Για την ακρίβεια λέτε "αντί να
αφήσουμε τους mappers να επεξεργαστούν όλα τα δεδομένα, τους τερματίζουμε
μόλις έχουν επεξεργαστεί ένα x αριθμό από εγγραφές. Όσο το x μεγαλώνει,
τόσο μεγαλύτερη προσέγγιση έχουμε." . Οι mappers διαβάζουν το αρχείο
γραμμή-γραμμή οπότε ουσιαστικά αυτο που λέτε είναι ο κάθε mapper να
διαβάζει τις πρώτες x γραμμές απο το split που θα πάρει, σωστα ; Βέβαια
αυτό δεν είναι και πολύ σωστό sampling καθώς τα δεδομένα μας είναι με
αλφαβητική σειρά. Εκτός αν εγώ δεν κατάλαβα κάτι σωστά. Αυτό βέβαια πιστεύω
ότι θα δημιουργήσει πρόβλημα κυρίως στο 2.5.2 που λέτε ουσιαστικά να
χρησιμοποιήσουμε τον κώδικα του 2.5.1 αλλά με ένα reducer. Για να βγεί
"καλό" το partition file μαλλον θα πρέπει το sample να το παίρνουν από
τυχαία δεδομένα στο κάθε split (όπως κάνει αυτός στο παράδειγμα που έχετε
δώσει). Βέβαια αυτό χρονικά δεν θα είναι και τόσο κερδοφόρο καθώς θα
οδηγήσει στο να διαβάσουμε ουσιαστικα όλο το input οπότε δεν έχει τόσο
νόημα η χρονική σύγκριση στο 2.5.1.
Το ξέρω είναι αρκετά αυτά αλλά με οδηγούσαν στο το μην βγάζω λογικά
αποτελέσματα.