NLP Cloud ir API, kas atvieglo dabiskās valodas apstrādes izmantošanu ražošanā. API ir balstīts uz labākajiem atvērtā koda iepriekš apmācītiem modeļiem. Jūs varat izmantot arī savus modeļus vai apmācīt modeļus platformā. NLP Cloud lielākā daļa teksta izpratnes un teksta ģenerēšanas funkcijām: būtību ieguve (NER), noskaņojuma analīze, teksta klasifikācija, teksta apkopošana, jautājumu atbildēšana, teksta ģenerēšana un runas daļas (POS). marķēšana... un vēl vairāk!
API ir pieejams bez maksas līdz 3 pieprasījumiem minūtē, un tas ir labs veids, kā viegli pārbaudīt kvalitāti. modeļus. Tad pirmie maksas plāni maksā 29 ASV dolārus mēnesī (15 pieprasījumiem minūtē).
Šajā pamācībā aplūkosim, kā izmantot API.
Mākslīgā intelekta modeļu izvietošana ražošanā ir biežs projektu neveiksmju avots. Dabiskās valodas apstrādes modeļi ir ļoti resursi intensīvi, un šo modeļu augstas pieejamības nodrošināšana ražošanā, vienlaikus nodrošinot labu reaģēšanas spēju, ir ļoti sarežģīta. laiku, ir izaicinājums. Ir nepieciešama dārga infrastruktūra un uzlabota DevOps, programmēšana un mākslīgais intelekts. prasmes.
NLP Cloud mērķis ir palīdzēt uzņēmumiem ātri izmantot savus modeļus ražošanā bez jebkādiem kompromisiem. kvalitāti un par pieņemamām cenām.
Reģistrēties var ļoti ātri. Vienkārši apmeklējiet reģistrācijas vietni lapu un ievadiet savu e-pastu + paroli (reģistrējieties šeit).

Tagad atrodaties savā vadības panelī un redzat savu API žetonu. Saglabājiet šo žetonu droši, jo tas jums būs nepieciešams. visiem API izsaukumiem, ko veiksiet.
Vadības panelī ir pieejami vairāki koda fragmenti, lai jūs varētu ātri apgūt ātrumu. Par sīkāku informāciju, varat lasīt dokumentāciju (skatiet dokumentāciju šeit).

NLP mākoņa pakalpojumā jau no sākuma ir pieejama lielākā daļa tipisko dabiskās valodas apstrādes funkciju, pateicoties. iepriekš apmācītiem spaCy vai Hugging Face modeļiem, vai arī augšupielādējot savus spaCy modeļus.
Lai atvieglotu API lietošanu, NLP Cloud piedāvā klientu bibliotēkas vairākās valodās. (Python, Ruby, PHP, Go, Node.js). Šajā pamācībā mēs izmantosim Python lib.
Izmantojiet PIP, lai instalētu Python lib:
pip install nlpcloud
Entitāšu ieguve tiek veikta, izmantojot spaCy. Ir pieejami visi spaCy "lielie" iepriekš apmācītie modeļi, kas tas nozīmē, ka ir pieejamas 15 valodas (sīkāka informācija par visiem šiem modeļiem spaCy vietnē.). Varat arī augšupielādēt pielāgotus pašu izstrādātos iekšējos spaCy modeļus, lai tos izmantotu ražošanā. Ja tas ir tas, ko vēlaties, vienkārši dodieties uz paneļa paneļa sadaļu "Custom Models":
Tagad iedomāsimies, ka vēlaties izvilkt vienības no teikuma "NN ir strādājis par Microsoft Sietlā kopš 1999. gada.", izmantojot iepriekš apmācītu spaCy modeli angļu valodai ("en_core_web_lg"). Lūk, kā jums vajadzētu rīkoties:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")
Tas atgriezīs katras ekstrahētās vienības saturu un tās pozīciju teikumā.
Sentimentu analīze tiek veikta, izmantojot transformatorus Hugging Face un Distilbert Base Uncased Finetuned SST 2 English. Lūk, piemērs:
import nlpcloud
client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")
Tas jums pateiks, vai vispārējais noskaņojums šajā tekstā ir drīzāk pozitīvs vai negatīvs, un tā iespējamība.
Teksta klasifikācija tiek sasniegta, izmantojot transformatorus Hugging Face un Facebook's Bart Large MNLI. Lūk, piemērs:
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)
Kā redzat, mēs nododam teksta bloku, ko vēlamies klasificēt, un iespējamās kategorijas. Pēdējais arguments ir boolean, kas nosaka, vai var piemērot vienu vai vairākas kategorijas.
Tā atgriezīs katras kategorijas varbūtību.
Teksta apkopošana tiek panākta, izmantojot "Hugging Face" transformatorus un Facebook's Bart Large CNN. Lūk, piemērs:
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.""")
Tas atgriezīs iepriekš minēto datu kopsavilkumu. Tas ir "abstraktais" kopsavilkums, nevis "ekstrakcija". kas nozīmē, ka var tikt ģenerēti jauni teikumi un izņemti nesvarīgi teikumi. Tomēr nebūtiski teikumi, protams, tiek izņemti.
Atbildes uz jautājumiem tiek sniegtas, pateicoties "Hugging Face" transformatoriem un Deepset's Roberta Base Squad 2. Šeit ir piemērs:
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?")
Šeit runa ir par atbildi uz jautājumu, pateicoties kontekstam.
Piemēram, iepriekš minētais piemērs atgriezīs "Emmanuel Macron".
Runas daļu marķēšana tiek veikta, izmantojot tos pašus spaCy modeļus, kas izmantoti vienību ieguvei. Tātad Piemēram, ja vēlaties izmantot angļu valodas iepriekš apmācītu modeli, rīkojieties šādi:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")
Tas atgriezīs katra teikuma simbolus un to atkarību no citiem simboliem.
NLP Cloud ir API dabiskās valodas apstrādei, kas ir viegli lietojams un palīdz ietaupīt daudz laika ražošanas procesā.
Ir pieejami arī citi modeļi, piemēram, tulkošanas, valodas noteikšanas, teksta ģenerēšanas... Un daudz ko citu.
Jāņem vērā arī tas, ka kritiskām veiktspējas vajadzībām ir ierosināti arī GPU plāni.
Es ceru, ka šis raksts bija noderīgs dažiem no jums! Ja jums ir kādi jautājumi, lūdzu, nekautrējieties man atbildēt. informēt.
Julien Salinas
NLP Cloud tehniskais direktors