NLP Cloud je rozhranie API, ktoré uľahčuje používanie spracovania prirodzeného jazyka vo výrobe. Rozhranie API je založené na najlepších open-source predtrénovaných modelov. Môžete tiež používať vlastné modely alebo trénovať modely na platforme. NLP Cloud najviac funkcií na porozumenie textu a tvorbu textu: extrakcia entít (NER), analýza sentimentu, klasifikácia textu, sumarizácia textu, odpovedanie na otázky, generovanie textu a časť reči (POS). tagovanie... a ďalšie!
Rozhranie API je k dispozícii bezplatne až do 3 požiadaviek za minútu, čo je dobrý spôsob, ako ľahko otestovať kvalitu modelov. Potom prvé platené plány stoja 29 USD mesačne (pre 15 požiadaviek za minútu).
Pozrime sa, ako používať rozhranie API v tomto návode.
Nasadenie modelov AI do výroby je častým zdrojom zlyhania projektu. Modely spracovania prirodzeného jazyka sú veľmi náročné na zdroje náročné a zabezpečenie vysokej dostupnosti týchto modelov v produkcii, pričom majú dobrú odozvu je výzvou. Vyžaduje si to drahú infraštruktúru a pokročilý DevOps, programovanie a AI zručnosti.
Cieľom služby NLP Cloud je pomôcť spoločnostiam rýchlo využiť ich modely vo výrobe bez akýchkoľvek kompromisov. kvality a za prijateľné ceny.
Registrácia je veľmi rýchla. Stačí navštíviť registráciu a vyplňte svoj e-mail + heslo (Zaregistrujte sa tu).

Teraz sa nachádzate na ovládacom paneli a vidíte svoj token API. Tento token si bezpečne uschovajte, budete ho potrebovať pre všetky volania API, ktoré budete uskutočňovať.
Na ovládacom paneli máte k dispozícii niekoľko úryvkov kódu, aby ste sa mohli rýchlo oboznámiť s ich používaním. Pre podrobnejšie informácie si potom môžete prečítať dokumentáciu (pozrite si dokumentáciu tu).

Služba NLP Cloud vám poskytuje väčšinu typických funkcií spracovania prirodzeného jazyka, a to buď vďaka predtrénovaných modelov spaCy alebo Hugging Face, alebo nahraním vlastných modelov spaCy.
S cieľom uľahčiť používanie API vám NLP Cloud poskytuje klientske knižnice v niekoľkých jazykoch (Python, Ruby, PHP, Go, Node.js). Vo zvyšku tohto návodu budeme používať lib Python.
Na inštaláciu lib Pythonu použite PIP:
pip install nlpcloud
Extrakcia entít sa vykonáva prostredníctvom spaCy. K dispozícii sú všetky "veľké" predtrénované modely spaCy, ktoré to znamená, že je k dispozícii 15 jazykov (viac informácií o všetkých týchto modeloch na webovej stránke spaCy). Môžete tiež nahrať vlastné vlastné modely spaCy, ktoré ste si sami vytvorili, aby ste ich mohli používať vo výrobe. Ak je to to, čo chcete, stačí prejsť do sekcie "Vlastné modely" na ovládacom paneli:
Teraz si predstavme, že chcete extrahovať entity z vety "John Doe pracoval pre Microsoft v Seattli od roku 1999." vďaka predtrénovanému modelu spaCy pre angličtinu ("en_core_web_lg"). Tu je uvedený postup, ako by ste mali postupovať:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")
Vráti obsah každej extrahovanej entity a jej pozíciu vo vete.
Analýza sentimentu sa dosahuje vďaka transformátorom Hugging Face a Distilbert Base Uncased Finetuned SST 2 English. Tu je príklad:
import nlpcloud
client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")
To vám napovie, či je všeobecná nálada v tomto texte skôr pozitívna alebo negatívna, a jej pravdepodobnosť.
Klasifikácia textu sa dosahuje vďaka transformátorom Hugging Face a Facebook's Bart Large MNLI. Tu je príklad:
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)
Ako vidíte, odovzdávame blok textu, ktorý sa snažíme klasifikovať, spolu s možnými kategóriami. Posledným argumentom je boolean, ktorý definuje, či sa môže použiť jedna kategória alebo viacero kategórií.
Vráti pravdepodobnosť pre každú kategóriu.
Sumarizácia textu sa dosahuje vďaka transformátorom Hugging Face a Facebook's Bart Large CNN. Tu je príklad:
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.""")
Vráti sa zhrnutie vyššie uvedených údajov. Ide o "abstraktné" zhrnutie, a nie o "extraktívne" čo znamená, že môžu byť vytvorené nové vety a nepodstatné vety sú odstránené. Avšak nepodstatné vety sa samozrejme odstránia.
Odpovedanie na otázky sa dosahuje vďaka transformátorom Hugging Face a Deepset's Roberta Base Squad 2. Tu je príklad:
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 ide o zodpovedanie otázky vďaka kontextu.
Napríklad vyššie uvedený príklad vráti "Emmanuel Macron".
Označovanie častí reči sa dosahuje vďaka rovnakým modelom spaCy, aké sa používajú na extrakciu entít. Takže pre napríklad ak chcete použiť predtrénovaný anglický model, mali by ste postupovať takto:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")
Vráti časť reči každého tokenu vo vete a jeho závislosť od iných tokenov.
NLP Cloud je rozhranie API pre spracovanie prirodzeného jazyka, ktoré sa ľahko používa a ktoré vám pomôže ušetriť veľa času pri produkcii.
K dispozícii sú ďalšie modely, ako napríklad preklad, detekcia jazyka, generovanie textu... A mnoho ďalších.
Upozorňujeme tiež, že v prípade kritických výkonnostných potrieb sa navrhujú aj plány GPU.
Dúfam, že tento článok bol pre niektorých z vás užitočný! Ak máte nejaké otázky, neváhajte mi ich napísať. dať mi vedieť.
Julien Salinas
Technický riaditeľ spoločnosti NLP Cloud