background image

 

Νικόλαος Λυμπιτάκης, Κατασκευή ενός RAG Chatbot για 
Ξενοδοχειακή Υποστήριξη 

 

 
 

 

39 

3.  Σημεία  Ενδιαφέροντος  (Points  of  Interest  –  POIs):  περιέχει  πληροφορίες  για 

αξιοθέατα και δραστηριότητες στην ευρύτερη περιοχή. 

 

Η μορφή CSV επιλέχθηκε έναντι πιο σύνθετων δομών δεδομένων, όπως JSON ή 

XML, λόγω της απλότητάς της και της άμεσης συμβατότητάς της με βιβλιοθήκες ανάλυσης 

δεδομένων, όπως η Pandas.  

 
4.2.1  Επεξεργασία των Datasets 
 

Η  διαδικασία  επεξεργασίας  των  δεδομένων  υλοποιήθηκε  με  τη  χρήση  της 

βιβλιοθήκης Pandas της Python, η οποία χρησιμοποιήθηκε ως βασικό εργαλείο ανάγνωσης 

και προεπεξεργασίας των αρχείων CSV. 

 

Η  Pandas  επιλέχθηκε  λόγω  της  υψηλής  αποδοτικότητάς  της  στη  διαχείριση 

δεδομένων.  Παράλληλα,  επιτρέπει    εύκολους,  συχνούς  μετασχηματισμούς,  όπως 

φιλτράρισμα  δεδομένων,  συνένωση  πεδίων  και  εξαγωγή  λιστών,  με  ελάχιστες  γραμμές 

κώδικα. Η επιλογή αυτή συνέβαλε στη μείωση της πολυπλοκότητας της προεπεξεργασίας 

και  στη  διατήρηση  καθαρού  και  επεκτάσιμου  κώδικα.  Τέλος,  η  επεξεργασία 

πραγματοποιήθηκε  ξεχωριστά  για  κάθε  αρχείου,  λαμβάνοντας  υπόψη  τη  σημασιολογική 

φύση και τον ρόλο των πληροφοριών σε κάθε σύνολο δεδομένων. 

 
Επεξεργασία Συχνών Ερωτήσεων (FAQ Dataset) 

 
 

Το  αρχείο faq.csv φορτώθηκε,  και  ως  κύριο  κείμενο  αναζήτησης  ορίστηκε  το 

πεδίο question. Η διανυσματοποίηση της ερώτησης, αντί της απάντησης, επιλέχθηκε επειδή 

η ανάκτηση σε συστήματα RAG βασίζεται στη σημασιολογική ομοιότητα. Ένα ερώτημα 

χρήστη  είναι  σαφώς  πιθανότερο  να  παρουσιάζει  εννοιολογική  εγγύτητα  με  μια  ήδη 

αποθηκευμένη ερώτηση παρά με το κείμενο της απάντησης. Η προσέγγιση αυτή βελτιώνει 

την ακρίβεια της ανάκτησης και μειώνει τα άσχετα αποτελέσματα. 

 

# Ανάγνωση του αρχείου FAQ 

faq_df = pd.read_csv(FAQ_CSV_PATH) 

 
# Χρήση της ερώτησης ως κύριο έγγραφο για embedding 

documents = faq_df['question'].tolist() 

 

# Αποθήκευση όλων των πεδίων ως µεταδεδοµένα 
metadatas = faq_df.to_dict('records') 

 

Εικόνα 10 : Kώδικας  από setup_vector_stores.py