طرق استهلاك النص باستخدام نماذج Tensorflow Decision Forest

هذه هي صفحة Markdown التوثيقية. لمزيد من المعلومات، راجع مرجع Markdown (go/documentation-reference) ودليل أسلوب التوثيق (go/documentation-style).

خلفية

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

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

ميزة معرف المستخدم المشتريات السابقة عنوان المنتج وصف المنتج
بيانات المثال 1234 ["تلفزيون"، "فراغ"] "موزع انترنت" "هذا جهاز التوجيه هو ..."


في هذا المثال، تعد "المشتريات السابقة" ميزة نصية متفرقة (أو مجموعة من العناصر الفئوية). "عنوان المنتج" موجود أيضًا، ولكن لم يتم ترميزه في هذا المثال. "وصف المنتج" هو ميزة لغة طبيعية، لها خصائص مختلفة عن الميزات الأخرى، لأننا نتوقع أن تكون المفردات كبيرة (أو غير محدودة)، وأن يكون ترتيب الكلمات مهمًا، وأن يكون لها خصائص دلالية ومعجمية أخرى متأصلة في المنتج. لغة. تعتبر الاستراتيجيات التي نوضحها أدناه مناسبة لجميع هذه الميزات، ولكن سيكون لها مقايضات مختلفة لكل منها.

مرجع سريع

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

سرعة الاستدلال سرعة التدريب القدرة على حفظ علاقات التسمية المميزة <> تعميم
فئات متعددة الأسرع (++) الأسرع (++) محدود محدودة (+)
متعددة الساخنة سريع (+) سريع (بافتراض حجم مفردات صغير نسبيًا) (++) جيد محدودة (+)
مجموعات فئوية الأسرع (+++) أبطأ (+) أفضل محدودة (++)
التضمين الأبطأ (بافتراض عمليات التشفير غير التافهة، مثل ضرب المصفوفات) (+ إلى +++) الأسرع (بافتراض حجم المفردات >> بُعد التضمين) (+++) سيء جيد (++ إلى +++)

ن-جرام

N-grams (على سبيل المثال {"the"، "cat"، "is"، "blue"} -> {"<start> the"، "the cat"، "cat is"، "is blue"، "blue < end>"}) يمكن أن يكون مفيدًا في كثير من الحالات، ويلتقط المعلومات المعجمية المحلية. وهي مدعومة بجميع الطرق المذكورة أدناه، ولكنها تأتي على حساب حجم مفردات أكبر بشكل كبير، مما قد يجعلها غير عملية بسبب تكلفة التدريب.

استراتيجيات محبطة

ترميز واحد ساخن / متعدد الساخن / حقيبة من الكلمات

يعد التشفير السريع استراتيجية كلاسيكية لتكثيف النص المتناثر. نحن هنا نفترض امتدادًا حيث يتم تمثيل ميزة النص المتناثر إما بواسطة رقم ساخن متعدد (1s لجميع الرموز المميزة المضمنة) أو توجيه قائم على العد (العدد لكل رمز مميز في المفردات).

على سبيل المثال، إذا كانت المفردات مكونة من 4 عناصر، وتم فهرستها مثل ["TV"، "Vacuum"، "Wifi"، "Router"]، فإن ميزة "المشتريات السابقة" ستكون متجهًا كثيفًا <1، 1، 0، 0 >. إذا تم أخذ الأعداد في الاعتبار وكانت الميزة ["TV"، "TV"، "Vacuum"]، فستكون <2، 1، 0، 0>.

الايجابيات

  • نظرًا لأنه يتم تعلم تقسيمات غابة القرار على الميزات الفردية، فإن ذلك يكون أقل تكلفة في وقت التدريب من المجموعات الفئوية.
  • على عكس السابق، لا يحتاج إلى أي قطع أو حشو، والرموز المميزة لها نفس الدلالات عبر الأمثلة (أي أن كلمة "TV" ستكون ثابتة عبر الانقسامات بغض النظر عن الموضع).

سلبيات

  • غالبًا ما تؤدي هذه الإستراتيجية إلى انقسامات غير متوازنة ومتفرقة للغاية، مما قد يجعل خوارزميات تعلم DF إما أبطأ في التقارب أو أقل من المستوى. هذا بسبب:
    • هناك حاجة إلى مزيد من الانقسامات لمعرفة نفس المعلومات
    • الأشجار المتناثرة للغاية تعمم بشكل أسوأ من الأشجار المتوازنة، مما يؤدي عادة إلى نموذج أقل دقة.
  • لا يأخذ في الاعتبار المعلومات الموضعية. قد يؤدي هذا إلى الإضرار بأداء ميزات اللغة الطبيعية.
  • يعد تعلم الانقسامات العددية على البيانات الفئوية دون المستوى الأمثل؛ هناك تحسينات للعثور على الانقسامات الفئوية التي لا يتم الاستفادة منها هنا.
  • يتدرج التعقيد الحسابي للتدريب بشكل خطي مع عدد عناصر المفردات (والتي سيتم استهلاك كل منها كميزة عددية). من الناحية العملية، ما لم تكن مجموعة البيانات صغيرة جدًا (وفي هذه الحالة قد تشجع المفردات الكبيرة على التخصيص الزائد)، فإن ذلك يجعل تدريب المفردات التي يزيد عددها عن 5 آلاف عنصر بطيئًا للغاية.
  • سيكون استهلاك ذاكرة التدريب 1 بايت (للأعداد الساخنة) أو 4 بايت (للأعداد) لكل عنصر مفردات لكل مثال، لأنه في وقت الفهرسة، سيتم تخزين البيانات كنسخة كثيفة من البيانات المتفرقة. يمكن أن ينمو هذا بشكل كبير للغاية بالنسبة للمفردات ومجموعات البيانات الأكبر.

ميزات فئوية متعددة بطول ثابت

نظرًا لأنه يمكن تعلم الميزات الفئوية بكفاءة من خلال خوارزميات غابة القرار، فإن إحدى الطرق الطبيعية لاستهلاك الرموز المميزة المتفرقة هي الحشو/القص بحيث يكون هناك عدد ثابت من رموز الإدخال لكل مثال، وكل موضع رمز مميز هو ميزة منفصلة ومستقلة. في المثال أعلاه، إذا كانت "المشتريات السابقة" تحتوي على 5 رموز مميزة على الأكثر، فيمكننا إنشاء ميزات f1...f5 تمثل الرموز المميزة 1-5، وتجاهل أي رموز مميزة > 5، وإضافة قيم مفقودة للأمثلة التي يوجد بها <5.

الايجابيات

  • هذا فعال للتدريب.
  • قد لا يضر هذا بجودة النموذج إذا كان هناك تباين منخفض في عدد الرموز المميزة لكل مثال، وكانت الرموز المميزة مستقلة.
  • قد يؤدي هذا إلى التقاط دلالات إضافية (مثل أمر الشراء في المثال) بشكل طبيعي أكثر من الطرق الأخرى.

سلبيات

  • يضيف دلالات إلى الرموز المبطنة "المفقودة" التي ستكون بمثابة ضجيج للنموذج. سيكون هذا واضحًا بشكل خاص إذا كان هناك تباين كبير في عدد الرموز المميزة لكل مثال، وهو ما قد يحدث على سبيل المثال مع ميزة "وصف المنتج".
  • ستكون الأشجار المستفادة حساسة للغاية للترتيب، أي إذا كانت الميزة هي ["A"، "B"] فسيكون التنبؤ مختلفًا عن التنبؤ لـ ["B"، "A"]، وإذا لم يتم رؤية الأخير مطلقًا في البيانات، لن يتمكن النموذج من التعميم من السابق. بشكل عام، سيتطلب هذا المزيد من البيانات لمعرفة ثبات الموضع.
  • افتراضيًا، سيتم تمثيل كل رمز مميز بميزة ذات مفردات مختلفة. حتى إذا أجبرت التنفيذ على مراعاة نفس مجموعة عناصر المفردات لكل ميزة، فسيكون f1=”TV” عنصر مفردات مختلفًا عن f2=”TV.” وهذا يعني أن الخوارزمية ستكون أقل كفاءة في تعلم العلاقة بين الرمز المميز "TV" والملصق - وسيتعين عليها أن تتعلمها بشكل منفصل لكل موضع رمزي.

استراتيجيات أفضل

مجموعات فئوية

المجموعات الفئوية ( https://arxiv.org/pdf/2009.09991.pdf ) هي تمثيل الميزة الافتراضية لـ TF-DF للنص المتناثر. المجموعة الفئوية هي في الواقع حقيبة من الكلمات، مع تجاهل التكرارات والترتيب. على سبيل المثال، سيتم تمثيل الميزة "التلفزيون هو الأفضل" من خلال المجموعة الفئوية {"الأفضل"، "هو"، "التلفزيون".

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

if description contains “high” AND “speed” AND “gaming”:
  return True

في هذه الحالة، سيتعلم مقسم المجموعة الفئوية الأصلي تقسيمًا واحدًا، حيث {"عالية"، "سرعة"، "ألعاب"} => صحيح.

سيتطلب التمثيل الساخن الواحد 3 تقسيمات، على "عالية" و"منقسمة" و"ألعاب"، وسيحتاج إلى العثور على عقد ورقية معقولة لجميع الانفصالات المحتملة لتلك الفئات (أي "عالية" وليس "سرعة"). من الناحية العملية، يؤدي التشفير السريع إلى أشجار غير متوازنة إلى حد كبير ولا يمكن تحسينها بكفاءة من خلال أفضل خوارزميات تعلم غابة القرار أداءً.

الايجابيات

  • الأفضل في تعلم معلومات حقيبة الكلمات لغابات القرار.
  • كفاءة عالية في الخدمة (يمكن تقديمها باستخدام QuickScorer، الذي يمكنه خدمة الأشجار الكبيرة في وقت يصل إلى أقل من ميكروثانية لكل مثال). يكون تعقيد وقت التقديم خطيًا في عدد العناصر في المجموعة الفئوية لكل مثال، وهو في الواقع أصغر بكثير من حجم المفردات.
  • تحسين مفردات واحدة لكل ميزة، بحيث تتم مشاركة الدلالات.

سلبيات

  • تكلفة تدريب مجموعة فئوية مقسمة إلى مقاييس بحجم num_examples * vocab، تشبه إلى حد كبير الخوارزمية الواحدة، يمكن أن يكون حجم المفردات القابلة للتدريب صغيرًا إلى حد ما (N ألف) في الإعدادات العملية. لاحظ أنه يمكن تحسين سرعة التدريب هذه عن طريق ضبط جزء أخذ العينات من الخوارزمية الجشعة، ولكنها قد تحقق جودة دون المستوى الأمثل.

التضمين

لقد عرضت الشبكات العصبية أداءً متطورًا في مجموعة متنوعة من مهام البرمجة اللغوية العصبية (NLP)، كما تعمل عمليات التضمين المدربة مسبقًا والتي يتم استهلاكها كميزات عددية بشكل تجريبي أيضًا بشكل جيد مع خوارزميات غابة القرار، على الرغم من استخدام الميزات بشكل مختلف تمامًا داخليًا. لاحظ أننا هنا نشير إلى "التضمين" كأي تشفير للشبكة العصبية، على سبيل المثال، مخرجات المحولات/الطبقات التلافيفية/المتكررة.

يعمل استخدام التضمينات المدربة مسبقًا بشكل جيد مع الشبكات العصبية جزئيًا لأن تهيئة مساحة متجهة حيث تكون الرموز المميزة أو الجمل المتشابهة قريبة في الفضاء الإقليدي أظهرت أنها تنتقل بشكل جيد عبر مهام البرمجة اللغوية العصبية، وتكون التدرجات من تلك التهيئة أصغر وأسرع في التقارب من التهيئة العشوائية بالكامل. ومع ذلك، تستخدم أشجار القرار التضمينات كميزات رقمية فردية، وتتعلم الأقسام المحاذية للمحور لتلك الميزات الفردية 1 . وهذا يعني أنه من شبه المستحيل استخدام نفس المعلومات الدلالية - على سبيل المثال، لا يمكن تمثيل حاصل الضرب النقطي أو ضرب المصفوفة بمجموعة من الانقسامات المحاذية للمحور. علاوة على ذلك، على عكس الشبكات العصبية، التي يمكنها تحديث التضمينات من خلال النسب المتدرج أثناء التدريب، فإن خوارزميات تعلم غابة القرار الافتراضية غير قابلة للتمييز، مما يعني أن التضمينات يجب أن تظل مجمدة. لاحظ أن هناك عملًا ( https://arxiv.org/pdf/2007.14761.pdf، على سبيل المثال) على غابات القرار القابلة للتمييز. ومع ذلك، ربما يرجع ذلك جزئيًا إلى عدم استخدام جميع أجزاء المعلومات الموجودة في عملية التضمين فعليًا، حتى من خلال الشبكات العصبية، ولا تزال هذه الإستراتيجية تعمل بشكل جيد مع غابات القرار.

الايجابيات:

  • يمكنه التعامل مع أحجام مفردات أكبر بكثير - نظرًا لأن التضمين هو في الواقع تكثيف لعدد صغير من أبعاد التضمين، فمن غير المحتمل أن يزيد عدد ميزات الإدخال في غابة القرار بشكل كبير.
  • يمكن التعميم بشكل أفضل، من الناحية النظرية، نظرًا لأن عمليات التضمين المماثلة يمكنها مشاركة مجموعات من الأقسام. لاحظ أن التحذير الكبير هنا هو أنه، كما هو مذكور أعلاه، يمكن أن تحتوي التحولات الأساسية أو التدويرات في الفضاء المتجه على تضمينين متشابهين مختلفين تمامًا في المساحة المقسمة المحاذية للمحور لغابات القرار.
  • يمكن تغليف التكرار/ترتيب الكلمات بشكل طبيعي، على سبيل المثال إذا كان برنامج التشفير يحتوي على تلافيفات أو انتباه أو RNN.
  • يمكن الاستفادة من المعلومات من مجموعة بيانات أخرى (التدريب المسبق لنقل التعلم).

سلبيات

  • ليست جيدة في حفظ المعلومات - يمكن أن تؤدي الانقسامات إلى تصنيفات غامضة أو حساسية عالية للصياغة (على سبيل المثال، "جهاز التوجيه رائع" مقابل "جهاز توجيه رائع") سوف تنتج عمليات تضمين مختلفة، والتي قد تكون قريبة في الفضاء الإقليدي ولكن ليس بالضرورة أن تكون مماثلة الميزات العددية.
  • أبطأ في الإرسال، لأن التمرير الأمامي الكامل لجهاز التشفير يجب أن يتم في وقت الاستدلال. يعتمد زمن الوصول الفعلي بشكل كبير على البنية التي أنتجت التضمينات؛ على سبيل المثال، عادةً ما يكون برنامج تشفير المحولات أبطأ بكثير من البحث في جدول التضمين الأولي باستخدام التجميع المتوسط.

ملحوظات


  1. يمكن أن يسمح تمكين الانقسامات المائلة بتعلم المعلومات غير المحاذية للمحور، ولكنه سيظل على أساس كل بُعد على حدة.