Scikit-LLM یک ابزار است که مدلهای پیشرفته زبان بزرگ (LLM) مانند GPT-3.5 OpenAI را با چارچوب کاربردی Scikit-learn ترکیب میکند. این بسته Python برای تحلیل متون طراحی شده و قابلیت پردازش پیشرفته زبان طبیعی را با دسترسی واضح و کارآمد فراهم میکند.
چرا Scikit-LLM
Scikit-LLM برای افرادی که با Scikit-learn آشنا هستند، یک پیشرفت طبیعی است. این ابزار API آشنا را حفظ کرده و به کاربران این امکان را میدهد که از توابعی مانند .fit()، .fit_transform() و .predict() استفاده کنند. قابلیت این ابزار در ادغام برآوردگرها در خط لوله Sklearn نشان از انعطاف پذیری آن میدهد و برای افرادی که به دنبال ارتقاء پروژههای یادگیری ماشینی خود با درک پیشرفتهتر زبان هستند، یک منبع مفید میشود.
در این مقاله، ما Scikit-LLM را از نصب تا کاربرد عملی آن در کارهای مختلف تحلیل متن بررسی خواهیم کرد. شما خواهید آموخت که چگونه طبقهبندیکننده متن نظارتشده و بدون نیاز به تصاویر را ایجاد کرده و به ویژگیهای پیشرفتهای مانند بردارسازی متن و طبقهبندی متنی بپردازید.
Scikit-learn: سنگ بنای یادگیری ماشین
قبل از ورود به جزئیات Scikit-LLM، بیایید ابتدا به اصول Scikit-Learn بپردازیم. Scikit-Learn که یک ابزار معروف در زمینه یادگیری ماشین است، به دلیل مجموعهی گستردهای از الگوریتمهای متنوع، سادگی استفاده و کاربرپسندی معروف است. این ابزار به دلیل ارائه الگوریتمهایی از رگرسیون تا خوشهبندی، یک ابزار بسیار محبوب در جامعه دانشمندان داده محسوب میشود.
Scikit-Learn که بر اساس کتابخانههای علمی پایتون مانند NumPy، SciPy و Matplotlib ساخته شده است، به دلیل یکپارچگی با پشته علمی پایتون و همچنین کارایی خوب با آرایههای NumPy و ماتریسهای پراکنده SciPy تمیز است.
این ابزار به عنوان یک ابزار یکنواخت و ساده معروف است. مراحل استفاده از آن ثابت میمانند: کلاس مورد نظر را وارد کنید، از روش "مطابق" با دادههایتان استفاده کنید، و سپس "پیشبینی" یا "تبدیل" را برای استفاده از مدل اجرا کنید. این سادگی، منحنی یادگیری را کاهش میدهد و آن را به نقطه شروع ایدهآلی برای افرادی که تازه به یادگیری ماشین مشغول هستند تبدیل میکند.
شروع کار
قبل از بررسی جزئیات، تنظیم محیط کار بسیار حائز اهمیت است. برای این مقاله، Google Colab به عنوان پلتفرم انتخابی خواهد بود که یک محیط دسترسیپذیر و قدرتمند برای اجرای کدهای پایتون فراهم میکند.
نصب و راه اندازی
%
%
capture
!pip install scikit
-
llm watermark
%
load_ext watermark
%
watermark
-
a
"your-username"
-
vmp scikit
-
llm
دریافت و پیکربندی کلیدهای 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 GPTClassifier
این 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
خلاصهکردن متن یک ویژگی حیاتی در حوزه پردازش زبان طبیعی (NLP) است، و Scikit-LLM از ماژول GPTSummarizer خود با استفاده از مهارت GPT در این زمینه بهره میبرد. این ویژگی به دلیل سازگاری منحصر به فرد آن متمایز است و اجازه میدهد تا به عنوان یک ابزار مستقل برای تولید خلاصه و همچنین به عنوان یک مرحله پیشپردازش در گردش کارهای گستردهتر مورد استفاده قرار گیرد.