NLP Cloud je API, ki omogoča enostavno uporabo obdelave naravnega jezika v produkciji. API temelji na najboljših odprtokodnih vnaprej usposobljenih modelih. Uporabite lahko tudi lastne modele ali pa modele usposobite na platformi. NLP Cloud največ funkcij za razumevanje in tvorjenje besedila: ekstrakcija entitet (NER), analiza čustev, razvrščanje besedila, povzemanje besedila, odgovarjanje na vprašanja, generiranje besedila in delni govor (POS) in še več!
API je na voljo brezplačno do 3 zahtevkov na minuto, kar je dober način za enostavno preizkušanje kakovosti. modelov. Prvi plačljivi načrti stanejo 29 USD na mesec (za 15 zahtevkov na minuto).
Oglejmo si, kako uporabiti API v tem učbeniku.
Uvajanje modelov umetne inteligence v produkcijo je pogost vir neuspeha projekta. Modeli obdelave naravnega jezika so zelo obremenjeni z viri intenzivne, zato je treba zagotoviti visoko razpoložljivost teh modelov v produkciji, hkrati pa dobro odzivnost je izziv. Za to so potrebni draga infrastruktura ter napredni DevOps, programiranje in AI znanja in spretnosti.
Cilj storitve NLP Cloud je pomagati podjetjem, da hitro uporabijo svoje modele v produkciji brez kakršnih koli kompromisov. kakovosti in po dostopnih cenah.
Prijava je zelo hitra. Obiščite registracijo in izpolnite svoj e-poštni naslov + geslo (registrirajte se tukaj).

Zdaj ste v nadzorni plošči in vidite svoj žeton API. Ta žeton varno shranite, saj ga boste potrebovali. za vse klice API, ki jih boste opravili.
Na nadzorni plošči je na voljo več kosov kode, s katerimi lahko hitro začnete delati. Za podrobnosti, si lahko preberete dokumentacijo . (dokumentacijo si oglejte tukaj).

Oblak NLP vam že v izhodišču zagotavlja večino tipičnih funkcij obdelave naravnega jezika, bodisi zaradi vnaprej usposobljenih modelov spaCy ali Hugging Face, ali z nalaganjem lastnih modelov spaCy.
Da bi olajšali uporabo API, vam NLP Cloud ponuja odjemalske knjižnice v več jezikih. (Python, Ruby, PHP, Go, Node.js). V nadaljevanju tega vodnika bomo uporabljali knjižnico Python.
Za namestitev lib Python uporabite PIP:
pip install nlpcloud
Izvleček entitet se izvede prek programa spaCy. Na voljo so vsi "veliki" vnaprej usposobljeni modeli spaCy, ki pomeni, da je na voljo 15 jezikov (več podrobnosti o vseh teh modelih na spletni strani spaCy). Prav tako lahko naložite notranje modele spaCy, ki ste jih razvili sami, da jih lahko uporabite v proizvodnji. Če je to tisto, kar želite, pojdite v razdelek "Modeli po meri" na nadzorni plošči:
Predstavljajmo si, da želite iz stavka "John Doe je delal za v Seattlu od leta 1999.", in sicer s pomočjo predhodno usposobljenega modela spaCy za angleščino ("en_core_web_lg"). Tukaj je opisano, kako morate ravnati:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")
Vrne vsebino vsake izločene entitete in njen položaj v stavku.
Analiza sentimentov je dosežena s pomočjo transformatorjev Hugging Face in Distilbert Base Uncased Finetuned SST 2 English. Tukaj je primer:
import nlpcloud
client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")
Povedal vam bo, ali je splošno razpoloženje v tem besedilu bolj pozitivno ali negativno, in njegovo verjetnost.
Klasifikacija besedila je dosežena s pomočjo transformatorjev Hugging Face in Facebook's Bart Large MNLI. Tukaj je primer:
import nlpcloud
client = nlpcloud.Client("bart-large-mnli", "")
client.classification("""John Doe is a Go Developer at Google.
He has been working there for 10 years and has been
awarded employee of the year.""",
["job", "nature", "space"],
True)
Kot lahko vidite, posredujemo blok besedila, ki ga želimo razvrstiti, skupaj z možnimi kategorijami. Zadnji argument je boolean, ki določa, ali se lahko uporabi ena sama kategorija ali več kategorij.
Za vsako kategorijo se vrne verjetnost.
Povzemanje besedila je doseženo s pomočjo transformatorjev Hugging Face in Facebook's Bart Large CNN. Tukaj je primer:
import nlpcloud
client = nlpcloud.Client("bart-large-cnn", "")
client.summarization("""The tower is 324 metres (1,063 ft) tall,
about the same height as an 81-storey building, and the tallest structure in Paris.
Its base is square, measuring 125 metres (410 ft) on each side. During its construction,
the Eiffel Tower surpassed the Washington Monument to become the tallest man-made
structure in the world, a title it held for 41 years until the Chrysler Building
in New York City was finished in 1930. It was the first structure to reach a
height of 300 metres. Due to the addition of a broadcasting aerial at the top of
the tower in 1957, it is now taller than the Chrysler Building by 5.2 metres (17 ft).
Excluding transmitters, the Eiffel Tower is the second tallest free-standing structure
in France after the Millau Viaduct.""")
Vrnil bo povzetek zgoraj navedenega. To je "abstraktni" povzetek in ne "ekstraktivni". kar pomeni, da se lahko ustvarijo novi stavki, nepomembni pa se odstranijo. Vendar nepomembni stavki so seveda odstranjeni.
Odgovarjanje na vprašanja je mogoče s pomočjo transformatorjev Hugging Face in Deepset's Roberta Base Squad 2. Tukaj je primer:
import nlpcloud
client = nlpcloud.Client("roberta-base-squad2", "")
client.question("""French president Emmanuel Macron said the country was at war
with an invisible, elusive enemy, and the measures were unprecedented,
but circumstances demanded them.""",
"Who is the French president?")
Tu gre za odgovor na vprašanje na podlagi konteksta.
Na primer, zgornji primer bo vrnil "Emmanuel Macron".
Označevanje delov govora je doseženo z enakimi modeli spaCy, kot so bili uporabljeni za ekstrakcijo entitet. Torej za če želite na primer uporabiti angleški vnaprej usposobljeni model, morate narediti takole:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")
Vrne del govora vsakega žetona v stavku in njegovo odvisnost od drugih žetonov.
NLP Cloud je API za obdelavo naravnega jezika, ki je enostaven za uporabo in vam pomaga prihraniti veliko časa v produkciji.
Na voljo je več modelov, kot so prevajanje, zaznavanje jezika, generiranje besedila. In še veliko več.
Upoštevajte tudi, da so za kritične potrebe po zmogljivosti predlagani tudi načrti GPU.
Upam, da je bil ta članek koristen za nekatere od vas! Če imate kakršno koli vprašanje, mi prosim brez oklevanja sporočite sporočite.
Julien Salinas
Tehnični direktor v podjetju NLP Cloud