background image

Σχεδιασμός και Υλοποίηση εξειδικευμένου chatbot για διαδικτυακές πλατφόρμες

 

70

 

 

4.3.2 Ευρετηρίαση και διανυσματικές ενσωματώσεις 

Αφού συγκεντρωθούν οι διευθύνσεις, ο αγωγός ευρετηρίασης αναλαμβάνει να μετατρέψει 

το ακατέργαστο περιεχόμενο σε κάτι που μπορεί να αναζητηθεί σημασιολογικά. Ένα πρώτο 

σχεδιαστικό μέλημα ήταν να μην ξαναγίνεται η ίδια δουλειά χωρίς λόγο. Έτσι, η λήψη των 

σελίδων γίνεται υπό συνθήκη, εκμεταλλευόμενη τους μηχανισμούς του πρωτοκόλλου HTTP, 

ώστε όταν μια σελίδα δεν έχει αλλάξει να μην επεξεργάζεται ξανά. Από τις σελίδες HTML 

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

δημοσίευσης  όπου  αυτή  υπάρχει,  ενώ  τα  αρχεία  PDF  περνούν  από  αντίστοιχη  εξαγωγή 

κειμένου.  Το  καθαρισμένο  κείμενο  σπάει  σε  τμήματα  ελεγχόμενου  μεγέθους,  με  μια  μικρή 

επικάλυψη  μεταξύ  διαδοχικών  τμημάτων  ώστε  να  μη  χάνεται  το  νόημα  στα  σημεία  που 

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

νόημα  από  μόνο  του,  αλλά  και  αρκετά  μικρό  για  να  εντοπίζεται  με  ακρίβεια.  Για  τις 

ενσωματώσεις επιλέξαμε ένα πολυγλωσσικό μοντέλο, το BGE-M3, που τοποθετεί ελληνικά 

και  αγγλικά  κείμενα  στον  ίδιο  διανυσματικό  χώρο.  Αυτή  ήταν  μια  κρίσιμη  απόφαση,  γιατί 

επιτρέπει σε μια ερώτηση στη μία γλώσσα να βρει σχετικό υλικό γραμμένο στην άλλη, κάτι 

απαραίτητο  για  έναν  ιστότοπο  με  δίγλωσσο  περιεχόμενο.  Τα  διανύσματα  αποθηκεύονται 

τελικά στη ChromaDB μαζί με τα μεταδεδομένα τους, ώστε η ανάκτηση να μπορεί αργότερα 

να αξιοποιήσει όχι μόνο το περιεχόμενο αλλά και την πηγή και τον χρόνο κάθε τμήματος. 

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

αποθήκευση των διανυσμάτων στη ChromaDB, αποτυπώνονται στην Εικόνα 5.