Kæmper du med AI eller full-stack-udvikling? Vores eksperter er her for at vejlede dig: skræddersyet rådgivning, teknisk integration og meget mere. Kontakt os på [email protected].

Introduktion til NLP Cloud API

NLP Cloud er et API, der gør det nemt at bruge Natural Language Processing i produktionen. API'et er baseret på de bedste open source præ-trænede modeller. Du kan også bruge dine egne modeller eller træne modeller på platformen. NLP Cloud mest af tekstforståelse og tekstgenerering funktioner: udtrækning af enheder (NER), sentimentanalyse, tekstklassificering, tekstresumé, spørgeskemasvar, tekstgenerering og Part-of-Speech (POS) tagging ... og meget mere!

API'et er gratis tilgængeligt op til 3 forespørgsler pr. minut, hvilket er en god måde at teste kvaliteten på. af modellerne. Derefter koster de første betalte abonnementer 29 USD pr. måned (for 15 forespørgsler pr. minut).

Lad os se, hvordan du bruger API'et i denne vejledning.

Hvorfor NLP Cloud?

Implementering af AI-modeller til produktion er en hyppig kilde til projektfejl. Natural Language Processing-modeller er meget ressourcekrævende intensive, og at sikre høj tilgængelighed af disse modeller i produktion, samtidig med at de har god respons svartider, er en udfordring. Det kræver og dyr infrastruktur og avanceret DevOps, programmering og AI færdigheder.

NLP Clouds mål er at hjælpe virksomheder med hurtigt at udnytte deres modeller i produktionen uden at gå på kompromis på kvaliteten og til overkommelige priser.

Opret en konto

Tilmeldingen er meget hurtig. Du skal blot besøge registreringen side og udfyld din e-mail + adgangskode (tilmeld dig her).

Tilmeld dig på NLP Cloud

Du er nu på dit instrumentbræt, og du kan se dit API-token. Opbevar dette token sikkert, du får brug for det. til alle de API-opkald, du vil foretage.

Der findes flere kodestumper i dit instrumentbræt, så du hurtigt kan komme i gang. Til flere detaljer kan du læse den dokumentation (se dokumentationen her).

NLP Cloud-dokumentation

NLP Cloud API-klientlicenser

NLP Cloud giver dig, out-of-the-box, de fleste af de typiske Natural Language Processing-funktioner, enten takket være forud trænede spaCy- eller Hugging Face-modeller eller ved at uploade dine egne spaCy-modeller.

For at gøre API'et nemt at bruge, giver NLP Cloud dig klientbiblioteker på flere sprog (Python, Ruby, PHP, Go, Node.js). I resten af denne vejledning vil vi bruge Python-biblioteket.

Brug PIP til at installere Python-libeprogrammet:

pip install nlpcloud

Udtrækning af enheder (NER)

Udtræk af enheder sker via spaCy. Alle de "store" spaCy-modeller, der er trænet på forhånd, er tilgængelige, hvilket betyder, at 15 sprog er tilgængelige (flere oplysninger om alle disse modeller findes på spaCys websted). Du kan også uploade brugerdefinerede interne spaCy-modeller, som du selv har udviklet, for at kunne bruge dem i produktionen. Hvis det er det, som du ønsker, skal du blot gå til afsnittet "Custom Models" (brugerdefinerede modeller) i dit instrumentbræt:

Upload brugerdefinerede modeller til behandling af naturlige sprog

Lad os nu forestille os, at du ønsker at udtrække enheder fra sætningen "John Doe har arbejdet for Microsoft i Seattle siden 1999." takket være den forud trænede spaCy-model for engelsk ("en_core_web_lg"). Her er hvordan du skal 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 indholdet af hver ekstraheret enhed og dens placering i sætningen.

Sentimentanalyse

Sentimentanalyse opnås takket være Hugging Face-transformere 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!")

Den vil fortælle dig, om den generelle stemning i denne tekst er positiv eller negativ, og dens sandsynlighed.

Klassificering af tekst

Tekstklassificering opnås takket være Hugging Face-transformere 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, overfører vi en tekstblok, som vi forsøger at klassificere, sammen med mulige kategorier. Det sidste argument er et boolean, der definerer, om en enkelt kategori eller flere kategorier kan anvendes.

Den returnerer sandsynligheden for hver kategori.

Sammenfatning af tekst

Sammenfatning af tekster opnås takket være Hugging Face-transformere 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 returnerer en sammenfatning af ovenstående. Dette er et "abstrakt" resumé og ikke et "ekstraktivt" resumé. hvilket betyder, at der kan blive genereret nye sætninger, og at uvæsentlige sætninger fjernes. Men ikke-vigtige sætninger fjernes naturligvis.

Besvarelse af spørgsmål

Besvarelse af spørgsmålene opnås takket være Hugging Face-transformere og Deepset's Roberta Base Squad 2. Her er en 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 drejer det sig om at besvare et spørgsmål takket være en kontekst.

Ovenstående eksempel vil f.eks. give "Emmanuel Macron".

POS-markering (Part-of-Speech)

Part-Of-Speech-markering opnås ved hjælp af de samme spaCy-modeller som dem, der anvendes til udtrækning af enheder. Så for hvis du f.eks. ønsker at bruge den engelske prætrænede model, skal du gøre sådan her:

import nlpcloud

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

Den returnerer talemålet for hvert token i sætningen og dets afhængighed af andre tokens.

Konklusion

NLP Cloud er et API til behandling af naturligt sprog, som er let at bruge, og som hjælper dig med at spare meget tid i produktionen.

Der er flere modeller til rådighed, f.eks. oversættelse, sprogdetektion, tekstgenerering... Og meget mere.

Bemærk også, at der for kritiske præstationsbehov også foreslås GPU-planer.

Jeg håber, at denne artikel har været nyttig for nogle af jer! Hvis du har nogen spørgsmål, så tøv ikke med at lade mig vide.

Julien Salinas
Teknisk direktør hos NLP Cloud