الذكاء العام الاصطناعي
نماذج اللغات الكبيرة باستخدام Scikit-Learn: دليل شامل لـ Scikit-LLM

من خلال دمج إمكانات معالجة اللغة المتطورة لنماذج مثل ChatGPT مع إطار عمل Scikit-learn متعدد الاستخدامات والمستخدم على نطاق واسع، تقدم Scikit-LLM ترسانة لا مثيل لها للتعمق في تعقيدات البيانات النصية.
Scikit-LLM، متاح على موقعه الرسمي مستودع جيثبيُمثل هذا البرنامج دمجًا بين الذكاء الاصطناعي المتقدم لنماذج اللغات الكبيرة (LLMs) مثل OpenAI's GPT-3.5 وبيئة Scikit-learn سهلة الاستخدام. تُتيح حزمة بايثون هذه، المُصممة خصيصًا لتحليل النصوص، معالجة متقدمة للغة الطبيعية في متناول اليد وفعالة.
لماذا Scikit-LLM؟
لمن هم على دراية تامة ببيئة Scikit-learn، يبدو Scikit-LLM تطورًا طبيعيًا. فهو يحافظ على واجهة برمجة التطبيقات المألوفة، مما يسمح للمستخدمين باستخدام وظائف مثل .fit(), .fit_transform()و .predict(). إن قدرته على دمج المقدرين في مسار Sklearn تجسد مرونته، مما يجعله نعمة لأولئك الذين يتطلعون إلى تحسين مشاريع التعلم الآلي الخاصة بهم من خلال فهم اللغة المتطور.
في هذه المقالة، نستكشف Scikit-LLM، من تركيبه إلى تطبيقه العملي في مختلف مهام تحليل النصوص. ستتعلم كيفية إنشاء مصنفات نصوص مُشرفة وأخرى بدون أخطاء، وتتعمق في ميزات متقدمة مثل تحويل النصوص إلى متجهات وتصنيفها.
Scikit-Learn: حجر الزاوية في التعلم الآلي
قبل الخوض في برنامج Scikit-LLM، دعونا نتطرق إلى أساسه - Scikit-learn. يُعد Scikit-learn اسمًا مألوفًا في مجال تعلم الآلة، ويشتهر بمجموعته الخوارزمية الشاملة، وبساطته، وسهولة استخدامه. ويُعد Scikit-learn الأداة المفضلة للعديد من علماء البيانات، إذ يغطي مجموعة واسعة من المهام، من الانحدار إلى التجميع.
تم بناء Scikit-learn على أساس المكتبات العلمية الخاصة بـ Python (NumPy وSciPy وMatplotlib)، ويتميز بتكامله مع المجموعة العلمية الخاصة بـ Python وكفاءته مع مصفوفات NumPy ومصفوفات SciPy المتفرقة.
في جوهره، يتمحور Scikit-learn حول التوحيد وسهولة الاستخدام. بغض النظر عن الخوارزمية التي تختارها، تبقى الخطوات متسقة: استيراد الفئة، واستخدام طريقة "الملاءمة" مع بياناتك، وتطبيق "التنبؤ" أو "التحويل" لاستخدام النموذج. تُقلل هذه البساطة من منحنى التعلم، مما يجعلها نقطة انطلاق مثالية للمبتدئين في مجال التعلم الآلي.
تهيئة البيئة
قبل الخوض في التفاصيل، من الضروري تهيئة بيئة العمل. في هذه المقالة، ستكون منصة Google Colab هي المنصة المُختارة، إذ توفر بيئة سهلة الوصول وقوية لتشغيل أكواد بايثون.
التركيب
%%capture !pip install scikit-llm watermark %load_ext watermark %watermark -a "your-username" -vmp scikit-llm
الحصول على مفاتيح API وتكوينها
يتطلب Scikit-LLM مفتاح OpenAI API للوصول إلى نماذج اللغة الأساسية.
from skllm.config import SKLLMConfig OPENAI_API_KEY = "sk-****" OPENAI_ORG_ID = "org-****" SKLLMConfig.set_openai_key(OPENAI_API_KEY) SKLLMConfig.set_openai_org(OPENAI_ORG_ID)
تصنيف Zero-Shot GPT
أكثر من ZeroShotGPTClassifier إنها ميزة رائعة في Scikit-LLM والتي تستفيد من قدرة ChatGPT على تصنيف النص بناءً على العلامات الوصفية، دون الحاجة إلى تدريب النموذج التقليدي.
استيراد المكتبات ومجموعة البيانات
from skllm import ZeroShotGPTClassifier from skllm.datasets import get_classification_dataset X, y = get_classification_dataset()
تجهيز البيانات
تقسيم البيانات إلى مجموعات فرعية للتدريب والاختبار:
def training_data(data):
return data[:8] + data[10:18] + data[20:28]
def testing_data(data):
return data[8:10] + data[18:20] + data[28:30]
X_train, y_train = training_data(X), training_data(y)
X_test, y_test = testing_data(X), testing_data(y)
نموذج التدريب والتنبؤ
تعريف وتدريب برنامج ZeroShotGPTClassifier:
clf = ZeroShotGPTClassifier(openai_model="gpt-3.5-turbo") clf.fit(X_train, y_train) predicted_labels = clf.predict(X_test)
التقييم
تقييم أداء النموذج:
from sklearn.metrics import accuracy_score
print(f"Accuracy: {accuracy_score(y_test, predicted_labels):.2f}")
تلخيص النص باستخدام Scikit-LLM
يعد تلخيص النصوص ميزة أساسية في مجال معالجة اللغة الطبيعية، ويستغل Scikit-LLM براعة GPT في هذا المجال من خلال GPTSummarizer وحدة. تتميز هذه الميزة بقدرتها على التكيف، مما يسمح باستخدامها كأداة مستقلة لإنشاء الملخصات وكخطوة معالجة مسبقة في سير العمل الأوسع.
تطبيقات GTSummarizer:
- تلخيص مستقل: أكثر من
GPTSummarizerيمكن إنشاء ملخصات موجزة بشكل مستقل من المستندات الطويلة، وهو أمر لا يقدر بثمن لتحليل المحتوى السريع أو استخراج المعلومات الأساسية من كميات كبيرة من النص. - المعالجة المسبقة للعمليات الأخرى: في سير العمل الذي يتضمن مراحل متعددة لتحليل النص، فإن
GPTSummarizerيمكن استخدامها لتكثيف البيانات النصية. وهذا يقلل من العبء الحسابي ويبسط خطوات التحليل اللاحقة دون فقدان المعلومات الأساسية.
تنفيذ تلخيص النص:
تتضمن عملية تنفيذ تلخيص النص في Scikit-LLM ما يلي:
- استيراد
GPTSummarizerومجموعة البيانات ذات الصلة. - إنشاء مثيل ل
GPTSummarizerمع المعلمات المحددة مثلmax_wordsللتحكم في طول الملخص. - تطبيق
fit_transformطريقة توليد ملخصات.
من المهم أن نلاحظ أن max_words تعمل المعلمة كمبدأ توجيهي وليس حدًا صارمًا، مما يضمن الحفاظ على الملخصات متماسكة وملاءمتها، حتى لو تجاوزت عدد الكلمات المحدد قليلاً.
الآثار الأوسع لـ Scikit-LLM
بفضل مجموعة ميزات Scikit-LLM، بما في ذلك تصنيف النصوص، والتلخيص، والتحويل إلى متجهات، والترجمة، وقدرته على التكيف مع البيانات غير المصنفة، يُعدّ أداةً شاملةً لمختلف مهام تحليل النصوص. تُلبي هذه المرونة وسهولة الاستخدام احتياجات المبتدئين والمتخصصين ذوي الخبرة في مجال الذكاء الاصطناعي والتعلم الآلي.
التطبيقات المحتملة:
- تحليل آراء العملاء: تصنيف تعليقات العملاء إلى فئات مثل إيجابية أو سلبية أو محايدة، والتي يمكن أن تفيد تحسينات خدمة العملاء أو استراتيجيات تطوير المنتج.
- تصنيف المقالات الإخبارية: فرز المقالات الإخبارية في مواضيع مختلفة لخلاصات الأخبار المخصصة أو تحليل الاتجاهات.
- ترجمة اللغة: ترجمة المستندات للعمليات المتعددة الجنسيات أو الاستخدام الشخصي.
- تلخيص الوثيقة: فهم سريع لجوهر المستندات الطويلة أو إنشاء نسخ أقصر للنشر.
مزايا Scikit-LLM:
- دقة: فعالية مثبتة في مهام مثل تصنيف النص وتلخيصه.
- سرعة: مناسبة لمهام المعالجة في الوقت الحقيقي بسبب كفاءتها.
- التدرجية: قادر على التعامل مع كميات كبيرة من النصوص، مما يجعله مثاليًا لتطبيقات البيانات الضخمة.
الخلاصة: تبني Scikit-LLM لتحليل النص المتقدم
باختصار، يُعدّ برنامج Scikit-LLM أداةً فعّالة ومتعددة الاستخدامات وسهلة الاستخدام في مجال تحليل النصوص. إن قدرته على دمج نماذج اللغات الكبيرة مع سير عمل التعلم الآلي التقليدي، بالإضافة إلى كونه مفتوح المصدر، يجعله موردًا قيّمًا للباحثين والمطورين والشركات على حد سواء. سواءً كان الهدف تحسين خدمة العملاء، أو تحليل اتجاهات الأخبار، أو تسهيل التواصل متعدد اللغات، أو استخلاص معلومات أساسية من وثائق شاملة، فإن برنامج Scikit-LLM يُقدّم حلاًّ فعّالاً.












