اتصل بنا للحصول على مزيد من المعلومات

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

الذكاء العام الاصطناعي

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

mm
سيكيت إل إل إم

من خلال دمج إمكانات معالجة اللغة المتطورة لنماذج مثل 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:

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

تنفيذ تلخيص النص:

تتضمن عملية تنفيذ تلخيص النص في Scikit-LLM ما يلي:

  1. استيراد GPTSummarizer ومجموعة البيانات ذات الصلة.
  2. إنشاء مثيل ل GPTSummarizer مع المعلمات المحددة مثل max_words للتحكم في طول الملخص.
  3. تطبيق fit_transform طريقة توليد ملخصات.

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

الآثار الأوسع لـ Scikit-LLM

بفضل مجموعة ميزات Scikit-LLM، بما في ذلك تصنيف النصوص، والتلخيص، والتحويل إلى متجهات، والترجمة، وقدرته على التكيف مع البيانات غير المصنفة، يُعدّ أداةً شاملةً لمختلف مهام تحليل النصوص. تُلبي هذه المرونة وسهولة الاستخدام احتياجات المبتدئين والمتخصصين ذوي الخبرة في مجال الذكاء الاصطناعي والتعلم الآلي.

التطبيقات المحتملة:

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

مزايا Scikit-LLM:

  • دقة: فعالية مثبتة في مهام مثل تصنيف النص وتلخيصه.
  • سرعة: مناسبة لمهام المعالجة في الوقت الحقيقي بسبب كفاءتها.
  • التدرجية: قادر على التعامل مع كميات كبيرة من النصوص، مما يجعله مثاليًا لتطبيقات البيانات الضخمة.

الخلاصة: تبني Scikit-LLM لتحليل النص المتقدم

باختصار، يُعدّ برنامج Scikit-LLM أداةً فعّالة ومتعددة الاستخدامات وسهلة الاستخدام في مجال تحليل النصوص. إن قدرته على دمج نماذج اللغات الكبيرة مع سير عمل التعلم الآلي التقليدي، بالإضافة إلى كونه مفتوح المصدر، يجعله موردًا قيّمًا للباحثين والمطورين والشركات على حد سواء. سواءً كان الهدف تحسين خدمة العملاء، أو تحليل اتجاهات الأخبار، أو تسهيل التواصل متعدد اللغات، أو استخلاص معلومات أساسية من وثائق شاملة، فإن برنامج Scikit-LLM يُقدّم حلاًّ فعّالاً.

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