المكاسب:
- تقييم عددي لحجم القطعة، والتداخل، ومقايضات القطع الدلالية
- اختيار استراتيجية التقطيع المناسبة لأنواع المستندات المختلفة (PDF، الجدول، الكود، سجل الدردشة)
- تعزيز جودة الاسترجاع والتصفية عن طريق إضافة البيانات التعريفية إلى كل جزء
هذه هي الخطوة الأكثر إغفالًا ولكنها الأكثر حسمًا في RAG: كيفية تقسيم المستند. وهذا ما يسمى القطع. حتى لو أعطيت نفس المستند لنفس النموذج، فنظرًا للتقطيع السيئ، يؤدي الاسترجاع إلى إرجاع القطعة الخاطئة ولن ينتج النموذج إجابة رائعة أبدًا. في هذه الوحدة، نغطي استراتيجيات التجزئة، وكيفية تكييفها وفقًا لنوع المستند، وكيفية إضافة بيانات وصفية ذات معنى إلى كل جزء.
لماذا نمزق؟
هناك ثلاثة أسباب. أولاً، تعمل نماذج التضمين على تحويل النص بطول معين إلى متجه ذو معنى؛ إذا تم حشر فصل كامل مكون من 40 صفحة في متجه واحد، يصبح المعنى "غير واضح". ثانيًا، نريد أن نعطي النموذج الجزء المطلوب فقط كسياق؛ إن تسليم المستند بأكمله أمر مكلف ومشتت للانتباه. ثالثا، لكي يكون الاسترجاع دقيقا، يجب أن تكون وحدة البحث صغيرة ومركزة.
لذا فإن القطعة هي أصغر وحدة استرجاع. لا ينبغي أن تكون كبيرة جدًا أو صغيرة جدًا - فقط صحيح.
حجم القطعة وتوازن التداخل
هناك إعدادان رئيسيان: حجم القطعة (كم عدد الرموز/الكلمات التي ستكون في القطعة) والتداخل (الجزء المشترك بين القطع المجاورة).
أجزاء صغيرة جدًا (على سبيل المثال 100 رمز): مركزة ولكن منفصلة عن السياق. يقول "لمدة 14 يوما"، ولكن بقي ما هو 14 يوما في الجملة السابقة. قطع كبيرة جدًا (مثل 2000 رمزًا): تحافظ على السياق ولكن يتم خلط العديد من سلاسل الرسائل؛ يصبح التضمين مشوشًا وتجتمع الموضوعات غير ذات الصلة معًا.
التداخل يحل مشكلة الحدود. إذا وقعت الجملة على حدود جزأين بالضبط، فإنها تنقسم إلى قسمين دون تداخل ويضيع معناها. يضمن التداخل بين 50-100 رمزًا بقاء المعلومات التي تقع ضمن الحد سليمة في جزء واحد على الأقل.
حجم القطعة
ميزة
عيب
المحتوى المناسب
صغير (100-250 قطعة)
حساسية عالية ومركزة
قد ينكسر السياق
الأسئلة الشائعة، المقالات القصيرة، التعريفات
متوسطة (300-600 رمز)
الرصيد؛ معظم السيناريوهات
—
الإجراءات، نصوص السياسات
كبيرة (800-1500 قطعة)
سلامة السياق
تضمين ضبابي
رواية، شرح طويل
نصيحة: إذا كنت لا تعرف من أين تبدأ، فابدأ بـ 400-500 قطعة رمزية و50-80 قطعة رمزية متداخلة؛ ثم قم بالقياس والتعديل باستخدام بياناتك الخاصة. الحجم "الصحيح" ليس عالميًا، فهو يعتمد على السياق.
استراتيجيات التقطيع
حجم ثابت: يقوم بقص النص مع كل رموز N. إنها بسيطة وسريعة، ولكنها يمكن أن تقطع منتصف الجملة.
القائم على الفاصل (العودي/الفاصل): يقسم وفقًا للفقرة ثم حدود الجملة؛ إنه يحافظ بشكل أفضل على سلامة المعنى. تبدأ معظم أنظمة الإنتاج بهذا.
التقطيع الدلالي: وهو النظر في تضمينات الجمل وتقسيمها حيث يحدث تغير الموضوع. إنها الطريقة الأعلى جودة ولكنها الأكثر تكلفة؛ ومع الكميات الكبيرة، تزيد تكاليف المعاملات.
مدرك للبنية: يستخدم بنية المستند مثل العناوين والأقسام والجداول. على سبيل المثال، يضمن تقسيم مستند Markdown حسب العناوين أن كل جزء يحمل عنوانًا خاصًا به.
التكيف حسب نوع الوثيقة
ليست كل وثيقة هي نفسها. تختلف الإستراتيجية حسب النوع:
- PDF/نص السياسة: يعتمد على الإشارة المرجعية، ومتوسط الحجم. مسح تكرارات أعلى/أسفل الصفحة (الرأس/التذييل).
- الجداول: لا تخرج السطر من السياق؛ احتفظ بكل صف بمعلومات الرأس ("العنصر: X، السعر: Y، المخزون: Z"). غالبًا ما يكون تحويل الجدول الخام إلى نص عادي أمرًا ضروريًا.
- الكود: مقسم حسب حدود الوظيفة/الفئة؛ لا تقطع وظيفة بعيدًا عن الطريق.
- تسجيل الدردشة/التذكرة: مقسم حسب الرسالة أو المحادثة؛ الحفاظ على معرفة من قال ماذا.
# القطع (المفاهيمية) القائمة على الأقواس = bol( text, target_size=450, # token over=70, # token Braces=["\n\n", "\n", ". ", " "] # فقرة أولاً، الكلمة الأخيرة)
أضف البيانات الوصفية إلى كل مسار
التقطيع ليس مجرد "تقسيم"؛ هو إثراء كل قطعة. كل علامة تعلقها بالمسار تستحق وزنها ذهباً للتصفية المستقبلية والاستشهاد بالمصدر.
# قطعة غنية (مفاهيمية){ "text": "الإجازة السنوية مدفوعة الأجر هي 14 يومًا مع 1-5 سنوات من الخدمة..."، "metadata": { "source": "ik_el_kitabi_v7.pdf"، "section": "5.2 الإجازة السنوية"، "page": 23، "date": "2025-06"، "department": "IK"، "privacy": "internal" }}
أسلوب آخر قوي هو إضافة رأس سياقي: كتابة عنوان الفصل الذي ينتمي إليه في بداية كل قطعة. ومن ثم، فحتى المقطوعة المفككة مثل "لمدة 14 يومًا" تكون مضمنة بشكل أفضل وذات معنى أكبر مثل "إجازة سنوية - 14 يومًا".
تقطيع ضعيف / تقطيع قوي
ضعيف (نسخة أعمى، لا توجد بيانات وصفية):
اقتطاع النص كل 1000 حرف. احتفظ بالنص فقط.#النتيجة: تقسيم الجداول من المنتصف، وبقاء "14 يومًا" بدون سياق،# ولا يُعرف من أي مستند جاءت، ولا يمكن إجراء أي تصفية.
قوية (مدركة للبنية + الرأس + البيانات الوصفية):
قسم الوثيقة حسب العناوين؛ أضف عنوان القسم إلى كل جزء؛ وأرفق البيانات الوصفية للمصدر والصفحة والتاريخ والخصوصية؛ تحويل صفوف الطاولة إلى نص عادي برؤوسها. # النتيجة: مركزة، سياقية، قابلة للتصفية، وقابلة للمصدر.
ثلاث حالات صغيرة
الحالة 1 – كارثة الرسم. قام فريق مالي بتقسيم قائمة الأسعار المؤلفة من 200 صفحة بطريقة قطعية عمياء؛ تم تقسيم صفوف الجدول بشكل عشوائي. "ما هو سعر المنتج X؟" قرأ النموذج السطر الخطأ وأعطى سعرًا خاطئًا (9 من أصل 12 حالة خاطئة). عندما قمت بتحويل صفوف الجدول إلى نص عادي بالتنسيق "المنتج: ... | السعر: ... | الوحدة: ..." انخفض الخطأ إلى 0 من 12.
الحالة 2 - قطعة كبيرة جدًا. في الويكي، تتكون كل صفحة من قطعة واحدة (يقول البعض 3000 رمز). التضمين غير واضح بسبب وجود "إجازة" و"عمل إضافي" و"كشوف رواتب" في صفحة واحدة؛ تم أيضًا تفعيل قسم ساعات العمل فيما يتعلق بسؤال الإجازة. عندما تم تقسيم الصفحات إلى حجم متوسط حسب العنوان، زادت نسبة التذكر@5 من 64% إلى 91%.
الحالة 3 - جملة مبتورة دون تداخل. 250 رمزًا مقطوعًا ثابتًا للفريق القانوني، بدون تداخل. لقد وقع التعريف النقدي على حدود جزأين وانقسم إلى قسمين؛ لا أحد ولا الآخر يحتوي على الإجابة الكاملة. عندما تمت إضافة 60 رمزًا متداخلًا، ظل التعريف نفسه سليمًا في قطعة واحدة وتم إرجاع الإجابة الصحيحة.
الأخطاء الشائعة
- القطع الثابت الأعمى: يقسم الجمل والجداول في المنتصف؛ ضاع المعنى.
- ترك التداخل عند الصفر: يتم تقسيم المعلومات التي تقع على الحدود وفقدانها.
- عدم إضافة البيانات الوصفية: تصبح التصفية وعرض المصدر مستحيلة.
- ترك الجداول خامًا: لا يمكن للنموذج تحليل بنية الجدول؛ تحويل الخطوط إلى نص عادي.
- فرض استراتيجية واحدة: لا يتم تقسيم ملف PDF والكود والجدول بنفس الطريقة؛ التكيف مع النوع.
تحذير: لا تقم بتعيين التقطيع مرة واحدة ثم تنساه. إعادة قياس جودة الاسترجاع عند وصول أنواع جديدة من المستندات (التذاكر من نظام جديد، ملفات PDF الممسوحة ضوئيًا). بيانات الإدخال السيئة تعني استجابة سيئة ("القمامة الواردة، القمامة الخارجة").
باختصار
- القطعة هي أصغر وحدة استرجاع؛ ليست كبيرة جدًا ولا صغيرة جدًا - بل يجب أن تكون متوازنة وفقًا للمحتوى.
- يشير حجم القطعة إلى توازن سياق التركيز؛ التداخل يدير فقدان الحدود.
- يعد التقطيع القائم على الأقواس والمدرك للهيكل نقطة البداية لمعظم أنظمة التوليد؛ التقطيع الدلالي ذو نوعية جيدة ولكنه مكلف.
- تتطلب أنواع مثل الجدول والبرنامج النصي والدردشة استراتيجيات خاصة بها؛ تحويل الجداول إلى نص عادي.
- أضف بيانات تعريف المصدر/التاريخ/الفصل/الخصوصية وعنوان القسم إلى كل مسار؛ وهذا هو أساس التصفية والاقتباس.
مهمة التطبيق
قم بتقسيم جزء من المستند الذي تختاره إلى ثلاث طرق مختلفة: (1) قطع صغيرة مكونة من 200 رمز مميز، (2) قطع متوسطة مكونة من 500 رمز مميز (70 رمزًا متداخلاً)، (3) قطع كبيرة واحدة. اطرح نفس الأسئلة الثلاثة لكل استراتيجية، وحدد يدويًا الجزء الذي يجب إحضاره، واكتب الأسباب التي تجعل الإستراتيجية تعمل بشكل أفضل مع تلك الوثيقة. ثم قم بإضافة أربعة حقول بيانات وصفية على الأقل و"عنوان الفصل" إلى كل مسار. إذا كانت الوثيقة تحتوي على جدول، فقم بتحويل صف الجدول إلى نص عادي بتنسيق "الحقل: القيمة".
قائمة مرجعية
- [ ] أستطيع أن أقول أن القطعة هي أصغر وحدة استرجاع وأن الحجم هو توازن سياق التركيز.
- [ ] أعرف لماذا يمنع التداخل فقدان الحدود.
- [ ] يمكنني التمييز بين التقطيع القائم على الأقواس والدلالي والمدرك للبنية.
- [ ] يمكنني تكييف الإستراتيجية للجدول والرمز والدردشة.
- [ ] أقوم بتعزيز الاسترجاع عن طريق إضافة البيانات الوصفية وعنوان الفصل إلى كل مسار.