Περίληψη: | Τα τελευταία χρόνια, έχει αυξηθεί δραματικά η ανάγκη για κατανόηση και εκμετάλλευση της διαθέσιμης πληροφορίας. Η Μηχανική Μάθηση (ML) κατέχει πρωταρχικό ρόλο στην προσπάθεια αυτή, ειδικότερα ο ολοένα και αναπτυσσόμενος κλάδος της Επεξεργασίας Φυσικής Γλώσσας (NLP). Μία από τις πιο καινοτόμες τεχνικές NLP αποτελεί το Word2Vec, μία τεχνική μάθησης χωρίς επίβλεψη, η οποία αναπτύχθηκε από τον Tomas Mikolov και άλλους ερευνητές της Google το 2013. Πρόκειται για μια τεχνική Word Embedding που είναι ικανή να βρίσκει ομοιότητες μεταξύ των λέξεων χρησιμοποιώντας τη μέτρηση ομοιότητας του συνημίτονου (cosine similarity), με ευρεία γκάμα εφαρμογών, από ταξινόμηση κειμένων μέχρι έξυπνες συστάσεις, εξαγωγή γνωστικών συμπερασμάτων και γενικότερα ό,τι έχει να κάνει με σημασιολογική συσχέτιση φυσικής γλώσσας. Τέλος, συχνή είναι πλέον και η ανάγκη να υλοποιούνται αυτές οι τεχνικές σε Ενσωματωμένα Συστήματα ειδικού σκοπού, καθώς τα προτερήματα χρήσης τους υπερτερούν κατά πολύ τις δυσκολίες υλοποίησής τους.
Στην παρούσα διπλωματική εργασία, εξετάζεται η λύση σε ένα πρόβλημα NLP, που αφορά τη στατιστική ανάλυση κειμένων στην αγγλική γλώσσα, και ύστερα η υλοποίηση της σε ένα Ενσωματωμένο Σύστημα με ARM επεξεργαστή. Για το σκοπό αυτό, αρχικά υλοποιήθηκε μια αυτοματοποιημένη διαδικασία σε γλώσσα προγραμματισμού Python, για την εισαγωγή των δεδομένων, την επεξεργασία τους λέξη-προς-λέξη, την εξαγωγή και οπτικοποίηση των στατιστικών και την εφαρμογή του προ-εκπαιδευμένου Google Word2Vec λεξικού. Ακολουθεί η υλοποίηση της λύσης στη γλώσσα C, ύστερα σε SystemC και τέλος σε Scripting μορφή, ώστε η σχεδίαση να εφαρμοσθεί στο Ενσωματωμένο Σύστημα Zynq 7000 SoC και συγκεκριμένα στους ARM επεξεργαστές αυτού. Τέλος, κάθε στάδιο της υλοποίησης χρονομετρείται σε κάθε διαθέσιμο σύστημα και γίνεται σύγκριση και εξαγωγή συμπερασμάτων επί της εφαρμογής αυτής, παρατηρώντας πως με συγκεκριμένες βελτιώσεις η παραπάνω υλοποίηση μπορεί να επιταχυνθεί σημαντικά.
|