مرجع مكون تجزئة الميزة

توضح هذه المقالة أحد المكونات المضمنة في مصمم التعلم الآلي من Microsoft Azure.

استخدم مكون Feature Hashing لتحويل تدفق من النص الإنجليزي إلى مجموعة من الميزات الصحيحة. يمكنك بعد ذلك تمرير مجموعة الميزات المجزأة هذه إلى خوارزمية التعلم الآلي لتدريب نموذج تحليلات النص.

تعتمد وظيفة تجزئة الميزة المتوفرة في هذا المكون على إطار عمل nimbusml. لمزيد من المعلومات، راجع فئة NgramHash.

ما هي ميزة التجزئة؟

تعمل ميزة التجزئة عن طريق تحويل الرموز المميزة الفريدة إلى أعداد صحيحة. إنه يعمل على السلاسل الدقيقة التي تقدمها كمدخلات ولا يقوم بأي تحليل لغوي أو معالجة مسبقة.

على سبيل المثال، خذ مجموعة من الجمل البسيطة مثل هذه، متبوعة بنتيجة المشاعر. افترض أنك تريد استخدام هذا النص لبناء نموذج.

نص المستخدم SENTIMENT
أحببت هذا الكتاب 3
كرهت هذا الكتاب 1
كان هذا الكتاب رائعاً 3
انا أحب الكتب 2

داخلياً، يُنشئ مكون Feature Hashing قاموساً من n-grams. على سبيل المثال، ستكون قائمة الحروف الكبيرة لمجموعة البيانات هذه شيئاً كالتالي:

مصطلح (بيغرامز) التكرار
هذا الكتاب 3
أحببت 1
كرهت 1
أنا أحب 1

يمكنك التحكم في حجم n-grams باستخدام خاصية N-grams. إذا اخترت bigrams، يتم أيضاً حساب unigrams. قد يتضمن القاموس أيضاً مصطلحات فردية مثل هذه:

المصطلح (أحادي) التكرار
book 3
I 3
books 1
was 1

بعد إنشاء القاموس، يحول مكون Feature Hashing مصطلحات القاموس إلى قيم تجزئة. ثم يقوم بحساب ما إذا تم استخدام الميزة في كل حالة. لكل صف من البيانات النصية، يقوم المكون بإخراج مجموعة من الأعمدة، عمود واحد لكل معلم مجزأ.

على سبيل المثال، بعد التجزئة، قد تبدو أعمدة الميزة كما يلي:

التصنيف ميزة التجزئة 1 ميزة التجزئة 2 ميزة التجزئة 3
4 1 1 0
5 0 0 0
  • إذا كانت القيمة الموجودة في العمود تساوي 0، فهذا يعني أن الصف لا يحتوي على الميزة المجزأة.
  • إذا كانت القيمة 1، فهذا يعني أن الصف يحتوي على الميزة.

تتيح لك ميزة تجزئة تمثيل المستندات النصية ذات الطول المتغير كمتجهات سمات رقمية متساوية الطول لتقليل الأبعاد. إذا حاولت استخدام عمود النص للتدريب كما هو، فستتم معاملته كعمود ميزة فئوية مع العديد من القيم المميزة.

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

تكوين مكون Feature Hashing

  1. أضف مكون Feature Hashing إلى مسار التدفق الخاص بك في المصمم.

  2. قم بتوصيل مجموعة البيانات التي تحتوي على النص الذي تريد تحليله.

    تلميح

    نظراً لأن تجزئة الميزة لا تؤدي عمليات معجمية مثل الاشتقاق أو الاقتطاع، يمكنك أحياناً الحصول على نتائج أفضل عن طريق المعالجة المسبقة للنص قبل تطبيق تجزئة الميزة.

  3. عيّن الأعمدة المستهدفة على أعمدة النص التي تريد تحويلها إلى عناصر مجزأة. ضع في اعتبارك ما يلي:

    • يجب أن تكون الأعمدة من نوع بيانات السلسلة.

    • يمكن أن يكون لاختيار عدة أعمدة نصية تأثير كبير على أبعاد المعالم. على سبيل المثال، ينتقل عدد أعمدة تجزئة 10 بت من 1،024 عموداً واحداً إلى 2048 عموداً لعمودين.

  4. استخدم Hashing bitsize لتحديد عدد وحدات البت المطلوب استخدامها عند إنشاء جدول التجزئة.

    حجم البت الافتراضي هو 10. للعديد من المشاكل، هذه القيمة مناسبة. قد تحتاج إلى مساحة أكبر لتجنب الاصطدامات، اعتماداً على حجم مفردات n-grams في نص التدريب.

  5. بالنسبة إلى N-grams، أدخل رقماً يحدد الحد الأقصى لطول n-grams لإضافتها إلى قاموس التدريب. إن n-gram عبارة عن سلسلة من n كلمة يتم التعامل معها كوحدة فريدة.

    على سبيل المثال، إذا قمت بإدخال 3، فسيتم إنشاء الأحجار الكريمة، والأحرف الكبيرة، والتريغرامات.

  6. إرسال المسار.

النتائج

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

اسم العمود 1 نوع العمود 2
USERTEXT عمود البيانات الأصلية
SENTIMENT عمود البيانات الأصلية
USERTEXT - ميزة التجزئة 1 عمود ميزة مجزأة
USERTEXT - ميزة التجزئة 2 عمود ميزة مجزأة
USERTEXT - ميزة تجزئة n عمود ميزة مجزأة
USERTEXT - ميزة التجزئة 1024 عمود ميزة مجزأة

بعد إنشاء مجموعة البيانات المحولة، يمكنك استخدامها كمدخل لمكون نموذج القطار.

أفضل الممارسات

يمكن أن تساعدك أفضل الممارسات التالية في تحقيق أقصى استفادة من مكون Feature Hashing:

  • أضف مكون نص العملية المسبقة قبل استخدام ميزة التجزئة للمعالجة المسبقة لنص الإدخال.

  • أضف مكون Select Columns بعد مكون Feature Hashing لإزالة أعمدة النص من مجموعة بيانات الإخراج. لا تحتاج إلى أعمدة النص بعد إنشاء ميزات التجزئة.

  • ضع في اعتبارك استخدام خيارات المعالجة المسبقة للنص، لتبسيط النتائج وتحسين الدقة:

    • كسر الكلمات
    • وقف إزالة الكلمات
    • تطبيع الحالة
    • حذف علامات الترقيم والرموز الخاصة
    • Stemming

تعتمد المجموعة المثلى من طرق المعالجة المسبقة التي يتم تطبيقها في أي حل على المجال والمفردات واحتياجات العمل. مسار التدفق مع البيانات الخاصة بك لمعرفة طرق معالجة النص الأكثر فعالية.

الخطوات التالية

راجع مجموعة المكونات المتوفرة لـ التعلم الآلي من Microsoft Azure