المرحلة الثالثة: البيانات وهندسة الميزات

منصة مفتوحة المصدر لإدارة بيانات اللغة الطبيعية ووضع العلامات عليها، تركز على طرق بناء نماذج البرمجة اللغوية العصبية التي تركز على البيانات.

DataLabelingNLPWeakSupervisionGitHubTextFreeEnglish

Refinery - أداة مفتوحة المصدر لإدارة بيانات اللغة الطبيعية لعلماء البيانات

نظرة عامة على المشروع

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

الميزات الأساسية

1. وظائف توسيم البيانات

  • التوسيم اليدوي والبرمجي: يدعم مهام التصنيف وتوسيم النطاقات
  • التوسيم شبه التلقائي: أتمتة جزء من عمل التوسيم عبر الاستدلالات
  • دعم المهام المتعددة: يمكن للمشروع الواحد التعامل مع مهام توسيم متعددة

2. قدرات إدارة البيانات

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

3. تكامل التعلم الآلي

  • تكامل 🤗 Hugging Face: إنشاء تضمينات على مستوى المستند والرمز تلقائيًا
  • تكامل spaCy: الاستفادة من نماذج اللغة المدربة مسبقًا
  • البحث العصبي: استرجاع السجلات المتشابهة واكتشاف الشذوذ بناءً على Qdrant

4. الاستدلالات والإشراف الضعيف

  • دوال التوسيم: إنشاء وإدارة منطق التوسيم التلقائي القائم على القواعد
  • التعلم بالإشراف الضعيف: دمج استدلالات متعددة صاخبة وغير كاملة
  • إدارة قاعدة المعرفة: إنشاء وإدارة قوائم البحث لدعم عملية التوسيم

5. ميزات التعاون

  • مساحة عمل الفريق: بيئة متعددة المستخدمين (النسخة التجارية)
  • التحكم في الوصول القائم على الأدوار: إدارة أذونات المستخدمين
  • تكامل توسيم التعهيد الجماعي: يدعم سير عمل التوسيم الخارجي

البنية التقنية

الخدمات الأساسية

- embedder: خدمة توليد التضمينات
- weak-supervisor: خدمة التعلم بالإشراف الضعيف
- tokenizer: خدمة تقسيم الكلمات (التوكين)
- neural-search: خدمة البحث العصبي
- ui: واجهة المستخدم
- gateway: بوابة API

تكاملات الطرف الثالث

- PostgreSQL: تخزين البيانات
- Minio: تخزين الكائنات
- MailHog: خدمة البريد
- Ory Kratos: إدارة الهوية
- Ory Oathkeeper: التحكم في الوصول

مكتبات التعلم الآلي

- scikit-learn: التعلم الآلي التقليدي
- spaCy: معالجة اللغة الطبيعية
- Hugging Face Transformers: النماذج المدربة مسبقًا
- Qdrant: قاعدة بيانات المتجهات

التثبيت والاستخدام

التثبيت السريع

# التثبيت باستخدام pip
pip install kern-refinery

# تشغيل الخدمة
cd your-project-directory
refinery start

# الوصول إلى التطبيق
# افتح المتصفح على http://localhost:4455

التثبيت اليدوي

# استنساخ المستودع
git clone https://github.com/code-kern-ai/refinery.git
cd refinery

# تشغيل الخدمة (Mac/Linux)
./start

# تشغيل الخدمة (Windows)
start.bat

# إيقاف الخدمة
./stop  # أو stop.bat (Windows)

دعم تنسيقات البيانات

تنسيقات الإدخال

  • ملفات JSON
  • ملفات CSV
  • جداول البيانات
  • ملفات نصية
  • تنسيق JSON العام

تنسيقات الإخراج

[
  {
    "running_id": "0",
    "headline": "T. Rowe Price (TROW) Dips More Than Broader Markets",
    "date": "Jun-30-22 06:00PM  ",
    "headline__sentiment__MANUAL": null,
    "headline__sentiment__WEAK_SUPERVISION": "NEGATIVE",
    "headline__sentiment__WEAK_SUPERVISION__confidence": 0.62,
    "headline__entities__MANUAL": null,
    "headline__entities__WEAK_SUPERVISION": [
      "STOCK", "STOCK", "STOCK", "STOCK", "STOCK", "STOCK", "O", "O", "O", "O", "O"
    ],
    "headline__entities__WEAK_SUPERVISION__confidence": [
      0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.00, 0.00, 0.00, 0.00, 0.00
    ]
  }
]

حزمة تطوير البرامج (Python SDK)

يوفر المشروع حزمة تطوير برامج Python SDK كاملة، تدعم:

  • رفع وتنزيل البيانات
  • إدارة المشاريع
  • تصدير بيانات التوسيم
  • محولات للتكيف مع أطر عمل مثل Rasa
# سحب البيانات
rsdk pull

# دفع البيانات
rsdk push <file_name>

مكتبة bricks مفتوحة المصدر

تدمج Refinery مكتبة bricks مفتوحة المصدر، والتي توفر:

  • وظائف توسيم تلقائية جاهزة للاستخدام
  • استخراج البيانات الوصفية للنص (اكتشاف اللغة، تعقيد الجملة، إلخ)
  • قوالب دوال توسيم مسبقة البناء

سيناريوهات الاستخدام

مجموعات المستخدمين المثالية

  1. مطورون مشاريع NLP الفردية: الباحثون الذين يفتقرون إلى بيانات توسيم كافية
  2. مشاريع التعاون الجماعي: الفرق التي تحتاج إلى إدارة وتقييم جودة بيانات التدريب
  3. المشاريع ذات الموارد المحدودة: المشاريع التي تحتاج إلى تحسين موارد التوسيم (القوى العاملة، الميزانية، الوقت)

حالات الاستخدام الرئيسية

  • تحليل المشاعر
  • التعرف على الكيانات المسماة
  • تصنيف النصوص
  • استخراج المعلومات
  • معالجة النصوص متعددة اللغات

نموذج العمل

  • النسخة مفتوحة المصدر: نسخة المستخدم الواحد، مجانية بالكامل
  • النسخة التجارية: بيئة متعددة المستخدمين، توفر ميزات التعاون الجماعي
  • حلول على مستوى المؤسسات: نشر محلي وخدمات مخصصة

المجتمع والدعم

  • مجتمع Discord: للمناقشات الفنية والدعم
  • مشاكل GitHub (GitHub Issues): للإبلاغ عن المشاكل وطلبات الميزات
  • مركز الوثائق: أدلة استخدام مفصلة ودروس تعليمية
  • قناة YouTube: دروس فيديو وعروض توضيحية

مزايا المشروع

  1. منهجية تركز على البيانات: تركز على تحسين جودة بيانات التدريب بدلاً من مجرد زيادة كمية البيانات
  2. توسيم شبه تلقائي: يقلل بشكل كبير من عبء عمل التوسيم اليدوي
  3. بنية قابلة للتوسع: بنية الخدمات المصغرة تدعم النشر المرن
  4. شفافية مفتوحة المصدر: مفتوح المصدر بالكامل، تطوير مدفوع بالمجتمع
  5. ميزات على مستوى المؤسسات: يدعم النشر على نطاق واسع والتعاون الجماعي

مصادر التعلم

يمثل Refinery أفضل الممارسات الحديثة في إدارة بيانات معالجة اللغة الطبيعية (NLP)، ويوفر لعلماء البيانات أداة قوية ومرنة لبناء مجموعات بيانات تدريب عالية الجودة.