Aveți probleme cu inteligența artificială sau cu dezvoltarea full-stack? Experții noștri sunt aici pentru a vă ghida: consiliere personalizată, integrare tehnică și multe altele. Contactați-ne la [email protected].

Introducere în NLP Cloud API

NLP Cloud este un API care facilitează utilizarea procesării limbajului natural în producție. API-ul se bazează pe cele mai bune aplicații open-source modele pre-antrenate. Puteți, de asemenea, să vă folosiți propriile modele sau să antrenați modele pe platformă. NLP Cloud cel mai mult dintre funcțiile de înțelegere și generare de text: extragerea entităților (NER), analiza sentimentelor, clasificarea textului, rezumarea textului, răspunsul la întrebări, generarea de text și Part-of-speech (POS). tagging... și multe altele!

API-ul este disponibil gratuit până la 3 cereri pe minut, ceea ce reprezintă o modalitate bună de a testa cu ușurință calitatea. a modelelor. Apoi, primele planuri cu plată costă 29 de dolari pe lună (pentru 15 cereri pe minut).

Să vedem cum să folosim API-ul în acest tutorial.

De ce NLP Cloud?

Implementarea modelelor de inteligență artificială în producție este o sursă frecventă de eșec al proiectelor. Modelele de procesare a limbajului natural necesită foarte multe resurse intensive, iar asigurarea unei disponibilități ridicate a acestor modele în producție, având în același timp un răspuns bun timpii de răspuns, reprezintă o provocare. Este nevoie de o infrastructură costisitoare și de un sistem avansat de DevOps, programare și AI avansate.

Scopul NLP Cloud este de a ajuta companiile să își valorifice rapid modelele în producție, fără niciun compromis. asupra calității și la prețuri accesibile.

Creați un cont

Înscrierea este foarte rapidă. Trebuie doar să vizitați pagina de înregistrare pagina și completați e-mail + parola (înregistrați-vă aici).

Înregistrați-vă pe NLP Cloud

Sunteți acum în tabloul de bord și puteți vedea token-ul API. Păstrați acest token în siguranță, veți avea nevoie de el pentru toate apelurile API pe care le veți efectua.

Mai multe fragmente de cod sunt furnizate în tabloul de bord pentru a vă putea familiariza rapid. Pentru mai multe detalii, puteți citi apoi documentația (consultați documentația aici).

Documentația NLP Cloud

NLP Cloud API API Client Libs

NLP Cloud vă oferă, din start, majoritatea funcțiilor tipice de procesare a limbajului natural, fie datorită modele spaCy sau Hugging Face preinstruite, fie prin încărcarea propriilor modele spaCy.

Pentru ca API-ul să fie ușor de utilizat, NLP Cloud vă pune la dispoziție biblioteci client în mai multe limbi. (Python, Ruby, PHP, Go, Node.js). În restul acestui tutorial, vom folosi librăria Python.

Utilizați PIP pentru a instala librăria Python:

pip install nlpcloud

Extracția entităților (NER)

Extragerea entităților se face prin spaCy. Sunt disponibile toate modelele spaCy "mari" preinstruite, care ceea ce înseamnă că sunt disponibile 15 limbi (mai multe detalii despre toate aceste modele pe site-ul spaCy). De asemenea, puteți încărca fișiere personalizate modele interne de spaCii pe care le-ați dezvoltat singur pentru a le utiliza în producție. Dacă asta este ceea ce doriți, mergeți la secțiunea "Custom Models" (Modele personalizate) din tabloul de bord:

Încărcați modele personalizate de procesare a limbajului natural

Să ne imaginăm acum că doriți să extrageți entități din propoziția "John Doe a lucrat pentru Microsoft în Seattle din 1999." datorită modelului spaCy preformat pentru limba engleză ("en_core_web_lg"). Iată cum ar trebui să procedați:

import nlpcloud

client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")

Aceasta va returna conținutul fiecărei entități extrase și poziția acesteia în propoziție.

Analiza sentimentelor

Analiza sentimentelor este realizată datorită transformatoarelor Hugging Face și Distilbert Base Uncased Finetuned SST 2 English. Iată un exemplu:

import nlpcloud

client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")

Ea vă va spune dacă sentimentul general din acest text este mai degrabă pozitiv sau negativ, și dacă probabilitate.

Clasificarea textului

Clasificarea textului se realizează datorită transformatoarelor Hugging Face și Facebook's Bart Large MNLI. Iată un exemplu:

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)

După cum puteți vedea, transmitem un bloc de text pe care încercăm să îl clasificăm, împreună cu posibilele categorii. Ultimul argument este un boolean care definește dacă se poate aplica o singură categorie sau mai multe.

Aceasta va returna probabilitatea pentru fiecare categorie.

Rezumarea textului

Rezumarea textului se realizează datorită transformatoarelor Hugging Face și Facebook's Bart Large CNN. Iată un exemplu:

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.""")

Acesta va returna o sinteză a celor de mai sus. Acesta este un rezumat "abstract", și nu un rezumat "extractiv". unul "extractiv", ceea ce înseamnă că pot fi generate propoziții noi, iar cele neimportante sunt eliminate. Cu toate acestea, propozițiile neesențiale sunt eliminate, desigur.

Răspunsuri la întrebări

Răspunsul la întrebări se realizează datorită transformatoarelor Hugging Face și Deepset's Roberta Base Squad 2. Iată un exemplu:

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?")

Aici este vorba de a răspunde la o întrebare datorită unui context.

De exemplu, exemplul de mai sus va returna "Emmanuel Macron".

Etichetarea părții de vorbire (POS)

Etichetarea părților de vorbire se realizează cu ajutorul acelorași modele spaCy ca și cel utilizat pentru extragerea entităților. Astfel, pentru exemplu, dacă doriți să utilizați modelul preformat în limba engleză, iată cum trebuie să procedați:

import nlpcloud

client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")

Acesta va returna partea de vorbire a fiecărui simbol din propoziție și dependența acestuia de alte simboluri.

Concluzie

NLP Cloud este un API pentru procesarea limbajului natural, ușor de utilizat și care vă ajută să economisiți mult timp în producție.

Sunt disponibile mai multe modele, cum ar fi traducerea, detectarea limbii, generarea de text... Și multe altele.

Rețineți, de asemenea, că, pentru nevoile critice de performanță, sunt propuse și planuri GPU.

Sper că acest articol a fost util pentru unii dintre voi! Dacă aveți vreo întrebare, nu ezitați să mă anunțați să știu.

Julien Salinas
CTO la NLP Cloud