Μονάδα 3 / 11

Τεμαχισμός και προετοιμασία εγγράφων

Κέρδη:

  • Αξιολογήστε αριθμητικά το μέγεθος του κομματιού, την επικάλυψη και τις σημασιολογικές ανταλλαγές τμημάτων
  • Επιλογή κατάλληλης στρατηγικής τμηματοποίησης για διαφορετικούς τύπους εγγράφων (PDF, πίνακας, κώδικας, αρχείο καταγραφής συνομιλιών)
  • Ενισχύστε την ποιότητα ανάκτησης και το φιλτράρισμα προσθέτοντας μεταδεδομένα σε κάθε κομμάτι

Αυτό είναι το πιο παραγνωρισμένο αλλά πιο αποφασιστικό βήμα στο RAG: πώς αναλύετε το έγγραφο. Αυτό ονομάζεται τεμαχισμός. Ακόμα κι αν δώσετε το ίδιο έγγραφο στο ίδιο μοντέλο, λόγω κακού τεμαχισμού, η ανάκτηση επιστρέφει το λάθος κομμάτι και το μοντέλο δεν θα δώσει ποτέ μια εξαιρετική απάντηση. Σε αυτήν την ενότητα, καλύπτουμε στρατηγικές κατακερματισμού, πώς να τις προσαρμόσετε ανάλογα με τον τύπο εγγράφου και πώς να προσθέσετε σημαντικά μεταδεδομένα σε κάθε τμήμα.

Γιατί τεμαχίζουμε;

Υπάρχουν τρεις λόγοι. Πρώτον, τα μοντέλα ενσωμάτωσης μετατρέπουν κείμενο μέχρι ένα ορισμένο μήκος σε ένα διάνυσμα με νόημα. Εάν ένα ολόκληρο κεφάλαιο 40 σελίδων είναι στριμωγμένο σε ένα μόνο διάνυσμα, το νόημα γίνεται "θολό". Δεύτερον, θέλουμε να δώσουμε στο μοντέλο μόνο το μέρος που χρειάζεται ως πλαίσιο. Η παράδοση ολόκληρου του εγγράφου είναι δαπανηρή και αποσπά την προσοχή. Τρίτον, για να είναι ακριβής η ανάκτηση, η μονάδα αναζήτησης πρέπει να είναι μικρή και εστιασμένη.

Άρα το κομμάτι είναι η μικρότερη μονάδα ανάκτησης. Δεν πρέπει να είναι πολύ μεγάλο ή πολύ μικρό – σωστά.

Μέγεθος κομματιού και ισορροπία επικάλυψης

Υπάρχουν δύο κύριες ρυθμίσεις: μέγεθος κομματιού (πόσα μάρκες/λέξεις θα υπάρχουν σε ένα κομμάτι) και επικάλυψη (το τμήμα που μοιράζεται τα γειτονικά κομμάτια).

Πολύ μικρά κομμάτια (π.χ. 100 διακριτικά): εστιασμένα αλλά αποκομμένα από το περιβάλλον. Λέει «για 14 μέρες», αλλά το τι είναι 14 μέρες μένει στην προηγούμενη πρόταση. Πολύ μεγάλα κομμάτια (π.χ. 2000 διακριτικά): διατηρεί το πλαίσιο, αλλά πολλά νήματα αναμειγνύονται. Η ενσωμάτωση μπερδεύεται και άσχετα θέματα συγκεντρώνονται.

Η επικάλυψη λύνει το πρόβλημα των ορίων. Αν μια πρόταση πέφτει ακριβώς στο όριο δύο μερών, χωρίζεται στα δύο χωρίς να επικαλύπτεται και χάνεται το νόημά της. Η επικάλυψη 50-100 διακριτικών διασφαλίζει ότι οι πληροφορίες που εμπίπτουν στο όριο παραμένουν ανέπαφες σε τουλάχιστον ένα μέρος.

Μέγεθος κομματιού

Πλεονέκτημα

Μειονέκτημα

κατάλληλο περιεχόμενο

Μικρό (100-250 μάρκες)

Υψηλή ευαισθησία, εστιασμένη

Το πλαίσιο μπορεί να σπάσει

Συχνές ερωτήσεις, σύντομα άρθρα, ορισμοί

Μεσαία (300-600 μάρκες)

Υπόλοιπο; τα περισσότερα σενάρια

Διαδικασίες, κείμενα πολιτικής

Μεγάλο (800-1500 μάρκες)

Ακεραιότητα περιβάλλοντος

θολή ενσωμάτωση

Αφήγηση, μακροσκελείς εξηγήσεις

Συμβουλή: Εάν δεν ξέρετε από πού να ξεκινήσετε, ξεκινήστε με 400-500 κομμάτι συμβολικού και επικάλυψη 50-80 διακριτικών. μετά μετρήστε και προσαρμόστε με τα δικά σας δεδομένα. Το «σωστό» μέγεθος δεν είναι καθολικό, εξαρτάται από το πλαίσιο.

Στρατηγικές τεμαχισμού

Σταθερό μέγεθος: Περικόπτει το κείμενο κάθε N διακριτικά. Είναι απλό και γρήγορο, αλλά μπορεί να διακόψει τη μέση πρόταση.

Βασισμένο σε διαχωριστικό (αναδρομικό/διαχωριστικό): Διαιρεί σύμφωνα με την παράγραφο και μετά τα όρια προτάσεων. Διατηρεί καλύτερα την ακεραιότητα του νοήματος. Τα περισσότερα συστήματα παραγωγής ξεκινούν με αυτό.

Σημασιολογική τμηματοποίηση: Εξετάζει τις ενσωματώσεις των προτάσεων και τις διαιρεί όπου συμβαίνει η αλλαγή θέματος. Είναι η πιο ποιοτική αλλά ακριβότερη μέθοδος. Με μεγάλους όγκους, το κόστος συναλλαγών αυξάνεται.

Structure-aware: Χρησιμοποιεί δομή εγγράφων όπως επικεφαλίδες, ενότητες, πίνακες. Για παράδειγμα, ο διαχωρισμός ενός εγγράφου Markdown ανά επικεφαλίδες διασφαλίζει ότι κάθε τμήμα φέρει τη δική του επικεφαλίδα.

Προσαρμογή κατά τύπο εγγράφου

Δεν είναι όλα τα έγγραφα ίδια. Η στρατηγική διαφέρει ανάλογα με τον τύπο:

  • PDF/Κείμενο πολιτικής: Βασισμένο σε σελιδοδείκτες, μεσαίου μεγέθους. Εκκαθάριση επαναλήψεων πάνω/κάτω σελίδας (κεφαλίδα/υποσέλιδο).
  • Πίνακες: Μην βγάζετε τη γραμμή εκτός πλαισίου. κρατήστε κάθε σειρά με πληροφορίες κεφαλίδας ("Στοιχείο: X, Τιμή: Y, Απόθεμα: Z"). Η μετατροπή του ακατέργαστου πίνακα σε απλό κείμενο είναι συχνά απαραίτητη.
  • Κωδικός: Διαχωρισμός κατά όρια συνάρτησης/κλάσης. Μην κόβετε μια λειτουργία από τη μέση.
  • Εγγραφή συνομιλίας/εισιτηρίου: Διαχωρισμός κατά μήνυμα ή γύρο συνομιλίας. Διατηρήστε τη γνώση του ποιος είπε τι.

# τεμάχια (εννοιολογικά) βασισμένα σε αγκύλες = bol( text, target_size=450, # token overlap=70, # token brackets=["\n\n", "\n", ". ", " "] # παράγραφος πρώτη, λέξη τελευταία)

Προσθήκη μεταδεδομένων σε κάθε κομμάτι

Το τεμάχιο δεν είναι απλώς «διαίρει». είναι να εμπλουτίσει κάθε κομμάτι. Κάθε ετικέτα που επισυνάπτετε στο κομμάτι αξίζει το βάρος της σε χρυσό για μελλοντικό φιλτράρισμα και αναφορά πηγών.

# Εμπλουτισμένο τεμάχιο (εννοιολογικό){ "κείμενο": "Η ετήσια άδεια μετ' αποδοχών είναι 14 ημέρες με 1-5 έτη υπηρεσίας...", "μεταδεδομένα": { "πηγή": "ik_el_kitabi_v7.pdf", "τμήμα": "5.2 Ετήσια άδεια", "σελίδα": 23, "ημερομηνία": "ΙΚ: 06", "20" "εσωτερικό" }}

Μια άλλη ισχυρή τεχνική είναι η προσθήκη μιας κεφαλίδας με βάση τα συμφραζόμενα: γράφοντας τον τίτλο του κεφαλαίου στο οποίο ανήκει στην αρχή κάθε κομματιού. Έτσι, ακόμη και ένα ασύνδετο κομμάτι όπως το "Για 14 ημέρες" είναι καλύτερα ενσωματωμένο και πιο ουσιαστικό ως "Ετήσια άδεια - 14 ημέρες".

Αδύναμο τεμάχιο / Ισχυρό τεμάχιο

Αδύναμο (τυφλό έντυπο, χωρίς μεταδεδομένα):

Περικοπή κειμένου κάθε 1000 χαρακτήρες. Κρατήστε μόνο το κείμενο.# Αποτέλεσμα: οι πίνακες χωρίζονται στη μέση, το "14 ημέρες" παραμένει χωρίς πλαίσιο,# δεν είναι γνωστό από ποιο έγγραφο προήλθε, δεν μπορεί να γίνει φίλτρο.

Ισχυρό (με επίγνωση δομής + κεφαλίδα + μεταδεδομένα):

Διαχωρίστε το έγγραφο ανά επικεφαλίδες. Προσθήκη τίτλου ενότητας σε κάθε τμήμα, επισύναψη πηγής, σελίδας, ημερομηνίας και μεταδεδομένων απορρήτου. μετατρέψτε τα τραπέζια σε απλό κείμενο με τις κεφαλίδες τους.# Αποτέλεσμα: εστιασμένο, με βάση τα συμφραζόμενα, με δυνατότητα φιλτραρίσματος, με δυνατότητα πηγής.

Τρεις Μίνι Θήκες

Περίπτωση 1 — Καταστροφή ζωγραφικής. Μια οικονομική ομάδα μοίρασε τον τιμοκατάλογο των 200 σελίδων με τυφλή σκληρή κοπή. Οι σειρές του πίνακα χωρίστηκαν τυχαία. "Ποια είναι η τιμή του προϊόντος Χ;" Το μοντέλο διάβασε λάθος γραμμή και έδωσε λάθος τιμή (9 στις 12 περιπτώσεις είναι λάθος). Όταν μετέτρεψα τις σειρές του πίνακα σε απλό κείμενο στη μορφή "Προϊόν: … | Τιμή: … | Μονάδα: …", το σφάλμα μειώθηκε σε 0 από 12.

Περίπτωση 2 — Εξαιρετικά μεγάλο κομμάτι. Σε ένα wiki, κάθε σελίδα αποτελείται από ένα μόνο κομμάτι (μερικοί λένε 3.000 μάρκες). Η ενσωμάτωση είναι θολή επειδή υπάρχει "άδεια", "υπερωρία" και "μισθοδοσία" σε μία σελίδα. Η ενότητα των ωρών εργασίας μπήκε επίσης στο παιχνίδι σχετικά με το ζήτημα της άδειας. Όταν οι σελίδες χωρίστηκαν σε μεσαίο μέγεθος ανά τίτλο, το recall@5 αυξήθηκε από 64% σε 91%.

Περίπτωση 3 — Περικομμένη πρόταση χωρίς επικάλυψη. Σταθερή περικοπή 250 για μια νομική ομάδα, χωρίς επικάλυψη. Ένας κρίσιμος ορισμός έπεσε ακριβώς στο όριο δύο μερών και χωρίστηκε στα δύο. Ούτε το ένα ούτε το άλλο περιέχουν την πλήρη απάντηση. Όταν προστέθηκε επικάλυψη 60 token, ο ίδιος ορισμός παρέμεινε άθικτος σε ένα κομμάτι και η σωστή απάντηση επέστρεψε.

Συνήθη λάθη

  • Τυφλή σταθερή κοπή: Διαχωρίζει προτάσεις και πίνακες στη μέση. χάνεται το νόημα.
  • Αφήνοντας την επικάλυψη στο μηδέν: Οι πληροφορίες που εμπίπτουν στο όριο διαιρούνται και χάνονται.
  • Μη προσθήκη μεταδεδομένων: Το φιλτράρισμα και η εμφάνιση της πηγής καθίστανται αδύνατες.
  • Αφήνοντας ακατέργαστους πίνακες: Το μοντέλο δεν μπορεί να επιλύσει τη δομή του πίνακα. Μετατροπή γραμμών σε απλό κείμενο.
  • Επιβολή μιας στρατηγικής: Το PDF, ο κώδικας και ο πίνακας δεν χωρίζονται με την ίδια μέθοδο. Προσαρμογή στο είδος.
Προσοχή: Μην ρυθμίσετε το Chunking μία φορά και ξεχάστε το. Επαναμετρήστε την ποιότητα ανάκτησης καθώς φτάνουν νέοι τύποι εγγράφων (εισιτήρια από νέο σύστημα, σαρωμένα αρχεία PDF). Λανθασμένα δεδομένα εισόδου σημαίνει κακή απόκριση ("arbage in, garbage out").

Συνοπτικά

  • Το τεμάχιο είναι η μικρότερη μονάδα ανάκτησης. Ούτε πολύ μεγάλο ούτε πολύ μικρό – θα πρέπει να είναι ισορροπημένο σύμφωνα με το περιεχόμενο.
  • Το μέγεθος του κομματιού υποδηλώνει ισορροπία εστίασης-πλαισίου. Η επικάλυψη διαχειρίζεται την απώλεια ορίων.
  • Το τεμάχιο που βασίζεται σε βραχίονες και έχει επίγνωση της δομής είναι το σημείο εκκίνησης των περισσότερων συστημάτων παραγωγής. Το σημασιολογικό τεμαχισμό είναι καλής ποιότητας αλλά ακριβό.
  • Τύποι όπως τραπέζι, σενάριο και συνομιλία απαιτούν τις δικές τους στρατηγικές. Μετατροπή πινάκων σε απλό κείμενο.
  • Προσθέστε πηγή/ημερομηνία/κεφάλαιο/μεταδεδομένα απορρήτου και τίτλο ενότητας σε κάθε κομμάτι. Αυτή είναι η βάση του φιλτραρίσματος και της παραπομπής.

Εργασία εφαρμογής

Διαχωρίστε ένα τμήμα του εγγράφου που επιλέγετε σε τρεις διαφορετικούς τρόπους: (1) μικρά κομμάτια των 200 μάρκες, (2) μεσαία κομμάτια των 500 μάρκες (70 επικάλυψη διακριτικών), (3) μεμονωμένα μεγάλα κομμάτια. Κάντε τις ίδιες 3 ερωτήσεις για κάθε στρατηγική, σημειώστε χειροκίνητα ποιο κομμάτι να φέρετε και σημειώστε το σκεπτικό για το ποια στρατηγική λειτουργεί καλύτερα για αυτό το έγγραφο. Στη συνέχεια, προσθέστε τουλάχιστον τέσσερα πεδία μεταδεδομένων και έναν «τίτλο κεφαλαίου» σε κάθε κομμάτι. Εάν το έγγραφο περιέχει πίνακα, μετατρέψτε μια σειρά πίνακα σε απλό κείμενο στη μορφή "field:value".

λίστα ελέγχου

  • [ ] Μπορώ να πω ότι το κομμάτι είναι η μικρότερη μονάδα ανάκτησης και το μέγεθος είναι η ισορροπία εστίασης-πλαισίου.
  • [ ] Γνωρίζω γιατί η επικάλυψη αποτρέπει την απώλεια ορίων.
  • [ ] Μπορώ να διακρίνω μεταξύ τμηματοποίησης που βασίζεται σε αγκύλες, σημασιολογικής και δομικής επίγνωσης.
  • [ ] Μπορώ να προσαρμόσω τη στρατηγική για τραπέζι, κώδικα και συνομιλία.
  • [ ] Ενισχύω την ανάκτηση προσθέτοντας μεταδεδομένα και τίτλο κεφαλαίου σε κάθε κομμάτι.