SpaCy je že več let dejanski standard za vsa podjetja, ki želijo začeti projekt ekstrakcije entitet. Zakaj je spaCy tako priljubljen? In ali bodo leta 2023 obstajale dobre alternative spaCy za vse, ki želijo začeti projekt ekstrakcije entitet? O tem bomo razpravljali v tem članku.

Prva različica spaCy je bila objavljena leta 2015 in je hitro postala standardno ogrodje za ekstrakcijo entitet (znano tudi kot NER).
Če imate nestrukturirano besedilo (na primer iz spleta) in želite iz njega pridobiti strukturirane podatke, kot so datumi, imena, kraji itd., je spaCy zelo dobra rešitev.
SpaCy je zanimiv, ker je na voljo več predhodno usposobljenih modelov v približno 20 jezikih. (več informacij najdete tukaj). To pomeni, da ni nujno, da za ekstrakcijo entitet usposobite svoj model. To pomeni tudi, da lahko, če želite usposobiti svoj model, začnete s predhodno usposobljenim modelom, namesto da začnete od začetka, kar vam lahko prihrani veliko časa.
Okvir SpaCy velja za "produkcijski razred", saj je zelo hiter, zanesljiv in opremljen z obsežno dokumentacijo.
Če pa privzete entitete, ki jih podpirajo vnaprej usposobljeni modeli spaCy, ne zadostujejo, se boste morali lotiti "anotacije podatkov" (znane tudi kot "označevanje podatkov"), da boste lahko usposobili svoj model. Ta postopek je izredno zamuden in številni projekti ekstrakcije entitet v podjetjih zaradi tega izziva propadejo.
Recimo, da želite iz besedila (na primer iz življenjepisa ali spletne strani podjetja) izluščiti naslove delovnih mest. Ker predpripravljeni modeli spaCy privzeto ne podpirajo takšne entitete, boste morali spaCy naučiti, kako prepoznati naslove delovnih mest. Ustvariti boste morali nabor učnih podatkov, ki vsebuje več tisoč primerov izvlečkov naslovov delovnih mest (in morda še veliko več!). Uporabite lahko plačljivo programsko opremo za anotacijo, kot je Prodigy (izdelala jo je ekipa spaCy), vendar to še vedno vključuje veliko človeškega dela. Pravzaprav je precej pogosto, da podjetja za izvedbo projekta anotacije podatkov za več mesecev najamejo več izvajalcev. Takšno delo je tako ponavljajoče se in dolgočasno, da je v naborih podatkov pogosto veliko napak...

Poglejmo, katere alternativne rešitve lahko preizkusite leta 2023!

Prva različica programa Stanford CoreNLP je bila objavljena leta 2013. Gre za ogrodje Java (medtem ko je spaCy ogrodje Python), ki omogoča izvajanje ekstrakcije entitet z zelo dobrimi rezultati.
Stanford CoreNLP prav tako predlaga predhodno usposobljene modele, vendar manj kot spaCy (več informacij najdete tukaj).
Natančnost tega okvira je podobna natančnosti okvira spaCy, vendar je odvisna od podatkov, ki jih analizirate. Stanford CoreNLP na primer daje boljše rezultate pri pravnih podatkih. Prav tako je treba omeniti, da so nekatere entitete v primerjavi s spaCy obravnavane nekoliko drugače (to velja na primer za entiteto GPE).
Kar zadeva zmogljivost, se Stanford očitno zdi počasnejši od spaCy, kar je lahko težava, če poskušate doseči zelo visoko prepustnost.

Flair je novejše ogrodje Python (izdano leta 2018), ki temelji na ogrodju za globoko učenje PyTorch.
Pridobiva veliko priljubljenost, saj v primerjavi s spaCyjem dosega večjo natančnost v številnih jezikih. Predlaganih je več predhodno usposobljenih modelov (več informacij najdete tukaj).
Vendar je to izboljšanje natančnosti na račun hitrosti. Vaša prepustnost bo v primerjavi s spaCy veliko manjša.
Pred nekaj leti se je začela pojavljati nova vrsta modelov umetne inteligence: generativni modeli. Ti modeli so bili sprva ustvarjeni za generiranje besedil (napisati začetek besedila in pustiti, da model generira preostanek), vendar so ljudje hitro ugotovili, da so ti modeli zelo dobri za vse vrste primerov uporabe obdelave naravnega jezika, vključno z ekstrakcijo entitet.
Danes so najbolj priljubljeni generativni modeli GPT-3, GPT-J, GPT-NeoX, T5 in Bloom. Vsi ti modeli globokega učenja uporabljajo arhitekturo Transformer, ki jo je leta 2017 izumil Google.
Ta nova generacija modela umetne inteligence je zelo težka in draga za delovanje. Običajno zahtevajo vrhunsko strojno opremo, ki temelji na enem ali več grafičnih procesorjih. Prav tako so počasnejši od ogrodij, kot je spaCy. Toda zahvaljujoč tem modelom je zdaj mogoče pridobiti katero koli vrsto entitete, ne da bi bilo treba usposabljati namenski model!
Izvleček katere koli entitete brez ustvarjanja posebnega modela je mogoč zaradi učenja z nekaj posnetki. Pri tej tehniki gre za to, da modelu hitro pokažete, kaj želite narediti, tako da med izvajanjem naredite le nekaj primerov. Več o učenju z nekaj posnetki si preberite tukaj.
Če se vrnemo k našemu primeru ekstrakcije naslovov delovnih mest, če želite ekstrahirati naslove delovnih mest z modelom, kot je GPT-J, vam ni treba anotirati nobenih podatkov. Tako boste prihranili tedne ali mesece človeškega dela. Natančnost pa bo najverjetneje veliko večja kot pri kakršnem koli ekstrakciji entitet s spaCy.
Oglejte si članek o tem, kako z modeli GPT preprosto izločati entitete.
SpaCy je odlično ogrodje za obdelavo naravnega jezika, ki ga danes številna podjetja uporabljajo v produkciji za naloge ekstrakcije entitet.
Vendar so spaCy in alternativni programi, kot sta Stanford CoreNLP ali Flair, omejeni z vidika natančnosti, poleg tega pa za pridobivanje novih entitet zahtevajo zamudno anotacijo. Leta 2023 se lahko za ekstrakcijo entitet brez anotacije uporabi več alternativnih modelov, ki temeljijo na generiranju besedila, kot so GPT-J, GPT-NeoX, GPT-3 ... Ti novi modeli bodo resnično pomagali vedno večjemu številu podjetij pri uspešnem izvajanju projektov ekstrakcije entitet.
Če želite uporabljati programa GPT-J in GPT-NeoX, ne oklevajte in ju preizkusite v API NLP Cloud. (poskusite tukaj)!
Juliette
Vodja trženja v podjetju NLP Cloud