NLP Cloud е API, който улеснява използването на обработка на естествен език в производството. API се основава на най-добрите приложения с отворен код. предварително обучени модели. Можете също така да използвате свои собствени модели или да обучавате модели в платформата. NLP Cloud от функциите за разбиране на текст и генериране на текст: извличане на същности (NER), анализ на настроенията, класифициране на текст, обобщаване на текст, отговаряне на въпроси, генериране на текст и част от речта (POS). и още!
API е достъпен безплатно до 3 заявки в минута, което е добър начин за лесно тестване на качеството. на моделите. След това първите платени планове струват 29 USD на месец (за 15 заявки в минута).
Нека видим как да използваме API в този урок.
Внедряването на модели с изкуствен интелект в производството е чест източник на неуспех на проекта. Моделите за обработка на естествен език са много ресурсни и осигуряването на висока наличност на тези модели в производството, като същевременно имат добра реакция време за реакция, е предизвикателство. Необходима е скъпа инфраструктура и усъвършенствани DevOps, програмиране и AI умения.
Целта на NLP Cloud е да помогне на компаниите бързо да използват своите модели в производството, без да правят компромиси. на качеството и на достъпни цени.
Регистрацията е много бърза. Просто посетете страницата за регистрация и попълнете своя имейл + парола (регистрирайте се тук).

Вече сте в таблото за управление и можете да видите API токена си. Съхранявайте този токен на сигурно място, защото ще ви е необходим за всички API повиквания, които ще направите.
В таблото за управление са предоставени няколко фрагмента с код, за да можете бързо да навлезете в работата. За повече подробности, можете да прочетете документация (вижте документацията тук).

NLP Cloud ви предоставя в готов вид повечето от типичните функции за обработка на естествен език, благодарение на предварително обучени модели spaCy или Hugging Face, или чрез качване на ваши собствени модели spaCy.
За да се улесни използването на API, NLP Cloud ви предоставя клиентски библиотеки на няколко езика. (Python, Ruby, PHP, Go, Node.js). В останалата част от този урок ще използваме библиотеката за Python.
Използвайте PIP, за да инсталирате библиотеката на Python:
pip install nlpcloud
Извличането на субекти се извършва чрез spaCy. Налични са всички предварително обучени "големи" модели на spaCy, които означава, че са налични 15 езика (повече информация за всички тези модели на уебсайта на spaCy). Можете също така да качвате персонализирани вътрешнофирмени spaCy модели, които сте разработили сами, за да ги използвате в производството. Ако това е искате, просто отидете в раздела "Потребителски модели" в таблото за управление:
Сега нека си представим, че искате да извлечете същности от изречението "Джон Доу работи за Microsoft в Сиатъл от 1999 г." благодарение на предварително обучения модел spaCy за английски език ("en_core_web_lg"). Ето как трябва да процедирате:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")
Той ще върне съдържанието на всяка извлечена единица и нейната позиция в изречението.
Анализът на настроенията се постига благодарение на трансформаторите Hugging Face и Distilbert Base Uncased Finetuned SST 2 English. Ето един пример:
import nlpcloud
client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")
Тя ще ви покаже дали общите настроения в този текст са по-скоро положителни или отрицателни, както и вероятност.
Класификацията на текст се постига благодарение на трансформаторите Hugging Face и Facebook's Bart Large MNLI. Ето един пример:
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)
Както можете да видите, подаваме блок от текст, който се опитваме да класифицираме, заедно с възможните категории. Последният аргумент е булев, който определя дали може да се приложи една единствена категория или няколко.
Той ще върне вероятността за всяка категория.
Обобщаването на текста се постига благодарение на трансформаторите Hugging Face и Facebook's Bart Large CNN. Ето един пример:
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.""")
Той ще върне обобщение на горните данни. Това е "абстрактно" обобщение, а не "извличащо". което означава, че могат да бъдат генерирани нови изречения, а несъществените да бъдат премахнати. Въпреки това несъществените изречения се премахват, разбира се.
Отговорите на въпроси се постигат благодарение на трансформаторите Hugging Face и Deepset's Roberta Base Squad 2. Ето един пример:
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?")
Тук става въпрос за отговор на въпрос, който се дължи на контекста.
Например примерът по-горе ще върне "Emmanuel Macron".
Маркирането на части от речта се постига благодарение на същите модели на spaCy, които се използват за извличане на същности. Така за например, ако искате да използвате предварително обучен модел за английски език, ето как трябва да постъпите:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")
Той ще върне частта на речта на всеки лексемен в изречението и зависимостта му от други лексеми.
NLP Cloud е API за обработка на естествен език, който е лесен за използване и ви помага да спестите много време в производството.
Налични са още модели, като превод, откриване на език, генериране на текст... И много други.
Също така имайте предвид, че при критични нужди от производителност се предлагат и планове за GPU.
Надявам се тази статия да е била полезна за някои от вас! Ако имате някакви въпроси, моля, не се колебайте да ме уведомите да ми отговорите.
Julien Salinas
Технически директор в NLP Cloud