SlideShare a Scribd company logo
1 of 35
Σημασιολογική Ανάλυση Κώδικα από Διαδικτυακές Πηγές με
Σκοπό την Επαναχρησιμοποίηση Λογισμικού
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Οικονόμου Νικόλαος (Α.Ε.Μ. 7742)
Επιβλέπων: Ανδρέας Συμεωνίδης, Καθηγητής
Συνεπιβλέπων: Θεμιστοκλής Διαμαντόπουλος, Υποψήφιος Διδάκτορας
Θεσσαλονίκη, 2 Ιουλίου 2018
Δομή Παρουσίασης
• Εισαγωγή
• Δομή/Υλοποίηση Συστήματος
• Αξιολόγηση Συστήματος
• Συμπεράσματα & Μελλοντική Εργασία
• Επίδειξη Συστήματος (Video Demo)
• Ερωτήσεις
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 2/35
Σκοπός της Διπλωματικής
• Τα σημερινά έργα λογισμικού είναι πολύπλοκα και μεγάλα σε μέγεθος
• Πλήθος επιλογών (APIs, βιβλιοθήκες, frameworks, πλατφόρμες κ.λπ.)
• Ελλιπής ή δυσκολονόητη τεκμηρίωση
Πρόβλημα: Δαπάνη χρόνου για την αναζήτηση και την κατανόηση χρήσιμων παραδειγμάτων κώδικα
χρησιμοποιώντας τις συμβατικές μηχανές αναζήτησης.
Σκοπός Διπλωματικής: Αυτοματοποίηση της διαδικασίας ανεύρεσης παραδειγμάτων κώδικα για ερωτήματα
του προγραμματιστή, με τη χρήση ενός Συστήματος Προτάσεων στην Τεχνολογία Λογισμικού
(Recommendation System in Software Engineering ή RSSE)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 3/35
RSSEs στη Βιβλιογραφία
Αδυναμίες υπαρχόντων συστημάτων
• Δε δέχονται ερωτήματα σε φυσική γλώσσα (περίπλοκη δομή ερωτημάτων)
• Δε γίνεται εκμετάλλευση της διαθέσιμης πληροφορίας (κείμενο που συνοδεύει τμήματα κώδικα)
• Αδύναμοι μηχανισμοί κατάταξης
• Δεν προτείνονται έτοιμα τμήματα κώδικα (ακολουθίες APIs, συμπλήρωση κώδικα κ.λπ.)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 4/35
Αρχιτεκτονική του Συστήματος
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 5/35
Code Parser & Database Builder
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 6/35
Code Parser
Δυνατότητες του parser
• Επικύρωση συντακτικής ορθότητας
• Εξαγωγή ακολουθίας στοιχείων
(imports, comments, αντικείμενα,
κλήσεις μεθόδων κ.λπ.)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 7/35
Database Builder – Μορφή Βάσης Δεδομένων
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 8/35
Επιπλέον Στοιχεία
• Τμήματα κώδικα (Snippets)
• Αριθμός τμημάτων κώδικα (SnippetCount)
• Ονόματα Οντοτήτων (NamedEntities)
Database Builder – Εξαγωγή Ονομάτων Οντοτήτων
Ταξινομητής CRF (Conditional Random Fields)
Χαρακτηριστικά όρων
• Ορθογραφικά (π.χ. προθέματα, καταλήξεις, ύπαρξη τελείας ή κάτω παύλας, κεφαλαίος πρώτος χαρακτήρας)
• Χαρακτηριστικά Αναπαραστάσεων (π.χ. ομάδα Brown, ομάδα K-Means βάσει διανύσματος)
Εξαγόμενες οντότητες
• APIs (π.χ. toString(), ArrayList)
• Platforms (π.χ. Android, Ubuntu, Windows)
• Tools-Frameworks (π.χ. Maven, Weka, JProfiler)
• Software Standards (π.χ. JSON, TCP, JDBC, jar)
• Programming Languages (π.χ. Java, C#)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 9/35
Αρχιτεκτονική του Συστήματος – Corpus Builder
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 10/35
Corpus Builder – Μορφή Αναρτήσεων (Posts)
• Μετατροπή html μορφής σε κείμενο
• Εξαγωγή ακολουθιών από τα τμήματα κώδικα
• Αξιολόγηση και επιλογή ποιοτικών αναρτήσεων
• Τελική επεξεργασία κειμένου
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 11/35
Corpus Builder – Επιλογή Αναρτήσεων
LSTM Ταξινομητής για αναρτήσεις με θόρυβο:
• 1 layer LSTM
• 1 layer CNN
• Εκπαίδευση σε 2500 κατηγοριοποιημένα post
• Accuracy > 92% στο σετ δεδομένων
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 12/35
Μετρικές χρήσιμων αναρτήσεων:
• Μέγεθος γραμμής < 1000 χαρακτήρες
• Λόγος
# 𝜆𝜀𝜉𝜀𝜔𝜈
# 𝜎𝜂𝜇𝜀𝜄𝜔𝜈 𝜎𝜏𝜄𝜉𝜂𝜍
> 1.6
1η Παρατήρηση
Αναρτήσεις με μεγάλο αριθμό σημείων στίξης περιέχουν
μη χρήσιμες πληροφορίες.
2η Παρατήρηση
Αναρτήσεις με debug logs και κώδικα σε άλλες γλώσσες
(html, javascript κ.λπ.) αποτελούν θόρυβο για το corpus
εκπαίδευσης.
Corpus Builder – Επεξεργασία Κειμένου
Κατακερματισμός κειμένου με custom
tokenizer
• Διατήρηση όρων API
• Διατήρηση τελεστών της Java (π.χ. ==, !=, >=)
• Αφαίρεση σημείων στίξης
• Αφαίρεση συμβόλων, αριθμών και URLs
Κανονικοποίηση όρων κειμένου
• Ανάπτυξη συντομογραφιών
• Αντικατάσταση αριθμών με λέξεις
Στόχοι
• Ομοιομορφία κειμένου
• Μείωση του συνόλου των όρων (λεξικό όρων)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 13/35
Original Tokenized Normalized
10 10 ten
don’t do n’t do not
that’s that ‘s that is
U.K. U.K. U.K.
properties/fields properties / fields properties fields
Java/C++ Java / C++ Java C++
(active) ( active ) active
java.io* java.io java.io
System.out.println() System.out.println System.out.println
Corpus Builder – Χρήση RegEx
Χρήση κανονικών εκφράσεων για την τελική επεξεργασία του κειμένου
• Αφαίρεση σημείων στίξης που έχουν μείνει
• Αφαίρεση κοινότυπων Java stack traces ή debug logs
• Αφαίρεση μεγάλων ονομάτων πακέτων ή άλλων string
• Συμπίεση κενών χαρακτήρων
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 14/35
Word Embeddings Builder
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 15/35
Word Embeddings Builder
Γνωστά Μοντέλα Διανυσματικού Χώρου (Vector Space Models)
• TF-IDF
• Αραιά διανύσματα
• Χρήση συχνότητας των όρων για τον υπολογισμό βαρών των όρων
• Word2vec
• Ρηχό νευρωνικό δίκτυο
• Πυκνά διανύσματα n διαστάσεων
• FastText
• Επέκταση του word2vec
• Χρήση character n-grams (model ⇨ ‘<mo’, ‘mod’, ‘mode’, ‘model’, ‘odel’, ‘del’, el>’)
• Πυκνά διανύσματα n διαστάσεων
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 16/35
Index Builder
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 17/35
Index Builder – Πίνακας Διανυσματικών Αναπαραστάσεων των Αναρτήσεων
Περιγραφή των αναρτήσεων (posts) με τρεις αναπαραστάσεις
• Διανύσματα των τίτλων (TitleVectors)
• Διανύσματα των σωμάτων (BodyVectors)
• Διανύσματα των ακολουθιών των tags (TagVectors)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 18/35
Index Builder – Ευρετήριο Μεταδεδομένων των Αναρτήσεων
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 19/35
• Μορφή JSON
• Πληροφορίες ανάρτησης
• Σχετικές οντότητες
• Τμήματα κώδικα
Search Engine & Presentation
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 20/35
Search Engine – Ερώτημα
• Διατύπωση ερωτήματος σε φυσική γλώσσα
• Αφαίρεση σημείων στίξης
• Κανονικοποίηση ερωτήματος (όπως πριν)
• Δημιουργία διανυσματικής αναπαράστασης ερωτήματος (FastText ή TF-IDF)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 21/35
Search Engine – Μηχανισμός Κατάταξης
Σενάριο μεμονομένου μοντέλου (FastText ή TF-IDF)
• Κατάταξη με βάση την ομοιότητα συνημιτόνου
• Σύγκριση διανυσμάτων ερωτήματος και αναρτήσεων (Πίνακα Διανυσματικών Αναπαραστάσεων)
• Κάθε ανάρτηση έχει τρεις διανυσματικές αναπαραστάσεις (Τίτλος, Σώμα, Tags)
• Υπολογισμός ομοιοτήτων ως:
𝑠𝑖𝑚(𝑞, 𝑑) =
𝑖=1
3
𝑤𝑖 𝑐𝑜𝑠𝑠𝑖𝑚(𝑄, 𝑓𝑖)
Σενάριο υβριδικού μοντέλου (FastText και TF-IDF)
• Συνδυασμός ομοιοτήτων των επιμέρους μοντέλων (FastText, TF-IDF)
• Υπολογισμός ομοιοτήτων ως:
ℎ𝑦𝑏𝑟𝑖𝑑_𝑠𝑖𝑚(𝑞, 𝑑) = 𝑤𝑓𝑡 · 𝑓𝑡_𝑠𝑖𝑚(𝑞, 𝑑) + 𝑤𝑡𝑓𝑖𝑑𝑓 · 𝑡𝑓𝑖𝑑𝑓_𝑠𝑖𝑚(𝑞, 𝑑)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 22/35
Search Engine – Presenter
• Διεπαφή τύπου Command Line Input (CLI)
• Παρουσίαση των παραδειγμάτων κώδικα μέσω της διεπαφής
• Παρουσίαση επιπλέον πληροφοριών από τον πίνακα μεταδεδομένων
• σύνδεσμος της ανάρτησης-απάντησης (απ’ όπου έγινε η εξαγωγή του κώδικα)
• τίτλος της ανάρτησης-ερώτησης
• βαθμολογία της ανάρτησης
• οντότητες που περιγράφουν το ερώτημα
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 23/35
Αξιολόγηση Συστήματος – Πείραμα 1ο
• Συλλογή ρεαλιστικών ερωτημάτων για την
εκτέλεση του πρώτου πειράματος
• Χρήση ερωτημάτων ίδιου περιεχομένου με
διαφορετική διατύπωση
• Ομαδοποίηση ερωτημάτων βάσει περιεχομένου
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 24/35
Index Query Group
1 How to read a comma separated file? 1
2 How to read a CSV file? 1
3 How to read a delimited file? 1
4 How to read input from console? 2
5 How to read input from terminal? 2
6 How to read input from command prompt? 2
7 How to play an mp3 file? 3
8 How to play an audio file? 3
9 How to compare dates? 4
10 How to compare time strings? 4
11 How to dynamically load a class? 5
12 How to load a jar/class at runtime? 5
13 How to calculate checksums for files? 6
14 How to calculate MD5 checksum for files? 6
15 How to iterate through a hashmap? 7
16 How to loop over a hashmap? 7
17 How to split a string? 8
18 How to handle an exception? 9
Πείραμα 1ο – Ποιοτική Αξιολόγηση
• Μετρικές όπως το precision και το recall δεν είναι εύκολα εφαρμόσιμες.
• Θέλουμε να λαμβάνεται υπόψιν και η σειρά με την οποία εμφανίζονται τα χρήσιμα αποτελέσματα.
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 25/35
Average Precision
Το Average Precision ισούται με:
𝐴𝑣𝑒𝑃 =
0
1
𝑝(𝑟)𝑑𝑟 =
𝑘=1
𝑛
𝑃(𝑘)𝛥𝑟(𝑘) =
𝑘=1
𝑛
(𝑃(𝑘) · 𝑟𝑒𝑙(𝑘))
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠
Mean Average Precision
Αν Q το πλήθος των ερωτημάτων, τότε το Mean Average Precision ισούται με:
𝑀𝐴𝑃 =
𝑞=1
𝑄
𝐴𝑣𝑒𝑃(𝑞)
𝑄
Mean Search Length
Ως μήκος αναζήτησης SL ορίζεται το πλήθος των μη σχετικών αποτελεσμάτων που εμφανίζονται στο χρήστη μέχρι να
εμφανιστούν N σχετικά.
Για ένα πλήθος ερωτημάτων Q το μέσο μήκος αναζήτησης MSL ισούται με:
𝑀𝑆𝐿 =
𝑞=1
𝑄
𝑆𝐿(𝑞)
𝑄
Πείραμα 1ο – Average Precision
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 26/35
Πείραμα 1ο – Mean Average Precision (MAP)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 27/35
Πείραμα 1ο – Mean Search Length (MSL)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 28/35
Πείραμα 2ο – Ποσοτική Αξιολόγηση με PostLinks
PostLinks ή Σύνδεσμοι Αναρτήσεων
• Ζεύγη αναγνωριστικών αναρτήσεων (PostId – PostId)
• Τύπος PostLink (συνδεδεμένη ή διπλότυπη ανάρτηση)
• Τα PostLinks υποδεικνύουν σχετικές αναρτήσεις
Βήματα Πειράματος
1. Περιορισμός του σετ δεδομένων
• Αναρτήσεις με τουλάχιστον ένα snippet
• Αναρτήσεις με σκορ > -3
• Αναρτήσεις με AcceptedAnswer
2. Χρήση των τίτλων σαν ερωτήματα
3. Για κάθε ερώτημα/τίτλο γίνεται λήψη των πρώτων 20 αποτελεσμάτων από το σύστημα
4. Για κάθε ερώτημα/τίτλο γίνεται σχηματισμός όλων των ζευγών αναγνωριστικών (ερώτημα – αποτέλεσμα)
5. Υπολογισμός ποσοστού των ζευγών που βρίσκονται στη λίστα των PostLinks
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 28/35
Πείραμα 2ο – PostLinks
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 30/35
Συμπεράσματα
• Εξοικονόμηση χρόνου χρησιμοποιώντας το RSSE και παρουσιάζοντας παραδείγματα
κώδικα με ορθή σύνταξη
• Η καλή προεπεξεργασία του κειμένου παράγει ποιοτικότερα μοντέλα διανυσματικού
χώρου (VSMs)
• Η χρήση του μοντέλου FastText εξάγει χρήσιμη σημασιολογική πληροφορία
• Ο συνδυασμός των δύο μοντέλων (TF-IDF, FastText) καταφέρνει καλύτερα αποτελέσματα
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 31/35
Μελλοντική Εργασία
• Γραφικό Περιβάλλον (GUI) σε ιστοσελίδα
• Ρύθμιση βαρών του μηχανισμού κατάταξης
• Συμπίεση ευρετηρίων/πινάκων αναζήτησης διανυσμάτων
• Υποστήριξη και άλλων γλωσσών προγραμματισμού (C/C++, Python, Scala)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 32/35
Παρουσίαση Συστήματος (Video Demo)
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 33/35
Ευχαριστίες
Οφείλω ένα μεγάλο ευχαριστώ:
• στον κ. Ανδρέα Συμεωνίδη για την ευκαιρία που μου έδωσε να ασχοληθώ με
το αντικείμενο της διπλωματικής.
• στο Θέμη Διαμαντόπουλο για τη συνεχή στήριξη και καθοδήγηση που μου
παρείχε.
• σε εσάς για την προσοχή σας.
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 34/35
Ερωτήσεις
Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 35/35

More Related Content

Similar to Nikolaos Oikonomou

Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419ISSEL
 
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Manos Tsardoulias
 
Evangelos papathomas diploma thesis presentation
Evangelos papathomas diploma thesis presentationEvangelos papathomas diploma thesis presentation
Evangelos papathomas diploma thesis presentationISSEL
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...Nikolaos Konstantinou
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...ISSEL
 
Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...ISSEL
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Γεώργιος Κορδοπάτης-Ζήλος
Γεώργιος Κορδοπάτης-ΖήλοςΓεώργιος Κορδοπάτης-Ζήλος
Γεώργιος Κορδοπάτης-ΖήλοςISSEL
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis LoiasISSEL
 
Οικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – ΧρήστοςΟικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – ΧρήστοςISSEL
 
Ifigeneia Theodoridou
Ifigeneia TheodoridouIfigeneia Theodoridou
Ifigeneia TheodoridouISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Σωτήρης Μπέης
Σωτήρης ΜπέηςΣωτήρης Μπέης
Σωτήρης ΜπέηςISSEL
 
Big Data with Apache Spark and Graphx
Big Data with Apache Spark and GraphxBig Data with Apache Spark and Graphx
Big Data with Apache Spark and GraphxGeorge Sidiras
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλISSEL
 

Similar to Nikolaos Oikonomou (20)

Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
 
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
 
Evangelos papathomas diploma thesis presentation
Evangelos papathomas diploma thesis presentationEvangelos papathomas diploma thesis presentation
Evangelos papathomas diploma thesis presentation
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
 
Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Γεώργιος Κορδοπάτης-Ζήλος
Γεώργιος Κορδοπάτης-ΖήλοςΓεώργιος Κορδοπάτης-Ζήλος
Γεώργιος Κορδοπάτης-Ζήλος
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis Loias
 
Παρουσίαση
ΠαρουσίασηΠαρουσίαση
Παρουσίαση
 
Παρουσίαση
ΠαρουσίασηΠαρουσίαση
Παρουσίαση
 
Οικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – ΧρήστοςΟικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – Χρήστος
 
Ifigeneia Theodoridou
Ifigeneia TheodoridouIfigeneia Theodoridou
Ifigeneia Theodoridou
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Σωτήρης Μπέης
Σωτήρης ΜπέηςΣωτήρης Μπέης
Σωτήρης Μπέης
 
Big Data with Apache Spark and Graphx
Big Data with Apache Spark and GraphxBig Data with Apache Spark and Graphx
Big Data with Apache Spark and Graphx
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ Παπαμιχαήλ
 

More from ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 

More from ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 

Recently uploaded

ETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptx
ETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptxETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptx
ETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptxMertxu Ovejas
 
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptxΜοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx36dimperist
 
Οι στόχοι των παιδιών
Οι στόχοι των                       παιδιώνΟι στόχοι των                       παιδιών
Οι στόχοι των παιδιώνDimitra Mylonaki
 
Παρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας Άρτας
Παρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας ΆρταςΠαρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας Άρτας
Παρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας Άρταςsdeartas
 
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων -  Βυζαντινή ΑυτοκρατορίαΗ Δυναστεία των Παλαιολόγων -  Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορίαeucharis
 
Η κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - Πέννα
Η κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - ΠένναΗ κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - Πέννα
Η κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - ΠένναΣάσα Καραγιαννίδου - Πέννα
 
Το άγαλμα που κρύωνε
Το άγαλμα που                       κρύωνεΤο άγαλμα που                       κρύωνε
Το άγαλμα που κρύωνεDimitra Mylonaki
 
Δημιουργία εφημερίδας .pdf
Δημιουργία εφημερίδας                       .pdfΔημιουργία εφημερίδας                       .pdf
Δημιουργία εφημερίδας .pdfDimitra Mylonaki
 
ΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITYΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITYΜαρία Διακογιώργη
 
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...Irini Panagiotaki
 
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docxΕνσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docxMichail Desperes
 
Εκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptx
Εκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptxΕκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptx
Εκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptx36dimperist
 
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίεςΕπιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίεςΜαρία Διακογιώργη
 
Σχολικός εκφοβισμός
Σχολικός                             εκφοβισμόςΣχολικός                             εκφοβισμός
Σχολικός εκφοβισμόςDimitra Mylonaki
 
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdfΟδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdfIrini Panagiotaki
 
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptxΕκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx7gymnasiokavalas
 
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHROUT Family
 
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptxΞενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptxDimitraKarabali
 
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥΜαρία Διακογιώργη
 
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docxΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docxAreti Arvithi
 

Recently uploaded (20)

ETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptx
ETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptxETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptx
ETIMOLOGÍA : EL NOMBRES DE LOS COLORES/ ΤΑ ΧΡΩΜΑΤΑ.pptx
 
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptxΜοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
 
Οι στόχοι των παιδιών
Οι στόχοι των                       παιδιώνΟι στόχοι των                       παιδιών
Οι στόχοι των παιδιών
 
Παρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας Άρτας
Παρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας ΆρταςΠαρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας Άρτας
Παρουσίαση ομάδας ECOMOBILITY Σχολείου Δεύτερης Ευκαιρίας Άρτας
 
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων -  Βυζαντινή ΑυτοκρατορίαΗ Δυναστεία των Παλαιολόγων -  Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορία
 
Η κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - Πέννα
Η κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - ΠένναΗ κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - Πέννα
Η κυρία Αλφαβήτα και τα παιδιά της. Της Σάσας Καραγιαννίδου - Πέννα
 
Το άγαλμα που κρύωνε
Το άγαλμα που                       κρύωνεΤο άγαλμα που                       κρύωνε
Το άγαλμα που κρύωνε
 
Δημιουργία εφημερίδας .pdf
Δημιουργία εφημερίδας                       .pdfΔημιουργία εφημερίδας                       .pdf
Δημιουργία εφημερίδας .pdf
 
ΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITYΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΤΑ ΚΕΙΜΕΝΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
 
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
 
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docxΕνσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
 
Εκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptx
Εκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptxΕκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptx
Εκπαιδευτική Επίσκεψη στην Πάρνηθα ΑΠΡΙΛΙΟΣ 2024.pptx
 
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίεςΕπιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
 
Σχολικός εκφοβισμός
Σχολικός                             εκφοβισμόςΣχολικός                             εκφοβισμός
Σχολικός εκφοβισμός
 
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdfΟδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
 
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptxΕκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
 
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
 
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptxΞενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
 
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
 
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docxΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
 

Nikolaos Oikonomou

  • 1. Σημασιολογική Ανάλυση Κώδικα από Διαδικτυακές Πηγές με Σκοπό την Επαναχρησιμοποίηση Λογισμικού Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Οικονόμου Νικόλαος (Α.Ε.Μ. 7742) Επιβλέπων: Ανδρέας Συμεωνίδης, Καθηγητής Συνεπιβλέπων: Θεμιστοκλής Διαμαντόπουλος, Υποψήφιος Διδάκτορας Θεσσαλονίκη, 2 Ιουλίου 2018
  • 2. Δομή Παρουσίασης • Εισαγωγή • Δομή/Υλοποίηση Συστήματος • Αξιολόγηση Συστήματος • Συμπεράσματα & Μελλοντική Εργασία • Επίδειξη Συστήματος (Video Demo) • Ερωτήσεις Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 2/35
  • 3. Σκοπός της Διπλωματικής • Τα σημερινά έργα λογισμικού είναι πολύπλοκα και μεγάλα σε μέγεθος • Πλήθος επιλογών (APIs, βιβλιοθήκες, frameworks, πλατφόρμες κ.λπ.) • Ελλιπής ή δυσκολονόητη τεκμηρίωση Πρόβλημα: Δαπάνη χρόνου για την αναζήτηση και την κατανόηση χρήσιμων παραδειγμάτων κώδικα χρησιμοποιώντας τις συμβατικές μηχανές αναζήτησης. Σκοπός Διπλωματικής: Αυτοματοποίηση της διαδικασίας ανεύρεσης παραδειγμάτων κώδικα για ερωτήματα του προγραμματιστή, με τη χρήση ενός Συστήματος Προτάσεων στην Τεχνολογία Λογισμικού (Recommendation System in Software Engineering ή RSSE) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 3/35
  • 4. RSSEs στη Βιβλιογραφία Αδυναμίες υπαρχόντων συστημάτων • Δε δέχονται ερωτήματα σε φυσική γλώσσα (περίπλοκη δομή ερωτημάτων) • Δε γίνεται εκμετάλλευση της διαθέσιμης πληροφορίας (κείμενο που συνοδεύει τμήματα κώδικα) • Αδύναμοι μηχανισμοί κατάταξης • Δεν προτείνονται έτοιμα τμήματα κώδικα (ακολουθίες APIs, συμπλήρωση κώδικα κ.λπ.) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 4/35
  • 6. Code Parser & Database Builder Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 6/35
  • 7. Code Parser Δυνατότητες του parser • Επικύρωση συντακτικής ορθότητας • Εξαγωγή ακολουθίας στοιχείων (imports, comments, αντικείμενα, κλήσεις μεθόδων κ.λπ.) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 7/35
  • 8. Database Builder – Μορφή Βάσης Δεδομένων Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 8/35 Επιπλέον Στοιχεία • Τμήματα κώδικα (Snippets) • Αριθμός τμημάτων κώδικα (SnippetCount) • Ονόματα Οντοτήτων (NamedEntities)
  • 9. Database Builder – Εξαγωγή Ονομάτων Οντοτήτων Ταξινομητής CRF (Conditional Random Fields) Χαρακτηριστικά όρων • Ορθογραφικά (π.χ. προθέματα, καταλήξεις, ύπαρξη τελείας ή κάτω παύλας, κεφαλαίος πρώτος χαρακτήρας) • Χαρακτηριστικά Αναπαραστάσεων (π.χ. ομάδα Brown, ομάδα K-Means βάσει διανύσματος) Εξαγόμενες οντότητες • APIs (π.χ. toString(), ArrayList) • Platforms (π.χ. Android, Ubuntu, Windows) • Tools-Frameworks (π.χ. Maven, Weka, JProfiler) • Software Standards (π.χ. JSON, TCP, JDBC, jar) • Programming Languages (π.χ. Java, C#) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 9/35
  • 10. Αρχιτεκτονική του Συστήματος – Corpus Builder Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 10/35
  • 11. Corpus Builder – Μορφή Αναρτήσεων (Posts) • Μετατροπή html μορφής σε κείμενο • Εξαγωγή ακολουθιών από τα τμήματα κώδικα • Αξιολόγηση και επιλογή ποιοτικών αναρτήσεων • Τελική επεξεργασία κειμένου Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 11/35
  • 12. Corpus Builder – Επιλογή Αναρτήσεων LSTM Ταξινομητής για αναρτήσεις με θόρυβο: • 1 layer LSTM • 1 layer CNN • Εκπαίδευση σε 2500 κατηγοριοποιημένα post • Accuracy > 92% στο σετ δεδομένων Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 12/35 Μετρικές χρήσιμων αναρτήσεων: • Μέγεθος γραμμής < 1000 χαρακτήρες • Λόγος # 𝜆𝜀𝜉𝜀𝜔𝜈 # 𝜎𝜂𝜇𝜀𝜄𝜔𝜈 𝜎𝜏𝜄𝜉𝜂𝜍 > 1.6 1η Παρατήρηση Αναρτήσεις με μεγάλο αριθμό σημείων στίξης περιέχουν μη χρήσιμες πληροφορίες. 2η Παρατήρηση Αναρτήσεις με debug logs και κώδικα σε άλλες γλώσσες (html, javascript κ.λπ.) αποτελούν θόρυβο για το corpus εκπαίδευσης.
  • 13. Corpus Builder – Επεξεργασία Κειμένου Κατακερματισμός κειμένου με custom tokenizer • Διατήρηση όρων API • Διατήρηση τελεστών της Java (π.χ. ==, !=, >=) • Αφαίρεση σημείων στίξης • Αφαίρεση συμβόλων, αριθμών και URLs Κανονικοποίηση όρων κειμένου • Ανάπτυξη συντομογραφιών • Αντικατάσταση αριθμών με λέξεις Στόχοι • Ομοιομορφία κειμένου • Μείωση του συνόλου των όρων (λεξικό όρων) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 13/35 Original Tokenized Normalized 10 10 ten don’t do n’t do not that’s that ‘s that is U.K. U.K. U.K. properties/fields properties / fields properties fields Java/C++ Java / C++ Java C++ (active) ( active ) active java.io* java.io java.io System.out.println() System.out.println System.out.println
  • 14. Corpus Builder – Χρήση RegEx Χρήση κανονικών εκφράσεων για την τελική επεξεργασία του κειμένου • Αφαίρεση σημείων στίξης που έχουν μείνει • Αφαίρεση κοινότυπων Java stack traces ή debug logs • Αφαίρεση μεγάλων ονομάτων πακέτων ή άλλων string • Συμπίεση κενών χαρακτήρων Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 14/35
  • 15. Word Embeddings Builder Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 15/35
  • 16. Word Embeddings Builder Γνωστά Μοντέλα Διανυσματικού Χώρου (Vector Space Models) • TF-IDF • Αραιά διανύσματα • Χρήση συχνότητας των όρων για τον υπολογισμό βαρών των όρων • Word2vec • Ρηχό νευρωνικό δίκτυο • Πυκνά διανύσματα n διαστάσεων • FastText • Επέκταση του word2vec • Χρήση character n-grams (model ⇨ ‘<mo’, ‘mod’, ‘mode’, ‘model’, ‘odel’, ‘del’, el>’) • Πυκνά διανύσματα n διαστάσεων Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 16/35
  • 18. Index Builder – Πίνακας Διανυσματικών Αναπαραστάσεων των Αναρτήσεων Περιγραφή των αναρτήσεων (posts) με τρεις αναπαραστάσεις • Διανύσματα των τίτλων (TitleVectors) • Διανύσματα των σωμάτων (BodyVectors) • Διανύσματα των ακολουθιών των tags (TagVectors) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 18/35
  • 19. Index Builder – Ευρετήριο Μεταδεδομένων των Αναρτήσεων Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 19/35 • Μορφή JSON • Πληροφορίες ανάρτησης • Σχετικές οντότητες • Τμήματα κώδικα
  • 20. Search Engine & Presentation Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 20/35
  • 21. Search Engine – Ερώτημα • Διατύπωση ερωτήματος σε φυσική γλώσσα • Αφαίρεση σημείων στίξης • Κανονικοποίηση ερωτήματος (όπως πριν) • Δημιουργία διανυσματικής αναπαράστασης ερωτήματος (FastText ή TF-IDF) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 21/35
  • 22. Search Engine – Μηχανισμός Κατάταξης Σενάριο μεμονομένου μοντέλου (FastText ή TF-IDF) • Κατάταξη με βάση την ομοιότητα συνημιτόνου • Σύγκριση διανυσμάτων ερωτήματος και αναρτήσεων (Πίνακα Διανυσματικών Αναπαραστάσεων) • Κάθε ανάρτηση έχει τρεις διανυσματικές αναπαραστάσεις (Τίτλος, Σώμα, Tags) • Υπολογισμός ομοιοτήτων ως: 𝑠𝑖𝑚(𝑞, 𝑑) = 𝑖=1 3 𝑤𝑖 𝑐𝑜𝑠𝑠𝑖𝑚(𝑄, 𝑓𝑖) Σενάριο υβριδικού μοντέλου (FastText και TF-IDF) • Συνδυασμός ομοιοτήτων των επιμέρους μοντέλων (FastText, TF-IDF) • Υπολογισμός ομοιοτήτων ως: ℎ𝑦𝑏𝑟𝑖𝑑_𝑠𝑖𝑚(𝑞, 𝑑) = 𝑤𝑓𝑡 · 𝑓𝑡_𝑠𝑖𝑚(𝑞, 𝑑) + 𝑤𝑡𝑓𝑖𝑑𝑓 · 𝑡𝑓𝑖𝑑𝑓_𝑠𝑖𝑚(𝑞, 𝑑) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 22/35
  • 23. Search Engine – Presenter • Διεπαφή τύπου Command Line Input (CLI) • Παρουσίαση των παραδειγμάτων κώδικα μέσω της διεπαφής • Παρουσίαση επιπλέον πληροφοριών από τον πίνακα μεταδεδομένων • σύνδεσμος της ανάρτησης-απάντησης (απ’ όπου έγινε η εξαγωγή του κώδικα) • τίτλος της ανάρτησης-ερώτησης • βαθμολογία της ανάρτησης • οντότητες που περιγράφουν το ερώτημα Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 23/35
  • 24. Αξιολόγηση Συστήματος – Πείραμα 1ο • Συλλογή ρεαλιστικών ερωτημάτων για την εκτέλεση του πρώτου πειράματος • Χρήση ερωτημάτων ίδιου περιεχομένου με διαφορετική διατύπωση • Ομαδοποίηση ερωτημάτων βάσει περιεχομένου Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 24/35 Index Query Group 1 How to read a comma separated file? 1 2 How to read a CSV file? 1 3 How to read a delimited file? 1 4 How to read input from console? 2 5 How to read input from terminal? 2 6 How to read input from command prompt? 2 7 How to play an mp3 file? 3 8 How to play an audio file? 3 9 How to compare dates? 4 10 How to compare time strings? 4 11 How to dynamically load a class? 5 12 How to load a jar/class at runtime? 5 13 How to calculate checksums for files? 6 14 How to calculate MD5 checksum for files? 6 15 How to iterate through a hashmap? 7 16 How to loop over a hashmap? 7 17 How to split a string? 8 18 How to handle an exception? 9
  • 25. Πείραμα 1ο – Ποιοτική Αξιολόγηση • Μετρικές όπως το precision και το recall δεν είναι εύκολα εφαρμόσιμες. • Θέλουμε να λαμβάνεται υπόψιν και η σειρά με την οποία εμφανίζονται τα χρήσιμα αποτελέσματα. Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 25/35 Average Precision Το Average Precision ισούται με: 𝐴𝑣𝑒𝑃 = 0 1 𝑝(𝑟)𝑑𝑟 = 𝑘=1 𝑛 𝑃(𝑘)𝛥𝑟(𝑘) = 𝑘=1 𝑛 (𝑃(𝑘) · 𝑟𝑒𝑙(𝑘)) 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠 Mean Average Precision Αν Q το πλήθος των ερωτημάτων, τότε το Mean Average Precision ισούται με: 𝑀𝐴𝑃 = 𝑞=1 𝑄 𝐴𝑣𝑒𝑃(𝑞) 𝑄 Mean Search Length Ως μήκος αναζήτησης SL ορίζεται το πλήθος των μη σχετικών αποτελεσμάτων που εμφανίζονται στο χρήστη μέχρι να εμφανιστούν N σχετικά. Για ένα πλήθος ερωτημάτων Q το μέσο μήκος αναζήτησης MSL ισούται με: 𝑀𝑆𝐿 = 𝑞=1 𝑄 𝑆𝐿(𝑞) 𝑄
  • 26. Πείραμα 1ο – Average Precision Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 26/35
  • 27. Πείραμα 1ο – Mean Average Precision (MAP) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 27/35
  • 28. Πείραμα 1ο – Mean Search Length (MSL) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 28/35
  • 29. Πείραμα 2ο – Ποσοτική Αξιολόγηση με PostLinks PostLinks ή Σύνδεσμοι Αναρτήσεων • Ζεύγη αναγνωριστικών αναρτήσεων (PostId – PostId) • Τύπος PostLink (συνδεδεμένη ή διπλότυπη ανάρτηση) • Τα PostLinks υποδεικνύουν σχετικές αναρτήσεις Βήματα Πειράματος 1. Περιορισμός του σετ δεδομένων • Αναρτήσεις με τουλάχιστον ένα snippet • Αναρτήσεις με σκορ > -3 • Αναρτήσεις με AcceptedAnswer 2. Χρήση των τίτλων σαν ερωτήματα 3. Για κάθε ερώτημα/τίτλο γίνεται λήψη των πρώτων 20 αποτελεσμάτων από το σύστημα 4. Για κάθε ερώτημα/τίτλο γίνεται σχηματισμός όλων των ζευγών αναγνωριστικών (ερώτημα – αποτέλεσμα) 5. Υπολογισμός ποσοστού των ζευγών που βρίσκονται στη λίστα των PostLinks Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 28/35
  • 30. Πείραμα 2ο – PostLinks Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 30/35
  • 31. Συμπεράσματα • Εξοικονόμηση χρόνου χρησιμοποιώντας το RSSE και παρουσιάζοντας παραδείγματα κώδικα με ορθή σύνταξη • Η καλή προεπεξεργασία του κειμένου παράγει ποιοτικότερα μοντέλα διανυσματικού χώρου (VSMs) • Η χρήση του μοντέλου FastText εξάγει χρήσιμη σημασιολογική πληροφορία • Ο συνδυασμός των δύο μοντέλων (TF-IDF, FastText) καταφέρνει καλύτερα αποτελέσματα Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 31/35
  • 32. Μελλοντική Εργασία • Γραφικό Περιβάλλον (GUI) σε ιστοσελίδα • Ρύθμιση βαρών του μηχανισμού κατάταξης • Συμπίεση ευρετηρίων/πινάκων αναζήτησης διανυσμάτων • Υποστήριξη και άλλων γλωσσών προγραμματισμού (C/C++, Python, Scala) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 32/35
  • 33. Παρουσίαση Συστήματος (Video Demo) Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 33/35
  • 34. Ευχαριστίες Οφείλω ένα μεγάλο ευχαριστώ: • στον κ. Ανδρέα Συμεωνίδη για την ευκαιρία που μου έδωσε να ασχοληθώ με το αντικείμενο της διπλωματικής. • στο Θέμη Διαμαντόπουλο για τη συνεχή στήριξη και καθοδήγηση που μου παρείχε. • σε εσάς για την προσοχή σας. Θεσσαλονίκη, Ιούλιος 2018 StackSearch RSSE 34/35