إدارة المنتجات

تصنيف المنتجات بالمعنى لا بالحرف

يقولون: «الكتاب يُقرأ من عنوانه». لكن في المتجر الرقمي، المنتج لا يُصنَّف من اسمه.

خذ بطاقة ستاربكس مثلًا. اسمها لا يقول «مطاعم»، ووصفها لا يقول «مطاعم»، ومع ذلك يعرف أي شخص فورًا أين مكانها. هذه المعرفة الفورية التي لا نفكر فيها أصلًا شغلتني مدة، حتى قادتني إلى سؤال بسيط: ماذا لو علّمناها للآلة؟

هذه المقالة ليست قصة منتج أطلقناه، بل تجربة بحثية أجريتها خارج حدود العمل اليومي. أردت أن أختبر فكرة واحدة: هل يستطيع نظام أن يصنّف المنتجات، لا بمطابقة الكلمات، بل بفهم المعنى والسياق؟ أن يختار التصنيف الرئيسي، ويقترح التصنيفات المرتبطة، ويفكر كما يفكر عضو في فريق المحتوى، لكنه لا ينام؟

المشكلة ليست في العدد، بل في الخطأ

تخيّل متجرًا فيه آلاف المنتجات: بطاقات شحن، وتطبيقات، واشتراكات، وألعاب، وهدايا. ويُضاف إليه كل أسبوع منتج جديد.

يبدو التصنيف اليدوي حلًّا معقولًا في البداية: يراجع فريق المحتوى كل منتج ويضعه في مكانه. لكنه مع النمو يتحوّل من مهمة إلى عنق زجاجة. ثم إن كلفته الحقيقية ليست في الوقت الذي يستهلكه، بل في الخطأ الذي يمرّ دون أن يلاحظه أحد.

منتج واحد في تصنيف خاطئ يطلق سلسلة صغيرة: العميل لا يجده، فلا يشتريه، فيظن أن المتجر لا يوفّره، فيبحث عنه في مكان آخر.

الخطأ يبدأ في قاعدة البيانات، وينتهي في ثقة العميل.

الكلمة تخدع، والمعنى لا يخدع

الأنظمة التقليدية تصنّف بمطابقة الحروف. إن وجدت كلمة «ألعاب» في الوصف وضعت المنتج في الألعاب، وإن لم تجدها تجاهلته، حتى لو كان المنتج ألعابًا خالصة.

والعربية تزيد الأمر صعوبة. «لعب» و«ألعاب» و«اللعب الجماعي» كلها من جذر واحد، لكن المطابقة الحرفية تراها كلمات مختلفة لا رابط بينها.

البشر لا يصنّفون بهذه الطريقة. حين نقرأ «اشتراك سنوي في شبكة PS Plus» نعرف فورًا أنه يخص الألعاب، مع أن الكلمة لم تُذكر أصلًا. نحن لا نطابق الحروف، بل نفهم السياق.

ℹ️ التصنيف الدلالي (Semantic Classification): نظام لا يسأل «هل الكلمة موجودة؟» بل يسأل «ماذا يعني هذا النص؟».

كيف تفهم الآلة المعنى؟

عبر نموذج لغوي (Language Model) يحوّل النص إلى تمثيل عددي يُسمّى Vector Embedding.

تخيّل خريطة ضخمة لكل نص فيها موقع. النصوص المتقاربة في المعنى تقع متجاورة، حتى لو لم تشترك في كلمة واحدة. «بطاقة لشراء مشروبات ساخنة» تقع قريبًا من «مقاهٍ ومطاعم»، وبعيدًا عن «رصيد مكالمات».

المعاني المتقاربة تتجاور على الخريطةكل نص نقطة، والمسافة بين نقطتين هي الفرق في المعنىالألعاباشتراك PS Plusاللعب الجماعيمتاجر التطبيقاتبطاقة Google Playقريبة من الألعاب أيضًامطاعمقهوةCoffeeبطاقة ستاربكسالاتصالاتباقة ليبارا
شكل 1: خريطة المعنى، حيث تتجاور النصوص المتقاربة في معناها.

بعد ذلك يصبح التصنيف سؤالًا بسيطًا: أي التصنيفات أقرب إلى هذا المنتج على الخريطة؟

منطق الحرف ومنطق المعنى

المنتجالوصفالتصنيف بالحرفالتصنيف بالمعنى
اشتراك PS Plusاشتراك يمنحك اللعب الجماعي عبر الشبكةلا تصنيف ❌الألعاب ✅
بطاقة ستاربكسبطاقة لشراء مشروبات ساخنةلا تصنيف ❌مطاعم ✅
بطاقة Google Playبطاقة لشراء تطبيقات وألعابالألعاب ❌متاجر التطبيقات ✅
باقة ليبارا مسبقة الدفعرصيد للمكالمات المحلية والدوليةالتوصيل ❌الاتصالات ✅

لاحظ الصف الثالث: المطابقة الحرفية لم تكتفِ بالفشل، بل أخطأت بثقة. وجدت كلمة «ألعاب» فقررت.

⚠️ انتبه: الخطأ الواثق أخطر من الغياب، لأنه لا يلفت انتباه أحد.

على أكتاف من سبقوا

هذه التجربة لا تبدأ من الصفر، بل تقف على عقد كامل من البحث. في 2013 نشر فريق في Google بقيادة توماس ميكولوف ورقة word2vec، فصارت الكلمة نقطة على خريطة. وفي 2017 قدّمت ورقة «الانتباه هو كل ما تحتاجه» (Attention Is All You Need) معمارية Transformer، فصار السياق جزءًا من المعنى. ثم جاء Sentence-BERT في 2019 ليحوّل الجملة كاملة إلى متجه واحد يُقارن بـ cosine similarity، قبل أن يوسّعه مؤلفاه في 2020 ليشمل أكثر من 50 لغة في فضاء واحد.

كل فكرة وقفت على كتف التي قبلها2013word2vecالكلمة متجه2017Transformerالمعنى من السياق2019Sentence-BERTالجملة متجه واحد2020متعدد اللغاتفضاء واحد للغاتاليومهذه التجربةتصنيف بالمعنى
شكل 2: من word2vec إلى هذه التجربة، عقد من البحث في 4 محطات.

كل محطة جعلت التي بعدها ممكنة. وما فعلته هنا أنني أخذت هذا التراكم كله، ووجّهته إلى سؤال يومي في التجارة الرقمية: أين يسكن هذا المنتج؟

مكونات التجربة

بنيت النموذج الأولي على ثلاث ركائز:

1. النموذج اللغوي

اخترت نموذج Transformer متعدد اللغات، مدرّبًا على أكثر من 50 لغة، منها العربية والإنجليزية.

وهذا مهم في المتاجر العربية تحديدًا، لأن أوصاف المنتجات تأتي بالعربية حينًا وبالإنجليزية حينًا، وكثيرًا ما تجمع بينهما في سطر واحد. النموذج يضع «Coffee» و«قهوة» في الموقع نفسه تقريبًا على الخريطة.

2. أوصاف التصنيفات (CATEGORY_DESCRIPTIONS)

اسم التصنيف وحده لا يكفي. كلمة «الاتصالات» أقصر من أن يفهم منها النموذج حدود التصنيف. لذلك كتبت لكل تصنيف وصفًا يشرح ما يدخل فيه:

«الاتصالات: تشمل رصيد المكالمات، والإنترنت، وشحن الشرائح، والمكالمات المحلية والدولية»

✓ أول ما تعلّمته من التجربة: جودة التصنيف تبدأ من جودة الوصف. النموذج لا يقارن المنتج باسم التصنيف، بل بوصفه. وكلما كان الوصف أدق، كانت المقارنة أعدل.

3. الكلمات المرجِّحة (KEYWORD_HINTS)

المعنى وحده قد يتردد أحيانًا، خصوصًا مع العلامات التجارية التي لا يحمل اسمها معنى لغويًا. «ليبارا» كلمة لا تعني شيئًا في ذاتها، لكننا نعرف أنها اتصالات.

لذلك ربطت بعض الكلمات المتكررة بتصنيفات محددة، ومنحت كل ربط وزنًا:

"ليبارا": {"الاتصالات": 0.3}
"قهوة": {"مطاعم": 0.25}
"شوكولاتة": {"حلويات": 0.2}

واللافت أن هذه الكلمات لا تقرر التصنيف، بل ترجّحه. هي ليست قاعدة تقول «إن وجدت ليبارا فهذا اتصالات»، بل إشارة تقول «إن وجدت ليبارا فارفع احتمال الاتصالات قليلًا». القرار يبقى للمعنى، والكلمة تعينه ولا تحلّ محله.

من الوصف إلى التصنيف في 5 خطوات

  1. أجمع بيانات المنتج: الاسم والوصف الكامل بالعربية والإنجليزية.
  2. أحوّله إلى تمثيل عددي: يحوّل النموذج النص إلى embedding يحمل معناه.
  3. أقارنه بكل تصنيف: أحسب درجة التشابه بين المنتج ووصف كل تصنيف باستخدام cosine similarity، وهو مقياس لمدى تقارب تمثيلين على الخريطة.
  4. أرجّح بالكلمات المفتاحية: إن وجدت في الوصف كلمة مرتبطة بتصنيف ما، رفعت درجته بالوزن المحدد لها.
  5. أحدد النتيجة: الدرجة الأعلى تصبح التصنيف الرئيسي، والدرجات القريبة منها تصبح تصنيفات مرتبطة.
المعنى يقرر، والكلمة ترجّحأوصاف التصنيفاتالكلمات المرجّحةبيانات المنتجالاسم والوصفتمثيل عدديEmbeddingقياس التشابهمع كل تصنيفترجيح الكلماتبالوزن المحددالنتيجةرئيسي ومرتبطتصنيف رئيسيتصنيفات مرتبطةالدرجة الأعلىالدرجات القريبة
شكل 3: مسار التصنيف في 5 خطوات، المعنى يقرر والكلمة ترجّح.

لاحظ أن الكلمات المرجّحة تدخل بعد قياس التشابه لا قبله: المعنى يحسم أولًا، والكلمة تعدّل النتيجة فقط.

أمثلة من التجربة

شحن ليبارا

  • الوصف: بطاقة لشحن الرصيد وإجراء المكالمات
  • الكلمات المرجِّحة: ليبارا، رصيد، باقة
  • النتيجة: الاتصالات ✅

بطاقة ستاربكس

  • الوصف: بطاقة لشراء مشروبات ساخنة
  • الكلمات المرجِّحة: قهوة، مشروب، ستاربكس
  • النتيجة: مطاعم ✅

بطاقة نون

  • الوصف: بطاقة مشتريات تشمل ألعابًا وإلكترونيات وأزياء
  • التصنيف الرئيسي: تسوّق ✅
  • التصنيفات المرتبطة: ألعاب، إلكترونيات، أزياء

ما بعد التصنيف الواحد

المنتج قد يسكن أكثر من مكان

النظام لا يكتفي بأن يقول «هذا المنتج ألعاب»، بل يضيف: «وقد يرتبط بالاشتراكات والترفيه ومتاجر التطبيقات».

بطاقة نون مثال واضح: يشتري بها العميل ألعابًا وملابس وطعامًا. وحصرها في تصنيف واحد يعني إخفاءها عن عميل يبحث في مكان آخر. لذلك يقترح النظام أكثر من تصنيف، فيظهر المنتج حيث يتوقعه العميل، لا حيث قررنا نحن أن نضعه.

استبعاد التطابق غير المنطقي

قد يقترب منتج من تصنيف لا علاقة له به لمجرد تشابه لغوي، كأن يقترب منتج اتصالات من «التوصيل». هذه الحالات استبعدتها يدويًا، أو عبر منطق تنظيف يرفض التطابقات التي لا تستقيم.

تصنيفات تتشكل حسب المتجر

صممت الفكرة بحيث لا تفرض قائمة تصنيفات جاهزة. أي متجر يستطيع:

  • تعديل أوصاف التصنيفات (CATEGORY_DESCRIPTIONS)
  • تغيير العتبة التي تحدد متى يصبح التصنيف «مرتبطًا»
  • إخفاء تصنيفات معينة عن العملاء

أسئلة ما زالت مفتوحة

التجربة الجيدة لا تنتهي بإجابة، بل بأسئلة أفضل. وهذه أسئلتي التي لم أحسمها بعد:

  • كيف أقيس الدقة بإنصاف؟ المقارنة العادلة تحتاج مجموعة منتجات صنّفها بشر، ثم نرى أين يتفق النظام معهم وأين يختلف. والمدهش أن البشر أنفسهم لا يتفقون دائمًا.
  • ماذا عن المنتج الذي لا يشبه شيئًا؟ حين يظهر نوع جديد كليًا، سيقترب من أقرب تصنيف موجود مهما كان بعيدًا. وربما كان الأذكى أن يعترف النظام بأنه لا يعرف.
  • هل أكتب الأوزان أم أتركها تُتعلّم؟ أوزان الكلمات المرجِّحة كتبتها بيدي. لكن سلوك البحث والشراء نفسه قد يكون معلّمًا أفضل مني.
  • ماذا لو عكسنا السؤال كله؟ بدل أن نصنّف المنتجات حسب تصنيفات كتبناها مسبقًا، نترك المنتجات تتجمّع بالمعنى على الخريطة، ثم ننظر إلى المجموعات التي تظهر ونسمّيها. قد نكتشف تصنيفات يراها العميل ولا نراها نحن.

الخلاصة

كنت أرى التصنيف مهمة تنظيمية تأكل وقت الفريق. ثم أدركت أنه قرار استراتيجي يحدد كيف يرى العميل أي متجر: ما الذي يجده، وما الذي يفوته، وما الذي يظن أنه غير موجود.

والتحول الحقيقي لم يكن في الأداة، بل في السؤال. توقفت عن سؤال «أين أضع هذا المنتج؟» وبدأت أسأل «أين سيبحث عنه العميل؟». الأول سؤال ترتيب، والثاني سؤال فهم.

هذه التجربة لم تنتهِ بمنتج، بل بطريقة تفكير. أن تنظر إلى المشكلة المألوفة كأنك تراها أول مرة، وأن تسأل الآلة ما نسأله لأنفسنا دون أن نشعر.

فالمنتج، مثل الإنسان، يُفهم بالمعنى لا بالحرف.

مراجع للتوسّع

استعنت بالذكاء الاصطناعي في رسم بعض الأفكار في هذه المقالة، لتصير أسهل فهمًا وأقرب إلى القارئ.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *