التضمين أولاً، ثم التقطيع: استرجاع RAG الأكثر ذكاءً مع التقطيع الدلالي الأقصى الأدنى
أصبحالتوليد المعزّز للاسترجاع (RAG) هو النهج الافتراضي لتوفير السياق والذاكرة لتطبيقات الذكاء الاصطناعي - حيث يعتمد عليه وكلاء الذكاء الاصطناعي ومساعدو دعم العملاء وقواعد المعرفة وأنظمة البحث.
في كل خط أنابيب RAG تقريبًا، تكون العملية القياسية هي نفسها: أخذ المستندات، وتقسيمها إلى أجزاء، ثم تضمين هذه الأجزاء لاسترجاع التشابه في قاعدة بيانات متجهة مثل Milvus. نظرًا لأن التقطيع يحدث مقدمًا، فإن جودة هذه الأجزاء تؤثر بشكل مباشر على مدى جودة استرجاع النظام للمعلومات ومدى دقة الإجابات النهائية.
تكمن المشكلة في أن استراتيجيات التقطيع التقليدية عادةً ما تقسم النص دون أي فهم دلالي. فالتقطيع ذو الطول الثابت يعتمد على عدد الرموز الرمزية، والتقطيع التكراري يستخدم بنية على مستوى السطح، ولكن كلاهما يتجاهل المعنى الفعلي للنص. ونتيجة لذلك، غالبًا ما يتم فصل الأفكار ذات الصلة، وتجميع الأسطر غير ذات الصلة معًا، وتجزئة السياق المهم.
في هذه المدونة، أود أن أشارك استراتيجية تقطيع مختلفة: التقطيع الدلالي الأقصى-الأدنى. فبدلاً من التقطيع أولاً، تقوم بتضمين النص مقدمًا وتستخدم التشابه الدلالي لتحديد مكان تشكيل الحدود. من خلال التضمين قبل التقطيع، يمكن لخط الأنابيب تتبع التحولات الطبيعية في المعنى بدلاً من الاعتماد على حدود الطول التعسفية.
كيفية عمل خط أنابيب RAG النموذجي
تتبع معظم خطوط أنابيب RAG، بغض النظر عن إطار العمل، نفس خط التجميع المكون من أربع مراحل. ربما تكون قد كتبت نسخة ما من هذا بنفسك:
1. تنظيف البيانات وتقطيعها
يبدأ خط التجميع بتنظيف المستندات الخام: إزالة الرؤوس والتذييلات ونص التنقل وأي شيء ليس محتوى حقيقيًا. بمجرد إزالة التشويش، يتم تقسيم النص إلى أجزاء أصغر. تستخدم معظم الفرق الأجزاء ذات الحجم الثابت - عادةً 300-800 رمز - لأنها تحافظ على نموذج التضمين قابلاً للإدارة. الجانب السلبي هو أن التقسيمات تعتمد على الطول وليس على المعنى، لذلك يمكن أن تكون الحدود اعتباطية.
2. التضمين والتخزين
بعد ذلك يتم تضمين كل جزء باستخدام نموذج تضمين مثل نموذج OpenAI text-embedding-3-small أو مشفر BAAI. يتم تخزين المتجهات الناتجة في قاعدة بيانات متجهات مثل Milvus أو Zilliz Cloud. تتعامل قاعدة البيانات مع الفهرسة والبحث عن التشابه حتى تتمكن من مقارنة الاستعلامات الجديدة بسرعة مع جميع القطع المخزنة.
3. الاستعلام
عندما يطرح المستخدم سؤالاً - على سبيل المثال، "كيف يقلل RAG من الهلوسة؟ - يقوم النظام بتضمين الاستعلام وإرساله إلى قاعدة البيانات. تقوم قاعدة البيانات بإرجاع الأجزاء الأعلى-ك التي تكون متجهاتها الأقرب إلى الاستعلام. هذه هي أجزاء النص التي سيعتمد عليها النموذج للإجابة عن السؤال.
4. توليد الإجابة
يتم تجميع الأجزاء المسترجعة مع استعلام المستخدم وإدخالها في نموذج توليد الإجابات. يقوم النموذج بإنشاء إجابة باستخدام السياق المقدم كأساس.
يقع التقطيع في بداية هذا الخط بأكمله، ولكن له تأثير كبير. إذا كانت الأجزاء تتوافق مع المعنى الطبيعي للنص، فإن الاسترجاع يبدو دقيقًا ومتسقًا. أما إذا تم تقطيع الأجزاء في أماكن غير مناسبة، فسيواجه النظام صعوبة أكبر في العثور على المعلومات الصحيحة، حتى مع وجود تضمينات قوية وقاعدة بيانات متجهة سريعة.
تحديات الحصول على التقطيع الصحيح
تستخدم معظم أنظمة RAG اليوم واحدة من طريقتين أساسيتين للتقطيع، وكلاهما له قيود.
1. التقطيع بالحجم الثابت
هذه هي أبسط طريقة: تقسيم النص حسب عدد ثابت من الرموز أو الأحرف. إنه سريع ويمكن التنبؤ به، ولكنه غير مدرك تمامًا لقواعد اللغة أو الموضوعات أو الانتقالات. يمكن تقطيع الجمل إلى نصفين. وأحيانًا حتى الكلمات. تميل التضمينات التي تحصل عليها من هذه التجزئات إلى أن تكون صاخبة لأن الحدود لا تعكس كيفية تنظيم النص بالفعل.
2. التقسيم التكراري للأحرف
هذه الطريقة أكثر ذكاءً بعض الشيء. فهي تقسم النص بشكل هرمي بناءً على إشارات مثل الفقرات أو فواصل الأسطر أو الجمل. إذا كان القسم طويلًا جدًا، فإنه يقسمه بشكل متكرر. يكون الناتج أكثر تماسكًا بشكل عام، ولكنه لا يزال غير متناسق. فبعض المستندات تفتقر إلى بنية واضحة أو لديها أطوال أقسام غير متساوية، مما يضر بدقة الاسترجاع. وفي بعض الحالات، لا يزال هذا النهج ينتج أجزاءً تتجاوز نافذة سياق النموذج.
تواجه كلتا الطريقتين نفس المفاضلة: الدقة مقابل السياق. تعمل الأجزاء الأصغر على تحسين دقة الاسترجاع ولكنها تفقد السياق المحيط؛ بينما تحافظ الأجزاء الأكبر على المعنى ولكنها تخاطر بإضافة ضوضاء غير ذات صلة. إن تحقيق التوازن الصحيح هو ما يجعل التقطيع أمرًا أساسيًا - ومُحبطًا - في تصميم نظام RAG.
التجزئة الدلالية القصوى والدقيقة: التضمين أولاً، ثم التقطيع لاحقاً
في عام 2025، نشر S.R. Bhat وآخرون إعادة التفكير في حجم القطع لاسترجاع المستندات الطويلة: تحليل متعدد البيانات. كانت إحدى النتائج الرئيسية التي توصلوا إليها هي أنه لا يوجد حجم "أفضل" واحد للقطع لاسترجاع المستندات الطويلة. تميل الأجزاء الصغيرة (64-128 رمزًا) إلى العمل بشكل أفضل مع الأسئلة الوقائعية أو الأسئلة ذات نمط البحث، بينما تساعد الأجزاء الأكبر (512-1024 رمزًا) في المهام السردية أو مهام التفكير عالي المستوى. بعبارة أخرى، دائمًا ما يكون التقطيع ذو الحجم الثابت حلاً وسطًا.
وهذا يثير سؤالاً طبيعياً: بدلاً من اختيار طول واحد على أمل الحصول على الأفضل، هل يمكننا التقطيع حسب المعنى بدلاً من الحجم؟ التقطيع الدلالي الأقصى - الحد الأدنى هو أحد الأساليب التي وجدتها والتي تحاول القيام بذلك بالضبط.
الفكرة بسيطة: التضمين أولاً، ثم التقطيع ثانياً. فبدلاً من تقسيم النص ثم تضمين أي أجزاء تتساقط، تقوم الخوارزمية بتضمين جميع الجمل في البداية. ثم تستخدم العلاقات الدلالية بين تضمين تلك الجمل لتقرير أين يجب أن تذهب الحدود.
رسم تخطيطي يوضح سير عمل التضمين أولاً ثم التقطيع أولاً ثم التقطيع ثانياً في التقطيع الدلالي ماكس-مين
من الناحية المفاهيمية، تتعامل هذه الطريقة مع التقطيع كمشكلة تجميع مقيّد في مساحة التضمين. تتصفح المستند بالترتيب، جملة واحدة في كل مرة. بالنسبة لكل جملة، تقارن الخوارزمية تضمينها مع تلك الموجودة في القطعة الحالية. إذا كانت الجملة الجديدة قريبة من الناحية الدلالية بما فيه الكفاية، فإنها تنضم إلى القطعة. إذا كانت بعيدة جدًا، تبدأ الخوارزمية بقطعة جديدة. القيد الرئيسي هو أن القطع يجب أن تتبع ترتيب الجملة الأصلي - لا إعادة ترتيب ولا تجميع عام.
والنتيجة هي مجموعة من القطع ذات الطول المتغير التي تعكس المكان الذي يتغير فيه معنى المستند فعليًا، بدلاً من المكان الذي يصل فيه عداد الأحرف إلى الصفر.
كيف تعمل استراتيجية التقطيع الدلالي القصوى والدقيقة
تحدد استراتيجية التقطيع الدلالي القصوى-الدقيقة حدود القطع من خلال مقارنة كيفية ارتباط الجمل ببعضها البعض في الفضاء المتجه عالي الأبعاد. وبدلاً من الاعتماد على الأطوال الثابتة، فإنها تنظر في كيفية تغير المعنى عبر المستند. يمكن تقسيم العملية إلى ست خطوات:
1. تضمين جميع الجمل وبدء جزء مقطوع
يقوم نموذج التضمين بتحويل كل جملة في المستند إلى تضمين متجه. يعالج الجمل بالترتيب. If the first n–k sentences form the current chunk C, the following sentence (sₙ₋ₖ₊₁) needs to be evaluated: should it join C, or start a new chunk?
2. قياس مدى اتساق القطعة الحالية
ضمن القطعة C، احسب الحد الأدنى لتشابه جيب التمام الزوجي بين جميع تضمينات الجمل. تعكس هذه القيمة مدى ترابط الجمل داخل القطعة. يشير انخفاض الحد الأدنى للتشابه إلى أن الجمل أقل ترابطًا، مما يشير إلى أن القطعة قد تحتاج إلى التقسيم.
3. قارن الجملة الجديدة بالقطعة
بعد ذلك، قم بحساب الحد الأقصى لجيب التمام للتشابه بين الجملة الجديدة وأي جملة موجودة بالفعل في C. يعكس هذا مدى توافق الجملة الجديدة دلاليًا مع القطعة الموجودة.
4. قرّر ما إذا كنت تريد توسيع القطعة أو البدء بقطعة جديدة
هذه هي القاعدة الأساسية:
إذا كان الحد الأقصى للتشابه بين الجملة الجديدة والجزء C أكبر من أو يساوي الحد الأدنى للتشابه داخل C، → تتناسب الجملة الجديدة وتبقى في الجزء C.
خلاف ذلك، → ابدأ جزءًا جديدًا.
هذا يضمن أن كل قطعة تحافظ على اتساقها الدلالي الداخلي.
5. ضبط العتبات مع تغير المستند
لتحسين جودة القطع، يمكن تعديل المعلمات مثل حجم القطعة وعتبات التشابه بشكل ديناميكي. يسمح ذلك للخوارزمية بالتكيف مع هياكل المستندات المختلفة والكثافة الدلالية.
6. التعامل مع الجمل القليلة الأولى
عندما تحتوي القطعة على جملة واحدة فقط، تتعامل الخوارزمية مع المقارنة الأولى باستخدام عتبة تشابه ثابتة. إذا كان التشابه بين الجملة 1 والجملة 2 أعلى من تلك العتبة، فإنهما يشكلان جزءًا واحدًا. إذا لم يكن كذلك، يتم فصلهما على الفور.
نقاط القوة والقصور في التقطيع الدلالي الأقصى الأدنى
يحسّن التقطيع الدلالي الأقصى-أدنى تقطيع دلالي من كيفية تقسيم أنظمة RAG للنص باستخدام المعنى بدلاً من الطول، ولكنه ليس حلاً سحريًا. فيما يلي نظرة عملية على ما تقوم به بشكل جيد وأين لا تزال قاصرة.
ما هو جيد
يتحسن التقطيع الدلالي الأقصى والأصغر على التقطيع التقليدي بثلاث طرق مهمة:
1. حدود القطع الديناميكية المبنية على المعنى
على عكس المقاربات ذات الحجم الثابت أو القائمة على الهيكل، تعتمد هذه الطريقة على التشابه الدلالي لتوجيه عملية التقطيع. فهي تقارن الحد الأدنى للتشابه داخل القطعة الحالية (مدى تماسكها) بالحد الأقصى للتشابه بين الجملة الجديدة وتلك القطعة (مدى ملاءمتها). إذا كان هذا الأخير أعلى، تنضم الجملة إلى القطعة؛ وإلا تبدأ قطعة جديدة.
2. ضبط بسيط وعملي للمعلمات
تعتمد الخوارزمية على ثلاثة بارامترات أساسية فقط:
الحد الأقصى لحجم القطعة
الحد الأدنى للتشابه بين أول جملتين، و
وعتبة التشابه لإضافة جمل جديدة.
تتكيف هذه المعلمات تلقائيًا مع السياق - تتطلب القطع الأكبر حجمًا عتبات تشابه أكثر صرامة للحفاظ على التماسك.
3. نفقات معالجة منخفضة
نظرًا لأن خط أنابيب RAG يحسب بالفعل تضمين الجمل، فإن التقطيع الدلالي Max-Min Semantic Chunking لا يضيف عمليات حسابية ثقيلة. كل ما يحتاجه هو مجموعة من عمليات التحقق من تشابه جيب التمام أثناء المسح من خلال الجمل. وهذا يجعلها أرخص من العديد من تقنيات التقطيع الدلالي التي تتطلب نماذج إضافية أو تجميعًا متعدد المراحل.
ما لا تستطيع حلّه بعد
يحسّن التقطيع الدلالي الأقصى-الأدنى من حدود القطع، لكنه لا يلغي جميع تحديات تجزئة المستندات. ونظرًا لأن الخوارزمية تعالج الجمل بالترتيب وتجمعها محليًا فقط، فلا يزال بإمكانها أن تفوت العلاقات بعيدة المدى في المستندات الأطول أو الأكثر تعقيدًا.
إحدى المشكلات الشائعة هي تجزئة السياق. عندما تنتشر المعلومات المهمة عبر أجزاء مختلفة من المستند، قد تضع الخوارزمية هذه الأجزاء في أجزاء منفصلة. وعندها تحمل كل قطعة جزءًا من المعنى فقط.
على سبيل المثال، في ملاحظات الإصدار Milvus 2.4.13، كما هو موضح أدناه، قد تحتوي إحدى القطع على معرّف الإصدار بينما تحتوي أخرى على قائمة الميزات. يعتمد استعلام مثل "ما هي الميزات الجديدة التي تم تقديمها في الإصدار 2.4.13 من ملفوس 2.4.13؟ إذا تم تقسيم هذه التفاصيل عبر أجزاء مختلفة، فقد لا يربط نموذج التضمين بينهما، مما يؤدي إلى استرجاع أضعف.
-
مثال يُظهر تجزئة السياق في ملاحظات الإصدار Milvus 2.4.13 مع معرف الإصدار وقائمة الميزات في أجزاء منفصلة
يؤثر هذا التجزئة أيضًا على مرحلة توليد LLM. إذا كان مرجع الإصدار في جزء واحد وأوصاف الميزة في جزء آخر، فإن النموذج يتلقى سياقًا غير مكتمل ولا يمكنه التفكير بشكل واضح في العلاقة بين الاثنين.
للتخفيف من حدة هذه الحالات، غالبًا ما تستخدم الأنظمة تقنيات مثل النوافذ المنزلقة أو حدود القطع المتداخلة أو عمليات المسح متعددة المسارات. هذه الأساليب تعيد تقديم بعض السياق المفقود وتقلل من التجزئة وتساعد خطوة الاسترجاع على الاحتفاظ بالمعلومات ذات الصلة.
الخاتمة
لا يعد التقطيع الدلالي الأقصى الأدنى حلًا سحريًا لكل مشكلة من مشاكل RAG، ولكنه يمنحنا طريقة أكثر عقلانية للتفكير في حدود القطع. فبدلاً من السماح لحدود الرموز بتقرير أين يتم تقطيع الأفكار، فإنه يستخدم التضمينات لاكتشاف أين يتحول المعنى بالفعل. بالنسبة للعديد من المستندات في العالم الحقيقي - واجهات برمجة التطبيقات، والمواصفات، والسجلات، وملاحظات الإصدار، وأدلة استكشاف الأخطاء وإصلاحها - يمكن لهذا وحده أن يرفع جودة الاسترجاع بشكل ملحوظ.
ما يعجبني في هذا النهج هو أنه يتناسب بشكل طبيعي مع خطوط أنابيب RAG الحالية. إذا كنت تقوم بالفعل بتضمين الجمل أو الفقرات، فإن التكلفة الإضافية هي في الأساس بعض فحوصات تشابه جيب التمام. لا تحتاج إلى نماذج إضافية أو تجميع معقد أو معالجة مسبقة ثقيلة الوزن. وعندما تنجح، فإن الأجزاء التي تنتجها تبدو أكثر "إنسانية" - أقرب إلى كيفية تجميع المعلومات ذهنيًا عند القراءة.
لكن هذه الطريقة لا تزال لديها نقاط عمياء. فهي ترى المعنى محليًا فقط، ولا يمكنها إعادة ربط المعلومات المتباعدة عن قصد. لا تزال النوافذ المتداخلة والمسح متعدد المسارات وغيرها من حيل الحفاظ على السياق ضرورية، خاصةً بالنسبة للمستندات التي تكون فيها المراجع والتفسيرات بعيدة عن بعضها البعض.
ومع ذلك، فإن التقطيع الدلالي ماكس-مين ينقلنا في الاتجاه الصحيح: بعيدًا عن التقطيع التعسفي للنص ونحو خطوط أنابيب الاسترجاع التي تحترم بالفعل الدلالات. إذا كنت تستكشف طرقًا لجعل RAG أكثر موثوقية، فإن الأمر يستحق التجربة.
هل لديك أسئلة أو تريد التعمق في تحسين أداء RAG؟ انضم إلى Discord الخاص بنا وتواصل مع المهندسين الذين يقومون ببناء وضبط أنظمة الاسترجاع الحقيقية كل يوم.
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word



