NLP Cloud - це API, який дозволяє легко використовувати обробку природної мови у виробництві. API базується на найкращих відкритих попередньо навчених моделях. Ви також можете використовувати власні моделі або навчати моделі на платформі. NLP Cloud має більшість функцій розуміння тексту та генерації тексту: вилучення сутностей (NER), аналіз настрою, класифікація тексту, узагальнення тексту, відповіді на питання, генерація тексту, визначення частин мови (POS) розпізнавання тегів... і багато іншого!
API доступний безкоштовно до 3 запитів в хвилину, що є хорошим способом легко перевірити якість моделей. Потім починається перший платний тарифний план вартістю $29 на місяць (за 15 запитів на хвилину).
Розглянемо, як користуватися API в цьому уроці.
Розгортання моделей ШІ у виробництво є частим джерелом невдач проектів. Моделі обробки природної мови є дуже ресурсоємними ресурсомісткими, і забезпечення високої доступності цих моделей у виробництві при хорошому часі відгуку є складним завданням. час відгуку, є складним завданням. Це вимагає і дорогої інфраструктури, і просунутих навичок DevOps, програмування і ШІ навички DevOps, програмування та ШІ.
Мета NLP Cloud - допомогти компаніям швидко впровадити свої моделі у виробництво, без жодних компромісів щодо якості та за доступними цінами.
Зареєструватися можна дуже швидко. Просто відвідайте сторінку реєстрації та введіть свій email + пароль (зареєструватися тут).

Тепер ви знаходитесь на своїй інформаційній панелі і бачите свій токен 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). Ви також можете завантажити власні власні моделі спа-центрів, які ви розробили самостійно, щоб використовувати їх у виробництві. Якщо ви цього хочете ви хочете, просто перейдіть до розділу "Користувацькі моделі" на вашій інформаційній панелі:
Тепер уявімо, що ви хочете виділити сутності з речення "John Doe has been working for Microsoft in Seattle since 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?")
Тут мова йде про те, щоб відповісти на питання завдяки контексту.
Наприклад, наведений вище приклад поверне "Еммануель Макрон".
Виділення частин мови досягається завдяки тим же моделям SPACY, що і для виділення сутностей. Тому, наприклад, якщо ви хочете використати наприклад, якщо ви хочете використати англійську попередньо навчену модель, то ось як вам слід зробити:
import nlpcloud
client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")
Він поверне частину мови кожної лексеми у реченні та її залежність від інших лексем.
NLP Cloud - це простий у використанні API для обробки природної мови, який допомагає заощадити багато часу на виробництві.
Доступно більше моделей, таких як переклад, розпізнавання мови, генерація тексту ... і багато іншого.
Також зазначимо, що для критичних потреб продуктивності також пропонуються плани графічних процесорів.
Сподіваюся, ця стаття була корисною для когось із вас! Якщо у вас виникнуть запитання, будь ласка, не соромтеся звертатися до мене знати.
Julien Salinas
CTO в NLP Cloud