Η σωστή σύνταξη των λειτουργικών απαιτήσεων αποτελεί ϐασική προϋπόθεση για την ανάπτυξη ενός έργου λογισµικού. Σφάλµατα στον ορισµό των λειτουργικών απαι τήσεων και ο ορισµός ελλιπούς λειτουργικότητας αποτελούν τα σηµαντικότερα προ ϐλήµατα που οδηγούν στην αποτυχία της διαδικασίας ανάπτυξης λογισµικού. Ο µη ολοκληρωµένος ορισµός των λειτουργικών απαιτήσεων έχει ως αποτέλεσµα τον λανθασµένο προγραµµατισµό των απαραίτητων εργασιών και ακολούθως την αποτυχία της υλοποίησης του έργου λογισµικού. Η παρούσα διπλωµατική εργασία αρχικά συγκεντρώνει ένα σύνολο δεδοµένων από λειτουργικές απαιτήσεις έργων λογισµικού από διάφορες πηγές. Σε πρώτο στάδιο ορίζεται η οντολογία που καλείται να περιγράψει την στατική όψη ενός έργου λογισµικού. Οι οντότητες που ορίζονται εντοπίζονται στις λειτουργικές απαιτήσεις του συνόλου δεδοµένων και δίνεται η δυνατότητα της αποδοτικής αποθήκευσης των δεδοµένων µε τη µορφή της οντολογίας. Σε επόµενο στάδιο γίνεται χρήση αλγορίθµων µηχανικής µάθησης µε στόχο την ε ξαγωγή προτάσεων ϐελτίωσης σε όλα τα επίπεδα ανάλυσης απαιτήσεων λογισµικού. Για την αξιολόγηση της απόδοσης των αλγορίθµων, µετά την εκπαίδευσή τους στο σύνολο δεδοµένων, δέχονται ως είσοδο ένα νέο έργο λογισµικού µε µη ολοκληρωµένη λειτουργικότητα και εξετάζεται η πληροφορία που εξάγεται από τον κάθε αλγόριθµο. Πιο συγκεκριµένα, υλοποιείται ο αλγόριθµος Apriori για την εξαγωγή κανόνων συσχέτισης µε στόχο τον εντοπισµό απούσας λειτουργικότητας. Επιπλέον, χρησιµοποιείται ο αλγόριθµος Λανθάνουσας Κατανοµής Dirichlet που εκτελεί τη ϑεµατική µοντελοποίηση των έργων λογισµικού του συνόλου δεδοµένων. Τέλος, γίνεται χρήση ενός αλγορίθµου Ιεραρχικής Οµαδοποίησης κειµένου και συγκρίνονται τα αποτελέσµατά του µε αυτά του προηγούµενου αλγορίθµου.