الوصف
يقدم مشروع متجهات تخطي الأفكار (Skip-Thought Vectors) مشفر Sent2Vec وكود التدريب المرتبط به، والمشتق مباشرة من ورقة البحث "Skip-Thought Vectors". تم تصميم هذه الأداة لإنشاء تمثيلات متجهية كثيفة وعالية الجودة للجمل. يمكن بعد ذلك استخدام هذه التضمينات للجمل عبر مجموعة واسعة من تطبيقات معالجة اللغة الطبيعية (NLP)، مما يعزز أدائها بشكل كبير.
التنفيذ يتم بشكل أساسي بلغة بايثون، ويتطلب تبعيات محددة مثل Python 2.7، و Theano 0.7، و NumPy، و SciPy، و scikit-learn، و NLTK 3، و Keras و gensim اختياريًا لتجارب محددة. يحتاج المستخدمون إلى تنزيل ملفات النماذج المدربة مسبقًا وتضمينات الكلمات، والتي تكون كبيرة الحجم، مما يستلزم مساحة تخزين كافية. يتضمن الإعداد تكوين المسارات لهذه الملفات التي تم تنزيلها داخل سكربت `skipthoughts.py` وتعيين علامات Theano لاختيار الجهاز (CPU أو GPU).
بمجرد الإعداد، يمكن للمشفر معالجة قوائم الجمل لإنتاج متجهات رقمية. المتجهات الناتجة هي ذات أبعاد 4800، وتجمع بين نماذج uni-skip و bi-skip، مع التوصية بالمتجهات المجمعة للحصول على الأداء الأمثل كما هو موضح في تجارب الورقة البحثية. يمكن التحكم في عملية الترميز من حيث الإسهاب، مع عرض التقدم بناءً على أطوال الجمل التي تتم معالجتها.
يتضمن المستودع أيضًا كودًا لتكرار التجارب المفصلة في الورقة البحثية، والتي تغطي مهام مثل تصنيف أنواع الأسئلة (TREC)، وترتيب الصور والجمل (باستخدام مجموعة بيانات COCO)، والارتباط الدلالي (مجموعة بيانات SICK)، واكتشاف إعادة الصياغة (مجموعة بيانات Microsoft Research Paraphrase Corpus)، ومعايير تصنيف ثنائية مختلفة (MR، CR، SUBJ، MPQA). توجه هذه السكربتات التجريبية المستخدمين بشأن إعداد البيانات والتنفيذ لتحقيق النتائج المبلغ عنها، والتي غالبًا ما تتضمن التحقق المتقاطع لضبط المعلمات الفائقة.
يؤكد المشروع على أهمية رمز نهاية الجملة (EOS)، والذي يمكن استخدامه اختياريًا أثناء الترميز لتحسين الأداء المحتمل، خاصة للجمل التي تفتقر إلى علامات الترقيم القياسية. تم إصدار الكود بموجب ترخيص Apache License 2.0، ويتم تشجيع المستخدمين على الاستشهاد بأوراق البحث ذات الصلة إذا وجدوا الكود مفيدًا.
أبرز ملامح متجهات تخطي الأفكار (Skip-Thought Vectors)
تنفيذ مشفر Sent2Vec
كود تدريب من ورقة "Skip-Thought Vectors"
ينشئ تمثيلات متجهية كثيفة للجمل
يدعم نماذج uni-skip و bi-skip
يوصي بمتجهات combine-skip للحصول على أفضل أداء
يتضمن كودًا لتجارب تصنيف TREC
يتضمن كودًا لتجارب ترتيب الصور والجمل
يتضمن كودًا لتجارب الارتباط الدلالي
يتضمن كودًا لتجارب اكتشاف إعادة الصياغة
يتضمن كودًا لمعايير التصنيف الثنائي
استخدام اختياري لرمز EOS للترميز
تنفيذ قائم على بايثون
البدء مع متجهات تخطي الأفكار (Skip-Thought Vectors)
تنزيل ملفات النماذج وتضمينات الكلمات
تكوين المسارات للملفات التي تم تنزيلها في skipthoughts.py
تعيين THEANO_FLAGS لاختيار الجهاز (CPU/GPU)
استيراد skipthoughts وتحميل النموذج
تهيئة المشفر بالنموذج المحمل
ترميز قوائم الجمل للحصول على المتجهات
تشغيل السكربتات المقدمة لتجارب NLP محددة
حالات استخدام متجهات تخطي الأفكار (Skip-Thought Vectors)
- إنشاء تضمينات الجمل
- تصنيف النصوص
- ترتيب الصور والجمل
- التشابه الدلالي
- اكتشاف إعادة الصياغة
- التصنيف الثنائي







