Sliter du med AI eller fullstack-utvikling? Ekspertene våre er her for å veilede deg: skreddersydde råd, teknisk integrasjon og mer. Ta kontakt på [email protected].

Introduksjon til NLP Cloud API

NLP Cloud er et API som gjør det enkelt å bruke Natural Language Processing i produksjonen. API-et er basert på de beste modellene med åpen kildekode. forhåndsopplærte modeller. Du kan også bruke dine egne modeller eller trene modeller på plattformen. NLP Cloud mest av funksjonene for tekstforståelse og tekstgenerering: utvinning av enheter (NER), sentimentanalyse, tekstklassifisering, tekstoppsummering, besvarelse av spørsmål, tekstgenerering og Part-of-speech (POS) tagging ... og mer!

API-en er tilgjengelig gratis opptil 3 forespørsler per minutt, noe som er en god måte å enkelt teste kvaliteten på modellene på. av modellene. Deretter koster de første betalte planene $ 29 per måned (for 15 forespørsler per minutt).

La oss se hvordan du bruker API-et i denne veiledningen.

Hvorfor NLP Cloud?

Å distribuere AI-modeller til produksjon er en hyppig kilde til prosjektfeil. Modeller for naturlig språkbehandling er svært ressurskrevende ressurskrevende, og det er en utfordring å sikre høy tilgjengelighet av disse modellene i produksjon, samtidig som de har gode responstider. svartider, er en utfordring. Det krever kostbar infrastruktur og avanserte ferdigheter innen DevOps, programmering og kunstig intelligens. ferdigheter.

NLP Clouds mål er å hjelpe selskaper med raskt å utnytte modellene sine i produksjonen, uten å gå på kompromiss med på kvalitet, og til overkommelige priser.

Opprett en konto

Det går veldig raskt å registrere seg. Bare besøk registreringssiden og fyll inn e-post og passord (registrer deg her).

Registrer deg på NLP Cloud

Du er nå i dashbordet, og du kan se API-tokenet ditt. Oppbevar dette tokenet trygt, du vil trenge det for alle API-anropene du vil gjøre.

Flere kodesnutter finnes i dashbordet slik at du raskt kan komme i gang. For mer informasjon, kan du lese dokumentasjonen (se dokumentasjonen her).

NLP Cloud-dokumentasjon

NLP Cloud API Client Libs

NLP Cloud gir deg, out-of-the-box, de fleste av de typiske Natural Language Processing-funksjonene, enten takket være forhåndsopplærte spaCy- eller Hugging Face-modeller, eller ved å laste opp dine egne spaCy-modeller.

For å gjøre API-en enkel å bruke, gir NLP Cloud deg klientbiblioteker på flere språk (Python, Ruby, PHP, Go, Node.js). I resten av denne opplæringen skal vi bruke Python-biblioteket.

Bruk PIP for å installere Python-biblioteket:

pip install nlpcloud

Enhetsuttrekk (NER)

Uttrekking av enheter gjøres via spaCy. Alle de "store" forhåndsopplærte spaCy-modellene er tilgjengelige, noe som betyr at 15 språk er tilgjengelige. betyr at 15 språk er tilgjengelige (mer informasjon om alle disse modellene på spaCy-nettstedet.). Du kan også laste opp egendefinerte in-house spaCy-modeller som du har utviklet selv for å bruke dem i produksjonen. Hvis det er det du ønsker, er det bare å gå til delen "Egendefinerte modeller" i dashbordet:

Last opp tilpassede modeller for naturlig språkbehandling

La oss nå forestille oss at du ønsker å trekke ut enheter fra setningen "John Doe har jobbet for Microsoft i Seattle siden 1999." takket være den forhåndsopplærte spaCy-modellen for engelsk ("en_core_web_lg"). Slik bør du gå frem:

import nlpcloud

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

Den returnerer innholdet i hver ekstrahert enhet og dens posisjon i setningen.

Sentimentanalyse

Sentimentanalyse oppnås takket være Hugging Face-transformatorer og Distilbert Base Uncased Finetuned SST 2 English. Her er et eksempel:

import nlpcloud

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

Det vil fortelle deg om den generelle stemningen i denne teksten er ganske positiv eller negativ, og hvor sannsynlig den er. sannsynlighet.

Tekstklassifisering

Tekstklassifisering oppnås takket være Hugging Face-transformatorer og Facebook's Bart Large MNLI. Her er et eksempel:

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, sender vi en tekstblokk som vi prøver å klassifisere, sammen med mulige kategorier. Det siste argumentet er en boolsk verdi som definerer om én eller flere kategorier kan gjelde.

Den vil returnere sannsynligheten for hver kategori.

Tekstoppsummering

Tekstoppsummering oppnås takket være Hugging Face-transformatorer og Facebook's Bart Large CNN. Her er et eksempel:

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

Den vil returnere en oppsummering av det ovennevnte. Dette er et "abstrakt" sammendrag, og ikke et "ekstraktivt" sammendrag. som betyr at nye setninger kan bli generert, og at uviktige setninger blir fjernet. Imidlertid uvesentlige setninger fjernes selvfølgelig.

Spørsmål Svar

Svar på spørsmål oppnås takket være Hugging Face-transformatorer og Deepset's Roberta Base Squad 2. Her er et eksempel:

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

Her handler det om å svare på et spørsmål takket være en kontekst.

For eksempel vil eksemplet ovenfor returnere "Emmanuel Macron".

Merking av en del av talen (POS)

Part-Of-Speech-tagging oppnås takket være de samme spaCy-modellene som brukes til uttrekk av enheter. Så for eksempel hvis du vil bruke den engelske forhåndsopplærte modellen, gjør du slik:

import nlpcloud

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

Det vil returnere del-of-speech for hver token i setningen, og dens avhengighet av andre tokens.

Konklusjon

NLP Cloud er et API for Natural Language Processing som er enkelt å bruke og som hjelper deg med å spare mye tid i produksjonen.

Flere modeller er tilgjengelige, som oversettelse, språkgjenkjenning, tekstgenerering ... Og mye mer.

Vær også oppmerksom på at det også foreslås GPU-planer for kritiske ytelsesbehov.

Jeg håper denne artikkelen var nyttig for noen av dere! Hvis du har spørsmål, ikke nøl med å gi meg beskjed. gi meg beskjed.

Julien
CTO hos NLP Cloud