Vaikeuksia tekoälyn tai full-stack-kehityksen kanssa? Asiantuntijamme opastavat sinua: räätälöityjä neuvoja, teknistä integrointia ja paljon muuta. Ota yhteyttä osoitteessa [email protected].

SpaCy Alternatives For Entity Extraction (NER) -vaihtoehto

SpaCy on jo useiden vuosien ajan ollut de facto -standardi jokaiselle yritykselle, joka on halukas käynnistämään kokonaisuuksien louhintahankkeen. Mikä teki spaCysta niin suositun? Entä onko vuonna 2023 olemassa hyviä spaCy-vaihtoehtoja kaikille, jotka yrittävät käynnistää entiteettien louhintahankkeen? Keskustellaan näistä seikoista tässä artikkelissa.

SpaCy

SpaCy for Entity Extraction

Ensimmäinen spaCy-versio julkaistiin vuonna 2015, ja siitä tuli nopeasti standardikehys yritystason olionpoistoon (tunnetaan myös nimellä NER).

Jos sinulla on jäsentymätöntä tekstiä (esimerkiksi verkosta) ja haluat poimia siitä jäsenneltyä tietoa, kuten päivämääriä, nimiä, paikkoja jne., spaCy on erittäin hyvä ratkaisu.

SpaCy on mielenkiintoinen, koska useita valmiiksi koulutettuja malleja on saatavilla noin 20 kielellä. (katso lisää täältä). Se tarkoittaa, että sinun ei välttämättä tarvitse kouluttaa omaa mallia entiteettien erottelua varten. Se tarkoittaa myös sitä, että jos haluat kouluttaa oman mallisi, voit aloittaa valmiiksi koulutetusta mallista sen sijaan, että aloittaisit alusta, mikä saattaa säästää paljon aikaa.

SpaCya pidetään "tuotantokäyttöön soveltuvana" kehyksenä, koska se on erittäin nopea, luotettava ja sillä on kattava dokumentaatio.

Jos spaCy:n valmiiksi koulutettujen mallien tukemat oletuskokonaisuudet eivät kuitenkaan riitä, sinun on tehtävä "datan merkintä" (tunnetaan myös nimellä "datan merkintä"), jotta voit kouluttaa oman mallisi. Tämä prosessi on erittäin aikaa vievä, ja monet yritysten entiteettien louhintahankkeet epäonnistuvat tämän haasteen vuoksi.

Oletetaan, että haluat poimia tehtävänimikkeitä tekstistä (esimerkiksi ansioluettelosta tai yrityksen verkkosivulta). Koska spaCy:n valmiiksi koulutetut mallit eivät oletusarvoisesti tue tällaista kokonaisuutta, sinun on opetettava spaCy:lle, miten se tunnistaa työnimikkeet. Sinun on luotava harjoitustietokanta, joka sisältää useita tuhansia esimerkkejä työnimikkeistä (ja ehkä jopa paljon enemmän!). Voit käyttää maksullista annotaatio-ohjelmistoa, kuten Prodigyta (jonka spaCy-tiimi on tehnyt), mutta siihen liittyy silti paljon inhimillistä työtä. On itse asiassa melko tavallista, että yritykset palkkaavat joukon alihankkijoita useiksi kuukausiksi toteuttamaan datan annotointihanketta. Tällainen työ on niin toistuvaa ja tylsää, että tuloksena syntyvät tietokokonaisuudet sisältävät usein paljon virheitä....

Esimerkki tietojen merkinnöistä
Esimerkki tietojen merkinnöistä

Katsotaanpa, mitä vaihtoehtoisia ratkaisuja voisit kokeilla vuonna 2023!

Stanfordin CoreNLP

Stanfordin CoreNLP

Stanford CoreNLP:n ensimmäinen versio julkaistiin vuonna 2013. Se on Java-kehys (kun taas spaCy on Python-kehys), jonka avulla voit tehdä olioiden louhintaa erittäin hyvillä tuloksilla.

Stanford CoreNLP ehdottaa myös valmiiksi koulutettuja malleja, mutta vähemmän kuin spaCy (katso lisää täältä).

Tämän kehyksen tarkkuus on samanlainen kuin spaCy:n, mutta se riippuu analysoitavista tiedoista. Esimerkiksi Stanford CoreNLP antaa parempia tuloksia oikeudellisista tiedoista. On myös syytä huomata, että joitakin entiteettejä käsitellään hieman eri tavalla kuin spaCy:ssä (esimerkiksi GPE-entiteetti).

Suorituskyvyn osalta Stanford vaikuttaa selvästi hitaammalta kuin spaCy, mikä voi olla ongelma, jos yrität saavuttaa erittäin suuren läpimenon.

Flair

Flair NLP

Flair on uudempi Python-kehys (julkaistu vuonna 2018), joka perustuu PyTorch-syväoppimiskehykseen.

Se on saamassa suuren suosion, koska sen tarkkuus on monissa kielissä suurempi kuin spaCy:n. Useita valmiiksi koulutettuja malleja on ehdotettu (katso lisää täältä).

Tämä tarkkuuden parantuminen tapahtuu kuitenkin nopeuden kustannuksella. Läpäisykykysi on paljon pienempi kuin spaCy:ssä.

Generatiiviset tekoälymallit (GPT-J, GPT-3...)

Pari vuotta sitten alkoi ilmestyä uudenlaisia tekoälymalleja: generatiivisia malleja. Nämä mallit luotiin alun perin tekstin generointia varten (tekstin alku kirjoitetaan ja mallin annetaan generoida loppuosa), mutta ihmiset huomasivat nopeasti, että nämä mallit olivat erittäin hyviä kaikenlaisissa luonnollisen kielen käsittelyn käyttötapauksissa, mukaan lukien entiteettien louhinta.

Nykyisin suosituimpia generatiivisia malleja ovat GPT-3, GPT-J, GPT-NeoX, T5 ja Bloom. Kaikki nämä syväoppimismallit käyttävät Transformer-arkkitehtuuria, jonka Google keksi vuonna 2017.

Tämä uuden sukupolven tekoälymalli on hyvin raskas ja kallis käyttää. Ne edellyttävät yleensä huippuluokan laitteistoa, joka perustuu yhteen tai useampaan GPU:hun. Lisäksi ne ovat hitaampia kuin spaCyn kaltaiset kehykset. Mutta näiden mallien ansiosta on nyt mahdollista poimia mitä tahansa kokonaisuuksia ilman, että on tarpeen kouluttaa omaa mallia!

Minkä tahansa entiteetin poimiminen ilman oman mallin luomista on mahdollista muutaman otoksen oppimisen ansiosta. Tässä tekniikassa on kyse siitä, että mallille näytetään nopeasti, mitä halutaan tehdä, tekemällä vain pari esimerkkiä suoritusaikana. Lue lisää muutaman laukauksen oppimisesta täältä.

Palatakseni takaisin työnimikkeiden louhintaesimerkkiin, jos haluat poimia työnimikkeitä GPT-J:n kaltaisella mallilla, sinun ei tarvitse kommentoida mitään tietoja. Näin säästät viikkoja tai kuukausia ihmistyötä. Ja tarkkuus on todennäköisesti paljon korkeampi kuin mitä tahansa entiteettien louhintaa spaCy:llä.

Katso artikkeli siitä, kuinka helposti voit suorittaa olioiden louhinnan GPT-malleilla.

Päätelmä

SpaCy on loistava luonnollisen kielen käsittelykehys, jota monet yritykset käyttävät nykyään tuotannossa entiteettien louhintatehtävissä.

SpaCy ja sen vaihtoehdot, kuten Stanford CoreNLP tai Flair, ovat kuitenkin tarkkuudeltaan rajallisia, ja ne vaativat työlästä annotointityötä uusien entiteettien poimimiseksi. Vuonna 2023 voidaan käyttää useita vaihtoehtoisia tekstin tuottamiseen perustuvia malleja entiteettien louhintaan ilman annotaatiota, kuten GPT-J, GPT-NeoX, GPT-3.... Nämä uudet mallit auttavat yhä useampia yrityksiä onnistumaan entiteettien louhintahankkeissaan.

Jos haluat käyttää GPT-J:tä ja GPT-NeoX:ää, älä epäröi kokeilla NLP Cloud API:ta. (kokeile sitä täällä)!

Juliette
Markkinointipäällikkö NLP Cloudissa