Susiduriate su sunkumais dirbtinio intelekto arba viso paketo kūrimo srityje? Mūsų ekspertai padės jums: teiksime pritaikytus patarimus, techninę integraciją ir dar daugiau. Kreipkitės į [email protected].

"SpaCy" alternatyvos subjektų išskyrimui (NER)

"SpaCy" jau kelerius metus yra de facto standartas kiekvienai įmonei, norinčiai pradėti subjekto gavybos projektą. Kodėl spaCy tapo tokia populiari? Ir ar yra gerų "spaCy" alternatyvų 2023 m. visiems, norintiems pradėti subjektų išskyrimo projektą? Aptarkime šiuos klausimus šiame straipsnyje.

SpaCy

"SpaCy" subjektų išskyrimui

Pirmoji "spaCy" versija buvo išleista 2015 m. ir greitai tapo standartine įmonės lygio esybių išskyrimo (dar vadinamo NER) sistema.

Jei turite nestruktūrizuotą tekstą (pvz., iš interneto) ir norite iš jo išgauti struktūrizuotus duomenis, pvz., datas, vardus, vietoves ir pan., "spaCy" yra labai geras sprendimas.

"SpaCy" įdomi tuo, kad yra keletas iš anksto apmokytų modelių maždaug 20 kalbų. (daugiau informacijos rasite čia). Tai reiškia, kad nebūtinai turite mokyti savo subjektų išskyrimo modelį. Tai taip pat reiškia, kad jei norite mokyti savo modelį, galite pradėti nuo iš anksto apmokyto modelio, užuot pradėję nuo nulio, o tai gali sutaupyti daug laiko.

"SpaCy" laikoma "gamybinės klasės" sistema, nes ji yra labai greita, patikima ir turi išsamią dokumentaciją.

Tačiau jei iš anksto parengtų "spaCy" modelių palaikomų numatytųjų esybių nepakanka, norint apmokyti savo modelį, reikia atlikti duomenų anotaciją (dar vadinamą "duomenų žymėjimu"). Šis procesas užima labai daug laiko, ir daugelis įmonių esybių išskyrimo projektų dėl šio iššūkio žlunga.

Tarkime, norite iš teksto (pavyzdžiui, iš gyvenimo aprašymo arba įmonės tinklalapio) išrinkti pareigų pavadinimus. Kadangi spaCy iš anksto apmokyti modeliai pagal nutylėjimą nepalaiko tokio objekto, turėsite išmokyti spaCy atpažinti pareigų pavadinimus. Turėsite sukurti mokymo duomenų rinkinį, kuriame būtų keli tūkstančiai pareigų pavadinimų išskyrimo pavyzdžių (o gal net daug daugiau!). Galite naudoti mokamą anotavimo programinę įrangą, pavyzdžiui, Prodigy (ją sukūrė spaCy komanda), tačiau tai vis tiek reikalauja daug žmogaus darbo. Iš tikrųjų gana dažnai pasitaiko, kad įmonės keliems mėnesiams pasamdo būrį rangovų, kad šie atliktų duomenų anotavimo projektą. Toks darbas yra toks pasikartojantis ir nuobodus, kad gautuose duomenų rinkiniuose dažnai būna daug klaidų...

Duomenų anotavimo pavyzdys
Duomenų anotavimo pavyzdys

Pažiūrėkime, kokius alternatyvius sprendimus galėtumėte išbandyti 2023 m.!

Stanfordo CoreNLP

Stanfordo CoreNLP

Pirmoji "Stanford CoreNLP" versija buvo išleista 2013 m. Tai "Java" (o "spaCy" - "Python") karkasas, leidžiantis atlikti esybių išskyrimą ir pasiekti labai gerų rezultatų.

"Stanford CoreNLP" taip pat siūlo iš anksto apmokytus modelius, bet mažiau nei "spaCy (daugiau informacijos rasite čia).

Šios sistemos tikslumas panašus į spaCy, tačiau jis priklauso nuo analizuojamų duomenų. Pavyzdžiui, Stanfordo CoreNLP duoda geresnius teisinių duomenų rezultatus. Taip pat verta atkreipti dėmesį, kad kai kurie subjektai, palyginti su spaCy, adresuojami šiek tiek kitaip (pavyzdžiui, taip yra GPE subjekto atveju).

Kalbant apie našumą, "Stanford" aiškiai atrodo lėtesnis nei "spaCy", o tai gali būti problema, jei bandote pasiekti labai didelį našumą.

Flair

"Flair" yra naujesnė "Python" sistema (išleista 2018 m.), pagrįsta "PyTorch" gilaus mokymosi sistema.

Jis tampa vis populiaresnis, nes, palyginti su spaCy, daugelyje kalbų pasiekia didesnį tikslumą. Siūlomi keli iš anksto apmokyti modeliai (daugiau informacijos rasite čia).

Tačiau šis tikslumo padidėjimas vyksta greičio sąskaita. Jūsų pralaidumas bus daug mažesnis, palyginti su spaCy.

Generatyviniai dirbtinio intelekto modeliai (GPT-J, GPT-3...)

Prieš porą metų pradėta kurti naujos rūšies dirbtinio intelekto modeliai - generatyviniai modeliai. Iš pradžių šie modeliai buvo sukurti teksto generavimui (parašyti teksto pradžią ir leisti modeliui sugeneruoti likusią dalį), tačiau žmonės greitai suprato, kad šie modeliai labai gerai tinka įvairiems natūralios kalbos apdorojimo atvejams, įskaitant esybių išskyrimą.

Šiuo metu populiariausi generatyviniai modeliai yra GPT-3, GPT-J, GPT-NeoX, T5 ir Bloom. Visuose šiuose gilaus mokymosi modeliuose naudojama "Transformer" architektūra, kurią 2017 m. išrado "Google".

Šis naujos kartos dirbtinio intelekto modelis yra labai sunkus ir brangus. Paprastai jiems reikia aukštos klasės aparatinės įrangos, pagrįstos vienu ar keliais grafiniais procesoriais. Be to, jie yra lėtesni už tokius karkasus kaip spaCy. Tačiau šių modelių dėka dabar galima išgauti bet kokią esybę netreniruojant specialaus modelio!

Išgauti bet kokį subjektą, nesukuriant specialaus modelio, galima dėl mokymosi keliais kadrais. Šio metodo esmė - greitai parodyti modeliui, ką norite padaryti, atliekant tik kelis pavyzdžius vykdymo metu. Sužinokite daugiau apie mokymąsi iš kelių kadrų čia.

Grįžtant prie mūsų darbo vietų pavadinimų išskyrimo pavyzdžio, jei norite išskleisti darbo vietų pavadinimus naudodami tokį modelį kaip GPT-J, jums nereikės anotuoti jokių duomenų. Tokiu atveju sutaupysite savaites ar mėnesius žmogaus darbo. O tikslumas greičiausiai bus daug didesnis nei bet kokio subjekto išskyrimo su spaCy.

Žr. mūsų straipsnį apie tai, kaip lengvai atlikti esybių išskyrimą naudojant GPT modelius.

Išvada

"SpaCy" yra puiki natūraliosios kalbos apdorojimo sistema, kurią šiandien daugelis įmonių naudoja esybių išskyrimo užduotims atlikti.

Tačiau spaCy ir alternatyvios programos, tokios kaip Stanfordo CoreNLP ar Flair, yra ribotos tikslumo požiūriu, o norint išskirti naujas esybes, reikia atlikti nuobodų anotavimo darbą. 2023 m. esybių išskyrimui be jokių anotacijų galima naudoti kelis alternatyvius modelius, pagrįstus teksto generavimu, pavyzdžiui, GPT-J, GPT-NeoX, GPT-3... Šie nauji modeliai tikrai padės vis daugiau įmonių sėkmingai įgyvendinti esybių išskyrimo projektus.

Jei norite naudoti GPT-J ir GPT-NeoX, nedvejodami išbandykite NLP Cloud API. (pabandykite čia)!

Juliette
"NLP Cloud" rinkodaros vadovas