Bevezetés az NLP Cloud API-ba

Az NLP Cloud egy olyan API, amely megkönnyíti a természetes nyelvi feldolgozás használatát a termelésben. Az API a legjobb nyílt forráskódú előre betanított modelleken alapul. Használhatja saját modelljeit is, vagy modelleket képezhet a platformon. NLP Cloud legtöbb szövegértési és szöveggenerálási funkciók közül: entitások kinyerése (NER), hangulatelemzés, szövegosztályozás, szövegösszefoglalás, kérdésmegfejtés, szöveggenerálás és beszédrészlet-elemzés (POS). címkézés... és még sok más!

Az API percenként legfeljebb 3 kérésig ingyenesen elérhető, ami jó lehetőség a minőség egyszerű tesztelésére. a modellek minőségét. Ezután az első fizetős csomagok havonta 29 dollárba kerülnek (15 kérés/perc esetén).

Lássuk, hogyan használjuk az API-t ebben a bemutatóban.

Miért NLP Cloud?

A mesterséges intelligencia modellek termelésbe történő bevezetése gyakori forrása a projektek kudarcának. A természetes nyelvfeldolgozási modellek nagyon erőforrásigényesek intenzívek, és e modellek magas szintű rendelkezésre állásának biztosítása a termelésben, miközben jó válaszidővel reakcióidő mellett, kihívást jelent. Drága infrastruktúrára és fejlett DevOps-, programozási és AI-technológiára van szükség. készségeket igényel.

Az NLP Cloud célja, hogy a vállalatok gyorsan, kompromisszumok nélkül hasznosíthassák modelljeiket a termelésben. minőség terén, megfizethető áron.

Fiók létrehozása

A regisztráció nagyon gyors. Csak látogasson el a regisztrációs oldalra és töltse ki az e-mail címét + jelszavát (regisztráljon itt).

Regisztráljon az NLP Cloud-on

Most már a műszerfalon van, és láthatja az API-tokenjét. Tartsa biztonságban ezt a tokent, szüksége lesz rá. az összes API-hívásodhoz.

Számos kódrészletet talál a műszerfalon, hogy gyorsan elsajátíthassa a sebességet. A további részleteket olvashat a dokumentációban (lásd a dokumentációt itt).

NLP Cloud dokumentáció

NLP Cloud API kliensek

Az NLP Cloud a dobozból kivéve a legtöbb tipikus természetes nyelvfeldolgozási funkciót biztosítja Önnek, akár a következőknek köszönhetően előre betanított spaCy vagy Hugging Face modelleknek köszönhetően, vagy saját spaCy modellek feltöltésével.

Annak érdekében, hogy az API könnyen használható legyen, az NLP Cloud több nyelven kínál ügyfélkönyvtárakat. (Python, Ruby, PHP, Go, Node.js). A bemutató további részében a Python lib-et fogjuk használni.

Használja a PIP-et a Python lib telepítéséhez:

pip install nlpcloud

Entitás-kivonatolás (NER)

Az entitások kinyerése a spaCy segítségével történik. Az összes spaCy "nagy", előre betanított modell elérhető, amely ez azt jelenti, hogy 15 nyelv áll rendelkezésre (további részletek mindezen modellekről a spaCy weboldalon). Egyéni adatokat is feltölthet saját fejlesztésű, házon belüli spaCy modelleket, hogy a gyártásban is használhassa őket. Ha ez az, amit szeretne, csak lépjen az "Egyéni modellek" szakaszra a műszerfalon:

Egyéni természetes nyelvi feldolgozási modellek feltöltése

Most képzeljük el, hogy entitásokat akarunk kivenni a "John Doe dolgozott a Microsoft in Seattle since 1999." az angol nyelvre előre betanított spaCy modellnek ("en_core_web_lg") köszönhetően. A következőképpen kell eljárnia:

import nlpcloud

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

Visszaadja az egyes kivont entitások tartalmát és a mondatban elfoglalt helyét.

Érzelmek elemzése

Az érzéselemzés az Hugging Face transzformátoroknak és a Distilbert Base Uncased Finetuned SST 2 English. Íme egy példa:

import nlpcloud

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

Meg fogja mondani, hogy az általános hangulat ebben a szövegben inkább pozitív vagy negatív, és annak valószínűsége.

Szövegosztályozás

A szöveges osztályozás az Hugging Face transzformátoroknak és a Facebook's Bart Large MNLI. Íme egy példa:

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)

Amint láthatja, átadunk egy szövegblokkot, amelyet megpróbálunk osztályozni, valamint a lehetséges kategóriákat. Az utolsó argumentum egy boolean, amely meghatározza, hogy egyetlen vagy több kategória is alkalmazható-e.

Visszaadja az egyes kategóriák valószínűségét.

Szöveges összegzés

A szöveges összegzés az Hugging Face transzformátoroknak és a Facebook's Bart Large CNN. Íme egy példa:

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

A fenti adatok összegzését adja vissza. Ez egy "absztrakt" összefoglaló, és nem egy "kivonatos". ami azt jelenti, hogy új mondatok keletkezhetnek, és a nem fontosakat eltávolítjuk. Azonban a nem lényeges mondatok természetesen eltávolításra kerülnek.

Kérdések megválaszolása

A kérdések megválaszolása az Hugging Face transzformátoroknak és a Deepset's Roberta Base Squad 2. Itt van egy példa:

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

Itt egy kérdés megválaszolásáról van szó, egy kontextusnak köszönhetően.

A fenti példa például az "Emmanuel Macron" szót adja vissza.

Beszédrész-alapú (POS) címkézés

A beszédrészek címkézése ugyanazoknak a spaCy-modelleknek köszönhetően valósul meg, mint az entitások kinyeréséhez használtak. Tehát a ha például az angol előre betanított modellt szeretné használni, a következőképpen kell eljárnia:

import nlpcloud

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

Visszaadja a mondat minden egyes tokenjének beszédrészét, valamint a többi tokenhez való függőségét.

Következtetés

Az NLP Cloud egy könnyen használható API a természetes nyelvfeldolgozáshoz, amellyel rengeteg időt takaríthat meg a termelésben.

További modellek állnak rendelkezésre, mint például fordítás, nyelvi felismerés, szöveggenerálás... És még sok más.

Vegye figyelembe azt is, hogy a kritikus teljesítményigények esetében GPU-terveket is javasolnak.

Remélem, hogy ez a cikk hasznos volt néhányatoknak! Ha bármilyen kérdése van, kérem, ne habozzon, hogy hagyja nekem tudassa velem.

Julien Salinas
CTO az NLP Cloud-nál