NLP Cloud to API, które ułatwia wykorzystanie Natural Language Processing w produkcji. API jest oparte na najlepszych otwartych źródłach wstępnie wytrenowanych modelach. Można również używać własnych modeli lub trenować modele na platformie. NLP Cloud większość z funkcji rozumienia i generowania tekstu: ekstrakcja podmiotów (NER), analiza sentymentu, klasyfikacja tekstu, streszczanie tekstu, odpowiadanie na pytania, generowanie tekstu oraz tagowanie części mowy (POS)... i wiele więcej! tagowanie... i wiele więcej!
API jest dostępne za darmo do 3 zapytań na minutę, co jest dobrym sposobem na łatwe przetestowanie jakości modeli. Następnie pierwsze płatne plany kosztują 29$ miesięcznie (dla 15 zapytań na minutę).
Zobaczmy, jak korzystać z API w tym tutorialu.
Wdrażanie modeli AI do produkcji jest częstym źródłem niepowodzeń projektów. Modele przetwarzania języka naturalnego są bardzo zasobożerne i zapewnienie wysokiej dostępności tych modeli w produkcji, przy jednoczesnym zachowaniu dobrych czasów reakcji, jest wyzwaniem. jest wyzwaniem. Wymaga to kosztownej infrastruktury i zaawansowanych umiejętności DevOps, programowania i AI. umiejętności.
Celem NLP Cloud jest pomoc firmom w szybkim wykorzystaniu ich modeli w produkcji, bez kompromisów jakości i w przystępnych cenach.
Zapisanie się jest bardzo szybkie. Wystarczy wejść na stronę rejestracji stronę i wypełnić swój e-mail + hasło (zarejestruj się tutaj).

Jesteś teraz w swoim pulpicie nawigacyjnym i możesz zobaczyć swój token API. Zachowaj ten token bezpiecznie, będziesz go potrzebował do wszystkich wywołań API, które będziesz wykonywać.
W pulpicie nawigacyjnym znajduje się kilka fragmentów kodu, dzięki którym szybko nabierzesz wprawy. Na stronie więcej szczegółów, możesz przeczytać dokumentację (zobacz dokumentację tutaj).

NLP Cloud udostępnia większość typowych funkcji przetwarzania języka naturalnego, zarówno dzięki wstępnie wytrenowanym modelom SpaCy lub Hugging Face, albo poprzez wgranie własnych modeli SpaCy.
W celu ułatwienia korzystania z API, NLP Cloud udostępnia biblioteki klienckie w kilku językach (Python, Ruby, PHP, Go, Node.js). W dalszej części tego tutoriala będziemy korzystać z biblioteki Pythona.
Użyj PIP, aby zainstalować bibliotekę Pythona:
pip install nlpcloud
Ekstrakcja encji odbywa się za pomocą spaCy. Dostępne są wszystkie "duże" wstępnie wytrenowane modele SpaCy, co oznacza, że dostępnych jest 15 języków. oznacza to, że dostępnych jest 15 języków (więcej szczegółów na temat wszystkich tych modeli na stronie internetowej spaCy). Możesz również załadować własne własne modele spaCy, które sam opracowałeś, aby użyć ich w produkcji. Jeśli to jest to, czego chcesz, przejdź do sekcji "Modele niestandardowe" w swoim pulpicie nawigacyjnym:
Wyobraźmy sobie teraz, że chcemy wyodrębnić encje ze zdania "John Doe pracuje dla Microsoftu w Seattle od 1999 roku. Microsoft w Seattle od 1999 roku." dzięki wstępnie wytrenowanemu modelowi spaCy dla języka angielskiego ("en_core_web_lg"). Oto jak powinieneś postąpić:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")
Zwróci on treść każdego wyodrębnionego podmiotu i jego pozycję w zdaniu.
Analiza sentymentu jest realizowana dzięki transformatorom Hugging Face i Distilbert Base Uncased Finetuned SST 2 English. Oto przykład:
import nlpcloud
client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")
Powie Ci on, czy ogólny sentyment w tym tekście jest raczej pozytywny czy negatywny, oraz jego prawdopodobieństwo.
Klasyfikacja tekstu jest realizowana dzięki transformatorom Hugging Face i Facebook's Bart Large MNLI. Oto przykład:
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)
Jak widać, przekazujemy blok tekstu, który próbujemy sklasyfikować, wraz z możliwymi kategoriami. Ostatnim argumentem jest boolean, który definiuje czy może być zastosowana jedna kategoria czy kilka.
Zostanie zwrócone prawdopodobieństwo dla każdej kategorii.
Podsumowanie tekstu odbywa się dzięki transformatorom Hugging Face i Facebook's Bart Large CNN. Oto przykład:
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.""")
Zwróci on podsumowanie powyższego. Jest to streszczenie "abstrakcyjne", a nie "ekstraktywne". co oznacza, że mogą zostać wygenerowane nowe zdania, a nieistotne zostaną usunięte. Jednak nieistotne zdania są oczywiście usuwane.
Odpowiadanie na pytania jest możliwe dzięki transformatorom Hugging Face i Deepset's Roberta Base Squad 2. Oto przykład:
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?")
Tutaj chodzi o odpowiedź na pytanie dzięki kontekstowi.
Na przykład powyższy przykład zwróci "Emmanuel Macron".
Oznaczanie części mowy jest osiągane dzięki tym samym modelom spaCy, które są używane do ekstrakcji encji. Tak więc dla na przykład, jeśli chcesz użyć angielskiego modelu wstępnie wytrenowanego, oto jak powinieneś to zrobić:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")
Zwróci on część mowy każdego tokena w zdaniu oraz jego zależność od innych tokenów.
NLP Cloud to API do przetwarzania języka naturalnego, które jest łatwe w użyciu i które pomaga zaoszczędzić wiele czasu w produkcji.
Dostępnych jest więcej modeli, takich jak tłumaczenie, wykrywanie języka, generowanie tekstu... I wiele więcej.
Należy również zauważyć, że w przypadku krytycznych potrzeb w zakresie wydajności proponowane są również plany dotyczące procesorów graficznych.
Mam nadzieję, że ten artykuł był przydatny dla niektórych z Was! Jeśli masz jakieś pytania, proszę nie wahaj się dać mi wiedzieć.
Julien Salinas
CTO w NLP Cloud