stubs Lieli valodu modeļi ar Scikit-learn: visaptveroša Scikit-LLM rokasgrāmata — Unite.AI
Savienoties ar mums

Vispārējais mākslīgais intelekts

Lieli valodu modeļi ar Scikit-learn: visaptveroša Scikit-LLM rokasgrāmata

mm

Izdots

 on

SCIKIT LLM

Integrējot sarežģītās valodas apstrādes iespējas tādiem modeļiem kā ChatGPT ar daudzpusīgo un plaši izmantoto Scikit-learn ietvaru, Scikit-LLM piedāvā nepārspējamu arsenālu, lai iedziļināties teksta datu sarežģītībā.

Scikit-LLM, pieejams oficiālajā vietnē GitHub krātuve, ir saplūsme: uzlabotais lielo valodu modeļu (LLM) AI, piemēram, OpenAI GPT-3.5, un lietotājam draudzīgā Scikit-learn vide. Šī Python pakotne, kas īpaši izstrādāta teksta analīzei, padara uzlabotu dabiskās valodas apstrādi pieejamu un efektīvu.

Kāpēc Scikit-LLM?

Tiem, kas labi pārzina Scikit-learn ainavu, Scikit-LLM šķiet dabiska attīstība. Tas uztur pazīstamo API, ļaujot lietotājiem izmantot tādas funkcijas kā .fit(), .fit_transform(), un .predict(). Tā spēja integrēt novērtētājus Sklearn konveijerā ir tās elastības piemērs, padarot to par labu tiem, kas vēlas uzlabot savus mašīnmācīšanās projektus ar vismodernāko valodas izpratni.

Šajā rakstā mēs izpētām Scikit-LLM, sākot no tā instalēšanas līdz praktiskajai izmantošanai dažādos teksta analīzes uzdevumos. Jūs uzzināsit, kā izveidot gan uzraudzītus, gan nulles teksta klasifikatorus un iedziļināties uzlabotās funkcijās, piemēram, teksta vektorizācijā un klasifikācijā.

Scikit-learn: Mašīnmācīšanās stūrakmens

Pirms iedziļināties Scikit-LLM, pievērsīsimies tā pamatam – Scikit-learn. Scikit-learn, kas ir plaši pazīstams mašīnmācībā, tiek atzīmēts ar tā visaptverošo algoritmu komplektu, vienkāršību un lietotājam draudzīgumu. Scikit-learn aptver dažādus uzdevumus, sākot no regresijas līdz klasteru veidošanai, un tas ir rīks, ko izmanto daudzi datu zinātnieki.

Scikit-learn, kas izveidots uz Python zinātnisko bibliotēku (NumPy, SciPy un Matplotlib) pamatiem, izceļas ar integrāciju ar Python zinātnisko kopu un efektivitāti ar NumPy masīviem un SciPy retajām matricām.

Scikit-learn pamatā ir vienveidība un lietošanas vienkāršība. Neatkarīgi no izvēlētā algoritma darbības paliek konsekventas — importējiet klasi, izmantojiet metodi “fit” ar saviem datiem un izmantojiet “prognozēt” vai “pārveidot”, lai izmantotu modeli. Šī vienkāršība samazina mācīšanās līkni, padarot to par ideālu sākumpunktu tiem, kas ir jauni mašīnmācības jomā.

Vides iestatīšana

Pirms iedziļināties specifikā, ir ļoti svarīgi izveidot darba vidi. Šim rakstam izvēlētā platforma būs Google Colab, kas nodrošina pieejamu un jaudīgu vidi Python koda palaišanai.

uzstādīšana

%%capture
!pip install scikit-llm watermark
%load_ext watermark
%watermark -a "your-username" -vmp scikit-llm

API atslēgu iegūšana un konfigurēšana

Lai piekļūtu pamatā esošajiem valodu modeļiem, Scikit-LLM ir nepieciešama OpenAI API atslēga.

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 GPTCklasifikators

Jūsu darbs IR Klientu apkalpošana ZeroShotGPTClassifier ir ievērojama Scikit-LLM īpašība, kas izmanto ChatGPT spēju klasificēt tekstu, pamatojoties uz aprakstošām etiķetēm, bez vajadzības pēc tradicionālās modeļu apmācības.

Bibliotēku un datu kopas importēšana

from skllm import ZeroShotGPTClassifier
from skllm.datasets import get_classification_dataset
X, y = get_classification_dataset()

Datu sagatavošana

Datu sadalīšana apmācības un testēšanas apakškopās:

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)

Modeļu apmācība un prognozēšana

ZeroShotGPTCklasifikatora definēšana un apmācība:

clf = ZeroShotGPTClassifier(openai_model="gpt-3.5-turbo")
clf.fit(X_train, y_train)
predicted_labels = clf.predict(X_test)

Novērtējums

Modeļa veiktspējas novērtējums:

from sklearn.metrics import accuracy_score
print(f"Accuracy: {accuracy_score(y_test, predicted_labels):.2f}")

Teksta kopsavilkums ar Scikit-LLM

Teksta kopsavilkums ir kritiska iezīme NLP jomā, un Scikit-LLM izmanto GPT spējas šajā jomā, izmantojot savu GPTSummarizer modulis. Šī funkcija izceļas ar pielāgojamību, ļaujot to izmantot gan kā atsevišķu rīku kopsavilkumu ģenerēšanai, gan kā priekšapstrādes soli plašākās darbplūsmās.

GPTSummarizer lietojumprogrammas:

  1. Atsevišķs kopsavilkums: Jūsu darbs IR Klientu apkalpošana GPTSummarizer var patstāvīgi izveidot kodolīgus kopsavilkumus no apjomīgiem dokumentiem, kas ir nenovērtējams ātrai satura analīzei vai galvenās informācijas iegūšanai no liela teksta apjoma.
  2. Iepriekšēja apstrāde citām darbībām: Darbplūsmās, kas ietver vairākus teksta analīzes posmus, GPTSummarizer var izmantot teksta datu kondensēšanai. Tas samazina skaitļošanas slodzi un vienkāršo turpmākās analīzes darbības, nezaudējot būtisku informāciju.

Teksta apkopojuma ieviešana:

Īstenošanas process teksta apkopošanai Scikit-LLM ietver:

  1. Importē GPTSummarizer un attiecīgo datu kopu.
  2. Tiek izveidots gadījums GPTSummarizer ar noteiktiem parametriem, piemēram max_words lai kontrolētu kopsavilkuma garumu.
  3. Piemērojot fit_transform metodi kopsavilkumu ģenerēšanai.

Ir svarīgi atzīmēt, ka max_words parametrs kalpo kā vadlīnijas, nevis stingrs ierobežojums, nodrošinot kopsavilkumu saskaņotību un atbilstību, pat ja tie nedaudz pārsniedz norādīto vārdu skaitu.

Scikit-LLM plašākas sekas

Scikit-LLM funkciju klāsts, tostarp teksta klasifikācija, apkopošana, vektorizācija, tulkošana un tā pielāgošanās spēja bezmarķētu datu apstrādē, padara to par visaptverošu rīku dažādiem teksta analīzes uzdevumiem. Šī elastība un lietošanas vienkāršība ir piemērota gan iesācējiem, gan pieredzējušiem praktiķiem AI un mašīnmācīšanās jomā.

Iespējamie pielietojumi:

  • Klientu atsauksmju analīze: Klasificējiet klientu atsauksmes tādās kategorijās kā pozitīvas, negatīvas vai neitrālas, kas var sniegt informāciju par klientu apkalpošanas uzlabojumiem vai produktu attīstības stratēģijām.
  • Ziņu rakstu klasifikācija: Ziņu rakstu šķirošana dažādās tēmās personalizētām ziņu plūsmām vai tendenču analīzei.
  • Valodas tulkošana: Dokumentu tulkošana daudznacionālām operācijām vai personīgai lietošanai.
  • Dokumenta kopsavilkums: Ātri aptveriet garu dokumentu būtību vai izveidojiet īsākas versijas publicēšanai.

Scikit-LLM priekšrocības:

  • Precizitāte: Pierādīta efektivitāte tādos uzdevumos kā teksta klasifikācija un kopsavilkums.
  • Ātrums: Efektivitātes dēļ piemērots reāllaika apstrādes uzdevumiem.
  • Mērogojamība: Spēj apstrādāt lielu teksta apjomu, padarot to ideāli piemērotu lielu datu lietojumprogrammām.

Secinājums: Scikit-LLM izmantošana uzlabotai teksta analīzei

Rezumējot, Scikit-LLM ir spēcīgs, daudzpusīgs un lietotājam draudzīgs rīks teksta analīzes jomā. Tā spēja apvienot lielos valodu modeļus ar tradicionālajām mašīnmācīšanās darbplūsmām kopā ar atvērtā pirmkoda raksturu padara to par vērtīgu ieguvumu gan pētniekiem, gan izstrādātājiem, gan uzņēmumiem. Neatkarīgi no tā, vai tā ir klientu apkalpošanas uzlabošana, ziņu tendenču analīze, daudzvalodu saziņas atvieglošana vai būtiskas informācijas destilēšana no plašiem dokumentiem, Scikit-LLM piedāvā stabilu risinājumu.

Pēdējos piecus gadus esmu pavadījis, iegremdējot sevi aizraujošajā mašīnmācīšanās un dziļās mācīšanās pasaulē. Mana aizraušanās un pieredze lika man piedalīties vairāk nekā 50 dažādos programmatūras inženierijas projektos, īpašu uzmanību pievēršot AI/ML. Mana pastāvīgā ziņkārība mani ir piesaistījusi arī dabiskās valodas apstrādei, jomai, kuru vēlos izpētīt tālāk.