شرح تضمينات النصوص: كيف تعمل [+أمثلة]
يشرح هذا الدليل ماهية تضمينات النصوص، وكيف تحوّل النص إلى متجهات تلتقط المعنى، وكيفية اختيار نماذج التضمين وتقييمها وتطبيقها في البحث وRAG وغيرها من حالات الاستخدام الواقعية.

إذا كنت على دراية بالمفهوم الأساسي لتضمينات النصوص لكنك تتساءل عن كيفية توظيفها عمليًا، فأنت في المكان الصحيح. سنشرح بالتفصيل المتجهات، وتقسيم النص إلى رموز مميزة، وحساب التشابه، ونتعمق في تقييم نماذج التضمين، ونستعرض حالات استخدام واقعية.
ما المقصود بتضمينات النصوص؟
تضمينات النصوص هي تمثيلات رقمية للكلمات أو الجمل أو المستندات تلتقط معناها الدلالي والعلاقات بينها. وتُنشئها نماذج التضمين التي تحوّل النص إلى متجهات، وهي مصفوفات من الأرقام يمكن لخوارزميات التعلم الآلي معالجتها ومقارنتها.
يستخدم مهندسو التعلم الآلي تضمينات النصوص لمساعدة التطبيقات البرمجية على التعرّف على العلاقات بين الكلمات والجمل، مما يسهّل البحث في كميات كبيرة من البيانات وتصنيفها وتحليلها.
لنفترض أنك تتلقى آلاف تذاكر الدعم يوميًا. يبلّغ العملاء عن كل مشكلة يمكن تخيلها، لكنك تحتاج إلى تصنيفها ووضع تسميات لها. ومن طرق أتمتة هذه العملية استخدام نموذج تضمين نصوص مُدرَّب مسبقًا لتحويل كل تذكرة إلى متجه.
على سبيل المثال، يرسل عميلان الرسالتين التاليتين:
- “تم تحصيل رسوم اشتراكي مرتين”: [0.21, -0.47, 0.83, ...]
- “هناك دفعة مكررة في حسابي”: [0.19, -0.45, 0.80, ...]
هذه متجهات مبسّطة لأغراض التوضيح.
على الرغم من أن العميلين يستخدمان كلمات مختلفة، فإنهما يصفان المشكلة نفسها. ويلتقط نموذج التضمين هذه العلاقة بوضع متجهيهما متقاربين في فضاء رياضي. وبذلك تُصنَّف التذكرتان وتُحالان إلى فريق الفوترة.
حالات استخدام تضمينات النصوص في الأعمال
تُستخدم تضمينات النصوص في مجموعة من مهام معالجة اللغة الطبيعية (NLP)، ومنها:
- البحث الدلالي: العثور على المعلومات ذات الصلة بناءً على المعنى. تستخدم Delivery Hero تضمينات المنتجات والاستعلامات إلى جانب البحث بالكلمات المفتاحية لمساعدة عملاء البقالة في العثور على المنتجات ذات الصلة. على سبيل المثال، يمكن أن يُظهر البحث عن “زبادي قليل الدسم” زبادي يونانيًا أو زبادي يحتوي على 0.5% دسم، حتى من دون تطابق حرفي في الصياغة.
- تصنيف النصوص: فرز النصوص في فئات، مثل اكتشاف رسائل البريد الإلكتروني العشوائية أو ترتيب المستندات حسب الموضوع. طوّرت MindCraft.ai نظامًا لتصنيف المستندات يستخدم تضمينات نصوص قائمة على المحوّلات (Transformers) والتعلم الآلي لتصنيف مستندات الشركات وتحديد المعلومات الحساسة بما يحقق الامتثال للائحة العامة لحماية البيانات (GDPR).
- التجميع العنقودي: تجميع المستندات أو المقاطع النصية المتشابهة لاكتشاف الأنماط. تحوّل Doczy.ai نصوص العقود إلى تضمينات وتجمع البنود والمفاهيم المترابطة دلاليًا، حتى عندما تعبّر عقود مختلفة عن التزامات متشابهة بصياغات مختلفة.
- التوليد المعزّز بالاسترجاع (RAG): استرجاع المعلومات ذات الصلة التي يمكن لنموذج لغوي كبير (LLM) استخدامها لتوليد ردود أدق وأكثر مراعاةً للسياق. تستخدم Ring تضمينات نصوص Amazon Titan ضمن روبوت دردشة متعدد اللغات قائم على RAG لاسترجاع وثائق الدعم ذات الصلة قبل توليد الإجابات عن أسئلة العملاء في الأسواق الدولية.
- أنظمة التوصية: اقتراح مقالات أو منتجات أو محتوى آخر ذي صلة بناءً على أوجه التشابه النصي. يستخدم نظام JUDE من LinkedIn تضمينات نصية مولّدة بنماذج لغوية كبيرة للأوصاف الوظيفية وملفات تعريف الأعضاء لتحسين توصيات الوظائف، إذ يلتقط العلاقات بين خلفيات المرشحين والوظائف المتاحة.
- التعرّف على الكيانات المسمّاة (NER): المساعدة في تحديد أسماء الأشخاص والمؤسسات والأماكن في النصوص وتصنيفها. تستخدم Amazon Health Services تقنية NER لتحديد المفاهيم الطبية في استعلامات العملاء، مثل الأمراض والأعراض والأدوية والعلاجات. وتجمع هذا الفهم مع البحث بالتشابه القائم على التضمينات لربط الاستعلامات بمنتجات الرعاية الصحية وخدماتها ذات الصلة.
- الترجمة الآلية: دعم النماذج التي تترجم النصوص بين اللغات. تستخدم Transglot تضمينات النصوص في ذاكرة الترجمة الدلالية لتحديد المقاطع المترجمة سابقًا ذات المعاني المتشابهة، مما يساعد سير عمل التوطين على إعادة استخدام الترجمات الموجودة.
كيف تعمل تضمينات النصوص؟
إذن كيف يقرر نموذج التضمين القيم الرقمية التي يخصصها لمقطع نصي، ولماذا ينبغي أن نثق به؟
يبدأ كل شيء بالتدريب. تتعلم نماذج التضمين من مجموعات كبيرة من النصوص، باحثةً عن أنماط استخدام الكلمات معًا. على سبيل المثال، تتعلم النماذج التقليدية مثل Word2Vec عن طريق التنبؤ بكلمة من الكلمات المحيطة بها، أو العكس. أما النماذج الحديثة التي تركّز على الاسترجاع فتستخدم غالبًا التعلم التبايني، إذ تُدرَّب على منح أزواج الاستعلام والمستند ذات الصلة درجات تشابه أعلى من الأزواج غير المترابطة.
بعد تدريب النموذج، إليك ما يحدث عندما تعطيه مقطعًا نصيًا جديدًا:
- تقسيم النص إلى رموز مميزة. يقسّم النموذج النص أولاً إلى أجزاء أصغر تُسمى الرموز المميزة (Tokens). وقد تكون هذه الأجزاء كلمات كاملة أو أجزاء من كلمات أو علامات ترقيم. ويحصل كل رمز مميز على معرّف رقمي من مفردات النموذج، وهو معرّف لا يحمل أي معنى في حد ذاته.
- الترميز والتجميع (Pooling). يعالج النموذج هذه الرموز المميزة باستخدام الأنماط التي تعلّمها أثناء التدريب، وينتج متجهًا. كل رقم في المتجه هو إحداثي أو مكوّن، والبُعد هو المحور الذي يحدد هذا الرقم على امتداده موضع المتجه. وتسهم كل قيمة في تحديد موضع النص في فضاء رياضي يُعرف باسم فضاء التضمين.
- حساب التشابه. للعثور على النصوص ذات الصلة، يقارن نظام الاسترجاع تضمين الاستعلام بتضمينات المستندات باستخدام مقياس للتشابه مثل تشابه جيب التمام أو الضرب النقطي
وبهذه الطريقة تعرض المتاجر الإلكترونية، على سبيل المثال، العناصر المطابقة لاستعلام المستخدم.
ما الفرق بين تضمين الكلمات وتضمين الجمل وتضمين المستندات؟
يكمن الفرق الرئيسي في مقدار النص الذي يمثّله كل تضمين في متجه واحد. يمكنك إنشاء تضمينات لكلمات منفردة أو جمل كاملة أو مستندات بأكملها، بحسب المعلومات التي تريد التقاطها.
- تضمينات الكلمات تلتقط العلاقات بين الكلمات المنفردة، فتدرك أن “الانقطاع” و“التوقف عن العمل” مفهومان مترابطان.
- تضمينات الجمل تفهم معنى الجمل الكاملة، حتى عندما تعبّر عن الفكرة نفسها بكلمات مختلفة.
- تضمينات المستندات تمثّل المستند بأكمله كمتجه واحد، بدلاً من إنشاء متجه منفصل لكل جملة. ويساعد ذلك في الحفاظ على الموضوع العام والعثور على مستندات أخرى تتناول الموضوع نفسه، لكن استرجاع التفاصيل قد يصبح أصعب (إن لم يكن مستحيلاً).
ما مستوى التفصيل الذي ينبغي اعتماده؟ يعتمد المستوى المناسب على بياناتك وعلى ما تحاول تحقيقه.
بالنسبة إلى المستندات الأكبر حجمًا، من الممارسات الشائعة تقسيم النص إلى أجزاء أصغر وإنشاء تضمين منفصل لكل منها. وبهذه الطريقة تحصل على المعنى العام للمستند وعلى التفاصيل المحددة أيضًا، وهي تفاصيل قد تضيع عند تضمين المستند بأكمله.
إلى أي مدى يؤثر حجم الجزء في جودة التضمينات؟
إلى حد كبير. فبحسب Rahul Kumar، نائب رئيس هندسة الذكاء الاصطناعي في Xenoss، يكمن التحدي في إيجاد حجم للجزء يلتقط فكرة واحدة كاملة دون فقدان السياق المهم. ويشرح هذه المفاضلة قائلاً:
“يحدد حجم الجزء مقدار السياق الدلالي الذي يحمله التضمين الواحد. فالجزء الأكبر يمنح المتجه سياقًا أكثر، لكنه يدمج أيضًا مزيدًا من الموضوعات في متجه واحد بأخذ متوسطها. والجزء الذي يغطي ثلاثة موضوعات يقع في المنتصف ولا يطابق أيًّا منها جيدًا. أما الجزء الأصغر فيحافظ على وضوح المعنى، لكنه قد يفقد السياق الذي جعل العثور عليه ممكنًا.”
لهذا يوصي Kumar باختيار استراتيجية التقسيم بناءً على المحتوى بدلاً من الالتزام بحجم ثابت واحد. وكما يقول: “التقسيم بحجم ثابت مع تداخل لا يناسب إلا النصوص المتجانسة مثل رسائل البريد الإلكتروني أو صفحات الويب المستخرَجة آليًا.”
أما المستندات المنظّمة مثل العقود أو السياسات، فيناسبها أكثر التقسيم التكراري المراعي للبنية. في المقابل، قد يكون التقسيم الدلالي مناسبًا للنصوص المفرّغة من التسجيلات لأنه يقسّم النص عند تحوّل الموضوع أو المعنى.
تضمينات النصوص مقابل البحث بالكلمات المفتاحية
لماذا تستخدم تضمينات النصوص بينما يمكنك ببساطة البحث بالكلمات المفتاحية؟ لأن البحث بالكلمات المفتاحية يعتمد على مطابقة المصطلحات، في حين يستطيع البحث الدلالي القائم على التضمينات استرجاع المعلومات ذات الصلة حتى عندما يستخدم الاستعلام والمستند كلمات مختلفة.
لكن التشابه الدلالي لا يعني دائمًا الصلة بالمطلوب. فقد استعان Shaw Talebi، مؤسس AI Builder Academy، بنظام للبحث في السير الذاتية ليوضّح هذا القصور. ففي حالة Talebi، عند البحث عن “مهندس بيانات لديه خبرة في Apache Airflow”، لم تذكر Apache Airflow سوى نتيجة واحدة من بين النتائج الخمس الأولى، وجاءت في المرتبة الثالثة، رغم أن ثلاث سير ذاتية أخرى في مجموعة البيانات تضمنت هذه المهارة.
وهذا يعني أن البحث الدلالي مفيد للعثور على المعلومات المترابطة مفاهيميًا، لكنه قد يُغفل المتطلبات الدقيقة مثل المهارات التقنية أو معرّفات المنتجات أو رموز الأخطاء.
لحل هذه المشكلة، يوصي Rahul Kumar باختيار أسلوب الاسترجاع بناءً على مواضع قصور نظام الاسترجاع:
- البحث الهجين (الجمع بين مطابقة الكلمات المفتاحية والبحث الدلالي) هو الخيار الافتراضي عندما تتضمن الاستعلامات مصطلحات دقيقة، مثل رموز SKU أو رموز الأخطاء أو المراجع القانونية.
- نماذج إعادة الترتيب تستحق تكلفتها عندما لا يهم سوى عدد قليل من النتائج الأولى، مثل الإجابات المولّدة من السياق المسترجَع.
- الاسترجاع القائم على الرسوم البيانية مفيد عندما تمتد الإجابة عبر مصادر بيانات متعددة مترابطة.
كما شارك Kumar كيف طبّق فريقه هذه الأساليب عمليًا. ففي أحد المشاريع، شغّلوا البحث بالكلمات المفتاحية BM25 والبحث المتجهي جنبًا إلى جنب، ودمجوا النتائج باستخدام دمج الترتيب التبادلي (RRF)، واستخدموا نموذجًا لغويًا كبيرًا لإعادة ترتيب أفضل 124 نتيجة وتقليصها إلى 6.
ويضيف Kumar: “أدى الانتقال إلى الاسترجاع القائم على الرسوم البيانية أولاً، حيث يعثر البحث المتجهي على الفضاءات الكامنة المتشابهة ثم يُجرى تنقّل في الرسم البياني بقفزتين، إلى رفع جودة الترتيب (nDCG) من 0.58 إلى 0.67 وخفض زمن الاسترجاع عند المئين 90 (p90) من 19 ثانية إلى أقل من 3 ثوانٍ.”
أنواع نماذج تضمين النصوص
تؤدي جميع نماذج التضمين، بوجه عام، المهمة نفسها: تعلّم العلاقات في النصوص. لكنها تختلف في المهمة التي دُرّبت عليها، والمعلومات التي تأخذها في الحسبان، والمهام التي صُممت للتعامل معها.
نماذج تضمين الكلمات الثابتة
تتعلم نماذج تضمين الكلمات التقليدية تمثيلات رقمية كثيفة للكلمات بناءً على أنماط استخدامها عبر مجموعات نصية كبيرة. وهذه التضمينات ثابتة، أي أن كل كلمة تحصل على المتجه نفسه بغض النظر عن معناها في سياق معين.
وثمة طريقتان معروفتان هما:
- Word2Vec: طوّرته Google في عام 2013، ويتعلم التمثيلات من الكلمات المجاورة باستخدام بنيتين: حقيبة الكلمات المستمرة (CBOW) التي تتنبأ بكلمة من الكلمات المجاورة لها، وSkip-gram التي تتنبأ بالكلمات المجاورة انطلاقًا من كلمة معينة.
- GloVe (المتجهات العامة لتمثيل الكلمات): طُوّر في جامعة ستانفورد في عام 2014، ويستخدم إحصاءات التواجد المشترك للكلمات لتعلّم العلاقات بينها.
نماذج اللغة السياقية
على عكس التضمينات الثابتة، تُنتج نماذج اللغة متعددة الأغراض تمثيلات سياقية تتغير بحسب النص المحيط. وهذا يساعد النماذج على التمييز بين المعاني المختلفة للكلمة نفسها.
- BERT (2018، Google): يستخدم الانتباه الذاتي ثنائي الاتجاه لمراعاة الكلمات على جانبي الرمز المميز. على سبيل المثال، يُنشئ تمثيلات مختلفة لكلمة “bank” في الجملة “I deposited money at the bank” (أودعتُ المال في البنك) والجملة “I sat on the bank of a river” (جلستُ على ضفة النهر).
- GPT (2018، OpenAI): يستخدم تمثيلات قائمة على المحوّلات تأخذ في الحسبان النص السابق أثناء التنبؤ بالرمز المميز التالي. وقد صُممت نماذج GPT في المقام الأول لتوليد اللغة.
نماذج تضمين الجمل والمستندات
تمثّل مقاطع نصية أطول، من الجمل المنفردة إلى الفقرات والمستندات الكاملة، في صورة متجهات.
- Doc2Vec: يوسّع أسلوب التعلم المتّبع في Word2Vec ليشمل الجمل والفقرات والمستندات. ويمكن أن يساعد في تجميع المقالات ذات الصلة أو تصنيف المستندات حسب الموضوع.
- Universal Sentence Encoder (USE): طوّرته Google في عام 2018 لإنشاء تمثيلات ثابتة الطول للجمل والفقرات القصيرة لأغراض التشابه الدلالي وتصنيف النصوص.
- Sentence-BERT (SBERT، 2019): طوّره Nils Reimers وIryna Gurevych في الجامعة التقنية في دارمشتات، ويعتمد على نموذج BERT من Google، ويُستخدم عادةً في البحث الدلالي واكتشاف إعادة الصياغة والتجميع العنقودي.
- pplx-embed-v1 (2026، Perplexity): عائلة متطورة من نماذج تضمين النصوص صُممت للاسترجاع الواقعي على نطاق الويب، وتستخدم تدريبًا مسبقًا قائمًا على الانتشار (Diffusion) لتحويل نموذج لغوي سببي إلى مُرمِّز ثنائي الاتجاه. وتُنشئ تضمينات كثيفة للاستعلامات والمستندات المُرمَّزة بشكل مستقل، مع تدريب يراعي التكميم لخفض تكاليف التخزين. وقد حقق نموذجنا 4B INT8 نتيجة 69.66 في مقياس nDCG@10 على معيار الاسترجاع متعدد اللغات MTEB، مقارنةً بنتيجة 67.71 لنموذج gemini-embedding-001 من Google.
- pplx-embed-context-v1 (2026، Perplexity): يعالج مشكلة شائعة في تقسيم المستندات إلى أجزاء: إذ قد تفقد المقاطع معناها عند فصلها عن النص المحيط. وباستخدام التقسيم المتأخر (Late Chunking)، يعالج النموذج المستند قبل تجميع تمثيلات الرموز المميزة السياقية في تضمينات منفصلة للأجزاء. وقد حقق نموذجنا 4B نتيجة 81.96 في مقياس nDCG@10 على معيار ConTEB، مقارنةً بنتيجة 79.45 لنموذج voyage-context-3.
- pplx-embed-v2-context (2026، Perplexity): يرتقي بالاسترجاع السياقي إلى مستوى أبعد. فبدلاً من التدرّب على العثور على المقطع الذي يحتوي على الإجابة فقط، يتعلم تحديد المقاطع الداعمة التي تساعد في شرح تلك الإجابة أو التحقق منها. ويستخدم النموذج أثناء التدريب إشارات صلة مستخلصة من نموذج لضغط السياق، دون الحاجة إلى ذلك النموذج المعلّم وقت الاستنتاج. وقد حققت نسختنا التجريبية 9B نسبة استدعاء للإجابات بلغت 45.5% ونسبة استدعاء للأدلة بلغت 40.6% عند 10 نتائج على معيار context-bench.
كما تتيح نماذج Perplexity تخزين التضمينات على نطاق واسع. إذ تُنتج النماذج تضمينات بتنسيق INT8 وتضمينات ثنائية، مما يقلل متطلبات التخزين بمقدار 4 أضعاف و32 ضعفًا على التوالي مقارنةً بتنسيق FP32.
النموذج | الأبعاد | السياق | MRL | التكميم | التعليمات | التجميع |
pplx-embed-v1-0.6B | 1024 | 32K | نعم | INT8/ثنائي | لا | المتوسط |
pplx-embed-v1-4B | 2560 | 32K | نعم | INT8/ثنائي | لا | المتوسط |
pplx-embed-context-v1-0.6B | 1024 | 32K | نعم | INT8/ثنائي | لا | المتوسط |
pplx-embed-context-v1-4B | 2560 | 32K | نعم | INT8/ثنائي | لا | المتوسط |
أبعاد نماذج pplx-embed وطول السياق والتكميم وإعدادات التجميع
التضمينات الكثيفة والمتفرقة ومتعددة المتجهات
هناك تمييز آخر يستحق الفهم، لا سيما في البحث الدلالي. إذ يمكن أن تختلف نماذج التضمين في كيفية تمثيلها للنص وحسابها للصلة.
- التضمينات الكثيفة: تمثّل النص باستخدام متجهات مدمجة تكون معظم قيمها غير صفرية.
- التضمينات المتفرقة: تستخدم متجهات معظم قيمها أصفار، مع أوزان مُتعلَّمة مرتبطة بالمصطلحات المهمة. وتتعلم نماذج مثل SPLADE (2021) المصطلحات المهمة لاسترجاع المستندات ذات الصلة.
- التضمينات متعددة المتجهات: تحتفظ بعدة متجهات للمقطع النصي الواحد، مما يتيح مقارنات أكثر تفصيلاً بين الاستعلامات والمستندات. وتستخدم نماذج مثل ColBERT (2020) هذه التمثيلات لإجراء مقارنات أكثر تفصيلاً بين الاستعلام والمستند.
- النماذج التي تجمع بين أساليب متعددة: يدعم نموذج BGE-M3 (2024)، الذي طوّرته BAAI، الاسترجاع الكثيف والمتفرق ومتعدد المتجهات ضمن النموذج نفسه.
كيفية اختيار نموذج تضمين النصوص وتقييمه
تُعد المعايير المرجعية العامة مثل MTEB نقطة انطلاق جيدة. استخدمها لاختيار قائمة مختصرة من نموذجين أو ثلاثة تدعم لغاتك وأطوال المدخلات ومتطلبات النشر الخاصة بك. لكن لا تحسم اختيارك بعد، فنحن لا نملّ من التأكيد على أهمية اختبار هذه النماذج على بياناتك الخاصة.
إليك سير عمل عمليًا للتقييم:
- أنشئ مجموعة بيانات للاختبار. اجمع من 50 إلى 100 استعلام بحث تمثيلي كمجموعة تقييم أولية (قد تحتاج إلى المزيد)، بما في ذلك الحالات الصعبة مثل إعادة الصياغة والمصطلحات التقنية ورموز الأخطاء الدقيقة. وحدد لكل استعلام المستندات أو المقاطع التي تحتوي على إجابات ذات صلة. وستصبح تسميات الصلة هذه هي الحقيقة المرجعية لديك.
- قِس جودة الاسترجاع. اختبر كل نموذج باستخدام مجموعة بيانات التقييم نفسها، مع الحفاظ على ظروف متكافئة لإعداد المستندات والاسترجاع، واتباع المتطلبات الخاصة بكل نموذج فيما يتعلق بتنسيق الاستعلامات والتطبيع وحساب درجات التشابه. ثم احسب المقاييس التالية باستخدام InformationRetrievalEvaluator من Sentence Transformers:
- Recall@k: يُعطي نسبة المقاطع ذات الصلة التي تظهر ضمن أعلى k نتيجة.
- MRR: يقيس مدى تقدُّم أول نتيجة ذات صلة في الترتيب.
- nDCG@k: يقيس مدى جودة ترتيب أعلى k نتيجة بناءً على درجة صلتها.
- اختبر زمن الاستجابة ومعدل المعالجة. قِس الوقت الذي يستغرقه كل نموذج لتضمين استعلام، ويُفضَّل أن تُورد قيمتَي الوسيط (p50) والمئين الخامس والتسعين (p95) لزمن الاستجابة في ظل حمل واقعي.
- احسب تكاليف التخزين والتشغيل. تعتمد مساحة تخزين المتجهات على عدد التضمينات وأبعادها ودقتها العددية. على سبيل المثال، يتطلب مليون تضمين بصيغة FP32 بـ 768 بُعدًا نحو 3.1 غيغابايت من مساحة تخزين المتجهات الخام، دون احتساب الحمل الإضافي للفهرسة. ولتقليل متطلبات التخزين، يمكنك تكميم المتجهات إلى دقة عددية أقل. فالتحويل من FP32 إلى INT8، على سبيل المثال، يقلل مساحة تخزين المتجهات الخام إلى الربع تقريبًا. ومع ذلك، قد يؤثر الضغط في جودة الاسترجاع، لذا أعد إجراء التقييمات للتحقق من هذه المفاضلة.
في النهاية، قارن النتائج جنبًا إلى جنب: مقاييس الاسترجاع، وزمن الاستجابة p95، ومعدل المعالجة، والتخزين، والتكلفة. واختر النموذج الذي يلبي متطلبات الجودة لديك ضمن قيود بيئة الإنتاج.
متى يجب استخدام التضمينات بدلًا من نموذج لغوي كبير (LLM)؟
مع قدرة النماذج اللغوية الكبيرة على التعامل مع كل شيء، من تحليل المستندات إلى الاستدلال المعقد، يصبح من المغري جدًا أن تُلقي بكل نصوصك إلى نموذج وتتركه يتولى الأمر. لكنك على الأرجح لن ترغب في دفع ثمن ذلك.
إضافةً إلى ذلك، تتفوق النماذج اللغوية الكبيرة في التقييم والصياغة، لكنها محدودة بكمية المعلومات التي تتسع لها مطالبة واحدة. أما التضمينات فهي رخيصة وسريعة ومتسقة، ويمكن استخدامها على ملايين العناصر.
«تتفوق التضمينات في البحث، والتوصيات (“المزيد من هذا القبيل”)، واكتشاف التكرارات مثل تذاكر الدعم المتكررة، وتجميع كميات كبيرة من المحتوى حسب الموضوع. كما أنها فعّالة عبر اللغات المختلفة. أما النموذج اللغوي الكبير فيتفوق عندما تتطلب المهمة استدلالًا: التلخيص، أو مقارنة الخيارات، أو كتابة إجابة. وتحتاج معظم الأنظمة الواقعية إلى كليهما، بحيث يؤدي كلٌّ منهما الجزء الذي يجيده»، يقول كومار في ختام حديثه.
الأخطاء التي يقع فيها المطورون عند التعامل مع تضمينات النصوص
لمعرفة ما يميل المطورون إلى إغفاله، تحدثتُ مع راهول كومار وشيبيجيا غوان، عالم بيانات في Ahrefs. وقد سلّطا الضوء على ستة أخطاء تستحق الانتباه:
- تخطّي المعالجة المسبقة للنصوص. إذا كانت بيانات الإدخال تحتوي على HTML أو قوائم تنقّل أو إعلانات أو محتوى آخر غير ذي صلة، فإن خطوات المعالجة المسبقة، مثل إزالة النصوص النمطية المتكررة، يمكن أن تساعد على تحسين جودة التضمين من خلال حذف المعلومات غير الضرورية.
- تجاهل الحد الأقصى لطول الإدخال في النموذج. تختلف النماذج في حدود عدد الرموز المميزة (tokens) وفي سلوك الاقتطاع. وقد يُقتطع النص الذي يتجاوز الحد، ما يؤدي إلى فقدان معلومات مهمة.
- عدم اتباع المتطلبات الخاصة بالنموذج. تتطلب بعض نماذج التضمين بادئات محددة، مثل query: وpassage:، أو تعليمات مختلفة لمهام مختلفة. وقد يؤدي عدم اتباع هذه المتطلبات إلى تراجع أداء الاسترجاع.
- استخدام مقياس تشابه غير متوافق. لا يمكن دائمًا استخدام تشابه جيب التمام والضرب النقطي بالتبادل. تحقق مما إذا كانت التضمينات مُطبَّعة، واستخدم طريقة حساب الدرجات الموصى بها للنموذج ولفهرس المتجهات.
- الخلط بين التشابه الموضوعي والصلة الفعلية. في مجموعات المستندات ذات النطاق المتخصص الضيق، قد تتشابه مستندات كثيرة دلاليًا دون أن تجيب عن السؤال نفسه. افحص الاستعلامات الفاشلة وتوزيعات الترتيب. واختبر الاسترجاع المعجمي أو الهجين، وإعادة الترتيب، وعوامل تصفية البيانات الوصفية عندما يحتاج المستخدمون إلى معلومات دقيقة.
- تجاهل تطبيع التضمينات. قد تُخرج نماذج التضمين المختلفة متجهات مُطبَّعة أو غير مُطبَّعة. تحقق مما إذا كانت التضمينات مُطبَّعة، وما إذا كانت هناك حاجة إلى تطبيع إضافي، بحسب مقياس التشابه الذي تستخدمه.
الأسئلة الشائعة حول تضمينات النصوص
1. كيف أُنشئ تضمينات النصوص؟
أبسط طريقة هي استخدام نموذج تضمين مُدرَّب مسبقًا. فباستخدام مكتبة Sentence Transformers في Python، على سبيل المثال، يمكنك تحميل نموذج مثل all-MiniLM-L6-v2، وتمرير نصك إلى model.encode(), ثم الحصول على متجه رقمي. وبدلًا من ذلك، يمكنك إنشاء التضمينات عبر واجهة برمجة تطبيقات (API).
في البحث الدلالي أو RAG، عادةً ما تُقسِّم مستنداتك إلى أجزاء، وتُنشئ تضمينًا لكل جزء، ثم تخزّن المتجهات في فهرس قابل للبحث.
2. ما أفضل نماذج التضمين للنصوص؟
هناك عدة نماذج تستحق النظر فيها، بحسب ما تعمل على بنائه:
- pplx-embed-v1 من Perplexity: مصمَّم للاسترجاع الكثيف على نطاق واسع، مع تضمينات INT8 وتضمينات ثنائية تقلل متطلبات تخزين المتجهات.
- pplx-embed-context-v1 من Perplexity: مفيد لاسترجاع المقاطع من المستندات الطويلة التي تفقد فيها الأجزاء الفردية معناها بمعزل عن السياق المحيط بها.
- all-MiniLM-L6-v2: مناسب للبحث الدلالي المحلي الخفيف، والتجميع، ومهام تشابه الجمل. ينتج متجهات مدمجة بـ 384 بُعدًا، لكنه يقتطع المدخلات التي يتجاوز طولها 256 جزءًا من الكلمات (word pieces).
- BGE-M3: مفيد لأنظمة RAG متعددة اللغات والاسترجاع الهجين. يدعم أكثر من 100 لغة، ويجمع بين التمثيلات الكثيفة والمتفرقة ومتعددة المتجهات.
- Qwen3-Embedding: خيار قوي للبحث متعدد اللغات، واسترجاع التعليمات البرمجية، والتضمينات المخصصة لمهام بعينها. يوفّر نماذج مفتوحة الأوزان بأحجام 0.6B و4B و8B مع دعم التعليمات.
- text-embedding-3-large من OpenAI: خيار قائم على واجهة برمجة التطبيقات للبحث الدلالي واسترجاع المستندات عندما لا ترغب في استضافة نموذج بنفسك. يدعم ما يصل إلى 3,072 بُعدًا، ويمكنك تقليلها لتوفير مساحة التخزين.
- نماذج Gemini Embedding من Google: مفيدة لتطبيقات الاسترجاع المُدارة. كما يدعم Gemini Embedding 2 البحث عبر النصوص والصور والصوت والفيديو وملفات PDF في فضاء تضمين مشترك.
3. هل يمكنني استخدام نموذج لغوي كبير كنموذج تضمين؟
نعم، لكن ثمة فرق بين نموذج لغوي كبير متعدد الأغراض ونموذج مُحسَّن للتضمينات. تُنتج النماذج اللغوية الكبيرة تمثيلات متجهية داخلية للنص، يمكنك استخراجها ودمجها في تضمين واحد. ومع ذلك، فإن هذه المتجهات ليست بالضرورة مفيدة للبحث الدلالي دون تدريب إضافي.
على سبيل المثال، يستخدم Qwen3-Embedding بنية أساسية من نموذج لغوي كبير خضعت لتدريب إضافي على مهام التضمين والاسترجاع. لذا، رغم أنه يمكنك تكييف نموذج لغوي كبير لإنشاء التضمينات، فإن نموذج التضمين المخصص يكون عادةً نقطة البداية الأكثر عملية.