نستخدم مصدرًا كبيرًا منظمًا للنصوص متعددة اللغات - ويكيبيديا لتحسين تصنيف النصوص. النهج جيد مع درجة عالية من الأتمتة والاستقلالية التي يتم حل مشكلة تصنيف معين. التأثير الأكبر ، ومع ذلك ، يتوقع على مهام تحديد الموضوع.
الفكرة الرئيسية هي أن نستخلص من ويكيبيديا فقط النصوص التي تساعدنا على حل مشكلة التصنيف لدينا ، وتجاهل الآخرين. إذا قمنا بتصنيف نصوص حول القطط ، فمن غير المرجح أن نحتاج إلى نصوص عن فيزياء الكم ، على الرغم من أن النصوص على أنواع أخرى من الحيوانات يمكن أن تكون مفيدة. الفصل التلقائي لهذه النصوص عن بعضها البعض هو جوهر النهج الموصوف.
ويكيبيديا ، كما تعلمون ، عبارة عن مجموعة من المقالات حول العديد من مجالات المعرفة والاهتمامات. في الوقت نفسه ، يحتوي جزء كبير من المقالات على روابط لمقالات ذات موضوع مماثل ، ولكن بلغات أخرى. هذه ليست ترجمات ، وهي مقالات ذات موضوع عام. أيضًا ، تندرج معظم المقالات في فئة واحدة أو أكثر. الفئات ، بدورها ، يتم تنظيمها في معظمها في شكل شجرة هرمية. أي أنه يمكن حل مهمة تجميع مقالات ويكيبيديا حول مواضيع تهمنا.
نحن نستخدم المورد DBPedia - نسخة مسبقة ومنظمة ويكيبيديا. توفر لنا DBPedia جميع المعلومات الضرورية - أسماء المقالات وشروحها وفئات المقالات والفئات العليا للفئات. نبدأ مع اللغة الأكثر تمثيلا على نطاق واسع في ويكيبيديا - الإنجليزية. إذا لم تكن مهمتك تحتوي على نصوص باللغة الإنجليزية أو بها عدد قليل ، فاستخدم اللغة التي توجد بها العديد من المستندات.
الخطوة 1. تجميع ويكيبيديا
التركيز على فئات المادة. الآن ، تجاهل محتواها. تشكل الفئات رسمًا بيانيًا ، يشبه معظمها الأشجار ، ولكن هناك دورات أيضًا. المقالات هي نقاط نهاية الرسم البياني (الأوراق) المتصلة بعقد واحد أو أكثر من الرسم البياني. نستخدم أداة Node2Vec للحصول على تمثيل متجه لكل فئة وكل مقالة. يتم تجميع مقالات من مواضيع مماثلة معا في الفضاء ناقلات.
نقوم بالتجميع بأي طريقة مناسبة من المقالة في عدد كبير (مئات) من المجموعات.
الخطوة 2. تدريب المصنف على ويكيبيديا
نستبدل أسماء المقالات في المجموعات الناتجة بتعليقاتها (ملخص طويل وملخص قصير - فقرة واحدة تقريبًا من النص لكل مادة). الآن لدينا المئات من المجموعات المحددة كمجموعات من النصوص. نحن نستخدم نموذجًا مناسبًا ونبني مصنفًا يحل مشكلة التصنيف متعدد الطبقات: مجموعة واحدة - فئة واحدة. استخدمنا FastText.
في المخرجات ، نحصل على نموذج يأخذ النص كمدخلات ، ويعطي في الإخراج متجهًا لتقديرات الدرجة التي ينتمي إليها النص لمئات مجموعات الفصل لدينا.
إذا كانت الخطوة الأولى هي تجميع مقالات ويكيبيديا ليس حسب فئاتها ، ولكن حسب محتواها ، إذن ، أولاً ، سنفقد المعلومات حسب الفئات ، ولكن من المهم ، وثانياً ، سنحصل على نظام منحل - يتم تجميعه وبناء عليه بالنصوص نموذج المصنف. من المحتمل أن تكون الجودة النهائية أسوأ من اتباع منهج منفصل. على الرغم من أنني لم تحقق.
الخطوة 3. بناء نموذج خاص بك ، والقتال ، والبيانات
نحن نستخدم مجموعة مختارة من البيانات القتالية الخاصة بنا ونقدم كل وثيقة إلى مدخلات النموذج من الخطوة 2. يعرض النموذج متجهًا للتقديرات. نحن نستخدم هذا المتجه كمتجه مميز للوثيقة المعنية. نتيجةً لذلك ، بعد معالجة جميع عينات التدريب الخاصة بنا من المستندات القتالية ، نحصل على جدول في النموذج القياسي للتعلم الآلي - تسمية فئة ، ومجموعة من العلامات العددية. نسمي هذا الجدول مجموعة تدريب.
نحن نبني على عينة التدريب المصنف الذي يمكن تقييم محتوى المعلومات من السمات الفردية. هي مناسبة تماما الأشجار القرار وأي اختلافات الغابات العشوائية منها. العلامات الأكثر إفادة هي تلك المجموعات من مقالات ويكيبيديا التي لا تحتوي فقط على مواضيع متشابهة مع موضوعات مستنداتنا القتالية ، ولكن الأهم من ذلك أن موضوعات هذه المقالات تسمح لنا بفصل الطبقات المقاتلة جيدًا. في التكرارات الأولى ، يكون رسم بياني لمعلوماتية العلامات عادة مسطحًا - تتساوى العديد من المجموعات المعلوماتية والذيل الطويل تقريبًا من حيث المعلوماتية بالنسبة للمئات المتبقية من العلامات.
بعد دراسة الرسم البياني لمحتوى معلومات الأحرف ، تم تحديد نقطة انعطاف بشكل تجريبي في كل مرة ، وحوالي 10 إلى 30٪ من المجموعات انتقلت إلى التكرار التالي. يتمثل جوهر التكرار في دمج مقالات من مجموعات المعلومات المختارة ، وإرسالها إلى الخطوات من 1 إلى 3 ، حيث تم تجميعها مرة أخرى ، وتم بناء مصنفين مرة أخرى ، وانتهى كل شيء بتحليل المدرج التكراري لمحتوى المعلومات. سوف يستغرق 3-4 التكرار.
لقد اتضح أن البيانات الرقمية ، وخاصة أعداد السنوات ، لها بيانات قوية في البيانات الخاصة بنا وتجر المعلوماتية الخاصة بالمجموعة بأكملها على نفسها. كنتيجة منطقية ، أصبحت المجموعات المخصصة للأحداث الرياضية السنوية هي الأكثر إفادة - كتلة من الأرقام والتواريخ ، والمفردات الضيقة. اضطررت إلى إزالة جميع الأرقام في نصوص التعليقات التوضيحية (في الخطوة الثانية). أصبح الأمر أفضل بشكل ملحوظ ، بدأت مجموعات من المقالات ذات الموضوع المستهدف حقًا في الظهور (كما تخيلناها). في الوقت نفسه ، ظهرت مجموعات غير متوقعة سقطت منطقيًا في مهمتنا القتالية ، وكانت تحتوي على المفردات الصحيحة ، ولكن كان من الصعب جدًا تخمين بداهة فائدة هذه المجموعات.
الخطوة 4. وضع اللمسات الأخيرة على النموذج
بعد عدة تكرارات من الخطوات 1-3 ، لدينا عدد معقول من المقالات المختارة من ويكيبيديا ، والتي تساعد موضوعاتها على مشاركة مستنداتنا القتالية. نعمل على توسيع نطاق الاختيار بمقالات مماثلة بلغات أخرى تهمنا ونبني مجموعات نهائية ، هذه المرة عشرات. يمكن استخدام هذه المجموعات بطريقتين - إما بناء مصنف مشابه للخطوة 2 ، واستخدامه لتوسيع متجه الميزة الرقمية في مهمتك القتالية ، أو استخدام مجموعات النصوص هذه كمصدر للمفردات الإضافية ودمجها في مصنف القتال الخاص بك. استخدمنا الطريقة الثانية.
المصنف المقاتل الخاص بنا عبارة عن مجموعة من نموذجين - bayes ساذج و xgboost. يعمل Naive Bayes على غرامات طويلة ، وهي عبارة عن جرامات يتراوح طولها من 1 إلى 16 عنصرًا ، ويميل كل غرام موجود إلى المجموع في أحد الفصول ، لكن Bayes لا يتخذ قرارًا نهائيًا - فهو يعطي فقط مجموع الأوزان المرتبطة بالكل من الفصول. يقبل Xgboost إخراج bayes والمصنفات الأخرى وبعض السمات الرقمية التي يتم إنشاؤها بشكل مستقل عن النص ، ويقدم xgboost بالفعل النموذج النهائي والتقييم النهائي. هذا النهج يجعل من السهل ربط أي مجموعات من النصوص بنموذج bayes غرام ، بما في ذلك المجموعات الناتجة من مقالات ويكيبيديا ، ويبحث xgboost بالفعل عن أنماط في شكل ردود فعل نموذجية من مجموعات ويكيبيديا بنصوص المعارك.
النتائج والاستنتاجات
أعطت النتيجة الأولى زيادة من دقة 60 ٪ مشروطة إلى 62 ٪. عند استبدال التعليقات التوضيحية لمقالات Wikipedia في الخطوة 4 بالمقالات المقلدة نفسها ، زادت الدقة إلى 66٪. والنتيجة طبيعية ، لأن حجم التعليق التوضيحي عبارة عن جملتين أو ثلاث عبارات ، وحجم المقالة أكبر من الحجم. المزيد من المواد اللغوية - تأثير أعلى.
يجب أن نتوقع أن يكون إكمال الجودة بالكامل بشأن نصوص المقالات ، بدلاً من التعليقات التوضيحية ، أكبر من زيادة الجودة ، ولكن هناك بالفعل مشكلة في الرقم التقني - تنزيل ويكيبيديا بالكامل ومعالجته ، أو أن الجزء الملحوظ (إذا لم تبدأ من التكرار الأول) أمر صعب. أيضًا ، إذا كنت لا تستخدم اللغة الإنجليزية في البداية فقط ، ولكن جميع اللغات ذات الاهتمام ، فلا يزال بإمكانك الفوز بشيء آخر. في هذه الحالة ، يكون النمو في الأحجام المعالجة متعددة ، وليس بأحجام كبيرة ، كما في الحالة الأولى.
ناقلات الوثيقة الدلالية
بالنسبة لكل وثيقة ، يتم تكوين متجه لعلاقة الوثيقة بالمواضيع المحددة بناءً على فئات ويكيبيديا. يتم تقدير تكلفة المتجه إما بالطريقة الموضحة في الخطوة 3 أو بواسطة غرامات الغرامات الخاصة بنا. وفقًا لذلك ، يمكن تجميع المستندات القتالية وفقًا لهذه المتجهات والحصول على مجموعة من المستندات القتالية حسب الموضوع. يبقى فقط وضع علامات التجزئة وكل وثيقة جديدة يمكن أن تقع بالفعل في قاعدة البيانات مع العلامات. التي ثم يمكن للمستخدمين البحث. هذا هو الحال إذا قمت بلصق العلامات بطريقة واضحة ومرئية للمستخدم. يبدو من المألوف ، على الرغم من أنني لست داعم.
البحث التكيفي
هناك طريقة أكثر إثارة للاهتمام لاستخدام متجهات الوثيقة الدلالية وهي البحث التكيفي. بمراقبة نشاط المستخدم ، والوثائق التي يبقي عليها وتلك التي لا يقرأها ، يمكنك تحديد مجال اهتمامات المستخدم بالمعنى الطويل الأجل (بعد كل شيء ، يكون لدى المستخدمين أيضًا تقسيم للمسؤوليات ويبحث الجميع أساسًا عن مسؤوليته الخاصة) وفي إطار جلسة البحث الحالية.
تحتوي المستندات ذات الموضوعات المتشابهة على ناقلات دلالات متشابهة ذات قياس جيب تمام ، وهذا يسمح لك بتقييم المستندات في نتائج البحث أثناء الطيران وفقًا لدرجة التزامها المتوقع بمصالح المستخدم ، ونتيجة لذلك يمكنك زيادة المستندات اللازمة في نتائج البحث.
نتيجة لذلك ، حتى مع استعلامات البحث المتطابقة لكل مستخدم ، يمكن تخصيص نتائج البحث له واعتمادًا على أي من المستندات في الخطوة السابقة التي كان المستخدم مهتمًا بها ، سيتم ضبط خطوة البحث التالية وفقًا لاحتياجات المستخدم ، حتى لو لم يتغير استعلام البحث نفسه.
نحن نعمل الآن على مشكلة البحث التكيفي.
اختبار فرضية العمل
تأتي الأعمال بشكل دوري مع أفكار مشرقة يصعب تنفيذها. يجب أن نتعلم العثور على المستندات حسب وصفها ، دون أن يكون لدينا عينة محددة للتدريب ، أو القدرة على تقديم مجموعة من الوثائق للمقيّمين. يحدث هذا عادة عندما نادراً ما يتم العثور على المستندات المستهدفة فيما يتعلق بالتدفق العام للوثائق ، ونتيجة لذلك ، من خلال تقديم مجموعة من 10 آلاف وثيقة إلى المقيِّمين دون تصفية أولية ، يمكنك الحصول على 1-2 من المخرجات الضرورية أو حتى أقل من المخرجات.
نهجنا هو إنشاء عملية التعلم التكراري على أساس ناقلات الدلالية. في الخطوة الأولى ، نجد العديد من النصوص التي تحدد موضوعنا المستهدف - قد تكون هذه مقالات ويكيبيديا أو نصوص من مصادر أخرى. لكل نص ، يتم إنتاج متجه الدلالي. إذا كان الموضوع المستهدف معقدًا ، فإن جبر المجموعات يعمل - التوحيد ، والتقاطع ، واستبعاد بعض الموضوعات من الآخرين. على سبيل المثال - هناك مقالات ويكيبيديا حول "البحث والتطوير" وعن "مستحضرات التجميل" ، تقاطع المجموعات سيعطي "البحث والتطوير حول مستحضرات التجميل".
يمكن فرز جميع الوثائق الموجودة في قاعدة البيانات حسب درجة امتثالها للمواضيع المحددة ، ثم تعمل جبر المجموعات على الوثائق نفسها على النحو التالي - تعتبر الوثيقة وثيقة الصلة بالموضوع إذا كان الموجه الدلالي أقرب إلى متجه مقالات ويكيبيديا لموضوع معين من متوسط قاعدة البيانات. التقاطع - إذا كان المتجه الدلالي للمستند في نفس الوقت أقرب إلى كلا الموضوعين من المتوسط لقاعدة البيانات. عمليات أخرى متشابهة.
نجد مجموعة من المئات أو الوثيقتين التي لها أقرب ما يكون إلى جميع الموضوعات الإيجابية ، وفي الوقت نفسه ، الأقرب إلى جميع الموضوعات السلبية (إذا لم نكن مهتمين بالقضايا المالية في البحث الذي نبحث عنه ، فسنقوم بتعيين المقالة من فئة "الشؤون المالية" كمثال سلبي) ). سنقدم هذه الوثائق إلى المقيّمين ، وسيجدون العديد من الأمثلة الإيجابية فيها ، واستناداً إلى هذه الأمثلة ، سنبحث عن مستندات أخرى ذات ناقلات دلالات قريبة ، ونضع علامة عليها ، وسنحصل في الإخراج على ما يكفي من الوثائق للفئة الإيجابية لبناء أي مصنف مناسب. قد يستغرق عدة مرات التكرار.
يؤدي
يسمح النهج الموصوف تلقائيًا ، دون تحليل يدوي ، بالاختيار من ويكيبيديا أو مجموعات مصدر أخرى للنصوص التي تساعد في حل مشكلة التصنيف. ببساطة عن طريق توصيل المجموعات من ويكيبيديا إلى مصنف عامل ، يمكن للمرء أن يتوقع زيادة كبيرة في الجودة ، دون الحاجة إلى تكييف المصنف نفسه.
حسنًا ، البحث التكيفي مثير للاهتمام.