Introduktion till NLP Cloud API

NLP Cloud är ett API som gör det enkelt att använda Natural Language Processing i produktionen. API:et är baserat på de bästa öppna källorna för förtränade modeller. Du kan också använda dina egna modeller eller träna modeller på plattformen. NLP Cloud mest av funktionerna för textförståelse och textgenerering: extraktion av enheter (NER), sentimentanalys, textklassificering, sammanfattning av text, frågesvar, textgenerering och Part-of-speech (POS). taggning... och mycket mer!

API:et är tillgängligt gratis upp till 3 förfrågningar per minut, vilket är ett bra sätt att enkelt testa kvaliteten. av modellerna. Sedan kostar de första betalda planerna 29 dollar per månad (för 15 förfrågningar per minut).

Låt oss se hur du använder API:et i den här handledningen.

Varför NLP Cloud?

Att driftsätta AI-modeller i produktion är en vanlig källa till projektmisslyckanden. Modeller för behandling av naturligt språk är mycket resurskrävande. och att säkerställa hög tillgänglighet för dessa modeller i produktionen, samtidigt som de har god respons, är en svarstider, är en utmaning. Det krävs och dyr infrastruktur och avancerad DevOps, programmering och AI. färdigheter.

NLP Clouds mål är att hjälpa företag att snabbt utnyttja sina modeller i produktionen, utan några kompromisser. på kvalitet och till överkomliga priser.

Skapa ett konto

Det går snabbt att anmäla sig. Besök bara registreringen sidan och fyll i din e-postadress och ditt lösenord (registrera dig här).

Registrera dig på NLP Cloud

Du är nu på din instrumentpanel och kan se din API-token. Förvara denna token säkert, du kommer att behöva den. för alla API-samtal du kommer att göra.

Flera kodutdrag finns i instrumentpanelen så att du snabbt kan komma igång. För mer information kan du läsa den dokumentationen (se dokumentationen här).

Dokumentation om NLP Cloud

NLP Cloud API-klientlicenser

NLP Cloud ger dig de flesta av de typiska funktionerna för behandling av naturligt språk, antingen tack vare förtränade spaCy- eller Hugging Face-modeller, eller genom att ladda upp dina egna spaCy-modeller.

För att göra API:et lätt att använda tillhandahåller NLP Cloud klientbibliotek på flera språk. (Python, Ruby, PHP, Go, Node.js). I resten av den här handledningen kommer vi att använda Python-biblioteket.

Använd PIP för att installera Python-libexet:

pip install nlpcloud

Extraktion av entiteter (NER)

Utvinning av enheter sker via spaCy. Alla spaCys "stora" förtränade modeller är tillgängliga, vilket innebär att innebär att 15 språk är tillgängliga. (mer information om alla dessa modeller finns på spaCys webbplats.). Du kan också ladda upp anpassade egna spaCy-modeller som du själv har utvecklat för att använda dem i produktionen. Om det är vad du vill, går du till avsnittet "Custom Models" (anpassade modeller) i din instrumentpanel:

Ladda upp anpassade modeller för bearbetning av naturliga språk

Låt oss nu föreställa oss att du vill extrahera enheter från meningen "John Doe har arbetat för Microsoft i Seattle sedan 1999" tack vare den förtränade spaCy-modellen för engelska ("en_core_web_lg"). Så här ska du gå till väga:

import nlpcloud

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

Den returnerar innehållet i varje extraherad enhet och dess position i meningen.

Analys av känslor

Sentimentanalysen uppnås tack vare Hugging Face-transformatorer och Distilbert Base Uncased Finetuned SST 2 English. Här är ett exempel:

import nlpcloud

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

Den kommer att berätta om den allmänna stämningen i denna text är positiv eller negativ, och dess sannolikhet.

Klassificering av text

Textklassificering uppnås tack vare Hugging Face-transformatorer och Facebook's Bart Large MNLI. Här är ett exempel:

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)

Som du kan se skickar vi ett textblock som vi försöker klassificera, tillsammans med möjliga kategorier. Det sista argumentet är ett boolean som definierar om en enda kategori eller flera kategorier kan tillämpas.

Den visar sannolikheten för varje kategori.

Sammanfattning av text

Sammanfattning av text uppnås tack vare Hugging Face-transformatorer och Facebook's Bart Large CNN. Här är ett exempel:

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

Det ger en sammanfattning av ovanstående. Detta är en "abstrakt" sammanfattning och inte en "extraherande" sammanfattning. vilket innebär att nya meningar kan skapas och att oviktiga meningar tas bort. Men icke-väsentliga meningar tas naturligtvis bort.

Svar på frågor

Frågorna kan besvaras tack vare Hugging Face-transformatorer och Deepset's Roberta Base Squad 2. Här är en exempel:

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

Här handlar det om att besvara en fråga tack vare ett sammanhang.

I exemplet ovan får du till exempel "Emmanuel Macron".

POS-taggning (Part-of-Speech)

Taggningen av delar av talet sker med hjälp av samma spaCy-modeller som används för att extrahera enheter. Så för Om du till exempel vill använda den engelskspråkiga förtränade modellen, så gör du så här:

import nlpcloud

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

Den returnerar talpartiet för varje token i meningen och dess beroende av andra token.

Slutsats

NLP Cloud är ett API för behandling av naturligt språk som är lätt att använda och som hjälper dig att spara mycket tid i produktionen.

Det finns fler modeller tillgängliga, t.ex. översättning, språkdetektering, textgenerering... Och mycket mer.

Observera också att GPU-planer också föreslås för kritiska prestandabehov.

Jag hoppas att den här artikeln var till nytta för några av er! Om du har några frågor, tveka inte att låta mig veta.

Julien Salinas
CTO på NLP Cloud