Σχεδιασμός και Υλοποίηση εξειδικευμένου chatbot για διαδικτυακές πλατφόρμες
70
4.3.2 Ευρετηρίαση και διανυσματικές ενσωματώσεις
Αφού συγκεντρωθούν οι διευθύνσεις, ο αγωγός ευρετηρίασης αναλαμβάνει να μετατρέψει
το ακατέργαστο περιεχόμενο σε κάτι που μπορεί να αναζητηθεί σημασιολογικά. Ένα πρώτο
σχεδιαστικό μέλημα ήταν να μην ξαναγίνεται η ίδια δουλειά χωρίς λόγο. Έτσι, η λήψη των
σελίδων γίνεται υπό συνθήκη, εκμεταλλευόμενη τους μηχανισμούς του πρωτοκόλλου HTTP,
ώστε όταν μια σελίδα δεν έχει αλλάξει να μην επεξεργάζεται ξανά. Από τις σελίδες HTML
κρατάμε το κυρίως άρθρο και όχι τα μενού ή τα υποσέλιδα, μαζί με την ημερομηνία
δημοσίευσης όπου αυτή υπάρχει, ενώ τα αρχεία PDF περνούν από αντίστοιχη εξαγωγή
κειμένου. Το καθαρισμένο κείμενο σπάει σε τμήματα ελεγχόμενου μεγέθους, με μια μικρή
επικάλυψη μεταξύ διαδοχικών τμημάτων ώστε να μη χάνεται το νόημα στα σημεία που
κόβονται. Η επιλογή του μεγέθους έγινε ώστε κάθε τμήμα να είναι αρκετά μεγάλο για να έχει
νόημα από μόνο του, αλλά και αρκετά μικρό για να εντοπίζεται με ακρίβεια. Για τις
ενσωματώσεις επιλέξαμε ένα πολυγλωσσικό μοντέλο, το BGE-M3, που τοποθετεί ελληνικά
και αγγλικά κείμενα στον ίδιο διανυσματικό χώρο. Αυτή ήταν μια κρίσιμη απόφαση, γιατί
επιτρέπει σε μια ερώτηση στη μία γλώσσα να βρει σχετικό υλικό γραμμένο στην άλλη, κάτι
απαραίτητο για έναν ιστότοπο με δίγλωσσο περιεχόμενο. Τα διανύσματα αποθηκεύονται
τελικά στη ChromaDB μαζί με τα μεταδεδομένα τους, ώστε η ανάκτηση να μπορεί αργότερα
να αξιοποιήσει όχι μόνο το περιεχόμενο αλλά και την πηγή και τον χρόνο κάθε τμήματος.
Τα διαδοχικά βήματα του αγωγού ευρετηρίασης, από τη λίστα των διευθύνσεων έως την
αποθήκευση των διανυσμάτων στη ChromaDB, αποτυπώνονται στην Εικόνα 5.