مقدمة
تُعد Sentence Transformers تقنية متطورة في مجال معالجة اللغة الطبيعية (NLP) يمكنها تحسين جودة وفعالية محتواك بشكل كبير. وهي أيضاً تقنية رئيسية في نماذج اللغات الكبيرة. سواء كنت كاتب محتوى، أو عالم بيانات، أو صاحب عمل، فإن استخدام Sentence Transformers يمكن أن يمنحك ميزة تنافسية في العالم الرقمي.
ما هي تقنية Sentence Transformers
تعتمد Sentence Transformers على مبادئ معالجة اللغة الطبيعية (NLP)، وتحديداً تضمين الجمل (sentence embeddings) ونماذج المحول (transformer models). في معالجة اللغة الطبيعية، تضمينات الجمل هي تمثيلات رقمية للجمل تلتقط معناها الدلالي. نماذج المحول من جهة أخرى، هي نماذج تعلم عميق تستخدم آليات الانتباه الذاتي لمعالجة تسلسلات الكلمات أو الرموز.
كشف أسرار Sentence Transformers
المكونات الأساسية لـ Sentence Transformers تشمل بنية المحول (transformer architecture)، ودالة الخسارة (loss function)، واستخدام أزواج الجمل. بنية المحول مسؤولة عن معالجة الجمل المدخلة وتوليد تضمينات الجمل. تُستخدم دالة الخسارة لتدريب النموذج عن طريق قياس الفرق بين درجات التشابه المتوقعة والعلامات الحقيقية. تُستخدم أزواج الجمل أثناء التدريب لالتقاط العلاقة بين جملتين وتعلم التشابه الدلالي بينهما.
شرح بنية المحول (Transformer Architecture) بالتفصيل
بنية المحول هي مكون رئيسي في Sentence Transformers. إنها نموذج تعلم عميق يستخدم آليات الانتباه الذاتي لمعالجة تسلسلات الكلمات أو الرموز. يتكون نموذج المحول من عدة طبقات، تحتوي كل منها على آلية انتباه ذاتي وشبكة عصبية تغذية أمامية. تسمح آلية الانتباه الذاتي للنموذج بالتركيز على أجزاء مختلفة من تسلسل الإدخال أثناء توليد تضمينات الجمل. وهذا يمكن النموذج من التقاط العلاقات بين الكلمات وتوليد تمثيلات واعية بالسياق بطول تسلسل أقصى يبلغ 128 رمزاً.
ما بعد BERT: تطورات في تضمينات الجمل
تتجاوز Sentence Transformers نموذج BERT من خلال تقديم تطورات في تضمينات الجمل. أحد هذه التطورات هو استخدام نموذج sbert، المصمم خصيصاً لتوليد تضمينات جمل عالية الجودة بأداء أفضل. يستخدم نموذج sbert تضمينات متشابهة لالتقاط التشابه الدلالي بين الجمل. وهذا يسمح بمقارنة وتحليل أكثر دقة للجمل، مما يؤدي إلى تحسين الأداء في مهام مثل استرجاع المعلومات، والتشابه النصي الدلالي، ودعم العملاء.

تتكون بنية BERT cross-encoder من نموذج BERT الذي يستهلك الجملتين A وB. تتم معالجتهما في نفس التسلسل، مفصولين برمز [SEP]. ويتبع ذلك مصنف شبكة عصبية تغذية أمامية (feedforward NN) يخرج درجة تشابه.
يقوم هذا المستودع بضبط نماذج BERT / RoBERTa / DistilBERT / ALBERT / XLNet بدقة باستخدام بنية شبكة سيامية أو ثلاثية لإنتاج تضمينات جمل ذات معنى دلالي يمكن استخدامها في سيناريوهات غير خاضعة للإشراف: التشابه النصي الدلالي عبر تشابه جيب التمام، والتجميع، والبحث الدلالي، والجملة B.
نماذج sentence-transformers أخرى
على الرغم من النتائج الجيدة التي تم الحصول عليها من نموذج SBERT، فقد تم تطوير العديد من نماذج sentence transformers الأكثر تقدماً منذ ذلك الحين، والعديد منها متاح في مكتبة sentence-transformers. يمكن لهذه النماذج الأحدث أن تتفوق بشكل كبير على SBERT الأصلي. في الواقع، لم يعد SBERT مدرجاً كنموذج متاح على صفحة نماذج SBERT.net.

التطبيقات العملية لـ Sentence Transformers
لـ Sentence Transformers مجموعة واسعة من التطبيقات العملية. أحد هذه التطبيقات هو استرجاع المعلومات، حيث يمكن استخدامها لتحسين محركات البحث من خلال دمج التشابه الدلالي في نتائج البحث. تطبيق آخر هو في التشابه النصي الدلالي، حيث يمكن استخدامها لمقارنة وتصنيف التشابه بين أزواج الجمل. بالإضافة إلى ذلك، يمكن استخدام Sentence Transformers في أنظمة دعم العملاء لتوليد ردود تلقائية بناءً على الفهم الدلالي للنص المُدخل من استفسارات العملاء.
تحسين محركات البحث باستخدام التشابه الدلالي
أحد التطبيقات العملية لـ Sentence Transformers هو تحسين محركات البحث باستخدام التشابه الدلالي. من خلال دمج التشابه الدلالي في نتائج البحث، يمكن لمحركات البحث تقديم نتائج أكثر صلة ودقة للمستخدمين. يمكن أن يحسن ذلك تجربة المستخدم ويزيد من كفاءة أوقات البحث. يمكن لـ Sentence Transformers مقارنة التشابه الدلالي بين استعلام البحث والمستندات المفهرسة، مما يسمح باسترجاع أكثر دقة للمعلومات. يحسن هذا النهج نتائج البحث من خلال النظر في معنى وسياق الاستعلام، بدلاً من مجرد مطابقة الكلمات الرئيسية والجمل المتشابهة.
تحسين دعم العملاء باستخدام الردود التلقائية
تطبيق عملي آخر لـ Sentence Transformers هو تحسين أنظمة دعم العملاء باستخدام الردود التلقائية. باستخدام Sentence Transformers، يمكن لأنظمة دعم العملاء توليد ردود تلقائية بناءً على الفهم الدلالي لاستفسارات العملاء. هذا يسمح بردود أكثر دقة وكفاءة، مما يوفر الوقت والموارد لكل من العميل وفريق الدعم. يمكن تدريب Sentence Transformers على مجموعة كبيرة من استفسارات العملاء والردود المقابلة لها، مما يمكنها من توليد ردود تلقائية ذات صلة بالسياق ودقيقة.
البدء مع Sentence Transformers
أسرع وأبسط طريقة لبدء استخدام sentence transformers هي من خلال مكتبة sentence-transformers، التي طورها مبتكرو SBERT. يمكن تثبيتها باستخدام pip.
!pip install sentence-transformers
سنبدأ بنموذج SBERT الأصلي، bert-base-nli-mean-tokens. أولاً، نحتاج إلى تنزيل النموذج وتهيئته.
In[1]:
from sentence_transformers import SentenceTransformermodel = SentenceTransformer(‘bert-base-nli-mean-tokens’)model
Out[1]:
SentenceTransformer(
(0): Transformer({‘max_seq_length’: 128, ‘do_lower_case’: False}) with Transformer model: BertModel
(1): Pooling({‘word_embedding_dimension’: 768, ‘pooling_mode_cls_token’: False, ‘pooling_mode_mean_tokens’: True, ‘pooling_mode_max_tokens’: False, ‘pooling_mode_mean_sqrt_len_tokens’: False})
)
المخرج المعروض هنا هو كائن SentenceTransformer، الذي يتكون من ثلاثة مكونات:
- المحول (Transformer): يشمل نموذج المحول نفسه، بطول تسلسل أقصى 128 رمزاً. كما يشير إلى ما إذا كان يجب تحويل الإدخال إلى أحرف صغيرة (في هذه الحالة، لا يفعل). فئة النموذج المستخدمة هنا هي BertModel.
- عملية التجميع (Pooling Operation): تنتج تضمين جملة بأبعاد 768 باستخدام طريقة متوسط التجميع (mean pooling).
- بناء تضمينات الجمل: بمجرد إعداد النموذج، يمكن توليد تضمينات الجمل بسرعة باستخدام طريقة encode.
In[2]:
sentences = [
“the fifty mannequin heads floating in the pool kind of freaked them out”,
“she swore she just saw her sushi move”,
“he embraced his new life as an eggplant”,
“my dentist tells me that chewing bricks is very bad for your teeth”,
“the dental specialist recommended an immediate stop to flossing with construction materials”
]embeddings = model.encode(sentences)embeddings.shape
Out[2]:
(5, 768)
لدينا الآن تضمينات جمل يمكن استخدامها لمقارنة تشابه الجمل بسرعة لحالات الاستخدام المختلفة المذكورة في بداية المقال، مثل STS (التشابه النصي الدلالي)، والبحث الدلالي، والتجميع.
لتوضيح مثال سريع على STS، يمكننا استخدام دالة تشابه جيب التمام البسيطة مع Numpy.
In[3]:
import numpy as np
from sentence_transformers.util import cos_simsim = np.zeros((len(sentences), len(sentences)))for i in range(len(sentences)):
sim[i:,i] = cos_sim(embeddings[i], embeddings[i:])sim
Out[3]:
array([[1.00000024, 0. , 0. , 0. , 0. ],
[0.40914285, 1. , 0. , 0. , 0. ],
[0.10909 , 0.4454796 , 1. , 0. , 0. ],
[0.50074852, 0.30693918, 0.20791623, 0.99999958, 0. ],
[0.29936209, 0.38607228, 0.28499269, 0.63849503, 1.0000006 ]])

خريطة حرارية تظهر قيم تشابه جيب التمام بين جميع أزواج الجمل.
هنا، قمنا بحساب تشابه جيب التمام بين كل مجموعة من تضمينات الجمل الخمسة. هذه التضمينات هي:

يتم فهرسة الجمل على النحو التالي:

أعلى درجة تشابه هي 0.64، وتوجد في الزاوية اليمنى السفلية. كما هو متوقع، تتوافق هذه الدرجة مع الجملتين 3 و4، اللتين تصفان ممارسات أسنان سيئة تتضمن مواد بناء.
دراسات حالة: التكامل الناجح لـ Sentence Transformers في LLM الخاص بـ novita.ai
تم استخدام Sentence Transformers لدفع الابتكارات في مجال فهم اللغة الطبيعية (NLU). تم تصميم نماذج فهم اللغة الطبيعية لفهم وتفسير المدخلات اللغوية الطبيعية. يمكن لـ Sentence Transformers تحسين دقة وكفاءة نماذج فهم اللغة الطبيعية من خلال التقاط مفاهيم وعلاقات متشابهة بين الجمل. وهذا يسمح لنماذج فهم اللغة الطبيعية بفهم أفضل للمعنى الدلالي للجمل وتوليد استجابات أكثر دقة وذات صلة بالسياق.
دعنا نختبر أداء وجودة تقنية Sentence Transformer المدمجة مع نماذج اللغات الكبيرة. سنطلب من LLM تحليل قصيدة في سياق Peter and Wendy
أولاً، دعنا ندخل قصيدتنا ونعطي التعليمات: Help me analyse the poem

إليك الرد من LLM الخاص بـ novita.ai:


على الرغم من أن الذكاء الاصطناعي غير قادر على التعرف على السياق الخلفي استناداً إلى الأدب Peter And Wendy، إلا أنه يمتلك تحليلاً نفسياً شاملاً. يمكنك جعل الذكاء الاصطناعي يساعدك في فهم النصوص أو يمكنك تطبيق LLM API الخاص بـ novita.ai على نظامك الحالي لاستخدام sentence transformers.
التحديات والحلول في تنفيذ Sentence Transformers
يمكن أن يأتي تنفيذ Sentence Transformers مع مجموعة من التحديات الخاصة به. أحد التحديات هو المتطلبات الحسابية، حيث أن تدريب واستخدام Sentence Transformers يمكن أن يكون مكثفاً من الناحية الحسابية. التحدي الآخر هو عملية تدريب النموذج، والتي تتطلب اختياراً دقيقاً لبيانات التدريب، وتقنيات التحسين، ودوال الخسارة لتحقيق الأداء الأمثل. ومع ذلك، يمكن التغلب على هذه التحديات بالاستراتيجيات والموارد المناسبة.
التعامل مع المتطلبات الحسابية
يمكن أن يتطلب تنفيذ Sentence Transformers موارد حسابية كبيرة، خاصة عند ضبط النماذج بدقة أو معالجة كميات كبيرة من البيانات.
استراتيجيات تدريب النموذج الفعال
للتغلب على التحديات في تدريب النموذج، من المهم اعتماد استراتيجيات فعالة. يتضمن ذلك اختيار تقنيات التحسين المناسبة، مثل محسن Adam، ودوال الخسارة، وأساليب التدريب للمهمة المحددة.
من المهم أيضاً تنظيم ومعالجة بيانات التدريب مسبقاً بعناية، والمعروفة أيضاً بإعداد البيانات، لضمان جودتها وملاءمتها. يجب أن تكون بيانات التدريب ممثلة للمجال المستهدف وتغطي مجموعة واسعة من الأمثلة. يمكن أن تساعد المراقبة المنتظمة وتقييم عملية التدريب في تحديد ومعالجة أي مشكلات أو اختناقات.
بالإضافة إلى ذلك، يمكن أن يؤدي الاستفادة من النماذج المدربة مسبقاً وتقنيات التعلم بالنقل، مثل فترة الإحماء الخطية (linear warmup period) وجدولة معدل التعلم (learning rate scheduler)، إلى تحسين كفاءة وفعالية عملية تدريب النموذج بشكل كبير.
مستقبل Sentence Transformers
يبدو مستقبل Sentence Transformers واعداً، مع التطورات المستمرة في مجال فهم الآلة. من المرجح أن تؤثر الاتجاهات في تطوير نماذج اللغة، مثل دمج المعلومات متعددة الوسائط واستخدام مجموعات بيانات أكبر وأكثر تنوعاً، على التطور المستقبلي لـ Sentence Transformers.
القدرة على فهم وتوليد نصوص شبيهة بالبشر هي هدف رئيسي في معالجة اللغة الطبيعية، و Sentence Transformers في طليعة هذا البحث. مع استمرار تطور المجال، يمكننا توقع المزيد من الابتكارات والتحسينات في قدرات Sentence Transformers.
الاتجاهات والتوقعات في تطوير نماذج اللغة
تطوير نماذج اللغة هو مجال بحث نشط، مع العديد من الاتجاهات والتوقعات التي تشكل مستقبل المجال. أحد الاتجاهات هو دمج المعلومات متعددة الوسائط، حيث يمكن لنماذج اللغة معالجة وتوليد النصوص بالتزامن مع أنواع أخرى من الوسائط مثل الصور والفيديو. اتجاه آخر هو استخدام مجموعات بيانات أكبر وأكثر تنوعاً لتدريب نماذج اللغة، مما يمكنها من التقاط نطاق أوسع من الأنماط والسياقات اللغوية.
بالإضافة إلى ذلك، أصبح استخدام مساحات المتجهات (vector spaces) في النماذج متعددة اللغات شائعاً بشكل متزايد، مما يسمح بمهام عبر اللغات وأداء محسن. مع استمرار تطور نماذج اللغة، يمكننا توقع تحسينات في أدائها وكفاءتها وقدرتها على فهم وتوليد نصوص شبيهة بالبشر.
توسيع حدود فهم الآلة
فهم الآلة هو هدف أساسي في معالجة اللغة الطبيعية، وتطوير Sentence Transformers يدفع حدود ما هو ممكن. مع تزايد تقدم وتعقيد نماذج معالجة اللغة الطبيعية، لديها القدرة على فهم وتوليد النصوص بدقة وطلاقة شبيهة بالبشر. هذا يفتح إمكانيات جديدة في مجموعة واسعة من التطبيقات، من استرجاع المعلومات إلى دعم العملاء إلى توليد المحتوى.
الخاتمة
في الختام، أحدثت Sentence Transformers ثورة في مجال نماذج اللغة بقدراتها المتقدمة في الفهم الدلالي والاستجابات التلقائية. من خلال دمج هذه المحولات في مشاريعك، يمكنك رفع أداء محرك البحث وتعزيز كفاءة دعم العملاء. تؤكد قصص النجاح ودراسات الحالة على الفوائد الملموسة للاستفادة من Sentence Transformers، مما يمهد الطريق لتجارب تجارة إلكترونية مخصصة واختراقات في فهم اللغة الطبيعية. بينما توجد تحديات في التنفيذ، فإن الاستراتيجيات الفعالة والاتجاهات المستقبلية تعد بتوسيع آفاق فهم الآلة. احتضن قوة Sentence Transformers للبقاء في المقدمة في مجال تحسين المحتوى والتواصل.
الأسئلة المتكررة
ما الذي يجعل Sentence Transformers مختلفة عن النماذج التقليدية؟
تختلف Sentence Transformers عن النماذج التقليدية بعدة طرق. فهي تدمج التشابه النصي الدلالي و BERT السيامي، مما يمكنها من التقاط المعنى الدلالي للجمل. وهذا يسمح بمقارنة وتحليل أكثر دقة للجمل، مما يؤدي إلى أداء محسن في مهام مختلفة.
نصائح لتدريب Sentence Transformers على مجموعات بيانات مخصصة
عند تدريب Sentence Transformers على مجموعات بيانات مخصصة، من المهم تنظيم ومعالجة بيانات التدريب مسبقاً بعناية. يجب أن تكون البيانات ممثلة للمجال المستهدف وتغطي مجموعة واسعة من الأمثلة. يمكن أن تساعد المراقبة المنتظمة وتقييم عملية التدريب في تحديد ومعالجة أي مشكلات أو اختناقات.
novita.ai، المنصة الشاملة للإبداع اللامحدود التي تمنحك الوصول إلى أكثر من 100 واجهة برمجة تطبيقات (API). بدءاً من توليد الصور ومعالجة اللغة إلى تحسين الصوت ومعالجة الفيديو، وبنظام الدفع حسب الاستخدام الرخيص، تحررك من متاعب صيانة GPU أثناء بناء منتجاتك الخاصة. جربها مجاناً.
قراءات موصى بها
محرك استدلال LLM من Novita AI: أعلى إنتاجية وأرخص استدلال متاح
