Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
Nowadays software technology has made great progress. A detailed Internet research revealed that, there are open source software repositories (GitHub), which contain a plethora of software projects and most of them have a high level of complexity. As we refer to open source software products, we realize that these are projects, which are continuously changing in real-time, both in the number and content of their source code files. Therefore, the scheduled quality control of the entire project from the beginning, once a day or week is not enough, because delays the feedback of the developers. Generally, static analysis aims to detect and report to the developer code errors, bugs, security vulnerabilities and violations of programming rules. But every developer needs to know, how every change of a file affects the total quality of the software project. This purpose is served by static analysis with the production of quality metrics. The need for timely knowledge of the quality change of the software project, led to the realization of this diploma thesis, which aims to calculate the static analysis metrics only of changing code files and not the entire software project from the beginning. Thus, a system was designed, which directly isolates the changing and affected files from all files in the repository and then using a static analysis mechanism, extracts the new values of quality metrics exclusively for changing files. The results of the use of this system show that, it contributes dynamically to the continuous quality control of software projects, as it provides immediate and targeted information about the changes. Also, enables to time and resource savings and helps in the quality optimization of the products, as it prevents the developer from the wasteful building of software project on non-quality code parts.
Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
Nowadays software technology has made great progress. A detailed Internet research revealed that, there are open source software repositories (GitHub), which contain a plethora of software projects and most of them have a high level of complexity. As we refer to open source software products, we realize that these are projects, which are continuously changing in real-time, both in the number and content of their source code files. Therefore, the scheduled quality control of the entire project from the beginning, once a day or week is not enough, because delays the feedback of the developers. Generally, static analysis aims to detect and report to the developer code errors, bugs, security vulnerabilities and violations of programming rules. But every developer needs to know, how every change of a file affects the total quality of the software project. This purpose is served by static analysis with the production of quality metrics. The need for timely knowledge of the quality change of the software project, led to the realization of this diploma thesis, which aims to calculate the static analysis metrics only of changing code files and not the entire software project from the beginning. Thus, a system was designed, which directly isolates the changing and affected files from all files in the repository and then using a static analysis mechanism, extracts the new values of quality metrics exclusively for changing files. The results of the use of this system show that, it contributes dynamically to the continuous quality control of software projects, as it provides immediate and targeted information about the changes. Also, enables to time and resource savings and helps in the quality optimization of the products, as it prevents the developer from the wasteful building of software project on non-quality code parts.
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ISSEL
Στις ημέρες μας, η έννοια του λογισμικού έχει επικρατήσει σε όλες τις πτυχές της ανθρώπινης καθημερινότητας προσφέροντας σημαντικές λύσεις σε ένα εύρος διαφορετικών προβλημάτων. Η ανάγκη για παραγωγή αξιόπιστου και λειτουργικού λογισμικού σε μικρά χρονικά διαστήματα το οποίο θα παρουσιάζει ευελιξία σε πιθανές αλλαγές, είναι διαρκώς αυξανόμενη. Τα τελευταία χρόνια παρατηρείται σημαντική ερευνητική δραστηριότητα στο πεδίο της βελτιστοποίησης των διαδικασιών της ανάπτυξης λογισμικού ενώ η τεράστια διαθεσιμότητα ανοικτών έργων λογισμικού σε αποθετήρια όπως το GitHub, καθιστά εύκολη την πρόσβαση σε μεγάλους όγκους δεδομένων κώδικα. Η αξιοποίηση της πληροφορίας αυτής μπορεί να αποτελέσει το εφαλτήριο για την δημιουργία χρήσιμων εργαλείων τα οποία μπορούν να επιταχύνουν σημαντικά τη διαδικασία ανάπτυξης λογισμικού ενώ συγχρόνως θα βελτιώσουν την επικοινωνία και την συνεργασία μεταξύ των ομάδων ανάπτυξης. Η παρούσα διπλωματική εργασία παρουσιάζει ένα ολοκληρωμένο σύστημα αυτοματοποιημένης μορφοποίησης αρχείων πηγαίου κώδικα με χρήση τεχνικών μηχανικής μάθησης. Βασικός στόχος του συστήματος είναι ο εντοπισμός και η διόρθωση σφαλμάτων μορφοποίησης τα οποία αποκλίνουν από τα πρότυπα που έχει θέσει η ομάδα ανάπτυξης, διασφαλίζοντας την αναγνωσιμότητά του και συνεπώς την ευκολότερη συντήρησή του. Το σύστημα αξιοποιεί μοντέλα βαθιών νευρωνικών δικτύων τύπου LSTM σε συνδυασμό με στατιστικά μοντέλα γλώσσας N-gram για τον εντοπισμό σφαλμάτων μορφοποίησης, ενώ προτείνεται ένα συγκεκριμένος μηχανισμός διόρθωσης των σφαλμάτων αυτών. Επιπλέον, προτείνεται ένας μηχανισμός αξιολόγησης της μορφοποίησης αρχείων κώδικα με στόχο την ποσοτικοποίηση της αφαιρετικής αυτής έννοιας. Το σύστημα που σχεδιάστηκε στα πλαίσια της διπλωματική εργασίας, αξιολογείται σε 8000 αρχεία κώδικα σε γλώσσα Java τα οποία προέρχονται από το διαγωνισμό CodRep 2019. Μέσω της παρατήρησης των τελικών αποτελεσμάτων, συμπεραίνουμε πως το σύστημα αποδίδει αποτελεσματικά τόσο στο εντοπισμό όσο και στην διόρθωση των σφαλμάτων μορφοποίησης.
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMISSEL
Nowadays, the concept of software has prevailed in all aspects of human daily life, offering significant solutions to a wide variety of issues. The need for producing reliable and functional software within short timeframes that can adapt to possible changes is constantly increasing. In recent years, there has been significant research activity in the field of software development process optimization, while the vast availability of open-source software projects in repositories such as GitHub makes accessing large volumes of code data easy. Leveraging this information can serve as a catalyst for creating useful tools that can greatly accelerate the software development process while improving communication and collaboration among development teams. This thesis presents an integrated system for automated source code formatting using machine learning techniques. The primary goal of the system is to detect and correct formatting errors that deviate from the standards set by the development team, ensuring its readability and thus facilitating easier maintenance. The system utilizes LSTM deep neural network models in combination with N-gram statistical language models for detecting formatting errors, while a specific mechanism for correcting these errors is proposed. Additionally, an evaluation mechanism for code formatting is proposed, aiming to quantify this abstract concept. The system designed within the scope of this thesis is evaluated on 8000 Java code files obtained from the CodRep 2019 competition. Through the observation of the final results, we conclude that the system performs effectively in both detecting and correcting formatting errors.
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ISSEL
Στις ημέρες μας, η έννοια του λογισμικού έχει επικρατήσει σε όλες τις πτυχές της ανθρώπινης καθημερινότητας προσφέροντας σημαντικές λύσεις σε ένα εύρος διαφορετικών προβλημάτων. Η ανάγκη για παραγωγή αξιόπιστου και λειτουργικού λογισμικού σε μικρά χρονικά διαστήματα το οποίο θα παρουσιάζει ευελιξία σε πιθανές αλλαγές, είναι διαρκώς αυξανόμενη. Τα τελευταία χρόνια παρατηρείται σημαντική ερευνητική δραστηριότητα στο πεδίο της βελτιστοποίησης των διαδικασιών της ανάπτυξης λογισμικού ενώ η τεράστια διαθεσιμότητα ανοικτών έργων λογισμικού σε αποθετήρια όπως το GitHub, καθιστά εύκολη την πρόσβαση σε μεγάλους όγκους δεδομένων κώδικα. Η αξιοποίηση της πληροφορίας αυτής μπορεί να αποτελέσει το εφαλτήριο για την δημιουργία χρήσιμων εργαλείων τα οποία μπορούν να επιταχύνουν σημαντικά τη διαδικασία ανάπτυξης λογισμικού ενώ συγχρόνως θα βελτιώσουν την επικοινωνία και την συνεργασία μεταξύ των ομάδων ανάπτυξης. Η παρούσα διπλωματική εργασία παρουσιάζει ένα ολοκληρωμένο σύστημα αυτοματοποιημένης μορφοποίησης αρχείων πηγαίου κώδικα με χρήση τεχνικών μηχανικής μάθησης. Βασικός στόχος του συστήματος είναι ο εντοπισμός και η διόρθωση σφαλμάτων μορφοποίησης τα οποία αποκλίνουν από τα πρότυπα που έχει θέσει η ομάδα ανάπτυξης, διασφαλίζοντας την αναγνωσιμότητά του και συνεπώς την ευκολότερη συντήρησή του. Το σύστημα αξιοποιεί μοντέλα βαθιών νευρωνικών δικτύων τύπου LSTM σε συνδυασμό με στατιστικά μοντέλα γλώσσας N-gram για τον εντοπισμό σφαλμάτων μορφοποίησης, ενώ προτείνεται ένα συγκεκριμένος μηχανισμός διόρθωσης των σφαλμάτων αυτών. Επιπλέον, προτείνεται ένας μηχανισμός αξιολόγησης της μορφοποίησης αρχείων κώδικα με στόχο την ποσοτικοποίηση της αφαιρετικής αυτής έννοιας. Το σύστημα που σχεδιάστηκε στα πλαίσια της διπλωματική εργασίας, αξιολογείται σε 8000 αρχεία κώδικα σε γλώσσα Java τα οποία προέρχονται από το διαγωνισμό CodRep 2019. Μέσω της παρατήρησης των τελικών αποτελεσμάτων, συμπεραίνουμε πως το σύστημα αποδίδει αποτελεσματικά τόσο στο εντοπισμό όσο και στην διόρθωση των σφαλμάτων μορφοποίησης.
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMISSEL
Nowadays, the concept of software has prevailed in all aspects of human daily life, offering significant solutions to a wide variety of issues. The need for producing reliable and functional software within short timeframes that can adapt to possible changes is constantly increasing. In recent years, there has been significant research activity in the field of software development process optimization, while the vast availability of open-source software projects in repositories such as GitHub makes accessing large volumes of code data easy. Leveraging this information can serve as a catalyst for creating useful tools that can greatly accelerate the software development process while improving communication and collaboration among development teams. This thesis presents an integrated system for automated source code formatting using machine learning techniques. The primary goal of the system is to detect and correct formatting errors that deviate from the standards set by the development team, ensuring its readability and thus facilitating easier maintenance. The system utilizes LSTM deep neural network models in combination with N-gram statistical language models for detecting formatting errors, while a specific mechanism for correcting these errors is proposed. Additionally, an evaluation mechanism for code formatting is proposed, aiming to quantify this abstract concept. The system designed within the scope of this thesis is evaluated on 8000 Java code files obtained from the CodRep 2019 competition. Through the observation of the final results, we conclude that the system performs effectively in both detecting and correcting formatting errors.
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...ISSEL
Δεδομένης της ταχείας ανάπτυξης της τεχνητής νοημοσύνης τα τελευταία χρόνια, γεννάται το ερώτημα αν θα μπορούσε να αξιοποιηθεί προκειμένου να βελτιωθεί η ασφάλεια των διαδικτυακών υπηρεσιών. Τα τελευταία χρόνια το διαδίκτυο ολοένα και με μεγαλύτερο ρυθμό καταλαμβάνει θέση στις ζωές των ανθρώπων αποτελώντας ένα από τα βασικότερα μέσα ενημέρωσης, ψυχαγωγίας, επικοινωνίας και άλλα. Ωστόσο, δεν είναι λίγοι και εκείνοι οι οποίοι χρησιμοποιούν το διαδίκτυο αποσκοπώντας να αυξήσουν τα προσωπικά τους κέρδη, όχι πάντα με νόμιμα ή ηθικά μέσα. Ανακαλύπτοντας και εκμεταλλεύοντας ευπάθειες συστημάτων κακόβουλοι χρήστες του διαδικτύου μπορούν να αποκτούν πρόσβαση σε ευαίσθητα δεδομένα, να τα μεταπωλλούν σε τρίτους είτε ακόμα και να ρίχνουν ιστοσελίδες μεγάλων εταιριών ή κυβερνήσεων. Παράλληλα, ωστόσο, με την αύξηση της υπολογιστικής ισχύος και την ανάπτυξη των μαθηματικών και της στατιστικής σημειώθηκε σημαντική πρόοδος και στον τομέα της τεχνητής νοημοσύνης. Πρόκειται για ένα τομέα με εφαρμογές σε πολλά διαφορετικά πεδία όπως η εκπαίδευση, η οικονομία, η επιστήμη, η υγεία και άλλα. Τα τελευταία χρόνια χρησιμοποιείται επίσης στον τομέα της κυβερνοασφάλειας για την ανάπτυξη συστημάτων προστασίας τα οποία επιδιώκουν να προβλέψουν ή να εντοπίσουν μία επικείμενη επίθεση μειώνοντας κατά το δυνατόν την πιθανότητα εισβολής και κλοπής δεδομένων. Στα πλαίσια της παρούσας διπλωματικής αναπτύχθηκε ένα σύστημα που μπορεί να λειτουργεί ταυτόχρονα με μία διαδικτυακή εφαρμογή με στόχο την ανίχνευση αποκλίνουσας συμπεριφοράς χρηστών. Το σύστημα αυτό λειτουργεί και εντοπίζει τις ανωμαλίες αυτές σε πραγματικό χρόνο, ενώ λαμβάνει παράλληλα και μέτρα για τον αποκλεισμό των επιτήδειων χρηστών.
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...ISSEL
Given the rapid development of artificial intelligence in recent years, a question arises as to whether it could be used to improve the security of online services. In recent years, the internet is increasingly becoming a large part in people's lives, resulting in being one of the main means in media, entertainment, communication and more. However, there are many who use the internet with the intention to increase profit, not always through legal or moral means. By detecting and exploiting system vulnerabilities, malicious internet users can gain access to sensitive data, resell them to third parties, or even attack websites of large corporations or governments. At the same time, however, with the increase in computing power and the development of mathematics and statistics, significant progress has been made in the field of artificial intelligence (AI). AI is a field with applications in many different fields like education, economics, science, health and more. In recent years, it has also been used in the cybersecurity domain to develop security systems that seek to predict or detect an impending attack while minimizing the possibility of intrusion and data leakage. Within the context of this diploma thesis, a system has been developed that runs in parallel to a web application aiming to detect abnormal user behavior in real time, while also taking measures to exclude malicious users.
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...ISSEL
Η χρήση βιβλιοθηκών κώδικα µειώνει το χρόνο ανάπτυξης νέου λογισµικού, δίνει τη δυνατότητα στους προγραµµατιστές να εστιάσουν περισσότερο στην υλοποίηση νέων λειτουργικών απαιτήσεων, και αυξάνει την αξιοπιστία του παραγόµενου κώδικα. Έτσι, η αναζήτηση κατάλληλων βιβλιοθηκών είναι απαραίτητη για τη γρήγορη ανάπτυξη λογισµικού υψηλής ποιότητας. Ταυτόχρονα, όµως, απαιτείται χρόνος (και αντίστοιχο κόστος) για διερεύνηση και επιλογή βιβλιοθηκών µεταξύ των χιλιάδων σχετικών λύσεων που διαµοιϱάζονται µέσω αποθετηρίων λογισµικού. Στην εργασία αυτή, εστιάζουµε στο αρχικό στάδιο της ανάπτυξης έργων λογισµικού, όπου η διαθέσιµη πληροφορία για αναζήτηση συνίσταται στην περιγραφή των έργων προς ανάπτυξη µε λέξεις-κλειδιά. Υπάρχοντα συστήµατα µελετάνε την εξαγωγή σχετικών βιβλιοθηκών ϐάσει της οµοιότητας των περιγραφών τους µε λέξεις-κλειδιά. Αλλά αυτή η πρακτική αγνοεί τη δηµοτικότητα των σχετικών βιβλιοθηκών και τις σηµασιολογικές συσχετίσεις µεταξύ λέξεων που δε βρίσκονται στις περιγραφές τους, όπως λέξεις που βρίσκονται στις περιγραφές έργων λογισµικού που τις χρησιµοποιούν. Για την ταυτόχρονη ενσωµάτωση των παραπάνω σηµασιολογικών συσχετίσεων και της δηµοτικότητας σε µοντέλα πρόβλεψης βιβλιοθηκών, προτείνουµε µια προσέγγιση συνεργατικού ϕιλτραρίσµατος. Για την ακρίβεια, οργανώνουµε βιβλιοθήκες και λέξεις-κλειδιά σε γράφους συσχετίσεων, όπου οι ακµές αντιστοιχούν σε εµφάνιση των λέξεων σε έργα λογισµικού που χρησιµοποιούν τις βιβλιοθήκες. ∆εδοµένης αυτής της οργάνωσης, εφαρµόζουµε παραλλαγές του αλγορίθµου PageRank για τη βαθµολόγηση των κόµβων του γράφου ϐάσει της σχετικότητάς τους µε λέξεις-κλειδιά που περιγράφουν το λογισµικό προς ανάπτυξη και προτείνουµε χρήση των βιβλιοθηκών µε την υψηλότερη βαθµολογία. Αυτή η πρακτική συγκρίνεται πειραµατικά µε υπάρχουσες εναλλακτικές σε δύο σύνολα δεδοµένων της γλώσσας Java, όπου χρησιµοποιούµε τα ονόµατα των έργων λογισµικού ως σύντοµες περγραφές. Η µέθοδός µας παρουσιάζει µεγαλύτερη προβλεπτική ικανότητα σε σχέση µε απλή αναζήτηση λέξεων-κλειδιών σε κλάσµατα του δευτερολέπτου και µπορεί να µεταβληθεί ώστε να παράγει ετερογενείς προβλέψεις.
Keyword-based software library recommendation in order to bootstrap software ...ISSEL
Software library reuse promotes efficient and effective software development, as it leads to improvement in the overall quality, reduces time-to-market and lets developers write application specific code instead of reinventing the wheel. The availability of a huge amount of reusable libraries facilitates effective software development. Code repositories provide an increasingly large number of such libraries. However, manually identifying which ones are relevant for a specific implementation is a fastidious and time consuming task for developers. In this work we focus at the early stages of software development, where finding appropriate libraries is based solely on a keyword-based description of the software. Existing recommendation systems rely on the similarity of such keywords with the descriptions of reusable libraries. This method, however, does not take into consideration the popularity of each library and the semantic similarity of searched keywords with other software entities, other than the library itself, like, for example, the descriptions of projects that use these libraries. In order to encompass in one model both the semantic similarity and the popularity of reusable libraries, we propose a collaborative filtering approach. More specifically, we organize in a relational graph keywords and libraries, such that an edge between a keyword and a library corresponds to the usage of this keyword in the description of a software project that uses this library. Given this structure, we use variants of the PageRank algorithm in order to rank the nodes of this graph depending on their relevance to a set of keywords that describe the software we want to develop. Based on this ranking, we recommend the libraries with the highest rank. We compare our method to existing library search methods on two datasets that list dependencies of Java projects, where we use the Project title as a short description. Our method performs better than the simple similarity based approach, with an execution time of a fraction of a second and could be modified in order to make heterogeneous predictions.
Theofilos Georgiadis: Library recommendation system for the reuse of software...Manos Tsardoulias
This system helps developers when searching for python libraries. The developer constructs the query in natural language and the system returns the 10 most relevant libraries. It is based on a graph, its nodes are constructed by keywords and libraries that was extracted from a set of open source projects. For every keyword that is present with a library we connect the two nodes with an edge. For every time that a keyword is present with a library, the weight of the edge is increased by one. Using this graph we extract representations of the graph's nodes. Lastly using these representations and a method for calculating the similarity, we calculate the similarity of each library with each keyword and we extract a recommendation for the 10 libraries with the highest value of similarity.
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
This thesis presents an innovative tool specifically designed to assess the dementia friendliness of indoor spaces. With the rise in dementia cases globally, the need to adapt environments to the unique needs of those affected is becoming increasingly important. This research focuses on evaluating how friendly and suitable these spaces are for individuals with dementia, with a particular emphasis on flooring. The developed tool leverages the power of deep learning and machine learning to analyze images of indoor spaces, identifying objects within these images to evaluate their suitability for dementia-friendly environments. The tool currently focuses on evaluating rugs, equipped with an easy to navigate and effective web application that allows caregivers, designers (or other users) to easily upload photos for assessment. This specialized approach ensures that users can quickly understand how these floor coverings align with dementia-friendly design principles. The tool is user-friendly and efficient, designed for quick assessment of indoor areas. Rather than suggesting changes, it rates how dementia-friendly these spaces are, providing valuable insights for caregivers and designers. This feature is essential for public places such as care homes, private residences or even hotels that aim to be dementia-friently, where creating safe, understandable, and comfortable environments for people with dementia is crucial. Overall, this thesis merges technology with the principles of interior design in the context of dementia care. It offers a significant contribution to the field, providing a practical and innovative approach to assess and understand dementia-friendly environments.
Autonomous car position calculation with particle filters using traffic data ...ISSEL
As autonomous vehicle technology progresses, the need for precise real-time positioning in dynamic urban environments becomes increasingly vital. This thesis explores the utilization of particle filters to calculate the position of autonomous cars, using traffic data within a simulated environment. The primary goal is to improve accuracy and reliability in vehicle localization by integrating information from dynamic traffic conditions into the positioning algorithm. A simulated environment is employed to replicate realistic traffic scenarios, generating diverse and dynamic datasets. Particle filters are implemented as a probabilistic framework, assimilating information from various sources such as sensor data and traffic patterns to estimate the vehicle’s position. Through extensive experimentation, the efficacy of the proposed approach is assessed across diverse traffic conditions and scenarios. Results indicate that real time traffic data significantly enhances the precision and robustness of autonomous car positioning. The particle filter algorithm seamlessly adapts to changing traffic situations, demonstrating its potential for practical implementation in autonomous driving systems. Additionally, the thesis investigates the influence of different parameters and configurations on the particle filter algorithm’s performance. Insights gained from these studies contribute to optimizing the algorithm for a range of urban driving conditions. In summary, this research advances autonomous vehicle positioning by introducing an innovative approach that integrates particle filters with traffic data in a simulated environment. The findings hold implications for developing more accurate and adaptable autonomous navigation systems, laying the foundation for safer and more reliable self-driving vehicles in intricate urban settings.
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
Η ανίχνευση αντικειµένων από λίγα δείγµατα (FSOD) αποσκοπεί στην ανίχνευση αντικειµένων κλάσεων για τις οποίες υπάρχουν περιορισµένα δεδοµένα. Η προσαρµογή των σύγχρονων ανιχνευτών στο σενάριο περιορισµένων δεδοµένων παραµένει µια πρόκλη ση, καθώς τα περισσότερα µοντέλα απαιτούν τεράστιες ποσότητες δειγµάτων για να εκπαιδευτούν σωστά. Το FSOD αντιµετωπίζει αυτό το πρόβληµα µε την τεχνική ΜΕΤΑ εκπαίδευσης δύο κλάδων, κατά την οποία το µοντέλο εκπαιδεύεται επεισοδιακά. Χρησιµοποιώντας αυτή τη µέθοδο, ένα µοντέλο είναι σε θέση να ανιχνεύει νέες κατηγορίες δίχως ποτέ να έχει εκπαιδευτεί σε αυτές (meta-testing). Μια κοινή µέθοδος ανίχνευσης είναι η δηµιουργία προτύπων κατηγοριών από ένα σύνολο εικόνων υποστήριξης σε κάθε επεισόδιο και η εκµάθηση του τρόπου αντιστοίχησης αυτών µε κάθε εικόνα ερώτησης. Ωστόσο, οι περισσότερες προσεγγίσεις δηµιουργούν αυτά τα πρότυπα µεµονωµένα, χωϱίς να λαµβάνουν υπόψη όλες τις άλλες κλάσεις και τις συσχετίσεις τους, οι οποίες θα µπορούσαν να προσφέρουν κρίσιµη πληροφορία και να εµπλουτίσουν σηµαντικά κάθε ένα από αυτά. Στην παρούσα εργασία, προσπαθούµε να ενσωµατώσουµε αυτές τις συσχετίσεις σε ένα σύγχρονο µοντέλο χρησιµοποιώντας ένα γράφηµα προτύπων. Μέσω της αποτελεσµατικής µεταβίβασης µηνυµάτων µεταξύ όλων των κόµβων, κάθε πρότυπο εµπλουτίζεται από τους πιο παρόµοιους γείτονές του, γεγονός που µπορεί να αντισταθµίσει την περίπτωση των θορυβωδών προτύπων και να βελτιώσει την ακρίβεια ανίχνευσης νέων κλάσεων. Τα πειραµατικά αποτελέσµατα δείχνουν ότι οι προτεινόµενες µέθοδοι βελτιώνουν σηµαντικά την ακρίβεια ανίχνευσης meta-testing του βασικού µοντέλου στο PASCAL VOC σετ δεδοµένων, υπό διαφορετικό αριθµό δειγµάτων (shots) και µετρικών.
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
Το διευρυµένο τοπίο του λογισµικού ανοιχτού κώδικα OSS αποδεικνύει την αυξανόµενη παραγωγική δραστηριότητα των µηχανικών λογισµικού που συνεισφέρουν σε πολλαπλές πλατφόρµες και διάφορα έργα λογισµικού. Η συµµετοχή τους σε αυτά τα έργα αναδεικνύει το ευρύ ϕάσµα των δεξιοτήτων τους, από τη συγγραφή κώδικα έως τη συνεργασία τους µε άλλους µηχανικούς λογισµικού. Καθώς στο οικοσύστηµα του λογισµικού ανοιχτού κώδικα υπάρχει µια διαρκής και συνεχώς αυξανόµενη δραστηριότητα, είναι πολύ σηµαντική µια πιο ολοκληρωµένη κατανόηση των συνεισφορών και των δεξιοτήτων των µηχανικών λογισµικού. Σκοπός της παρούσας διπλωµατικής είναι να αξιοποιήσει δεδοµένα από την υποδοµή World of Code (WoC) που περιέχει συγκεντρωµένα δεδοµένα από τα περισσότερα δη µόσια συστήµατα ελέγχου εκδόσεων για να παρέχει µια πιο ολοκληρωµένη εικόνα του προφίλ ενός µηχανικού λογισµικού. Εξάγοντας, αναλύοντας και οπτικοποιώντας αυτά τα δεδοµένα, αναπτύχθηκε µια εφαρµογή που παρουσιάζει µια περιεκτική επισκόπηση των δραστηριοτήτων ενός µηχανικού στα έργα λογισµικού ανοικτού κώδικα. Η οπτική αναπαράσταση των δεδοµένων, µετατρέπει πολύπλοκα σύνολα δεδοµένων σε εύκολα κατανοητές γραφικές µορφές. Η αξιολόγηση της εφαρµογής σε ένα σύνολο µηχανικών λογισµικού δείχνει ότι πετυχαίνει τους στόχους της. Προσφέρει µια εικόνα της δραστηριότητας, του ϱόλου και των τεχνικών δεξιοτήτων ενός µηχανικού, ενισχύοντας τη διαφάνεια και την κατανόηση της συνεισφοράς του στο οικοσύστηµα του OSS.
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
Η Τεχνητή Νοηµοσύνη αποτελεί έναν τοµέα της τεχνολογίας που καθηµερινά πραγµατοποιεί άλµατα. Αποτελεί την αιχµή του δόρατος στην επίλυση πληθώρας προβληµάτων αλλά και στην παροχή υπηρεσιών υψηλού επιπέδου. Οι εµπορικές εφαρµογές, αν και µε απεριόριστες προοπτικές, τα τελευταία χρόνια εστιάζουν κυϱίως στη Συνοµιλητική Τεχνητή Νοηµοσύνη ή στην Τεχνητή Νοηµοσύνη Επεξεργασίας Βίντεο και Εικόνας, µε αποτέλεσµα τον ενθουσιασµό της αγοράς και των χρηστών, οι οποίοι αποκτούν όλο και µεγαλύτερες απαιτήσεις, ως προς την ποιότητα και τις δυνατότητες των εργαλείων τους. Οι συνοµιλητικοί ϐοηθοί, Chatbots, έχουν διεισδύσει στην καθηµερινότητά, µε πληθώρα µορφών και χρήσεων. Η παραδοσιακή µορφή τους, που απαντούσε ένα κλειστό σύνολο απλοϊκών ερωτήσεων, αντικαταστάθηκε από µοντέρνα συστήµατα και εφαρµογές που προτείνουν, συζητούν, συνοµιλούν, διασκεδάζουν, συµβουλεύουν. Είτε ως εφαρµογές στο κινητό του χρήστη, είτε διαθέσιµοι online, οι σύγχρονοι βοηθοί αποτελούν πλέον κοµµάτι της καθηµερινής ϱουτίνας και των εργαλείων που την καθιστούν πιο ανεκτή και ευχάριστη. Αυτή η καθολική πλέον παρουσία τους καθιστά αναγκαίο τον εκλεκτισµό αυτών των υπηρεσιών προσθέτοντας νέα στοιχεία και παραµέτρους, ανάλογα µε την εξειδίκευση κάθε χρήστη και των αναγκών του. Αυτές οι εφαρµογές, όντας συνεχώς συνδεδεµένες στο διαδίκτυο, θυσιάζουν την ιδιωτικότητα του χρήστη, καθιστώντας τον επιρρεπή σε κακόβουλο λογισµικό ή απάτες. Παράλληλα ,όµως, η πλειοψηφία αυτών των εφαρµογών αδυνατούν να χρησιµοποιήσουν τον µεγαλύτερο όγκο της πληροφορίας η οποία είναι διαθέσιµη στο διαδίκτυο, παρότι είναι συνδεδεµένες σε αυτό. Τέλος, τα υπάρχοντα συστήµατα δεν έχουν προσωποποιηµένο χαρακτήρα. Οι απαντήσεις και οι υπηρεσίες τους σπανίως προσαρµόζονται στον εκάστοτε χρήστη. Σε αυτήν τη διπλωµατική εργασία γίνεται µια προσπάθεια ανάπτυξης ενός ψηφιακού βοηθού ερωταπαντήσεων που αναζητά δυναµικά τις απαντήσεις στον ιστό. Αυτό το σύστηµα, χρησιµοποιώντας προεκπαιδευµένα µοντέλα αλλά και τεχνολογίες λογισµικού, απαντάει τις ερωτήσεις του χρήστη αξιοποιώντας το σύνολο της online πληροφορίας. Η ϕορητότητα του συστήµατος µπορεί να εξασφαλίσει µια ιδιωτική εµπειρία καθώς και απαντήσεις από εξειδικευµένες πηγές δεδοµένων. Τα πειραµατικά αποτελέσµατα αποδεικνύουν ότι το συγκεκριµένο σύστηµα είναι επαρκώς ακριβές, ενώ ταυτόχρονα επιτυγχάνει τους σκοπούς για τους οποίους αναπτύχθηκε. Θυσιάζεται η αναλυτικότητα και το συνοµιλητικό ύφος των συµβατικών ψηφιακών βοηθών, για να αξιοποιηθεί το µέγιστο πλήθος πληροφορίας. Επιπλέον, οι προεκτάσεις του συστήµατος µπορούν να οδηγήσουν σε χρήση του σε εξειδικευµένα συστήµατα όπου η πληροφορία που είναι διαθέσιµη είναι περιορισµένη και προέρχεται πάλι από το διαδίκτυο αλλά µόνο από µια συγκεκριµένη πηγή.
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
Το ”spamming”, δηλαδή η αποστολή ανεπιθύμητων μηνυμάτων σε πολλούς χρήστες, έχει ευνοηθεί με την ανάπτυξη των ψηφιακών επικοινωνιών και την τεχνοκεντρική στροφή στη ζωή του ανθρώπου. Οι συνθήκες αυτές, διευκολύνουν την αποστολή spam μηνυμάτων, αλλά και ο άνθρωπος είναι περισσότερο εκτεθειμένος σ’ αυτά. Ωστόσο, η ερευνητική κοινότητα έχει αναπτύξει συστήματα ανίχνευσης των ανεπιθύμητων μηνυμάτων για να προστατεύσει τους χρήστες και τον απρόσκοπτο χαρακτήρα της επικοινωνίας, που πραγματοποιείται μέσω των ψηφιακών μέσων. Η αγγλική βιβλιογραφία είναι πλούσια σε μεθόδους που μπορούν να χρησιμοποιηθούν για τον περιορισμό του spam. Από την άλλη, η έρευνα σε άλλες γλώσσες είναι αρκετά περιορισμένη. Η παρούσα διπλωματική στοχεύει στην επέκταση των μεθόδων και συστημάτων ανίχνευσης από τα αγγλικά στα ελληνικά. Λόγω της έλλειψης διαθέσιμων ελληνικών δεδομένων, πραγματοποιείται αυτόματη μετάφραση από τα αγγλικά στα ελληνικά, με τη χρήση της υπηρεσίας μετάφρασης Google translate. Οπότε, τα ελληνικά φίλτρα ανίχνευσης, εκπαιδεύονται στα μεταφρασμένα δεδομένα. Ειδικότερα, εξετάζει διαφόρους αλγορίθμους Μηχανικής Μάθησης και Επεξεργασίας Φυσικής Γλώσσας για την ανάπτυξη των συστημάτων ανίχνευσης. Η διπλωματική, καταλήγει ότι η επανεκπαίδευση μοντέλων BERT, στα δεδομένα του προβλήματος, έχουν τις καλύτερες αποδόσεις και στις δυο γλώσσες. Επίσης, πετυχαίνουν τη μικρότερη δυνατή διαφορά στις αποδόσεις των δυο γλωσσών. Οπότε, προτείνει υλοποιήσεις που βασίζονται στo επανεκπαιδευμένo BERT για τα αγγλικά και στο Greek BERT για τα ελληνικά. Ειδικότερα υλοποιεί ένα Καθολικό Φίλτρο, που συνδυάζει τα διαθέσιμα δεδομένα, Θεματικά Φίλτρα που ανιχνεύουν συγκεκριμένες κατηγορίες spam αλλά και ένα Σύστημα Θεματικών Φίλτρων για την ανίχνευση όλων των κατηγοριών. Τελικά, μέσω της σύγκρισης των αποδόσεων των αγγλικών φίλτρων στα πρωτότυπα αγγλικά δεδομένα και των ελληνικών φίλτρων στα μεταφρασμένα ελληνικά (ανθρωπίνως και αυτοματοποιημένα), η συμβολή της μηχανικής μετάφρασης στην ανάπτυξη ελληνικού συστήματος ανίχνευσης, κρίνεται επιτυχημένη.
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
Η ραγδαία και συνεχής εξάπλωση των μέσων κοινωνικής δικτύωσης έχει οδηγήσει σε έξαρση της ρητορικής μίσους και της χρήσης προσβλητικής γλώσσας στη σύγχρονη εποχή. Πολλές έρευνες δείχνουν ότι η ρητορική μίσους στα μέσα κοινωνικής δικτύωσης έχει δυσμενείς επιπτώσεις στην ψυχική και σωματική ευεξία των ατόμων που τα χρησιμοποιούν. Κατά συνέπεια, υπάρχει αυξανόμενη ανάγκη για την αυτοματοποίηση της ανίχνευσης της ρητορικής μίσους και του προσβλητικού περιεχομένου. Είναι σημαντικό να σημειωθεί ότι η πλειονότητα των ερευνητικών προσπαθειών επικεντρώνονται στην ανίχνευση ρητορικής μίσους στην αγγλική γλώσσα. Αυτό οφείλεται κυρίως στη διαθεσιμότητα των απαραίτητων μοντέλων και συνόλων δε δομένων για τη εκπαίδευση τους για την ανίχνευση ρητορικής μίσους. Η ανάγκη ανίχνευσης της ρητορικής μίσους σε γλώσσες εκτός της αγγλικής είναι υψίστης σημασίας. Για να γεφυρωθεί αυτό το κενό, η παρούσα εργασία στοχεύει στην αύξηση των διαθέσιμων ελληνικών δεδομένων με την δημιουργία ενός χειροκίνητα σχολιασμένου συνόλου δεδομένων που αποτελείται από ελληνικά tweets με ετικέτα που αφορά την παρουσία ή την απουσία προσβλητικού περιεχομένου. Επιπλέον, δημιουργήθηκε ένα ακόμα σετ δεδομένων από τα tweets που περιείχαν μόνο ρητορική μίσους, τα οποία επιπλέον διαχωρίστηκαν σε υποκατηγορίες ρητορικής μίσους. Στη συνέχεια, χρησιμοποιούμε τα δύο νέα αυτά σύνολα δεδομένων καθώς και ένα προϋπάρχον ελληνικό σύνολο δεδομένων, εκπαιδεύουμε μοντέλα μηχανικής μάθησης, καθώς και γλωσσικά μοντέλα στηριζόμενα σε νευρωνικά δίκτυα για το ζήτημα της ανίχνευσης ρητορικής μίσους.
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
Με την ολοένα και αυξανόμενη υιοθέτηση των πρακτικών DevOps και την άνοδο του Continuous Integration/Continuous Deployment (CI/CD) στην ανάπτυξη λογισμικού, ο κύκλος ζωής ανάπτυξης λογισμικού (SDLC) έχει επιφέρει σημαντικές αλλαγές στη βιομηχανία. Αν και αυτές οι μέθοδοι προσφέρουν πολλά πλεονεκτήματα, παρουσιάζουν επίσης μοναδικές προ κλήσεις ασφαλείας, καθώς οι εφαρμογές που αναπτύσσονται με αυτές είναι πιο επιρρεπείς σε κυβερνοεπιθέσεις συγκριτικά με τις παραδοσιακές μεθόδους ανάπτυξης λογισμικού. Το DevSecOps, ένας συνδυασμός πρακτικών ανάπτυξης (Dev), ασφάλειας (Sec) και λειτουργιών (Ops), έχει αναδειχθεί ως μια κρίσιμη προσέγγιση στην ασφάλεια λογισμικού στο σημερινό ταχέως εξελισσόμενο τεχνολογικό τοπίο. Αυτή η μεθοδολογία είναι ουσιαστική και σχετική για διάφορους λόγους. Πρώτον, αντιμετωπίζει την αυξανόμενη ανάγκη για ασφάλεια στην ανάπτυξη λογισμικού. Καθώς οι απειλές και οι επιθέσεις στον κυβερνοχώρο γίνονται πιο εξελιγμένες, η ενσωμάτωση της ασφάλειας στον αγωγό DevOps βοηθά τους οργανισμούς να εντοπίζουν και να μετριάζουν προληπτικά τις ευπάθειες από το πρώιμο στάδιο ανάπτυξης του λογισμικού, μειώνοντας τον κίνδυνο παραβίασης δεδομένων και διακοπής λειτουργίας. Δεύτερον, η ανάγκη για ταχύτερες και συχνότερες εκδόσεις λογισμικού απαιτεί μια μετατόπιση από τις παραδοσιακές πρακτικές ασφαλείας, οι οποίες συχνά προκαλούν καθυστε ρήσεις. Το DevSecOps απλοποιεί την ασφάλεια αυτοματοποιώντας τις δοκιμές και τους ελέγχους συμμόρφωσης, επιτρέποντας τη συνεχή παράδοση (CD) χωρίς να θυσιάζεται η ασφάλεια. Επιπλέον, το DevSecOps ενθαρρύνει μια κουλτούρα κοινής ευθύνης, ενισχύοντας τη συνεργασία μεταξύ προγραμματιστών, επαγγελματιών ασφάλειας και ομάδων επιχειρήσεων. Αυτή η συλλογική προσέγγιση οδηγεί σε βελτιωμένη επικοινωνία, βελτιωμένη επίγνωση των ανη συχιών για την ασφάλεια και ταχύτερη απόκριση σε αναδυόμενες απειλές. Σε μια εποχή όπου ο ψηφιακός μετασχηματισμός βρίσκεται στην πρώτη γραμμή των επιχει ρηματικών στρατηγικών, το DevSecOps είναι απαραίτητο για τη διασφάλιση της ανθεκτικότητας, της ακεραιότητας και της εμπιστευτικότητας των συστημάτων λογισμικού. Ευθυγραμμίζει την ασφάλεια με το ρυθμό της σύγχρονης ανάπτυξης λογισμικού, καθιστώντας το ένα κρίσιμο και επίκαιρο παράδειγμα για τη διαφύλαξη των ψηφιακών δεδομένων και περιουσιακών στοιχείων. Η παρούσα διπλωματική προτείνει μια μέθοδο για τη συμπλήρωση και την αυτοματοποίηση σαρώσεων ασφάλειας έργων λογισμικού με χρήση αποκλειστικά εργαλείων ανοιχτού κώδικα (Open-source software) για την πραγματοποίηση των σαρώσεων ασφάλειας, την παρακολούθηση των αποτελεσμάτων και την αυτοματοποίηση επιδιορθώσεων ευπαθειών. Η προτεινόμενη έρευνα έχει ενσωματωθεί σε υποδομή Continuous Integration/Continuous Delivery, επιτρέποντας την αυτόματη σάρωση και επιδιόρθωση τρωτών σημείων κατά τη διαδικασία και τον κύκλο ανάπτυξης και παράδοσης του λογισμικού.
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
Στη σημερινή εποχή, η ραγδαία ανάπτυξη της τεχνολογίας, έχει οδηγήσει και στη γρήγορη ανάπτυξη έργων λογισµικού πολλών γραμμών κώδικα, τα οποία έχουν επηρεάσει πολλές πτυχές της καθημερινής µας ζωής. Η αναγνωσιμότητας του κώδικα, αποτελεί χρήσιμο ποιοτικό χαρακτηριστικό ενός έργου λογισµικού. Μάλιστα, έρευνες έχουν δείξει ότι επηρεάζει το έργο τόσο κατά το στάδιο ανάπτυξής του όσο και κατά τη διάρκεια συντήρησης του έργου. Για τον σκοπό αυτό, έχουν αναπτυχθεί διάφορα μοντέλα αναγνωσιμότητας κώδικα. Κάθε ένα από αυτά τα μοντέλα βασίζεται σε διαφορετικά χαρακτηριστικά, αναλύοντας πτυχές όπως η δομή του κώδικα, η όψη του κώδικα, αλλά και το περιεχόµενο. Στην παρούσα διπλωματική εργασία, επιχειρούμε, βασιζόμενοι στα ήδη υπάρχοντα μοντέλα αξιολόγησης αναγνωσιμότητας κώδικα, να αναλύσουμε περαιτέρω την έννοια της αναγνωσιμότητας. Αναλύθηκαν commits χρηστών από την πλατφόρμα GitHub, τα οποία είναι συνδεδεμένα µε την αναγνωσιμότητα του κώδικα, µε βάση κάποια από τα ήδη υπάρχοντα μοντέλα αξιολόγησης αναγνωσιμότητας. Αρχικός στόχος ήταν µε βάση τα δεδοµένα που προέκυψαν από αυτά τα commits των προγραμματιστών να διερευνηθεί εάν τα commits, τα οποία ισχυρίζονται τη βελτίωση της αναγνωσιμότητας πράγματι τη βελτιώνουν, καθώς και ποιες αλλαγές ή συνδυασμός αυτών είναι υπεύθυνες για τη βελτίωση ή µη της αναγνωσιμότητας. Ένας δεύτερος στόχος, ο οποίος µας απασχόλησε ήταν εάν θα µπορούσαμε µέσα από τις διαφορές των χαρακτηριστικών του κώδικα πριν και µετά το commit να καταλάβουμε ποια μοντέλα αναγνωσιμότητας είναι ικανά να κατηγοριοποιήσουν ποιες αλλαγές έχουν πραγματοποιηθεί στον κώδικα, καθώς και να προτείνουμε ένα πιο αποδοτικό μοντέλο. Και στα δύο παραπάνω ερωτήματα για την ανάπτυξη των μοντέλων χρησιμοποιήθηκαν μετρικές από διαφορετικά μοντέλα αξιολόγησης αναγνωσιμότητας κώδικα, τα οποία συγκρίθηκαν ως προς την απόδοσή τους.
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
Η ανάκτηση πληροφορίας ανέκαθεν ήταν μια πλέον σημαντική πτυχή κάθε διεργασίας και δεδομένης της ταχείας αύξησης της απαίτησης γρήγορης και εύστοχης παροχής και ανάκτησης πληροφοριών, δεν είναι τίποτα παρά φυσικό να γίνεται συλλογική προσπάθεια προς την βελτιστοποίηση αυτής της διαδικασίας με οποιαδήποτε μέσα είναι διαθέσιμα, όπως η Τεχνητή Νοημοσύνη. Με αυτό τον τρόπο θα μπορεί ένας υπολογιστής να “εκπαιδευτεί” και να βοηθάει στο έργο αυτό, αντί να είναι μονάχα ένα εργαλείο για μαθηματικά πιθανοτήτων και στατιστική. Σε μία εποχή όπου τα πάντα είναι καθοδηγούμενα από την πληροφορία και τα δεδομένα, η ανάγκη για δομημένα δεδομένα και ορθή ανάκτηση πληροφορίας είναι τουλάχιστον επιτακτική. Η δομή και η οργάνωση στα δεδομένα διευκολύνει την λήψη αποφάσεων και μέσω αυτού επιβεβαιώνεται πάντα η σημασία και η συνεισφορά της τεχνητής νοημοσύνης και των μοντέλων μηχανικής μάθησης. Η εφαρμογή και η υλοποίηση μεθόδων και τεχνικών βαθιάς μάθησης μπορεί σταδιακά μπορεί να βοηθήσει στην απαλλαγή μας από την εξάρτηση από λέξεις κλειδιά και να οδεύσουμε προς την διδασκαλία της σημασιολογικής κατανόησης της φυσικής γλώσσας από τους υπολογιστές. Σε αυτό μπορεί να συνεισφέρει εν μέρει από ένα πλήρως αυτόνομο σύστημα ικανό να οργανώνει, να διαχειρίζεται και να ταξινομεί έγγραφα σημασιολογικά, με ελάχιστη εκπαίδευση. Η αξιοποίηση των δυνατοτήτων και της πολυχρηστικότητας της μάθησης και ταξινόμησης μηδενικών και λίγων βολών, καθώς και των σύγχρονων τεχνικών θεματικής μοντελοποίησης, μπορεί κανείς να αναπτύξει μια εφαρμογή που ως είσοδο λαμβάνει ακατέργαστα μη επισημειωμένα ή επεξεργασμένα δεδομένα και να επιστρέφει μια πλήρως λειτουργική εφαρμογή ερωτοαπαντήσεων. Στην προσπάθεια μεγιστοποίησης της πολυχρηστικότητας του εν λόγω συστήματος, η παρούσα διπλωματική εργασία ερευνεί και αξιολογεί την βιωσιμότητα ενός συστήματος τέτοιας φύσεως. Δεδομένου ότι ο τελικός σκοπός είναι η δομημένη πληροφορία και η αποτελεσματική ανάκτηση της, θα εξεταστεί η υπόθεση της αποκεντρωμένης προσέγγισης, καθώς μειώνονται σημαντικά οι απαιτήσεις υπολογιστικής ισχύος και αποθηκευτικού χώρου. Μέσω δοκιμών και πειραμάτων τα παραγόμενα δεδομένα φαίνεται να υποστηρίζουν την υπόθεση υπέρ ενός τέτοιου συστήματος, και δυνητικά με διάφορα πλεονεκτήματα υπέρ ενός αντίστοιχου αλλά ενιαίου συστήματος.
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
Η συνεχής ανάπτυξη της τεχνολογίας έχει εδραιώσει τη χρήση γραφικών διεπαφών ως έναν εύχρηστο και χρήσιμο τρόπο αλληλεπίδρασης με έναν υπολογιστή. Παράλληλα η εξάπλωση του ηλεκτρονικού εμπορίου, που αποτελεί πλέον κυρίαρχο τρόπο πραγματοποίησης εμπορικών συναλλαγών, αλλάζει τα εμπορικά δεδομένα. Αυτά καθιστούν απαραίτητο τον εκσυγχρονισμό των επιχειρήσεων και την αναπροσαρμογή των πολιτικών και στρατηγικών τιμολόγησης που θα υιοθετήσουν, ώστε οι τιμές και οι προωθητικές τους ενέργειες να είναι ανταγωνιστικές, να συμβάλλουν στην επίτευξη των στόχων τους και στην μεγιστοποίηση των κερδών τους μέσα από ένα φιλικό γραφικό περιβάλλον διεπαφής. Η παρούσα διπλωματική εργασία πραγματεύεται τον σχεδιασμό και την ανάπτυξη μιας γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στόχο την εξέλιξη τεχνικών δυναμικής τιμολόγησης. Η γραφική διεπαφή που αναπτύσσεται περιέχει μια φόρμα συμπλήρωσης των παραμέτρων ενός αλγοριθμικού μοντέλου στρατηγικών τιμολόγησης, ένα περιβάλλον γραφικής οπτικοποίησης των εισόδων του χρήστη και ένα αντίστοιχο περιβάλλον προβολής των αποτελεσμάτων του συστήματος.
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
Βασικό χαρακτηριστικό της σημερινής εποχής είναι η ταχύτατη διακίνηση της πληροφορίας. Η ποικιλία και ο τεράστιος όγκος των μεταδιδόμενων πληροφοριών δεν επιτρέπουν πάντα τον έλεγχο της εγκυρότητάς τους πριν τη μαζική αναπαραγωγή τους, με αποτέλεσμα να εμφανίζεται έντονα το φαινόμενο της παραπληροφόρησης. Παλαιότερα ο έλεγχος των ειδήσεων πραγματοποιούνταν χειροκίνητα, ωστόσο πλέον η ανάγκη ανάπτυξης αυτόματων συστημάτων διασταύρωσης της πληροφορίας κρίνεται επιτακτική. Στο πλαίσιο της παρούσας διπλωματικής εργασίας αναπτύσσεται ένα end to end σύστημα ανίχνευσης ψευδών ειδήσεων, το οποίο αποτελείται από επιμέρους εξαρτήματα που ακολουθούν την παρακάτω συλλογιστική πορεία. Σε πρώτη φάση ανιχνεύονται προτάσεις που αξίζει να ελεγχθούν ως προς την ορθότητά τους. Για κάθε μία από αυτές, συγκεντρώνεται ένας αριθμός εγγράφων από μια βάση ‘αλήθειας’, τα οποία λειτουργούν ως αποδεικτικά στοιχεία. Τέλος, με βάση τα παραπάνω αποδεικτικά έγγραφα λαμβάνεται μία απόφαση σχετικά με την εγκυρότητα των προτάσεων που επιλέγονται. Για τη δημιουργία του παραπάνω συστήματος αξιοποιείται το σύνολο δεδομένων FEVER, το οποίο περιέχει προτάσεις γενικού ενδιαφέροντος. Εξετάζεται η απόδοση των προ-εκπαιδευμένων μοντέλων BERT, RoBERTa, DistilBERT και SqueezeBERT τα οποία εκπαιδεύονται σε τμήμα του συνόλου. Διερευνάται η επιρροή του ρυθμού και του αριθμού εποχών εκπαίδευσης στην επίδοσή τους, καθώς και η συμπεριφορά τους σε απλές και σύνθετες διεργασίες, όπως είναι ο εντοπισμός των προτάσεων προς εξέταση και η επαλήθευσή τους αντίστοιχα. Για την ανάκτηση των απαραίτητων εγγράφων που χρησιμοποιούνται για την επαλήθευση της ορθότητας των προτάσεων, αξιοποιούνται αλγόριθμοι που στηρίζονται στα λεξιλογικά χαρακτηριστικά των κειμένων, BM25, αλλά και Sentence Transformers, msmarco distilbert-base-tas-b, που έχουν την ικανότητα να αντιλαμβάνονται τα συμφραζόμενα των κειμένων. Τέλος, δημιουργείται μια εφαρμογή η οποία προσφέρει τη δυνατότητα στο χρήστη να καταθέτει την πρόταση του συνόλου ελέγχου που επιθυμεί να ελέγξει και παράλληλα οπτικοποιεί τα αποτελέσματα του συστήματος παρέχοντας αιτιολόγηση για κάθε απόφαση που λαμβάνεται. Τα πειραματικά αποτελέσματα καταδεικνύουν την απόδοση των επιλεγόμενων υλοποιήσεων στο σύνολο ελέγχου του FEVER Shared Task για κάθε διεργασία ξεχωριστά και το πως επηρεάζει την απόδοση ο συνδυασμός τους. Το σύστημα που προτείνεται επιτυγχάνει ακρίβεια πρόβλεψης 60.2% στο FEVER Shared Task, υπολείπεται 8% της καλύτερης υλοποίησης, και 58.12% στο σύνολο της διεργασίας, συμπεριλαμβανομένης της διαδικασίας ανίχνευσης ισχυρισμών, φανερώνοντας την πολυπλοκότητα δημιουργίας τέτοιων συστημάτων.
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
Η κατανεµηµένη φύση της τεχνολογίας Εξόρυξης ∆εδοµένων έχει στο παρελθόν
αντιµετωπιστεί επιτυχώς µε τη χρήση και αξιοποίηση της τεχνολογίας των Πρακτόρων Λογισµικού, οι οποίοι καταµερίζουν τις εργασίες, συνεργάζονται και συγχρονίζονται έτσι ώστε να φτάσουν στον τελικό τους στόχο, την εξαγωγή χρήσιµης γνώσης. Μια σειρά από εξελιγµένα εργαλεία Εξόρυξης ∆εδοµένων έχουν ήδη αναπτυχθεί, αποδεικνύοντας ότι η Πολυπρακτορική Τεχνολογία µπορεί πράγµατι να χρησιµοποιηθεί για να επιλύσει τέτοιου είδους προβλήµατα. Αντιστρέφοντας τους ρόλους του σκοπού και του µέσου, όµως, γνώση η οποία εξάγεται µε τη χρήση τεχνικών Εξόρυξης ∆εδοµένων δεν έχει χρησιµοποιηθεί για τη βελτίωση Πολυπρακτορικών Συστηµάτων. Περιορισµοί οι οποίοι σχετίζονται µε τη
διαφορετική φύση της λογικής που υιοθετούν οι δυο εµπλεκόµενες τεχνολογίες
(επαγωγική για την Εξόρυξη ∆εδοµένων και συµπερασµατική για τα Πολυπρακτορικά
Συστήµατα), εµποδίζουν την απρόσκοπτη εφαρµογή της εξαγόµενης γνώσης στο
λογικό µοντέλο των πρακτόρων. Εάν αυτοί οι περιορισµοί υπερκεραστούν, τότε ο
συγκερασµός των δυο τεχνολογιών θα καταστεί εφικτός.
Στα πλαίσια της διατριβής αυτής παρουσιάζεται µια ενοποιηµένη µεθοδολογία, η
οποία επιτρέπει την εφαρµογή δυναµικών, σύνθετων και ανανεώσιµων κανόνων σε
πολυπρακτορικά συστήµατα. Οι κανόνες αυτοί εξάγονται µε τη χρήση τεχνικών
Εξόρυξης ∆εδοµένων, σε πράκτορες και πολυπρακτορικά συστήµατα. Η µεθοδολογία
αυτή αναγνωρίζει τρεις διαφορετικούς τύπους γνώσης, η οποία προέρχεται από την
εφαρµογή τεχνικών Εξόρυξης ∆εδοµένων, και ανάλογα διαφοροποιεί το µοντέλο
διάχυσής της. Οι τρεις αυτοί τύποι γνώσης είναι: α) γνώση η οποία εξάγεται µε τη
χρήση τεχνικών Εξόρυξης ∆εδοµένων στα ιστορικά δεδοµένα µιας εφαρµογής, β)
γνώση η οποία εξάγεται µε τη χρήση τεχνικών Εξόρυξης ∆εδοµένων στα ιστορικά
δεδοµένα των συµπεριφορών των πρακτόρων µιας εφαρµογής και, γ) γνώση η οποία
εξάγεται µε τη χρήση εξελικτικών τεχνικών Εξόρυξης ∆εδοµένων σε πολυπρακτορικές κοινωνίες. Στη διατριβή αυτή µελετάται η δυνατότητα εφαρµογής των τεσσάρωνκυρίαρχων τεχνικών Εξόρυξης ∆εδοµένων σε πολυπρακτορικά συστήµατα:
Οµαδοποίηση για διαχωρισµό, Ταξινόµηση για κατηγοριοποίηση και πρόβλεψη,
εξαγωγή Κανόνων Συσχέτισης για ανακάλυψη συσχετισµών και Γενετικοί αλγόριθµοι
για αυτό-οργάνωση. Για την υλοποίηση και επίδειξη της δυναµικής ενσωµάτωσης
γνώσης σε πράκτορες αναπτύχθηκε ο Data Miner, ένα εργαλείο που περιγράφεται στο Κεφάλαιο 4. Για κάθε έναν από τους τρεις διαφορετικούς τύπους γνώσης αναπτύχθηκε και ένα αντιπροσωπευτικό Πολυπρακτορικό Σύστηµα, του οποίου και γίνεται εκτενής παρουσίαση (Κεφάλαια 5-7). Τέλος, η παρούσα διατριβή πραγµατεύεται και το θέµα της βελτίωσης του γνωσιακού µοντέλου των πρακτόρων, µε την επανάληψη της διαδικασίας χρήσης τεχνικών Εξόρυξης ∆εδοµένων πάνω σε σύγχρονα και ενηµερωµένα δεδοµένα (Επανεκπαίδευση – Κεφάλαιο 8). Τα συµπεράσµατα από την εκπόνηση της διατριβής και πιθανές µελλοντικές επεκτάσεις συνοψίζονται στο Κεφάλαιο 9.
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
Όπως έχει αποτυπωθεί στην ιστορία μέσω των συντελεσθεισών βιομηχανικών
επαναστάσεων, βαρύνουσας σημασίας στην εξέλιξη της ανθρωπότητας υπήρξε, και συνεχίζει να είναι, η αυτοματοποίηση διαδικασιών στην επαγγελματική και ιδιωτική ζωή του ανθρώπου. Η εξάπλωση της τεχνολογίας σε αυτές και η δεσπόζουσα θέση του διαδικτυακού «παράλληλου σύμπαντος», οδηγούν στην ψηφιοποίηση ολοένα και περισσότερων διαδικασιών, που επομένως βασίζονται σε Λογισμικό. Συνεπώς, το στοίχημα κάλυψης της ταχέως αυξανόμενης ανάγκης ψηφιοποίησης αποτελεί η έτι περαιτέρω αυτοματοποίηση της παραγωγής Λογισμικού μέσω της ανάπτυξης νέων μεθοδολογιών, στοχεύοντας στην παραγωγή ορθού και ποιοτικού Λογισμικού. Στο πλαίσιο αυτό, η παρούσα διατριβή πραγματεύεται τη σχεδίαση και εφαρμογή καινοτόμων μηχανισμών για την αυτοματοποίηση των διαδικασιών παραγωγής λογισμικού, εν προκειμένω RESTful Διαδικτυακών Υπηρεσιών. Προς επίτευξη των στόχων αυτής (μεταξύ άλλων και η ανάπτυξη αντίστοιχου Μηχανισμού Αυτοματοποίησης), χρησιμοποιείται ως μέσο αυτοματοποίησης η Μηχανική Λογισμικού Οδηγούμενη από Μοντέλα, με τους βασικούς δομικούς λίθους της οποίας (μετα-μοντέλα και μετασχηματισμούς) επιχειρείται η επίτευξη αυτοματοποίησης στο ευρύτερο πεδίο
των RESTful διαδικτυακών υπηρεσιών.
Στη συνεισφορά της παρούσας διατριβής στον τομέα της αυτοματοποίησης
συγκαταλέγεται καταρχάς, η διδιάστατη Αρχιτεκτονική Μηχανισμών αυτοματοποίησης με χρήση Μηχανικής Λογισμικού Οδηγούμενης από Μοντέλα, η οποία διευκολύνει την παραλληλοποίηση της ανάπτυξής τους, τη μείωση της πολυπλοκότητάς τους και αυξάνει την συντηρησιμότητα και επεκτασιμότητά τους. Επιπλέον, συνοδεύεται από μία συνεκτική στρατηγική διάσπασης του συνολικού προβλήματος σε μικρότερα, τόσο σε επίπεδο μετα-μοντέλων όσο και σε επίπεδο μετασχηματισμών, λαμβάνοντας υπόψιν τα εγγενή αίτια πολυπλοκότητας της μεθοδολογίας, προκειμένου να διευκολύνει επιπλέον την κατασκευή τους.
Ακολούθως, συνεισφέρει μετα-μοντέλα και μετασχηματισμούς που αφορούν την
αυτοματοποίηση των πτυχών των Διαδικτυακών Υπηρεσιών με τις οποίες ασχολείται όπως: α) δόμηση συστημάτων αρχιτεκτονικής REST, β) με δυνατότητες ταυτοποίησης χρήστη, γ) εξουσιοδότησης χρήστη, δ) αυτόματης εφαρμογής Προτύπων Σχεδίασης για την ικανοποίηση μη λειτουργικών πτυχών αυτών, ε) αναζήτησης δεδομένων, ζ) αλληλεπίδρασης με υπάρχουσες υπηρεσίες στο Διαδίκτυο και, τέλος, η) δυνατότητας μετασχηματισμού υπηρεσιών σε RESTful με ταυτόχρονη διατήρηση των δεδομένων τους.
Τέλος, η παρούσα διατριβή απαντά σε ερευνητικά ερωτήματα που άπτονται: α) της βελτίωσης της παραγωγικότητας των Μηχανικών Λογισμικού για την παραγωγή RESTful Διαδικτυακών Υπηρεσιών, β) της βελτίωσης της παραγωγικότητάς τους κατά την εφαρμογή Προτύπων Σχεδίασης για την επίλυση συχνά συναντώμενων προβλημάτων, γ) την εκτίμηση του χάσματος προσπάθειας ανάμεσα σε ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
Οι ολοένα αυξανόμενες απαιτήσεις των σύγχρονων έργων λογισμικού τόσο σε
λειτουργικό, όσο και σε μη λειτουργικό επίπεδο έχουν καταστήσει παραπάνω από
εμφανή την ανάγκη επόπτευσης της ποιότητάς τους. Το γεγονός αυτό
καταδεικνύεται από το μεγάλο ποσοστό των έργων λογισμικού που αποτυγχάνουν,
καθώς αδυνατούν να ικανοποιήσουν τις προδιαγραφές που έχουν τεθεί στα
πλαίσια ενός σαφούς χρονοδιαγράμματος και εντός προϋπολογισμού. Η απάντηση
στην πρόκληση αυτή εντοπίζεται στην ανάπτυξη μεθοδολογιών και τεχνικών
αποτίμησης της ποιότητας λογισμικού, διαδικασία που αποτελεί ανοιχτό πεδίο
ερευνητικού ενδιαφέροντος και συγκεντρώνει μεγάλη απήχηση εδώ και δεκαετίες.
...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
Ως γνωστόν, οι επιστήμες της ρομποτικής και των Κυβερνοφυσικών Συστημά-
των (ΚΦΣ) καλύπτουν/απαιτούν ένα ευρύ φάσμα γνώσεων στα πεδία του υλικού,
του λογισμικού, των συστημάτων, των αλγορίθμων μηχανικής μάθησης κ.α., καθι-
στώντας τον έλεγχο ενός ρομπότ, ή μίας συσκευής, μία χρονοβόρα και δύσκολη
διαδικασία, ακόμη και για κάποιον εξοικειωμένο με τους συγκεκριμένους τομείς.
Από την άλλη, η ραγδαία εξέλιξη στους κλάδους της ρομποτικής, του διαδικτύου
των πραγμάτων (IoT) και των σύγχρονων ΚΦΣ, έχει ως αποτέλεσμα την ανάπτυ-
ξη διάφορων τεχνολογιών και εργαλείων υποστήριξης της ανάπτυξης συστημάτων
και εφαρμογών τα τελευταία χρόνια. Η υψηλή ετερογένεια που συναντάμε στα
συστήματα αυτά, βασίζεται κυρίως στην διασύνδεση του φυσικού και του ψηφια-
κού κόσμου, αλλά και στην πληθώρα των διαθέσιμων τεχνολογιών και εργαλείων
σχεδίασης, ανάπτυξης και εγκατάστασης. Παραδείγματα σύγχρονων ΚΦΣ είναι τα
έξυπνα σπίτια και οι έξυπνες υποδομές γενικότερα, καθώς και τα ψηφιακά δίδυμα.
Τα συστήματα αυτά αποτελούνται από φυσικές συσκευές, οι οποίες αλληλεπιδρούν
με το φυσικό περιβάλλον μέσω των αισθητήρων και ενεργοποιητών που διαχειρί-
ζονται, καθώς και από ψηφιακές οντότητες, οι οποίες είναι υπεύθυνες για την δια-
σύνδεση, την επεξεργασία, την παρακολούθηση, τον έλεγχο και την ενορχήστρωση
σε επίπεδο συστήματος και εφαρμογής.
Η παρούσα διδακτορική διατριβή επικεντρώνεται στο πρόβλημα της μέτα-μοντε-
λοποίησης των φάσεων σχεδίασης (design), υλοποίησης (implementation) και α-
νάπτυξης (deployment) Κυβερνοφυσικών Συστημάτων (ΚΦΣ). Συγκεκριμένα, στα
πλαίσια της διατριβής μελετήθηκαν και εφαρμόστηκαν τεχνικές μηχανικής λογισμι-
κού οδηγούμενης από μοντέλα για την ανάπτυξη μιας μεθοδολογίας και αντίστοι-
χων Γλωσσών Ειδικού Πεδίου (Domain Specific Languages - DSLs) για την αυτο-
ματοποίηση των προαναφερθεισών φάσεων. Βασικός στόχος της διατριβής είναι η
συστηματοποίηση των διαδικασιών ανάπτυξης σύγχρονων συστημάτων και εφαρ-
μογών ΚΦΣ, με χρήση υψηλού επιπέδου εργαλείων, μεσολογισμικού και γλωσσών
ειδικού πεδίου. Η διατριβή εστιάζει σε συσκευές ανοικτού υλικού και λογισμι-
κού (open hardware/open software), ενώ στοχεύει να διευκολύνει την ανάπτυξη
εφαρμογών από μη ειδικούς του πεδίου (citizen developers) μέσω της χρήσης των
μέτα-μοντέλων και των γλωσσών που αναπτύχθηκαν στα πλαίσια της διατριβής.
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
Η ανάγκη για την αποτελεσματική ανάπτυξη και συντήρηση λογισμικού έχει εντοπιστεί εδώ και αρκετό καιρό στο σχετικό κλάδο της Τεχνολογίας Λογισμικού. Σήμερα, ωστόσο, με την εισαγωγή νέων πρακτικών ανάπτυξης λογισμικού και πρωτοβουλιών λογισμικού ανοικτού κώδικα, τα δεδομένα λογισμικού που μπορεί να βρει κανείς στο διαδίκτυο είναι άφθονα, επομένως η πρόκληση που προκύπτει είναι η αποτελεσματική αξιοποίησή τους για την παραγωγή καλύτερων προϊόντων λογισμικού. Και η πρόκληση αυτή αποτελεί στην πραγματικότητα ένα πρόβλημα επαναχρησιμοποίησης. Στο πλαίσιο αυτής της διατριβής προτείνουμε μια ενιαία προσέγγιση που περιλαμβάνει την εφαρμογή τεχνικών εξόρυξης δεδομένων σε δεδομένα τεχνολογίας λογισμικού για τη διευκόλυνση της επαναχρησιμοποίησης σε διάφορες φάσεις του κύκλου ζωής του λογισμικού. Η μεθοδολογία μας προτείνει λύσεις για τη φάση του καθορισμού των απαιτήσεων και της εξαγωγής προδιαγραφών, τις φάσεις της σχεδίασης και ανάπτυξης λογισμικού, ενώ συμβάλλει επίσης στην αξιολόγηση της ποιότητας και τον έλεγχο του λογισμικού.
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
Η ταχεία παραγωγή έργων λογισµικού σε ανταγωνιστικές αγορές πλέον επιτάσσει
αυτοµατοποίηση των ϕάσεων σχεδίασης και ανάπτυξης. Οι µηχανικοί λογισµικο-
ύ εξοικειώνονται συνεχώς µε νέα εργαλεία και τεχνολογίες που εξασφαλίζουν την
ορθή εφαρµογή σύγχρονων µεθοδολογιών, αλλά καλούνται συχνά να παράξουν
λογισµικό και σε πεδία εφαρµογής µε τα οποία δεν είναι εξοικειωµένοι, πάντο-
τε προσπαθώντας να ικανοποιήσουν τον προϊοντικό χάρτη στον οποίο εργάζονται.
Η παρούσα διδακτορική διατριβή έχει ως στόχο να ϐοηθήσει τους µηχανικούς
σε αυτήν τους την προσπάθεια εισάγοντας µια επικουρική µεθοδολογία ανάπτυ-
ξης. Αυτή ϐασίζεται στην ανάλυση της διαθέσιµης πεδιακής γνώσης προηγούµενων
έργων λογισµικού µε συστήµατα τεχνητής νοηµοσύνης και στη µερικώς αυτοµα-
τοποιηµένη συγγραφή πηγαίου κώδικα µε νέες τεχνικές. Για την ακρίβεια, προ-
τείνεται µια ϱοή ανάπτυξης και µια σειρά ϑεωρητικών και πρακτικών εργαλείων
τα οποία ϐοηθούν στη διερεύνηση υπαρχουσών λύσεων, την κατανόησή τους, και
τη συγγραφή πηγαίου κώδικα για την παραγωγή επαναχρησιµοποιήσιµων έργων
λογισµικού. Η προτεινόµενη µεθοδολογία µπορεί να υιοθετηθεί τόσο από νέους
όσο και από πεπειραµένους µηχανικούς για την επιτάχυνση της διαδικασίας α-
νάπτυξης λογισµικού σε νέα (για αυτούς) πεδία εφαρµογής.
Camera-based localization of annotated objects in indoor environmentsISSEL
As the demands increases, the detection and monitoring of motion are increasingly recognized as significant features in every vision system designed to operate in an uncontrolled, indoor environment. From the autonomous navigation and execution of tasks that require interaction with the environments, to simple monitoring, position detection is considered essential. Due to the variety of the system requirements, several detection approaches have been implemented based on indoor or outdoor sensors. However, one of the most important cases of external sensors are cameras. This dissertation aims to introduce the usage of visual patterns as landmarks to detect the pattern’s exact position by a camera system located in the environment. This attempt could be possibly considered as the main contribution of this thesis, since it introduces a universal way of position detection that can be integrated in various systems regardless of type and task to be implemented. To achieve these goals, three patterns were created, -one with LEDs, one with colors and QR codes, which are based on different recognition principles in order to conclude which one results to more accurate detection over a wide range of conditions. The methodology built has proven to be effective and highly accurate during the experimental process on a small scale environment for all different patterns.
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
Η ανίχνευση και η παρακολούθηση κίνησης αναγνωρίζονται όλο και περισσότερο ως σημαντικές δυνατότητες σε κάθε σύστημα όρασης σχεδιασμένο να λειτουργεί σε μη ελεγχόμενο, εσωτερικό περιβάλλον καθώς αυξάνονται όλο ένα και περισσότερο οι απαιτήσεις. Από την αυτόνομη πλοήγηση και την επιτέλεση εργασιών που απαιτούν αλληλεπίδραση με το περιβάλλον, μέχρι και την απλή παρακολούθηση αποτελούν δραστηριότητες που ωθούν την ανάπτυξη τεχνολογιών για την δημιουργία ενός εύρωστου τρόπου εντοπισμού της θέσης. Λόγω της ποικιλομορφίας των απαιτήσεων των συστημάτων, έχουν αναπτυχθεί τρόποι εντοπισμού που βασίζονται είτε σε εσωτερικούς είτε σε εξωτερικούς αισθητήρες. Στην περίπτωση των εξωτερικών αισθητήρων από τους πιο σημαντικούς αποτελούν οι κάμερες. Στη διπλωματική αυτή, εισάγεται η χρήση εξωτερικών μοτίβων σαν ορόσημα για την αναγνώριση και τον εντοπισμό της ακριβούς θέσης από ένα σύστημα καμερών που είναι τοποθετημένο στο περιβάλλον. Αυτό μπορεί να θεωρηθεί ενδεχομένως και ως η σημαντικότερη συνεισφορά της διπλωματικής καθώς εισάγει έναν καθολικό τρόπο εντοπισμού, που μπορεί να ενσωματωθεί σε διάφορα συστήματα ανεξάρτητα από το είδος τους και τις εργασίες που επιθυμούμε να υλοποιούν. Για να επιτευχθούν αυτοί οι στόχοι δημιουργήθηκαν τρία διαφορετικά μοτίβα, -ένα με led, ένα με χρώματα και QR Codes βασισμένα σε διαφορετικές αρχές αναγνώρισης με σκοπό να μελετήσουμε ποιο λειτουργεί πιο εύρωστα σε μεγαλύτερο εύρος συνθηκών. Η μεθοδολογία αποδείχθηκε αποτελεσματική και με μεγάλη ακρίβεια στην πειραματική διαδικασία σε ένα περιβάλλον μικρής κλίμακας για όλα τα διαφορετικά μοτίβα.
4. Συστήματα Κοινωνικής Επισήμανσης
(Social Tagging Systems)
Δίνουν της δυνατότητα στους χρήστες:
• Να μοιράζονται ποικίλου περιεχομένου δεδομένα, όπως
φωτογραφίες, βίντεο, επισημάνσεις (bookmarks)
• Να αλληλεπιδρούν με τα δεδομένα μέσω του σχολιασμού
της αξιολόγησης ή της προθήκης ετικετών (tags)
Χαρακτηρίζονται από:
• Μεγάλο όγκο δεδομένων
• Θόρυβο
• Δυναμικότητα
Αντικείμενο Διπλωματικής (1)
5. Αντικείμενο Διπλωματικής (2)
Μέχρι πρότινος
Χρήση Στατικών Γράφων
Οργάνωση των δεδομένων
Τα τελευταία χρόνια
Χρήση Εξελισσόμενων Γράφων
Οργάνωση δεδομένων και
Παρακολούθηση της εξέλιξής τους
6. Αντικείμενο Διπλωματικής (3)
Οι μέθοδοι Ανίχνευσης Κοινοτήτων σε Εξελισσόμενους Γράφους χρησιμοποιούνται
πέρα από την Ανίχνευση Κοινοτήτων για την αναγνώριση:
• Τάσεων που επικρατούν σε ένα Κοινωνικό Δίκτυο
• Ανωμαλιών στην εξέλιξη ενός Κοινωνικού Δικτύου
9. Μεταβολές του Δυναμικού Γράφου
Μεταβολές που σχετίζονται με τη δομή των κοινοτήτων
Μεγέθυνση
1) Διατήρηση Κοινότητας Ωρίμανση
2) Αφανισμός Κοινότητας Συρρίκνωση
3) Ανάδυση Κοινότητας
3) Συγχώνευση Κοινότητας
4) Διάσπαση Κοινότητας
Μεταβολές που σχετίζονται με τη δομή του γράφου
1) Προσθήκη/Διαγραφή Κόμβων
2) Προσθήκη/Διαγραφή Ακμών
12. Ο Αλγόριθμος GraphScope
Έχοντας δεδομένη μια αλληλουχία διμερών γράφων G1, G2, … Gt ο
αλγόριθμος στοχεύει:
1. να ομαδοποιήσει τα στιγμιότυπα σε τμήματα γράφων G(1), G(2), …
2. για κάθε τμήμα να ανιχνεύσει τις κατατμήσεις προέλευσης και
προορισμού
3. να επιτύχει όλα τα παραπάνω χωρίς τη ρύθμιση παραμέτρων από το χρήστη
G(1) G(2)
time
17. Περιορισμοί Αλγορίθμου
Αδυναμία ανίχνευσης κοινοτήτων σε γράφους που χαρακτηρίζονται από:
• Συμμετρική δομή κοινοτήτων
• Μηδενικό θόρυβο εντός των κοινοτήτων
• Μηδενικό θόρυβο εκτός των κοινοτήτων
iℓ [niH(pi,qi)]d
Αριθμός ακμών της i στήλης
Πυκνότητα ακμών
της i στήλης
Πυκνότητα ακμών
της i κατάτμησης
19. Αξιολόγηση Ανίχνευσης Κοινοτήτων
Με χρήση μέτρου ομοιότητας: Υπολογισμός Normalized
Mutual Information (NMI) για την σύγκριση των κοινοτήτων που
ανίχνευσε ο αλγόριθμος με τις ‘’σωστές’’.
• Απαραίτητη η γνώση της ‘’σωστής’’ δομής των κοινοτήτων (ground truth)
• Κατάλληλο για αξιολόγηση ομάδων από συνθετικούς γράφους
Με χρήση στατιστικής μεθόδου: Δημιουργία δύο κατανομών
που αντιστοιχούν στις συνάφεια των κόμβων που βρίσκονται
στην ίδια κοινότητα και αυτών που βρίσκονται σε διαφορετική
• Δεν είναι απαραίτητη η γνώση της σωστής δομής των κοινοτήτων
• Κατάλληλο για αξιολόγηση ομάδων πραγματικών δεδομένων (π.χ.
ετικετών)
20. Αξιολόγηση Ομάδων Ετικετών
Για την αξιολόγηση των ομάδων ετικετών γίνεται χρήση του
Normalized Google Distance (NGD):
Ακολουθείται η εξής διαδικασία:
1. Χρησιμοποιώντας το NGD (Normalized Google Distance)
υπολογίζουμε δύο κατανομές:
- Fsame, NGD μεταξύ ετικετών της ίδιας κοινότητας
- Fdiff, NGD μεταξύ ετικετών διαφορετικής κοινότητας
2. Χρήση Kolmogorov-Smirnov τεστ για τη σύγκριση των δύο
κατανομών
- Ελέγχεται η μηδενική υπόθεση Fsame = Fdiff
- Εναλλακτική υπόθεση Fsame < Fdiff
Αποδεκτό επίπεδο σημαντικότητας (pvalue) κατά τo οποίο απορρίπτεται η
μηδενική υπόθεση < 0.1
21. Αξιολόγηση Ανίχνευσης Οροσήμου
• Για τον υπολογισμό της ομοιότητας των διαδοχικών
κατατμήσεων κάνουμε χρήση του NMI
• Για τον υπολογισμό της ομοιότητας των διαδοχικών
στιγμιοτύπων του γράφου κάνουμε χρήση του NS
Το εύρος του NS παίρνει είναι [-1,1].
- Αρνητικές τιμές NS μεταφράζονται συγχώνευση τους νέου
στιγμιοτύπου με το προηγούμενο τμήμα
-Θετικές τιμές NS μεταφράζονται σε δημιουργία νέου τμήματος
• Συγκρίνουμε την ομοιότητα των διαδοχικών κατατμήσεων με
τα διαδοχικά στιγμιότυπα του γράφου
22. Περιγραφή Στατικών Γράφων Αναφοράς
Στατικοί Γράφοι Αναφοράς
Υλοποιήθηκαν τρεις μέθοδοι για την παραγωγή στατικών γράφων αναφοράς
οι οποίες διακρίνονται ως προς την συμμετρία των γράφων που παράγουν:
• Static Benchmark 1, Πλήρης Συμμετρία
• Static Benchmark 2, Ασυμμετρία Κοινοτήτων
• Static Benchmark 3, Πλήρης Ασυμμετρία
25. Περιγραφή Δυναμικών Γράφων Αναφοράς
Δυναμικοί Γράφοι Αναφοράς
Χρησιμοποιήθηκαν τα τέσσερα συνθετικά σύνολα δεδομένων που παρουσιάζονται
στην εργασία [Greene + 2011], τα οποία:
• Αποτελούνται από πέντε στιγμιότυπα γράφων
• Κάθε στιγμιότυπο αποτελείται από 1,500 κόμβους προέλευσης και 1,000
κόμβους προορισμού οι οποίο ανήκουν σε οχτώ ενσωματωμένες κοινότητες.
• Οι κοινότητες μεταβάλλονται σε κάθε χρονικό βήμα, αφού οι κόμβοι αλλάζουν
κοινότητα σύμφωνα με κάποια πιθανότητα (Pswap = 0.1, 0.2, 0.3, 0.4).
29. Περιγραφή Πραγματικού Κοινωνικού
Γράφου
Διαδικασία Κατασκευής Κοινωνικού Δυναμικού Γράφου
1. Κατασκευή Dataset: Κατασκευή συνόλου δεδομένων που
καταγράφει τη δραστηριότητα στη εφαρμογή Delicious τη θερινή
περίοδο του 2006
2. Διαχωρισμός σε χρονικά βήματα: Χωρίζουμε το σύνολο
δεδομένων ανά εβδομάδα σε 12 υποσύνολα που αντιστοιχούν
στα στιγμιότυπα του γράφου
3. Φιλτράρισμα: Μετράμε τις 3,000 πιο συχνά εμφανιζόμενες
επισημάνσεις και τις 1,500 ετικέτες στο συνολικό σύνολο
δεδομένων
4. Κατασκευή δυναμικού γράφου: Κατασκευάζουμε τα στιγμιότυπα
των διμερών γράφων που αντιστοιχούν σε κάθε εβδομάδα και
αντικατοπτρίζουν τις συσχετίσεις μεταξύ επισημάνσεων και
ετικετών
34. Συμπεράσματα
• Ο εξεταζόμενος αλγόριθμος επιτυγχάνει υψηλές επιδόσεις ακόμα
και σε υψηλά επίπεδα θορύβου
• Για να ανιχνευθεί ορόσημο πρέπει τουλάχιστον το 20% των
κόμβων του γράφου να έχουν αλλάξει κοινότητα
• Η αρχικοποίηση με την προσέγγιση resume υπερισχύει της
προσέγγισης fresh start.
• Η τροποποίηση με του κόστους με την μετρική gini απορρίπτεται
• Αδυναμία αλγορίθμου να ανιχνεύσει τις ‘’σωστές’’ κοινότητες όταν
ο γράφος χαρακτηρίζεται από συμμετρική δομή και μηδενικό
θόρυβο
35. Μελλοντική Επεκτάσεις
• Εφαρμογή σε δυναμικούς γράφους μεγαλύτερης κλίμακας
(<10,000 κόμβους)
• Επέκταση του αλγορίθμου έτσι ώστε να μπορεί να αναλύει
γράφους με βάρη
• Τροποποίηση του αλγορίθμου έτσι ώστε να μπορεί να αναλύει
μονομερείς γράφους
• Εφαρμογή σε άλλα Κοινωνικά Δίκτυα (Twitter, Flickr)
Τα τελευταία χρόνια, η εμφάνιση του Web 2.0 εισήγαγε νέες τεχνολογίες στις οποίες η οργάνωση της γνώσης προσέλαβε περισσότερο κοινωνικό χαρακτήρα, με την έννοια ότι ο ρόλος των χρηστών είναι πλέον περισσότερο ενεργός. Αυτές οι τεχνολογίες οδήγησαν στη δημιουργία Συστημάτων Κοινωνικής Επισήμανσης (Social Tagging Systems), τα οποία ανήκουν στην ευρύτερη κατηγορία των Κοινωνικών Δικτύων[1]. Χάρη σε αυτά οι χρήστες (users) έχουν τη δυνατότητα [2] να μοιράζονται ποικίλου περιεχομένου δεδομένα, όπως φωτογραφίες ή βίντεο και να αλληλεπιδρούν με αυτά μέσω του σχολιασμού, της αξιολόγησης ή της προσθήκης ετικετών. Να σημειώσουμε ότι οι ετικέτες αποτελούνται από λέξεις-κλειδιά που και ορίζουν μια σύντομη περιγραφή του περιεχομένου. Επιπλέον τα συστήματα αυτά χαρακτηρίζονται από μεγάλο όγκο δεδομένων, θόρυβο αλλά και δυναμικότητα καθώς προσθέτονται συνεχώς νέα δεδομένα. Τυπικά παραδείγματα τέτοιων συστημάτων αποτελούν το youtube, flickr και delicious [4].
Αναλυτικότερα, το Delicious με το οποίο θα ασχοληθούμε και στη συνέχεια αποτελεί έναν από του μεγαλύτερους διαδικτυακούς τόπους αποθήκευσης και διαμοιρασμού υπερσυνδέσμων. Οι χρήστες που χρησιμοποιούν τη συγκεκριμένη εφαρμογή έχουν τη δυνατότητα να συλλέγουν και να περιγράφουν με ετικέτες υπερσυνδέσμους προς διαδικτυακές πηγές. Σύμφωνα με τις πιο πρόσφατες μετρήσεις αριθμεί 5 εκατομμύρια χρήστες και πάνω από 180 εκατομμύρια υπερσυνδέσμους, πολλοί από τους οποίους όμως έχουν spam. Τέλος, αξίζει να σημειώσουμε ότι παρότι το Delicious αποτελεί μια από τις μεγαλύτερες βιβλιοθήκες υπερσυνδέσμων, αυξάνεται συνεχώς και με γρήγορο ρυθμό.
Ο όγκος των δεδομένων, όπως είναι κατανοητό είνα ιεξαιρετικά μεγάλος, κάτι το οποίο καθιστά επιτακτική την ανάγκη μονοντελοποίησης τους με σκοπό την οργάνωση και περαιτέρω ανάλυση.
Για την μοντελοποίηση τέτοιων συστημάτων μέχρι πρότινος γινόταν χρήσης στατικών γράφων, οι οποίοι προσφέρουν τη δυνατότητα αναπαράστασης του δικτύου με άμεσα και κατανοητά οπτικά μέσα, αλλά και την δυνατότητα εξαγωγής χρήσιμης πληροφορίας. Η ανάλυση τους επιτυγχάνεται με χρήση μεθόδων ανίχνευσης κοινοτήτων σε στατικούς γράφους, οι οποίοι επιλύουν το πρόβλημα της οργάνωσης των δεδομένων μέσω τις εύρεσης ομάδων κόμβων που παρουσιάζουν μεγαλύτερη συνδεσιμότητα μεταξύ τους παρά με άλλους κόμβους του δικτύου. Οι συγκεκριμένες ομάδες έχουν καθιερωθεί στη βιβλιογραφία ως κοινότητες. Παρόλα αυτά αδυνατούν να αντιμετωπίσουν την δυναμικότητα των δικτύων. Για αυτό το λόγω, τα τελευταία χρόνια έχουν προταθεί οι Εξελισσόμενοι ή Δυναμικού Γράφοι για την αναπαράσταση των οντοτήτων ενός δυναμικού δικτύου. Η ανάλυσή τους επιτυγχάνεται με την εφαρμογή μεθόδων Ανίχνευσης Κοινοτήτων σε Εξελισσόμενους Γράφους οι οποίοι παράλληλα με το πρόβλημα ανίχνευσης κοινοτήτων επιλύουν και το πρόβλημα παρακολούθησης της εξέλιξης του δυναμικού γράφου και κατ’ επέκταση των κοινοτήτων του. Έτσι μπορούμε να ορίσουμε κάποια πρότυπα εξέλιξης του δικτύου μέσω των οποίων οδηγούμαστε σε πολύ χρήσιμα συμπεράσματα.
[ΠΡΟΣΘΗΚΗ ΕΙΚΟΝΩΝ ΣΤΑΤΙΚΩΝ ΜΟΝΟΜΕΡΩΝ ΚΑΙ ΔΙΜΕΡΩΝ ΓΡΑΦΩΝ ΚΑΙ ΕΞΕΛΙΣΣΟΜΕΝΩΝ]
Κάποιες από τις κυριότητες εφαρμογές των μεθόδων ανίχνευσης κοινοτήτων σε εξελισσόμενους γράφους πέρα από την ανίχνευση κοινοτήτων είναι η αναγνώριση των τάσεων που επικρατούν σε ένα κοινωνικό δίκτυο κάθε χρονική στιγμή που εξετάζουμε, καθώς και η αγνώριστη ανωμαλιών σε ένα δίκτυο κάτι το οποίο σηματοδοτεί ένα σημαντικό γεγονός. Ένα τυπικό παράδειγμα φαίνεται στην εικόνα όπου απεικονίζεται ένα δυναμικός γράφος ο οποίος αποτελείται από πέντε διαδοχικά στιγμιότυπα. Ο γράφος αντικατοπτρίζει τις συσχετίσεις μεταξύ πελατών και προϊόντων. Όπως παρατηρούμε στο τελευταίο στιγμιότυπο παρατηρείται μια ανωμαλία στην εξέλιξη του δικτύου, λόγω της απότομης αύξησης της πυκνότητας των ακμών. Το συγκεκριμένο γεγονός σηματοδοτεί την αναγνώριση ενός σημαντικού γεγονότος (π.χ. Διακοπές Χριστουγέννων όπου οι αγορές παρουσιάζουν αύξηση επομένων οι συσχετίσεις των προϊόντων και των πελατών θα παρουσιάζουν μεγαλύτερη πυκνότητα).
Στην συνέχεια θα προχωρήσουμε στην περιγραφή της βιβλιογραφικής έρευνας που έγινε περιγράφοντας τις σημαντικότερες πτυχές τους ερευνητικού πεδίου που αφορά τους εξελισσόμενους γράφους. Πιο συγκεκριμένα περιγράφουμε τις σημαντικότερες μεταβολές που συμβαίνουν κατά την εξέλιξη ενός γράφου, καθώς και τις κατηγορίες μεθόδων ανίχνευσης κοινοτήτων σε εξελισσόμενους γράφους.
Αρχικά, θα περιγράψουμε τις κυριότερες μεταβολές που μπορεί να υποστεί ένας δυναμικός γράφος. Αυτές χωρίζονται σε δύο μεγάλες κατηγορίες: (1) Μεταβολές που σχετίζονται με τη δομή των κοινοτήτων και (2) Μεταβολές που σχετίζονται με τη δομή του γράφου. Όσον αφορά τη δομή των κοινοτήτων διακρίνουμε τις εξής μεταβολές: (1) Η κοινότητα διατηρείται, (2) Η κοινότητα αφανίζεται, (3) Η κοινότητα αναδύεται, (4) Η κοινότητα συγχωνεύεται και (5) Η κοινότητα διασπάται. Από την άλλη οι πιθανές μεταβολές στην δομή του γράφου είναι: (1) Προσθήκη/Διαγραφή Κόμβων και (2) Προσθήκη/Διαγραφή Ακμών.
Αναλυτικότερα, μια κοινότητα θεωρούμε ότι διατηρείται όταν εμφανίζεται σε ένα συνεκτική σε ένα μεγάλο μέρος της εξέλιξης του δυναμικού γράφου. Σημειώνεται ότι τα χρονικά βήματα στα οποία εμφανίζεται η κοινότητα δεν είναι απαραίτητο να είναι διαδοχικά. Κατά τη διατήρηση μια κοινότητας αν αυξάνεται σε αριθμό σε αριθμό μελών παρατηρείται το φαινόμενο της μεγέθυνσης, ενώ αν μειώνεται παρατηρείται το φαινόμενο της συρρίκνωσης. Επιπλέον, αν ο αριθμός των μελών παραμένει σταθερός, ενώ παράλληλα αυξάνεται ο αριθμός των μεταξύ τους διασυνδέσεων παρατηρείται το φαινόμενο της ωρίμανσης. Όταν μια κοινότητα συρρικνωθεί σε σημαντικό βαθμό τότε πολλές φορές παύει να αναγνωρίζεται ως ξεχωριστή οντότητα και τότε λέμε ότι αφανίστηκε. Στην αντίθετη περίπτωση, όταν προστίθενται νέες οντότητες που δεν εντάσσονται πλήρως στις ήδη υπάρχουσες κοινότητες τότε υπάρχει η πιθανότητα υπο κάποιες συνθήκες να δημιουργηθεί μια νέα κοινότητα φαινόμενο που αποκαλείται ανάδυση κοινότητας. Τέλος, δύο κοινότητες οι οποίες παρουσιάζουν πολλά κοινά χαρακτηριστικά μπορούν να συγχωνευτούν, ενώ από την άλλη μια κοινότητα που αποτελείται από πολλές υπο-κοινότητες μπορεί να διασπαστεί.
Όσον, αφορά τις μεταβολές που σχετίζονται με τη δομή του γράφου, αξίζει να σημειώσουμε ότι είναι δομικές δεδομένου ότι είναι υπεύθυνες για τις μεταβολές που συμβάινους σε επίπεδο κοινοτήτων.
[ΠΡΟΣΘΗΚΗ ΕΙΚΟΝΑΣ ΜΕΤΑΒΟΛΩΝ]
Τα τελευταία χρόνια πληθώρα μεθόδων έχουν προταθεί για την ανάλυση εξελισσόμενων γράφων. Στην παρούσα διπλωματική εργασία διακρίναμε τέσσερις κατηγορίες: (1) Διαδοχική Ομαδοποίηση, (2) Εξελικτική Ομαδοποίηση, (3) Ανίχνευση Οροσήμου και (4) Αλγόριθμοι Άμεσης Απόκρισης.
Οι μέθοδοι διαδοχικής ομαδοποίησης αποτελούν μια από τις πρώτες προσπάθειες έγιναν για τη μελέτη εξελισσόμενων γράφων. Σύμφωνα με αυτή την προσέγγιση αντιλαμβανόμαστε την εξέλιξη του γράφου ως διαδοχικά στιγμιότυπα τα οποία είναι ανεξάρτητα μεταξύ τους. Η διαδικασία ανίχνευσης κοινοτήτων αποτελείται από δυο στάδια. Κατά το πρώτο στάδιο εφαρμόζεται μια από τις μεθόδους ανίχνευσης κοινοτήτων σε στατικούς γράφους, ενώ στο δεύτερο στάδιο γίνεται προσπάθεια αντιστοίχησης των κοινοτήτων έτσι ώστε να ορίσουμε ένα πρότυπο εξέλιξης. Παρά την απλότητά η συγκεκριμένη κατηγορία μεθόδων χαρακτηρίζεται από υψηλό υπολογιστικό και αποθηκευτικό κόστος, εξαιτίας του τρόπου υπολογισμού και αποθήκευσης των κοινοτήτων.
Σε αντίθεση με την προηγούμενη μέθοδο που απαιτεί δύο βήματα για την ολοκλήρωσή της, η προσέγγιση της Εξελικτικής Ομαδοποίησης προσπαθεί μέσα από ένα ενοποιημένο πλαίσιο να ανιχνεύσει κοινότητες σε ένα γράφο που εξελίσσεται στο χρόνο. Σύμφωνα με την Εξελικτική Ομαδοποίηση η συμμετοχή ενός κόμβου σε μια κοινότητα τη χρονική στιγμή t, εξαρτάται από τη συσχέτιση που έχει με τους άλλους κόμβους της κοινότητας, αλλά και από τη συμμετοχή του στην κοινότητα τη χρονική στιγμή t-1. Αξίζει να σημειωθεί σαν μειονέκτημα ότι είναι απαραίτητο οι ομαδοποιήσεις να μην αλλάζουν δραματικά με την πάροδο του χρόνου έτσι ώστε να είναι ικανή η αντιστοίχηση. Παρόλα αυτά τα πλεονεκτήματά τους συνοψίζονται στα παρακάτω: συνοχή ομαδοποιήσεων, ομάδες υψηλής ποιότητας, εξομάλυνση.
Οι μέθοδοι που εντάσσονται στην κατηγορία Ανίχνευσης Οροσήμου, σε αντίθεση με τις προηγούμενες που αναλύουν το στιγμιότυπο του γράφου, εφαρμόζεται στη ροή του δυναμικού γράφου και προσπαθεί να εντοπίσει χαρακτηριστικές μεταβολές κατά την κατά την εξέλιξη του γράφου. Σύμφωνα με αυτές χωρίζει τη ροή του γράφου σε τμήματα και αναγνωρίζει τις κοινότητες σε κάθε τμήμα. Οι μέθοδοι με τη συγκεκριμένη προσέγγιση χαρακτηρίζονται από χαμηλό αποθηκευτικό κόστος, αλλά ελλοχεύει ο κίνδυνος απώλειας της ατομικότητας του κάθε στιγμιοτύπου δεδομένου ότι η οργάνωση της ροής του γράφου γίνεται σε επίπεδο τμημάτων.
Τέλος, οι Αλγόριθμοι Άμεσης Απόκρισης στοχεύουν στην επεξεργασία της ροής των δεδομένων σε αντίθεση με τις υπόλοιπες μεθόδους που αναλύουν τα δεδομένα ανά στιγμιότυπο ή ανά τμήμα. Επομένως, δίνεται μια αλληλουχία γεγονότων του δικτύου και ο αλγόριθμος προσπαθεί να διατήρηση την δομή των κοινοτήτων ανανεώνοντας τις ήδη υπάρχουσες κοινότητες από το να τις υπολογίσει από την αρχή. Η συγκεκριμένη μέθοδος είναι εξαιρετικά χρήσιμη για την μελέτη μεγάλου όγκου δεδομένων σε πραγματικό χρόνο, όμως κάποιες φορές η συχνή ανανέωση των δεδομένων μπορεί να επιρεάσει την ποιότητα των κοινοτήτων.
Η συγκεκριμένη μέθοδος βασίζεται στην τεχνική της ταυτόχρονης ομαδοποίησης γραμμών και στηλών ενός πίνακα. Ο αλγόριθμος GraphScope αναλύει μια ροή από διμερείς γράφους με τους εξής στόχους: (1) να διαχωρίσει τη ροή των γράφων σε ένα σύνολο από τμήματα γράφων που ‘’μοιάζουν μεταξύ του, (2) να ομαδοποιήσει τους κόμβους προέλευσης και προορισμού και (3) να επιτύχει όλα τα παραπάνω χωρίς τη ρύθμιση από το χρήστη περαιτέρω παραμέτρων. Σημειώνεται, ότι το εκάστοτε τμήμα των γράφων μοντελοποιείται ως ένας τένσορας όπου στους άξονες x και y βρίσκονται οι κόμβοι προέλευσης και προορισμού αντίστοιχα ενώ ο άξονας z αντιπροσωπεύει το χρόνο.
Η συνάρτηση κόστους βασίζεται στην αρχή MDL και δείχνει πόσα bit χρειάζονται για την κωδικοποίηση ενός τμήματος. Όπως βλέπουμε και στο σχήμα ένα τμήμα αποτελείται από διάφορα bock. Σημειώνεται, ότι ένα block αποτελείται από μια κατάτμηση προέλευσης και μια κατάτμηση προορισμού και αντιστοιχεί σε μια κοινότητα του γράφου. Αρχικά, κωδικοποιούμε το κάθε block ξεχωριστά. Για αυτό το λόγω υπολογίζουμε την πυκνότητα των ακμών. Η πυκνότητα των ακμών προκύπτει από το διαίρεση των ακμών του block προς σύνολο των πιθανών ακμών του block. Το σύνολο των πιθανών ακμών αντιστοιχεί γινόμενο των διαστάσεων του τένσορα που είναι αποθηκευμένο το block. Η συγκεκριμένη κατανομή χρεισιμοποιέιται για τον υπολογισμό της εντροπίας ενός block. Για παράδειγμα, κόστος κωδικοποίησης τους block (1,2) υπολογίζεται από το γινόμενο της διάρκειας του τμήματος, τον αριθμό των μελών της κατάτμησης προέλευσης 1, τον αριθμό των μελών της κατάτμησης προορισμού 2 και την εντροπία του block. Επομένως, για τον υπολογισμό του συνολικού κόστους των δεδομένων αθροίζουμε όλα τα επιμέρους κόστη των block. Τέλος, το συνολικό κόστος κωδικοποίησης του γράφου προκύπτει με την πρόσθεση του κόστους περιγραφής του. Πιο συγκεκριμένα το συγκεκριμένο κόστος αποτελείται από το κόστος περιγραφής των κατατμήσεων προέλευσης και προορισμού και το κόστος περιγραφής του αριθμού των κατατμήσεων προέλευσης και προορισμού, της διάρκειας του τμήματος και του αριθμού των ακμών.
Η ανίχνευση των κοινοτήτων γίνεται με κεντρικό άξονα την ελαχιστοποίηση του κόστους κωδικοποίησης. Επομένως, ο αλγόριθμος για την ανίχνευση των βέλτιστων κοινοτήτων ενός τμήματος του γράφου προσπαθεί κάνοντας διαδοχικά split και merge των κατατμήσεων προσπαθεί να οργανώσει τον γράφο σε block με υψηλή πυκνότητα ακμών, κάτι το οποίο μεταφράζεται σε block με χαμηλό κόστος κωδικοποίησης και κατ'επέκταση γράφος με χαμηλό κόστος κωδικοποίησης.
Και η ανιχνευση οροσήμου επιτελείται μέσω της ελαχιστοποίησης του κόστους. Όταν ένα νέο στιγμιότυπο έρχεται τότε γίνεται έλεγχος αν θα χαμηλότερο κόστος κωδικοποίησης με τη συγχώνευσή του στο προηγούμενο τμήμα ή με τη δημιουργία νέου τμήματος. Η δημιουργία νέου τμήματος σηματοδοτεί την ανίχνευση οροσήμου.
Κατά την εκτέλεση των πρώτων πειραμάτων με σκοπό την επαλήθευση της σωστής λειτουργίας του αλγορίθμου παρατηρήθηκε η αδυναμία του αλγορίθμου να ανιχνεύσει τις σωστές κοινότητες σε γράφους που χαρακτηρίζονται από: (1) Συμμετρική δομή κοινοτήτων, (2) Μηδενικός Θόρυβος εντός των Κοινοτήτων και (3) Μηδενικός Θόρυβος εκτός των Κοινοτήτων.
To παραπάνω φαινόμενο αποδίδεται στην φύση της μετρικής που χρησιμοποιείται για τον υπολογισμό της συνάρτησης κόστους, δηλαδή της εντροπίας. Όπως φαίνεται και στην εικόνα αν έχουμε ένα γράφο με τα παραπάνω χαρακτηριστικά. Έστω ότι προσπαθούμε να αναθέσουμε ένα κόμβο προέλευσης σε μια από τις δύο κατατμήσεις προέλευσης. Η ανάθεση του κόμβου θα γίνει στην κατάτμηση όπου ελαχιστοποιείται το κόστος ανάθεσης κόμβου. Το κόστος ανάθεσης κόμβου σε ένα block δίνεται από τη σχέση όπου:
d = διάρκεια του τμήματος
l = ο αριθμός των στηλών του block
ni = ο αριθμός των ακμών της στήλης i
pi = η πυκνότητα των ακμών της στήλης i
qi = η πυκνότητα των ακμών της κατάτμησης i.
Όπως είναι φανερό όταν έχουμε ένα γράφο με την δομή που φαίνεται και στην εικόνα οι παραπάνω κατανομές θα είναι ίσες, επομένως ο αλγόριθμος αδυνατεί να εντοπίσει το τη σωστή δομή.
Για την αξιολόγηση της ανίχνευσης οροσήμου αρχικά υπολογίζουμε την ομοιότητα των διαδοχικών κατατμήσεων, χρησιμοποιώντας το NMI. Επιπλέον υπολογίζουμε και μια άλλη μετρική η οποία προκύπτει από τη συνθήκη με την οποία ο αλγόριθμος αποφασίζει α δύο στιγμιότυπα θα συγχωνευτούν σε ένα τμήμα ή δημιουργηθεί νέο τμήμα. Ουσιαστικά ποσοτικοποιεί την ομοιότητα μεταξύ δύο γράφων.
Σε πρώτη φάση εκτελέστηκαν πειράματα σε συνθετικά δεδομένα τόσο στατικά όσο και δυναμικά. Όσον αφορά την πειραματική αξιολόγηση σε στατικούς γράφου λόγω της έλλειψης διμερών γράφων αναφοράς υλοποιήθηκαν τρείς μέθοδοι που παράγουν γράφους σύμφωνα με κάποιες παραμέτρους που δίνουμε εμείς. Για την κατασκευή των στατικών γράφων αναφοράς επικετρωθήκαμε στην διαφοροποίηση της συμμετρίας έτσι ώστε να εξετάσουμε την συμπεριφορά του αλγορίθμου δεδομένης της αδυναμίας που παρουσιάζει. Πιο συγκεκριμένα υλοποιήθηκανς οι παρακάτω γράφοι αναφοράς: (1) SB1, Πλήρης Συμμετρία, (2) SB 2, Ασυμμετρία Κοινοτήτων και (3) SB 3 Πλήρης Ασυμμετρία
Όσον αφορά τους δυναμικούς συνθετικούς γράφους αναφοράς, χρησιμοποιήσαμε τα συνθετικά δεδομένα που παρουσιάζονται στην εργασία.
Για τον έλεγχο της απόδοσης σε πραγματικά δεδομένα μια συλλογή δεδομένων που καταγράφει την δραστηριότητα στην εφαρμογή Delicious από τον Σεπτέμβριο του 2003 έως τον Δεκέμβριο του 2007. Από αυτό κατασκευάσαμε δύο υπο σύνολα δεδομένων τα οποία χρησιμοποιήσαμε στα πειράματά μας. Το πρώτο αφορά την δραστηριότητα κατά την θερινή περίοδο του 2006, ενώ το δεύτερο την δραστηριότητα κατά την φθινοπωρινή περίοδο του 2007. Και τα υποσύνολα δεδομένων χωρίστηκαν ανά εβδομάδα από τα οποία και κατασκευάστηκαν τα στιγμιότυπα των γράφων. Για την κατασκευή του γράφου χρησιμοποιούμε τις 1,500 επικρατέστερες ετικέτες και τις 3,000 επικρατέστερες επισημάνσεις.