HyperAIHyperAI

Command Palette

Search for a command to run...

فهم معنى التشابه الجيبي: لماذا يُستخدم في معالجة اللغة الطبيعية؟ يُعد التشابه الجيبي (Cosine Similarity) من أكثر المقاييس شيوعًا في مهام مثل البحث الدلالي ومقارنة المستندات في مجال معالجة اللغة الطبيعية (NLP). رغم انتشاره، يُقدَّم غالبًا في الدورات التمهيدية بأسلوب مبسط دون شرح رياضي عميق، مما يترك العديد من علماء البيانات بفهم غامض لطبيعة هذا المقياس. يهدف هذا المقال إلى توضيح الحجة الرياضية الكامنة وراء التشابه الجيبي، مع عرض أمثلة عملية باستخدام لغة بايثون لربط النظرية بالتطبيق. يُبنى التشابه الجيبي على دالة الجيب التمام (cosine function)، التي تُدرس في الرياضيات الثانوية. تُظهر هذه الدالة نمطًا دوريًا، حيث تصل إلى قيمها القصوى عند زوايا تساوي مضاعفات زاوية 2π، وتصبح سالبة عند 180 درجة، وتصل إلى الصفر عند 90 و270 درجة. هذه الخصائص تُفسّر سبب ملاءمتها كمقياس لتشابه المتجهات: عندما تكون زاوية بين متجهين صفرًا (أي يشاركان نفس الاتجاه)، يكون التشابه الجيبي 1؛ وإذا كانت الزاوية 180 درجة (اتجاهان متعاكسان)، يكون التشابه -1؛ وعندما تكون الزاوية 90 درجة (متعامدان)، يكون التشابه 0. في سياق NLP، يُعبّر التشابه الجيبي عن تداخل المعنى (semantic overlap) واتجاه المعنى (semantic polarity). فمثلاً، الجمل "أعجبتني هذه الفيلم" و"استمتعت بهذا الفيلم" تُعبران عن معنى مشابه رغم استخدام كلمات مختلفة، مما يعكس تشابهًا عالياً. أما كلمات مثل "جيد" و"سيء"، فغالبًا ما تكون متعاكسة، ويُتوقع أن تعطي التشابه الجيبي قيمًا سالبة إذا كانت المتجهات تمثل هذا التباين. الصيغة الرياضية للتشابه الجيبي بين متجهين U وV من الطول n هي: [ \text{cosine similarity} = \frac{U \cdot V}{\|U\| \times \|V\|} ] حيث (U \cdot V) هو الضرب القياسي (dot product)، و(\|U\|)، (\|V\|) هما مقدار كل متجه. هذه الصيغة مشتقة من قاعدة الجيب التمام في الهندسة المتجهة، وتُظهر أن التشابه يعتمد فقط على الاتجاه، وليس على الطول. بالمقارنة مع المسافة الإقليدية (Euclidean Distance)، التي تقيس الفرق الخطي بين المتجهات، فإن التشابه الجيبي لا يتأثر بحجم المتجهات. هذا يعني أن متجهين لهما نفس الاتجاه ولكن طولين مختلفين سيُحسب لهما نفس التشابه الجيبي، بينما المسافة الإقليدية سترتفع مع زيادة الفرق في الطول، حتى لو كان المعنى متطابقًا. لذلك، في مهام NLP التي تركز على الفهم الدلالي وليس على حجم النص، يُفضّل التشابه الجيبي. في التطبيق العملي، يُظهر المثال التالي فرقًا واضحًا بين نموذجين مُدرّبين: الأول (all-MiniLM-L6-v2) لا يُدرج تباين المعنى (polarity)، بينما الثاني (distilbert-base-uncased-finetuned-sst-2-english) مُدرّب على تصنيف المشاعر ويُعَبّر عن التباين. عند مقارنة كلمات مثل "movie" و"film"، يُظهر كلا النموذجين تشابهًا عالياً (0.84 و0.96). أما "good" و"bad"، فيُظهر النموذج الثاني تشابهًا سالبًا (-0.34)، مما يعكس التباين الدلالي، بينما النموذج الأول يُظهر تشابهًا موجبًا (0.59)، مما يدل على عدم تمثيله للاتجاه العكسي. أخيرًا، يُستنتج أن التشابه الجيبي يُعد مقياسًا قويًا لفهم التشابه الدلالي، لكن تفسيره يعتمد بشكل كبير على طبيعة النموذج المستخدم لتمثيل النصوص. إذا كان النموذج يُدرك التباين الدلالي، فإن التشابه الجيبي يمكن أن يُشير إلى التشابه، أو التعارض، أو الارتباط المتعامد، مما يجعله أداة فعّالة في تطبيقات مثل البحث الدلالي، تصنيف النصوص، وتجميع المستندات.

تُعد مقياس التشابه الجيبي (Cosine Similarity) من الأدوات الأساسية في معالجة اللغة الطبيعية (NLP)، خصوصًا في مهام مثل البحث الدلالي ومقارنة المستندات. رغم شيوع استخدامه، يظل فهمه الرياضي مغلفًا بغموض في العديد من الدورات التمهيدية، التي تُقدّم تبريرات عامة دون توضيح الدليل الرياضي وراءه. يهدف هذا المقال إلى توضيح الفكرة الرياضية الكامنة وراء هذا المقياس، مع عرض أمثلة عملية باستخدام لغة بايثون. يعتمد التشابه الجيبي على دالة الجيب التمام، التي تُظهر سلوكًا دوريًا، حيث تصل إلى أقصى قيمتها عند 0 و2π (أي 0 و360 درجة)، وأدنى قيمتها عند π (180 درجة)، وتساوي صفر عند π/2 و3π/2. في سياق المتجهات، يمثل الزاوية بين متجهين، وقيمة الجيب التمام تعكس اتجاه المتجهين نسبيًا: - إذا كانا متطابقين في الاتجاه (تماثل دلالي عالٍ)، يكون التشابه الجيبي ≈ 1. - إذا كانا متعاكسين (معنويًا متعارضين)، يكون التشابه ≈ -1. - إذا كانا متعامدين (غير مرتبطين دلاليًا)، يكون التشابه ≈ 0. يُحسب التشابه الجيبي بين متجهين U وV باستخدام الصيغة: cos(θ) = (U · V) / (||U|| × ||V||) حيث البسط هو الجداء القياسي (Dot Product)، والمقام هو حاصل ضرب مقدار المتجهين. هذه الصيغة مشتقة من قانون الجيب التمام، وتعكس العلاقة الهندسية بين المتجهات دون التأثر بحجمها. على عكس التباعد الإقليدي (Euclidean Distance)، الذي يعتمد على الفرق التربيعي بين العناصر ويعطي قيمًا غير سالبة فقط، فإن التشابه الجيبي يُمكنه تمييز الاتجاهات المعاكسة، ما يجعله أكثر ملاءمة لتحليل المعاني في NLP. في المثال العملي، تم استخدام نموذجين مُدمجين (Embedding Models): 1. all-MiniLM-L6-v2: نموذج عام لا يُشفر التباين المعنوي (Polarity). 2. distilbert-base-uncased-finetuned-sst-2-english: نموذج مُدرّب على تصنيف المشاعر، ويُشفر التباين المعنوي. عند تحليل كلمات مثل "movie" و"film" (مرادفات)، أظهر النموذج الأول تشابهًا جيبيًا قدره 0.84، بينما النموذج الثاني أظهر 0.96، مما يدل على تحسين في تمثيل التشابه الدلالي. أما كلمتا "good" و"bad" (مضادتان)، فقد أعطى النموذج الأول تشابهًا موجبًا (0.59)، بينما النموذج الثاني أظهر قيمة سالبة (-0.34)، مما يعكس التباين المعنوي بوضوح. أما "spoon" و"car" (غير مرتبطة)، فقد كانت القيم قريبة من الصفر (0.23 و0.54)، مما يشير إلى قلة التشابه. الاستنتاج: التشابه الجيبي يُعد مقياسًا قويًا لفهم التشابه الدلالي، لكن تفسيره يعتمد بشكل كبير على طبيعة النموذج المستخدم. النماذج التي تُشفر التباين المعنوي (مثل تلك المدربة على تصنيف المشاعر) توفر تفسيرات أكثر دقة في السياقات التي تتطلب التمييز بين المعاني المتعارضة. أما النماذج العامة، فقد تُظهر تشابهًا موجبًا حتى بين كلمات متعارضة، ما يُبرز أهمية اختيار النموذج المناسب حسب المهمة.

الروابط ذات الصلة

Towards Data ScienceTowards Data Science