Σημασιολογική ομοιότητα σε Python με εκμετάλλευση της δυνατότητας εκτέλεσης υπολογισμών σε κάρτα γραφικών

Semantic similarity on the GPU using Python (Αγγλική)

  1. MSc thesis
  2. ΔΗΜΗΤΡΙΟΣ ΤΖΩΛΑΣ
  3. Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα (ΠΛΣ)
  4. 13 Μαίου 2023
  5. Ελληνικά
  6. 62
  7. ΒΕΝΕΤΗΣ ΙΩΑΝΝΗΣ
  8. python | numba | σημασιολογική ομοιότητα
  9. Βασικές εξειδικεύσεις σε θεωρία και λογισμικό / ΠΛΣ 50, Εξειδικεύσεις Τεχνολογίας Λογισμικού / ΠΛΣ60
  10. Α - Ε
  11. 11
    • Η ανάλυση σημασιολογικής ομοιότητας μεταξύ λέξεων, προτάσεων ή και ολόκληρων κειμένων αποτελεί τα τελευταία χρόνια σημαντικό πεδίο έρευνας, αποσκοπεί δε στη εύρεση της ομοιότητας των εννοιών που εκφράζονται από τις εξεταζόμενες λέξεις ή προτάσεις. Οι σύγχρονοι αλγόριθμοι όμως ανάλυσης σημασιολογικής ομοιότητας, σε συνδυασμό με τον μεγάλο όγκο δεδομένων που αυτοί χρειάζεται να επεξεργαστούν οδηγεί σε αυξημένες απαιτήσεις σε υπολογιστική ισχύ και κατ’ επέκταση σε χρόνους εκτέλεσης.

      Στην παρούσα διπλωματική εργασία υλοποιήθηκε πρωτότυπος αλγόριθμος αναζήτησης με χρήση σημασιολογικής ομοιότητας στη γλώσσα προγραμματισμού python, ο οποίος βασίζεται στην εύρεση της ευκλείδειας απόστασης μεταξύ προτάσεων που υπάρχουν στο σύνολο δεδομένων (data set) BookCorpus και μιας πρότασης που χρησιμοποιείται ως είσοδος. Αφού εντοπίστηκαν οι συναρτήσεις – τμήματα του αλγόριθμου που παρουσιάζουν αυξημένο χρόνο εκτέλεσης χρησιμοποιήθηκε το πακέτο numba το οποίο επιτρέπει την εκτέλεση κώδικα γραμμένου στη γλώσσα python σε κάρτα γραφικών (graphics processing unit - GPU) με σκοπό τη βελτίωση των χρόνων εκτέλεσης των εν λόγω συναρτήσεων και κατ’ επέκταση του χρόνου εκτέλεσης του συνολικού αλγόριθμου. Τέλος γίνεται σύγκριση των χρόνων εκτέλεσης του αλγόριθμού στην κεντρική μονάδα επεξεργασίας (central processing unit - CPU) και στη GPU με σκοπό την εξαγωγή συμπερασμάτων σχετικά με τη βελτιστοποίηση που επιφέρει στον χρόνου εκτέλεσης η χρήση GPU.

    • Semantic similarity analysis between words, sentences, or even whole texts has become an important research field and aims to find how similar is the meaning of the words or sentences that are being tested. However modern algorithms of semantic similarity analysis combined with increasing volume of data that have to be processed by such algorithms leads to increased demands in computing power and therefore in execution times.

      In this thesis an innovative algorithm for semantic similarity analysis is implemented using python, based on the calculation of the euclidean distance between sentences that are contained inside the dataset “book corpus” and a sentence that is being used as input for the aforementioned algorithm. After finding the functions – parts of the algorithm that present high execution time, python packet numba, which allows python code execution on GPUs was used to implement these time demanding functions. Lastly a comparison between the execution times on the central processing unit (CPU) and the GPU is made, in order to extract conclusions to present the optimization of the execution time achieved by the use of GPU.

  12. Hellenic Open University
  13. Αναφορά Δημιουργού 4.0 Διεθνές